Multi party messaging
First Claim
Patent Images
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.
4 Assignments
0 Petitions
Accused Products
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.
-
Citations
19 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
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. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
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.
-
Specification