(57)【特許請求の範囲】
【請求項１】
PUFデバイスの動作を解析してチャレンジ入力からレスポンス出力を計算するのに必要なPUFパラメータの抽出とそのときの前記PUFデバイスの電力波形或いは電磁波形或いは処理時間を観測して動作状態を特徴づける動作パラメータの抽出を行なって前記PUFパラメータ及び前記動作パラメータを保存し、保存された前記PUFパラメータ及び前記動作パラメータに基づき該PUFデバイスの認証を行う認証処理方法であって、
PUFリーダーに、チャレンジCを生成して前記PUFデバイスへ送信させ、かつ、前記PUFパラメータをもとに、前記チャレンジCに対して期待される第１のレスポンスRを計算させ、
前記PUFデバイスに、前記PUFリーダーより送信された前記チャレンジCをもとに第２のレスポンスR’を生成して前記PUFリーダーに転送させ、
前記PUFリーダーに、前記第２のレスポンスR’を事前計算した前記第１のレスポンスRと比較することにより認証処理を行わせ、保存された前記動作パラメータと前記第２のレスポンスR’を生成する際に得られた前記動作パラメータとが符号するか否かを判断させることにより正当なPUFデバイスであるかどうかの真贋判定を行う認証処理方法。
【請求項２】
前記PUFパラメータ及び前記動作パラメータの抽出は、前記PUFリーダーの替わりに前記PUFパラメータ及び前記動作パラメータを抽出するためのPUF計測装置により行う請求項１に記載の認証処理方法。
【請求項３】
前記PUFパラメータは、チャレンジとレスポンスからなる複数の組である請求項１に記載の認証処理方法。
【請求項４】
前記PUFパラメータおよび前記動作パラメータは、前記PUFリーダー内に保存してローカルなデバイス認証に用い、或いは前記PUFリーダーを通して通信するPUFサーバー上に保存する請求項３に記載の認証処理方法。
【請求項５】
前記保存された前記PUFパラメータ及び前記動作パラメータに、改ざんを防止するためのデジタル署名を施す請求項１に記載の認証処理方法。
【請求項６】
前記PUFリーダーは、前記PUFデバイスから受信した前記デジタル署名を検証し、署名検証に失敗したならば、認証処理を中止する請求項５に記載の認証処理方法。
【請求項７】
PUFデバイスと、
該PUFデバイスの動作を解析することにより抽出されたチャレンジ入力からレスポンス出力を計算するのに必要なPUFパラメータ及びそのときの前記PUFデバイスの電力波形或いは電磁波形或いは処理時間を観測することにより抽出された動作状態を特徴づける動作パラメータを保存し、保存された前記PUFパラメータ及び前記動作パラメータに基づき該PUFデバイスの認証を行うPUFリーダーとを備え、
前記PUFリーダーは、チャレンジCを生成して前記PUFデバイスに送信し、かつ、前記PUFパラメータをもとに、前記チャレンジCに対して期待される第１のレスポンスRを計算し、
前記PUFデバイスは、前記PUFリーダーより送信された前記チャレンジCをもとに第２のレスポンスR’を生成して前記PUFリーダーに転送し、
前記PUFリーダーは、前記第２のレスポンスR’を事前計算した前記第１のレスポンスRと比較することにより認証処理を行うと共に、保存された前記動作パラメータと前記第２のレスポンスR’を生成する際に得られた前記動作パラメータとが符号するか否かを判断することにより正当なPUFデバイスであるかどうかの真贋判定を行う認証処理装置。
【請求項８】
前記PUFリーダーの替わりに前記PUFパラメータ及び前記動作パラメータを抽出するPUF計測装置をさらに備えた請求項７に記載の認証処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、PUFデバイスに記録されたパラメータをPUFリーダーで読み取ってデバイス認証を行う認証処理方法及び装置に関する。
【背景技術】
【０００２】
バイオメトリクス技術は指紋や網膜パターンなどの生体情報が一人一人異なることを利用して、個人認証を行うものである。これに対し、人工物においても一つ一つ異なる物理特性を見分けることによって、偽造を防止しようという研究が活発化している。例えば、磁気カードに記録されたデジタルデータはそのまま簡単にコピーできてしまうが、アナログ的な磁界強度分布までそっくりコピーすることは極めて困難である。このように人工的にパラメータを制御不可能な機能はPUF (Physically Unclonable Function)と呼ばれる。LSIにおけるPUF機能の実装方式としては、製造のばらつきによって個体毎に微妙に異なる配線遅延やトランジスタゲートのスイッチング遅延などを利用し、ある入力に対して個体毎に異なる出力を得ようとするものである[非特許文献１]。
【０００３】
図４に最も基本的な回路方式であるArbiter PUFを示す[非特許文献２]。2:1セレクタをシリアルに接続し、チャレンジと呼ばれる入力ビット列でセレクタのスイッチを制御し、レスポンスと呼ばれる0または1の出力を得るものである。回路の左側から入力された１つの信号の立ち上がりが、２つの経路を通ってArbiter（調停者）と呼ばれる回路に到達し、上下の入力のどちらが早く到達したかによって、出力が確定する。この図でArbiterには、クロックの立ち上がりエッジでデータを取り込むレジスタを用いており、上側の入力DがLow(0)からHigh(1)になるよりも早く下側のクロック入力がHighに立ち上がると、0がQに出力される。また、DがHighになった後に、クロックが立ち上がると1が出力される。どちらが早く到達するかは、LSIプロセスのばらつきによる回路の特性と、チャレンジのビットパターンによって選択される信号経路に依存する。
【０００４】
図５は、リングオシレータの動作周波数のばらつきを利用するRing Oscillator PUF [非特許文献３]である。同じレイアウトによるオシレータを複数用意し、その中から2つを選択する信号をChallengeとして入力する。一定時間内でオシレータのスイッチング回数をカウントし、その大小を比較して、0または1のレスポンスを返す。Arbiter PUFに比べて動作は安定しているが、チャレンジの入力からレスポンスを返すのに時間がかかるという短所を持つ。
【０００５】
SRAM PUFは、電源投入時に各メモリセルのラッチが0となるか1となるかの偶然性を利用するものである。近年普及が進む回路機能が再構成可能なデバイスFPGA(Field Programmable Gate Array)もSRAMを実装しているが、起動時にデータがクリアされるため、それをPUF機能として利用することは通常不可能である。そこで、図６のように2つのレジスタをクロスカップル接続し、SRAMメモリセルのように使用するのがButterfly PUF [非特許文献４]であり、FPGAでも実装が可能である。図６のレジスタにおいて、入力PREとCLRは、それぞれ出力Qを1にプリセットまたは0にクリアする信号である。クロックを供給しながら、これらの信号時つながれている入力Exciteを0から1にすることで、各レジスタの入力と出力のデータが逆となり、不安定な状態になる。そして数クロック後にExciteを0に落とすことで、Outの状態が確定する。
【０００６】
PUF機能は物理的に複製が不可能であることを特徴とするが、単純なPUF機能は複数のチャレンジとレスポンスを観測することによって、その動作を模擬することが可能である。例えば、図４のArbiter PUFで上下の信号のどちらが早くArbiterに到着するかは、各セレクタでの遅延がわかればチャレンジに対する信号のパスを単純に加算することで推定できる。また、図５のRing Oscillator PUFでは、2つのオシレータの周波数を比較してレスポンスとするので、そこからオシレータの周波数の高低を順位付けすることができてしまう。そこで、チャレンジとレスポンスの解析が困難となるように、図７(a)のようにArbiter PUFにフィードフォワードのパスを加えて非線形性を持たせたり、(b)のように複数のPUF回路の出力をXORしたり、あるいはハッシュ関数などのより複雑な演算を出力に施すといった様々な改良が提案されている。
【０００７】
図８はPUFデバイスの一般的な利用法を示している。PUFデバイスを用いたシステムの管理者は、利用者にPUFデバイスを配付する前に、チャレンジとレスポンスの関係を複数測定し、データベースに記録しておく。利用者は配付されたPUFデバイスが本物であることを示すため、管理者にチャレンジを要求し、それに対するレスポンスをPUFデバイスで生成して送り返す。管理者は送られてきたレスポンスとデータベースのレスポンスを比較することで、本物かどうかの判定を行う。同じチャレンジを用いると、この通信をモニターしていた第三者が以前のレスポンスを用いてなりすましを行う危険がある。そこで、データベースのチャレンジとレスポンスは一回使用したものは削除していく。
【０００８】
PUF機能はデバイスの微妙な特性のばらつきを利用するため、利用環境によっては、同じチャレンジに対して常に同じレスポンスを返すとは限らない。そこで図９のように、データベース作成時に誤り訂正符号(ECC : Error Control Code)によるパリティを付加する方式が提案されている[特許文献１]。利用者はチャレンジと共にこのパリティを受け取り、PUFデバイスからの出力が修復可能なエラーを含んでいた時にこのパリティを用いて訂正して管理者に送り返す。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】US 2008279373 (A1)
【非特許文献】
【００１０】
【非特許文献１】R. S. Pappu, “Physical one-way functions,” PhD thesis, MIT, March 2001, http://pubs.media.mit.edu/pubs/papers/01.03.pappuphd.powf.pdf.
【非特許文献２】N. Gassend, et al., “Silicon physical random functions,” Proc. 9th ACM Conference on Computer and Communication Security (CCS ’02), pp.148-160, Nov. 2002.
【非特許文献３】G. E. Suh, et al., “Physical Unclonable Functions for Device Authentication and Secret Key Generation,” Proc. Design Automation Conference (DAC 2007), pp. 9-14, June 2007.
【非特許文献４】S. S. Kumar, et al., “Extended Abstract: The Butterfly PUF Protecting IP on every FPGA,” Proc. IEEE Int. Workshop on Hardware-Oriented Security and Trust 2008 (HOST 2008), pp. 67-70, June. 2008.
【発明の概要】
【発明が解決しようとする課題】
【００１１】
PUFの概念はシンプルであるものの、制御不能な物理的特性のばらつきを利用するため、上記のように、実用に際しては解決すべき様々な課題がある。それを以下にまとめる。
(1)単純な構成は模擬されてしまう危険がある。
(2)複雑化すると、回路規模・消費電力・処理時間の増加など性能が低下する
(3)複雑化すると、出力が不安定となりECCが必要になる。
(4)データベースを事前に作成してサーバーに保存しておく必要があり、ローカルでの認証ができない。
(5)データベースを使い切ると利用できなくなる。
【００１２】
そこで、本発明は、係る課題を解決して、以下の点を達成することを目的としている。
(1)単純な構成のPUF回路を用いながら模擬デバイスを識別する。
(2)PUF回路の構成を変更せず、処理性能を低下させない。
(3)ECCを利用せず、確からしさを判定する。
(4)サーバーで管理するデータベースを用いずに、ローカルでの認証を行う。
(5)利用回数に制限を持たせない。
【課題を解決するための手段】
【００１３】
本発明の認証処理方法及び装置は、PUFデバイスと、該PUFデバイスの動作を解析してチャレンジ入力からレスポンス出力を計算するのに必要なPUFパラメータの抽出とそのときのPUFデバイスの電力波形或いは電磁波形或いは処理時間を観測して動作状態を特徴づける動作パラメータの抽出を行ない、この抽出した各パラメータに基づき該PUFデバイスの認証を行うPUFリーダーとを備える。PUFリーダーはチャレンジCを生成してPUFデバイスに送信し、かつ、このPUFパラメータをもとに、チャレンジCに対して期待される第１のレスポンスRを計算する。PUFデバイスは、PUFリーダーより送信された前記チャレンジCをもとに、第２のレスポンスR’を生成して、この第２のレスポンスR’をPUFリーダーに転送し、PUFリーダーは第２のレスポンスR’を事前計算した第１のレスポンスRと比較することにより認証処理を行なう。PUFリーダーは動作パラメータに基づき、PUFデバイスのレスポンス生成中の動作を監視して正当なPUFデバイスであるかどうかの真贋判定を行う。
【００１４】
PUFパラメータ及び動作パラメータの抽出は、前記PUFリーダーにより、若しくは、これらパラメータを抽出するためのPUF計測装置を別個に備えることにより行う。前記PUFデバイスより転送されるPUFパラメータは、チャレンジとレスポンスの組をいくつか取得してそれをPUFパラメータとして保存したもの、或いはチャレンジとレスポンスにばらつきを含んだPUFパラメータである。前記保存したPUFパラメータおよび動作パラメータは、PUFリーダー内に保存してローカルなデバイス認証を行うか、或いはPUFリーダーを通して通信するPUFサーバー上に保存して利用する。
【００１５】
前記保存したPUFパラメータと動作パラメータは、改ざんを防止するためにデジタル署名を施す。PUFリーダーは、PUFデバイスから転送されたパラメータに施されたデジタル署名を検証し、正しいパラメータであることを確認すると共に、署名検証に失敗したならば、認証処理を中止する。
【発明の効果】
【００１６】
本発明の効果を、上記、解決すべき課題に対応して以下に示す。
(1)単純な構成のPUF回路を用いながら模擬デバイスを識別する。
チャレンジ-レスポンスのパターンは第三者に識別されても構わないため、単純なPUF回路が利用できる。PUFデバイスがレスポンス生成する際の処理時間や電力・電磁波を、PUFリーダーが観測して、正しいPUFデバイスが模擬デバイスを判別する。この判別はPUFリーダーが行うため、PUFデバイスに特殊な機能は不要である。また、PUFデバイスのパラメータに署名を施すことが推薦されるが、署名はイニシャライズ時にPUFデバイスの外で生成することができ、また検証はPUFリーダーが行うため、署名・検証のための回路もPUFデバイスには不要である。
【００１７】
(2)PUF回路の構成を変更せず、処理性能を低下させない。
PUF回路には一切変更が不要で、しかもパラメータ化が可能なシンプルなものほど本発明には適している。このため、本発明においてPUFデバイスのレスポンス生成の処理速度のペナルティは生じない。
【００１８】
(3)ECCを利用せず、確からしさを判定する。
レスポンスに多少のエラーが含まれていた場合、一回の認証で判断せずに、チャレンジ-レスポンス処理を繰り返すことによって、動作環境等による偶発的なエラーなのか異なるデバイスからのレスポンスなのか（レスポンス比較前に、模擬デバイスでないことは処理時間や電力・電磁波形によって確認されている）の判定の精度を上げることができる。あるいは、動作環境の影響等を考慮したパラメータの抽出や、一対多の応答に対応したチャレンジ-レスポンス のデータを保持することによっても、精度の向上が可能となる。
【００１９】
(4)サーバーで管理するデータベースを用いずに、ローカルでの認証を行う。
チャレンジ-レスポンスのパラメータをPUFデバイスのメモリに記録しているので、PUFリーダーとの間でローカルな認証が可能である。このためデバイスの認証データ管理コストや通信コストが抑えられる。もちろんPUFデバイスにパラメータを持たせずに全てサーバーで管理して、認証を行うことも可能である。
【００２０】
(5)利用回数に制限を持たせない。
チャレンジ-レスポンスの再利用が可能であり、パラメータが第三者に知られても問題ないため、利用回数に制限がない。
【図面の簡単な説明】
【００２１】
【図１】本発明を具体化するPUFによる認証方式の第１の例を示す図である。
【図２】本発明を具体化するPUFによる認証方式の第２の例を示す図である。
【図３】本発明を具体化するPUFによる認証方式の第３の例を示す図である。
【図４】最も基本的な回路方式であるArbiter PUFを示す図である。
【図５】リングオシレータの動作周波数のばらつきを利用するRing Oscillator PUFを示す図である。
【図６】2つのレジスタをクロスカップル接続し、SRAMメモリセルのように使用するButterfly PUFを示す図である。
【図７】PUF回路のバリエーションを示す図である。
【図８】PUFデバイスの利用法を説明する図である。
【図９】誤り訂正符号の利用を説明する図である。
【発明を実施するための形態】
【００２２】
図１は、本発明を具体化するPUFによる認証方式の第１の例を示す図である。本発明では、チャレンジとレスポンスのデータベースを作成する代わりに、PUFデバイスの動作を解析してチャレンジ入力からレスポンス出力を計算するのに必要なパラメータを抽出する。つまり、通常のPUFデバイスは模擬できないようにするため様々な工夫を施すのに対して、模擬可能なシンプルな機能のPUFデバイスの利用が適している。
【００２３】
またそのようなPUFのチャレンジ-レスポンスの関係を計算可能なパラメータ（以下PUFパラメータ）が取得できない場合は、チャレンジとレスポンスの組をいくつか取得してそれをPUFパラメータとして保存する。同時に、レスポンス生成時の消費電力波形や放射電磁波形、そして処理時間など動作の特徴をパラメータ（以下動作パラメータ）として保存する。この電力波形・電磁波形や処理時間などの動作パラメータは必ずしも一つ一つのPUFデバイスの動作に対して観測する必要はなく、その同じ回路方式およびLSIプロセスで製造されたPUFデバイス全体としての動作の特徴を表すものを用いてもよい。この動作の特徴のチェックは、例えば指紋照合機では生体識別に対応させることができる。生体認証は一人一人の生体情報を記録しているわけではなく、不特定の人に対して指の生体識別が可能となる情報を用いている。これと同様にして、本発明も個々のPUFデバイスの電力・電磁波パターンや処理時間を記録せずに、同種のPUFデバイス全体の特徴的なパターンを動作パラメータとして用いることができる。
【００２４】
これらのPUFパラメータと動作パラメータを、PUFデバイスに記録し、PUFリーダーとの間でローカルなデバイス認証を行う。図１〜４では簡単のため、PUFパラメータと動作パラメータを合わせてパラメータと記してあり、以下でも単にパラメータと記したときは同様の意味で用いる。また、パラメータは数値だけでなく、PUFの特徴を表す計算式なども含む。PUFリーダーはPUFデバイスのパラメータを抽出するのではなく、事前に測定・保存されたパラメータを読み込んで、PUFデバイスがそれと一致する動作を行っているかどうかをチェックするものである。サーバーを用いないローカルな認証では、PUFリーダーはパラメータをPUFデバイスから読み込んで処理を行うため、攻撃者による改ざんを防止するために、PUFデバイス中のパラメータにはデジタル署名を施している（図１参照）。なお、デジタル署名ではなく、暗号化することでも、第三者による改ざんを防止することができる。署名生成はイニシャライズ時にPUF計測装置が行い、検証はPUFリーダーが実行するため、PUFデバイス自体はPUFの回路とパラメータを保存用のわずかなメモリだけを有るだけの、極めて小型で簡単な実装でよい。
【００２５】
まず、図１を参照して、PUFデバイスのイニシャライズの手順を以下に説明する。
１．PUFのパラメータ計測装置（PUF計測装置）はチャレンジCを生成し、PUFデバイスに送信する。
２．PUFデバイスが内部のPUF回路でレスポンスRを生成する。
３．レスポンス生成中のPUFデバイスの電力波形や電磁波形、処理時間など、動作の特徴を表す動作パラメータを生成するためのデータを取得する。なお、電力、電磁波、処理時間は必ずしも全て取得する必要はなく、その他に動作の特徴が計測できるのであればそれを用いてもよい。また、この特徴データを同種のPUFデバイスで共通とする場合はこのステップをパスすることができる。
４．PUFデバイスがレスポンスRをPUFリーダーに送信する。
５．PUFリーダーがレスポンスR を取得する。PUFパラメータおよび動作パラメータの抽出を行うためには、上記1〜5の計測を繰り返すことが望ましい。
６．PUF計測装置は、上記１．で取得したチャレンジCとレスポンスRの関係からPUFパラメータを、また電力波形や電磁波形、処理時間などの計測データから動作パラメータを抽出する。なお、PUFデバイスの記録容量が十分であれば、PUFパラメータや動作パラメータ抽出の処理を行わずに、チャレンジ-レスポンスの組や、測定した電力波形や電磁波形、処理時間などのデータをそのまま各パラメータの代わりに保持してもよい。
７．上記６．で抽出したパラメータにPUFデバイスに付与するIDを加えてデジタル署名（または暗号化）を施す。PUFデバイス製造時などのPUFパラメータ計測以前に既にPUFデバイスにIDが振られている場合は、それを用いてもよい。PUFの個体識別は、一つ一つ異なるチャレンジ-レスポンスでも可能であるが、識別後のアプリケーション等でのPUFの取扱いや、パラメータをデータベース等で管理する場合の利便性から、PUFデバイスにIDを振ることが望ましい。
８．署名したパラメータをPUFデバイスに書き込む。
【００２６】
このPUFデバイスを用いた認証処理の手順は次の通りである。
１．PUFデバイスからPUFリーダーに、署名（または暗号化）されたPUFパラメータを転送する。
２．PUFリーダーはPUFパラメータの署名を検証し（または復号し）、正しいパラメータであることを確認する。署名検証に失敗したならば、認証処理を中止する。
３．PUFリーダーはチャレンジCを生成して（イニシャライズ時のCと同じである必要はない）PUFデバイスに送信する。PUFパラメータの抽出をせずに、PUFパラメータの代わりに、従来のようにチャレンジ-レスポンスのデータを保存している場合は、そのデータの中からチャレンジCを選択して送信する。
４．PUFリーダーは、PUFデバイスから転送されてきたパラメータをもとに、チャレンジCに対して期待されるレスポンスRを計算する。PUFパラメータの抽出をせずに、上記チャレンジ-レスポンスのデータの中からチャレンジCを送信している場合は、それに対応するレスポンスRを選択する。
５．PUFデバイスはレスポンスR’を生成する。
６．レスポンスR’を生成中にPUFデバイスが消費する電力の波形（非接触通信の場合は電磁波形）やレスポンス生成に要する処理時間をPUFリーダーで観測し、動作パラメータに符合する正しい動作を行っているかどうかをチェックする。動作がおかしければ、上記3に戻って再処理を行うか処理を中止する。（動作環境によってばらつきがあるので許容範囲内か、ボーダーラインか、あるいは範囲外かによって適宜判断する）
７．PUFデバイスはレスポンスR’をPUFリーダーに転送する。
８．PUFリーダーはレスポンスR’を事前計算した期待値Rと比較し、一致の程度に応じて上記3に戻って再処理を行うか処理を中止する。（動作環境によってばらつきがあるので許容範囲内か、ボーダーラインか、あるいは範囲外かによって適宜判断する）
【００２７】
イニシャライズ時の6．で説明したように、PUFパラメータを抽出せずに、イニシャライズ時にチャレンジ-レスポンスの組をいくつか取得しそれをPUFパラメータの代わりに認証に用いることも可能である。これが、従来のPUFと異なるのは、そのチャレンジとレスポンスは使い捨てではなく、何度使用してもよい点である。つまり、そのチャレンジ-レスポンスの対応が第三者に知られて、それを模擬されても構わない。チャレンジに対して返って来た正しいレスポンスが、本物のPUFデバイスによって処理されたものなのか、模擬デバイスがプロセッサで計算したり、メモリにためておいたデータを返しているものなのかを、処理時間や処理中の電力波形あるいは電磁波形を観測することで判断するのである。また逆に、処理時間や電力・電磁波形がマッチしても、レスポンスが一致しなければ、それは同じ回路方式・同じLSIプロセスで製造された別のPUFデバイスであると判断することができる。
【００２８】
つまり、従来のPUFがレスポンスのパターンだけで真贋判定を行おうとしていたのに対し、本発明はレスポンスのパターンマッチングと、その生成における物理的な動作の両面から判定を行うものである。本発明のPUFは、指紋照合機と対比すると分かりやすい。初期の指紋照合機の多くはパターンマッチングだけで認証していたため、ゼラチンなどで指紋のパターンを複製した人口指で破られてしまった。そこで現在の指紋照合機は指が生体のものかどうかを正確に識別する機構を備えている。また、この指紋のパターンマッチングはPUFのレスポンスの照合、生体識別は時間・電力・電磁波の観測に対応付けできる。ところで、静脈認証などは指紋と異なり、静脈パターンの盗難が困難であることでセキュリティを向上させており、これはチャレンジ-レスポンスの模擬を困難とする従来のPUFに対応付けすることができる。指紋のパターンは盗まれても変えることはできないが、生体識別と組み合わせることで高い精度での本人認証を実現している。同様に本発明のPUFもチャレンジ-レスポンスの組やその生成パラメータが第三者に知られたとしても、処理中の動作を観測することで正しい認証が実現される。また、チャレンジ-レスポンスの再利用や、パラメータを用いた新たなチャレンジ-レンジレスポンスの生成が可能なため、利用回数に制限はなく、レスポンスに多少のエラーがある場合でもチャレンジ-レスポンス処理を繰り返すことで、認証の精度を向上させることが可能となる。
【００２９】
また、従来のPUFは一対一に対応したチャレンジ-レスポンスを用いているが、電源電圧や周辺室温等のPUFデバイスの動作環境を変化させると、同じチャレンジでもレスポンスが変化することがあり、また同じ動作環境でも偶然性によってレスポンスがばらつくこともしばしばある。そこで、PUFパラメータ抽出において、これらの動作環境によるばらつきも考慮したパラメータ抽出をしたり、一対多の応答に対応したチャレンジ-レスポンス のデータを保持することによっても、認証の精度を向上させることができる。
【００３０】
Physically Unclonableとは同じ構造で同じ物理特性のばらつきを持つクローンが作れないことであり、レスポンスを模擬できるものがClonableと呼ばれることもあるが、本発明で用いるPUFは前者を満たすことが必要十分条件であり、後者はなんら条件とはならない。
【００３１】
図２は、本発明を具体化するPUFによる認証方式の第２の例を示す図である。本発明はローカルなPUFデバイス認証だけでなく、図２に示すように、PUFパラメータをデータベースとして保持するPUFサーバーを用いた認証も可能である。この場合も、従来方式と異なるのは、電力波形、電磁波形、処理時間などの動作の特徴をチェックすることによって、精度の高い認証（真贋判定）を行うことである。サーバーを用いる場合の利点は、PUFパラメータのデジタル署名が不要である（もちろん署名を行ってもよい）という点である。PUFパラメータ計測時に、PUFデバイスにはIDだけを書き込み、PUFサーバーにだけPUFパラメータをIDとともに転送する。PUFデバイスは、ユーザーが所持する場合が多いため、攻撃者がPUFパラメータを書き換えることが考えられるためそれを防ぐためにデジタル署名が必要である。それに対して、図２に示す第２の例では、認証時にPUFパラメータはPUFサーバーからダウンロードするため、PUFリーダーとPUFサーバーの間で安全な通信が可能であればこの署名が不要となる。なお、個々のPUFの認証を行うごとにPUFサーバーに接続するのではなく、データベースが更新されるときなど定期的にPUFパラメータをまとめてPUFリーダーに事前にダウンロードしておいてもよい。
【００３２】
図３は、本発明を具体化するPUFによる認証方式の第３の例を示す図である。この第３の例は、PUFデバイスの利用範囲が限られた、比較的小規模なシステムでの利用に適している。PUFリーダーはチャレンジ-レスポンス応答および電力・電磁波形、処理時間等の測定機能を有しているので、ここではこのPUFリーダーを計測装置として用いている。この場合、PUFリーダー内部にPUFのパラメータが保持できるので、第２の例と同じくデジタル署名の必要はない。ただし、このままではPUFデバイスのパラメータを計測したPUFリーダーでしか、認証が行えないため、PUFリーダーからPUFリーダーへパラメータを転送する機能もアプリケーションに応じて必要となる。
【実施例】
【００３３】
（ICカードへの利用）
本発明の具体的な実施例としては、特にICカードへの利用が有効である。ICカードは電子マネーやクレジットカードなどの極めて重要な電子データを扱うため、暗号技術が用いられている。その暗号化に用いる秘密の鍵情報はICカード内部に記録され、通常は外部からは読まれないように対策が施されている。しかしながら、LSI解析装置を用いたリバースエンジニアリングによって、LSIの内部のデータを直接観測し、データをそっくりコピーするような攻撃全てに対して対処することはできない。また、暗号回路が発生する電力や電磁波を測定して内部動作を解析し、秘密鍵を盗み出すサイドチャネル攻撃が現実的な脅威となっており、このような攻撃で取得した秘密情報をICカードに書き込んで偽造するといったことも考えられる。そこで、本発明によるPUF技術を用いて個々のPUFデバイスの物理特性と秘密情報の紐付けを行っておけば、デジタルデータをコピーすることによる偽造は不可能となる。接触ICカードには電力が直接、また非接触ICカードは電磁誘導によってリーダーから供給されるので、レスポンス処理時の動作波形をモニターすることは極めて簡単である。また、そのような電力・電磁波形の観測技術は、上記のサイドチャネル攻撃の研究において既に確立されている。また、本発明のPUFデバイスは非常にシンプルで小型なため、数百円〜数千円するICカードだけでなく、今後市場の拡大が見込まれる数円以下のRFIDタグへの利用も期待される。また、PUFはデジタルデータを守るためだけでなく、LSIのデッドコピーなど回路パターン自体の盗用を防止するための技術としても期待されている。
【産業上の利用可能性】
【００３４】
本発明は、電子マネーを扱うICカードや、商品の生産流通管理を行うRFIDタグなど、データやIDの偽造を防止する用途とか、LSIの回路パターン盗用の防止などに利用することができる。
【図１】
0005499358.tif 000002
【図２】
0005499358.tif 000003
【図３】
0005499358.tif 000004
【図５】
0005499358.tif 000005
【図７】
0005499358.tif 000006
【図８】
0005499358.tif 000007
【図９】
0005499358.tif 000008
【図４】
0005499358.tif 000009
【図６】
0005499358.tif 000010