IP Library Granted Patent US 11,818,250
Granted Patent B2
US 11,818,250 · App. 17/532,184 · Granted Nov 14, 2023

Encryption key management for channels with multiple organizations

Inventors: Audrei Drummond (Oakland, WA); Michael Demmer (San Francisco, CA); Sri Vasamsetti (San Francisco, CA); Elizabeth Clemenson (San Francisco, CA)
Assignee: Salesforce, Inc.
H04L9/0827H04L9/083H04L9/0891H04L9/14H04L63/0428
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,818,250
App. No.
17/532,184
Granted
Nov 14, 2023
Kind
B2
Abstract

Media, system, and method for providing encryption key management to a channel within a group-based communication system. The contents of the channel is encrypted according to the encryption key management policy of the organization to which the author of the content belongs and is stored in a data store. Responsive to a revocation request from a first organization, the encryption keys associated with any content in the channel submitted by the authors of said first organization may be revoked from a second organization, such that users of the second organization no longer have access to the content.

Claims (88)

1. A method implemented by a computing device of a communication system comprising:

receiving, from a first device of a first organization, a message associated with a channel of the communication system, wherein the channel is a group-based communication channel associated with two or more organizations, and wherein the channel enables members to communicate with one another via posting communications to the channel;

encrypting, based at least in part on a determination that a sender of the message is associated with the first organization of the two or more organizations, the message based at least in part on a first encryption policy associated with the first organization, wherein the first encryption policy is different than a second encryption policy associated with a second organization of the two or more organizations;

retrieving, by a second device of the second organization, the encrypted message from a data store associated with the channel;

decrypting the encrypted message prior to causing the message to be presented, in the channel, via a user interface associated with the communication system; and

causing display on the second device, the decrypted message in the channel via the user interface associated with the communication system.

2. The method of claim 1 , wherein the message is from a first user account associated with the first organization, and wherein the user interface is a first user interface, the method further comprising:

receiving, from the first device associated with the first organization, a first request to revoke access of a second user account associated with the second organization to the message;

in response to receiving the first request to revoke access to the message, causing an encryption key associated with the first encryption policy to be revoked with respect to the second user account and in association with the message; and

based at least in part on a revocation of the encryption key, withholding contents associated with the message from presentation via a second user interface associated with the second user account.

3. The method of claim 2 , further comprising:

receiving, from the second user account, a third request to access data associated with the channel;

in response to receiving the third request to access data, sending, to a computing device associated with a key server, a fourth request for the encryption key, the fourth request comprising an identification of the second user account; and

receiving, from the computing device associated with the key server, an indication of the revocation of the encryption key in association with the message,

wherein the contents associated with the message are withheld from presentation based at least in part on the indication of the revocation of the encryption key.

4. The method of claim 3 , further comprising:

causing presentation, via the second user interface, of a notification indicating that access to the message is denied.

5. The method of claim 2 , wherein the first request to revoke access comprises at least one of:

a first indication of the message to be withheld from presentation;

a second indication of a group of message to be withheld from presentation; or

a third indication that messages posted in association with one or more first user accounts associated with the first organization are to be withheld from presentation.

6. The method of claim 1 , wherein the message is from a first user account from among first user accounts associated with the first organization, the method further comprising:

receiving, from the first device associated with the first organization, a fifth request to revoke access of second user accounts associated with the second organization to first messages transmitted in association with the channel, the first messages being posted in association with the first user accounts associated with the first organization;

identifying the first messages associated with the channel that are posted in association with the first user accounts; and

withholding contents associated with the first messages from presentation via user interfaces associated with the second user accounts, wherein the user interfaces comprise second messages transmitted in association with the channel and posted in association with the second user accounts.

7. The method of claim 1 , further comprising:

receiving a second message from a second user account associated with the second organization, for posting in association with the channel;

identifying, based at least in part on an ownership of the channel, at least one of the first encryption policy or the second encryption policy to apply to the second message; and

encrypting the second message based on the at least one of the first encryption policy or the second encryption policy.

8. The method of claim 1 , wherein the message is encrypted at a first time with a first encryption key associated with the first encryption policy, the method further comprising:

determining, at a second time after the first time, to apply a second encryption key to communications transmitted via the channel and posted in association with first user accounts of the first organization;

re-encrypting the message utilizing the second encryption key; and

storing the second encryption key in association with the first organization and the channel.

9. The method of claim 8 , wherein a determination to apply a second encryption key is based on at least one of:

a triggering event associated with the channel; or

an interval for modifying encryption keys that is associated with the first encryption policy.

10. One or more non-transitory computer-readable media storing computer-executable instructions that, when executed by one or more processors, perform operations for providing encryption key management to a channel within a communication system, the operations comprising the steps of:

receiving, from a first device of a first organization, a message associated with the channel of the communication system, wherein the channel is a group-based communication channel associated with two or more organizations, and wherein the channel enables members to communicate with one another via posting communications to the channel;

encrypting, based at least in part on a determination that a sender of the message is associated with the first organization of the two or more organizations, the message based at least in part on a first encryption policy associated with the first organization, wherein the first encryption policy is different than a second encryption policy associated with a second organization of the two or more organizations;

retrieving, by a second device of the second organization, the encrypted message from a data store associated with the channel;

decrypting the encrypted message prior to causing the message to be presented, in the channel, via a user interface associated with the communication system; and

causing display on the second device, the decrypted message in the channel via the user interface associated with the communication system.

11. The one or more non-transitory computer-readable media of claim 10 , wherein the message is from a first user account associated with the first organization, and wherein the user interface is a first user interface, the operations further comprising:

receiving, from the first device associated with the first organization, a first request to revoke access of a second user account associated with the second organization to the message;

in response to receiving the first request to revoke access to the message, causing an encryption key associated with the first encryption policy to be revoked with respect to the second user account and in association with the message; and

based at least in part on a revocation of the encryption key, withholding contents associated with the message from presentation via a second user interface associated with the second user account.

12. The one or more non-transitory computer-readable media of claim 11 , the operations further comprising:

receiving, from the second user account, a third request to access data associated with the channel;

in response to receiving the third request to access data, sending, to a computing device associated with a key server, a fourth request for the encryption key, the fourth request comprising an identification of the second user account; and

receiving, from the computing device associated with the key server, an indication of the revocation of the encryption key in association with the message,

wherein the contents associated with the message are withheld from presentation based at least in part on the indication of the revocation of the encryption key.

13. The one or more non-transitory computer-readable media of claim 11 , wherein the first request to revoke access comprises at least one of:

a first indication of the message to be withheld from presentation;

a second indication of a group of message to be withheld from presentation; or

a third indication that messages posted in association with one or more first user accounts associated with the first organization are to be withheld from presentation.

14. The one or more non-transitory computer-readable media of claim 10 , wherein the message is from a first user account from among first user accounts associated with the first organization, the operations further comprising:

receiving, from the first device associated with the first organization, a fifth request to revoke access of second user accounts associated with the second organization to first messages transmitted in association with the channel, the first messages being posted in association with the first user accounts associated with the first organization;

identifying the first messages associated with the channel that are posted in association with the first user accounts; and

withholding contents associated with the first messages from presentation via user interfaces associated with the second user accounts, wherein the user interfaces comprise second messages transmitted in association with the channel and posted in association with the second user accounts.

15. The one or more non-transitory computer-readable media of claim 10 , the operations further comprising:

receiving a second message from a second user account associated with the second organization, for posting in association with the channel;

identifying, based at least in part on an ownership of the channel, at least one of the first encryption policy or the second encryption policy to apply to the second message; and

encrypting the second message based on the at least one of the first encryption policy or the second encryption policy.

16. The one or more non-transitory computer-readable media of claim 10 , wherein the message is encrypted at a first time with a first encryption key associated with the first encryption policy, the operations further comprising:

determining, at a second time after the first time, to apply a second encryption key to communications transmitted via the channel and posted in association with first user accounts of the first organization;

re-encrypting the message utilizing the second encryption key; and

storing the second encryption key in association with the first organization and the channel.

17. A system for providing encryption key management to a channel within a communication system, the system comprising:

one or more processors; and

one or more non-transitory computer readable media storing computer executable instructions that, when executed, cause the one or more processors to perform operations comprising:

receiving, from a first device of a first organization, a message associated with the channel of the communication system, wherein the channel is a group-based communication channel associated with two or more organizations, and wherein the channel enables members to communicate with one another via posting communications to the channel;

encrypting, based at least in part on a determination that a sender of the message is associated with the first organization of the two or more organizations, the message based at least in part on a first encryption policy associated with the first organization, wherein the first encryption policy is different than a second encryption policy associated with a second organization of the two or more organizations;

retrieving, by a second device of the second organization, the encrypted message from a data store associated with the channel;

decrypting the encrypted message prior to causing the message to be presented, in the channel, via a user interface associated with the communication system; and

causing display on the second device, the decrypted message in the channel via the user interface associated with the communication system.

18. The system of claim 17 , wherein the message is from a first user account associated with the first organization, and wherein the user interface is a first user interface, the operations further comprising:

receiving, from the first device associated with the first organization, a first request to revoke access of a second user account associated with the second organization to the message;

in response to receiving the first request to revoke access to the message, causing an encryption key associated with the first encryption policy to be revoked with respect to the second user account and in association with the message; and

based at least in part on a revocation of the encryption key, withholding contents associated with the message from presentation via a second user interface associated with the second user account.

19. The system of claim 18 , the operations further comprising:

receiving, from the second user account, a third request to access data associated with the channel;

in response to receiving the third request to access data, sending, to a computing device associated with a key server, a fourth request for the encryption key, the fourth request comprising an identification of the second user account; and

receiving, from the computing device associated with the key server, an indication of the revocation of the encryption key in association with the message,

wherein the contents associated with the message are withheld from presentation based at least in part on the indication of the revocation of the encryption key.

20. The system of claim 18 , wherein the first request to revoke access comprises at least one of:

a first indication of the message to be withheld from presentation;

a second indication of a group of message to be withheld from presentation; or

a third indication that messages posted in association with one or more first user accounts associated with the first organization are to be withheld from presentation.

Assignments (4)
MERGER Recorded Nov 21, 2022
From: SLACK TECHNOLOGIES, LLC
To: SALESFORCE.COM, INC.
Reel/Frame 061972/0569 →
CHANGE OF NAME Recorded Nov 21, 2022
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 061972/0769 →
MERGER AND CHANGE OF NAME Recorded Mar 10, 2022
From: SLACK TECHNOLOGIES, INC.; SLACK TECHNOLOGIES, LLC
To: SLACK TECHNOLOGIES, LLC
Reel/Frame 059558/0714 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2022
From: DRUMMOND, AUDREI; DEMMER, MICHAEL; VASAMSETTI, SRI; CLEMENSON, ELIZABETH
To: SLACK TECHNOLOGIES, INC.
Reel/Frame 059230/0308 →