Week 9 - IC Camouflage and Physically Unclonable Functions (PUFs)

2026-04-01  |  Lecture , IC Camouflage , PUFs , Physically Unclonable Functions

Download the lecture slides for this week here: COMP6420_2026T1_Week9_Camouflage_and_PUF.pdf

# COMP6420 Week 9 – IC Camouflage and Physically Unclonable Functions (PUFs)


Part A — IC Camouflage

1. Reverse engineering is both a defensive tool and an attack enabler

Reverse engineering can identify device technology, functionality, and design intent. It can be used to detect piracy and Trojan insertion, but it also enables copying designs and planning targeted Trojan insertions.

2. Positioning: logic locking vs camouflage

Logic locking primarily targets untrusted foundries/factories (prevent overbuilding/unauthorized use when manufacturing is the threat). IC camouflage targets untrusted end users (prevent reverse engineering after chips are in the market).

Traditional standard cells have layout patterns that map cleanly to gate functionality, which makes imaging-based reverse engineering straightforward.

Camouflage uses look-alike cells so that multiple functions share similar-looking layouts, making it hard to distinguish (e.g., NAND vs NOR) from top-down imagery.

A concrete mechanism is dummy contacts: true and dummy contacts look identical from above but behave differently electrically.

4. Practicality and trade-offs (security vs PPA)

Camouflaged gates tend to have higher power, delay, and area than normal gates. Full-chip camouflage is usually impractical; selective camouflage is more realistic.

There is market use, with an estimate of >140M camouflaged ICs produced, suggesting it is feasible in some contexts despite overheads.

The core defender trade-off is security vs PPA (power/performance/area): more camo gates increase ambiguity for attackers but raise overhead.

5. Threat model for camouflage

An attacker may have:

6. “De-camouflaging” attack shape: identify some gates, brute-force the rest

A typical defeat strategy uses two copies:

  1. Use the reverse-engineered netlist to learn structure and identify camo locations.
  2. Use the golden IC to test discriminating inputs that reveal the function of particular camo gates.
  3. Brute-force whatever camo gates remain unresolved.

Two important pattern types drive gate identification:

7. When camo gates are easy vs hard to resolve

Camo gates fall into categories depending on whether they can be:

An interference graph models this: nodes are non-resolvable camo gates and edges represent interference. Attack cost grows:

8. Choosing which gates to camouflage: “output corruptability” matters

Wrong functional assignment of camo gates does not necessarily produce wrong primary outputs, so camouflaging “random” gates can be weaker than expected.

“Output corruptability” captures two ideas:

Selecting non-resolvable gates with high output corruptability increases both attacker brute-force effort and output ambiguity.

A desirable metric is ~50% Hamming distance between outputs across different camo-gate functionality assignments (maximum ambiguity). Random selection can underperform; output-corruptability-aware selection can approach the 50% target.

9. Overheads and “camouflage only what matters”

Camouflage cells can be power hungry (example: ~5×), and even camouflaging ~5% of gates can induce very large power overhead (example figure: ~105%).

Controllers can be a small fraction of overall design size (≤1%), so camouflaging control logic can yield strong leverage: the datapath may become useless without correct control, while overhead remains relatively contained.

10. Broader view: other obfuscation directions

Camouflage is one form of design obfuscation. Alternatives include using embedded FPGA-like structures (eFPGAs), but challenges include large area/cost overheads, frequency reduction, and deciding what to redact.

Attacks analogous to SAT-style attacks exist for camouflage (“De-Camo” attacks). A major open problem is achieving provably secure IC camouflaging.


Part B — Physically Unclonable Functions (PUFs)

11. The key storage problem (and why PUFs exist)

Securely storing digital secrets on a device in a physically attack-resistant way is difficult and expensive. Keys in non-volatile memory can be extracted, and secure key programming requires a trusted manufacturing step. EEPROM also adds manufacturing complexity. Some devices (e.g., RFIDs) are too resource constrained for heavyweight cryptography, and commodity platforms (like FPGAs) may lack convenient secure NVM.

PUFs aim to provide secrets without storing them explicitly, by using inherent physical variation.

12. PUF definition (properties)

A PUF is a physical function that:

13. Manufacturing variation as the entropy source

Even chips from the same lot exhibit random process variation (mask/laser variation, temperature-related variation, etc.), producing measurable differences such as propagation delays (magnitude can be ~5% or more). As technology scales, relative variations become larger.

These delay differences can be used to generate device-unique secret bits.

14. Ring oscillator PUFs (canonical construction)

Ring oscillators can be built from standard digital logic as combinational loops. Each ring oscillator has a slightly different frequency due to process variation. Comparing two oscillators’ frequencies yields a bit (which oscillator is faster).

Implementation constraints are attractive:

15. How many bits can you get?

With N oscillators, there are N! possible orderings by frequency. If orderings are roughly equally likely, this yields about log2(N!) independent bits. Example figures:

16. Challenge–response security (and the “lookup table clone” problem)

If an attacker can collect and store all challenge–response pairs (CRPs), they can emulate the PUF with memory. Defenses include having a very large CRP space (many possible challenges), enabled by configurable delay paths (ASICs) or exploiting configurability on FPGAs.

17. Validating PUFs: uniqueness vs reliability

Two key validation properties:

Error tolerance affects authentication outcomes:

18. Making PUF outputs usable: ECC + hashing

Reliability and security are improved by adding logic:

A stable reconstructed PUF output can be used directly as a symmetric key, and similar constructions can support public/private key generation.

19. Other PUF families

Other common PUF types include:

20. Main challenge: instability can be attacked

PUFs are inherently somewhat unstable; attackers can exploit environmental manipulation (e.g., temperature shifts) to cause authentication failures by inducing too many bit flips for ECC tolerance.