IP Library Granted Patent US 48,541
Granted Patent E1
US 48,541 · App. 15/692,931 · Granted Apr 27, 2021

Device and method for identification and authentication

Inventors: Jakob Ehrensvärd (Palo Alto, CA); Stina Ehrensvärd (Palo Alto, CA)
Assignee: YUBICO AB
H04L9/3236G06F21/34H04L2209/805
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 48,541
App. No.
15/692,931
Granted
Apr 27, 2021
Kind
E1
Abstract

A device for identification and authentication of a remote user connecting to a service over a network includes a cryptographic processor and at least one cryptographic key and storage means, additional processing means and interface means to generate and transmit a unique authentication code as emulated keystrokes through a standard input, means of a client terminal. The code may be transmitted only by an explicit command of the user.

Claims (66)

1. A method for generating an output code from by a user device, comprising:

receiving, by the user device, an explicit command to generate the output code, wherein the explicit command is triggered by a holder of the user device;

generating, by the user device in response to the explicit command, the output code using a cryptographic key, wherein generating the output code comprises:

comparing an identifier of the holder of the user device with information identifying one or more holders of the user device, the identifier uniquely identifying the holder of the user device;

responsive to the identifier of the holder of the user device matching the information identifying one or more holders of the user device, indicating that the holder of the user device is verified; and

responsive to the holder being verified explicit command, generating a dynamic authentication code associated with an identifier of the holder of the user device;

wherein the dynamic authentication code comprises at least one of a session identifier, a session counter and a timestamp of a plurality of variant fields, the dynamic authentication code further comprises a secret user identity identifying an approved user of the user device to enable verification that the holder of the user device is the approved user of the user device, and the dynamic authentication code is variant and unique from other dynamic authentication codes generated by the user device and has characteristics that provide an indicator of potentially fraudulent usage of the user device, the generated output code including the dynamic authentication code;

translating the generated output code into a plurality of emulated keystrokes; and

outputting the plurality of emulated keystrokes from the user device to an input of a client device.

2. The method of claim 1 , wherein the cryptographic key used in generating the output code is stored in the user device and is uniquely associated with the user device.

3. The method of claim 1 , further comprising:

concatenating the identifier with the dynamic authentication code to generate a concatenated code sequence; and

applying the cryptographic key to the concatenated dynamic authentication code sequence to generate an alphanumeric representation as the output code.

4. The method of claim 1 , wherein the plurality of variant fields comprise:

a random number; and

a checksum indicating whether a valid encryption key is used to generate the dynamic authentication code.

5. The method of claim 1 , wherein the identifier identifying the holder of the user device comprises at least one of:

a personal identification number;

a combination of user name and password;

a key sequence comprising a plurality of keystrokes of a keyboard;

a fingerprint of the holder of the device;

a sample of voice of the holder of the device; and

a sample of biometric scanning data from the holder of the device.

6. The method of claim 1 , further comprising:

intercepting an output message comprising a plurality of keystrokes entered by the holder of the user device on a keyboard in communication with the user device; and

using the intercepted output message as the identifier of the holder.

7. A user device for providing an output code, comprising:

a computer processor for executing computer program modules; and

a non-transitory computer readable storage device storing the computer program modules executable to perform steps comprising:

receiving an explicit command to generate the output code, wherein the explicit command is triggered by a holder of the user device;

generating, in response to the explicit command, the output code using a cryptographic key, wherein generating the output code comprises:

comparing an identifier of the holder of the user device with information identifying one or more holders of the user device, the identifier uniquely identifying the holder of the user device;

responsive to the identifier of the holder of the user device matching the information identifying one or more holders of the user device, indicating that the holder of the user device is verified; and

responsive to the holder being verified explicit command, generating a dynamic authentication code associated with an identifier of the holder of the user device;

wherein the dynamic authentication code comprises at least one of a session identifier, a session counter and a timestamp of a plurality of variant fields, the dynamic authentication code further comprises a secret user identity identifying an approved user of the user device to enable verification that the holder of the user device is the approved user of the user device, and the dynamic authentication code is variant and unique from other dynamic authentication codes generated by the user device and has characteristics that provide an indicator of potentially fraudulent usage of the user device, the generated output code including the dynamic authentication code;

translating the generated output code into a plurality of emulated keystrokes; and

outputting the plurality of emulated keystrokes from the user device to an input of a client device.

8. The device of claim 7 , wherein the cryptographic key used in generating the output code is stored in the user device and is uniquely associated with the user device.

9. The device of claim 7 , further comprising executable computer program modules for:

concatenating the identifier of the holder of the device with the dynamic authentication code to generate a concatenated code sequence; and

applying the cryptographic key to the concatenated code sequence to generate an alphanumeric representation as the output code.

10. The device of claim 7 , wherein the plurality of variant fields comprise:

a random number; and

a checksum indicating whether a valid encryption key is used to generate the dynamic authentication code.

11. The device of claim 7 , wherein the identifier identifying the holder of the user device comprises at least one of:

a personal identification number;

a combination of user name and password;

a key sequence comprising a plurality of keystrokes of a keyboard;

a fingerprint of the holder of the device;

a sample of voice of the holder of the device; and

a sample of biometric scanning data from the holder of the device.

12. The method of claim 1 , wherein the information identifying one or more holders of the user device is stored in a pre-determined template.

13. The method of claim 12 , wherein the pre-determined template is a pre-stored fingerprint template stored on the user device and the information stored on the user device identifying a holder of the user device is based on a fingerprint associated with the holder of the user device.

14. The device of claim 7 , wherein the information identifying one or more holders of the user device is stored in a pre-determined template.

15. The device of claim 14 , wherein the pre-determined template is a pre-stored fingerprint template stored on the user device and the information stored on the user device identifying a holder of the user device based on a fingerprint associated with the holder of the user device.

16. A non-transitory computer readable storage device storing computer program modules executable to perform steps comprising:

receiving an explicit command to generate an output code, wherein the explicit command is triggered by a holder of a user device;

generating, in response to the explicit command, the output code using a cryptographic key, wherein generating the output code comprises:

comparing an identifier of the holder of the user device with information identifying one or more holders of the user device, the identifier uniquely identifying the holder of the user device;

responsive to the identifier of the holder of the user device matching the information identifying one or more holders of the user device, indicating that the holder of the user device is verified; and

responsive to the holder being verified explicit command, generating a dynamic authentication code associated with an identifier of the holder of the user device;

wherein the dynamic authentication code comprises at least one of a session identifier, a session counter and a timestamp of a plurality of variant fields, the dynamic authentication code further comprises a secret user identity for identifying an approved user of the user device to verify that the holder of the user device is the approved user of the user device, and the dynamic authentication code is variant and unique from other dynamic authentication codes generated by the user device and has characteristics that provide an indicator of potentially fraudulent usage of the user device, the generated output code including the dynamic authentication code;

translating the generated output code into a plurality of emulated keystrokes; and

outputting the plurality of emulated keystrokes from the user device to an input of a client device.

17. The device of claim 7, the user device further comprising a Universal Serial Bus (USB) interface for outputting the plurality of emulated keystrokes from the user device to a USB input of the client device.

18. The device of claim 17, wherein the USB interface is configured to receive power supplied by the USB input of the client device.

Assignments (4)
MERGER Recorded Nov 30, 2023
From: YUBICO AB
To: ACQ BURE AB
Reel/Frame 065713/0908 →
CHANGE OF NAME Recorded Nov 30, 2023
From: ACQ BURE AB
To: YUBICO AB
Reel/Frame 065724/0321 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2020
From: YUBICO INC.
To: YUBICO AB
Reel/Frame 051710/0868 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 6, 2017
From: EHRENSVÄRD, JAKOB; EHRENSVÄRD, STINA
To: YUBICO INC.
Reel/Frame 043495/0310 →
Continuity (5)
Reissue 14309061 · Jun 19, 2014
Continuation 12669929
Provisional Application 60745432 · Apr 24, 2006
Provisional Application 60746915 · May 10, 2006
Provisional Application 60806299 · Jun 30, 2006