IP Library Granted Patent US 9,430,406
Granted Patent B2
US 9,430,406 · App. 14/426,728 · Granted Aug 30, 2016

System for generating a cryptographic key from a memory used as a physically unclonable function

Inventors: Erik Van Der Sluis (Utrecht, NL); Marten Van Hulst (Oisterwijk, NL)
Assignee: INTRINSIC ID B.V.
G06F12/1408H04L9/0869H04L9/3278G06F2212/1052H04L2209/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,430,406
App. No.
14/426,728
Granted
Aug 30, 2016
Kind
B2
Abstract

An electronic system 100 for generating a cryptographic key, the system comprising a memory 110 used as a physically unclonable function, the memory being writable, volatile and configured such that upon each powering-up of the memory the memory settles into a memory content which depends upon at least partially random physical characteristics of the memory, the memory being accessible through a memory interface, and a key derivation unit 150 configured to derive the cryptographic key from the memory content into which the memory settled, wherein the electronic system for generating a cryptographic key further comprises, a memory read-out unit connected to the memory through the memory interface and to the key derivation unit, the memory read-out unit comprising an address scrambler 140 for retrieving the memory content over the memory interface in a scrambled order.

Claims (52)

1. An electronic system for generating a cryptographic key, the system comprising:

a memory used as a physically unclonable function, the memory being writable, volatile and configured such that upon each powering-up of the memory the memory settles into a memory content which depends upon at least partially random physical characteristics of the memory, the memory being accessible through a memory interface;

a key derivation unit—configured to derive the cryptographic key from the memory content into which the memory settled; and

a memory read-out unit connected to the memory through the memory interface and to the key derivation unit, the memory read-out unit including:

an address scrambler for retrieving the memory content over the memory interface in a scrambled order,

an encryption unit for encrypting the memory, the encryption unit being configured to receive from the memory interface the memory content in the scrambled order, encrypt the received memory content and write hack the encrypted memory content to the memory, and

a decryption unit for decrypting the memory, configured to receive from the memory interface the encrypted memory content in a linear or sequential pre-determined further order, decrypt the received encrypted memory content to obtain the memory content in the further order.

2. The electronic system as in claim 1 , further comprising

a non-volatile helper-data memory, the helper-data memory storing helper data constructed for the memory used as a physically unclonable function,

a combiner for establishing a correctable bit-string, the correctable bit-string lying in a correctable neighborhood of an error correcting code, the combiner being configured to retrieve the helper data from the helper-data memory and to combine the retrieved helper data with the memory content into which the memory settled in the pre-determined further order obtained from the memory read-out unit, and

an error-corrector—configured to establish a code word of an error correcting code from the correctable bit-string using an error correcting algorithm.

3. The electronic system as in claim 2 , wherein:

the memory content is partitioned into code-word sized memory chunks, the error-corrector being configured to establish multiple code words from the correctable bit-string, each of the chunks being error corrected independently of the other chunks, and

the address scrambler is configured to generate a sequence of memory addresses of memory in a scrambled order, the sequence of memory addresses comprises multiple code sequences of sequential memory addresses corresponding to the memory chunks, the address scrambler generating the sequence of address such that each one of the multiple code sequences is generated together without being interleaved by addresses of a different one of the multiple code sequence.

4. The electronic system as in claim 1 , wherein the encryption unit is configured to write back the encrypted memory content to the memory in the scrambled order thereby overwriting the memory content with the encrypted memory content.

5. The electronic system as in claim 1 , wherein the scrambled order is derived from a seed at least partially randomly generated after each power-up of the read-out unit.

6. The electronic system as in claim 5 , wherein the read-out unit comprises a cryptographic one-way function configured to be applied to the seed to obtain a new seed, the address scrambler being configured to derive a new scrambled order from the new seed for re-fetching the memory content over the memory interface in the new scrambled order.

7. The electronic system as in claim 5 , wherein the read-out unit comprises a further volatile memory configured such that upon each powering-up of the further memory the second memory settles into a noisy memory content, the seed being derived from the memory content into which the second memory settled.

8. The electronic system as in claim 1 , further comprising an obfuscation unit, the obfuscation unit being configured to perform a number of additional obfuscating accesses to the memory, the obfuscating access being configured to reduce the correlation between photo-emissions from the memory and memory content in which the memory settled into at powering-up.

9. The electronic system as in claim 8 , wherein the obfuscation unit is configured to perform an obfuscating access to a memory location in the memory, the obfuscating access being performed after the encryption unit wrote encrypted memory content back to the memory location.

10. The electronic system as in claim 1 , wherein the memory used as a physically unclonable function is an SRAM memory.

11. The electronic system as in claim 1 , wherein the memory used as a physically unclonable function is volatile FPGA memory.

12. The electronic system as in claim 1 , comprised in an integrated circuit.

13. The electronic system as in claim 12 , wherein the integrated circuit is any one of a smart card, an ASSP, DSP, Application processor, SIM and NFC chip.

14. An electronic memory read-out unit for securely reading out a memory in a linear or sequential pre-determined further order, the memory being writable, the electronic memory read-out unit being connectable to the memory through a memory interface, the electronic memory read-out unit comprising:

an address scrambler configured to retrieve the memory content over the memory interface in a scrambled order,

an encryption unit for encrypting the memory, the encryption unit being configured to receive from the memory interface the memory content in the scrambled order, encrypt the received memory content and write back the encrypted memory content, and

a decryption unit for decrypting the memory, configured to receive from the memory interface the encrypted memory content in the further order, decrypt the received encrypted memory content to obtain the memory content in the further order.

15. A method for generating a cryptographic key, the method comprising:

powering-up of a memory used as a physically unclonable function, the memory being writable and volatile,

allowing the memory to settle into a memory content which depends upon at least partially random physical characteristics of the memory,

retrieving the memory content over a memory interface in a scrambled order,

encrypting the memory by:

receiving from me memory interface the memory content in the scrambled order,

encrypting the received memory content, and

writing back the encrypted memory content to the memory,

decrypting the memory by:

receiving from the memory interface the encrypted memory content in a linear or sequential pre-determined further order, and

decrypting the received encrypted memory content to obtain the memory content in the pre-determined further order; and

deriving a cryptographic key from the memory content into which the memory settled.

16. A non-transitory tangible computer readable storage medium comprising data loadable in a programmable apparatus, the data representing instructions executable by the programmable apparatus, said instructions being arranged to execute a method for generating a cryptographic key, the method comprising:

powering-up of a memory used as a physically unclonable function, the memory being writable and volatile,

allowing the memory to settle into a memory content which depends upon at least partially random physical characteristics of the memory,

retrieving the memory content over a memory interface in a scrambled order,

encrypting the memory by:

receiving from me memory interface the memory content in the scrambled order,

encrypting the received memory content, and

writing back the encrypted memory content to the memory,

decrypting the memory by:

receiving from the memory interface the encrypted memory content in a linear or sequential pre-determined further order, and

decrypting the received encrypted memory content to obtain the memory content in the pre-determined further order; and

deriving a cryptographic key from the memory content into which the memory settled.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2024
From: INTRINSIC ID B.V.
To: SYNOPSYS, INC.
Reel/Frame 067679/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2015
From: VAN DER SLUIS, ERIK; VAN HULST, MARTEN
To: INTRINSIC ID B.V.
Reel/Frame 036340/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 17, 2015
From: VAN DER SLUIS, ERIK; VAN HULST, MARTEN
To: INTRINSIC ID B.V.
Reel/Frame 035220/0588 →
Priority Claims (2)
EP 12187213 · Oct 4, 2012 · regional
EP 12194713 · Nov 29, 2012 · regional
Continuity (1)
Related Publication 20150234751A1 · Aug 20, 2015