The unique inborn fingerprint of each semiconductor device
Physically unclonable functions (PUFs) are used in hardware security primarily for chip identification and authentication. PUFs for semiconductor devices utilize natural cellular-level variations inherent in silicon to create an unclonable, unique device response to a given input.
Every chip ever produced has natural process variations that make it physically unique from one another, even for dies from the same wafer. Differences in threshold voltages due to microscopically small variations between transistors, for example, are inherently random and are able to be exploited to create a genuinely unique cryptographic key inside each chip (hardware level). We can therefore call this unique key a chip’s fingerprint
To date, over 40 types of PUF have been proposed or are commercially available. Typically, they use optical, magnetic, radio frequency, or fully electronic measurement processes to create a “fingerprint”. There are four universal metrics used to evaluate the suitability of a PUF: randomness, uniqueness, robustness, and traceability.
Randomness is the measurement of how difficult it is to predict the value of a PUF. Statistically, an ideal PUF of sufficient size, such as 256 bits, will have a Hamming Weight of 50%. This means that there are an equal number of 0’s and 1’s that make up the value of the PUF (128 bits each, in this example), making the random value of an ideal PUF difficult to guess.
Uniqueness measures the chance that any two PUFs will have similar values (collision). Ideal PUFs are expected to be uniquely different from each other, with a minimal chance of collision between PUFs. Uniqueness can be expressed by inter-die Hamming Distance, with an ideal value of 50%, demonstrating that exactly half of the bits between any two sequences (of the same length) are different.
Robustness refers to the stability of a PUF. In other words, robustness reflects on the reliability of a PUF, regardless of the operating environment or amount of time it has already been deployed in the field. Ideally, a PUF would have a bit-error-rate of 0% to indicate perfect robustness and stability.
Non-traceability refers to the resiliency of a PUF against physical attacks, especially those seeking to determine the values of a PUF. A random PUF value should not be able to be detected or extracted through unauthorized means, such as using reverse engineering or measuring residual charges.
A PUF can provide a safeguarded source for both a Unique Identifier (UID) and/or Hardware Unique Key (HUK). The UID is used for device identification, and the HUK is mainly used to derive other secret keys (as a keying source). Generating a UID and HUK can be a fully on-chip, internal process using a PUF-based chip fingerprint. Remaining portions of the PUF may be used as a entropy source for a TRNG, or other cryptographic algorithms that require high quality static entropy.
Since a UID acts as the unique identifier of each device and a HUK secures applications as the root key in a key hierarchy, they both must be entirely unique for each device. An on-chip PUF safely provides the randomness, uniqueness, and reliability necessary to provision such unique UID and HUK.
By allowing an internal PUF to simplify the provisioning process, compared to the process of external key injection, significant savings are realized when those extra steps in the CT/FT stages of chip production (and their associated costs) are eliminated. Furthermore, an internal provisioning process offers much more security than an external one, as all keys are generated internally, with no chance of external leakage, as they now do not need to be injected from an outside (to the chip) source, which also requires the use of a specially secured clean room environment.