(57)【特許請求の範囲】
【請求項１】
複数の回路を含む電子デバイスから、当該電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置であって、
前記固有情報の検出対象となる前記複数の回路を含むデバイス物理情報生成手段と、
前記デバイス物理情報生成手段から前記各回路の物理特性を検出する上位回路検出部と、
第１の時刻において検出された前記物理特性の数値の順位に基づいてＭ個（Ｍは２以上の整数）の回路を選択してグループを作成してこのグループについての情報を予め備えられた不揮発性メモリに記憶するグループ検出部と、
前記Ｍ個の回路についての前記物理特性から第１の固有情報を生成して出力する登録回路推定部を有すると共に、
前記グループ検出部が、前記第１の時刻より後の第２の時刻において検出された前記物理特性の数値の順位に基づいて、前記Ｍよりも多いＮ個の回路を選択する機能を備え、
前記登録回路推定部が、前記Ｎ個の回路の中から任意のＭ個の回路を選択してこの選択されたＭ個の回路についての前記物理特性から第２の固有情報を生成し、前記第１および第２の固有情報が一致すればこの固有情報を出力する機能を備えることを特徴とするデバイス固有情報生成出力装置。
【請求項２】
前記デバイス物理情報生成手段が複数個の素子によって構成されたダイナミックＲＡＭであり、
前記上位回路検出部が前記各素子のチャージ後にビットが反転するまでの時間を前記物理特性として検出する機能を備えることを特徴とする、請求項１に記載のデバイス固有情報生成出力装置。
【請求項３】
前記上位回路検出部が、チャージ後にビットが反転した前記素子の数が予め与えられた範囲になるようリフレッシュ停止時間を制御するリフレッシュ制御機能を備えることを特徴とする、請求項２に記載のデバイス固有情報生成出力装置。
【請求項４】
前記デバイス物理情報生成手段が複数個の発振回路であり、
前記上位回路検出部が前記各発振回路の発振周波数を前記物理特性として検出する機能を備えることを特徴とする、請求項１に記載のデバイス固有情報生成出力装置。
【請求項５】
前記登録回路推定部が、前記第１および第２の固有情報を上位装置に転送して認証を行い、この認証が成功するか否かによって前記第１および第２の固有情報が一致するか否かを判断する機能を備えることを特徴とする、請求項１に記載のデバイス固有情報生成出力装置。
【請求項６】
前記登録回路推定部が、前記第１の固有情報のハッシュ値を前記不揮発性メモリに記憶するハッシュ関数出力機能を備えると共に、前記第２の固有情報のハッシュ値と前記第１の固有情報のハッシュ値とが一致するか否かによって前記第１および第２の固有情報が一致するか否かを判断する機能を備えることを特徴とする、請求項１に記載のデバイス固有情報生成出力装置。
【請求項７】
前記登録回路推定部が、前記第１の固有情報のシンドロームを前記不揮発性メモリに記憶するシンドローム生成機能と、前記第２の固有情報を前記第１の固有情報のシンドロームによって復号化する復号機能とを備えると共に、前記復号機能によって前記第２の固有情報が正常に復号化できたか否かによって前記第１および第２の固有情報が一致するか否かを判断する機能を備えることを特徴とする、請求項１に記載のデバイス固有情報生成出力装置。
【請求項８】
前記復号機能が、前記第１および第２の固有情報が一致する前記Ｎ個の回路の中からＭ個の回路を選択する組み合わせが存在しない場合に、消失エラーとして前記第２の固有情報を復号化することを特徴とする、請求項７に記載のデバイス固有情報生成出力装置。
【請求項９】
複数の回路を含む電子デバイスから、当該電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置にあって、
第１の時刻において前記固有情報の検出対象となる前記複数の回路を含むデバイス物理情報生成手段から前記各回路の物理特性を上位回路検出部が検出し、
検出された前記物理特性の数値の順位に基づいてグループ検出部がＭ個（Ｍは２以上の整数）の回路を選択してグループを作成し、
このグループについての情報を前記グループ検出部が予め備えられた不揮発性メモリに記憶し、
前記Ｍ個の回路についての前記物理特性から登録回路推定部が第１の固有情報を生成し、
前記第１の時刻より後の第２の時刻において前記デバイス物理情報生成手段から前記各回路の物理特性を前記上位回路検出部が検出し、
前記第２の時刻において検出された前記物理特性の数値の順位に基づいて、前記グループ検出部が前記Ｍよりも多いＮ個の回路を選択し、
前記Ｎ個の回路の中から任意のＭ個の回路を前記登録回路推定部が選択し、
この選択されたＭ個の回路についての前記物理特性から前記登録回路推定部が第２の固有情報を生成し、
前記第１および第２の固有情報が一致すれば前記登録回路推定部がこの固有情報を出力することを特徴とするデバイス固有情報生成方法。
【請求項１０】
複数の回路を含む電子デバイスから、当該電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置にあって、
前記デバイス固有情報生成出力装置の備えるコンピュータに、
第１の時刻において前記固有情報の検出対象となる前記複数の回路を含むデバイス物理情報生成手段から前記各回路の物理特性を検出する手順、
検出された前記物理特性の数値の順位に基づいてＭ個（Ｍは２以上の整数）の回路を選択してグループを作成する手順、
このグループについての情報を予め備えられた不揮発性メモリに記憶する手順、
前記Ｍ個の回路についての前記物理特性から第１の固有情報を生成する手順、
前記第１の時刻より後の第２の時刻において前記デバイス物理情報生成手段から前記各回路の物理特性を検出する手順、
前記第２の時刻において検出された前記物理特性の数値の順位に基づいて前記Ｍよりも多いＮ個の回路を選択する手順、
前記Ｎ個の回路の中から任意のＭ個の回路を選択する手順、
この選択されたＭ個の回路についての前記物理特性から第２の固有情報を生成する手順、
および前記第１および第２の固有情報が一致すればこの固有情報を出力する手順、
を実行させることを特徴とするデバイス固有情報生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラムに関し、特にデバイス内部の物理状態を利用して固有情報を生成するデバイス固有情報生成出力装置等に関する。
【背景技術】
【０００２】
安全な情報・通信システムの実現のためには、情報セキュリティの観点から、ホストコンピュータとこれに接続された（たとえばＵＳＢフラッシュメモリなどのような）機器の間の通信において、その通信相手となる機器が正規のものであるか否かを判定する認証処理が必要である。認証処理は、シリアル番号、個体識別番号などのような当該機器を一意に識別可能な固有情報（ＩＤ）が存在することが前提となる。【０００３】
しかしながら、攻撃者が正規の機器内のメモリから何らかの方法でその固有情報を入手すれば、その攻撃者は、入手した固有情報の内容を解析しなくても、ただそれを単純に他の機器のメモリにコピーすることによってその正規の機器を不正に複製することができてしまう。これによって、攻撃者がその正規の機器のユーザになりすますことが可能になってしまい、実際にそのようななりすましによる被害も発生している。【０００４】
このような被害を防止するために、メモリに記憶された固有情報の内容を暗号化して、これによって不正なデータの読み出しや内容の解析を困難にするという、耐タンパー技術も存在する。しかしながら、このような技術は特殊なハードウェアおよびソフトウェアを必要とし、その結果としてコスト高を招くという問題がある。【０００５】
以上で述べた問題点を解決するために、多くの研究者によって現在活発に研究されているのが、機器を構成するデバイスにおいて製造過程などで不可避的に発生する物理的特性のばらつきを利用して、デバイス個体の固有情報を生成するという技術である。これをＰＵＦ（Physical Unclonable Function）といい、中でも半導体デバイスの物理的特性のばらつきを利用するものをシリコンＰＵＦという。【０００６】
このシリコンＰＵＦを利用して、個々の電子回路を識別することが可能となり、これによって電子回路の不正な複製を防止することが可能になると期待されている。以後、シリコンＰＵＦを単にＰＵＦという。【０００７】
図１４は、既存技術に係るＰＵＦによる固有情報生成手段を備えた端末機器９１０の構成について示す説明図である。端末機器９１０は、ホストコンピュータ９２０とＵＳＢなどのインタフェースを介して着脱自在に接続可能な周辺機器であり、コンピュータプログラムを実行する主体であるＭＰＵ（マイクロプロセッサ）９１１と、データを記憶する揮発性メモリ９１２および不揮発性メモリ９１３と、ホストコンピュータ２０との間の接続を仲介するインタフェース９１４と、デバイス物理情報生成手段９５０とを備える。【０００８】
ＭＰＵ９１１は、固有情報生成プログラムが実行されることにより、物理情報マッピング手段９６０として機能する。これにより、このＭＰＵ９１１、揮発性メモリ９１２および不揮発性メモリ９１３を合わせてデバイス固有情報生成出力装置として機能する。【０００９】
デバイス物理情報生成手段９５０は、物理的特徴の具体的な検出対象となるデバイスであり、多くの場合複数の同一回路の組み合わせによって構成される。具体的には、たとえばダイナミックＲＡＭ（ＤＲＡＭ）素子や、リングオシレータなどのような発振回路などがこれに該当する。【００１０】
物理情報マッピング手段９６０は、このデバイス物理情報生成手段９５０から物理的特徴を検出し、これをＰＵＦの出力値（固有情報）としてホストコンピュータ９２０に出力する。ホストコンピュータ９２０は、この固有情報によって、端末機器９１０の認証を行う。【００１１】
これに関連する技術文献として、たとえば次の各々がある。その中でも非特許文献１には、シリコンＰＵＦに係る代表的な技術の一例が記載されている。非特許文献２には、ＰＵＦを含む人工物メトリクスによる偽造防止技術の動向について記載されている。【００１２】
非特許文献３には、製造過程で不可避的に発生する配線遅延のランダムネスを利用するＰＵＦについて記載されている。また、非特許文献４には、スタティックＲＡＭ（ＳＲＡＭ）の電源投入時の各ビットの初期値がランダムになることを利用したＰＵＦについて記載されている。【００１３】
この非特許文献４の技術では、ＳＲＡＭを図１４でいうデバイス物理情報生成手段９５０とし、ＳＲＡＭ内のビットの位置をＰＵＦの出力値とする。物理情報マッピング手段９６０は、入力情報として与えられたビット位置の電源投入時の初期値を出力する。機器端末の認証においては、初期設定処理として端末機器９１０で事前にこのビット値を生成して登録しておき、認証時には端末機器９１０でそのときに生成したビット値を、初期設定処理で登録した値と照合する。【００１４】
特許文献１には、ＳＲＡＭだけではなく、ＤＲＡＭに対しても同様の手法で固有情報の生成を行うことが可能であるというＰＵＦ技術が記載されている。ＤＲＡＭは、素子を構成するキャパシタ（コンデンサ）の電荷の有無によってビットを表現する。チャージされた電荷は、時間が経過すれば漏洩する。従ってＤＲＡＭは、電化の漏洩に伴うビットの消失を防止するため、定期的に読み出しを行って電荷をチャージするリフレッシュ処理が必須となる。【００１５】
各素子の電荷保持特性はリテンション特性と呼ばれ、主にリーク電流の大きさによって決まり、予測困難なばらつきを持つ。特許文献１に記載の技術では、このリテンション特性のばらつきを利用し、チャージ後にリフレッシュ処理を停止して早期に電荷を消失する素子（＝反転するビット）の位置情報を検出して、これを固有情報の生成に利用している。【００１６】
また、特許文献２には、素子の構造上のばらつきによる信号成分に対する妨害因子を除去する除去手段と素子群のばらつき状態を固有情報出する抽出手段とを設けた情報生成装置が記載されている。特許文献３には、出力信号の特性の自然発生的なばらつきを個体固有の情報とするという認証／被認証装置が記載されている。特許文献４には、認証データから生成した動作コードを利用して、不正基板との交換等による不正行為や誤動作を検知するという遊戯機器が記載されている。
【先行技術文献】
【特許文献】
【００１７】
【特許文献１】特表２００９−５３３７４１号公報
【特許文献２】特開２００５−３４１０６５号公報
【特許文献３】特開２００６−２２１３６１号公報
【特許文献４】特開２０１１−１５２３４２号公報
【非特許文献】
【００１８】
【非特許文献１】「サイドチャネル攻撃用標準評価ボードＳＡＳＥＢＯ」、産業技術総合研究所情報セキュリティ研究センター、［平成２３年１１月１６日検索］、インターネット＜URL：http://staff.aist.go.jp/akashi.satoh/SASEBO/ja/index.html＞
【非特許文献２】岩下直之、「偽造防止技術の新潮流：金融分野における人工物メトリクスの可能性」（金融研究第２８巻第２号より）、日本銀行金融研究所、平成２１年７月、［平成２３年１１月１６日検索］、インターネット＜URL：http://www.imes.boj.or.jp/research/papers/japanese/kk28-2-5.pdf＞
【非特許文献３】G.E. Shu and S. Devadas, “Physically Unclonable Functions for Device Generationand Secret Key Generation," Proc. 44th Design Automation Conference,pp.9-14.
【非特許文献４】DanielE. Holcomb, Wayne P. Burleson, and Kevin Fu, “Power-Up SRAM State as anIdentifying Fingerprint and Source of True Random Numbers," IEEE Trans.Computers, vol.58, no.9, pp.1198-1210, 2009.
【発明の概要】
【発明が解決しようとする課題】
【００１９】
しかしながら、ＰＵＦは、当該デバイスの製造上の規格で許容されている範囲内の物理特性の、ごく僅かなばらつきを検出するものである。このような物理特性は、温度などの環境の影響を特に受けやすい。たとえば、前述のＤＲＡＭのビットがチャージ後に反転するまでの時間（リテンション特性）は、温度の影響を大きく受け、またその影響の素子ごとのばらつきも大きいものである。【００２０】
発明者らが行った実験では、（当該デバイスの規格で、利用可能温度の範囲内とされている）−５℃と４５℃という２通りの温度環境下で同一のＤＲＡＭ素子のビットがチャージ後に反転するまでの時間を測定した場合、最初の一定個数の反転ビットの中で一致するものは５０％程度であった。このように、同一のデバイスでも、使用環境が異なると出力される固有情報が異なる場合、ＰＵＦによるデバイスの認証の信頼性が大きく低下することになる。【００２１】
このような場合にも安定して一定の固有情報を出力するためには、誤り訂正能力の高い誤り訂正符号を利用する方法が考えられるが、そのような誤り訂正符号を利用するには、複雑な復号処理が必要であり、また誤り訂正のために保持する情報からの漏洩情報量も大きくなるので、大規模なプロセッサとメモリが必要となる。これもコスト高を招く要因となる。【００２２】
一方、温度などの環境要因は物理情報を連続的に変化させるため、例えばＤＲＡＭにおいてある温度で反転するまでの時間が短いビットは、他の温度でも早く反転しやすい傾向がみられる。たとえば、ＤＲＡＭにおいて−５℃で最初に反転する１０個のビットは４５℃でも最初の１００個以内に入るという傾向が、発明者らが行った実験によって確認されている。【００２３】
このことをＰＵＦによるデバイスの認証に利用することができれば、上記の問題を解決できる可能性があると考えられる。しかしながら、４５℃における最初の１００個の反転ビットの中から１０個を選択して−５℃における最初の１０個の反転ビット位置を再現するには、１００個の中から１０個を選択するすべての組み合わせを試行する必要がある。これは、２の４７乗程度、即ち約１４０兆回の試行回数を必要とするので、現実的に可能な計算ではない。以上で述べた問題点を解決しうる技術は、前述の特許文献１〜４および非特許文献１〜４には記載されていない。【００２４】
本発明の目的は、温度などの環境変化の影響を受けにくく、安定して一定の固有情報を出力することを可能とするデバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラムを提供することにある。
【課題を解決するための手段】
【００２５】
上記目的を達成するため、本発明に係るデバイス固有情報生成出力装置は、複数の回路を含む電子デバイスから、当該電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置であって、固有情報の検出対象となる複数の回路を含むデバイス物理情報生成手段と、デバイス物理情報生成手段から各回路の物理特性を検出する上位回路検出部と、第１の時刻において検出された物理特性の数値の順位に基づいてＭ個（Ｍは２以上の整数）の回路を選択してグループを作成してこのグループについての情報を予め備えられた不揮発性メモリに記憶するグループ検出部と、Ｍ個の回路についての物理特性から第１の固有情報を生成して出力する登録回路推定部を有すると共に、グループ検出部が、第１の時刻より後の第２の時刻において検出された物理特性の数値の順位に基づいて、Ｍよりも多いＮ個の回路を選択する機能を備え、登録回路推定部が、Ｎ個の回路の中から任意のＭ個の回路を選択してこの選択されたＭ個の回路についての物理特性から第２の固有情報を生成し、第１および第２の固有情報が一致すればこの固有情報を出力する機能を備えることを特徴とする。【００２６】
上記目的を達成するため、本発明に係るデバイス固有情報生成方法は、複数の回路を含む電子デバイスから、当該電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置にあって、第１の時刻において固有情報の検出対象となる複数の回路を含むデバイス物理情報生成手段から各回路の物理特性を上位回路検出部が検出し、検出された物理特性の数値の順位に基づいてグループ検出部がＭ個（Ｍは２以上の整数）の回路を選択してグループを作成し、このグループについての情報をグループ検出部が予め備えられた不揮発性メモリに記憶し、Ｍ個の回路についての物理特性から登録回路推定部が第１の固有情報を生成し、第１の時刻より後の第２の時刻においてデバイス物理情報生成手段から各回路の物理特性を上位回路検出部が検出し、第２の時刻において検出された物理特性の数値の順位に基づいて、グループ検出部がＭよりも多いＮ個の回路を選択し、Ｎ個の回路の中から任意のＭ個の回路を登録回路推定部が選択し、この選択されたＭ個の回路についての物理特性から登録回路推定部が第２の固有情報を生成し、第１および第２の固有情報が一致すれば登録回路推定部がこの固有情報を出力することを特徴とする。【００２７】
上記目的を達成するため、本発明に係るデバイス固有情報生成プログラムは、複数の回路を含む電子デバイスから、当該電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置にあって、デバイス固有情報生成出力装置の備えるコンピュータに、第１の時刻において固有情報の検出対象となる複数の回路を含むデバイス物理情報生成手段から各回路の物理特性を検出する手順、検出された物理特性の数値の順位に基づいてＭ個（Ｍは２以上の整数）の回路を選択してグループを作成する手順、このグループについての情報を予め備えられた不揮発性メモリに記憶する手順、Ｍ個の回路についての物理特性から第１の固有情報を生成する手順、第１の時刻より後の第２の時刻においてデバイス物理情報生成手段から各回路の物理特性を検出する手順、第２の時刻において検出された物理特性の数値の順位に基づいてＭよりも多いＮ個の回路を選択する手順、Ｎ個の回路の中から任意のＭ個の回路を選択する手順、この選択されたＭ個の回路についての物理特性から第２の固有情報を生成する手順、および第１および第２の固有情報が一致すればこの固有情報を出力する手順、を実行させることを特徴とする。
【発明の効果】
【００２８】
本発明は、上記したようにまず第１の時刻において物理特性の順位に基づいて選択されたＭ個の回路から第１の固有情報を生成し、第１の時刻より後の第２の時刻において物理特性の順位に基づいて選択されたＮ個の回路の中から任意のＭ個を選択して第２の固有情報を生成し、この第１および第２の固有情報が一致するか否かを判断するように構成したので、Ｎ個の中から任意のＭ個を選択する際の試行数を、現実に計算可能な範囲に抑えることができる。【００２９】
これによって、温度などの環境変化の影響を受けにくく、安定して一定の固有情報を出力することが可能であるという、優れた特徴を持つデバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラムを提供することができる。
【図面の簡単な説明】
【００３０】
【図１】図２に示した物理情報マッピング手段のより詳しい構成について示す説明図である。
【図２】本発明の第１の実施形態に係る端末機器の構成について示す説明図である。
【図３】図１〜２に示した端末機器（デバイス固有情報生成出力装置）の、登録フェーズに係る動作について示すフローチャートである。
【図４】図１〜２に示した端末機器（デバイス固有情報生成出力装置）の、利用フェーズに係る動作について示すフローチャートである。
【図５】図１〜２に示したデバイス物理情報生成手段および上位回路検出部のより詳しい構成について示す説明図である。
【図６】本発明の第２の実施形態に係る端末機器の構成について示す説明図である。
【図７】図６に示した物理情報マッピング手段のより詳しい構成について示す説明図である。
【図８】図６〜７に示した端末機器（デバイス固有情報生成出力装置）の、登録フェーズに係る動作について示すフローチャートである。
【図９】図６〜７に示した端末機器（デバイス固有情報生成出力装置）の、利用フェーズに係る動作について示すフローチャートである。
【図１０】本発明の第３の実施形態に係る端末機器の構成について示す説明図である。
【図１１】図１０に示した物理情報マッピング手段のより詳しい構成について示す説明図である。
【図１２】図１０〜１１に示した端末機器（デバイス固有情報生成出力装置）の、登録フェーズに係る動作について示すフローチャートである。
【図１３】図１０〜１１に示した端末機器（デバイス固有情報生成出力装置）の、利用フェーズに係る動作について示すフローチャートである。
【図１４】既存技術に係るＰＵＦによる固有情報生成手段を備えた端末機器の構成について示す説明図である。
【発明を実施するための形態】
【００３１】
（第１の実施形態）
以下、本発明の実施形態の構成について添付図１〜２および添付図５に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係るデバイス固有情報生成出力装置（端末機器１０）は、電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置である。この装置は、固有情報の検出対象となる複数の回路を含むデバイス物理情報生成手段１１０と、デバイス物理情報生成手段から各回路の物理特性を検出する上位回路検出部１２１と、第１の時刻において検出された物理特性の数値の順位に基づいてＭ個（Ｍは２以上の整数）の回路を選択してグループを作成してこのグループについての情報を予め備えられた不揮発性メモリ１３に記憶するグループ検出部１２２と、Ｍ個の回路についての物理特性から第１の固有情報を生成して出力する登録回路推定部１２３を有する。そして、グループ検出部１２２が、第１の時刻より後の第２の時刻において検出された物理特性の数値の順位に基づいて、Ｍよりも多いＮ個の回路を選択する機能を備え、登録回路推定部１２３が、Ｎ個の回路の中から任意のＭ個の回路を選択してこの選択されたＭ個の回路についての物理特性から第２の固有情報を生成し、第１および第２の固有情報が一致すればこの固有情報を出力する。
【００３２】
ここで、デバイス物理情報生成手段１１０が複数個の素子（ＤＲＡＭ素子１１０ａ、ｂ、ｃ、…）によって構成されたダイナミックＲＡＭであり、上位回路検出部１２１が各素子のチャージ後に反転するまでの時間を物理特性として検出する。また、上位回路検出部１２１が、チャージ後にビットが反転した素子の数が予め与えられた範囲になるようリフレッシュ停止時間を制御するリフレッシュ制御機能１２１ｂを備える。
【００３３】
さらに、登録回路推定部１２３が、第１および第２の固有情報を上位装置（ホストコンピュータ２０）に転送して認証を行い、この認証が成功するか否かによって第１および第２の固有情報が一致するか否かを判断する。
【００３４】
このように構成することにより、本実施形態の端末機器１０は、温度などの環境変化の影響を受けにくく、安定して一定の固有情報を出力することが可能となる。
以下、これをより詳細に説明する。
【００３５】
図２は、本発明の第１の実施形態に係る端末機器１０の構成について示す説明図である。端末機器１０は、ホストコンピュータ２０とＵＳＢなどのインタフェースを介して着脱自在に接続可能な周辺機器であり、コンピュータプログラムを実行する主体であるＭＰＵ（マイクロプロセッサ）１１と、データを記憶する揮発性メモリ１２および不揮発性メモリ１３と、ホストコンピュータ２０との間の接続を仲介するインタフェース１４と、デバイス物理情報生成手段１１０とを備える。
【００３６】
ＭＰＵ１１は、固有情報生成プログラムが実行されることにより、物理情報マッピング手段１２０として機能する。これにより、このＭＰＵ１１、揮発性メモリ１２および不揮発性メモリ１３を合わせてデバイス固有情報生成出力装置として機能する。インタフェース１４は、たとえばＵＳＢ（ユニバーサルシリアルバス）などのような、コンピュータと周辺機器との間の接続に関する一般的なインタフェースである。
【００３７】
デバイス物理情報生成手段１１０は、物理的特徴の具体的な検出対象となる複数個の回路を備えたデバイスである。具体的には、たとえば、ＤＲＡＭ素子や、リングオシレータなどのような発振回路などがこれに該当する。物理情報マッピング手段１２０は、このデバイス物理情報生成手段１１０から物理的特徴を検出し、これをＰＵＦの出力値としてホストコンピュータ２０に出力する。
【００３８】
図１は、図２に示した物理情報マッピング手段１２０のより詳しい構成について示す説明図である。物理情報マッピング手段１２０は、上位回路検出部１２１、グループ検出部１２２、および登録回路推定部１２３とからなる。これに加えて、揮発性メモリ１２に上位回路情報１２４が記憶され、不揮発性メモリ１３に登録グループ情報１２５が記憶される。
【００３９】
本実施形態では、デバイス物理情報生成手段１１０がＤＲＡＭ素子である場合について説明する。この場合、上位回路検出部１２１は、ＤＲＡＭ素子のリテンション特性を検出対象の物理情報とし、当該ＤＲＡＭ素子のチャージ後にリフレッシュを一定時間停止して反転するビットを検出することによって、この物理情報を検出することができる。
【００４０】
ここで、回路の「上位」あるいは「下位」とは、ＰＵＦで検出される物理特性の数値によって決定される順位のことをいう。たとえば、ＤＲＡＭ素子のリテンション特性を検出対象とする場合には、電荷を消失する時間の数値に基づいて、電荷をより早く消失するビットを「上位」、そうでないビットを「下位」とする。
【００４１】
端末機器１０は、以上に示した各々の構成要素によって、後述する登録フェーズと利用フェーズの２種類の処理を実施し、固有情報の生成を行う。利用フェーズは、必ず登録フェーズの後に実行される。以下、これら各要素の動作について説明する。
【００４２】
上位回路検出部１２１は、デバイス物理情報生成手段１１０の中で検出対象としている物理情報に関して上位の回路（ＤＲＡＭ素子の場合は電荷を早く消失するビット）を選択し、選択された各上位回路についての情報インデックスを上位回路情報１２４として記憶する。
【００４３】
グループ検出部１２２は、登録フェーズにおいては、上位回路情報１２４の回路のグループを不揮発性メモリ１２に登録グループ情報１２５として記憶する処理を行う。また、利用フェーズにおいては、登録グループ情報１２５のグループに一致する回路を検出する処理を行う。
【００４４】
登録回路推定部１２３は、登録フェーズにおいては、固有情報を決定してホストコンピュータ２０に出力する処理を行う。また、利用フェーズにおいては、グループ検出部１２２で検出された回路から登録フェーズで選択された回路を推定し、固有情報を生成してホストコンピュータ２０に出力して認証を行わせる処理を実行する。
【００４５】
図３は、図１〜２に示した端末機器１０（デバイス固有情報生成出力装置）の、登録フェーズに係る動作について示すフローチャートである。登録フェーズは、端末機器１０を最初にホストコンピュータ２０に接続して使用する際に実行される処理である。
【００４６】
まず、上位回路検出部１２１が、デバイス物理情報生成手段１１０から得られる情報を用いてＭ個の上位回路を決定する（ステップＳ２０１）。Ｍは想定する固有情報の情報量に応じて決定される。
【００４７】
続いて、グループ検出部１２２が、ステップＳ２０１で決定されたＭ個の回路のグループを特定して、そのグループを示すインデックスを登録グループ情報１２５として不揮発性メモリ１３に格納する（ステップＳ２０２）。グループ化の具体的な方法としては、回路を特定するインデックスの上位もしくは下位ビットに対応させる方法、あるいは回路のロケーションに応じて決定する方法などが存在する。
【００４８】
そして、登録回路推定部１２３が、ステップＳ２０２までで特定されたＭ個の上位回路のグループ内でのインデックスを連結した系列を、固有情報として決定する（ステップＳ２０３）。ホストコンピュータ２０との間でチャレンジ−レスポンスに基づく認証を行う場合には、登録フェーズにおいてこの固有情報を用いて事前に認証に必要な情報を共有する。
【００４９】
図４は、図１〜２に示した端末機器１０（デバイス固有情報生成出力装置）の、利用フェーズに係る動作について示すフローチャートである。利用フェーズは、既に図３に示した登録フェーズを終了した端末機器１０を、実際にホストコンピュータ２０に接続して使用する際に実行される処理である。
【００５０】
まず、上位回路検出部１２１が、Ｎ個の上位回路を決定する（ステップＳ２５１）。Ｎは回路の総数よりは十分に小さく、登録フェーズにおけるＭより大きい一定の範囲として設定することが適切である。即ち０＜Ｍ＜Ｎ＜回路総数である。
【００５１】
続いて、グループ検出部１２２が、ステップＳ２５１で決定されたＮ個の回路の中から、登録グループ情報１２５のＭ個のグループに対応するものを特定する（ステップＳ２５２）。
【００５２】
そして、登録回路推定部１２３が、ステップＳ２５２において１個以上の回路が対応する登録フェーズのグループが、登録グループ情報１２５の中に存在するか否かを判断し（ステップＳ２５３）、存在しなければ「固有情報生成失敗」として処理を異常終了する（ステップＳ２５７）。この後の処理としては、たとえば物理情報の測定からやり直す方法などがある。
【００５３】
ステップＳ２５３で、対応する登録フェーズのグループが存在すれば、登録回路推定部１２３が、該当するＮ個の回路の中から任意の回路を用いて固有情報の候補を生成して（ステップＳ２５４）、これを用いてホストコンピュータ２０に対して当該端末機器１０の認証を試みる（ステップＳ２５５）。認証が成功すれば正常終了となる（ステップＳ２５６）。認証が失敗すれば、他のＭ個の回路を選択してステップＳ２５３から処理を繰り返す。Ｎ個の回路の中から選ばれたＭ個の組み合わせ全てで認証が失敗すれば、ステップＳ２５７に処理が進んで異常終了となる。
【００５４】
図５は、図１〜２に示したデバイス物理情報生成手段１１０および上位回路検出部１２１のより詳しい構成について示す説明図である。図５では、デバイス物理情報生成手段１１０を複数個のＤＲＡＭ素子１１０ａ、１１０ｂ、１１０ｃ、…であるものとして、その物理的特徴を検出する場合の例を示している。上位回路検出部１２１は、Ｒ／Ｗ（リード・ライト）コントローラ１２１ａと、リフレッシュ制御機能１２１ｂとを備える。
【００５５】
Ｒ／Ｗコントローラ１２１ａは、ＤＲＡＭ素子１１０ａ、１１０ｂ、１１０ｃ、…のリード、ライトの処理を実行するモジュールである。リフレッシュ制御機能１２１ｂは、ＤＲＡＭ素子１１０ａ、１１０ｂ、１１０ｃ、…の全体もしくはその一部のビットをチャージ後に、リフレッシュを停止して反転するビット数が所望の値となるようにリフレッシュ停止時間を制御する。反転ビット数が小さすぎるときにはリフレッシュ停止時間を長く、大きすぎる場合には小さく変更して測定をやり直す制御を実行する。
【００５６】
本実施形態の登録フェーズでは、リフレッシュ制御機能１２１ｂは、最初のＭ個のビット反転位置を求めるが、反転ビット数が正確にＭになるようにリフレッシュ停止時間を制御することは困難であるので、登録フェーズにおいても利用フェーズと同様に適切なレンジを設定してその間に反転ビット数Ｎが入るように制御し、この中からＭ個を選択することが適切となる。
【００５７】
以上のように構成して、登録フェーズで上位の部品を予めグループ化して特定しておくことによって、本実施形態の端末機器１０（デバイス固有情報生成出力装置）は、固有情報の生成に利用する部品の特定を簡易にすることができる。発明が解決しようとする課題の欄で述べたＤＲＡＭのケースでいえば、ＤＲＡＭのビット全体を６４個のグループに分割すると、利用フェーズにおける１００個の反転ビット中で各グループに含まれる反転ビットの個数は、平均して２個前後である。
【００５８】
この１００個の反転ビットの中には登録フェーズにおける１０個の反転ビットが高い確率で含まれる。登録フェーズの１０個の各グループには２個のビットが候補となるとすると、利用フェーズでは２＾１０の候補を試行すれば登録フェーズと同一の反転ビットを再現することができることになる。
【００５９】
上記のＤＲＡＭのケースでＤＲＡＭのサイズが６４Ｍビットであるとすると（位置情報は２６ビット）、この中から１０個を選択する組み合わせの情報量は２３８ビットになる。一方、本実施形態の手法で６４＝２＾６個のグループ化を行うと、各反転ビットのグループ内でのインデックスの情報量はグループ内から１個選択する場合に２０ビットの情報量となり、１０個のグループ全体で２００ビットとなる。
【００６０】
このように、本実施形態によれば、同一の物理情報から生成される固有情報量を少なくして、その生成に必要な計算量を軽減することができる。
【００６１】
（より具体的な動作例）
以下、本実施形態のより具体的な動作例について説明する。ここでは、デバイス物理情報生成手段１１０としてＤＲＡＭ素子を用いて、当該ＤＲＡＭ素子に対してリフレッシュを停止して反転したビットを上位の回路とする。
【００６２】
ＤＲＡＭのビット数を６４Ｍ（＝２＾２６、以後「ＡのＢ乗」を「Ａ＾Ｂ」と表記する）とすると、その中の１ビット（１回路）は２６ビットのインデックス（１６ビットＩ／Ｏであれば４ビットのビット順位と２２ビットのアドレス）として表現することができる。グループはインデックスの上位（もしくは下位）ビットで対応させることができる。グループに対応する上位ビットを１８ビットとするとグループの総数は２＾１８となる。
【００６３】
また、１回路あたり２６−１８＝８ビットが固有情報として利用されるため、登録フェーズにおけるＭ個の回路から生成される固有情報は８Ｍビットとなる。６４ビットの固有情報を生成するためにはＭ＝８と設定する。以下、このパラメータでの実施例を示す。
【００６４】
登録フェーズにおいて、上位回路検出部１２１は、反転ビット数がＭ＝８を下限として含む範囲に入るようにリフレッシュ停止時間を制御する。例えば上限を２×Ｍ、即ち１６に設定することが考えられる。Ｍ＝８として登録フェーズにおいてあるリフレッシュ停止時間で次のインデックスで表されるＥ１〜Ｅ１０の１０個のビットが反転したとする。以下はＥ１〜Ｅ１０の各ビットのアドレスを１６進（ｈｅｘ）形式で示している。
【００６５】
Ｅ１  ：０８１６０ｄ６
Ｅ２  ：０ｂ１ｅ８０６
Ｅ３  ：１６ｂ１２ｃｄ
Ｅ４  ：１７７ｅｅｅ１
Ｅ５  ：１ｂ９７８ａｅ
Ｅ６  ：２０４ｆｅ７ｆ
Ｅ７  ：２９ｂ９３６６
Ｅ８  ：２９ｃ７ｆ８７
Ｅ９  ：３２６４ａ３９
Ｅ１０：３９２３２４ａ
【００６６】
Ｍ＝８に対して、ここでは例えばＥ１〜Ｅ８を登録フェーズの回路として選択する。上位１８ビットをグループに対応させるのでグループ検出部は次のインデックスで表される８個のグループＧ１〜Ｇ８を登録グループ情報として不揮発性メモリに格納する。
Ｇ１：０８１６０
Ｇ２：０ｂ１ｅ８
Ｇ３：１６ｂ１２
Ｇ４：１７７ｅｅ
Ｇ５：１ｂ９７８
Ｇ６：２０４ｆｅ
Ｇ７：２９ｂ９３
Ｇ８：２９ｃ７ｆ
【００６７】
回路の２６ビットのインデックスの下位８ビットがグループ内のインデックスとなるため、Ｅ１〜Ｅ８の回路に対して固有情報Ｉは次の６４ビットとなる。
Ｉ：  ｄ６  ０６  ｃｄ  ｅ１  ａｅ  ７ｆ  ６６  ８７
【００６８】
同一のグループが発生する場合にはその中の１個のみを選択し、その上でＭ個の回路を選択する方法が考えられる。
【００６９】
利用フェーズにおいて、上位回路検出部１２１は登録フェーズのＭ＝８に対して、Ｎ＝２Ｍ〜１０Ｍ（１６〜８０）程度の反転ビットが生じるようにリフレッシュを制御する。グループ検出部は上記のＧ１〜Ｇ８のグループインデックスを読み込み、Ｎ個の回路の中で各グループに含まれるものを見出す。
【００７０】
ここでは、たとえば登録フェーズに対して次のＦ１からＦ１９のＮ＝１９個の回路が上位の回路として得られたとする。
【００７１】
Ｆ１：  ０８１６０ｄ６
Ｆ２：  ０ｂｅａ０５５
Ｆ３：  ０ｆｄ３ｆａ１
Ｆ４：  １６５ｄ６９３
Ｆ５：  １６ｂ１２ｃｄ
Ｆ６：  １７７ｅｅｅ１
Ｆ７：  １９ｅ７ｃ５０
Ｆ８：  １ｂ６ｆ７９８
Ｆ９：  １ｂ９７８ａｅ
Ｆ１０：２０４ｆｅ７ｆ
Ｆ１１：２３ｃ８ｆ０４
Ｆ１２：２９ｂ９３６６
Ｆ１３：２９ｃ７ｆ８７
Ｆ１４：２９ｃ７ｆｅｂ
Ｆ１５：２ｆｄ３２２ｅ
Ｆ１６：３２６４ａ３９
Ｆ１７：３４６ａ４６８
Ｆ１８：３８２５０１８
Ｆ１９：３ｃｃｂ５０４
【００７２】
ここでグループ検出部１２２は、以下のように、登録グループ情報Ｇ１〜Ｇ８に対応するＦ１からＦ８の回路を特定する。
Ｇ１：  Ｆ１
Ｇ２：  なし
Ｇ３：  Ｆ５
Ｇ４：  Ｆ６
Ｇ５：  Ｆ９
Ｇ６：  Ｆ１０
Ｇ７：  Ｆ１２
Ｇ８：  Ｆ１３，Ｆ１４
【００７３】
登録回路検出手段１２３は、この実施例では、Ｇ２に対してはそのグループに対応するすべての回路について（この実施例では２＾８＝２５６個）、Ｇ８に対してはＦ１３，Ｆ１４の２通り、その他のグループには対応する１個の回路の組み合わせを登録フェーズの回路の候補とする。つまり、この場合２５６×２＝５１２通りの固有情報の候補を試すことで登録フェーズでの固有情報を特定することができる。これは、前述した「２の４７乗程度、即ち約１４０兆回」と比べて大幅に少ない試行回数であり、現実的に計算可能な範囲の計算量である。
【００７４】
図４のステップＳ２５３および２５５で述べたように、対応する回路が存在しないグループが多すぎる場合には、登録フェーズの回路候補は存在しないと判断して登録回路検出手段の処理を終了すればよい。本実施例では、たとえば候補の総数を２＾２０までに設定すれば、３個以上の登録グループで対応する回路がない場合には登録回路検出手段の処理を異常終了とすることができる。
【００７５】
（第１の実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。
本実施形態に係るデバイス固有情報生成方法は、電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置１０にあって、第１の時刻において固有情報の検出対象となる複数の回路を含むデバイス物理情報生成手段から各回路の物理特性を上位回路検出部が検出し（図３・ステップＳ２０１）、検出された物理特性の数値の順位に基づいてグループ検出部がＭ個（Ｍは２以上の整数）の回路を選択してグループを作成し（図３・ステップＳ２０２）、このグループについての情報をグループ検出部が予め備えられた不揮発性メモリに記憶し、Ｍ個の回路についての物理特性から登録回路推定部が第１の固有情報を生成して出力し（図３・ステップＳ２０３）、第１の時刻より後の第２の時刻において検出された物理特性の数値の順位に基づいて、グループ検出部がＭよりも多いＮ個の回路を選択し（図４・ステップＳ２５１）、Ｎ個の回路の中から任意のＭ個の回路を登録回路推定部が選択し（図４・ステップＳ２５２〜２５３）、この選択されたＭ個の回路についての物理特性から登録回路推定部が第２の固有情報を生成し（図４・ステップＳ２５４）、第１および第２の固有情報が一致すれば登録回路推定部がこの固有情報を出力する（図４・ステップＳ２５５〜２５６）。
【００７６】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するデバイス固有情報生成出力装置１０のＭＰＵ１１に実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【００７７】
本実施形態は、まず第１の時刻において物理特性の順位に基づいて選択されたＭ個の回路から第１の固有情報を生成し、第１の時刻より後の第２の時刻において物理特性の順位に基づいて選択されたＮ個の回路の中から任意のＭ個を選択して第２の固有情報を生成し、この第１および第２の固有情報が一致するか否かを判断するように構成している。
【００７８】
このことによって、Ｎ個の中から任意のＭ個を選択する際の試行数が少なくなるよう、即ちチャージ後にビットが反転した素子の数が予め与えられた範囲になるよう、リフレッシュ停止時間を制御することができる。即ち、過大な数を試行しなくても、固有情報の生成を成功させることができるようになり、前述した各々の問題を解決することができる。
【００７９】
（第２の実施形態）
本発明の第２の実施形態は、第１の実施形態として説明した構成に加えて、登録回路推定部４２３が、第１の固有情報のハッシュ値を不揮発性メモリ１３に記憶するハッシュ関数出力機能４２３ａを備えると共に、第２の固有情報のハッシュ値と第１の固有情報のハッシュ値とが一致するか否かによって第１および第２の固有情報が一致するか否かを判断する構成とした。
【００８０】
この構成によっても、第１の実施形態で説明した効果と同一の効果が得られることに加えて、第１および第２の固有情報を上位装置に転送しなくても、装置内部のみで固有情報の生成に係る処理を行えるようになる。
以下、これをより詳細に説明する。
【００８１】
図６は、本発明の第２の実施形態に係る端末機器３１０の構成について示す説明図である。この端末機器３１０は、図２に示した第１の実施形態に係る端末機器１０とほぼ同一の構成を備えるが、物理情報マッピング手段１２０が別の物理情報マッピング手段４２０に置換されている。
【００８２】
図７は、図６に示した物理情報マッピング手段４２０のより詳しい構成について示す説明図である。物理情報マッピング手段４２０は、図１に示した第１の実施形態に係る物理情報マッピング手段１２０の構成と比べて、登録回路推定部１２３が別の登録回路推定部４２３に置換され、また、不揮発性メモリ１３に新たにハッシュ値４２６が記憶される以外は、第１の実施形態に係る物理情報マッピング手段１２０と全く同じ構成を備えている。従って、第１の実施形態と同一の要素については、同一の呼称と参照番号でいう。
【００８３】
登録回路推定部４２３は、ハッシュ関数出力機能４２３ａを備える。このハッシュ関数出力機能４２３ａによって、生成された固有情報のハッシュ値４２６を算出して、これを不揮発性メモリ１３上に記憶する。
【００８４】
ここで、ハッシュ関数出力機能４２３ａとして利用可能なハッシュ関数としては、たとえばＳＨＡ−１（Secure Hash Algorithm 1）などの暗号学的ハッシュ関数や、ブロック暗号を利用した方式のハッシュ関数が、情報の損失を抑える意味では望ましい。しかしながら、実装容易性の観点からいえば、より簡易な処理であるチェックサムやＣＲＣ（Cyclic Redundancy Check、巡回冗長検査）符号などを利用することも可能である。
【００８５】
このようなハッシュ関数を利用した場合では、登録フェーズの回路を１個に特定するためには、ハッシュ値の長さを固有情報の候補の数以上に設定することが適切である。候補の総数を２＾２０までに設定した場合、ハッシュ値も２０ビット以上にする必要がある。チェックサムやＣＲＣ符号などを利用する場合には、ハッシュ値の大きさだけ固有情報が漏洩しやすいことになるため、なるべく小さく設定することが望ましい。
【００８６】
図８は、図６〜７に示した端末機器３１０（デバイス固有情報生成出力装置）の、登録フェーズに係る動作について示すフローチャートである。ここでも、図３に示した端末機器１０と同一の動作については、同一の参照番号でいう。図８に示した動作は、固有情報を決定するステップＳ２０３まで、図３に示した動作と同一であるが、その後にハッシュ関数出力機能４２３ａが、決定された固有情報のハッシュ値を算出して記憶する（ステップＳ５０４）動作を行って登録フェーズを終了する。
【００８７】
図９は、図６〜７に示した端末機器３１０（デバイス固有情報生成出力装置）の、利用フェーズに係る動作について示すフローチャートである。これも、図４に示した端末機器１０と同一の動作については、同一の参照番号でいう。図９に示した動作は、登録グループ情報１２５の中に存在するか否かを判断するステップＳ２５３まで、図４に示した動作と同一である。
【００８８】
ステップＳ２５３で対応する登録フェーズのグループが存在する場合にはハッシュ関数出力機能４２３ａが、その固有情報の候補のハッシュ値を生成して（ステップＳ５５４）、これがハッシュ値４２６として不揮発性メモリ１３に記憶されているハッシュ値と一致するか否かを判断し（ステップＳ５５５）、一致すれば正常終了、一致しなければ他の回路を用いてステップＳ２５３から処理を繰り返す。これ以外の各ステップは全て、図４に示した動作と同一である。
【００８９】
このように、ハッシュ関数出力機能４２３ａによって固有情報のハッシュ値４２６を不揮発性メモリ１３に記憶しておくことによって、ホストコンピュータ２０に対して認証の動作を行わなくても、端末機器３１０単体で固有情報の生成が成功したか否かを判断することができるようになる。
【００９０】
（第３の実施形態）
本発明の第３の実施形態は、第１の実施形態として説明した構成に加えて、登録回路推定部７２３が、第１の固有情報のシンドロームを不揮発性メモリに記憶するシンドローム生成機能７２３ａと、第２の固有情報を第１の固有情報のシンドロームによって復号化する復号機能７２３ｂとを備えると共に、復号機能によって第２の固有情報が正常に復号化できたか否かによって第１および第２の固有情報が一致するか否かを判断する構成とした。また、この復号機能７２３ｂは、第１および第２の固有情報が一致する前記Ｎ個の回路の中からＭ個の回路を選択する組み合わせが存在しない場合に、消失エラーとして第２の固有情報を復号化する。
【００９１】
この構成によっても、第１の実施形態で説明した効果と同一の効果が得られることに加えて、第１および第２の固有情報を上位装置に転送しなくても、装置内部のみで固有情報の生成に係る処理を、第２の実施形態よりもさらに迅速かつ高い信頼性で行えるようになる。
以下、これをより詳細に説明する。
【００９２】
図１０は、本発明の第３の実施形態に係る端末機器６１０の構成について示す説明図である。この端末機器６１０は、図２に示した第１の実施形態に係る端末機器１０とほぼ同一の構成を備えるが、物理情報マッピング手段１２０が別の物理情報マッピング手段７２０に置換されている。
【００９３】
図１１は、図１０に示した物理情報マッピング手段７２０のより詳しい構成について示す説明図である。物理情報マッピング手段７２０は、図１に示した第１の実施形態に係る物理情報マッピング手段１２０の構成と比べて、登録回路推定部１２３が別の登録回路推定部７２３に置換され、また、不揮発性メモリ１３に新たシンドローム７２６が記憶される以外は、第１の実施形態に係る物理情報マッピング手段１２０と全く同じ構成を備えている。従って、第１の実施形態と同一の要素については、同一の呼称と参照番号でいう。
【００９４】
登録回路推定部７２３は、シンドローム生成機能７２３ａと、復号機能７２３ｂとを備える。シンドローム生成機能７２３ａは、生成された固有情報のシンドロームを算出して、これを不揮発性メモリ１３上にシンドローム７２６として記憶する。復号機能７２３ｂは、このシンドローム７２６を用いて、固有情報の候補のハッシュ値を復号する処理を行う。
【００９５】
ここでいうシンドロームとは、誤り訂正符号のパリティ検査行列に受信した系列（ベクトル）を乗じた値である。ここで、誤り訂正符号としては、固有情報の単位となるグループ内インデックスのサイズのシンボルで構成される符号が利用可能である。登録フェーズでＭ個の回路を選択する場合、シンドローム生成においてはＭシンボルの符号長を持つ誤り訂正符号が適用される。
【００９６】
図１２は、図１０〜１１に示した端末機器６１０（デバイス固有情報生成出力装置）の、登録フェーズに係る動作について示すフローチャートである。ここでも、図３に示した端末機器１０と同一の動作については、同一の参照番号でいう。図１２に示した動作は、固有情報を決定するステップＳ２０３まで、図３に示した動作と同一であるが、その後にシンドローム生成機能７２３ａが、決定された固有情報のシンドロームを算出して記憶する（ステップＳ８０４）動作を行って登録フェーズを終了する。
【００９７】
図１３は、図１０〜１１に示した端末機器６１０（デバイス固有情報生成出力装置）の、利用フェーズに係る動作について示すフローチャートである。これも、図４に示した端末機器１０と同一の動作については、同一の参照番号でいう。図９に示した動作は、登録グループ情報１２５の中に存在するか否かを判断するステップＳ２５３まで、図４に示した動作と同一である。
【００９８】
ステップＳ２５３で対応する登録フェーズのグループが存在する場合には復号機能７２３ｂが、その固有情報の候補をシンドローム７２６によって復号化して（ステップＳ８５４）、正常に復号化できたか否かを判断し（ステップＳ８５５）、復号化できれば正常終了、復号化できなければ他の回路を用いてステップＳ２５３から処理を繰り返す。これ以外の各ステップは全て、図４に示した動作と同一である。
【００９９】
より詳細な計算例を示す。第１の実施形態の詳細な計算例として示したＤＲＡＭ素子の例を本実施形態に係る端末機器６１０に適用した場合を考える。この場合では、回路あたり下位８ビットを固有情報とするため、８ビット１シンボル、即ちガロア体ＧＦ（２＾８）上のリード・ソロモン符号を適用することが適切となる。
【０１００】
登録フェーズにおけるＭ個の反転ビットのインデックスの後半下位８ビットをＤ１，…，Ｄ８としてこれらをＧＦ（２＾８）の元とみなす。ＧＦ（２＾８）の原始元をαで表すと、１シンボル訂正のリード・ソロモン符号を適用する場合、シンドローム生成機能７２３ａが算出するＤ１，…，Ｄ８に対するシンドロームＳ＝（Ｓ１，Ｓ２）は、以下の数１で表すことができる。ここで、加算＋、および乗算・は、ＧＦ（２＾８）の演算である。
【０１０１】
【数１】
0006007918.tif 000002
【０１０２】
そして、利用フェーズにおいて得られた登録グループ対応反転ビットのインデックスの後半をＢ１，…，Ｂ８とする。復号機能７２３ｂは、以下の数２で、シンドロームＳ’＝（Ｓ１’，Ｓ２’）を計算する。
【０１０３】
【数２】
0006007918.tif 000003
【０１０４】
Ｓ’’＝Ｓ＋Ｓ’＝（Ｓ１＋Ｓ１’，Ｓ２＋Ｓ２’）をシンドロームとして通常のリード・ソロモン符号の復号処理を実施することでエラーベクトルＪ＝（Ｊ１，…，Ｊ８）を求めることができる。正しく復号できる場合には、訂正箇所以外のシンボルは０となる。このとき、Ｂ１＋Ｊ１，…，Ｂ８＋Ｊ８が登録フェーズでの固有情報として推定される。
【０１０５】
対応する反転ビットが存在しないグループｉのＢｉは消失エラーとして復号処理を適用することができる。エラーが発生していない場合であればこの符号を用いることで消失エラーが２個まで、つまり対応する反転ビットが存在しないグループが２個までであれば、候補の総当たりをすることなく、登録フェーズの固有情報を生成することが可能である。
【０１０６】
このように、シンドローム生成機能７２３ａおよび復号機能７２３ｂによって固有情報のシンドローム７２６を不揮発性メモリ１３に記憶し、これを利用することによって、ホストコンピュータ２０に対して認証の動作を行わず、さらに固有情報の候補の全数に対して復号化を試行しなくても、固有情報の生成が成功したか否かを判断することができるようになる。即ち、これによって端末機器６１０の信頼性が向上し、また固有情報の生成に係る処理をより迅速に行えるようになる。なお、ここでシンドロームではなく、符号化処理を実行してパリティを計算して格納するようにしてもよい。
【０１０７】
（実施形態の拡張）
上記の第１〜３の実施形態は、それらの趣旨を改変しない範囲で様々な拡張が可能である。以下、その拡張について説明する。
【０１０８】
前述の実施形態では、デバイス物理情報生成手段１１０がＤＲＡＭ素子である場合について説明したが、これをリングオッシレータなどの発振回路に置換することもできる。その場合は、当該回路の発振周波数や遅延特性を検出対象の物理的特性として、上位回路検出部１２１はその発振周波数もしくは遅延特性に基づいて当該回路の上位および下位を決定することができる。
【０１０９】
また、図４などに示した利用フェーズで、登録回路推定部１２３は登録フェーズの各グループに対応する上位の回路のみを選択するようにしてもよい。このようにすれば、登録フェーズで選択される上位回路数Ｎを大きくしても、登録回路の候補数を小さく抑えることができる。
【０１１０】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【０１１１】
上述した実施形態について、その新規な技術内容の要点をまとめると、以下のようになる。なお、上記実施形態の一部または全部は、新規な技術として以下のようにまとめられるが、本発明は必ずしもこれに限定されるものではない。
【０１１２】
（付記１）  複数の回路を含む電子デバイスから、当該電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置であって、
前記固有情報の検出対象となる前記複数の回路を含むデバイス物理情報生成手段と、
前記デバイス物理情報生成手段から前記各回路の物理特性を検出する上位回路検出部と、
第１の時刻において検出された前記物理特性の数値の順位に基づいてＭ個（Ｍは２以上の整数）の回路を選択してグループを作成してこのグループについての情報を予め備えられた不揮発性メモリに記憶するグループ検出部と、
前記Ｍ個の回路についての前記物理特性から第１の固有情報を生成して出力する登録回路推定部を有すると共に、
前記グループ検出部が、前記第１の時刻より後の第２の時刻において検出された前記物理特性の数値の順位に基づいて、前記Ｍよりも多いＮ個の回路を選択する機能を備え、
前記登録回路推定部が、前記Ｎ個の回路の中から任意のＭ個の回路を選択してこの選択されたＭ個の回路についての前記物理特性から第２の固有情報を生成し、前記第１および第２の固有情報が一致すればこの固有情報を出力する機能を備えることを特徴とするデバイス固有情報生成出力装置。
【０１１３】
（付記２）  前記デバイス物理情報生成手段が複数個の素子によって構成されたダイナミックＲＡＭであり、
前記上位回路検出部が前記各素子のチャージ後にビットが反転するまでの時間を前記物理特性として検出する機能を備えることを特徴とする、付記１に記載のデバイス固有情報生成出力装置。
【０１１４】
（付記３）  前記上位回路検出部が、チャージ後にビットが反転した前記素子の数が予め与えられた範囲になるようリフレッシュ停止時間を制御するリフレッシュ制御機能を備えることを特徴とする、付記２に記載のデバイス固有情報生成出力装置。
【０１１５】
（付記４）  前記デバイス物理情報生成手段が複数個の発振回路であり、
前記上位回路検出部が前記各発振回路の発振周波数を前記物理特性として検出する機能を備えることを特徴とする、付記１に記載のデバイス固有情報生成出力装置。
【０１１６】
（付記５）  前記登録回路推定部が、前記第１および第２の固有情報を上位装置に転送して認証を行い、この認証が成功するか否かによって前記第１および第２の固有情報が一致するか否かを判断する機能を備えることを特徴とする、付記１に記載のデバイス固有情報生成出力装置。
【０１１７】
（付記６）  前記登録回路推定部が、前記第１の固有情報のハッシュ値を前記不揮発性メモリに記憶するハッシュ関数出力機能を備えると共に、前記第２の固有情報のハッシュ値と前記第１の固有情報のハッシュ値とが一致するか否かによって前記第１および第２の固有情報が一致するか否かを判断する機能を備えることを特徴とする、付記１に記載のデバイス固有情報生成出力装置。
【０１１８】
（付記７）  前記登録回路推定部が、前記第１の固有情報のシンドロームを前記不揮発性メモリに記憶するシンドローム生成機能と、前記第２の固有情報を前記第１の固有情報のシンドロームによって復号化する復号機能とを備えると共に、前記復号機能によって前記第２の固有情報が正常に復号化できたか否かによって前記第１および第２の固有情報が一致するか否かを判断する機能を備えることを特徴とする、付記１に記載のデバイス固有情報生成出力装置。
【０１１９】
（付記８）  前記シンドローム生成機能が、リード・ソロモン符号を利用して前記第１の固有情報のシンドロームを生成することを特徴とする、付記７に記載のデバイス固有情報生成出力装置。
【０１２０】
（付記９）  前記復号機能が、前記第１および第２の固有情報が一致する前記Ｎ個の回路の中からＭ個の回路を選択する組み合わせが存在しない場合に、消失エラーとして前記第２の固有情報を復号化することを特徴とする、付記７に記載のデバイス固有情報生成出力装置。
【０１２１】
（付記１０）  複数の回路を含む電子デバイスから、当該電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置にあって、
第１の時刻において前記固有情報の検出対象となる前記複数の回路を含むデバイス物理情報生成手段から前記各回路の物理特性を上位回路検出部が検出し、
検出された前記物理特性の数値の順位に基づいてグループ検出部がＭ個（Ｍは２以上の整数）の回路を選択してグループを作成し、
このグループについての情報を前記グループ検出部が予め備えられた不揮発性メモリに記憶し、
前記Ｍ個の回路についての前記物理特性から登録回路推定部が第１の固有情報を生成し、
前記第１の時刻より後の第２の時刻において前記デバイス物理情報生成手段から前記各回路の物理特性を前記上位回路検出部が検出し、
前記第２の時刻において検出された前記物理特性の数値の順位に基づいて、前記グループ検出部が前記Ｍよりも多いＮ個の回路を選択し、
前記Ｎ個の回路の中から任意のＭ個の回路を前記登録回路推定部が選択し、
この選択されたＭ個の回路についての前記物理特性から前記登録回路推定部が第２の固有情報を生成し、
前記第１および第２の固有情報が一致すれば前記登録回路推定部がこの固有情報を出力することを特徴とするデバイス固有情報生成方法。
【０１２２】
（付記１１）  複数の回路を含む電子デバイスから、当該電子デバイスの認証に係る固有情報を検出してこれを出力するデバイス固有情報生成出力装置にあって、
前記デバイス固有情報生成出力装置の備えるコンピュータに、
第１の時刻において前記固有情報の検出対象となる前記複数の回路を含むデバイス物理情報生成手段から前記各回路の物理特性を検出する手順、
検出された前記物理特性の数値の順位に基づいてＭ個（Ｍは２以上の整数）の回路を選択してグループを作成する手順、
このグループについての情報を予め備えられた不揮発性メモリに記憶する手順、
前記Ｍ個の回路についての前記物理特性から第１の固有情報を生成する手順、
前記第１の時刻より後の第２の時刻において前記デバイス物理情報生成手段から前記各回路の物理特性を検出する手順、
前記第２の時刻において検出された前記物理特性の数値の順位に基づいて前記Ｍよりも多いＮ個の回路を選択する手順、
前記Ｎ個の回路の中から任意のＭ個の回路を選択する手順、
この選択されたＭ個の回路についての前記物理特性から第２の固有情報を生成する手順、
および前記第１および第２の固有情報が一致すればこの固有情報を出力する手順、
を実行させることを特徴とするデバイス固有情報生成プログラム。
【０１２３】
この出願は２０１１年１２月１日に出願された日本出願特願２０１１−２６３４３２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１２４】
本発明は、電子機器、特に情報機器において、機器認証や秘密情報の保持といった情報セキュリティの強化に利用することができる。
【符号の説明】
【０１２５】
１０、３１０、６１０  端末機器
１１  ＭＰＵ
１２  揮発性メモリ
１３  不揮発性メモリ
１４  インタフェース
２０  ホストコンピュータ
１１０  デバイス物理情報生成手段
１１０ａ、ｂ、ｃ、…  ＤＲＡＭ素子
１２０、４２０、７２０  物理情報マッピング手段
１２１  上位回路検出部
１２１ａ  Ｒ／Ｗコントローラ
１２１ｂ  リフレッシュ制御機能
１２２  グループ検出部
１２３、４２３、７２３  登録回路推定部
１２４  上位回路情報
１２５  登録グループ情報
４２３ａ  ハッシュ関数出力機能
４２６  ハッシュ値
７２３ａ  シンドローム生成機能
７２３ｂ  復号機能
７２６  シンドローム
【図１】
0006007918.tif 000004
【図２】
0006007918.tif 000005
【図３】
0006007918.tif 000006
【図４】
0006007918.tif 000007
【図５】
0006007918.tif 000008
【図６】
0006007918.tif 000009
【図７】
0006007918.tif 000010
【図８】
0006007918.tif 000011
【図９】
0006007918.tif 000012
【図１０】
0006007918.tif 000013
【図１１】
0006007918.tif 000014
【図１２】
0006007918.tif 000015
【図１３】
0006007918.tif 000016
【図１４】
0006007918.tif 000017