Monitoring physical duplication prevention
By monitoring and adjusting the physical characteristics of PUF devices, the method ensures persistent random number generation, enhancing reliability and preventing failures in PUF devices.
Patent Information
- Application Number
- JP2023506297
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2020-08-05
- Filing Date
- 2021-07-23
- Publication Date
- 2025-08-28
- Estimated Expiration
- 2041-07-23
Smart Images

Figure 0007730887000002 
Figure 0007730887000003 
Figure 0007730887000004
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a method and apparatus for monitoring physical copy protection. [Background technology]
[0002] A physically unclonable function (sometimes called a physical unclonable function) or "PUF" is a physical entity capable of generating an output (a "response") to a given input (a "challenge") that is unique to that particular PUF, such that the output can be thought of as a "fingerprint." This ability is typically achieved by devising a PUF such that its output depends on randomly different characteristics in each device due to slight manufacturing variations. This ensures that a PUF cannot be easily cloned with an exact fingerprint, even with perfect knowledge of its circuit layout. The response can be used for a variety of different purposes, for example, in cryptographic operations to secure communications to / from a device containing the PUF, or in a process to authenticate the identity of a device containing the PUF.
[0003] A PUF device may include one or more pairs of physical devices, each with some physical characteristics that randomly differ due to slight manufacturing variations, and some decision circuitry configured to read a PUF value from the paired physical devices. The PUF device may be configured such that the decision circuitry can read a persistent random PUF value from each of the paired physical devices and generate a persistent random number (persistent random PUF output) based on the PUF value. The persistent random number 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, and the decision circuitry may then generate a persistent random number using the paired device. 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, XORing, or encrypting 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 ensures that different instances of a PUF device, while identical by design, should each generate different persistent random numbers. A random number is "persistent" in that it should remain the same over time, or should remain the same within acceptable limits. For example, a persistent random number generated using PUF values read from one or more paired devices should be the same each time it is generated (or should be the same within acceptable limits so that it can be corrected, e.g., using an error-correcting code (ECC)), so that it can serve as a reliable fingerprint of the device. If the random number generated by a PUF device changes in any way over time, or changes beyond acceptable limits, the PUF device will no longer be able to reliably generate persistent random numbers and therefore can no longer serve as a reliable fingerprint of the device. Summary of the Invention
[0004] A Physically Unclonable Function (PUF) is a hardware device designed to generate numbers that are random (i.e., two identical PUFs should generate numbers that are randomly different from each other) and persistent (i.e., the PUF should consistently generate the same number over time). Over time, aspects of the PUF hardware may change or drift, which may eventually cause the generated numbers to change and therefore no longer be persistent. The inability to generate persistent numbers may cause difficulties for other devices that rely on the persistence of numbers generated by the PUF, for example, as part of a cryptographic process. This disclosure relates to monitoring the physical characteristics of the PUF used to generate the numbers over time, thereby tracking its reliability in generating persistent random numbers. Monitoring PUFs in this manner may enable proactive detection of PUFs that are at risk of generating numbers that are no longer persistent, so that preventative action can be taken before the PUF actually fails.
[0005] In a first aspect of the present disclosure, there is provided a PUF apparatus for generating a persistent random physical unclonable function (PUF) output, the PUF apparatus comprising: a pair of devices for generating a random value based on a comparison of at least one threshold value to a physical characteristic of the pair of devices, the physical characteristic being indicative of random manufacturing variations between the pair of devices, the persistent random value being for use in generating the persistent random PUF output; and a determination unit, the determination unit being configured to: measure the physical characteristic of the pair of devices; and determine a difference between the measured physical characteristic and the at least one threshold value, the difference being indicative of reliability of the pair of devices in generating the persistent random value.
[0006] If the magnitude of the difference between the measured physical property and the at least one threshold value is below a predetermined tolerance, the determination unit may be further configured to set a status indicator associated with the pair of devices to indicate that the pair of devices is within a predetermined tolerance.
[0007] The determination unit may be further configured to, when determining the PUF output value, check a status indicator associated with the pair of devices, and if the status indicator does not indicate that the pair of devices are within an acceptable error range, measure a physical characteristic of the pair of devices, where the measured value of the physical characteristic indicates random manufacturing variations of the PUF cells, and determine a persistent random value of the pair of devices by comparing the measured value of the physical characteristic with at least one threshold value.
[0008] The PUF device may be further configured to generate and output a status report based at least in part on the magnitude of a difference between the measured physical characteristic and the at least one threshold value.
[0009] If the magnitude of the difference between the measured value of the physical characteristic and the at least one threshold value is below a predetermined tolerance, the determination unit may be configured to flag in the status report that the pair of devices is within the tolerance.
[0010] The status report may indicate the likelihood that the PUF device will produce a PUF output that is persistent.
[0011] The status report may include an indication of the magnitude of the difference between the measured physical property and at least one threshold value.
[0012] The status report may further be generated based on at least one statistical model that describes how the difference between the measured physical property and the at least one threshold value may change over time.
[0013] The PUF device may include a plurality of pairs of devices, each pair of devices for generating a respective plurality of persistent random values, and the determination unit is further configured to measure physical characteristics of at least two of the pair of devices and determine a difference between each of the measured physical characteristics and at least one threshold, each difference indicating a likelihood that the random value generated using the corresponding pair of devices is persistent.
[0014] The PUF device may generate and output a status report based at least in part on the magnitude of each determined difference between the measured physical characteristic and the at least one threshold value.
[0015] The status report may indicate a number of pairs of devices whose measured physical properties are within a predetermined tolerance of at least one threshold value.
[0016] The determination unit may be further configured to estimate, from the determined difference, a number of pairs of devices that are expected to have the physical characteristic within a predetermined tolerance of the at least one threshold, and the status report indicates that the status report indicates a number of pairs of devices that are expected to have the physical characteristic within a predetermined tolerance of the at least one threshold.
[0017] If the magnitude of the difference between the measured physical property and the at least one threshold value is below a predetermined tolerance, the determination unit may be further configured to perform further measurements of the physical property of the pair of devices and determine a difference between the further measurements of the physical property and the at least one threshold value.
[0018] The determination unit may be further configured to intermittently repeat measuring the physical characteristic of the pair of devices and determining a difference between the measured physical characteristic and at least one threshold value.
[0019] In a second aspect of the present disclosure, a method for determining trustworthiness of a Physical Unclonable Function (PUF) device that will generate a persistent PUF output is provided, the PUF device comprising a pair of devices for generating a random value based on a comparison of at least one threshold value to a physical characteristic of the pair of devices, the PUF output being based at least in part on the random value generated by the pair of devices, the method including measuring the physical characteristic of the pair of devices and determining a difference between the measured physical characteristic and the at least one threshold value, the difference being indicative of a likelihood that the random value generated using the pair of devices is persistent.
[0020] The method may further include generating a status report indicating the reliability with which the PUF device will generate a persistent PUF output based on the determined difference between the measured physical property and the at least one threshold value.
[0021] The PUF device may include a plurality of pairs of devices for generating a corresponding plurality of random values, and the method further includes measuring physical characteristics of two or more of the plurality of pairs of devices, determining a difference between each measured physical characteristic and at least one threshold, and generating a status report indicating the reliability with which the PUF device will generate a persistent PUF output based on the determined difference between the measured physical characteristic and the at least one threshold.
[0022] The method may further include reading a configuration indicator associated with the pair of devices to determine whether the pair of devices was 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 the first read state, the at least one threshold value includes a first read state threshold.
[0023] In a third aspect of the present disclosure, there is provided a PUF apparatus comprising a plurality of pairs of devices, each of the plurality of pairs of devices for generating a persistent random value for use in generating a persistent random PUF output, and the PUF apparatus configured to output a status report indicating the reliability of any PUF outputs generated by the PUF apparatus.
[0024] The status report may include indicating the likelihood that the PUF device will be unable to generate a persistent PUF output.
[0025] The status report may include indicating some pairs of devices whose likelihood of reliably generating persistent random values is below a predetermined threshold.
[0026] In a fourth aspect of the present disclosure, there is provided a method for configuring a pair of devices in a Physical Unclonable Function (PUF) system, the pair of devices being used in generating a persistent random value, the method including: measuring physical characteristics of the pair of devices, the measured physical characteristics being indicative of random manufacturing variations between the pair of devices; comparing the measured physical characteristics to one or more configuration thresholds; and setting a configuration indicator associated with the pair of devices to assign the pair of devices to either a first read state or a second read state based on the comparison, the first read state indicating that the physical characteristics of the pair of devices should be compared to at least one first read state threshold when generating a persistent random value using the pair of devices during a PUF read.
[0027] The first read threshold may be different from at least one configuration threshold.
[0028] The method further includes setting values of one or more configuration thresholds relative to values of the first read state threshold such that the one or more configuration thresholds define a read tolerance for the first read state threshold, and assigning the configuration indicator further includes assigning the configuration indicator to a first read state if a comparison of the one or more configuration thresholds with the measured value of the physical characteristic indicates that the measured value of the physical characteristic is outside a read tolerance range, and assigning the configuration indicator to a second read state if a comparison of the one or more configuration thresholds with the measured value of the physical characteristic indicates that the measured value of the physical characteristic is within a read tolerance range.
[0029] The second read state may indicate that the pair of devices should not be used to generate a persistent random value. Alternatively, the second read state may indicate that a physical characteristic of the pair of devices should be compared to at least one second read state threshold when generating a persistent random number during a PUF read.
[0030] The configuration indicator may include a one-bit number whose value indicates whether the pair of devices is assigned to a first read state or a second read state.
[0031] At least one first read state threshold may be set such that there is a substantially equal likelihood of each possible persistent random value.
[0032] The method may further include setting at least one first read state threshold based on a statistical analysis of measurements of physical characteristics of pairs of devices in the PUF system.
[0033] The method may further include measuring physical characteristics of one or more additional paired devices in parallel with measuring the physical characteristics of the pair of devices, comparing the measured physical characteristics of the one or more additional paired devices to one or more configuration thresholds, and setting one or more configuration indicators associated with the one or more additional paired devices to assign each of the one or more additional paired devices to either the first readout state or the second readout state based on the comparison.
[0034] In a fifth aspect of the present disclosure, a physical unclonable function (PUF) system is provided, the PUF system comprising: a pair of devices for use in generating a persistent random value; and a determination unit for configuring the pair of devices, the determination unit being configured to: measure physical characteristics of the pair of devices, wherein the measured physical characteristics are indicative of random manufacturing variations between the pair of devices; compare the measured physical characteristics to one or more configuration thresholds; and set a configuration indicator associated with the pair of devices to assign the pair of devices to either a first read state or a second read state based on the comparison, wherein the first read state indicates that the physical characteristics of the pair of devices should be compared to at least one first read state threshold when generating a persistent random value using the pair of devices during a PUF read.
[0035] In a sixth aspect of the present disclosure, there is provided a method for reading a physical unclonable function (PUF) system including a pair of devices, the method including: reading a configuration indicator associated with the pair of devices to determine whether the pair of devices was assigned to a read state of a first read state or a second read state during configuration; if the configuration indicator indicates that the pair of devices is assigned to the first read state, using the pair of devices to determine a persistent random value by comparing physical characteristics of the pair of devices to at least one first read state threshold, wherein the physical characteristic indicates random manufacturing variations between the pair of devices; otherwise, if the configuration indicator indicates that the pair of devices is assigned to the second read state, performing a second read state action.
[0036] Determining the persistent random value may further include measuring a physical characteristic of the pair of devices.
[0037] Measuring the physical characteristic of the pair of devices may include determining digital measurements of the physical characteristic of the pair of devices for M quantization levels, where the persistent random values are digital values for N quantization levels, and M is greater than N.
[0038] The at least one first read state threshold may define a first plurality of ranges, and if the configuration indicator indicates that the pair of devices is assigned to the first read state, determining the persistent random value using the pair of devices may include determining within which of the first plurality of ranges a physical characteristic of the pair of devices falls.
[0039] The second read state may indicate that the pair of devices should not be used to generate a persistent random value, and the second read state action may include not determining the persistent random value using the pair of devices.
[0040] Here, the second read state action may include determining a persistent random value by using the pair of devices and comparing physical characteristics of the pair of devices to at least one second read state threshold that is different from the at least one first read state threshold.
[0041] The at least one second read state threshold may define a second plurality of ranges, each of the second plurality of ranges being associated with a particular persistent random value, and when the configuration indicator indicates that the pair of devices are assigned to the second read state, determining the persistent random value using the pair of devices includes determining within which of the second plurality of ranges a physical characteristic of the pair of devices falls.
[0042] The persistent random value can be a one-bit value or can be a multi-bit word.
[0043] The PUF system may further include one or more additional paired devices, and the method may further include reading a configuration indicator associated with each of the one or more additional paired devices to determine whether each of the one or more additional paired devices was assigned a read state of the first read state or a read state of the second read state during configuration, and for each of the one or more additional paired devices, if the configuration indicator indicates the additional paired device is assigned to the first read state, determining a further persistent random value using the additional paired device by comparing a physical characteristic of the additional paired device to at least one first read state threshold in parallel with determining the persistent random value, and otherwise, if the configuration indicator indicates the additional paired device is assigned to the second read state, performing a second read state action. The method may further include determining a PUF output based at least in part on the persistent random value and the one or more additional persistent random values.
[0044] In a seventh aspect of the present disclosure, a Physical Unclonable Function (PUF) system is provided, the PUF system comprising: a pair of devices for use in generating a persistent random value; and a determination unit, wherein the determination unit is configured to: read a configuration indicator associated with the pair of devices to determine whether the pair of devices was assigned to a read state of a first read state or a second read state during configuration; if the configuration indicator indicates that the pair of devices is assigned to the first read state, use the pair of devices to determine a persistent random value by comparing physical characteristics of the pair of devices to at least one first read state threshold, wherein the physical characteristics indicate random manufacturing variations between the pair of devices; otherwise, perform a second read state action if the configuration indicator indicates that the pair of devices is assigned to the second read state.
[0045] The determiner may be configured to determine the persistent random value at least in part by measuring a physical characteristic of the pair of devices.
[0046] The at least one first read state threshold may define a first plurality of ranges, and if the configuration indicator indicates that the pair of devices is assigned to the first read state, determining the persistent random value using the pair of devices may include determining within which of the first plurality of ranges a physical characteristic of the pair of devices falls.
[0047] The second read state may indicate that the pair of devices should not be used to generate a persistent random value, and the second read state action may include not determining the persistent random value using the pair of devices.
[0048] The second read state action may include determining a persistent random value using the pair of devices by comparing physical characteristics of the pair of devices to at least one second read state threshold different from the at least one first read state threshold.
[0049] The at least one second read state threshold may define a second plurality of ranges, each of the second plurality of ranges being associated with a particular persistent random value, and if the configuration indicator indicates that the pair of devices are assigned to the second read state, determining the persistent random value using the pair of devices may include determining within which of the second plurality of ranges a physical characteristic of the pair of devices falls.
[0050] The at least one second read state threshold defines a second plurality of ranges, each of the second plurality of ranges being associated with a particular persistent random value, and when the configuration indicator indicates that the pair of devices are assigned to the second read state, determining the persistent random value using the pair of devices includes determining within which of the second plurality of ranges a physical characteristic of the pair of devices falls.
[0051] The PUF system may further include one or more further paired devices, wherein the determination unit is configured to: read a configuration indicator associated with each of the one or more further paired devices to determine whether each of the one or more further paired devices was assigned to a read state of the first read state or a second read state during configuration; and for each of the one or more further paired devices, if the configuration indicator indicates that the further paired device is assigned to the first read state, determine a further persistent random value using the further paired device by comparing a physical characteristic of the further paired device to at least one first read state threshold in parallel with determining the persistent random value; otherwise, if the configuration indicator indicates that the further paired device is assigned to the second read state, perform a second read state action.
[0052] In an eighth aspect of the present disclosure, there is provided a PUF apparatus comprising a pair of devices and a determination unit, wherein the determination unit is configured to read a configuration indicator associated with the pair of devices to determine whether the pair of devices is assigned to a read state of 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 the first read state, determine a persistent random value using the pair of devices by comparing physical characteristics of the pair of devices to at least one first read state threshold, wherein the physical characteristics are indicative of random manufacturing variations between the pair of devices.
[0053] In a ninth aspect of the present disclosure, a PUF device for generating a PUF output, the PUF output being a persistent random number, is provided, the PUF device including: a plurality of PUF cells, each of the plurality of PUF cells comprising a pair of electronic devices; and a PUF output unit configured to determine measurements of a physical property of at least one of the plurality of PUF cells and to determine the PUF output based at least in part on the magnitude of each of the determined measurements. Optionally, the PUF device may be configured to measure the physical property of two or more PUF cells of the plurality of PUF cells in parallel and then determine the PUF output based at least in part on the magnitude of each of the two or more determined measurements. Using this technique, faster readout may be achieved while maintaining persistence of the PUF output.
[0054] In a tenth aspect of the present disclosure, there is provided a method for generating a PUF output, the PUF output being a persistent random number, the method including: determining measurements of a physical property of at least one of a plurality of PUF cells, each of the plurality of PUF cells comprising a pair of electronic devices; and determining the PUF output based at least in part on a magnitude of each of the determined measurements. Optionally, the physical properties of two or more PUF cells of the plurality of PUF cells may be measured in parallel, and the PUF output may be determined based at least in part on a magnitude of the two or more determined measurements. [Brief explanation of the drawings]
[0055] Aspects of the present disclosure will now be described, by way of example only, with reference to the following drawings. [Figure 1] 1 shows an exemplary schematic diagram of a PUF device / system 100 according to an embodiment of the present disclosure. [Figure 2] 2 shows a schematic diagram of an exemplary implementation of the PUF cell 105 and decision unit 170 of FIG. [Figure 3A] 3 shows a schematic diagram of an array of PUF cells in FIG. 2. [Figure 3B]1 shows a schematic diagram of a further exemplary implementation of a PUF device / system 100. [Figure 4A] 1 shows a schematic diagram of a circuit for determining a capacitor difference value. [Figure 4B] 4B shows an example timing diagram of the operation of the circuit of FIG. 4A. [Figure 4C] 4B shows a schematic diagram of an array of PUF cells of FIG. 4A. [Figure 5] 2 illustrates exemplary steps in a method for configuring the PUF cell of FIG. 1. [Figure 6] 2 illustrates an exemplary statistical distribution of physical properties measured across the multiple PUF cells of FIG. 1. [Figure 7] 7 shows a further example of the statistical distribution of FIG. 6. [Figure 8] 1 shows exemplary statistical distributions demonstrating the construction of a PUF device. [Figure 9A] 10 shows exemplary statistical distributions demonstrating further construction of a PUF device. [Figure 9B] 10 shows exemplary statistical distributions demonstrating further construction of a PUF device. [Figure 9C] 10 shows exemplary statistical distributions demonstrating further construction of a PUF device. [Figure 10A] 10 shows exemplary statistical distributions demonstrating further construction of a PUF device. [Figure 10B] 10 shows exemplary statistical distributions demonstrating further construction of a PUF device. [Figure 11] 2 illustrates exemplary steps in a method for reading the PUF cell of FIG. 1; [Figure 12] 1 illustrates an example implementation of a PUF device / system according to an aspect of the present disclosure. [Figure 13] 13 illustrates exemplary steps in a method for monitoring the PUF device / system of FIG. 12. DETAILED DESCRIPTION OF THE INVENTION
[0056] The inventors have identified many different challenges in implementing a PUF device with one or more paired physical devices. For example, because the random numbers generated by a PUF device should be persistent, any physical device measurements / readings on which the random numbers are based are preferably relatively stable and consistent over time. Therefore, any physical characteristics used to determine the value of the random number are preferably relatively stable over time and can be measured accurately and reliably over time, so that the random number remains the same (or is the same within an acceptable tolerance, such as the tolerance required for effective error correction coding (ECC)).
[0057] The inventors have devised a technique for monitoring the stability of physical device measurements over time so that the status / condition of a pair of physical devices and / or the entire PUF device can be monitored without revealing any information related to the PUF output or persistent random value of any of the PUF cells. The physical devices may be, by way of non-limiting example, transistors or capacitors. In this technique, a physical characteristic of a pair of devices is measured and then compared to one or more thresholds (e.g., read thresholds that may be used during a read of the PUF device to determine the PUF value of each of the pair of devices). Non-limiting examples of physical characteristics include the voltage difference across a pair of transistors, the gate-source voltage difference of a pair of transistors, the capacitance difference of a pair of capacitors, or the difference in current through the pair of physical devices. The size of the difference between the measured physical characteristic and the one or more thresholds indicates the state / health of the pair of devices. The threshold may be, for example, a voltage threshold. In particular, if the measured physical characteristic is sufficiently close to at least one of the thresholds, this may render the pair of devices unreliable for use in generating persistent random PUF outputs. This is because even slight changes in future measurements of the physical property (e.g., as a result of measurement noise, device drift, changing environmental conditions, etc.) can move the measurement to the other side of the threshold, which can change the random value generated from the pair of devices, thereby changing the PUF output, at which point the PUF will no longer be persistent.
[0058] By determining the size of the physical device measurements of a pair of devices intermittently over time, it is possible to determine the degree to which the pair of devices can be trusted for use in generating PUF outputs. Upon identifying a pair of devices that is at risk of no longer reliably generating persistent random values, there are many different actions that can be taken. For example, it can be flagged as unsuitable for use in generating persistent random PUF outputs, and / or a status report can be flagged that a potential problem exists with one or more paired devices in the PUF device. As a result, preventative action can be taken to resolve the situation, such as replacing or reconfiguring the PUF device, before any failure of the PUF device occurs. Thus, the long-term reliability of the PUF device can be improved.
[0059] 1 illustrates an exemplary schematic diagram of a PUF device / system 100 according to an embodiment of the present disclosure. The PUF device includes a plurality of PUF cells 105. x,y , a determination unit 170, and a challenge / response unit 180. x,y Although only a 2x2 array of PUF cells is shown, it will be understood that there can be any number of PUF cells (e.g., 8, 12, 20, 32, 128, 256, etc.) arranged in an array of any size and dimensions, or arranged in any other suitable configuration.
[0060] The determination unit 170 determines whether the plurality of PUF cells 105 x,y Each PUF cell 105 is configured to determine a PUF output using a PUF algorithm. The PUF output is a persistent random number, which is described in more detail in the "Background" section of this disclosure. x,y comprises a pair of physical components / devices, and a determining unit 170 determines a persistent random PUF value by determining a specific PUF cell 105. x,y The determination unit 170 measures the difference in the physical characteristics of a pair of components / devices in the plurality of PUF cells 105. x,yThis may be repeated for , and then the multiple determined persistent random values may be used to generate a PUF output (e.g., each persistent random value may be a single-bit or multi-bit value that forms part of the PUF output. In one particular, non-limiting example, the PUF output may be a 128-bit word, and the 128 PUF cells may each contribute one bit to the 128-bit word).
[0061] The challenge / response unit 180 is configured to receive a "challenge" from an external entity, request and obtain a PUF output from the decision 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 suitable manner that will be 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 decision unit 170. The present disclosure relates to the determination of PUF cells 105 over time, as described in more detail below. x,y Therefore, no further reference or description of the challenge / response unit 180 will be given in this disclosure.
[0062] Exemplary PUF Cell Implementation Each PUF cell 105 x,y may include a pair of any suitable physical devices / components arranged to be compared to determine differences in their physical properties caused by random manufacturing differences.
[0063] For example, each PUF cell 105 x,y may include a pair of matched transistors, and the decision unit 170 may be configured to decide the PUF output based on differences between the physical characteristics (such as gate-source voltage) of the transistors caused by random manufacturing variations. x,yVarious exemplary implementations of the PUF device / system 100, in which each of the PUFs comprises a pair of transistors, are shown in U.S. Patent Application Serial No. 16 / 296,998 (the '998 application), which is incorporated herein by reference in its entirety. Two particular exemplary implementations are disclosed in U.S. Patent Application Serial No. 16 / 296,998 at Figures 2-9 and at page 10, line 16, to page 26, line 6, of the filed '998 application, some of which are reproduced in part below.
[0064] 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.
[0065] FIG. 3A (reproduced from FIG. 3 of U.S. Patent Application No. 16 / 296,998) illustrates PUF cells 105, each configured in the same manner as PUF cell 105 shown in FIG. x,y 1 shows a schematic diagram of an array of
[0066] Returning to FIG. 2 , PUF cell 105 comprises a matched pair of transistors 210. The term “matched” in this disclosure means that the pair of transistors is identical in design. While FIG. 2 depicts a matched pair of p-type FETs, it will be understood throughout this disclosure that in all the different embodiments described, matched pair of transistors 210 can be of any transistor type, such as, for example, p-type, n-type, enhancement-type, depletion-type, FETs (e.g., MOSFETs, JFETs, MESFETs), BJTs (e.g., IGBTs, heterojunction bipolar transistors), etc. For brevity, we will focus specifically on FETs, but it should be understood that the terms “gate,” “source,” and “drain” as used herein encompass the terms “base,” “emitter,” and “collector” of BJTs.
[0067] Although the two transistors that make up the matched pair of transistors 210 are identical in design, in practice, small random manufacturing variations will inevitably exist between the two transistors. These manufacturing variations may include at least one of differences in gate oxide thickness, differences in doping density, differences in carrier mobility, differences in device dimensions, etc. These manufacturing variations result in variations in transistor on-state characteristics / performance, such as differences in turn-on threshold voltage, differences in β, differences in back-gate effect, etc. The term “on-state” is used herein to refer to the operational 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, transconductance, etc. Considering the on-state characteristics, as opposed to off-state characteristics (e.g., off-state leakage current) or failure characteristics (e.g., dielectric breakdown), may increase the reliability of the PUF device 100, for example, because high voltages are not applied and the gate oxide is not degraded.
[0068] The determiner 170 is configured to determine a transistor difference value based at least in part on a comparison of the on-state characteristics of the matched pair of transistors 210, the transistor difference value being indicative of 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 are determined by comparing the gate-source voltages (V GS ) The V of the two transistors GS may differ as a result of one or more different random manufacturing variations that cause differences in the transistor turn-on threshold voltage and / or β and / or back-gate effect, for example.
[0069] The drains of the matched pair of transistors 210 are coupled to ground. The decision unit 170 includes a selector circuit 220 configured to apply a suitable voltage to the gates of the matched pair of transistors 210 to turn the transistors on. This voltage serves as a "selection potential," which will be described in more detail below with reference to FIG. 3A. The decision unit 170 also includes a first current source 232 and a second current source 234, each configured to provide the same amount of current. The current from the first current source 232 may be applied to the source of the first transistor of the matched pair of transistors 210 as a first input signal, and the current from the second current source 234 may be applied to the source of the second transistor of the matched pair of transistors 210 as a second input signal. If the matched pair of transistors 210 are truly identical, their source voltages will be 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 voltages applied to a matched pair of transistors 210 are the same, the source voltages of a matched pair of transistors 210 should differ by a certain amount.
[0070] The determining unit 170 further comprises an ADC 250 configured to measure the difference between the gate-source voltages and output a digital value indicative of the 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. Accordingly, a chopping circuit 236 may be provided such that a first input signal (current from the first current source 232) may be applied to a first transistor, a second input signal (current from the second current source 234) may be applied to a second transistor, and a first transistor comparison value is determined by the ADC 250 by comparing the gate-source voltages of a matched pair of transistors 210. The chop circuit 236 may then 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 a second transistor comparison value is determined by the ADC 250 by comparing the gate-source voltages of the matched pair of transistors 210.
[0071] The first transistor comparison value and the second transistor comparison value may be expressed as follows:
[0072] First transistor mismatch value = ΔV GS +Mismatch +Noise 1 Second transistor mismatch value = ΔV GS -Inconsistency + Noise 2 The transistor difference value of the PUF cell 105 may then 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.
[0073] For example, the transistor difference value may be expressed as:
[0074] Transistor difference value = First mismatch value + Second mismatch value =2*ΔV GS +Noise 1 +Noise 2 or Transistor difference value = average of the first mismatch value and the second mismatch value =ΔV GS +(Noise1 + Noise2) / 2 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. It will be appreciated that the chop circuit 236 is optional, and the determination unit 170 can be configured to determine the transistor difference value from a single comparison of the gate-source voltages, for example, if the first and second current sources are deemed to be matched to a sufficiently high degree of precision.
[0075] Additionally, optionally, a further chop circuit 240 may be provided at the input to the ADC 250. This may operate similarly to and simultaneously with the chop circuit 236 to switch the coupling of the differential inputs to the comparators within the ADC 250. However, in this case, the ΔV GS The sign of the component is the ΔV in the second transistor comparison value as a result of switching the input to the comparator in ADC250. GS For example, if both chop circuits 236 and 240 are used, they may be represented as follows:
[0076] Mismatch value of the first transistor = ΔV GS + Mismatch + Offset + Noise 1 Second transistor mismatch value = -ΔV GS + Mismatch + Offset + Noise 2 Here, the offset is the offset of the ADC 250.
[0077] In this case, the transistor difference value may be determined by taking the difference between the first transistor comparison value and the second transistor comparison value. For example, it may be expressed as follows:
[0078] Transistor difference value = First mismatch value - Second mismatch value =2*ΔV GS + Noise 1 - Noise 2 Using the chop circuit 236 in this manner can help to eliminate any offsets 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 components have increased by 2X, and the low frequency components of Noise 1 and Noise 2 should approximately cancel out. However, it will be understood that chop circuit 240 is optional, depending on the configuration of ADC 250 and the quality of the components that make up ADC 250. Furthermore, decision unit 170 need not include ADC 250, but instead may use any other suitable circuitry, for example, dedicated analog circuitry, to determine the transistor difference value.
[0079] Chop circuit 236 and further chop circuit 240 may be configured in any suitable manner to perform the switching / chopping functions described above, for example, they may each comprise one or more switches that can be controlled (e.g., by a controller not shown in FIG. 2 ) to switch / chop the couplers as described above.
[0080] The transistor difference value is the value of which of the transistors in the matched pair of transistors 210 has a larger / smaller V GS and the magnitude of the difference. For example, the V of the first transistor GS is the V of the second transistor GS and V of the first transistor. GS is the V of the second transistor GS It can be a negative number of magnitude indicating an amount less than
[0081] Referring to FIG. 3A, a plurality of PUF cells 105 x,y where x=1, 2, . . . X-1, X and y=1, 2, . . . Y-1, Y, so that the PUF cell 105 x,y The sum of the PUF cells 105 in this embodiment is X*Y. x,yare arranged in an array with X columns and Y rows. Selector circuit 220 has Y outputs, one for each row of the array, and each output selects all matched pairs of transistors 210 in a particular row. x,y (e.g., the first output is coupled to the gate of transistor pair 210 x、1 and the second output is coupled to transistor pair 210 x、2 PUF cell 105 x,y To select a particular row of the transistors, the selector circuit 210 selects the matched transistor pairs 210 for that row. x,y To turn on a matched pair of transistors 210, a select potential (e.g., a potential above the transistor's turn-on threshold voltage) is applied to that row. A non-select potential (e.g., a potential below the transistor's turn-on threshold voltage) is applied to all other rows. This allows each matched pair of transistors 210 to be turned on in this embodiment. x,y is not only used to determine the transistor difference value, but also to determine the x,y It can be seen that the FETs 210 and 212 are also used as a selection mechanism for the FETs 210 and 212. For both of these purposes, a matched pair of transistors 210 are provided. x,y By using the above, 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 cell.
[0082] The determining unit 170 also determines whether the X first current sources 232 x and a second current source 234 x , X chop circuits 236 x , X further chop circuits 240 x , and X ADC250 x This allows X pairs of transistors 210 in the selected row to x,y The transistor difference value can be determined in parallel, thereby increasing the operating speed. x and a second current source 234 x , chop circuit 236 x , a further chop circuit 240x , and ADC250 x Each set of may be shared by a column of the PUF array, thereby reducing the number of components required, and thus the overall size, cost, and power consumption of the PUF device 100.
[0083] The determination unit 170 shown in FIG. 3A also includes a PUF output unit 310. The PUF output unit 310 includes: a) each ADC 250; x or b) each ADC x and determining a transistor difference value based on the first transistor comparison value and the second transistor comparison value (e.g., by averaging them), after either receiving the first transistor comparison value and the second transistor comparison value determined from the first transistor comparison value and the second transistor comparison value.
[0084] The determination unit 170 determines whether the PUF cell 105 x,y , and determine the transistor difference value for each selected PUF cell. x,y , and a transistor difference value may be determined for them. The operation of selector circuit 220, chop circuit 236x, and further chop circuit 240x may be controlled in any suitable manner, for example, by PUF output unit 310 or any other suitable controller. Control interconnects are not shown in FIG. 3A for simplicity.
[0085] FIG. 3B (reproduced from FIG. 6 of U.S. Patent Application No. 16 / 296,998) illustrates the PUF cell 105 x,y 3B shows a schematic diagram of an alternative configuration of the array and decision unit 170 of the PUF cells 105. A detailed description of the operation of the circuit is given on page 18, line 5 to page 23, line 23 of US 16 / 296,998 and will not be repeated here for efficiency. However, FIG. 3B shows a schematic diagram of an alternative configuration of the array and decision unit 170 of the PUF cells 105. x,y Parallel measurement of the physical properties of multiple PUF cells 105 x,y It should be appreciated that this illustrates a further exemplary representation of how PUF device 100 may be implemented such that parallel reads of may be achieved.
[0086] 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 is described in more detail below in the "Configuration" and "Read" sections. In summary, however, the measured transistor difference value of a particular PUF cell may be used to set the value (i.e., "0" or "1") of one or more bits of the multi-bit PUF output. The result of each transistor comparison is a matched pair of transistors 210. x,y It turns out that because the PUF output depends on random manufacturing differences between instances, it is highly likely that each different instance of the PUF device 100 will generate a randomly different PUF output.
[0087] In a further exemplary implementation, each PUF cell 105 x,y The PUF cell 105 may include a pair of capacitors, and the determining unit 170 may be configured to determine the PUF output based on differences between the physical characteristics (such as capacitance) of the capacitors caused by random manufacturing variations. x,y Various exemplary implementations of PUF device / system 100, including a pair of capacitors each of which is to be matched, are shown in U.S. Patent Application Serial No. 16 / 716,435 (the '435 application), which is incorporated herein by reference in its entirety. Various exemplary implementations are disclosed in U.S. Patent Application Serial No. 16 / 716,435, in Figures 2A-6B and on page 10, line 10, through page 22, line 31, of the '435 application filed therein, some of which are reproduced in part below.
[0088] FIG. 4A (reproduced from FIG. 2A of US Patent Application No. 16 / 716,435) shows a schematic diagram of a circuit for determining a capacitor difference value indicative of random manufacturing differences between a pair of capacitors 2100.
[0089] FIG. 4C (reproduced from FIG. 3 of US Pat. No. 16 / 296,998) shows the PUF cell 105 x,y 1 shows a schematic diagram of an array of PUF cells 105 x,yare each configured in the same manner as the PUF cell 105 depicted in FIG. 4A.
[0090] Returning to FIG. 4A, each PUF cell 105 x,y is a pair of capacitors 2100 x,y whereby each PUF cell 105 x,y may be used to generate a corresponding capacitor difference value, based on which the PUF cell 105 x,y The PUF output can then be transmitted to a number of PUF cells 105. x,y The capacitor difference value may be determined from multiple persistent random PUF values determined from . For simplicity, however, the determination of the capacitor difference value from a pair of capacitors 2100 is described below.
[0091] The 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 has the same design. Although the two capacitors that make up the matched pair of capacitors 2100 have 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 differences in the distance between the capacitor plates (e.g., caused by differences in dielectric thickness), differences in the overlapping area of the two plates, differences in dielectric constants, etc. These manufacturing variations result in variations in capacitance between the two capacitors that make up the matched pair of capacitors 2100. For simplicity, the following description focuses on the matched pair of capacitors 2100; however, it should be understood that the two capacitors 2100 may alternatively be of different designs. In this case, there should be some expected difference between their capacitances, and random manufacturing variations should also result in some random variation around that expected difference. This allows the capacitor difference value determined according to the process described below to perform the same function as when the capacitors are matched, but with an offset applied to the random variations, the offset being equal to the designed difference in capacitance of the two capacitors.
[0092] 4A includes a switch bank 2300 that can be used to set bias conditions for determining a capacitor difference value indicative of random manufacturing differences 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, with the two capacitors sharing a common node or center tap. The circuit further includes a buffer 2200 for buffering a signal at the common node between the first capacitor C1 and the second capacitor C2. The buffer is configured to buffer a voltage V at the common node or center tap of the capacitor divider. i Voltage V o4A , or any suitable type of voltage buffer configured to output a current (e.g., a source follower, a simple op-amp, etc.). Each of the switches 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 a bipolar transistor. For simplicity, the state of each switch may be controlled by a controller not shown in FIG. 4A .
[0093] FIG. 4B (reproduced from FIG. 2B of U.S. Patent Application No. 16 / 716,435) shows an exemplary timing diagram of the operation of the circuit of FIG. 4A. The timing diagram of FIG. 4B illustrates the operation of the switch control signals φ1,
number
[0094] V o (t0)=V cm +V off +V n (t0) where V off is the read offset caused by any inherent offset in the buffer 2200, and V n(t0) is the random read noise at time t0.
[0095] Then, the common node is no longer V cm The first bias state is established by opening the reset switch so that the first bias voltage V hi ~V lo is applied across a pair of capacitors 2100 without the common node or center tap being held at any particular potential. The first bias state thereby establishes a corresponding first charge distribution between the two capacitors. In the timing diagram of FIG. 4B, V o The change in Vout at time t1 during the first bias state can be expressed as:
[0096] V o (t1)=V cm +V off +V ci +V ktc +V n (t1) where V ci is the charge injection from the rst switch due to the switch opening, and V n (t1) is the random read noise at time t1, and V ktc is the KTC noise sampled from the two capacitors. The value V o (t1) shall be referred to as the first node measurement indicating the voltage at the common node of the capacitor divider 2100 during the first bias condition.
[0097] The second bias state is then such that the voltage across the pair of capacitors 2100 is - (V hi This is set by applying a first bias voltage across a pair of capacitors 2100 in opposite directions so that the first bias voltage is V lo is applied to V2, and V hiThis is achieved by controlling switch bank 2300 to apply V to V. In the timing diagram of FIG. 4B, when the bias state changes from the first state to the second state, V o A change in V is seen, which is caused by the redistribution of charge between the first and second capacitors. o is shown to decrease when the second bias condition is applied, which is a result of the capacitance of C2 being larger than that of C1. However, if the capacitance of C1 were larger than that of C2, then V would instead decrease when the second bias condition is applied. o will increase. The output voltage at time t2 during the second bias state can be expressed as:
[0098] 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 indicating the voltage at the common node of the capacitor divider 2100 during the first bias condition.
[0099] Since 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:
[0100] C1=C+dC / 2 C2=C-dC / 2 Substituting this into the above formula, we get the following:
[0101] V o (t2)=V cm +V off +V ci +Vktc +V n (t2)+(dC / 2C)*(V hi -V lo ) V o (t2) is a function of random manufacturing variations (dC) between capacitors, but it is also affected by several different noise sources. This causes 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.
[0102] However, V o By taking the difference of (t2)-Vo(t1), we get:
[0103] V o (t2)-V o (t1)=(dC / 2C)*(V hi -Vlo)+V n (t2)-V n (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 Furthermore, the readout noise V n (t0) and V n Any low frequency components at (t1) should also be substantially canceled. Therefore, V o By measuring and then taking the difference, a more accurate measure of the random manufacturing differences between the two capacitors C1 and C2 can be obtained. o (t2) and V o(t1) may be referred to as the capacitor difference value, which indicates random manufacturing differences between the pair of capacitors 2100. This more accurate measurement can then be used to determine a persistent random PUF value based on which the PUF output can be determined, for example, to set the value of one bit in a multi-bit PUF output, as described in more detail in the "Configuration" and "Read" sections.
[0104] For example, a particular PUF cell 105 x,y The difference in capacitor value (V o (t2)~V o The size of the capacitor difference value V(t1) can be used to set a persistent random PUF value (e.g., "0" or "1"), which then serves as one or more bits of the multi-bit PUF output. o (t2)~V o Since (t1) is determined to maximize the accuracy of the dC measurement by eliminating nearly all noise, the value of the PUF output is determined only by nearly random manufacturing variations. This should result in the value of the PUF output being sufficiently random to meet PUF requirements.
[0105] 4C, the decision unit 170 includes a MUX 5100, a PUF output unit 5300, and a switch bank 2300. The PUF output unit 5300 outputs a voltage V hi and V lo The switch bank 2300 and MUX 5100 are configured to control the switch bank 2300 and MUX 5100 to apply a select voltage to a particular row of PUF cells and a deselect voltage to all other rows of PUF cells. It will be appreciated that by doing so, physical properties of multiple PUF cells in a selected row can be measured in parallel. This allows very fast measurements and readouts to be achieved.
[0106] The above provides several specific examples for measuring a physical characteristic of a PUF cell (in one example, the physical characteristic is the difference in gate-source voltage of a pair of transistors, and in another example, the physical characteristic is the difference in capacitance of a pair of capacitors), where the measurement of the physical characteristic indicates random manufacturing variations of the PUF cell. However, it will be understood that there are many other ways in which the paired device and determination unit 170 can be configured to determine the persistent random value of each PUF cell based on the physical characteristics of the paired devices. Furthermore, there are many other types of physical and electrical devices that can be used for the paired devices (either single components, which can be active or passive, such as transistors or capacitors, or more complex composite devices, each comprising multiple components, such as ring oscillators), and many other types of physical characteristics that can be measured. For example, each PUF cell may comprise 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 a signal to pass through one of the strings of NOT gates and the time it takes a signal to pass through the other string of NOT gates. It will be understood that the present disclosure is not limited to any particular implementation of a PUF device / system, but may apply to any implementation in which physical characteristics indicative of random manufacturing variations between a pair of devices may be used to determine a persistent random PUF value.
[0107] "composition" The term "configuration" used in the context of a process is used herein to describe the process of assigning a particular read state to a pair of devices to be used in generating a persistent random PUF value. For example, the read state may be assigned to PUF cells 105 in PUF device 100. ×、y , may be assigned to each of at least some of the paired devices (e.g., PUF cells 105). This may be done once (e.g., during manufacture / setup of PUF device 100, sometimes referred to as "enrollment"), after which PUF device 100 may be used for "reading" and / or "monitoring," sometimes referred to as "restoring." The term "reading" is used herein to refer to the re-reading of one or more paired devices (e.g., PUF cells 105).x,y ) during configuration. The term "monitoring" is used herein to describe the process of monitoring the health / status / condition of PUF device 100, which may include determining the reliability of PUF device 100 in generating a persistent PUF output. Reading and monitoring may each be performed multiple times over the life of PUF device 100; for example, reading may be performed each time a PUF output is requested from PUF device 100, and monitoring may be performed intermittently or periodically. PUF cell 105 during configuration x,y The read state assigned to that PUF cell 105 x,y How the physical characteristics of the PUF cell 105 should be used to determine the PUF value during a read x,y may dictate how the physical characteristics of the device are used during monitoring. The use of the term "configuration" above does not change the meaning of the term "configuration" in the context of a physical configuration (e.g., a device configuration).
[0108] Below, we describe several exemplary PUF device 100 configurations that can be implemented to achieve different read characteristics, referred to below as "1 bit / PUF cell-throwaway," "1 bit / PUF cell-shift threshold," and "multiple bits / PUF cell." For each of these, the configuration, read, and monitoring processes are slightly different and are described in more detail below. However, common aspects of the configuration process are first described with reference to FIG. 5.
[0109] The following description focuses specifically on the PUF cell 105 x,y, each of which comprises a fixed pair of devices (i.e., the device pairing cannot be changed). However, it should be understood that the described process may be applied to other types of PUF devices including other configurations of paired devices, for example, a PUF device that dynamically selects two devices from a bank of devices to form a pair of devices. In that example, one particular device may be part of several different pairs of devices, as different second devices are dynamically selected to form different pairs with the one particular device. Thus, throughout the following description, the term "PUF cell" may be more generally interchangeable with "pair of devices."
[0110] FIG. 5 illustrates a PUF cell 105 according to an embodiment of the present disclosure. x,y 10 is a visual representation of exemplary steps in a method for constructing a PUF cell 105. x,y PUF cells 105 in the PUF device / system 100 to configure some or all of x,y It may be performed on some or all of the above.
[0111] In step 510, the determination unit 170 determines whether the PUF cell 105 x,y 2, 3, 4A, and 4B, the process described above for PUF cell 105 may be performed to measure a physical characteristic (e.g., the aforementioned transistor differential value or capacitor differential value) of the PUF cell, the measured physical characteristic being indicative of random manufacturing variations of the PUF cell. x,y Alternatively, the PUF cell 105 may be implemented to determine a transistor difference value or a capacitor difference value. x,y Any other suitable physical characteristics of each PUF cell 105 x,y Depending on the components therein and / or the design and configuration of the determining unit 170, any suitable technique may be used to determine.
[0112] FIG. 6 shows a plurality of PUF cells 105 x,y1 shows the statistical distribution of an exemplary physical property measured over a PUF cell 105. 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 indicate a higher likelihood / probability of the PUF cell 105. x,y The first device / component is a PUF cell 105 x,y A negative value indicates that the measured characteristic of the second device / component is greater than the measured characteristic of the first device / component. A statistical distribution may be used to determine whether some or all of the PUF cells 105 x,y or by measuring the physical properties of a plurality of PUF cells 105 x,y , or based on any other suitable statistical model (e.g., as described below in the "Creating a Statistical Model" section). In this example, a normal distribution is assumed, but it will be understood that any other suitable type of distribution may be assumed.
[0113] In step 520, the decision unit 170 may compare the measured physical property to one or more configuration thresholds. The one or more configuration thresholds used depend on the desired read characteristics ("1 bit / PUF cell - throwaway," "1 bit / PUF cell - shift threshold," and "multiple bits / PUF cell") and are described in more detail below.
[0114] In step S530, the determination unit 170 determines whether the PUF cell 105 x,y PUF cell 105 to indicate whether the first read state or the second read state should be used during a read of the x,y The configuration indicator may be a one-bit value (e.g., 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 may be a value associated with the PUF cell 105. x,yThe configuration indicator may be any other suitable form of indicator that can be used during a read to determine which read state to use for the PUF cell 105. x,y The configuration indicator may be stored in memory, for example, in the decision unit 170 or elsewhere, so that when each PUF cell 105 is later being read, its configuration indicator can be looked up and used during the read. x,y may have an associated configuration indicator that is set during configuration and stored so that it can be used during reads.
[0115] The first read state is the PUF cell 105 x,y indicates that when generating a persistent random PUF value during a read, the physical characteristics of the PUF cell should be compared to at least one first read state threshold that is different from the at least one configuration threshold. The second read state can indicate several different things depending on which read characteristics ("1 bit / PUF cell - throwaway," "1 bit / PUF cell - shift threshold," and "multiple bits / PUF cell") are implemented. This is explained in more detail later in the "Read" section.
[0116] The different read characteristics are all contemplated by the inventors as different ways in which the stability and consistency of each determined PUF value can be maintained over time. As explained above, the PUF output generated by the PUF device 100 should be persistent over time. This allows each PUF cell 105 x,y The generated PUF value of the PUF cell 105 should also be persistent over time. x,y It is recognized that the measured physical characteristics of the PUF cell 105 are likely to change over time due to one or more of noise in the measurement of the physical characteristics, device degradation, environmental changes, local changes, etc., which may be explained below with reference to FIG. x,y This can make it difficult to maintain the persistence of the PUF value.
[0117] 7 shows an example statistical distribution similar to that of FIG. 6. In this example, 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 us to determine whether any one PUF cell 105 with a negative measured physical property is a good candidate for the distribution. x,y The likelihood of having a positive measured physical property is equal to the likelihood of having a positive measured physical property. This allows the decision unit 170 to determine whether the PUF cell 105 is a PUF cell by setting the persistent random PUF value to "0" when the measured physical property is in the negative range 710 and to "1" when the measured physical property is in the positive range 720. x,y may be configured to read out
[0118] However, the specific PUF cell 105 x,y An example of the measured physical property of the PUF cell 105 is represented by reference numeral 730. First, the measured physical property 730 may be a negative value, so that the PUF cell 105 x,y will produce a PUF value of “0.” However, over time, the measured physical property may change or drift, as represented by reference numeral 740. If the measured physical property increases over time, it may eventually become a positive value, at which point the persistent random PUF value will change from “0” to “1.” This change may also cause a change in the PUF output. In some embodiments, the change in the measured physical property may cause the measured physical property to sometimes be positive, then sometimes negative, then sometimes positive, etc., resulting in the PUF value regularly varying between “0” and “1.” While ECC technology may tolerate a small number of bits in the PUF output changing over time, a larger number means the PUF output is no longer persistent, at which point it cannot be relied upon. The inventors have found that PUF cells 105 with measured physical properties close to a read threshold used to determine whether the PUF value should be “0” or “1.” x,yHowever, the inventors have recognized that PUF devices may be particularly susceptible to this problem because relatively small changes in measured physical properties over time can alter the PUF value. Accordingly, the inventors have devised the configuration and read processes described below to address these issues and improve the long-term reliability and persistence of the PUF output produced by PUF device 100. The inventors have also devised the monitoring process described below to monitor how closely PUF cells approach the read threshold over time, thereby monitoring the ability of the PUF cells to reliably contribute to the production of a persistent PUF output.
[0119] 1 bit / PUF cell - throwaway In this implementation, several PUF cells 105 x,y is assigned to be used during reads to determine the persistent random PUF value, and other PUF cells 105 x,y are configured to be allocated so that they are not used at all (“throw-away”) during reads. x,y Setting the configuration indicator to assign the PUF cell 105 to the second state x,y indicates that should not be used to generate persistent random PUF values.
[0120] 8 shows an exemplary statistical distribution demonstrating 1 bit / PUF cell throwaway. x,y The statistical distribution of can be an assumed distribution or can be a distribution of the PUF cell 105 x,y The figure shows a first configuration threshold 840, a second configuration threshold 850, and a first read state threshold 860. In this configuration, during a read, the state of a single PUF cell 105 x,y may be used to determine a 1-bit persistent random PUF value, so that multiple PUF cells 105 x,ymay be used to determine a plurality of 1-bit persistent random PUF values, which may then be used to determine a multi-bit PUF output.
[0121] PUF cell 105 x,y During the configuration of PUF cell 105 x,y The physical properties of the object may be measured (step S510 in FIG. 5 above). The measured physical properties are then compared to a first configuration threshold 840 and a second configuration threshold 850 (step S520 in FIG. 5 above).
[0122] Next, in step S530, if the threshold is between the first configuration threshold 840 and the second configuration threshold 850, the PUF cell 105 x,y The configuration indicator of the PUF cell 105 is assigned to a second read state, which indicates that the PUF cell 105 x,y However, if the measured physical property is less than the first configuration threshold 840 or greater than the second configuration threshold 850, the PUF cell 105 x,y The configuration indicator of the PUF cell 105 is assigned to the first read state, which indicates that during a read, x,y should be used to generate a persistent random PUF value. Therefore, during configuration, any PUF cell 105 with the measured physical properties in the central region 810 x,y is assigned to the second read state and any PUF cells 105 with measured physical properties within the outer regions 820 and 830 x,y is assigned to the first read state. For example, FIG. 8 illustrates an example particular PUF cell 105 whose measured physical property 872 is −0.5. ×y PUF cell 105. x,y The configuration indicator of PUF cell 105 x,y to the second read state. FIG. 8 also illustrates another exemplary PUF cell 105 whose measured physical characteristic 874 is −1.5. x,y PUF cell 105.x,y The configuration indicator of PUF cell 105 x,y to the first read state. FIG. 8 also illustrates another exemplary PUF cell 105 having a measured physical characteristic 874 of 1.0. x,y PUF cell 105. x,y The configuration indicator of PUF cell 105 x,y to the first read state.
[0123] The inventors have determined that the PUF cells 105 have physical characteristics relatively close to the read threshold 810. x,y We have devised a "1 bit / PUF cell - throwaway" so that these PUF cells 105 are not subsequently used during readout. x,y However, this is because there is a relatively high risk of the PUF cell 105 having a PUF value that changes over time as a result of the measured physical property changing enough during a read to move from one side of the read threshold 810 to the other. x,y is used during reads. This is because these PUF cells 105 x,y has a relatively low risk of having a PUF value that changes over time, because their measured physical properties must change significantly over time to change the PUF value (i.e., the physical properties must be such that the PUF cell 105 x,y (This allows for significant variation between the configuration measurement and the subsequent read measurement without affecting the PUF value of the first PUF cell 105.) This allows for significant variation between the configuration measurement and the subsequent read measurement without affecting the PUF value of the first PUF cell 105. x,y The PUF value of should be persistent, thereby improving the persistence of the PUF output.
[0124] The first read state threshold 860 is set to each PUF cell 105 x,y In order to maintain the randomness of the determined PUF value, each PUF cell 105 x,yThe first configuration threshold 840 and the second configuration threshold 850 should be set to a value such that there is a 50-50 chance of having the measured physical property either greater than or less than the threshold 860. This can be achieved using standard statistical analysis of the distribution. The first configuration threshold 840 and the second configuration threshold 850 are then set to a value such that there is a 50-50 chance of different PUF values, improving the persistence of the PUF output determined during a read and ensuring that there are enough PUF cells 105 available during a read to determine the PUF output. x,y For example, they may be set to 1 standard deviation, 2 standard deviations, 3 standard deviations, 4 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 x,y It will be appreciated that PUF cell 105 may be "throwaway" during configuration, however, improving the chances of maintaining a persistent PUF output over time. x,y The array of PUF cells 105 is large compared to the desired size of the PUF output. x,y (e.g., 400 PUF cells 105 x,y , but the desired size of the PUF output is 128 bits), the configuration thresholds 840 and 850 may be set relatively far from the read threshold 860 because a large number of PUF cell "throwaways" may be accommodated.
[0125] In an alternative approach to this technique, the n PUF cells 105 that are measured to be furthest from the first read state threshold 860 are x,y For example, the value n of PUF cell 105 required to determine the PUF output may be assigned to a first read state, and the rest may be thrown away by assigning them to a second read state. x,y (e.g., if the PUF output is 128 bits, n may be set to 128). Thus, the best PUF cell 105 for providing long-term stability is x,ymay be selected for use during future read processes. In this case, there is effectively a single configuration threshold, which is the same as the first read state threshold 860. The configuration threshold is used to select the value of each PUF cell 105 during a read. x,y The PUF may be set to a value based on a statistical distribution to achieve a substantially 50-50 chance of obtaining any of the possible PUF values.
[0126] In a further alternative, the individual PUF cells 105 x,y Instead of throwing away the PUF cell 105 x,y An entire row of PUF cells 105 may be thrown away based on a comparison of the measured physical property to a configuration threshold. x,y Any of the processes described above may be performed to compare the measured physical property of the PUF cell 105 assigned to the first read state with the configured threshold. x,y Any row with relatively few PUF cells 105 x,yThe row configuration indicator may be thrown away by either setting the row configuration indicator for the row to the second read state or by setting a row configuration indicator indicating that the entire row should not be used during a read. If a row configuration indicator is used, during a read, the determiner 170 may first read the row configuration indicator for the row and proceed to read the configuration indicator for each PUF cell in that row only if it indicates that the row should be used. This may improve the speed and power efficiency of the read by minimizing the number of parallel read operations required during a read to determine the PUF output. In a further alternative, rather than having a single configuration indicator per PUF cell, there may instead simply be a configuration indicator per row. In this case, during a read, all PUF cells in the row assigned to the first read state may be read according to a process described below. As described below, all PUF cells in the row assigned to the second read state may be discarded. Thus, throughout this disclosure, during a read, when a configuration indicator associated with a PUF cell is read, the configuration indicator may be for that particular PUF cell or for the entire row in which the PUF cell is located.
[0127] 1 bit / PUF cell - shift threshold The "throwaway" implementation described above requires a large number of PUF cells 105 compared to the size of the PUF output. x,y It will be appreciated that this may be useful when there is a large number of PUF cells 105 compared to the size of the PUF output. x,y This can be useful when there is no
[0128] 9A shows an exemplary statistical distribution demonstrating the configuration process of "1 bit / PUF cell-shift threshold." FIG. 9B shows the same exemplary statistical distribution, but illustrating the read process of a first read state of "1 bit / PUF cell-shift threshold." FIG. 9C shows the same exemplary statistical distribution, but illustrating the read process of a second read state of "1 bit / PUF cell-shift threshold." x,y The statistical distribution of can be an assumed distribution or can be a distribution of the PUF cell 105 x,y The thickness of the polymer may be determined by measuring some or all of the physical properties of the polymer.
[0129] 9A illustrates a first read state threshold 910 used during a read when the PUF cell is assigned to a first read state. The figure also illustrates second read state thresholds 920 and 930 used during a read when the PUF cell is assigned to a second read state. The figure also illustrates a first configuration threshold 940, a second configuration threshold 950, a third configuration threshold 960, and a fourth configuration threshold 970.
[0130] During configuration, step S510 is performed as described above. Step S520 is also performed as described above with reference to 1 bit / PUF cell - throwaway, except that the measured physical property is compared to a first configuration threshold 940, a second configuration threshold 950, a third configuration threshold 960, and a fourth configuration threshold 970. The configuration thresholds define a plurality of ranges. In step 530, if the measured physical property is within a range between the first configuration threshold 940 and the second configuration threshold 950, or within a range between the third configuration threshold 960 and the fourth configuration threshold 970, the configuration indicator of the PUF cell 105 is set to 0. ×、y to a first read state. If the measured physical property is within a range below a first configuration threshold 940, or within a range between a second configuration threshold 950 and a third configuration threshold 960, or within a range above a fourth configuration threshold 970, the PUF cell 105 x,y The configuration indicator of PUF cell 105x,y to the second read state.
[0131] 9B displays a first read 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. PUF cells 105 that had physical properties measured within either region 912 or region 914 during configuration. x,y should be assigned to the first read state. As can be seen, both regions 912 and 914 are separated from the first read state threshold 910. One side of the first read state threshold may have a particular 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 particular value that results in the area of region 912 being 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.
[0132] Read, PUF cell 105 x,y is assigned to the first read state, PUF cell 105 x,yA read measurement of the physical property of each PUF cell 105 may be taken and compared to the first read state threshold 910. Thus, the first read state of "1 bit / PUF cell - shift threshold" is substantially the same as the first read state of "1 bit / PUF cell - throwaway." For example, if region 912 is assigned a "0" and region 914 is assigned a "1," the PUF value will be determined to be "0" if the read measurement is in a range below the first read state threshold 910. The PUF value will be determined to be "1" if the read measurement is in a range above the first read state threshold 910. Because regions 912 and 914 are separated from the first read state threshold 910, the read measurement of the physical property may change over time compared to measurements taken during configuration, and the physical property measurement may still be determined to be "0" if the read measurement is in a range above the first read state threshold 910 because the read measurement may not have changed enough over time to move from one side of the threshold 910 to the other. x,y The PUF value should not change over time.
[0133] 9C displays a second read state (a "shifted" threshold state). The area below 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 above the fourth configuration threshold 970 is represented as region 924. During configuration, PUF cells 105 that have measured physical properties that fall within either region 922, region 924, or region 926 x,y should all be assigned to the second read state. As can be seen, regions 922, 924, and 926 are all separated from second read thresholds 920 and 930. Regions 922 and 924 may be assigned to a particular 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 particular value that results in the areas of regions 922 and 924 both being 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 being in region 926.
[0134] Read, PUF cell 105 x,y is assigned to the second read state, PUF cell 105 x,y A read measurement of the physical property of the PUF cell 105 is taken and compared to second read state thresholds 920 and 930. The second read state thresholds 920 and 930 define a number of ranges (three ranges in this example), and a determination is made as to which range the read measurement of the physical property falls in order to generate a PUF value during a read. If the measured physical property is less than both second read state thresholds 920 and 930 or greater than both second read state thresholds 920 and 930, the PUF cell 105 is considered to be in a failed state. x,y The PUF value of the PUF cell 105 is set to a first digital state ("0" in this example). If the measured physical property is between the second read state thresholds 920 and 930, the PUF value of the PUF cell 105 is set to a first digital state ("0" in this example). x,y The PUF value is set to a second digital state ("1" in this example).
[0135] Thus, it can be seen that the second read state has a shifted read threshold compared to the first read state. Because regions 922, 924, and 926 are all separated from second read thresholds 920 and 930, the read measurements of the physical property may change over time compared to measurements taken during configuration, and still remain in those PUF cells 105 because the measurements of the physical property are unlikely to change enough over time to move from one side of threshold 910 or threshold 920 to the other. x,y The PUF value should not change over time.
[0136] This allows each PUF cell 105 x,y The PUF value of the PUF cell 105 should be persistent, thereby improving the persistence of the PUF output. x,y It can be seen that none of the are discarded / throwaway during the configuration process, so that they are all used during reads and therefore all can contribute to determining the PUF output.
[0137] It will be appreciated that read thresholds 910, 920, and 930 and configuration thresholds 940, 950, 960, and 970 may all be set using standard statistical techniques so that the areas of regions 912 and 914 are the same, and so that the area of region 922 plus the area of region 926 is the same as the area of region 924. In this manner, the randomness of the determined PUF value of each PUF cell may be preserved.
[0138] Multiple bits / PUF cell The configuration and readout of this implementation is 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.
[0139] 10A shows an exemplary statistical distribution demonstrating a first read state of the "multiple bits per PUF cell." FIG. 10B shows the same exemplary statistical distribution, but demonstrating a second read state of the multiple bits per PUF cell. x,y The statistical distribution of can be an assumed distribution or can be a distribution of the PUF cell 105 x,y The thickness of the polymer may be determined by measuring some or all of the physical properties of the polymer.
[0140] 10A displays first read state thresholds 1012, 1014, and 1016. It also displays first configuration threshold 1022, second configuration threshold 1024, third configuration threshold 1032, fourth configuration threshold 1034, fifth configuration threshold 1042, sixth configuration threshold 1044, seventh configuration threshold 1052, and eighth configuration threshold 1054. Finally, the diagram also displays configuration regions 1020, 1030, 1040, and 1050.
[0141] 10B displays the second read state thresholds 1062, 1064, 1066, and 1068. This also shows the eight configuration thresholds mentioned above. Finally, the diagram also displays configuration regions 1025, 1035, 1045, 1055, and 1065.
[0142] During configuration of a PUF cell, in step S520, the measured physical property is compared to the configuration thresholds identified above. In step S530, if the measured physical property is 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 property is in any of the shaded regions depicted in FIG. 10A ), the PUF cell 105 x,y The configuration indicator of PUF cell 105 x,y to the first read state. However, if the measured physical property is 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 property is in any of the shaded regions depicted in FIG. 10B ), then the PUF cell 105 x,y The configuration indicator of PUF cell 105 x,y to the second read state.
[0143] PUF cell 105 x,y During a read of the physical property, if it is assigned a first read state, the read measurement of the physical property may be compared to first read state thresholds 1012, 1014, and 1016. The first read state thresholds define a first plurality of ranges. In this particular example, if the measured physical property is in a range below threshold 1012, the PUF value is 00. If the measured physical property is in a range greater than threshold 1012 but less than threshold 1014, the PUF value is 01. If the measured physical property is in a range greater than threshold 1014 but less than threshold 1016, the PUF value is 11. If the measured physical property is in a range greater than threshold 1016, the PUF value is 11.
[0144] PUF cell 105 x,y During a read of the physical property, if it is assigned a second read state, the read measurement of the physical property may be compared to second read state thresholds 1062, 1064, 1066, and 1068. The second read state thresholds define a second plurality of ranges. In this particular example, if the measured physical property is within a range below threshold 1062 or within a range above threshold 1068, the PUF value is 00. If the measured physical property is greater than threshold 1062 but within a range below threshold 1064, the PUF value is 01. If the measured physical property is greater than threshold 1064 but within a range below threshold 1066, the PUF value is 11. If the measured physical property is greater than threshold 1066 but within a range below threshold 1068, the PUF value is 10.
[0145] The configuration threshold may 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 FIG. 10A is approximately the same, and the total shaded area of each PUF value in FIG. 10B is approximately the same), so that each PUF cell 105 x,y The PUF value of the PUF cell 105 is random. x,y The PUF cell 105 may be configured such that there is a sufficient gap between them to reduce the chance that the measured physical property changes over time by an amount sufficient to change the PUF value of the single PUF cell 105. x,y It can be seen that a 2-bit value 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 more configuration and read thresholds, the decision unit 170 can determine the value of each PUF cell 105. x,y It will be appreciated that the PUF may be configured to determine a larger PUF value (eg, 3 bits, or 4 bits, etc.).
[0146] In this embodiment, Gray coding is used for adjacent regions. For example, in the second read state, a measured physical property that is less than threshold 1062 will result in a PUF value of 00, and a measured physical property that is greater than threshold 1062 but less than threshold 1064 will result in a PUF value of 01 (i.e., only one bit value differs). By changing the value of only one bit per adjacent read region, PUF cell 105 x,y If the measured physical characteristic of drifts enough over time to move from one side of the read threshold to the other, the value of only one bit will change. This reduces the error introduced and makes it more feasible to address the error using ECC. However, while using Gray coding can be useful, it will be understood that any other suitable coding scheme can be used.
[0147] reading FIG. 11 illustrates a PUF cell 105 according to an embodiment of the present disclosure. x,y 1 visually illustrates exemplary steps in a method for reading a PUF cell 105 in a PUF device / system 100 during the lifetime of the PUF device / system 100. x,y The method may be performed for some or all of the PUF outputs. The method may be performed each time a PUF output is requested from the PUF device / system 100.
[0148] In step S1110, the determination unit 170 determines whether the PUF cell 105 x,y is assigned to the first read state or the second read state during configuration. x,y Read the configuration indicator associated with PUF cell 105 x,y If the PUF cell 105 is assigned to the first read state, the process proceeds to step S1120. x,y If the second read state is assigned to the second read state, the process proceeds to step S1140.
[0149] In step S1120, the determination unit 170 x,y 5. For example, the determination unit may perform the process described above with respect to step S510 of FIG. 5.
[0150] In step S1130, the determining unit 170 determines whether the physical characteristic of the PUF cell 105 is a read-state threshold by comparing the physical characteristic with at least one first read-state threshold. x,y 10A , a persistent random value of the physical characteristic of the PUF cell 1012. For example, if the determiner 170 is configured according to the one-bit / PUF cell implementation described above, the first read state threshold may include only one threshold (such as threshold 860 in FIG. 8 or threshold 910 in FIG. 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 may be set to a second digital state (such as “1” or “0”) if the measured physical characteristic is greater than the threshold. If the determiner 170 is configured according to the multiple-bit / PUF cell implementation described above, the first read state threshold may include multiple thresholds (such as thresholds 1012, 1014, and 1016 in FIG. 10A ) that define first multiple ranges (such as a range below threshold 1012, a range above threshold 1016, a range between threshold 1012 and threshold 1014, etc.). Comparing the measured physical property to the first read state threshold may then include identifying within which of the first plurality of ranges the physical property falls, and determining a static random value based on within which of the first plurality of ranges the physical property falls, as described above.
[0151] In step S1140, a second read state action is performed. The second read state action depends on how the decision unit 170 is configured. If the decision unit 170 is configured according to the "1 bit / PUF cell - throwaway" described above, the second read state is x,yshould not be used to generate persistent random values, whereby the second read state action involves taking no further action with respect to that PUF cell, at which point the decision unit 170 may select the next PUF cell 105, if appropriate. x,y If the decision unit 170 is configured according to the "1 bit / PUF cell-shift threshold" above, the second read state action includes comparing the physical characteristic to at least one second read state threshold, including threshold 920 and threshold 930 depicted in FIG. 9 . In this case, if the physical characteristic is less than both of the two thresholds 920 and 930 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 characteristic is 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 decision unit 170 is configured according to "Multiple Bits per PUF Cell" above, the second read state action includes comparing the physical characteristic to a second read state threshold, the second read state threshold including a plurality of thresholds (e.g., thresholds 1062, 1064, 1066, and 1068) that define a second plurality of ranges different from the first plurality of ranges used for the first read state (e.g., a range below threshold 1062, a range between threshold 1064 and threshold 1066, etc.). Comparing the physical characteristic to the second read state threshold includes identifying within which of the second plurality of ranges the physical characteristic falls and determining the persistent random value based on within which of the second plurality of ranges the physical characteristic falls.
[0152] This read process involves multiple PUF cells 105 x,ymay be optionally repeated serially or in parallel. For example, as described above, PUF device 100 may be configured such that the physical properties of multiple PUF cells (e.g., some of all of the PUF cells in a particular row) may be measured in parallel, and a persistent random PUF value may be determined based on those measured physical properties. In this manner, faster readout and persistent random PUF value determination may be achieved. Each determined PUF value may then be used by determination unit 170 to generate a PUF output. For example, the PUF values may be concatenated in a particular order to form the persistent random PUF output, or any other suitable operation may be performed on the PUF values to generate the PUF output.
[0153] Read, PUF cell 105 x,y The physical property of the PUF cell may optionally be determined as a digital measurement, in which case the digital measurement of the physical property may have M quantization levels, and the persistent random PUF value may have a digital value of N quantization levels, where M is greater than N. It will be appreciated that in this example, to accurately determine the persistent random PUF value of the PUF cell, the measurement of the physical property should have a finer resolution (e.g., more quantization levels) than the PUF value.
[0154] It will be further understood that in each of the configurations, the configuration thresholds effectively define a read tolerance for the read state thresholds. For example, during configuration, if a measurement of the physical property is determined to be within a read tolerance around a first read state threshold defined by the configuration thresholds, then PUF cell 105 x,y may be assigned to the second read state, so that room for error or variation in the read measurement can be tolerated without a resulting change in the PUF value.
[0155] By exploiting the above-described techniques for configuration and readout, in which measurements of the magnitude of a physical property of each PUF cell are taken and then used to determine the configuration or PUF value, it is possible to configure or read multiple PUF cells in parallel, using circuit arrangements such as those depicted in Figures 3A, 3B, and 4C (although other circuit designs can be used), while still maintaining the persistence and reliability of the determined PUF value, and thus the persistence and reliability of the PUF output. This allows a highly reliable and persistent PUF output to be determined more quickly than could otherwise be achieved.
[0156] Monitoring 12 illustrates an exemplary PUF device 100 including a monitor unit 1250 in the decision unit 170. As can be seen, the monitor unit 1250 may be seated alongside the PUF output unit 310 / 5300 (the operation of which was previously described) and may monitor the PUF cell 105 in the same manner as the PUF output unit 310 / 5300 previously described with reference to any of FIGS. x,y to determine measurements of at least some physical properties of the PUF cell 105. x,y Although not shown in FIG. 12 for simplicity, the PUF cell 105 x,y 2-4C, and the determining unit 170 may include additional components / units such as those described above with reference to FIGS. 2-4C. Thus, the monitoring unit 1250 monitors the PUF cell 105 in the same manner as the PUF output unit 310 / 5300. x,y , and thereby receives the same read signal as the PUF output unit 310 / 5300. These connections are not shown in FIG. 11 for simplicity. In an alternative, the monitor unit 1250 is coupled to the PUF output unit 310 / 5300 and receives the same read signal as the PUF cell 105. x,y The PUF output unit 310 / 5300 may be configured to receive measurements of the physical properties of the PUF output unit 310 / 5300 from the monitor unit 1250 (either upon request from the monitor unit 1250, or each time the PUF output unit 310 / 5300 determines a measurement of the physical property, or intermittently at times scheduled by the PUF output unit 310 / 5300).
[0157] The monitoring unit 1250 monitors the PUF cell 105 x,y , so that the overall reliability of PUF device 100 in producing a persistent PUF output can be determined. By performing monitoring in this manner, if PUF device 100 drifts or changes over time, or is tampered with in some way, this can be detected by monitor 1250 before a failure of PUF device 100 occurs, so that preventative action can be taken.
[0158] FIG. 13 illustrates one or more PUF cells 105 x,y 12 illustrates a visual representation of exemplary steps in a method for monitoring one or more PUF cells 105 using the threshold comparison concepts described above for configuration and reading. x,y An exemplary step is to determine the current status / health / trustworthiness of a single PUF cell 105. x,y Although this is first described in a scenario where PUF cell 105 is monitored, the same process is repeated for x,y It will be appreciated that the present invention may be performed on more than one of the above.
[0159] In step S131O, the monitor 1250 measures the physical characteristics of the pair of devices. This may be done in the same manner as described above with respect to step S1120. Optionally, depending on how the PUF device 100 is configured, the monitor 1250 may first measure the physical characteristics of the PUF cell 105. x,y (e.g., if a 1-bit throwaway configuration is used, the monitor 1250 may read the configuration indicator of the PUF cell 105 assigned to the first read state. x,y (It may only be configured to measure the physical properties of
[0160] In step S1320, the monitor 1250 determines the difference between the measured physical property and the read threshold. This difference can be in any suitable units (e.g., volts for the transistor-based PUF design of FIG. 3, capacitance for the capacitor-based PUF design of FIG. 4C, or a % difference, etc.). The read threshold used in this comparison is the value of the read threshold of the PUF cell 105. x,y Therefore, in step S1320, the monitor 1250 checks the read threshold of the PUF cell 105 to determine which read threshold is appropriate. x,y If it has not already done so, it may read the configuration indicator associated with the
[0161] As explained above, the PUF cell 105 is configured so that the measured physical property is a reasonable distance away from the read threshold. ×y For example, the configuration process may be performed on the PUF cell 105. x,y Each of the PUF cells 105 x,y However, over the lifetime of the PUF device 100, each PUF cell 105 may have a measured physical characteristic (at configuration) that is at least X distance from the read threshold that will be used for the PUF cell 105 (i.e., the difference between the configuration threshold and the read threshold is X). x,y The measured physical characteristics of some PUF cells 105 may change (e.g., due to measurement noise, device drift, environmental changes, tampering, etc.). x,y For some PUF cells 105, the measured physical property may move further away from the read threshold (e.g., 1.25X, or 1.5X, etc.). x,y For example, the measured physical property may move closer to the read threshold (e.g., 0.75x, 0.5x, etc.). The closer the measured physical property is to the read threshold, the more likely that PUF cell 105 x,yBy measuring the physical property and determining the difference between the measurement and the read threshold (i.e., its distance from the read threshold), any change that causes the measured physical property to approach the read threshold can be detected.
[0162] The magnitude of the difference may be determined by subtraction in the digital domain. This is hereinafter referred to as the "absolute difference." Alternatively, the absolute difference may not be determined; instead, an approximate difference may be determined. For example, the measured physical characteristic may be directly compared to two or more tolerance thresholds that bracket each associated read threshold. For example, the tolerance thresholds may be set around each associated read threshold at + / -X, + / -0.75X, + / -0.5X, and + / -0.25X. By comparing the physical characteristic to these thresholds, the PUF cell may be effectively assigned to a "bin," e.g., a bin >X, a bin between 0.75X and X, a bin between 0.5X and 0.75X, etc. These comparisons should provide an approximate indication of the difference between the measured physical characteristic and at least one read threshold (e.g., whether the difference is greater or less than one or more of the tolerances).
[0163] PUF cell 105 x,y The difference determined for PUF cell 105 x,y The reliability of the PUF cell 105 in generating the persistent PUF value (in other words, x,y The difference indicates the "health" of the read threshold, which affects the reliability with which the PUF device 100 can generate a persistent PUF output, because the smaller the difference, the more likely it is that further changes in the measured physical property will move the measured physical property to the other side of the read threshold in the future, thus changing the PUF value.
[0164] The status indicator is PUF cell 105 x,y and may be set based on the determined difference. Depending on the implementation, this may take many different forms. For example, simply x,yIn this embodiment, if the difference between the measured physical property and the read threshold is less than a predetermined tolerance, the flag is set to indicate whether the PUF cell 105 is still reliable. x,y Alternatively, the PUF cell 105 may be set to indicate that it is no longer trustworthy. x,y The status of the PUF cell 105 may simply indicate the size (either absolute or approximate) of the difference between the measured physical property and the read threshold. x,y may be a value indicating the likelihood that the PUF cell 105 reliably generates a persistent PUF value (as a non-limiting example, a value between 0 and 1, where 0 indicates that the PUF cell is certain not to generate a reliable persistent PUF value and 1 indicates that the PUF cell is certain to reliably generate a persistent PUF value. The closer the measured physical property is to the read threshold, the smaller the value is set). Depending on the particular implementation, the PUF cell 105 x,y The status can have several different effects, as explained below.
[0165] It will be appreciated that for some read states, there may be more than one read threshold. In this case, it may be the read threshold that is closest to the measured physical property that is significant. This may be determined by determining the difference (absolute or approximate) between the measured physical property and each read threshold. The smallest determined difference is then used to determine the read threshold of PUF cell 105. x,y can be used as an indicator of the reliability of
[0166] Optionally, step S1310 includes: x,y The physical characteristics of the PUF cells 105 may be compared in parallel (e.g., in the same row) x,y ) and / or in series (e.g., two or more PUF cells 105 in different rows). x,y Step S1320 may then determine the difference between some or all of these measurements and the associated read threshold.
[0167] In optional step S1330, a status report may be generated based on the differences determined in step S1320. The status report may be output to any suitable entity, such as some kind of controller device for the PUF device 100 and / or a remote entity (such as the owner or manufacturer of the PUF device 100). The status report may take many different forms, depending on the implementation. The status report typically indicates the overall reliability of the PUF device 100 in generating persistent PUF outputs. This typically includes information about differences between different PUF cells 105 that may compromise the security of the PUF device 100. x,y The status report may include information that does not reveal information related to the PUF output or PUF value generated by the PUF device 100, but instead may provide an overall picture of the PUF device 100 that can help ensure continued reliable operation of the PUF device 100 throughout its lifetime. For example, if the status report includes the magnitude of a determined difference or the number of PUF cells whose physical characteristics are within a predetermined tolerance of the read threshold, the status report may not reveal which of the PUF cells the information refers to.
[0168] By way of non-limiting example, the status report may include any one or more of the following: PUF cells considered unreliable 105 x,y This number may simply be the number of measured PUF cells whose physical characteristics are within a certain predetermined tolerance of the read threshold. Alternatively, the number of PUF cells 105 x,y If only a portion of is measured and compared to a read threshold, it can be a number that is extrapolated by statistical analysis from the determined difference (as will be explained shortly). The number of PUF cells whose likelihood of reliably generating a persistent PUF value is below a predetermined reliability threshold, such as 0.25 or 0.5. Again, this is the number of PUF cells 105 that have been measured and determined to have a reliability likelihood below the threshold. x,y Alternatively, the PUF cell 105 x,yIf only a portion of is measured, it can be a number extrapolated by statistical analysis from the determined likelihood. A measure of the likelihood that the PUF device will fail to generate persistent random numbers (e.g., the reliability score / likelihood of the PUF device 100). This may take any suitable form, for example, a reliability score between 0 and 1, 1 and 10, or 1 and 100, or a coarse measure of the likelihood of failure such as "very reliable," "reliable," "unreliable," or "very unreliable." This is x,y may be determined from some or all of the determined differences. The measured physical properties and any one or more PUF cells 105 x,y an indication of the magnitude of a difference between the at least one threshold of the first PUF cell and the second PUF cell, the magnitude being independent of the associated PUF cell. Any two or more PUF cells 105 x,y A measure of the average magnitude of the difference between the measured physical property of at least one PUF cell 105 and the read threshold of the measured physical property of at least one PUF cell 105. x,y Alternatively, the PUF cell 105 x,y If only a portion of is measured, it can be extrapolated by statistical analysis from the measured all PUF cells 105 x,y It can be the average of 105 PUF cells within a specific error bin x,y A measure of the number or percentage of cells tested that have a measured physical feature magnitude within a bin of 0.25x to 0.75x the read threshold. PUF cell 105 x,y A measure of the standard deviation of (e.g., the standard deviation of the difference between the measured physical characteristic and the closest read threshold of multiple PUF cells).
[0169] From the above, in some implementations, the PUF cells 105 used to generate the PUF output x,y It should be understood that all of the above may be measured by the monitor 1250 and used to generate the status report. x,yOptionally, only some (subset) of the PUF cells 105 may be measured and used to generate the status report. x,y If only PUF cells are measured, the details of the status report are extrapolated from the measurements by statistical analysis, which may take any suitable form, such as linear extrapolation (e.g., if 10 PUF cells out of a total of 200 are measured and one PUF cell is determined to be within the tolerance, then it may be assumed that all 20 PUF cells are within the tolerance), or non-linear extrapolation.
[0170] The reliability likelihood (whether a numerical probability value or some other indicator of likelihood) may be determined using any suitable statistical process. For example, the statistical process may take into account the age of the PUF device 100 and / or estimates of PUF cell drift statistics and / or historical determinations of the difference between the physical characteristic and the read threshold. For example, a statistical model describing how the physical characteristic of the PUF cell may change over time may be used, such that by determining the size of the difference between the measured physical characteristic of the PUF cell and the read threshold, it can be determined whether the physical characteristic of the PUF cell has changed within reasonable limits or by an amount so large that it is still unreliable. For example, the statistical model may determine the likelihood that the measured PUF value from the PUF cell will change in the future (i.e., the physical characteristic of the PUF cell will change to the other side of the read threshold) based on the measured difference between the physical characteristic of the PUF cell and the read threshold. According to the statistical model, if the difference between the measured physical characteristic and the read threshold is relatively large, the likelihood of the PUF cell failure may be relatively low. However, according to a statistical model, if the difference between the measured physical property and the read threshold is relatively small, the likelihood of failure of the PUF cell may be relatively high. This can be scaled up to the likelihood that the PUF output generated by PUF device 100 will change during the lifecycle of PUF device 100 by measuring the physical properties of all or a statistically significant number of the PUF cells and assessing their likelihood of failure using a statistical model. This can provide an indication of the status / health / reliability of the pre-ECC PUF output generated by PUF device 100 (i.e., an indication of the extent to which the PUF output can be trusted to be unchanged, which could be an overall percentage likelihood that the PUF output will change in some way, or an indication of how many bits of the PUF output are likely to change, etc.).Additionally or alternatively, an indication of the status / health / reliability of the post-ECC PUF output may be determined, for example, by using statistical models and statistical analysis to determine an estimate of how many bits of the PUF output generated by PUF device 100 are likely to change, and then determine to what extent ECC can be used to correct it. Exemplary techniques for creating suitable statistical models are presented below.
[0171] The status report can be used in many different ways, for example, to determine whether the PUF device 100 should continue to be used, whether it should be replaced with a new PUF device, or whether the existing PUF device should be reconfigured (using the configuration process described above) to again improve reliability. x,y The status indicators can be used in many different ways. For example, they can be used to indicate the status of some PUF cells 105 x,y from generating future PUF outputs. x,y A particular PUF cell 105 can be configured to generate many different PUF outputs using x,y is identified as not being sufficiently reliable, the PUF output unit 310 / 5300 outputs the x,y In a further embodiment, one PUF cell 105 x,y、 or a predetermined maximum number of PUF cells 105 x,y If the determined difference indicates a relatively low (insufficient) reliability, PUF device 100 may be arranged to reconfigure itself using the configuration process described above. While reconfiguration will likely result in PUF device 100 generating a different PUF output in the future, the reconfiguration process may include registering the new PUF output with any other entities that rely on the persistence of the PUF output.
[0172] The above-described monitoring process may be performed periodically or intermittently throughout the life of the PUF device 100. The monitor 1250 may operate autonomously to perform the monitoring process, or may receive instructions to do so (e.g., from the PUF output unit 310 / 5300 or from an external entity in communication therewith), or may perform it each time a PUF output is generated (e.g., so that a status report may be generated accompanying the PUF output). Optionally, the monitor 1250 monitors particular PUF cells 105 identified as reliability risks. x,y , which can help determine whether those particular PUF cells consistently appear to be a reliability risk or whether noise is causing inaccuracies in the monitoring process. x,y has a measured physical characteristic that is within a predetermined tolerance of the read threshold, the PUF cell 105 x,y may be monitored more regularly than other PUF cells. x,y may be re-evaluated to ensure that measurement noise, etc., has not caused the measured physical property to fall within a predetermined tolerance. In a further embodiment, the value may be flagged for more regular or intermittent monitoring in the future. In a further optional feature, the PUF cell 105 x,y Regardless of how close the physical characteristic is to the read threshold, it may be evaluated multiple times (e.g., one or more additional measurements of the physical characteristic may be taken and compared to the read threshold) to reduce the effects of measurement noise, and the multiple measurements and comparisons may be used (e.g., averaging or discarding outlying results) to determine the health of the cell.
[0173] It will be appreciated that using the above monitoring techniques, any drift, degradation, or tampering of the PUF device can be detected before errors or failures occur. The monitoring process is independent of any ECC that may be performed on the generated PUF output, so that any ECC that is performed does not affect the monitoring process or mask potential problems that may occur.
[0174] Creating a statistical model Optionally, a statistical model describing how the physical characteristics of a PUF cell may change over time (e.g., as a result of any one or more of component drift, measurement noise, temperature changes, etc.) may be developed and used to set configuration thresholds and / or determine the status / health / reliability of a PUF device over the device's lifetime. The statistical model may be created using one or more manufactured PUF devices as a test or modeling device. For example, the physical characteristics of multiple PUF cells in one or more instances of a test PUF device may be measured to determine an initial "spread" of the physical characteristics. In the examples shown in FIGS. 6-10, a normal distribution of the physical characteristics is assumed. However, by measuring the initial physical characteristics of multiple PUF cells, a more accurate distribution of the physical characteristics at the beginning of the device's lifetime may be determined.
[0175] The physical characteristics of a PUF cell are likely to change over its lifetime as a result of any one or more of, for example, component drift, measurement noise, temperature fluctuations, etc. The physical characteristics of multiple PUF cells in one or more test PUF devices may be monitored over time and, optionally, at various potential operating conditions, such as over a range of temperatures. In this manner, a distribution may be developed that describes the change in the physical characteristics over the lifetime (e.g., 10 years, or 20 years, or 30 years, etc.) of PUF cells having a particular starting value for the physical characteristics. As a result, it may be possible to determine, for example, the standard deviation of the change in the physical characteristics of PUF cells having a particular starting value for the physical characteristics.
[0176] This can be useful for setting the configuration threshold to a value that reduces the likelihood that the physical characteristic will cross the other side of the read threshold over the lifetime of the PUF device. As a non-limiting example, the initial distribution or "spread" of the physical characteristic may indicate a standard deviation of 10 mV (in an exemplary transistor-based PUF device). A simulated lifetime distribution for PUF cells with twice the standard deviation (i.e., PUF cells with initial physical characteristics of approximately 20 mV) can then be looked at. The simulated lifetime distribution may indicate a lifetime standard deviation of + / - 4 mV for those PUF cells. Thus, if the read threshold is 0 mV and the configuration threshold is set to 20 mV, a statistical model may indicate that the physical characteristic of a PUF cell would need to change by more than five times the standard deviation of the lifetime distribution over its lifetime, which may be considered an acceptably low chance. In this way, the configuration threshold can be set based on a more informed decision. Furthermore, if the statistical model indicates asymmetry in the initial and / or lifetime distributions, it may be possible to set configuration thresholds that bookend the read thresholds in an asymmetric manner (e.g., a read threshold of 0 mV, with one configuration threshold at -14 mV and the other at +16 mV).
[0177] Similarly, a lifetime statistical model may be useful for monitoring the health / reliability of PUF cells and PUF devices by describing how the physical characteristics of the PUF cells may change over time, optionally over a range of potential operating conditions, such as temperature. The developed lifetime statistical model may describe the statistical characteristics of the changes in the physical characteristics of the PUF cells (e.g., regardless of the initial physical characteristics). As a result, the aforementioned tolerances and error thresholds may be set based on a statistical model of how the physical characteristics may change over time (and optionally the size of the difference between the configuration threshold and the read threshold). In this way, during the lifetime of the PUF device, the statistical model may be used to determine whether the difference between the measured physical characteristics and the read threshold is within normal / expected limits and / or to determine the likelihood that one or more PUF cells will fail. As such, an overall indicator of the reliability / status / health of the PUF device may be determined using the statistical model.
[0178] It can be seen that by measuring the magnitude of the physical properties of the PUF cells, it is possible to develop a more sophisticated understanding of the lifetime characteristics of the PUF device, improve the lifetime reliability of the device by setting suitable read and configuration thresholds, and monitor the long-term health / reliability of the PUF device.
[0179] It will be understood that the above are only a few examples of statistical models that may be developed and used. Any other type of statistical model assumed or created based on experimental data may alternatively be used to set the configuration threshold and / or monitor the health of the PUF device. Furthermore, it is not necessary that any form of statistical model be used to set the configuration threshold or to monitor the lifetime health. For example, lifetime health may be monitored simply by taking the measured difference between the physical characteristic of the PUF cell and the read threshold and comparing it to an arbitrarily set error threshold; if the difference is less than the error threshold, the PUF cell is no longer reliable; if the difference is greater than the error threshold, the PUF cell is still reliable.
[0180] Those skilled in the art will readily appreciate that various changes or modifications can be made to the above-described aspects of the present disclosure without departing from the scope of the present disclosure.
[0181] For example, as previously explained, the statistical distributions depicted in FIGS. 6-10B may be assumed distributions, or the distributions may be determined by the PUF cell 105. x,y The distribution may be determined through measurements of some or all of the PUF cells 105. x,y It may be preferable to find a statistical distribution through measurements of physical properties of the PUF cells 105, based on which configuration and read thresholds can be set. In this manner, read thresholds can be set on a per-device basis, thereby improving the randomness of the determined PUF values. In some embodiments, the PUF device 100 may have more PUF cells 105 than are needed to generate the PUF output. x,y In this case, the PUF cell 105 x,y Some or all of the values can still be measured to determine a highly accurate statistical distribution, and the PUF cell 105 x,y Only a selection of (possibly chosen randomly during configuration) can be configured in use during readout.
[0182] Typically, during a read of a PUF cell, its physical properties (e.g., magnitude and sign) are measured and then compared to one or more read thresholds. However, in a "1 bit / PUF cell-throwaway" embodiment, step S1120 of FIG. 11 may be omitted, and the persistent random PUF value may be determined using a simple comparison of the physical property to a single read threshold (e.g., using a simple comparator or Kwanitza configured to simply indicate which side of the threshold the physical property is on). As a result, "measuring" the physical property may be optional in the process of determining the persistent random PUF value.
[0183] For example, the constituent thresholds of the pair may be set on either side of the read threshold and equidistant from the read threshold if the statistical distribution of the measured physical property is symmetric, however, they may alternatively be set unequal distances from the read threshold if, for example, the distribution is asymmetric.
[0184] In the above, there may be two possible read states for each PUF cell. However, there may be more than two possible read states for each PUF cell. For example, the first read state may be to compare the measurement of the physical property to a first read state threshold, and the second read state may be to compare the measurement of the physical property to second read state threshold(s) (in accordance with the shift threshold and multiple bit implementations described above). The third read state may be to not use the PUF cell for determining the PUF output (equivalent to the second read state of the "throwaway" implementation described above). In this case, the configuration indicator may include, 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 not assigned to the third read state, the second bit may be read to determine whether the PUF cell is assigned to the first read state or the second read state, which informs which read state threshold to use. In a further optional alternative to the read process, there may be no configuration indicator set for any of the PUF cells. In this alternative, read step S1110 may be omitted, and measurements of physical properties of one or more paired devices may be made using any of the measurement processes described above. One or more measurements of the physical properties may then be used to determine at least a portion of the PUF output (e.g., by comparing each measured physical property to a predetermined read threshold). In one particular embodiment where there are multiple PUF cells arranged in an array, measurements of the physical properties of two or more PUF cells may be read simultaneously in parallel, and the two or more measurements may then be used to determine at least a portion of the PUF output.
[0185] In some PUF systems 100, the same decision unit 170 may be used for both PUF configuration and PUF readout. In some alternative implementations, one decision unit may be configured to perform PUF configuration and a different decision unit may be configured to perform PUF readout.
[0186] Although the monitor 1250 and the PUF output unit 310 / 5300 are depicted in FIG. 12 as separate units, they may alternatively be a single unit.
[0187] During the above monitoring process, the monitored PUF cell 105 x,y However, the monitoring process may be used for any PUF device configuration, including those in which the configuration indicator is not set on the PUF cell (e.g., a design in which all PUF cells in the PUF device are used to determine the PUF output and the same read threshold is used for all PUF cells).
[0188] The monitoring process described above may use a tolerance around the read threshold. One or more tolerances may be used for each read threshold. For example, there may be a first tolerance of + / -X around the read tolerance (in this example, "X" is the difference between the read threshold and the configuration threshold used during PUF cell configuration), a second tolerance of + / -0.5x around the read threshold, and a third tolerance of + / -0.2x around the read threshold. In this manner, different "bins" are defined by the tolerances. A PUF cell may be placed into one of these bins by either an absolute measurement of the difference between the measured physical property and the read threshold and identifying which bin the magnitude falls within, or by directly comparing the physical property to the tolerance thresholds. Which error "bin" a PUF cell falls within may indicate the reliability of the PUF cell (e.g., if it is within the first tolerance, it may be very unreliable, but if it is within the third tolerance, it may be quite reliable). Several different methods may be used to determine which error "bin" a measured physical property falls into. For example, a first tolerance may be defined by two error thresholds (read threshold + first tolerance; read threshold - first tolerance), and a second tolerance may be defined by two more error thresholds (read threshold + second tolerance; read threshold - second tolerance). Measurements of the physical property may be compared to these error thresholds to determine which error bin the PUF cell falls within. In this manner, an approximate magnitude of the difference between the measured physical property and the read threshold may be arrived at (e.g., an estimate may be that the difference is >X, or between X and 0.5X, or between 0.2X and 0.5X, or <0.2X). Alternatively, the difference between the measured physical property and the read threshold may be determined by subtracting the measured physical property from the read threshold. The determined magnitude of the difference may then be compared to a tolerance (e.g., x, 2x, 3x, etc.) to determine which error bin the measured physical property falls within.In both embodiments, the difference between the measured physical property and the read threshold is determined to determine a tolerance within which the measured physical property falls. The magnitude of the tolerance may be set to any suitable value, depending, for example, on the design and operation of the PUF device 100. When multiple PUF cells are monitored, the number of PUF cells assigned to each different error bin may indicate the overall reliability of the PUF device. For example, the greater the percentage of PUF cells that fall within error bins close to the read threshold, the less reliable the PUF device may be at generating persistent random PUF outputs. The status report may include information regarding the error bin allocation, such as the number of PUF cells assigned to each different error bin or to error bins that may cause reliability concerns (e.g., error bins close to the read threshold), and / or information related to the percentage of monitored PUF cells assigned to each different error bin or to error bins that may cause reliability concerns. Optionally, the absolute magnitude of the measured physical property of PUF cells within error bins of reliability concerns may be evaluated to make a more accurate determination of potential failures.
Claims
1. 1. A physical unclonable function (PUF) device for generating a persistent random PUF output, the PUF device comprising: a pair of devices for generating a random value based on a comparison of at least one threshold to a physical characteristic of the pair of devices, the physical characteristic indicative of random manufacturing variations between the pair of devices, the random value being for use in generating the persistent random PUF output; a determination unit, measuring the physical property of the pair of devices; determining a difference between the measured physical property and the at least one threshold value, the difference indicating a likelihood that random values generated using the pair of devices are persistent; generating a status report indicating the likelihood that the PUF device will generate a persistent PUF output based at least in part on the magnitude of the difference between the measured physical property and the at least one threshold; outputting said status report.
2. If the magnitude of the difference between the measured physical property and the at least one threshold value is below a predetermined tolerance, the determining unit:
2. The PUF apparatus of claim 1, further configured to set a status indicator associated with the pair of devices to indicate that the pair of devices is within the predetermined tolerance.
3. The determination unit: checking the status indicators associated with the pair of devices; If the status indicator does not indicate that the pair of devices is within the tolerance range, measuring the physical property of the pair of devices; 3. The PUF apparatus of claim 2, further configured to: generate the random value for the pair of devices by comparing the measured physical property with the at least one threshold.
4. 4. The PUF apparatus of claim 1, wherein if the magnitude of the difference between the measured physical property and the at least one threshold is below a predetermined tolerance, the determination unit is configured to flag in the status report that the pair of devices is within the tolerance.
5. 5. The PUF device of claim 1, wherein the status report comprises indicating the magnitude of the difference between the measured physical property and the at least one threshold value.
6. 6. The PUF device of claim 1, wherein the status report is further generated based on at least one statistical model that describes how the difference between the measured physical property and the at least one threshold value may change over time.
7. The PUF device a plurality of pairs of devices, each pair of devices for generating a respective plurality of persistent random values, and the determining unit measuring a physical characteristic of at least two of the pair of devices; 7. The PUF apparatus of claim 1, further configured to: determine a difference between each of the measured physical properties and at least one threshold, each difference indicating a likelihood that a random value generated using each pair of devices is persistent.
8. The PUF device of claim 7, wherein the determination unit is configured to generate the status report based at least in part on the magnitude of each determined difference between the measured physical property and the at least one threshold value.
9. 9. A PUF apparatus according to claim 7 or 8, wherein the status report indicates a number of pairs of devices whose measured physical characteristic is within a predetermined tolerance of the at least one threshold value.
10. The determination unit:
10. The PUF apparatus of claim 7, further configured to estimate, from the determined difference, a number of the plurality of pairs of devices that are expected to have physical characteristics within a predetermined tolerance of the at least one threshold, and wherein the status report indicates that the status report indicates the number of the plurality of pairs of devices that are expected to have physical characteristics within the predetermined tolerance of the at least one threshold.
11. 11. The PUF device according to claim 1, wherein the determination unit is further configured to intermittently repeat measuring the physical characteristics of the pair of devices and determining the difference between the measured physical characteristics and the at least one threshold value.
12. 1. A method for determining trustworthiness in which a Physical Unclonable Function (PUF) device generates a persistent PUF output, the PUF device comprising a pair of devices for generating a random value based on a comparison of at least one threshold value with a physical characteristic of the pair of devices, the PUF output being based at least in part on the random value generated by the pair of devices, the method comprising: measuring the physical property of the pair of devices; determining a difference between the measured physical property and the at least one threshold value, the difference indicating a likelihood that random values generated using the pair of devices are persistent; generating a status report indicating the likelihood that the PUF device will generate a persistent PUF output based at least in part on the magnitude of the difference between the measured physical property and the at least one threshold; and outputting the status report.
13. The PUF device comprises a plurality of pairs of devices for generating a corresponding plurality of random values, and the method comprises: measuring the physical property of two or more of the pairs of devices; determining a difference between each measured physical property and the at least one threshold value; The method of claim 12 , further comprising: generating the status report based on the determined difference between the measured physical characteristic and the at least one threshold value.
14. reading a configuration indicator associated with the pair of devices to determine whether the pair of devices was assigned to a first read state or a second read state during configuration; 14. The method of claim 12 or 13, wherein if the configuration indicator indicates that the pair of devices are assigned to the first read state, the at least one threshold comprises a first read state threshold.
Citation Information
Patent Citations
Method of implementing a physical unclonable function
EP3668003A1
Method for generating a physically unclonable function bit stream with enhanced reliability
JP2018503328A
Reliability enhancement methods for physically unclonable function bitstring generation
US20170364709A1
Random number generator that includes physically unclonable circuits
US20180293052A1