Method for performing multiple enrollments of a physically uncloneable function

US10146464B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10146464-B2
Application numberUS-201615198104-A
CountryUS
Kind codeB2
Filing dateJun 30, 2016
Priority dateJun 30, 2016
Publication dateDec 4, 2018
Grant dateDec 4, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data processing system having a PUF and method for providing multiple enrollments, or instantiations, of the PUF are provided. A PUF segment includes a plurality of SRAM cells on an integrated circuit. A PUF response from the PUF segment is used to create a first activation code and a first PUF key. A second PUF key may be created from the PUF response. Initially, during a second enrollment, the PUF response is combined with the first activation code to reproduce a codeword. The first secret string is reconstructed by encoding the codeword. The codeword is combined with the first activation code to reproduce the PUF response. Inverse anti-aging is applied to the PUF response. Then a second secret string is generated using a random number generator (RNG). The second secret string is encoded to produce a new codeword. The new codeword is combined with the recovered PUF response to create a second activation code. The second activation coded is hashed with the second secret string to provide a second PUF key.

First claim

Opening claim text (preview).

What is claimed is: 1. In a data processing system comprising a physically uncloneable function (PUF), a method comprising: initializing the PUF with a first enrollment to produce a PUF response, a first activation code, and a first PUF key; combining, using a processor of the data processing system, the first activation code with the PUF response to reproduce a codeword used in the first enrollment; reconstructing, using the processor, a first secret string used in the first enrollment by encoding the reproduced codeword; combining, using the processor, the first activation code with the reproduced codeword to provide a reproduced PUF response that is substantially the same as the PUF response; generating a second secret string using a random number generator of the data processing system; encoding, using the processor, the second secret string to produce a new codeword; combining the new codeword with the reproduced PUF response, using the processor, to create a second activation code; and hashing the second secret string with the second activation code to provide a second PUF key, wherein the second PUF key is created using the same PUF as the first PUF key, and wherein the first and second PUF keys are used to make one or more portions of the data processing system securely accessible by multiple parties without compromising the security of any of the parties. 2. The method of claim 1 , wherein the PUF is a portion of a static random access memory (SRAM) array, and wherein the PUF response is output from the portion of the SRAM array. 3. The method of claim 1 , wherein the first activation code is stored in a memory characterized as being secure. 4. The method of claim 1 , wherein combining the first activation code with the PUF response further comprises using an exclusive-OR logical operation for the combining. 5. The method of claim 1 , further comprising: inverting the reproduced PUF response to produce an inverted reproduced PUF response; and inverting the inverted reproduced PUF response to recover the reproduced PUF response. 6. The method of claim 1 , wherein after the second enrollment, a method for a second reconstruction to reconstruct the second PUF key, the method comprising: combining the second activation code with the reproduced PUF response to reproduce the new codeword; reconstructing the second secret string by encoding the new codeword; and hashing the reconstructed second secret string with the second activation code to reproduce the second PUF key. 7. The method of claim 1 , wherein combining the first activation code with the PUF response to produce a codeword further comprises applying error correction to the reproduced codeword. 8. The method of claim 1 , wherein the method is embodied in software stored in non-transitory storage media on an integrated circuit. 9. A method for creating first and second keys from a physically uncloneable function (PUF) on an integrated circuit, the method comprising: Initializing using a processor implemented on the integrated circuit, the PUF to produce a PUF response; generating a first secret string using a random number generator implemented on the integrated circuit; encoding, using the processor, the first secret string to produce a codeword; combining, using the processor, the codeword with the PUF response to create a first activation code; hashing, using the processor, the first activation code with the first secret string to provide the first key; combining, using the processor, the first activation code with the PUF response to provide a reproduced codeword that is substantially the same as the codeword; reconstructing, using the processor, a first secret string by encoding the reproduced codeword; combining, using the processor, the first activation code with the reproduced codeword to provide a reproduced PUF response that is substantially the same as the PUF response; generating a second secret string using a random number generator implemented on the integrated circuit; encoding, using the processor, the second secret string to produce a new codeword; combining, using the processor, the new codeword with the produced PUF response to create a second activation code; and hashing, using the processor, the second secret string with the second activation code to provide the second key, wherein the first and second keys are created using the same PUF, and wherein the first and second PUF keys are used to make one or more portions of the data processing system securely accessible by multiple parties without compromising the security of any of the parties. 10. The method of claim 9 , wherein the method is embodied in software stored in non-transitory storage media on the integrated circuit to be executed by the processor. 11. The method of claim 9 , wherein the PUF is a portion of a static random access memory (SRAM), and wherein the PUF response is output from the portion of the SRAM. 12. The method of claim 9 , wherein the first and second activation codes are stored in memory on the integrated circuit, wherein the memory is characterized as being secure. 13. The method of claim 9 , wherein each of the steps of combining further comprises using an exclusive-OR operation to do the combining. 14. The method of claim 9 , further comprising applying error correction to the reproduced codeword. 15. The method of claim 9 , further comprising: applying anti-aging to the PUF response; and applying inverse anti-aging to the anti-aged PUF response. 16. A data processing system having a physically uncloneable function (PUF), the instructions stored in non-transitory storage media and comprising: initializing the PUF to produce a PUF response, a first activation code, and a first PUF key; instructions for combining the first activation code with the PUF response to reproduce a codeword; instructions for reconstructing a first secret string used in the first enrollment by encoding the reproduced codeword; instructions for combining the first activation code with the reproduced codeword to provide a reproduced PUF response that is substantially the same as the PUF response; instructions for generating a second secret string using a random number generator; instructions for encoding the second secret string to produce a new codeword; instructions for combining the new codeword with the reproduced PUF response to create a second activation code; and instructions for hashing the second secret string with the second activation code to provide a second PUF key, wherein the first and second PUF keys are created using the same PUF, and wherein the first and second PUF keys are used to make one or more portions of the data processing system securely accessible by multiple parties without compromising the security of any of the parties. 17. The data processing system of claim 16 , wherein the PUF is a portion of a static random access memory (SRAM). 18. The data processing system of claim 16 , further comprising: instructions for applying anti-aging to the PUF response; and instructions for applying inverse anti-aging the anti-aged PUF response. 19. The data processing system of claim 16 , wherein the first and second activation codes are stored in memory, wherein the memory is characterized as being secure. 20. The data processing system of claim 16 , further comprising instructions for applying error correction to the reproduced codeword.

Assignees

Inventors

Classifications

  • Generation of secret information including derivation or calculation of cryptographic keys or passwords · CPC title

  • G09C1/00Primary

    Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system (cryptographic typewriters G09C3/00) · CPC title

  • Configuration or reconfiguration of storage systems · CPC title

  • involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics · CPC title

  • G06F3/0622Primary

    in relation to access · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10146464B2 cover?
A data processing system having a PUF and method for providing multiple enrollments, or instantiations, of the PUF are provided. A PUF segment includes a plurality of SRAM cells on an integrated circuit. A PUF response from the PUF segment is used to create a first activation code and a first PUF key. A second PUF key may be created from the PUF response. Initially, during a second enrollment, …
Who is the assignee on this patent?
Nxp Bv
What technology area does this patent fall under?
Primary CPC classification G09C1/00. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Dec 04 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).