JP5906821B2 - デバイス固有情報生成装置及びデバイス固有情報生成方法 - Google Patents

デバイス固有情報生成装置及びデバイス固有情報生成方法 Download PDF

Info

Publication number
JP5906821B2
JP5906821B2 JP2012049276A JP2012049276A JP5906821B2 JP 5906821 B2 JP5906821 B2 JP 5906821B2 JP 2012049276 A JP2012049276 A JP 2012049276A JP 2012049276 A JP2012049276 A JP 2012049276A JP 5906821 B2 JP5906821 B2 JP 5906821B2
Authority
JP
Japan
Prior art keywords
stop time
inversion
refresh
phase
initial setting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012049276A
Other languages
English (en)
Other versions
JP2013186911A (ja
Inventor
利彦 岡村
利彦 岡村
一彦 峯松
一彦 峯松
洋一郎 伊東
洋一郎 伊東
洋輔 小松崎
洋輔 小松崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2012049276A priority Critical patent/JP5906821B2/ja
Publication of JP2013186911A publication Critical patent/JP2013186911A/ja
Application granted granted Critical
Publication of JP5906821B2 publication Critical patent/JP5906821B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Dram (AREA)

Description

本発明はデバイスの固有情報を生成するためのデバイス固有情報生成装置及びデバイス固有情報生成方法に関し、特に、デバイス内部の物理状態を利用してそのデバイスの固有情報を生成するデバイス固有情報生成装置及びデバイス固有情報生成方法に関する。
情報セキュリティに関して、安全な情報・通信システムの実現のためにはサーバと端末機器の間の通信において、相互に、相手が正規の相手であるかどうかを判定する認証処理が必要となる。認証処理は、機器固有の情報(ID)が存在することが前提となる。シリアル番号はその代表であるが、正規の機器を手に入れた攻撃者がこのシリアル番号を入手することは容易であり、また、ある機器のシリアル番号を基に、他の機器のシリアル番号も推測できることも多い。端末機器にランダムな秘密鍵を持たせれば、ある機器の秘密鍵を基に、他の機器の秘密鍵を推測することは困難であるが、その保持方法が問題になる。メモリ(たとえば、ROM(Read Only Memory))に秘密情報を保持しておく方法では、攻撃者が内容の解析を行わなくてもメモリをそのままコピーできれば不正な機器を複製できてしまう問題も発生する。このような攻撃に対処する従来の耐タンパー技術では、例えば、揮発性メモリに秘密情報を持つ方法が採られ、データ保持用のバッテリが必要になるなどコストが高くなるという問題がある。
近年、機器の認証を実現する手法として、機器を構成するデバイスにおいて製造過程などで不可避的に発生する物理的なばらつきを利用してデバイス個体の固有情報を生成して認証に利用する方式の研究が進んでおり、Physically Unclonable Function (PUF)と呼ばれている。
図1は、PUFに基づく固有情報生成部110と、それを用いた認証システムの構成図を示している。認証は、端末機器150とサーバ160との間で行われる。端末機器150における認証部100は、固有情報生成部110とインターフェース140を含む。
固有情報生成部110は、デバイス物理情報生成部120と物理情報マッピング部130とを含む。
デバイス物理情報生成部120は、通常、端末機器の構成要素として元々存在するデバイスを利用する。
物理情報マッピング部130は、デバイス物理情報生成部120で得られる情報を必要に応じて変換して、機器固有情報を生成する。
インターフェース140は、サーバ160とのインターフェースの処理を行い、必要に応じて機器固有情報を秘密情報として暗号化や認証アルゴリズムも実行する。
製造過程で不可避的に発生する配線遅延のランダムネスを利用する方式については下記の非特許文献1に開示されている。
Static Random Access Memory(SRAM)を用いる方式は、SRAMの電源投入時の各ビットの初期値がランダムになることを利用する。これは例えば下記の非特許文献2に開示されている。
このとき、図1に示すデバイス物理情報生成部120への入力情報はSRAMの所定の領域内の値が1である全ビットの位置となる。このとき物理情報マッピング部130は、入力情報として与えられた、値が1であるビット位置の電源投入時の初期値を単に出力する。機器端末の認証の初期設定フェーズでは、初期設定処理として、端末機器で事前にこのビット位置の電源投入時の初期値を生成してサーバに登録しておく。認証フェーズでは、端末機器でそのときに生成したビット位置の電源投入時の初期値を、サーバは受信して、これを初期設定フェーズで登録しておいてあるビット位置の電源投入時の初期値と照合する。
特許文献1では、SRAMだけではなく、Dynamic Random Access Memory (DRAM)に対しても、同様の手法で固有情報生成を行うことが可能なことを述べている。DRAMは素子を構成するキャパシタ(コンデンサ)の電荷の有無によって0または1の値のビットを表現する。時間が経つと、リーク電流のために、キャパシタに蓄積されている電荷が消失するため、DRAMは定期的に読み出しを行って、読み出した値に基づいて、キャパシタに電荷を再チャージするリフレッシュ処理が必須となる。各素子の電荷消失速度は予測困難なばらつきを持つと考えられる。この特性を固有情報生成に利用することができる。
DRAMで生成する機器固有情報を利用した端末機器の認証においては、次のことが行われる。初期設定処理としてリフレッシュ処理をある程度の時間停止して電荷保持のビット値(典型的には’1’)から反転するビット(以下、単に“反転ビット”と呼ぶ)(リフレッシュ停止により反転するビット)の位置をサーバに事前に登録しておく。認証時には端末機器で同様に、改めて行うリフレッシュ停止により反転するビットの位置をサーバは受信して、これを初期設定で登録したビット位置と照合することによって認証を行う。
このような、DRAMを用いたデバイス固有情報生成では、早期の反転ビットの情報量でその出力の情報量が抑えられるため、この反転ビットの位置に関する情報を直接に用いて認証を行うのではなく、その情報を暗号化やハッシュ関数の秘密鍵として利用することが一般的となる。反転ビットの位置情報を秘密鍵として利用する際には、通常、初期設定フェーズと鍵生成フェーズの2種類のフェーズの処理が必要となる。
DRAM PUFにおいて、初期設定フェーズでは早期に反転する一定個数のビットを特定し、その反転ビットの位置情報(インデックス)に基づいて秘密鍵を決定する。鍵生成フェーズは、秘密鍵を利用する際に実行され、リフレッシュ処理を停止して、初期の反転ビットを求めて初期設定の反転ビットを推定して秘密鍵を生成する。秘密鍵生成フェーズにおいて初期設定フェーズの反転ビット以外の反転ビットが得られ、初期設定フェーズの反転ビット以外の反転ビットはノイズとなる。このようなノイズに対しても安定して秘密鍵を生成するためには誤り訂正符号が利用される。その適用方法としては例えばFuzzy vaultと呼ばれるスキームが知られている。Fuzzy vaultは下記の非特許文献3に示されている。
特表2009−533741
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. A. Juels and M. Sudan, "A Fuzzy Vault Scheme", International Symposium on Information Theory, p.408, 2002
DRAMの各素子の電荷保持特性は温度の影響を大きく受ける。最初の一定数もしくは一定範囲の個数の反転ビットを確定するためのリフレッシュ停止時間は温度によって大きく異なる。反転ビット数を増やしたいときにも読み出し処理によって電荷はチャージされるために、反転ビット数を増やすためには、リフレッシュ停止処理を最初からリトライする必要がある。リトライを何度か繰り返すケースも想定され、このとき実行時間も大きくなる。DRAMを用いて固有情報生成の実行時間を短縮するためには、温度に合わせた適切なリフレッシュ処理停止時間の設定が求められる。
そこで、本発明は、デバイスの温度によって変動しやすい測定対象を基に、そのデバイスの固有情報を生成する場合において、短時間で固有情報を生成することを可能とするデバイス固有情報生成装置及びデバイス固有情報生成方法を提供することを目的とする。
本発明によれば、デバイスの固有情報を生成するデバイス固有情報生成装置であって、テスト時間だけリフレッシュを停止するテスト処理を行ない、該テスト処理により生じた反転ビットの数であるテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である想定反転ビット数に対応したリフレッシュの停止の時間を決定するリフレッシュ停止時間決定手段と、前記決定したリフレッシュの停止時間を適用したリフレッシュ停止により得られる反転ビットに関する情報に基づいて前記固有情報を生成する固有情報生成手段と、を備えることを特徴とするデバイス固有情報生成装置が提供される。
また、本発明によれば、デバイスの固有情報を生成するデバイス固有情報生成方法であって、テスト時間だけリフレッシュを停止するテスト処理を行ない、該テスト処理により生じた反転ビットの数であるテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である想定反転ビット数に対応したリフレッシュの停止の時間を決定するリフレッシュ停止時間決定ステップと、前記決定したリフレッシュの停止時間を適用したリフレッシュ停止により得られる反転ビットに関する情報に基づいて前記固有情報を生成する固有情報生成ステップと、を有することを特徴とするデバイス固有情報生成方法が提供される。
更に、本発明によれば、コンピュータを、デバイスの固有情報を生成するデバイス固有情報生成装置として機能させるためのデバイス固有情報生成用プログラムであって、コンピュータを、テスト時間だけリフレッシュを停止するテスト処理を行ない、該テスト処理により生じた反転ビットの数であるテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である想定反転ビット数に対応したリフレッシュの停止の時間を決定するリフレッシュ停止時間決定手段と、前記決定したリフレッシュの停止時間を適用したリフレッシュ停止により得られる反転ビットに関する情報に基づいて前記固有情報を生成する固有情報生成手段と、として機能させるためのデバイス固有情報生成用プログラムが提供される。
本発明によれば、デバイスの温度によって変動しやすい固有情報を生成する場合において、短時間で固有情報を生成することが可能となる。
一般の機器固有情報生成方式のブロック図である。 本発明の実施形態によるデバイス固有情報生成装置の構成を表すブロック図である。 本発明の実施形態によるリフレッシュ停止時間テーブルの構成を表す図である。 本発明の実施形態によるデバイス固有情報生成装置により行われるデバイス固有情報生成方法に含まれる初期設定フェーズの工程を説明するためのフローチャートである。 本発明の実施形態によるデバイス固有情報生成装置により行われるデバイス固有情報生成方法に含まれる鍵生成フェーズの工程を説明するためのフローチャートである。 本発明の実施形態によるリフレッシュ停止時間テーブルの一例である。 本発明の実施形態によるデバイス固有情報生成装置の主要部の構成を示すブロック図である。 DRAMにおけるリフレッシュ処理停止時間と反転ビット数の実験例を示すグラフである。
以下、図面を参照して本発明を実施するための形態について詳細に説明する。
図2は、本発明の実施の形態を表しており、図1のデバイス物理情報生成部120に対応するデバイス物理情報生成部200は、DRAMデバイス210、R/Wコントローラ(Read/Write Controller)220,リフレッシュ処理制御部230を含む。リフレッシュ処理制御部230はリフレッシュ停止時間テーブル240を構成要素として含む。
R/Wコントローラ220は、DRAMデバイス210に対するデータの読み出し(Read)及び書き込み(Write)を実行する。DRAMデバイス210とR/Wコントローラ220(リフレッシュ処理込み)を含むものが通常のDRAM構成となる。
リフレッシュ処理制御部230は、DRAMデバイス210を固有情報生成に利用するときのリフレッシュ処理の停止時間の制御をR/Wコントローラ220に対して実行する。
物理情報マッピング部250は、図1の物理情報マッピング部130に対応するものであり、リフレッシュ処理停止で発生した反転ビットを特定し、反転ビットの位置情報(インデックス)を基に、機器固有情報として利用するビット列を生成する処理を行う。秘密鍵生成に利用する場合には、初期設定フェーズにおいては、リフレッシュ停止処理により発生した反転ビットを特定して、反転ビット位置情報に基づいて、鍵生成フェーズでの誤り訂正に必要な冗長データ(helper dataと呼ばれる)を生成・格納する。そして、鍵生成フェーズにおいては、鍵生成フェーズで実行されるリフレッシュ停止処理により得られる反転ビットの位置情報の他に、初期設定フェーズで生成した冗長データも用いて秘密鍵を生成する処理を実行する。
図3は、本発明の実施形態におけるリフレッシュ停止時間テーブル240の構成の一例を示している。
左端から2列目の”テスト処理反転ビット数”の欄は各温度における一定時間リフレッシュ処理を停止するテスト処理によって発生する反転ビット数の見積もりを示している。ここでの一定時間を「テストリフレッシュ停止時間」ということにする。
左端から3列目の“初期設定フェーズリフレッシュ停止時間”の欄は各温度での初期設定フェーズにおけるリフレッシュ停止時間を示している。リフレッシュ停止時間は初期設定フェーズにおいて想定する反転ビットの個数にも依存する。つまり、初期設定フェーズにおいて、想定される一定の反転ビット数(以下、「想定反転ビット数」という。)を得るための各温度におけるリフレッシュ停止時間が”初期設定フェーズリフレッシュ停止時間”である。
右端から4列目から右端列までの4個の列にわたる“鍵生成フェーズリフレッシュ停止時間”の欄は、鍵生成フェーズにおけるリフレッシュ停止時間を示している。このリフレッシュ停止時間は、初期設定フェーズ実行時の温度と鍵生成フェーズ実行時の温度の組に依存する。
一般に、初期設定フェーズの温度と鍵生成フェーズの温度との間の温度差が大きいほど、鍵生成フェーズでは多くの反転ビットが必要になる。従って、鍵生成フェーズ実行時の温度のみならず、初期設定フェーズ実行時の温度も、鍵生成フェーズにおけるリフレッシュ処理停止時間の決定のための要素となる。このために、鍵生成フェーズにおけるリフレッシュ停止時間は、鍵生成フェーズ実行時の温度のみならず、初期設定フェーズ実行時の温度に応じて設定される。
なお、初期設定フェーズ実行時の温度は、その直前のテスト処理実行時の温度と等しく、鍵設定フェーズ実行時の温度は、その直前のテスト処理実行時の温度と等しいものとする。
図3では、初期設定フェーズにおける反転ビット数が符号301で示すように、n3であり、これに基づいて、初期設定フェーズ実行時の温度がT3であると推定されたとき、つまり、初期設定フェーズにおけるテスト処理の反転ビット数がn3のときには、鍵生成フェーズで、n3に対応したT3に対応する列に含まれる何れかのセルを使用することを符号302で示す楕円で示している。従って、初期設定フェーズで得たn1を鍵生成フェーズまで保存しておく。
鍵生成フェーズでは、初期設定フェーズでのテスト処理により得られる反転ビット数が列を決定し、鍵生成フェーズでのテスト処理により得られる反転ビット数が行を決定し、決定した列と決定した行で特定されるセルにある時間が、鍵生成フェーズにおけるリフレッシュ停止時間として利用される。
リフレッシュ停止時間テーブル240は、典型的にはデバイスサンプルから事前に生成しておく。
図4は、本発明の実施形態によるデバイス固有情報生成装置により行われるデバイス固有情報生成方法の初期設定フェーズに含まれる工程のフローを示している。
R/Wコントローラ220は、DRAMにおける固有情報生成領域のすべてのビットのチャージ処理を実行する(ステップ420)。典型的にはすべてのビットに’1’を書き込むことで実行される。
リフレッシュ制御部230はテストリフレッシュ停止時間だけリフレッシュ処理を停止する(ステップ430)。ここで、テストリフレッシュ停止時間は、あらかじめ決まっている。
ステップ430のリフレッシュ処理停止後、R/Wコントローラ220は固有情報生成領域のビット値を読み出す(ステップ440)。
リフレッシュ制御部230はステップ440で読み出した各ビット値を基に、反転ビット(’0’となったビット)の個数(反転ビット数)を求め、後に鍵生成フェーズで用いるために、その反転ビット数を「初期設定フェーズテスト処理反転ビット数」として保持する。そして、初期設定フェーズテスト処理反転ビット数に基づいて、リフレッシュ停止時間テーブル240を用いて、初期設定フェーズのためのリフレッシュ停止時間(以下、「初期設定フェーズリフレッシュ停止時間」という。)を決定する(ステップ450)。すなわち、左端から2列目の”テスト処理反転ビット数”が、実際のテストリフレッシュ停止処理により得られた初期設定フェーズテスト反転ビット数に最も近い行をリフレッシュ停止時間テーブル240から探し、その行の左端から3列目の”初期設定フェーズリフレッシュ停止時間”を、決定初期設定フェーズリフレッシュ停止時間とする。ここで、その行の左端列の”現在温度”が、初期設定フェーズ温度となる。原理的には、”初期設定フェーズテスト処理反転ビット数”から初期設定フェーズ温度を推定し、その推定された初期設定フェーズ温度に対応する”初期設定フェーズリフレッシュ停止時間”を”決定初期設定フェーズリフレッシュ停止時間”として求めるが、動作的には、リフレッシュ停止時間テーブル240において、実際のテスト処理により得られた初期設定フェーズテスト反転ビット数に最も近い、左から2列目の”テスト処理反転ビット数”に対応する”初期設定フェーズリフレッシュ停止時間”を求めることとなる。
次に、R/Wコントローラ220はDRAMにおける固有情報生成領域のすべてのビットのチャージ処理を実行することによりすべてのビットを初期状態に戻す(ステップ460)。
リフレッシュ制御部230はステップ450で決定された”初期設定フェーズリフレッシュ停止時間”だけリフレッシュ処理を停止する(ステップ470)。
ステップ470のリフレッシュ処理停止後、R/Wコントローラ220は固有情報生成領域の各ビットのビット値を読み出す(ステップ480)。
ステップ480で得られた反転ビットの位置情報(インデックス)を用いて物理情報マッピング部130は固有情報を確定するとともに、鍵生成フェーズでの誤り訂正に必要な冗長データ(helper dataと呼ばれる)を生成して格納する(ステップ490)。
図5は、本発明の実施形態によるデバイス固有情報生成装置により行われるデバイス固有情報生成方法の鍵生成設定フェーズに含まれる工程のフローを示している。
ステップ520から540のテスト処理は、初期設定フェーズのステップ420から440までと同様である。
R/Wコントローラ220は、DRAMにおける固有情報生成領域のすべてのビットのチャージ処理を実行する(ステップ520)。典型的にはすべてのビットに’1’を書き込むことで実行される。
リフレッシュ制御部230はテストリフレッシュ停止時間だけリフレッシュ処理を停止する(ステップ530)。
ステップ530のリフレッシュ処理停止後、R/Wコントローラ220は固有情報生成領域のビット値を読み出す(ステップ540)。
リフレッシュ制御部230はステップ540で読み出した各ビット値を基に、反転ビット(’0’となったビット)の個数(反転ビット数)を求め、その反転ビット数を「鍵生成フェーズテスト処理反転ビット数」として保持する。そして、リフレッシュ制御部230は鍵生成フェーズテスト処理反転ビット数から現在の温度を鍵生成フェーズ実行時の温度として推定する。そして、初期設定フェーズテスト処理反転ビット数と鍵生成フェーズテスト処理反転ビット数に基づいて、リフレッシュ停止時間テーブル240を用いて、鍵生成フェーズ実行時のリフレッシュ停止時間(以下、「鍵生成フェーズリフレッシュ停止時間」という。)を決定する(ステップ550)。
ステップ550では、具体的には、テーブルの左端から2列目の”テスト処理反転ビット数”が、実際の鍵生成フェーズテストリフレッシュ停止処理により得られた初期設定フェーズテスト反転ビット数に最も近い行を、リフレッシュ停止時間テーブル240から探し、その行の左端列の”現在温度”を鍵生成フェーズ温度として求める。そして、リフレッシュ停止時間テーブル240の初期設定フェーズ温度毎に設けられた”鍵生成フェーズリフレッシュ停止時間”の複数の列のうち、初期設定フェーズで求めた初期設定フェーズ温度と同一の初期設定フェーズ温度の列を選択列とする。その上で、左端から2列目の”テスト処理反転ビット数”が、鍵生成フェーズテストリフレッシュ停止処理により得られた鍵生成フェーズテスト処理反転ビット数に最も近い行を選択行とする。
そして、リフレッシュ停止時間テーブル240の選択列と選択行の組み合わせにより決定されるセルにある”鍵生成フェーズリフレッシュ停止時間”を決定鍵生成フェーズリフレッシュ停止時間とする。
ステップ560から580の反転ビットを特定する処理は、図4の初期設定フェーズの460から480と同様である。
R/Wコントローラ220はDRAMにおける固有情報生成領域のすべてのビットのチャージ処理を実行することによりすべてのビットを初期化する(ステップ560)。
リフレッシュ制御部230はステップ550で決定された”鍵生成フェーズリフレッシュ停止時間”だけリフレッシュ処理を停止する(ステップ570)。
ステップ570のリフレッシュ処理停止後、R/Wコントローラ220は固有情報生成領域の各ビットのビット値を読み出す(ステップ580)。
ステップ580で得られた反転ビットの位置情報(インデックス)とステップ490で求めて保持しておいたhelper dataを用いて、物理情報マッピング部130は、ステップ490での反転ビットの位置情報(インデックス)と固有情報を推定して秘密鍵を生成する(ステップ590)。
初期設定フェーズテスト処理反転ビット数が想定反転ビット数に等しければ、ステップ460〜480を省略し、ステップ440での読出しにより得られる反転ビット位置情報をステップ480で得られる反転ビット位置情報の代わりに利用してもよい。
同様に、鍵生成フェーズテスト処理反転ビット数が想定反転ビット数に等しければ、ステップ560〜580を省略し、ステップ540での読出しにより得られる反転ビット位置情報をステップ580で得られる反転ビット位置情報の代わりに利用しても良い。
これはリフレッシュ停止時間テーブル240の鍵生成フェーズに対応する欄にリフレッシュ停止時間だけでなく想定される反転ビット数も記載しておくことで判断することができる。図6では、この反転ビット数を括弧でくくった数字で表している。
また、ステップ480で得られる反転ビット位置情報から求まる反転ビット数が想定反転ビット数と等しくないことが判断された場合には、初期設定フェーズリフレッシュ停止時間を修正して、ステップ460からの処理を繰り返す。修正において初期設定フェーズリフレッシュ停止時間をどの程度修正するのかは、反転ビット数と初期設定フェーズリフレッシュ停止時間との関係と両ビット数の差分とに基づいて決定することができる。この繰返しを、上記の両反転ビット数の差分が所定値以下になるまで複数回行なう。
同様に、590で秘密鍵の生成に失敗した場合には、鍵生成フェーズリフレッシュ停止時間を修正して、ステップ560からの処理を繰り返す。修正において鍵生成フェーズリフレッシュ停止時間をどの程度修正するのかは、反転ビット数と鍵設定フェーズリフレッシュ停止時間との関係とステップ580で得られる反転ビット位置情報から求まる反転ビット数と想定反転ビット数との差分とに基づいて決定することができる。この繰返しを、秘密鍵の生成に成功するまで繰り返す。
ステップ450で初期設定フェーズテスト処理反転ビット数に基づいて、リフレッシュ停止時間テーブル240を用いて、初期設定フェーズリフレッシュ停止時間を求める際に、初期設定フェーズテスト反転ビット数に最も近い”テスト処理反転ビット数”の代わりに、初期設定フェーズテスト反転ビット数以下の最も大きい”テスト処理反転ビット数”を探し、探した”テスト処理反転ビット数”に対応した”初期設定フェーズリフレッシュ停止時間”を求めるようにしてもよい。また、初期設定フェーズテスト反転数ビット以上の最も小さい”テスト処理反転ビット数”を探し、探した”テスト処理反転ビット数”に対応した”初期設定フェーズリフレッシュ停止時間”を求めるようにしてもよい。更に、初期設定フェーズテスト反転ビット数を挟む2つの”テスト処理反転ビット数”にそれぞれ対応した2つの”初期設定フェーズリフレッシュ停止時間”を用いて線形補間することにより得られた時間を決定初期設定フェーズリフレッシュ停止時間としてもよい。線形補間をする代わりに、初期設定フェーズテスト反転ビット数近傍の3個以上の”テスト処理反転ビット数”とそれらにそれぞれ対応した3個以上の”初期設定フェーズリフレッシュ停止時間”を用いて種々の方法により補間をしてもよい。
ステップ550で、初期設定フェーズテスト処理反転ビット数と鍵生成フェーズテスト処理反転ビット数に基づいてリフレッシュ停止時間テーブル240を用いて鍵生成フェーズリフレッシュ停止時間を求める際に、初期設定フェーズテスト反転ビット数に最も近い”テスト処理反転ビット数”の代わりに、初期設定フェーズテスト反転ビット数以下の最も大きい”テスト処理反転ビット数”を探し、探した”テスト処理反転ビット数”に対応した列を上記の選択列としてもよい。また、初期設定フェーズテスト反転ビット数以上の最も小さい”テスト処理反転ビット数”を探して、探した”テスト処理反転ビット数”に対応した列を上記の選択列としてもよい。更に、”テスト処理反転ビット数”が鍵生成フェーズテスト反転ビット数以下の最も大きい数である列を上記の選択行としてもよいし、”テスト処理反転ビット数”が鍵生成フェーズテスト反転ビット数以上の最も小さい数である列を上記の選択列としてもよい。更に、初期設定フェーズテスト反転ビットを挟む2つの”テスト処理反転ビット数”に対応した2つの列を上記の選択列として、鍵生成フェーズテスト反転ビット数を挟む2つの”テスト処理反転ビット数に対応した2つの行を上記の選択行として、2つの選択列と2つの選択行の組合わせにより決定される4つのセルの”鍵生成フェーズリフレッシュ停止時間”を用いて2次元的な線形補間をすることにより得られた時間を決定鍵生成フェーズリフレッシュ停止時間としてもよい。一般に、初期設定フェーズテスト反転ビット数近傍の2個以上の”テスト処理反転ビット数”にそれぞれ対応した2個以上の列を選択列として、鍵生成フェーズテスト反転ビット数近傍の2個以上の”テスト処理反転ビット数”にそれぞれ対応した2個以上の行を選択行として、2個以上の選択列と2個以上の選択列の組合わせにより決定される4個以上のセルの”鍵生成フェーズリフレッシュ停止時間”を用いて種々の方法により二次元的な補間をしてもよい。なお、補間における定義域は初期設定フェーズテスト処理反転ビット数×鍵生成フェーズテスト処理反転ビット数の二次元であり値域は鍵生成フェーズリフレッシュ停止時間である。
リフレッシュ停止時間テーブル240は、典型的にはデバイスサンプルから事前に生成しておくが、ステップ590における反転ビットの個数や初期設定フェーズの固有情報のステップ590での推定処理の状況からリフレッシュ停止時間テーブル240に書き込まれているリフレッシュ停止時間を修正することも考えられる。つまり、実際の反転ビット数が想定される反転ビット数よりも大きければリフレッシュ停止時間が短くなるように修正して上書きすることができる。
このようにDRAMを用いた固有情報生成で実行時間が長くなるのは、ビット反転時間が長くなる低温の場合である。特に初期設定フェーズが高温で行なわれ、鍵生成フェーズが低温で行なわれる場合には、初期設定フェーズでの比較的多い反転ビット数と同数の反転ビット数を低温で得ることが必要になるために実行時間が特に大きくなる。
これに対して、初期設定のステップ450の推定温度に応じて誤り訂正符号化の冗長度を変化させる方法が考えられる。つまり、ステップ450で高温であると判断した場合には冗長度を大きくして誤り訂正能力を高くすることにより、低温時の鍵生成フェーズでは少ない反転ビット数でも復号処理(誤り訂正処理)が可能になるようにする。
鍵生成フェーズのステップ540で、得られた鍵生成フェーズテスト処理反転ビット数が少なく、これにより、現在の温度が低温であると判断された場合には、即座に又はステップ590を実施後、想定反転ビット数を少なくして、そして、これに応じて初期設定フェーズリフレッシュ停止時間を短くして、初期設定フェーズをやり直すことも考えられる。このことによって、鍵生成フェーズが低温で行なわれる場合であっても、鍵生成フェーズリフレッシュ停止時間を長くせずに、鍵生成処理を成功させることができるようになる。
本実施形態では、初期設定フェーズにおいても、鍵生成フェーズにおいても、温度と、想定反転ビット数を得るためのリフレッシュ停止時間との関係を表すリフレッシュ停止時間テーブルを用意し、テスト処理におけるテストリフレッシュ停止時間に対応した反転ビット数を基に現在温度を推定し、リフレッシュ停止時間テーブルによってその現在温度で適切なリフレッシュ停止時間を選択して、そのリフレッシュ停止時間だけリフレッシュを停止することにより得た反転ビット数を想定反転ビット数とほぼ等しくすることができるので、小さなオーバーヘッドで、適切なリフレッシュ停止時間を設定することが可能となり、よって、リフレッシュ停止処理のリトライを減らすことにもなるから、固有情報生成の実行時間を短縮することが可能になる。
また、テスト処理を導入することによって、温度センサーが不要になるとともに、電荷の消失速度の高低の個体差も吸収して、リフレッシュ停止時間を適切にすることができる。
次に、図7を参照して、本発明の実施形態によるデバイス固有情報生成装置の主要部の構成について説明をする。
図7を参照すると、この主要部は、リフレッシュ制御部230、物理情報マッピング部250及び実行制御部255を含む。
リフレッシュ制御部230は、リフレッシュ停止時間決定部231、リフレッシュ停止時間テーブル240およびリフレッシュ停止処理実行部237を含む。
リフレッシュ停止時間決定部231は、テスト処理実行部232、反転ビット数取得部233、初期設定フェーズテスト処理反転ビット数保持部234、初期設定フェーズリフレッシュ停止時間決定部235及び鍵生成フェーズリフレッシュ停止時間決定部236を含む。
リフレッシュ停止時間テーブル240は、第1テーブル241及び第2テーブル242を含む。
物理情報マッピング部250は、反転ビット情報取得部251、冗長データ生成・保持部252、固有情報生成コア部253及び冗長度変更部254を含む。
なお、機能的には、リフレッシュ停止処理実行部237、反転ビット情報取得部251、冗長データ生成・保持部252、固有情報生成コア部253及び冗長度変更部254を含むものが、固有情報生成部257を構成する。
テスト処理実行部232は、初期設定フェーズにおけるテスト処理と、鍵生成フェーズにおけるテスト処理を実行する。
反転ビット数取得部233は、初期設定フェーズにおけるテスト処理により生じた反転ビットの数及び鍵生成フェーズにおけるテスト処理により生じた反転ビットの数を取得する。
初期設定フェーズテスト処理反転ビット数保持部234は、反転ビット数取得部233が取得した、初期設定フェーズにおけるテスト処理により生じた反転ビットの数を保持する。
初期設定フェーズリフレッシュ停止時間決定部235は、反転ビット数取得部233が取得した、初期設定フェーズにおける反転ビット数の数と、第1テーブル241とを基に、初期設定フェーズに適用するリフレッシュ停止時間を決定する。
鍵生成フェーズリフレッシュ停止時間決定部236は、初期設定フェーズテスト処理反転ビット数保持部234が保持している、初期設定フェーズにおけるテスト処理により生じた反転ビットの数と、反転ビット数取得部233が取得した、鍵生成フェーズにおけるテスト処理により生じた反転ビットの数と、第2テーブルとを基に、鍵生成フェーズに適用するリフレッシュ停止時間を決定する。
リフレッシュ停止処理実行部237は、テスト処理におけるリフレッシュ処理と、決定されたリフレッシュ停止時間を適用してのリフレッシュ停止処理を実行する。
第1テーブル241は、初期設定フェーズテスト処理により得られた反転ビットの数と、初期設定フェーズのリフレッシュ停止処理に適用するリフレッシュ停止時間との対応関係を保持し、具体的には、テーブル全体が、図3に示すようなものである場合には、図3に示す表の左から第2列と第3列より構成される。
第2テーブル242は、初期設定フェーズテスト処理により得られた反転ビットの数と、鍵生成フェーズテスト処理により得られた反転ビットの数と、鍵生成フェーズのリフレッシュ停止処理に適用するリフレッシュ停止時間との対応関係を保持し、具体的には、テーブル全体が、図3に示すようなものである場合には、図3に示す表の左から第2列と第4乃至7列より構成される。
反転ビット情報取得部251は、初期設定フェーズにおけるリフレッシュ停止処理により得られた反転ビットに関する情報(どのビットが反転したかという情報)と、鍵生成フェーズにおけるリフレッシュ停止処理により得られた反転ビットに関する情報を取得する。
冗長データ生成・保持部252は、反転ビット情報取得部251が取得した、初期設定フェーズにおけるリフレッシュ処理により得られた反転ビットに関する情報を基に、固有情報に対する誤り訂正符号の冗長データを生成し、それを保持する。
固有情報生成コア部253は、鍵生成フェーズにおけるリフレッシュ停止処理により得られた反転ビットに関する情報と、冗長データに基づいて、固有情報を生成する。
実行制御部255は、デバイス固有情報生成装置の全体の動作を制御する。また、実行制御部255は、鍵生成フェーズテスト処理により生じた反転ビットの数が所定数以下である場合には、初期設定フェーズからやり直すための制御も行う。
同一の10個の64MビットSynchronous DRAM (SDRAM)を用いた実験結果を利用して実施例を述べる。
図8は、その中の一つのSDRAMに対するリフレッシュ処理の停止時間と反転ビット数の関係を示している。同一のリフレッシュ処理停止時間でも温度によって反転ビットの個数が大きく異なることがわかる。テスト処理のリフレッシュ処理停止時間を5秒とすると−5、25、45、65℃における反転ビット数は図8ではそれぞれ0, 25, 500, 7000個程度となっている。テスト処理では逆に5秒間のリフレッシュ停止処理での反転ビット数から現在の温度を推定する。リフレッシュ停止時間テーブルにおいて上記の4個の温度設定がなされていてテスト処理において100個の反転ビットが生じた場合には25℃と45℃の間の温度と推定する。リフレッシュ停止時間の算出は次のように行う。
テスト処理で得られた反転ビット数nに対してリフレッシュ停止時間テーブルの隣接するテスト処理反転ビット数n1, n2をn1 < n < n2となるように選択する。n1, n2に対応する初期設定フェーズのリフレッシュ停止時間をJ1, J2とおく。線形補間を用いる場合にはリフレッシュ停止時間Jは次のように設定する。
[式1] J = (n2 - n)/(n2 - n1) * J1 + (n - n1)/(n2 - n1) * J2
上記のn = 100 (n1 = 25, n2 = 500)の例では
J = (500 - 100)/(500 - 25) × J1 + (100 - 25)/(500 - 25) × J2
= 400/475 × J1 + 75/475 × J2
となる。
次に、DRAMの早期反転ビットの位置(インデックス)情報から秘密鍵を生成する方式の例として、非特許文献3に挙げたfuzzy vaultを適用した場合を説明する。サイズq=2^{L}のDRAMの各ビットはLビットのインデックスで表すことができる。このインデックスをガロア体GF(q)の元と対応付ける。Fuzzy vaultはL, qのほかにt, r, k, sという4個のパラメータで指定される。
[初期設定フェーズ]
a1) 図4のステップ420-490でt個の反転ビットa_{1},…,a_{t}を確定する。この集合をB1とおく。
a2) GF(q)上の多項式f(x) (deg(f) <k)を秘密情報として用意する。
a3) A=B1とおいて、GF(q)×GF(q)の元から成る集合
V = {(a_{1},f(a_{1})), …,(a_{t}, f(a_{t}))}
を設定する。
a4) j= t + 1から rまで次の処理を繰り返す。
a4-1) Aには属さないGF(q)の元a_{j}をランダムに選ぶ
a4-2) c_{j}≠ f(a_{j})となるようにc_{j}をランダムに選ぶ。
a4-3) A← A ∪{a_{j}}, V← V ∪ {(a_{j}, c_{j})}.
a5) Vをhelper dataとして保持する。
ステップa5)のVはvault, ステップa4-2)の(a_{j}, c_{j})はchaff dataと呼ばれている。
鍵生成フェーズは次のようになる。
[鍵生成フェーズ]
b1) ステップ520-590によってs個の反転ビットa'_{1},…,a'_{s}を特定する。
b2) a'_{j}でステップa5)のVの元の第一成分に一致するものを特定する。
b3) ステップb2)で一致したVの元から復号処理を実行してfを推定する。
r, k, tは情報量を決めるパラメータとなる。また、ステップb2)でB1に対応する元と一致した個数をm, B1以外に対応する元と一致した個数をeとする。ステップb3)ではm ≧ k, e ≦ (m - k)/2が成り立つときに正しくfを推定することができる。ステップb1)のsを大きくすることによってmを大きくすることができるが、eも大きくなることに注意する。
初期設定フェーズでは、なるべく早期のt個の反転ビットを特定する。ここで、tを初期設定フェーズ想定反転ビット数ということにする。このためテスト処理において、初期設定フェーズ想定反転ビット数tと比較してかなり大きな反転ビット数が生じたときには逆にリフレッシュ停止時間を小さく設定して反転ビット数が初期設定フェーズ想定反転ビット数tに近い値となるように初期設定フェーズのリフレッシュ停止時間を設定する。実験で用いたSDRAMで初期設定フェーズ想定反転ビット数t = 20に対応する初期設定フェーズリフレッシュ停止時間の見積もりは−5, 25, 45, 65℃でそれぞれ22, 6, 2, 1秒程度となった。今回の実験でテスト処理の反転ビット数n = 100のときには、[式1]に、n = 100, n1 = 25, n2 = 500, J1 = 6(秒), J2 = 2(秒)を代入して、初期設定フェーズリフレッシュ停止時間Jは、J = 400/475 * 6 + 75/475 *2 = 5.4(秒)と設定する。初期設定フェーズの温度情報を保持するデータとしては、初期設定フェーズにおけるテスト処理での実際の反転ビット数nを保持すれば十分となる。実際の初期設定フェーズリフレッシュ停止時間は、初期設定フェーズにおけるテスト処理のリフレッシュ停止時間である5秒を合わせて27, 11, 7, 6秒と評価することが適切となる。
鍵生成フェーズ想定反転ビット数sは初期設定フェーズ実行時の温度にも依存し、初期設定フェーズ実行時の温度と鍵生成フェーズ実行時の温度との温度差が大きいほど鍵生成フェーズ想定反転ビット数sは大きくなる。鍵生成フェーズ想定反転ビット数sが大きくなると、上記Fuzzy Vaultのステップb2)でエラーとなるchaff dataが選ばれることも多くなるので、鍵生成フェーズ想定反転ビット数sは、上記の集合B1と鍵生成フェーズの反転ビットの集合との積集合が第1所定サイズ以上となり、且つ、上記の集合B1の補集合と鍵生成フェーズの反転ビットの集合の積集合(ノイズとして扱われる集合)が第2所定サイズ以下となるように設定し、これにより正しい鍵が生成できるようにすることが望まれる。鍵生成フェーズ想定反転ビット数sは、テーブルにある鍵生成フェーズリフレッシュ停止時間に暗に含まれるものであり(図6のテーブルでは括弧に囲まれて示されており)、従って、上記の集合B1と鍵生成フェーズの反転ビットの集合の積集合が第1所定サイズ以上となり、且つ、上記の集合B1の補集合と鍵生成フェーズの反転ビットの集合の積集合(ノイズとして扱われる集合)が第2所定サイズ以下となるように、鍵生成フェーズリフレッシュ停止時間を設定することが望まれる。また、初期設定フェーズリフレッシュ停止時間は、集合B1を左右するものであり、従って、集合B1と鍵生成フェーズの反転ビットの集合の積集合が第1所定サイズ以上となり、且つ、上記の集合B1の補集合と鍵生成フェーズの反転ビットの集合の積集合(ノイズとして扱われる集合)が第2所定サイズ以下となるように、初期設定フェーズリフレッシュ停止時間を設定することが望まれる。
このように、鍵生成フェーズ想定反転ビット数sを決定したのちに、各温度で鍵生成フェーズ想定反転ビット数sを達成する鍵生成フェーズリフレッシュ停止時間を求めることで、本実施形態における鍵生成フェーズリフレッシュ処理停止時間が決定される。
図6は、このように決定したリフレッシュ停止時間を設定したときのリフレッシュ停止時間テーブルの例である。鍵生成フェーズリフレッシュ停止時間の欄の()の数字は想定する反転ビット数(鍵生成フェーズ想定反転ビット数)sである。例えば、初期設定フェーズにおいてテスト処理の反転ビット数n ≒ 25であり、鍵生成フェーズにおけるテスト処理の反転ビット数n’≒ 500である場合を例にとる。この例の場合、初期設定フェーズリフレッシュ停止時間を、初期設定フェーズにおけるテスト処理反転ビット数n' ≒25に対応する6秒に設定し、鍵生成フェーズリフレッシュ停止時間を鍵生成フェーズの25℃の列、45℃の行に示される2.2秒(反転ビット数25)と設定する。一般に、これをリフレッシュ停止時間に反映させると次のようになる。
初期設定フェーズのステップ420-440のテスト処理で得られた反転ビット数nに対してリフレッシュ停止時間テーブルの隣接するテスト処理反転ビット数n1, n2をn1 < n < n2となるように選択する。また、鍵生成フェーズのステップ520-540のテスト処理で得られた反転ビット数n’に対してリフレッシュ停止時間テーブルの隣接するテスト処理反転ビット数n1’, n2’をn1’ < n’ < n2’となるように選択する。T(n1’, n1)を前述の2つのテスト処理(初期設定フェーズにおけるテスト処理と鍵生成フェーズにおけるテスト処理)の反転ビット数n1, n1’に対応する鍵生成フェーズのリフレッシュ処理停止時間を表すとする。T(n1’, n2), T(n2’, n1), T(n2’, n2)も同様に表すとする。このとき二次元的な線形補間を用いるとリフレッシュ停止時間Jは[式2]で求められる。
[式2]
J1’ = (n2 - n)/(n2 - n1) * T(n1’, n1)
+ (n - n1)/(n2 - n1) * T(n1’, n2),
J2’ = (n2 - n)/(n2 - n1) * T(n2’, n1)
+ (n - n1)/(n2 - n1) * T(n2’, n2),
J = (n2’- n’)/(n2’- n1’) * J1’
+ (n’- n1’)/(n2’- n1’) * J2’
例えば、図6で初期設定フェーズn = 100 (n1 = 25, n2 = 500), 鍵生成フェーズn’ = 300 (n1’= 25, n2’= 500)の場合は、J1’= 6.3, J2’= 2.16、 従って、 J = 3.9 (秒)となる。鍵生成フェーズ全体でのリフレッシュ処理停止時間はテスト処理の5秒を合わせて8.9秒と評価される。
なお、上記のデバイス固有情報生成装置は、ハードウェア、ソフトウェア又はこれらの組合わせにより実現することができる。また、上記のデバイス固有情報生成装置により行なわれるデバイス固有情報生成方法も、ハードウェア、ソフトウェア又はこれらに組合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non−transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
デバイスの固有情報を生成するデバイス固有情報生成装置であって、
テスト時間だけリフレッシュを停止するテスト処理を行ない、該テスト処理により生じた反転ビットの数であるテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である想定反転ビット数に対応したリフレッシュの停止の時間を決定するリフレッシュ停止時間決定手段と、
前記決定したリフレッシュの停止時間を適用したリフレッシュ停止により得られる反転ビットに関する情報に基づいて前記固有情報を生成する固有情報生成手段と、
を備えることを特徴とするデバイス固有情報生成装置。
(付記2)
付記1に記載のデバイス固有情報生成装置であって、
前記テスト処理反転ビット数と、リフレッシュの停止の時間との対応関係を保持したテーブルを更に備え、
前記リフレッシュ停止時間決定手段は、前記テスト処理反転ビット数と、前記テーブルとを基に、前記リフレッシュの停止の時間を決定することを特徴とするデバイス固有情報生成装置。
(付記3)
付記2に記載のデバイス固有情報生成装置であって、
前記テーブルでの対応関係に係る前記テスト処理反転ビット数は、前記テスト処理実行時の温度と前記テスト時間とに対応したものであり、
前記テーブルでの対応関係に係る前記リフレッシュの停止の時間は、前記テスト処理実行時の温度と前記想定反転ビット数とに対応したものであることを特徴とするデバイス固有情報生成装置。
(付記4)
付記1に記載のデバイス固有情報生成装置であって、
前記固有情報生成手段は、前記固有情報を、初期設定フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報と、鍵生成フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報とに基づいて生成し、
前記リフレッシュ停止時間決定手段は、
前記初期設定フェーズにおいてテスト時間だけリフレッシュを停止する初期設定フェーズテスト処理を行ない、該初期設定フェーズテスト処理により生じた反転ビットの数である初期設定フェーズテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である初期設定フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定する初期設定フェーズリフレッシュ停止時間決定手段と、
前記鍵生成フェーズにおいてテスト時間だけリフレッシュを停止する鍵生成フェーズテスト処理を行ない、該鍵生成フェーズテスト処理により生じた反転ビットの数である鍵設定フェーズテスト処理反転ビット数と、前記初期設定フェーズテスト処理反転ビット数とに基づいて、前記固有情報を生成するために必要な反転ビット数である鍵生成フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定する鍵生成フェーズリフレッシュ停止時間決定手段と、
を備えることを特徴とするデバイス固有情報生成装置。
(付記5)
付記4に記載のデバイス固有情報生成装置であって、
前記初期設定フェーズテスト処理反転ビット数と、リフレッシュの停止の時間との対応関係を保持した第1のテーブルと、
前記初期設定フェーズテスト処理反転ビット数と前記鍵設定フェーズテスト処理反転ビット数との組合わせと、リフレッシュの停止の時間との対応関係を保持した第2のテーブルと、
を更に備え、
前記初期設定フェーズリフレッシュ停止時間決定手段は、前記初期設定フェーズテスト処理反転ビット数と、前記第1のテーブルとを基に、前記初期設定フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定し、
前記鍵生成フェーズリフレッシュ停止時間決定手段は、前記初期設定フェーズテスト処理反転ビット数と、前記鍵生成フェーズテスト処理反転ビット数と、前記第2テーブルとを基に、前記鍵生成フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定することを特徴とするデバイス固有情報生成装置。
(付記6)
付記5に記載のデバイス固有情報生成装置であって、
前記第1のテーブルでの対応関係に係る前記初期設定フェーズテスト処理反転ビット数は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記テスト時間とに対応したものであり、
前記第1のテーブルでの対応関係に係るリフレッシュの停止の時間は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記初期設定フェーズ想定反転ビット数とに対応したものであり、
前記第2のテーブルでの対応関係に係る前記鍵設定フェーズテスト処理反転ビット数は、前記鍵設定フェーズにおける前記テスト処理実行時の温度と前記テスト時間に対応したものであり、
前記第2のテーブルにおける対応関係に係るリフレッシュの停止の時間は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記鍵生成フェーズにおける前記テスト処理実行時の温度と前記鍵生成フェーズ想定反転ビット数とに対応したものであることを特徴とするデバイス固有情報生成装置。
(付記7)
付記4乃至6の何れか1に記載のデバイス固有情報生成装置であって、
前記固有情報生成手段は、
前記初期設定フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報に基づいて、前記固有情報に対する誤り訂正符号の冗長データを生成する手段と、
前記鍵生成フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報と前記冗長データに基づいて、前記固有情報を生成する手段と、
を備えることを特徴とするデバイス固有情報生成装置。
(付記8)
付記7に記載のデバイス固有情報生成装置であって、
前記初期設定フェーズテスト処理反転ビット数に応じて、前記誤り訂正符号の冗長度を変化させる手段を更に備えることを特徴とするデバイス固有情報生成装置。
(付記9)
付記4乃至8の何れか1に記載のデバイス固有情報生成装置であって、
前記鍵生成フェーズテスト処理により生じた反転ビットの数が所定数以下である場合には、前記初期設定フェーズリフレッシュ停止時間を短くして、前記初期設定フェーズからやり直す手段を更に備えることを特徴とするデバイス固有情報生成装置。
(付記10)
付記1乃至9の何れか1に記載のデバイス固有情報生成装置であって、
前記決定されたリフレッシュ停止時間を適用したリフレッシュ停止により得られた反転ビット数に基づいて、前記想定反転ビット数に対応するリフレッシュ停止時間を修正する手段を更に備えることを特徴とするデバイス固有情報生成装置。
(付記11)
デバイスの固有情報を生成するデバイス固有情報生成方法であって、
テスト時間だけリフレッシュを停止するテスト処理を行ない、該テスト処理により生じた反転ビットの数であるテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である想定反転ビット数に対応したリフレッシュの停止の時間を決定するリフレッシュ停止時間決定ステップと、
前記決定したリフレッシュの停止時間を適用したリフレッシュ停止により得られる反転ビットに関する情報に基づいて前記固有情報を生成する固有情報生成ステップと、
を有することを特徴とするデバイス固有情報生成方法。
(付記12)
付記11に記載のデバイス固有情報生成方法であって、
前記テスト処理反転ビット数と、リフレッシュの停止の時間との対応関係を保持したテーブルを更に有し、
前記リフレッシュ停止時間決定ステップは、前記テスト処理反転ビット数と、前記テーブルとを基に、前記リフレッシュの停止の時間を決定することを特徴とするデバイス固有情報生成方法。
(付記13)
付記12に記載のデバイス固有情報生成方法であって、
前記テーブルでの対応関係に係る前記テスト処理反転ビット数は、前記テスト処理実行時の温度と前記テスト時間とに対応したものであり、
前記テーブルでの対応関係に係る前記リフレッシュの停止の時間は、前記テスト処理実行時の温度と前記想定反転ビット数とに対応したものであることを特徴とするデバイス固有情報生成方法。
(付記14)
付記11に記載のデバイス固有情報生成方法であって、
前記固有情報生成ステップでは、前記固有情報を、初期設定フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報と、鍵生成フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報とに基づいて生成し、
前記リフレッシュ停止時間決定ステップは、
前記初期設定フェーズにおいてテスト時間だけリフレッシュを停止する初期設定フェーズテスト処理を行ない、該初期設定フェーズテスト処理により生じた反転ビットの数である初期設定フェーズテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である初期設定フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定する初期設定フェーズリフレッシュ停止時間決定ステップと、
前記鍵生成フェーズにおいてテスト時間だけリフレッシュを停止する鍵生成フェーズテスト処理を行ない、該鍵生成フェーズテスト処理により生じた反転ビットの数である鍵設定フェーズテスト処理反転ビット数と、前記初期設定フェーズテスト処理反転ビット数とに基づいて、前記固有情報を生成するために必要な反転ビット数である鍵生成フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定する鍵生成フェーズリフレッシュ停止時間決定ステップと、
を有することを特徴とするデバイス固有情報生成方法。
(付記15)
付記14に記載のデバイス固有情報生成方法であって、
前記初期設定フェーズテスト処理反転ビット数と、リフレッシュの停止の時間との対応関係を保持した第1のテーブルと、
前記初期設定フェーズテスト処理反転ビット数と前記鍵設定フェーズテスト処理反転ビット数との組合わせと、リフレッシュの停止の時間との対応関係を保持した第2のテーブルと、
を用い、
前記初期設定フェーズリフレッシュ停止時間決定ステップでは、前記初期設定フェーズテスト処理反転ビット数と、前記第1のテーブルとを基に、前記初期設定フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定し、
前記鍵生成フェーズリフレッシュ停止時間決定ステップでは、前記初期設定フェーズテスト処理反転ビット数と、前記鍵生成フェーズテスト処理反転ビット数と、前記第2テーブルとを基に、前記鍵生成フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定することを特徴とするデバイス固有情報生成方法。
(付記16)
付記15に記載のデバイス固有情報生成方法であって、
前記第1のテーブルでの対応関係に係る前記初期設定フェーズテスト処理反転ビット数は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記テスト時間とに対応したものであり、
前記第1のテーブルでの対応関係に係るリフレッシュの停止の時間は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記初期設定フェーズ想定反転ビット数とに対応したものであり、
前記第2のテーブルでの対応関係に係る前記鍵設定フェーズテスト処理反転ビット数は、前記鍵設定フェーズにおける前記テスト処理実行時の温度と前記テスト時間に対応したものであり、
前記第2のテーブルにおける対応関係に係るリフレッシュの停止の時間は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記鍵生成フェーズにおける前記テスト処理実行時の温度と前記鍵生成フェーズ想定反転ビット数とに対応したものであることを特徴とするデバイス固有情報生成方法。
(付記17)
付記14乃至16の何れか1に記載のデバイス固有情報生成方法であって、
前記固有情報生成ステップは、
前記初期設定フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報に基づいて、前記固有情報に対する誤り訂正符号の冗長データを生成するステップと、
前記鍵生成フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報と前記冗長データに基づいて、前記固有情報を生成するステップと、
を有することを特徴とするデバイス固有情報生成方法。
(付記18)
付記17に記載のデバイス固有情報生成方法であって、
前記初期設定フェーズテスト処理反転ビット数に応じて、前記誤り訂正符号の冗長度を変化させるステップを更に有することを特徴とするデバイス固有情報生成方法。
(付記19)
付記14乃至18の何れか1に記載のデバイス固有情報生成方法であって、
前記鍵生成フェーズテスト処理により生じた反転ビットの数が所定数以下である場合には、前記初期設定フェーズリフレッシュ停止時間を短くして、前記初期設定フェーズからやり直すステップを更に有することを特徴とするデバイス固有情報生成方法。
(付記20)
付記11乃至19の何れか1に記載のデバイス固有情報生成方法であって、
前記決定されたリフレッシュ停止時間を適用したリフレッシュ停止により得られた反転ビット数に基づいて、前記想定反転ビット数に対応するリフレッシュ停止時間を修正するステップを更に有することを特徴とするデバイス固有情報生成方法。
(付記21)
コンピュータを、デバイスの固有情報を生成するデバイス固有情報生成装置として機能させるためのデバイス固有情報生成用プログラムであって、
コンピュータを、
テスト時間だけリフレッシュを停止するテスト処理を行ない、該テスト処理により生じた反転ビットの数であるテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である想定反転ビット数に対応したリフレッシュの停止の時間を決定するリフレッシュ停止時間決定手段と、
前記決定したリフレッシュの停止時間を適用したリフレッシュ停止により得られる反転ビットに関する情報に基づいて前記固有情報を生成する固有情報生成手段と、
として機能させるためのデバイス固有情報生成用プログラム。
(付記22)
付記21に記載のデバイス固有情報生成用プログラムであって、
コンピュータを、更に、前記テスト処理反転ビット数と、リフレッシュの停止の時間との対応関係を保持したテーブルとして機能させ、
前記リフレッシュ停止時間決定手段は、前記テスト処理反転ビット数と、前記テーブルとを基に、前記リフレッシュの停止の時間を決定することを特徴とするデバイス固有情報生成用プログラム。
(付記23)
付記22に記載のデバイス固有情報生成用プログラムであって、
前記テーブルでの対応関係に係る前記テスト処理反転ビット数は、前記テスト処理実行時の温度と前記テスト時間とに対応したものであり、
前記テーブルでの対応関係に係る前記リフレッシュの停止の時間は、前記テスト処理実行時の温度と前記想定反転ビット数とに対応したものであることを特徴とするデバイス固有情報生成用プログラム。
(付記24)
付記21に記載のデバイス固有情報生成用プログラムであって、
前記固有情報生成手段は、前記固有情報を、初期設定フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報と、鍵生成フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報とに基づいて生成し、
前記リフレッシュ停止時間決定手段は、
前記初期設定フェーズにおいてテスト時間だけリフレッシュを停止する初期設定フェーズテスト処理を行ない、該初期設定フェーズテスト処理により生じた反転ビットの数である初期設定フェーズテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である初期設定フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定する初期設定フェーズリフレッシュ停止時間決定手段と、
前記鍵生成フェーズにおいてテスト時間だけリフレッシュを停止する鍵生成フェーズテスト処理を行ない、該鍵生成フェーズテスト処理により生じた反転ビットの数である鍵設定フェーズテスト処理反転ビット数と、前記初期設定フェーズテスト処理反転ビット数とに基づいて、前記固有情報を生成するために必要な反転ビット数である鍵生成フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定する鍵生成フェーズリフレッシュ停止時間決定手段と、
を備えることを特徴とするデバイス固有情報生成用プログラム。
(付記25)
付記24に記載のデバイス固有情報生成用プログラムであって、
コンピュータを、更に、
前記初期設定フェーズテスト処理反転ビット数と、リフレッシュの停止の時間との対応関係を保持した第1のテーブルと、
前記初期設定フェーズテスト処理反転ビット数と前記鍵設定フェーズテスト処理反転ビット数との組合わせと、リフレッシュの停止の時間との対応関係を保持した第2のテーブルと、
として機能させ、
前記初期設定フェーズリフレッシュ停止時間決定手段は、前記初期設定フェーズテスト処理反転ビット数と、前記第1のテーブルとを基に、前記初期設定フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定し、
前記鍵生成フェーズリフレッシュ停止時間決定手段は、前記初期設定フェーズテスト処理反転ビット数と、前記鍵生成フェーズテスト処理反転ビット数と、前記第2テーブルとを基に、前記鍵生成フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定することを特徴とするデバイス固有情報生成用プログラム。
(付記26)
付記25に記載のデバイス固有情報生成用プログラムであって、
前記第1のテーブルでの対応関係に係る前記初期設定フェーズテスト処理反転ビット数は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記テスト時間とに対応したものであり、
前記第1のテーブルでの対応関係に係るリフレッシュの停止の時間は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記初期設定フェーズ想定反転ビット数とに対応したものであり、
前記第2のテーブルでの対応関係に係る前記鍵設定フェーズテスト処理反転ビット数は、前記鍵設定フェーズにおける前記テスト処理実行時の温度と前記テスト時間に対応したものであり、
前記第2のテーブルにおける対応関係に係るリフレッシュの停止の時間は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記鍵生成フェーズにおける前記テスト処理実行時の温度と前記鍵生成フェーズ想定反転ビット数とに対応したものであることを特徴とするデバイス固有情報生成用プログラム。
(付記27)
付記24乃至26の何れか1に記載のデバイス固有情報生成用プログラムであって、
前記固有情報生成手段は、
前記初期設定フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報に基づいて、前記固有情報に対する誤り訂正符号の冗長データを生成する手段と、
前記鍵生成フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報と前記冗長データに基づいて、前記固有情報を生成する手段と、
を備えることを特徴とするデバイス固有情報生成用プログラム。
(付記28)
付記27に記載のデバイス固有情報生成用プログラムであって、
コンピュータを、更に、前記初期設定フェーズテスト処理反転ビット数に応じて、前記誤り訂正符号の冗長度を変化させる手段として機能させるためのデバイス固有情報生成用プログラム。
(付記29)
付記24乃至28の何れか1に記載のデバイス固有情報生成用プログラムであって、
コンピュータを、更に、前記鍵生成フェーズテスト処理により生じた反転ビットの数が所定数以下である場合には、前記初期設定フェーズリフレッシュ停止時間を短くして、前記初期設定フェーズからやり直す手段として機能させるためのデバイス固有情報生成用プログラム。
(付記30)
付記21乃至29の何れか1に記載のデバイス固有情報生成用プログラムであって、
コンピュータを、更に、前記決定されたリフレッシュ停止時間を適用したリフレッシュ停止により得られた反転ビット数に基づいて、前記想定反転ビット数に対応するリフレッシュ停止時間を修正する手段として機能させるためのデバイス固有情報生成用プログラム。
本発明は機器認証に利用することができる。
100 認証部
110 固有情報生成部
120, 200 デバイス物理情報生成部
130, 250 物理情報マッピング部
140 インターフェース
150 端末機器
160 サーバ
210 DRAMデバイス
220 R/Wコントローラ
230 リフレッシュ制御部
240 リフレッシュ停止時間テーブル
420−490 初期設定フェーズの工程
520−590 鍵生成フェーズの工程

Claims (9)

  1. デバイスの固有情報を生成するデバイス固有情報生成装置であって、
    テスト時間だけリフレッシュを停止するテスト処理を行ない、該テスト処理により生じた反転ビットの数であるテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である想定反転ビット数に対応したリフレッシュの停止の時間を決定するリフレッシュ停止時間決定手段と、
    前記決定したリフレッシュの停止時間を適用したリフレッシュ停止により得られる反転ビットに関する情報に基づいて前記固有情報を生成する固有情報生成手段と、
    を備えることを特徴とするデバイス固有情報生成装置。
  2. 請求項1に記載のデバイス固有情報生成装置であって、
    前記テスト処理反転ビット数と、リフレッシュの停止の時間との対応関係を保持したテーブルを更に備え、
    前記リフレッシュ停止時間決定手段は、前記テスト処理反転ビット数と、前記テーブルとを基に、前記リフレッシュの停止の時間を決定することを特徴とするデバイス固有情報生成装置。
  3. 請求項2に記載のデバイス固有情報生成装置であって、
    前記テーブルでの対応関係に係る前記テスト処理反転ビット数は、前記テスト処理実行時の温度と前記テスト時間とに対応したものであり、
    前記テーブルでの対応関係に係る前記リフレッシュの停止の時間は、前記テスト処理実行時の温度と前記想定反転ビット数とに対応したものであることを特徴とするデバイス固有情報生成装置。
  4. 請求項1に記載のデバイス固有情報生成装置であって、
    前記固有情報生成手段は、前記固有情報を、初期設定フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報と、鍵生成フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報とに基づいて生成し、
    前記リフレッシュ停止時間決定手段は、
    前記初期設定フェーズにおいてテスト時間だけリフレッシュを停止する初期設定フェーズテスト処理を行ない、該初期設定フェーズテスト処理により生じた反転ビットの数である初期設定フェーズテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である初期設定フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定する初期設定フェーズリフレッシュ停止時間決定手段と、
    前記鍵生成フェーズにおいてテスト時間だけリフレッシュを停止する鍵生成フェーズテスト処理を行ない、該鍵生成フェーズテスト処理により生じた反転ビットの数である鍵設定フェーズテスト処理反転ビット数と、前記初期設定フェーズテスト処理反転ビット数とに基づいて、前記固有情報を生成するために必要な反転ビット数である鍵生成フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定する鍵生成フェーズリフレッシュ停止時間決定手段と、
    を備えることを特徴とするデバイス固有情報生成装置。
  5. 請求項4に記載のデバイス固有情報生成装置であって、
    前記初期設定フェーズテスト処理反転ビット数と、リフレッシュの停止の時間との対応関係を保持した第1のテーブルと、
    前記初期設定フェーズテスト処理反転ビット数と前記鍵設定フェーズテスト処理反転ビット数との組合わせと、リフレッシュの停止の時間との対応関係を保持した第2のテーブルと、
    を更に備え、
    前記初期設定フェーズリフレッシュ停止時間決定手段は、前記初期設定フェーズテスト処理反転ビット数と、前記第1のテーブルとを基に、前記初期設定フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定し、
    前記鍵生成フェーズリフレッシュ停止時間決定手段は、前記初期設定フェーズテスト処理反転ビット数と、前記鍵生成フェーズテスト処理反転ビット数と、前記第2テーブルとを基に、前記鍵生成フェーズ想定反転ビット数に対応したリフレッシュの停止の時間を決定することを特徴とするデバイス固有情報生成装置。
  6. 請求項5に記載のデバイス固有情報生成装置であって、
    前記第1のテーブルでの対応関係に係る前記初期設定フェーズテスト処理反転ビット数は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記テスト時間とに対応したものであり、
    前記第1のテーブルでの対応関係に係るリフレッシュの停止の時間は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記初期設定フェーズ想定反転ビット数とに対応したものであり、
    前記第2のテーブルでの対応関係に係る前記鍵設定フェーズテスト処理反転ビット数は、前記鍵設定フェーズにおける前記テスト処理実行時の温度と前記テスト時間に対応したものであり、
    前記第2のテーブルにおける対応関係に係るリフレッシュの停止の時間は、前記初期設定フェーズにおける前記テスト処理実行時の温度と前記鍵生成フェーズにおける前記テスト処理実行時の温度と前記鍵生成フェーズ想定反転ビット数とに対応したものであることを特徴とするデバイス固有情報生成装置。
  7. 請求項4乃至6の何れか1に記載のデバイス固有情報生成装置であって、
    前記固有情報生成手段は、
    前記初期設定フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報に基づいて、前記固有情報に対する誤り訂正符号の冗長データを生成する手段と、
    前記鍵生成フェーズにおけるリフレッシュの停止により得られる反転ビットに関する情報と前記冗長データに基づいて、前記固有情報を生成する手段と、
    を備えることを特徴とするデバイス固有情報生成装置。
  8. デバイスの固有情報を生成するデバイス固有情報生成方法であって、
    テスト時間だけリフレッシュを停止するテスト処理を行ない、該テスト処理により生じた反転ビットの数であるテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である想定反転ビット数に対応したリフレッシュの停止の時間を決定するリフレッシュ停止時間決定ステップと、
    前記決定したリフレッシュの停止時間を適用したリフレッシュ停止により得られる反転ビットに関する情報に基づいて前記固有情報を生成する固有情報生成ステップと、
    を有することを特徴とするデバイス固有情報生成方法。
  9. コンピュータを、デバイスの固有情報を生成するデバイス固有情報生成装置として機能させるためのデバイス固有情報生成用プログラムであって、
    コンピュータを、
    テスト時間だけリフレッシュを停止するテスト処理を行ない、該テスト処理により生じた反転ビットの数であるテスト処理反転ビット数に基づいて、前記固有情報を生成するために必要な反転ビット数である想定反転ビット数に対応したリフレッシュの停止の時間を決定するリフレッシュ停止時間決定手段と、
    前記決定したリフレッシュの停止時間を適用したリフレッシュ停止により得られる反転ビットに関する情報に基づいて前記固有情報を生成する固有情報生成手段と、
    として機能させるためのデバイス固有情報生成用プログラム。
JP2012049276A 2012-03-06 2012-03-06 デバイス固有情報生成装置及びデバイス固有情報生成方法 Active JP5906821B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012049276A JP5906821B2 (ja) 2012-03-06 2012-03-06 デバイス固有情報生成装置及びデバイス固有情報生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012049276A JP5906821B2 (ja) 2012-03-06 2012-03-06 デバイス固有情報生成装置及びデバイス固有情報生成方法

Publications (2)

Publication Number Publication Date
JP2013186911A JP2013186911A (ja) 2013-09-19
JP5906821B2 true JP5906821B2 (ja) 2016-04-20

Family

ID=49388209

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012049276A Active JP5906821B2 (ja) 2012-03-06 2012-03-06 デバイス固有情報生成装置及びデバイス固有情報生成方法

Country Status (1)

Country Link
JP (1) JP5906821B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9653161B2 (en) * 2014-11-21 2017-05-16 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device comprising an arithmetic circuit that, in operation, calculates a binary reference value based on at least a part of the pieces of resistance value information, a read circuit that, in operation, selectively assigns, based on the binary reference value, one of two values to each of the pieces of resistance value information, and a write circuit that, in operation, performs a write operation corresponding to one of the two values among memory cells

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3931497B2 (ja) * 1999-08-11 2007-06-13 株式会社日立製作所 情報転送システム
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
CN101421792B (zh) * 2006-04-13 2015-09-23 Nxp股份有限公司 半导体器件标识符产生方法以及半导体器件
WO2010055171A1 (en) * 2008-11-17 2010-05-20 Intrinsic-Id B.V. Distributed puf
JP5474705B2 (ja) * 2010-08-23 2014-04-16 ルネサスエレクトロニクス株式会社 半導体装置
JP5499365B2 (ja) * 2010-09-29 2014-05-21 国立大学法人神戸大学 メモリセルアレイを用いたidチップおよびその生成方法
JP5979144B2 (ja) * 2011-06-27 2016-08-24 日本電気株式会社 機器固有情報生成装置と機器固有情報生成方法、端末機器および認証システム
WO2013080921A1 (ja) * 2011-12-01 2013-06-06 日本電気株式会社 デバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラム

Also Published As

Publication number Publication date
JP2013186911A (ja) 2013-09-19

Similar Documents

Publication Publication Date Title
JP6587188B2 (ja) 乱数処理装置、集積回路カード、および乱数処理方法
JP6617924B2 (ja) 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法
JP6474056B2 (ja) 耐タンパ性を有する不揮発性メモリ装置、集積回路カード、不揮発性メモリ装置の認証方法、不揮発性メモリ装置を用いた暗号化方法および復号化方法
TWI673721B (zh) 具有物理不可複製功能及隨機數產生器的電路及其操作方法
US10742406B2 (en) Key generation and secure storage in a noisy environment
US9093128B2 (en) Electronic device with a plurality of memory cells and with physically unclonable function
KR101575810B1 (ko) 물리적 복제 방지 기능을 갖는 플래시 메모리 장치 및 그 구현 방법
US9542157B2 (en) Random number generator and method for generating random numbers
JP2016105278A (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
JP6793044B2 (ja) 不揮発性メモリ装置
JP2018050103A (ja) 半導体装置およびセキュリティシステム
TW201239891A (en) Test system and test method for memory
JP5906821B2 (ja) デバイス固有情報生成装置及びデバイス固有情報生成方法
US9182943B2 (en) Methods and devices for prime number generation
US11195582B2 (en) Non-volatile memory device and method of writing to non-volatile memory device
JP5979144B2 (ja) 機器固有情報生成装置と機器固有情報生成方法、端末機器および認証システム
JP6007918B2 (ja) デバイス固有情報生成出力装置、デバイス固有情報生成方法および生成プログラム
TW201901442A (zh) 電子系統及其操作方法
Oh et al. Implementation and characterization of flash‐based hardware security primitives for cryptographic key generation
EP3811220A1 (en) Generating a target data based on a function associated with a physical variation of a device
Müelich et al. Channel models for physical unclonable functions based on DRAM retention measurements
US11601267B2 (en) Key generator with resistive memory and method thereof
Xiong Hardware Security in DRAMs and Processor Caches

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160223

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160307

R150 Certificate of patent or registration of utility model

Ref document number: 5906821

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150