# US 12,225,111 B2 · Authorization requests from a data storage device to multiple manager devices

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

- Number: US 12,225,111 B2
- Document ID: US12225111B2
- Status: Granted
- Kind: B2
- Application number: 17/689,821
- Filed: 2022-03-08
- Published: 2023-09-14
- Granted: 2025-02-11
- Earliest claimed: 2022-03-08
- Assignees: SanDisk Technologies LLC
- Applicants: Western Digital Technologies, Inc.
- Inventors: Brian Edward Mastenbrook; John So; David Robert Arnold
- Web page: https://patentgrep.com/patent/US12225111B2

## CPC

- H04L 9/0825: {using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates}
- H04L 9/0822: {using key encryption key}
- H04L 9/0841: {involving Diffie-Hellman or related key agreement protocols}
- H04L 9/085: {Secret sharing or secret splitting, e.g. threshold schemes}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- H04L 9/14: using a plurality of keys or algorithms
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 9/3265: {using certificate chains, trees or paths; Hierarchical trust model}
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed herein is a data storage device. A data port transmits data between a host computer system and the data storage device. A non-volatile storage medium stores encrypted user content data and a cryptography engine connected between the data port and the storage medium uses a cryptographic key to decrypt the encrypted user content data. Multiple manager device records each comprise a first key identical for each of the records, and a second key that different for each of the records. The controller generates an authorization request using the first key and receives a response to the request generated by a manager device. The response is specific to that manager device. The controller uses the response to locate the record; decrypts the located manager device record to obtain key data; and generates configuration data based on the key data to register the device.

## Claims

### Claim 1

A data storage device comprising:
a data path comprising:
a data port configured to transmit data between a host computer system and the data storage device;
a non-volatile storage medium configured to store encrypted user content data; and
a cryptography engine connected between the data port and the non-volatile storage medium, wherein the cryptography engine is configured to use a cryptographic key to decrypt the encrypted user content data stored on the non-volatile storage medium in response to a request from the host computer system; and
an access controller hardware circuitry configured to:
generate multiple manager device records, each manager device record of the multiple manager device records corresponding to one manager device of multiple different manager devices, wherein each manager device record of the multiple manager device records comprises:
a first key that is identical for each manager device of the multiple manager device records, and
a second key that is different for each manager device of the multiple manager device records;
upon a device to be authorized requesting to be registered as an authorized device, generate an authorization request based on the first key that is identical for each manager device record of the multiple manager device records, wherein the authorization request comprises an unlock blinding key usable by each manager device to determine an ephemeral unlock key from an ephemeral unlock key pair for the authorization request;
provide a challenge for each manager device in the authorization request, the challenge comprising a blinded public key of the ephemeral unlock key pair;
receive a response to the challenge generated by that one manager device, wherein the response comprises the blinded public key multiplied by a device-specific private key stored on that one manager device;
generate a shared secret based on the blinded public key multiplied by the device-specific private key;
encrypt and store key data using the shared secret;
after encrypting the key data, discard the shared secret;
receive a response to the authorization request generated by one manager device of the multiple different manager devices, wherein the response is specific to that one manager device of the multiple different manager devices and comprises a response value based on the ephemeral unlock key and a device-specific private key for that one manager device;
use at least part of the response to locate one manager device record of the multiple manager device records associated with that one manager device of the multiple different manager devices that generated the response and decrypt part of the located manager device record to obtain key data; and
generate configuration data based on the key data to register the device to be authorized as an authorized device, wherein:
the host computer system is a first device;
the multiple different manager devices are multiple second devices; and
the device to be authorized is a third device.

### Claim 2 (depends on 1)

The data storage device of claim 1, wherein the key data is encrypted by a shared secret that is different for each of the multiple manager device records.

### Claim 3 (depends on 2)

The data storage device of claim 2, wherein:
the first key is a first public key;
the second key is a second public key; and
the shared secret is based on the first public key and a second private key corresponding to the second public key.

### Claim 4 (depends on 3)

The data storage device of claim 3, wherein the first key is a public key corresponding to a private key that is discarded.

### Claim 5 (depends on 4)

The data storage device of claim 4, wherein the second key, stored in each of the manager device records, is a public key corresponding to a private key stored on the corresponding manager device.

### Claim 6 (depends on 1)

The data storage device of claim 1, wherein
the second key is a public key corresponding to the device-specific private key and the authorization request comprises a public key corresponding to a private ephemeral unlock key of the ephemeral unlock key pair;
the response comprises the public key corresponding to the private ephemeral unlock key multiplied by the device-specific private key; and
generating the shared secret is based on the public key corresponding to the private ephemeral unlock key multiplied by the device-specific private key.

### Claim 7 (depends on 6)

The data storage device of claim 6, wherein:
the public key corresponding to the private ephemeral unlock key in the authorization request is blinded by the unlock blinding key; and
the access controller hardware circuitry is further configured to unblind the public key corresponding to the private ephemeral unlock key multiplied by the device-specific private key.

### Claim 8 (depends on 7)

The data storage device of claim 7, wherein the unlock blinding key is included, in encrypted form, in the authorization request and the response.

### Claim 9 (depends on 8)

The data storage device of claim 8, wherein the access controller hardware circuitry is configured to discard the unlock blinding key after generating the authorization request.

### Claim 10 (depends on 1)

The data storage device of claim 1, wherein the response comprises an identifier of one manager device record of the multiple manager device records and the access controller hardware circuitry is further configured to use the identifier to locate the one manager device record of the multiple manager device records.

### Claim 11 (depends on 10)

The data storage device of claim 10, wherein the access controller hardware circuitry is further configured to store the multiple manager device records in a list and the identifier is a record number of the list.

### Claim 12 (depends on 11)

The data storage device of claim 11, wherein the identifier is included in the response in a certificate generated by the access controller hardware circuitry and provided to that one manager device at registration of that one manager device as a manager device.

### Claim 13 (depends on 12)

The data storage device of claim 12, wherein the access controller hardware circuitry is further configured to authenticate the certificate and generate the configuration upon successful authentication.

### Claim 14 (depends on 1)

The data storage device of claim 1, wherein the access controller hardware circuitry is further configured to generate multiple request records to store request data indicative of multiple respective authorization requests in a non-volatile memory of the data storage device.

### Claim 15 (depends on 14)

The data storage device of claim 14, wherein the access controller hardware circuitry is further configured to:
upon receiving the response, locate one request record of the multiple request records that relates to the device to be authorized; and
generate the configuration data based on the one located request record.

### Claim 16 (depends on 15)

The data storage device of claim 15, wherein the multiple request records are encrypted using the key data decrypted from the located manager device record.

### Claim 17 (depends on 15)

The data storage device of claim 15, wherein:
the access controller hardware circuitry is further configured to locate the one request record of the multiple request records by generating a search index and searching the multiple request records for the search index; and
generating the search index is based on a private key stored on the device to be authorized and a public key stored in the non-volatile memory of the data storage device.

### Claim 18

A method performed by an access controller of a data storage device the method comprising:
generating multiple manager device records, each manager device record of the multiple manager device records corresponding to one manager device of multiple different manager devices, wherein each manager device record of the multiple manager device records comprises:
a first key that is identical for each manager device of the multiple manager device records, and
a second key that is different for each manager device of the multiple manager device records;
upon a device to be authorized requesting to be registered as an authorized device, generating an authorization request based on the first key that is identical for each manager device of the multiple manager device records, wherein the authorization request comprises an unlock blinding key usable by each manager device to determine an ephemeral unlock key from an ephemeral unlock key pair for the authorization request;
providing a challenge for each manager device in the authorization request, the challenge comprising a blinded public key of the ephemeral unlock key pair;
receiving a response to the challenge generated by that one manager device, wherein the response comprises the blinded public key multiplied by a device-specific private key stored on that one manager device;
generating a shared secret based on the blinded public key multiplied by the device-specific private key;
encrypting and storing key data using the shared secret;
after encrypting the key data, discarding the shared secret;
receiving a response to the authorization request generated by one manager device of the multiple different manager devices, wherein the response is specific to that one manager device of the multiple different manager devices and comprises a response value based on the ephemeral unlock key and a device-specific private key for that one manager device;
using at least part of the response to locate one manager device record of the multiple manager device records associated with that one manager device of the multiple different manager devices that generated the response;
decrypting at least part of the located manager device record to obtain key data; and
generating configuration data based on the key data to register the device to be authorized as an authorized device for enabling a cryptography engine in the data storage device to decrypt encrypted user content data on a non-volatile storage medium of the data storage device for access by a host computer system, wherein:
the host computer system is a first device;
the multiple different manager devices are multiple second devices; and
the device to be authorized is a third device.

### Claim 19

A data storage device comprising:
a data path comprising:
a data port configured to transmit data between a host computer system and the data storage device;
a non-volatile storage medium configured to store encrypted user content data; and
a cryptography engine connected between the data port and the non-volatile storage medium, wherein the cryptography engine is configured to use a cryptographic key to decrypt the encrypted user content data stored on the non-volatile storage medium in response to a request from the host computer system;
means for generating multiple manager device records, each manager device record of the multiple manager device records corresponding to one manager device of multiple different manager devices, wherein each manager device record of the multiple manager device records comprises:
a first key that is identical for each manager device of the multiple manager device records, and
a second key that is different for each manager device of the multiple manager device records;
means for, upon a device to be authorized requesting to be registered as an authorized device, generating an authorization request based on the first key that is identical for each manager device of the multiple manager device records, wherein the authorization request comprises an unlock blinding key usable by each manager device to determine an ephemeral unlock key from an ephemeral unlock key pair for the authorization request;
means for providing a challenge for each manager device in the authorization request, the challenge comprising a blinded public key of the ephemeral unlock key pair;
means for receiving a response to the challenge generated by that one manager device, wherein the response comprises the blinded public key multiplied by a device-specific private key stored on that one manager device;
means for generating a shared secret based on the blinded public key multiplied by the device-specific private key;
means for encrypting and storing key data using the shared secret;
means for, after encrypting the key data, discarding the shared secret;
means for receiving a response to the authorization request generated by one manager device of the multiple different manager devices, wherein the response is specific to that one manager device of the multiple different manager devices and comprises a response value based on the ephemeral unlock key and a device-specific private key for that one manager device;
means for using at least part of the response to locate one manager device record of the multiple manager device records associated with that one manager device of the multiple different manager devices that generated the response;
means for decrypting part of the located manager device record to obtain key data; and
means for generating configuration data based on the key data to register the device to be authorized as an authorized device, wherein
the host computer system is a first device;
the multiple different manager devices are multiple second devices; and
the device to be authorized is a third device.
