Security

PUF: Physical Unclonable Functions for Hardware Security

14 min read Security

PUF: Physical Unclonable Functions for Hardware Security

A Physical Unclonable Function (PUF) is a hardware primitive that exploits the uncontrollable, nanometer-scale manufacturing variations inherent in every integrated circuit to produce a device-unique, unpredictable response. Because these variations are random byproducts of fabrication rather than designed values, even the manufacturer cannot clone or predict them. PUFs let a chip derive cryptographic keys and device identities directly from silicon, eliminating the need to store secrets in non-volatile memory where they can be read, copied, or tampered with.

Quick Summary

What A function whose output depends on uncontrollable physical variation in silicon
Why Secrets are generated on demand, never stored, so they cannot be read from memory
Common types SRAM PUF, Arbiter PUF, Ring Oscillator PUF
Key metrics Uniqueness (~50%), Reliability (>99%), Uniformity (~50%)

The PUF Concept and Process Variation

Where the Randomness Comes From

During CMOS fabrication, parameters such as gate-oxide thickness, dopant concentration, line-edge roughness, and metal-layer geometry vary by tiny, random amounts that no process can fully control. These deviations cause two nominally identical transistors to differ slightly in threshold voltage, drive strength, and parasitic capacitance. A PUF is a circuit deliberately designed so that this device mismatch determines a digital output. The result is a "silicon biometric": a fingerprint that is unique per die, repeatable on the same die, and effectively impossible to reproduce on another.

Challenge-Response Behaviour

A PUF is modelled as a black box that maps an input challenge to an output response. The pair forms a Challenge-Response Pair (CRP). The defining properties are:

  • Unclonable: The mapping depends on physical randomness, not on stored data or a known algorithm
  • Unpredictable: Knowing some CRPs reveals little about others (for strong PUFs)
  • Repeatable: The same challenge yields the same response, within an error margin, across temperature and voltage
  • Tamper-evident: Physical attacks that alter the silicon also alter the response

Strong vs Weak PUFs

PUFs are classified by the size of their CRP space. A strong PUF (e.g. the arbiter PUF) supports an exponential number of CRPs and is used for direct challenge-response authentication. A weak PUF (e.g. the SRAM PUF) exposes only a small, fixed set of responses and is used primarily for cryptographic key generation, where the response never leaves the chip.

SRAM PUF

An SRAM PUF uses the power-up state of standard 6-transistor SRAM cells. Each cell is a pair of cross-coupled inverters; on power-up, before any value is written, the cell settles into a 0 or 1 determined by the mismatch between its two inverters. Cells with strong mismatch reliably prefer one state ("skewed" cells) and form the usable fingerprint, while near-balanced cells are noisy and are filtered out.

  • No dedicated silicon: Reuses existing on-chip SRAM, making it cheap to deploy
  • Weak PUF: Limited CRP space, ideal for key generation
  • Caveat: Requires a true power cycle to re-evaluate; cells must not have been written since power-up
  • Sensitivity: Aging (NBTI) and temperature can shift the bias of weakly skewed cells

Arbiter PUF

An arbiter PUF is a delay-based strong PUF. Two symmetric signal paths are built from a chain of switch (multiplexer) stages. A rising edge is launched into both paths simultaneously; each challenge bit configures whether the corresponding stage passes the signals straight through or crosses them over. The accumulated, randomly mismatched delays cause one edge to arrive first, and an arbiter (a latch) at the end outputs 1 or 0 depending on which path won the race.

  • Exponential CRP space: An n-stage chain accepts n-bit challenges, giving 2n challenges
  • Layout-critical: The two paths must be routed perfectly symmetrically, or systematic (non-random) bias dominates
  • Vulnerability: The linear additive-delay model makes a plain arbiter PUF learnable by machine-learning modelling attacks; XOR or feed-forward variants raise the bar

Ring Oscillator PUF

A Ring Oscillator (RO) PUF instantiates many nominally identical ring oscillators. Each RO's frequency is set by the cumulative delay of its inverters, which varies due to process mismatch. A challenge selects a pair of oscillators; their outputs feed counters over a fixed window, and the response bit is decided by which counter reached the higher value, i.e. which oscillator was faster.

  • Easy to implement on FPGA: Maps cleanly to LUTs and hard counters, popular for prototyping
  • Robust comparison: Comparing relative frequencies cancels out global temperature and voltage drift that affect both ROs equally
  • Cost: Consumes significant area and dynamic power; many ROs are needed for many bits
  • Pairing matters: Compare only adjacent or non-overlapping pairs to avoid correlated, low-entropy bits

Comparing the Three PUF Architectures

Parameter SRAM PUF Arbiter PUF Ring Oscillator PUF
Source of variation Inverter mismatch at power-up Path delay mismatch Oscillator frequency mismatch
Type Weak (key generation) Strong (authentication) Weak / moderate
CRP space Small, fixed Exponential (2n) Limited by RO count
Area / power Very low (reuses SRAM) Low High
FPGA friendly Limited (block RAM init) Hard (routing symmetry) Excellent
Main weakness Aging, needs power cycle ML modelling attacks Area and power cost
Typical use Root key for crypto Lightweight auth protocol ID / key on FPGA

Reliability and Error Correction

A raw PUF response is noisy. The same challenge applied to the same device produces slightly different responses across power cycles, temperature, supply voltage, and aging. For authentication a few flipped bits can be tolerated, but for cryptographic key generation every bit must be reproduced exactly, every time. This gap is closed by a fuzzy extractor.

Helper Data and the Two Phases

A fuzzy extractor (built from a secure sketch plus a randomness extractor) operates in two phases:

  • Enrolment (once): Read the noisy response, then generate and store public helper data W (for example, the syndrome of an error-correcting code, or a code-offset masking the response). The helper data reveals nothing useful about the key on its own.
  • Reconstruction (each use): Read a fresh, noisy response, combine it with W, and use error correction (BCH, Reed-Muller, or repetition codes) to remove the bit errors and recover the identical key.

After error correction, a hash or entropy extractor (such as SHA-256 or a strong universal hash) compresses the corrected bits into a full-entropy cryptographic key. Helper data may be stored in ordinary flash or even off-chip, because it is designed to be public.

Key Generation vs Authentication

Key Generation

Here the PUF is the root of trust. The reconstructed response, after error correction and hashing, becomes a device-bound symmetric key or seeds an asymmetric key pair. The secret exists only transiently while powered and is wiped afterward, so an attacker who decaps the chip finds no stored key. This is the dominant use of weak PUFs like SRAM PUF.

Authentication

A strong PUF supports direct challenge-response authentication. During enrolment, a verifier collects a large database of CRPs. In the field it issues a random, never-reused challenge; the device returns the response and the verifier checks it against the database. Because each challenge is used once, an eavesdropper cannot replay it. The risk is ML modelling, where collected CRPs are used to train a predictive model of the PUF, which is why XOR-arbiter and other non-linear constructions are used.

Evaluating PUF Quality: Key Metrics

PUF quality is quantified using Hamming distance (HD) between response bit-strings. The three core metrics are defined below.

Uniqueness (Inter-chip HD)

Uniqueness measures how different the responses of distinct chips are for the same challenge. It is the average fractional inter-chip Hamming distance over all device pairs. The ideal value is 50%: two random chips should differ in half their bits.

Reliability (Intra-chip HD)

Reliability measures how repeatable one chip's response is across measurements. It is derived from the average intra-chip Hamming distance between a reference response and noisy re-measurements. The ideal value is 100% (zero intra-HD).

Uniformity

Uniformity measures the balance of 0s and 1s in a response (its Hamming weight). The ideal value is 50%, indicating no global bias toward 0 or 1, which maximises entropy.

Core PUF Metric Formulas

Uniqueness = average inter-chip HD = (2 / (k(k-1))) × Σi<j [ HD(Ri, Rj) / n ] × 100% → ideal 50%

Reliability = 1 - average intra-chip HD = 1 - (1/m) × Σ [ HD(Rref, Rt) / n ] → ideal 100%

Uniformity = (1/n) × Σ rb × 100% → ideal 50%

Where: n = response length in bits, k = number of chips, m = number of re-measurements, R = response, rb = individual response bit.

Implementation Best Practices

  1. Budget enough raw entropy: Generate far more raw PUF bits than the target key length, since error correction and entropy compression both consume bits.
  2. Characterise across corners: Measure uniqueness, reliability, and uniformity across the full temperature, voltage, and aging range before trusting the design.
  3. Filter unstable bits: Identify and mask weakly skewed (noisy) cells or near-tied delay pairs during enrolment to cut the error-correction burden.
  4. Match the ECC to the bit-error rate: Pick code strength (e.g. concatenated repetition + BCH) to drive failure probability below the application target, typically <10-6.
  5. Treat helper data as public but integrity-protected: It need not be secret, but tampering with it must be detected to prevent helper-data manipulation attacks.
  6. Wipe reconstructed secrets: Zeroise keys and intermediate values from registers and memory immediately after use.
  7. Harden strong PUFs against ML: Use XOR, feed-forward, or interpose constructions, and never reuse authentication challenges.
  8. Enforce layout symmetry: For delay PUFs, use hard macros and matched routing so the response reflects random, not systematic, variation.

Conclusion

PUFs turn the unavoidable randomness of silicon fabrication into a security asset. SRAM PUFs give a cheap, key-generation root of trust by reusing existing memory; arbiter PUFs provide an exponential challenge-response space for authentication; and ring oscillator PUFs map naturally onto FPGAs. Paired with fuzzy extractors and sound error correction, a PUF lets a device generate cryptographic keys that are never stored and cannot be cloned, while uniqueness, reliability, and uniformity quantify how well it does so.

As IoT and edge deployments scale, PUF-based identity and key provisioning offer a compelling alternative to costly, attackable non-volatile key storage. The engineering challenge lies in achieving high reliability and resistance to modelling attacks across all operating conditions.

Vcores offers silicon-proven hardware security IP, including PUF-based key generation and device authentication cores with integrated error correction, configurable entropy, and comprehensive verification for your FPGA and ASIC designs.

Tags: PUF physical unclonable functions hardware authentication device fingerprint IoT security

Need IP Cores for Your Design?

Vcores offers silicon-proven IP cores for ASIC and FPGA designs. Get high-quality, verified IP with comprehensive documentation and support.

Explore Products Contact Us