IP Library Granted Patent US 9,690,922
Granted Patent B2
US 9,690,922 · App. 14/673,086 · Granted Jun 27, 2017

System, apparatus, and method for anti-replay protection of data stored in a non-volatile memory device

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 9,690,922
App. No.
14/673,086
Granted
Jun 27, 2017
Kind
B2
Abstract

Embodiments of the present disclosure generally relate to a system, apparatus, and method for providing anti-replay protection of data stored in a non-volatile memory device. Some embodiments describe an anti-replay protection (ARP) device that may protect an external non-volatile memory device from replay attacks.

Claims (67)

1. A system for anti-replay protection comprising:

a non-volatile memory device;

a main power source; and

an anti-replay protection device configured to receive power from the main power source, the anti-replay protection device comprising:

a one-time programmable (OTP) memory device comprising a replay counter that is updated in response to at least a portion of the anti-replay protection device failing to receive power from the main power source;

a persistent memory device; and

a processor, coupled to the OTP memory device and to the persistent memory device, and configured to

generate a first hash value using the replay counter and data stored in the non-volatile memory device,

store the first hash value in the persistent memory device, and

compare the first hash value to a second hash value generated using the replay counter and data stored in the non-volatile memory device.

2. The system for anti-replay protection of claim 1 , wherein the anti-replay protection device further comprises:

a memory controller configured to exchange data with the non-volatile memory device.

3. The system for anti-replay protection of claim 1 , wherein the processor is further configured to increment the replay counter in response to the first and second hash values being different.

4. The system for anti-replay protection of claim 1 , wherein the persistent memory device is battery-backed random access memory (RAM).

5. The system for anti-replay protection of claim 1 , wherein the processor is further configured to encrypt the first hash value before storing the first hash value in the persistent memory device.

6. The system for anti-replay protection of claim 1 , further comprising:

a backup power source configured to provide power to the anti-replay protection device in response to the anti-replay protection device losing power from the main power source,

wherein the anti-replay protection device is further configured to write a copy of the first hash value to the non-volatile memory device in response to receiving power from the backup power source.

7. The system for anti-replay protection of claim 6 , further comprising:

a power detector configured to instruct the backup power source to provide power to the anti-replay protection device in response to detecting a loss of power from the main power source.

8. The system for anti-replay protection of claim 6 , wherein:

the second hash value is generated in response to the anti-replay detection device regaining power from the main power source, and

the anti-replay protection device is further configured to attempt to retrieve the copy of the first hash value from the non-volatile memory device in response to the first hash value from the persistent memory device and the second hash value being different.

9. The system for anti-replay protection of claim 8 , wherein the non-volatile memory device is erased and the replay counter is incremented in response to failing to retrieve the copy of the first hash value from the non-volatile memory device.

10. The system for anti-replay protection of claim 8 , wherein:

the processor is further configured to compare the copy of the first hash value to the second hash value in response to retrieving the copy of the first hash value from the non-volatile memory device, and

the non-volatile memory device is erased in response to the copy of the first hash value and the second hash value being different.

11. An anti-replay protection device comprising:

a one-time programmable (OTP) memory device comprising a replay counter that is updated in response to at least a portion of the anti-replay protection device losing power from a main power source;

a persistent memory device; and

a processor, coupled to the OTP memory device and to the persistent memory device, and configured to

generate a first hash value using the replay counter,

store the first hash value in the persistent memory device, and

compare the first hash value to a second hash value generated using the replay counter.

12. The anti-replay protection device of claim 11 , further comprising:

a memory controller configured to retrieve data stored in a non-volatile memory device that is external to the anti-replay protection device,

wherein the processor is further configured to generate the first and second hash values based on the replay counter and the data retrieved from the non-volatile memory device.

13. The anti-replay protection device of claim 12 , further comprising:

a power-fail sequencer coupled to the memory controller and to the persistent memory device,

wherein the power-fail sequencer is configured to retrieve the first hash value from the persistent memory device and instruct the memory controller to write a copy of the first hash to the non-volatile memory device in response to at least a portion of the anti-replay protection device losing power from the main power source.

14. The anti-replay protection device of claim 13 , wherein:

the processor is further configured to generate the second hash value in response to the anti-replay detection device regaining power from the main power source, and

the anti-replay protection device is further configured to attempt to retrieve the copy of the first hash value from the non-volatile memory device in response to the first hash value from the persistent memory device and the second hash value being different.

15. The anti-replay protection device of claim 14 , wherein the anti-replay protection device instructs the non-volatile memory to erase the data stored in the non-volatile memory device and increments the replay counter in response to failing to retrieve the copy of the first hash value from the non-volatile memory device.

16. The anti-replay protection device of claim 14 , wherein:

the processor is further configured to compare the copy of the first hash value to the second hash value in response to retrieving the copy of the first hash value from the non-volatile memory device, and

the anti-replay protection device instructs the non-volatile memory to erase the data stored in the non-volatile memory device in response to the copy of the first hash value and the second hash value being different.

17. The anti-replay protection device of claim 11 , wherein the persistent memory device is battery-backed RAM.

18. The anti-replay protection device of claim 11 , wherein the processor is further configured to increment the replay counter in response to the first and second hash values being different.

19. A method for anti-replay protection of data stored in a non-volatile memory device, the method comprising:

storing, in a one-time programmable (OTP) memory device, a replay counter that is incremented in response to failing to receive power from a main power source;

generating, by a processor, a first hash value using the replay counter and data stored in the non-volatile memory device;

storing, in a persistent memory device, the first hash value;

generating, by the processor, a second hash value using the reply counter and data stored in the non-volatile memory device; and

comparing, by the processor, the first hash value from the persistent memory device to the second hash value.

20. The method of claim 19 , further comprising:

receiving power from a backup power source in response to failing to receive power from the main power source;

transmitting a copy of the first hash value to the non-volatile memory device,

wherein the generating the second hash value is in response to regaining power from the main power source.

21. The method of claim 20 , further comprising:

attempting to retrieve the copy of the first hash value from the non-volatile memory device in response to the first hash value from the persistent memory device and the second hash value being different; and

erasing the non-volatile memory device and incrementing the replay counter in response to failing to retrieve the copy of the first hash value from the non-volatile memory device.

22. The method of claim 20 , further comprising:

attempting to retrieve the copy of the first hash value from the non-volatile memory device in response to the first hash value from the persistent memory device and the second hash value being different;

comparing the copy of the first hash value to the second hash value in response to retrieving the copy of the first hash value from the non-volatile memory device;

erasing the non-volatile memory device in response to the copy of the first hash value and the second hash value being different or in response to failing to retrieve the copy of the first hash value; and

incrementing the replay counter.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 15, 2017
From: BUER, MARK; ZHOU, WEIYANG; LIU, KUNYAN; JOSE, JAKU
To: BROADCOM CORPORATION
Reel/Frame 041260/0165 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →