IP Library Granted Patent US 10,298,402
Granted Patent B2
US 10,298,402 · App. 15/218,807 · Granted May 21, 2019

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 10,298,402
App. No.
15/218,807
Granted
May 21, 2019
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 encryption key from a second user device via a peer-to-peer connection; transmitting, by the first user device, the wrapped encryption 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 an encryption key derived from the wrapped encryption key; and decrypting the encrypted media item using the encryption key to play the media item.

Claims (46)

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 via a peer-to-peer connection, 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; and

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 decrypted media item and a digital signature of 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 wrapped key comprises a symmetric cryptographic key that is encapsulated using an asymmetric cryptographic key from 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 the peer-to-peer connection is a peer-to-peer wireless network connection.

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 wherein verifying the media item comprises verifying the media item originated from the media server prior to playing the media item received from the second computing device.

9. The method of claim 1 , further comprising

computing, by the first user device, the hash of the decrypted 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 to perform operations comprising:

transmitting, by a processing device of a media server, 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 and the playability request inquiring whether the second user device is authorized to play the media item that was shared between the first user device and the second user device using a peer-to-peer connection;

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

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

transmitting a digital signature to enable verification that the media item shared using the peer-to-peer connection originated from the media server, wherein the verification is in view of a hash of the media item and the digital signature of the media server.

11. The non-transitory machine-readable storage medium of claim 10 , wherein the transmitting the digital signature comprises transmitting a digital signature corresponding to the media item to at least one of the first user device or second user device.

12. The non-transitory machine-readable storage medium of claim 10 , wherein the playability response comprises a supplemental media item.

13. A method comprising:

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

storing the media item locally at the first user device;

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

in response to receiving a request to share the stored media item with a second user device, wrapping, by the first user device, the cryptographic key to generate a wrapped key; and

transmitting, via a peer-to-peer connection, the encrypted media item and the wrapped key to the second user device, wherein the wrapped key comprises content masked from the second user device; and

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

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 wrapping of the cryptographic key comprises encrypting the cryptographic key using a public key of 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 a request for the media item from the second computing device prior to transmitting the encrypted media item to the second computing device.

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)
CHANGE OF NAME Recorded Oct 20, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044567/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2016
From: ISLES, ADRIAN; SRINIVASAN, ARVIND; DENTON, SAMUEL THOMAS; DUONG, THAI; ANDERSON, ROBERT; KNAPP, EDWARD; LEVINE, JONATHAN; AKKAD, JYOTIRMAYA
To: GOOGLE INC.
Reel/Frame 039255/0881 →
Continuity (2)
Provisional Application 62355126 · Jun 27, 2016
Related Publication 20170372042A1 · Dec 28, 2017
Cited By (2)
US 12,282,586 US 12,554,890