research
  • Physically Unclonable Function (PUF)
  • サイドチャネル攻撃
  • 動的再構成システム

Physically Unclonable Function (PUF)

PUFとは

Physically Unclonable Function (PUF, 物理複製困難関数) は,複製困難な物理的特徴を利用してデバイスに固有の値を出力する関数です.複製困難な物理的特徴としては,紙の繊維構造,不純物を含む光透過性デバイスを通過するレーザー光の拡散パターン,微粒子を散乱させた誘電体の静電容量変化等が挙げられます.PUFの中で,半導体デバイスのばらつきを利用するものを特にSilicon PUFと呼びます.これまでに様々なSilicon PUFが提案されており,その例として Arbiter PUF, Ring Oscillator PUF, SRAM PUB, Butterfly PUF, Glitch PUFが挙げられます.Silicon PUFを利用することで個々のLSIを識別することが可能となり,模倣LSIの流通を防ぐことができると期待されます.

以下では,Silicon PUFを単にPUFと呼びます.PUFは,実装対象デバイスの種類や回路の構成方法によって出力値が変化します.どのデバイスにはどのPUFが適しているか,デバイスによってどのような回路構成にするのが有効であるかを判断するには,PUFの性能を定量的に評価する方法が必要となります.そこで我々は,統計的手法やバイオメトリクス的手法によってPUFの性能を定量的に評価する方法を開発しました.評価手法を45個のSASEBO-GIIボード上のFPGAにArbiter PUFに適用し,その有効性を実証しました.以下に,45個のPUFの出力データと,評価に用いたMATLABプログラムおよびその使用方法を公開します.

統計的手法を用いたPUF性能の定量的評価

45個のSASEBO-GII上のVirtex-5 FPGA上にArbiter PUFを実装し,PUFの性能評価を行いました.セレクタチェーンは64段であるため,チャレンジ長は64 bitです.レスポンスは1 bitです.64 bitチャレンジを128回与えた際の出力 128 bit を,そのFPGAの固有IDとします.1024種類のIDを1024回ずつ生成し,PUFの出力値を解析しました.

提案手法では,以下の性能指標を定量的に評価します.

Rondomness

0/1が偏りなく出力される性質.

Steadiness

同じチャレンジに対して同一のIDが安定して出力される性質.

Correctness

正しいIDが出力される性質.

Diffuseness

同一デバイスに異なるチャレンジを入れた際, 異なるIDが出力される性質.

Uniqueness

異なるデバイスに同じチャレンジを入れた際,異なるIDが出力される性質.

以下に,PUF出力データから各性能指標を算出する手順を示します(クリックで拡大).また,PUFの出力データ,性能解析プログラムおよびその使用法を公開します.これらデータおよびプログラムは,学術研究目的に限り無償で利用可能です.各性能指標の詳細な算出手順については,下記の参考文献をご覧ください.

解析プログラム

参考文献

バイオメトリクス的手法を用いたPUF性能の定量的評価

デバイスに固有のIDを出力するPUFは,LSIの指紋であると考えることができます.そこで,PUFの性能を評価するためにバイオメトリクスの手法を応用することが考えられます.我々は指紋認証で利用される手法をPUFに適用し,性能の評価を行いました.下図に提案手法の概要を示します (クリックで拡大).また,PUFの出力データ (上と同じ),性能解析プログラムのMATLABコードを公開します.これらデータおよびプログラムは,学術研究目的に限り無償で利用可能です.性能解析手法の詳細については,以下の文献を参照してください.

解析プログラムとPUF