(57)【特許請求の範囲】
【請求項１】
Dynamic Random Access Memory (DRAM)と、前記DRAMのリフレッシュ処理を停止することによって消失させる消失ビット数の範囲に関する情報を受け、前記消失ビット数の範囲を達成するようにリフレッシュ処理を停止する時間を制御するリフレッシュ制御部と、
前記リフレッシュ処理の停止で発生した消失ビットの位置情報に基づき機器固有情報を生成する物理情報マッピング部とを備えた、機器固有情報生成装置。
【請求項２】
請求項１に記載の機器固有情報生成装置において、
前記リフレッシュ制御部は設定された消失ビット数の範囲を達成するように現在の消失ビット数に基づいて前記リフレッシュ処理を停止する時間を修正する、ことを特徴とする機器固有情報生成装置。
【請求項３】
請求項１又は２に記載の機器固有情報生成装置を備えた端末機器。
【請求項４】
請求項３に記載の端末機器と、該端末機器とネットワークを介して接続されるサーバとを備えた認証システムであって、
初期設定処理において前記端末機器は前記機器固有情報生成装置により機器固有情報を生成して前記サーバに送信し、前記サーバはこれを保持し、
前記端末機器の認証時には前記端末機器は機器固有情報を生成してその一部を前記サーバに送信し、前記サーバは認証時に受信した機器固有情報と、初期設定処理で保持した機器固有情報とを照合することで前記端末機器の認証を行う、
ことを特徴とする認証システム。
【請求項５】
請求項４に記載の認証システムにおいて、
前記端末機器の認証時には消失ビット数を初期設定処理時の消失ビット数以下に設定する、ことを特徴とする、認証システム。
【請求項６】
請求項４に記載の認証システムにおいて、
前記サーバは初期設定処理で保持した前記機器固有情報の一部を前記端末機器に送信し、
前記端末機器は機器固有情報を生成して、受信した前記機器固有情報と照合することによって前記サーバの認証を行う、ことを特徴とする、認証システム。
【請求項７】
請求項６に記載の認証システムにおいて、
前記サーバの認証時には消失ビット数を初期設定処理時の消失ビット数以上に設定する、ことを特徴とする、認証システム。
【請求項８】
請求項１又は２に記載の機器固有情報生成装置において、
初期設定処理において前記消失ビット数の範囲として第１の範囲R1と第２の範囲R2が指定され、
前記第２の範囲R2で指定される消失ビット数は前記第１の範囲R1で指定される消失ビット数より大きく設定され、
前記リフレッシュ制御部によって前記第１の範囲R1に入る消失ビットの位置を求め、
前記リフレッシュ制御部によって前記第２の範囲R2に入る消失ビットの位置を求め、
前記第１の範囲R1に入る消失ビットの位置と前記第２の範囲R2に入らないビット位置のペアを複数生成してこれを保持し、
機器固有情報利用時には前記第１の範囲R1と前記第２の範囲R2の中間となる消失ビット数の範囲R3を指定し、前記ペアのビット位置のどちらが消失しているかに基づいてビット列を生成して機器固有情報とする、
ことを特徴とする、機器固有情報生成装置。
【請求項９】
Dynamic Random Access Memory (DRAM)のリフレッシュ処理を停止することによって消失させる消失ビット数の範囲に関する情報を受け、前記消失ビット数の範囲を達成するようにリフレッシュ処理を停止する時間を制御し、
前記リフレッシュ処理の停止で発生した消失ビットの位置情報に基づき機器固有情報を生成することを特徴とする、機器固有情報生成装置の機器固有情報生成方法。
【請求項１０】
請求項９に記載の機器固有情報生成方法において、
設定された消失ビット数の範囲を達成するように現在の消失ビット数に基づいて前記リフレッシュ処理を停止する時間を修正する、ことを特徴とする機器固有情報生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は機器固有情報生成装置と機器固有情報生成方法、端末機器および認証システムに係わり、特にデバイス内部の物理状態を利用して固有情報を生成する機器固有情報生成装置と機器固有情報生成方法、端末機器および認証システムに関する。
【背景技術】
【０００２】
情報セキュリティの観点から安全な情報・通信システムの実現のためには、サーバと端末機器の間の通信において正規の相手であるかどうかを判定する認証処理が求められる。認証処理は機器固有の識別情報(ID)が存在することが前提となる。シリアル番号はその代表であるが、正規の機器を手に入れた攻撃者がこのシリアル番号を入手することは容易であり、ある機器のシリアル番号から他の機器のシリアル番号も推測できることも多い。【０００３】
また、端末機器のメモリ（ROM）に機器のIDや認証で用いる秘密情報を保持しておく方法に関しては、攻撃者が内容の解析を行わなくてもメモリをそのままコピーできれば不正な機器を複製できてしまう可能性がある。このような攻撃に対処するためにメモリから不正に情報を読み出すことを困難にする従来の耐タンパー技術はコストが高くなるという問題がある。【０００４】
近年、機器の認証を実現する手法として、機器を構成するデバイスにおいて製造過程などで不可避的に発生する物理的なばらつきを利用してデバイス個体の固有情報を生成する方式の研究が進んでおり、Physically Unclonable Function (PUF)と呼ばれている。【０００５】
図１はPUFに基づく固有情報生成部とそれを用いた認証システムの構成図を示している。認証は端末機器150とサーバ160との間で行われる。端末機器150とサーバ160との間はネットワークを介して接続される。端末機器150における認証部100は固有情報生成部110とインターフェース140とで構成される。固有情報生成部110はデバイス物理情報生成部120と物理情報マッピング部130とで構成される。【０００６】
デバイス物理情報生成部120は通常、端末機器の構成要素として元々存在するデバイスを利用する。【０００７】
物理情報マッピング部130はデバイス物理情報生成部120で得られる情報を必要に応じて変換して機器固有情報を生成する。【０００８】
インターフェース140はサーバ160とのインターフェースの処理を行い、必要に応じて機器固有情報を秘密情報として暗号化や認証アルゴリズムも実行する。【０００９】
製造過程で不可避的に発生する配線遅延のランダムネスを利用する方式については非特許文献１に開示されている。【００１０】
Static Random Access Memory(SRAM)を用いる方式はSRAMの電源投入時の各ビットの初期値がランダムになることを利用する。これは例えば非特許文献２に開示されている。【００１１】
このとき、図１では、デバイス物理情報生成部120はSRAMとなり、デバイス物理情報生成部120への入力情報はSRAM内のビットの位置となる。このとき物理情報マッピング部130は入力情報として与えられたビット位置の電源投入時の初期値を単に出力する。機器端末150の認証においては初期設定処理として端末機器150で事前にこのビット値を生成してサーバ160に登録しておく。認証時には端末機器150でそのときに生成したビット値をサーバ160は受信してこれを初期設定処理で登録した値と照合する。【００１２】
PUFに基づく機器固有情報はその値を推測することが困難であるだけではなく、正規の単体であれば環境に左右されず高い確率で認証が成功することが求められる。このような信頼性を向上させるために特許文献１においてはSRAMによる固有情報生成において全体ではなく部分を用いること、および初期設定として温度や電圧の条件を異なる設定にした場合の値を求めてサーバに記録しておく方法が示されている。【００１３】
また、特許文献１ではSRAMだけではなく、Dynamic Random Access Memory (DRAM)に対しても同様の手法で固有情報生成を行うことが可能なことを述べている。DRAMは素子を構成するキャパシタ（コンデンサ）の電荷の有無によってビット“0”, “1”を表現する。電荷をチャージしても時間が経つとキャパシタから電荷が漏れてビット値が消失するため、DRAMは定期的に読み出しを行って電荷をチャージするリフレッシュ処理が求められる。各素子の消失速度はそのキャパシタの容量など予測困難なばらつきによって決まる。このような性質を利用してリフレッシュ処理を停止して消失するビットの情報を固有情報生成に利用することができる。【００１４】
DRAMで生成する機器固有情報を利用した端末機器の認証においては、初期設定処理としてリフレッシュ処理を停止して消失するビット位置をサーバに事前に登録しておき、認証時には端末機器でそのときに生成した消失ビット位置をサーバは受信してこれを初期設定で登録したビット位置と照合する。【００１５】
本願発明と関連する技術としては、特許文献２に、メモリシステム内のデータを高速に初期化するとともに、メモリ初期化動作に要する時間を大幅に短縮するために、アクセス制御回路によってリフレッシュサイクルを停止することによりＤＲＡＭで構成されたメモリチップの初期化を実施するメモリ初期化方法に関する記載がある（段落００３２−００３７）。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特表2009-533741号公報
【特許文献２】特開平10-269150号公報
【非特許文献】
【００１７】
【非特許文献１】G. E. Shu and S. Devadas, “Physically Unclonable Functions for Device Generation and Secret Key Generation,” Proc. 44th Design Automation Conference, pp.9-14.
【非特許文献２】Daniel E. Holcomb, Wayne P. Burleson, and Kevin Fu, “Power-Up SRAM State as an Identifying Fingerprint and Source of True Random Numbers,” IEEE Trans. Computers, vol.58, no.9, pp.1198-1210, 2009.
【発明の概要】
【発明が解決しようとする課題】
【００１８】
DRAMのリフレッショ処理停止によるビット消失までの時間は温度や電圧などの影響を大きく受け、またその影響の素子毎のばらつきも比較的大きい。これをそのまま用いて機器固有情報を生成すると認証の精度を上げるためには多数の消失ビット位置を利用する必要があり、メモリデバイスのリソースを有効に利用した機器固有情報生成が難しくなる。【００１９】
本発明の典型的(exemplary)な目的は、温度や電圧などの環境変化に対しても高い信頼性を確保し、なおかつメモリデバイスのリソースを有効に利用した機器固有情報生成装置と機器固有情報生成方法、端末機器および認証システムを提供することにある。
【課題を解決するための手段】
【００２０】
本発明に係わる典型的(exemplary)な第１の態様(aspect)は、Dynamic Random Access Memory (DRAM)と、前記DRAMのリフレッシュ処理を停止することによって消失させる消失ビット数の範囲に関する情報を受け、前記消失ビット数の範囲を達成するようにリフレッシュ処理を停止する時間を制御するリフレッシュ制御部と、
前記リフレッシュ処理の停止で発生した消失ビットの位置情報に基づき機器固有情報を生成する物理情報マッピング部とを備えた、機器固有情報生成装置である。なお、ここで、ＤＲＡＭとは、情報の再書き込み（リフレッシュ）動作を行うことで情報を保持するメモリをいう。【００２１】
本発明に係わる典型的(exemplary)な第２の態様(aspect)は、Dynamic Random Access Memory (DRAM)のリフレッシュ処理を停止することによって消失させる消失ビット数の範囲に関する情報を受け、前記消失ビット数の範囲を達成するようにリフレッシュ処理を停止する時間を制御し、
前記リフレッシュ処理の停止で発生した消失ビットの位置情報に基づき機器固有情報を生成することを特徴とする、機器固有情報生成装置の機器固有情報生成方法である。
【発明の効果】
【００２２】
本発明によれば、固有情報生成で単一の温度や電圧の条件で初期設定処理を行っても認証時に使用する消失ビット位置の個数を抑えて信頼性の高い認証が実行できるようになる。
【図面の簡単な説明】
【００２３】
【図１】認証システムの一例を示すブロック図である。
【図２】本発明に係わる典型的な機器固有情報生成装置の一実施形態の構成を表すブロック図である。
【図３】本発明に係わる典型的な認証システムにおいて、サーバと端末機器との間でチャレンジ-レスポンスによる認証処理を実行するための初期設定処理を表すフローである。
【図４】本発明に係わる認証システムにおいて、サーバが機器端末を認証する処理を示すフローである。
【図５】本発明に係わる典型的な認証システムにおいて、機器端末がサーバを認証する処理を示すフローである。
【図６】本発明に係わる典型的な認証システムにおいて、固定IDの固有情報を生成する場合の初期設定処理を示すフローである。
【図７】図６の初期設定に対して固有情報生成を行う処理を示すフローである。
【図８】本発明に係わる典型的な認証システムにおいて、誤り訂正符号化を適用する場合の構成図である。
【図９】本発明に係わる典型的な認証システムにおいて、誤り訂正符号化を適用する場合の初期設定処理を示すフローである。
【図１０】同一種類3個のDRAMに対してリフレッシュ停止時間に対する消失ビットの割合を実際に計測した結果を示すグラフである。
【図１１】DRAMにおいてリフレッシュ停止時間を一定として温度と消失率の関係を実際に計測した結果を示すグラフである。
【図１２】本発明に係る端末機器の機能をコンピュータで構成した一構成例を示すブロック図である。
【図１３】本発明に係わる典型的な認証システムの一例を示すブロック図である。
【発明を実施するための形態】
【００２４】
図２は本発明に係わる典型的(exemplary)な機器固有情報生成装置の一実施形態の構成を表している。図２に示す機器固有情報生成装置は、図１の固有情報生成部110に対応している。図１３に示すように、本発明に係わる典型的(exemplary)な端末機器及び認証システムは、図１のデバイス物理情報生成部１２０がデバイス物理情報生成部２００となっており、物理情報マッピング部１３０が物理情報マッピング部２４０となっていることを除いて図１に示した端末機器150及び図１に示した認証システムと同様な構成となっている。図２に示すように、デバイス物理情報生成部200はDRAM210、R/Wコントローラ220, リフレッシュ制御部(refresh controller) 230で構成されている。DRAM210はビット値を保持するセルから構成される。
【００２５】
R/Wコントローラ220はDRAM210からのデータの読み出し（Read）、書き込み（Write）を実行する。DRAM210とR/Wコントローラ220（リフレッシュ処理込み）が通常のDRAM構成となる。
【００２６】
リフレッシュ制御部230はDRAM210を固有情報生成に利用するときのリフレッシュ処理の制御を、R/Wコントローラ220に対して実行する。本実施形態はターゲットとする消失ビット数の範囲を設定して、リフレッシュ制御部230によってこの消失ビット数もしくはその範囲を実現するようにリフレッシュ処理停止時間を設定する。DRAM210によってはチャージ後のビット値が領域によって異なる場合もあり、リフレッシュ制御部230はこれを考慮してのチャージ処理をR/Wコントローラ220を通じて実行する。
【００２７】
物理情報マッピング部240はリフレッシュ処理停止で発生した消失ビットの位置を特定し、機器固有情報として利用するビット列に変換する処理を行う。物理情報マッピング部240はリフレッシュ制御部230と一体とすることもできる。
【００２８】
図３は本実施形態を用いてサーバと端末機器との間でチャレンジ-レスポンスによる認証処理を実行するための初期設定処理を表すフローである。
【００２９】
サーバ160は端末機器150に対して入力情報として固有情報生成に利用するメモリの領域（固有情報生成領域）と消失ビット数の範囲を設定する（ステップS310）。固有情報生成領域はメモリ全体であってもよい。これらの情報は端末機器で事前に保持しておくこともできる。
【００３０】
以下のステップS320-S360は端末機器において実行し、ステップS370はサーバにおいて実行する。
【００３１】
R/Wコントローラ220はステップS310で設定された固有情報生成領域のすべてのビットのチャージ処理を実行する（ステップS320）。
【００３２】
リフレッシュ制御部230はDRAM210の固有情報生成領域のリフレッシュ処理を指定された時間だけ停止する（ステップS330）。
【００３３】
ステップS330でのリフレッシュ処理の停止後、R/Wコントローラ220は固有情報生成領域のビット値を読み出す（ステップS340）。
【００３４】
物理情報マッピング部240はステップS340で検知された消失ビット数がステップS310で設定した設定範囲に入るかをチェックする（ステップS350）。
【００３５】
ステップS350で設定範囲に入らない場合は（ステップS350のNo）、リフレッシュ処理停止時間を修正してステップS320に戻る（ステップS360）。
【００３６】
ステップS350で設定範囲に入る場合は（ステップS350のYes）、サーバ160は端末機器150のインターフェース140を通じてステップS340の消失ビットの位置の情報を受信し、登録する（ステップS370）。この送信ではステップS340のビット列をそのまま送信する方法と、このビット列から消失ビットの位置（チャージ後のビット値から反転しているビットの位置）を求めて送信する方法が考えられる。固有情報生成領域に対して消失ビット数が小さければ後者の方が通信量は小さくなる。
【００３７】
ステップS320のリフレッシュ処理停止時間の最初の設定はステップS310でサーバ160から設定する方法と、端末に格納しておく方法が考えられる。温度や電圧に関する情報が得られる場合にはこれに基づいて設定する方法も考えられる。
【００３８】
ステップS360におけるリフレッシュ停止処理時間の修正は、現在の消失ビット数が設定範囲よりも大きければ停止時間を小さくする方向に、現在の消失ビット数が設定範囲よりも小さければ停止時間を大きくする方向で行う。
【００３９】
次に、図３の初期設定処理に対して端末機器を認証する方法について図４のフローで説明する。サーバでは既に初期設定時の消失ビットの位置の情報が登録されている。
【００４０】
サーバ160は端末機器150に対して認証で使用する固有情報生成領域、消失ビットの個数の範囲を指定する（ステップS410）。この固有情報生成領域は初期設定時（ステップS310）の固有情報生成領域に含まれる領域であり、消失ビットの個数の範囲は初期設定における消失ビットの個数に基づいて決定する。この場合、認証時の消失ビット数は、初期設定における消失ビット数以下に設定することが望ましい。
【００４１】
端末機器はステップS410の条件で図３のフロー(ステップS320-S360)に沿って消失ビットの位置を決定する（ステップS420）。
【００４２】
サーバは端末機器からステップS420の消失ビット位置の情報を受信し、初期設定時の登録情報と照合して端末機器を認証する（ステップS430）。
【００４３】
DRAMの各素子の電荷の消失速度は温度や電圧の条件に応じて変化するが、ある条件で消失速度が大きく異なる素子間ではこの条件が異なっても消失速度の相対的な関係はある程度保たれることが期待される。特にある温度と電圧の条件における最初のk (kは正の整数)個の消失ビット位置はこの条件が異なってもkよりも十分に大きいm(mは正の整数)個の最初の消失ビット位置の中には高い確率で含まれることになる。つまり、図３の初期設定時のm個の消失ビット位置に対して、認証時のステップS410ではmよりも十分小さいk個の消失ビット数に設定することで消失ビット位置が初期設定で登録した消失ビットの集合に高い確率で含まれるようになる。この確率を高くすることによってステップS540で使用する消失ビット位置の個数を小さくしても正しく認証を実行することが可能となる。
【００４４】
図４の認証時のフローにおいて使用する固有情報生成領域を初期設定における固有情報生成領域の部分領域として、これを認証実行毎に使い捨てることで複数回の認証を行う方法が考えられる。また、図４のフローで認証に成功した場合には固有情報生成領域を変更して図３の初期設定を実行して次回の認証に備える方法も考えられる。
【００４５】
一方、不正なサーバが端末機器に対して図４のフローで本実施形態の機器固有情報を読み出すことを防止するためには端末機器で初期設定時の固有情報生成領域および消失ビット数を格納しておき、端末機器がサーバを認証する方法が考えられる。このフローを図５に示す。
【００４６】
端末機器150はサーバ160に対して今回の認証で使用する固有情報生成領域を指定する（ステップS510）。
【００４７】
サーバ160は初期設定時に保持した機器固有情報からステップS510で指定された固有情報生成領域における消失ビット位置に関する情報を送信する（ステップS520）。
【００４８】
端末機器は初期設定時の消失ビット数に基づいて図４のフロー(ステップS420-S430)に沿って消失ビットの位置を決定する（ステップS530）。
【００４９】
ステップS520のサーバからの消失ビット位置に関する情報とステップS530の消失ビットの位置を照合し、サーバを認証する（ステップS540）。
【００５０】
ステップS530において端末機器は消失ビットの個数の範囲を初期設定で得られた消失ビットの個数以上に設定することで正規の端末から送信される消失ビット位置が正しく照合される確率を高めることができる。このことによってサーバから送信される消失ビット位置の個数を小さくしても正しく認証を行うことができる。
【００５１】
図４および図５のフローでは使用した固有情報生成領域をサーバおよび端末機器で記憶し、ステップS410, S510では未使用の固有情報生成領域を選択する方式も考えられる。
【００５２】
機器固有情報から固定のIDを生成することが可能であれば図1のインターフェース140はこの固定のIDを利用して暗号化や認証アルゴリズムを実行してセキュリティ機能を実現することができるようになる。機器固有情報から固定のIDを生成するためには温度や電圧の条件が変化しても高い確率で同一の値が生成できるようにすることが望ましい。本実施形態を用いて電荷を消失する速度が大きく異なるビット位置のペアを初期設定処理で求めることでこのような固定のIDを生成することが可能となる。図６はこれを実現する初期設定処理のフローを示している。
【００５３】
端末機器は固有情報生成に利用するメモリの領域（固有情報生成領域）と消失ビット数の範囲R1, R2を設定する（ステップS610）。範囲R2の消失ビット数は範囲R1の消失ビット数より大きくなるようにする。これらの情報は端末機器が事前に保持しておく方法と、ステップS310のようにサーバから与える方法が考えられる。
【００５４】
リフレッシュ制御部230はステップS520と同様に消失ビット数が範囲R1に入るようにリフレッシュ処理停止時間を設定し、このときの消失ビット位置を求める（ステップS620）。
【００５５】
リフレッシュ制御部230はステップS520と同様に消失ビット数が範囲R2に入るようにリフレッシュ処理停止時間を設定し、このときの消失ビット位置を求める（ステップS630）。
【００５６】
物理情報マッピング部240はステップS620の消失ビット位置とステップS630の消失ビット位置以外のビット位置とを選択したペアを複数構成し、ペア内ではランダムな順序でこれを保持する（ステップS640）。サーバからIDを指定する場合にはそのビット値に従ってペア内の順序を決定する。ペアの格納は端末内に保持する方法とサーバに保持する方法が考えられる。
【００５７】
ステップS620のビット位置は非常に速く電荷を消失する一方、ステップS630で求めたビット位置以外のビット位置はステップS620で求めたビット位置に比べて電荷を消失する速度が十分に遅くなることが保証されたビット位置となる。このように本実施形態を用いて消失ビット数を2段階に制御して消失ビット位置を求めることによって電荷の消失速度が大きく異なるビット位置のペアを生成することができる。
【００５８】
図６の初期設定に対する固有情報生成処理のフローを図７に示す。
【００５９】
サーバは端末機器に対して固有情報生成に利用するメモリの領域（固有情報生成領域）と消失ビット数の範囲R3を与える（ステップS710）。範囲R3の消失ビット数は範囲R1の消失ビット数と範囲R2の消失ビット数との間になるように設定する。ステップS610と同様に範囲R3はサーバから与えるのではなく、端末機器において事前に保持しておくこともできる。
【００６０】
リフレッシュ制御部230はステップS520と同様に消失ビット数が範囲R3に入るようにリフレッシュ処理停止時間を設定し、このときの消失ビット位置を求める（ステップS720）。
【００６１】
物理情報マッピング部240はステップS640のビット位置のペアに対してどちらのビット位置がステップS720の消失ビット位置として現れたかに応じて”0”もしくは” 1”を決定し、ビット列を生成する（ステップS730）。
【００６２】
範囲R3を適切に設定することによってステップS720で生成される消失ビット位置は各温度の最初のR1個の消失ビット位置を含むことが期待され、その一方各温度で最初のR2個の消失ビット位置に含まれることが期待される。つまり、ステップS640のペアでは一方のみが安定して消失ビット位置となり、ステップS730で生成される各ビットは高い確率で一定の値となる。
【００６３】
信頼度をさらに向上させるためには特許文献１にも述べられているように誤り訂正符号を適用することが考えられる。図８はそのときの構成を示す図であり、物理情報マッピング処理部240の出力は誤り訂正符号化部800に送られる。誤り訂正符号化部800におけるこの初期設定フローの例を図９に示す。
【００６４】
ステップS610-S640に沿ってビット位置のペアを生成し、格納する（ステップS910）。
【００６５】
ステップS910のビット消失位置に基づいてステップS730の方法でビット列を生成する（ステップS920）。
【００６６】
ステップS920のビット列から誤り訂正符号のシンドロームを計算し、格納する（ステップS930）。
【００６７】
固有情報生成時には初期設定のステップS730に基づいてビット列を生成し、ステップS930のシンドロームを用いて訂正処理を実行する。信頼度を向上させるためにはステップS720を複数回実行し、消失位置の確度を高める方法が考えられる。また、ステップS930においてステップS920のビット列をいくつかのシーケンスに分割してこのシーケンス毎に誤り訂正符号化を適用する方式も考えられる。
【実施例】
【００６８】
図１０は常温で同一種類の3個のDRAM(容量はN = 64M = 64×220 bits)に対してリフレッシュ処理を停止した時間と消失ビットの個数を計測したときの結果を表すグラフである。グラフでは縦軸は消失ビット個数の全体に対する比率である消失率(%)で表している。図１１はリフレッシュ停止時間一定としたときの温度と消失率を表したグラフである。【００６９】
図１０のグラフからわかるようにリフレッシュ停止時間と消失ビット数はその個数が小さければ比較的線形に近い関係にあるため、ステップS430で消失ビット数が設定範囲から外れた場合には、この比率に基づきリフレッシュ停止時間を修正することが一つの方法となる。つまり、現在の消失ビット数が指定範囲の2倍程度であればリフレッシュ処理停止時間を1/2に修正して再度消失ビット位置を求める処理を実行する方法が考えられる。温度一定の下では図１０のようにリフレッシュ処理停止時間と消失ビット数の関係は滑らかに変化しているため、消失ビット数の設定範囲をある程度の大きさ（例えば消失ビット数に対して±10%）でとっておけばこの処理は何度か繰り返せば消失ビット数は設定範囲に収まることが期待できる。端末機器に温度センサーが存在する場合には図１１のグラフを予め求めておいて、このグラフの関係から決定されるリフレッシュ処理停止時間の初期値として設定する方法が考えられる。【００７０】
図３及び図４に示した端末機器の認証処理において、初期設定時に登録する消失ビット位置の個数をm(mは正の整数), 認証時に生成する消失ビット位置の個数をk(kは正の整数)として、このとき認証時に生成される消失ビット位置が初期設定時に登録されている確率をp(m, k)と表記する。認証時にはu(uは正の整数)個の消失ビット位置を用いて行うとすると、消失ビット位置を認証で1回しか用いない条件であれば(k/u)が認証処理を実行できる回数となり、これがDRAMの固有情報生成におけるリソースの有効活用の指標となる。簡単のために、このu個の中で初期設定時に登録されているものが1個以上あるときに正規の機器端末であると判定する基準を考える。このとき正規の端末機器が不正であると判定される確率（本人拒否率）は[式１]のPによって評価される。【００７１】
[式１] 
P = (1 - p(m, k))u
一方、図１０，図１１で使用したDRAMと同一種類のDRAM10個に対して最初の1000個の消失ビットが発生したときのその位置を調べたところ、デバイス間の一致はなくほぼ一様に分布する実験結果となった。ワード（今回のデバイスは16bits）のビットレベルにおける偏りも見られなかった。つまり今回の実験では最初の1000個の消失ビット位置はデバイス毎に独立であるとみなすことができる結果となった。この独立性の仮定の下で正規ではないデバイスが正規であると判定される確率（他人受入率）を考える。Pと同じ判定基準を考えると、この確率はあるデバイスで生成するu個の消失ビット位置が他のデバイスの初期設定で登録されたm個の消失ビット位置と1個以上一致する確率となり、[式２]のQによって評価される。N(Nは正の整数)は固有情報生成領域のビット数であり、B(a, b)はa個からb個を選択する組合わせ数である2項係数である。【００７２】
[式２] 
Q = 1 - B(N-m, u)/B(N, u)【００７３】
正しく認証が行われるためにはPとQをともに小さくすることが求められる。[式１]ではu を大きくする、もしくはmに対してkを小さく設定してp(m, k)を大きくすることでPを小さくすることができる。一方、[式２]でQを小さくするためには大きなuに対しては小さなm（必然的に小さなk）を設定する。【００７４】
今回、図１０，図１１で使用したDRAMで-5℃, 10℃, 25℃, 45℃の各温度で消失ビット数を100もしくは1,000と設定してリフレッシュ処理の停止時間を調節して各デバイスにおいて消失ビット位置を調べた。すべての温度で共通に最初のk個の消失ビット位置となったものはk/2個程度であった。つまりp(k, k)の上限は1/2として評価される。このp(k, k) = 1/2を仮定してP < 10-3を認証の信頼性の基準とするとu = 10が必要となる。これに対してm = 1000, k = 100の場合、実験ではp(m, k) = 1となった。今回のデバイスで一般にm = 10kの場合にp(10k, k) ≧ 0.99が成り立つと仮定するとP < 10-3の認証精度のためにはu = 2が必要となる。【００７５】
QについてもQ < 10-3を認証の信頼性の基準とすると、例えばN = 106 とするとu = 10に対してはm = 100, u = 2に対してはm = 500がほぼ上限となる。つまり、m = k= 100と消失ビット数を設定した場合にはk/u = 10回、m = 500, k = 50と設定した場合にはk/u = 25回の認証を実行できることになる。このようにm, kを適切に設定して本実施形態のようにリフレッシュ停止時間を制御することによってDRAMのリソースを有効に活用して固有情報を生成することができるようになる。【００７６】
図６、図７で示した、固有情報として固定のID生成を行う場合の範囲R1, R2, R3の設定としては実験で用いたDRAMにおいては例えば範囲R1を100程度,範囲 R2を10,000程度,範囲 R3を1,000程度とすることが考えられる。このとき各デバイスにおいて最初の範囲R1の消失ビット位置として現れたものはどの温度においても最初の範囲R3の消失ビット位置として表れ、最初のR3個の消失ビット位置として現れたものはどの温度においても最初の範囲R2の消失ビット位置として現れる。つまり、ステップS640である温度や電圧の条件で範囲R1の消失ビット位置と範囲R2の消失ビット位置以外のビット位置でR1個のペアを作り、固有情報生成処理で範囲R3の消失ビットが得られるようにリフレッシュ制御部で制御すれば高い確率で安定して一方のみが消失ビットとなり、R1程度のビット数の固定ID生成を高い信頼性で実現することができる。【００７７】
図８，図９の誤り訂正符号化では典型的にはBCH符号を適用する。図７の固定IDの生成時にともに消失した、もしくはともに消失しなかったペアに対応する出力ビットは誤り訂正符号の復号処理における”消失ビット”として扱うことで消失復号アルゴリズムを適用することが可能となり、復号処理性能を向上させることができる。【００７８】
本実施形態によれば、固有情報生成で単一の温度や電圧の条件で初期設定処理を行っても認証時に使用する消失ビット位置の個数を抑えて信頼性の高い認証が実行できるようになる。特に固定のIDを高い信頼性で生成できるようになり、これを暗号化や認証アルゴリズムの秘密鍵や秘密のIDとして利用することで多様なセキュリティ機能が実現できるようになる。【００７９】
上述した実施形態及び実施例に係わる機器固有情報生成装置及び端末機器は専用ＩＣ等のハードウェアで構成されるが、機器固有情報生成装置及び端末機器の機能はソフトウェアで実現することもできる。機器固有情報生成装置及び端末機器の機能は、その機能を実現するプログラムをコンピュータがＣＤ−ＲＯＭ、ＤＶＤ、フラッシュメモリ等のコンピュータ読み取り可能な記録媒体から読み込んで実行することによっても実現できる。図１２は本発明に係る端末機器の機能をコンピュータで構成した一構成例を示すブロック図である。コンピュータはプログラムを記憶したＲＯＭ１００１、液晶ディスプレイ等の表示部１００２、ＤＲＡＭ１００３、ＣＰＵ１００４、サーバと通信を行う通信部１００６、各部を接続するバス１００６を備えている。図３〜図７及び図８に示したような器固有情報生成装置及び端末機器の動作をプログラムで記述し、このプログラムをＲＯＭ１００１に記憶し、演算に必要な情報をＤＲＡＭ１００３に記憶し、ＣＰＵで当該プログラムを動作させることで、本実施形態及び実施例に係わる機器固有情報生成装置及び端末機器ホーン受信制御部の機能をプログラムで実現することができる。プログラムは図２及び図８に示すリフレッシュ制御部２３０、Ｒ／Ｗコントローラ２２０、物理情報マッピング部２４０、誤り訂正符号化部８００の一部又は全部の動作を記述する。【００８０】
以上、本発明の代表的な実施形態について説明したが、本発明は、本願の請求の範囲によって規定される、その精神または主要な特徴から逸脱することなく、他の種々の形で実施することができる。そのため、前述した各実施形態は単なる例示にすぎず、限定的に解釈されるべきではない。本発明の範囲は特許請求の範囲によって示すものであって、明細書や要約書の記載には拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更はすべて本発明の範囲内のものである。【００８１】
本願は、２０１１年６月２７日に出願された特願２０１１−１４１７５４号を基礎とする優先権を主張するものである。そして、特願２０１１−１４１７５４号に開示された全ての内容は本願の内容に含まれる。【００８２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下の構成には限られない。【００８３】
（付記１）
Dynamic Random Access Memory (DRAM)と、前記DRAMのリフレッシュ処理を停止することによって消失させる消失ビット数の範囲に関する情報を受け、前記消失ビット数の範囲を達成するようにリフレッシュ処理を停止する時間を制御するリフレッシュ制御部と、
前記リフレッシュ処理の停止で発生した消失ビットの位置情報に基づき機器固有情報を生成する物理情報マッピング部とを備えた、機器固有情報生成装置。【００８４】
（付記２）
付記１に記載の機器固有情報生成装置において、
前記リフレッシュ制御部は設定された消失ビット数の範囲を達成するように現在の消失ビット数に基づいて前記リフレッシュ処理を停止する時間を修正する、ことを特徴とする機器固有情報生成装置。【００８５】
（付記３）
付記１又は２に記載の機器固有情報生成装置を備えた端末機器。【００８６】
（付記４）
付記３に記載の端末機器と、該端末機器とネットワークを介して接続されるサーバとを備えた認証システムであって、
初期設定処理において前記端末機器は前記機器固有情報生成装置により機器固有情報を生成して前記サーバに送信し、前記サーバはこれを保持し、
前記端末機器の認証時には前記端末機器は機器固有情報を生成してその一部を前記サーバに送信し、前記サーバは認証時に受信した機器固有情報と、初期設定処理で保持した機器固有情報とを照合することで前記端末機器の認証を行う、
ことを特徴とする認証システム。【００８７】
（付記５）
付記４に記載の認証システムにおいて、
前記端末機器の認証時には消失ビット数を初期設定処理時の消失ビット数以下に設定する、ことを特徴とする、認証システム。【００８８】
（付記６）
付記４に記載の認証システムにおいて、
前記サーバは初期設定処理で保持した前記機器固有情報の一部を前記端末機器に送信し、
前記端末機器は機器固有情報を生成して、受信した前記機器固有情報と照合することによって前記サーバの認証を行う、ことを特徴とする、認証システム。【００８９】
（付記７）
付記６に記載の認証システムにおいて、
前記サーバの認証時には消失ビット数を初期設定処理時の消失ビット数以上に設定する、ことを特徴とする、認証システム。【００９０】
（付記８）
付記１又は２に記載の機器固有情報生成装置において、
初期設定処理において前記消失ビット数の範囲として第１の範囲R1と第２の範囲R2が指定され、
前記第２の範囲R2で指定される消失ビット数は前記第１の範囲R1で指定される消失ビット数より大きく設定され、
前記リフレッシュ制御部によって前記第１の範囲R1に入る消失ビットの位置を求め、
前記リフレッシュ制御部によって前記第２の範囲R2に入る消失ビットの位置を求め、
前記第１の範囲R1に入る消失ビットの位置と前記第２の範囲R2に入らないビット位置のペアを複数生成してこれを保持し、
機器固有情報利用時には前記第１の範囲R1と前記第２の範囲R2の中間となる消失ビット数の範囲R3を指定し、前記ペアのビット位置のどちらが消失しているかに基づいてビット列を生成して機器固有情報とする、
ことを特徴とする、機器固有情報生成装置。【００９１】
（付記９）
Dynamic Random Access Memory (DRAM)のリフレッシュ処理を停止することによって消失させる消失ビット数の範囲に関する情報を受け、前記消失ビット数の範囲を達成するようにリフレッシュ処理を停止する時間を制御し、
前記リフレッシュ処理の停止で発生した消失ビットの位置情報に基づき機器固有情報を生成することを特徴とする、機器固有情報生成装置の機器固有情報生成方法。【００９２】
（付記１０）
付記９に記載の機器固有情報生成方法において、
設定された消失ビット数の範囲を達成するように現在の消失ビット数に基づいて前記リフレッシュ処理を停止する時間を修正する、ことを特徴とする機器固有情報生成方法。【００９３】
（付記１１）
コンピュータに、
Dynamic Random Access Memory (DRAM)のリフレッシュ処理を停止することによって消失させる消失ビット数の範囲に関する情報を受け、前記消失ビット数の範囲を達成するようにリフレッシュ処理を停止する時間を制御するリフレッシュ制御機能と、
前記リフレッシュ処理の停止で発生した消失ビットの位置情報に基づき機器固有情報を生成する物理情報マッピング機能と、
を実行させるプログラム。【００９４】
（付記１２）
付記１１に記載のプログラムにおいて、
設定された消失ビット数の範囲を達成するように現在の消失ビット数に基づいて前記リフレッシュ処理を停止する時間を修正する機能と、を有することを特徴とするプログラム。
【産業上の利用可能性】
【００９５】
本発明は端末機器やサーバの機器認証に利用することができる。
【符号の説明】
【００９６】
100  認証部
110  固有情報生成部
120, 200  デバイス物理情報生成部
130, 240  物理情報マッピング部
140  インターフェース
150  端末機器
160  サーバ
210  DRAM
220  R/Wコントローラ
230  リフレッシュ制御部
S310-350, S610-640  初期設定フローのステップ
S410-450  端末機器認証処理フローのステップ
S710-740  端末機器における固定ID生成フローのステップ
800  誤り訂正符号化部
S910-930  誤り訂正符号適用時の初期設定フローのステップ
【図１】
0005979144.tif 000002
【図２】
0005979144.tif 000003
【図３】
0005979144.tif 000004
【図４】
0005979144.tif 000005
【図５】
0005979144.tif 000006
【図６】
0005979144.tif 000007
【図７】
0005979144.tif 000008
【図８】
0005979144.tif 000009
【図９】
0005979144.tif 000010
【図１０】
0005979144.tif 000011
【図１１】
0005979144.tif 000012
【図１２】
0005979144.tif 000013
【図１３】
0005979144.tif 000014