IP Library Granted Patent US 8,984,639
Granted Patent B1
US 8,984,639 · App. 14/459,125 · Granted Mar 17, 2015

Method and apparatus of performing data executable integrity verification

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,984,639
App. No.
14/459,125
Granted
Mar 17, 2015
Kind
B1
Abstract

Disclosed are an apparatus and method of verifying an application installation procedure. One example method of operation may include receiving an application at a computer device and initiating the installation of the application on the computer device. The method may also provide executing the application during the installation procedure and creating a hash value corresponding to the executed application data. The method may further provide storing the hash value in memory and comparing the hash value to a pre-stored hash value to determine whether to continue the installation of the application.

Claims (49)

1. A method, comprising:

decompressing an application to one or more executables and one or more libraries;

storing the one or more executables and one or more libraries at a computer device;

initiating an installation of the application on the computer device;

hashing the one or more executable files and one or more libraries to create one or more hash values;

transmitting the one or more hash value at a remote location;

storing the one or more hash values in memory at the remote location;

transmitting a query to the memory at the remote location to verify the one or more hash values of the one or more executable files;

rehashing the one or more executables and one or more libraries each time the one or more executables are executed to create one or more rehash values;

comparing the one or more rehash values with the one or more stored hashed values; and

determining whether to continue with an execution of the one or more executables based on the comparing.

2. The method of claim 1 , wherein the comparing the hash value to a pre-stored hash value further comprises comparing the hash value to a pre-stored hash value included with the application data.

3. The method of claim 1 , wherein storing the one or more hash values in memory optionally comprises storing the one or more hash values locally on the computer device.

4. The method of claim 1 comprising receiving the application at the computer device.

5. The method of claim 1 , further comprising ending the installation of the application on the computer device if the created hash value does not match the pre-stored hash value.

6. The method of claim 1 , further comprising continuing the installation of the application on the computer device if the created hash value does match the pre-stored hash value.

7. An apparatus, comprising:

a processor configured to:

decompress an application to one or more executables and one or more libraries;

store the one or more executables and one or more libraries at a computer device;

initiate an installation of the application; hash the one or more executable files and one or more libraries to create one or more hash values of the one or more executable files and one or more libraries of the application; transmit the one or more hash values at a remote location; and

a memory, at the remote location, configured to store the one or more hash values; and

wherein the processor is further configured to:

transmit a query to the memory at the remote location to verify the one or more hash values of the one or more executable files;

rehash the one or more executables and one or more libraries each time the one or more executables are executed to create one or more rehash values;

compare the one or more rehash values with the one or more stored hashed values; and

determine whether to continue with an execution of the one or more executables based on the comparison.

8. The apparatus of claim 7 , wherein the processor being configured to compare the hash value to a pre-stored hash value further comprises comparing the hash value to a pre-stored hash value included with the application data.

9. The apparatus of claim 7 , wherein the hash value is optionally stored locally.

10. The apparatus of claim 7 , comprising a receiver configured to receive the application.

11. The apparatus of claim 7 , wherein the processor is further configured to end the installation of the application if the created hash value does not match the pre-stored hash value.

12. The apparatus of claim 7 , wherein the processor is further configured to continue the installation of the application if the created hash value does match the pre-stored hash value.

13. A non-transitory computer readable storage medium configured to store instructions that when executed cause a processor to perform:

decompressing the application to one or more executables and one or more libraries;

storing the one or more executables and one or more libraries at a computer device;

initiating an installation of the application on the computer device;

hashing the one or more executable files and one or more libraries to create one or more hash values;

transmitting the one or more hash value at a remote location;

storing the one or more hash values in memory at the remote location;

transmitting a query to the memory at the remote location to verify the one or more hash values of the one or more executable files;

rehashing the one or more executables and one or more libraries each time the one or more executables are executed to create one or more rehash values;

comparing the one or more rehash values with the one or more stored hashed values; and

determining whether to continue with an execution of the one or more executables based on the comparing.

14. The non-transitory computer readable storage medium of claim 13 , wherein the comparing the hash value to a pre-stored hash value further comprises comparing the hash value to a pre-stored hash value included with the application data.

15. The non-transitory computer readable storage medium of claim 13 , wherein storing the one or more hash values in memory optionally comprises storing the one or more hash values locally on the computer device.

16. The non-transitory computer readable storage medium of claim 13 , wherein the processor is further configured to perform receiving an application at the computer device.

17. The non-transitory computer readable storage medium of claim 13 , wherein the processor is further configured to perform:

ending the installation of the application on the computer device if the created hash value does not match the pre-stored hash value; and

continuing the installation of the application on the computer device if the created hash value does match the pre-stored hash value.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF THE PATENT ASSIGNMENT AGREEMENT DATED NOVEMBER 30, 2021 PREVIOUSLY RECORDED AT REEL: 058426 FRAME: 0791. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2022
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058736/0436 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2021
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 058426/0791 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2021
From: EASTTOM, WILLIAM CHARLES
To: OPEN INVENTION NETWORK LLC
Reel/Frame 056622/0976 →