素子のばらつきを使ってチップを個体認証するハードウェア・セキュリティ

PUF(パフ, Physically Unclonable Functions)は、その名の通り物理的に複製困難な機能(性質)を使って、チップの個体認証を行う技術です。IoTの普及とともに、数多くのさまざまなLSIチップが末端で使用されるようになります。もし、改ざんされたチップ(模造品)が気づかないところで組み込まれていると、個人情報が不正に読み出されたり、機器が制御不能に陥ったりするという深刻な状況が生じます。正規品と模造品を見分けるための、チップの個体認証が必要となりますが、ID番号を埋め込んでおく手法では不正に読み出される可能性も否定できません。そこで、チップごとに製造時のばらつきがわずかに異なることを利用して個体認証を行うPUF技術が注目されています。

最もよく知られているPUFが図(上)に示すアービターPUFです。経路Aと経路Bを構成するハードウェアは同一な回路で作られているとすると、入力信号の変化のあと、理想的には同時刻にノードN1とN2が変化することになります。ところが、経路Aと経路B中のnot回路は微細なスイッチ素子(MOSトランジスタ)で作られており、チップ製造時のばらつきにより素子ごとに性能がわずかに異なるため、実際にはN1とN2は同時に変化しません。このばらつきはチップごとに異なり、複製は極めて困難なため、チップの個体認証に使えます。N1とN2のどちらが先に変化したかを到着順判定回路(アービター)で検出し、0/1の値で出力します。さらに、図(下)のように、not回路の間にスイッチボックス回路をはさんで、信号が伝わる経路を切り替えられるようにすると、ばらつきを反映した出力のバリエーションを増やすことができます。例えば、信号C1が1のとき経路を交差するものとすると、上側のnot回路G1の出力は下側の経路に伝わり、下側のnot回路G2の出力は上側の経路に伝わります(C1が0のときは交差は行いません)。信号C2, C3も同様です。C1,C2,C3の値のバリエーションは0,0,0から1,1,1まで合計8通りありますが、それら各々で信号の伝搬経路が異なるので、ばらつきを反映した出力のパターンを増やすことができます。

アービターPUFは、製造ばらつきによりnot回路の遅延時間がばらつくことを利用した手法ですが、その後の研究により、機械学習を使ったモデリング攻撃に対してセキュリティ面で脆弱であることがわかってきています。 宇佐美研究室では、機械学習を使ったモデリング攻撃が困難とされる「素子のリーク(もれ)電流のばらつき」を利用した、新しいPUFの研究を進めています。さらに、FPGAに向けたPUFの研究も行っています。

PAGE TOP