IP Library Granted Patent US 11,792,024
Granted Patent B2
US 11,792,024 · App. 16/369,823 · Granted Oct 17, 2023

System and method for efficient challenge-response authentication

Inventor: Rolf Lindemann (Steele, DE)
Assignee: Nok Nok Labs, Inc.
H04L9/3271H04L9/0861H04L9/3247H04L9/3263H04L63/166
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,792,024
App. No.
16/369,823
Granted
Oct 17, 2023
Kind
B2
Abstract

A system, apparatus, method, and machine-readable medium are described for fast authentication. For example, one embodiment of a system comprises: a local challenge generator of a client apparatus to generate a challenge on a client device using a derivation function; an authentication engine of the client apparatus to generate a challenge response as defined by a specified challenge-response protocol; the authentication engine to transmit the challenge response to a server, and the server to validate the challenge response, at least in part, by determining whether the challenge was generated within a specified time window.

Claims (34)

1. A system comprising:

a local challenge generator of a client apparatus to generate a challenge on a client device using a derivation function; and

an authentication engine of the client apparatus to generate a challenge response as defined by a specified challenge-response protocol,

the authentication engine to transmit the challenge and the challenge response to a server, and the server to validate the challenge response, at least in part, by determining whether the challenge was generated within a specified time window.

2. The system of claim 1 wherein the authentication engine is to generate the challenge response by generating a cryptographic signature over the challenge with a private key and wherein the server is to validate the challenge response using a corresponding public key, the server to reject any response with an invalid cryptographic signature.

3. The system of claim 1 wherein the challenge is generated using a key derivation function comprising a defined-prefix and dynamic-input-data as inputs, wherein the server knows or is configured to reproduce the defined-prefix and dynamic-input-data inputs.

4. The system of claim 3 wherein the dynamic-input-data comprises a time usable by the server to determine whether the challenge was generated within the specified time window.

5. The system of claim 4 wherein the server is to retain all used challenges related to a respective cryptographic public key for a defined time in order to prevent replay attacks.

6. The system of claim 4 , wherein dynamic-input-data comprises a current time as known to the client apparatus and wherein the server determines the dynamic-input-data to be acceptable if the current time is within an acceptance window.

7. A system of claim 3 , wherein dynamic-input-data comprises data exchanged previously between the client apparatus and server.

8. The system of claim 7 wherein the data exchanged previously comprises data exchanged to establish a transport layer security (TLS) session between the client apparatus and the server.

9. The system of claim 1 wherein the derivation function comprises an Argon2 key derivation function or a pbkdf2 key derivation function.

10. The system of claim 1 wherein the derivation function comprises a hash function.

11. The system of claim 3 wherein the challenge response protocol comprises a Fast Identify Online (FIDO) registration/makeCredential operation, a FIDO authentication/getAssertion operation, a SafetyNet protocol, or an Android Protected Confirmation protocol.

12. The system of claim 11 wherein the defined-prefix includes a FIDO AppID or RpId.

13. A non-transitory machine-readable medium having program code stored thereon which, when executed by a machine, causes the machine to perform operations of:

generating a challenge on a client apparatus using a derivation function;

generating a challenge response on the client apparatus as defined by a specified challenge-response protocol; and

transmitting the challenge and the challenge response from the client apparatus to a server, and the server to validate the challenge response, at least in part, by determining whether the challenge was generated within a specified time window.

14. The machine-readable medium of claim 13 wherein the challenge response is generated by generating a cryptographic signature over the challenge with a private key and wherein the server is to validate the challenge response using a corresponding public key, the server to reject any response with an invalid cryptographic signature.

15. The machine-readable medium of claim 13 wherein the challenge is generated using a key derivation function comprising a defined-prefix and dynamic-input-data as inputs, wherein the server knows or is configured to reproduce the defined-prefix and dynamic-input-data inputs.

16. The machine-readable medium of claim 15 wherein the dynamic-input-data comprises a time usable by the server to determine whether the challenge was generated within the specified time window.

17. The machine-readable medium of claim 16 wherein the server is to retain all used challenges related to a respective cryptographic public key for a defined time in order to prevent replay attacks.

18. The machine-readable medium of claim 16 , wherein dynamic-input-data comprises a current time as known to the client apparatus and wherein the server determines the dynamic-input-data to be acceptable if the current time is within an acceptance window.

19. A machine-readable medium of claim 15 , wherein dynamic-input-data comprises data exchanged previously between the client apparatus and server.

20. The machine-readable medium of claim 19 wherein the data exchanged previously comprises data exchanged to establish a transport layer security (TLS) session between the client apparatus and the server.

21. The machine-readable medium of claim 13 wherein the derivation function comprises an Argon2 key derivation function or a pbkdf2 key derivation function.

22. The machine-readable medium of claim 13 wherein the derivation function comprises a hash function.

23. The machine-readable medium of claim 15 wherein the challenge response protocol comprises a Fast Identify Online (FIDO) registration/makeCredential operation, a FIDO authentication/getAssertion operation, a SafetyNet protocol, or an Android Protected Confirmation protocol.

24. The machine-readable medium of claim 23 wherein the defined-prefix includes a FIDO AppID or RpId.

25. A method comprising:

generating a challenge on a client apparatus using a derivation function;

generating a challenge response on the client apparatus as defined by a specified challenge-response protocol; and

transmitting the challenge and the challenge response from the client apparatus to a server, and the server to validate the challenge response, at least in part, by determining whether the challenge was generated within a specified time window.

Assignments (2)
SECURITY INTEREST Recorded Jul 1, 2025
From: NOK NOK LABS, INC.
To: MUFG BANK, LTD.
Reel/Frame 071773/0493 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2020
From: LINDEMANN, ROLF
To: NOK NOK LABS, INC.
Reel/Frame 052113/0460 →
Continuity (1)
Related Publication 20200313910A1 · Oct 1, 2020