暗号ハードウェアの研究開発動向：
フィジカリー・アンクローナブル・
ファンクション
要

すがわら

たけし

菅原

健

旨

フィジカリー・アンクローナブル・ファンクション（Physically Unclonable

Function: PUF）とは、大量生産された製造物の個体識別を行うための技術である。PUF は実用化の段階にあり、PUF を搭載したチップが次々に市場投入されている。その中で、PUF の研究者のみならず、PUF を利用する可能性がある分野の技術者や実務家も PUF の長短所やセキュリティ特性について理解を深めておくことが一段と重要になる。本稿は、代表的な PUF の実現法、 PUF に求められる性質、PUF の応用法、PUF の既存の攻撃法などについて述べる。PUFの代表的な利用法は 2 つある。第 1 は、PUF を暗号の軽量な代替として用いることであり、RFID（Radio Frequency Identifier）のように極限的に計算資源が限られた機器にセキュリティを付与することができる。第 2 は、PUF を暗号鍵の保管庫として利用することであり、IC カードなどの高セキュリティ製品においてリバース・エンジニアリング耐性を付与することができる。
キーワード： 暗号ハードウェア、ハードウェア・セキュリティ、フィジカ
リー・アンクローナブル・ファンクション（Physically Unclonable

Function）..................................
本稿は、日本銀行金融研究所からの委託研究論文である。本稿の作成に当たっては、藤野毅教授（立命館大学）に有益なコメントを頂いた。ここに記して感謝したい。ただし、本稿に示されている
意見は、筆者個人に属し、日本銀行の公式見解を示すものではない。また、ありうべき誤りはすべて筆者個人に属する。

菅原 健

電気通信大学大学院情報理工学研究科（E-mail: sugawara@uec.ac.jp）

日本銀行金融研究所/金融研究/2020.10
無断での転載・複製はご遠慮下さい。

25

1. はじめにフィジカリー・アンクローナブル・ファンクション（Physically Unclonable Function:

PUF）とは、大量生産された製造物―多くの場合、半導体技術を用いて作った集積回路（チップ）―の個体識別を行うための技術である。より詳細には、製造時に生じる制御不可能な製造ばらつきを利用して、その個体に固有なランダム関数を作る技術を指す。製造ばらつきを利用するため、大量生産した製品に、（プログラムなどを書き込むことなく）自動的に個性を付与できる。その個性は制御不可能な製
造ばらつきに由来するので、その個体の複製（クローン）の作成を防ぐことができる。PUF を利用することで、模倣品排除などを行うことができる。

PUF は研究の時期を乗り越え、 PUF を搭載したチップが次々に市場投入されつつある。また、国際標準化も進められており（International Organization forStandardization and International Electrotechnical Commission [2019]）、今後応用が発展していくと期待される。その中で、PUF の研究者のみならず、PUF を利用する可能性がある分野の技術者や実務家も PUF の長短所やセキュリティ特性について理解を深めておくことが一段と重要になると考えられる。中でも、高い安全性の要求を満たすために IC カードを利用してきた金融分野では、他分野に先駆けて PUF の普及が進む可能性が高い。
個体を見分ける技術としては、指紋や虹彩などを用いるバイオメトリクスが広く実用化されている（宇根・松本［2005］）。それとの対比で、「PUF は物体の指紋である」といわれることがある。これは、PUF の一面を正しく表しているものの、両者には違う点もある。特に、チップは電源を切ってもデータを保持し続けるメモリ（不揮発メモリ）を持つことができるため、不揮発メモリに書き込んだシリアル番号を用いて個体識別ができる。そのため、あえて PUF を用いるからには、シリア
ル番号のような代替案と比べたときの利点がなければならない。それがどのようなときであるか（すなわち、読者のケースで有用かどうか）を判断するには、PUF が提供するセキュリティについてよく理解しなくてはならない。
本稿は、セキュリティを扱う技術者・実務家を読者として想定し、彼らの用途に対し PUF が有用であるか、またそうであるとしたらどのように用いるべきかを判断するための情報を提供することを目的とする。本稿が、PUF の導入を検討している技術者、実務家への一助になることができれば幸いである1 。

..................................
1 より網羅的かつ詳細な知識を得るための情報源としては、メース（Maes）による著書（Maes [2013]）
を推薦する。また、本稿の参考文献も参照されたい。

26

金融研究/2020.10

暗号ハードウェアの研究開発動向

2. PUF（1） PUF とは
現代のコンピュータは半導体技術を用いた集積回路として作られている。そのような製品を作る製造者にとっては、通常、品質のばらつきがない製品を大量生産することが目的となる。一方、品質管理や模倣品排除のためには、大量生産された製品の各個体を見分け、追跡する必要がある。
そのような目的のため、従来は、製品に刻まれたシリアル番号などが利用されていた。シリアル番号は、悪意を持った攻撃者による攻撃には耐えられない。シリア
ル番号の重大な課題は 2 つある。1 つは容易にコピーされることである。シリアル
番号はただの数字（もしくは文字）の列であるため、一度みれば、同じシリアル番号を持つ模倣品を作ることは簡単である。これは、データとして書き込まれたシリ
アル番号でも同様である。もう 1 つの課題は、多くの場合、シリアル番号と製品を分離可能なことである。すなわち、シリアル番号の書かれたシールを貼り替えた
り、ある製品のシリアル番号を別の製品にコピーしたりすることができる。

PUF とは、製造時に生じる制御不可能なばらつきを建設的に利用して、ある個体に固有な「関数」を作るための技術である。 PUF の頭文字には次のような意味がある。
イ.

PUF の F（Function）

利用者からみた PUF はチップ固有の関数である。関数であるとは、入力（チャレンジ）を入れると対応する出力（レスポンス）が出てくることを意味する。チップ固有であるとは、違う個体では、チャレンジとレスポンスの関係が異なる（すなわち異なる関数である）ことを意味する。そのため、シリアル番号のように、一度みただけでコピーされたりしない。
ロ.

PUF の P（Physical）

本節（1）イ．の性質は、物理的な理由により生じる。製造者は、同一の設計図から大量の個体を生産するが、その際に発生する製造ばらつきにより、チップごとに異なる関数が自動的に実現される。
ハ.

PUF の U（Unclonable）
ここまで述べたチップ固有の関数はコピーできない。すなわち、クローンを作ることができず、チップと PUF は切り離すことができない。そのため、シリアル番

27

号のように、PUF だけを他のチップに移植するような攻撃はできない。

（2） PUF の簡単な歴史
製造物に固有の関数を作るというアイディアは、 2001 年のパップ（Pappu）による（Pappu [2001]）。これは、気泡を含む透明な樹脂の個体を見分けるというものであり、樹脂にレーザを照射することで得られる干渉パターン（レーザ・スペックル）を出力として用いるというものであった。すなわち、気泡の含まれ方が個体ごとに違うということが個体差の根源であり、それを干渉パターンとして外部から取り出すことができる点に特徴があった。
続いて、半導体で PUF を作ることがチャレンジとなった。もし可能ならば、半導体を用いて作る計算機やメモリと混載することで、セキュリティ上の応用が一気に広がるためである。その後、ガッセンド（Gassend）が半導体で作った回路の性
能のばらつきを用いた半導体製の PUF を提案した（Gassend [2003]）。続いてリム（Lim）が、ばらつきを効率的に取り出す回路構造として、 3 節（1）で詳しく述べるアービター PUF を提案した（Lim [2004]）。
半導体の加工精度を洗練することで回路を微細化することが半導体技術の大目標であり、ムーアの法則と呼ばれる経験則に基づいて継続的な微細化が達成されてきた。計算機の高速化や、メモリの大容量化は、これらの微細化の成果として達成されたものである。その中にあって、回路の個体差・製造ばらつきの低減は乗り越えるべき技術的課題であった。製造ばらつきを積極的に利用するというアイディ
アは、製造ばらつきに悩まされてきた回路技術者・研究者達にとって魅力的なアイ
ディアであり、ガッセンドやリムによる研究成果が発表されて以降、PUF の実現法が次々と提案された。
続いて、PUF と暗号技術の統合が研究上の大きなチャレンジとなった。暗号は通信データを秘匿したり、その改ざんを検出したりするための数理的なアルゴリズムであり、情報セキュリティの基盤技術である。 PUF は、製造ばらつきを積極的に取り出すように回路を動作させるため、ノイズ入りの不確定なデータが出力される。
そのような不確定性を数理的アルゴリズムとどのように組み合わせるかという点が大きな課題であった。それに対し、ファジー抽出器と呼ばれるアルゴリズム（5 節（2）で詳しく述べる）を用いることで、PUF の出力に含まれるノイズを訂正する方法が提案された（Guajardo et al. [2007]）。その結果、PUF の出力を用いて鍵を生成し、その鍵を用いて暗号を利用することが可能になった。

28

金融研究/2020.10

暗号ハードウェアの研究開発動向（3） PUF の実用化動向
PUF は、2000 年代初期から研究が始まり、これまで活発に研究されてきた。そこで、本論に入る前に、PUF の実用化動向について概説する。これは、プレス・リ
リースなどの公開情報に基づくものであり、また、網羅的ではないことに注意されたい。通常、半導体チップを搭載した電子製品の製造には、複数の会社がかかわっている。そこで、以下では、製品の層ごとに説明を行う。
イ.

設計情報の販売

現在の半導体チップの設計では、個々の回路（回路部品）を設計する会社と、それらの回路をチップとしてまとめる会社の分業が進んでいる。その結果、回路の設計情報をソフトウェア・ライブラリのように売買する商習慣がある。そのようなハードウェアの設計情報を IP（Intellectual Property）と呼ぶ。また、自社ではチッ
プ全体の設計・製造は行わず、IP の開発を行うベンダを IP ベンダと呼ぶ。PUF のIP を売るベンダとしては、アメリカのベラヨ（Verayo, Inc.）とオランダのイントリ
ンシック・アイディ（Intrinsic ID, B.V.）が有名である。ベラヨは、アービター PUF
を主たる商品にしている。一方、イントリンシック・アイディは、後述する SRAM
（Static Random Access Memory）PUF を主な製品としている。
ロ.

チップ・ベンダ

チップの設計・製造に責任を持つベンダをチップ・ベンダと呼ぶ。チップ・ベン
ダは、自社が開発・製造するチップへの付加価値として PUF を搭載することがある。PUF はチップ・ベンダが独自に開発することもあるし、IP を購入することもある。
再構成可能なハードウェアである FPGA（Field-Programmable Gate Array）は、

PUF の搭載が最も進んでいるチップの 1 つである。ザイリンクス（Xilinx, Inc.。
Xilinx, Inc. [2016]、Menhorn [2018]）、アルテラ（Altera Corporation。現インテル〈Intel Corporation〉。Altera Corporation [2015]）、マイクロセミ（Microsemi Corporation。
Microsemi Corporation [2016]）などの FPGA ベンダが、PUF の搭載を報告している。
CPU に PUF を搭載する事例もある。一例として、エヌエックスピー・セミコンダクターズ（NXP Semiconductors N.V.）のセキュリティ向けマイクロコントローラ（NXP Semiconductors N.V. [2016]）がある。また、インテルの CPU は、安全にソフ
トウェアを実行する SGX（Software Guard Extensions）と呼ばれる機能において、PUF を利用した鍵管理を行っているという報告がある（Costan and Devadas [2016]）。
以上に加え、認証のみを目的とした専用のチップ（認証チップ）に PUF を搭載したものをマキシム（Maxim Integrated Products Inc.）が販売している（Jones [2017,29

2018]）。
ハ.

メーカー

複数のチップを組み合わせた回路基板や、それらを制御するためのソフトウェア
を開発して、最終製品を製造する会社を、ここではメーカーと呼ぶ。それらの企業
は、上記チップ・ベンダからチップを購入して利用することもあるし、自社でチップを製造することもある。また、外部から購入した FPGA に PUF をプログラムして使うという中間の実現法も可能である。メーカーが PUF の実用化を行った事例
として、三菱電機がプレス・リリースを行っている（三菱電機株式会社・立命館大
学・科学技術振興機構［2015］）。
ニ.

ソリューション・サービス

PUF を利用するには、ハードウェアとしての PUF だけではなく、PUF を制御するためのソフトウェアや、PUF を登録したり追跡したりするためのシステムが必要である。そこで、PUF を利用するセキュリティ・ソリューションを提供する形態がある。これは、元々ソリューション販売を行っている会社が PUF を取り込む場合もあれば、 PUF の IP やチップを販売する会社が合わせてソリューションを提供する場合もある。前者として、凸版印刷（凸版印刷株式会社［2013］）が PUF を搭載した IC タグを用いた真贋判定のサービスを提供すること、また、それをタニタの製品に適用したこと（凸版印刷株式会社［2015］）が知られている。

（4） PUF の 3 つの軸
PUF の機能を理解するうえで、図 1 に示す 3 つの軸が重要である。
イ.

個体の軸

PUF は、ある 1 つの設計情報を元に製造されるたくさんの個体を識別することを
図1

PUF の 3 つの軸：個体、チャレンジ、試行

30

金融研究/2020.10

暗号ハードウェアの研究開発動向目的としている。ある設計情報から製造した NPUF 個の個体を puf1 , . . . , pufNPUF と呼ぶことにしよう。各個体の違いが個体の軸である。
ロ.

チャレンジの軸PUF は関数であるため、あるチャレンジを入れると、対応するレスポンスが得られる。 Nchal 個のチャレンジを c1 , . . . , cNchal と書くことにする。 i 番目の個体に k 番
目のチャレンジを入力することを pufi (ck ) と書く。このように、どの値を入力した
かの違いがチャレンジの軸である。
ハ.

試行の軸

PUF では、微小な個体差を取り出すように回路を動作させるため、レスポンスにはノイズが含まれる。そのため、同じ個体に同じチャレンジを入力したとしても、試すたびに異なるレスポンスが得られる可能性がある。このように、試すたびに生じる違いが試行の軸である。 i 番目の個体に k 番目のチャレンジを入力する試行の

j 番目の試行をjri (ck ) ← pufi (ck ),(1)jと書く。ri (ck ) はレスポンスである。 3 つの添字 i、 j、k がここまで述べた 3 つの軸に対応している。

（5） PUF に求められる性質
本節では、PUF に求められる性質を通して、PUF とはどのようなものであるかを
より詳しく述べる。本節で述べる性質の有無や程度は、PUF を実現するための回路方式を比べる際の基準としても用いられる。ただし、何が「求められる性質」であるかは、本稿執筆時点（2020 年 3 月 13 日）において、研究コミュニティの中でも強いコンセンサスが得られている状態ではないことに注意されたい。本節の内容は、
主に Maes [2013] に基づいている。より強いコンセンサスを形成しようとする試み
が、国際標準化の中で進められている（International Organization for Standardization

and International Electrotechnical Commission [2019]）。
イ.

再現性：レスポンスが安定していること

前述のとおり、PUF のレスポンスにはノイズが含まれているため、同じ個体に同じチャレンジを入力したとしても、試すたびに異なるレスポンスが出る。ノイズが大きいほど、すなわち試行ごとのばらつきが大きいほど、ノイズを訂正するな

31

どの追加の手間が増える。そのため、実用の観点からは、ノイズが小さい（レスポ
ンスのばらつきが小さい）ことが好ましい。その性質を表すための指標が再現性（reproducibility）である。これは、試行の軸に関する性質である。
ロ.

ユニーク性：個体同士が似ていないこと

PUF を用いる究極的な目的は、各個体を見分けることにある。そのため、個体ごとの違いが大きいほど優れた PUF であるといえる。個体ごとの類似度は、別の個体（例えば puf1 と puf2 ）に同じチャレンジを入力したとき、レスポンスがどれく
らい似ているかによって表される。もし、相異なる個体がよく似たレスポンスを出すと、それらを同一であると誤判定してしまう可能性が高まる。このように、個体差の大きさを示す指標をユニーク性（uniqueness）と呼ぶ。これは、個体の軸に関する指標である。
図 2 に再現性とユニーク性の関係の模式図を示す。ある PUF に同一のチャレンジを入力し続けたときのレスポンスの散らばりを点線の円で表現している。再現性がよいということは、この散らばりが小さい（円の半径が小さい）状態として理解できる。一方、異なる個体から得たレスポンス同士は離れていて欲しい。ユニーク性がよいとは、このような円同士の距離が遠い状態であると理解できる。
ハ.

耐クローン性：クローンを作ることができないこと

PUF では、チップ固有の関数を利用することで、ある個体を別の個体と識別する。この識別法がうまくいくための前提条件として、ある個体とよく似たクローンを作ることができないことが必要である。そうでなければ、クローンを用いたなりすましができてしまう。耐クローン性には 2 つの意味がある。 1 つは、正規製造者であってもクローンを作ることができないこと、もう 1 つはクローンを試みる攻撃への耐性を持つこと（クローンを作るための既知の攻撃が存在しないこと）である。
正規製造者であってもクローンを作ることができないとは、PUF の個体差の根源
図2

PUF の再現性とユニーク性

32

金融研究/2020.10

暗号ハードウェアの研究開発動向にある製造ばらつきが制御不可能であることを意味する。半導体では、製造時に行うナノメートル級の微細加工における製造ばらつきがあり、制御不可能であると信じられている。
もし、製造ばらつきを制御することが不可能であっても、別の方法でクローンを作ることができてしまえば問題である。実際、そのような攻撃法がいくつも知られている。そこで、（i）そのような既存の問題がないこと、（ii）問題が存在するが、適切な対策法が実施されていること、（iii）攻撃が成功するリスクが許容できるレベルにあることなどが必要である。攻撃については、 6 節で詳しく述べる。
ニ.

予測困難性と一方向性：暗号アルゴリズムのように使えること

PUF の理想は、暗号と遜色ない性質を持つ関数を実現することにある。そこで、
暗号アルゴリズムに求められる性質を PUF に移植した性質が予測困難性と一方向性である。それらの性質があれば、既存の暗号アルゴリズムを PUF で置き換える
ことが可能となり、暗号と PUF が融合した高機能なプロトコルなどを実現できる。
予測困難性とは、たとえ既知のチャレンジとレスポンスのペアを用いて事前学習したとしても、あるチャレンジに対応するレスポンスを（実際に計測することなく）予測することが難しいことを表す。これは、規則性のないランダム関数であるという理想を表したものである。一方向性は、レスポンスが与えられたとき、対応
するチャレンジを求めることができないことを表す。これもまた、PUF が作る関数
が規則性のないランダムなものであって欲しいという性質を表したものである。
実用的な PUF から得られるチャレンジ・レスポンスの関係には、規則性が現れがちであり、その規則性を利用すれば予測困難性・一方向性を破る攻撃を実現できる可能性があることに注意が必要である。 6 節（1）で述べる機械学習攻撃は、その1 つである。「予測困難性を持つような PUF を作ることができるか？」 が本分野の重要な未解決問題である（Maes [2013]）。そのため、予測困難性・一方向性の欠如をリスクとして受容する、あるいは、それらの性質がなくてもよい PUF の利用法を採用する必要がある。
ホ.

耐タンパー性：チップを不正に開封しようとすると痕跡が残ること

PUF は、チップを削って内部にプローブを当てるような、苛烈な攻撃にさらされる可能性がある。そのような攻撃が行われたとき、攻撃の痕跡が残る性質のことをタンパー証跡（tamper evidence）と呼ぶ。特に、チップを削ったりする加工を行う
ことで、PUF に関係する物理的な状況が変わってしまい、そのチップに固有な関数
が別の関数に変わってしまうことを表す。そのような性質を有する PUF があれば、それを対策法として利用することができる。
ただし、実験でこの性質を検証した事例は少なく（Kerst et al. [2005]、鳥居ほか［2015］、山本ほか［2015］）、実際に耐タンパー性を有する PUF を作ることができ33

るかもまた未解決問題であるといえる。
ヘ.

その他の性質ここまで述べたセキュリティに関する性質に加え、実装に関する優れた性質を持つことが好ましい。特に、PUF は、暗号の軽量な代替として利用されることがある。そのような場合、暗号と比較して軽量に実装できることが重要な性質となる。
また、6 節で述べるように、特定の PUF の実現法に特有の攻撃がある。そのような攻撃がないことや、低コストで対策できることもまた実装にかかわる重要な性質である。
どのくらい容易に PUF を実現できるかという点も重要な性質である。いくつかの PUF は FPGA でも実現できる（Guajardo et al. [2007]）。そのような PUF は、自社でチップを製造しない企業（FPGA のチップを調達し、それをプログラムして利用する企業）でも利用できるという利点がある。また、標準的な半導体の製造技術（CMOS〈Complementary Metal Oxide Semiconductor〉論理回路プロセス）で実現できる PUF は、低価格で製造できることや、外部の会社に製造を委託できるという利点がある。

3. PUF の実現例

本節では、PUF がどのように実現されるかを説明する。 PUF の実現法はたくさんあるが、中でも最も有名なものとして アービター PUF（Lim [2004]）と SRAM

PUF（Guajardo et al. [2007]、Holcomb, Burleson, and Fu [2009]）について説明する。

（1） アービター PUF
アービター PUF は、回路の中を信号が伝わる時間（信号遅延）を個体差の根源として利用する（Lim [2004]）。回路の中では、論理値 0 を VL ボルト、論理値 1 を

VH ボルトのように、異なる電圧で論理値を表現する。あるタイミングで電圧を VLから VH に切り替えると（すなわち論理値を 0 から 1 に切り替えると）その変化は電気信号の変化として回路の中を伝わる。そのときどのくらい速く信号が伝わるか
は、回路を構成するトランジスタや配線の出来栄えによって個体差を持つ。
図 3 に、アービター PUF の回路構造を示す。アービター PUF は、信号遅延を効率的に抽出するために、2 つの異なる経路で信号の伝搬を競争させ、どちらが速かったかによってレスポンスを決定する。すなわち、ある経路が速ければレスポン

34

金融研究/2020.10

暗号ハードウェアの研究開発動向

図3

アービター PUF

スは 0、もう一方が速ければレスポンスは 1 というように、いずれが速かったかを
レスポンスとして出力する。アービター PUF の後半部は、どちらに速く信号が届いたかを判定するための回路である。
アービター PUF の前半部は、信号が伝搬する経路である。この経路は、入力したチャレンジによって変化するようになっている。すなわち、チャレンジを変える
たびに対象の経路が変わるので、対応するレスポンスが変化する。そのための回路は、回路を信号が直進するか交差するかを選択するスイッチ・ボックスを基本とする。すなわち、対応するチャレンジのビットが 0 ならば直進、 1 ならば交差とする。このようなスイッチ・ボックスをチャレンジのビット数だけ縦列接続すること
でアービター PUF を構成する。

（2） SRAM PUF
SRAM とは、小型・高速だが電源を切ると中身が消えるメモリ（揮発メモリ）である。マイクロコントローラなどのチップ内にあり、プログラムやデータなどをチップ上に一時的に保管するために利用されている。通常のメモリと同様に、アドレスで指定した箇所にデータを読書きすることができる。
図 4 に SRAM の構造を示す。SRAM は、1 ビットの情報を記録する最小単位であるメモリ・セルを行列状に並べたものである。行列の周囲には、アドレスに応じて特定のメモリ・セルのみを有効化する回路（行デコーダーと列デコーダー）がある。それらを用いて特定のメモリ・セルを有効化することで、読出し・書込みを選択的に行うことができる。メモリ・セルは、物理的に安定な状態を 2 つ持っており、各状態が論理値 0 と 1 に対応する。ある安定状態にあるメモリ・セルは、電源

35

図4

SRAM の構造が投入されている間はその状態を保持し続ける。そうすることでデータを記憶できる。また、外部から電圧を加えることで、片方の安定状態をもう片方の安定状態に遷移させることが、メモリへの書込みに対応する。

SRAM PUF とは、電源投入直後に、まだ何も書き込んでいない SRAM から読み出した値（初期値）を個体差として利用する PUF である（Guajardo et al. [2007]、

Holcomb, Burleson, and Fu [2009]）。SRAM PUF では、アドレスがチャレンジ、そのアドレスに格納された初期値がレスポンスとなる。電源投入直後、メモリ・セルは不安定な状態からスタートする。しかし、起動からごく短時間のうちに、 2 つの安定状態のうちいずれかに遷移する。いずれに遷移するかによって、初期値が 0 にな
るか 1 になるかが決まる。 0 と 1 のいずれに遷移するかは、メモリ・セルを構成す
るトランジスタの特性（しきい値電圧や駆動電流）によって決まるが、この特性が製造ばらつきを持つ。その結果、SRAM の初期値は個性を持つ。

（3） PUF の 2 つの使い方：コントロールド PUF と アンコントロー
ルド PUF
PUF には大きく分けて 2 つの方法がある。1 つ目の方法は、ユーザーに対してPUF の関数 pufi をそのまま公開する方法である。このように、pufi へのアクセス制御がない PUF の利用法をアンコントロールド PUF（Uncontrolled PUF）と呼ぶ（図 5 左）。それに対し、ユーザーに PUF の生の入出力にアクセスさせない方法をコントロールド PUF（Controlled PUF）と呼ぶ（図 5 右）。

36

金融研究/2020.10

暗号ハードウェアの研究開発動向

図5

コントロールド PUF とアンコントロールド PUF

アンコントロールド PUF はより素朴な利用法であり、アクセス制御のためのデジタル回路が不要であることから、回路をより小型にすることができるという利点がある。一方、デジタル回路による制限がない分、アンコントロールド PUF の方がより強力な攻撃にさらされる。特に、ユーザー（ここでは攻撃者）は、ありうるすべてのチャレンジを pufi に入力し、対応するレスポンスを入手して対応表を作ることができる。この対応表を利用すれば、与えられたチャレンジに対し、元の PUFと同じレスポンスを生成することができる。これは PUF のクローンを作る攻撃である。このような攻撃は、PUF が提供するチャレンジとレスポンスのペア数を、全探索できないほど大きくすることでしか対策できない。
チャレンジとレスポンスのペア数を大きくすることは、どの PUF でも可能なわ
けではない。アービター PUF は、回路面積の増加に対して、チャレンジ数が指数的に増加する（スイッチ・ボックスの個数 n に対し、チャレンジ数が 2n となる）。
そのため、ある程度大きい値、例えば n = 128 とすれば、ペア数は 2128 のように莫大な数になり、全通り試すことはできなくなる。一方、SRAM PUF は、記憶できるビット数がチャレンジ数に対応するため、回路面積に対してチャレンジ数が線形にしか増加しない。典型的な SRAM のサイズは、数キロバイトから数メガバイトであり、 SRAM PUF を全探索攻撃から防ぐことは基本的にはできない。そのため、SRAM PUF は コントロールド PUF として利用するのが基本である。

4. PUF に関連する技術

PUF は、暗号と組み合わせて利用することが一般的である。そのため、PUF の利点を理解するには、暗号の基礎について知っておく必要がある。そこで本節では、暗号を用いた認証、および鍵管理と物理セキュリティについて説明する。

37

（1） 暗号技術による認証
イ.

共通鍵暗号

共通鍵暗号とは、あらかじめ秘密鍵を交換しておいた 2 人が、情報を隠しながら（秘匿しながら）通信を行うための技術である。
暗号化アルゴリズム E とは、メッセージ m を暗号文 c に変換するアルゴリズムであり、それらの対応関係は鍵 k によって変化する。鍵 k を用いてメッセージから暗号文を得ることをc ← Ek (m),(2)

と表現する。
暗号化アルゴリズムは、対となる復号アルゴリズムを持つ。送られてきた暗号文

c を、鍵 k を用いて復号し、元のメッセージを復元することをm ← Ek−1 (c),(3)

と表現する。秘密鍵 k を持たない人は、暗号文 c をメッセージ m に戻すことができない。そのため、安全に通信を行うことができる。
ロ.

認証

通信相手が思った相手であること（すなわち、なりすました攻撃者ではないこと）を確認すること、およびそのための技術を認証（authentication）と呼ぶ。相手が誰だか確認したいと思っている人を認証者、 確認される人を被認証者と呼ぶ。
あらかじめ交わしておいた対となる言葉を知っているかどうかで相手を確認する
合言葉は、素朴な認証の一例である。実は暗号を用いた認証も同様であり、認証者と被認証者が、あらかじめ交換しておいた秘密鍵を持っているかどうかを確かめる
ことで行う。ただし、盗聴者がいるため、秘密鍵を直接みせあって確認するわけにはいかない。
秘密鍵を露出することなく認証を行う手段にチャレンジ&レスポンス認証がある。これは、暗号化（(2) 式）を用いて認証を実現するための手続きである。チャレ
ンジ&レスポンス認証の流れを図 6 に示す。認証者と被認証者は、事前に秘密鍵 kを共有している。認証者は、通信相手が k を持っているかどうかを確認したい。そこでまず、認証者は、ランダムなメッセージ m を生成し、チャレンジとして被認証者へ送付する。被認証者は、受け取った m を k で暗号化し、レスポンス c = Ek (m)を生成して返送する。認証者は、自分が送った m を k で暗号化し、 c と一致するかを検証する。一致した場合、認証者は、通信相手が k を持つこと、すなわち相手が38

金融研究/2020.10

暗号ハードウェアの研究開発動向

図6

チャレンジ&レスポンス認証

正規の被認証者であることを確認できる。攻撃者は、 k を持たないため、認証成功に必要なレスポンス c = Ek (m) を生成できない。そのため、攻撃者が被認証者になりすますことはできない。
チャレンジ m は、認証のたびに異なる値でなければならない。もし、同じチャレンジが繰り返されたら、次のような攻撃ができてしまう。攻撃者は、m と c の組を盗聴して記録しておく。もし、次に同じチャレンジ m が発生したら、記録しておいたレスポンス c を返信することで、認証に成功する。このように、過去の通信を記録して、後から同じデータを再生（リプレイ）する攻撃をリプレイ攻撃と呼ぶ。

（2） 鍵管理と暗号モジュール
ここまで説明したように、暗号における秘密は鍵に宿っている。これは、家や部屋のセキュリティが、扉の鍵に宿っているのと同じ関係である。そのため、鍵を安全に保管することは、暗号アルゴリズムを運用するうえでの大前提である。しかし、デジタル・データである鍵の保管は、物理的な鍵の保管と比較しても難しい。
鍵自体をどのようにして守るかという問題を鍵管理と呼ぶ。
物理的な鍵と同様に秘密鍵を持ち歩きたいことがある。しかし、人間が鍵を記憶するのは大変だし、また、直接鍵を入力する方式は、入力時に盗みみられるリスクがある。そこで、鍵を保管する不揮発メモリや、暗号アルゴリズムを実行するための計算機一式を 1 チップに封入する実装方式がよく用いられる。そのような実装方
式を暗号モジュールと呼ぶ。

IC カードは代表的な暗号モジュールである。 IC カードは、暗号を用いて、通信39

相手が正規リーダであるかどうかを、4 節（1）ロ．で示したような方法を用いて認証する。IC カードの内部には認証のための秘密鍵が埋め込まれており、同じ秘密鍵を持つリーダのみを相手として認めるのである。カードは、相手が正しいリー
ダであることが確認できたときに限り、支払いなどの安全性が必要な処理を行う2 。
そのようにすることで、攻撃者が作ったリーダが、IC カードに不正な支払いをさせることを防いでいる。

（3） 物理攻撃とリバース・エンジニアリング
暗号モジュールでは、物理的な攻撃への対策をしなくてはならないことがある。

IC カードの例を引き続き考える。 IC カードの正規利用者が攻撃者になることがある。もしカードの内部にある秘密鍵を奪取できたら、IC カードを偽造するなどして不正な決済処理を行い、金銭的な利益を上げることができるためである。正規利用者（ここでは攻撃者）は、IC カードを物理的に所有しているため、チップを開封して電極を当てるような、物理的な攻撃を行うことができる。
暗号モジュール内部の不揮発メモリに記録された秘密鍵を読み取る攻撃法の 1
つに、静的リバース・エンジニアリングがある。リバース・エンジニアリングが静的であるとは、チップに電源が投入されていない状態で解析を行うことを表す。
すなわち、チップを開封して内部を観察することで、記録された情報を復元する攻撃である。金属配線のパターンでデータを記録する書込み専用メモリ（マスクROM）については、光学顕微鏡で配線パターンを見ることで、記録されたデータを復元できることが知られている（Torrance and James [2011]）。また、不揮発性メモ
リ（フラッシュ・メモリや EEPROM〈Electrically Erasable Programmable Read Only

Memory〉）でも、電子顕微鏡などで観察すれば、記録されたデータを復元できることが知られている（Courbon, Skorobogatov, and Woods [2016]）。
以上の攻撃は、暗号などのセキュリティ機能をすべて迂回して鍵を直接みに行
くため、非常に強力な攻撃法である。また、電源オフ時のチップを解析するため、「侵入を検知して鍵を消去する」といった対策も取ることができない。本稿で後ほどわかるように、このような静的リバース・エンジニアリングへの対策として利用できることが PUF の利点の 1 つである。

..................................
2 携帯電話の利用者認証のための SIM（Subscriber Identity Module）カードや、建物の入退室管理に用いるカード・キーやトークン、車のスマート・キーも暗号モジュールである。

40

金融研究/2020.10

暗号ハードウェアの研究開発動向

5. PUF の応用（1） PUF を用いたチャレンジ&レスポンス認証
共通鍵暗号 Ek を PUF による関数 pufi で置き換えることで、4 節（1）ロ．で述べたチャレンジ＆レスポンス認証を PUF を用いて行うことができる（Gassend [2003]）。
後の説明をみればわかるように、これは pufi を利用者に公開する方法（すなわちアンコントロールド PUF）である。

pufi を用いてチャレンジ＆レスポンス認証を行うには、1 つ問題がある。認証のためには、認証者と被認証者が同じ関数を共有する必要がある。共通鍵暗号を用いる方法では、秘密鍵 k を共有することで、その要求を満たしていた。しかし、PUFは複製不可能であるため、認証者と被認証者が同一の PUF を持つことはできない。
以上の課題を解決するために、チャレンジとレスポンスのペアのリストをあらかじめ作成しておき、それを認証者が保管するという方法がある。認証時には、被認証者が返信したレスポンスと、事前に作成しておいたリストを突合することで、相手が正しいかどうかを確認することができる。利用を始める前段階のことを登録
フェーズと呼ぶ。一方、リストを用いて相手を確認することを認証フェーズと呼ぶ。詳細な流れを図 7 に示す。
登録フェーズは、PUF を搭載する製品を出荷する前、メーカーの工場などで実行する。このフェーズの目的は、将来の認証で用いるチャレンジとレスポンスのペアを記録することにある。認証者は、ランダムに生成したチャレンジ ci を PUF に入力し、対応するレスポンス ri を得る。そのようにして得たペア (ci , ri ) をデータベースに記録しておく。
認証フェーズでは、登録フェーズで蓄積したペアを用いてチャレンジ＆レスポン
ス認証を行う。認証者は、記録しておいたペア (ci , ri ) を選び、ci を被認証者に送信する。被認証者は、 ci を PUF に入力し、レスポンス ri を取得し、その ri を認証者へ返信する。認証者は、あらかじめ記録してあった ri と返信されてきた ri を比較し、もし両者が一致すれば認証成功となる。
ただし、レスポンスが短い場合（例：アービター PUF の 1 ビットのレスポンス）
は、当てずっぽうの返信でも ri に一致してしまう可能性がある。加えて、レスポン
スにはノイズが含まれることがあるため、たとえ真の個体であっても、いくつかのレスポンスで不一致（ri  ri ）となる可能性がある。そこで、相異なるペアによる認証を繰り返し、一定以上の割合で ri = ri となるときに認証成功とする方法が用い
られる。

41

図7

PUF を用いたチャレンジ＆レスポンス認証

リプレイ攻撃がありうるのでペアは再利用できない。そのため、登録フェーズで作成したペアは、認証のたびに消費される。使い切ってしまった場合は、その PUFを破棄するか、もう一度登録フェーズを行う必要がある。そのため、その製品の寿命もしくは登録フェーズを行うことができる間隔を考えて、登録フェーズで作成するペアの個数を決める必要がある。 1 度の登録フェーズによって可能になる認証回数が増えるほど、サーバが保存しなくてはならないデータ量は増加する。

（2） PUF を用いたセキュア鍵ストレージ
PUF のレスポンスを、その PUF 固有の鍵（PUF 鍵） kPUF に変換し、暗号の秘密鍵として用いる手法がある。そのとき、レスポンスに混じるノイズ（誤り）が課題となる。なぜなら、 1 ビットでも誤りがあれば暗号は動かないからである。そこ
で、レスポンスを PUF 鍵 kPUF に変換するファジー抽出器（Fuzzy Extractor）と呼ばれる技法を用いる必要がある。
イ.

ファジー抽出器

ファジー抽出器とは、セキュリティを保ちながら、ノイズ入りデータの誤り訂正を行う技術であるといえる。この技術を用いると、ノイズ入りのデータから秘密鍵を作ることができる。ファジー抽出器は、元々はバイオメトリクス情報から秘密鍵を作るために考案され（Dodis, Reyzin, and Smith [2004]）、後に PUF に応用された（Tuyls et al. [2006]）。
ファジー抽出器の基本的なアイディアは、通信や記録メディアで生じるノイズを訂正するための技術である誤り訂正符号を用いることで、ノイズの影響を打ち消す

42

金融研究/2020.10

暗号ハードウェアの研究開発動向

ことにある。ただし、誤り訂正符号は、あらかじめ決めておいたデータ（符号語）に入ったノイズしか訂正できないという制限があるため、PUF のレスポンスを直接訂正することはできない。そのギャップを埋めるために、ヘルパー・データという（公開の）補助情報を用いる。加えて、ヘルパー・データの公開に伴う情報の漏れを補正するための仕組みを組み込んだものがファジー抽出器である。
ファジー抽出器は、レスポンス R から秘密鍵を作るためのアルゴリズム Gen と、
ノイズ入りのレスポンス R から同じ秘密鍵を再生するためのアルゴリズム Rep から構成される（図 8）。なお、PUF のレスポンスが短い場合（例：アービター PUFのレスポンスは 1 ビット）は、異なるチャレンジに対応する複数のレスポンスを取得し、それらを連接したものを R として用いる。

Gen は、PUF の個体や、それを搭載する製品を製造したときに、一度だけ行う。
アルゴリズムへの入力はレスポンス R であり、その結果、その PUF 鍵である kPUFと、前述の補助情報であるヘルパー・データ W を得る。このヘルパー・データは、後で使うため、どこかに記録しておく必要がある。ただし、ヘルパー・データは公開情報であり、攻撃者にみられても問題ないため、チップの外部にある不揮発メモ
リ（SD カードなど）に記録しておくのが典型的な保存方法である。

Rep は、kPUF を再生するためのアルゴリズムであり、 PUF を用いる都度（典型的には、PUF を搭載するチップが起動する都度）実行される。入力はノイズ入りのレスポンス R と、あらかじめ保存しておいたヘルパー・データ W である。その結果、kPUF が出力される。 Rep 内部で実行される誤り訂正処理により、 R が含まれるノイズが許容範囲であった場合、この鍵は Gen において得たものと同一となる。
ロ.

PUF を用いた鍵ストレージ
ファジー抽出器を用いると、PUF のレスポンスから、PUF 鍵を生成できることを示した。このような PUF 鍵を用いると、秘密鍵を安全に保管するための保管庫が実現できる（Tuyls et al. [2006]、Menhorn [2018]）。図 9 に、概略図を示す。この方式の目的は、秘密鍵 k を安全に保管することである。
図8

ファジー抽出器43

秘密鍵 k の登録は次のように行う（図 9 上）。まず、Gen を呼び出して PUF 鍵kPUF とヘルパー・データ W を得る。続いて、 kPUF を用いて k を暗号化して、暗号
文 c = EkPUF (k) を得る。以上の結果得られた W と c は、チップ外部の不揮発メモリに記録しておく。チップは kPUF を消去して停止する。
続いて、次にチップが起動したときの動作を説明する（図 9 下）。チップは Repを呼び出して kPUF を再生する。チップは、保存しておいた c = EkPUF (k) を受け取り、これを復号することで k を復元する。
攻撃者はチップ外部に記録された W と c を盗聴できるが、それらから kPUF を得ることはできない。また、 kPUF は、一度もチップの外に出ることはなく漏洩しない。

（3） PUF を活用する際に留意すべき点
本節では、ここまで述べた PUF の代表的な利用例であるチャレンジ＆レスポン
ス認証と鍵ストレージに関する利害得失について論じる。
イ.

チャレンジ＆レスポンス認証

組込機器にネットワーク接続機能を付加することで、機器に付加価値を追加する
技術的潮流がある。そこで、限られた計算資源を用いて暗号を実現するための軽量暗号の研究が進められている（CRYPTREC 軽量暗号ワーキンググループ［2017］）。
しかし、暗号としての複雑さを実現するために必要なハードウェアの資源の量には限界がある。そのように計算能力が制限された用途としては、RFID （Radio

Frequency Identifier）などが考えられる。
PUF には、暗号よりも少ないハードウェア資源で実現できるものがある。そのよ
図9

PUF とファジー抽出器を用いた鍵ストレージ44

金融研究/2020.10

暗号ハードウェアの研究開発動向

うな PUF を用いることができれば、暗号を実装することができないほど計算能力が制限された機器でもチャレンジ＆レスポンス認証を行うことができる。この軽量さが、PUF を暗号の代替とする利点である。
一方、5 節（1）で述べたように、認証に必要なチャレンジ＆レスポンスのペアをあらかじめサーバ側に保存しておかなくてはならない点が欠点である。そのため、製品において利用するチャレンジとレスポンスのペア数が制御可能な用途に適している。また、アンコントロールド PUF として利用することから、後述する機械学習攻撃などを考慮する必要がある。
ロ.

鍵ストレージPUF における鍵ストレージの第 1 の利点は不揮発メモリを持たないチップでも、安全に秘密鍵を保管できることにある。不揮発メモリを混載したチップの製造は高コストであり、多くのチップは不揮発メモリを持つことができない。そのため、起動後に、外部の不揮発メモリに保存してあった鍵を読み出す必要があり、それが攻撃の標的になる可能性がある。 PUF による鍵ストレージを用いれば、そのような攻撃への耐性を獲得することができる。

PUF における鍵ストレージの第 2 の利点はリバース・エンジニアリングへの耐性である。4 節（3）で述べたように、不揮発性メモリは、電子の有無などの物理的な違いによりデータを記録するため、そのような物理状態を読み取ることができる顕微鏡を用いると、中身のデータを読み出すことができてしまうことがある （Courbon,

Skorobogatov, and Woods [2016]）。それに対し PUF は、動作時にしか鍵が存在しな
いため、電源オフ時のチップを解析しても鍵が漏洩することはない。
一方、鍵ストレージとして利用する際の欠点は、もはや軽量とはいえないことである。なぜなら、PUF そのものに加えて、ファジー抽出器に必要な誤り訂正符号やハッシュ関数なども実装しなくてはならないためである。また、PUF を用いて復元した鍵を用いるための暗号実装も必要である。
以上より、チップ内に安全な鍵保管用の不揮発メモリを搭載することが難しいプ
ラットフォームにおいて、安全な鍵保管庫を実現することが、 PUF による鍵スト
レージの典型的な利用例であるといえる。適用先としては、スマートフォンなどのメインのプロセッサであるシステム・オン・チップ（System on Chip）や、特定用途向けの ASIC（Application Specific Integrated Circuit）、FPGA などがある。加えて、不揮発メモリを混載することができる IC カードなどの機器においても、優れたリ
バース・エンジニアリング耐性のために利用することが考えられる。
一方、特定の攻撃（静的リバース・エンジニアリング）にしか効果がないことに注意が必要である。システムのセキュリティは最弱点で決まるため、暗号実装を狙った物理攻撃などは、さらに別の対策法で防ぐ必要がある。

45

6. PUF への攻撃

PUF に限らず、実装にかかわるセキュリティでは、攻撃者の払うことができる攻撃コスト（攻撃に利用する機器の価格や、攻撃者が有する知識・スキルの度合い）が上がるほど、攻撃の成功率が上がる。対策法も同様であり、回路面積や時間をかけるほど強くすることができるが、そのためにはコストが発生する。そこで、脅威を見極め、リスクが受容できるレベルになるように対策法を選んでいくということをセキュリティの設計において行う。正しい判断をするためには、潜在的にどのような脅威があり、それがどれくらいの難易度なのかを知る必要がある。
以上の背景から、セキュリティの研究分野では、攻撃の研究を行うことの価値が認められている。PUF も例外ではなく、これまでにいくつもの攻撃が提案されてきた。本節では、いくつかの重要な攻撃法について概説する。

（1） 機械学習攻撃
チャレンジ＆レスポンス認証を安全に行うには、過去に使ったチャレンジとレス
ポンスのペアから、未使用のペアが予測できないという条件が必要である。言い換えれば、未使用のチャレンジに対応するレスポンスを予測しようという試みは、PUF への攻撃となる。
これは、機械学習における教師あり学習の枠組みで考えることができる。すなわ
ち、pufi から取得したチャレンジとレスポンスのペアを訓練データとして用いて機械学習を行うのである。その結果得られる関数 F は、訓練データを採取した個体の pufi の近似となっている。もし、学習に成功すれば、未知のチャレンジ c に対しても、高い確率で pufi (c) = F(c) が成立する。すなわち、 F を pufi のクローンとして使うことができる。
以上のように、機械学習アルゴリズムを用いて PUF のクローンを作る攻撃を機
械学習攻撃と呼ぶ（Rührmair et al. [2013]）。これまでに、アービター PUF を含む
複数の PUF の実装に対し、機械学習攻撃が成功することが知られている3 。PUF を
チャレンジ＆レスポンス認証に利用するときは、機械学習攻撃への耐性を考慮しなくてはならない。
機械学習攻撃に対抗するためには、規則性がなくなるように PUF の作り方を工夫するというアプローチがありうる。特に、アービター PUF は非常に規則性が高..................................
3 同様の攻撃を暗号アルゴリズムに適用することもできるが、本稿執筆時点においては、成功した例は知られていない。

46

金融研究/2020.10

暗号ハードウェアの研究開発動向

くて機械学習攻撃に弱いことが知られているため、複数のアービター PUF を束ねて複雑性を増す方式などが研究されている。加えて、機械学習攻撃はアンコント
ロールド PUF を対象としたものであるため、コントロールド PUF として利用することでも攻撃を避けることができる。

（2） PUF の中身を盗みみる攻撃
PUF が安全になるためには、攻撃者は PUF の内部をみることができないという前提条件が必要である。それに対し、チップの消費電力や漏洩電磁波を観測してチップ内部を覗きみることで、前提条件を覆す攻撃がありうる。

3 節（1）で述べたように、アービター PUF は、一対の経路において、どちらを速く信号が伝わるかが個体差を持つことを利用していた。信号が伝わるということはすなわち、電流が流れるということである。よって、チップに出入りする電流を計測器で観察すると、チップの内部でどのような信号伝搬が生じたかをある程度知ることができる。そこで、アービター PUF の消費電力を観察することで、内部でどのような信号の伝搬が生じたかの情報を盗み、その情報を元にクローンを作成する攻撃が存在する（Rührmair et al. [2014]）。このように物理的に取得した情報を利用する攻撃をサイドチャネル攻撃と呼ぶ（崎山・菅原・李［2019］）。
アービター PUF だけではなく、別の PUF でもサイドチャネル攻撃が知られている（Schuster [2010]）。また、PUF そのものではなく、ファジー抽出器を対象にしたサイドチャネル攻撃も存在する（Merli et al. [2011]）。すなわち、ファジー抽出器の誤り訂正やハッシュ関数の計算において生じる消費電力や漏洩電磁波を解析することで、PUF のレスポンスや PUF 鍵の情報を盗み取ることができる。
サイドチャネル攻撃に対抗するには、消費電力や漏洩電磁波と、チップ内部で扱っているデータの関係を断ち切る必要がある。その方法として、乱数を加えて計算方法をランダム化する方法などが知られている（崎山・菅原・李［2019］）。

（3） PUF の挙動を操作する攻撃
前節で述べた PUF の挙動を盗みみる攻撃に対応して、物理的な手段により PUFのレスポンスを操作する攻撃がある。そのような攻撃の例として、SRAM PUF における残留データを用いた攻撃がある（Zeitouni et al. [2016]）。
前提条件として、ユーザー（攻撃者）は、対象の SRAM に自由にデータを書き込めるものとする。攻撃者は、SRAM の中身をゼロで埋めた後、電源を一瞬だけ切って再起動する。SRAM に記録されたデータは、電源喪失後も、ごく短時間であれば

47

残留している。そのため、電源喪失がごく短ければ、SRAM の初期値は変わらずゼロのままである。そこから電源を遮断する時間を長くしていくと、PUF のレスポン
スはゼロから本来の値へと徐々に近づいていく。すなわち、攻撃者は、PUF のレス
ポンスをある程度操作できる。
この性質を巧みに使うと、本来は秘密にしなくてはならない PUF のレスポン
ス（すなわち SRAM の初期値）を復元することができる4 。この攻撃を行うには、「PUF に利用する SRAM にユーザーが書き込める」という前提条件が必要である。
そのため、PUF に利用する SRAM は汎用メモリとは分けるような方法で対策をすることができる（Zeitouni et al. [2016]）。

（4） 動的リバース・エンジニアリング
PUF は、電源投入後にしか鍵が顕在化しないため、電源オフ時に行う静的リバー
ス・エンジニアリングに耐性を持つ。それに対して、動作しているチップに電極を当て、再生成された PUF 鍵を直接読み取るような攻撃がある。このような攻撃を
動的リバース・エンジニアリングと呼ぶ。
電極を当てるような攻撃は、 PUF に耐タンパー性があれば問題にならない。また、動的リバース・エンジニアリングを受けているとき、チップは正常に動作しているため、電極の接触をセンサを用いて検出するような対策法を取ることもできる（Anderson [2008]）。一方、これをさらに迂回する方法として、非接触で行うことができる動的リバース・エンジニアリングの方法が研究されており、PUF を攻撃した
研究事例が存在する（Lohrke et al. [2016]）。
この方法は、半導体チップの不具合を解析するために使われるレーザ電圧プロー
ビングという計測法を用いる。これは、対象のチップにレーザを当て、反射光の強さを計測することで、レーザを照射した箇所の電圧を計測する計測法である。ある
秘密のデータが保存されたメモリにレーザを当てれば、そのデータを外部から読み取ることができる。光により非接触で計測を行うため、電極を検知するセンサでみつけることができない。この攻撃への対策法として、回路の挙動をランダム化して計測を妨害する方法が提案されている（Lohrke et al. [2016]）。

..................................
4 詳細は、Zeitouni et al. [2016] のアルゴリズム 1 を参照されたい。

48

金融研究/2020.10

暗号ハードウェアの研究開発動向

7. おわりに

本稿では、製造ばらつきを用いてチップなどの個体識別を行う技術である PUF
について、特に利用者の観点で解説を行った。セキュリティ設計では、限られたコストの中で、想定される攻撃を脅威が大きい順に対策を選んでいく。ある利用シー
ンで PUF が有効であるかどうかは、セキュリティ設計の細部に宿っている。そうした中で、考慮すべきと考えられる脅威に対して PUF の活用を検討する際に、本稿で説明した PUF の特性や利点・欠点に関する考え方が参考になると考えられる。

49

参考文献
宇根正志・松本勉、「生体認証システムにおける脆弱性について：身体的特徴の偽造に関する脆弱性を中心に」、『金融研究』、第 24 巻第 2 号、日本銀行金融研究所、2005 年、35〜83 頁
崎山一男・菅原健・李陽、『暗号ハードウェアのセキュリティ』、コロナ社、

2019 年
凸版印刷株式会社、「凸版印刷、世界初、半導体の個体差を用いた PUF 技術搭載 IC
タグ『SMARTICS-V』による真贋判定サービスの提供を開始〜NFC 対応スマー
トフォンで、生活者自身による製品の真贋判定が可能〜」、凸版印刷株式会社、

2013 年（https://www.toppan.co.jp/news/2013/09/newsrelease130925.html、2020 年 3
月 13 日）、「凸版印刷が提供する、 PUF 技術搭載 IC タグによる真贋判定サービス
がタニタの海外向けポケッタブルスケールで採用〜NFC 対応スマートフォン
で、生活者自身による製品の真贋判定が可能〜」、凸版印刷株式会社、 2015 年（https://www.toppan.co.jp/news/2015/09/newsrelease150915_1.html、2020 年 3 月

13 日）
鳥居直哉・山本 大・武仲正彦・松本 勉、「FIB 加工とプローブ測定に対する RS
ラッチの挙動 (I)」、2015 年暗号と情報セキュリティシンポジウム発表論文、電子情報通信学会、 2015 年
三菱電機株式会社・立命館大学・科学技術振興機構、「『IoT 時代に向けたセキュリ
ティー技術』を開発」、開発 No. 1504、三菱電機株式会社、 2015 年
山本 大・鳥居直哉・武仲正彦・松本 勉、「FIB 加工とプローブ測定に対する RS
ラッチの挙動 (II)」、2015 年暗号と情報セキュリティシンポジウム発表論文、電子情報通信学会、 2015 年
CRYPTREC 軽量暗号ワーキンググループ、「CRYPTREC 暗号技術ガイドライン（軽量暗号）」、情報通信研究機構・情報処理推進機構、 2017 年

Altera Corporation, “Altera Partners with Intrinsic-ID to Develop World’s Most SecureHigh-End FPGA,” Intel, 2015 (available at https://newsroom.intel.com/news-releases/
altera-partners-intrinsic-id-develop-worlds-secure-high-end-fpga/#gs.oagadm、2020
年 2 月 21 日).
Anderson, Ross, “Chapter 16: Physical Tamper Resistance,” Security Engineering: A
Guide to Building Dependable Distributed Systems (Second Edition), Wiley, 2008,
pp. 483–522.
Costan, Victor, and Srinivas Devadas, “Intel SGX Explained,” Cryptology ePrint Archive,
Report 2016/086, International Association for Cryptologic Research, 2016 (available athttps://eprint.iacr.org/2016/086、2020 年 3 月 13 日).

50

金融研究/2020.10

暗号ハードウェアの研究開発動向

Courbon, Franck, Sergei Skorobogatov, and Christopher Woods, “Reverse Engineering
Flash EEPROM Memories Using Scanning Electron Microscopy,” in Kerstin LemkeRust and Michael Tunstall, eds., Smart Card Research and Advanced Applications,
Springer-Verlag, 2016, pp. 57–72.
Dodis, Yevgeniy, Leonid Reyzin, and Adam Smith, “Fuzzy Extractors: How to Generate Strong Keys from Biometrics and Other Noisy Data,” Proceedings of EUROCRYPT
2004, Lecture Notes in Computer Science, 3027, Springer-Verlag, 2004, pp. 523–540.
Gassend, Blaise Laurent Patrick, “Physical Random Functions,” Master’s Thesis, Massachusetts Institute of Technology, 2003.
Guajardo, Jorge, Sandeep S. Kumar, Geert-Jan Schrijen, and Pim Tuyls, “FPGA Intrinsic
PUFs and Their Use for IP Protection,” Proceedings of International Workshop on Cryptographic Hardware and Embedded Systems (CHES) 2007, Lecture Notes in Computer
Science, 4727, Springer-Verlag, 2007, pp. 63–80.
Holcomb, Daniel E., Wayne Burleson, and Kevin Fu, “Power-Up SRAM State as an Identifying Fingerprint and Source of True Random Numbers,” IEEE Transactions on Computers, 58(9), IEEE, 2009, pp. 1198–1210.
International Organization for Standardization and International Electrotechnical Commission, “ISO/IEC DIS 20897-1 Information Technology—Information Security, Cybersecurity and Privacy Protection—Security Requirements and Test Methods for Physically
Unclonable Functions for Generating Non-Stored Security Parameters—Part 1: Security
Requirements,” International Organization for Standardization and International Electrotechnical Commission, 2019 (available at https://www.iso.org/standard/76353.html、
2020 年 2 月 21 日).
Jones, Scott, “How Unclonable, Turnkey Embedded Security Protects Designs from the
Ground Up,” Maxim Integrated Products, Inc., 2017 (available at https://www.maximi
ntegrated.com/content/dam/files/design/technical- documents/white- papers/howunclonable-turnkey-embedded-security-protects-designs-from-the-ground-up.pdf 、2020 年 3 月 13 日).
, “A Reverse-Engineering Assessment of a Secure Authenticator with PUF Technology,” Maxim Integrated Products, Inc., 2018 (available at https://www.maximinteg
rated.com/content/dam/files/design/technical-documents/white-papers/a-reverse-engi
neering-assessment-of-a-secure-authenticator-with-puf-technology-white-paper.pdf 、2020 年 3 月 13 日).
Kerst, Uwe, Rudolf Schlangen, Alexander Kabakow, Erwan Le Roy, Ted R. Lundquist, andSiegfied Pauthner, “Impact of Back Side Circuit Edit on Active Device Performance in
Bulk Silicon ICs,” Proceedings of IEEE International Conference on Test 2005, IEEE,51

2005, pp. 1236–1244.
Lim, Daihyun, “Extracting Secret Keys from Integrated Circuits,” Master’s Thesis, Massachusetts Institute of Technology, 2004.
Lohrke, Heiko, Shahin Tajik, Christian Boit, and Jean-Pierre Seifert, “No Place to Hide:Contactless Probing of Secret Data on FPGAs,” Proceedings of International Workshop
on Cryptographic Hardware and Embedded Systems (CHES) 2016, Lecture Notes in
Computer Science, 9813, Springer-Verlag, 2016, pp. 147–167.
Maes, Roel, Physically Unclonable Functions: Constructions, Properties and Applications, Springer-Verlag, 2013.
Menhorn, Nathan, “External Secure Storage Using the PUF,” XAPP1333 (v1.0), Xilinx,Inc., 2018 (available at https://www.xilinx.com/support/documentation/application_n
otes/xapp1333-external-storage-puf.pdf 、2020 年 2 月 21 日).
Merli, Dominik, Dieter Schuster, Frederic Stumpf, and Georg Sigl, “Side-Channel Analysis of PUFs and Fuzzy Extractors,” Proceedings of International Conference on Trustand Trustworthy Computing (TRUST) 2011, Lecture Notes in Computer Science, 6740,
Springer-Verlag, 2011, pp. 33–47.
Microsemi Corporation, “Using SRAM PUF System Service in SmartFusion2— Libero
SoC v11.7,” Application Note AC434, Microsemi Corporation, 2016.
NXP Semiconductors N.V., “NXP Delivers Enhanced Security Solution to Protect Personal
Data for Payment and eGovernment Services,” NXP Semiconductors N.V., 2016 (available at https://media.nxp.com/news-releases/news-release-details/nxp-deliversenhanc
ed-security-solution-protect-personal-data/、2020 年 2 月 21 日).
Pappu, Ravikanth Srinivasa, “Physical One-Way Functions,” Ph.D. Thesis, Massachusetts
Institute of Technology, 2001.
Rührmair, Ulrich, Jan Sölter, Frank Sehnke, Xiaolin Xu, Ahmed Mahmoud, Vera Stoyanova, Gideon Dror, Jürgen Schmidhuber, Wayne Burleson, and Srinivas Devadas, “PUF
Modeling Attacks on Simulated and Silicon Data,” IEEE Transactions on Information
Forensics and Security, 8(11), IEEE, 2013, pp. 1876–1891.
, Xiaolin Xu, Jan Sölter, Ahmed Mahmoud, Mehrdad Majzoobi, Farinaz Koushanfar, and Wayne Burleson, “Eﬃcient Power and Timing Side Channels for Physical Unclonable Functions,” Proceedings of International Workshop on Cryptographic Hardware and Embedded Systems (CHES) 2014, Lecture Notes in Computer Science, 8731,
Springer-Verlag, 2014, pp. 476–492.
Schuster, Dieter, “Side Channel Analysis of Physical Unclonable Functions (PUFs),”
Diploma Thesis, Technische Universität München, 2010.
Torrance, Randy, and Dick James, “The State-of-the-Art in Semiconductor Reverse Engi-

52

金融研究/2020.10

暗号ハードウェアの研究開発動向

neering,” Proceedings of Design Automation Conference (DAC) 2011, Association for
Computing Machinery, 2011, pp. 333–338.
Tuyls, Pim, Geert-Jan Schrijen, Boris Škorić, Jan van Geloven, Nynke Verhaegh, and Rob
Wolters, “Read-Proof Hardware from Protective Coatings,” Proceedings of International
Workshop on Cryptographic Hardware and Embedded Systems (CHES) 2006, Lecture
Notes in Computer Science, 4249, Springer-Verlag, 2006, pp. 369–383.
Xilinx, Inc., “Xilinx Addresses Rigorous Security Demands at Fifth Annual Working
Group for Broad Range of Applications,” Xilinx, Inc., 2016 (available at https://www.
xilinx.com/news/press/2016/xilinx- addresses- rigorous- security- demands- at- fif thannual-working-group-for-broad-range-of-applications.html、2020 年 2 月 21 日).
Zeitouni, Shaza, Yossef Oren, Christian Wachsmann, Patrick Koeberl, and Ahmad-Reza
Sadeghi, “Remanence Decay Side-Channel: The PUF Case,” IEEE Transactions on Information Forensics and Security, 11(6), IEEE, 2016, pp. 1106–1116.

53

54

金融研究/2020.10