# US 11,451,387 B2 · Cryptographic key generation and storage

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

- Number: US 11,451,387 B2
- Document ID: US11451387B2
- Status: Granted
- Kind: B2
- Application number: 17/250,089
- Filed: 2019-05-02
- Published: 2021-07-15
- Granted: 2022-09-20
- Earliest claimed: 2018-05-24
- Assignees: British Telecommunications public limited company
- Applicants: British Telecommunicatiosn Public Limited Company
- Inventors: Joshua Daniel; Ali Sajjad
- Web page: https://patentgrep.com/patent/US11451387B2

## CPC

- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/0877: {using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]}
- H04L 9/0897: {involving additional devices, e.g. trusted platform module [TPM], smartcard or USB}
- G06F 7/588: {Random number generators, i.e. based on natural stochastic processes}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer implemented method of generating cryptographic keys for a plurality of hardware security modules (HSMs), the method including generating a plurality of cryptographic keys for use by the HSMs in providing cryptography functions, wherein the cryptographic keys are generated based on numerical data generated by a hardware random number generator; and storing the generated cryptographic keys in a secure key store, such that a key in the key store utilized by an HSM is flagged as utilized to prevent other HSMs utilizing the same key, so as to provide a rate of generation and storage of the cryptographic keys unconstrained by the resources of any HSM.

## Claims

### Claim 1

A computer implemented method of generating cryptographic keys for a plurality of hardware security modules (HSMs), the method comprising:
generating a plurality of cryptographic keys for use by the plurality of HSMs in providing cryptography functions, wherein the plurality of cryptographic keys are generated based on numerical data generated by a hardware random number generator; and
storing the generated plurality of cryptographic keys in a secure key store, such that a key in the secure key store utilized by an HSM is flagged as utilized to prevent other HSMs from utilizing the same key, so as to provide a rate of generation and storage of the cryptographic keys unconstrained by resources of any HSM, wherein a key in the key store is utilized by a consuming HSM by storing the key in the consuming HSM at times when the HSM is operating in a low utilization state relative to an average utilization state of the HSM.

### Claim 2 (depends on 1)

The method of claim 1, wherein the storing is achieved by invoking a storage function of the HSM, and the key is flagged as utilized when the key is so stored in the consuming HSM.

### Claim 3 (depends on 1)

The method of claim 1, wherein the hardware random number generator operates based on a statistically random entropy data source originating from natural phenomena.

### Claim 4 (depends on 3)

The method of claim 3, wherein the natural phenomena include one or more of: one or more statistically random noise signals; or quantum phenomena.

### Claim 5 (depends on 4)

The method of claim 4, wherein the quantum phenomena are photoelectric effects.

### Claim 6

A computer system comprising:
a processor and memory storing computer program code for generating cryptographic keys for a plurality of hardware security modules (HSMs) by:
generating a plurality of cryptographic keys for use by the plurality of HSMs in providing cryptography functions, wherein the plurality of cryptographic keys are generated based on numerical data generated by a hardware random number generator; and
storing the generated plurality of cryptographic keys in a secure key store, such that a key in the secure key store utilized by an HSM is flagged as utilized to prevent other HSMs from utilizing the same key, so as to provide a rate of generation and storage of the cryptographic keys unconstrained by resources of any HSM, wherein a key in the key store is utilized by a consuming HSM by storing the key in the consuming HSM at times when the HSM is operating in a low utilization state relative to an average utilization state of the HSM.

### Claim 7 (depends on 1)

A non-transitory computer-readable storage medium storing a computer program element comprising computer program code to, when loaded into a computer system and executed thereon, cause the computer system to perform the method as claimed in claim 1.
