# 物理複製困難関数(PUF)
## 定義
物理複製困難関数(physical unclonable function, PUF)とは、半導体の製造過程で自然に生じる微細なばらつきから、チップ固有の値を安定的に取り出す仕組みである。*Security Engineering* 第3版第18章によれば、その発想の原型は1980年代にSandia National Laboratoriesが米連邦準備制度の依頼で考案した「偽造不能な紙幣用紙」(光ファイバーを砕いて紙に混ぜ、各紙片固有のスペックルパターンで識別する)にさかのぼる。集積回路への応用は2000年にOliver・Fritz Kömmerlingがチップ包装材に金属繊維を混ぜる方式を提案し、2002年にBlaise Gassend・Dwaine Clarke・Marten Van Dijk・Srini Devadasがシリコン自体の製造ばらつき(リングオシレータ群のカオス的挙動)を利用する方式を提案したことに始まる。実用上は「弱いPUF」(電源投入時に安定した乱数を一度だけ生成し、SRAM PUFのように誤り訂正付きの安定IDやAES鍵として使う)と、研究目標である「強いPUF」(入力ごとに十分に異なる出力を返すハードウェアのチャレンジ・レスポンス機構そのもの)に分けられる。2020年時点の最先端はXOR arbiter PUFで、マルチプレクサの連鎖を経由する信号の相対遅延をアービタで判定し、複数のアービタの出力をXORして解析を困難にする。(Source: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]] ch.18 §18.5.4)
## 横断的知見
(本ページは *Security Engineering* 第18章のみを出典とする初出概念である。まだ複数ソースを突き合わせた横断的知見は蓄積されていない。同章内の複数のPUF方式(Kömmerling方式・Gassend方式・XOR arbiter方式)の対比は、単一ソース内の技術系譜の整理として本節ではなく「定義」に記載した。)
## 未解決の問い
- Fatemeh Ganji・Shahin Tajik・Jean-Pierre Seifertが示した、機械学習によるXOR arbiter PUFの回路モデリング(エントロピーの実質的な低下)に対し、業界がどの程度の対抗策を確立できているかは本章(2020年執筆)の範囲を超える。
- 「強いPUF」の実用化目標は、パーソナライゼーション段階でチャレンジ・レスポンスのペアファイルを保存する必要がある限り、GCHQによるGemaltoの鍵ハッキング事例と同種のサプライチェーンリスクを解消できないと本章は指摘するが、この限界を克服する具体的な設計は示されていない。
- PUFの読み出しにはブートローダーやモニタールーチンへのアクセスが必要であり、これらはパーソナライゼーション・保証・アップグレードの目的でサプライチェーンの一部に開放されがちだと本章は指摘するが、この経路を塞ぎつつPUFの実用性を保つ方法は本章では論じられていない。
- PUFの強度は製造プロセスのばらつきに依存するため、ファブがプロセスを変更すると既存のPUF設計が突然弱くなりうると本章は警告するが、これを継続的に監視・再評価する実務上の手法は示されていない。
## 関連
- ソース: [[@2020__Wiley__Security Engineering 3e - Chapter 18 Tamper Resistance]](§18.5.4)
- 概念: [[耐タンパ性]](PUFはチップレベルの耐タンパ実装技術の一つ)
## 出典
- Ross Anderson, *Security Engineering: A Guide to Building Dependable Distributed Systems*, 3rd Edition, John Wiley & Sons, 2020, Chapter 18, §18.5.4.