特許第6239471号(P6239471)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧

<>
  • 特許6239471-認証システム、認証装置および認証方法 図000002
  • 特許6239471-認証システム、認証装置および認証方法 図000003
  • 特許6239471-認証システム、認証装置および認証方法 図000004
  • 特許6239471-認証システム、認証装置および認証方法 図000005
  • 特許6239471-認証システム、認証装置および認証方法 図000006
  • 特許6239471-認証システム、認証装置および認証方法 図000007
  • 特許6239471-認証システム、認証装置および認証方法 図000008
  • 特許6239471-認証システム、認証装置および認証方法 図000009
  • 特許6239471-認証システム、認証装置および認証方法 図000010
  • 特許6239471-認証システム、認証装置および認証方法 図000011
  • 特許6239471-認証システム、認証装置および認証方法 図000012
  • 特許6239471-認証システム、認証装置および認証方法 図000013
  • 特許6239471-認証システム、認証装置および認証方法 図000014
  • 特許6239471-認証システム、認証装置および認証方法 図000015
  • 特許6239471-認証システム、認証装置および認証方法 図000016
  • 特許6239471-認証システム、認証装置および認証方法 図000017
  • 特許6239471-認証システム、認証装置および認証方法 図000018
  • 特許6239471-認証システム、認証装置および認証方法 図000019
  • 特許6239471-認証システム、認証装置および認証方法 図000020
  • 特許6239471-認証システム、認証装置および認証方法 図000021
  • 特許6239471-認証システム、認証装置および認証方法 図000022
  • 特許6239471-認証システム、認証装置および認証方法 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6239471
(24)【登録日】2017年11月10日
(45)【発行日】2017年11月29日
(54)【発明の名称】認証システム、認証装置および認証方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20171120BHJP
   H04L 9/10 20060101ALI20171120BHJP
   G06F 21/44 20130101ALI20171120BHJP
【FI】
   H04L9/00 673D
   H04L9/00 621Z
   G06F21/44
【請求項の数】9
【全頁数】16
(21)【出願番号】特願2014-191009(P2014-191009)
(22)【出願日】2014年9月19日
(65)【公開番号】特開2016-63457(P2016-63457A)
(43)【公開日】2016年4月25日
【審査請求日】2016年9月12日
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】棚本 哲史
(72)【発明者】
【氏名】丸亀 孝生
(72)【発明者】
【氏名】安田 心一
(72)【発明者】
【氏名】三谷 祐一郎
(72)【発明者】
【氏名】藤田 忍
【審査官】 金沢 史明
(56)【参考文献】
【文献】 特表2014−523192(JP,A)
【文献】 特表2009−527798(JP,A)
【文献】 特表2013−510381(JP,A)
【文献】 特開2011−034382(JP,A)
【文献】 国際公開第2006/003711(WO,A1)
【文献】 特開2009−147088(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/30−21/46
H04L 9/10
(57)【特許請求の範囲】
【請求項1】
基準信号に同期して時系列に沿ったデジタルデータを出力するリング発振器を備えた物理デバイスと、
前記リング発振器の1回の起動に対し、当該リング発振器の前記起動直後の出力に対する測定を2回以上繰り返すことで、複数のデータ列を取得する取得部と、
前記複数のデータ列から統計的手法を用いて前記物理デバイスに対するIDを生成する生成部と、
前記IDに対して隠れマルコフモデルを用いた確率計算を実行する計算部と
前記計算部による計算結果に基づいて前記物理デバイスを認証する認証部と、
を備える認証システム。
【請求項2】
Baum−Welshアルゴリズムに基づいて前記IDに対する隠れマルコフモデルのモデルパラメータを決定する決定部をさらに備える請求項1に記載の認証システム。
【請求項3】
前記計算部は、Viterbiアルゴリズムに基づいて前記IDに対する確率計算を実行する請求項1に記載の認証システム。
【請求項4】
前記生成部は、ネットワークを経由して前記物理デバイスから前記レジスタに格納されている前記複数のデータ列を取得する請求項1に記載の認証システム。
【請求項5】
前記生成部で生成されたIDに対して誤り訂正を実行する誤り訂正部をさらに備える請求項に記載の認証システム。
【請求項6】
前記IDは、15ビット以下のビット列である請求項1に記載の認証システム。
【請求項7】
前記認証部が用いる前記隠れマルコフモデルの状態数は、5個以下である請求項1に記載の認証システム。
【請求項8】
基準信号に同期して時系列に沿ったデジタルデータを出力するリング発振器の1回の起動に対して当該リング発振器の前記起動直後の出力に対する測定を2回以上繰り返すことで取得された複数のデータ列から統計的手法を用いてIDを生成する生成部と、
生成した前記IDに対して隠れマルコフモデルを用いた確率計算を実行し、該確率計算の結果に基づいて前記物理デバイスを認証する認証部と、
を備える認証装置。
【請求項9】
基準信号に同期して時系列に沿ったデジタルデータを出力するリング発振器の1回の起動に対して当該リング発振器の前記起動直後の出力に対する測定を2回以上繰り返すことで取得された複数のデータ列から統計的手法を用いてIDを生成し、
生成した前記IDに対して隠れマルコフモデルを用いた確率計算を実行し、
前記確率計算の結果に基づいて前記物理デバイスを認証する
ことを含む認証方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、認証システム、認証装置および認証方法に関する。
【背景技術】
【0002】
近年、通信速度の向上およびクラウドコンピューテイングの進展により、近接場型の無線通信(Near Field Communication:NFC)の利用が急拡大している。NFCは、キャッシュカードやクレジットカードなどのICカードのほか、スマートフォンに搭載される電子マネーや電車やバスなどの乗車券等に使用されるスマートカードとして利用されることが一般的である。このようなNFCでは、個人を特定するID特定機能におけるセキュリティの強化が課題である。
【0003】
また近年では、個人的なデータを保存するためだけに用いられてきたメモリーカード等にもID特定機能が搭載されつつあるなど、携帯型デバイスにおけるID特定機能の高度化が技術的な課題となっている。
【0004】
このような背景の中で、個々のデバイスばらつきを“チップ指紋”として利用する研究開発が進められている。これらは、Physically Unclonable Function(PUF)として知られている。
【0005】
PUFの中で現在一番研究されているのが、SRAM(Static Random Access Memory)−PUFである。SRAM−PUFは、SRAMを構成する2つのインバータの製造時のばらつきを利用する技術である。なかでも最も有名なRAM−PUF〔1−3〕は、上記のセキュリティIPやICカードなどに適用されている。また、電子デバイスの初期ばらつきを利用する提案として、不揮発メモリへの応用も検討されている。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】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.
【非特許文献2】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.
【発明の概要】
【発明が解決しようとする課題】
【0007】
以下の実施形態では、PUFを利用した認証システム、認証装置および認証方法を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態にかかる認証システムは、基準信号に同期して時系列に沿ったデジタルデータを出力するリング発振器を備えた物理デバイスと、前記リング発振器の1回の起動に対し、当該リング発振器の前記起動直後の出力に対する測定を2回以上繰り返すことで、複数のデータ列を取得する取得部と、前記複数のデータ列から統計的手法を用いて前記物理デバイスに対するIDを生成する生成部と、前記IDに対して隠れマルコフモデルを用いた確率計算を実行する計算部と前記計算部による計算結果に基づいて前記物理デバイスを認証する認証部とを備える。
【図面の簡単な説明】
【0009】
図1図1は、同一デバイスから出力されたパターンがずれた場合の一例を示す図である。
図2図2は、隠れマルコフモデルのパラメータの例を示す図である。
図3図3は、隠れマルコフモデルの状態遷移の例を示す図である。
図4図4は、実施形態にかかるHMMを用いた認証方式の一例を示すチャート図である。
図5図5は、実施形態にかかる認証システムにおけるID設定機構の概略構成例を示すブロック図である。
図6図6は、実施形態にかかる乱数生成回路の例を示す回路図である。
図7図7は、実施形態にかかる乱数生成回路の他の例を示す回路図である。
図8図8は、実施形態にかかる認証システムにおけるID認証機構の概略構成例を示すブロック図である。
図9図9は、実施形態にかかる認証システムの概略構成例を示すブロック図である。
図10図10は、実施形態にかかる評価において使用したサンプルデータを示す図である。
図11図11は、図10に示すサンプルデータの評価結果を示す図である(N=3)。
図12図12は、図10に示すサンプルデータの評価結果を示す図である(N=5)。
図13図13は、図10に示すサンプルデータの評価結果を示す図である(N=10)。
図14図14は、図10に示すサンプルデータに2ビットのエラーを含めた場合の評価結果を示す図である(N=3)。
図15図15は、図10に示すサンプルデータに2ビットのエラーを含めた場合の評価結果を示す図である(N=5)。
図16図16は、図10に示すサンプルデータに2ビットのエラーを含めた場合の評価結果を示す図である(N=10)。
図17図17は、図1に示すデータを入力して計算した場合のずれの影響を示す図である(N=3)。
図18図18は、図1に示すデータを入力して計算した場合のずれの影響を示す図である(N=5)。
図19図19は、実施形態にかかる認証対象となる電子デバイスの概略構成例を示す図である。
図20図20は、実施形態にかかるトランジスタノイズを利用したノイズ源の一例を示す図である。
図21図21は、実施形態にかかるトランジスタノイズを利用したノイズ源の他の一例を示す図である。
図22図22は、実施形態にかかるトランジスタノイズを増幅するための回路の一例を示す図である。
【発明を実施するための形態】
【0010】
以下、添付図面を参照しながら、例示する実施形態にかかる認証システム、認証装置および認証方法を詳細に説明する。以下の実施形態で例示する認証システム、認証装置および認証方法は、隠れマルコフモデル(Hiden Markov Model:HMM)を利用したID認証方法を用いる半導体製品のセキュリティ識別に関するものである。ただし、これに限定されず、以下の説明は、本開示に関連する様々な認証システム、認証装置および認証方法に対して適用可能である。
【0011】
PUFの一つとして、乱数源を利用したPUF(以下、乱数PUFという)が存在する。乱数PUFは、乱数生成回路などの乱数源をそのまま用いることができるという利点を持っている。また、乱数生成回路の出力データが時間的に連続したデータであるため、データ同士が相関を持つという特徴を持っている。
【0012】
PUFは、ノイズを含むデータから安定して情報を抽出することが可能なFuzzy Extractorと組み合わされることにより、複製困難なデバイス固有鍵を生成することが可能である。しかしながら、FEなどの統計的な手法は、SRAMの空間的ビット列のようにビット間に時間的相関のないデータ間の同定に優れているものの、乱数PUFのように時系列的に生成されるビット列に対してそのまま適用することが効率的であるとは限らない。これは、各データがその前のデータの影響を受けるためである。
【0013】
つまり、乱数PUFでは、各データの生成がお互いに独立事象ではない。たとえば図1に示すように、乱数PUFでは1ビットか2ビットずれて同じパターンを繰り返すというデータが存在し得るが、“0”と“1”の平均と分散の解析だけではこのような2つのパターンが同じデバイスから出ていることを特定できない可能性が存在する。
【0014】
このように、相関を持ったデータを扱う場合には、SRAM−PUFで行われている通常の統計的処理で正確な認証が可能であることが確かではない。そこで以下の実施形態では、データ間に相関がある場合などにも有効な認証システム、認証装置および認証方法を提供する。
【0015】
独立事象でないデータの指紋認証を行う方法において、有効で且つ認証確率の高いと考えられるものは、声紋認証である。ただし、音声認識のデータ量に比べると、乱数PUFなどの時系列データのデータ量は100ビットから1000ビット程度である。そのため、音声認証の認証方法をそのまま適用することは難しい。そこで以下の実施形態では、音声認識の認証方法を少数ビットに対しても適用可能とするために、ビット間のエラー訂正を合わせた方式を提案する。
【0016】
ビット間のエラー訂正には、たとえば隠れマルコフモデル(HMM)を利用することができる。HMMとは、実世界から得られる複雑で不完全な情報を処理するために作られた確率・統計的なモデルの一つであり、ニューラルネットモデルや音声認識や画像処理において広く用いられている。HMMは、EMアルゴリズム(Expectation−maximization Algorithm)の一つで、確率モデルのパラメータを最尤法に基づいて推定する統計的手法である。
【0017】
EMアルゴリズムでは、反復法を用いて期待値ステップと最大化ステップとを繰り返すことで計算が進行する。最大化ステップで決まったパラメータは、次の期待値ステップで使われる潜在変数の分布を決定するために用いられる。
【0018】
マルコフモデルは、状態と状態間の遷移確率との二種類の確率パラメータを持ったモデルであり、たとえば図2および図3に示すように、前の状態に依存して確率的に次の状態が決まる。単純マルコフモデルでは、各内部状態と観測値とが一対一で対応しているのに対して、隠れマルコフモデルでは、各内部状態が複数の観測値を確率的に取ることできる。そのため、隠れマルコフモデルの方が現象を記述できる自由度が大きく、広く応用することが可能である。
【0019】
図4は、実施形態にかかるHMMを用いた認証方式の一例を示すチャート図である。図4において、ステップS01〜S04がID設定の流れを示し、ステップS11〜S15がID認証の流れを示す。ステップS03およびS13は、通常の音声認証に用いられるステップと同じであってよい。ただし、音声認識では用いられるデータ量が多いことからステップS11〜S13で認証を行うことが可能であるが、PUFを利用した認証では、通信回線が利用されることもあり、また、データ数が100ビットから1000ビット程度と少ないため、ステップS14のエラー訂正を実行することが好ましい。
【0020】
ID設定では、まず、初期の段階で測定を2回以上繰り返すことで、対象デバイスから複数のサンプルデータ(PUFデータまたは指紋データともいう)を取得する(ステップS01)。なお、初期の段階とは、対象デバイスの起動時など、デバイス内部のトランジスタが不安定な状態の段階であってよい。つぎに、取得したサンプルデータを平準化することで、対象デバイス固有のビット列(以下、IDという)を生成する(ステップS02)。サンプルデータの平準化には、たとえば平均化などを用いることができる。これにより生成されるIDは、“0”と“1”とを組み合わせたビット列である。
【0021】
またIDの決定では、サンプルデータのヒストグラムを取得し、その中で最も頻度の多いデータパターンをIDとすることもできる。頻度の高いデータパターンが複数ある場合には、複数のデータパターンそれぞれをIDとして登録してもよい。以下では、これらすべての場合を含めて平準化として記述する。
【0022】
つぎに、IDを記述するマルコフモデルのモデルパラメータ(状態遷移確率および各状態内の分布確率)をBaum−Welch(BW)アルゴリズムで決定する(ステップS03)。これにより、各IDに対して固有のパラメータが設定される。
【0023】
その後、対象デバイスから取得されるID(ビット列)がずれた場合等を想定し、そのような場合にマルコフモデルにおける最尤経路の適合確率が取り得る範囲を確認する(ステップS04)。なお、ステップS04では、たとえば実際にいくつかのエラーをIDに埋め込んだ状態でViterbiのアルゴリズムを用いて最尤経路の適合確率を計算することで、エラーを含む場合の適合確率の範囲(たとえば下限値)が確認されてもよい。
【0024】
以上のように生成されたIDとそのモデルパラメータとエラーを含む場合の適合確率の範囲とは、たとえば不図示のサーバにおけるメモリに保持され、管理される。
【0025】
一方、ID認証では、まず、ステップS01〜S02と同様に、対象デバイスから複数のサンプルデータを取得し(ステップS11)、取得したサンプルデータを平準化することで、対象デバイス固有のIDを生成する(ステップS12)。このように、ID認証においても、単一データではなく、測定を2回以上繰り返して複数のサンプルデータを取得し、それを平準化することで、対象デバイスについてのIDを取得する。
【0026】
つぎに、生成されたIDがマルコフモデルに適合しているか否かを決定する。具体的には、Viterbiのアルゴリズムを用いることで、マルコフモデルにおける状態間のさまざまな経路の中から最尤経路の適合確率を計算する(ステップS13)。なお、最尤経路の適合確率が予め決めておいた適合確率以上の場合には、この段階で認証成功と決定することも可能である。
【0027】
つぎに、IDに対してBCHやリードソロモンなどの誤り訂正を実行し(ステップS14)、その後、誤り訂正されたIDの最尤経路の適合確率がステップS04で確認しておいた適合確率の取り得る範囲内(たとえば確認された下限値以上の範囲)であるか否かに基づいて、最終的な認証の可否を決定する(ステップS15)。
【0028】
以上のように、実施形態におけるID設定では、(1)サンプルデータを統計処理して平準化することでデバイス固有のID(ビット列)を決定し、(2)決定されたIDからBWアルゴリズムを用いて隠れマルコフモデルのパラメータ(確率成分)を設定する。また、(3)エラーを含む場合を想定してマルコフモデルにおける最尤経路の適合確率が取り得る範囲も予め確認しておく。一方、ID認証では、(1)取得したID(ビット列)をViterbiアルゴリズムを用いて隠れマルコフモデルに適用して最適経路の適合確率を求め、(2)求められた適合確率が一定の条件を満たすか否かに基づいてデバイスの認証を行う。また、(3)取得したID(ビット列)にエラーが含まれる場合には誤り訂正を実行して最終的な認証の可否を決定する。
【0029】
なお、実施形態では、ID設定とID認証とのそれぞれの過程でエラー訂正やデータ補正を実行しているが、このようにID認証においてエラーが起こる場合を想定する点は、音声認識との相違点である。さらに、実施形態では、ID設定とID認証とにHMMのアルゴリズムを利用するが、HMMアルゴリズムを利用した計算は、ネットワーク上のサーバ等が実行してもよい。
【0030】
図5は、実施形態にかかる認証システムにおけるID設定機構の概略構成例を示すブロック図である。図5に示すように、ID設定機構110は、複数の乱数源111a〜111h(以下、個々を区別しない場合、乱数源の参照符号を111とする)およびそれらに対応する複数のレジスタ112a〜112h(以下、個々を区別しない場合、レジスタの参照符号を112とする)と、ID生成部113と、モデルパラメータ生成部114と、エラー想定部115とを含む。乱数源111は、認証対象のデバイスに搭載され、基準信号に同期して“0”または“1”のデジタルデータを時系列に沿って出力する。なお、図5では、8つの乱数源111を備えた場合を例示しているが、この数に限定されるものではない。また、図面中、デバイス側に配置された部は認証対象のデバイスに搭載され、サーバ側に配置された部はデバイスを認証するサーバ側に配置される。これらを切り分ける位置は、適宜変更可能である。たとえば、乱数源111〜レジスタ112までをデバイス側としてもよいし、乱数源111〜ID生成部113までをデバイス側としてもよい。さらに、サーバ側は、単一サーバで構成されてもよいし、クラウドなどのように複数のコンピュータで構成されてもよい。
【0031】
図5において、乱数源111は、たとえば乱数生成回路であってよい。図6および図7に、乱数生成回路の例を示す。図6に示すように、乱数生成回路111Aは、排他的論理和回路1111と、インバータ1112とを含む。また、図7に示すように、乱数生成回路111Bは、2つの否定論理和回路1115および1116を含む。
【0032】
排他的論理和回路1111、インバータ1112、否定論理和回路1115および1116は、それぞれトランジスタを含んでいる。そのため、起動直後などのトランジスタが不安定な動作時には、クロック信号(CLK)に従って安定した信号が出力されず、不安定な信号が出力される。この不安定な信号はデバイス固有のパターンを持っていることから、デバイス固有のIDとして使用することが可能である。ただし、実施形態では、図6および図7に示すような、時系列的に相関を持つデータを出力する乱数生成回路111Aおよび111Bに限らず、デバイス固有のサンプルデータを出力するものであればよい。たとえば、発振信号を出力するリング発振器と、このリング発振器の出力をラッチするフリップフロップ回路とよりなる乱数生成回路など、出力するデジタルデータの1ビットあたりのエントロピーが0.5以下である乱数源であれば、種々変形することが可能である。
【0033】
図5に戻り説明する。乱数生成回路111で生成されたサンプルデータ(たとえばnビットのビット列)は、それぞれ対応するレジスタ112に一時的に蓄積され、ID生成部113に入力される。各レジスタ112は、たとえばSRAMなどで構成することができる。
【0034】
ID生成部113は、図4のステップS01〜S02に相当する処理を実行する。具体的には、レジスタ112に一時的に蓄積されたサンプルデータを取得し、取得したサンプルデータの平均値を取ることで、デバイス固有のIDを生成する。
【0035】
また、ID生成回路113は、多数の乱数生成回路111で生成されたサンプルデータ同士を排他的論理和(XOR)ゲートやビットシフト回路等を用いて混ぜ合わせ、これにより得られた値をデバイス固有のIDとしてもよい。このようなデータの混ぜ合わせを実行することで、温度などの外部環境の変化に対するロバスト性を高めることができる。たとえば各乱数生成回路111によって生成されるサンプルデータが外部環境の変化に対して同じように変化する場合などには、データの混ぜ合わせを実行することで、外部変化の影響を軽減もしくは排除することが可能となる。
【0036】
モデルパラメータ生成部114は、図4のステップS03に相当する処理を実行する。具体的には、BWアルゴリズムを利用することで、ID生成部113で生成されたIDからマルコフモデルのモデルパラメータ(状態遷移確率および各状態内の分布確率)を決定する。
【0037】
エラー想定部115は、図4のステップS04に相当する処理を実行する。具体的には、たとえばID生成部113で生成されたIDに対して実際にいくつかのエラーを埋め込み、これに対してViterbiのアルゴリズムを用いてマルコフモデルにおける最尤経路の適合確率を計算することで、エラーを含む場合の適合確率の範囲(たとえば下限値)を確認する。
【0038】
以上のように生成されたID、モデルパラメータおよびエラーを含む場合の適合確率は、たとえばID設定機構110における不図示の記憶部に保存される。
【0039】
図8は、実施形態にかかる認証システムにおけるID認証機構の概略構成例を示すブロック図である。図8に示すID認証機構120と図5に示すID設定機構110との主な相違点は、IDの処理にBWアルゴリズムを用いているか、Viterbiアルゴリズムを用いているかである。
【0040】
図8に示すように、ID認証機構120は、複数の乱数源121a〜121h(以下、個々を区別しない場合、乱数源の参照符号を121とする)およびそれらに対応する複数のレジスタ122a〜122h(以下、個々を区別しない場合、レジスタの参照符号を122とする)と、ID生成部123と、ID認証部124と、誤り訂正部125とを含む。乱数源121、レジスタ122およびID生成部123は、たとえば図5に示した乱数源111、レジスタ112およびID生成部113と同じものであってよい。また、図5と同様、図面中、デバイス側に配置された部は認証対象のデバイスに搭載され、サーバ側に配置された部はデバイスを認証するサーバ側に配置される。これらを切り分ける位置は、適宜変更可能である。たとえば、乱数源111〜レジスタ112までをデバイス側としてもよいし、乱数源111〜ID生成部113までをデバイス側としてもよい。さらに、サーバ側は、単一サーバで構成されてもよいし、クラウドなどのように複数のコンピュータで構成されてもよい。
【0041】
ID生成部123は、図4のステップS11〜S12に相当する処理を実行する。具体的には、レジスタ122に一時的に蓄積されたサンプルデータを取得し、取得したサンプルデータの平均値を取ることで、デバイス固有のIDを生成する。
【0042】
ID認証部124は、図4のステップS13に相当する処理を実行する。具体的には、Viterbiアルゴリズムを利用することで、ID生成部123で生成されたIDの最尤経路の適合確率を計算する。ID認証部124は、計算した適合確率が予め決めておいた適合確率以上の場合には、認証成功と決定してもよい。
【0043】
誤り訂正部125は、図4のステップS14およびS15に相当する処理を実行する。具体的には、IDに対してBCHやリードソロモンなどの誤り訂正を実行し、誤り訂正されたIDの最尤経路の適合確率がサーバに登録された適合確率の取り得る範囲内(たとえば確認された下限値以上の範囲)であるか否かに基づいて、最終的な認証の可否を決定する。
【0044】
図9は、実施形態にかかる認証システムの概略構成例を示すブロック図である。図9に示す認証システム100は、乱数生成回路130とPUF部140とを組み合わせることで構成されている。
【0045】
乱数生成回路130は、乱数源131、平滑化回路132、および検定回路133を有する。乱数源130は、例えば、奇数個のインバータを含むリング発振器である。ただし、乱数を発生可能なあらゆる乱数源を乱数源130として用いることができる。平滑化回路132は、0,1のビットパターンを平均化する。この平滑化回路132は、省略されてもよい。ただし、乱数源131の動作開始時のデータがばらつく場合には、平滑化回路132を設けることが好ましい。検定回路133は、例えば乱数の出現頻度をカイ2乗検定する度数検定等を行い、乱数を出力する。
【0046】
ID生成回路140は、生成部の一例である。ID生成回路140は、乱数源131で生成された乱数に対してHMMの補正を行うと共に、訂正符号発生部143から供給された誤り訂正符号を付加して出力する出力補正/誤り訂正部142を有している。また、ID生成回路140は、出力補正/誤り訂正部142からの出力にハッシュ関数を付加することで暗号鍵を生成して出力するハッシュ関数部144を有している。
【0047】
なお、図9において、乱数源131で生成された乱数を混ぜ合わせたデータを、PUF回路140に入力してもよい。これは、図6図7に示すような単独の乱数源を用いた場合では、温度などの外部環境の変化に対してIDが変化する場合があるためである。そこで、図5におけるID生成部113と同様に、図6図7に示すような乱数源を複数用い、それらで生成されたデータをXORゲートやビットシフト回路等を用いて混ぜ合わせてもよい。これにより、外部環境の変化に対して高いロバスト性のIDを生成することが可能となる。
【0048】
なお、HMMモデルを含めたID認証は、容量の比較的大きいサーバ側で実行されることが好ましいが、デバイス側の容量に余裕がある場合にはデバイス側に存在するコプロセッサーなどを用いて実行することも可能である。
【0049】
つづいて、実際に生成されたサンプルデータの評価例を、図面を用いて詳細に説明する。図10は、実施形態にかかる評価において使用したサンプルデータを示す図である。図10には、実験により実測された9パターンのデータ(bit0〜bit8)と、作為的に作った3パターンのデータ(bit9〜bit11)とが示されている。評価では、各サンプルデータに対して上述のアルゴリズムの適用を通してサンプルデータを認証を実施した。また、実測データの取得には、たとえば図5または図6に示した乱数発生回路111Aまたは111Bのような、metastable状態の時に“0”と“1”とがばらつく機構などを備えた乱数源を利用した。
【0050】
ただし、乱数源からの出力は、外部ノイズなどの影響を受けて複雑である。そのため、HMMとしてどのような内部状態をいくつ使うかを理論的に導き出すことは困難である。そこで、HMMでは状態の数が重要であることに着目して、いくつかの状態を利用することを考える。また、モデルとしては、図2に示したleft−rightモデルを用いることとする。
【0051】
left−rightモデルでは、状態間の遷移は時間が進展する方向と仮定されている。各状態は、乱数源における内部回路の何らかの電子状態であるが、具体的にどのような状態であるかを同定する必要はない。認証に用いるサンプルデータのビット数Tは、32ビットを想定する(T=32)。この場合、自己ループを考慮すると、状態の数Nは、ビット数Tよりも小さくなる。そこで以下では、数N=3、N=5およびN=10という3つのモデルでサンプルデータを評価した例を説明する。
【0052】
認証では、まず、BWアルゴリズムに基づいて決定されたHMMのモデルパラメータを用いた後、確認のため、同じIDでの最適経路の確率をViterbiアルゴリズムに基づいて計算した。BWアルゴリズムは、30回繰り返した。それにより得られた結果を、図11(N=3の場合)、図12(N=5の場合)および図13(N=10の場合)にそれぞれ示す。
【0053】
図11〜13に示すように、BWアルゴリズムの係数を求めるときに入力したIDと同じIDを入れたとしても、最適経路の生成確率は1にはならず、ビット列が増加するにつれて指数関数的に減少していく。これは、ビット列が増加するほど、さまざまな経路をとる確率が増加することを意味している。図11〜13それぞれの中で特に確率が高くなっているのは、図10において固定パターンとしたbit9およびbit10である。通常のC言語のfloatで計算した場合に取得できる最適経路の生成確率の限界は、10E−6である。なお、図11〜13では、すべての計算をdouble変数で行っているので、小数点以下12桁まで計算されている。
【0054】
図11〜13からわかるように、検査するビット列の長さとして20ビットを越えると、IDが完全に一致する場合でも最適経路の生成確率が10E−6以下となる可能性が生じる。そのため、認証としては有効的ではない。
【0055】
つぎに、正しいIDから2ビットだけ反転したデータをViterbiアルゴリズムに入力して最適経路の生成確率を計算した結果を、図14(N=3の場合)、図15(N=5の場合)および図16(N=10の場合)にそれぞれ示す。図14〜16を比較すると、状態の数Nを増やすほど生成確率が下がることが分かる。特に、常に同じ値であるbit9およびbit10は生成確率がともにゼロである。これは、ビット誤りに対してきわめてfragileであることを示している。また、bit9およびbit10以外の一般的なデータの生成確率が限界10E−6を下回るのは状態の数N=3でビット列の数を15以上としたときであり、状態の数Nを増加させるほど許容範囲が狭くなっている。また、bit9およびbit10以外の一般的なデータの中で特に生成確率が低いのはbit7である。図10を参照すると、bit7も初期以外は決まったパターンが続くデータであることがわかる。このことから、決まったパターンを含む、つまり乱数性が低いデータは、周期性が少しでもずれると生成確率が急激に減少することがわかる。
【0056】
PUFでは一般的にECCでデータ補正が行われるが、その場合、エラーとして許される確率を15%とすると、上記の計算で2ビットエラーが許されるビット列の数は、14ビット程度となる。
【0057】
図17および図18は、図1に示すような、元のデータから2ビットずれたデータを入力して計算した場合のずれの影響を示す図である。図17は、状態の数Nを3とし、図18は、状態の数Nを5とした場合を示す。図17図18とを比較するとわかるように、状態の数Nを3とした場合の方が、状態の数Nを5とした場合よりも、ずれに対する影響が小さい。すなわち、状態の数Nを小さくした方が、ずれた場合の生成確率の低下を抑制できる。これは、上述した本実施形態の手法において状態の数Nを小さくすることで、ずれに対して安定した結果を得られることを意味している。
【0058】
以上、図11〜18に示したように、以下の結果が得られた。
(1)アルゴリズムの反復回数が増えるに従って生成確率の差が大きくなる。つまり、反復回数が増えるに従ってエラーがない場合の認証確率は上がる。
(2)ビットがずれたパターンの認証確率は数回の反復パターンでピークを持ち、反復回数がそれ以上になるとゼロに近づいていく。これは、BWアルゴリズムの反復回数を認証確率がピークとなる数回とすることが好ましいことを意味する。
(3)bit9やbit10のような固定値を繰り返すデータパターンに対しては、1ビットずれるだけで認証確率はゼロとなる。そのため、別に扱う必要がある。
【0059】
以上のような結果を踏まえ、データに依存した性質を考慮して認証用のIDを決定することで、より精度の高い認証が可能となる。
【0060】
つぎに、実施形態にかかる認証対象となる電子デバイスの概略構成例を図19に示す。図19に示すように、電子デバイス150は、CPU(Central Processing Unit)151と、メモリ152と、入力部153と、出力部154と、セキュリティ・認証回路155と、PUF回路156とを含む。認証開始のトリガとなる入力信号(チャレンジ)は、CPU151からセキュリティ・認証回路155へ命令として出力される。入力信号(チャレンジ)を受けると、セキュリティ・認証回路155は、PUF回路156にアクセスし、PUF回路156からIDの情報を取得する。取得されたIDの情報は、出力部154を通してサーバ側に吸い上げられ(レスポンス)、サーバ側において予測される欠陥ばらつきの変化と照合することにより、ID認証が実行される。
【0061】
以上のように、実施形態によれば、データ間に相関がある場合などにも有効な認証システム、認証装置および認証方法を実現することが可能である。
【0062】
なお、乱数源としては、図6および図7で例示した乱数生成回路に限らず、一般な乱数生成回路のノイズ源を広く適用可能である。一般なノイズ源では、動作の初めの位置を特定すれば、ノイズパターンが各素子に特徴的な値を示す。
【0063】
図20は、ONO(Oxide−Nitride−Oxide)構造を備えた半導体素子におけるシリコン窒化膜内のトラップを利用したノイズ源を示している(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)。図21は、トンネル窒化膜と制御酸化膜とよりなるゲート絶縁膜内に量子ドットとしてのシリコンナノ結晶などのトラップがある場合のノイズ源を示している(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)。図20および図21に示す2つのノイズ源は、特にノイズの振幅を増大するための構造を備えているが、通常のトランジスタのノイズでもノイズ源として利用することができる。
【0064】
図22は、トランジスタノイズを増幅するための回路の例を示している。一般のトランジスタを利用する場合、最初の電流の変化をとらえた瞬間を開始時間とし、そこからのトラップによる電流変異の時間パターンをPUFのパターンとすることができる。
【0065】
その他として、単一電子素子といわれる電子数がカウント可能な素子もノイズ源に適用することが可能である(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.)。
【0066】
このように、本実施形態によれば、ID生成方法が個々のデバイスに依存する場合であっても、より強固な認証システム、認証装置および認証方法を構築することが可能である。
【0067】
また、上気した実施形態では、HMMを用いた場合を例示したが、HMM以外にも、たとえばユーザからのデータが一部欠損して同じデータ数で登録データとユーザデータとを照合できない場合には、Dynamic Time Warping(最初はDP(Dynamic Programing:動的計画法)マッチング(DTW)という手法も適用できる。
【0068】
上記実施形態およびその変形例は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施形態が可能であることは上記記載から自明である。例えば実施形態に対して適宜例示した変形例は、他の実施形態と組み合わせることも可能であることは言うまでもない。
【符号の説明】
【0069】
100…認証システム、110…ID設定機構、111,121,131…乱数源、112,122…レジスタ、113,123…ID生成部、114…モデルパラメータ生成部、115…エラー想定部、120…ID認証機構、124…ID認証部、125…誤り訂正部、130…乱数回路、140…PUF回路、142…HMM認証回路、143…訂正符号格納部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22