# US 11,444,780 B2 · Secure replaceable verification key architecture in a memory sub-system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,444,780 B2
- Document ID: US11444780B2
- Status: Granted
- Kind: B2
- Application number: 16/694,538
- Filed: 2019-11-25
- Published: 2020-11-26
- Granted: 2022-09-13
- Earliest claimed: 2019-05-21
- Assignees: Micron Technology, Inc.
- Applicants: Micron Technology, Inc.
- Inventors: Robert W. Strong; James Ruane
- Web page: https://patentgrep.com/patent/US11444780B2

## CPC

- H04L 9/3247: {involving digital signatures}
- H04L 9/006: {involving public key infrastructure [PKI] trust models (network architecture or network communication protocol for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 9/3268: {using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A processing device receives, from a host system, a key manifest and a digital signature generated based on the key manifest using a private key corresponding to a public/private key pair. The key manifest comprises one or more verification keys. The digital signature is verified using the public key and the processing device stores the key manifest in a persistent storage component in response to successful verification of the digital signature. The one or more verification keys are utilized in one or more verification operations based on the key manifest being stored in the persistent memory component.

## Claims

### Claim 1

A memory sub-system comprising:
at least one memory component to store a public key of a public/private key pair; and
a processing device, operatively coupled with the at least one memory component, to perform operations comprising:
receiving, from a host system, a key manifest and a digital signature, the digital signature being generated based on the key manifest using a private key corresponding to the public/private key pair, the key manifest comprising one or more verification keys and a security version, the security version comprising a major value and a minor value, the major value indicating whether one or more keys are being replaced or revoked due to a security event, the minor value indicating whether one or more keys are being replaced due to a non-security event;
verifying the digital signature using a public key of the public/private key pair;
validating the security version of the key manifest based on a comparison of the security version to a current security version associated with a previously stored key manifest, the validating of the security version of the key manifest comprises determining the major value of the security version is greater than or equal to a major value of the current security version associated with the previously stored key manifest;
storing the key manifest in a persistent storage component in response to successful verification of the digital signature and validation of the security version of the key manifest; and
utilizing the one or more verification keys in one or more verification operations based on the key manifest being stored in the persistent memory component.

### Claim 2 (depends on 1)

The memory sub-system of claim 1, wherein the storing of the key manifest in the persistent storage component comprises replacing one or more previously stored verification keys with the one or more verification keys.

### Claim 3 (depends on 1)

The memory sub-system of claim 1, wherein:
the memory component comprises an immutable storage component;
the public key corresponds to a key manifest verification key.

### Claim 4 (depends on 3)

The memory sub-system of claim 3, wherein the immutable storage component comprises one of a read only memory (ROM) component, a one-time programmable (OTP) circuit, an e-fuse, or a dedicated hardware component.

### Claim 5 (depends on 1)

The memory sub-system of claim 1, wherein the operations further comprise validating the key manifest prior to utilizing the one or more verification keys in a verification operation.

### Claim 6 (depends on 5)

The memory sub-system of claim 5, wherein the validating of the key manifest comprises validating a digital fingerprint associated with the key manifest.

### Claim 7 (depends on 1)

The memory sub-system of claim 1, wherein the key manifest further comprises one or more of manifest version a product identifier, a product variant, and a key type.

### Claim 8 (depends on 7)

The memory sub-system of claim 7, wherein the operations further comprise:
validating the product identifier and the product variant of the key manifest; and
validating the key type of the one or more verification keys included in the key manifest.

### Claim 9 (depends on 1)

The memory sub-system of claim 1, wherein the persistent memory component comprises one of: a negative-and (NAND) type memory component, a negative-or (NOR) memory component, a one-time programmable (OTP) circuit, or an e-fuse.

### Claim 10

A method comprising:
receiving, at processing device of a memory sub-system, from a host system, a key manifest and a digital signature, the digital signature being generated based on the key manifest using a private key corresponding to a key pair, the key pair comprising the private key and a public key stored in an immutable storage component of the processing device, the key manifest comprising one or more verification keys and a security version, the security version comprising a major value and a minor value, the major value indicating whether one or more keys are being replaced or revoked due to a security event, the minor value indicating whether one or more keys are being replaced due to a non-security event;
verifying the digital signature using a public key of the key pair;
validating the security version of the key manifest based on a comparison of the security version to a current security version associated with a previously stored key manifest, the validating of the security version of the key manifest comprises determining the major value of the security version is greater than or equal to a major value of the current security version associated with the previously stored key manifest;
storing the key manifest in a persistent storage component in response to successful verification of the digital signature and validation of the security version of the key manifest; and
utilizing the one or more verification keys in one or more verification operations based on the key manifest being stored in the persistent memory component.

### Claim 11 (depends on 10)

The method of claim 10, wherein the storing of the key manifest in the persistent storage component comprises replacing one or more previously stored verification keys with the one or more verification keys.

### Claim 12 (depends on 10)

The method of claim 10, further comprising validating a digital fingerprint associated with the key manifest prior to utilizing the one or more verification keys in the one or more verification operations.

### Claim 13 (depends on 10)

The method of claim 10, wherein the persistent memory component comprises one of: a negative-and (NAND) type memory component, a negative-or (NOR) memory component, a one-time programmable (OTP) circuit, or an e-fuse.

### Claim 14 (depends on 10)

The method of claim 10, wherein the key manifest further comprises one or more of: a manifest version, a product identifier, a product variant, and a key type.

### Claim 15 (depends on 14)

The method of claim 14, wherein the operations further comprise:
validating the product identifier and the product variant of the key manifest; and
validating the key type of the one or more verification keys included in the key manifest.

### Claim 16 (depends on 10)

The method of claim 10, wherein the persistent memory component comprises one of: a negative-and (NAND) type memory component, a negative-or (NOR) memory component, a one-time programmable (OTP) circuit, or an e-fuse.

### Claim 17

A memory sub-system comprising:
at least one memory component to store a set of key manifest verification keys; and
a processing device, operatively coupled with the at least one memory component, to perform operations comprising:
receiving, from a host system, a key manifest and a digital signature, the digital signature being generated based on the key manifest using a private key corresponding to a public/private key pair, the key manifest including a security version and specifying a first key manifest verification key from the set of key manifest verification keys to be revoked, the security version comprising a major value and a minor value, the major value indicating whether one or more keys are being replaced or revoked due to a security event, the minor value indicating whether one or more keys are being replaced due to a non-security event;
verifying the digital signature using a public key of the public/private key pair;
validating the security version of the key manifest based on a comparison of the security version to a current security version associated with a previously stored key manifest, the validating of the security version of the key manifest comprises determining the major value of the security version is greater than or equal to a major value of the current security version associated with the previously stored key manifest; and
based on successful verification of the digital signature and validation of the security version, revoking the first key manifest verification key.

### Claim 18 (depends on 17)

The memory sub-system of claim 17, wherein the revoking of the first key manifest verification key comprises updating a revocation map to indicate that the first key manifest verification key has been revoked.

### Claim 19 (depends on 17)

The memory sub-system of claim 17, wherein:
the at least one memory component comprises at least one of a read only memory (ROM) component, a one-time programmable (OTP) circuit, an e-fuse, or a dedicated hardware component; and
the public key comprises a second key manifest verification key from the set of key manifest verification keys.

### Claim 20 (depends on 17)

The memory sub-system of claim 17, wherein the key manifest further comprises one or more of: a manifest version, a product identifier, a product variant, and a key type.
