Methods and apparatus for key delivery in HTTP live streaming
First Claim
1. A method, comprising:
- performing, by an application implemented on a device configured according to an operating system (OS) platform;
obtaining a manifest file that;
indicates content to be streamed to the device from a content server according to a live streaming protocol supported by the OS platform,includes a Uniform Resource Locator (URL) for a sessionless service, andincludes a parameter in the URL having an encrypted key for the indicated content; and
providing the manifest file to an OS platform module on the device to initiate operations by the OS platform module to;
communicate with the sessionless service using the URL including providing the encrypted key to the sessionless service via the parameter in the URL having the encrypted key to cause the sessionless service to perform operations including decrypting the encrypted key and returning the decrypted key to the OS platform module;
obtain the decrypted key that is returned from the sessionless service; and
decrypt encrypted content streamed to the device from the content server according to the decrypted key.
2 Assignments
0 Petitions
Accused Products
Abstract
A key delivery mechanism that delivers keys to an OS platform (e.g., iOS platform) devices for decrypting encrypted HTTP live streaming data. An HTTPS URL for a stateless HTTPS service is included in the manifest for an encrypted HTTP live stream obtained by an application (e.g., a browser) on an OS platform device. The URL includes an encrypted key, for example as a query parameter value. The application passes the manifest to the OS. The OS contacts the HTTPS service to obtain the key using the URL indicated in the manifest. Since the encrypted key is a parameter of the URL, the encrypted key is provided to the HTTPS service along with information identifying the content. The HTTPS service decrypts the encrypted key and returns the decrypted key to the OS over HTTPS, thus eliminating the need for a database lookup at the HTTPS service.
20 Citations
21 Claims
-
1. A method, comprising:
performing, by an application implemented on a device configured according to an operating system (OS) platform; obtaining a manifest file that; indicates content to be streamed to the device from a content server according to a live streaming protocol supported by the OS platform, includes a Uniform Resource Locator (URL) for a sessionless service, and includes a parameter in the URL having an encrypted key for the indicated content; and providing the manifest file to an OS platform module on the device to initiate operations by the OS platform module to; communicate with the sessionless service using the URL including providing the encrypted key to the sessionless service via the parameter in the URL having the encrypted key to cause the sessionless service to perform operations including decrypting the encrypted key and returning the decrypted key to the OS platform module; obtain the decrypted key that is returned from the sessionless service; and decrypt encrypted content streamed to the device from the content server according to the decrypted key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
9. A device, comprising:
-
at least one processor; and a memory comprising program instructions, wherein the program instructions are executable by the at least one processor to implement an operating system (OS) platform module and an application to perform operations including; obtaining a manifest file that; indicates content to be streamed to the device from a content server according to a live streaming protocol supported by the OS platform module, includes a Uniform Resource Locator (URL) for a sessionless service that does not perform key look-ups, and includes a parameter in the URL having an encrypted key for the indicated content; and providing the manifest file to the OS platform module on the device to cause the OS platform module to; contact the sessionless service using the URL including providing the encrypted key to the sessionless service via the parameter in the URL having the encrypted key, wherein, responsive to the contact, the sessionless service decrypts the encrypted key in lieu of performing a look-up for the encrypted key and returns the decrypted key to the OS platform module; and decrypt encrypted content streamed to the device from the content server according to the decrypted key obtained from the sessionless service. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer-readable storage medium which is not a signal per se, storing program instructions, wherein the program instructions are computer-executable to implement an application on a device configured according to an operating system (OS) platform, wherein the application is operable to:
-
obtain a manifest file that; indicates content to be streamed to the device from a content server according to a live streaming protocol supported by the OS platform, includes a Uniform Resource Locator (URL) for a sessionless service, and includes a parameter in the URL having an encrypted key for the indicated content; and provide the manifest file for receipt by an OS platform module on the device;
wherein;responsive to receipt of the manifest file, the OS platform module contacts the sessionless service using the URL including providing the encrypted key to the sessionless service via the parameter in the URL having the encrypted key; responsive to being contacted by the OS platform module, the sessionless service decrypts the encrypted key and returns the decrypted key to the OS platform module; and responsive to receiving the decrypted key returned by the sessionless service, the OS platform module decrypts encrypted content streamed to the device from the content server according to the decrypted key. - View Dependent Claims (16, 17)
-
-
18. A computer-readable storage medium, which is not a signal per se, storing program instructions, wherein the program instructions are computer-executable to implement a sessionless service on a server device to perform operations comprising:
-
publishing a Uniform Resource Locator (URL) for the sessionless service; receiving a contact from an operating system (OS) platform module on a client device using the URL including a parameter in the URL having an encrypted key for content to be streamed to the client device from a content server according to a live streaming protocol; without performing a look-up for the encrypted key from storage associated with the sessionless service, extracting the encrypted key that is included in the parameter in the URL and decrypting the encrypted key; and returning the decrypted key to the OS platform module on the client device. - View Dependent Claims (19, 20, 21)
-
Specification