IP Library Granted Patent US 9,843,592
Granted Patent B2
US 9,843,592 · App. 14/882,651 · Granted Dec 12, 2017

Fast multicast messaging encryption and authentication

Inventor: Bryan Cotta (San Mateo, CA)
Assignee: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
H04L63/123H04L63/061H04L63/0876
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,843,592
App. No.
14/882,651
Granted
Dec 12, 2017
Kind
B2
Abstract

To prevent legitimate message recipients from forging new messages and to encrypt messages for a specific set of recipients (channel), a root key is encrypted and combined with a base session management key to render a combined root key, which in turn is encrypted with a public key of at least one recipient device to render a session management key. The public key of each of “N” intended recipient device encrypts the combined root key to render “N” session management keys. The session management keys are then combined with the combined root key to render a multicast root key, which is signed with a private key of a sending device. The signed multicast root key is combined with the session management keys to render an encrypted, signed multicast root key that is used to encrypt digital information prior to transmitting the digital information.

Claims (55)

1. A sender device comprising:

at least one computer memory that is not a transitory signal and that comprises instructions executable by at least one processor to:

access a root key;

encrypt the root key with a root session management key (RSMK) to render an encrypted root key;

encrypt the RSMK with a public key of at least a first recipient device to render a first device session management key (DSMK);

concatenate the first DSMK and the encrypted root key to render a concatenation;

sign the concatenation to render a signed root key blob; and

distribute the signed root key blob to at least the first receiver for use in securely exchanging digital information at least in part by using the sender device to transmit the signed root key blob to the first receiver.

2. The sender device of claim 1 , wherein N recipient devices are intended to receive the digital information, and N DSMKs are rendered by encrypting the RSMK once with each respective one of N public keys of the respective N recipient devices, the N DSMKs being combined with the encrypted root key to render the concatenation.

3. The sender device of claim 1 , comprising the at least one processor coupled to the at least one computer memory.

4. The sender device of claim 1 , wherein the RSMK is derived from a pseudorandom number.

5. The sender device of claim 1 , wherein the concatenation further includes an initialization vector (IV).

6. The sender device of claim 1 , wherein the instructions are executable to:

send a message encrypted at least in part using the root key to render an encrypted message.

7. The sender device of claim 6 , wherein the instructions are executable to:

encrypt the message using a multicast (MC) session key, the MC session key being derived from a pseudorandom message key offset and the root key and being different from the RSMK.

8. The sender device of claim 7 , wherein the message key offset is XORed with the root key to establish the MC session key.

9. The sender device of claim 6 , wherein the instructions are executable to:

generate a message header including at least the message key offset and a message initialization vector (IV);

combine a private key-based signature of the sender device with the message header to render a signed header;

concatenate the encrypted message with the signed header; and

send the encrypted message with the signed header.

10. A receiver device comprising:

at least one computer memory that is not a transitory signal and that comprises instructions executable by at least one processor to:

receive from a sender device a root key blob;

parse through elements of the root key blob to extract an encrypted session management key unique to the receiver device;

decrypt the encrypted session management key using a private key of the receiver device to render a decrypted session management key;

use the decrypted session management key to decrypt an encrypted multicast root key in the root key blob to render a decrypted multicast root key; and

use the decrypted multicast root key to process at least one message.

11. The receiver device of claim 10 , wherein the instructions are executable to:

access a public key of the sender device from which the root key blob is received;

validate a signature of the root key blob using the public key;

responsive to the signature being valid, parse through elements of the root key blob to extract the encrypted session management key; and

responsive to the signature not being valid, not parsing through elements of the root key blob to extract the encrypted session management key.

12. The receiver device of claim 10 , comprising the at least one processor coupled to the at least one computer memory.

13. The receiver device of claim 10 , wherein the instructions are executable to:

receive an encrypted message with a header;

extract a multicast (MC) session key using the decrypted multicast root key and a message key offset in the header, the MC session key being different from the session management key; and

decrypt the encrypted message using the MC session key.

14. The receiver device of claim 13 , wherein the instructions are executable to:

validate a signature of the header using the public key of the sender device;

responsive to the signature of the header being valid, extract the MC session key using the decrypted multicast root key and the message key offset in the header; and

responsive to the signature not being valid, not extract the MC session key using the decrypted multicast root key and the message key offset in the header.

15. A computerized method comprising:

asymmetrically encrypting a root session management key (RSMK) with each of “N” public keys of “N” recipient devices with to render “N” respective device session management keys (DSMK), in which each DSMK is the product of encrypting the RSMK with a single public key;

symmetrically encrypting a multicast (MC) root key with the RSMK to render an encrypted MC root key;

generating a key blob containing at least the encrypted MC root key and the N DSMKs;

distributing the key blob to the recipient devices;

symmetrically encrypting a message using a MC session key to render an encrypted message, the MC session key being derived from the MC root key and a pseudorandom element and being different from the MC root key and the RSMK; and

sending the encrypted message with a message header, the message header including at least the pseudorandom element used in deriving the MC session key.

16. The method of claim 15 , comprising signing the key blob using a private key.

17. The method of claim 15 , comprising signing the header using the private key.

18. The method of claim 15 , wherein the header includes at least a message session identification.

19. The method of claim 15 , wherein the header includes at least a message initialization vector (IV).

20. The method of claim 15 , comprising broadcasting the message to the N recipient devices and to an N th +1 recipient device with a public key not used to render one of the DSMKs, such that the N th +1 recipient device cannot decrypt the message.

Assignments (3)
MERGER Recorded Mar 30, 2020
From: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT LLC
Reel/Frame 053323/0567 →
CHANGE OF NAME Recorded May 5, 2016
From: SONY COMPUTER ENTERTAINMENT AMERICA LLC
To: SONY INTERACTIVE ENTERTAINMENT AMERICA LLC
Reel/Frame 038630/0154 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2015
From: COTTA, BRYAN
To: SONY COMPUTER ENTERTAINMENT AMERICA LLC
Reel/Frame 036789/0301 →
Continuity (1)
Related Publication 20170111371A1 · Apr 20, 2017