JP6129654B2 - 認証装置、認証方法およびプログラム - Google Patents

認証装置、認証方法およびプログラム Download PDF

Info

Publication number
JP6129654B2
JP6129654B2 JP2013124513A JP2013124513A JP6129654B2 JP 6129654 B2 JP6129654 B2 JP 6129654B2 JP 2013124513 A JP2013124513 A JP 2013124513A JP 2013124513 A JP2013124513 A JP 2013124513A JP 6129654 B2 JP6129654 B2 JP 6129654B2
Authority
JP
Japan
Prior art keywords
authentication
performance information
information
unit
indicating
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
JP2013124513A
Other languages
English (en)
Other versions
JP2015001761A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013124513A priority Critical patent/JP6129654B2/ja
Priority to US14/190,463 priority patent/US9460316B2/en
Publication of JP2015001761A publication Critical patent/JP2015001761A/ja
Application granted granted Critical
Publication of JP6129654B2 publication Critical patent/JP6129654B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/161Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect details concerning the memory cell structure, e.g. the layers of the ferromagnetic memory cell
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明の実施形態は、認証装置、認証方法およびプログラムに関する。
例えばキャッシュカード、クレジットカード、交通手段(電車やバスなど)の乗車券などに利用されるICカードにおいては、ICカードの使用者を特定するID特定機能が重要で、ICカードの利用の拡大に伴い、そのセキュリティの強化が重要となっている。近年では、従来は個人的なデータを保存するためだけに用いられてきたメモリーカードにもID特定機能が搭載されつつあり、携帯型デバイスのID特定機能の高度化が技術的な課題となっている。
その中で、個々のデバイスの特性のばらつきを「チップ指紋」として利用する研究開発が進められている。これらはPUF(Physically Unclonable Function)として知られている。例えば、半導体基板の所定の領域内における結晶欠陥の分布を、その半導体基板自体を識別するためのIDとして利用する技術が知られている。
特開2000−235636号公報
しかしながら、工場出荷時の結晶欠陥の分布をIDとして利用する従来技術においては、その結晶欠陥の分布が不変であると仮定されているが、周知のように半導体チップは利用の過程で、多くの経年劣化が見られるため、半導体チップの結晶欠陥の分布は、工場出荷時の状態から変化することが多い。このため、従来技術では、デバイスの使用時間(使用回数)が増え、欠陥が増えるにつれて、IDの特定が困難になり、認証の精度が低くなるという問題がある。
本発明が解決しようとする課題は、デバイスの使用状況に関わらず、精度の高い認証を行うことが可能な認証装置、認証方法およびプログラムを提供することである。
実施形態の認証装置は、取得部と予測部と認証部とを備える。取得部は、第1デバイスの性能情報を取得する。予測部は、第2デバイスの、初期の性能情報からの経時的変化に応じた性能情報を予測する。認証部は、取得部により取得された性能情報と、予測部により予測された性能情報との一致度に応じて、第1デバイスが第2デバイスであるか否かを判断する認証処理を行う。
実施形態の認証方法は、取得ステップと予測ステップと認証ステップとを含む。取得ステップは、第1デバイスの性能情報を取得する。予測ステップは、第2デバイスの、初期の性能情報からの経時的変化に応じた性能情報を予測する。認証ステップは、取得ステップにより取得された性能情報と、予測ステップにより予測された性能情報との一致度に応じて、第1デバイスが第2デバイスであるか否かを判断する認証処理を行う。
実施形態のプログラムは、コンピュータに、取得ステップと予測ステップと認証ステップとを実行させるためのプログラムである。取得ステップは、第1デバイスの性能情報を取得する。予測ステップは、第2デバイスの、初期の性能情報からの経時的変化に応じた性能情報を予測する。認証ステップは、取得ステップにより取得された性能情報と、予測ステップにより予測された性能情報との一致度に応じて、第1デバイスが第2デバイスであるか否かを判断する認証処理を行う。
実施形態の欠陥メモリセルが使用回数に応じて増えていく様子を示す図。 実施形態の欠陥メモリセルの数と使用回数との関係を示す図。 実施形態の各デバイスの欠陥メモリセルの増加の仕方を示す図。 第1実施形態の認証システムの構成例を示す図。 第1実施形態のサーバ装置の機能構成例を示す図。 第1実施形態のサーバ装置の動作例を示すフローチャート。 第2実施形態の乱数生成回路の概略構成例を示す図。 第2実施形態の乱数生成回路の具体的な構成例を示す図。 第2実施形態のリングオシレータの構成例を示す図。 第2実施形態の変形例に係る乱数生成回路の具体的な構成例を示す図。 第3実施形態のMTJ素子の構造例を示す図。 第3実施形態のMTJ素子を流れる電流の変化を模式的に示す図。
以下、添付図面を参照しながら、本発明に係る認証装置、認証方法およびプログラムの実施形態を詳細に説明する。
(第1実施形態)
本実施形態では、認証対象のデバイスは、NAND型フラッシュメモリを有する電子機器であり、例えばICカード、携帯電話、スマートフォン、タブレット型情報端末装置などで構成され得る。
図1は、NAND型フラッシュメモリのメモリセルアレイに含まれる欠陥メモリセルの数が、使用回数(書き換え回数)に応じて増えていく様子を示す図である。メモリセルアレイは、半導体基板上に、複数のメモリセルがマトリクス状に配列されて構成される。図1の例では、行方向(図1の左右方向)に延在する複数の直線と、列方向(図1の上下方向)に延在する複数の直線との各交点が、各メモリセルに対応している。また、図1においては、メモリセルアレイのうち後述の認証に利用される領域を認証用エリアと表記し、それ以外の領域をメモリ利用エリアと表記している。
図1の(a)は、初期(例えば工場出荷時)の欠陥メモリセルの分布を示す図である。図1の(b)は、使用回数(使用期間と捉えることもできる)が所定値に到達したときの欠陥メモリセルの分布を示す図である。図1の(a)および(b)から理解されるように、この例では、認証用エリアおよびメモリ利用エリアの各々において、欠陥メモリセルの数が5ずつ増えている。
図2は、正常なメモリセルの数(見方を変えれば欠陥メモリセルの数)と使用回数(書き換え回数)との関係を模式的に示す図である。図2から理解されるように、欠陥メモリセルの数は、使用回数に応じて増えていき、やがてはメモリとして利用できるものが無くなっていく。これは、例えば各種メモリが、10E5回程度の利用保証制限があることにも関連している。本実施形態では、この欠陥メモリセルの増加の仕方が、個々のメモリセット(メモリセルアレイ)ごとに異なることを利用して、メモリセットが搭載されたデバイスを認証することを特徴とする。図3は、3種類のデバイス(デバイスA、デバイスB、デバイスC)の各々の欠陥メモリセルの増加の仕方を模式的に表す図である。図3からも理解されるように、欠陥メモリセルの数と使用回数との関係を示す直線の傾きは、デバイスごとに異なっている(つまり、欠陥メモリセルの増加の仕方はデバイスごとに異なっている)。
図4は、本実施形態に係る認証システム10の構成例を示す図である。図4に示すように、認証システム10は、デバイス100と、リーダ装置20と、サーバ装置200とを備える。図4では、説明の便宜上、ひとつのデバイス100のみを図示しているが、これに限らず、認証システム10に含まれるデバイス100の数は任意である。この例では、デバイス100は、クレジットカードやキャッシュカードとして利用されるICカードであるが、これに限られるものではない。リーダ装置20は、デバイス100の認証に用いられる情報(ID情報)を、デバイス100から取得する(読み取る)装置である。この例では、リーダ装置20は、銀行などのATM(Automated Teller Machine)であるが、これに限られるものではない。サーバ装置200は、リーダ装置20と通信可能に接続され、デバイス100の認証を行う機能を有する。具体的な内容については後述する。
まず、デバイス100の具体的な内容を説明する。図4に示すように、デバイス100は、CPU101と、無線通信部102と、セキュリティ・認証回路103と、NAND型フラッシュメモリ104とを備え、これらはバス105を介して相互に接続される。CPU101は、デバイス100全体の動作を統括的に制御する。
無線通信部102は、リーダ装置20との無線通信に用いられる手段である。本実施形態では、デバイス100とリーダ装置20との間の無線通信は、近距離無線通信(Near Field Communication)であるが、これに限られるものではない。本実施形態では、無線通信部102は、コイルを含んで構成され、リーダ装置20は交流電流が供給されるコイルを含むアンテナを備える。そして、デバイス100を所持したユーザが、デバイス100をリーダ装置20に近接させた場合(例えばICカードをリーダ装置20にかざした場合)、電磁誘導により、無線通信部102に含まれるコイルに電流が発生する。このとき、リーダ装置20は、アンテナの負荷変動を検知することで、デバイス100の近接を検知し、サーバ装置200へ通知する。この通知を受けたサーバ装置200は、電波に変調をかけて、デバイス100を認証するのに用いるID情報(この例では、認証用エリア内の欠陥メモリセルの分布を示す情報)を要求するチャレンジ信号を、リーダ装置20を介してデバイス100へ送信する制御を行う。
セキュリティ・認証回路103は、無線通信部102に含まれるコイルに発生した電流を検出することで、リーダ装置20(サーバ装置200)から送信されたチャレンジ信号を検知することができる。セキュリティ・認証回路103は、リーダ装置20から送信されたチャレンジ信号を検知した場合、NAND型フラッシュメモリ104のメモリセルアレイのうちの認証用エリア内に存在する欠陥メモリセルを検出する処理を行い、認証用エリア内の欠陥メモリセルの分布を示す情報(以下、「欠陥パターン情報」と呼ぶ場合がある)を得る。例えばNAND型フラッシュメモリにおいては、使用回数(使用期間)が増加するにつれて、トンネル膜の膜中欠陥生成量が増加するとともに、SILC(Stress Induced Leakage Current)が増加するという現象が見られるので、このSILCの量を、欠陥メモリセルの判定に利用することができる。例えばメモリセルアレイを複数のブロック(領域)に分けて、ブロック毎の電荷量Qpやホール量Qhを測定し、その測定結果を、欠陥パターン情報(ID情報)とすることもできる。そして、セキュリティ・認証回路103は、チャレンジ信号に対する応答として、欠陥パターン情報をリーダ装置20へ送信する制御を行う。そして、リーダ装置20は、デバイス100からの欠陥パターン情報をサーバ装置200へ転送する。
次に、サーバ装置200の具体的な内容を説明する。図5は、サーバ装置200の機能構成例を示すブロック図である。この例では、サーバ装置200が請求項の「認証装置」に対応しているが、これに限られるものではない。図5に示すように、サーバ装置200は、取得部201と、記憶部202と、予測部203と、認証部204とを備える。
取得部201は、認証対象のデバイス100(請求項の「第1デバイス」に対応)の性能情報を取得する。本実施形態では、取得部201は、デバイス100の近接を検知したことを示す通知情報をリーダ装置20から受信した場合、欠陥パターン情報を要求するチャレンジ信号を、リーダ装置20を介してデバイス100へ送信する制御を行う。そして、デバイス100から、リーダ装置20を介して送信されてくる欠陥パターン情報を取得する。
記憶部202は、各種のデータを記憶する。より具体的には、記憶部202は、初期値(デフォルトの値)として、認証の元となるデバイス(例えばサーバ装置200に近接してきたデバイスが「デバイスA」であるか否かの認証を行う場合における「デバイスA」に相当、請求項の「第2デバイス」に対応)の初期の性能情報を記憶している。ここでは、性能情報とは、NAND型フラッシュメモリ104の状態を示す情報である。より具体的には、性能情報は、NAND型フラッシュメモリ104に含まれる欠陥メモリセルの分布を示す情報(欠陥パターン情報)である。本実施形態では、性能情報は、NAND型フラッシュメモリ104のメモリセルアレイのうちの認証用エリア内の欠陥メモリセルの分布を示す欠陥パターン情報であり、記憶部202は、認証の元となるデバイス(以下の説明では、説明の便宜上、「第2デバイス」と呼ぶ場合がある)の工場出荷時の欠陥パターン情報を、初期値として記憶している。
予測部203は、第2デバイス(認証の元となるデバイス)の、初期の性能情報からの経時的変化に応じた性能情報を予測する。本実施形態では、記憶部202には、認証エリア内の欠陥メモリセルの分布が、時間の経過とともにどのように変化するのかを推定するための実験データが格納されており、予測部203は、任意の期間が経過するたびに(例えば取得部201により欠陥パターン情報が取得されるたびに)、記憶部202に記憶された実験データを元に、その時点での欠陥パターン情報を予測し、予測した欠陥パターン情報を記憶部202に登録する。これにより、記憶部202に登録される欠陥パターン情報は、工場出荷時の欠陥パターン情報から順次に更新されていく。
なお、これに限らず、例えば予測部203は、認証対象のデバイス100の読み出し回数および書き込み回数(つまり、使用回数)に応じて、第2デバイスの欠陥パターン情報を予測する形態であってもよい。要するに、予測部203は、第2デバイスの、初期の性能情報からの経時的変化に応じた性能情報を予測するものであればよい。予測部203が、認証対象のデバイス100の使用回数に応じて、第2デバイスの欠陥パターン情報を予測する形態においては、取得部201は、デバイス100の近接を検知したことを示す通知情報をリーダ装置20から受信した場合、前述のチャレンジ信号とともに、使用回数を要求する信号をデバイス100に送信するようにリーダ装置20を制御する。そして、デバイス100から、リーダ装置20を介して、欠陥パターン情報と、デバイス100の使用回数を示す使用回数情報とを取得する。そして、予測部203は、取得部201により取得された使用回数情報と記憶部202に記憶された実験データを元に、第2デバイスの欠陥パターン情報を予測し、予測した欠陥パターン情報を記憶部202に登録することもできる。
認証部204は、取得部201により取得された性能情報と、予測部203により予測された性能情報との一致度に応じて、認証対象のデバイス100が、認証の元となるデバイス(第2デバイス)であるか否かを判断する認証処理を行う。本実施形態では、性能情報を示す欠陥パターン情報はビット列で表現されるので、認証部204は、取得部201により取得された欠陥パターン情報を示すビット列と、予測部203により予測された欠陥パターン情報(記憶部202に登録されている最新の欠陥パターン情報)を示すビット列とのハミング距離を計算し、計算したハミング距離を示す値が閾値以下の場合(つまり、一致度が所定値以上の場合)は、認証対象のデバイス100は第2デバイスであると判断する。
なお、本実施形態では、認証エリア内の欠陥メモリの分布を示す欠陥パターン情報を性能情報として採用しているが、これに限らず、例えばメモリ利用エリア内の欠陥メモリセルの分布を示す欠陥パターン情報を性能情報として採用することもできる。要するに、NAND型フラッシュメモリ104に含まれる欠陥メモリセルの分布を示す欠陥パターン情報を、性能情報として採用することができる。
また、例えばNAND型フラッシュメモリ104に含まれる欠陥の数を示す欠陥数情報(認証エリア内の欠陥メモリセルの数を示す情報でもよいし、メモリ利用エリア内の欠陥メモリセルの数を示す情報でもよい)を、性能情報として採用する形態であってもよいし、欠陥パターン情報と欠陥数情報の両方を性能情報として採用する形態であってもよい。例えば欠陥数情報を性能情報として採用する形態では、取得部201は、デバイス100の近接を検知したことを示す通知情報をリーダ装置20から受信した場合、前述のチャレンジ信号を、リーダ装置20を介してデバイス100に送信する制御を行う。デバイス100は、リーダ装置20(サーバ装置200)から送信されたチャレンジ信号を検知した場合、NAND型フラッシュメモリ104のメモリセルアレイのうちの認証用エリア内に存在する欠陥メモリセルを検出する処理を行い、認証用エリア内の欠陥メモリセルの数を示す欠陥数情報をリーダ装置20へ送信する。そして、リーダ装置20は、デバイス100から受信した欠陥数情報をサーバ装置200へ送信し、取得部201は、欠陥数情報を取得する。
記憶部202は、初期値として、第2デバイスの工場出荷時の欠陥数情報を記憶しており、予測部203は、第2デバイスの、工場出荷時の欠陥数情報からの経時的変化に応じた欠陥数情報を予測する。例えば記憶部202には、認証エリア内の欠陥メモリセル数の増加率を推定するための実験データや、予測部203により予測された欠陥数情報の履歴などが格納されており、予測部203は、任意の期間が経過するたびに(例えば取得部201により欠陥数情報が取得されるたびに)、記憶部202に記憶された実験データや欠陥数情報の予測結果の履歴などを元に、その時点での欠陥数情報を予測し、予測した欠陥数情報を記憶部202に登録することができる。例えば欠陥メモリセル数の増加率については、前回の予測値と前々回の予測値の二点を利用することが最も簡単であるが、過去の所定数の予測値を、例えば2次または高次の代数式で近似して、その各次数の係数を記憶しておくことにより、より正確に欠陥メモリセルの数を予測することができる。
そして、認証部204は、取得部201により取得された欠陥数情報が示す欠陥メモリセルの数と、予測部203により予測された欠陥数情報(記憶部202に登録されている最新の欠陥数情報)が示す欠陥メモリセルの数との差分を示す値が閾値以下の場合は、認証対象のデバイス100は第2デバイスであると判断する。
本実施形態では、サーバ装置200のハードウェア構成は、CPU、ROM、RAM等を備えるコンピュータ装置のハードウェア構成を利用している。そして、上述のサーバ装置200の各部(取得部201、予測部203、および、認証部204)の機能は、CPUがROM等に格納されたプログラムを読み出してRAM上に展開して実行することにより実現される。ただし、これに限らず、例えば上述のサーバ装置200の各部の機能のうちの少なくとも一部が、専用のハードウェア回路で実現されてもよい。また、上述の記憶部202は、ROM、RAM、あるいは、HDD等の補助記憶装置などで実現可能である。
図6は、本実施形態に係るサーバ装置200の動作例を示すフローチャートである。認証対象のデバイス100の近接を検知したことを示す通知情報をリーダ装置20から受信した場合、サーバ装置200(取得部201)は、欠陥パターン情報を要求するチャレンジ信号を、リーダ装置20を介して認証対象のデバイス100に送信する制御を行う(ステップS1)。そして、取得部201は、認証対象のデバイス100から、リーダ装置20を介して欠陥パターン情報を取得する(ステップS2)。次に、認証部204は、その時点で記憶部202に登録されている最新の欠陥パターン情報(予測部203により予測された第2デバイスの欠陥パターン情報)を読み出す(ステップS3)。そして、認証部204は、認証対象のデバイス100が、第2デバイス(認証の元となるデバイス)であるか否かを判断する認証処理を行い(ステップS4)、認証処理の結果を示すレスポンス信号を、リーダ装置20を介してデバイス100に送信する制御を行う(ステップS5)。より具体的には、認証部204は、ステップS1で取得した欠陥パターン情報を示すビット列と、ステップS3で読み出した欠陥パターン情報を示すビット列とのハミング距離を計算し、計算したハミング距離が閾値以下であるか否かを判断する。認証部204は、計算したハミング距離が閾値以下の場合は、認証対象のデバイス100は第2デバイスであると判断し、デバイス100を認証したことを示すレスポンス信号を、リーダ装置20を介してデバイス100に送信する制御を行う。一方、計算したハミング距離が閾値を越える場合は、認証対象のデバイス100は第2デバイスではないと判断し、デバイス100を認証できなかったことを示すレスポンス信号を、リーダ装置20を介してデバイス100に送信する制御を行う。
以上に説明したように、本実施形態では、認証の元となるデバイスを示す第2デバイスの、工場出荷時の欠陥パターン情報(性能情報の一例)からの経時的変化に応じた欠陥パターン情報を元に、認証対象のデバイス100の認証を行うので、デバイス100の使用状況に関わらず、高い精度でデバイス100の認証を行うことが可能になる。
(第2実施形態)
次に、第2実施形態について説明する。第2実施形態では、認証対象のデバイス(第1デバイス)は、複数のリングオシレータを含む乱数生成回路を有する電子機器であり、性能情報は、複数のリングオシレータごとの、当該リングオシレータにより生成される乱数の質を示す情報である点で上述の第1実施形態と相違する。なお、上述の第1実施形態と共通する部分については、適宜に説明を省略する。
リングオシレータなどを用いた乱数生成回路は、ICカードをはじめ、多くのNFCで用いられている。その利用環境は薄いパッケージの中に電子基板が入っているため、外部の環境の影響を受けやすいデバイスの一つである。特に定期券などと併用して利用する場合は、ほぼ毎日利用するため、劣化の程度も激しい。工場出荷時からの定期的なIDメインテナンスが必要である。
ここでは、図4に示すセキュリティ・認証回路103内に乱数生成回路が存在するので、乱数生成回路を有する電子機器としては、第1実施形態と同様にICカードを想定し、デバイス100と表記する。また、リーダ装置およびサーバ装置の基本的な構成は、第1実施形態と同様であるので、それぞれ第1実施形態と同様の表記(リーダ装置20、サーバ装置200)とする。図7は、第2実施形態に係る乱数生成回路300の構成例を示すブロック図である。乱数生成回路300は、通常の乱数生成回路として機能する乱数生成部310と、サーバ装置200からのチャレンジ信号に応じてID情報を生成するID情報生成部320とを含む。具体的な内容については後述する。
乱数生成回路300は、図8に示すように、複数のリングオシレータ1〜N(RING OSC1〜N)を含む。図8では、N(≧1)個のリングオシレータが並んでいる様子を示す。図9は、単体のリングオシレータの例を示す図である。図9の例では、原理を分かり易く示すため、奇数個(図9の例では5個)のインバータをリング状につないで発振させる構成例を挙げているが、これに限らず、XORやNAND回路を用いてリングオシレータを構成することもできる。
通常の乱数生成回路では、リングオシレータ間の乱数出力のばらつきを軽減するために図8に示すような平滑化回路を挿入した上で、各リングオシレータのデータにXOR(排他的論理和)の論理演算を施す工程を経る。図8の例では、平滑化回路は、XORゲート330と、フリップフロップ回路340とを含むが、これに限られるものではない。各リングオシレータは、リングオシレータを構成するトランジスタのプロセスばらつきにも依存すると同時に回路内においては最適自動配置配線などのため、リングオシレータの置かれた外部環境に依存して、それぞれのリングオシレータに特徴的な乱数を示す。理想的には、すべてのリングオシレータが0と1のバランスの取れた乱数を出力することが望ましいが、リングオシレータを構成するトランジスタの回路内の配置、トランジスタの閾値ずれなどにより、リングオシレータによっては、0と1とバランスの崩れたものが存在する。中には0か1に大きく偏った乱数しか発生させないものも存在する。
例えば、図8に示すリングオシレータ1(RING OSC1)およびリングオシレータ2(RING OSC2)は良質な乱数を生成するが、リングオシレータ3(RING OSC3)は0の生成確率が70%以上である、などのように、リングオシレータごとに特性が異なる。作成後、何年間か放置した後、乱数特性を計測したところ、0と1のバランスの崩れ方が全く同じだったものも存在した。各リングオシレータから出力されるデータに対しては、XORの論理演算が施されるため、最終的には良質な乱数が出力されるが、個々のリングオシレータをみると、0と1のバランスが固定される。
本実施形態では、乱数生成回路300に含まれる複数のリングオシレータごとの、当該リングオシレータにより生成される乱数の質の経時的変化が、リングオシレータのセット(組)ごとに異なることを利用して、リングオシレータのセットが搭載されたデバイスを認証することを特徴とする。認証に用いられるID情報を生成するID情報生成部320は、各リングオシレータから出力される乱数列のデータを検定回路に掛け、複数のリングオシレータ(リングオシレータ列)の何番目のリングオシレータから出力されるデータ(乱数列のデータ)がどのような検定結果を示すのかを表す情報(つまり、複数のリングオシレータごとの、当該リングオシレータにより生成される乱数の質を示す情報)をID情報として生成する。図8の例では、「a」で示されるように、各リングオシレータの出力を分岐させて入手できる回路構成とし、各リングオシレータから出力される乱数列のデータを、検定回路322で検定した結果を示す情報を、ID情報として生成する。
ID情報の生成例としては、図7または図8に示す検定回路322において、0と1のバランスが一定値、例えば、70%を超えたリングオシレータを「bad」と判定し、それ以外を「good」とすれば、各リングオシレータの「good」と「bad」の分布を、ID情報とすることもできる。更に、実際の乱数検定は米国標準基準局発行のNIST140−2やSP800−22、またはドイツ数学協会作成の「BSI: Application Note and Interpretation of the Scheme (AIS) 31.Functionality Classes and Evaluation Methodology for Physical Random Number Generators」などの統計理論を利用した検定が必要であり、各リングオシレータから出力される乱数列のデータがどの検定項目をパスするか(どの検定項目に対応する基準を満たすか)を示す情報を、ID情報として用いることができる。例えば、SP800−22では16種類の検定項目があり、FIPS140−2では4種類の検定項目があり、複数のリングオシレータごとに、当該リングオシレータがどの検定項目に対応する基準を満たすのかを示す情報を、ID情報として用いることができる。
また、例えばFIPS−140−2は、現在ではAIS31の一部分として用いられ、Test T1(monobit test)、Test T2(poker test)、Test T3(run test)、Test T4(long run test)の4種類の項目がある。例えば乱数生成回路に含まれるリングオシレータの数が10個の場合(N=10の場合)、検定項目として、0と1のバランスに対応する検定項目だけしかない場合は、210=1024個のID情報しか生成することができないか、検定項目が4種類ある場合は、(210=240個のID情報を生成することができる。
図7に戻って説明を続ける。図7に示すように、乱数生成部310は、攪拌回路311と、平滑化回路群312と、検定回路313と、乱数出力部314とを含む。この例では、攪拌回路311は、N個のリングオシレータ1〜Nを含む(図8参照)。平滑化回路群312は、攪拌回路311に含まれる複数のリングオシレータと1対1に対応する複数の平滑化回路からなる。前述したように、各平滑化回路は、XORゲート330と、フリップフロップ回路340とを含む(図8参照)。検定回路313は、平滑化されてXORの論理演算が施された乱数列のデータが、予め定められた検定項目に対応する基準を満たすか否かを判断し、基準を満たすと判断した場合は、その乱数列のデータを、乱数出力部314へ渡す。乱数出力部314は、検定回路313から渡された乱数列のデータ(基準を満たすと判断された乱数列のデータ)を出力する。なお、図8の例では、平滑化回路の前に、個別のリングオシレータの乱数列の取り出し口が設けられているが、これに限らず、例えば図10に示すように、各リングオシレータの乱数列の取り出し口が、当該リングオシレータに対応する平滑化回路の後に設けられる形態であってもよい。
また、図7に示すように、ID情報生成部320は、チャレンジ信号検知部321と、検定回路322と、データストレージ部323と、ハッシュ生成部324と、ID情報出力部325とを含む。チャレンジ信号検知部321は、リーダ装置20からのチャレンジ信号を検知する。本実施形態では、リーダ装置20は、認証対象のデバイス100の近接を検知すると、認証対象のデバイス100の近接を検知したことをサーバ装置200へ通知する。この通知を受けたサーバ装置200は、複数のリングオシレータごとの、当該リングオシレータにより生成される乱数の質を示す情報(この例におけるID情報)を要求するチャレンジ信号を、リーダ装置20を介してデバイス100に送信する制御を行う。この例では、チャレンジ信号検知部321は、リーダ装置20(サーバ装置200)からのチャレンジ信号を検知すると、攪拌回路311を動作させて各リングオシレータによる乱数を発生させる制御を行う。
検定回路322は、データストレージ部323に格納された1以上の検定項目を元に、攪拌回路311から出力された乱数列のデータの検定を行う。より具体的には、検定回路322は、各リングオシレータから出力された乱数列のデータごとに、データストレージ部323に格納された1以上の検定項目のうちの何れの検定項目に対応する基準を満たすのかを判断し、その結果を示す情報(以下の説明では、「検定結果情報」と呼ぶ場合がある)を、ハッシュ生成部324へ出力する。ハッシュ生成部324は、検定回路322からの検定結果情報に対応するハッシュ値(この例ではビット列)を決定し、決定したハッシュ値を、ID情報出力部325へ出力する。ID情報出力部325は、ハッシュ生成部324により生成されたハッシュ値を、チャレンジ信号に対する応答として、リーダ装置20へ送信する制御を行う。そして、リーダ装置20は、デバイス100からの検定結果情報をサーバ装置200へ送信する。
サーバ装置200の基本的な構成は第1実施形態と同様であり、ここでは、図5の構成を例に挙げて、各部の機能を説明する。取得部201は、デバイス100の近接を検知したことを示す通知情報をリーダ装置20から受信した場合、各リングオシレータにより生成される乱数の質を示す情報(この例では検定結果情報)を要求するチャレンジ信号を、リーダ装置20を介してデバイス100に送信する制御を行う。そして、デバイス100から、リーダ装置20を介して検定結果情報に対応するハッシュ値を取得する。
記憶部202は、認証の元となるデバイスを示す第2デバイスの工場出荷時の検定結果情報に対応するハッシュ値を、初期値として記憶している。本実施形態では、記憶部202には、検定結果情報が、時間の経過とともにどのように変化するのかを推定するための実験データが格納されており、予測部203は、任意の期間が経過するたびに(例えば取得部201により検定結果情報に対応するハッシュ値が取得されるたびに)、記憶部202に記憶された実験データを元に、その時点での検定結果情報を予測し、予測した検定結果情報に対応するハッシュ値を記憶部202に登録する。
認証部204は、取得部201により取得された、検定結果情報に対応するハッシュ値を示すビット列と、予測部203により予測された検定結果情報に対応するハッシュ値(記憶部202に登録されている最新のハッシュ値)を示すビット列とのハミング距離を計算し、計算したハミング距離を示す値が閾値以下の場合は、認証対象のデバイス100は第2デバイスであると判断する。
本実施形態においても、第2デバイスの、工場出荷時の検定結果情報(性能情報の一例)の経時的変化に応じた検定結果情報を元に、認証対象のデバイス100の認証を行うので、デバイス100の使用状況に関わらず、高い精度でデバイス100の認証を行うことが可能になる。
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態では、認証対象のデバイス(第1デバイス)は、それぞれが磁気抵抗素子を用いた複数のメモリセルを含むメモリセルアレイを有する電子機器であり、性能情報は、各磁気抵抗素子の磁化方向を磁化平行または磁化反平行に変化させる制御が行われた場合における、各磁気抵抗素子の抵抗値に対応する情報である点で上述の第1実施形態と相違する。
ここでは、それぞれが磁気抵抗素子を用いた複数のメモリセルを含むメモリセルアレイを有する電子機器としては、第1実施形態と同様にICカードを想定し、デバイス100と表記する。本実施形態に係るデバイス100は、図4に示すNAND型フラッシュメモリ104の代わりに、それぞれが磁気抵抗素子を用いた複数のメモリセルを含むメモリセルアレイを有するMRAMを備えるものとする。また、リーダ装置およびサーバ装置の基本的な構成は、第1実施形態と同様であるので、それぞれ第1実施形態と同様の表記(リーダ装置20、サーバ装置200)とする。
また、ここでは、磁気抵抗素子の一例として、磁気トンネル接合(Magnetic Tunnel Junction、以下では「MTJ」と呼ぶ)素子を例に挙げて説明する。MTJ素子は、2つの磁性体膜がトンネル絶縁体を挟んだ構造を有し、磁性体膜の相対的な磁化方向に対応して、抵抗の状態が、高抵抗状態および低抵抗状態のうちの何れかに決まる。一般的に磁化方向が平行な場合(磁化平行、P状態)は抵抗が低く、磁化方向が反平行な場合(磁化反平行、AP状態)は抵抗が高い。メモリセルのMTJ素子から抵抗値を読み出すとき、比較のために作成されていた参照セルと比較することで、抵抗の大小を区別する。MTJ素子に抵抗ばらつきがあるとメモリセルに書き込んでおいた情報が読み出せなくなる恐れがあるため、一般的に製造されるMRAMのチップ内でのMTJ素子の抵抗ばらつきは、製造プロセスの工夫によって、最小限に抑えられている。また出荷時には初期不良が検査され、不良ビットを読み出さない工夫をすることもできる。このようにして出荷後のMRAMは大容量のメモリセルを有することができる。
一方、MTJ素子の情報すなわち抵抗値は、2つの磁性体の磁化方向の相対関係で決まるが、MRAMとして使用された際に、メモリセルには読み出しあるいは書き込みのための電流が繰り返し流されることになり、MTJ素子の自己発熱によって磁性体情報(抵抗値)の揺らぎが生じる。実際のMTJ素子は、例えば垂直磁化膜を有する場合などにおいては、単純に、トンネル絶縁膜を2つの磁性体で挟持する3層構造ではなく、図11に示すように、2層以上の構成によって垂直磁化膜が形成されることがある。図11の例では、MTJ素子は、記憶層410、記憶層410上に形成されたトンネル絶縁膜420、トンネル絶縁膜420上に形成された参照層430、および、参照層430上に形成された調整層440の4層構造である。記憶層410は、スピンの注入により、膜面に略垂直な方向の磁化方向が変化する。参照層430と調整層440は、膜面に略垂直な方向の磁化方向が互いに異なる。
ここで、スピン注入磁化反転方式を利用するMRAMにおいて、例えば各MTJ素子の磁化方向を磁化平行に遷移させるために、各MTJ素子に対して、磁化平行に対応する方向に、所定値の電流を流す場合を想定する。図12の例では、あるMTJ素子について、磁性体情報の揺らぎが生じていない場合は、その後の読み出しにおいて当該あるMTJ素子を流れる電流(あるMTJ素子の抵抗値に対応する情報であると捉えることができる)は、磁化平行に対応する方向(ここでは正の方向)に流れる電流値I1の電流となることが想定される。しかしながら、例えば読み出しあるいは書き込みのための電流が繰り返し流されたことにより(使用回数が増加したことにより)、あるMTJ素子の磁性体情報の揺らぎが生じた場合は、磁化を平行にする電流を流した後の読み出しにおいて、当該あるMTJ素子の磁化を平行にする電流値は、I1とは異なる値に変化する。図12の例では、あるMTJ素子を流れる電流の値はI2に変化していることを示す。
また、例えば各MTJ素子の磁化方向を磁化反平行に遷移させるために、各MTJ素子に対して、磁化反平行に対応する方向に、所定値の電流を流す場合を想定する。この例では、あるMTJ素子について、磁性体情報の揺らぎが生じていない場合は、その後の読み出しにおいて当該あるMTJ素子の磁化方向を変化させる電流(ここでは負の方向に流れる電流)の電流値はI3となることが想定される。しかしながら、例えば使用回数が増加したことにより、あるMTJ素子の磁性体情報の揺らぎが生じた場合は、当該あるMTJ素子を流れる電流の値は、図12に示すI3とは異なる値に変化する。例えば図12の例では、あるMTJ素子の磁化方向を変化させる電流の値はI4に変化していることを示す。
本実施形態では、各MTJ素子の磁化方向を磁化平行または磁化反平行に変化させる制御が行われた場合の各MTJ素子の抵抗値に対応する情報の経時的変化が、個々のメモリセット(メモリセルアレイ)ごとに異なることを利用して、メモリセットが搭載されたデバイスを認証することを特徴とする。より具体的には以下のとおりである。
本実施形態では、サーバ装置200(取得部201)は、デバイス100の近接を検知したことを示す通知情報をリーダ装置20から受信した場合、当該デバイス100に対して、各MTJ素子の磁化方向を磁化平行または磁化反平行に変化させる制御が行われた場合の各MTJ素子の抵抗値に対応する情報(この例におけるID情報、以下の説明では、「抵抗パターン情報」と呼ぶ場合がある)を要求するチャレンジ信号を、リーダ装置20を介してデバイス100に送信する制御を行う。セキュリティ・認証回路103は、リーダ装置20(サーバ装置200)から送信されたチャレンジ信号を検知した場合、MRAMを駆動する不図示の駆動回路に対して、そのチャレンジ信号を送信する。チャレンジ信号を受信した駆動回路は、各MTJ素子に対して、磁化方向を磁化平行または磁化反平行に遷移させるための電流を流した後、各MTJ素子の抵抗値に対応する情報(この例では電流)を読み出す制御を行う。そして、この読み出し制御により得られた情報(抵抗パターン情報)を、セキュリティ・認証回路103へ出力し、セキュリティ・認証回路103は、チャレンジ信号に対する応答として、抵抗パターン情報をリーダ装置20へ送信する制御を行う。この例では、抵抗パターン情報は、第1実施形態における欠陥パターン情報と同様に、ビット列で表現されるものとする。リーダ装置20は、デバイス100からの抵抗パターン情報をサーバ装置200へ送信する。
サーバ装置200の基本的な構成は第1実施形態と同様であり、ここでは、図5の構成を例に挙げて、各部の機能を説明する。取得部201は、デバイス100から、リーダ装置20を介して抵抗パターン情報を取得する。記憶部202は、認証の元となるデバイスを示す第2デバイスの工場出荷時の抵抗パターン情報を、初期値として記憶している。本実施形態では、記憶部202には、抵抗パターン情報が、時間の経過とともにどのように変化するのかを推定するための実験データが格納されており、予測部203は、任意の期間が経過するたびに(例えば取得部201により抵抗パターン情報が取得されるたびに)、記憶部202に記憶された実験データを元に、その時点での抵抗パターン情報を予測し、予測した抵抗パターン情報を記憶部202に登録する。
認証部204は、取得部201により取得された抵抗パターン情報を示すビット列と、予測部203により予測された抵抗パターン情報を示すビット列(記憶部202に登録されている最新の抵抗パターン情報を示すビット列)とのハミング距離を計算し、計算したハミング距離を示す値が閾値以下の場合は、認証対象のデバイス100は第2デバイスであると判断する。
本実施形態においても、第2デバイスの、工場出荷時の抵抗パターン情報(性能情報の一例)からの経時的変化に応じた抵抗パターン情報を元に、認証対象のデバイス100の認証を行うので、デバイス100の使用状況に関わらず、高い精度でデバイス100の認証を行うことが可能になる。
(第3実施形態の変形例)
ところで、上述したようなMTJ素子の構造では、熱安定性が確保された磁化膜の設計となっている。しかしながら、上述したようなMTJ素子の自己発熱による磁性体の磁化方向の揺らぎは、MRAMの使用方法にも強く依存するため、MTJ素子の発熱の仕方によっては、磁化膜が微視的に不安定性を有することがあり得る。ただし、このような不安定性も考慮したうえで、MRAMの信頼性が設計されていることが多いため、必ずしもこの不安定性が直接MRAMのエラービットを誘発するとは限らない。MTJ素子の抵抗値の基準となる片方の磁化の安定性が一時的に悪くなる程度である。
そこで、MTJ素子の安定性の悪化を意図的に増長させるような制御を行い、その制御を行った後の各MTJ素子の抵抗値に対応する情報を、そのMRAMが搭載されたデバイス100のID情報とすることも可能である。
一つ目の具体例は、書き込みを繰り返す方法である。スピン注入磁化反転方式を利用するMRAMでは、各MTJ素子の磁化方向を変化(反転)させる場合、変化させたい磁化方向に対応する方向に流れる電流をMTJ素子に流す方法が一般的に用いられる。書き込み電流は読み出し電流よりも大きいため、書き込みを繰り返すことにより、MTJ素子にはジュール熱が発生し、MTJ素子の抵抗値の基準となる片方の磁化の安定性が一時的に悪くなる。このときに、通常であれば所望の磁化方向に落ち着くような書き込み電流の方向であっても、逆向きに磁化が配置される場合が発生し得る。このため、例えば各MTJ素子に対して、磁化方向を磁化平行に変化させるための電流を流す制御を所定数だけ繰り返して行った後、各MTJ素子の抵抗値に対応する情報を読み出す制御を行うことで、そのMRAMに特有の情報を生成することができる。また、例えば各MTJ素子に対して、磁化反平行に変化させるための電流を流す制御を所定数だけ繰り返して行った後、各MTJ素子の抵抗値に対応する情報を読み出す制御を行うことで、そのMRAMに特有の情報を生成することもできる。
つまり、各MTJ素子の磁化方向を所定の方向(磁化平行または磁化反平行)に変化させる制御が所定数だけ繰り返し行われた場合の各MTJ素子の抵抗値に対応する情報を、上述の性能情報として採用することもできる。
また、二つ目の具体例は、読み出しを繰り返す方法である。書き込みよりも読み出しの方がMTJ素子を流れる電流値は小さいものの、MRAMの回路構成によっては読み出し性能を重視するために、単位時間当たりの読み出しデータ量を多くするように設計されている場合がある。MTJ素子に対して電流を流すという負荷を与えることで、そのMTJ素子にはジュール熱が発生し、MTJ素子の抵抗値の基準となる片方の磁化の安定性が一時的に悪くなる。このため、例えば各MTJ素子の抵抗値に対応する情報を読み出す制御を、所定数だけ繰り返して行った後、各MTJ素子に対して、磁化方向を磁化平行または磁化反平行に変化させるための電流を流し、その後、各MTJ素子の抵抗値に対応する情報を読み出す制御を行うことで、そのMRAMに特有の情報を生成することもできる。
つまり、各MTJ素子の抵抗値に対応する情報を読み出す制御を所定数だけ繰り返した後に、各MTJ素子の磁化方向を磁化平行または磁化反平行に変化させる制御を行い、その後の各MTJ素子の抵抗値に対応する情報を、上述の性能情報として採用することもできる。
以上、本発明の実施形態を説明したが、上述の各実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。なお、上述の各実施形態および変形例は任意に組み合わせることもできる。
例えば上述の第2実施形態のように、ハッシュ関数を介して認証処理を行ってもよいし、一般的なファジー論理回路を用いて認証処理を行ってもよい。また、第2実施形態の乱数生成回路は、第1実施形態または第3実施形態と併用しても構わない。また、MRAMとNAND型フラッシュメモリが共存する回路では、第1実施形態と第3実施形態を併用しても構わない。
また、例えばリーダ装置20が、上述の認証処理を行う形態であってもよい。この形態では、例えばリーダ装置20は、上述の取得部201と、記憶部202と、予測部203と、認証部204とを備えていてもよい。この例では、リーダ装置20は請求項の「認証装置」に対応する。また、上述の実施形態では、リーダ装置20がデバイス100のID情報を取得する方式は非接触型であるが、これに限らず、例えば接触型であってもよい。
また、上述の各実施形態のサーバ装置200で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上述の各実施形態のサーバ装置200で実行されるプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、各実施形態のサーバ装置200で実行されるプログラムを、ROM等の不揮発性の記録媒体に予め組み込んで提供するようにしてもよい。
10 認証システム
20 リーダ装置
100 デバイス
101 CPU
102 無線通信部
103 セキュリティ・認証回路
104 NAND型フラッシュメモリ
105 バス
200 サーバ装置
201 取得部
202 記憶部
203 予測部
204 認証部
300 乱数生成回路
310 乱数生成部
311 攪拌回路
312 平滑化回路群
313 検定回路
314 乱数出力部
320 ID情報生成部
321 チャレンジ信号検知部
322 検定回路
323 データストレージ部
324 ハッシュ生成部
325 ID情報出力部
410 記憶層
420 トンネル絶縁膜
430 参照層
440 調整層

Claims (8)

  1. 認証対象のデバイスを示す第1デバイスの性能情報を取得する取得部と、
    認証の元となるデバイスを示す第2デバイスの、初期の前記性能情報からの経時的変化に応じた前記性能情報を予測する予測部と、
    前記取得部により取得された前記性能情報と、前記予測部により予測された前記性能情報との一致度に応じて、前記第1デバイスが前記第2デバイスであるか否かを判断する認証処理を行う認証部と、を備える、
    認証装置。
  2. 前記デバイスは、NAND型フラッシュメモリを有する電子機器であり、
    前記性能情報は、NAND型フラッシュメモリの状態を示す情報である、
    請求項1に記載の認証装置。
  3. 前記性能情報は、NAND型フラッシュメモリに含まれる欠陥メモリの分布を示す情報である、
    請求項2に記載の認証装置。
  4. 前記性能情報は、NAND型フラッシュメモリに含まれる欠陥メモリの数を示す情報である、
    請求項2または請求項3に記載の認証装置。
  5. 前記デバイスは、複数のリングオシレータを含む乱数生成回路を有する電子機器であり、
    前記性能情報は、前記リングオシレータごとの、前記リングオシレータにより生成される乱数の質を示す情報である、
    請求項1に記載の認証装置。
  6. 前記デバイスは、それぞれが磁気抵抗素子を用いた複数のメモリセルを含むメモリセルアレイを有する電子機器であり、
    前記性能情報は、各前記磁気抵抗素子を磁化平行または磁化反平行に変化させる制御が行われた場合における、各前記磁気抵抗素子の抵抗値に対応する情報である、
    請求項1に記載の認証装置。
  7. コンピュータが備える取得手段が、第1デバイスの性能情報を取得する取得ステップと、
    コンピュータが備える予測手段が、第2デバイスの、初期の前記性能情報からの経時的変化に応じた前記性能情報を予測する予測ステップと、
    コンピュータが備える認証手段が、前記取得ステップにより取得された前記性能情報と、前記予測ステップにより予測された前記性能情報とを比較して、前記第1デバイスが前記第2デバイスであるか否かの認証を行う認証ステップと、を含む、
    認証方法。
  8. コンピュータに、
    第1デバイスの性能情報を取得する取得ステップと、
    第2デバイスの、初期の前記性能情報からの経時的変化に応じた前記性能情報を予測する予測ステップと、
    前記取得ステップにより取得された前記性能情報と、前記予測ステップにより予測された前記性能情報とを比較して、前記第1デバイスが前記第2デバイスであるか否かの認証を行う認証ステップと、を実行させるためのプログラム。
JP2013124513A 2013-06-13 2013-06-13 認証装置、認証方法およびプログラム Active JP6129654B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013124513A JP6129654B2 (ja) 2013-06-13 2013-06-13 認証装置、認証方法およびプログラム
US14/190,463 US9460316B2 (en) 2013-06-13 2014-02-26 Authentication device, authentication method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013124513A JP6129654B2 (ja) 2013-06-13 2013-06-13 認証装置、認証方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015001761A JP2015001761A (ja) 2015-01-05
JP6129654B2 true JP6129654B2 (ja) 2017-05-17

Family

ID=52020275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013124513A Active JP6129654B2 (ja) 2013-06-13 2013-06-13 認証装置、認証方法およびプログラム

Country Status (2)

Country Link
US (1) US9460316B2 (ja)
JP (1) JP6129654B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6239471B2 (ja) 2014-09-19 2017-11-29 株式会社東芝 認証システム、認証装置および認証方法
JP6400469B2 (ja) 2014-12-26 2018-10-03 株式会社東芝 情報処理システム及び半導体素子
JP6419614B2 (ja) 2015-03-17 2018-11-07 株式会社東芝 データ生成装置および認証システム
US9495627B1 (en) * 2015-12-15 2016-11-15 International Business Machines Corporation Magnetic tunnel junction based chip identification
JP6495853B2 (ja) 2016-03-16 2019-04-03 株式会社東芝 データ生成装置、電子デバイスおよび認証システム
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
EP3594840A1 (en) * 2018-07-12 2020-01-15 Gemalto Sa A method and an apparatus for determining a digital print representative of a state of an external non-volatile memory
JP2020042416A (ja) * 2018-09-07 2020-03-19 ルネサスエレクトロニクス株式会社 半導体装置及びコンピュータシステム
JP7408366B2 (ja) * 2019-12-06 2024-01-05 キヤノンメディカルシステムズ株式会社 機器管理装置、機器管理システム及び機器管理方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000235636A (ja) 1998-12-14 2000-08-29 Hitachi Ltd 欠陥情報を利用した情報媒体
US7840803B2 (en) 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
US8347091B2 (en) * 2006-11-06 2013-01-01 Panasonic Corporation Authenticator apparatus
WO2008056612A1 (fr) * 2006-11-06 2008-05-15 Panasonic Corporation Appareil de sécurité d'informations
US8694776B2 (en) * 2007-12-21 2014-04-08 Spansion Llc Authenticated memory and controller slave
DE102010024622B4 (de) 2010-06-22 2012-12-13 Infineon Technologies Ag Identifikationsschaltung und Verfahren zum Erzeugen eines Identifikationsbits
JP2012014416A (ja) * 2010-06-30 2012-01-19 Toshiba Corp 記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法
JP5724305B2 (ja) * 2010-11-10 2015-05-27 日本電気株式会社 デバイス固有情報生成装置、デバイス固有情報生成方法および認証装置
DE102012212471B3 (de) * 2012-07-17 2013-11-21 Siemens Aktiengesellschaft Vorrichtung zum Realisieren einer physikalischen Degradations-/Tampererkennung eines digitalen ICs mittels einer (digitalen) PUF und Unterscheiden zwischen einer Degradation aufgrund von physikalischer Manipulation und aufgrund von Alterungsprozessen
US9093128B2 (en) * 2012-11-05 2015-07-28 Infineon Technologies Ag Electronic device with a plurality of memory cells and with physically unclonable function

Also Published As

Publication number Publication date
JP2015001761A (ja) 2015-01-05
US9460316B2 (en) 2016-10-04
US20140372671A1 (en) 2014-12-18

Similar Documents

Publication Publication Date Title
JP6129654B2 (ja) 認証装置、認証方法およびプログラム
US20200364374A1 (en) Apparatus and method for generating identification key
JP6359035B2 (ja) リング発振器ベースの物理的複製不可関数および年齢検知回路を使用した集積回路識別およびディペンダビリティ検証
KR101118826B1 (ko) 물리적 공격을 방어하는 암호화 장치 및 암호화 방법
US20140108478A1 (en) Magnetic tunnel junction based random number generator
US9767459B1 (en) Detection of counterfeit electronic items
CN114631093B (zh) 具有安全存取密钥的半导体装置及相关联方法及系统
JP2016105344A (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
CN103946854A (zh) 以模糊算法和动态密钥为特征的基于保留的本征指纹识别
JP2016105278A (ja) 耐タンパ性を有する不揮発性メモリ装置、および集積回路カード
Zhang et al. Optimizating emerging nonvolatile memories for dual-mode applications: Data storage and key generator
JP6793044B2 (ja) 不揮発性メモリ装置
CN109643348A (zh) 系统监测器
KR20120089607A (ko) 식별키 생성 장치 및 방법
US11418332B2 (en) Security device including physical unclonable function cells and operation method thereof
US20210119791A1 (en) Identification key generating device and identification key generating method
US10361163B2 (en) Circuit and method for detecting tampering or preventing forgery of semiconductor chip
CN104375079A (zh) 芯片
US11195582B2 (en) Non-volatile memory device and method of writing to non-volatile memory device
CN110598488B (zh) 半导体单元器件、半导体芯片系统及puf信息处理系统
CN114981791A (zh) 确定电场分布

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20151102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170303

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: 20170314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170412

R151 Written notification of patent or utility model registration

Ref document number: 6129654

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151