IP Library Granted Patent US 8,767,961
Granted Patent B2
US 8,767,961 · App. 13/342,483 · Granted Jul 1, 2014

Secure live television streaming

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 8,767,961
App. No.
13/342,483
Granted
Jul 1, 2014
Kind
B2
Abstract

A client device implements a media player and a proxy application. The media player controls playback of media content on the client device. The proxy application is implemented to request a playlist from a media server, where the playlist corresponds to the media content. The proxy application receives the playlist from the media server, and the playlist includes encryption key reference parameters to obtain an encryption key. The proxy application modifies the playlist to include local encryption key access parameters for the media player, and the modified playlist is communicated to the media player. The proxy application can then receive a request for the encryption key from the media player that utilizes the local encryption key access parameters included in the modified playlist, and the proxy application securely communicates the encryption key to the media player.

Claims (63)

1. A method comprising:

receiving a request for media content from a media player;

requesting a playlist that corresponds to the media content from a media server;

receiving the playlist from the media server, the playlist including encryption key reference parameters;

obtaining an encryption key utilizing the encryption key reference parameters;

modifying the playlist to include local encryption key access parameters for the media player;

communicating the modified playlist to the media player;

receiving a request for the encryption key from the media player that utilizes the local encryption key access parameters included in the modified playlist; and

communicating the encryption key to the media player.

2. The method as recited in claim 1 wherein the media player receives the media content encrypted from the media server and utilizes the encryption key to decrypt and playback the media content.

3. The method as recited in claim 1 wherein said obtaining the encryption key includes one of: determining that the encryption key was previously received, deriving the encryption key locally, or requesting the encryption key from a key server utilizing the encryption key reference parameters.

4. The method as recited in claim 1 wherein the encryption key is securely delivered independently to the media server and to the media player.

5. The method as recited in claim 1 wherein said modifying the playlist includes:

replacing HTTP protocol with HTTP Secure (HTTPS); and

substituting a URL of the playlist to redirect an HTTPS request for the encryption key to a proxy application.

6. The method as recited in claim 5 wherein said modifying the playlist further includes:

obfuscating the substituted URL to the proxy application, the substituted URL including a unique, randomly-generated key URL.

7. The method as recited in claim 5 :

wherein the request for the encryption key from the media player is received as an HTTPS request;

wherein authenticating the media player is based on the HTTPS request for the encryption key; and

wherein the encryption key is communicated to the media player with an HTTPS response.

8. The method as recited in claim 1 wherein the media content is streaming live television, and wherein the encryption key is one of a stream encryption key or a derived encryption key that is utilized by the media player to decrypt and playback the media content.

9. A client device comprising:

a media player configured to control playback of media content on the client device; and

a memory and a processor to implement a proxy application configured to:

request a playlist from a media server, the playlist corresponding to the media content;

receive the playlist from the media server, the playlist including encryption key reference parameters to obtain an encryption key;

modify the playlist to include local encryption key access parameters for the media player;

communicate the modified playlist to the media player;

receive a request for the encryption key from the media player that utilizes the local encryption key access parameters included in the modified playlist; and

securely communicate the encryption key to the media player.

10. The client device as recited in claim 9 wherein the media server and the proxy application are configured to independently receive the encryption key, and wherein the encryption key is securely delivered to the media player via two-way authentication between the media player and the proxy application.

11. The client device as recited in claim 9 wherein the media player is further configured to:

request the media content from the media server;

receive the media content encrypted from the media server; and

utilize the encryption key to decrypt and playback the media content.

12. The client device as recited in claim 9 wherein the proxy application is further configured to:

replace HTTP protocol with HTTP Secure (HTTPS) to said modify the playlist;

substitute a URL of the playlist to redirect an HTTPS request for the encryption key to the proxy application; and

obfuscate the substituted URL to the proxy application, the substituted URL including a unique, randomly-generated key URL.

13. The client device as recited in claim 12 wherein the proxy application is configured to:

receive the request for the encryption key from the media player as an HTTPS request; and

securely communicate the encryption key to the media player with an HTTPS response.

14. The client device as recited in claim 13 wherein the proxy application is further configured to authenticate the media player based on the HTTPS request for the encryption key.

15. A method comprising:

requesting a playlist from a media server, the playlist corresponding to streaming media content that is encrypted by the media server;

receiving the playlist from the media server, the playlist including encryption key reference parameters to obtain a stream encryption key;

modifying the playlist to include local encryption key access parameters for a media player;

communicating the modified playlist to the media player;

receiving a request for the stream encryption key from the media player that utilizes the local encryption key access parameters included in the modified playlist; and

communicating the encryption key to the media player.

16. The method as recited in claim 15 further comprising:

authenticating the media player based on the request for the stream encryption key from the media player; and

securely delivering the stream encryption key to the media player.

17. The method as recited in claim 15 wherein the media player receives the encrypted, streaming media content encrypted from the media server and utilizes the stream encryption key to decrypt and playback the streaming media content.

18. The method as recited in claim 15 wherein said modifying the playlist includes:

replacing HTTP protocol with HTTP Secure (HTTPS); and

substituting a URL of the playlist to redirect an HTTPS request for the stream encryption key to a proxy application.

19. The method as recited in claim 18 wherein said modifying the playlist further includes:

obfuscating the substituted URL to the proxy application, the substituted URL including a unique, randomly-generated key URL.

20. The method as recited in claim 18 :

wherein the request for the stream encryption key from the media player is received as an HTTPS request; and

wherein the stream encryption key is communicated to the media player with an HTTPS response.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034320/0591 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 030866/0113 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2012
From: CHEN, KUANG M.; MORONEY, PAUL; OSTROM, JOHN D.
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 027599/0768 →