| CPC H04L 9/088 (2013.01) [H04L 9/0861 (2013.01); H04L 9/3278 (2013.01)] | 20 Claims |

|
1. A method comprising:
receiving, by a firmware installed in a memory device, a command accessing a non-volatile storage area from a host processor, wherein the non-volatile storage area comprises a NAND Flash array;
generating, in response to receiving the command, a value from a physically unclonable function (PUF), the value comprising an output of a PUF;
generating, using a key generation circuit installed in the memory device, a cryptographic key using the value, wherein the PUF is hardwired to an input of the key generation circuit and wherein the key generation circuit comprises a hardware encryption engine integrated within a controller of the memory device;
storing the cryptographic key in a volatile storage area, the volatile storage area comprising one of a DRAM or SRAM storage area, the volatile storage accessible via the firmware; and
processing, by the firmware, the command using the cryptographic key, wherein processing the command comprises encrypting or decrypting data stored in the command prior to accessing the non-volatile storage area using the hardware encryption engine wherein the hardware encryption engine receives the cryptographic key directly from the key generation circuit via a hardware latch.
|