IP Library Granted Patent US 11,025,432
Granted Patent B2
US 11,025,432 · App. 16/417,035 · Granted Jun 1, 2021

Access control technology for peer-to-peer sharing

Inventors: Adrian Isles (Alameda, CA); Arvind Srinivasan (San Jose, CA); Samuel Thomas Denton (Oakland, CA); Thai Duong (Sunnyvale, CA); Robert Anderson (San Mateo, CA); Edward Knapp (Mountain View, CA); Jonathan Levine (San Francisco, CA); Jyotirmaya Akkad (San Francisco, CA)
Assignee: Google, LLC
H04L9/3247G06F21/44H04L9/083H04L9/3236H04L63/045H04L63/126H04W12/08H04L2209/60H04L2463/062
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,025,432
App. No.
16/417,035
Granted
Jun 1, 2021
Kind
B2
Abstract

Implementations disclose an access control mechanism for peer-to-peer sharing technology. A method includes receiving, by a processing device of a first user device, an encrypted media item and a wrapped key from a second user device, wherein the wrapped key comprises content masked from the first user device; transmitting, by the first user device, the wrapped key and a request to a media server to determine whether the first user device is authorized to play the encrypted media item; receiving, from the media server, a response indicating the first user device is authorized to play the encrypted media item, the response comprising a cryptographic key derived from the wrapped key; and decrypting the encrypted media item using the cryptographic key.

Claims (45)

1. A method comprising:

receiving, by a processing device of a first user device, an encrypted media item and a wrapped key from a second user device, wherein the wrapped key comprises content masked from the first user device and wherein the content comprises a cryptographic key encrypted using a public key of a media server;

transmitting, by the first user device, the wrapped key and a request to the media server to determine whether the first user device is authorized to play the encrypted media item;

receiving, from the media server, a response indicating the first user device is authorized to play the encrypted media item, the response comprising the cryptographic key derived from the wrapped key; and

decrypting the encrypted media item using the cryptographic key received from the media server.

2. The method of claim 1 , further comprising:

receiving user input indicating a selection of the media item from a plurality of media items; and

transmitting a request for the media item to the second user device prior to the receiving of the encrypted media item.

3. The method of claim 1 , wherein the cryptographic key derived from the wrapped key comprises a symmetric cryptographic key that was encapsulated using a public asymmetric cryptographic key of the media server.

4. The method of claim 1 , further comprising receiving a supplemental media item from the media server and presenting the supplemental media item before, during, or after playing the media item.

5. The method of claim 1 , wherein receiving the wrapped key comprises receiving the wrapped key over a peer-to-peer connection between the first user device and the second user device.

6. The method of claim 1 , wherein the request to determine whether the first user device is authorized to play the encrypted media item comprises an identifier of the encrypted media item.

7. The method of claim 1 , further comprising:

receiving a request for the media item from a third user device;

encrypting, by the first user device, the media item to generate a second encrypted media item;

wrapping, by the first user device, a cryptographic key to generate a second wrapped key; and

transmitting the second encrypted media item and the second wrapped key to the third user device.

8. The method of claim 1 , further comprising verifying, by the first user device, that the media item received from the second user device originated from the media server, wherein the verifying is in view of a hash of the media item and a digital signature of the media server.

9. The method of claim 8 , further comprising:

computing, by the first user device, the hash of the media item; and

receiving the digital signature originating from the media server.

10. A non-transitory machine-readable storage medium storing instructions which, when executed, cause a processing device of a media server to perform operations comprising:

transmitting a media item to a first user device;

receiving, from a second user device, a playability request and a wrapped key associated with the media item, the wrapped key comprising content masked from the second user device, wherein the content comprises a cryptographic key that is encrypted using a public key of the media server;

determining, by the processing device, that the second user device is authorized to play the media item;

transmitting, by the processing device, a response indicating that the second user device is authorized to play the media item, wherein the response comprises the cryptographic key derived from the wrapped key.

11. The non-transitory machine-readable storage medium of claim 10 , further comprising transmitting a digital signature corresponding to the media item to at least one of the first user device or second user device, wherein the digital signature enables verification that the media item received from the first user device originated from the media server.

12. The non-transitory machine-readable storage medium of claim 10 , wherein the playability request inquires whether the second user device is authorized to play the media item shared between the first user device and the second user device using a peer-to-peer connection.

13. A method comprising:

receiving, by a processing device of a first computing device, a media item from a media server via a network;

storing the media item locally at the first computing device;

encrypting, by the first computing device, the media item using a cryptographic key to generate an encrypted media item;

encrypting, by the first user device, the cryptographic key using a public key of the media server to generate a wrapped key; and

transmitting the encrypted media item and the wrapped key to a second computing device, wherein the wrapped key comprises content masked from the second computing device.

14. The method of claim 13 , wherein the cryptographic key for encrypting the media item is generated by the first user device.

15. The method of claim 13 , wherein the public key of the media server comprises an asymmetric cryptographic key associated with the media server.

16. The method of claim 13 , further comprising transmitting metadata of the media item to the second computing device, wherein the metadata is unencrypted.

17. The method of claim 13 , further comprising:

receiving, by the first computing device, a request for the media item from the second computing device prior to transmitting the encrypted media item to the second computing device; and

verifying, by the first computing device, that the media item originated from the media server, wherein the verifying is in view of a hash of the media item and a digital signature of the media server.

18. The method of claim 13 , further comprising:

receiving, by the processing device, a supplemental media item from the media server; and

transmitting, by the processing device, the supplemental media item to the second computing device.

19. The method of claim 13 , further comprising: receiving user input selecting the media item and user input selecting the second computing device prior to transmitting the encrypted media item to the second computing device.

20. The method of claim 13 , further comprising: in response to receiving user input selecting the media item, making the media item available for sharing to the second computing device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2019
From: ISLES, ADRIAN; SRINIVASAN, ARVIND; DENTON, SAMUEL THOMAS; DUONG, THAI; ANDERSON, ROBERT; KNAPP, EDWARD; LEVINE, JONATHAN; AKKAD, JYOTIRMAYA
To: GOOGLE INC.
Reel/Frame 049266/0337 →
CHANGE OF NAME Recorded May 23, 2019
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 049266/0860 →
Continuity (3)
Continuation 15218807 · Jul 25, 2016
Provisional Application 62355126 · Jun 27, 2016
Related Publication 20190280877A1 · Sep 12, 2019