Physical unclonable function generator and true random number generator
By applying a target magnetic field and flipping the synthetic antiferromagnetic layer in the magnetic tunnel junction storage cell, a physically unclonable function with high randomness and uniformity is generated. True random numbers are generated by using free layer bounce. This solves the problem of insufficient randomness and uniformity in the prior art, improves security and anti-attack capability, and reduces circuit complexity and power consumption.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-29
- Publication Date
- 2026-04-10
AI Technical Summary
Existing methods for generating physically unclonable functions rely on a 50% probability of flip current or thermal disturbance, resulting in insufficient randomness and uniformity in the device output response, making it difficult to guarantee the stability and security of physically unclonable functions.
Using magnetic tunnel junction storage cells, the magnetic moment direction of the free layer is made perpendicular or approximately perpendicular by applying a magnetic field in the target direction. Combined with the controllable flipping of the synthetic antiferromagnetic layer, a physically unclonable function with high randomness and uniformity is generated. True random numbers are generated by utilizing the nondeterministic bounce of the free layer.
It improves the randomness and uniformity of physically unclonable functions, enhancing their resistance to attacks and security, while reducing circuit logic complexity and power consumption, making it suitable for the high security and low power consumption requirements of IoT and edge devices.
Smart Images

Figure CN121832886A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the semiconductor field, and more particularly to a physically unclonable function generator and a true random number generator. Background Technology
[0002] Physically Unclonable Functions (PUF) technology is a hardware security technology that generates a unique fingerprint for a chip based on the physical differences caused by fluctuations in semiconductor manufacturing processes. The core principle of PUF is to extract the inherent and uncontrollable microscopic physical differences in the device manufacturing process and transform them into a unique and stable digital response, realizing the mapping from "input challenge" to "output response", and this mapping cannot be physically cloned or mathematically modeled.
[0003] Existing methods for generating physically unclonable functions mostly rely on methods such as 50% probability of flip current or thermal perturbation, resulting in unstable random quality, insufficient consistency of response of the same device, and difficulty in guaranteeing the randomness and uniformity of physically unclonable functions. Summary of the Invention
[0004] This application provides a physically unclonable function generator and a true random number generator to improve the randomness and uniformity of physically unclonable functions.
[0005] In a first aspect, embodiments of this application provide a physically unclonable function generator, comprising: a storage array and a control unit, wherein the storage units in the storage array include magnetic storage devices, and the magnetic storage devices include magnetic tunnel junctions;
[0006] The control unit is used to control the application of a magnetic field along the target direction to the memory array, and after stopping the application of the magnetic field, reads the resistance state of the memory cell to generate a physically unclonable function;
[0007] The target direction is perpendicular or approximately perpendicular to the magnetic moment direction of the free layer in the magnetic tunnel junction in the in-plane direction.
[0008] In some embodiments, the control unit is configured to control the temperature of the chamber containing the memory array to reach a preset temperature, which is greater than the blocking temperature of the magnetic tunnel junction, before controlling the application of a magnetic field along the target direction to the memory array, or while controlling the application of a magnetic field along the first direction to the memory array.
[0009] In some implementations, the magnetic field is an oscillating magnetic field or a constant magnetic field.
[0010] In some embodiments, the control unit is configured to control the application of a first pulse to a target memory cell in the memory array that is in a first resistive state, so as to reverse the magnetic moment direction of the synthetic antiferromagnetic layer in the magnetic tunnel junction of the target memory cell, thereby causing the target memory cell to flip from the first resistive state to a second resistive state.
[0011] The resistance values of the first resistive state and the second resistive state are different.
[0012] In some embodiments, the synthetic antiferromagnetic layer includes a first ferromagnetic coupling layer and a second ferromagnetic coupling layer, with antiferromagnetic coupling formed between them;
[0013] The reversal of the magnetic moment direction of the synthetic antiferromagnetic layer means that the magnetic moment directions of both the first ferromagnetic coupling layer and the second ferromagnetic coupling layer are reversed.
[0014] In some embodiments, the control unit is configured to control the application of a second pulse to all memory cells in the memory array to cause the magnetic moment direction of the free layer in the magnetic tunnel junction of the target memory cell to be reversed, so that the target memory cell is reversed from the second resistive state to the first resistive state;
[0015] The amplitude of the second pulse is lower than that of the first pulse, and the second pulse and the first pulse are in the same direction.
[0016] In some embodiments, the storage array is a magnetoresistive random access memory or an antiferromagnetic random access memory.
[0017] The physically unclonable function generator provided in this application applies a magnetic field in a target direction to the memory array. This target direction is a magnetic field perpendicular or approximately perpendicular to the magnetic moment direction of the free layer in the in-plane direction. This pulls the magnetic moment direction of the free layer toward the target direction. After the magnetic field is stopped, the magnetic moment direction of the free layer randomly relaxes to its initial magnetic moment direction or the opposite direction. The memory cells will randomly exhibit low-resistance or high-resistance states. The resistance states of each memory cell in the memory array have high uniformity and randomness. Therefore, uniform randomization can be achieved by applying a magnetic field along the hard magnetization axis of the free layer. Thus, the physically unclonable function obtained by reading the resistance state of each memory cell has high randomness and uniformity. Furthermore, by utilizing the controllable flipping of the synthetic antiferromagnetic layer to achieve in-situ hiding and recovery of the physically unclonable function response, no new structural design and processing technology are required. This provides stronger physical unobservability and increases the attack resistance and security of the physically unclonable function.
[0018] Secondly, embodiments of this application provide a true random number generator, including: a physically unclonable function generator as described in the first aspect;
[0019] After generating a physically unclonable function, or after the target memory cell flips from a second resistive state to a first resistive state, the control unit is configured to control the application of a third pulse to the magnetic tunnel junction of the memory cell to cause the magnetic moment direction of the free layer in the magnetic tunnel junction to randomly flip, thereby causing the resistive state of the memory cell to randomly flip to generate random numbers.
[0020] The amplitude of the third pulse is higher than that of the second pulse, but lower than that of the first pulse.
[0021] In some embodiments, the control unit is configured to apply the third pulse to a plurality of memory cells in the memory array and generate random numbers by reading the resistance states of the plurality of memory cells; or,
[0022] The control unit is configured to apply the third pulse multiple times to a storage cell in the storage array, and read the resistance state of the storage cell after each application of the third pulse to generate a random number.
[0023] In some implementations, the random number is used to encrypt or authenticate the physically unclonable function.
[0024] The true random number generator provided in this application is implemented based on the physical non-cloning function generator. It uses the nondeterministic bounce of the free layer as an entropy source to improve the entropy quality. The physical non-cloning function and the true random number generator are integrated and designed in an integrated manner, which realizes resource reuse, reduces circuit logic complexity and chip area overhead, and also reduces device power consumption. It can support applications in complex scenarios such as multi-round authentication, key refresh, and lightweight encryption, and can also meet the high security and low power consumption requirements of fields such as the Internet of Things and edge devices. Attached Figure Description
[0025] 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.
[0026] Figure 1 A schematic diagram of a membrane structure for a magnetic tunnel junction provided in this application embodiment. Figure 1 ;
[0027] Figure 2 A schematic diagram of a membrane structure for a magnetic tunnel junction provided in this application embodiment. Figure 2 ;
[0028] Figure 3 This is a schematic diagram illustrating the change process of the magnetic moment direction of a free layer, provided in an embodiment of this application.
[0029] Figure 4A schematic diagram illustrating the change in the magnetic moment direction of the free layer during relaxation, provided as an embodiment of this application;
[0030] Figure 5 A schematic diagram of the magnetic moment directions of each film layer in a magnetic tunnel junction provided in this application embodiment. Figure 1 ;
[0031] Figure 6 A schematic diagram of the magnetic moment directions of each film layer in a magnetic tunnel junction provided in this application embodiment. Figure 2 ;
[0032] Figure 7 A schematic diagram of the RV characteristics of a magnetic tunnel junction provided in this application embodiment. Figure 1 ;
[0033] Figure 8 A schematic diagram of the RV characteristics of a magnetic tunnel junction provided in this application embodiment. Figure 2 ;
[0034] Figure 9 A schematic diagram of the magnetic moment directions of each film layer in a magnetic tunnel junction provided in this application embodiment. Figure 3 ;
[0035] Figure 10 This application provides a schematic diagram illustrating the application of a physically unclonable function and random numbers in an embodiment of this application.
[0036] Figure 11 This is a schematic diagram of a control unit provided in an embodiment of this application.
[0037] 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
[0038] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0039] Existing methods for generating physically unclonable functions (PUCs) often rely on 50% probability flipping currents or thermal perturbations, resulting in poor randomness and uniformity in the device output response, making it difficult to guarantee the stability of the PUC. Furthermore, to improve the security of PUCs, some schemes use the magnetic moment reversal of the free layer to hide and recover the PUC. However, this method of hiding the PUC by altering the magnetic moment state of the free layer is easily observable by external measurements, lacking true physical unobservability.
[0040] This application provides a physically unclonable function generator, including: a storage array and a control unit, wherein the storage units in the storage array include magnetic storage devices, and the magnetic storage devices include magnetic tunnel junctions (MTJs).
[0041] The control unit is used to control the application of a magnetic field along the target direction to the memory array, and after the magnetic field is stopped, reads the resistance state of the memory cell to generate a physically unclonable function.
[0042] The target direction is perpendicular or approximately perpendicular to the magnetic moment direction of the free layer in the magnetic tunnel junction in the in-plane direction.
[0043] Optionally, the storage array in this application embodiment can be a magnetic random access memory (MRAM) or an antiferromagnetic random access memory (ARAM).
[0044] For example, the memory array is a magnetoresistive random access memory, and the film structure of the magnetic tunnel junction of the memory cell in the memory array is as follows: Figure 1 As shown, the magnetic tunnel junction includes: a fixed layer 11, a second ferromagnetic coupling layer 12, an antiferromagnetic coupling layer 13, a first ferromagnetic coupling layer 14, a barrier layer 15, a free layer 16, and a heavy metal layer 17. Figure 1 In the process, the first ferromagnetic coupling layer 14, the antiferromagnetic coupling layer 13, and the second ferromagnetic coupling layer 12 together constitute a synthetic antiferromagnet (SAF) layer, and an antiferromagnetic coupling is formed between the first ferromagnetic coupling layer 14 and the second ferromagnetic coupling layer 12.
[0045] For example, the memory array is an antiferromagnetic random access memory, and the film structure of the magnetic tunnel junction of the memory cells in the memory array is as follows: Figure 2 As shown, the magnetic tunnel junction includes: a fixed layer 21, a second ferromagnetic coupling layer 22, an antiferromagnetic coupling layer 23, a first ferromagnetic coupling layer 24, a barrier layer 25, a free layer 26, an antiferromagnetic layer 27, and a heavy metal layer 28. Figure 2In this structure, the first ferromagnetic coupling layer 24, the antiferromagnetic coupling layer 23, and the second ferromagnetic coupling layer 22 together constitute a synthetic antiferromagnetic layer, and antiferromagnetic coupling is formed between the first ferromagnetic coupling layer 24 and the second ferromagnetic coupling layer 22.
[0046] Figure 1 and Figure 2 In the magnetic tunnel junction shown, free layers 16 and 26 are made of ferromagnetic materials, while fixed layers 11 and 21 are made of antiferromagnetic materials. Barrier layer 15 isolates free layer 16 from fixed layer 11, and barrier layer 25 isolates free layer 26 from fixed layer 21. Barrier layers 15 and 25 are made of insulating materials, such as MgO. , At least one of them. The first ferromagnetic coupling layer 14, the second ferromagnetic coupling layer 12, the first ferromagnetic coupling layer 24, and the second ferromagnetic coupling layer 22 are ferromagnetic materials.
[0047] Figure 1 In the magnetic tunnel junction shown, the magnetic moments of the first ferromagnetic coupling layer 14 and the second ferromagnetic coupling layer 12 are opposite in direction, while the magnetic moment direction at the interface between the fixed layer 11 and the second ferromagnetic coupling layer 12 is the same as that of the second ferromagnetic coupling layer 12. When the magnetic moment direction of the free layer 16 is the same as that of the first ferromagnetic coupling layer 14, that is, when the magnetic moment direction of the free layer 16 is parallel to that of the first ferromagnetic coupling layer 14 (P state), the magnetic tunnel junction exhibits a low-resistance state. When the magnetic moment direction of the free layer 16 is opposite to that of the first ferromagnetic coupling layer 14, that is, when the magnetic moment direction of the free layer 16 is antiparallel to that of the first ferromagnetic coupling layer 14 (AP state), the magnetic tunnel junction exhibits a high-resistance state. Figure 2 The magnetic tunnel junction shown is similar. When the magnetic moment direction of the free layer 26 is parallel to the magnetic moment direction of the first ferromagnetic coupling layer 24, the magnetic tunnel junction exhibits a low-resistance state; when the magnetic moment direction of the free layer 26 is antiparallel to the magnetic moment direction of the first ferromagnetic coupling layer 24, the magnetic tunnel junction exhibits a high-resistance state.
[0048] In the following embodiments and illustrations, the storage array is illustrated as an antiferromagnetic random access memory.
[0049] In this embodiment of the application, before applying a magnetic field along the target direction to the memory array, it is assumed that the magnetic moment direction of the free layer 26 of the magnetic tunnel junction is as follows: Figure 3 As shown in (a), Figure 3 This is a top-down view of the free layer 26, with the magnetic moment direction of the free layer 26 along... Figure 3 The vertical direction shown in (a) is the easy magnetization axis direction of free layer 26. When applying a magnetizing force to the memory array... Figure 3As shown in (b), after the magnetic field along the target direction is applied, the magnetic moment direction of the free layer 26 is pulled towards the target direction, as... Figure 3 As shown in (c). The target direction is perpendicular or approximately perpendicular to the magnetic moment direction of free layer 26 in the in-plane direction, and the target direction is along... Figure 3 The left and right directions shown in (b) and (c) are the directions of the hard magnetization axis of the free layer 26. That is, by applying a magnetic field along the hard magnetization axis to the memory array, the magnetic moment direction of the free layer 26 of each memory cell is pulled from the easy magnetization axis direction to the hard magnetization axis direction.
[0050] After the applied magnetic field is stopped, the magnetic moment direction of free layer 26 will relax towards the easy magnetization axis, but which of the two directions it will face is random, such as... Figure 4 As shown, Figure 4 This is a top-down view within plane 26 of the free layer. After applying a magnetic field along the target direction, the magnetic moment direction of free layer 26 is as follows... Figure 4 As shown in (a), the magnetic moment direction of free layer 26 will randomly relax to Figure 4 The upward or downward direction shown, as Figure 4 As shown in (b). Figure 4 (c) illustrates the random relaxation of the magnetic moment direction of free layer 26 to an upward direction. Figure 4 (d) illustrates that the magnetic moment direction of the free layer 26 randomly relaxes to the downward direction. That is, after the magnetic field is stopped, the magnetic moment direction of the free layer 26 will randomly relax to the initial magnetic moment direction of the free layer 26 or the opposite direction of the initial magnetic moment direction.
[0051] Reference Figure 5 As shown, before applying the magnetic field in the target direction, it is assumed that the magnetic moment directions of the fixed layer 21, the first ferromagnetic coupling layer 24, and the free layer 26 in a magnetic tunnel junction are as follows: Figure 5 In diagram (a), the direction of the magnetic moment of the second ferromagnetic coupling layer 22 is outward, as indicated by the diagram. Figure 5 The direction shown in (a) is inward. After applying a magnetic field in the target direction, the magnetic moment directions of the fixed layer 21, the first ferromagnetic coupling layer 24, and the second ferromagnetic coupling layer 22 remain unchanged, while the magnetic moment direction of the free layer 26 is pulled to... Figure 5 The direction to the right is indicated in (b) of the diagram. After the applied magnetic field is stopped, the magnetic moment directions of the fixed layer 21, the first ferromagnetic coupling layer 24, and the second ferromagnetic coupling layer 22 remain unchanged, while the magnetic moment direction of the free layer 26 randomly relaxes to... Figure 5 The outward direction indicated in (c) or Figure 5 The inward direction is indicated in (d). If the magnetic moment direction of free layer 26 relaxes to... Figure 5In the outward direction indicated by (c), the magnetic moment direction of the free layer 26 is parallel to the magnetic moment direction of the fixed layer 21. If the magnetic moment direction of the free layer 26 relaxes to... Figure 5 In the direction indicated by (d), the magnetic moment direction of the free layer 26 is antiparallel to the magnetic moment direction of the fixed layer 21. That is, after the magnetic field is stopped, the memory cell will randomly exhibit a low-resistance state or a high-resistance state. The resistance state of each memory cell in the memory array has high uniformity and randomness. Therefore, the physical non-cloning function obtained by reading the resistance state of each memory cell has high randomness and uniformity.
[0052] The magnetic field applied to the storage array in this embodiment can be an oscillating magnetic field or a constant magnetic field. When an oscillating magnetic field is applied, the oscillation can gradually increase, gradually decrease, increase at predetermined intervals, decrease at predetermined intervals, or change according to a preset curve, etc.
[0053] In some embodiments, the control unit controls the temperature of the chamber containing the storage array to reach a preset temperature before controlling the application of a magnetic field along a target direction to the storage array, or while controlling the application of a magnetic field along a first direction to the storage array. The preset temperature is greater than the blocking temperature of the magnetic tunnel junction.
[0054] Among them, the blocking temperature refers to the critical temperature at which thermal disturbance is sufficient to overcome the magnetic anisotropy barrier and cause the magnetic moment to reverse.
[0055] When a magnetic field is applied to the memory array, controlling the chamber temperature above the blocking temperature lowers the energy barrier for magnetic moment reversal, decoupling the antiferromagnetic layer 27 from the ferromagnetic layer and making it easier to pull the magnetic moment direction of the free layer 26 toward the less magnetizable axis. After the applied magnetic field is stopped, the chamber temperature can be controlled to drop below the blocking temperature, and the magnetic moment direction of the free layer 26 randomly relaxes to one of the two directions of the easy magnetizable axis.
[0056] After generating the physically unclonable function, the embodiments of this application achieve the hiding of the physically unclonable function by synthesizing the magnetic moment reversal of the antiferromagnetic layer 27.
[0057] In some embodiments, the control unit is configured to control the application of a first pulse to a target memory cell in a first resistive state in the memory array, causing the magnetic moment direction of the synthetic antiferromagnetic layer 27 in the magnetic tunnel junction of the target memory cell to reverse, thereby causing the target memory cell to flip from the first resistive state to a second resistive state; wherein the resistance values of the first resistive state and the second resistive state are different. For example, the first resistive state is a high-resistance state and the second resistive state is a low-resistance state, or the first resistive state is a low-resistance state and the second resistive state is a high-resistance state.
[0058] After generating a physically unclonable function using a memory array, each memory cell in the array is in a random high-resistance or low-resistance state. By applying a first pulse, all memory cells are either placed in a high-resistance state or in a low-resistance state, thus hiding the physically unclonable function. Therefore, hiding the physically unclonable function can be achieved by flipping all memory cells in the high-resistance state to a low-resistance state, making all memory cells in a low-resistance state, or by flipping all memory cells in the low-resistance state to a high-resistance state, making all memory cells in a high-resistance state.
[0059] In this embodiment, by applying a first pulse to the target memory cell in the first resistive state, the first pulse is applied to the bottom electrode of the target memory cell, causing the magnetic moment direction of the synthetic antiferromagnetic layer 27 of the target memory cell to be reversed, thereby causing the magnetic moment direction of the fixed layer 21 to be reversed, thereby changing the resistive state of the target memory cell.
[0060] The reversal of the magnetic moment direction of the synthetic antiferromagnetic layer 27 means that the magnetic moment directions of both the first ferromagnetic coupling layer 24 and the second ferromagnetic coupling layer 22 are reversed.
[0061] Reference Figure 6 As shown, taking the first resistance state as a low resistance state as an example, before the first pulse is applied, in the magnetic tunnel junction of the target memory cell, the magnetic moment directions of the fixed layer 21, the first ferromagnetic coupling layer 24, and the free layer 26 are as follows: Figure 6 In diagram (a), the direction of the magnetic moment of the second ferromagnetic coupling layer 22 is outward, as indicated by the diagram. Figure 6 The inward direction is illustrated in (a). For example, before the first pulse is applied, the RV characteristics of each memory cell in the memory array are as follows: Figure 7 As shown, Figure 7 The horizontal axis represents the amplitude of the pulse applied to the magnetic tunnel junction, and the vertical axis represents the resistance of the magnetic tunnel junction. Figure 7 As shown in the RV characteristics, when a positive pulse is applied, the magnetic tunnel junction can switch from a high-resistivity state to a low-resistivity state as the amplitude of the applied positive pulse increases; similarly, when a negative pulse is applied, the magnetic tunnel junction can switch from a low-resistivity state to a high-resistivity state as the amplitude of the applied negative pulse increases. Therefore, a target memory cell can be switched from a first-resistivity state to a second-resistivity state by applying a pulse of a certain amplitude to it.
[0062] After a first pulse is applied to the heavy metal layer 28 of the target memory cell, the magnetic moment direction of the second ferromagnetic coupling layer 22 of the target memory cell is reversed. Figure 6As shown in (b), in the outward direction, the magnetic moment direction of the first ferromagnetic coupling layer 24 is reversed through the RKKY effect (Ruderman–Kittel–Kasuya–Yoshida effect). Figure 6 (b) shows the inward direction, and it causes the magnetic moment direction of the fixed layer 21 to flip. Figure 6 The direction is shown inward in (b). Thus, the magnetic moment direction of the free layer 26 and the magnetic moment direction of the fixed layer 21 are antiparallel, and the target memory cell exhibits a high-resistivity state. That is, all memory cells in the memory array exhibit a high-resistivity state, thereby achieving in-situ hiding of physically unclonable functions. Hiding physically unclonable functions by flipping the magnetic moment direction of the synthetic antiferromagnetic layer 27 is difficult to observe externally, achieving true physical unobservability and improving the attack resistance and security of physically unclonable functions.
[0063] After a first pulse is applied to the target memory cell, the RV characteristic of the target memory cell flips. For example, the RV characteristic of the target memory cell is as follows: Figure 8 As shown, Figure 8 The horizontal axis represents the amplitude of the pulse applied to the magnetic tunnel junction, and the vertical axis represents the resistance of the magnetic tunnel junction. Figure 8 The RV characteristics shown indicate that, under the application of a positive pulse, the magnetic tunnel junction can switch from a low-resistivity state to a high-resistivity state as the amplitude of the applied positive pulse increases; similarly, under the application of a negative pulse, the magnetic tunnel junction can switch from a high-resistivity state to a low-resistivity state as the amplitude of the applied negative pulse increases. Therefore, the target memory cell can be switched from a second-resistivity state to a first-resistivity state by applying a pulse of a certain amplitude. The RV characteristics of other memory cells in the memory array besides the target memory cell remain as follows. Figure 7 As shown.
[0064] When it is necessary to restore the physically unclonable function, the control unit is used to control the application of a second pulse to all memory cells in the memory array to reverse the direction of the magnetic moment of the free layer 26 in the magnetic tunnel junction of the target memory cell, so that the target memory cell is flipped from the second resistive state to the first resistive state.
[0065] The amplitude of the second pulse is lower than that of the first pulse, and the second pulse and the first pulse are in the same direction.
[0066] Reference Figure 9 As shown, taking the second resistive state as a high-resistivity state as an example, after the aforementioned physically unclonable function is hidden, in the magnetic tunnel junction of the target memory cell, the magnetic moment direction of the fixed layer 21 and the magnetic moment direction of the first ferromagnetic coupling layer 24 are... Figure 9 The direction of the magnetic moment of the free layer 26 and the direction of the magnetic moment of the second ferromagnetic coupling layer 22 are shown in (a) in the inward direction. Figure 9The outward direction is indicated in (a).
[0067] After applying the second pulse to all memory cells in the memory array, the magnetic moment directions of the fixed layer 21, the first ferromagnetic coupling layer 24, and the second ferromagnetic coupling layer 22 of the target memory cell remain unchanged, while the magnetic moment direction of the free layer 26 undergoes a deterministic reversal, i.e., the magnetic moment direction of the free layer 26 is reversed to... Figure 9 The direction is shown in (b) inwards. In this way, the magnetic moment direction of the free layer 26 and the magnetic moment direction of the fixed layer 21 are parallel, and the resistance state of the target memory cell is low. The resistance states of other memory cells in the memory array, except for the target memory cell, remain unchanged. Thus, the resistance state of each memory cell in the memory array is consistent with its state before hiding, achieving the recovery of the physically unclonable function, thereby enabling the re-obtaining of the physically unclonable function. The above mechanism ensures the in-situ hiding and recovery of the physically unclonable function, improving its resistance to attacks.
[0068] Besides physically unclonable function generators, true random number generators (TRNGs) are also widely used in the field of hardware security. In related technologies, physically unclonable function generators and true random number generators are usually designed separately, which results in high circuit logic complexity and chip area overhead, as well as additional power consumption.
[0069] In this embodiment, a true random number generator is implemented based on the aforementioned physically unclonable function generator.
[0070] The true random number generator in this application includes the physically unclonable function generator of any of the foregoing embodiments. That is, it uses the same hardware to implement the physically unclonable function and generate random numbers. Random number generation can be performed after the physically unclonable function is generated, or it can be performed after the physically unclonable function is hidden and then restored.
[0071] After generating a physically unclonable function, or after the target memory cell flips from a second resistive state to a first resistive state, the control unit is configured to control the application of a third pulse to the magnetic tunnel junction of the memory cell, so that the magnetic moment direction of the free layer in the magnetic tunnel junction is randomly flipped, thereby causing the resistive state of the memory cell to be randomly flipped to generate random numbers.
[0072] The amplitude of the third pulse is higher than that of the second pulse, but lower than that of the first pulse.
[0073] By applying a third pulse, a back-hopping phenomenon is induced in the free layer of the magnetic tunnel junction, meaning the direction of the magnetic moment in the free layer undergoes an uncertain back-hopping. Due to the uncertainty of the back-hopping phenomenon, the direction of the magnetic moment in the free layer may flip or remain unchanged, exhibiting randomness. Therefore, after applying a third pulse to the magnetic tunnel junction of a memory cell, the resistance state of the memory cell randomly exhibits a high-resistance state or a low-resistance state. Thus, random numbers can be generated by reading the resistance state of the memory cell.
[0074] In one implementation, the control unit is used to apply a third pulse to a plurality of memory cells in the memory array and generate random numbers by reading the resistance states of the plurality of memory cells.
[0075] For multiple memory cells in a memory array, the resistance states of the multiple memory cells are not related. The resistance state of each memory cell is a random high resistance state or a low resistance state. Therefore, the resistance states of multiple memory cells can form a string of random bits, thus obtaining a random number.
[0076] In another implementation, the control unit is used to apply a third pulse multiple times to a memory cell in the memory array and read the resistance state of the memory cell after each application of the third pulse to generate a random number.
[0077] For a memory cell, after each third pulse is applied, the resistance state of the memory cell will be randomly high or low. Therefore, by applying the third pulse multiple times and reading the resistance state after each third pulse, a string of random bits can be formed, and thus a random number can be obtained.
[0078] In this embodiment, the nondeterministic bounce of the free layer is used as the entropy source to realize the function of a true random number generator based on the physical non-cloning function generator. Through the integrated design of physical non-cloning function and true random number, the entropy quality is improved and resource reuse is realized, the circuit logic complexity and chip area overhead are reduced, and the power consumption of the device is reduced. It can support applications in complex scenarios such as multi-round authentication, key refresh, and lightweight encryption, and can also meet the high security and low power consumption requirements of fields such as IoT and edge devices.
[0079] The random numbers in the embodiments of this application can be used to encrypt or authenticate physically unclonable functions. (See also...) Figure 10As shown, the server encrypts the physically unclonable function (PHF) using a random number. This PHF serves as the client's hardware fingerprint. The server transmits the first encrypted result to the client. For example, the encryption operation could be an XOR operation between the random number and the PHF. The client then encrypts its PHF using the received first encrypted result and transmits the second encrypted result to the server. Again, this second encryption operation could be an XOR operation between the first encrypted result and the PHF. The server verifies the second encrypted result based on the random number to determine whether the PHF authentication was successful or failed. For example, the verification operation could be an XOR operation between the second encrypted result and the random number representing the PHF. A XOR result of 1 indicates that the server's PHF is different from the client's, resulting in authentication failure; a XOR result of 0 indicates that the server's PHF is the same as the client's, resulting in successful authentication. In this application scenario, encrypting the PHF using a random number prevents information leakage during data transmission, thus improving security.
[0080] Figure 11 This is a schematic diagram of the control unit provided in this application. Figure 11 As shown, the control unit 111 provided in this embodiment includes at least one processor 1101 and a memory 1102. Optionally, the control unit 111 further includes a communication component 1103. The processor 1101, the memory 1102, and the communication component 1103 are connected via a bus.
[0081] In a specific implementation, at least one processor 1101 executes computer execution instructions stored in memory 1102, causing at least one processor 1101 to execute the control process of the control unit in the above embodiment.
[0082] The specific implementation process of processor 1101 can be found in the above embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0083] In this application embodiment, there may be multiple control units 111. For example, one control unit may control the application of a magnetic field to the memory array, stop applying the magnetic field, and control the temperature of the chamber, while another control unit may be responsible for reading the resistance state of the memory cell and applying a pulse to the magnetic tunnel junction.
[0084] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. A general-purpose processor can be a microcontroller (MCU) or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0085] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0086] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0087] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the control process of a control unit.
[0088] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the control process of a control unit.
[0089] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0090] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an application-specific integrated circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0091] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0092] The units described as separate components may or may not be physically separate. The components shown as units 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 units can be selected to achieve the purpose of this embodiment according to actual needs.
[0093] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0094] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0095] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0096] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A physically unclonable function generator, characterized by The physical unclonable function generator comprises: a storage array and a control unit, a storage unit in the storage array comprising a magnetic storage device, the magnetic storage device comprising a magnetic tunnel junction; the control unit is configured to control application of a magnetic field along a target direction to the storage array, and read a resistance state of the storage unit to generate a physical unclonable function after stopping application of the magnetic field; wherein the target direction is perpendicular or approximately perpendicular to a direction of a magnetic moment of a free layer in the magnetic tunnel junction in an in-plane direction.
2. The physical unclonable function generator according to claim 1, wherein: the control unit is configured to control the temperature of a chamber in which the storage array is located to reach a preset temperature before controlling application of the magnetic field along the target direction to the storage array, or while controlling application of a magnetic field along a first direction to the storage array, the preset temperature being greater than a blocking temperature of the magnetic tunnel junction.
3. The physically unclonable function generator of claim 1, wherein, the magnetic field is a magnetic field with an oscillating amplitude or a magnetic field with a constant amplitude.
4. The physical unclonable function generator according to any one of claims 1-3, wherein: the control unit is configured to control application of a first pulse to a target storage unit in a first resistance state in the storage array to cause a magnetic moment direction of a synthetic antiferromagnetic layer in a magnetic tunnel junction of the target storage unit to flip, so that the target storage unit flips from the first resistance state to a second resistance state; wherein the first resistance state and the second resistance state have different resistance values.
5. The physical unclonable function generator according to claim 4, wherein: the synthetic antiferromagnetic layer comprises a first ferromagnetic coupling layer and a second ferromagnetic coupling layer, and an antiferromagnetic coupling is formed between the two layers; the flipping of the magnetic moment direction of the synthetic antiferromagnetic layer refers to flipping of the magnetic moment directions of the first ferromagnetic coupling layer and the second ferromagnetic coupling layer.
6. The physical unclonable function generator according to claim 4, wherein: the control unit is configured to control application of a second pulse to all storage units in the storage array to cause a magnetic moment direction of a free layer in a magnetic tunnel junction of the target storage unit to flip, so that the target storage unit flips from the second resistance state to the first resistance state; wherein the second pulse has an amplitude lower than that of the first pulse, and the second pulse and the first pulse are in the same direction.
7. The physically unclonable function generator of claim 1, wherein, the storage array is a magnetoresistive random access memory or an antiferromagnetic random access memory.
8. A true random number generator, characterized by The true random number generator comprises: the physical unclonable function generator according to any one of claims 1-7; after generating the physical unclonable function, or after the target storage unit flips from the second resistance state to the first resistance state, the control unit is configured to control application of a third pulse to the magnetic tunnel junction of the storage unit to cause a random flipping of a magnetic moment direction of a free layer in the magnetic tunnel junction, so that a resistance state of the storage unit is randomly flipped to generate a random number; wherein the third pulse has an amplitude higher than that of the second pulse and lower than that of the first pulse.
9. The true random number generator according to claim 8, wherein: The control unit is configured to apply the third pulse to a plurality of storage units in the storage array and generate a random number by reading resistance states of the plurality of storage units; or The control unit is configured to apply the third pulse to a storage unit in the storage array multiple times and read resistance states of the storage unit after each application of the third pulse to generate a random number.
10. The true random number generator according to claim 8 or 9, characterized in that, The random number is used to encrypt or authenticate the physically unclonable function.
Citation Information
Cited By
Chip, physically unclonable function generator, and authentication method for chip
CN122286851A