Configuration and readout of physical copy prevention function
By configuring PUF devices to set readout states based on physical property measurements, the method ensures equal probability and stability of PUF values, enhancing the randomness and reliability of PUF outputs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- ANALOG DEVICES INT UNLTD CO
- Filing Date
- 2021-07-23
- Publication Date
- 2026-06-01
AI Technical Summary
Existing PUF devices face challenges in ensuring equal probability for each possible persistent random PUF value and maintaining consistent physical characteristics over time, which affects the randomness and reliability of their output.
A method and apparatus for configuring PUF devices by measuring physical properties, setting configuration thresholds, and assigning readout states to pairs of devices based on these measurements to ensure equal likelihoods for PUF values and stability over time, using techniques like transistor or capacitor differences to determine persistent random numbers.
This approach enhances the randomness and reliability of PUF outputs by ensuring equal probabilities for PUF values and stability over time, improving the persistence and security of the PUF device's fingerprint.
Smart Images

Figure 0007868028000002 
Figure 0007868028000003 
Figure 0007868028000004
Abstract
Description
[Technical Field]
[0001] This disclosure relates to a method and apparatus for configuring and reading a physical copy protection function. [Background technology]
[0002] A physical anti-copying function (sometimes called a physical anti-copying function), or "PUF," is a physical entity capable of generating an output ("response") to a given input ("challenge") that is unique to that particular PUF, thereby allowing its output to be considered a "fingerprint." This capability is typically achieved by designing the PUF such that its output depends on randomly different characteristics in each device, resulting from slight manufacturing variations. This makes it difficult to replicate the PUF using an accurate fingerprint, even with complete knowledge of its circuit layout. The response can be used for a variety of different purposes, for example, in cryptographic operations to secure communication to and from a device containing the PUF, or in processes to authenticate the identity of a device containing the PUF.
[0003] A PUF device may comprise one or more pairs of physical devices, each having several randomly different physical characteristics due to slight manufacturing variations, and some decision circuit configured to read PUF values from the pairs of physical devices. The decision circuit may be configured to read persistent random PUF values from each of the pairs of physical devices and generate persistent random numbers based on the PUF values. The persistent random numbers may then be used as part of determining a "response" to a "challenge". For example, a PUF device may receive a "challenge" from another circuit, the decision circuit may then read a persistent random number from a PUF cell, and the PUF device may then determine a "response" based on the "challenge" and the persistent random number (e.g., by performing some cryptographic operation such as hashing, or XOR, or encryption using the "challenge" and the persistent random number). The persistent random number is random in that its value depends on slight random manufacturing variations between different PUF devices. This means that different instances of a PUF device, while identical in design, should each generate different persistent random numbers. The random numbers are "persistent" in that they should remain the same over time, or remain the same within acceptable limits. For example, persistent random numbers generated by one or more PUF cells in a PUF device should be the same each time they are generated (or remain the same within acceptable limits, for example, so that they can be corrected using error correction codes (ECCs)), thus serving as a reliable fingerprint of the device. [Overview of the project]
[0004] This disclosure relates to configuring at least a pair of devices in a Physical Copy Protection (PUF) device and to reading at least a pair of devices for determining a persistent random PUF output. The pair of devices may be read by measuring the physical differences between devices / components caused by random manufacturing differences, and then used to determine a persistent random PUF output. Configuring a pair of devices includes measuring random manufacturing differences and, based on that measurement, setting a read state for the pair of devices, the read state defines the mode of read process to be used for that pair of devices. Each time the pair of devices is read in the future, it may be read according to the state set at configuration.
[0005] A first aspect of this disclosure provides a method for configuring a pair of devices in a Physically Unreplicable Function (PUF) system, the pair of devices being used to generate persistent random values, the method comprising: measuring the physical properties of the pair of devices, the measured physical properties indicating random manufacturing variability between the pair of devices; comparing the measured physical properties to one or more configuration thresholds; and setting configuration indicators associated with the pair of devices to assign the pair of devices to either a first readout state or a second readout state based on the comparison, the first readout state indicating that the physical properties of the pair of devices should be compared to at least one first readout state threshold when using the pair of devices to generate persistent random values during a PUF readout.
[0006] The first readout threshold may differ from at least one configuration threshold.
[0007] The method may further include setting the values of one or more configuration thresholds relative to the value of a first readout state threshold such that one or more configuration thresholds define the readout tolerance of a first readout state threshold, and assigning a configuration indicator further includes assigning a configuration indicator to a first readout state if a comparison of one or more configuration thresholds with a physical characteristic measurement indicates that the physical characteristic measurement is outside the readout tolerance range, and assigning a configuration indicator to a second readout state if a comparison of one or more configuration thresholds with a physical characteristic measurement indicates that the physical characteristic measurement is within the readout tolerance range.
[0008] A second readout state may indicate that the pair of devices should not be used to generate persistent random values. Alternatively, the second readout state may indicate that when generating persistent random numbers during PUF readout, the physical properties of the pair of devices should be compared to at least one second readout state threshold.
[0009] The configuration indicator may include a single bit value indicating whether the pair of devices are assigned to a first read state or a second read state.
[0010] At least one first read-state threshold can be set such that there are substantially equal likelihoods for each possible persistent random value.
[0011] This method may further include setting at least one first readout state threshold based on a statistical analysis of measured physical characteristics of multiple pairs of devices in a PUF system.
[0012] The method may further include measuring the physical characteristics of one or more further pairs of devices in parallel with measuring the physical characteristics of one or more further pairs of devices; comparing the measured values of the physical characteristics of one or more further pairs of devices with one or more configuration thresholds; and setting one or more configuration indicators associated with one or more further pairs of devices so that each of the one or more further pairs of devices is assigned to either a first readout state or a second readout state based on the comparison.
[0013] In a second aspect of the present disclosure, a Physical Copy Protection (PUF) system is provided, the PUF system comprising: a pair of devices for use in generating persistent random values; and a determination unit for configuring the pair of devices, the determination unit being configured to measure the physical characteristics of the pair of devices, the measured physical characteristics indicating random manufacturing variability between the pair of devices; compare the measured physical characteristics with one or more configuration thresholds; and set configuration indicators associated with the pair of devices to assign the pair of devices to either a first readout state or a second readout state based on the comparison, the first readout state indicating that the physical characteristics of the pair of devices should be compared with at least one readout state threshold when using the pair of devices to generate persistent random values during a PUF readout.
[0014] A third aspect of the present disclosure provides a method for reading a physical copy protection (PUF) system including a pair of devices, the method comprising: reading a configuration indicator associated with the pair of devices to determine whether the pair of devices were assigned to a first read state or a second read state during configuration; if the configuration indicator indicates that the pair of devices are assigned to a first read state, using the pair of devices to determine a persistent random value by comparing the physical characteristics of the pair of devices to at least one first read state threshold, which determines that the physical characteristics indicate random manufacturing variation between the pair of devices; otherwise, if the configuration indicator indicates that the pair of devices are assigned to a second read state, performing a second read state action.
[0015] Determining persistent random values may further involve measuring the physical properties of a pair of devices.
[0016] Measuring the physical properties of a pair of devices may involve determining digital measurements of the physical properties of the pair of devices for M quantization levels, where the persistent random value is a digital value for N quantization levels, and M is greater than N.
[0017] At least one first read-state threshold may define a first range, and if a configuration indicator indicates that a pair of devices is assigned to a first read-state, determining a persistent random value using the pair of devices may include determining which of the first ranges the physical characteristics of the pair of devices fall within.
[0018] A second read state may indicate that the pair of devices should not be used to generate persistent random values, and the second read state action may include not using the pair of devices to determine persistent random values.
[0019] Here, the second read state action may include determining a persistent random value by using a pair of devices and comparing the physical characteristics of the pair of devices to at least one second read state threshold that is different from at least one first read state threshold.
[0020] At least one second read-state threshold may define a second set of ranges, each of which is associated with a specific persistent random value, and if a configuration indicator indicates that a pair of devices is assigned to a second read-state, then determining the persistent random value using a pair of devices involves determining which of the second set of ranges the physical properties of the pair of devices fall within.
[0021] A persistent random value can be a single-bit value or a multi-bit word.
[0022] The PUF system may further include one or more further pairs of devices, and the method may further include: reading a configuration indicator associated with each of the one or more further pairs of devices to determine whether each of the one or more further pairs of devices was assigned to a first read state or a second read state during configuration; for each of the one or more further pairs of devices, if the configuration indicator indicates that the further pair of devices is assigned to a first read state, determining a persistent random value, in parallel with using the further pair of devices to determine a further persistent random value by comparing the physical characteristics of the further pair of devices with at least one first read state threshold; otherwise, if the configuration indicator indicates that the further pair of devices is assigned to a second read state, performing a second read state action. The method may further include determining the PUF output based at least in part on the persistent random value and one or more further persistent random values.
[0023] A fourth aspect of the present disclosure provides a Physically Unreplicable Function (PUF) system comprising: a pair of devices for use in generating a persistent random value; and a determination unit, the determination unit is configured to: read configuration indicators associated with the pair of devices in order to determine whether the pair of devices were assigned to a first read state or a second read state during configuration; if the configuration indicators indicate that the pair of devices are assigned to a first read state, determine a persistent random value by using the pair of devices to compare the physical characteristics of the pair of devices with at least one first read state threshold, wherein the physical characteristics indicate random manufacturing variation between the pair of devices; otherwise, if the configuration indicators indicate that the pair of devices are assigned to a second read state, perform a second read state action.
[0024] The determination unit may be configured to determine at least partially persistent random values by measuring the physical characteristics of a pair of devices.
[0025] At least one first read-state threshold may define a first range, and if a configuration indicator indicates that a pair of devices is assigned to a first read-state, determining a persistent random value using the pair of devices may include determining which of the first ranges the physical characteristics of the pair of devices fall within.
[0026] A second read state may indicate that the pair of devices should not be used to generate persistent random values, and the second read state action may include not using the pair of devices to determine persistent random values.
[0027] A second read state action may include determining a persistent random value by using a pair of devices and comparing the physical characteristics of the pair of devices to at least one second read state threshold that is different from at least one first read state threshold.
[0028] At least one second read-state threshold may define a second set of ranges, each of which is associated with a specific persistent random value, and if a configuration indicator indicates that a pair of devices is assigned to a second read-state, then determining the persistent random value using the pair of devices may involve determining which of the second set of ranges the physical properties of the pair of devices fall within.
[0029] If at least one second read-state threshold defines a second set of ranges, each of which is associated with a specific persistent random value, and a configuration indicator indicates that a pair of devices is assigned to a second read-state, then determining the persistent random value using a pair of devices involves determining which of the second set of ranges the physical properties of the pair of devices fall within.
[0030] The PUF system may include one or more further pairs of devices, and the determination unit is further configured to: read a configuration indicator associated with each of the one or more further pairs of devices in order to determine whether each of the one or more further pairs of devices has been assigned to a first read state or a second read state during configuration; and for each of the one or more further pairs of devices, if the configuration indicator indicates that the further pair of devices has been assigned to a first read state, determine a further persistent random value by using the further pair of devices and comparing the physical characteristics of the further pair of devices with at least one first read state threshold, in parallel with determining a persistent random value; otherwise, if the configuration indicator indicates that the further pair of devices has been assigned to a second read state, perform a second read state action.
[0031] A fifth aspect of the present disclosure provides a PUF apparatus comprising a pair of devices and a determination unit, the determination unit configured to determine a persistent random value using a pair of devices by: reading a configuration indicator associated with the pair of devices to determine whether the pair of devices is assigned to a first read state or a second read state during configuration; and, if the configuration indicator indicates that the pair of devices is assigned to a first read state, determining a persistent random value using the pair of devices by comparing the physical characteristics of the pair of devices to at least one first read state threshold, wherein the physical characteristics indicate random manufacturing variation between the pair of devices.
[0032] A sixth aspect of the present disclosure provides a PUF device for generating a PUF output which is a persistent random number, the PUF device comprising: a plurality of PUF cells, each of which comprises a pair of electronic devices; and a PUF output unit configured to determine a measurement of the physical properties of at least one of the plurality of PUF cells, and to determine a PUF output based at least partially on the magnitude of each of the determined measurements. Optionally, the PUF device may be configured to measure the physical properties of two or more of the plurality of PUF cells in parallel, and then determine a PUF output based at least partially on the magnitudes of the two or more determined measurements. Using this technique, faster readouts can be achieved while maintaining the persistence of the PUF output.
[0033] A seventh aspect of this disclosure provides a method for generating a PUF output which is a persistent random number, the method comprising determining a measurement of the physical properties of at least one of a plurality of PUF cells, each of which comprises a pair of electronic devices, and determining a PUF output at least in part on the magnitude of each of the determined measurements. Optionally, the physical properties of two or more of the plurality of PUF cells may be measured in parallel, and the PUF output may be determined at least in part on the magnitudes of the two or more determined measurements. [Brief explanation of the drawing]
[0034] The aspects of this disclosure are described by reference to the following drawings, merely as examples. [Figure 1] An illustrative schematic diagram of a PUF device / system 100 according to an aspect of this disclosure is shown. [Figure 2] Figure 1 shows a schematic diagram of an exemplary implementation of the PUF cell 105 and the determination unit 170. [Figure 3A] Figure 2 shows a schematic diagram of the PUF cell array. [Figure 3B]A schematic diagram of a further exemplary implementation of the PUF device / system 100 is shown. [Figure 4A] A schematic diagram of the circuit for determining the capacitor difference is shown. [Figure 4B] Figure 4A shows an illustrative timing diagram of the circuit's operation. [Figure 4C] Figure 4A shows a schematic diagram of the PUF cell array. [Figure 5] The following are exemplary steps in a method for constructing the PUF cell shown in Figure 1 according to an aspect of this disclosure. [Figure 6] Figure 1 shows an illustrative statistical distribution of physical properties measured across multiple PUF cells. [Figure 7] Further examples of the statistical distribution shown in Figure 6 are presented. [Figure 8] The following are exemplary statistical distributions demonstrating the structure of this disclosure. [Figure 9A] An exemplary statistical distribution is shown to demonstrate further aspects of this disclosure. [Figure 9B] An exemplary statistical distribution is shown to demonstrate further aspects of this disclosure. [Figure 9C] An exemplary statistical distribution is shown to demonstrate further aspects of this disclosure. [Figure 10A] An exemplary statistical distribution is shown to demonstrate further aspects of this disclosure. [Figure 10B] An exemplary statistical distribution is shown to demonstrate further aspects of this disclosure. [Figure 11] The following are exemplary steps in a method for reading the PUF cell shown in Figure 1 according to an aspect of this disclosure. [Modes for carrying out the invention]
[0035] The inventors have identified several different challenges when implementing one or more pairs of physical devices in a PUF device. First, each possible persistent random PUF value for each pair should have equal or substantially equal probabilities. For example, if the pair of physical devices used produce "1" or "0" depending on random manufacturing variability between the physical devices, the probabilities of "1" or "0" should be equal or substantially equal. If this is not achieved, the output of the PUF device cannot be sufficiently random. To achieve this, the PUF device must be designed not to support any particular possible PUF value from each pair of physical devices.
[0036] Secondly, since the random numbers generated by the PUF device should be persistent, it is preferable that any physical device measurement / reading on which the random numbers are based is relatively stable and consistent over time. Therefore, it is preferable that any physical characteristic used to determine the value of the random number is relatively stable over time, is measured accurately and reliably over time, and as a result, the random number remains the same (or is the same within an acceptable tolerance range, such as the tolerance required for effective error correction coding (ECC)).
[0037] The inventors have devised a technique for configuring each pair of physical devices, which sets how the pair of devices will be used during a readout to determine the PUF value. The physical devices may, in non-limiting examples, be transistors or capacitors. In this technique, the size of the physical properties of the pair of devices is determined during configuration (e.g., the size of the difference between the pair of physical devices / components). Non-limiting examples of physical properties include the voltage difference across a pair of transistors, the gate-source voltage difference between a pair of transistors, the capacitance difference between a pair of capacitors, or the difference in current flowing through a pair of physical devices. The size of the physical properties is then compared to configuration thresholds to assign the pair of devices to specific readout states. A non-limiting example of a configuration threshold is a voltage threshold. The assigned readout state then determines which readout threshold should be used during the PUF readout. Configuration thresholds can differ from readout thresholds, resulting in a buffer between them. Thus, the readout states set during configuration can be set such that the physical properties of the pair of devices being measured during the readout are likely to be a certain distance from the readout threshold to be used. This allows the measured physical characteristics to change or drift over time, with a low risk of changing the PUF value by changing it sufficiently to exceed the readout threshold. Therefore, the persistence of the PUF values generated by each pair of devices, and thus the overall PUF output, can be improved. Furthermore, the configuration threshold and readout threshold can be set so that the probability of each PUF value for each pair of devices is equal or substantially equal, thereby achieving randomness in the PUF values.
[0038] Figure 1 shows an exemplary schematic diagram of a PUF device / system 100 according to an aspect of this disclosure. The PUF device comprises a plurality of PUF cells 105 x,y It comprises a determination unit 170 and a challenge / response unit 180. PUF cell 105 x,yAlthough only a 2x2 array is shown, it should be understood that there can be any number of PUF cells (e.g., 8, 12, 20, 32, 128, 256, etc.) arranged in arrays of any size and dimensions, or in any other preferred configuration.
[0039] The determination unit 170 has multiple PUF cells 105 x,y It is configured to determine the PUF output using 105. The PUF output is a persistent random number. x,y It comprises a pair of physical components / devices, and the determination unit 170 determines a specific PUF cell 105 to determine a persistent random PUF value. x,y The determination unit 170 measures the difference in the physical characteristics of a pair of components / devices. x,y This is repeated, and then the multiple determined persistent random values can be used to generate a PUF output (for example, each persistent random value may be a one-bit or multi-bit value that forms part of the PUF output; in one particular non-limiting embodiment, the PUF output may be a 128-bit word, and each of the 128 PUF cells may contribute one bit to the 128-bit word).
[0040] The challenge / response unit 180 is configured to receive a “challenge” from an external entity, request and obtain a PUF output from the determination unit 170, and then determine and return a response based on the challenge and the PUF output. The challenge / response unit 180 may be configured to operate in any preferred manner that is apparent to those skilled in the art of PUF devices. The challenge / response unit 180 may form a separate unit or may be part of the determination unit 170. This disclosure describes in detail below, in particular, the PUF cell 105 x,y This disclosure relates to the configuration and operation of the determination unit 170. Therefore, no further reference or explanation of the challenge / response unit 180 is provided in this disclosure.
[0041] Example PUF cell implementation configuration Each PUF cell 105 x,ymay include a pair of any suitable physical devices / components, and the pair of any suitable physical devices / components are arranged to be compared to determine differences in their physical characteristics caused by random manufacturing variations.
[0042] For example, each PUF cell 105 x,y may include a pair of matched transistors, and the determination unit 170 may be configured to determine the PUF output based on the differences between the physical characteristics (such as gate-source voltage) of the transistors caused by random manufacturing variations. The PUF cell 105 x,y Various exemplary implementations of the PUF device / system 100 in which each PUF cell 105 includes a pair of transistors are shown in U.S. Patent Application No. 16 / 296,998 ('998 application), and the entire patent application is incorporated herein by reference. Two specific exemplary embodiments are disclosed in FIGS. 2 - 9 and lines 16 of page 10 - lines 6 of page 26 of the filed '998 application, some of which are reproduced in part below.
[0043] FIG. 2 (reproduced from FIG. 2 of U.S. Patent Application No. 16 / 296,998) shows a schematic diagram of an exemplary implementation of a PUF cell 105 and a determination unit 170 configured to determine the PUF value of the PUF cell 105.
[0044] FIG. 3A (reproduced from FIG. 3 of U.S. Patent Application No. 16 / 296,998) shows a schematic diagram of an array of PUF cells 105 each configured in the same manner as the PUF cell 105 shown in FIG. 2. x,y is shown.
[0045] Returning to Figure 2, the PUF cell 105 comprises a matched pair of transistors 210. The term “matched” in this disclosure means that the pair of transistors are of the same design. While Figure 2 shows a diagram of a matched pair of p-type FETs, throughout this disclosure, it will be understood that in any different embodiment described, the matched pair of transistors 210 could be any transistor type, such as p-type, n-type, enhancement type, depression type, FETs (MOSFET, JFET, MESFET, etc.), BJTs (IGBT, heterojunction bipolar transistor, etc.). For brevity, we will focus particularly on FETs, but it should be understood that the terms “gate,” “source,” and “drain” as used herein encompass the terms “base,” “emitter,” and “collector” for BJTs.
[0046] Although the two transistors constituting a matched pair of transistors 210 are of identical design, in reality, small random manufacturing variations inevitably exist between the two transistors. These manufacturing variations may include at least one of the following: differences in gate oxide thickness, differences in doping density, differences in carrier mobility, and differences in device dimensions. These manufacturing variations result in variations in transistor on-state characteristics / performance, such as differences in turn-on threshold voltage, differences in β, and differences in back-gate effect. The term "on-state" is used herein to refer to the operating characteristics of a transistor related to its normal on-state operation, such as turn-on threshold voltage, gate-source voltage, drain current, linear resistivity, saturation point, and transconductance. By considering on-state characteristics, the reliability of the PUF device 100 can be increased, as opposed to off-state characteristics (such as off-state leakage current) or failure characteristics (such as dielectric breakdown), for reasons such as no high voltage being applied and no gate oxide degradation.
[0047] The determination unit 170 is configured to determine the transistor difference value based at least in part on a comparison of the on-state characteristics of a matched pair of transistors 210, the transistor difference value indicating one or more random manufacturing differences between the matched pair of transistors 210. In this implementation, the on-state characteristics of the matched pair of transistors 210 being compared are the gate-source voltage (V) of the two transistors. GS ) is the V of the two transistors. GS These can vary, for example, as a result of one or more different random manufacturing differences that cause differences in the transistor's turn-on threshold voltage and / or β and / or back-gate effect.
[0048] The drains of a matched pair of transistors 210 are connected to ground. The determination unit 170 includes a selector circuit 220 configured to apply a suitable voltage to the gates of the matched pair of transistors 210 in order to turn on the transistors. This voltage functions as a “selection potential,” which will be described in more detail below with reference to Figure 3A. The determination unit 170 also includes a first current source 232 and a second current source 234, which are configured to provide the same amount of current to each other. The current from the first current source 232 may be applied as a first input signal to the source of the first transistor of the matched pair of transistors 210, and the current from the second current source 234 may be applied as a second input signal to the source of the second transistor of the matched pair of transistors 210. If the matched pair of transistors 210 are truly identical, their source voltages are exactly the same. However, due to random manufacturing variations, the gate-source voltages of the two transistors are likely to be different, and since the gate voltage applied to the matched pair of transistors 210 is the same, the source voltages of the matched pair of transistors 210 should be different by some amount.
[0049] The determination unit 170 further comprises an ADC 250 configured to measure the difference in gate-source voltages and output a digital value indicating that difference. However, it is recognized that there may be some mismatch between the currents provided by the first current source 232 and the second current source 234. Therefore, a chop circuit 236 may be provided so that a first input signal (current from the first current source 232) may be applied to the first transistor, and a second input signal (current from the second current source 234) may be applied to the second transistor, and the first transistor comparison value is determined by the ADC 250 by comparing the gate-source voltages of a matched pair of transistors 210. Next, the chop circuit 236 can switch the coupling of the first current source 232 and the second current source 234 so that the first input signal is applied to the second transistor, and the second input signal is applied to the first transistor, and the second transistor comparison value is determined by the ADC 250 by comparing the gate-source voltages of a matched pair of transistors 210.
[0050] The first transistor comparison value and the second transistor comparison value can be expressed as follows:
[0051] First transistor mismatch value = ΔV GS +Mismatch+Noise 1 Second transistor mismatch value = ΔV GS -Mismatch + Noise 2
[0052] Next, the transistor difference value of the PUF cell 105 can be determined based on the first transistor comparison value and the second transistor comparison value, for example, from the sum or average of the first transistor comparison value and the second transistor comparison value.
[0053] For example, the transistor difference can be expressed as follows:
[0054] Transistor difference = First mismatch value + Second mismatch value = 2 * ΔV GS +Noise 1 + Noise 2 or Transistor difference = Average of the first mismatch value and the second mismatch value =ΔV GS +(Noise 1 + Noise 2) / 2
[0055] In this way, any measurement inaccuracies caused by mismatch between the first current source 232 and the second current source 234 can be eliminated without significantly increasing the signal-to-noise ratio. The chop circuit 236 is optional, and it will be understood that the determination unit 170 may be configured to determine the transistor difference value from a single comparison of gate-source voltages, for example, if the first and second current sources are considered to be matched with sufficiently high accuracy.
[0056] Furthermore, an additional chop circuit 240 may be optionally provided at the input to the ADC 250. This may operate similarly to and simultaneously with chop circuit 236 to switch the coupling of the differential input to the comparator in the ADC 250. However, in this case, the ΔV in the first transistor comparison value GS The sign of the component is determined by the ΔV in the second transistor comparison value as a result of switching the input to the comparator in the ADC250. GS The sign of the component will be different. For example, when both chop circuits 236 and 240 are used, it can be represented as follows:
[0057] First transistor mismatch value = ΔV GS +Mismatch+Offset+Noise1 Second transistor mismatch value = -ΔV GS +Mismatch+Offset+Noise2 Here, the offset is the offset of the ADC250.
[0058] In this case, the transistor difference can be determined by taking the difference between the first transistor comparison value and the second transistor comparison value. For example, it can be expressed as follows:
[0059] Transistor difference = First mismatch value - Second mismatch value = 2 * ΔV GS +Noise 1 - Noise 2
[0060] Using the chop circuit 236 in this way can help eliminate any offset in the ADC 250, as well as any mismatch between the first current source 232 and the second current source 234. Furthermore, ΔV GS The number of components has increased by 2X, and the low-frequency components of noise 1 and noise 2 should almost cancel each other out. However, it will be understood that the chop circuit 240 is optional, depending on the configuration of the ADC 250 and the quality of the components constituting the ADC 250. Furthermore, the determination unit 170 does not have to include the ADC 250, but instead may use any other suitable circuit, for example, an analog-only circuit, to determine the transistor difference value.
[0061] The chop circuits 236 and 240 can be configured in any preferred manner to perform the switching / chopping functions described above. For example, each of them may comprise one or more switches that can be controlled (e.g., by a control unit not shown in Figure 2) to switch / chop the coupling as described above.
[0062] The transistor difference value is determined by which of the matched pair of transistors 210 has a larger / smaller V. GS It indicates whether it has and the magnitude of the difference. For example, the V of the first transistor GS This is the V of the second transistor. GS It can be a positive number of magnitude that represents a quantity larger than the first transistor's V GS This is the V of the second transistor. GS It can be a negative number of a magnitude smaller than [a certain value].
[0063] Referring to Figure 3A, multiple PUF cells 105 x,yThis is shown, where x = 1, 2, ..., X-1, X and y = 1, 2, ..., Y-1, Y, and as a result, PUF cell 105 x,y The total number is X*Y. PUF cell 105 in this embodiment x,y The array is arranged with X columns and Y rows. The selector circuit 220 has one Y output for each row of the array, and each output is a matched pair of transistors 210 for a particular row. x,y It can be seen that it is coupled to the gate (for example, the first output is transistor 210 pair x,1 Coupled to, the second output is transistor 210 x,2 (For example, it is joined to PUF cell 105.) x,y To select a specific row, the selector circuit 210 matches the matched transistor pair 210 of that row. x,y To turn it on, a selection potential (e.g., a potential above the transistor's turn-on threshold voltage) is applied to that row. All other rows are subjected to a non-selection potential (e.g., a potential below the transistor's turn-on threshold voltage). Thus, in this embodiment, each matched transistor pair 210 x,y It is used not only to determine the transistor difference, but also its PUF cell 105 x,y It can also be seen as being used as a selection mechanism. A pair of matched transistors 210 are used for both of these purposes. x,y By using this method, the size of the PUF cell array can be reduced compared to an array that includes a pair of transistors used to determine the PUF value and one or more additional transistors used to select the PUF cells.
[0064] Furthermore, the determination unit 170 determines X first current sources 232 x and the second current source 234 x X chop circuits 236 x , X further chop circuits 240 x , and X XADC250 x It can be seen that it is equipped with X pairs of transistors 210 in the selected row x,yIt is possible to determine the transistor difference value in parallel, thereby increasing the operating speed. Furthermore, the first current source 232 x and the second current source 234 x Chop circuit 236 x , further chop circuit 240 x , and ADC250 x Each set can be shared by a column of the PUF array, thereby reducing the number of components required, and consequently reducing the overall size, cost, and power consumption of the PUF device 100.
[0065] The determination unit 170 shown in Figure 3A also includes a PUF output unit 310, and the PUF output unit 310 a) each ADC250 x The transistor difference value determined from is received, or b) each ADC x After receiving either the first transistor comparison value and the second transistor comparison value determined from the first transistor comparison value and the second transistor comparison value, the transistor difference value is determined based on the first transistor comparison value and the second transistor comparison value (for example, by averaging them).
[0066] The determination unit 170 is PUF cell 105 x,y It can be operated by selecting one row and determining the transistor difference value for each selected PUF cell. Then, PUF cell 105 x,y The next row is selected, and the transistor difference values can be determined for them. The operation of the selector circuit 220, the chop circuits 236x, and the further chop circuits 240x can be controlled in any preferred manner, for example, by the PUF output section 310 or any other preferred controller. The control interconnects are not shown in Figure 3A for brevity.
[0067] Figure 3B (reproduced from Figure 6 of U.S. Patent Application No. 16 / 296,998) shows PUF cell 105 x,yFigure 3B shows a schematic diagram of an alternative configuration of the array and determination unit 170. A detailed description of the circuit operation is given on pages 18, line 5 to 23, line 23 of US16 / 296,998, and for efficiency, it is not repeated herein. However, Figure 3B shows a multiple PUF cell 105 x,y Parallel measurement of the physical properties of multiple PUF cells 105 x,y It will be understood that this should be a further illustrative representation of how the PUF device 100 may be implemented so that parallel reading can be achieved.
[0068] The PUF output determined by the PUF output unit 310 is a persistent random number, which may be, for example, a multi-bit number. This will be explained in more detail later in the "Configuration" and "Readout" sections. However, in summary, the measured transistor difference value of a particular PUF cell can be used to set the value of one or more bits (i.e., "0" or "1") of a multi-bit PUF output. The result of each transistor comparison is used for a matched pair of transistors 210. x,y Because it depends on random manufacturing differences between them, the PUF output should be random in the sense that each different instance of the PUF device 100 is very likely to produce a randomly different PUF output.
[0069] In a further exemplary implementation, each PUF cell 105 x,y This may include a pair of capacitors, and the determination unit 170 may be configured to determine the PUF output based on the difference between the physical characteristics (such as capacitance) of the capacitors caused by random manufacturing variations. PUF cell 105 x,y Various exemplary implementations of a PUF device / system 100, each including a matched pair of capacitors, are shown in U.S. Patent Application No. 16 / 716,435 ('435 application), the entire application of which is incorporated herein by reference. Various exemplary implementations are disclosed in Figures 2A–6B and on pages 10, line 10–22, line 31 of the filed '435 application, some of which are partially reproduced below.
[0070] Figure 4A (reproduced from Figure 2A of U.S. Patent Application No. 16 / 716,435) shows a schematic diagram of a circuit for determining a capacitor difference value that indicates a random manufacturing difference between a pair of capacitors 2100.
[0071] Figure 4C (reproduced from Figure 3 of U.S. Patent Application No. 16 / 296,998) shows PUF cell 105 x,y This shows a schematic diagram of the array, PUF cell 105 x,y Each of these is configured in the same way as PUF cell 105 shown in Figure 4A.
[0072] Returning to Figure 4A, each PUF cell 105 x,y This is a pair of capacitors 2100 x,y It may be equipped with, thereby each PUF cell 105 x,y This can be used to generate the corresponding capacitor difference value, and based on this, PUF cell 105 x,y The persistent random PUF value can then be determined (as described above, see Figure 3A). The PUF output is then used for multiple PUF cells 105 x,y It can be determined from multiple persistent random PUF values determined from [source]. However, for brevity, the determination of the capacitor difference value from a pair of capacitors 2100 is described below.
[0073] A pair of capacitors 2100 may be a matched pair of capacitors or may be different capacitors. The term “matched” in this disclosure means that the pair of capacitors are of the same design. While the two capacitors constituting a matched pair of capacitors 2100 are of the same design, in practice, small random manufacturing variations will inevitably exist between the two capacitors. These manufacturing variations may include at least one of the following: differences in the distance between capacitor plates (e.g., caused by differences in dielectric thickness), differences in the overlapping area of the two plates, or differences in dielectric constant. These manufacturing variations result in variations in capacitance between the two capacitors constituting a matched pair of capacitors 2100. For brevity, the following description will focus on a matched pair of capacitors 2100, but it should be understood that, alternatively, the two capacitors 2100 may be of different designs. In this case, there will be some expected difference between their capacitances, and on top of that, random manufacturing variations should result in some random variation around that expected difference. As a result, the capacitor difference value determined according to the process described below can perform the same function as when the capacitors are matched, but an offset is applied to the random variation, and this offset is equal to the design difference in capacitance between the two capacitors.
[0074] The circuit in Figure 4A includes a switch bank 2300 which can be used to set a bias state for determining a capacitor difference value that indicates a random manufacturing difference between a first capacitor C1 and a second capacitor C2. The first capacitor C1 and the second capacitor C2 are arranged as a capacitor divider, and the two capacitors share a common node or center tap. The circuit further includes a buffer 2200 for buffering the signal at the common node between the first capacitor C1 and the second capacitor C2. The buffer buffers the voltage V at the common node or center tap of the capacitor divider. i Voltage V oAlternatively, it could be any suitable type of voltage buffer configured to output current (e.g., a source follower, a simple operational amplifier, etc.). Each switch in the circuit may be implemented by any suitable type of controllable switch; for example, each switch may be implemented by a transistor such as a FET or bipolar transistor. For brevity, the state of each switch may be controlled by a controller not shown in Figure 4A.
[0075] Figure 4B (reproduced from Figure 2B of U.S. Patent Application No. 16 / 716,435) shows an illustrative timing diagram of the operation of the circuit in Figure 4A. The timing diagram in Figure 4B shows the switch control signal φ1,
number
[0076] V o (t0) = V cm +V off +V n (t0) Here, V off V is the read offset caused by an arbitrary intrinsic offset in buffer 2200, n(t0) is the random read noise at time t0.
[0077] Next, the first bias state is set by opening the reset switch so that the common node is no longer held at V cm This means that the first bias voltage V hi ~V lo is applied across the pair of capacitors 2100 without the common node or center tap being held at any particular potential. Thereby, the first bias state sets the corresponding first charge distribution between the two capacitors. In the timing diagram of Figure 4B, the change in V o when the bias state changes from the initial state to the first state is shown. This change is the result of charge injection and capacitive coupling of the reset switch. The output voltage at time t1 during the first bias state can be expressed as follows.
[0078] V o (t1)=V cm +V off +V ci +V ktc +V n (t1) Here, V ci is the charge injection from the rst switch caused by switch opening, V n (t1) is the random read noise at time t1, and V ktc is the sampled KTC noise from the two capacitors. The value V o (t1) shall be referred to as the first node measurement value indicating the voltage at the common node of the capacitor divider 2100 during the first bias state.
[0079] Next, the second bias state is set by applying the first bias voltage in the opposite direction across the pair of capacitors 2100 such that the voltage across the pair of capacitors 2100 is -(V hi -V lo ). This means applying V lo to V2 and V hiThis is achieved by controlling switch bank 2300 to apply V1. In the timing diagram of Figure 4B, V changes when the bias state changes from the first state to the second state. o A change is observed, which is caused by the redistribution of charge between the first and second capacitors. o V is expressed as a decrease when the second bias state is applied, which is a result of the capacitance of C2 being greater than the capacitance of C1. However, if the capacitance of C1 is greater than the capacitance of C2, then instead, when the second bias state is applied, V o This will result in an increase. The output voltage at time t2 during the second bias state can be expressed as follows:
[0080] V o (t2) = V cm +V off +V ci +V ktc +V n (t2)+((C1-C2) / (C1+C2)*(V hi -V lo ) Value V o (t2) shall be referred to as the second node measurement, which represents the voltage at the common node of the capacitor divider 2100 during the first bias state.
[0081] Because the pair of capacitors are matched, by design their capacitances are C1=C2=C. However, in reality, there is a small random difference in their capacitances, resulting in C1-C2=dC. Therefore, the actual capacitances of C1 and C2 can be expressed as follows:
[0082] C1 = C + dC / 2 C2 = C - dC / 2 Substituting this into the above formula, we get the following:
[0083] V o (t2) = V cm +V off +V ci+V ktc +V n (t2)+(dC / 2C)*(V hi -V lo ) V o (t2) is a function of the random manufacturing difference (dC) between the capacitors, but it is also affected by several different noise sources. This means V o (t2) cannot be a reliable indicator of random manufacturing differences, especially considering that dC is very small and therefore easily lost in noise.
[0084] However, V o (t2)-V o By taking the difference of (t1), we get the following:
[0085] V o (t2)-V o (t1) = (dC / 2C) * (V hi -V lo )+V n (t2)-Vn(t1) By taking the difference in this way, the ktc noise V ktc , offset V off , charge injection signal V ci , and the common-mode signal V cm These are all canceled out. Furthermore, the readout noise V n (t0) and V n Any low-frequency components at (t1) should also be substantially canceled out. Therefore, under both the first and second bias conditions, V o By measuring and then calculating the difference, a more accurate measurement of the random manufacturing difference between two capacitors C1 and C2 can be obtained. o (t2) and V oThe difference between (t1) and (t1) may be called the capacitor difference value, which indicates the random manufacturing difference between the pair of capacitors 2100. This more accurate measurement can then be used to determine the persistent random PUF value, and based on the persistent random PUF value, the PUF output can be determined and, for example, set to the value of one bit in a multi-bit PUF output, as will be described in more detail below in the "Configuration" and "Readout" sections.
[0086] For example, a specific PUF cell 105 x,y Capacitor difference value (V o (t2)~V o The size of (t1) can be used to set a persistent random PUF value (e.g., "0" or "1"), which then acts as one or more bits of a multi-bit PUF output. Capacitor difference V o (t2)~V o (t1) is determined to maximize the measurement accuracy of dC by eliminating almost all noise, so the PUF output value is determined only by nearly random manufacturing differences. This should result in the PUF output value being random enough to satisfy the PUF requirements.
[0087] Referring to Figure 4C, the determination unit 170 comprises MUX 5100, PUF output unit 5300, and switch bank 2300. The PUF output unit 5300 outputs voltage V hi and V lo The switch bank 2300 and MUX5100 are configured to control the system so that a voltage is applied to a specific row of PUF cells, and a deselection voltage is applied to all other rows of PUF cells. It will be understood that by doing so, the physical characteristics of multiple PUF cells in the selected row can be measured in parallel. This allows for very fast measurement and readout.
[0088] The above describes several specific embodiments for measuring the physical characteristics of a PUF cell (in one embodiment, the physical characteristic is the difference in gate-source voltages of a pair of transistors; in another embodiment, the physical characteristic is the difference in capacitance of a pair of capacitors), and the measurement of the physical characteristics reveals the random manufacturing variability of the PUF cell. However, it will be understood that there are many other ways in which the pair of devices and the determination unit 170 can be configured to determine the persistent random value of each PUF cell based on the physical characteristics of the pair of devices. Furthermore, there are many other types of physical and electrical devices that can be used for the pair of devices (either a single component that can be active or passive, such as a transistor or a capacitor, or a more complex composite device, such as a ring oscillator, each having multiple components), and many other types of physical characteristics that can be measured. For example, each PUF cell may have a pair of identical strings of NOT gates, and the physical characteristic of the PUF cell is the time difference between the time it takes for a signal to pass through one of the strings of NOT gates and the time it takes for a signal to pass through the other string of NOT gates. This disclosure is not limited to any particular implementation of a PUF device / system, and should be understood to apply to any implementation in which physical characteristics indicating random manufacturing variability between a pair of devices can be used to determine a persistent random PUF value.
[0089] "composition" As used in the context of a process, the term “configuration” is used herein to refer to the process of assigning a particular read state to a pair of devices that are to be used to generate persistent random PUF values. For example, the read state is PUF cell 105 in PUF device 100 ×、y It can be assigned to at least one of each of the following. This may be performed once (for example, during the manufacturing / setup of the PUF device 100, sometimes referred to as “registration”), after which the PUF device 100 may be used for “reading,” which may also be referred to as “restoration.” The term “reading” as used herein refers to one or more pairs of devices (e.g., PUF cell 105) x,yThis is used to describe the process of determining a persistent random PUF value based on the physical characteristics of the PUF device 100. Each time a PUF output is requested from the PUF device 100, a readout may be performed many times throughout the lifetime of the PUF device 100. During configuration, the PUF cell 105 x,y The read state assigned to that PUF cell 105 x,y The physical characteristics may indicate how they should be used to determine the PUF value during readout. The use of the term “configuration” above does not change the meaning of the term “configuration” in the context of physical configuration (e.g., device configuration).
[0090] The following describes three different PUF device configurations 100 that can be implemented to achieve different read characteristics, hereinafter referred to as "1-bit / PUF cell-throwaway," "1-bit / PUF cell-shift threshold," and "multiple-bit / PUF cell." Each of these configurations and read processes differs slightly and will be described in more detail later. However, a common aspect of the configuration process is first described with reference to Figure 5.
[0091] The following explanation applies especially to PUF cell 105 x,y This refers to each of which comprises a fixed pair of devices (i.e., the device pairing cannot be changed in this embodiment). However, it should be understood that the process described may apply to other types of PUF devices, including other configurations of paired devices, for example, PUF devices that dynamically select two devices from a bank of devices to form a pair of devices. In that embodiment, one particular device may be part of several different pairs of devices, since a different second device is dynamically selected to form a different pair with that one particular device. Thus, throughout the following description, the term “PUF cell” may be replaced more generally with “pair of devices”.
[0092] Figure 5 shows a PUF cell 105 according to an aspect of this disclosure. x,yThis visually illustrates the exemplary steps in the method of constructing PUF cell 105. x,y To constitute some or all of the above, PUF cell 105 in PUF device / system 100 x,y This may be done with respect to some or all of them.
[0093] In step 510, the determination unit 170 determines the PUF cell 105 x,y The physical characteristics (e.g., the transistor difference or capacitor difference mentioned above) are measured, and the measured values of the physical characteristics indicate random manufacturing variations in the PUF cell. For example, the process described above with respect to Figures 2, 3, 4A, and 4B is applied to PUF cell 105 x,y This can be done to determine the transistor difference or capacitor difference. Alternatively, PUF cell 105 x,y Any other suitable physical properties of each PUF cell 105 x,y Depending on the internal components and / or the design and configuration of the determination unit 170, determination may be made using any suitable technique.
[0094] Figure 6 shows multiple PUF cells 105 x,y This shows an exemplary statistical distribution of physical properties measured over time. The x-axis represents the measured physical property, and the y-axis represents the likelihood / probability. The x-axis units are arbitrary, as they depend on the nature of the physical property being measured. However, positive values are shown for PUF cell 105. x,y The first device / component is PUF cell 105 x,y This indicates that the second device / component is greater than the first device / component. A negative value indicates that the measured characteristics of the second device / component are greater than the measured characteristics of the first device / component. The statistical distribution applies to some or all PUF cells 105 x,y By measuring the physical properties of multiple PUF cells 105 x,y This can be achieved by assuming a specific statistical distribution. In this embodiment, a normal distribution is assumed, but it will be understood that any other suitable type of distribution can be assumed.
[0095] In step 520, the determination unit 170 may compare the measured physical characteristics with one or more configuration thresholds. The one or more configuration thresholds used depend on the desired readout characteristics ("1-bit / PUF cell - throwaway", "1-bit / PUF cell - shift threshold", and "multiple-bit / PUF cell"), which will be described in more detail later.
[0096] In step S530, the determination unit 170 determines the PUF cell 105 based on the comparison performed in step S520. x,y During the read operation, PUF cell 105 indicates whether either the first read state or the second read state should be used. x,y A configuration indicator associated with the PUF cell can be set. The configuration indicator may be a 1-bit value (for example, set to "0" to assign the PUF cell to a first read state, set to "1" to assign the PUF cell to a second read state, or vice versa), or the PUF cell 105 x,y This could be any other suitable form of indicator that can be used during reading to determine which read state should be used. The configuration indicator is PUF cell 105 x,y The configuration indicator may be stored in memory, for example in the determination unit 170 or elsewhere, so that it can be looked up and used during the read operation when it is read later. This allows each PUF cell 105 x,y It may have associated configuration indicators that are set during configuration and stored so that they can be used during readout.
[0097] The first read state is PUF cell 105 x,yWhen generating persistent random PUF values during readout, the physical characteristics of the PUF cell should be compared to at least one first readout state threshold, which is different from at least one configuration threshold. The second readout state can be several different depending on which readout characteristics ("1-bit / PUF cell - throwaway", "1-bit / PUF cell - shift threshold", and "multiple-bit / PUF cell") are implemented. This will be discussed in detail later in the "Readout" section.
[0098] All different readout characteristics are devised by the inventors as different ways in which the stability and consistency of each determined PUF value can be maintained over time. As previously described, the PUF output generated by the PUF device 100 should be persistent over time. This ensures that each PUF cell 105 x,y The generated PUF value should also be persistent over time. However, the inventors have found that PUF cell 105 x,y We recognize that the measured physical properties are likely to change over time due to one or more of the following: noise in the measurement of physical properties, device degradation, environmental changes, local variations, etc., as explained below with reference to Figure 7, PUF cell 105 x,y This can make it difficult to maintain the persistence of the PUF value.
[0099] Figure 7 shows an exemplary statistical distribution similar to that in Figure 6. In this embodiment, we assume that the area under the graph in the negative portion of the plot is equal to the area under the graph in the positive portion of the plot. This allows any one PUF cell 105 with negative measured physical properties to x,y The likelihood of is equal to the likelihood of having a positive measured physical characteristic. As a result, the determination unit 170 sets the persistent random PUF value to "0" when the measured physical characteristic is within the negative range 710, and sets it to "1" when the measured physical characteristic is within the positive range 720, thereby determining the PUF cell 105 x,y It can be configured to read out
[0100] However, specific PUF cell 105 x,y An example of the measured physical properties is represented by reference number 730. First, since the measured physical properties 730 can be negative, PUF cell 105 x,y This generates a PUF value of "0". However, over time, the measured physical characteristics may change or drift, as represented in reference no. 740. If the measured physical characteristics increase over time, they may eventually become positive, at which point the persistent random PUF value will change from "0" to "1". This change also causes a change in the PUF output. In some embodiments, the change in the measured physical characteristics may cause the measured physical characteristics to be sometimes positive, then sometimes negative, then sometimes positive, etc., resulting in the PUF value changing regularly between "0" and "1". While ECC technology can tolerate a small number of bits in the PUF output changing over time, a larger number means the PUF output is no longer persistent, and at that point it cannot be trusted. The inventors have created a PUF cell 105 having measured physical characteristics close to a read threshold used to determine whether the PUF value should be "0" or "1". x,y However, it was recognized that relatively small changes in physical properties measured over time can alter the PUF value, and therefore this problem can be particularly affected. Thus, the inventors devised the configuration and readout process described below to address these challenges and improve the long-term reliability and persistence of the PUF output generated by the PUF device 100.
[0101] 1-bit / PUF cell - throwaway In this implementation, several PUF cells 105 x,y However, it is assigned to be used during readout for determining the persistent random PUF value, and other PUF cells 105 x,y However, it is configured to be allocated so that it is not used at all during reading ("throwaway"). In this embodiment, PUF cell 105 x,y Setting the configuration indicator to assign to the second state is PUF cell 105x,y This indicates that it should not be used to generate persistent random PUF values.
[0102] Figure 8 shows an exemplary statistical distribution demonstrating 1 bit / PUF cell-throwaway. Multiple PUF cells 105 x,y The statistical distribution of PUF cell 105 could be the assumed distribution, or x,y This can be determined by measuring some or all of the physical characteristics. The figure shows a first configuration threshold 840, a second configuration threshold 850, and a first readout state threshold 860. In this configuration, during readout, a single PUF cell 105 x,y This can be used to determine a 1-bit persistent random PUF value, and therefore multiple PUF cells 105 x,y This can be used to determine multiple 1-bit persistent random PUF values, and then the multiple 1-bit persistent random PUF values can be used to determine a multi-bit PUF output.
[0103] PUF Cell 105 x,y During the configuration, PUF cell 105 x,y The physical properties can be measured (step S510 in Figure 5 above). The measured physical properties are then compared with a first configuration threshold 840 and a second configuration threshold 850 (step S520 in Figure 5 above).
[0104] Next, in step S530, if the PUF cell 105 is between the first configuration threshold 840 and the second configuration threshold 850, x,y The configuration indicator is assigned to the second read state, which is its PUF cell 105 x,y This means that it should not be used during readout. However, if the measured physical characteristics are less than the first configuration threshold 840 or greater than the second configuration threshold 850, the PUF cell 105 x,y The configuration indicator is assigned to the first read state, which means that during reading, its PUF cell 105 x,yThis means that it should be used to generate persistent random PUF values. Therefore, during configuration, any PUF cell 105 with measured physical properties within the central region 810 x,y This is assigned to a second readout state and any PUF cell 105 having measured physical characteristics within the outer regions 820 and 830. x,y This is assigned to the first readout state. For example, Figure 8 shows an exemplary particular PUF cell 105 where the measured physical characteristic 872 is -0.5. x,y This indicates that the specific PUF cell 105 x,y The configuration indicator is PUF cell 105 x,y It is set to be assigned to the second readout state. Figure 8 also shows another exemplary PUF cell 105 where the measured physical characteristic 874 is -1.5 x,y This indicates that the specific PUF cell 105 x,y The configuration indicator is PUF cell 105 x,y It is set to be assigned to the first readout state. Figure 8 also shows another exemplary PUF cell 105 where the measured physical characteristic 876 is 1.0. x,y This indicates that the specific PUF cell 105 x,y The configuration indicator is PUF cell 105 x,y It is set to be assigned to the first read state.
[0105] The inventors determined that PUF cell 105 has physical characteristics relatively close to the readout threshold 810. x,y To prevent the data from being used again after being read, a "1-bit / PUF cell - throwaway" design was devised. This is for these PUF cells 105 x,y However, this carries a relatively high risk of having a PUF value that changes over time, as the physical characteristics measured during readout change enough to move from one side to the other of the readout threshold 810. Next, PUF cell 105 has physical characteristics measured relatively far from the readout threshold 810. x,y However, it will be used later during reading. This is for these PUF cells 105 x,yHowever, the risk of having PUF values that change over time is relatively low, because the measured physical properties of those cells must change significantly over time in order to change the PUF value (i.e., the physical properties of the PUF cell 105 x,y (Without affecting the PUF value, there is room for significant change between the configuration measurement and the subsequent readout measurement). This allows each PUF cell 105 assigned to the first readout state. x,y The PUF value should be persistent, thereby improving the persistence of the PUF output.
[0106] Next, the first readout state threshold 860 is set for each PUF cell 105 x,y To maintain the randomness of the determined PUF values, each PUF cell 105 x,y A suitable configuration threshold should be set to a value such that there is a 50-50 chance that the measured physical characteristic is either greater than or less than the threshold 860. This can be achieved using standard statistical analysis of the distribution. Then, the first configuration threshold 840 and the second configuration threshold 850 achieve a substantially 50-50 chance of different PUF values, improving the persistence of the PUF output determined during readout and ensuring that there are enough PUF cells 105 available during readout to determine the PUF output. x,y The configuration thresholds 840 and 850 can be set to any suitable value that achieves the desired balance between having and not having. For example, they can be set to one standard deviation, two standard deviations, three standard deviations, four standard deviations, etc. from the first read state threshold 860. The further the configuration thresholds 840 and 850 are from the first read state threshold 860, the more PUF cells 105 will be. x,y It will be understood that it may be "throwaway" during configuration. However, the chances of maintaining a persistent PUF output over time are improved. Therefore, PUF cell 105 x,y The array has a number of PUF cells 105 compared to the desired size of the PUF output. x,y If it includes (for example, 400 PUF cells 105 x,yHowever, if the desired size of the PUF output is 128 bits, a large number of PUF cell "throwaways" may be accommodated, so the configuration thresholds 840 and 850 may be set relatively far from the read threshold 860.
[0107] An alternative method to this technique involves measuring the n PUF cells 105 that are furthest from the first readout state threshold 860. x,y Some can be assigned to a first read state, and the rest are thrown away by assigning them to a second read state. For example, value n is the value of PUF cell 105 required to determine the PUF output. x,y This can be the number of (for example, if the PUF output is 128 bits, n can be set to 128). Thus, the best PUF cell 105 to provide long-term stability. x,y However, it may be selected for use during future read processes. In this case, there is essentially a single configuration threshold, which is the same as the first read state threshold 860. The configuration threshold is used for each PUF cell 105 during read. x,y To achieve a virtually 50-50 chance of obtaining any of the possible PUF values, the values may be set based on a statistical distribution.
[0108] In a further alternative configuration, individual PUF cells 105 x,y Instead of throwing it away, use PUF cell 105 x,y The entire row may be thrown away based on a comparison between the configuration threshold and the measured physical characteristics. For example, each PUF cell 105 x,y To compare the measured physical characteristics with the configuration threshold, one of the processes described above may be performed. PUF cell 105 assigned to the first readout state. x,y Any row with relatively few PUF cells 105 x,yThe configuration indicator can be thrown away by either setting it to a second read state or setting a row configuration indicator to indicate that the entire row should not be used during read. If a row configuration indicator is used, the determination unit 170 will, during read, first read the row configuration indicator for the row and only if it indicates that the row should be used, then proceed to read the configuration indicator for each PUF cell in that row. This can improve the read speed and power efficiency by minimizing the number of parallel read operations required during read to determine the PUF output. In a further alternative, instead of having a single configuration indicator for each PUF cell, there may instead be a configuration indicator simply for each row. In this case, during read, all PUF cells in a row assigned to a first read state may be read, depending on the process described later. As described later, all PUF cells in a row assigned to a second read state may be discarded. Thus, throughout this disclosure, when a configuration indicator associated with a PUF cell is read during read, that configuration indicator may be for that particular PUF cell or for the entire row in which the PUF cell is located.
[0109] 1 bit / PUF cell - shift threshold The above "throwaway" implementation configuration involves a large number of PUF cells (105) compared to the size of the PUF output. x,y It will be understood that this can be useful when such a thing exists. An alternative configuration, "shift threshold," is that it is a large number of PUF cells 105 compared to the size of the PUF output. x,y It may be useful if it does not exist.
[0110] Figure 9A shows an exemplary statistical distribution demonstrating the configuration process of the "1-bit / PUF cell-shift threshold". Figure 9B shows the same exemplary statistical distribution, but demonstrates the read process for the first read state of the "1-bit / PUF cell-shift threshold". Figure 9C shows the same exemplary statistical distribution, but demonstrates the read process for the second read state of the "1-bit / PUF cell-shift threshold". Multiple PUF cells 105 x,y The statistical distribution of PUF cell 105 could be the assumed distribution, or x,y This can be determined by measuring some or all of its physical properties.
[0111] Figure 9A shows a first read state threshold 910 used during reading when a PUF cell is assigned a first read state. The figure also shows second read state thresholds 920 and 930 used during reading when a PUF cell is assigned a second read state. The figure also shows a first configuration threshold 940, a second configuration threshold 950, a third configuration threshold 960, and a fourth configuration threshold 970.
[0112] During configuration, step S510 is performed as described above. Step S520 is also performed as described above, with reference to the 1-bit / PUF cell throwaway, except that the measured physical characteristics are compared to the first configuration threshold 940, the second configuration threshold 950, the third configuration threshold 960, and the fourth configuration threshold 970. The configuration thresholds define multiple ranges. In step 530, if the measured physical characteristics are within the range between the first configuration threshold 940 and the second configuration threshold 950, or within the range between the third configuration threshold 960 and the fourth configuration threshold 970, the configuration indicator for the PUF cell is set to PUF cell 105 ×、y It is set to be assigned to the first readout state. If the measured physical characteristics are within the range of less than the first configuration threshold 940, or within the range between the second configuration threshold 950 and the third configuration threshold 960, or above the fourth configuration threshold 970, PUF cell 105 x,y The configuration indicator is PUF cell 105x,y It is configured to be assigned to the second read state.
[0113] Figure 9B shows the first readout state ("unshifted state"). The area between the first configuration threshold 940 and the second configuration threshold 950 is represented as region 912. The area between the third configuration threshold 960 and the fourth configuration threshold 970 is represented as region 914. During configuration, PUF cell 105 had physical characteristics measured within either region 912 or region 914. x,y All of these should be assigned to the first read state. As can be seen from the figure, both region 912 and region 914 are separated from the first read state threshold 910. One side of the first read state threshold may have a specific PUF value (e.g., "0"), and the other side may have a different PUF value (e.g., "1"). For example, region 912 may be assigned a PUF value of "0", and region 914 may be assigned a PUF value of "1". The configuration threshold may be set to a specific value such that the area of region 912 is the same as the area of region 914, such that the probability of a PUF cell being in region 912 is approximately the same as the probability of it being in region 914.
[0114] Reading in progress, PUF cell 105 x,y If it is assigned to the first read state, PUF cell 105 x,yReadout measurements of the physical characteristics can be taken and compared to a first readout state threshold 910. Thus, the first readout state of the "1-bit / PUF cell-shift threshold" is substantially the same as the first readout state of the "1-bit / PUF cell-throwaway". For example, if region 912 is assigned "0" and region 914 is assigned "1", the PUF value will be determined to be "0" if the readout measurement is in a range less than the first readout state threshold 910. If the readout measurement is in a range greater than the first readout state threshold 910, the PUF value will be determined to be "1". Since regions 912 and 914 are separated from the first readout state threshold 910, the readout measurements of the physical characteristics may change over time compared to measurements taken during configuration, and the physical characteristic measurements cannot change over time enough to move from one side of the threshold 910 to the other, so their PUF cells 105 x,y The PUF value should not change over time.
[0115] Figure 9C shows the diagram of the second readout state ("shifted" threshold state). The area less than the first configuration threshold 940 is represented as region 922. The area between the second configuration threshold 950 and the third configuration threshold 960 is represented as region 926. The area greater than the fourth configuration threshold 970 is represented as region 924. PUF cell 105 having measured physical characteristics that fall within region 922, region 924, or region 926 during configuration. x,y All of these should be assigned to the second read state. As can be seen from the figure, all of regions 922, 924, and 926 are separated from the second read thresholds 920 and 930. Regions 922 and 924 may be assigned to a specific PUF value (e.g., "0"), and region 926 may be assigned to a different PUF value (e.g., "1"). The configuration threshold may be set to a specific value such that the areas of regions 922 and 924 are both the same as the area of region 926, such that the cumulative probability of a PUF cell being in regions 922 and 924 is approximately the same as the probability of a PUF cell being in region 926.
[0116] Reading in progress, PUF cell 105 x,y If it is assigned to the second read state, PUF cell 105 x,y Readout measurements of the physical characteristics are taken and compared to second readout state thresholds 920 and 930. The second readout state thresholds 920 and 930 define multiple ranges (three ranges in this embodiment), and it is determined which range the readout measurement of the physical characteristics falls into in order to generate a PUF value during readout. If the measured physical characteristics are smaller than both of the second readout state thresholds 920 and 930, or larger than both of the second readout state thresholds 920 and 930, the PUF cell 105 x,y The PUF value is set to a first digital state ("0" in this embodiment). If the measured physical characteristics are between the second readout state thresholds 920 and 930, the PUF cell 105 x,y The PUF value is set to a second digital state ("1" in this embodiment).
[0117] Therefore, it can be seen that the second readout state has a shifted readout threshold compared to the fist readout state. Since regions 922, 924, and 926 are all isolated from the second readout thresholds 920 and 930, the physical characteristic readout measurements may change over time compared to the measurements taken during configuration, and it is unlikely that the physical characteristic measurements will change over time sufficiently to move from one side of threshold 910 or threshold 920 to the other, so their PUF cells 105 x,y The PUF value should not change over time.
[0118] This allows each PUF cell 105 x,y The PUF value should be persistent, thereby improving the persistence of the PUF output. Furthermore, PUF cell 105 x,y None of these are discarded or thrown away during the configuration process; as a result, they are all used during reading, and therefore, all can contribute to determining the PUF output.
[0119] It will be understood that the read thresholds 910, 920, and 930, as well as the configuration thresholds 940, 950, 960, and 970, can all be set using standard statistical techniques such that the areas of regions 912 and 914 are the same, and the area of region 922 plus the area of region 926 is the same as the area of region 924. In this way, the randomness of the determined PUF value for each PUF cell can be preserved.
[0120] Multiple bits / PUF cell The configuration and readout in this embodiment are similar to "1-bit / PUF cell-threshold shift," but more configuration and readout thresholds are used to allow each PUF cell to be used to generate multi-bit persistent random PUF values.
[0121] Figure 10A shows an exemplary statistical distribution demonstrating the first read state of a "multiple-bit / PUF cell". Figure 10B shows the same exemplary statistical distribution, but demonstrates the second read state of a multiple-bit / PUF cell. Multiple PUF cells 105 x,y The statistical distribution of PUF cell 105 could be the assumed distribution, or x,y This can be determined by measuring some or all of its physical properties.
[0122] Figure 10A shows the first readout state thresholds 1012, 1014, and 1016. It also shows the first configuration threshold 1022, the second configuration threshold 1024, the third configuration threshold 1032, the fourth configuration threshold 1034, the fifth configuration threshold 1042, the sixth configuration threshold 1044, the seventh configuration threshold 1052, and the eighth configuration threshold 1054. Finally, the figure also shows the configuration regions 1020, 1030, 1040, and 1050.
[0123] Figure 10B shows the second read state thresholds 1062, 1064, 1066, and 1068. This also shows the eight configuration thresholds mentioned above. Finally, the figure also shows the configuration regions 1025, 1035, 1045, 1055, and 1065.
[0124] During the configuration of the PUF cell, in step S520, the measured physical characteristics are compared with the configuration thresholds identified above. In step S530, if the measured physical characteristics fall between the first configuration threshold 1022 and the second configuration threshold 1024, or between the third configuration threshold 1032 and the fourth configuration threshold 1034, or between the fifth configuration threshold 1042 and the sixth configuration threshold 1044, or between the seventh configuration threshold 1052 and the eighth configuration threshold 1054 (i.e., if the measured physical characteristics fall within any of the shaded regions shown in Figure 10A), then the PUF cell 105 x,y The configuration indicator is PUF cell 105 x,y It is set to be assigned to the first readout state. However, if the measured physical characteristics are less than the first configuration threshold 1022, or between the second configuration threshold 1024 and the third configuration threshold 1032, or between the fourth configuration threshold 1034 and the fifth configuration threshold 1042, or between the sixth configuration threshold 1044 and the seventh configuration threshold 1052, or greater than the eighth configuration threshold 1054 (i.e., if the measured physical characteristics are in any of the shaded regions shown in Figure 10B), then the PUF cell 105 x,y The configuration indicator is PUF cell 105 x,y It is configured to be assigned to the second read state.
[0125] PUF Cell 105 x,y During a readout, if it is assigned to a first readout state, the readout measurement of the physical characteristic can be compared to first readout state thresholds 1012, 1014, and 1016. The first readout state thresholds define a first set of ranges. In this particular embodiment, if the measured physical characteristic is within the range less than threshold 1012, the PUF value is 00. If the measured physical characteristic is within the range greater than threshold 1012 but less than threshold 1014, the PUF value is 01. If the measured physical characteristic is within the range greater than threshold 1014 but less than threshold 1016, the PUF value is 11. If the measured physical characteristic is within the range greater than threshold 1016, the PUF value is 11.
[0126] PUF Cell 105 x,y During a readout, if it is assigned to a second readout state, the readout measurement of the physical characteristic can be compared to the second readout state thresholds 1062, 1064, 1066, and 1068. The second readout state thresholds define a second set of ranges. In this particular embodiment, the PUF value is 00 if the measured physical characteristic is within the range less than threshold 1062 or greater than threshold 1068. The PUF value is 01 if the measured physical characteristic is greater than threshold 1062 but less than threshold 1064. The PUF value is 11 if the measured physical characteristic is greater than threshold 1064 but less than threshold 1066. The PUF value is 10 if the measured physical characteristic is greater than threshold 1066 but less than threshold 1068.
[0127] The configuration threshold can be set to a value such that the probability of each different PUF value is approximately the same (i.e., the total shaded area of each PUF value in Figure 10A is approximately the same, and the total shaded area of each PUF value in Figure 10B is approximately the same), and as a result, each PUF cell 105 x,y The PUF value is random. Furthermore, the read threshold and configuration threshold are set for PUF cell 105. x,y The PUF values can be changed by an amount sufficient to reduce the chance that the measured physical properties will change over time, so that there is a sufficient gap between them. For this reason, a single PUF cell 105 x,y However, it can be seen that it can be used to generate a persistent and random 2-bit value. In this embodiment, a 2-bit PUF value is used, but by using a number of configuration thresholds and readout thresholds, the determination unit 170 determines each PUF cell 105 x,y It will be understood that this can be configured to determine even larger PUF values (e.g., 3 bits or 4 bits).
[0128] In this embodiment, Gray coding is used for adjacent regions. For example, in the second readout state, measured physical characteristics that are less than threshold 1062 result in a PUF value of 00, and measured physical characteristics that are greater than threshold 1062 but less than threshold 1064 result in a PUF value of 01 (i.e., differing by only one bit value). By changing the value of only one bit for each adjacent readout region, the PUF cell 105 x,y If the measured physical characteristics drift over time enough to move from one side of the readout threshold to the other, only the value of one bit will change. This minimizes the error caused, making it more feasible to address the error using ECC. However, while using Gray coding may be useful, it should be understood that any other suitable coding scheme may be used.
[0129] reading Figure 11 shows a PUF cell 105 according to an aspect of this disclosure. x,y The following visually illustrates the steps in the reading method for the PUF cell 105 in the PUF device / system 100 during the lifetime use of the PUF device / system 100. x,y This method may be performed on some or all of the following. This method may be performed whenever a PUF output is requested from the PUF device / system 100.
[0130] In step S1110, the determination unit 170 determines the PUF cell 105 x,y To determine whether it was assigned to a first read state or a second read state during configuration, PUF cell 105 x,y Read the configuration indicator associated with PUF cell 105. x,y If it is assigned to the first read state, the method proceeds to step S1120. PUF cell 105 x,y If it is assigned to the second read state, the method proceeds to step S1140.
[0131] In step S1120, the determination unit 170 determines the PUF cell 105 x,y The physical characteristics (e.g., the transistor difference or capacitor difference mentioned above) are measured, and the measured values of the physical characteristics indicate random manufacturing variations in the PUF cell. For example, the determination unit may perform the process described above with respect to step S510 in Figure 5.
[0132] In step S1130, the determination unit 170 determines the physical characteristics of the PUF cell 105 by comparing them with at least one first readout state threshold. x,y The persistent random value is determined. For example, if the determination unit 170 is configured according to the 1-bit / PUF cell implementation configuration described above, the first read state threshold may include only one threshold (such as threshold 860 in Figure 8 or threshold 910 in Figure 9). The persistent random PUF value may be set to a first digital state (such as "0" or "1") if the measured physical characteristic is less than the threshold, and to a second digital state (such as "1" or "0") if the measured physical characteristic is greater than the threshold. If the determination unit 170 is configured according to the multi-bit / PUF cell implementation configuration described above, the first read state threshold may include multiple thresholds (such as thresholds 1012, 1014, and 1016 in Figure 10A) that define a first range (such as a range below threshold 1012, a range above threshold 1016, a range between threshold 1012 and threshold 1014). Comparing the measured physical characteristics to a first readout state threshold may then include, as described above, identifying which of the first multiple ranges the physical characteristics fall within, and determining a static random value based on which of the first multiple ranges the physical characteristics fall within.
[0133] In step S1140, a second read state action is performed. The second read state action depends on how the determination unit 170 is configured. If the determination unit 170 is configured according to the "1 bit / PUF cell - throwaway" described above, the second read state is PUF cell 105 x,yThis indicates that it should not be used to generate persistent random values. This means that the second read state action includes taking no further action with respect to that PUF cell, at which point the determination unit 170, if appropriate, proceeds to the next PUF cell 105 x,y The process can proceed to read the data. If the determination unit 170 is configured according to the "1-bit / PUF cell-shift threshold" described above, the second read state action includes comparing the physical characteristics to at least one second read state threshold, which includes thresholds 920 and 930 shown in Figure 9. In this case, if the physical characteristics are less than or greater than both of the two thresholds 920 and 930, the persistent random value may be set to a first digital state (e.g., "0" or "1"). If the physical characteristics are between the two thresholds 920 and 930, the persistent random value may be set to a second digital state (e.g., "1" or "0"). If the determination unit 170 is configured according to the "multiple bits / PUF cell" described above, the second read state action includes comparing the physical characteristics to a second read state threshold, the second read state threshold includes a plurality of thresholds (such as thresholds 1062, 1064, 1066, and 1068) that define a plurality of ranges different from the first plurality of ranges used for the first read state (such as a range below threshold 1062, a range between thresholds 1064 and threshold 1066). Comparing the physical characteristics to the second read state threshold includes identifying which of the second plurality of ranges the physical characteristics fall within, and determining a persistent random value based on which of the second plurality of ranges the physical characteristics fall within.
[0134] This read process involves multiple PUF cells 105 x,yThe processes can be arbitrarily repeated in series or in parallel. For example, as previously described, the PUF device 100 may be configured so that the physical characteristics of multiple PUF cells (e.g., some of all the PUF cells in a particular row) are measured in parallel, and a persistent random PUF value is determined based on their measured physical characteristics. In this way, faster readout and determination of persistent random PUF values can be achieved. Each determined PUF value can then be used by the determination unit 170 to generate a PUF output. For example, the PUF values can be concatenated in a specific order to form a persistent random PUF output, or any other preferred operation can be performed on the PUF values to generate a PUF output.
[0135] Reading in progress, PUF cell 105 x,y The physical properties can be optionally determined as digital measurements. In this case, the digital measurements of the physical properties may have M quantization levels, and the persistent random PUF value may have N digital values with N quantization levels, where M is greater than N. In this embodiment, it will be understood that in order to accurately determine the persistent random PUF value of the PUF cell, the measurements of the physical properties should have a finer resolution (e.g., more quantization levels) than the PUF value.
[0136] Furthermore, it will be understood that in each configuration, the configuration threshold effectively defines the read tolerance of the read state threshold. For example, if, during the configuration, the measured value of the physical characteristic is determined to be within the read tolerance range around the first read state threshold defined by the configuration threshold, then PUF cell 105 x,y This can be assigned to a second readout state. Therefore, any error or variation in the readout measurement can be tolerated without resulting changes in the PUF value.
[0137] By measuring the magnitude of the physical characteristics of each PUF cell and then developing the aforementioned techniques for configuration and readout, which can be used to determine the configuration or PUF value, it is possible to configure or read out multiple PUF cells in parallel using circuit arrangements such as those shown in Figures 3A, 3B, and 4C (other circuit designs may also be used), while still maintaining the persistence and reliability of the determined PUF value, and therefore the persistence and reliability of the PUF output. This allows a reliable and persistent PUF output to be determined faster than it could be achieved by other means.
[0138] Those skilled in the art will readily understand that various changes or modifications can be made to the above-described aspects of this disclosure without departing from the scope of this disclosure.
[0139] For example, as explained earlier, the statistical distributions shown in Figures 6 to 10B may be the assumed distributions, or PUF cell 105 x,y This could be a distribution determined through some or all of the measurements. PUF cell 105 x,y It may be preferable to find the statistical distribution through the measurement of the physical properties, and the configuration and readout thresholds may be set based on that statistical distribution. In this way, the readout thresholds may be set per device, thereby improving the randomness of the determined PUF value. In some embodiments, the PUF device 100 has more PUF cells 105 than required to generate the PUF output. x,y It may be equipped with. In this case, PUF cell 105 x,y Some or all of the PUF cell 105 can still be measured to determine a very accurate statistical distribution. x,y Only the selected items (presumably chosen randomly during configuration) can be configured during read-through use.
[0140] Typically, during a PUF cell readout, its physical properties (e.g., magnitude and sign) are measured and then compared to one or more readout thresholds. However, in a "1-bit / PUF cell-throwaway" embodiment, step S1120 in Figure 11 may be omitted, and the persistent random PUF value is determined using a simple comparison of the physical properties to a single readout threshold (e.g., using a simple comparator or quantizer configured to simply show which side of the threshold the physical properties are on). Thus, "measuring" the physical properties may be optional in the process of determining the persistent random PUF value.
[0141] Paired configuration thresholds can be set equidistant from the readout threshold on each side of the readout threshold, for example, if the statistical distribution of the measured physical properties is symmetric. However, if the distribution is asymmetric, they can alternatively be set unequally from the readout threshold.
[0142] In the above, there may be two possible read states for each PUF cell. However, there may be three or more possible read states for each PUF cell. For example, the first read state may involve comparing a physical characteristic measurement to a first read state threshold, and the second read state may involve comparing a physical characteristic measurement to a second read state threshold (according to the shift threshold and multi-bit implementation described above). The third read state may be not using the PUF cell for determining the PUF output (equivalent to the second read state in the "throwaway" implementation described above). In this case, the configuration indicator may have, for example, two bits. The first bit may indicate whether the PUF cell is assigned to the third read state. If so, it should not be used as part of the PUF output determination. If it is not assigned to the third read state, the second bit may be read to determine whether the PUF cell is assigned to the first or second read state, which indicates which read state threshold to use. In a further optional alternative form of the readout process, there may be no configuration indicator set for any of the PUF cells. In this alternative form, the readout step S1110 may be omitted, and the physical characteristics of one or more pairs of devices may be measured using one of the measurement processes described above. One or more measurements of the physical characteristics may then be used to determine at least a portion of the PUF output (for example, by comparing each measured physical characteristic with a predetermined readout threshold). In a particular embodiment where there are multiple PUF cells arranged in an array, measurements of the physical characteristics of two or more PUF cells may be read out simultaneously and in parallel, and these two or more measurements may then be used to determine at least a portion of the PUF output.
[0143] In some PUF systems 100, the same determination unit 170 may be used for both PUF configuration and PUF reading. In some alternative implementations, one determination unit may be configured to perform PUF configuration, and different determination units may be configured to perform PUF reading.
Claims
1. A method for configuring a pair of devices in a physical copy protection (PUF) system, wherein the pair of devices is used to generate persistent random values, and the method is: Measuring the physical characteristics of the pair of devices, wherein the measured values of the physical characteristics indicate random manufacturing variations between the pair of devices. The values of one or more configuration thresholds are set relative to the value of the first read state threshold such that one or more configuration thresholds define the read tolerance error of the first read state threshold, Comparing the measured values of the physical characteristics with the one or more constituent thresholds, Based on the above comparison, the pair of devices The first readout state occurs when the comparison between the one or more configuration thresholds and the measured values of the physical characteristics indicates that the measured values of the physical characteristics are outside the range of the readout tolerance, and The configuration indicators associated with the pair of devices are configured such that the comparison between one or more configuration thresholds and the measured values of the physical characteristics is assigned to a second readout state when the measured values of the physical characteristics are within the readout tolerance range, A method in which the first readout state indicates that when the pair of devices are used to generate the persistent random value during a PUF readout, the physical characteristics of the pair of devices should be compared to at least one of the first readout state thresholds.
2. The method according to claim 1, wherein the first readout state threshold is different from the one or more configuration thresholds.
3. The method according to claim 1 or 2, wherein the second readout state indicates that the pair of devices should not be used to generate persistent random values.
4. The method according to claim 1 or 2, wherein the second readout state indicates that when generating persistent random numbers during PUF readout, the physical characteristics of the pair of devices should be compared to at least one second readout state threshold.
5. The method according to any one of claims 1 to 4, wherein at least one of the first readout state thresholds is set such that there exists a substantially equal likelihood for each possible persistent random value.
6. The method according to claim 5, further comprising setting at least one of the first readout state thresholds based on a statistical analysis of measured values of the physical characteristics of a plurality of pairs of devices in the PUF system.
7. In parallel with measuring the physical properties of the pair of devices, the physical properties of one or more further pairs of devices are measured. Comparing the measured values of the physical characteristics of the one or more further pairs of devices with the one or more configuration thresholds, Each of the one or more further pairs of devices is, based on the comparison, The first read state, or The method according to any one of claims 1 to 6, further comprising setting one or more configuration indicators associated with the one or more further pairs of devices to be assigned to any of the second read states.
8. A physical copy protection (PUF) system, A pair of devices used to generate persistent random values, A determination unit for configuring the pair of devices, wherein the determination unit comprises Measuring the physical characteristics of the pair of devices, wherein the measured values of the physical characteristics indicate random manufacturing variations between the pair of devices. The measured value of the physical characteristic is compared with one or more configuration thresholds having values relative to the value of the first read state threshold, such that one or more configuration thresholds define the read tolerance of the first read state threshold. Based on the above comparison, the pair of devices The first readout state occurs when the comparison between the one or more configuration thresholds and the measured values of the physical characteristics indicates that the measured values of the physical characteristics are outside the range of the readout tolerance, and The determination unit is configured to set a configuration indicator associated with the pair of devices such that the comparison between one or more configuration thresholds and the measured value of the physical characteristics indicates that the measured value of the physical characteristics is within the range of the read tolerance, and assigns this to a second read state. A PUF system in which the first readout state indicates that when the pair of devices are used to generate the persistent random value during a PUF readout, the physical properties of the pair of devices should be compared to at least one of the first readout state thresholds.
9. A method for reading a physical copy protection (PUF) system comprising a pair of devices, the method being: In order to determine whether the pair of devices were assigned to a first read state or a second read state during configuration, the configuration indicators associated with the pair of devices are read, If the configuration indicator indicates that the pair of devices are assigned to the first read state, Determining a persistent random value by using the pair of devices and comparing the physical characteristics of the pair of devices with at least one first readout state threshold, wherein the physical characteristics indicate random manufacturing variation between the pair of devices, otherwise If the configuration indicator indicates that the pair of devices are assigned to the second read state, This includes performing a second read state action, A method wherein the configuration indicator is assigned to a first readout state when a previous comparison between one or more configuration thresholds and a measured value of a physical characteristic indicates that the measured value of the physical characteristic is outside the range of readout tolerance, and is assigned to a second readout state when a previous comparison between one or more configuration thresholds and a measured value of a physical characteristic indicates that the measured value of the physical characteristic is within the range of readout tolerance.
10. The method according to claim 9, further comprising determining the persistent random value by measuring the physical characteristics of the pair of devices.
11. Measuring the physical characteristics of the pair of devices is This includes determining digital measurements of the physical characteristics of the pair of devices for M quantization levels, The aforementioned persistent random values are digital values for N quantization levels, The method according to claim 10, wherein M is greater than N.
12. The aforementioned at least one first readout state threshold defines a first plurality of ranges, The method according to any one of claims 9 to 11, wherein, if the configuration indicator indicates that the pair of devices are assigned to the first readout state, determining the persistent random value using the pair of devices includes determining which of the first plurality of physical characteristics of the pair of devices is within that range.
13. The method according to any one of claims 9 to 12, wherein the second read state indicates that the pair of devices should not be used to generate a persistent random value, and the second read state action includes not using the pair of devices to determine a persistent random value.
14. The second read state action described above is The method according to any one of claims 9 to 12, comprising determining a persistent random value by using the pair of devices and comparing the physical characteristics of the pair of devices with at least one second read state threshold that is different from the at least one first read state threshold.
15. The at least one second readout state threshold defines a second plurality of ranges, each of which is associated with a specific persistent random value. The method of claim 14, wherein, if the configuration indicator indicates that the pair of devices are assigned to the second readout state, determining the persistent random value using the pair of devices includes determining which of the second plurality of physical characteristics of the pair of devices is within that range.
16. The PUF system further comprises one or more further pairs of devices, and the method To determine whether each of the one or more further pairs of devices was assigned to the first read state or the second read state during configuration, read the configuration indicator associated with each of the one or more further pairs of devices, If the configuration indicator indicates that the further pair of devices is assigned to the first read state, In parallel with determining the aforementioned persistent random value, further persistent random values are determined by using the further pair of devices and comparing the physical characteristics of the further pair of devices with the at least one first readout state threshold, otherwise, If the configuration indicator indicates that the further pair of devices is assigned to the second read state, A method according to any one of claims 9 to 15, further comprising performing a second read state action.
17. The method according to claim 16, further comprising determining the PUF output based at least in part on the persistent random value and the one or more further persistent random values.
18. A physical copy protection (PUF) system, A pair of devices used to generate persistent random values, The system comprises a determination unit, and the determination unit is In order to determine whether the pair of devices were assigned to a first read state or a second read state during configuration, the configuration indicators associated with the pair of devices are read, If the configuration indicator indicates that the pair of devices are assigned to the first read state, Determining a persistent random value by using the pair of devices and comparing the physical characteristics of the pair of devices with at least one first readout state threshold, wherein the physical characteristics indicate random manufacturing variation between the pair of devices, otherwise If the configuration indicator indicates that the pair of devices are assigned to the second read state, It is configured to perform a second read state action, A PUF system in which the configuration indicator is assigned to a first readout state when a previous comparison between one or more configuration thresholds and a measured value of a physical characteristic indicates that the measured value of the physical characteristic is outside the range of readout tolerance, and is assigned to a second readout state when the previous comparison between one or more configuration thresholds and a measured value of a physical characteristic indicates that the measured value of the physical characteristic is within the range of readout tolerance.
19. The PUF system according to claim 18, wherein the determination unit is configured to determine the persistent random value at least partially by measuring the physical characteristics of the pair of devices.