IP Library Granted Patent US 10,594,495
Granted Patent B2
US 10,594,495 · App. 15/840,792 · Granted Mar 17, 2020

Verifying authenticity of computer readable information using the blockchain

Inventors: Donald R. High (Noel, MO); Bruce Walter Wilkinson (Rogers, AR); Todd Mattingly (Bentonville, AR); Brian Gerard McHale (Oldham, GB); John J. O'Brien, V (Farmington, AR); Robert Cantrell (Herndon, VA); Joseph Jurich (Molino, FL)
Assignee: Walmart Apollo, LLC
H04L9/3247G06F16/2365G06F21/64H04L9/30H04L9/3236H04L9/3239H04L2209/38
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,594,495
App. No.
15/840,792
Granted
Mar 17, 2020
Kind
B2
Abstract

A method for ensuring that a computer readable information is authentic, including: generating a public key associated with the computer readable information, hashing the computer readable information to obtain a hashed computer readable information, encrypting the hashed computer readable information with a private key to create a digital signature, wherein the hashed computer readable information and the digital signature are stored on a block of a blockchain, authenticating the user computing device in response to a request from the user computing device to download the computer readable information, transmitting the public key and the digital signature to an authenticated user computing device, and instructing the authenticated user computing device to decrypt the digital signature using the public key to obtain the hashed computer readable information, and download the hashed computer readable information to the authenticated user computing system to retrieve the computer readable information.

Claims (47)

1. A method comprising:

generating, by a processor of a computing system, a public key associated with a computer readable information, wherein the computer readable information is created by a trusted source;

hashing, by the processor, the computer readable information to obtain a hashed computer readable information;

encrypting, by the processor, the hashed computer readable information with a private key to create a digital signature, wherein the hashed computer readable information and the digital signature are stored on a block of a blockchain;

authenticating, by the processor, a user computing device in response to a request from the user computing device to download the computer readable information;

transmitting, by the processor, the public key and the digital signature to an authenticated user computing device;

instructing, by the processor, the authenticated user computing device to decrypt the digital signature using the public key to obtain the hashed computer readable information, and download the hashed computer readable information to the authenticated user computing system to retrieve the computer readable information; and

creating, by the processor, a decentralized update system including at least the authenticated user computing device that acts a node of the decentralized update system to increase a source for downloading the computer readable information, wherein other user computers download the computer readable information from the authenticated user computing device verified by the blockchain;

wherein an integrity of the computer readable information is preserved by the blockchain, such that the computer readable information downloaded by the user computing device and by the other computing devices remains unchanged from the computer readable information offered by the trusted source.

2. The method of claim 1 , wherein the computer readable information at least one of data and executable code.

3. The method of claim 1 , wherein the computer readable information is used to update a software application of the user computing device.

4. The method of claim 3 , wherein authenticating includes accessing the blockchain to determine that the user computing device is licensed to operate the software application.

5. The method of claim 1 , wherein the blockchain is a plurality of distributed nodes that maintain a public ledger of the hashed computer readable information and the digital signature, which preserves the integrity of the computer readable information.

6. The method of claim 1 , wherein authenticating includes accessing the blockchain to determine whether the user computing device has made a previous request to download the computer readable information.

7. The method of claim 1 , further comprising generating a transaction on the blockchain that the user computing device downloaded the computer readable information.

8. A computer system, comprising:

a processor;

a memory device coupled to the processor; and

a computer readable storage device coupled to the processor, wherein the storage device contains program code executable by the processor via the memory device to implement a method comprising:

generating, by a processor of a computing system, a public key associated with a computer readable information, wherein the computer readable information is created by a trusted source;

hashing, by the processor, the computer readable information to obtain a hashed computer readable information;

encrypting, by the processor, the hashed computer readable information with a private key to create a digital signature, wherein the hashed computer readable information and the digital signature are stored on a block of a blockchain;

authenticating, by the processor, a user computing device in response to a request from the user computing device to download the computer readable information;

transmitting, by the processor, the public key and the digital signature to an authenticated user computing device;

instructing, by the processor, the authenticated user computing device to decrypt the digital signature using the public key to obtain the hashed computer readable information, and download the hashed computer readable information to the authenticated user computing system to retrieve the computer readable information; and

creating, by the processor, a decentralized update system including at least the authenticated user computing device that acts a node of the decentralized update system to increase a source for downloading the computer readable information, wherein other user computers download the computer readable information from the authenticated user computing device verified by the blockchain;

wherein an integrity of the computer readable information is preserved by the blockchain, such that the computer readable information downloaded by the user computing device remains unchanged from the computer readable information offered by the trusted source.

9. The computer system of claim 8 , wherein the computer readable information at least one of data and executable code.

10. The method of claim 1 , wherein the computer readable information is used to update a software application of the user computing device.

11. The computer system of claim 8 , wherein authenticating includes accessing the blockchain to determine that the user computing device is licensed to operate the software application.

12. The computer system of claim 8 , wherein the blockchain is a plurality of distributed nodes that maintain a public ledger of the hashed computer readable information and the digital signature, which preserves the integrity of the computer readable information.

13. The computer system of claim 8 , wherein authenticating includes accessing the blockchain to determine whether the user computing device has made a previous request to download the computer readable information.

14. The computer system of claim 8 , further comprising generating a transaction on the blockchain that the user computing device downloaded the computer readable information.

15. A computer program product, comprising a computer readable hardware storage device storing a computer readable program code, the computer readable program code comprising an algorithm that when executed by a computer processor of a computing system implements a method comprising:

generating, by a processor of a computing system, a public key associated with a computer readable information, wherein the computer readable information is created by a trusted source;

hashing, by the processor, the computer readable information to obtain a hashed computer readable information;

encrypting, by the processor, the hashed computer readable information with a private key to create a digital signature, wherein the hashed computer readable information and the digital signature are stored on a block of a blockchain;

authenticating, by the processor, a user computing device in response to a request from the user computing device to download the computer readable information;

transmitting, by the processor, the public key and the digital signature to an authenticated user computing device; and

instructing, by the processor, the authenticated user computing device to decrypt the digital signature using the public key to obtain the hashed computer readable information, and download the hashed computer readable information to the authenticated user computing system to retrieve the computer readable information; and

creating, by the processor, a decentralized update system including at least the authenticated user computing device that acts a node of the decentralized update system to increase a source for downloading the computer readable information, wherein other user computers download the computer readable information from the authenticated user computing device verified by the blockchain;

wherein an integrity of the computer readable information is preserved by the blockchain, such that the computer readable information downloaded by the user computing device remains unchanged from the computer readable information offered by the trusted source.

16. The computer program product of claim 15 , wherein the computer readable information is used to update a software application of the user computing device.

17. The computer program product of claim 16 , wherein authenticating includes accessing the blockchain to determine that the user computing device is licensed to operate the software application.

18. The computer program product of claim 15 , wherein the blockchain is a plurality of distributed nodes that maintain a public ledger of the hashed computer readable information and the digital signature, which preserves the integrity of the computer readable information.

19. The computer program product of claim 15 , wherein authenticating includes accessing the blockchain to determine whether the user computing device has made a previous request to download the computer readable information.

20. The computer program product of claim 15 , further comprising generating a transaction on the blockchain that the user computing device downloaded the computer readable information.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2018
From: WAL-MART STORES, INC.
To: WALMART APOLLO, LLC
Reel/Frame 045857/0891 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2018
From: HIGH, DONALD R.; WILKINSON, BRUCE WALTER; MATTINGLY, TODD; CANTRELL, ROBERT; O'BRIEN V, JOHN J.; MCHALE, BRIAN GERARD; JURICH JR., JOSEPH
To: WAL-MART STORES, INC.
Reel/Frame 045100/0409 →
Continuity (2)
Provisional Application 62438728 · Dec 23, 2016
Related Publication 20180183606A1 · Jun 28, 2018
Cited By (1)
US 12,309,142