IP Library Granted Patent US 11,870,758
Granted Patent B2
US 11,870,758 · App. 17/456,842 · Granted Jan 9, 2024

Systems and methods for application identification

Inventors: Eric William Grab (San Diego, CA); Kourosh Soroushian (San Diego, CA); Tung Lin (San Diego, CA); Francis Yee-Dug Chan (San Diego, CA); Evan Wallin (San Diego, CA); William David Amidei (San Diego, CA)
Assignee: DIVX, LLC
H04L63/0428G06F21/10G06F21/12H04L63/06H04L63/0876H04L63/0884H04L63/168H04L67/60
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,870,758
App. No.
17/456,842
Granted
Jan 9, 2024
Kind
B2
Abstract

Systems and methods for application identification in accordance with embodiments of the invention are disclosed. In one embodiment, a user device includes a processor and memory configured to store an application, a session manager, an application identifier, and at least one shared library, and the processor is configured by the session manager to communicate the application identifier and the application identifier data to an authentication server and permit the execution of the application in response to authentication of the application by the authentication server.

Claims (49)

1. A method for granting access to a software library on a user device, the method comprising:

receiving a request for access to a software library on a user device;

verifying provisioning data stored on the user device, the provisioning data containing an application identifier;

verifying the software library stored on the user device using a library manifest containing information that can be used to identify and verify the software library, wherein the library manifest contains at least one hash value of at least one file of the software library, and wherein verifying the software library comprises taking a hash value of the at least one file of the shared library and comparing the hash value against the at least one hash value contained in the library manifest;

negotiating a session token key with the software library using the user device; and

providing a session token encrypted with the session token key to the application using the user device, wherein the session token key grants access to the software library.

2. The method of claim 1 , wherein the request for access to a software library received by the user device comprises provisioning data and the name of the software library.

3. The method of claim 1 , wherein verifying the provisioning data comprises:

sending the provisioning data to an authentication server; and

receiving confirmation from the authentication server.

4. The method of claim 1 , wherein the library manifest contains at least one private key signature.

5. The method of claim 1 , wherein the library manifest contains at least one hash of the software library.

6. The method of claim 1 , wherein the library manifest contains a private key signature of the contents of the manifest.

7. The method of claim 1 , wherein the library manifest is encrypted with a manifest key.

8. The method of claim 1 , wherein negotiating a session token key comprises:

sending a request to the software library using the user device;

receiving data encrypted with the session manager's public key using the user device;

sending data encrypted with the software library's public key to the software library using the user device; and

receiving confirmation from the share library using the user device.

9. An authentication server, comprising:

a processor; and

memory configured to store:

at least one application identifier, where the application identifier is associated with a specific application and with application identifier data, wherein the application comprises at least one file;

wherein the processor is configured by an authentication application to:

receive application identifier data and encrypted provisioning data containing an application identifier from a user device, wherein the application identifier data represents information about at least one aspect of the application that remains static throughout all instances where the application is deployed and comprises at least one hash of a part of the at least one file, and the at least one hash can be used to authenticate the at least one file;

extract the application identifier from the encrypted provisioning data;

retrieve stored application identifier data associated with the extracted application identifier;

compare at least a portion of the stored application identifier data with the received application identifier data; and

send a message authenticating the application to a user device, when the compared portions of application identifier data match.

10. The authentication server of claim 9 , wherein the memory is further configured to store cryptographic information associated with the application identifier and the processor is configured to access the application identifier within the encrypted provisioning data using the cryptographic information associated with the application identifier.

11. The authentication server of claim 9 , wherein:

the application includes at least one file; and

the application identifier data comprises information that can be used to authenticate at least one of the files.

12. The authentication server of claim 11 , wherein the information that can be used to authenticate at least one of the files comprises hashes of part or all of the files.

13. The authentication server of claim 9 , wherein the application identifier data comprises at least one piece of information selected from the group consisting of: application name, application version, and application vendor.

14. The authentication server of claim 9 , wherein the application identifier is further associated with one or more product identifiers that indicate execution platforms with which the application is compatible.

15. The authentication server of claim 9 , wherein the memory is further configured to store information describing the compatibility and interoperability of software modules using application identifiers.

16. The authentication server of claim 15 , wherein the software modules comprise software libraries.

17. A method for certifying an application for a consumer electronics product, the method comprising:

receiving application identifier data, where the application identifier data represents information about at least one aspect of an application that remains static throughout all instances where the application is deployed and comprises at least one hash of a part of at least one file of the application, and the at least one hash can be used to authenticate the at least one file of the application;

storing an application identifier on a server so that the application identifier data is associated with the application identifier and application;

storing the application identifier on a device;

extracting the application identifier from communications sent from the device;

retrieving application identifier data associated with the application identifier; and

displaying the application identifier and application identifier data in human-readable format.

18. The method of claim 17 , further comprising:

receiving one or more product identifiers, where each product identifier is associated with an execution platform;

validating the application associated with the application identifier on a device including the execution platform identified by the product identifier; and

storing an association between the one or more product identifiers and the application identifier on the server.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2022
From: WALLIN, EVAN; GRAB, ERIC WILLIAM; SOROUSHIAN, KOUROSH; LIN, TUNG; CHAN, FRANCIS YEE-DUG; AMIDEI, WILLIAM DAVID
To: DIVX, LLC
Reel/Frame 059950/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2022
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 059950/0425 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2022
From: SONIC IP, INC.
To: DIVX CF HOLDINGS LLC
Reel/Frame 059950/0442 →
CHANGE OF NAME Recorded May 18, 2022
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 059950/0465 →
Continuity (7)
Continuation 16457255 · Jun 28, 2019
Continuation 15682453 · Aug 21, 2017
Continuation 15018721 · Feb 8, 2016
Continuation 14451299 · Aug 4, 2014
Continuation 13340594 · Dec 29, 2011
Provisional Application 61529876 · Aug 31, 2011
Related Publication 20220263807A1 · Aug 18, 2022
Cited By (1)
US 12,355,736