Cryptographic management of lifecycle states
AssigneeRambus Inc.
InventorsAmbuj Kumar, Ronald Perez
Life of this patent
Estimating the term…
Abstract
A secret key value that is inaccessible to software is scrambled according to registers consisting of one-time programmable (OTP) bits. A first OTP register is used to change the scrambling of the secret key value whenever a lifecycle event occurs. A second OTP register is used to undo the change in the scrambling of the secret key. A third OTP register is used to affect a permanent change to the scrambling of the secret key. The scrambled values of the secret key (whether changed or unchanged) are used as seeds to produce keys for cryptographic operations by a device.
Claims20
An integrated circuit, comprising:
- circuitry to provide a secret key value, the secret key value not accessible to software controlling the integrated circuit;
- one-time programmable memory bits, each one-time programmable memory bit being limited to one change in value from a respective initial value, the one-time programmable memory bits including lifecycle advance bits stored by a first subset of the one-time programmable memory bits, lifecycle rollback bits stored by a second subset of the one-time programmable memory bits, and personality bits stored by a third subset of the one-time programmable memory bits;
- lifecycle value generating circuitry configured to, using a lifecycle value generating process, generate lifecycle values from lifecycle advance values stored by the lifecycle advance bits and lifecycle rollback values stored by the lifecycle rollback bits;
- one-way function circuitry to, using a one-way processing function, generate key split values based on personality bit values, lifecycle values, and the secret key value;
- and,
- key amalgamation circuitry to generate, based on the key split values, a plurality of encryption key values.
A computer-readable medium storing a representation of a circuit component comprising:
- circuitry to provide a secret key value, the secret key value not accessible to software controlling the integrated circuit;
- one-time programmable memory bits, each one-time programmable memory bit being limited to one change in value from a respective initial value, the one-time programmable memory bits to include lifecycle advance bits stored by a first subset of the one-time programmable memory bits, lifecycle rollback bits stored by a second subset of the one-time programmable memory bits, and personality bits stored by a third subset of the one-time programmable memory bits;
- lifecycle value generating circuitry to, using a lifecycle value generating process, generate lifecycle values from lifecycle advance values stored by the lifecycle advance bits and lifecycle rollback values stored by the lifecycle rollback bits, the lifecycle values to include a first lifecycle state value generated from a first lifecycle advance value and a first lifecycle rollback value;
- one-way function circuitry to, using a one-way processing function, generate key split values based on personality bit values, lifecycle values, and the secret key value, the key split values to include a first key split value based on the secret key value, a first personality value, and the first lifecycle state value;
- and,
- key amalgamation circuitry to generate, based on the key split values, a plurality of encryption key values, the plurality of encryption key values to include a first encryption key generated from the first key split value.
An integrated circuit, comprising:
- one-time programmable memory bits, each one-time programmable memory bit being limited to one change in value from a respective initial value, the one-time programmable memory bits including lifecycle advance bits stored by a first subset of the one-time programmable memory bits, lifecycle rollback bits stored by a second subset of the one-time programmable memory bits, and personality bits stored by a third subset of the one-time programmable memory bits;
- lifecycle value generating circuitry configured to, using a lifecycle value generating process, generate lifecycle values from lifecycle advance values stored by the lifecycle advance bits and lifecycle rollback values stored by the lifecycle rollback bits;
- one-way function circuitry to, using a one-way processing function, generate key split values based on personality bit values, lifecycle values, and the secret key value;
- and,
- key amalgamation circuitry to generate, based on the key split values, a plurality of encryption key values.
Dependencies are inferred from the claim text.