(57)【要約】【課題】ＰＵＦを利用した認証システム、認証装置および認証方法を提供すること。【解決手段】実施形態にかかる認証システムは、基準信号に同期して時系列に沿ったデジタルデータを出力するデータ源を備えた物理デバイスと、前記物理デバイスから取得したデータ列に基づくＩＤに対して隠れマルコフモデルを用いた確率計算を実行する計算部と前記計算部による計算結果に基づいて前記物理デバイスを認証する認証部とを備える。【選択図】図４
2016063457.tif 000002
【特許請求の範囲】
【請求項１】
基準信号に同期して時系列に沿ったデジタルデータを出力するデータ源を備えた物理デバイスと、
前記物理デバイスから取得したデータ列に基づくＩＤに対して隠れマルコフモデルを用いた確率計算を実行する計算部と
前記計算部による計算結果に基づいて前記物理デバイスを認証する認証部と、
を備える認証システム。
【請求項２】
Ｂａｕｍ−Ｗｅｌｓｈアルゴリズムに基づいて前記ＩＤに対する隠れマルコフモデルのモデルパラメータを決定する決定部をさらに備える請求項１に記載の認証システム。
【請求項３】
前記計算部は、Ｖｉｔｅｒｂｉアルゴリズムに基づいて前記ＩＤに対する確率計算を実行する請求項１に記載の認証システム。
【請求項４】
前記計算部は、ネットワークを経由して前記物理デバイスから前記データ列を取得する請求項１に記載の認証システム。
【請求項５】
前記データ源から取得した複数のデータ列から統計的手法を用いて前記ＩＤを生成する生成部をさらに備える請求項４に記載の認証システム。
【請求項６】
前記生成部で生成されたＩＤに対して誤り訂正を実行する誤り訂正部をさらに備える請求項５に記載の認証システム。
【請求項７】
前記ＩＤは、１５ビット以下のビット列である請求項１に記載の認証システム。
【請求項８】
前記認証部が用いる前記隠れマルコフモデルの状態数は、５個以下である請求項１に記載の認証システム。
【請求項９】
基準信号に同期して時系列に沿ったデジタルデータを出力するデータ源から出力されたデータ列に基づくＩＤに対して隠れマルコフモデルを用いた確率計算を実行し、該確率計算の結果に基づいて前記物理デバイスを認証する認証部を備える認証装置。
【請求項１０】
基準信号に同期して時系列に沿ったデジタルデータを出力するデータ源から出力されたデータ列に基づくＩＤに対して隠れマルコフモデルを用いた確率計算を実行し、
前記確率計算の結果に基づいて前記物理デバイスを認証する
ことを含む認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、認証システム、認証装置および認証方法に関する。
【背景技術】
【０００２】
近年、通信速度の向上およびクラウドコンピューテイングの進展により、近接場型の無線通信（Near Field Communication：ＮＦＣ)の利用が急拡大している。ＮＦＣは、キャッシュカードやクレジットカードなどのＩＣカードのほか、スマートフォンに搭載される電子マネーや電車やバスなどの乗車券等に使用されるスマートカードとして利用されることが一般的である。このようなＮＦＣでは、個人を特定するＩＤ特定機能におけるセキュリティの強化が課題である。
【０００３】
また近年では、個人的なデータを保存するためだけに用いられてきたメモリーカード等にもＩＤ特定機能が搭載されつつあるなど、携帯型デバイスにおけるＩＤ特定機能の高度化が技術的な課題となっている。
【０００４】
このような背景の中で、個々のデバイスばらつきを“チップ指紋”として利用する研究開発が進められている。これらは、Ｐｈｙｓｉｃａｌｌｙ  Ｕｎｃｌｏｎａｂｌｅ  Ｆｕｎｃｔｉｏｎ（ＰＵＦ）として知られている。
【０００５】
ＰＵＦの中で現在一番研究されているのが、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）−ＰＵＦである。ＳＲＡＭ−ＰＵＦは、ＳＲＡＭを構成する２つのインバータの製造時のばらつきを利用する技術である。なかでも最も有名なＲＡＭ−ＰＵＦ〔１−３〕は、上記のセキュリティＩＰやＩＣカードなどに適用されている。また、電子デバイスの初期ばらつきを利用する提案として、不揮発メモリへの応用も検討されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】J. Guajardo, S. S. Kumar, G. J. Schrijen, and P. Tuyls, “FPGA Intrinsic PUFs and Their Use for IP Protection,” CHES 2007 LNCS, vol. 4727/2007, pp. 63-80, Springer, Heidelberg, 2007.
【非特許文献２】L. R. Rabiner, “A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition,” proc. IEEE, Vol. 77, No. 2, pp. 257-286, 1989.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
以下の実施形態では、ＰＵＦを利用した認証システム、認証装置および認証方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態にかかる認証システムは、基準信号に同期して時系列に沿ったデジタルデータを出力するデータ源を備えた物理デバイスと、前記物理デバイスから取得したデータ列に基づくＩＤに対して隠れマルコフモデルを用いた確率計算を実行する計算部と前記計算部による計算結果に基づいて前記物理デバイスを認証する認証部とを備える。
【図面の簡単な説明】
【０００９】
【図１】図１は、同一デバイスから出力されたパターンがずれた場合の一例を示す図である。
【図２】図２は、隠れマルコフモデルのパラメータの例を示す図である。
【図３】図３は、隠れマルコフモデルの状態遷移の例を示す図である。
【図４】図４は、実施形態にかかるＨＭＭを用いた認証方式の一例を示すチャート図である。
【図５】図５は、実施形態にかかる認証システムにおけるＩＤ設定機構の概略構成例を示すブロック図である。
【図６】図６は、実施形態にかかる乱数生成回路の例を示す回路図である。
【図７】図７は、実施形態にかかる乱数生成回路の他の例を示す回路図である。
【図８】図８は、実施形態にかかる認証システムにおけるＩＤ認証機構の概略構成例を示すブロック図である。
【図９】図９は、実施形態にかかる認証システムの概略構成例を示すブロック図である。
【図１０】図１０は、実施形態にかかる評価において使用したサンプルデータを示す図である。
【図１１】図１１は、図１０に示すサンプルデータの評価結果を示す図である（Ｎ＝３）。
【図１２】図１２は、図１０に示すサンプルデータの評価結果を示す図である（Ｎ＝５）。
【図１３】図１３は、図１０に示すサンプルデータの評価結果を示す図である（Ｎ＝１０）。
【図１４】図１４は、図１０に示すサンプルデータに２ビットのエラーを含めた場合の評価結果を示す図である（Ｎ＝３）。
【図１５】図１５は、図１０に示すサンプルデータに２ビットのエラーを含めた場合の評価結果を示す図である（Ｎ＝５）。
【図１６】図１６は、図１０に示すサンプルデータに２ビットのエラーを含めた場合の評価結果を示す図である（Ｎ＝１０）。
【図１７】図１７は、図１に示すデータを入力して計算した場合のずれの影響を示す図である（Ｎ＝３）。
【図１８】図１８は、図１に示すデータを入力して計算した場合のずれの影響を示す図である（Ｎ＝５）。
【図１９】図１９は、実施形態にかかる認証対象となる電子デバイスの概略構成例を示す図である。
【図２０】図２０は、実施形態にかかるトランジスタノイズを利用したノイズ源の一例を示す図である。
【図２１】図２１は、実施形態にかかるトランジスタノイズを利用したノイズ源の他の一例を示す図である。
【図２２】図２２は、実施形態にかかるトランジスタノイズを増幅するための回路の一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照しながら、例示する実施形態にかかる認証システム、認証装置および認証方法を詳細に説明する。以下の実施形態で例示する認証システム、認証装置および認証方法は、隠れマルコフモデル（Ｈｉｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ：ＨＭＭ）を利用したＩＤ認証方法を用いる半導体製品のセキュリティ識別に関するものである。ただし、これに限定されず、以下の説明は、本開示に関連する様々な認証システム、認証装置および認証方法に対して適用可能である。
【００１１】
ＰＵＦの一つとして、乱数源を利用したＰＵＦ（以下、乱数ＰＵＦという）が存在する。乱数ＰＵＦは、乱数生成回路などの乱数源をそのまま用いることができるという利点を持っている。また、乱数生成回路の出力データが時間的に連続したデータであるため、データ同士が相関を持つという特徴を持っている。
【００１２】
ＰＵＦは、ノイズを含むデータから安定して情報を抽出することが可能なＦｕｚｚｙ  Ｅｘｔｒａｃｔｏｒと組み合わされることにより、複製困難なデバイス固有鍵を生成することが可能である。しかしながら、ＦＥなどの統計的な手法は、ＳＲＡＭの空間的ビット列のようにビット間に時間的相関のないデータ間の同定に優れているものの、乱数ＰＵＦのように時系列的に生成されるビット列に対してそのまま適用することが効率的であるとは限らない。これは、各データがその前のデータの影響を受けるためである。
【００１３】
つまり、乱数ＰＵＦでは、各データの生成がお互いに独立事象ではない。たとえば図１に示すように、乱数ＰＵＦでは１ビットか２ビットずれて同じパターンを繰り返すというデータが存在し得るが、“０”と“１”の平均と分散の解析だけではこのような２つのパターンが同じデバイスから出ていることを特定できない可能性が存在する。
【００１４】
このように、相関を持ったデータを扱う場合には、ＳＲＡＭ−ＰＵＦで行われている通常の統計的処理で正確な認証が可能であることが確かではない。そこで以下の実施形態では、データ間に相関がある場合などにも有効な認証システム、認証装置および認証方法を提供する。
【００１５】
独立事象でないデータの指紋認証を行う方法において、有効で且つ認証確率の高いと考えられるものは、声紋認証である。ただし、音声認識のデータ量に比べると、乱数ＰＵＦなどの時系列データのデータ量は１００ビットから１０００ビット程度である。そのため、音声認証の認証方法をそのまま適用することは難しい。そこで以下の実施形態では、音声認識の認証方法を少数ビットに対しても適用可能とするために、ビット間のエラー訂正を合わせた方式を提案する。
【００１６】
ビット間のエラー訂正には、たとえば隠れマルコフモデル（ＨＭＭ）を利用することができる。ＨＭＭとは、実世界から得られる複雑で不完全な情報を処理するために作られた確率・統計的なモデルの一つであり、ニューラルネットモデルや音声認識や画像処理において広く用いられている。ＨＭＭは、ＥＭアルゴリズム（Ｅｘｐｅｃｔａｔｉｏｎ−ｍａｘｉｍｉｚａｔｉｏｎ  Ａｌｇｏｒｉｔｈｍ）の一つで、確率モデルのパラメータを最尤法に基づいて推定する統計的手法である。
【００１７】
ＥＭアルゴリズムでは、反復法を用いて期待値ステップと最大化ステップとを繰り返すことで計算が進行する。最大化ステップで決まったパラメータは、次の期待値ステップで使われる潜在変数の分布を決定するために用いられる。
【００１８】
マルコフモデルは、状態と状態間の遷移確率との二種類の確率パラメータを持ったモデルであり、たとえば図２および図３に示すように、前の状態に依存して確率的に次の状態が決まる。単純マルコフモデルでは、各内部状態と観測値とが一対一で対応しているのに対して、隠れマルコフモデルでは、各内部状態が複数の観測値を確率的に取ることできる。そのため、隠れマルコフモデルの方が現象を記述できる自由度が大きく、広く応用することが可能である。
【００１９】
図４は、実施形態にかかるＨＭＭを用いた認証方式の一例を示すチャート図である。図４において、ステップＳ０１〜Ｓ０４がＩＤ設定の流れを示し、ステップＳ１１〜Ｓ１５がＩＤ認証の流れを示す。ステップＳ０３およびＳ１３は、通常の音声認証に用いられるステップと同じであってよい。ただし、音声認識では用いられるデータ量が多いことからステップＳ１１〜Ｓ１３で認証を行うことが可能であるが、ＰＵＦを利用した認証では、通信回線が利用されることもあり、また、データ数が１００ビットから１０００ビット程度と少ないため、ステップＳ１４のエラー訂正を実行することが好ましい。
【００２０】
ＩＤ設定では、まず、初期の段階で測定を２回以上繰り返すことで、対象デバイスから複数のサンプルデータ（ＰＵＦデータまたは指紋データともいう）を取得する（ステップＳ０１）。なお、初期の段階とは、対象デバイスの起動時など、デバイス内部のトランジスタが不安定な状態の段階であってよい。つぎに、取得したサンプルデータを平準化することで、対象デバイス固有のビット列（以下、ＩＤという）を生成する（ステップＳ０２）。サンプルデータの平準化には、たとえば平均化などを用いることができる。これにより生成されるＩＤは、“０”と“１”とを組み合わせたビット列である。
【００２１】
またＩＤの決定では、サンプルデータのヒストグラムを取得し、その中で最も頻度の多いデータパターンをＩＤとすることもできる。頻度の高いデータパターンが複数ある場合には、複数のデータパターンそれぞれをＩＤとして登録してもよい。以下では、これらすべての場合を含めて平準化として記述する。
【００２２】
つぎに、ＩＤを記述するマルコフモデルのモデルパラメータ（状態遷移確率および各状態内の分布確率）をＢａｕｍ−Ｗｅｌｃｈ（ＢＷ）アルゴリズムで決定する（ステップＳ０３）。これにより、各ＩＤに対して固有のパラメータが設定される。
【００２３】
その後、対象デバイスから取得されるＩＤ（ビット列）がずれた場合等を想定し、そのような場合にマルコフモデルにおける最尤経路の適合確率が取り得る範囲を確認する（ステップＳ０４）。なお、ステップＳ０４では、たとえば実際にいくつかのエラーをＩＤに埋め込んだ状態でＶｉｔｅｒｂｉのアルゴリズムを用いて最尤経路の適合確率を計算することで、エラーを含む場合の適合確率の範囲（たとえば下限値）が確認されてもよい。
【００２４】
以上のように生成されたＩＤとそのモデルパラメータとエラーを含む場合の適合確率の範囲とは、たとえば不図示のサーバにおけるメモリに保持され、管理される。
【００２５】
一方、ＩＤ認証では、まず、ステップＳ０１〜Ｓ０２と同様に、対象デバイスから複数のサンプルデータを取得し（ステップＳ１１）、取得したサンプルデータを平準化することで、対象デバイス固有のＩＤを生成する（ステップＳ１２）。このように、ＩＤ認証においても、単一データではなく、測定を２回以上繰り返して複数のサンプルデータを取得し、それを平準化することで、対象デバイスについてのＩＤを取得する。
【００２６】
つぎに、生成されたＩＤがマルコフモデルに適合しているか否かを決定する。具体的には、Ｖｉｔｅｒｂｉのアルゴリズムを用いることで、マルコフモデルにおける状態間のさまざまな経路の中から最尤経路の適合確率を計算する（ステップＳ１３）。なお、最尤経路の適合確率が予め決めておいた適合確率以上の場合には、この段階で認証成功と決定することも可能である。
【００２７】
つぎに、ＩＤに対してＢＣＨやリードソロモンなどの誤り訂正を実行し（ステップＳ１４）、その後、誤り訂正されたＩＤの最尤経路の適合確率がステップＳ０４で確認しておいた適合確率の取り得る範囲内（たとえば確認された下限値以上の範囲）であるか否かに基づいて、最終的な認証の可否を決定する（ステップＳ１５）。
【００２８】
以上のように、実施形態におけるＩＤ設定では、（１）サンプルデータを統計処理して平準化することでデバイス固有のＩＤ（ビット列）を決定し、（２）決定されたＩＤからＢＷアルゴリズムを用いて隠れマルコフモデルのパラメータ（確率成分）を設定する。また、（３）エラーを含む場合を想定してマルコフモデルにおける最尤経路の適合確率が取り得る範囲も予め確認しておく。一方、ＩＤ認証では、（１）取得したＩＤ（ビット列）をＶｉｔｅｒｂｉアルゴリズムを用いて隠れマルコフモデルに適用して最適経路の適合確率を求め、（２）求められた適合確率が一定の条件を満たすか否かに基づいてデバイスの認証を行う。また、（３）取得したＩＤ（ビット列）にエラーが含まれる場合には誤り訂正を実行して最終的な認証の可否を決定する。
【００２９】
なお、実施形態では、ＩＤ設定とＩＤ認証とのそれぞれの過程でエラー訂正やデータ補正を実行しているが、このようにＩＤ認証においてエラーが起こる場合を想定する点は、音声認識との相違点である。さらに、実施形態では、ＩＤ設定とＩＤ認証とにＨＭＭのアルゴリズムを利用するが、ＨＭＭアルゴリズムを利用した計算は、ネットワーク上のサーバ等が実行してもよい。
【００３０】
図５は、実施形態にかかる認証システムにおけるＩＤ設定機構の概略構成例を示すブロック図である。図５に示すように、ＩＤ設定機構１１０は、複数の乱数源１１１ａ〜１１１ｈ（以下、個々を区別しない場合、乱数源の参照符号を１１１とする）およびそれらに対応する複数のレジスタ１１２ａ〜１１２ｈ（以下、個々を区別しない場合、レジスタの参照符号を１１２とする）と、ＩＤ生成部１１３と、モデルパラメータ生成部１１４と、エラー想定部１１５とを含む。乱数源１１１は、認証対象のデバイスに搭載され、基準信号に同期して“０”または“１”のデジタルデータを時系列に沿って出力する。なお、図５では、８つの乱数源１１１を備えた場合を例示しているが、この数に限定されるものではない。また、図面中、デバイス側に配置された部は認証対象のデバイスに搭載され、サーバ側に配置された部はデバイスを認証するサーバ側に配置される。これらを切り分ける位置は、適宜変更可能である。たとえば、乱数源１１１〜レジスタ１１２までをデバイス側としてもよいし、乱数源１１１〜ＩＤ生成部１１３までをデバイス側としてもよい。さらに、サーバ側は、単一サーバで構成されてもよいし、クラウドなどのように複数のコンピュータで構成されてもよい。
【００３１】
図５において、乱数源１１１は、たとえば乱数生成回路であってよい。図６および図７に、乱数生成回路の例を示す。図６に示すように、乱数生成回路１１１Ａは、排他的論理和回路１１１１と、インバータ１１１２とを含む。また、図７に示すように、乱数生成回路１１１Ｂは、２つの否定論理和回路１１１５および１１１６を含む。
【００３２】
排他的論理和回路１１１１、インバータ１１１２、否定論理和回路１１１５および１１１６は、それぞれトランジスタを含んでいる。そのため、起動直後などのトランジスタが不安定な動作時には、クロック信号（ＣＬＫ）に従って安定した信号が出力されず、不安定な信号が出力される。この不安定な信号はデバイス固有のパターンを持っていることから、デバイス固有のＩＤとして使用することが可能である。ただし、実施形態では、図６および図７に示すような、時系列的に相関を持つデータを出力する乱数生成回路１１１Ａおよび１１１Ｂに限らず、デバイス固有のサンプルデータを出力するものであればよい。たとえば、発振信号を出力するリング発振器と、このリング発振器の出力をラッチするフリップフロップ回路とよりなる乱数生成回路など、出力するデジタルデータの１ビットあたりのエントロピーが０．５以下である乱数源であれば、種々変形することが可能である。
【００３３】
図５に戻り説明する。乱数生成回路１１１で生成されたサンプルデータ（たとえばｎビットのビット列）は、それぞれ対応するレジスタ１１２に一時的に蓄積され、ＩＤ生成部１１３に入力される。各レジスタ１１２は、たとえばＳＲＡＭなどで構成することができる。
【００３４】
ＩＤ生成部１１３は、図４のステップＳ０１〜Ｓ０２に相当する処理を実行する。具体的には、レジスタ１１２に一時的に蓄積されたサンプルデータを取得し、取得したサンプルデータの平均値を取ることで、デバイス固有のＩＤを生成する。
【００３５】
また、ＩＤ生成回路１１３は、多数の乱数生成回路１１１で生成されたサンプルデータ同士を排他的論理和（ＸＯＲ）ゲートやビットシフト回路等を用いて混ぜ合わせ、これにより得られた値をデバイス固有のＩＤとしてもよい。このようなデータの混ぜ合わせを実行することで、温度などの外部環境の変化に対するロバスト性を高めることができる。たとえば各乱数生成回路１１１によって生成されるサンプルデータが外部環境の変化に対して同じように変化する場合などには、データの混ぜ合わせを実行することで、外部変化の影響を軽減もしくは排除することが可能となる。
【００３６】
モデルパラメータ生成部１１４は、図４のステップＳ０３に相当する処理を実行する。具体的には、ＢＷアルゴリズムを利用することで、ＩＤ生成部１１３で生成されたＩＤからマルコフモデルのモデルパラメータ（状態遷移確率および各状態内の分布確率）を決定する。
【００３７】
エラー想定部１１５は、図４のステップＳ０４に相当する処理を実行する。具体的には、たとえばＩＤ生成部１１３で生成されたＩＤに対して実際にいくつかのエラーを埋め込み、これに対してＶｉｔｅｒｂｉのアルゴリズムを用いてマルコフモデルにおける最尤経路の適合確率を計算することで、エラーを含む場合の適合確率の範囲（たとえば下限値）を確認する。
【００３８】
以上のように生成されたＩＤ、モデルパラメータおよびエラーを含む場合の適合確率は、たとえばＩＤ設定機構１１０における不図示の記憶部に保存される。
【００３９】
図８は、実施形態にかかる認証システムにおけるＩＤ認証機構の概略構成例を示すブロック図である。図８に示すＩＤ認証機構１２０と図５に示すＩＤ設定機構１１０との主な相違点は、ＩＤの処理にＢＷアルゴリズムを用いているか、Ｖｉｔｅｒｂｉアルゴリズムを用いているかである。
【００４０】
図８に示すように、ＩＤ認証機構１２０は、複数の乱数源１２１ａ〜１２１ｈ（以下、個々を区別しない場合、乱数源の参照符号を１２１とする）およびそれらに対応する複数のレジスタ１２２ａ〜１２２ｈ（以下、個々を区別しない場合、レジスタの参照符号を１２２とする）と、ＩＤ生成部１２３と、ＩＤ認証部１２４と、誤り訂正部１２５とを含む。乱数源１２１、レジスタ１２２およびＩＤ生成部１２３は、たとえば図５に示した乱数源１１１、レジスタ１１２およびＩＤ生成部１１３と同じものであってよい。また、図５と同様、図面中、デバイス側に配置された部は認証対象のデバイスに搭載され、サーバ側に配置された部はデバイスを認証するサーバ側に配置される。これらを切り分ける位置は、適宜変更可能である。たとえば、乱数源１１１〜レジスタ１１２までをデバイス側としてもよいし、乱数源１１１〜ＩＤ生成部１１３までをデバイス側としてもよい。さらに、サーバ側は、単一サーバで構成されてもよいし、クラウドなどのように複数のコンピュータで構成されてもよい。
【００４１】
ＩＤ生成部１２３は、図４のステップＳ１１〜Ｓ１２に相当する処理を実行する。具体的には、レジスタ１２２に一時的に蓄積されたサンプルデータを取得し、取得したサンプルデータの平均値を取ることで、デバイス固有のＩＤを生成する。
【００４２】
ＩＤ認証部１２４は、図４のステップＳ１３に相当する処理を実行する。具体的には、Ｖｉｔｅｒｂｉアルゴリズムを利用することで、ＩＤ生成部１２３で生成されたＩＤの最尤経路の適合確率を計算する。ＩＤ認証部１２４は、計算した適合確率が予め決めておいた適合確率以上の場合には、認証成功と決定してもよい。
【００４３】
誤り訂正部１２５は、図４のステップＳ１４およびＳ１５に相当する処理を実行する。具体的には、ＩＤに対してＢＣＨやリードソロモンなどの誤り訂正を実行し、誤り訂正されたＩＤの最尤経路の適合確率がサーバに登録された適合確率の取り得る範囲内（たとえば確認された下限値以上の範囲）であるか否かに基づいて、最終的な認証の可否を決定する。
【００４４】
図９は、実施形態にかかる認証システムの概略構成例を示すブロック図である。図９に示す認証システム１００は、乱数生成回路１３０とＰＵＦ部１４０とを組み合わせることで構成されている。
【００４５】
乱数生成回路１３０は、乱数源１３１、平滑化回路１３２、および検定回路１３３を有する。乱数源１３０は、例えば、奇数個のインバータを含むリング発振器である。ただし、乱数を発生可能なあらゆる乱数源を乱数源１３０として用いることができる。平滑化回路１３２は、０，１のビットパターンを平均化する。この平滑化回路１３２は、省略されてもよい。ただし、乱数源１３１の動作開始時のデータがばらつく場合には、平滑化回路１３２を設けることが好ましい。検定回路１３３は、例えば乱数の出現頻度をカイ２乗検定する度数検定等を行い、乱数を出力する。
【００４６】
ＩＤ生成回路１４０は、生成部の一例である。ＩＤ生成回路１４０は、乱数源１３１で生成された乱数に対してＨＭＭの補正を行うと共に、訂正符号発生部１４３から供給された誤り訂正符号を付加して出力する出力補正／誤り訂正部１４２を有している。また、ＩＤ生成回路１４０は、出力補正／誤り訂正部１４２からの出力にハッシュ関数を付加することで暗号鍵を生成して出力するハッシュ関数部１４４を有している。
【００４７】
なお、図９において、乱数源１３１で生成された乱数を混ぜ合わせたデータを、ＰＵＦ回路１４０に入力してもよい。これは、図６や図７に示すような単独の乱数源を用いた場合では、温度などの外部環境の変化に対してＩＤが変化する場合があるためである。そこで、図５におけるＩＤ生成部１１３と同様に、図６や図７に示すような乱数源を複数用い、それらで生成されたデータをＸＯＲゲートやビットシフト回路等を用いて混ぜ合わせてもよい。これにより、外部環境の変化に対して高いロバスト性のＩＤを生成することが可能となる。
【００４８】
なお、ＨＭＭモデルを含めたＩＤ認証は、容量の比較的大きいサーバ側で実行されることが好ましいが、デバイス側の容量に余裕がある場合にはデバイス側に存在するコプロセッサーなどを用いて実行することも可能である。
【００４９】
つづいて、実際に生成されたサンプルデータの評価例を、図面を用いて詳細に説明する。図１０は、実施形態にかかる評価において使用したサンプルデータを示す図である。図１０には、実験により実測された９パターンのデータ（ｂｉｔ０〜ｂｉｔ８）と、作為的に作った３パターンのデータ（ｂｉｔ９〜ｂｉｔ１１）とが示されている。評価では、各サンプルデータに対して上述のアルゴリズムの適用を通してサンプルデータを認証を実施した。また、実測データの取得には、たとえば図５または図６に示した乱数発生回路１１１Ａまたは１１１Ｂのような、ｍｅｔａｓｔａｂｌｅ状態の時に“０”と“１”とがばらつく機構などを備えた乱数源を利用した。
【００５０】
ただし、乱数源からの出力は、外部ノイズなどの影響を受けて複雑である。そのため、ＨＭＭとしてどのような内部状態をいくつ使うかを理論的に導き出すことは困難である。そこで、ＨＭＭでは状態の数が重要であることに着目して、いくつかの状態を利用することを考える。また、モデルとしては、図２に示したｌｅｆｔ−ｒｉｇｈｔモデルを用いることとする。
【００５１】
ｌｅｆｔ−ｒｉｇｈｔモデルでは、状態間の遷移は時間が進展する方向と仮定されている。各状態は、乱数源における内部回路の何らかの電子状態であるが、具体的にどのような状態であるかを同定する必要はない。認証に用いるサンプルデータのビット数Ｔは、３２ビットを想定する（Ｔ＝３２）。この場合、自己ループを考慮すると、状態の数Ｎは、ビット数Ｔよりも小さくなる。そこで以下では、数Ｎ＝３、Ｎ＝５およびＮ＝１０という３つのモデルでサンプルデータを評価した例を説明する。
【００５２】
認証では、まず、ＢＷアルゴリズムに基づいて決定されたＨＭＭのモデルパラメータを用いた後、確認のため、同じＩＤでの最適経路の確率をＶｉｔｅｒｂｉアルゴリズムに基づいて計算した。ＢＷアルゴリズムは、３０回繰り返した。それにより得られた結果を、図１１（Ｎ＝３の場合）、図１２（Ｎ＝５の場合）および図１３（Ｎ＝１０の場合）にそれぞれ示す。
【００５３】
図１１〜１３に示すように、ＢＷアルゴリズムの係数を求めるときに入力したＩＤと同じＩＤを入れたとしても、最適経路の生成確率は１にはならず、ビット列が増加するにつれて指数関数的に減少していく。これは、ビット列が増加するほど、さまざまな経路をとる確率が増加することを意味している。図１１〜１３それぞれの中で特に確率が高くなっているのは、図１０において固定パターンとしたｂｉｔ９およびｂｉｔ１０である。通常のＣ言語のｆｌｏａｔで計算した場合に取得できる最適経路の生成確率の限界は、１０Ｅ−６である。なお、図１１〜１３では、すべての計算をｄｏｕｂｌｅ変数で行っているので、小数点以下１２桁まで計算されている。
【００５４】
図１１〜１３からわかるように、検査するビット列の長さとして２０ビットを越えると、ＩＤが完全に一致する場合でも最適経路の生成確率が１０Ｅ−６以下となる可能性が生じる。そのため、認証としては有効的ではない。
【００５５】
つぎに、正しいＩＤから２ビットだけ反転したデータをＶｉｔｅｒｂｉアルゴリズムに入力して最適経路の生成確率を計算した結果を、図１４（Ｎ＝３の場合）、図１５（Ｎ＝５の場合）および図１６（Ｎ＝１０の場合）にそれぞれ示す。図１４〜１６を比較すると、状態の数Ｎを増やすほど生成確率が下がることが分かる。特に、常に同じ値であるｂｉｔ９およびｂｉｔ１０は生成確率がともにゼロである。これは、ビット誤りに対してきわめてｆｒａｇｉｌｅであることを示している。また、ｂｉｔ９およびｂｉｔ１０以外の一般的なデータの生成確率が限界１０Ｅ−６を下回るのは状態の数Ｎ＝３でビット列の数を１５以上としたときであり、状態の数Ｎを増加させるほど許容範囲が狭くなっている。また、ｂｉｔ９およびｂｉｔ１０以外の一般的なデータの中で特に生成確率が低いのはｂｉｔ７である。図１０を参照すると、ｂｉｔ７も初期以外は決まったパターンが続くデータであることがわかる。このことから、決まったパターンを含む、つまり乱数性が低いデータは、周期性が少しでもずれると生成確率が急激に減少することがわかる。
【００５６】
ＰＵＦでは一般的にＥＣＣでデータ補正が行われるが、その場合、エラーとして許される確率を１５％とすると、上記の計算で２ビットエラーが許されるビット列の数は、１４ビット程度となる。
【００５７】
図１７および図１８は、図１に示すような、元のデータから２ビットずれたデータを入力して計算した場合のずれの影響を示す図である。図１７は、状態の数Ｎを３とし、図１８は、状態の数Ｎを５とした場合を示す。図１７と図１８とを比較するとわかるように、状態の数Ｎを３とした場合の方が、状態の数Ｎを５とした場合よりも、ずれに対する影響が小さい。すなわち、状態の数Ｎを小さくした方が、ずれた場合の生成確率の低下を抑制できる。これは、上述した本実施形態の手法において状態の数Ｎを小さくすることで、ずれに対して安定した結果を得られることを意味している。
【００５８】
以上、図１１〜１８に示したように、以下の結果が得られた。
（１）アルゴリズムの反復回数が増えるに従って生成確率の差が大きくなる。つまり、反復回数が増えるに従ってエラーがない場合の認証確率は上がる。
（２）ビットがずれたパターンの認証確率は数回の反復パターンでピークを持ち、反復回数がそれ以上になるとゼロに近づいていく。これは、ＢＷアルゴリズムの反復回数を認証確率がピークとなる数回とすることが好ましいことを意味する。
（３）ｂｉｔ９やｂｉｔ１０のような固定値を繰り返すデータパターンに対しては、１ビットずれるだけで認証確率はゼロとなる。そのため、別に扱う必要がある。
【００５９】
以上のような結果を踏まえ、データに依存した性質を考慮して認証用のＩＤを決定することで、より精度の高い認証が可能となる。
【００６０】
つぎに、実施形態にかかる認証対象となる電子デバイスの概略構成例を図１９に示す。図１９に示すように、電子デバイス１５０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５１と、メモリ１５２と、入力部１５３と、出力部１５４と、セキュリティ・認証回路１５５と、ＰＵＦ回路１５６とを含む。認証開始のトリガとなる入力信号（チャレンジ）は、ＣＰＵ１５１からセキュリティ・認証回路１５５へ命令として出力される。入力信号（チャレンジ）を受けると、セキュリティ・認証回路１５５は、ＰＵＦ回路１５６にアクセスし、ＰＵＦ回路１５６からＩＤの情報を取得する。取得されたＩＤの情報は、出力部１５４を通してサーバ側に吸い上げられ（レスポンス）、サーバ側において予測される欠陥ばらつきの変化と照合することにより、ＩＤ認証が実行される。
【００６１】
以上のように、実施形態によれば、データ間に相関がある場合などにも有効な認証システム、認証装置および認証方法を実現することが可能である。
【００６２】
なお、乱数源としては、図６および図７で例示した乱数生成回路に限らず、一般な乱数生成回路のノイズ源を広く適用可能である。一般なノイズ源では、動作の初めの位置を特定すれば、ノイズパターンが各素子に特徴的な値を示す。
【００６３】
図２０は、ＯＮＯ（Ｏｘｉｄｅ−Ｎｉｔｒｉｄｅ−Ｏｘｉｄｅ）構造を備えた半導体素子におけるシリコン窒化膜内のトラップを利用したノイズ源を示している（M. Matsumoto et al,:  Non-Stoichiometric SixN MOSFET for Compact Random Number Generator with 0.3Mbit/sec Generation Rate:  Jpn. J. Appl. Phys. 47 (2008) pp. 6191-6195）。図２１は、トンネル窒化膜と制御酸化膜とよりなるゲート絶縁膜内に量子ドットとしてのシリコンナノ結晶などのトラップがある場合のノイズ源を示している（R. Ohba et al,:  Narrow-channel-MOSFET having Si-dots for high-rate generation of random numbers:  IEEE International Electron Devices Meeting (IEDM) 2003, Technical Digest p.31.3 (2003), Washington DC, USA:  Dec. 9-10, 2003）。図２０および図２１に示す２つのノイズ源は、特にノイズの振幅を増大するための構造を備えているが、通常のトランジスタのノイズでもノイズ源として利用することができる。
【００６４】
図２２は、トランジスタノイズを増幅するための回路の例を示している。一般のトランジスタを利用する場合、最初の電流の変化をとらえた瞬間を開始時間とし、そこからのトラップによる電流変異の時間パターンをＰＵＦのパターンとすることができる。
【００６５】
その他として、単一電子素子といわれる電子数がカウント可能な素子もノイズ源に適用することが可能である（K.Uchida et al., T:  Single-electron random-number generator (RNG) for highly secure ubiquitous computing applications:  IEEE International Electron Devices Meeting 2002. Technical Digest p.177 (2002), SanFrancisco, USA:  Dec. 9-11, 2002.）。
【００６６】
このように、本実施形態によれば、ＩＤ生成方法が個々のデバイスに依存する場合であっても、より強固な認証システム、認証装置および認証方法を構築することが可能である。
【００６７】
また、上気した実施形態では、ＨＭＭを用いた場合を例示したが、ＨＭＭ以外にも、たとえばユーザからのデータが一部欠損して同じデータ数で登録データとユーザデータとを照合できない場合には、Ｄｙｎａｍｉｃ  Ｔｉｍｅ  Ｗａｒｐｉｎｇ（最初はＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｉｎｇ：動的計画法）マッチング（ＤＴＷ）という手法も適用できる。
【００６８】
上記実施形態およびその変形例は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施形態が可能であることは上記記載から自明である。例えば実施形態に対して適宜例示した変形例は、他の実施形態と組み合わせることも可能であることは言うまでもない。
【符号の説明】
【００６９】
１００…認証システム、１１０…ＩＤ設定機構、１１１，１２１，１３１…乱数源、１１２，１２２…レジスタ、１１３，１２３…ＩＤ生成部、１１４…モデルパラメータ生成部、１１５…エラー想定部、１２０…ＩＤ認証機構、１２４…ＩＤ認証部、１２５…誤り訂正部、１３０…乱数回路、１４０…ＰＵＦ回路、１４２…ＨＭＭ認証回路、１４３…訂正符号格納部
【図１】
2016063457.tif 000003
【図２】
2016063457.tif 000004
【図３】
2016063457.tif 000005
【図４】
2016063457.tif 000006
【図５】
2016063457.tif 000007
【図６】
2016063457.tif 000008
【図７】
2016063457.tif 000009
【図８】
2016063457.tif 000010
【図９】
2016063457.tif 000011
【図１０】
2016063457.tif 000012
【図１９】
2016063457.tif 000013
【図２０】
2016063457.tif 000014
【図２１】
2016063457.tif 000015
【図２２】
2016063457.tif 000016
【図１１】
2016063457.tif 000017
【図１２】
2016063457.tif 000018
【図１３】
2016063457.tif 000019
【図１４】
2016063457.tif 000020
【図１５】
2016063457.tif 000021
【図１６】
2016063457.tif 000022
【図１７】
2016063457.tif 000023
【図１８】
2016063457.tif 000024