IP Library Granted Patent US 8,818,897
Granted Patent B1
US 8,818,897 · App. 11/304,043 · Granted Aug 26, 2014

System and method for validation and enforcement of application security

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,818,897
App. No.
11/304,043
Granted
Aug 26, 2014
Kind
B1
Abstract

A system and method for validation and enforcement of application security, wherein the user credentials and the integrity of a target application are verified before the target application is permitted to execute.

Claims (73)

1. A method for data processing system application security, the method comprising:

receiving, by a client machine, a request to execute an installed first application;

executing, by the client machine, a second application in response to the request;

generating, by the second application, a signature for the first application;

comparing, by the second application, the generated signature with a stored signature;

based on the comparison:

receiving, by the second application, user credentials;

generating, by the second application, an authentication message by combining the user credentials, an application identifier corresponding to the installed first application, and the generated signature; and

encrypting, by the second application, the authentication message;

transmitting, by the client machine using the second application, the authentication message to a server;

receiving, by the second application, an authorization from the server that is based on a validation by the server;

determining, by the second application, validity of the authorization received from the server; and

based on the determination, preventing, by the second application, execution of the installed first application.

2. The method of claim 1 , wherein:

the authentication message is decrypted by the server,

the generated signature and the user credentials are validated by the server, and

the validation is transmitted by the server to the client machine.

3. The method of claim 1 , wherein the stored signature is downloaded from the server and digitally signed by the server.

4. The method of claim 1 , wherein the generated signature does not correspond to the stored signature if the first application has been modified.

5. The method of claim 1 , wherein the authentication message is encrypted so that the authentication message can only be decrypted using a private cryptographic key stored by the server.

6. The method of claim 1 , wherein the authentication message also includes data corresponding to the generated signature.

7. The method of claim 6 , wherein the authorization also indicates a validation of the data corresponding to the generated signature.

8. The method of claim 1 , wherein:

the second application manages a process to download and re-install the first application on the client data processing system when the generated signature does not correspond to the stored signature, and

the second application disables the first application when the generated signature does not correspond to the stored signature.

9. A non-transitory computer storage medium storing computer executable instructions that, when executed by a computer, causes the computer to perform the steps comprising:

receiving, by the computer, a request to execute an installed first application;

executing, by the computer, a second application in response to the request;

generating, by the second application, a signature for the first application;

comparing, by the second application, the generated signature with a stored signature;

based on the comparison:

receiving, by the second application, user credentials;

generating, by the second application, an authentication message by combining the user credentials, an application identifier corresponding to the installed first application, and the generated signature; and

encrypting, by the second application, the authentication message;

transmitting, by the computer using the second application, the authentication message to a server;

receiving, by the second application, an authorization from the server that is based on a validation by the server;

determining, by the second application, validity of the authorization received from the server; and

based on the determination, preventing, by the second application, execution of the installed first application.

10. The non-transitory computer storage medium of claim 9 , wherein:

the authentication message is decrypted by the server,

the generated signature and the user credentials are validated by the server, and

the validation is transmitted by the server to the computer.

11. The non-transitory computer storage medium of claim 9 , wherein the generated signature does not correspond to the stored signature if the first application has been modified.

12. The non-transitory computer storage medium of claim 9 , wherein the authentication message also includes data corresponding to the generated signature.

13. The non-transitory computer storage medium of claim 12 , wherein the authorization also indicates a validation of the data corresponding to the generated application signature.

14. The non-transitory computer storage medium of claim 9 , wherein:

the second application manages a process to download and re-install the first application on the computer when the generated signature does not correspond to the stored signature, and

the second application disables the first application when the generated signature does not correspond to the stored signature.

15. A data processing system comprising:

a processor; and

an accessible non-transitory storage medium storing an executable first application and computer executable instructions that, when executed by the processor, causes the processor to perform the operations comprising:

receiving, by the processor, a request to execute the first application;

executing, by the processor, a second application in response to the request;

generating, by the second application, a signature for the first application;

comparing, by the second application, the generated signature with a stored signature;

based on the comparison:

receiving, by the second application, user credentials;

generating, by the second application, an authentication message by combining the user credentials, an application identifier corresponding to the first application, and the generated signature; and

encrypting, by the second application, the authentication message;

transmitting, by the processor using the second application, the authentication message to a server;

receiving, by the second application, an authorization from the server that is based on a validation by the server;

determining, by the second application, validity of the authorization received from the server; and

based on the determination, preventing, by the second application, execution of the first application.

16. The data processing system of claim 15 , wherein:

the authentication message is decrypted by the server,

the generated signature and the user credentials are validated by the server, and

the validation is transmitted by the server to the data processing system.

17. The data processing system of claim 15 , wherein the generated signature does not correspond to the stored signature if the first application has been modified.

18. The data processing system of claim 15 , wherein the authentication message also includes data corresponding to the generated signature.

19. The data processing system of claim 18 , wherein the authorization also indicates a validation of the data corresponding to the generated signature.

20. The data processing system of claim 15 , wherein:

the second application manages a process to download and re-install the first application when the generated signature does not correspond to the stored signature, and

the second application disables the first application when the generated signature does not correspond to the stored signature.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 054305/0505 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CLEARINGHOUSE LLC
To: JEFFERIES FINANCE LLC
Reel/Frame 046485/0644 →
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2014
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 032425/0867 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027143/0717 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2005
From: SLODKI, ZENON; ZHAO, XIAODING; WICHMANN, CLIFF
To: NORTEL NETWORKS LIMITED
Reel/Frame 017373/0518 →