IP Library Granted Patent US 11,882,231
Granted Patent B1
US 11,882,231 · App. 17/728,170 · Granted Jan 23, 2024

Methods and systems for processing an ephemeral content message

Inventors: Randall Sarafa (San Francisco, CA); Eugene Fooksman (Menlo Park, CA); Brian Lange Acton (Palo Alto, CA); Jan Boris Koum (Santa Clara, CA); Michael B. Donohue (Los Altos, CA); Ehren Andrew Kret (Sunnyvale, CA)
Assignee: WhatsApp LLC
H04M1/72436G06F3/04817G06F3/04886H04L5/04H04L9/0827H04L9/0844H04L51/08H04L51/10H04L51/212H04L51/226H04L51/52H04L63/0428H04M1/72439H04W4/12H04W4/14H04W12/02H04W12/033H04W12/041H04W12/0431G06F3/04842G06F2203/04804H04L67/306H04L2209/60H04W12/04H04W12/088
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,882,231
App. No.
17/728,170
Granted
Jan 23, 2024
Kind
B1
Abstract

Exemplary embodiments relate to techniques for transmitting ephemeral content messages. A sending client may establish an end-to-end encrypted session with possible recipients of the message, using a first decryption key during initial session setup. The client may send an ephemeral content message, including encrypted content and a second key, to the recipients through a server. The server may be unable to retrieve the encrypted content due to a lack of the second key. The server may filter a list of intended recipients, and may forward the ephemeral content message to the recipients on the filtered list. The recipients may retrieve the second key from the message, and use the first and second keys to decrypt the encrypted content. The sending client may change the second key each time the recipient list changes from the perspective of the sending client, as determined at the time the ephemeral content message is transmitted.

Claims (51)

1. A method, comprising:

receiving setup information for an end-to-end encrypted session between a sending client and a receiving client, the setup information comprising information relating to a first encryption key for decrypting message content;

transmitting the setup information to the receiving client;

receiving a message including ephemeral content, the ephemeral content associated with encrypted media and a second encryption key for decrypting the encrypted media, wherein the message further includes an ephemeral content flag to designate the encrypted media of the message as representing shared ephemeral content;

filtering the list of intended recipients, the filtering comprising:

removing recipients that do not have a symmetric relationship with a sending user account associated with the sending client account from the list,

removing recipients that block messages from the sending user account, and

removing recipients whose messages are blocked by the sending user account; and

transmitting the message including the ephemeral content to the receiving client.

2. The method of claim 1 , wherein the encrypted content comprises a thumbnail of the media, the ephemeral content flag, and media message content, the media message content to comprise the second encryption key and a link to the media.

3. The method of claim 1 , further comprising:

receiving a reply to the message from the receiving client;

determining that the message was transmitted as part of a broadcast; and

sending the reply as part of a one-on-one conversation between a sending user account associated with the sending client and a receiving user account associated with the receiving client.

4. The method of claim 1 , wherein the message is transmitted to a group of recipients, and further comprising receiving a reply to the message, verifying that an encrypted session exists between each pair of members of the group, and transmitting the reply to the group of recipients.

5. The method of claim 1 , further comprising:

establishing a synchronous relationship between a sending user account associated with the sending client and a third user account after receiving the message; and

refraining from transmitting the message to a third device associated the third user.

6. The method of claim 1 , wherein a server that receives the message including the ephemeral content is unable to access the encrypted media.

7. A non-transitory computer-readable medium storing:

instructions configured to cause one or more processors to receive setup information for an end-to-end encrypted session between a sending client and a receiving client, the setup information comprising information relating to a first encryption key for decrypting message content;

instructions configured to cause one or more processors to transmit the setup information to the receiving client;

instructions configured to cause one or more processors to receive a message including ephemeral content, the ephemeral content associated with encrypted media and a second encryption key for decrypting the encrypted media, wherein the message further includes an ephemeral content flag to designate the encrypted media of the message as representing shared ephemeral content;

instructions configured to cause the one or more processors to access a list of intended recipients of the message;

instructions configured to cause the one or more processors to filter the list of intended recipients, the filtering comprising:

removing recipients that do not have a symmetric relationship with a sending user account associated with the sending client account from the list,

removing recipients that block messages from the sending user account, and

removing recipients whose messages are blocked by the sending user account;

and

instructions configured to cause one or more processors to transmit the message including the ephemeral content to the receiving client.

8. The medium of claim 7 , wherein the encrypted content comprises a thumbnail of the media, the ephemeral content flag, and media message content, the media message content to comprise the second encryption key and a link to the media.

9. The medium of claim 7 , further storing:

instructions configured to cause the one or more processors to receive a reply to the message from the receiving client;

instructions configured to cause the one or more processors to determine that the message was transmitted as part of a broadcast; and

instructions configured to cause the one or more processors to send the reply as part of a one-on-one conversation between a sending user account associated with the sending client and a receiving user account associated with the receiving client.

10. The medium of claim 7 , wherein the status update is transmitted to a group of recipients, and further storing instructions configured to cause the one or more processors to receive a reply to the message, verify that an encrypted session exists between each pair of members of the group, and transmit the reply to the group of recipients.

11. The medium of claim 7 , further storing:

instructions configured to cause the one or more processors to establish a synchronous relationship between a sending user account associated with the sending client and a third user account after receiving the message, wherein the one or more processors are configured to refrain from transmitting the message to a third device associated the third user.

12. The medium of claim 7 , wherein a server that receives the message including the ephemeral content is unable to access the encrypted content.

13. An apparatus comprising:

a non-transitory computer-readable medium configured to store setup information for an end-to-end encrypted session between a sending client and a receiving client, the setup information comprising information relating to a first encryption key for decrypting message content;

end-to-end encryption session logic, implemented at least partially in hardware, configured to transmit the setup information to the receiving client;

filtering logic, implemented at least partially in hardware, configured to access a list of intended recipients of the message and filter the list of intended recipients, the filtering comprising:

removing recipients that do not have a symmetric relationship with a sending user account associated with the sending client account from the list,

removing recipients that block messages from the sending user account, and

removing recipients whose messages are blocked by the sending user account; and

network interface logic, implemented at least partially in hardware, configured to receive a message including ephemeral content, the ephemeral content associated with encrypted media and a second encryption key for decrypting the encrypted media, wherein the message further includes an ephemeral content flag to designate the encrypted media of the message as representing shared ephemeral content, and to transmit the message including the ephemeral content to the receiving client.

14. The apparatus of claim 13 , wherein the encrypted content comprises a thumbnail of the media, the ephemeral content flag, and media message content, the media message content to comprise the second encryption key and a link to the media.

15. The apparatus of claim 13 , further comprising verification logic, implemented at least partially in hardware, configured to determine that the message was transmitted as part of a broadcast, wherein the network interface logic is further configured to receive a reply to the status update from the receiving client, and to send the reply as part of a one-on-one conversation between a sending user account associated with the sending client and a receiving user account associated with the receiving client.

16. The apparatus of claim 13 , wherein the message is transmitted to a group of recipients, and further comprising verification logic, implemented at least partially in hardware, configured to verify that an encrypted session exists between each pair of members of the group, wherein the network interface logic is further configured to receive a reply to the status update, and transmit the reply to the group of recipients when the verification logic verifies the existence of the encrypted session.

17. The apparatus of claim 13 , further comprising relationship logic, implemented at least partially in hardware, configured to establish a synchronous relationship between a sending user account associated with the sending client and a third user account after receiving the message, wherein the one or more processors are configured to refrain from transmitting the message to a third device associated the third user.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 2, 2024
From: SARAFA, RANDALL; FOOKSMAN, EUGENE; ACTON, BRIAN
To: WHATSAPP INC.
Reel/Frame 065998/0570 →
CHANGE OF NAME Recorded Sep 28, 2022
From: WHATSAPP INC.
To: WHATSAPP LLC
Reel/Frame 061570/0534 →
Continuity (3)
Continuation 16861625 · Apr 29, 2020
Continuation 15705999 · Sep 15, 2017
Provisional Application 62460136 · Feb 17, 2017