Electronic system for entangling root key and multiple digital input sequences based on PUF (Physical Unclonable Function) and root key extractor

By introducing a root key extractor and a digital algorithm system in the PUF system, the periodic restriction of root key generation and management in the prior art is solved, and the entanglement between multiple root keys and user input is realized, thus improving the equipment security and key management flexibility.

CN119232364AActive Publication Date: 2024-12-31INTELLIGENT INFORMATION SECURITY TECHNOLOGY INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202410777238.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-29
Filing Date
2024-06-17
Publication Date
2024-12-31
Estimated Expiration
2044-06-17

AI Technical Summary

Technical Problem

Existing PUF systems are limited by startup cycles when generating and managing root keys, and cannot effectively entangle multiple root keys with user or application custom inputs, resulting in a lack of flexibility and security in the device life cycle. sex.

Method used

An electronic system is designed to create and recover multiple true random root keys without being affected by the startup cycle, and allows multiple root keys to be used with users. The defined inputs are entangled and implemented through components such as the root key extractor, encryption service module, auxiliary data set and key derived function unit.

Benefits of technology

Achieves the flexibility and security of key management in the device life cycle, and can generate multiple true random keys and numbers, enhancing the isolation and overall security of secure channels, suitable for multi-factor authentication, encrypted communications and Identity authentication and other fields.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232364A_ABST
    Figure CN119232364A_ABST
Patent Text Reader

Abstract

The present application provides a system that entangles a plurality of root keys with a plurality of arbitrary user-defined and self-generated input data using a physically unreplicable function and a proposed numeric character algorithm system. The key innovation lies in the combination of a PUF-based dynamic measurable entropy source and the proposed invention, so that a plurality of true random keys can be generated. The plurality of keys are used as a security basis for establishing an encryption channel, and isolated security channels are allowed to be established for different stakeholders and application programs. The ability to create an isolated secure channel using a plurality of root keys enables a plurality of roots of trust to be established, enhancing the integrity and security of encryption operations. The application has applications in various fields, such as FIDO authentication, point-to-point encryption, encryption wallets and encryption key management systems.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to information security, and more particularly to a digital circuit method for digitally entanglement of a single root key obtained from a Physically Unclonable Function (PUF) with multiple digital inputs outside the PUF system. Background Art

[0002] In the prior art, the use of PUF circuits is intended to create, update or retrieve a unique sequence of true random numbers, usually referred to as a root key of a certain bit length. The root key is created and retrieved based on the true random behavior of an entropy source, which is composed of multiple entropy source elements, each of which exhibits unpredictable binary state output behavior due to nanoscale variations in semiconductor technology. Therefore, the entropy source has a certain static entropy behavior and a certain dynamic entropy behavior, and the static entropy enables it to converge to a state that successfully creates and retrieves a unique root key, and the dynamic entropy enables it to successfully create true random numbers for security function purposes.

[0003] In the prior art, the static nature of the entropy source is not completely stable, and a further computing engine, namely a fuzzy extraction computing engine, is required to extract the unique root key by digital element correction and comparison of specific checkpoint data (also known as auxiliary data). The auxiliary data is generated during the creation of the unique root key and is used as input to the fuzzy extraction computing engine to correct the random changes from the entropy source, so that the correct root key is always obtained at each retrieval. The auxiliary data itself is not sensitive data and can be stored outside the device security boundary. The auxiliary data can only be used and compatible with a specific entropy source that is still within the hardware security boundary.

[0004] A major drawback in the related prior art arises from practical circuit implementation constraints of these systems, which limit the ability to associate PUF-based root keys with direct input from users and / or custom applications. In fact, the auxiliary data is relatively long, typically limited to a sequence of 32 or 64 bytes, compared to what might be a strong password or digital token. Devices that use such PUF systems to obtain one or more root keys integrate the storage of these auxiliary data to avoid requiring users or applications to manage and load these lengthy data themselves. Therefore, users and / or applications using root keys cannot solve the problem of entanglement of a specific PUF root key with other digital inputs (usually system passwords or digital tokens) beyond the scope of the PUF. Any such ideal secure access credentials must be subject to external security module verification or authentication, which is the most secure component of the trusted internal system and therefore the optimal subsystem, which can provide users and / or applications with custom inputs for direct locking and unlocking mechanisms of specific root keys.

[0005] In order to overcome these shortcomings and provide entanglement of useful user and / or application customized inputs for specific root keys to establish systems such as storage-less password PUF authentication or token PUF authentication, it is necessary to design a PUF root key creation and retrieval structure that can allow additional digital inputs in addition to the existing auxiliary data, thereby expanding the potential applications of PUF systems and reaching all levels of electronic security from root functions (such as secure boot and firmware protection) to running security applications (such as password authentication for multi-factor authentication). Summary of the invention

[0006] The technical problem to be solved by the present application is to provide an electronic system and a root key extractor, which use a physical unclonable function (PUF) and a proposed digital algorithm system to entangle multiple root keys and generate true random numbers. The present application has advantages over the existing PUF technology, including the ability to create and restore multiple true random root keys and true random numbers without being affected by the boot cycle. These functions enhance security, make it possible to establish isolated secure channel digital certificates, and provide flexibility in key management throughout the device life cycle. In the electronic device of the present application, it is used to entangle multiple root keys with multiple arbitrary user-defined and self-generated input data. The present application utilizes a physical unclonable function (PUF) and a proposed digital algorithm system to achieve the entanglement.

[0007] To achieve the above invention purpose, the present application discloses an electronic system, which is used to create and recover a large number of inherently unique digital sequences, namely root keys, with multiple input sources from inside and outside a host system, and input into an encryption service module; wherein the electronic system includes: a physical unclonable function input source, a key extractor, an encrypted digital input set, an auxiliary data set and the encryption service module. First, the physical unclonable function input source outputs different bit stream PUF raw data after each different measurement request, and the measurement request can be independent of the boot cycle request at any given time. Secondly, the root key extractor will generate a key and a related digital auxiliary data in the registration mode, add new related digital auxiliary data according to new user input in the update mode, entangle the related digital auxiliary data with the root key, and use sufficient valid input and PUF source raw data to recover the generated root key. Furthermore, the encrypted digital input (or token) can be established, stored or volatilized from various sources and corresponds to a digital sequence of a fixed length, which is accessed by the root key extractor. Furthermore, each portion of the auxiliary data set is associated with a specific root key and one or more encrypted digital inputs, accessed by a root key extractor; and the cryptographic service module uses the root key created or recovered by the root key extractor as input.

[0008] In one embodiment, the output of the root key extractor includes: a certain number of bit streams obtained from the source of the PUF original data, the PUF original data is used to generate true random numbers and an original true random root key; a digital input sequence obtained from any user-defined digital input, the digital input sequence can have any bit length and come from various sources; a specific portion of auxiliary data generated during the root key registration process or updated during the update process, and used as input during the root key recovery or update process, entangled with the specific user-defined digital input; a specific portion of auxiliary data stored locally or externally.

[0009] To achieve another purpose of the above invention, the present application discloses a root key extractor, which is used to extract multiple unique inherent digital root keys with multiple non-random and random digital inputs, and generate digital outputs and their 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 responsible for managing a digital character circuit for system input and output information, while controlling the data sequence and operation flow between each unit that constitutes the root key extractor. Secondly, the key derivation function unit will generate a unique random key for encrypting a specific root key generated by a true random number generator during registration, and take user-defined digital inputs, true random numbers, and discrete measurement versions of PUF source data as inputs, each measurement is different. In addition, the true random number generator uses a certain number of inputs from the PUF source and generates as many true random numbers as the system needs, which are used to generate the original root key and create random vectors in the auxiliary data for the root key recovery process. Furthermore, the fuzzy extractor can generate a specific vector from a version of the PUF source original data during the enrollment process, and use the latest specific vector to correct the new version of the PUF source data to the initial data measured and used during the enrollment to create the root key. Then, the message authentication code unit generates a vector for verifying the specific key based on a specific bit stream value from the PUF source, during the enrollment, the bit stream from the PUF source comes directly from the PUF input source, and during the recovery, from the fuzzy extractor correction mechanism. In addition, the format-preserving encryption unit will be used as a symmetric encryption and decryption unit to encrypt the root key in the auxiliary data during the enrollment process, and decrypt the root key for output after the message authentication code unit verifies successful recovery. Again, the memory storage accesses a set of auxiliary data during the enrollment process, uses the auxiliary data in a write operation mode, and reads in a recovery mode, during which time, the digital values ​​created by the fuzzy extractor, the format-preserving encryption unit, the true random number generator, and the message authentication code unit are stored. The root key extractor operates in an enrollment mode to generate a root key based on an input; in a recovery mode, recovering the originally generated root key based on the same predictable digital input and a different unpredictable digital input from a PUF source with a certain number of bit variations; and in an update mode, combining the enrollment mode and the recovery mode to add additional root key digital input entanglements.

[0010] In the first example, the electronic system of the present application is capable of generating multiple true random keys and true random numbers that are dependent on the boot cycle and are not fixed throughout the device life cycle. This feature has significant advantages over existing PUF technologies, which typically rely on boot cycles or generate a single fixed root key. By being able to create and recover multiple true random root keys.

[0011] In the second example, unlike traditional PUF technology that generates a single root key during device initialization, the present application allows the generation of multiple root keys that have no mathematical relationship with the key derivation function (KDF). This ensures improved security by reducing the risk of key compromise and enables the creation of isolated secure channels for different stakeholders and applications.

[0012] The dynamic nature of the PUF system disclosed in this application provides additional advantages. It allows for the continuous generation of true random numbers, facilitating the generation of new encryption keys, random numbers or other encryption parameters as needed to eliminate the reliance on fixed or pre-generated random number seeds and enhance overall security. Secondly, the ability to generate multiple true random keys enhances the integrity and security of cryptographic operations, enabling the creation of isolated secure channel digital certificates for different stakeholders and applications, and facilitating the establishment of multiple roots of trust. The features described significantly enhance overall security and enable secure communications and authentication in various areas, including FIDO authentication, point-to-point encryption, crypto wallets, and crypto key management systems.

[0013] In addition, the flexibility to update and change the root key throughout the device lifecycle adds another layer of security. Compared with PUF technology with a fixed root key, the present application allows the root key to be rotated as needed, reducing the impact of key damage or algorithm vulnerabilities. The integration disclosed in the present application is very straightforward, requiring minimal design modifications, and is designed to be compatible with standard processor units (such as CPUs, MCUs, and GPUs), reducing integration costs and promoting widespread application. It can be seamlessly integrated into existing electronic devices without incurring significant additional cost or complexity.

[0014] The details of other effects and embodiments of the present application are described below with reference to the drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0016] Figure 1 Schematic diagram of an electronic system integrating encryption functions, fuzzy extractors, and dynamically measurable physical unclonable function entropy for this application.

[0017] Figure 2 This is a schematic diagram of an array structure composed of physically unclonable functional units of the present application.

[0018] Figure 3A A schematic diagram of the system architecture and communication paths between each subsystem of the root key extractor of this application.

[0019] Figure 3B Based on Figure 3A Schematic diagram of the inputs, outputs, and their relationship to the generated root keys specified in the root key registration procedure of the designed system.

[0020] Figure 3C Based on Figure 3A Schematic diagram of the inputs, outputs, and their relationship to the generated root keys specified in the root key recovery procedure for the designed system.

[0021] Figure 3D Based on Figure 3A Schematic diagram of the inputs, outputs, and their relationship to the generated root keys specified in the root key update procedure of the designed system.

[0022] Figure 4A A schematic diagram of the arrangement of multiple user-defined inputs of the present application and their relationship to the index root key accessed by the data access digital controller.

[0023] Figure 4B Schematic diagram of how a single user-defined digital input or token may be arranged for this application with the least significant bit pattern first.

[0024] Figure 4C Schematic diagram of how a single user-defined digital input or token may be arranged for this application with the most significant bit pattern first.

[0025] Figure 5A For this application Figure 3A The root key registration procedure of the system (such as Figure 3B ) and / or update programs (such as Figure 3D ) during the process of arranging multiple auxiliary data.

[0026] Figure 5B A schematic diagram of the arrangement of a single auxiliary data portion with the least significant bit pattern first in the present application.

[0027] Figure 5C A schematic diagram of the arrangement of a single auxiliary data portion with the most significant bit pattern first in the present application.

[0028] Figure 6 This application is made by Figure 3A Schematic diagram of the structure of a single root key generated or recovered by the designed root key extractor.

[0029] Explanation of symbols

[0030] 100: Electronic system 200: PUF input source

[0031] 210: Row 220: Column

[0032] 230: PUF unit 300: Root key extractor

[0033] 310: Key extractor controller 320: Key derivation function unit

[0034] 330: True Random Number Generator 340: Fuzzy Extractor

[0035] 350: Message authentication code unit 360: Format preservation encryption unit

[0036] 400: Encrypted digital input set 410: Valid digital input

[0037] 411: Load digital input 412: Most significant bit

[0038] 413: Least significant bit 420: Data access digital controller

[0039] 500: Auxiliary data set 501: Memory storage

[0040] 510: Auxiliary data group 511: Specific auxiliary data

[0041] 512: most significant bit 513: least significant bit

[0042] 520: Data access digital controller 600: Root key

[0043] 610: Bit 700: Cryptographic Services Module DETAILED DESCRIPTION

[0044] The positional relationships described in the following embodiments include: up, down, left and right. Unless otherwise specified, they are all based on the directions in which the components are drawn in the drawings.

[0045] The present application describes an electronic system and a root key extractor that can dynamically create and manage multiple unique and inherent digital root keys based on multiple internal and external fixed and random input sources, and the multiple root keys will serve as the basic security input for encryption service modules, including some standardized cryptographic suites.

[0046] The main goal of the PUF system is to retrieve a unique static digital sequence from a randomness source or entropy source as a root digital identity, also referred to herein as a root key. The unique static digital sequence will prevent any possible prediction while providing the appropriate input for the PUF system to extract a unique digital sequence and random numbers from it.

[0047] The encryption service module is usually composed of a key exchange algorithm, an authentication algorithm, an encryption algorithm and a message authentication code algorithm, such as ECDH, ECDSA, AES, RSA, SHA, but not limited to these.

[0048] An integrated PUF system mechanism is capable of retrieving a unique digital sequence inherent to a single silicon manufacturing system. The PUF entropy source will be able to provide unpredictable unique sequences for the multiple algorithms and security protocols. The multiple sequences are never known by the manufacturer, designer or user, thereby preventing database network attacks that currently require fixed settings and storage of the multiple unique identifiers by humans or machines.

[0049] Intrinsically retrievable unique digital identities can be used for authentication mechanisms, network identification, or as input deviations to message authentication algorithms, often referred to as “salts.” In fact, the cryptographic suites required to deploy secure electronic environments are standardized and fixed, so electronic designers need to inherently implement uniqueness, either manually or using PUFs, to make the behavior of these standards unique.

[0050] In this application, a dynamic system is described for providing entropy source for PUF mechanism and random number generator, and integrated in a single semiconductor CMOS technology, allowing the generation of multiple true random root keys and true random numbers. This makes it possible to entangle multiple root keys with multiple arbitrary user-defined and self-generated input data using a physical unclonable function (PUF) and a proposed digital algorithm system.

[0051] The system of the present application can provide a reliable and dynamically measurable entropy source that is independent of the startup cycle of the electronic device, ensuring that true random numbers are provided at any time without relying on a pseudo-random number generator, thereby ensuring the generation of multiple true random keys as a secure basis for establishing an encryption channel.

[0052] Current state-of-the-art PUF technologies typically rely on a one-time operation during the boot cycle or a single-trigger registration sequence, limiting their flexibility and adaptability. Existing PUF technologies typically rely on the boot cycle and can only generate a single root key, or the root key cannot be updated and changed during the device lifecycle. They may also be limited in generating multiple true random numbers that are mathematically unrelated to the key derivation function unit (KDF), even if the multiple KDFs are considered to meet the security requirements of international standards.

[0053] The uniqueness of this application is that it can be used and reused independently of any other system or boot sequence without imposing design constraints on the host electronic system. This application only requires a single semiconductor CMOS technology to manufacture and can be seamlessly integrated into any standard processor unit (CPU, MCU, GPU) or customized ASIC system without adding additional design costs as a plug-and-play integrated subsystem.

[0054] The dynamic nature of the present application makes it an independent subsystem that can be integrated into existing electronic devices without inherent design modifications, significantly reducing the costs associated with the development of new integrated circuits, especially for CPUs, MCUs and GPUs. This flexibility makes the proposed PUF system easy to adopt and deploy, allowing it to be integrated into existing electronic devices as an independent subsystem without inherent design modifications, significantly reducing the costs associated with the development of new integrated circuits, especially for CPUs, MCUs and GPUs.

[0055] Conventional PUF system enrollment and recovery systems are systems designed for enrollment and recovery, which may involve the use of OTP-PUF self-injection root keys and / or the use of common error correction codes (ECC) typically used with SRAM-PUF, which may bring limitations in terms of flexibility and scalability.

[0056] Please refer to Figure 1 The present application provides an electronic system 100, which is an electronic system 100 for generating multiple root keys 600 indexed from 1 to X, and the electronic system 100 includes: a dynamically measurable physical unclonable function (PUF) input source (referred to as PUF input source 200), a root key extractor digital processing system (referred to as a root key extractor 300), creating a key 600 associated with an auxiliary data set 500, and receiving an additional encrypted digital input set 400 (also referred to as an input token), and an encryption service module 700.

[0057] The PUF input source 200 outputs different bitstream PUF raw data after each different measurement request, which can be independent of the boot cycle request at any given time. The PUF input source 200 and its associated measurement digital trigger come from multiple physical sources, the only requirement being that they must be the same physical source when associated with one or more root keys generated or recovered.

[0058] The root key extractor 300 locally accesses one or more indexed non-volatile memories via a standard serial and / or bus peripheral communication protocol. The root key extractor 300 operates in a root key registration mode, does not use any user-defined input, but uses system-defined hard-coded inputs, and creates an index portion of the auxiliary data set 500 associated with the root key 600 in the accessible non-volatile memory. In addition, the root key extractor 300 operates in a root key recovery mode using user-defined inputs and creates an index portion of the auxiliary data associated with the root key in the accessible non-volatile memory. The root key extractor 300 operates in the root key 600 update mode using user-defined inputs and appends new recovery data blocks to the auxiliary data set 500 index portion associated with the root key 600 in the accessible non-volatile memory. The root key extractor 300 operates in any mode associated with the root key 600 and obtains raw data from a physically unclonable function that is different from the functions that have been used for other and many other operating modes of the root key extractor 300.

[0059] The root key extractor 300 is responsible for initiating a measurement trigger request on the PUF input source 200, which is defined in this way to enable dynamic measurement when the trigger request is made through the internal digital transmission link. After the measurement request from the root key extractor 300, the PUF input source 200 will output the current measurement data of its PUF unit 230 array structure, such as Figure 1 The original PUF data is shown in Figure 2 As shown in E in FIG. In another embodiment, the PUF input source 200 can be a dynamic measurement issued by a third-party digital controller on a digital trigger. 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 assumed and necessary to assume that the root key extractor 300 is capable of triggering a new measurement request for the PUF input source 200 at any given time, so a new version of the original PUF data E is obtained after each request, each time with a certain static entropy and dynamic entropy, which is compatible with generating true random numbers and successfully registering and / or recovering the root key 600.

[0060] The raw PUF data from the PUF input source 200 may be delivered in various orders, not limited to the order of a specific array element, such as by a single bit transmission of each PUF element 230, by a cy-dimensional vector of each PUF element row 210, by an rx-dimensional vector of each PUF element column 220, by a logical combination of the two, or by a partial complete raw PUF data E. The measurement request may further be designed as a digital instruction multiple measurement requests, including or not including instructions on a specific raw data output format.

[0061] The root key extractor 300 loads and / or reads a specific or indexed digital input, also referred to as 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. The multiple digital inputs may be defined by an external digital system, i.e. user defined, hard-coded within the system, or ultimately from other PUF-based entities. Figure 4A In the example, the root key extractor 300 uses a specific loading digital input 411, also called a token, which is cryptographically entangled 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 will generate Figure 5A Finally, for a single root key 600, the root key extractor uses an original PUF data set E (such as Figure 2 ), a series of measurements, and a digital input or token X n To create or register a truly random new root key X, and generate the related auxiliary information X n . Use the new raw PUF data measurement series, the same digital input X as used to register the root key X, and the auxiliary data X used for the generation of this specific root key X n , the root key extractor is able to recover and converge to a unique and stable root key X.

[0062] Furthermore, the encrypted digital input set 400 can be established, stored or volatile through various sources and corresponds to a digital sequence of a certain length, and is accessed by the root key extractor 300. The encrypted digital input set 400 is completely stored in a local memory storage; or, the encrypted digital input set 400 is partially or completely not stored in the local memory storage. Secondly, one or more encrypted digital input sets 400 from an encrypted digital input set 400 are hard-coded in a digital design of the electronic system; or, one or more encrypted digital input sets 400 from an encrypted digital input set 400 are volatile inputs originating from outside the electronic system. Each portion of the group of auxiliary data sets 500 is associated with a specific root key 600 and one or more encrypted digital input sets 400, and is accessed by the root key extractor 300.

[0063] In some embodiments of the present application, the digital input is further from X1 to X nIn fact, the root key extractor 300 is not only capable of generating multiple root keys 600 indexed as X, but also capable of defining multiple digital inputs for recovering the same root key X600. Therefore, once the root key X600 is recovered, the root key extractor 300 will be able to generate new specific auxiliary data 511 to match the new loading digital input 411 and recover the same root key X600, so Figure 4A and Figure 5A n is defined in , which represents the number of different digital inputs X and related specific auxiliary data 511 that can recover the root key 600 with index X. For example, root key 3 can be recovered using digital input 31 and auxiliary data 31, or digital input 32 and auxiliary data 32, if two digital inputs 31 and 32 are defined to be able to load and recover the root key 3. In the last example, for root key 3, we have n=2. Therefore, for one root key X600, there will be the same number of digital inputs X n and specific auxiliary data X n 511. Since the index X of the root key is variable, the index n of each index X may be different.

[0064] Each root key X600 can be deprecated at any time by starting a new registration process for an existing root key index X600. n If all, some or all of the same, or completely new, each new root key X600 will be a new true random number, guaranteed by the new random changes in the original PUF data measurement request from the new PUF input source 200. n 411 May be different, newly generated association-specific auxiliary data X n 511 will also be new random data.

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

[0066] Figure 1 The electronic system 100 described in the specification operates under power but is completely independent of the power-up and power-down cycles of the host device into which the present application is integrated as a subsystem.

[0067] Please refer to Figure 2 , Figure 2 Further described in Figure 1 The system and architecture design of the PUF input source 200 in the embodiment of the present invention comprises a PUF unit set 230E. rx,cy , arranged in rows 210 and columns 220, where rx is the number of rows and cy is the number of columns, with a minimum value of 2 and an unlimited maximum value, respectively. Each PUF unit 230 can be measured according to a digital trigger measurement signal, independent of the startup cycle, and converge to an unpredictable binary level, which can be a low level or a high level, corresponding to the current system logic level '0' or '1', respectively. The dimension of the complete binary data E in the PUF input source 200 of the PUF unit 230 is (rx, cy), which is Figure 1 The original PUF data of the root key extractor 300 described in the embodiment can be input and collected row by row 210 or column 220, and a certain logic gate circuit design is used for counting and / or accumulation processing.

[0068] Please refer to Figure 3A , describes Figure 1 The detailed implementation of the root key extractor 300 described in the embodiment of the present invention is used to extract multiple unique inherent digital root keys with multiple non-random and random digital inputs, and generate digital outputs and their own digital input auxiliary data set 500; wherein the root key extractor 300 performs a key registration function and a recovery function. The key registration function generates specific auxiliary data 511, which is entangled 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.

[0069] 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. The key extractor controller 310 is used to load the digital input 411 and read and write specific auxiliary data 511 from a memory storage 501. The key extractor controller 310 is responsible for managing a digital circuit for system input and output messages, and controls the data sequence and operation flow between each unit constituting the root key extractor 300. The memory storage 501 accesses an auxiliary data set 500 during the registration process, uses the auxiliary data set 500 in the write operation mode, and reads in the recovery mode, during which 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 are stored.

[0070] The key derivation function unit 320 uses a bit sequence input key of arbitrary length and multiple bit sequences of arbitrary length to perform a key derivation operation, and uses an output bit sequence of arbitrary length as a derived key, which can be achieved by a standard KDF algorithm or other methods. The key derivation function unit 320 will generate a unique random key for encrypting a specific root key 600 generated by a true random number generator during registration, and takes a user-defined digital input, a true random number, and a discrete measurement version of the PUF input source data as input, each measurement is different.

[0071] The true random number generator 330 processes random bit inputs from the PUF original 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 a certain number of inputs from the PUF source and generates as many true random numbers as the system needs, which are used to generate the original root key 600 and create random vectors in the auxiliary data used in the root key 600 recovery process.

[0072] The fuzzy extractor 340 can operate in a registration mode or a recovery mode. In the registration mode, the input is a bit sequence of arbitrary length, and the output is the valid auxiliary data group 510; the input bit sequence E from the PUF input source 200 is called the original bit sequence corresponding to the output specific auxiliary data 511. The fuzzy extractor 340 can generate a specific vector from a version of the PUF input source original data during the registration process, and use the latest specific vector to correct the new version of the PUF source data to the initial data measured and used during the registration to create the root key 600.

[0073] 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 specific auxiliary data 511, and the output is the original bit sequence that generated the specific auxiliary data 511, wherein the new input bit sequence has the same length as the original bit sequence. The original bit sequence associated with the generated specific auxiliary data 511 is a bit sequence that is similar to the new bit sequence, where "similar" is defined as the ratio of different bits between the two bit sequences.

[0074] The fuzzy extractor 340 uses the specific auxiliary data 511 corresponding to the original bit sequence to repair a new bit sequence similar to the original bit sequence. It can be implemented using any error correction technology, such as error correction code, or any method that can achieve the same function.

[0075] The message authentication code unit 350 generates a vector for verifying a specific key based on a specific bit stream value from a PUF input source, where the bit stream from the PUF input source comes directly from the PUF input source during registration and from the fuzzy extractor correction mechanism during recovery. In addition, the message authentication code unit 350 can operate in both signature mode and verification mode. When operating in signature mode, the input is a bit sequence of arbitrary length as a message and a bit sequence of arbitrary length as a key, and the output is a bit sequence generated by the input message and the input key pair as an authentication code. When operating in verification mode, the input is a bit sequence of arbitrary length as a verification message, a bit sequence of arbitrary length as a verification key, and an authentication code. Only when the input verification message and verification key pair are exactly the same as the message and key pair used to create the authentication code, the authentication succeeds, confirms the correctness or integrity of the verification message, and outputs a verification message; otherwise, the authentication fails and no message is output.

[0076] The format-preserving encryption unit 360 is an encryption or decryption function, wherein the input is a bit sequence of any length as a key, a bit sequence of any length as data, and the output is the result of encrypting or decrypting the input data using the input key, and the input key 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 set 500 during the registration process, and decrypts the root key 600 for output after the message authentication code unit 350 verifies successful recovery.

[0077] exist Figure 3A In the example, the valid auxiliary data set 510 for recovering the root key X600 is arranged to be Figure 5A A data access digital controller 520 reads and writes data as described in .

[0078] The key extractor controller 310 is a controller for managing and arranging the communication and data transmission between each sub-unit in the root key extractor 300, and the key extractor controller 310 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. It loads the digital input 411 through the key extractor controller 310 and reads and writes specific auxiliary data 511 from the auxiliary data set 500.

[0079] Please refer to Figure 4A , Figure 4A The management and generation of X valid digital inputs 410 are illustrated, which are entangled with each root key 600 for encryption operations. A set of 'X' rows representing X root keys are depicted in FIG4, denoted as X1 to X n Each row corresponds to a unique said root key X600 and it is entangled with a variable number of 'n' digital inputs that can initiate the same root key X600.

[0080] The entanglement process begins with the first loaded digital input 411, or X1, which plays a vital role in creating the root key X600. This initial digital input can come from a variety of sources, such as user input, chip ID, application-specific numbers, or local memory, and it establishes the root key X600 through cryptographic operations and error correction of the PUF input source data from the PUF input source 200.

[0081] Once the root key X is created, it can be created by adding additional digits to X2 through X n Incorporating the entanglement process with the root key X600, further entanglement of more digital inputs is achieved, and the same index X associated with the new specific auxiliary data 511 is associated with n These digital inputs 400 can have any bit size and have a flexible nature that allows them to be changed at will. Similar to the first digital input X1, these subsequent digital inputs X2 to X n Can come from different sources and play different roles in the encryption system. Figure 4A The 410 in the figure represents a valid digital input X. n 410, capable of recovering the valid auxiliary data group X n 510 associated root key X600, where X n is exactly the same double index value. Therefore, Figure 5A The valid auxiliary data set 510 in the example corresponds to a valid digital input X of a specific root key X600. n 410.

[0082] Figure 4A Also included is a data access digital controller 420. The module represents a digital access interface that efficiently facilitates access to the various sources of the plurality of digital inputs. The data access digital controller 420 acts as an interface to securely retrieve and integrate the digital inputs, whether they are volatile or non-volatile inputs, into the entanglement process. A seamless and efficient means of communication between the encryption system and the sources containing the digital inputs is provided.

[0083] Figure 4A The entanglement of the root key 600 with multiple digital inputs realizes a strong and versatile cryptographic system. The root key 600 is represented by the row of 'X's, and is entangled with a variable number of valid digital inputs 410 (from X1 to X n ) are cryptographically entangled, and the multiple inputs can come from different sources and can be dynamically modified. The data access digital controller, as a key component, facilitates access to these valid digital inputs 410, ensuring the security and efficient operation of the encryption system.

[0084] Please refer to Figure 5A , the figure illustrates the loading of each digital input X n 411 and root key X600 correspond to specific auxiliary data X n The figure shows the integration of non-volatile memory, which can be on-chip or off-chip, for storing the valid auxiliary data set X for booting and recovering a specific root key X. n 510.

[0085] Each load digital input 411, indexed as X n , associated with the corresponding root key X600 and having the same index X n The specific auxiliary data 511 is generated specifically. Therefore, in addition to the valid digital input X n In addition to the auxiliary data set 410, there is also the effective auxiliary data set 510, which is represented as auxiliary data X n , which complements each load digital input X n 411 and root key pair X600. Unlike the loaded digital input 411 which can be modified and comes from various sources, the specific auxiliary data 511 is generated by the root key extractor 300 and saved in non-volatile memory and needs to be stored in a reliable manner, however, even if the entire content of the auxiliary data is publicly known, without all knowledge of the specific digital value, it does not constitute a specific security vulnerability.

[0086] The root key extractor 300 facilitates the storage and retrieval of auxiliary data through the data storage access digital controller 520 to access specific auxiliary data 511 of various indices. The root key extractor 300 is responsible for providing the data to be loaded by the digital input Xn Each root key X600 started by 411 creates specific auxiliary data X n 511. The specific auxiliary data 511 is calculated based on the encryption algorithm, for each root key X600 and loading digital input X n 411 combination for customization.

[0087] To ensure the accessibility of the valid auxiliary data set 510, a non-volatile storage system should be used. Such non-volatile memory can be integrated on-chip or off-chip according to specific implementation requirements. The non-volatile memory safely stores the specific auxiliary data 511 and protects it from power effects.

[0088] The effective auxiliary data group 510 and the data storage access digital controller 520 implement the load digital input X n 411 and root key X600 associated with specific auxiliary data X n The efficient retrieval of 511 facilitates the disentanglement and recovery process of each target root key X 600.

[0089] Figure 5A An integrated non-volatile memory is shown for storing and retrieving auxiliary data associated with each digital input and root key pair. The root key extractor 300 loads a digital input X600 for each root key X600 and n 411 Generate specific auxiliary data X n 511. Non-volatile memory, either on-chip or off-chip, stores auxiliary data, ensuring its availability during the disentanglement and recovery process.

[0090] Please refer to Figure 4B , the figure shows the loading digital input X in the least significant bit (LSB) first mode n 411. The figure shows the number sequence X n , the sequence can be composed of bytes of any bit size 'p' and can be written or read in the least significant bit (LSB) first mode. The LSB first mode means that the bits are transmitted or processed starting from the least significant bit 413 to the most significant bit 512.

[0091] Please refer to Figure 4C , the figure shows the loading of digital input X n 411 is presented in the most significant bit (MSB) first mode. Figure 4B Similarly, the diagram depicts a sequence of numbers X having a bit size 'p' n However, in the most significant bit (MSB) first mode, the bits are transmitted or processed starting with the most significant bit 512 and proceeding gradually toward the least significant bit 413.

[0092] Please refer to Figure 5A , which shows that certain auxiliary data X is presented in a least significant bit (LSB) first mode n 511, MSB 512 is indicated. Specific auxiliary data X n 511 with each loaded digital input X n 411, and complements the entanglement and recovery process of the specific root key 600. With a valid digital input X n 410 Similar, valid auxiliary information X n 510 can be of any bit size 'q' and can be written or read in least significant bit (LSB) first mode.

[0093] Please refer to Figure 5B and Figure 5C , which shows that certain auxiliary data X is presented in a most significant bit (MSB) first mode n 511. The figure shows the digital sequence X of the valid auxiliary data set 510 n , whose bit size is 'q'. In the most significant bit (MSB) first mode, the specific auxiliary data X n The bits 511 are transmitted or processed starting from the most significant bit 512 and then proceeding towards the least significant bit 513.

[0094] from Figure 4B and 4C as well as Figure 5A and 5B and Figure 5C The bit sizes 'p' and 'q' derived from the above can vary depending on the specific implementation and requirements of the cryptographic system. In addition, the load digital input X can be written or read in Least Significant Bit (LSB) first and Most Significant Bit (MSB) first modes. n 411 and specific assistance data X n The flexibility of the 511 enhances system versatility and compatibility, enabling seamless integration with a variety of applications and protocols such as I2C, SPI, and other buses and protocols.

[0095] Please refer to Figure 6 , which describes the root key X, indexed by RK x,j , each bit 610 and its association with the valid auxiliary data group 510 and the valid digital input 410. Each root key X600 has a unique index and can have a variable length 'j' according to specific implementation requirements. The root key X600 serves as the basic cryptographic key for security operations within the system.

[0096] Associated with each root key X600 is a corresponding valid auxiliary data set 510 and a valid digital input 410. The valid auxiliary data set 510 includes data stored in non-volatile memory to supplement the entanglement and recovery process of a particular root key X600. The valid auxiliary data set 510 entries are initially created by the root key extractor and are designed to be stored in non-volatile memory on-chip or off-chip.

[0097] Likewise, valid digital inputs 410 consist of arbitrary user-defined and / or automatically generated digital data that can initiate and contribute to the entanglement of the root key X600. These loaded digital inputs 411 can come from a variety of sources, such as user input, chip ID, specific application number, or local hard-coded memory. They can have any bit size and be modified as needed to enhance the security and flexibility of the cryptographic system.

[0098] The association of each root key X600 with its corresponding valid auxiliary data set 510 and valid digital input 410 ensures strong cryptographic operations and safeguards the integrity and confidentiality of sensitive data protected by the root key X600. By entangling the root key X600 with a unique combination of the valid auxiliary data set 510 and valid digital input 410, the system is able to interact more directly with the host application while achieving a high level of security and cryptographic strength.

[0099] Please refer to Figure 3B and 3C , which presents the registration process of the root key extractor 300 in more detail ( Figure 3B ) and restore( Figure 3C )'s input and output data streams.

[0100] Please refer to Figure 3B , the registration process of the root key 600, in which a certain number n of PUF original data, in Figure 2 In the Figure 3B In the expression [P a1 , P a2 ,...P an ], used as input to a root key extractor 300, where a corresponds to the index X of a particular auxiliary data 511 n ,exist Figure 3B and 5A The n in 200 is irrelevant. The n PUF raw data obtained from 200 are input to KDF320, TRNG330, Fuzzy Extractor340 and MAC350, all of which are state-of-the-art subsystems that require a variable amount of PUF raw data input between 1 and n.

[0101] TRNG330 uses a certain number n of PUF original data and generates a certain number z of true random numbers for auxiliary data with index a, such as Figure 3B As shown in [S a1 , S a2 , S a3 ,…S az ]. TRNG330 uses a certain number n of PUF raw data and generates a root key X600 in plain text, such as Figure 3B The index shown in is a, denoted by k a .

[0102] Therefore, KDF 320 uses [S a1 , S a2 , S a3 ,…S az ] as input, and load digital input 411, such as Figure 3B As shown, and [tkn az 、tkn az 、tkn az ,…tkn az ]like Figure 3B As shown, where tkn az is the input key of KDF320, and the PUF raw data is input to P ax and random number S ax where x ranges from 1 to z, is the input data of KDF320. KDF320 generates an output binary sequence based on its input, such as [e a1 、e a2 、e a3 ,…e az ] as shown.

[0103] Therefore, FPE360 accepts [e a1 、e a2 、e a3 ,…e az ] and k a As input, use [e a1 、e a2 、e a3 ,…e az ] as the input key and k a Perform format-preserving encryption on the input data to produce [g a1 , g a2 , g a3 ,…g az ]. The values ​​generated by FPE360 are stored in Supplementary Material a.

[0104] The fuzzy extractor 340 uses the PUF raw data input, indexed as x, denoted as Pax because it can be an array of vectors [P a1 , P a2 ,...P an ], but the same version is used in the registration process and a discrete extracted vector ha is generated, that is, mathematically, h a It is the only auxiliary data in the recovery process, and the other components constitute the specific auxiliary data 511 value (t az 、s az , g az ) is encrypted data and is used during the recovery process. a , PUF input source 200, loading digital input 411, also known as Token[tkn az 、tkn az 、tkn az ,…tkn az ], and the present system invention.

[0105] MAC350 uses KDF320 to output ax , and the same version Px of the PUF original data used by the fuzzy extractor 340 during the enrollment process, to generate a message authentication code t az , expressed as [t az ,s az ,g az ], stored in the special auxiliary data 511 as a component, except [g a1 , g a2 , g a3 ,…g az ]、[S a1 , S a2 , S a3 ,…S az ] and h a .

[0106] Therefore, the valid auxiliary data set 510 of a single root key 600 is composed of h a This is common to all valid digital inputs 410 for recovering the same root key 600, and also includes as many loading digital inputs 411 as there are entangled in the valid digital inputs 410 (t az ,s az ,g az ) collection, such as Figure 3B and Figure 3C As shown in [tkn az ,tkn az ,tkn az ,…tkn az ].

[0107] The vector ha is associated with the root key 600, and each taz ,s az ,g az The version of is associated with the entanglement of the loaded digital input 411, namely [tkn az ,tkn az ,tkn az ,…tkn az ].

[0108] Please refer to Figure 3C , the root key 600 recovery process, in which a different version of the PUF original data P from the registration process is collected from the PUF input source 200 ax , when used as the original input, it is labeled as P ax ” to provide to the fuzzy extractor 340 as input. During the root key 600 recovery process, the fuzzy extractor 340 loads the vector h a , and with P ax ” inputs to generate a corrected P ax " version, marked as P ax '. Therefore, KDF 320 uses the vector s from the specific auxiliary data 511 ax , the same load digital input 411 or tkn used to create or associate with the root key a az , and combined with the output of the fuzzy extractor 340, a vector e is generated ax '. KDF 320 uses tkn az as the input key, and P ax ' and Sax as input data to feed the MAC unit 350, with its output e ax '. Therefore, MAC350 receives e ax '、P ax ' and t in the specific auxiliary data 511 ax , to verify e ax 'As a valid e ax , used to decrypt g by FPE360 ax , effectively recovering the root key a,k a , by using the proven ax Decrypt g as input key ax .

[0109] exist Figure 3C mentioned in e ax ' and P ax The value of ' should be the same as Figure 3B e used during the registration process ax and P ax The same value is expected for FPE360 through e ax Successfully decrypted g ax If during the registration and recovery processax ' and e ax The value is different, which may be caused by loading digital input 411tkn az Incorrect, and / or PUF raw data measurement P ax "The data corresponding to the enrolment process has too many bit differences and instabilities to assume and have a PUF input source that matches the expected static and dynamic entropy, including bit errors. If the recovery process fails, Figure 3A The root key extractor 310 in will output an error message.

[0110] Please refer to Figure 3D , the root key extractor 300 update process, wherein a new load digital input token 411 is added as a valid input to be based on using another portion of auxiliary data, the data index is a z , and uses the new expected loading digital input token 411 to entangle the target root key with the convergence to recover the specific root key 600. The process begins with recovering the root key using the already valid loading digital input 411 and the related specific auxiliary data 511, which are used by tkn a1 , ta1, sa1 and h a Indicates that tkn a1 , ta1, sa1 are not necessarily the first sets created initially, but can actually be any previously valid sets. To simplify the description, we Figure 3D In the example, we write it as a1 because z and z+1 are not necessarily consecutive indices. Enter the new number into tkn az+1 The process of adding to the target root key 600 is the same as Figure 3C The recovery process is exactly the same as described in , so a valid other tkn is required az Enter. In order to continue the process and add a new tkn az+1 , obtained by MAC350 az , for example in Figure 3D Indicated as e a1 , used to decrypt g read from the auxiliary data az k a , and with Figure 3B The registration process is the same as described in a A new version of e (denoted by e az+1 ) is encrypted into g az+1 To save in and want to add to the valid input tkn az+1 The new load number in the list is entered in a new section of the associated auxiliary data 411. The new e az+1 、s az+1 and t az+1 How to obtain Figure 3BThe registration process is exactly the same as described in Figure 3D The are added after the restore process.

[0111] Overall, Figure 3D A combination of recovery and re-registration is described in order to associate as many new loading digital inputs 411 as possible with new specific assistance data 511 into said valid assistance data set 510 for a specific root key 600 .

[0112] Intended use example: Dynamic PUF-based secure multifunctional electronic device root key system

[0113] In this intended use example, we consider an electronic device driven by a microcontroller unit (MCU) that integrates the present application. The purpose of the system is to enhance the security and integrity of various critical functions within the electronic device.

[0114] 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 uses Root Key 1 to verify the digital signature of the firmware, ensuring that only trusted and authorized firmware is executed, thereby mitigating the risk of unauthorized modification or malicious code injection. In addition, Root Key 1 also assists in creating the digital inputs required to recover Root Key 2. This ensures that Root Key 2 can still be recovered even in the event of a device reset or power loss, maintaining the continuity of the secure firmware update operations it is responsible for. Root Key 1 may be associated with two sets of digital inputs and corresponding administrator and user permissions to boot the device.

[0115] Secure Firmware Update (Root Key 2): Root Key 2 is used exclusively for secure firmware updates. It is used to authenticate and verify the integrity of firmware updates received by the electronic device. The MCU uses Root Key 2 to verify the digital signature of the firmware update before applying the update. This process guarantees that only authorized, untampered firmware is installed to prevent potential security vulnerabilities. With Root Key 2 management, only the administrator's digital input can be reused as the digital input to launch Root Key 2 and perform a firmware update.

[0116] System Applications (Root Key 3): Root Key 3 is used to protect system-level applications in electronic devices. This Root Key 3 is unique because it receives a numeric input directly from the end user, similar to a password. The user provides a specific numeric input, such as an encryption key, PIN code, or password, which is used to start and entangle with Root Key 3. This personalized input adds an extra layer of security, ensuring that system applications can only be accessed and operated by authorized users.

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

[0118] The dynamic and multiple root key system is entangled with various digital input sources and can be expanded to accommodate different subsystems and applications in electronic devices. Root Key 4, Root Key 5, etc., are designated for specific subsystems or applications, providing isolated and 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 using highly secure and independent root keys. This isolation prevents any potential compromise or unauthorized access from affecting other subsystems or applications, enhancing the overall security of the electronic device.

[0119] By using this application in the MCU of the IoT device, a strong security architecture is established. The architecture implements secure boot, authenticated firmware updates, secure system applications and isolated subsystems, all of which utilize cryptographic service modules and highly secure root keys, while allowing external digital input entanglement to bring the high security characteristics of PUF technology into the application security field, rather than being completely limited to intrinsic entanglement, which can simplify security design and reduce power consumption in some cases, although this is not always ideal, so these external digital inputs are optional.

[0120] As described above, the present application discloses a system that utilizes a physical unclonable function (PUF) and a proposed digital algorithm system to entangle multiple root keys and generate true random numbers. The present application has advantages over existing PUF technology, including the ability to create and recover multiple true random root keys and true random numbers independently of the boot cycle. These features enhance security, enable the establishment of isolated secure channels, and provide flexibility in key management throughout the device life cycle. The present application is compatible with existing electronic devices and can be integrated with minimal design modifications. The disclosed invention has the ability to establish secure communication channels, generate true random numbers, and provide unique intrinsic digital identities, paving the way for a new era of secure interactions.

[0121] The embodiments and / or implementation methods described above are only used to illustrate the preferred embodiments and / or implementation methods for realizing the technology of the present application, and are not intended to limit the implementation methods of the technology of the present application in any form. Any technical personnel in this field may make slight changes or modifications to other equivalent embodiments without departing from the scope of the technical means disclosed in the content of the present application, but they should still be regarded as technologies or embodiments that are essentially the same as the present application.

Claims

1. An electronic system, characterized in that: For creating and restoring a large number of inherently unique digital sequences, the electronic system comprises: a PUC input source that outputs different bitstream PUF raw data after each different measurement request, the measurement request being independent of the boot cycle request at any given time; a root key extractor that generates a root key and associated digital assistance data in a registration mode, adds new associated digital assistance data in an update mode based on new user input, entangles the associated digital assistance data with the root key, and recovers the generated root key using sufficiently valid input and PUF-derived raw data; A set of encrypted digital inputs, which may be created, stored or volatilized from various sources and correspond to a digital sequence of a certain length, accessed by the root key extractor; a set of auxiliary data, each portion of which is associated with a particular root key and one or more encrypted digital inputs, and is accessed by the root key extractor; and a cryptographic service module using as input the root key created or recovered by the root key extractor; The output of the root key extractor includes: Obtaining a certain number of bit streams from a source of the PUF original data, the PUF original data being used to generate true random numbers and an original true random root key; a digital input sequence obtained from any user-defined digital input, which may be of any bit length and may come from a variety of sources; A specific portion of ancillary data generated during the root key registration process or updated during the update process and used as input during the root key recovery or update process, entangled with a specific user-defined digital input; A specific portion of auxiliary data stored locally or externally.

2. The electronic system according to claim 1, characterized in that: The root key extractor locally accesses one or more indexed non-volatile memories via standard serial and / or bus peripheral communication protocols.

3. The electronic system according to claim 1, characterized in that: The root key extractor operates in a root key registration mode, does not use any user-defined input, but instead uses system-defined hard-coded input and creates an auxiliary data index portion associated with the root key in accessible non-volatile memory.

4. The electronic system according to claim 1, characterized in that: The root key extractor operates in a root key recovery mode using user defined input and creates an auxiliary data index portion associated with the root key in accessible non-volatile memory.

5. The electronic system according to claim 1, characterized in that: The root key extractor operates in a root key update mode using user defined input and appends new recovery data blocks to the auxiliary data index portion associated with the root key in accessible non-volatile memory.

6. The electronic system according to claim 1, characterized in that: The root key extractor operates in any mode associated with the root key and obtains raw data from a physically unclonable function that is different from the functions that have been used for other and many other root key extractor operating modes.

7. A root key extractor, characterized in that A root key extractor for extracting a plurality of unique intrinsic digital root keys having a plurality of non-random and random digital inputs and producing a digital output and its own digital input auxiliary data, the root key extractor comprising: A key extractor controller, a digital circuit responsible for managing system input and output messages, and controlling the data sequence and operation flow between each unit that constitutes the root key extractor; a key derivation function unit that will generate a unique random key used to encrypt a specific root key generated by the true random number generator during enrollment, and takes as input a user-defined digital input, a true random number, and a discrete measured version of the PUF source data, which is different for each measurement; a true random number generator that uses a certain amount of input from the PUF source and generates as many true random numbers as the system needs for generating the original root key and creating random vectors in the auxiliary data used in the root key recovery process; a fuzzy extractor that can generate a specific vector from a version of the PUF source original data during the enrollment process, and use the latest specific vector to correct the new version of the PUF source data to the initial data measured and used during the enrollment to create the root key; a message authentication code unit that generates a vector for verifying a specific key based on a specific bitstream value from a PUF source, the bitstream from the PUF source coming directly from the PUF source during enrolment and from a fuzzy extractor correction mechanism during recovery; a format-preserving encryption unit to be used as a symmetric encryption and decryption unit to encrypt the root key in the auxiliary data during the registration process and to decrypt the root key for output after the message authentication code unit verifies successful recovery; and a memory storage device for accessing a set of auxiliary data during the registration process, for using said auxiliary data in a write mode of operation, and for reading in a restore mode, during which digital values ​​created by said fuzzy extractor, said format preserving encryption unit, said true random number generator, and said message authentication code unit are stored; The root key extractor operates in a registration mode to generate a key based on the input; wherein in recovery mode, the originally generated root key is recovered based on the same predictable digital input and a different unpredictable digital input from a PUF source with a certain number of bit changes; In the update mode, the registration mode and the recovery mode are combined to add an additional root key digital input entanglement.

8. The root key extractor according to claim 7, characterized in that The key extraction controller operates in a root key registration mode, using user defined inputs and random bit data from a physically unclonable function source to generate a random root key and associated auxiliary material.

9. The root key extractor according to claim 7, characterized in that The key extraction controller operates in root key recovery mode, using the same user-defined input as the target root key, the associated auxiliary data created in enrollment mode, and random bit data from a physical unclonable function source.

10. The root key extractor according to claim 7, characterized in that The key extraction controller operates in a root key update mode, using additional user-defined inputs, random bit data from a physically unclonable function source, and related auxiliary data to append a new recovery data block to the associated root key auxiliary data portion to include the new user-defined input as an authorized digital input to successfully recover the same root key.

Citation Information

Patent Citations

  • Ultra-lightweight RFID authentication method

    CN110677254A

  • PUF-based three-factor anonymous user authentication protocol method in Internet of Things

    CN111818039A

  • Key generation system and method for efficiently extracting DRAM PUF

    CN114091068A