Hardware Technology

How Physically Unclonable Functions Generate Hardware Identity from Silicon Entropy

A technical walkthrough of masked PUF architectures, fuzzy extractor algorithms, and why NIST SP 800-90B entropy thresholds are achievable without battery backup.

How Physically Unclonable Functions Generate Hardware Identity from Silicon Entropy

Every HSM on the market has the same fundamental problem: somewhere in its manufacturing or initialization process, a key had to be generated, stored, or transported. That key is the root of the trust chain. If an adversary touches it — during fabrication, during personalization, during firmware updates, or during physical access — the entire security guarantee collapses. Physically unclonable functions offer a different answer. Instead of storing a secret, the silicon becomes the secret. The question is whether that approach can actually meet production entropy and reliability requirements. Based on our work validating masked PUF architectures across temperature cycling, the answer is yes — with some specific engineering choices that matter.

What Makes Silicon Entropy Unique

Manufacturing variation is unavoidable. When transistors are fabricated on a wafer, atomic-scale differences in gate oxide thickness, dopant distribution, and channel length produce threshold voltage spreads across nominally identical devices. In a ring oscillator PUF, two identically designed oscillator loops will run at slightly different frequencies due to these variations. The difference — which oscillator is faster — is unpredictable before fabrication and unclonable after. No two chips produce the same frequency ordering across the full challenge set.

This is fundamentally different from generating a key in firmware and storing it in eFuse or battery-backed SRAM. In those approaches, there's a point in time when the key exists as plaintext — in a key generator, on a programming fixture, in volatile memory before being written to non-volatile storage. PUF-based identity has no such point. The "key" doesn't exist until it's reconstructed from silicon physics, on demand, on the chip that was fabricated with those exact physical properties. There's nothing to intercept in transit because there was no transit.

Ring Oscillator PUFs vs. SRAM PUFs: The Engineering Trade-offs

Two PUF architectures dominate hardware implementations: ring oscillator (RO) PUFs and SRAM PUFs. Each has different reliability and entropy characteristics that matter for production deployment.

Property Ring Oscillator PUF SRAM PUF
Entropy source Gate delay variation in oscillator chains Power-up state of cross-coupled inverters
Measurement method Frequency counter comparison Read SRAM before initialization
Bit error rate (25°C) ~1–3% ~1–5%
Temperature sensitivity Moderate (gate delay shifts with temperature) Higher (SRAM metastability increases at extremes)
Aging effect NBTI degrades over years; reliability drops Relatively stable
Area overhead High (requires many oscillator pairs) Low (uses existing SRAM array)

Neither PUF type is reliable enough for direct use as a cryptographic key. Raw PUF responses have bit error rates in the 1–5% range across operating conditions — that's too noisy for AES key derivation, where a single flipped bit produces a completely different ciphertext. This is where fuzzy extractors come in.

Fuzzy Extractors: Turning Noisy Silicon Into Stable Keys

A fuzzy extractor is a two-component construction from information-theoretic cryptography. The generation phase takes the noisy PUF response at enrollment time and produces two outputs: a stable, uniformly random key R, and a public helper string P. The reproduction phase takes any later noisy PUF reading R' (within a bounded error distance) plus the stored helper string P, and reconstructs the original key R exactly.

The critical property is that the helper string P reveals nothing useful about R to an attacker who doesn't have access to the physical chip. This is proven under the assumption that the PUF response has sufficient min-entropy — typically required to be at least 128 bits of min-entropy for a 128-bit output key. NIST SP 800-90B provides the entropy assessment methodology that establishes this bound for a specific PUF implementation.

The most commonly used construction pairs a Bose-Chaudhuri-Hocquenghem (BCH) code for error correction with a universal hash function for privacy amplification:

  1. At enrollment, read raw PUF response w of length n bits.
  2. Generate a random codeword c from a BCH code with error-correcting capacity t.
  3. Compute helper data P = w ⊕ c and store P in non-volatile memory (publicly).
  4. At reconstruction, read fresh PUF response w', compute w' ⊕ P = c'.
  5. Decode c' with BCH error correction to recover c; hash c to extract key R.

BCH codes with t = 15 correcting capacity over a 512-bit response achieve bit error rates below 10⁻⁷ after correction, which is acceptable for production key derivation. The tradeoff is information leakage through P — which is why the privacy amplification step (universal hashing to the desired key length) is non-negotiable.

Masked PUF Architecture and Why It Matters

Standard PUF implementations have a known attack class: side-channel analysis of the fuzzy extractor process itself. If the raw PUF response is visible on internal buses during reconstruction, an attacker with fault injection or power analysis capability can recover it. Masked PUF architectures apply hardware masking — splitting secret-dependent computations into multiple shares that are individually independent of the secret — to the fuzzy extractor hardware.

In our architecture, the PUF measurement circuit, the BCH correction logic, and the hash function execute in masked form using first-order Boolean masking with fresh randomness injected at each clock cycle from a NIST SP 800-90B certified TRNG. The mask share separation means that power analysis of any single computation reveals no information about the underlying PUF response. This is the same masking approach used in protected AES implementations certified to FIPS 140-3 Level 3 and Level 4, applied here to the identity generation process itself.

"Masked PUF architectures achieved 99.97% reliability across temperature cycling from -40°C to +85°C in our FPGA validation phase — exceeding the NIST SP 800-90B entropy assessment threshold of 0.9 bits per bit for all evaluated challenge sets."

Meeting NIST SP 800-90B: What the Entropy Assessment Requires

NIST SP 800-90B defines the requirements for entropy sources used in random bit generators. While PUFs are not RBGs in the traditional sense, the same min-entropy assessment framework applies to the raw PUF response when it's used as seed material for key derivation. The assessment requires:

  • Statistical testing of the raw source: SP 800-90B prescribes a suite of 10 tests (longest-run, collision estimate, Markov model estimate, etc.) on a sample of at least 1,000,000 raw bits from the source. Each test produces an independent min-entropy estimate; the final estimate is the minimum.
  • Restart testing: For PUFs specifically, the source must be measured across multiple restart cycles to assess within-device variation. SP 800-90B requires at least 1,000 restarts with 1,000 samples per restart — a 1,000,000-sample matrix that assesses whether power cycling changes the entropy characterization.
  • Conservative estimate application: NIST requires applying the conservative estimate from testing, not the best-case. For our masked PUF, the 10th percentile estimate across test methods was 0.92 bits per bit at 25°C, decreasing to 0.87 bits per bit at -40°C.

The 0.87 bits/bit floor means a 512-bit raw PUF response contains approximately 445 bits of min-entropy. After BCH error correction and privacy amplification to a 256-bit output key, the extractable entropy satisfies NIST's 1.5× oversampling recommendation for a 256-bit output key (which requires approximately 384 bits of min-entropy at input). The chain holds.

What Battery Backup Eliminates — and What It Costs

Traditional FIPS 140-3 Level 4 HSMs maintain key material in battery-backed SRAM with tamper-detection circuits that zeroize on physical intrusion. This design pattern works but carries operational costs that compound at scale: battery replacement schedules (typically 3–7 year service intervals), cold-start key restoration procedures when batteries fail unexpectedly, and the complexity of tamper detection circuits that must remain powered continuously.

PUF-based identity generation eliminates this entirely. There's no stored key to zeroize because there's no stored key. The chip can be power-cycled, stored unpowered for years, and shipped through an adversarial supply chain without the risk that someone extracts key material from a powered-off device — because the key doesn't exist off-chip. The PUF response reconstructs from silicon physics on power-up, and the fuzzy extractor re-derives the key in under 200 microseconds.

For the regulated-industry operators evaluating our design partnership program, this translates directly: no battery maintenance contracts, no cold-start procedures in disaster recovery runbooks, and a tamper-evidence posture that's passive rather than requiring continuous power. The silicon is the secret. That's not a metaphor — it's the architecture.