IP Library Granted Patent US 8,799,647
Granted Patent B2
US 8,799,647 · App. 13/340,594 · Granted Aug 5, 2014

Systems and methods for application identification

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,799,647
App. No.
13/340,594
Granted
Aug 5, 2014
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 (61)

1. A user device, comprising:

a processor; and

memory configured to store:

an application comprising at least one file;

a session manager;

an application identifier; and

at least one shared library;

wherein the processor is configured by the session manager to:

generate application identifier data based upon at least one characteristic of the application, 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 information that can be used to authenticate the at least one file, and where the information that can be used to authenticate the at least one file comprises at least one hash of at least a part of at least one of the at least one files;

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.

2. The user device of claim 1 , wherein the session manager is statically compiled into the application.

3. The user device of claim 1 , wherein the session manager and the stored libraries are part of a common application platform stored in the memory of the user device.

4. The user device of claim 1 , wherein the application identifier is contained in encrypted provisioning data stored in the memory, where the provisioning data is encrypted so that its content is not accessible to the user device.

5. The user device of claim 4 , wherein the provisioning data is encrypted with cryptographic information associated with the application identifier.

6. The user device of claim 4 , wherein the encrypted provisioning data is embedded in the application.

7. The user device of claim 1 , wherein the application identifier data comprises at least one piece of data selected from the group consisting of:

application name, application version, and application vendor.

8. The user device of claim 1 , further comprising a product identifier stored in memory, where the product identifier is associated with the execution platform of the user device.

9. The user device of claim 1 , wherein:

the memory is further configured to store a library manifest containing information that can be used to authenticate at least one shared library; and

the processor is further configured by a session manager to:

receive a request to access a target library from the at least one shared library;

authenticate the target library using the library manifest;

permit the application to access the target library, when the library is authenticated; and

deny the application access to the target library, when the library does not authenticate.

10. The user device of claim 9 , wherein the library manifest contains at least one private key signature.

11. The user device of claim 10 , wherein the library manifest contains a private key signature of the contents of the manifest.

12. The user device of claim 9 , wherein the library manifest contains at least one hash of the target library.

13. The user device of claim 9 , wherein the library manifest is encrypted with a manifest key.

14. The user device of claim 9 , wherein the processor is further configured by the session manager to:

negotiate a session token key with the target library; and

provide a session token encrypted with the session token key to the application, wherein the session token key grants access to the target library.

15. The user device of claim 14 , wherein configuring the processor to negotiate a session token key with the shared library further comprises the session manager configuring the processor to:

send a request to the target library;

receive data encrypted with a session manager public key;

send data encrypted with a shared library public key to the target library; and

receive a confirmation.

16. The user device of claim 1 , further comprising at least one application identifier stored in memory that is associated with a shared library.

17. A method for authenticating an application executing on a user device configured to communicate with an authentication server, the method comprising:

retrieving encrypted provisioning data containing an application ID associated with an application using a user device;

generating application identifier data based upon at least one characteristic of the application using the user device, 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 information that can be used to authenticate the at least one file, and where the information that can be used to authenticate the at least one file comprises at least one hash of at least a part of at least one of the at least one files;

sending the encrypted provisioning data and the application identifier data to an authentication server using the user device;

receiving authentication of the application from the authentication server; and

authorizing the execution of the application.

18. The method of claim 17 , wherein the provisioning data is encrypted with a provisioning data key and the authentication server holds the provisioning data key.

19. The method of claim 17 , further comprising:

sending information describing the application to the authentication server using the user device; and

receiving confirmation from the authentication server that the information matches information stored on the authentication server that is associated with the application using the user device.

20. The method of claim 17 , wherein:

the information describing the application includes an application version; and

the method further comprises forcing an update of the application using the authentication server.

21. The method of claim 17 , further comprising:

retrieving a product identifier that identifies a type of user device using the user device;

sending the product identifier that identifies the type of user device to the authentication server with the encrypted provisioning data; and

receiving confirmation from the authentication server that the application is compatible with the user device.

22. The method of claim 17 , further comprising:

receiving a request from the application to access a shared library on the user device;

retrieving an application identifier that identifies the shared library;

sending the application identifier that identifies the shared library to the authentication server with the encrypted provisioning data; and

receiving confirmation from the authentication server that the application is compatible with the shared library.

Assignments (5)
CHANGE OF PRINCIPAL PLACE OF BUSINESS Recorded Mar 5, 2019
From: DIVX, LLC
To: DIVX, LLC
Reel/Frame 050407/0104 →
CHANGE OF NAME Recorded Mar 5, 2018
From: DIVX CF HOLDINGS LLC
To: DIVX, LLC
Reel/Frame 045498/0560 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: SONIC IP, INC.; DIVX, LLC
To: DIVX CF HOLDINGS LLC
Reel/Frame 045310/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2013
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 031713/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2012
From: GRAB, ERIC WILLIAM; SOROUSHIAN, KOUROSH; LIN, TUNG; CHAN, FRANCIS YEE-DUG; WALLIN, EVAN; AMIDEI, WILLIAM DAVID
To: DIVX, LLC
Reel/Frame 028282/0696 →