IP Library Granted Patent US 10,944,727
Granted Patent B2
US 10,944,727 · App. 15/222,967 · Granted Mar 9, 2021

System and method to secure the streaming of media to a valid client

Inventors: Anshuman Biswal (Bangalore, IN); Akshay Laxminarayan (Bangalore, IN); Rammani Panchapakesan (Bangalore, IN)
Assignee: AIRWATCH LLC
H04L63/0428H04L9/0861H04L9/14H04L63/06H04L63/083
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,944,727
App. No.
15/222,967
Granted
Mar 9, 2021
Kind
B2
Abstract

Disclosed are various examples for securing the streaming of a media file from a web service to a media player. A request for a portion of a media file can be received including an authentication key. A web service can validate the authentication key. If the authentication key validates, the web service can send the portion of media to a media player. The media player can render the media on a display of a client device. Requests can be iteratively sent for each portion of the media file.

Claims (78)

1. A method, comprising:

identifying an initialization token that is selected based on a determination that a repeating pattern does not occur by iteratively applying an algorithm to the initialization token over a number of iterations corresponding to a number of portions of a media file;

receiving a request for a portion of the media file including a first authentication key;

generating a string by applying the algorithm to the initialization token;

generating a second authentication key by encrypting the string using an encryption key;

determining whether the first authentication key matches the second authentication key; and

if the first authentication key matches the second authentication key, transmitting the portion of the media file to a location specified by the request.

2. The method of claim 1 , further comprising:

receiving a second request for a second portion of the media file including a third authentication key;

generating a second string by applying the algorithm to the string;

generating a fourth authentication key by encrypting the second string using the encryption key; and

determining whether the third authentication key matches the fourth authentication key;

if the third authentication key matches the fourth authentication key, transmitting the second portion of the media file.

3. The method of claim 1 , further comprising:

receiving a request to play the media file on a client device;

generating the encryption key, the initialization token, and the algorithm;

identifying a link corresponding to the media file; and

transmitting the link corresponding to the media file, the encryption key, the initialization token, and the algorithm to a media player.

4. The method of claim 3 , wherein the request for the portion of the media file originates from the media player.

5. The method of claim 3 , further comprising binding to localhost, wherein the link to the media file is a localhost path.

6. The method of claim 3 , further comprising:

determining the number of portions of the media file based at least in part on a size of the media file and a size of a single portion of the media file; and

determining a length of the initialization token based at least in part on the number of portions, wherein generating the initialization token further comprises generating a random string including a number of characters equal to the length.

7. The method of claim 3 , further comprises:

determining the number of portions of the media file based at least in part on a size of the media file and a size of a single portion of the media file;

iteratively applying the algorithm to a candidate initialization token to generate a plurality of strings;

determining that at least one repeated string occurs in the plurality of strings;

generating the initialization token; and

replacing the candidate initialization token with the initialization token.

8. The method of claim 1 , wherein the request for the portion of the media file is received from a media player through an HTTP request over a socket connection and the first authentication key is included in a header of the HTTP request.

9. A non-transitory computer-readable medium embodying a program that, when executed by a client computing device, causes the client computing device to at least:

identify an initialization token that is selected based on a determination that a repeating pattern does not occur by iteratively applying an algorithm to the initialization token over a number of iterations corresponding to a number of portions of a media file;

receive a request for a portion of the media file including a first authentication key;

generate a string by applying the algorithm to the initialization token;

generate a second authentication key by encrypting the string using an encryption key;

determine whether the first authentication key matches the second authentication key; and

if the first authentication key matches the second authentication key, transmit the portion of the media file to a location specified by the request.

10. The non-transitory computer-readable medium of claim 9 , wherein the program further causes the client computing device to at least:

receive a second request for a second portion of the media file including a third authentication key;

generate a second string by applying the algorithm to the string;

generate a fourth authentication key by encrypting the second string using the encryption key;

determine whether the third authentication key matches the fourth authentication key; and

if the third authentication key matches the fourth authentication key, transmit the second portion of the media file.

11. The non-transitory computer-readable medium of claim 9 , wherein the program further causes the client computing device to at least:

receive a request to play the media file on a client device;

generate the encryption key, the initialization token, and the algorithm;

identify a link corresponding to the media file; and

transmit the link corresponding to the media file, the encryption key, the initialization token, and the algorithm to a media player.

12. The non-transitory computer-readable medium of claim 11 , wherein the request for the portion of the media file originates from the media player.

13. The non-transitory computer-readable medium of claim 11 , wherein the request for the portion of the media file is received from a media player through an HTTP request over a socket connection and the first authentication key is included in a header of the HTTP request.

14. A system, comprising:

memory; and

a client computing device in communication with the memory, the client computing device being configured to at least:

identify an initialization token that is selected based on a determination that a repeating pattern does not occur by iteratively applying an algorithm to the initialization token over a number of iterations corresponding to a number of portions of a media file;

receive a request for a portion of the media file including a first authentication key;

generate a string by applying the algorithm to the initialization token;

generate a second authentication key by encrypting the string using an encryption key;

determine whether the first authentication key matches the second authentication key; and

if the first authentication key matches the second authentication key, transmit the portion of the media file to a location specified by the request.

15. The system of claim 14 , wherein the client computing device is further configured to at least:

receive a second request for a second portion of the media file including a third authentication key;

generate a second string by applying the algorithm to the string;

generate a fourth authentication key by encrypting the second string using the encryption key;

determine whether the third authentication key matches the fourth authentication key; and

if the third authentication key matches the fourth authentication key, transmit the second portion of the media file.

16. The system of claim 14 , wherein the request for the portion of the media file is received from a media player through an HTTP request over a socket connection and the first authentication key is included in a header of the HTTP request.

17. The system of claim 16 , wherein the client computing device is further configured to at least:

if the first authentication key fails to match the second authentication key, close the socket connection to the media player.

18. The system of claim 14 , wherein the client computing device is further configured to at least:

receive a request to play the media file on a client device;

generate the encryption key, the initialization token, and the algorithm;

identify a link corresponding to the media file; and

transmit the link corresponding to the media file, the encryption key, the initialization token, and the algorithm to a media player.

19. The system of claim 18 , wherein the request for the portion of the media file originates from the media player.

20. The system of claim 14 , wherein the client computing device is further configured to at least:

determine the number of portions of the media file based at least in part on a size of the media file and a size of a single portion of the media file;

determine a length of the initialization token based at least in part on the number of portions; and

generate the initialization token by generating a random string including a number of characters equal to the length.

Assignments (3)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: AIRWATCH LLC
To: OMNISSA, LLC
Reel/Frame 068327/0670 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2016
From: BISWAL, ANSHUMAN; LAXMINARAYAN, AKSHAY; PANCHAPAKESAN, RAMANI
To: AIRWATCH LLC
Reel/Frame 039508/0200 →
Priority Claims (1)
IN 201641008864 · Mar 14, 2016 · national
Continuity (1)
Related Publication 20170264593A1 · Sep 14, 2017