IP Library › Granted Patent US 12,041,172
Granted Patent B2
US 12,041,172 · App. 17/358,473 · Granted Jul 16, 2024

Cryptographic authentication to control access to storage devices

Inventors: Bryant Yee (Washington, DC); Mykhaylo Bulgakov (Arlington, VA); George Bergeron (Falls Church, VA)
Assignee: Capital One Services, LLC
H04L9/3226G06F3/0622G06F3/0655G06F3/0679G06F13/4282H04L9/3234G06F2213/0042H04L2209/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 12,041,172
App. No.
17/358,473
Granted
Jul 16, 2024
Kind
B2
Abstract

Systems, methods, apparatuses, and computer-readable media for cryptographic authentication to control access to storage devices. An applet executing on a processor of a contactless card may receive, via a wireless communications interface of the contactless card, a request to access a storage device of the contactless card, where the storage device is in a locked state. The applet may generate a cryptogram based on the request and transmit the cryptogram to a computing device via the wireless communications interface. The applet may receive, from the computing device, an indication specifying that a server decrypted the cryptogram. The applet may transmit, to a controller of the storage device and based on the indication specifying that the server decrypted the cryptogram, an indication specifying to unlock the storage device. The controller may transition the storage device from the locked state to an unlocked state based on the indication received from the applet.

Claims (84)

1. A contactless card, comprising:

a processor circuit; and

a storage device comprising a controller;

a memory storing instructions which when executed by the processor circuit, cause the processor circuit to:

receive a request to access the storage device, wherein the storage device is in a locked state;

generate a cryptogram based on the request;

transmit the cryptogram to a computing device via a wireless communications interface;

receive, from the computing device, an indication specifying that a server decrypted the cryptogram; and

transmit, to the controller based on the indication specifying that the server decrypted the cryptogram, an indication specifying to unlock the storage device, wherein the controller transitions the storage device from the locked state to an unlocked state based on the indication.

2. The contactless card of claim 1 , the memory storing instructions which when executed by the processor circuit, cause the processor circuit to:

receive another request specifying to lock the storage device;

generate another cryptogram;

transmit the another cryptogram to the computing device;

receive, from the computing device, an indication specifying that the server decrypted the another cryptogram; and

transmit, to the controller based on the indication specifying that the server decrypted the another cryptogram, an indication specifying to lock the storage device, wherein the controller transitions the storage device from the unlocked state to the locked state based on the indication to lock the storage device.

3. The contactless card of claim 1 , wherein the controller is configured to:

determine that an amount of time elapsed subsequent to unlocking the storage device exceeds a threshold; and

lock the storage device based on the amount of time exceeding the threshold.

4. The contactless card of claim 3 , the memory storing instructions which when executed by the processor circuit, cause the processor circuit to:

receive another request to access the storage device;

generate another cryptogram;

transmit the another cryptogram to the computing device;

receive, from the computing device, an indication specifying that the server did not decrypt the another cryptogram; and

reject the another request to access the storage device based on the indication that the server did not decrypt the another cryptogram, wherein the controller maintains the storage device in the locked state.

5. The contactless card of claim 1 , further comprising the wireless communications interface, the memory storing instructions which when executed by the processor circuit, cause the processor circuit to:

transmit, to the computing device via the wireless communications interface, an indication specifying that the storage device is in the unlocked state.

6. The contactless card of claim 5 , wherein the storage device comprises a universal serial bus (USB) storage device, wherein the controller is configured to:

determine that a connector of the storage device has been inserted into a USB port; and

expose the unlocked storage device to the USB port.

7. The contactless card of claim 1 , wherein the requested access comprises one or more of: (i) reading data stored in the storage device, or (ii) writing data to the storage device, wherein the requested access is processed via one or more of: (i) inserting the storage device in a port, or (ii) the wireless communications interface, wherein the wireless communications interface comprises a near field communication (NFC) interface.

8. A method, comprising:

receiving, by an applet executing on a processor of a contactless card via a wireless communications interface of the contactless card, a request to access a storage device of the contactless card, wherein the storage device is in a locked state;

generating, by the applet, a cryptogram based on the request;

transmitting, by the applet, the cryptogram to a computing device via the wireless communications interface;

receiving, by the applet from the computing device, an indication specifying that a server decrypted the cryptogram;

transmitting, by the applet to a controller of the storage device and based on the indication specifying that the server decrypted the cryptogram, an indication specifying to unlock the storage device; and

transitioning, by the controller based on the indication received from the applet, the storage device from the locked state to an unlocked state.

9. The method of claim 8 , further comprising:

receiving, by the applet, another request specifying to lock the storage device;

generating, by the applet, another cryptogram;

transmitting, by the applet, the another cryptogram to the computing device;

receiving, by the applet from the computing device, an indication specifying that the server decrypted the another cryptogram;

transmitting, by the applet to the controller based on the indication specifying that the server decrypted the another cryptogram, an indication specifying to lock the storage device; and

transitioning, by the controller based on the indication to lock the storage device, the storage device from the unlocked state to the locked state.

10. The method of claim 8 , further comprising:

determining, by the controller, an amount of time elapsed subsequent to unlocking the storage device exceeds a threshold; and

transitioning, by the controller based on the determination that the amount of time exceeds the threshold, the storage device from the locked state to the unlocked state.

11. The method of claim 10 , further comprising:

receiving, by the applet, another request to access the storage device;

generating, by the applet, another cryptogram;

transmitting, by the applet, the another cryptogram to the computing device;

receiving, by the applet from the computing device, an indication specifying that the server did not decrypt the another cryptogram; and

rejecting, by the applet, the another request to access the storage device based on the indication that the server did not decrypt the another cryptogram, wherein the controller maintains the storage device in the locked state.

12. The method of claim 8 , further comprising:

transmitting, by the applet to the computing device via the wireless communications interface, an indication specifying that the storage device is in the unlocked state.

13. The method of claim 8 , wherein the storage device comprises a universal serial bus (USB) storage device, the method further comprising:

determining, by the controller, that a connector of the storage device has been inserted into a USB port; and

exposing, by the controller, the unlocked storage device to the USB port.

14. The method of claim 8 , wherein the requested access comprises one or more of: (i) reading data stored in the storage device, or (ii) writing data to the storage device, wherein the requested access is processed via one or more of: (i) inserting the storage device in a port, or (ii) the wireless communications interface, wherein the wireless communications interface comprises a near field communication (NFC) interface.

15. A non-transitory computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code when executed by a processor circuit of a contactless card causes the processor circuit to:

receive a request to access a storage device of the contactless card, wherein the storage device is in a locked state;

generate a cryptogram based on the request;

transmit the cryptogram to a computing device via a wireless communications interface;

receive, from the computing device, an indication specifying that a server decrypted the cryptogram; and

transmit, to the controller based on the indication specifying that the server decrypted the cryptogram, an indication specifying to unlock the storage device, wherein the controller transitions the storage device from the locked state to an unlocked state based on the indication.

16. The non-transitory computer-readable storage medium of claim 15 , further comprising computer-readable program code executable by the processor circuit to cause the processor circuit to:

receive another request specifying to lock the storage device;

generate another cryptogram;

transmit the another cryptogram to the computing device;

receive, from the computing device, an indication specifying that the server decrypted the another cryptogram; and

transmit, to the controller based on the indication specifying that the server decrypted the another cryptogram, an indication specifying to lock the storage device, wherein the controller transitions the storage device from the unlocked state to the locked state based on the indication to lock the storage device.

17. The non-transitory computer-readable storage medium of claim 15 , further comprising computer-readable program code executable by the processor circuit to:

determine an amount of time elapsed subsequent to unlocking the storage device exceeds a threshold; and

transmit, to the controller based on the amount of time exceeding the threshold, an indication to lock the storage device, wherein the controller transitions the storage device from the locked state to the unlocked state based on the indication to lock the storage device.

18. The non-transitory computer-readable storage medium of claim 17 , further comprising computer-readable program code executable by the processor circuit to cause the processor circuit to:

receive another request to access the storage device;

generate another cryptogram;

transmit the another cryptogram to the computing device;

receive, from the computing device, an indication specifying that the server did not decrypt the another cryptogram; and

reject the another request to access the storage device based on the indication that the server did not decrypt the another cryptogram, wherein the controller maintains the storage device in the locked state.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the storage device comprises a universal serial bus (USB) storage device, further comprising computer-readable program code executable by the controller to cause the controller to:

determine that a connector of the storage device has been inserted into a USB port; and

expose the unlocked storage device to the USB port.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the requested access comprises one or more of: (i) reading data stored in the storage device, or (ii) writing data to the storage device, wherein the requested access is processed via one or more of: (i) inserting the storage device in a port, or (ii) the wireless communications interface, wherein the wireless communications interface comprises a near field communication (NFC) interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2021
From: YEE, BRYANT; BULGAKOV, MYKHAYLO; BERGERON, GEORGE
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 056670/0253 →
Continuity (1)
Related Publication 20220417024A1 · Dec 29, 2022