IP Library Granted Patent US 9,628,449
Granted Patent B1
US 9,628,449 · App. 14/677,258 · Granted Apr 18, 2017

Multi party messaging

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 9,628,449
App. No.
14/677,258
Granted
Apr 18, 2017
Kind
B1
Abstract

Multi-party messaging is disclosed. A plurality of public keys is requested by a first device from a server, wherein the plurality of public keys is associated with a plurality of recipients. A message containing one or more components is encrypted using a symmetric key. The symmetric key is encrypted, using each of the respective public keys, resulting in a plurality of encrypted symmetric keys. The encrypted message and the encrypted symmetric keys are encapsulated in an encapsulation. The encapsulation is transmitted to the server.

Claims (43)

1. A system, comprising:

a set of one or more interfaces configured to:

receive, from a first device, a request for a plurality of public keys associated with a plurality of shared recipients of a first message, wherein a first recipient included in the plurality of shared recipients is associated with a second device and wherein a second recipient included in the plurality of shared recipients is associated with a third device;

transmit, to the first device, a set of public keys associated with at least some of the shared recipients; and

receive, from the first device, an encapsulation containing the first message in an encrypted form and containing a plurality of encrypted symmetric keys, wherein the encapsulation is performed, at least in part, using a spreading function;

a set of one or more processors configured to:

create, in response to the receipt from the first device of the encapsulation, a record associated with the received encapsulation, wherein the record includes, for a given respective recipient, an indication of whether the respective recipient has requested the received encapsulation; and

in response to receipt, from the second device, of a request to access the first message, update the record associated with the received encapsulation to indicate that the second device has requested to access the first message;

track receipt, by all message recipients, of the first message; and

in response to a determination that all message recipients have received the first message, delete the encapsulation from a storage associated with the system; and

a memory coupled to at least one processor included in the set of one or more processors and configured to provide the at least one processor with instructions.

2. The system of claim 1 wherein the set of one or more interfaces is further configured to transmit to the second device a notification associated with the arrival of the first message at the system.

3. The system of claim 1 wherein the set of one or more processors is configured to determine whether or not to transmit to the second device a notification associated with the arrival of the first message of the system by determining whether the first recipient has opted to receive message notifications on the second device.

4. The system of claim 1 wherein the set of one or more processors is further configured to determine that a deadline for accessing the first message has passed and cause deletion of the encapsulation from a storage associated with the system in response to the determination.

5. The system of claim 1 wherein the set of one or more processors is further configured to cause a transmission to the first device of at least one respective device identifier associated with each of the respective recipients.

6. The system of claim 1 wherein the set of one or more processors is further configured to cause a transmission to the first device of at least one respective application identifier associated with each of the respective recipients.

7. The system of claim 1 wherein the encapsulation further includes a public key associated with the first device.

8. The system of claim 1 wherein the encapsulation further includes a device identifier associated with the first device.

9. The system of claim 1 wherein at least one recipient included in the plurality of recipients is associated with a single public key and a plurality of device identifiers.

10. A method, comprising:

receiving, from a first device, a request for a plurality of public keys associated with a plurality of shared recipients of a first message, wherein a first recipient included in the plurality of shared recipients is associated with a second device and wherein a second recipient included in the plurality of shared recipients is associated with a third device;

transmitting, to the first device, a set of public keys associated with at least some of the shared recipients;

receiving, from the first device, an encapsulation containing the first message in an encrypted form and containing a plurality of encrypted symmetric keys, wherein the encapsulation is performed, at least in part, using a spreading function;

creating, in response to the receipt from the first device of the encapsulation, a record associated with the received encapsulation, wherein the record includes, for a given respective recipient, an indication of whether the respective recipient has requested the received encapsulation;

in response to receipt, from the second device, of a request to access the first message, updating the record associated with the received encapsulation to indicate that the second device has requested to access the first message;

tracking receipt, by all message recipients, of the first message; and

in response to a determination that all message recipients have received the first message, deleting the encapsulation from a storage associated with the system.

11. The method of claim 10 further comprising transmitting to the second device a notification associated with the receipt of the first message.

12. The method of claim 10 further comprising determining whether or not to transmit to the second device a notification associated with the receipt of the first message by determining whether the first recipient has opted to receive message notifications on the second device.

13. The method of claim 10 further comprising determining that a deadline for accessing the first message has passed and causing deletion of the encapsulation in response to the determination.

14. The method of claim 10 further comprising causing the transmission to the first device of at least one respective device identifier associated with each of the respective recipients.

15. The method of claim 10 further comprising causing the transmission to the first device of at least one respective application identifier associated with each of the respective recipients.

16. The method of claim 10 wherein the encapsulation further includes a public key associated with the first device.

17. The method of claim 10 wherein the encapsulation further includes a device identifier associated with the first device.

18. The method of claim 10 wherein at least one recipient included in the plurality of recipients is associated with a single public key and a plurality of device identifiers.

19. A computer program product embodied in a non-transitory tangible computer readable storage medium and comprising computer instructions for:

receiving, from a first device, a request for a plurality of public keys associated with a plurality of shared recipients of a first message, wherein a first recipient included in the plurality of shared recipients is associated with a second device and wherein a second recipient included in the plurality of shared recipients is associated with a third device;

transmitting, to the first device, a set of public keys associated with at least some of the shared recipients;

receiving, from the first device, an encapsulation containing the first message in an encrypted form and containing a plurality of encrypted symmetric keys, wherein the encapsulation is performed, at least in part, using a spreading function;

creating, in response to the receipt from the first device of the encapsulation, a record associated with the received encapsulation, wherein the record includes, for a given respective recipient, an indication of whether the respective recipient has requested the received encapsulation;

in response to receipt, from the second device, of a request to access the first message, updating the record associated with the received encapsulation to indicate that the second device has requested to access the first message;

tracking receipt, by all message recipients, of the first message; and

in response to a determination that all message recipients have received the first message, deleting the encapsulation from a storage associated with the system.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2021
From: WICKR LLC
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 057366/0573 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 25, 2021
From: SILICON VALLEY BANK
To: WICKR INC.
Reel/Frame 056684/0366 →
SECURITY AGREEMENT Recorded Dec 12, 2017
From: WICKR INC.
To: SILICON VALLEY BANK
Reel/Frame 044872/0729 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2017
From: STATICA, ROBERT
To: WICKR INC.
Reel/Frame 043055/0149 →