Digital security bubble
A digital security bubble encapsulation is disclosed. A public key and a device identifier of at least one recipient is requested from a first server. A message containing one or more components is encrypted using a symmetric key. The symmetric key is encrypted with a public key received in response to the request. The encrypted message, the encrypted symmetric key, and the device identifier are encapsulated in a digital security bubble encapsulation. The digital security bubble encapsulation is transmitted to a second server.
1. A method for transmitting an encrypted encapsulation, the method comprising:
requesting, by a first device, an identifier associated with a first recipient from a first server;
encrypting, by the first device, a communication using a first key;
encrypting, by the first device, the first key using a second key associated with the first recipient, wherein the second key is obtained from the first server;
encapsulating the encrypted communication, the encrypted first key, and the identifier in an encrypted encapsulation; and
transmitting the encrypted encapsulation to the first recipient.
2. The method of claim 1 , further comprising generating, by the first device, the first key.
3. The method of claim 1 , wherein the identifier comprises a device identifier.
4. The method of claim 3 , wherein the device identifier is based at least in part on at least one hardware identifier.
5. The method of claim 1 wherein the identifier comprises an application identifier.
6. The method of claim 1 wherein the second key is a public key associated with the first recipient.
7. The method of claim 1 further comprising:
requesting, by the first device, a plurality of public keys and a plurality of identifiers associated with a plurality of recipients from the first server.
8. The method of claim 7 further comprising:
encrypting, by the first device, the first key with each of the plurality of public keys to produce a plurality of encrypted first keys; and
encapsulating, by the first device, the plurality of encrypted first keys in the encrypted encapsulation.
9. The method of claim 8 , further comprising:
transmitting, by the first device, the encrypted encapsulation with the plurality of encrypted first keys to the plurality of recipients.
10. A non-transitory computer-readable medium comprising instructions that, when executed by at least one processor, perform the steps of:
requesting an identifier associated with a first recipient from a first server;
encrypting a communication using a first key;
encrypting the first key using a second key associated with the first recipient, wherein the second key is obtained from the first server;
encapsulating the encrypted communication, the encrypted first key, and the identifier in an encrypted encapsulation; and
transmitting the encrypted encapsulation to the first recipient.
11. A system for transmitting an encrypted encapsulation, the system comprising:
a processor configured to:
request an identifier associated with a first recipient from a first server;
encrypt a communication using a first key;
encrypt the first key using a second key associated with the first recipient, wherein the second key is obtained from the first server;
encapsulate the encrypted communication, the encrypted first key, and the identifier in an encrypted encapsulation; and
transmit the encrypted encapsulation to the first recipient; and
a memory coupled to the processor and configured to provide the processor with instructions.
12. The system of claim 11 , wherein the processor is further configured to generate the first key.
13. The system of claim 11 , wherein the identifier comprises a device identifier.
14. The system of claim 13 , wherein the device identifier is based at least in part on at least one hardware identifier.
15. The system of claim 11 , wherein the identifier comprises an application identifier.
16. The system of claim 11 , wherein the second key is a public key associated with the first recipient.
17. The system of claim 11 , wherein the processor is configured to request a plurality of public keys and a plurality of identifiers associated with a plurality of recipients.
18. The system of claim 17 , wherein the processor is further configured to:
encrypt the first key with each of the received public keys to produce a plurality of encrypted first keys; and
encapsulate the plurality of encrypted first keys in the encrypted encapsulation.
19. The system of claim 18 , wherein the processor is configured to:
transmit the encrypted encapsulation with the plurality of encrypted first keys to the plurality of recipients.