IP Library Granted Patent US 9,268,923
Granted Patent B2
US 9,268,923 · App. 14/451,299 · Granted Feb 23, 2016

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: Sonic IP, Inc.
G06F21/12G06F21/10H04L63/06H04L63/0876H04L63/0884H04L63/168G06F2221/07
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 9,268,923
App. No.
14/451,299
Granted
Feb 23, 2016
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 (44)

1. A method for providing an application with access to a shared library on a user device, the method comprising:

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

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

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

negotiating a session token key with the shared 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 shared library.

2. The method of claim 1 , wherein the request for access to a shared library received by the user device comprises provisioning data and the name of the shared 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 a private key signature of the contents of the manifest.

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

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

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

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

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

receiving confirmation from the share library using the user device.

8. 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 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 a part of 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.

9. The authentication server of claim 8 , 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.

10. The authentication server of claim 8 , 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.

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

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

13. The authentication server of claim 12 , wherein the software modules comprise shared libraries.

14. 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 information that can be used to authenticate at least one file of the application, and where the information that can be used to authenticate the at least one file comprises at least one hash of a part of the at least one file;

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.

15. The method of claim 14 , 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 (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 Aug 4, 2014
From: DIVX, LLC
To: SONIC IP, INC.
Reel/Frame 033459/0228 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2014
From: GRAB, ERIC WILLIAM; SOROUSHIAN, KOUROSH; LIN, TUNG; CHAN, FRANCIS YEE-DUG; WALLIN, EVAN; AMIDEI, WILLIAM DAVID
To: DIVX, LLC
Reel/Frame 033459/0239 →
Continuity (3)
Continuation 13340594 · Dec 29, 2011
Provisional Application 61529876 · Aug 31, 2011
Related Publication 20140351574A1 · Nov 27, 2014