Electronic system and root key extractor in which a PUF-based root key is intertwined with a plurality of digital input sequences

JP7638427B2Active Publication Date: 2025-03-03INTELLIGENT INFORMATION SECURITY TECHNOLOGY INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024103384
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2023-06-29
Filing Date
2024-06-26
Publication Date
2025-03-03
Estimated Expiration
2044-06-26

AI Technical Summary

Benefits of technology

【0010】 第1の態様では、本発明に係る電子システムは、電源サイクルに依存する複数の真ランダムキーおよび真性乱数を生成することができ、デバイスのライフサイクル全体にわたって固定されているわけではない。この特徴は、通常、電源サイクルに依存するか、または単一の固定ルートキーの生成に依存する従来のPUF技術に対して顕著な利点を有する。よって、複数の真ランダムルートキーを作成し、回復することができる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007638427000001
    Figure 0007638427000001
  • Figure 0007638427000002
    Figure 0007638427000002
  • Figure 0007638427000003
    Figure 0007638427000003
Patent Text Reader

Abstract

To relate to a system for entangling multiple root keys with user-defined and self-generated input data using a Physically Unclonable Function (PUF) and a proposed digital algorithmic system.SOLUTION: A key innovation lies in the combination of a PUF-based dynamically measurable entropy source and the proposed invention, enabling the generation of multiple true random keys. These keys serve as a secure foundation for establishing cryptographic channels, allowing the creation of isolated secure channels for different stakeholders and applications. The ability to create isolated secure channels with multiple root keys enables the establishment of multiple roots of trust, enhancing the integrity and security of cryptographic operations. The invention finds applications in various domains, such as FIDO authentications, point-to-point encryptions, crypto wallets, and encryption key management systems.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to information security, and more specifically to the digital circuitry of a method used to digitally entangle a single root key obtained from a Physical Unclonable Function (PUF) with multiple digital inputs external to the PUF system. [Background technology]

[0002] In the prior art, PUF circuits are intended to be used to create, update, or retrieve a unique truly random digital sequence, commonly referred to as a root key, of a particular bit length. The root key is generated and obtained based on the truly random behavior of an entropy source that is composed of multiple entropy source elements, each of which exhibits unpredictable binary state output behavior due to nanoscale variations in semiconductor technology. Thus, the entropy source has a particular static entropy behavior and a particular dynamic entropy behavior, where the static entropy allows for convergence to a state that allows successful creation and retrieval of the unique root key, and the dynamic entropy allows for successful creation of truly random numbers for the purpose of security functions.

[0003] In the prior art, the stability of the entropy source is not completely stable, and an additional calculation engine, namely a fuzzy extraction calculation engine, is required to extract the unique root key by digital correction and specific checkpoint data, also called auxiliary data. The auxiliary data is generated during the generation of the unique root key and is used as an input to the fuzzy extraction calculation engine to correct the random fluctuations from the entropy source, so that the correct root key is always obtained at every search. The auxiliary data itself is not sensitive data and may be stored outside the security boundary of the device, and the auxiliary data is only available and compatible with the specific entropy source within the security boundary of the hardware. Summary of the Invention [Problem to be solved by the invention]

[0004] One of the major drawbacks of the related prior art stems from the constraints of the actual circuit implementation of these systems, which limit the ability of the PUF-based root key to be associated with direct inputs from users and / or custom applications. In practice, the auxiliary data is relatively long compared to strong passwords or digital tokens, and is usually limited to sequences of 32 or 64 bytes. A device that obtains one or more root keys in such a PUF system integrates the storage of these auxiliary data, avoiding the need for users or applications to manage and load these redundant data themselves. Thus, users and / or applications using the root key cannot solve the problem of intertwining a specific PUF root key with other digital inputs (usually system passwords or digital tokens), which are outside the scope of the PUF, and any such ideal secure access credentials must be verified or authenticated by an external security module, the latter being the most secure component of a trusted internal system. As a result, an optimal system can provide custom inputs to users and / or applications for direct locking and unlocking mechanisms of specific root keys.

[0005] To overcome these shortcomings and provide a useful intertwining of user and / or application custom inputs to a specific root key, and to establish systems such as password-free PUF authentication or token PUF identity authentication, it was necessary to design a PUF root key creation and retrieval structure to reach all levels of electronic security, from root functions (such as secure boot and firmware protection) to execution security applications (password authentication such as multi-factor authentication), while expanding the potential applications of PUF systems by allowing additional digital inputs in addition to the existing auxiliary data. [Means for solving the problem]

[0006] According to the above problem, the present invention discloses an electronic system and root key extractor for generating truly random numbers while entangling multiple root keys by a physically unclonable function (PUF) and a proposed digital algorithm system. The present invention has advantages over conventional PUF technology, including the ability to create and recover multiple truly random root keys and truly random numbers without being affected by power cycles. These features provide enhanced security, the ability to create isolated secure channel digital certificates, and flexible key management throughout the device lifecycle. In the electronic device of the present invention, multiple root keys are used to entangle with multiple arbitrary user-defined and self-generated input data. The present invention achieves the entanglement by a physically unclonable function (PUF) and a proposed digital algorithm system.

[0007] To achieve the above object, the present invention provides an electronic system for creating and recovering a number of unique digital sequences, called root keys, with multiple input sources, both internal and external to the host system, that provide input for a cryptographic service module, where the electronic system includes an input source of a physical unclonable function, a root key extractor, a set of encrypted digital inputs, a set of auxiliary data, and a cryptographic service module. First, the input source of the physical unclonable function outputs different bitstream PUF raw data for each different measurement request, which can be requested at any time independent of power cycles. Second, the root key extractor generates both the root key and the associated digital auxiliary data in a registration mode, and adds and entangles the root key with new associated digital auxiliary data according to new user input in an update mode to recover the root key generated by the appropriate valid input and the raw data of the PUF. Furthermore, encrypted digital inputs, called tokens, can be established from various sources, can be stored or volatile, and digital sequences corresponding to a particular bit length can be accessed by the root key extractor. Also, each section of the set of auxiliary data is associated with a particular root key and one or more any encrypted digital inputs, and can be accessed by the root key extractor. The cryptographic service module also uses as input the root key created or recovered by the root key extractor.

[0008] In one embodiment, the inputs of the root key extractor consist of: a constant number of bit streams from the source of the true random numbers and the raw data of the PUF used to generate the original true random root key; a digital input sequence of any bit length from any user-defined digital input and from various sources; a specific portion of auxiliary data generated during the root key enrollment process or updated during the update process and used as input in the root key recovery or update process, intertwined with the specific user-defined digital input; and a specific portion of auxiliary data stored locally or externally.

[0009] In order to achieve another object of the invention, the present invention discloses a root key extractor for extracting multiple unique and specific digital root keys with multiple non-random and random digital inputs, and generating digital output and its own digital input auxiliary data. The root key extractor includes a key extractor controller, a key derivation function unit, a true random number generator, a fuzzy extractor, a message authentication code unit, a format-preserving encryption unit, and a memory storage. First, the key extractor controller is a digital circuit that is responsible for managing the input and output messages of the system, and controls the sequence of data and the operation flow between each unit that constitutes the root key extractor. Second, the key derivation function unit generates a unique random key for encrypting a specific root key generated during registration by the true random number generator, and receives as inputs a user-defined digital input, a true random number, and a discrete measured version of the source data of a PUF that is different for each measurement. Furthermore, the true random number generator uses a certain number of inputs from the PUF source to generate as many true random numbers as the system requires, thereby generating the original root key and creating the random vector used in the auxiliary data of the root key recovery process. Furthermore, the fuzzy extractor can generate a specific vector from a version of the raw data of the PUF source during enrollment, and use the latest specific vector to correct a new version of the PUF source data to the initial data measured and used during enrollment, thereby creating the root key. Furthermore, the message authentication code unit generates a vector used to verify the specific key based on a specific bit stream from the PUF source, directly from the PUF source during enrollment, and based on a bit stream obtained from the correction mechanism of the fuzzy extractor during recovery. Furthermore, the format-preserving encryption unit is used as a symmetric encryption and decryption unit, which encrypts the root key of the auxiliary data during enrollment, and decrypts and outputs the root key after the message authentication code unit verifies the successful recovery.Further, the memory storage accesses a set of auxiliary data during enrollment and is used for reading in a write operation mode and a recovery mode, and stores digital values ​​created by the fuzzy extractor, the format-preserving encryption unit, the true random number generator and the message authentication code unit. The root key extractor generates a root key according to an input in the enrollment mode, recovers the original root key generated based on the same predictable digital input and a different unpredictable digital input from a PUF source having a certain number of bit variations in the recovery mode, and adds an additional root key digital input entanglement in the update mode by combining the enrollment mode and the recovery mode. Effect of the Invention

[0010] In a first aspect, the electronic system of the present invention is capable of generating multiple truly random keys and numbers that are power cycle dependent and not fixed over the lifecycle of the device. This feature has a significant advantage over conventional PUF technologies that are typically power cycle dependent or rely on the generation of a single fixed root key. Thus, multiple truly random root keys can be created and recovered.

[0011] In a second aspect, unlike conventional PUF techniques that generate a single root key during device initialization, the present invention enables the generation of multiple root keys that are mathematically unrelated in a Key Derivation Function (KDF), thereby reducing the risk of a key being compromised and creating isolated secure channels for different stakeholders and applications, thereby enhancing security.

[0012] The dynamic nature of the PUF system disclosed in this invention provides additional benefits. It allows for the continuous generation of truly random numbers, facilitating the generation of new cryptographic keys, random numbers, or other cryptographic parameters as needed, eliminating reliance on fixed or pre-generated random number seeds, and improving overall security. In turn, the ability to generate multiple truly random keys improves the integrity and security of cryptographic operations, enables the creation of isolated secure channel digital credentials for different stakeholders and applications, and facilitates the establishment of multiple roots of trust. This capability significantly enhances overall security and enables secure communication and identity authentication in a variety of areas, including FIDO authentication, peer-to-peer encryption, crypto wallets, and cryptographic key management systems.

[0013] Furthermore, the flexibility to update and change the root key throughout the device's lifecycle further enhances security. In contrast to PUF technology with a fixed root key, the present invention allows the root key to be rotated as needed, reducing the impact of key corruption or algorithm vulnerabilities. The integration disclosed in the present invention is very straightforward, requires only minimal design changes, and is designed to be compatible with standard processor units (CPU, MCU, GPU, etc.), reducing integration costs and facilitating widespread adoption. It can be seamlessly integrated into existing electronic devices without significant additional cost or complexity. [Brief description of the drawings]

[0014] [Figure 1] FIG. 1 is a schematic diagram showing an electronic system integrating the encryption function, fuzzy extractor and entropy of a dynamically measurable physically unclonable function according to the present invention; [Diagram 2] FIG. 2 is a schematic diagram showing an array structure of physically unclonable functional units according to the present invention; [Figure 3A] FIG. 2 is a schematic diagram illustrating the system architecture and communication paths between the respective subsystems of the root key extractor according to the present invention. [Figure 3B] FIG. 3B is a schematic diagram showing the relationship between inputs, outputs, and generated root keys specified in the root key registration procedure of a system designed as in FIG. 3A. [Figure 3C] FIG. 3B is a schematic diagram showing the relationship between inputs, outputs, and generated root keys specified in a root key recovery procedure of a system designed as in FIG. 3A. [Figure 3D] FIG. 3B is a schematic diagram showing the relationship between inputs, outputs, and generated root keys specified in the root key update procedure of the system designed as in FIG. 3A. [Figure 4A] FIG. 2 is a schematic diagram illustrating an arrangement of multiple user-defined inputs of the present invention and their relationship to root keys accessed via a data access digital controller. [Figure 4B] FIG. 1 is a schematic diagram illustrating an arrangement of a single user-defined digital input or token in the least significant bit mode of the present invention. [Figure 4C] FIG. 1 is a schematic diagram illustrating an arrangement of a single user-defined digital input or token with most significant bit mode priority of the present invention. [Figure 5A] 3D is a schematic diagram showing an arrangement of multiple auxiliary data generated by the system described in FIG. 3A during the registration procedure (as in FIG. 3B) and / or update procedure (as in FIG. 3D) of the root key of the present invention. [Figure 5B] FIG. 13 is a schematic diagram showing the arrangement of a single auxiliary data portion in least significant bit mode priority of the present invention; [Figure 5C] FIG. 13 is a schematic diagram showing the arrangement of a single auxiliary data portion in the most significant bit mode of the present invention; [Figure 6] FIG. 3B is a schematic diagram illustrating the structure of a single root key generated or recovered by the root key extractor designed in FIG. 3A according to the present invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0015] The present invention describes an electronic system and root key extractor that can dynamically create and manage multiple unique, specific digital root keys based on multiple internal and external fixed and random input sources, which serve as the fundamental security input for cryptographic service modules, including several standardized cipher suites.

[0016] The main objective of a PUF system is to derive a unique static digital sequence from a random or entropy source as a root digital ID, also referred to herein as a root key, such that any possible prediction is thwarted and at the same time provide a suitable input to the PUF system to extract a unique digital sequence and random numbers.

[0017] The cryptographic services module typically consists of a key exchange algorithm, an authentication algorithm, an encryption algorithm, and a message authentication code algorithm, for example, but not limited to, ECDH, ECDSA, AES, RSA, SHA, etc.

[0018] The integrated PUF system mechanism can retrieve a unique digital sequence specific to a single silicon manufacturing system, and the PUF entropy source can provide unique sequences that are unpredictable due to algorithms and security protocols unknown to the manufacturer, designer, or user, thus preventing attacks on current database networks that require these unique identification codes to be set and stored manually or fixedly by machine.

[0019] A unique, searchable, unique digital ID can be used for authentication mechanisms, typically called "salts", network identification, or input shifts in message authentication algorithms. In practice, the cryptographic suites required to deploy secure electronic environments are standardized and fixed, so electronic device designers must implement uniqueness either manually or by using PUFs to make these standard operations unique.

[0020] In the present invention, a dynamic system for providing an entropy source for a PUF mechanism and a random number generator and integrated into a single semiconductor CMOS technology is described, enabling the generation of multiple truly random root keys and truly random numbers, which can be intertwined with any user-defined and self-generated multiple input data using a Physical Unclonable Function (PUF) and the proposed digital algorithm system.

[0021] The system of the present invention can provide a reliable, dynamically measurable source of entropy regardless of power cycling of the electronic device, does not require reliance on pseudorandom number generators, and is guaranteed to provide truly random numbers at all times, thus ensuring the generation of multiple truly random number keys and providing a secure basis for establishing encryption channels.

[0022] Current state-of-the-art PUF technologies usually rely on a one-time operation within a power cycle or a one-time trigger registration sequence, limiting their flexibility and adaptability. Traditional PUF technologies usually rely on power cycles and can only generate a single root key or cannot update and change the root key over the device's lifecycle. Even if these KDFs are deemed to meet the security requirements of international standards, they may also be limited in generating multiple key derivation function units (KDFs) and multiple mathematically unrelated true random numbers.

[0023] The present invention is unique in that it can be used and reused independently of any other system or boot sequence without imposing design limitations on the host electronic system. The present invention is manufactured requiring only a single semiconductor CMOS technology and can be seamlessly integrated into any standard processor unit (CPU, MCU, GPU) or custom ASIC system without increasing additional design costs as a plug-and-play integrated subsystem.

[0024] The dynamic nature of the present invention allows it to be integrated into conventional electronic devices as a standalone subsystem without the need for specific design modifications, significantly reducing the costs associated with developing new integrated circuits, particularly for CPUs, MCUs and GPUs. Such flexibility facilitates the adoption and deployment of the proposed PUF system, allowing it to be integrated into conventional electronic devices as a standalone subsystem without the need for specific design modifications, significantly reducing the costs associated with developing new integrated circuits, particularly for CPUs, MCUs and GPUs.

[0025] Conventional PUF system enrollment and recovery systems, which are designed for enrollment and recovery and may be used with SRAM-PUFs using self-injected root keys and / or generic error correcting codes (ECC) with OTP-PUFs, may be limited in terms of flexibility and scalability.

[0026] Referring to FIG. 1 , the present invention provides an electronic system 100 for generating a plurality of root keys 600 indexed from 1 to X, comprising a dynamically measurable Physical Unclonable Function (PUF) input source (abbreviated as PUF input source 200), a root key extractor digital processing system (abbreviated as root key extractor 300), a root key 600 associated with auxiliary data 500, an additional encrypted digital input set 400 (also called input tokens), and a cryptographic service module 700.

[0027] The PUF input source 200 outputs different bitstreams of PUF raw data for different measurement requests at any given time, which may be independent of power cycle requests. The PUF input source 200 and associated measurement digital triggers may come from multiple physical sources, the only requirement being that they must be the same physical source when associated with one or more of the generated or recovered root keys.

[0028] The root key extractor 300 has local access to one or more indexed non-volatile memories via standard serial and / or bus peripheral communication protocols. The root key extractor 300 operates in a root key registration mode, using system defined hard-coded inputs rather than user defined inputs, to create an index portion of the auxiliary data 500 associated with the root key 600 in accessible non-volatile memory. The root key extractor 300 also operates in a root key recovery mode, using user defined inputs, to create an index portion of the auxiliary data associated with the root key in accessible non-volatile memory. The root key extractor 300 operates in a root key 600 update mode, using user defined inputs, to append new recovered data blocks to the index portion of the auxiliary data 500 in accessible non-volatile memory associated with the root key 600. The root key extractor 300 operates in any mode associated with the root key 600, obtaining raw data from a physically unduplicable function that is different from the function used in other operating modes of the root key extractor 300 and many other modes.

[0029] The root key extractor 300 is responsible for initiating a measurement trigger request in the PUF input source 200, and is defined as such because it enables dynamic measurement by the internal digital transmission link upon a trigger request. Upon a measurement request from the root key extractor 300, the PUF input source 200 outputs the current measurement data of its array structure of PUF cells 230 as PUF raw data as shown in FIG. 1 and with reference to FIG. 1E. In other embodiments, the PUF input source 200 may be dynamically measured with a digital trigger by a third party digital controller. The root key extractor 300 is a digital hardware circuit design or a software program, or the root key extractor 300 is a combination of hardware circuit and software design. It is also necessary to assume that this root key extractor 300 can trigger a new measurement request to the PUF input source 200 at any time, so that with every request a new version of the original PUF material E is obtained, each time preferably having a certain static and dynamic entropy that is compatible with the generation of truly random numbers and the successful registration and / or recovery of the root key 600.

[0030] The PUF raw data from the PUF input source 200 is not limited to a particular array unit order and can be delivered in various orders, such as a single bit transmission for each PUF cell 230, a cy dimension vector for each PUF unit row 210, an rx dimension vector for each PUF cell column 220, a logical combination of both, or a partially complete PUF raw data E. The measurement request may further be designed to be a multiple measurement request of digital instructions, with or without instructions for a particular raw data output format.

[0031] The root key extractor 300 loads and / or reads a specific or index digital input, also called a token, associated with a target or index, where X is the total number of root keys currently managed by the system, ranging from 1 to X. These digital inputs can be external digital systems, i.e., user-defined, hard-coded in the system, or ultimately obtained from other PUF-based entities. In FIG. 4A, the root key extractor 300 uses a specific loading digital input 411, also called a token, and encrypts and entangles this specific input during registration with the latest root key X. When registering a new root key 600, also called root key creation, the root key extractor 300 generates the specific auxiliary data 511 in FIG. 5A while entangling with the loading digital input 411. Finally, for a single root key 600, the root key extractor loads and / or reads the set E of raw data of the PUF (as shown in FIG. 2), the set of measurements, and the digital input or token X. n Then, create or register a new truly random root key X and associated auxiliary data X n Generate a set of new PUF raw data measurements, the same digital input X used to enroll root key X, and auxiliary data X for the generation of this particular root key X. n allows the root key extractor to recover and converge to a unique and stable root key X.

[0032] Also, the encrypted digital input set 400 may be created, stored, or volatile by various sources and may correspond to a digital sequence of a length accessed by the root key extractor 300. The encrypted digital input set 400 may be completely stored in the local memory storage. Alternatively, the encrypted digital input set 400 may be partially or not stored at all in the local memory storage. Then, one or more encrypted digital input sets 400 from the encrypted digital input set 400 may be hard-coded into the digital design of the electronic system. Alternatively, the encrypted digital input set 400 from the encrypted digital input set 400 may be a volatile input originating from outside the electronic system. Each portion of the auxiliary data 500 is associated with a particular root key 600 and one or more encrypted digital input sets 400 of encrypted digital inputs accessed by the root key extractor 300.

[0033] In some embodiments of the present invention, the digital input is X 1 From X n In fact, the root key extractor 300 can not only generate multiple root keys 600 with index X, but also define multiple digital inputs for recovering the same root key X 600. So, when the root key X 600 is recovered, the root key extractor 300 can generate new specific auxiliary data 511 that matches the new loading digital input 411 while recovering the same root key X 600, thus defining n, which represents the number of different digital inputs X and associated specific auxiliary data 511 from which the root key 600 with index X can be recovered in Fig. 4A and Fig. 5A. For example, when the root key X 600 is recovered from the digital input 3, 1 and Supplementary Data 3 1 Can I use digital input 3? 2 and Supplementary Data 3 2 You can also recover root key 3 and both digital inputs 3 1 and 3 2can be loaded and restored when n is defined. In the last example, for root key 3, n=2. Therefore, for one root key X600, there are the same number of digital inputs X n and certain auxiliary data X n There will be 511. Since the index X of the root key is variable, the index n may be different for each index X.

[0034] Each of the root keys X600 can be revoked at any time by initiating a new registration process for the existing root key index X600. n If all remain the same, partially the same or completely new, then each new root key X600 will be a new truly random number guaranteed by the new random variation of the PUF raw data measurement request to the new PUF input source 200. n Even if 411 is different, the newly generated related unique auxiliary data X n 511 is new random data.

[0035] Finally, each root key X600 is used as the current root key for a cryptographic service module 700. The cryptographic service module 700 may include standard cryptography, as well as all or part of proprietary cryptography, standardized security agreements, and proprietary agreements. The cryptographic service module 700 uses as input the root key 600 generated or recovered by the root key extractor 300. The cryptographic service module 700 is a digital hardware circuit design of an encryption algorithm. In one embodiment, the cryptographic service module 700 is a software programming design of an encryption algorithm. In another embodiment, the cryptographic service module 700 is a combination of hardware circuitry and software design.

[0036] The electronic system 100 shown in FIG. 1 operates under power but is completely independent of the power-up and power-down cycles that integrate the present invention as a subsystem into a host device.

[0037] 2, the system and architecture design of the PUF input source 200 of FIG. 1 is further shown in FIG. 2, which includes an array 230E of PUF cells arranged in rows 210 and columns 220. rx,cy where rx is an integer number of rows and cy is an integer number of columns, each with a minimum value of 2 and an unlimited maximum value. Each PUF cell 230 performs a measurement by a digital trigger measurement signal, which is converged to a binary level independent and unpredictable with power cycles, and may be a low level or a high level, each corresponding to a current system logic level "0" or "1". The dimension of the complete binary data E in the PUF input source 200 of this PUF cell 230 is (rx,cy), which is the raw data of the PUF of the root key extractor 300 in FIG. 1, and can be collected row by row 210 or column 220, and a specific logic gate circuit design is adopted to perform counting and / or accumulation processing.

[0038] 3A, a detailed implementation of the root key extractor 300 of FIG. 1 is described, in which the root key extractor 300 extracts multiple unique unique digital root keys with multiple non-random and random digital inputs, and generates digital output and its own digital input auxiliary data 500, in which the root key extractor 300 performs a key registration function and a recovery function. The key registration function generates specific auxiliary data 511 that is intertwined with the loading digital input 411, and the recovery function recovers the corresponding root key 600 based on the specific auxiliary data 511 and the correct loading digital input 411.

[0039] The root key extractor 300 is composed of a key extractor controller 310, a key derivation function unit (KDF) 320, a true random number generator (TRNG) 330, a fuzzy extractor 340, a message authentication code (MAC) unit 350, and a format-preserving encryption unit 360, and a loading digital input 411 of the key extractor controller 310 writes or reads specific auxiliary data 511 from a memory storage 501. The key extractor controller 310 manages the digital element circuits of the input and output messages of the system, and controls the data sequence and operation flow between each element that constitutes the root key extractor 300. The memory storage 501 accesses the auxiliary data 500 during enrollment, uses the auxiliary data 500 in a write operation mode, and reads in a recovery mode, while storing the digital values ​​created by the fuzzy extractor 340, the format-preserving encryption unit 360, the true random number generator 330, and the message authentication code unit 350.

[0040] The key derivation function unit 320 performs a key derivation operation using an input key of any length bit sequence and multiple bit sequences of any length, and uses an output bit sequence of any length as a derived key, which may be achieved by a standard KDF algorithm or other methods. The key derivation function unit 320 generates a unique random key for encrypting a specific root key 600 generated by a true random number generator during enrollment, and receives as inputs a user-defined digital input, a true random number, and a discrete measured version of the PUF input source data that differs for each measurement.

[0041] The true random number generator 330 processes random bit inputs from the PUF raw data E provided by the PUF input source 200, extracts multiple input entropies, and outputs true random numbers. The true random number generator 330 uses multiple inputs from the PUF raw data to generate as many true random numbers as required by the system to generate the raw root key 600 and to generate random vectors in the auxiliary data for the root key 600 recovery procedure.

[0042] The fuzzy extractor 340 can operate in an enrollment mode or a recovery mode. In the enrollment mode, the input is a bit sequence of any length, the output is valid auxiliary data 510, and the input bit sequence E from the PUF input source 200 is called the original bit sequence that corresponds to the output specific auxiliary data 511. The fuzzy extractor 340 can generate a specific vector from a version of the raw data of the PUF input source during the enrollment process, correct the new version of the raw data of the PUF input source with the latest specific vector to the initial data measured and used during enrollment, and generate the root key 600.

[0043] When operating in recovery mode, the input is a bit sequence from the PUF input source 200 that is different from the original bit sequence that generated the associated particular auxiliary data 511, and the output is the original bit sequence that generated the particular auxiliary data 511, where the new input bit sequence has the same length as the original bit sequence. The original bit sequence is a bit sequence associated with the generated particular auxiliary data 511 that is similar to the new bit sequence, where "similar" is defined as the percentage of different bits between the two bit sequences.

[0044] The fuzzy extractor 340 restores a new bit sequence similar to the original bit sequence by certain auxiliary data 511 corresponding to the original bit sequence. This can be achieved by any error correction technique, such as an error correction code, or any method that achieves the same function.

[0045] The message authentication code unit 350 generates a vector for verifying a particular key based on a particular bit stream value from a PUF input source, which may be directly from the PUF input source during enrollment or from a fuzzy extractor correction mechanism during recovery. The message authentication code unit 350 can also operate in a signature mode and a verification mode simultaneously. When operating in a signature mode, the input is an arbitrary length bit sequence as a message and an arbitrary length bit sequence as a key, and the output is a bit sequence generated from the input message and input key pair as an authentication code. When operating in an authentication mode, the input is an arbitrary length bit sequence as an authentication message and an arbitrary length bit sequence as an authentication key and authentication code. Only if the input authentication message and authentication key pair and the message and key pair that created the authentication code are the same, the authentication is successful, the validity or integrity of the authentication message is confirmed, and the authentication message is output, whereas the authentication is unsuccessful, and no message is output.

[0046] The format-preserving encryption unit 360 is an encryption or decryption function where the input is a bit sequence of any length as the key, a bit sequence of any length as the data, and the output is the result of encrypting or decrypting the input data with the input key, which is a bit sequence of the same length as the input data. The format-preserving encryption unit 360 encrypts the root key 600 in the auxiliary data 500 during enrollment and decrypts the root key 600 for output after successful recovery has been verified by the message authentication code unit 350.

[0047] In FIG. 3A, the valid auxiliary data 510 for recovering the root key X 600 is configured in such a manner that the data is written or read via the data access digital controller 520 described in FIG. 5A.

[0048] The key extractor controller 310 is a controller that manages and arranges communication and data transmission between each sub-unit of the root key extractor 300, and includes a key derivation function unit (KDF) 320, a true random number generator (TRNG) 330, a fuzzy extractor 340, a message authentication code (MAC) unit 350, and a format-preserving encryption unit 360. This is because a specific auxiliary data 511 is written or read from the auxiliary data 500 by a loading digital input 411 of the key extractor controller 310.

[0049] Referring to FIG. 4A, FIG. 4 illustrates the management and generation of X valid digital inputs 410 that are intertwined with respective root keys 600 for cryptographic operations. 1 ~X n 600, where each row corresponds to a unique root key X600 and is intertwined with a variable number of digital inputs "n" that can activate the same root key X600.

[0050] The enmeshing process starts with an initial loading digital input 411, namely X1, which plays a key role in creating the root key X600. This initial digital input can be from various sources such as user input, chip ID, application specific number, or native locker, and the root key X600 is established by cryptographic operations and error correction on the PUF input source data from the PUF input source 200.

[0051] Once the root key X is created, an additional digital input X 2 ~X n By incorporating the index Xn into the entanglement with the root key X 600, the entanglement of more digital inputs can be further achieved, and the same index Xn can be associated with new specific auxiliary data 511. These digital inputs 400 can have any bit size, have flexible properties, and can be changed arbitrarily. 1Similarly, these subsequent digital inputs X 2 ~X n may come from different sources and play different roles in the encryption system. 410 in FIG. 4A represents a valid digital input X n 410 indicates valid auxiliary data X n 510, where X is the root key associated with the set of X600. n are the same double index value. Thus, the set of valid auxiliary data 510 in FIG. 5A corresponds to the valid digital input X for a particular root key X 600. n Compatible with 410 sets.

[0052] Figure 4A further includes a data access digital controller 420. The module represents a digital access interface, effectively facilitating access to various sources of the digital input. The data access digital controller 420 serves as an interface to securely retrieve and consolidate digital inputs, whether volatile or non-volatile, entering the enmeshed process. A seamless and efficient means of communication between the encryption system and the sources containing the digital inputs is provided.

[0053] 4A illustrates the intertwining of a root key 600 with multiple digital inputs that allows for a powerful and versatile encryption system. The root key 600 is represented by the rows of "X" and is coupled to a variable amount of valid digital inputs 410 (X 1 From X n ) are encrypted and entangled. The data access digital controller serves as the key element facilitating access to these valid digital inputs 410, ensuring the secure and efficient operation of the encryption system.

[0054] Referring to FIG. 5A, there is shown a loading digital input X n 411 and the specific auxiliary data X600 corresponding to each of the root keys n511. In the figure, the storage and retrieval process of valid auxiliary data X for the activation and recovery of a particular root key X is shown. n 5 shows the integration of non-volatile memory, which can be both on-chip and off-chip memory, for storing 510.

[0055] Each loading digital input 411 is n It is indexed as X600 and associated with the corresponding root key, X n Therefore, the valid digital input X n In addition to 410, there is a set of valid auxiliary data 510, and the auxiliary data X n Each loading digital input X n 411 and the root key pair X 600. Unlike the loading digital input 411, which can be modified and obtained from various sources, the specific auxiliary data 511 is generated by the root key extractor 300 and is kept in non-volatile memory and must be stored in a reliable manner, but the entire auxiliary data must be publicly known, so that lack of full knowledge of the specific digital values ​​does not constitute a specific security vulnerability.

[0056] The root key extractor 300 facilitates the storage and retrieval of auxiliary data for accessing specific auxiliary data 511 at various indexes by a data access digital controller 520. The root key extractor 300 is connected to a loading digital input X n Specific auxiliary data X for each root key X600 to be activated by 411 n The specific auxiliary data 511 is calculated based on an encryption algorithm and includes the root key X600 and the loading digital input X600. n Customized for each combination with 411.

[0057] To ensure the accessibility of the useful auxiliary data 510, a non-volatile storage system must be adopted. The non-volatile memory can be integrated on-chip or off-chip according to specific implementation requirements. The non-volatile memory stores the specific auxiliary data 511 safely and protects it from power supply influences.

[0058] The available auxiliary data 510 and data access digital controller 520 are connected to the loading digital input X n 411 and the root key X600, and specific auxiliary data X n 511 and facilitates the de-entanglement and recovery procedures for each target root key X600.

[0059] 5A shows an integrated non-volatile memory for storing and retrieving auxiliary data associated with each digital input and root key pair. The root key extractor 300 retrieves the root key X 600 and the loading digital input X n Specific auxiliary data for each of 411 X n Generates 511. Non-volatile memory stores data both on-chip and off-chip, ensuring availability during entanglement and recovery.

[0060] Referring to FIG. 4B, FIG. 4B illustrates a loading digital input X in a least significant bit (LSB) first mode. n 411. In the figure, the digital sequence X n may be formed from any byte of bit size "p" and may be written or read in least significant bit (LSB) first mode, which indicates that bits are transmitted or processed from least significant bit 413 to most significant bit 512.

[0061] 4C, which illustrates the case where the loading digital input Xn 411 is presented in most significant bit (MSB) first mode. Similar to FIG. 4B, a digital sequence Xn having a bit size “p” is nHowever, in most significant bit (MSB) first mode, the transmission or processing of bits starts from the most significant bit 512 and progresses gradually to the least significant bit 413.

[0062] Referring to FIG. 5A, FIG. 5A illustrates a diagram of a specific auxiliary data X in a least significant bit (LSB) first mode. n 511, MSB512. n 511, each loading digital input X n 411 and complements the entanglement and recovery procedures for a particular root key 600. n As with 410, valid auxiliary data X n 510 can have any bit size "q" and can be written or read in least significant bit (LSB) first mode.

[0063] 5B and 5C, FIG. 5B illustrates a particular auxiliary data Xn 511 in the most significant bit ((MSB)) first mode. In the figure, a digital sequence Xn of valid auxiliary data 510 with a bit size of “q” is shown. n In most significant bit (MSB) priority mode, specific auxiliary data X n The transmission or processing of the 511 bits begins with the most significant bit 512 and progresses gradually towards the least significant bit 513 .

[0064] The bit sizes "p" and "q" derived from Figures 4B and 4C and Figures 5A, 5B, and 5C may vary depending on the particular implementation and needs of the encryption system. Furthermore, the loading digital input X in least significant bit (LSB) first mode and most significant bit (MSB) first mode n 411 and certain auxiliary data X n The ability to flexibly write or read 511 increases system versatility and compatibility, allowing seamless integration with a variety of applications and protocols (e.g., I2C, SPI, and other buses and protocols).

[0065] Referring to Figure 6, the root key X and index RK x,j , each bit 610 and their association to valid auxiliary data 510 and valid digital input 410 are shown. Each root key X 600 has a unique index and can have variable length "j" depending on implementation requirements. The root keys X 600 act as the base encryption key for security operations within the system.

[0066] A group of valid auxiliary data 510 and valid digital inputs 410 are associated with each root key X 600. The valid auxiliary data group 510 includes data stored in non-volatile memory to complement the entanglement and recovery procedure of a particular root key X 600. These valid auxiliary data 510 are initially generated by the root key extractor and are designed to be stored in on-chip or off-chip non-volatile memory.

[0067] Similarly, the validating digital inputs 410 can consist of any user-defined and / or automatically generated digital data that can initiate and facilitate the entanglement of the root key X 600. These loading digital inputs 411 can come from a variety of sources such as user input, chip ID, specific application numbers, or locally hard-coded memory. They can be of any bit size and can be modified as needed to enhance the security and flexibility of the cryptosystem.

[0068] By associating each root key X600 with its corresponding valid auxiliary data 510 and valid digital input 410, strong cryptographic operations are ensured, ensuring the integrity and confidentiality of the sensitive data protected by the root key X600. The intertwining of the root key X600 with a unique combination of valid auxiliary data 510 and valid digital input 410 allows the system to interact more directly with host applications while allowing a high level of security and cryptographic strength.

[0069] 3B and 3C, the input and output data flows for processing (FIG. 3B) and recovery by the root key extractor 300 for registration (FIG. 3C) are shown in more detail.

[0070] Referring to FIG. 3B, the registration flow of the root key 600 is shown as E in FIG. 2 and [P a1 , P a2 , … P an The raw data of a fixed number of PUFs, denoted by [a], are used as input to the Root Key Extractor 300, where a corresponds to the index Xn of a particular auxiliary data 511, where n is irrelevant in FIGS. 3B and 5A. The raw data of the n PUFs obtained from 200 are registered in the KDF 320, the TRNG 330, the Fuzzy Extractor 340, and the MAC 350. All these modern subsystems require the registration of a variable amount of raw data of the PUFs, ranging from 1 to n.

[0071] The TRNG 330 uses the raw data of a specific number n of PUFs and calculates the number of PUFs in the [S a1 , S a2 , S a3 , … S az 3B, the TRNG 330 generates a specific number z of truly random numbers for the auxiliary data indexed as a. The TRNG 330 uses a specific number n of raw data of the PUF and generates k a Generate a root key X 600 in plaintext with index a, denoted as:

[0072] Therefore, the KDF320 takes as input the [S a1 , S a2 , S a3 , … S az ], the loading digital input 411 shown in FIG. 3B, and [tkn az , tkn az , tkn az , …tkn az ], where tkn azis the input key of KDF320, and the raw data input of PUF P ax and a random number S ax The combinations of are the input data for KDF320, where x ranges from 1 to z. KDF320 calculates the a1 , e a2 , e a3 , …e az ] to generate an output binary sequence.

[0073] Therefore, FPE360 is a1 , e a2 , e a3 , …e az ] and k a as input and [e a1 , e a2 , e a3 , …e az ] as input key and k a As input data, g a1 , g a2 , g a3 , …g az ]. The value generated by FPE 360 is stored in auxiliary data a.

[0074] The fuzzy extractor 340 ax We use the raw data input of the PUF with index x, denoted as a1 , P a2 , … P an ], but we use the same version during enrollment and use the discretely sampled vector h a That is, mathematically, h a is the unique auxiliary data for the recovery process, and other configuration-specific auxiliary data 511 values ​​(t az , s az , g az ) in the recovery process, h a , PUF input source 200 and Token[tkn az , tkn az , tkn az , ...tknaz ], and encryption material using the invention of the present system.

[0075] The MAC350 uses the output of the KDF320 ax and the same version Px of the raw data of the PUF used by the fuzzy extractor 344 for the registration process, [t a1 , t a2 , ...t az ], a message authentication code t az Generate [g a1 , g a2 , g a3 ,...g az ], [S a1 , S a2 , S a3 , ...S az ], and h a are stored in the specific secondary information 511 as elements other than the above.

[0076] Therefore, the effective auxiliary data 510 of a single root key 600 is h a , all of which are common to all valid digital inputs 410 that recover the same root key 600, and further comprise the [tkn az , tkn az , tkn az , ...tkn az ], there are as many (t az , s az , g az ) set is also included.

[0077] Vector h a is associated with root key 600, and t az , s az , g az Each version of the loading digital input 411, i.e., [tkn az , tkn az , tkn az , ...tkn az ] is associated with an intertwining of

[0078] Referring to FIG. 3C, in the process of recovering the root key 600, if the original input is P ax The raw data P of a PUF of a different version from that of the registration process, marked as ax is collected from the PUF input source 200 and provided as input to the fuzzy extractor 340. In the root key 600 recovery process, the fuzzy extractor 340 loads the vector ha and ax '' In combination with the input, P ax ' and corrected P ax '' version. Therefore, KDF320 generates a vector S ax , the same loading digital input 411, or tkn which generates or is associated with the root key a az and combine it with the output of the fuzzy extractor 340 to obtain the vector e ax '. KDF320 generates tkn az Using P as input data ax ' and S ax is supplied to the MAC unit 350, and e ax Therefore, the MAC350 outputs e ax ', P ax ' and t in certain auxiliary data 511 ax Receive e ax ' to a valid e ax Verified as g by FPE360 ax Decrypt the root keys a and k a Validly recover and validate e ax By using as the input key, g ax Decrypt the

[0079] FPE360e ax By G ax In order to hopefully decode the e ax ' and p ax The value of e' used in the registration process in Figure 3B ax and p axDuring the registration and recovery process, e ax ' and e ax If the values ​​of are different, the tkn of loading digital input 411 az is inaccurate and / or the measurement value of the raw data of the PUF p ax '' is too different from the corresponding data during enrollment with bit differences and instability, and therefore the assumption may be due to having a PUF input source with bit errors that match the assumed static and dynamic entropy. If the recovery process fails, the root key extractor 300 of FIG. 3A outputs an error message.

[0080] Referring to FIG. 3D, the root key extractor 300 updates the process so that the new loading digital input token 411 is z The target root key is then added as a valid input based on auxiliary data related to the use of another portion of the index, and the target root key is converged and intertwined with the new desired loading digital input token 411 to recover the specific root key 600. This process is called tkn a1 , t a1 , s a1 , and h a It starts by recovering the root key using the already valid loading digital input 411 and associated specific auxiliary data 511, represented by tkn a1 , t a1 , s a1 is not necessarily the first set that was originally generated, but in fact could be any set that was valid in the past, and for ease of explanation, z and z+1 are not necessarily consecutive indices in practice, so are shown as a1 in FIG. 3D. az+1 The process of adding tkn to the target root key 600 is exactly the same as the recovery process described in Figure 3C, so there are no other valid tkn az Input is required. The process continues and a new tkn az+1 To add e to Figure 3D, for example, a1 The e obtained by MAC350 is shown asaz is g read from the auxiliary data az k in a , and similar to the registration process described in FIG. 3B, a is a valid input tkn az+1 The new version of e(e) is stored in the new part of the auxiliary data associated with the new loading digital input 411 that you want to add to the list of az+1 (expressed as g) az+1 The new e az+1 , s az+1 and t az+1 is obtained in exactly the same way as the registration process described in FIG. 3B, but in FIG. 3D it is added after the recovery process.

[0081] Generally, FIG. 3D illustrates a combination of recovery and re-registration to associate as many new loading digital entries 411 as possible with new specific auxiliary data 511 to become valid auxiliary data 510 for a specific root key 600 .

[0082] Intended Use Case: Root Key System for Secure Multi-Function Electronic Devices Based on Dynamic PUF

[0083] In this intended use case, we consider an electronic device driven by a microcontroller unit (MCU) incorporating the present invention. The purpose of this system is to increase the security and integrity of various key functions within the electronic device.

[0084] Secure Boot (Root Key 1): The first root key, Root Key 1, is dedicated to secure boot operations. It ensures the authenticity and integrity of the device firmware during the boot process. The MCU verifies the digital signature of the firmware with Root Key 1, ensuring that only trusted and authorized firmware is executed, reducing the risk of unauthorized modification and malicious code injection. In addition, Root Key 1 assists in creating the digital inputs required to recover Root Key 2. This ensures that Root Key 2 is recoverable even when the device is reset or powered off, maintaining the continuity of the secure firmware update operation for which Root Key 2 is responsible. Root Key 1 is associated with two sets of digital inputs for booting the device and the corresponding administrator and user authorization privileges.

[0085] Secure Firmware Update (Root Key 2): Root Key 2 is dedicated to secure firmware updates. It is used to authenticate and verify the integrity of firmware updates received by electronic devices. The MCU verifies the digital signature of the firmware update by Root Key 2 before applying the update. This process ensures that only genuine, unaltered firmware is installed, protecting against potential security breaches. If Root Key 2 is management, only the administrator's digital input can be reused as the digital input to activate Root Key 2 and perform firmware updates.

[0086] System Applications (Root Key 3): The Root Key 3 is used to protect system level applications within electronic devices. This Root Key 3 is unique in that it receives digital input directly from the end user, similar to a password. The user provides a specific digital input, such as an encryption key, PIN, or password, which is activated and tied to the Root Key 3. This personalized input provides an additional layer of security, ensuring that system applications can only be accessed and operated by authorized users.

[0087] Subsystem and application specific root keys (Root Key 4, Root Key 5, etc.):

[0088] The dynamic multiple root key system can be expanded to intertwine with various digital input sources and accommodate various subsystems and applications within the electronic device. Root Key 4, Root Key 5, etc. are designed for a specific subsystem or application, providing isolated secure channels for each function. These root keys are generated using their respective input data, ensuring that the cryptographic service modules associated with each subsystem or application operate with highly secure and independent root keys. This separation prevents potential compromise or unauthorized access to other subsystems or applications, enhancing the overall security of the electronic device.

[0089] By using the present invention in the MCU of an IOT device, a strong security structure is established. This architecture allows for secure boot, authenticated firmware updates, secure system applications and isolated subsystems, all utilizing a cryptographic service module and a highly secure root key, while allowing external digital input entanglement, rather than a completely limited internal entanglement, bringing the high security characteristics of PUF technology to the application security domain, and in some cases, the security design can be simplified and power consumption can be reduced, but these external digital inputs are optional, which is not always desirable.

[0090] As explained above, the present invention discloses a system for generating true random numbers, intertwined with multiple root keys, by a Physical Unclonable Function (PUF) and a proposed digital algorithm system. The present invention has advantages over conventional PUF technology, including the ability to generate and recover multiple true random root keys and true random numbers independent of power cycles. These features enhance security, enable the establishment of isolated secure channels, and provide key management flexibility throughout the device's lifecycle. The present invention can be integrated with conventional electronic devices with minimal design modifications. The disclosed invention has the ability to establish secure communication channels, generate true random numbers, provide unique intrinsic digital identity, and more, paving the way for a new era of secure interaction. [Explanation of symbols]

[0091] 100 Electronic Systems 200PUF input source 210 lines 220 columns 230 PUF cells 300 Root Key Extractor 310 key extractor controller 320 Key Derivative Function Unit 330 True Random Number Generator 340 Fuzzy Extractor 350 Message Authentication Code Unit 360 format-preserving encryption unit 400 Encrypted Digital Input Set 410 Valid Digital Inputs 411 loading digital input 412 most significant bits 413 least significant bit 420 Data Access Digital Controller 500 auxiliary data 501 Memory Storage 510 Valid Ancillary Data 511 Specific Ancillary Data 512 most significant bits 513 least significant bits 520 Data Access Digital Controller 600 root keys 610-bit 700 Cryptographic Service Module

Claims

1. 1. An electronic system for creating and recovering a large number of unique and specific digital sequences, comprising: an input source of a physical unclonable function that outputs a different bitstream PUF raw data for each different measurement request, such that the request can be made at any time independent of a power cycle; a root key extractor for generating both the root key and associated digital auxiliary data in an enrollment mode, and for adding and entangling new associated digital auxiliary data with the root key according to new user input in an update mode, to recover the root key generated by suitable valid input and the raw data of the PUF; a set of encrypted digital inputs, which may be established and stored or volatile from a variety of sources, and which correspond to a particular bit length, accessed by said root key extractor; a set of auxiliary data, each associated with a particular root key and one or more encrypted digital inputs, accessed by said root key extractor; a cryptographic service module that uses as input a root key created or recovered by the root key extractor, The input of the root key extractor is Obtaining a certain number of bit streams from a source of raw data of the PUF used to generate the truly random numbers and the original truly random root key; Acquiring digital input sequences from any user-defined digital input having any bit length and from various sources; intertwining a particular portion of auxiliary data generated during the root key registration process or updated during the update process and used as an input in the root key recovery or update process with a particular user-defined digital input; and a specific auxiliary data portion stored locally or externally.

2. 2. The electronic system of claim 1, wherein the root key extractor is locally accessed via a standard serial and / or bus peripheral communication protocol to one or more indexed non-volatile memories.

3. 2. The electronic system of claim 1, wherein the root key extractor operates in a root key registration mode and uses system-defined hard-coded inputs, rather than any user-defined inputs, to create an auxiliary data index portion associated with the root key in accessible non-volatile memory.

4. 2. The electronic system of claim 1, wherein the root key extractor uses user-defined inputs, operates in a root key recovery mode, and generates an auxiliary index portion associated with the root key in accessible non-volatile memory.

5. 2. The electronic system of claim 1, wherein the root key extractor uses user-defined inputs and operates in a root key update mode to append new recovery data blocks to an auxiliary data index portion associated with the root key in accessible non-volatile memory.

6. 2. The electronic system of claim 1, wherein the root key extractor operates in any mode associated with the root key and obtains RAW data from a physically unclonable function that is distinct from functions used for other and many other operating modes of the root key extractor.

7. 1. A root key extractor for use in extracting a plurality of unique, specific digital root keys having a plurality of non-random and random digital inputs and generating a digital output and auxiliary data for said unique digital inputs, comprising: The root key extractor a key extractor controller, a digital circuit responsible for managing the input and output messages of the system and controlling the sequence of data and the operational flow between the various units constituting said root key extractor; a key derivation function unit that generates a unique random key for encrypting the specific root key generated during enrollment by the true random number generator, and that receives as input a user-defined digital input, a true random number, and a discrete measured version of the source data of the PUF that is different for each measurement; a true random number generator that uses a fixed number of inputs from a source of the PUF to generate as many true random numbers as the system requires, thereby generating the original root key and creating the random vector used in the auxiliary data of the root key recovery process; a fuzzy extractor capable of generating a specific vector from a version of the raw data of the PUF source during enrollment and using the latest specific vector to create a root key by correcting a new version of the PUF source data to the initial data measured and used during enrollment; a message authentication code unit that generates, based on a particular bit stream from the PUF source, a vector used to verify a particular key based on bit streams obtained directly from the PUF source during enrollment and from the correction mechanism of the fuzzy extractor during recovery; a format-preserving encryption unit used as a symmetric encryption and decryption unit for encrypting a root key among the auxiliary data during registration and decrypting and outputting the root key after verification of successful recovery by the message authentication code unit; a memory storage for accessing a set of auxiliary data during registration and for reading in a write operation mode and a recovery mode, and for storing digital values ​​created by said fuzzy extractor, said format-preserving encryption unit, said true random number generator and said message authentication code unit; In registration mode, a root key is generated based on your input. In the recovery mode, the original root key generated based on the same predictable digital input and a different unpredictable digital input from a PUF source with a certain number of bit variations is recovered; A root key extractor characterized in that in an update mode, the enrollment mode and the recovery mode are combined and an additional root key digital input entanglement is added.

8. 8. The root key extractor of claim 7, wherein the key extractor controller, in a root key registration mode, operates to generate a random root key and associated auxiliary data using user-defined inputs and random bit data from a source of a physically unclonable function.

9. 8. The root key extractor of claim 7, wherein the key extractor controller operates in the root key recovery mode using the same user-defined inputs as the target root key, associated auxiliary data generated in the enrollment mode, and random bit data from a source of a physically unclonable function.

10. 8. The root key extractor of claim 7, wherein the key extractor controller operates in a root key update mode with additional user defined input, random bit data from a source of a physically unclonable function, and associated auxiliary data to add a new recovery data block to the associated root key auxiliary data portion, including the new user defined input as an approved digital input to successfully recover the same root key.

Citation Information

Patent Citations

  • Encryption key generation device and program

    JP2013126221A

  • Cryptographic device with physical irreproducible function

    JP2017531411A

  • High speed encryption key generating engine

    JP2021022924A

  • Security device including physical unclonable function cells and operation method thereof

    US20200358609A1

  • Security device including physical unclonable function cells and operation method thereof

    US20200396069A1