Physical unclonable function generation method, circuit and generator

By reading and writing the state of physically non-cloning function cell groups, generating initial responses using their inherent process deviations and writing them into homomorphic states, the problems of high power consumption, high complexity, and insufficient anti-modeling capability in existing technologies are solved, achieving low-power and high-security reconfiguration of physically non-cloning functions.

CN121682913BActive Publication Date: 2026-05-01青岛海存微电子有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
青岛海存微电子有限公司
Filing Date
2026-02-09
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing physical non-cloning function techniques rely on external random entropy sources or single static parameters, resulting in high power consumption, increased design complexity, insufficient resistance to modeling attacks, and limited response space.

Method used

By reading the state of a group of physically non-clonable function units, generating an initial response using its inherent process deviations, and writing the unit group into a homomorphic state, reconstruction without external entropy sources is achieved, expanding the response space and enhancing anti-modeling capabilities.

Benefits of technology

It reduces system power consumption and design complexity, reduces potential attack surfaces, improves the unpredictability and security of responses, enhances resistance to modeling attacks, and improves the reliability of responses.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121682913B_ABST
    Figure CN121682913B_ABST
Patent Text Reader

Abstract

The application provides a physical unclonable function generation method, circuit and generator, and relates to the technical field of integrated circuit security. The method comprises the following steps: reading the states of a plurality of physical unclonable function unit groups in a physical unclonable function array, obtaining a first processing result, wherein each physical unclonable function unit group comprises at least two physical unclonable function units; and writing the physical unclonable function unit groups into a homomorphic state based on the first processing result, and generating reconstruction data. Through homomorphic state writing and reconstruction of the physical unclonable function unit groups based on the reading processing result, the randomness, reliability and anti-modeling attack capability of the physical unclonable function response are enhanced without an external entropy source, and the security is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, circuits, and generators for generating physically unclonable functions Technical Field

[0001] This application relates to the field of integrated circuit security technology, and in particular to a method, circuit, and generator for generating physically unclonable functions. Background Technology

[0002] Physically unclonable functions (PUFs) extract inherent process variations during chip manufacturing to generate a unique and unclonable "fingerprint" for each chip, and are widely used in device authentication, key generation, and anti-counterfeiting. To achieve higher security and flexibility, reconfigurable PUFs have become a research focus.

[0003] In existing technologies, physically unclonable functions can be reconstructed by employing an external random number generator, selecting redundant units, or based on a single static physical parameter (such as the critical switching current of a magnetic tunnel junction). These methods alter the combination of activation units of the physically unclonable function through external entropy sources or predefined rules, thereby generating multiple different responses on the same hardware.

[0004] However, relying on external random entropy sources or selecting redundant units not only increases overall power consumption and design complexity, but also introduces additional potential attack surfaces; or using a single static parameter as the basis for reconstruction may result in a limited response space, which restricts its ability to resist modeling attacks, thus leading to a decrease in security. Summary of the Invention

[0005] This application provides a method, circuit, and generator for generating physically unclonable functions. By writing and reconstructing the homomorphic state of physically unclonable function unit groups based on the reading processing results, it enhances the randomness, reliability, and resistance to modeling attacks of the physically unclonable function response without the need for an external entropy source, while also improving security.

[0006] In a first aspect, this application provides a method for generating physically unclonable functions, the method comprising:

[0007] Read the state of multiple physical non-cloning function unit groups in the physical non-cloning function array to obtain the first processing result. The physical non-cloning function unit group includes at least two physical non-cloning function units.

[0008] Based on the first processing result, the physical non-clonable function unit group is written into the homomorphic state to generate reconstructed data.

[0009] Optionally, before reading the state of multiple groups of physically non-cloning function cells in the array of physically non-cloning function cells, the method further includes:

[0010] Initialize multiple physical non-clonable function unit groups to a preset state.

[0011] Optionally, initialize multiple physical non-clonable function unit groups to a preset state, including:

[0012] Initialize the physically non-clonable function units in each group of physically non-clonable function units to the same resistive state.

[0013] Optionally, the first processing result is obtained, including:

[0014] Read the state of multiple physical non-clonable function cell groups in the physical non-clonable function array to obtain the first read data;

[0015] The first read data is subjected to a nonlinear transformation to obtain the first processing result;

[0016] Nonlinear transformation processing includes at least one of the following methods:

[0017] Perform a shift-and-XOR operation on the first read data;

[0018] Perform chaotic mapping processing on the first read data;

[0019] The first read data is processed using a hash function;

[0020] The first read data is subjected to frequency domain transformation processing;

[0021] The first read data is processed into a pseudo-random sequence.

[0022] Optionally, physically non-clonable function unit sets include at least one of the following cases:

[0023] Physically adjacent, physically non-clonable function units;

[0024] Physically unclonable function units arranged at intervals;

[0025] Physically unclonable function units stacked vertically;

[0026] Logically related, physically unclonable functional units.

[0027] Optionally, based on the first processing result, the physically non-clonable function cell set is written into the homomorphic state to generate reconstructed data, including the following steps:

[0028] Step 1: After writing the physical non-cloning function cell group into the homomorphic state based on the first processing result, read the state of the physical non-cloning function cell group again to obtain the second read data;

[0029] Step 2: Perform nonlinear transformation on the second read data to obtain the second processing result, and write the physical non-cloning function unit group into the homomorphic state based on the second processing result;

[0030] Repeat steps 1 and 2 sequentially until the preset number of processing steps is reached to generate reconstructed data.

[0031] Optionally, the method also includes:

[0032] The reconstructed data is written back to the physical non-cloning function cells of multiple physical non-cloning function cell groups, so that the physical non-cloning function cells in the same physical non-cloning function cell group have at least two resistive states, thereby generating the reconstructed data.

[0033] Optionally, physically unclonable function units include at least one of the following: magnetic storage units, resistive storage units, phase-change storage units, and flash memory units.

[0034] Secondly, this application provides a physically unclonable function generation circuit, which includes: a read circuit, a write circuit, and a digital processing circuit;

[0035] The read circuit is used to read the state of multiple physical non-cloning function cell groups in the physical non-cloning function array, obtain and output the first read data; the physical non-cloning function cell group includes at least two physical non-cloning function cells;

[0036] The digital processing circuit is used to process the received first read data, obtain and output the first processing result;

[0037] The write circuit is used to write the physically unclonable function cell set into the homomorphic state based on the received first processing result, generating reconstructed data.

[0038] Thirdly, this application provides a physically unclonable function generator, which includes a plurality of physically unclonable function unit groups and a physically unclonable function generation circuit that performs any of the methods in the first aspect.

[0039] This application provides a method, circuit, and generator for generating physically unclonable functions (PUCs). The method involves reading the states of multiple PUC cell groups within a PUC array, where each PUC cell group contains at least two PUC cells. This step utilizes the inherent process variations of the PUC cells to generate an initial PUC response, i.e., a first processing result. Further, the first processing result obtained in the previous step is used as a control signal to drive a specific write operation on the PUC cell group. The goal of this write operation is to write all PUC cells within each PUC cell group to the same or approximately the same preset electrical state, i.e., a homomorphic state, such as a fully high-resistance state or a fully low-resistance state. Thus, after the homomorphic write is completed, the physical state of the PUC cell group is updated. At this point, the original process variations between the PUC cells within the PUC cell group still exist, but they are in a completely new, unified initial resistance state. When a read comparison is performed again, the underlying resistance relationship network has changed, thereby generating an expanded response space different from the pre-reconstruction response, i.e., reconstructed data. In this way, this application uses the first processing result of the physically non-cloning function cell group as the basis for reconstruction, directly utilizing the inherent process deviations and instability characteristics of the physically non-cloning function cells as the entropy source, without the need to introduce an external random number generator. This reduces system power consumption and design complexity, and reduces the potential attack surface introduced by external modules. Furthermore, by writing the physically non-cloning function cell group into a homomorphic state, this application changes the relative resistance between the physically non-cloning function cells through a homomorphic write-back operation, thereby altering the reading result. This substantially expands the CRP space, enhances the unpredictability of the response, and thus significantly improves the ability to resist modeling attacks, while also improving security. Attached Figure Description

[0040] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0041] Figure 1 is a schematic diagram of an application scenario provided by an embodiment of this application;

[0042] Figure 2 is a schematic diagram of a physically unclonable function generator provided in an embodiment of this application;

[0043] Figure 3 is a flowchart illustrating a method for generating physically unclonable functions according to an embodiment of this application;

[0044] Figure 4 is a schematic diagram of the workflow of a method for generating physically unclonable functions provided in an embodiment of this application;

[0045] Figure 5 is a schematic diagram of a PUF reconstruction process provided in an embodiment of this application;

[0046] Figure 6 is an evolution curve of the Lorentz attractor under different initial conditions as provided in the embodiments of this application;

[0047] Figure 7 is a trend diagram of the CRP reconstruction process of a chaotic PUF provided in an embodiment of this application;

[0048] Figure 8 is a schematic diagram of a physically unclonable function generation circuit provided in an embodiment of this application;

[0049] Figure 9 is a schematic diagram of another physically unclonable function generation circuit provided in an embodiment of this application.

[0050] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0051] To facilitate a clear description of the technical solutions in the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish identical or similar items with essentially the same function and effect. For example, the first processing result and the second processing result are only used to distinguish different processing results and do not limit their order. Those skilled in the art will understand that the terms "first" and "second" do not limit the quantity or execution order, and the terms "first" and "second" are not necessarily different.

[0052] It should be noted that, in this application, the terms "exemplary" or "for example" are used to indicate that something is being described as an example, illustration, or illustration. Any embodiment or design described as "exemplary" or "for example" in this application should not be construed as being more preferred or advantageous than other embodiments or design solutions. Specifically, the use of terms such as "exemplary" or "for example" is intended to present the relevant concepts in a concrete manner.

[0053] In this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A alone, A and B simultaneously, or B alone, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can mean: a, b, c, ab, ac, bc, or abc, where a, b, and c can be single or multiple.

[0054] Physically unclonable functions (PUCs) leverage inherent process variations in chip manufacturing to generate unique and unclonable responses, making them crucial for hardware security. Current reconfigurable PUC techniques primarily achieve response reconstruction through external random numbers or redundant cell selection. It's important to note that reconstruction is equivalent to replacing the PUC, i.e., generating a new challenge-response pair (CRP).

[0055] In one possible implementation of the prior art, the physically unclonable function is reconstructed by relying on the device's response deviation to a single stimulus as an entropy source. For example, based on the physically unclonable function corresponding to a memory cell, random features are extracted by applying a fixed voltage and reading its resistance or current state. Alternatively, response reconstruction can be achieved by relying on an external entropy source such as a random number generator (RNG).

[0056] However, while this single-excitation mode is simple to implement, its entropy source is inherently limited by a single physical parameter, such as a specific write voltage, critical switching current Ic, or resistance value. This results in a limited response space, making it difficult to defend against side-channel attacks or attacks that use multiple response acquisitions for machine learning modeling. Furthermore, this reliance on external entropy sources to reconstruct physically unclonable functions not only increases overall power consumption and design complexity but also introduces additional potential attack surfaces. Moreover, because external entropy sources are greatly affected by environmental changes such as temperature and voltage, the response stability of physically unclonable functions decreases.

[0057] Another possible implementation in the prior art is the partially reconfigurable physically unclonable function scheme, such as the Ring Oscillator Physical Unclonable Function (RO PUF) and its variants, which typically improves its versatility and reliability by selecting some redundant units for response reconfiguration.

[0058] However, such schemes typically select a subset of units from a set of oscillators or memory cells to participate in response generation, failing to fully utilize the state information of all available units. This selective use not only reduces the utilization rate of the entropy source but may also introduce security vulnerabilities due to the regularity of the predefined unit selection pattern. This allows attackers to potentially deduce or reconstruct part of the response information by analyzing the selection mechanism, leading to reduced security.

[0059] In another possible implementation of the prior art, the magnetic tunnel junction (MTJ) bits are selected by addressing the decoder, connected to the sensing amplifier circuit via a multiplexer, and the resistance values ​​of the two MTJ bits in each MTJ comparison combination are compared in turn until all MTJ comparison combinations have been compared in turn. The reconfigurable function is achieved by writing specific magnetic tunnel junction MTJ bits into different initial states.

[0060] While writing to different initial states is a key operation for achieving reconfigurable functionality, the above scheme lacks a specific strategy for writing to different initial states, which may greatly affect the performance of physically unclonable functions, such as security, reliability, and usability.

[0061] To address the aforementioned issues, this application provides a method for generating physically unclonable functions (PUCs). This method involves reading the states of multiple PUC cell groups within a PUC array, where each PUC cell group contains at least two PUC cells. This step utilizes the inherent process variations of the PUC cells to generate an initial PUC response, i.e., a first processing result. Further, the first processing result obtained in the previous step is used as a control signal to drive a specific write operation on the PUC cell group. The goal of this write operation is to write all PUC cells within each PUC cell group to the same or approximately the same preset electrical state, i.e., a homomorphic state, such as a fully high-resistance state or a fully low-resistance state. Thus, after the homomorphic write is completed, the physical state of the PUC cell group is updated. At this point, the original process variations between the PUC cells within the PUC cell group still exist, but they are in a completely new, unified initial resistance state. When a read comparison is performed again, the underlying resistance relationship network has changed, thereby generating an expanded response space different from the pre-reconstruction response, i.e., reconstructed data.

[0062] In this way, this application uses the first processing result of the physically non-cloning function cell group as the basis for reconstruction, directly utilizing the inherent process deviations and instability characteristics of the physically non-cloning function cells as the entropy source, without the need to introduce an external random number generator. This reduces system power consumption and design complexity, and reduces the potential attack surface introduced by external modules. Furthermore, by writing the physically non-cloning function cell group into a homomorphic state, this application changes the relative resistance between the physically non-cloning function cells through a homomorphic write-back operation, thereby altering the reading result. This substantially expands the CRP space, enhances the unpredictability of the response, and thus significantly improves the ability to resist modeling attacks, while also improving security.

[0063] Furthermore, by writing the physically non-cloning function cells within the same group to the same electrical state (homomorphism), the physically non-cloning function cells experience similar environmental (temperature, voltage) drift during subsequent read comparisons. This common-mode variation characteristic makes the physically non-cloning function responses based on their relative differences (such as the comparison resistance) more robust to environmental fluctuations, thereby improving reliability.

[0064] It should be noted that the physically unclonable function generation method provided in this application is applicable to various application scenarios, such as IoT devices, automotive electronics, industrial control systems, smart cards, and other scenarios requiring device authentication and data security. Specifically, in IoT devices, each device needs to generate a unique identifier (such as a digital fingerprint) through a physically unclonable function for cloud authentication, preventing counterfeit devices from accessing the network. In automotive electronics, the physically unclonable function can be embedded in the vehicle controller to ensure that only authorized Electronic Control Units (ECUs) can participate in vehicle communication, preventing unauthorized tampering of control commands. In industrial control systems, the physically unclonable function is used to generate dynamic keys, protecting the confidentiality of critical data transmissions. Furthermore, this physically unclonable function generation method can also be applied to scenarios such as one-time key generation, device binding, information security protection, and anti-tampering detection. The specific application scenarios are not limited in the embodiments of this application.

[0065] For example, taking an application to an Internet of Things (IoT) device as an example, Figure 1 is a schematic diagram of an application scenario provided by an embodiment of this application. As shown in Figure 1, the application scenario includes a terminal device 101, which has a chip 102, and the chip 102 contains a physically unclonable function generator.

[0066] In a scenario where terminal device 101 needs to generate a digital fingerprint for cloud authentication, the physical non-cloning function generator can obtain the first processing result by reading the state of multiple predefined physical non-cloning function unit groups in the physical non-cloning function array.

[0067] Furthermore, based on the first processing result, a write operation is performed on the same batch of physically non-clonable function cell groups, that is, all physically non-clonable function cells within each physically non-clonable function cell group are written to a homomorphic state, or a nearly identical physical state, such as resistance values ​​within the same target range, thereby obtaining reconstructed data. The writing of homomorphic states can utilize the difference between the two identical resistance states (Rp / Rap) as static entropy sources.

[0068] Optionally, the reconstructed data can be written back as the data to the corresponding multiple physical non-cloning function units. This ensures that different physical non-cloning function units within the same unit group have at least two resistive states, thereby forming a high-entropy, unique random distribution pattern at the physical level.

[0069] Furthermore, a read operation is applied to the physically unclonable function array configured as described above. For example, the current or resistance of the physically unclonable function cells within the group is measured and compared to generate a stable and unique digital fingerprint. This allows the terminal device 101 to use this digital fingerprint as its unclonable identity identifier to participate in the authentication protocol when authentication with the cloud is required.

[0070] Optionally, Figure 2 is a schematic diagram of a physically unclonable function generator provided in an embodiment of this application. As shown in Figure 2, the physically unclonable function generator includes multiple physically unclonable function unit groups and a physically unclonable function generation circuit. The physically unclonable function unit group includes at least two physically unclonable function units. The physically unclonable function generation circuit can execute any embodiment of this application.

[0071] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.

[0072] Figure 3 is a flowchart illustrating a method for generating physically unclonable functions according to an embodiment of this application. This method can be applied to the aforementioned physically unclonable function generator. As shown in Figure 3, the method includes the following steps:

[0073] S301. Read the state of multiple physical non-cloning function unit groups in the physical non-cloning function array and obtain the first processing result. The physical non-cloning function unit group includes at least two physical non-cloning function units.

[0074] Optionally, the physically non-cloning function unit group may also include multiple physically non-cloning function units. It should be noted that the embodiments of this application do not impose a specific limitation on the number of units included in the physically non-cloning function array, which can be arbitrarily expanded from a few bits to millions of bits according to actual needs.

[0075] In this embodiment of the application, a physically unclonable function array can refer to a collection of a large number of physically unclonable function units integrated on an integrated circuit chip in a specific topology (such as matrix form). The physically unclonable function array utilizes microscopic process deviations (such as random fluctuations in transistor threshold voltage, linewidth, and film thickness) that are unavoidable and cannot be precisely replicated in semiconductor manufacturing, so that each physically unclonable function unit in the array has a small and unique difference in physical characteristics.

[0076] The physically non-cloning function (PCF) unit is a physically random feature extraction unit used to generate a unique CRP, while the storage unit is used to store the CRP. In other words, the storage unit is a device unit used to store the PCF response, such as the basic storage unit in MTJ, resistive random access memory (RRAM), flash memory, or phase-change random access memory (PCRAM).

[0077] A physically non-clonable function cell group can refer to a basic functional subset containing at least two physically non-clonable function cells, partitioned from a physically non-clonable function array. This physically non-clonable function cell group is a key logical construct for implementing intra-group homomorphic operations and relative comparison functions. Its partitioning can include: physically non-clonable function cells based on physical adjacency (continuous cells in the same row or column), physically non-clonable function cells arranged at intervals, physically non-clonable function cells stacked vertically, logically related physically non-clonable function cells, or physically non-clonable function cells logically related by circuit connection (such as sharing the same bit line or word line). The embodiments of this application do not specifically limit the partitioning criteria.

[0078] It should be noted that the design of the physically non-cloning function unit group ensures that the physically non-cloning function units within the group are under similar environmental conditions (temperature, voltage gradient). The purpose is to enable a collective homomorphic write operation on these physically non-cloning function units in the future, and to generate physically non-cloning function responses by comparing their relative characteristics.

[0079] For example, a physically non-clonable function cell pair is a complementary cell pair, that is, a cell pair consisting of two physically adjacent or logically related physically non-clonable function cells, such as a complementary cell pair of MTJs. Optionally, in a magnetoresistive random access memory (MRAM), the complementary cell pair can be left and right adjacent MTJ cells, whose resistance state difference is used to generate physically non-clonable function responses.

[0080] For example, the current logic state or analog value of each physically non-clonable function unit within a group of physically non-clonable functions can be obtained by measuring the electrical characteristics (such as resistance, current, or delay), and these raw datasets can be combined as the first processing result.

[0081] Optionally, the first processing result may be the result obtained by performing aliasing operation on the read data corresponding to the state of the physical non-clonable function unit group, or it may be the read data itself, or it may be the processing result corresponding to the read data after error correction, such as the result after processing the read data using the error correction coding (Bose-Chaudhuri-Hocquenghem Code, BCH) algorithm. The specific data type corresponding to the first processing result is not limited in the embodiments of this application.

[0082] S302. Based on the first processing result, write the physical non-clonable function unit group into the homomorphic state to generate reconstructed data.

[0083] In the embodiments of this application, the homomorphic state can refer to a specific physical state of a physically non-clonable function unit. In the homomorphic state, all physically non-clonable function units in the group of physically non-clonable function units are configured to have the same or very close measurable key electrical parameters, such as resistance value and magnetization direction.

[0084] Taking physically non-clonable function cells of memory types such as MRAM as an example, a homomorphic state can refer to all cells being written with the same or approximately the same logic state, such as both being high-resistance states AP or both being low-resistance states P, so that their resistance values ​​are within the same value or a certain order of magnitude range. The high-resistance state AP can also be called the AP state, which refers to the physical state corresponding to the antiparallel alignment of the magnetization directions of the magnetic free layer and the reference layer in its magnetic tunnel junction; the low-resistance state P can also be called the P state, which refers to the physical state corresponding to the parallel alignment of the magnetization directions of the magnetic free layer and the reference layer in its magnetic tunnel junction.

[0085] Reconstructed data refers to the new physical state presented by the physically unclonable function (PUC) cell group after a homomorphic write operation based on the first processing result. It serves as the direct physical basis for generating new PUC responses. For example, if the PUC array contains four PUC cells, the reconstructed data after a homomorphic write operation could be "1 1 0 1". This application does not specifically limit the method of obtaining the reconstructed data; it can reconstruct all PUC cells within the PUC array, or it can reconstruct only a portion of the PUC cells.

[0086] For example, the obtained first processing result is used as input to generate a corresponding control signal to perform a specific write operation on the physically non-cloning function cell set. Taking the physically non-cloning function cell set as a complementary cell set as an example, the complementary cell pair is simultaneously set to the P state or AP state to balance the influence of environmental noise. Since the inherent process deviation of the physically non-cloning function cell still exists, after the write-back operation, the homomorphic state of the complementary cell pair can form a new resistive state difference, which serves as the physical basis for reconstructing the data.

[0087] Furthermore, after the write operation is completed, due to thermal noise, back-hopping, and other reasons, the physical non-cloning function cell will exhibit resistive instability, resulting in resistance differences between different physical non-cloning function cell groups that are written to the same state. These resistance differences can also serve as the physical basis for reconstructing the data.

[0088] In contrast to existing technologies that often rely on single static parameters, resulting in limited response space, or depend on external random entropy sources, leading to high system power consumption and design complexity, this application utilizes the self-state of physically unclonable function units (PNUs), i.e., the first processing result drives reconstruction, eliminating the need for external random entropy sources. This reduces system complexity, power consumption, and potential attack surfaces, achieving intrinsic self-reconstruction and eliminating external dependencies. Furthermore, by writing the PNU group into a homomorphic state, the entropy source is actively reset, enabling the same PNU group to generate unpredictable new responses. This effectively expands the challenge-response pair space, enhances resistance to modeling attacks, and ensures security. Moreover, homomorphic writing places each PNU within the group in the same or approximately the same physical state, resulting in highly homomorphic environmental drift. This significantly reduces the impact of environmental fluctuations on the PNU responses generated based on relative difference comparisons, thereby enhancing reliability. Furthermore, while achieving reconfigurability of physically non-clonable functions, it relies on and utilizes the inherent process deviations and instability characteristics of physically non-clonable function units as the original entropy source, ensuring that the randomness and uniqueness of the response are not compromised, and maintaining high entropy and high uniqueness.

[0089] Optionally, before reading the state of multiple groups of physically non-cloning function cells in the array of physically non-cloning function cells, the method further includes:

[0090] Initialize multiple physical non-clonable function unit groups to a preset state.

[0091] In this embodiment of the application, the preset state may refer to the uniform state set by the physical non-cloning function unit during the initialization phase, such as all physical non-cloning function units being initialized to a low-resistance state (P state) or a high-resistance state (AP state).

[0092] It should be noted that the preset state can be a manually set, non-random initial condition. Its selection is typically based on device characteristics (such as choosing the most stable, lowest power consumption, or fastest write speed state) or system design requirements. This application does not specifically limit the setting conditions of the preset state; the purpose of setting the preset state is not to provide an entropy source, but rather to provide a controllable starting point for the reconfigurable loop of physically unclonable functions.

[0093] For example, during the initialization phase, by applying a uniform control signal, such as a specific voltage or current pulse, all the physical non-cloning function units to be used in the physical non-cloning function array are brought into a preset state. For example, all MTJs are initialized to the P state to eliminate the interference of environmental noise on the initial response.

[0094] In this way, by providing a known and consistent initial physical state for the entire array of physically non-clonable functions, the uncertainty caused by the unknown random state of each physically non-clonable function unit at power-on is eliminated, ensuring the repeatability and reliability of the initialization of the physically non-clonable function functions. Moreover, since all physically non-clonable function unit groups start from the same known state, subsequent operations such as reading, comparison, and reconstruction based on the first processing result can be designed and optimized based on this clear benchmark, simplifying subsequent state management and logic control and reducing complexity.

[0095] Furthermore, initializing multiple physically unclonable function cell groups to a preset state can provide a stable and predictable starting point for chip testing, performance evaluation (such as uniformity and uniqueness measurements), and possible circuit calibration (such as sensor amplifier reference voltage settings), which is beneficial for performance testing and calibration.

[0096] After the initialization write process is completed, similarly, due to thermal noise, back-hopping, and other reasons, the physically non-clonable function cells will exhibit resistive instability, resulting in a resistance difference between the physically non-clonable function cell group and the preset state. This resistance difference can also serve as an unstable entropy source and become the physical basis for reconstructing the data.

[0097] Optionally, initialize multiple physical non-clonable function unit groups to a preset state, including:

[0098] Initialize the physically non-clonable function units in each group of physically non-clonable function units to the same resistive state.

[0099] In this embodiment, initialization to the same resistance state can refer to the configuration phase before the physical non-cloning function array is enabled, whereby, through external control, the resistance value of each physical non-cloning function unit within each physical non-cloning function unit group is forced to be set to a physical value range representing the same logic state, i.e., set to the same resistance state during the initialization phase. This same resistance state can also be understood as a symmetrical resistance state, such as a PP state or an AP-AP state.

[0100] For example, during the initialization phase, the same electrical write conditions are applied to all independent cells within each group of physically non-clonable function cells, so that the resistance value of the MTJ is set to the value range corresponding to the same logic state (such as high resistance state or low resistance state).

[0101] In this way, by initializing the physically unclonable function (PUC) cells in each PUC cell group to the same resistance state, environmental noise interference is reduced through physical isolation, and the response space is expanded through resistance state differences. This ensures that before the PUC begins operating, there are no significant resistance differences within each PUC cell group that could mask inherent process deviations due to different initial states. This provides a clean comparative basis for subsequent response generation based on subtle differences between PUC cells within the group, making the changes in response before and after reconfiguration more significant and controllable, thus enhancing the efficiency of the reconfigurable function. Furthermore, by introducing unstable characteristics as a primary entropy source during the initialization phase, the unpredictability of the response is enhanced, significantly improving resistance to modeling attacks and simultaneously improving security.

[0102] Optionally, the first processing result is obtained, including:

[0103] Read the state of multiple physical non-clonable function cell groups in the physical non-clonable function array to obtain the first read data;

[0104] The first read data is subjected to a nonlinear transformation to obtain the first processing result;

[0105] Nonlinear transformation processing includes at least one of the following methods:

[0106] Perform a shift-and-XOR operation on the first read data;

[0107] Perform chaotic mapping processing on the first read data;

[0108] The first read data is processed using a hash function;

[0109] The first read data is subjected to frequency domain transformation processing;

[0110] The first read data is processed into a pseudo-random sequence.

[0111] In this embodiment of the application, the first read data may refer to the state sequence obtained by reading the physical non-cloning function unit, which is used as the input basis for the reconstruction response. For example, after reading the state of 4 sets of MTJ pairs, the first read data may be "1 0 1 1".

[0112] Nonlinear transformation processing refers to processing the first read data using a nonlinear algorithm to generate intermediate results that cannot be linearly reversed. For example, using a shift-XOR algorithm to perform aliasing processing on the first read data "1 0 1 1" generates an aliased result "1 1 0 0". The aliased result "1 1 0 0" can indicate that the first two pairs of complementary units are written to the AP-AP state, and the last two pairs are written to the PP state. The aliasing result is one way to represent the result of the first processing.

[0113] In this application, the shift-and-XOR operation can refer to the operation sequence generated by cyclically shifting the first read data and then XORing it with the original sequence. For example, the first read data "1 0 1 1" is cyclically shifted and then XORed to generate the aliased result "1 1 0 0".

[0114] Chaotic mapping processing refers to iteratively calculating the first read data using a chaotic system, and taking the output chaotic sequence or its sensitive dependence on the input as the processing result. For example, using the Logistic chaotic mapping formula x... n+1 =r·x n (1-x) n The first read data is converted into a chaotic sequence.

[0115] Hash function processing refers to performing an irreversible transformation on the first read data using a hash function to obtain a fixed-length digest value. For example, the SHA-256 function can be used to process the first read data "1 0 1 1" to generate a fixed-length processing result.

[0116] Frequency domain transformation processing refers to converting the first read data from the time or spatial domain to the frequency domain through mathematical transformation, and then extracting or processing the frequency domain coefficients to form the first processing result. For example, the first read data can be processed using Fast Fourier Transform (FFT) or wavelet transform to obtain the first processing result.

[0117] Pseudo-random sequence processing can refer to using the first read data as a seed to initialize a pseudo-random number generator, and then using the generated pseudo-random sequence as the first processing result. For example, using the Lorenz system to generate pseudo-random sequences.

[0118] In this step, first read data reflecting the physical characteristics of the physically non-clonable function cell set can be obtained. This first read data is then used as input to apply one or more predetermined nonlinear transformation processes to generate a first processing result, which is used to drive subsequent reconstruction write operations.

[0119] In this way, by diversifying the implementation of nonlinear transformation processing, potential spatial correlations or patterns in the original read data can be disrupted, extracting and enhancing the true random components, thus improving the randomness quality of the first processing result and increasing the unpredictability of the reconstructed data. The nonlinear characteristics of different algorithms require attackers to model multiple transformation logics simultaneously, making it difficult to inversely deduce or linearly model the underlying physical properties of the unit by observing the response of a physically non-clonable function. This significantly enhances the system's resistance to machine learning modeling attacks and increases the difficulty of cracking it. Furthermore, the diversified implementation of nonlinear transformation processing also improves the system's environmental adaptability; for example, chaotic mapping processing can dynamically adjust parameters to adapt to changes in environmental noise.

[0120] Furthermore, nonlinear transformation processing can amplify the resistance instability of physically non-clonable function units into response differences, thereby expanding the CRP space and enhancing the unpredictability of the response.

[0121] Optionally, physically non-clonable function unit sets include at least one of the following cases:

[0122] Physically adjacent, physically non-clonable function units;

[0123] Physically unclonable function units arranged at intervals;

[0124] Physically unclonable function units stacked vertically;

[0125] Logically related, physically unclonable functional units.

[0126] In this embodiment, physically adjacent physical non-cloning function cells can refer to multiple physically non-cloning function cells that are directly adjacent to each other in spatial distance or located within the closest distance range allowed by minimum design rules on a two-dimensional planar layout of an integrated circuit. Examples include horizontally arranged MTJ cells or vertically adjacent MTJ cells in an MRAM. In an MRAM array, the group of physically non-cloning function cells consists of horizontally adjacent MTJ cells, and their resistance differences are determined by manufacturing process variations.

[0127] Interval arrangement of physically non-clonable function units can refer to multiple physically non-clonable function units selected from different spatial locations in a physically non-clonable function array at predetermined fixed intervals (such as selecting one every N units), and which are not contiguous in layout, where N is an integer greater than 1.

[0128] Physically non-cloning function (PNF) cells stacked vertically refer to multiple PNF cells located on different vertical layers (such as different metal layers or transistor layers) but spatially aligned or adjacent through vertical interconnects in a three-dimensional integrated circuit structure, such as multilayer MTJ cells in a three-dimensional memory. In three-dimensional MRAM, the PNF cell group is a stacked MTJ cell, and its resistance state difference is determined by interlayer process variations.

[0129] Logically associated physically non-clonable function cells can refer to multiple physically non-clonable function cells dynamically assigned based on circuit connection relationships (such as sharing the same word line, bit line, enable signal, or sensor amplifier) ​​or by address decoding logic. For example, cell pairs with impedance differences are implemented through circuit design. Two non-adjacent physically non-clonable function cells are configured into a physically non-clonable function cell group through circuit design, and their impedance differences are determined by the circuit logic.

[0130] In this way, the diverse layout of physically non-cloning function (PCF) unit groups expands the entropy source dimension of the PCF response. Different types of PCF unit groups have different sources of resistance state differences, requiring attackers to model multiple physical or logical characteristics simultaneously, significantly increasing the difficulty of cracking. Furthermore, it allows PCF units within a single PCF unit group to be physically dispersed, thus resisting probe or fault injection attacks targeting localized areas, as attackers cannot simultaneously and precisely manipulate or read all dispersed PCF units within a group. In addition, the diverse layout of PCF unit groups reduces sensitivity to side-channel attacks through physical isolation, thereby enhancing attack resistance.

[0131] It should also be noted that by grouping physically adjacent or vertically stacked units of physically non-clonable functions (PCFs) together, it is possible to ensure that PCFs within a group experience nearly identical local environmental conditions (such as temperature gradients and stress), thereby resulting in better common-mode noise suppression and improved response stability during subsequent comparisons. Furthermore, it allows for the selection of appropriate PCF grouping strategies based on different chip layouts, process nodes, or security requirements, optimizing the balance between area, performance, and security.

[0132] Optionally, based on the first processing result, the physically non-clonable function cell set is written into the homomorphic state to generate reconstructed data, including the following steps:

[0133] Step 1: After writing the physical non-cloning function cell group into the homomorphic state based on the first processing result, read the state of the physical non-cloning function cell group again to obtain the second read data;

[0134] Step 2: Perform nonlinear transformation on the second read data to obtain the second processing result, and write the physical non-cloning function unit group into the homomorphic state based on the second processing result;

[0135] Repeat steps 1 and 2 sequentially until the preset number of processing steps is reached to generate reconstructed data.

[0136] In this embodiment, the preset number of processing iterations can refer to the predetermined and set number of loops required to fully execute the read-nonlinear transformation-write operation sequence. This embodiment does not specifically limit the size of the preset number of processing iterations; it can be reasonably set based on a balance between enhanced security (more iterations typically mean stronger obfuscation) and performance overhead (including time latency and energy consumption).

[0137] For example, Figure 4 is a schematic diagram of the workflow of a method for generating a physically unclonable function according to an embodiment of this application. As shown in Figure 4, taking the physically unclonable function unit as MTJ, the physically unclonable function unit group as MTJ pair, the initialization as P state, and the nonlinear transformation processing as shifting and XORing the first read data as an example, the method for generating a physically unclonable function includes the following steps:

[0138] Step A: After PUF reconstruction begins, perform optional initialization operations, which initialize all MTJ pairs to P state and specify the distribution pattern of MTJ pairs in the array.

[0139] Step B: Read the state of the MTJ pair to obtain the first read data, perform a shift-and-XOR operation on the first read data to obtain the aliasing result.

[0140] Step C: After writing the MTJ pair into the homomorphic state (same as AP or same as P state) according to the aliasing result, read the state of the MTJ pair again to obtain the second read data.

[0141] Step D: Perform a shift-and-XOR operation on the second read data again to obtain the aliasing result, and write the MTJ pair into the homomorphic state according to the aliasing result.

[0142] Step E: Determine if the preset number of processing steps has been reached. If yes, write the MTJ pair back to itself and end the PUF reconstruction. Otherwise, return to step B.

[0143] The PUF reconstruction process is explained using four MTJ pairs as an example. Figure 5 is a schematic diagram of a PUF reconstruction process provided in an embodiment of this application. As shown in Figure 5, all four MTJ pairs are initialized to the P state, and the states of the four MTJ pairs are read. Assuming the MTJ pairs are R... P左 >R P右 The corresponding data read is 1, R P左 <RP右 The corresponding read data is 0, so the first read data is "1 0 1 1".

[0144] The MTJ pair consists of two MTJs, left and right, each MTJ having a parallel state (low resistance R). P ) and antiparallel state (high resistance R) AP There are two resistor states. The reading circuit determines the output logic value by comparing the resistance values ​​of the two MTJs. Specifically, when both MTJs are in the parallel state (low resistance state), their resistance values ​​are R0 and R1 respectively. P左 With R P右 If R P左 >R P右 If the parallel-state resistance of the left MTJ is higher than that of the right MTJ, the reading circuit outputs a logic value of "1"; conversely, if R... P左 <R P右 If the output is "0", then the output logic value will be "0".

[0145] It should be noted that the above judgment logic is based on a pre-set comparison rule, that is, the side with the higher resistance value of the MTJ (here, the left side) is determined to output "1", and if the resistance value of the MTJ on that side is lower, the output is "0", thus realizing a data reading method based on relative resistance comparison. Therefore, the first reading data in Figure 5 is "1 0 1 1".

[0146] Furthermore, the first read data "1 0 1 1" is shifted to obtain the data "0 1 1 1", and then the data "0 1 1 1" is XORed, that is, the data "0 1 1 1" and the first read data "1 0 1 1" are aliased to obtain the aliased result "1 1 0 0".

[0147] Furthermore, write AP-AP to the first two MTJ pairs with an aliasing result of 1, and write PP to the last two MTJ pairs with an aliasing result of 0.

[0148] It should be noted that due to bit flipping during the reading of some bits (the second MTJ pair), the reading results for PP and AP-AP are different. Alternatively, some MTJs may have unstable bits (the third MTJ pair). Even under the same write and read conditions, rewriting PP may result in a reading result that changes from 1 to 0. Therefore, the reconstructed data obtained is "1 1 0 1".

[0149] Repeat the above process until the difference after reconstructing the physically unclonable function array is large enough. This reconstructed data can then be used as write data, written back to a complementary state, to achieve further reconstruction. Specifically, the reconstructed data "1 1 0 1" is written back, causing the homomorphic MTJ pair to be written to the opposite state, ensuring repeatable read results. This reconstructed data "1 1 0 1" can be understood as the reconstructed CRP.

[0150] It is understandable that the above iterative process utilizes both resistive state differences and unstable bits to make the entropy source abundant, the response space large, and the reconstruction process controllable and the response repeatable, thereby achieving a reconfigurable response with high entropy, high security, and high reliability.

[0151] Therefore, through multiple iterations, the physical state of the physical non-cloning function unit group can be deeply bound and perturbed with the output of a series of nonlinear transformations over multiple rounds. Each iteration uses the physical state after the previous round as the starting point for a new entropy source and applies a nonlinear transformation, establishing an extremely complex and highly nonlinear relationship between the final reconstructed data and the initial state, as well as any intermediate state in any round. This greatly enhances the richness of the entropy source and the unpredictability of the output. Thus, attackers not only need to crack the mapping relationship of a single "physical state - data reading - nonlinear transformation - control writing," but also the cascading and feedback effects of this mapping relationship across multiple iterations. This significantly increases the complexity and computational cost of the attack, making it extremely difficult to reverse-engineer the initial physical properties or reconstruction logic by observing the final response, thus significantly improving the strength against reverse engineering and modeling attacks.

[0152] Furthermore, the aforementioned iterative process continuously adjusts the physical state of the physically unclonable function (PFC) unit set through multiple rounds of "write-read" feedback. This iterative process utilizes the feedback mechanism of nonlinear transformation processing to amplify and enhance the initial, minute physical differences (such as process deviations and material inhomogeneities) within the PFC unit set. This process causes the states of each unit within the PFC unit set to rapidly diverge from similar initial states after multiple rounds of operations, ultimately locking into significantly different stable states. This effectively increases the entropy content of the PFC response, resulting in reconstructed data with stronger randomness, unpredictability, and anti-cloning security.

[0153] For example, Figure 6 shows the evolution curves of the Lorenz attractor under different initial conditions provided in an embodiment of this application. As shown in Figure 6, when the initial values ​​of the Lorenz attractor differ only slightly (y0=1.001, 1.0001 / 1.00001), the three curves almost overlap in the early stage of evolution. However, as time t progresses, the initial slight difference is rapidly amplified by nonlinear dynamics, and the curves gradually separate and exhibit completely different oscillation trajectories. Therefore, the different results obtained by the three similar initial values ​​of the Lorenz chaotic system after multiple iterations reveal that extremely slight changes in the initial conditions can lead to significant and unpredictable deviations in the long-term behavior of the Lorenz chaotic system, thus proving that the differences of unstable bits are amplified after multiple reads and writes.

[0154] For example, Figure 7 is a trend diagram of the CRP reconstruction process of a chaotic PUF provided in an embodiment of this application. As shown in Figure 7, the figure illustrates the trend of the difference between the key and the initial value with the number of reconstructions in the CRP reconstruction process of a chaotic PUF under two conditions: when all bits are stable and when unstable bits exist. When all bits are stable, the difference increases continuously with the number of reconstructions and then tends to stabilize; while when unstable bits exist, the difference drops rapidly after reaching a peak. This result verifies that the aliasing algorithm can use the dynamic changes of unstable bits to help the PUF obtain different results after multiple reconstructions under the same initial conditions, expand the PUF CRP space, and thus enhance the unpredictability and anti-cloning ability of the PUF.

[0155] Optionally, the method also includes:

[0156] The reconstructed data is written back to the physical non-cloning function cells of multiple physical non-cloning function cell groups, so that the physical non-cloning function cells in the same physical non-cloning function cell group have at least two resistive states, thereby generating the reconstructed data.

[0157] In the embodiments of this application, at least two resistance states can refer to the constituent units within the same physically non-cloning function unit group being configured to belong to two or more different stable physical states that are significantly different in electrical parameters (mainly resistance values). Optionally, multiple physically non-cloning function units may also have at least two different resistance states; for example, multiple physically non-cloning function units may have only two different configurations.

[0158] For example, after generating the reconstructed data, the reconstructed data can be applied to the physical non-cloning function cell group as a data pattern to be written. Specifically, based on the bit values ​​of the reconstructed data, differentiated write operations are performed on different physical non-cloning function cells within the same cell group, so that some cells within the physical non-cloning function cell group are written to one type of resistance state (such as a high-resistance state), while other cells are written to another type of resistance state (such as a low-resistance state), thereby forming a physical state distribution containing at least two resistance states within the physical non-cloning function cell group.

[0159] The write operation can be performed using methods such as current, magnetic field, or voltage-controlled magnetic anisotropy (VCMA), and this application does not specifically limit this.

[0160] In this way, by directly materializing the highly random reconstructed data into the resisted state distribution pattern within the physically unclonable function unit group, the entropy enhanced by the reconstruction process is fully mapped into the physical structure of the physically unclonable function, providing a physical basis for maximizing entropy in subsequent response generation. Furthermore, by transforming the internal structure of the physically unclonable function unit group from "homogeneous or approximate states" to a "heterogeneous" combination containing multiple resisted states, this greatly enriches the physical relationships underlying pairwise or collective comparisons between physically unclonable function units within the unit group (such as comparisons of subtle differences within resisted states and comparisons of significant differences between different resisted states). This enables the generation of more complex physically unclonable function responses with higher entropy values, enhancing the uniqueness and unclonability of the response.

[0161] Optionally, physically unclonable function units include at least one of the following: magnetic storage units, resistive storage units, phase-change storage units, and flash memory units.

[0162] A magnetic storage cell can refer to a storage cell that uses the magnetization direction of a magnetic material to store information and whose resistance changes when the magnetization direction is changed. For example, a magnetic storage cell can be an MTJ.

[0163] A resistive memory cell can refer to a memory cell that can reversibly switch between two or more stable states with different resistance values ​​by applying electrical excitation. For example, a resistive memory cell can be an RRAM.

[0164] A phase change memory cell can refer to a cell that uses a chalcogenide material to achieve information storage through a reversible phase transition between a crystalline (low resistivity) and an amorphous (high resistivity) state. For example, a phase change memory cell can be a PCRAM.

[0165] A flash memory cell can refer to a cell based on a floating gate or charge trap structure that achieves non-volatile storage by injecting or releasing charge to change the threshold voltage of the transistor. For example, a flash memory cell can be a single-level cell (SLC), a multi-level cell (MLC), etc.

[0166] Optionally, the physically non-clonable function unit can also be a ferroelectric random access memory (FeRAM).

[0167] It should be noted that the embodiments of this application do not limit the specific device type corresponding to the physically unclonable function unit, which can be any memory unit with a complementary structure.

[0168] For example, different types of physically non-cloning function (PTN) cells generate PTN responses through resistive state differences, such as the magnetization direction difference of MTJ, the conductive filament difference of RRAM, and the phase transition difference of PCRAM. The physical characteristics of each PTN cell determine the source of its resistive state difference, thereby affecting the entropy source dimension of the reconstructed data.

[0169] In this way, the entropy source dimension of the physically non-clonable function (PNF) response is expanded through the diverse selection of PNF cell types. The differences in physical characteristics among different PNF cells require attackers to model multiple storage technologies simultaneously, increasing the complexity of attacker modeling and thus significantly increasing the difficulty of cracking. Furthermore, the diverse selection of PNF cell types also improves adaptability to application scenarios. For example, MRAM is suitable for low-power scenarios, while RRAM is suitable for high-density scenarios.

[0170] For example, this application also provides a physically unclonable function generation circuit. Figure 8 is a schematic diagram of the structure of a physically unclonable function generation circuit provided in an embodiment of this application. As shown in Figure 8, the physically unclonable function generation circuit includes: a read circuit, a write circuit, and a digital processing circuit.

[0171] The read circuit is used to read the state of multiple physical non-cloning function cell groups in the physical non-cloning function array, obtain and output the first read data; the physical non-cloning function cell group includes at least two physical non-cloning function cells;

[0172] The digital processing circuit is used to process the received first read data, obtain and output the first processing result;

[0173] The write circuit is used to write the physically unclonable function cell set into the homomorphic state based on the received first processing result, generating reconstructed data.

[0174] The processing of the first read data can be the nonlinear transformation processing described in the above embodiments, or it can be linear encoding processing or error correction code processing. This application embodiment does not specifically limit this.

[0175] Linear encoding processing refers to the deterministic transformation of the first read data through predefined linear operations (such as XOR, modulo addition, matrix multiplication, etc.) to achieve data obfuscation or preliminary randomness extraction.

[0176] Error correction code processing refers to using the encoding and decoding mechanism of error correction codes (such as BCH codes, repetition codes, etc.) to detect and correct unstable bits in the first read data.

[0177] It should be noted that the specific implementation principle and effect of the above-mentioned physical non-cloning function generation circuit can be found in the relevant descriptions and effects of the above embodiments, and will not be elaborated further here.

[0178] For example, Figure 9 is a schematic diagram of another physically unclonable function generation circuit provided in an embodiment of this application. Taking the digital processing circuit as a digital aliasing circuit as an example, as shown in Figure 9, the physically unclonable function generation circuit includes: an input / output interface, a timing control circuit, a digital aliasing circuit, a read circuit, a PUF array, and a write circuit.

[0179] The input / output interface is used to receive verification / reconstruction requests from external systems (such as the main processor or authentication protocol module). Further, this verification / reconstruction request is converted into an internal command signal and passed to the timing control circuit.

[0180] The timing control circuit begins operation after receiving the start command:

[0181] A series of precise internal clock signals or instructions are generated according to a preset operating procedure. These clock signals are used to synchronize the operating steps of all modules within the entire physical non-cloning function generator. These instructions are used to generate and schedule control data streams, that is, to send enable, configuration, and trigger signals to the read circuit, digital aliasing circuit, and write circuit in the correct time sequence, ensuring that each module performs the correct operation at the correct time.

[0182] The read circuit is activated by the clock signal from the timing control circuit and performs the following operations:

[0183] The read circuit sends the voltage / current signal required for the read operation to the PUF array. This causes the PUF array to respond to the read operation. The physical state of each PUF cell group is detected by the sensor amplifier of the read circuit and converted into a digital read result (first read data).

[0184] The read circuit sends the read result to the digital aliasing circuit. The digital aliasing circuit is activated under the control of the timing control circuit and performs the following operations:

[0185] The digital aliasing circuit receives the read result from the read circuit and processes it according to a preset aliasing algorithm (i.e., nonlinear transformation) to generate an aliased result. This process aims to enhance randomness and security. Further, the digital aliasing circuit sends the generated aliased result to the write circuit.

[0186] Among them, after PUF cell is written, unstable behavior may occur due to thermal noise, back-hopping, etc., while aliasing algorithm can amplify it into response difference and expand CRP space.

[0187] The write circuit is activated by the clock signal of the timing control circuit and performs the following operations:

[0188] The write circuit receives the aliasing result and uses it as the write data. It then applies the corresponding write operation voltage / current pulse to the PUF array to perform a write-back operation on the PUF cell group, i.e., changing its physical state (e.g., writing to a homomorphic state or a heteromorphic distribution).

[0189] Optionally, if it is a verification request, after completing the read and / or reconstruction operations, the read circuit may also perform a final read to obtain the final PUF response. This final PUF response can be post-processed via digital aliasing circuitry or directly output through the input / output interface as a digital fingerprint or challenge-response pair and returned to the external requester.

[0190] In the embodiments provided in this application, it should be understood that the disclosed circuits and methods can be implemented in other ways. For example, the circuit division is merely a logical functional division; in actual implementation, there may be other division methods. For instance, multiple circuits or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the shown or discussed mutual couplings, direct couplings, or communication connections may be through some interfaces; indirect couplings or communication connections between circuits may be electrical, mechanical, or other forms.

[0191] The circuits described as separate components may or may not be physically separate. The components shown as circuits may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the circuits can be selected to implement the solution of this embodiment, depending on actual needs.

[0192] Furthermore, the functional circuits in the various embodiments of this application can be integrated into one processing unit, or each circuit can exist physically separately, or two or more circuits can be integrated into one unit. The unit composed of the above-mentioned circuits can be implemented in hardware or in the form of hardware plus software functional units.

[0193] It should be understood that the aforementioned magnetic storage device can be a magnetic random access memory or a non-volatile memory (NVM), such as at least one disk storage device, or a USB flash drive, portable hard drive, read-only memory, disk or optical disc, etc.

[0194] The array of magnetic storage cells described above can be located in any type of non-volatile storage device or combination thereof, such as electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), flash memory, magnetic disk, or optical disk.

[0195] The aforementioned magnetic storage can also be applied to application-specific integrated circuits (ASICs), but this application does not specifically limit this application.

[0196] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are all optional embodiments, and the actions and modules involved are not necessarily essential to this application.

[0197] It should be further noted that although the steps in the flowchart are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowchart may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the sub-steps or stages of other steps.

[0198] In the above embodiments, the descriptions of each embodiment have their own emphasis. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments. The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as the combination of these technical features does not contradict each other, it should be considered within the scope of this specification.

[0199] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the claims.

[0200] The above are merely specific embodiments of this application, but the protection scope of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be covered within the protection scope of this application. Therefore, the protection scope of this application should be determined by the scope of the claims.

Claims

1. A method for generating physically unclonable functions, characterized in that, The method includes: reading the electrical characteristic parameter values ​​of physical non-cloneable function units (PNUs) within multiple PNU groups in a physical non-cloneable function array; comparing the electrical characteristic parameter values ​​of at least two PNUs within each PNU group; obtaining the current logical state of each PNU group based on the comparison result; and obtaining a first processing result. Based on the first processing result, at least two PNUs in the PNU group are written into a homomorphic state to generate reconstructed data. The first processing result includes a first logical value and a second logical value. Writing at least two PNUs in the PNU group into a homomorphic state based on the first processing result includes: if the current logical state corresponding to the current PNU group in the first processing result is the first logical value, then at least two PNUs in the current PNU group are written into the first homomorphic state; if the current logical state corresponding to the current PNU group in the first processing result is the second logical value, then at least two PNUs in the current PNU group are written into the second homomorphic state.

2. The method according to claim 1, characterized in that, Before reading the electrical characteristic parameter values ​​of the physical non-cloning function units within the plurality of physical non-cloning function unit groups in the physical non-cloning function array, the method further includes: initializing the plurality of physical non-cloning function unit groups to a preset state.

3. The method according to claim 2, characterized in that, The initialization of the plurality of physically unclonable function unit groups to a preset state includes: initializing the physically unclonable function units in each of the physically unclonable function unit groups to the same resistive state.

4. The method according to claim 1, characterized in that, Obtaining the first processing result includes: reading the electrical characteristic parameter values ​​of physical non-cloning function units within multiple physical non-cloning function unit groups in the physical non-cloning function array; comparing the electrical characteristic parameter values ​​of at least two physical non-cloning function units within each physical non-cloning function unit group; based on the comparison result, obtaining the current logical state of each physical non-cloning function unit group and obtaining first read data; performing nonlinear transformation processing on the first read data to obtain the first processing result; the nonlinear transformation processing includes at least one of the following methods: performing shift-XOR processing on the first read data; performing chaotic mapping processing on the first read data; performing hash function processing on the first read data; performing frequency domain transformation processing on the first read data; and performing pseudo-random sequence processing on the first read data.

5. The method according to claim 1, characterized in that, The group of physically unclonable function units includes at least one of the following: physically adjacent physically unclonable function units; physically unclonable function units arranged at intervals; physically unclonable function units stacked vertically; and physically unclonable function units that are logically related.

6. The method according to claim 1 or 4, characterized in that, The step of writing at least two physically non-clonable function units in the physically non-clonable function unit group into a homomorphic state based on the first processing result to generate reconstructed data includes the following steps: Step 1: After writing at least two physically non-clonable function units in the physically non-clonable function unit group into a homomorphic state based on the first processing result, the current logic state of the physically non-clonable function unit group is read again to obtain second read data; Step 2: The second read data is subjected to nonlinear transformation processing to obtain a second processing result, and at least two physically non-clonable function units in the physically non-clonable function unit group are written into a homomorphic state based on the second processing result; Step 1 and Step 2 are repeated sequentially until a preset number of processing times are reached to generate the reconstructed data.

7. The method according to claim 1, characterized in that, The method further includes: writing the reconstructed data as write data back to the physical non-cloning function units of the plurality of physical non-cloning function unit groups, so that the physical non-cloning function units in the same physical non-cloning function unit group have at least two resistance states, thereby generating reconstructed data.

8. The method according to claim 1, characterized in that, The physically unclonable function unit includes at least one of the following: magnetic storage unit, resistive storage unit, phase-change storage unit, and flash memory unit.

9. A circuit for generating physically unclonable functions, characterized in that, The physically unclonable function generation circuit includes a read circuit, a write circuit, and a digital processing circuit. The read circuit reads the electrical characteristic parameter values ​​of the physically unclonable function units within multiple physically unclonable function unit groups in the physically unclonable function array, compares the electrical characteristic parameter values ​​of at least two physically unclonable function units within each physically unclonable function unit group, obtains the current logic state of each physically unclonable function unit group based on the comparison result, and obtains and outputs first read data. The digital processing circuit processes the received first read data to obtain and output a first processing result. The write circuit, based on the received first processing result, compares the electrical characteristic parameter values ​​of at least two physically unclonable function units within the physically unclonable function unit group. Function units are written to homomorphic states to generate reconstructed data; wherein, the first processing result includes a first logical value and a second logical value, and the step of writing at least two physically unclonable function units in the physically unclonable function unit group to homomorphic states based on the received first processing result includes: if the current logical state corresponding to the current physically unclonable function unit group in the first processing result is the first logical value, then at least two physically unclonable function units in the current physically unclonable function unit group are written to the first homomorphic state; if the current logical state corresponding to the current physically unclonable function unit group in the first processing result is the second logical value, then at least two physically unclonable function units in the current physically unclonable function unit group are written to the second homomorphic state.

10. A generator for physically unclonable functions, characterized in that, The physical non-cloning function generator includes a plurality of physical non-cloning function unit groups and a physical non-cloning function generation circuit that performs the method as described in any one of claims 1-8.

Citation Information

Patent Citations

  • Method and device for generating reconfigurable physical unclonable function based on STT-MRAM

    CN111681690A

  • Physical unclonable function with improved start-up behavior

    US20130194886A1