IP Library Granted Patent US 11,743,254
Granted Patent B2
US 11,743,254 · App. 16/538,335 · Granted Aug 29, 2023

Device authentication across unsecure network

Inventors: Igor Stolbikov (Apex, NC); Rod D. Waltermann (Rougemont, NC); Joseph Michael Pennisi (Apex, NC); Michael Demeter (Roswell, GA)
Assignee: Lenovo (Singapore) Pte. Ltd.
H04L63/0876H04L9/088H04L9/30H04L63/0838
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,743,254
App. No.
16/538,335
Granted
Aug 29, 2023
Kind
B2
Abstract

One embodiment provides a method, including: receiving, at a server from a device, a request for device authentication across an unsecure network, the request including a device registration token; generating, at the server, a shared registration key utilizing the device registration token; verifying, at the server, the device registration token by comparing the device registration token to a function of the shared registration key; and producing, at the server and responsive to verifying the device registration token, a one-time activation token and sending the one-time activation token to the device. Other aspects are described and claimed.

Claims (39)

1. A method, comprising:

receiving, at a server from a device, a request for device authentication to access a secure service corresponding to the server across an unsecure network, wherein the secure service requires validation that the device is trusted to access the secure service based upon the request being received across an unsecure network, wherein the request comprises a device registration token unique to the device to validate the device as trusted;

generating, at the server, a server shared registration key from the device registration token of the device and a private key of the server, wherein the generating comprises calculating and verifying a proof of work function, wherein the proof of work function is a hash of a device identifier and nonce utilized by the device in generating a device shared registration key utilized to generate the device registration token;

verifying, at the server, the device registration token by comparing the device registration token to a function of the proof of work function and the server shared registration key;

producing, at the server and responsive to verifying the device registration token, a one-time activation token, and sending the one-time activation token to the device;

authenticating the device for access to the secure service, wherein the authenticating comprises a response time verification that determines whether the one-time activation token has been received within an allowed time frame, wherein the response time verification comprises comparing a receipt time of the one-time activation token at the server to a timestamp corresponding to generation of the device registration token and verifying the one-time activation token responsive to determining that the receipt time is within the allowed time frame with respect to the timestamp corresponding to generation of the device registration token; and

granting, responsive to determining that the one-time activation token has been received within the allowed time frame, the device access to the secure service and denying, responsive to determining that the one-time activation token has not been received within the allowed time frame, the device access to the secure service.

2. The method of claim 1 , wherein the device registration token is generated at the device and is based upon the device shared registration key generated at the device utilizing a private key of the device and a public key of the server.

3. The method of claim 2 , wherein the device shared registration key is generated utilizing an elliptic curve Diffie-Hellman algorithm that utilizes the private key of the device and the public key of the server.

4. The method of claim 1 , wherein the server shared registration key is generated utilizing an elliptic curve Diffie-Hellman algorithm that utilizes a private key corresponding to the server.

5. The method of claim 1 , wherein the receiving comprises receiving the nonce utilized within the proof of work function.

6. The method of claim 1 , wherein the device registration token is generated based upon a sequence number unique to the device.

7. The method of claim 6 , wherein the one-time activation token is based upon an increment of the sequence number.

8. The method of claim 1 , wherein the device registration token comprises the timestamp.

9. The method of claim 1 , wherein the server comprises a database of device public keys.

10. A server, comprising:

a processor; and

a memory device that stores instructions executable by the processor to:

receive, at the server from an electronic device, a request for device authentication to access a secure service corresponding to the server across an unsecure network, wherein the secure service requires validation that the electronic device is trusted to access the secure service based upon the request being received across an unsecure network, wherein the request comprises a device registration token unique to the electronic device to validate the electronic device as trusted;

generate, at the server, a server shared registration key from the device registration token of the electronic device and a private key of the server, wherein the generating comprises calculating and verifying a proof of work function, wherein the proof of work function is a hash of a device identifier and nonce utilized by the electronic device in generating a device shared registration key utilized to generate the device registration token;

verify, at the server, the device registration token by comparing the device registration token to a function of the proof of work function and the server shared registration key;

produce, at the server and responsive to verifying the device registration token, a one-time activation token, and send the one-time activation token to the electronic device;

authenticate the electronic device for access to the secure service, wherein the authenticating comprises a response time verification that determines whether the one-time activation token has been received within an allowed time frame, wherein the response time verification comprises comparing a receipt time of the one-time activation token at the server to a timestamp corresponding to generation of the device registration token and verifying the one-time activation token responsive to determining that the receipt time is within the allowed time frame with respect to the timestamp corresponding to generation of the device registration token; and

grant, responsive to determining that the one-time activation token has been received within the allowed time frame, the electronic device access to the secure service and deny, responsive to determining that the one-time activation token has not been received within the allowed time frame, the electronic device access to the secure service.

11. The server of claim 10 , wherein the device registration token is generated at the electronic device and is based upon the device shared registration key generated at the electronic device utilizing a private key of the electronic device and a public key of the server.

12. The server of claim 11 , wherein the device shared registration key is generated utilizing an elliptic curve Diffie-Hellman algorithm that utilizes the private key of the electronic device and the public key of the server.

13. The server of claim 10 , wherein the server shared registration key is generated utilizing an elliptic curve Diffie-Hellman algorithm that utilizes a private key corresponding to the server.

14. The server of claim 10 , wherein the receiving comprises receiving the nonce utilized within the proof of work function.

15. The server of claim 10 , wherein the device registration token is generated based upon a sequence number unique to the electronic device.

16. The server of claim 15 , wherein the one-time activation token is based upon an increment of the sequence number.

17. The server of claim 10 , wherein the device registration token comprises the timestamp.

18. A product, comprising:

a storage device that stores code, the code being executable by a processor and comprising:

code configured to receive, at a server from an electronic device, a request for device authentication to access a secure service corresponding to the server across an unsecure network, wherein the secure service requires validation that the electronic device is trusted to access the secure service based upon the request being received across an unsecure network, wherein the request comprises a device registration token unique to the electronic device;

code configured to generate, at the server, a server shared registration key from the device registration token of the electronic device and a private key of the server, wherein the generating comprises calculating and verifying a proof of work function, wherein the proof of work function is a hash of a device identifier and nonce utilized by the electronic device in generating a device shared registration key utilized to generate the device registration token;

code configured to verify, at the server, the device registration token by comparing the device registration token to a function of the proof of work function and the server shared registration key;

code configured to produce, at the server and responsive to verifying the device registration token, a one-time activation token, and send the one-time activation token to the electronic device;

code configured to authenticate the electronic device for access to the secure service, wherein the authenticating comprises a response time verification that determines whether the one-time activation token has been received within an allowed time frame, wherein the response time verification comprises comparing a receipt time of the one-time activation token at the server to a timestamp corresponding to generation of the device registration token and verifying the one-time activation token responsive to determining that the receipt time is within the allowed time frame with respect to the timestamp corresponding to generation of the device registration token; and

code configured to grant, responsive to determining that the one-time activation token has been received within the allowed time frame, the electronic device access to the secure service and deny, responsive to determining that the one-time activation token has not been received within the allowed time frame, the electronic device access to the secure service.

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 070266/0925 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2019
From: STOLBIKOV, IGOR; WALTERMANN, ROD D.; PENNISI, JOSEPH MICHAEL
To: LENOVO (SINGAPORE) PTE. LTD.
Reel/Frame 051327/0953 →
Continuity (1)
Related Publication 20210051146A1 · Feb 18, 2021