IP Library Granted Patent US 11,379,572
Granted Patent B2
US 11,379,572 · App. 16/555,662 · Granted Jul 5, 2022

Apparatus, method, and program product for proof of work based authentication

Inventors: Igor Stolbikov (Apex, NC); Joseph M. Pennisi (Apex, NC); Joshua N. Novak (Wake Forest, NC); Philip Lee Childs (Fort Wayne, IN)
Assignee: Lenovo (Singapore) PTE. LTD.
G06F21/44
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 11,379,572
App. No.
16/555,662
Granted
Jul 5, 2022
Kind
B2
Abstract

Apparatuses, methods, and program products are disclosed for proof of work based authentication. One apparatus includes a processor and a memory that stores code executable by the processor. The code is executable by the processor to determine, by use of the processor, a set of computer-based attributes corresponding to a first device. The code is executable by the processor to compute a proof of work based on the set of computer-based attributes. The code is executable by the processor to transmit the proof of work and the set of computer-based attributes to a second device for authentication based on the proof of work and the set of computer-based attributes.

Claims (34)

1. An apparatus comprising a first device, the apparatus further comprising:

a processor;

a memory that stores code executable by the processor to:

determine, by use of the processor, a set of computer-based attributes corresponding to the first device, wherein the set of computer-based attributes comprises at least one computer hardware attribute and at least one computer software attribute;

compute a proof of work using the set of computer-based attributes as inputs into an algorithm used to compute the proof of work;

transmit the proof of work and the set of computer-based attributes to a second device for authentication based on the proof of work and the set of computer-based attributes;

determine a change in the set of computer-based attributes; and

compute an updated proof of work using the changed set of computer-based attributes at inputs into the algorithm used to compute the updated proof of work.

2. The apparatus of claim 1 , wherein the at least one computer hardware attribute comprises a component model number, a component serial number, a component identifier, a component type, a number of components of the component type, or some combination thereof.

3. The apparatus of claim 1 , wherein the at least one computer software attribute comprises a software application name, a software application certificate, a software application license, a software application version, a software application identifier, a type of software application, a number of software applications of the type of software application, or some combination thereof.

4. The apparatus of claim 1 , wherein the code executable by the processor computes the proof of work based on the set of computer-based attributes by using a hashing algorithm to compute the proof of work.

5. The apparatus of claim 1 , wherein the code executable by the processor transmits a message counter with the proof of work and the set of computer-based attributes.

6. A method at a first device, the method comprising:

determining, by use of a processor, a set of computer-based attributes corresponding to the first device, wherein the set of computer-based attributes comprises at least one computer hardware attribute and at least one computer software attribute;

computing a proof of work using the set of computer-based attributes as inputs into an algorithm used to compute the proof of work;

transmitting the proof of work and the set of computer-based attributes to a second device for authentication based on the proof of work and the set of computer-based attributes;

determining a change in the set of computer-based attributes; and

computing an updated proof of work using the changed set of computer-based attributes at inputs into the algorithm used to compute the updated proof of work.

7. The method of claim 6 , wherein the at least one computer hardware attribute comprises a component model number, a component serial number, a component identifier, a component type, a number of components of the component type, or some combination thereof.

8. The method of claim 6 , wherein the at least one computer software attribute comprises a software application name, a software application certificate, a software application license, a software application version, a software application identifier, a type of software application, a number of software applications of the type of software application, or some combination thereof.

9. The method of claim 6 , wherein computing the proof of work based on the set of computer-based attributes comprises using a hashing algorithm to compute the proof of work.

10. The method of claim 6 , further comprising determining an encryption key.

11. The method of claim 10 , wherein the encryption key is determined based on the set of computer-based attributes.

12. The method of claim 10 , further comprising encrypting the proof of work and the set of computer-based attributes using the encryption key prior to transmitting the proof of work and the set of computer-based attributes to the second device.

13. The method of claim 6 , further comprising transmitting a message counter with the proof of work and the set of computer-based attributes.

14. A program product of a first device comprising a non-transitory computer readable storage medium that stores code executable by a processor, the executable code comprising code to perform:

determining, by use of the processor, a set of computer-based attributes corresponding to the first device, wherein the set of computer-based attributes comprises at least one computer hardware attribute and at least one computer software attribute;

computing a proof of work using the set of computer-based attributes as inputs into an algorithm used to compute the proof of work;

transmitting the proof of work and the set of computer-based attributes to a second device for authentication based on the proof of work and the set of computer-based attributes;

determining a change in the set of computer-based attributes; and

computing an updated proof of work using the changed set of computer-based attributes at inputs into the algorithm used to compute the updated proof of work.

15. The program product of claim 14 , wherein the executable code comprises code to perform determining an encryption key.

16. The program product of claim 15 , wherein the encryption key is determined based on the set of computer-based attributes.

17. The program product of claim 15 , wherein the executable code comprises code to perform encrypting the proof of work and the set of computer-based attributes using the encryption key prior to transmitting the proof of work and the set of computer-based attributes to the second device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2025
From: LENOVO PC INTERNATIONAL LIMITED
To: LENOVO SWITZERLAND INTERNATIONAL GMBH
Reel/Frame 070269/0092 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 19, 2025
From: LENOVO (SINGAPORE) PTE LTD.
To: LENOVO PC INTERNATIONAL LIMITED
Reel/Frame 070269/0028 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 29, 2019
From: STOLBIKOV, IGOR; PENNISI, JOSEPH M.; NOVAK, JOSHUA N.; CHILDS, PHILIP LEE
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 050215/0595 →
Continuity (1)
Related Publication 20210064733A1 · Mar 4, 2021