IP Library › Granted Patent US 10,846,438
Granted Patent B2
US 10,846,438 · App. 16/503,501 · Granted Nov 24, 2020

RPMC flash emulation

Inventors: Ziv Hershman (Givat Shmuel, IL); Dan Morav (Herzliya, IL); Moshe Alon (Tel-Aviv, IL)
Assignee: NUVOTON TECHNOLOGY CORPORATION
G06F21/72G06F3/0604G06F3/0659G06F3/0679H04L9/3242
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 10,846,438
App. No.
16/503,501
Granted
Nov 24, 2020
Kind
B2
Abstract

A controller includes a host interface and a processor. The host interface is configured for communicating with a host. The processor is configured to receive from the host, via the host interface, instructions for execution in a Non-Volatile Memory (NVM), to identify among the instructions an instruction, which pertains to a secure monotonic counter and is intended for execution in an NVM having a secure monotonic counter embedded therein, and to execute the identified instruction, and respond to the host responsively to the instruction, instead of the NVM.

Claims (25)

1. A controller, comprising:

a host interface for communicating with a host;

a memory interface; and

a processor, configured to:

receive from the host, via the host interface, instructions for execution in a Non-Volatile Memory (NVM);

identify among the instructions an instruction, which (i) conforms to a Replay-Protected Monotonic Counter (RPMC) specification, (ii) pertains to a secure monotonic counter and (iii) is intended for execution in an NVM having a secure monotonic counter embedded therein;

execute the identified instruction in accordance with the RPMC specification, and respond to the host responsively to the instruction, instead of the NVM; and

communicate, via the memory interface, with an NVM that does not have an embedded secure monotonic counter, and to forward the instructions other than the identified instruction to the NVM for execution.

2. The controller according to claim 1 , wherein, when executing the identified instruction, the processor is configured to override a Chip-Select (CS) signal, which is asserted by the host for selecting the NVM.

3. The controller according to claim 1 , wherein the processor is configured to receive the instructions intended to the NVM by intercepting a Chip-Select signal, which is asserted by the host for selecting the NVM.

4. The controller according to claim 1 , wherein the processor is configured to execute the identified instruction in conjunction with a Trusted Platform Module (TPM).

5. The controller according to claim 4 , wherein the TPM is integrated in the controller.

6. The controller according to claim 4 , wherein the TPM is external to the controller, and wherein the controller further comprises a TPM interface for communicating with the TPM.

7. The controller according to claim 4 , wherein the TPM is external to the controller and is connected to the host, and wherein the processor is configured to communicate with the TPM via the host interface.

8. A method, comprising:

in a controller, receiving from a host instructions for execution in a Non-Volatile Memory (NVM);

identifying among the instructions an instruction, which (i) conforms to a Replay-Protected Monotonic Counter (RPMC) specification, (ii) pertains to a secure monotonic counter and (iii) is intended for execution in a NVM having a secure monotonic counter embedded therein;

executing the identified instruction, in accordance with the RPMC specification, by the controller instead of the NVM; and

communicating with an NVM that does not have an embedded secure monotonic counter, and forwarding the instructions other than the identified instruction to the NVM for execution.

9. The method according to claim 8 , wherein executing the identified instruction comprises overriding a Chip-Select (CS) signal, which is asserted by the host for selecting the NVM.

10. The method according to claim 8 , wherein receiving the instructions intended to the NVM comprises intercepting a Chip-Select signal, which is asserted by the host for selecting the NVM.

11. The method according to claim 8 , wherein executing the identified instruction comprises executing the identified instruction in conjunction with a Trusted Platform Module (TPM).

12. The method according to claim 11 , wherein the TPM is integrated in the controller.

13. The method according to claim 11 , wherein the TPM is external to the controller, and wherein executing the identified instruction comprises communicating with the TPM.

14. The method according to claim 11 , wherein the TPM is external to the controller and is connected to the host, and wherein executing the identified instruction comprises communicating with the TPM via the host interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 4, 2019
From: HERSHMAN, ZIV; MORAV, DAN; ALON, MOSHE
To: NUVOTON TECHNOLOGY CORPORATION
Reel/Frame 049668/0696 →
Continuity (4)
Continuation In Part 16377211 · Apr 7, 2019
Continuation In Part 14714298 · May 17, 2015
Provisional Application 62028345 · Jul 24, 2014
Related Publication 20190325167A1 · Oct 24, 2019