IP Library Granted Patent US 10,726,000
Granted Patent B1
US 10,726,000 · App. 16/519,559 · Granted Jul 28, 2020

Blockchain based integrity checks

Inventor: George Fortney (Toms River, NJ)
Assignee: Science Applications International Corporation
G06F16/2365G06F16/2308H04L9/3239
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 10,726,000
App. No.
16/519,559
Granted
Jul 28, 2020
Kind
B1
Abstract

Systems, apparatuses, and methods are described for determining, based on blockchain, integrity of software and/or data stored on a vehicle. A computing device associated with a vehicle may determine one or more hash values for software and/or data stored on the vehicle. The computing device may receive values from read-only memory associated with the computing device and/or values from a blockchain of a distributed ledger system. The computing device may determine the integrity of the software and/or data based on the one or more hash values, the values from the read-only memory, and/or the values from the blockchain.

Claims (58)

1. A method comprising:

determining, by a first computing device associated with a vehicle and based on hashing a collection of information stored on the first computing device, one or more first hash values;

receiving, from read-only memory associated with the first computing device, one or more second hash values;

based on determining that the one or more first hash values correspond to the one or more second hash values:

performing, based on the collection of information, an operation associated with the vehicle; and

sending, to a second computing device storing at least a portion of a blockchain of a distributed ledger system, a request for one or more third hash values associated with the first computing device;

receiving, from the second computing device, the one or more third hash values; and

determining, based on the one or more first hash values and the one or more third hash values, whether to continue the operation.

2. The method of claim 1 , further comprising:

based on determining that the one or more first hash values correspond to the one or more third hash values, continuing the operation.

3. The method of claim 1 , wherein the collection of information comprises software, and wherein the performing the operation comprises executing the software.

4. The method of claim 1 , further comprising:

based on determining that the one or more first hash values are different from the one or more third hash values, suspending the operation.

5. The method of claim 4 , further comprising:

based on comparing the one or more first hash values and the one or more third hash values, determining a compromised part of the collection of information.

6. The method of claim 1 , wherein the one or more first hash values comprise a first root hash value of a first Merkle tree for the collection of information, wherein the one or more second hash values comprise a second root hash value of a second Merkle tree stored in the read-only memory associated with the first computing device, and wherein the one or more third hash values comprise a third root hash value of a third Merkle tree, associated with the first computing device, stored in the blockchain of the distributed ledger system.

7. The method of claim 1 , further comprising:

based on receiving the collection of information, generating the one or more third hash values; and

registering, to the blockchain of the distributed ledger system, the one or more third hash values.

8. The method of claim 1 , further comprising:

receiving, from a third computing device, one or more fourth hash values; and

verifying, based on the one or more fourth hash values, the one or more third hash values.

9. The method of claim 8 , wherein the determining whether to continue the operation is based on the verifying the one or more third hash values.

10. The method of claim 1 , further comprising:

receiving, from a third computing device, one or more fourth hash values; and

based on determining that the one or more fourth hash values are different from the one or more third hash values, determining a version of hash values as agreed to by the distributed ledger system.

11. A system comprising:

a vehicle; and

a computing device comprising one or more processors and memory, the memory storing instructions that, when executed by the one or more processors, cause the computing device to:

determine, based on hashing a collection of information stored on the computing device, one or more first hash values;

receive, from read-only memory associated with the computing device, one or more second hash values;

based on determining that the one or more first hash values correspond to the one or more second hash values:

perform, based on the collection of information, an operation associated with the vehicle; and

send, to a second computing device storing at least a portion of a blockchain of a distributed ledger system, a request for one or more third hash values associated with the computing device;

receive, from the second computing device, the one or more third hash values; and

determine, based on the one or more first hash values and the one or more third hash values, whether to continue the operation.

12. The system of claim 11 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

based on determining that the one or more first hash values correspond to the one or more third hash values, continue the operation.

13. The system of claim 11 , wherein the collection of information comprises software, and wherein the instructions, when executed by the one or more processors, cause the computing device to perform the operation by executing the software.

14. The system of claim 11 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

based on determining that the one or more first hash values are different from the one or more third hash values, suspend the operation.

15. The system of claim 14 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

based on comparing the one or more first hash values and the one or more third hash values, determine a compromised part of the collection of information.

16. The system of claim 11 , wherein the one or more first hash values comprise a first root hash value of a first Merkle tree for the collection of information, wherein the one or more second hash values comprise a second root hash value of a second Merkle tree stored in the read-only memory associated with the computing device, and wherein the one or more third hash values comprise a third root hash value of a third Merkle tree, associated with the computing device, stored in the blockchain of the distributed ledger system.

17. The system of claim 11 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

based on receiving the collection of information, generate the one or more third hash values; and

register, to the blockchain of the distributed ledger system, the one or more third hash values.

18. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause a computing device associated with a vehicle to:

determine, based on a collection of information stored on the computing device, one or more first hash values;

receive, from read-only memory associated with the computing device, one or more second hash values;

based on determining that the one or more first hash values correspond to the one or more second hash values:

perform, based on the collection of information, an operation associated with the vehicle; and

send, to a second computing device storing at least a portion of a blockchain of a distributed ledger system, a request for one or more third hash values associated with the computing device;

receive, from the second computing device, the one or more third hash values; and

determine, based on the one or more first hash values and the one or more third hash values, whether to continue the operation.

19. The one or more non-transitory computer-readable media of claim 18 , wherein the instructions, when executed by the one or more processors, further cause the computing device to:

based on determining that the one or more first hash values correspond to the one or more third hash values, continue the operation.

20. The one or more non-transitory computer-readable media of claim 18 , wherein the collection of information comprises software, and wherein the instructions, when executed by the one or more processors, cause the computing device to perform the operation by executing the software.

Assignments (2)
SECURITY INTEREST Recorded Apr 22, 2021
From: SCIENCE APPLICATIONS INTERNATIONAL CORPORATION
To: CITIBANK, N.A.
Reel/Frame 056011/0903 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2019
From: FORTNEY, GEORGE
To: SCIENCE APPLICATIONS INTERNATIONAL CORPORATION
Reel/Frame 050370/0469 →
Cited By (5)
US 12,265,519 US 12,282,865 US 12,504,969 US 12,578,955 US 12,603,755