IP Library › Granted Patent US 11,640,467
Granted Patent B2
US 11,640,467 · App. 17/085,076 · Granted May 2, 2023

System and methods for secure firmware validation

Inventors: James Zarakas (Centreville, VA); David Wurmfeld (Falls Church, VA); Brennon York (San Francisco, CA); Tyler Locke (Washington, DC)
Assignee: CAPITAL ONE SERVICES, LLC
G06F21/572G06F8/654G06F21/77G06F21/86G06K19/07381H01L23/57G06F21/72G06F2221/033G06F2221/2143G06F2221/2153
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,640,467
App. No.
17/085,076
Filed
Oct 30, 2020
Granted
May 2, 2023
Kind
B2
Examiner
WU, JUNCHUN
Art Unit
2191
USPC
717/168
Abstract

An electronic device, such as a dynamic transaction card having a chip, an applet, and a cryptographic coprocessor performs secure firmware and/or software updates, and performs firmware and/or software validation for firmware and/or software that is stored on the electronic device. Validation may compare a calculated checksum with a checksum stored in the device. If a checksum calculated for a firmware and/or a software application matches a stored checksum, the transaction card may operate normally. If a checksum calculated for a firmware and/or a software application does not match the stored checksum, the transaction card may freeze all capabilities, erase the memory of the transaction card, display data indicative of fraud, and/or the like.

Claims (56)

1. A method for validating a firmware program, the method comprising:

storing, in memory of a transaction card, the firmware program;

receiving, at a processor of the transaction card, one or more rules to initiate a checksum validation via an applet;

reading, via the applet, the firmware program stored on the transaction card;

calculating, via a cryptographic processor of the transaction card, a first checksum for the firmware program;

receiving, at the processor, data triggering the one or more rules;

reading, via a secure element, the memory including the firmware program to identify memory data in response to receiving the data triggering the one or more rules;

transmitting, via the secure element, the memory data to the cryptographic processor;

calculating, via the cryptographic processor, a second checksum for the firmware program;

comparing, using the processor, the first checksum and the second checksum to determine if the first checksum and the second checksum match; and

either:

validating the firmware program in response to determining that the first checksum and the second checksum match;

or

deleting at least a portion of data in the memory in response to determining that the first checksum and the second checksum do not match.

2. The method of claim 1 , wherein:

the one or more rules comprise a first time-driven rule; and

the data triggering the one or more rules comprises a time in which to read the memory to identify the memory data.

3. The method of claim 1 , wherein:

the one or more rules comprise a first event-driven rule; and

the data triggering the one or more rules comprises data indicating at least one of:

a first initiation of a first transaction;

a second initiation of a second transaction over a predefined monetary threshold;

a waking of the transaction card from a sleep mode; and

a connection attempt, via an antenna, to an external device.

4. The method of claim 3 , wherein the data triggering the one or more rules is received from a point of sale device in communication with the processor.

5. The method of claim 4 , further comprising receiving power to power the processor from the point of sale device.

6. The method claim 5 , wherein the waking of the transaction card from the sleep mode is performed in response to receiving the power from the point of sale device.

7. The method of claim 4 , further comprising connecting, via an antenna, to the point of sale device via a contactless connection.

8. The method of claim 1 , further comprising storing the first checksum in the secure element such that the first checksum is protected from alteration once calculated.

9. The method of claim 1 , further comprising receiving the firmware program via a secure connection with a financial institution.

10. A method for validating firmware programs, the method comprising:

storing, in a secure element of a transaction card, an existing firmware program for the transaction card;

storing, in the secure element, a first checksum calculated via a cryptographic processor of the transaction card using the existing firmware program upon loading of the existing firmware program;

receiving, at an input/output interface, an updated firmware program from a firmware provider system;

receiving, at a processor of the transaction card, a trigger that triggers checksum validation;

reading, via the processor, the secure element to identify the first checksum;

transmitting, via the secure element, the updated firmware program to the cryptographic processor;

calculating, via the cryptographic processor, a second checksum for the updated firmware program;

comparing, via the processor, the first checksum and the second checksum to determine if the first checksum and the second checksum match; and

either:

executing the updated firmware program in response to determining that the first checksum and the second checksum match;

or

triggering an alert in response to determining that the first checksum and the second checksum do not match.

11. The method of claim 10 , wherein the updated firmware program is received from the firmware provider system during and/or at an end of a card transaction.

12. The method of claim 10 , wherein the updated firmware program is received from a point of sale device in communication with the processor.

13. The method of claim 12 , further comprising receiving power to power the processor from the point of sale device.

14. The method claim 13 , further comprising waking, via the processor, the transaction card in response to receiving the power from the point of sale device.

15. The method of claim 12 , further comprising connecting, via an antenna, to the point of sale device via a contactless connection.

16. The method of claim 10 , wherein the alert causes the processor to execute an erase script to erase at least a portion of data in the secure element and/or deactivate the transaction card.

17. The method of claim 10 , wherein the alert causes the processor to communicate with a financial institution to place a hold on an account associated with the transaction card.

18. The method of claim 10 , wherein the alert causes the processor to transmit, via an antenna, a message to a paired user device.

19. The method of claim 10 , wherein the updated firmware program is encrypted and comprises a first cryptographic key;

the method further comprising:

storing, in the secure element, a second cryptographic key; and

decrypting, via the processor, the updated firmware program using the second cryptographic key and the first cryptographic key.

20. The method of claim 10 , further comprising receiving power to power the processor from a point of sale device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 30, 2020
From: ZARAKAS, JAMES; WURMFELD, DAVID; YORK, BRENNON; LOCKE, TYLER
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 054223/0103 →
Continuity (7)
Continuation 16591663 · Oct 3, 2019
Continuation 15944741 · Apr 3, 2018
Continuation 15099048 · Apr 14, 2016
Provisional Application 62305850 · Mar 9, 2016
Provisional Application 62270465 · Dec 21, 2015
Provisional Application 62147568 · Apr 14, 2015
Related Publication 20210049279A1 · Feb 18, 2021
Cited By (1)
US 12,314,686