IP Library Granted Patent US 11,218,453
Granted Patent B2
US 11,218,453 · App. 16/051,348 · Granted Jan 4, 2022

Exchanging encrypted messages among multiple agents

Inventors: Alan Chun Tung Liu (Mountain View, CA); Mitu Singh (San Carlos, CA)
Assignee: WhatsApp LLC
H04L63/0428G06Q10/10H04L9/3247H04L63/104
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,218,453
App. No.
16/051,348
Filed
Jul 31, 2018
Granted
Jan 4, 2022
Kind
B2
Art Unit
2433
USPC
713/168
Abstract

A messaging system interacts with the messaging applications of customer, admin, and agent clients to support encrypted communications among customers and businesses. To register as an agent of the business, an agent client sends registration information to the messaging system and receives a barcode in response. The messaging system validates information about the barcode received from the admin client and sends a validation code to the admin client. The admin client displays the validation code, and the validation code is entered into the agent client. The admin client generates a membership list including an agent client identifier, digitally signs the membership list, and provides the signed membership list to the messaging system. When a customer messages the business, the messaging system forms a customer group using the signed membership list and distributes the message to the agent clients in the group.

Claims (17)

1. A method comprising: receiving, at a messaging system, a digitally-signed membership list identifying a set of agent clients registered as agents of an entity that uses the messaging system, the digitally-signed membership list received from an administrator of the entity and digitally-signed by the administrator of the entity; receiving an encrypted message directed to the entity from a customer client at the messaging system; creating a customer group for the customer client, the customer group including an identifier of the customer client and the set of agent clients identified by the digitally-signed membership list; providing the digitally-signed membership list included in the customer group to the customer client, wherein the customer client is adapted to validate the digitally-signed membership list using the digital signature and, responsive to successful validation of the digitally signed membership list, use the identifiers of the agent clients in the set to send security information to the agent clients in the set; and distributing, by the messaging system, the encrypted message to other members of the customer group, wherein the agent clients of the set of agent clients are identified by the digitally-signed membership list are adapted to decrypt the encrypted message using the security information received from the customer client.

2. The method of claim 1 , further comprising: receiving a plurality of encrypted messages directed to the entity from a plurality of customer clients; creating a respective customer group for each of the plurality of customer clients, each respective customer group including an identifier of a respective customer client and identifiers of the agent clients in the set; and providing the identifiers of the agent clients in the respective customer groups to the respective customer clients.

3. The method of claim 1 , further comprising: receiving a second encrypted message directed to the customer client, the second encrypted message received from an agent client in the set of agent clients; and distributing the second encrypted message to members of the customer group including the customer client and to agent clients in the set of agent clients other than the agent client from which the second encrypted message was received.

4. The method of claim 3 , wherein the customer client is adapted to receive the second encrypted message, decrypt the second encrypted message using security information received by the customer client from the agent client to produce a decrypted message, and display the decrypted message on the customer client as being from the entity for which the agent client is registered.

5. The method of claim 1 , further comprising: determining an identifier of an admin client associated with the administrator of the entity; receiving from an agent client a validation code validating the agent client as an agent of the entity; creating an agent identifier for the agent client, the agent identifier derived from the identifier of the admin client; and providing the agent identifier to the admin client, wherein the agent identifier is included in the digitally-signed membership list received from the administrator of the entity.

6. The method of claim 5 , further comprising: receiving a description of a barcode displayed by an agent client, the description received from the admin client; providing a validation code to the admin client responsive to receipt of the description of the barcode; and validating the agent client as an agent of the entity responsive to receipt of the validation code from the agent client; wherein the agent identifier is created responsive to validating the agent client.

7. A system comprising: a computer processor for executing computer program instructions; and a non-transitory computer-readable medium storing computer program instructions executable by the processor to perform operations comprising: receiving, at a messaging system, a digitally-signed membership list identifying a set of agent clients registered as agents of an entity that uses the messaging system, the digitally-signed membership list received from an administrator of the entity and digitally signed by the administrator of the entity; receiving an encrypted message directed to the entity from a customer client at the messaging system; creating a customer group for the customer client, the customer group including an identifier of the customer client and the set of agent clients identified by the digitally-signed membership list; providing the digitally-signed membership list included in the customer group to the customer client, wherein the customer client is adapted to validate the digitally-signed membership list using the digital signature and, responsive to successful validation of the digitally signed membership list, use the identifiers of the agent clients in the set to send security information to the agent clients in the set; and distributing, by the messaging system, the encrypted message to other members of the customer group, wherein the agent clients of the set of agent clients are identified by the digitally-signed membership list are adapted to decrypt the encrypted message using the security information received from the customer client.

8. The system of claim 7 , the operations further comprising: receiving a plurality of encrypted messages directed to the entity from a plurality of customer clients; creating a respective customer group for each of the plurality of customer clients, each respective customer group including an identifier of a respective customer client and identifiers of the agent clients in the set; and providing the identifiers of the agent clients in the respective customer groups to the respective customer clients.

9. The system of claim 7 , the operations further comprising: receiving a second encrypted message directed to the customer client, the second encrypted message received from an agent client in the set of agent clients; and distributing the second encrypted message to members of the customer group including the customer client and to agent clients in the set of agent clients other than the agent client from which the second encrypted message was received.

10. The system of claim 9 , wherein the customer client is adapted to receive the second encrypted message, decrypt the second encrypted message using security information received by the customer client from the agent client to produce a decrypted message, and display the decrypted message on the customer client as being from the entity for which the agent client is registered.

11. The system of claim 7 , the operations further comprising: determining an identifier of an admin client associated with the administrator of the entity; receiving from an agent client a validation code validating the agent client as an agent of the entity; creating an agent identifier for the agent client, the agent identifier derived from the identifier of the admin client; and providing the agent identifier to the admin client, wherein the agent identifier is included in the digitally-signed membership list received from the administrator of the entity.

12. The system of claim 11 , the operations further comprising: receiving a description of a barcode displayed by an agent client, the description received from the admin client; providing a validation code to the admin client responsive to receipt of the description of the barcode; and validating the agent client as an agent of the entity responsive to receipt of the validation code from the agent client; wherein the agent identifier is created responsive to validating the agent client.

13. A non-transitory computer-readable storage medium storing computer program instructions executable by a processor to perform operations comprising: receiving, at a messaging system, a digitally-signed membership list identifying a set of agent clients registered as agents of an entity that uses the messaging system, the digitally-signed membership list received from an administrator of the entity and digitally signed by the administrator of the entity; receiving an encrypted message directed to the entity from a customer client at the messaging system; creating a customer group for the customer client, the customer group including an identifier of the customer client and the set of agent clients identified by the digitally-signed membership list; providing the digitally-signed membership list included in the customer group to the customer client, wherein the customer client is adapted to validate the digitally-signed membership list using the digital signature and, responsive to successful validation of the digitally signed membership list, use the identifiers of the agent clients in the set to send security information to the agent clients in the set; and distributing, by the messaging system, the encrypted message to other members of the customer group, wherein the agent clients of the set of agent clients are identified by the digitally-signed membership list are adapted to decrypt the encrypted message using the security information received from the customer client.

14. The non-transitory computer-readable storage medium of claim 13 , the operations further comprising: receiving a plurality of encrypted messages directed to the entity from a plurality of customer clients; creating a respective customer group for each of the plurality of customer clients, each respective customer group including an identifier of a respective customer client and identifiers of the agent clients in the set; and providing the identifiers of the agent clients in the respective customer groups to the respective customer clients.

15. The non-transitory computer-readable storage medium of claim 13 , the operations further comprising: receiving a second encrypted message directed to the customer client, the second encrypted message received from an agent client in the set of agent clients; and distributing the second encrypted message to members of the customer group including the customer client and to agent clients in the set of agent clients other than the agent client from which the second encrypted message was received.

16. The non-transitory computer-readable storage medium of claim 13 , the operations further comprising: determining an identifier of an admin client associated with the administrator of the entity; receiving from an agent client a validation code validating the agent client as an agent of the entity; creating an agent identifier for the agent client, the agent identifier derived from the identifier of the admin client; and providing the agent identifier to the admin client, wherein the agent identifier is included in the digitally-signed membership list received from the administrator of the entity.

17. The non-transitory computer-readable storage medium of claim 16 , the operations further comprising: receiving a description of a barcode displayed by an agent client, the description received from the admin client; providing a validation code to the admin client responsive to receipt of the description of the barcode; and validating the agent client as an agent of the entity responsive to receipt of the validation code from the agent client; wherein the agent identifier is created responsive to validating the agent client.

Assignments (2)
CHANGE OF NAME Recorded Mar 3, 2021
From: WHATSAPP INC.
To: WHATSAPP LLC
Reel/Frame 055488/0686 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 2, 2018
From: LIU, ALAN CHUN TUNG; SINGH, MITU
To: WHATSAPP INC.
Reel/Frame 046538/0560 →
Continuity (1)
Related Publication 20200045022A1 · Feb 6, 2020