JP2015061201A - 個体識別装置、記憶装置、個体識別システム、その方法、およびプログラム - Google Patents

個体識別装置、記憶装置、個体識別システム、その方法、およびプログラム Download PDF

Info

Publication number
JP2015061201A
JP2015061201A JP2013193542A JP2013193542A JP2015061201A JP 2015061201 A JP2015061201 A JP 2015061201A JP 2013193542 A JP2013193542 A JP 2013193542A JP 2013193542 A JP2013193542 A JP 2013193542A JP 2015061201 A JP2015061201 A JP 2015061201A
Authority
JP
Japan
Prior art keywords
fingerprint
data
memory
memory chip
individual identification
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.)
Granted
Application number
JP2013193542A
Other languages
English (en)
Other versions
JP6129699B2 (ja
Inventor
ジィエジィ 陳
Jiezhi Chen
ジィエジィ 陳
祐一郎 三谷
Yuichiro Mitani
祐一郎 三谷
哲史 棚本
Tetsufumi Tanamoto
哲史 棚本
孝生 丸亀
Takao Marugame
孝生 丸亀
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 JP2013193542A priority Critical patent/JP6129699B2/ja
Priority to PCT/JP2014/074765 priority patent/WO2015041307A1/en
Publication of JP2015061201A publication Critical patent/JP2015061201A/ja
Priority to US15/056,133 priority patent/US9983818B2/en
Application granted granted Critical
Publication of JP6129699B2 publication Critical patent/JP6129699B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Collating Specific Patterns (AREA)
  • Read Only Memory (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】複製困難な物理的特徴を具備する素子ばらつきを利用した個体識別を行う。
【解決手段】実施形態にかかる個体識別装置は、1つ以上のメモリチップを含む記憶装置を個体識別する個体識別装置であって、書込データを記憶する第1記憶部と、前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部とを備える。
【選択図】図1

Description

本発明の実施形態は、個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムに関する。
近年、半導体微細化技術に伴い、軽量でかつ高速アクセスが可能であり、さらに消費電力が低い大容量の不揮発メモリシステムの市場が大幅に拡大している。そこで、セキュリティの観点から、大容量メモリシステムの情報管理が非常に重要視されるようになってきた。
また、不揮発メモリの微細化に伴い、素子ごとの特性のばらつきが徐々に大きくなってきている。不揮発メモリの素子ばらつきは様々な要因で決まるが、その中の1つとして、工場出荷時にすでに決定されているプロセスに起因した要因が存在することが知られている。プロセス起因による素子ばらつきは、ランダムな物理的特徴を具備しているため、複製が困難であるという特徴を有する。
特開2001−7290号公報 特開2000−235636号公報
以下の実施形態では、複製困難な物理的特徴を具備する素子ばらつきを利用した個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムを提供することを目的とする。
実施形態にかかる個体識別装置は、1つ以上のメモリチップを含む記憶装置を個体識別する個体識別システムであって、書込データを記憶する第1記憶部と、前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部と、を備える。
図1は、実施形態1にかかる固体識別システムの概略構成例を示すブロック図である。 図2は、実施形態1にかかるメモリチップ単体の概略構成例を示すブロック図である。 図3は、図2に示す構成を用いた不揮発NAND型フラッシュメモリチップの構成例を示す模式図である。 図4は、図3に示す不揮発NAND型フラッシュメモリのメモリ素子部が備えるブロックの一例を示す模式図である。 図5は、メモリチップの特定のメモリ領域に乱数を書き込んだ際に1回目の読出データにおいてミスマッチしたビットの2次元分布を示す分布図である。 図6は、メモリチップの特定のメモリ領域に乱数を書き込んだ際に1回目、3回目および100回目の読出データの全てにおいてミスマッチしたビットの2次元分布を示す分布図である。 図7は、実施形態1にかかる起動時のメモリシステム指紋管理部の動作例を示すフローチャートである。 図8は、実施形態1にかかる起動時のメモリチップ指紋管理部の動作例を示すフローチャートである。 図9は、実施形態1においてチップ指紋からマトリクス指紋を生成する際の一例を示す模式図である。 図10は、実施形態1にかかるユーザアクセス時のメモリシステム指紋管理部の動作例を示すフローチャートである。 図11は、実施形態1にかかるユーザアクセス時のメモリチップ指紋管理部の動作例を示すフローチャートである。 図12は、実施形態2にかかる起動時のメモリシステム指紋管理部の動作例を示すフローチャートである。 図13は、実施形態2にかかるユーザアクセス時のメモリシステム指紋管理部の動作例を示すフローチャートである。 図14は、実施形態2にかかる分散メモリの一例を示すブロック図である。 図15は、実施形態3においてチップ指紋からマトリクス指紋を生成する際の一例を示す模式図である。 図16は、実施形態3にかかる起動時のメモリシステム指紋管理部の動作例を示すフローチャートである。 図17は、実施形態3にかかるユーザアクセス時のメモリシステム指紋管理部の動作例を示すフローチャートである。
以下、添付図面を参照しながら、例示する実施形態にかかる個体識別装置、記憶装置、固体識別システム、その方法、およびプログラムを詳細に説明する。
(実施形態1)
以下、実施形態1に係る個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムについて、図面を参照して詳細に説明する。
実施形態1では、複製困難な物理的特徴を具備するメモリ微細素子のばらつきを利用して、記憶装置を個体識別する。具体的には、メモリ素子が具備するプロセス起因のばらつきを利用してメモリチップの識別情報(以下、指紋という)を生成し、アクセス時にこの指紋を用いて個体を高精度に識別する。
メモリチップの指紋には、メモリチップに乱数を書き込みし、この書き込んだ乱数とその後にメモリチップから読み出した乱数との間でミスマッチしたビット(差分)の2次元分布を用いる。プロセスに起因した素子ばらつきは、ランダムな物理的特徴を具備しているため、複製が困難である。そのため、このような素子ばらつきを認証用の指紋として用いることで、高精度の個体識別を実現することができる。また、複製困難な物理的特徴を具備する素子ばらつきに、ランダムに発生した乱数を組み合わせることで、指紋の固有性をより高めることができる。したがって、書き込んだ乱数と読み出した乱数との間でミスマッチしたビットの2次元分布をメモリチップの指紋として用いることで、より高精度に記憶装置の固体識別が可能となる。
また、実施形態1では、記憶装置全体の個体識別と、記憶装置が備える複数のメモリチップ単体での個体識別との両方を行う。これにより、目的や用途や状態に応じた個体識別を行うことが可能となる。たとえば、記憶装置における一部のメモリチップが差し替えられた場合などでも、記憶装置全体としての動作を確保しつつ、差し替えられたメモリチップを無効とするようなセキュリティを兼ねた個体識別を行うことも可能となる。
図1は、実施形態1にかかる個体識別装置を具備した記憶装置を含む個体識別システムの概略構成例を示すブロック図である。図1に示すように、個体識別システム1は、記憶装置100と、記憶装置100外部に配置された外部記憶部19とを備える。記憶装置100は、メモリシステム指紋管理部10と、LSIコントローラ20と、内部バス30と、1つ以上のメモリチップ40A〜40Nとを備える。外部記憶部19は、メモリシステム指紋管理部10が接続されるパーソナルコンピュータやサーバに内蔵または外付けされた記憶領域であってもよいし、インターネットやLAN(Local Area Network)などのネットワーク上に配置された記憶領域であってもよい。
メモリシステム指紋管理部10は、記憶装置100全体の個体識別を実行するための構成である。このメモリシステム指紋管理部10は、制御部11と、指紋生成部12と、環境センサ部13と、乱数発生部14と、指紋領域指定部15と、内部記憶部16と、乱数データバッファ17と、読出データバッファ18とを備える。
内部記憶部16は、記憶装置100をたとえば10℃、20℃、30℃、40℃等の様々な温度環境下で動作させたときの各メモリチップ40A〜40Nの指紋データを格納している。指紋データは、乱数データを各メモリチップ40A〜40Nに書き込み、さらに書き込まれた乱数データを読み出したときの読出データと書き込みに用いた乱数データとを比較して不一致となったビットを2次元的にマッピングしたものである。
制御部11は、外部とアクセスすることができる。外部とは、記憶装置100が接続されるパーソナルコンピュータやサーバなどの上位装置であってよい。また、制御部11は、指紋生成部12、乱数データバッファ17、指紋領域指定部15、環境センサ部13および乱数発生部14と接続されており、それぞれを制御することで、メモリシステム指紋管理部10を動作させる。
環境センサ部13は、たとえば温度センサである。環境センサ部13は、記憶装置100の内部温度を逐次測定している。記憶装置100の内部温度は、メモリチップ40A〜40N全体における一箇所の内部温度であってもよいし、メモリチップ40A〜40N個別の内部温度であってもよい。なお、一般的に、メモリチップ40A〜40N全体における一箇所の内部温度は、メモリチップ40A〜40N個別の内部温度とほぼ等しい。以下の説明では、メモリチップ40A〜40N全体における一箇所の内部温度を測定する場合を例示する。
外部記憶部19は、指紋データを生成する際に使用する乱数データを格納する。乱数発生部14は、外部記憶部19から制御部11を介して乱数データを取得してもよいし、自身が乱数データを発生してもよい。
ユーザが記憶装置100へアクセスすると、制御部11は、乱数発生部14から乱数データを取得し、これを乱数データバッファ17に格納する。このとき、制御部11は、指紋領域指定部15を各メモリチップ40A〜40Nにおける特定のメモリ領域(以下、指紋領域という)にアクセスするように制御する。この指紋領域は、各メモリチップ40A〜40Nの全メモリ領域であってもよいし、メモリ領域の一部であってもよい。指紋領域指定部15は、乱数データバッファ17に格納された乱数データを、LSIコントローラ20およびバス30を経由して、指定された指紋領域に書き込む。LSIコントローラ20は、各メモリチップ40A〜40Nの指紋領域から書き込まれた乱数データを読み出し、この読み出した乱数データを読出データバッファ18に格納する。
指紋生成部12は、読出データバッファ18に格納された読出データと乱数データバッファ17に格納された乱数データとを比較して指紋データを生成する。このとき、制御部11は、環境センサ部13が測定した温度情報を指紋生成部12に送信する。指紋生成部12は、温度情報に指紋データを付加して個体識別用の指紋データ(以下、識別データという)を生成する。
制御部11は、指紋生成部12が生成した識別データと、内部記憶部16に予め格納されている識別データと比較することで、記憶装置100の個体識別を行う。たとえば、制御部11は、新たに生成された識別データと、内部記憶部16に格納されている識別データとが一致した場合、メモリシステム指紋管理部10に接続されたメモリチップ40A〜40Nが正しいメモリチップアレイであると認識する。この場合、制御部11は、ユーザに各メモリチップ40A〜40Nへのアクセスを許可してもよい。一方、新たに生成された識別データと内部記憶部16に格納されている識別データとが一致しない場合、制御部11は、メモリチップ40A〜40Nが何らかの改変を受けた不正なメモリチップアレイであると認識する。この場合、制御部11は、ユーザからの各メモリチップ40A〜40Nへのアクセスを不許可としてもよい。
つぎに、メモリチップ単体での個体識別について説明する。図2は、個体識別システムにおけるメモリチップ単体の概略構成例を示すブロック図である。なお、以下の説明では、メモリチップ40A〜40Nを区別しない場合、その符号を40とする。
図2に示すように、メモリチップ40は、大別して、制御部41と、メモリ部44とを備える。制御部41は、メモリチップ指紋管理部42と、メモリアドレス制御部43とを含む。メモリ部44は、動作シーケンス制御部45と、メモリチップ電源制御部46と、メモリ周辺部47と、メモリ素子部48とを含む。
メモリアドレス制御部43は、LSIコントローラ20を介してアクセスされたメモリ領域のアドレス(たとえば、指紋領域のブロック番号、ワード線番号、ビット線番号等)を指定する。動作シーケンス制御部45は、メモリ素子部48が動作するために必要な動作シーケンス、例えば書き込み動作、消去動作、データ複製動作等を制御する。メモリチップ電源制御部46は、メモリ素子部48が動作するために必要な電源を制御する。
また、メモリチップ指紋管理部42の記憶部423は、たとえば周辺チップ情報やシステム情報などを予め記憶している。周辺チップ情報には、たとえば出荷時や製造時などの初期の段階で共通のバス30に接続されたメモリチップ40A〜40Nを一意に識別するための識別情報(以下、チップIDという)や、各メモリチップ40A〜40Nの位置(アドレス等)や、アクセス番号などが含まれてよい。システム情報には、たとえば記憶装置100を一意に識別するための識別情報(以下、システムIDという)などが含まれてもよい。なお、チップIDは、各メモリチップ40A〜40Nの指紋データであってもよいし、各メモリチップ40A〜40Nに付与された固有の情報(製造番号等)であってもよい。同様に、システムIDは、メモリチップ40A〜40Nの指紋データを組み合わせた指紋データであってもよいし、記憶装置100に付与された固有の情報(製造番号等)であってもよい。
また、記憶部423には、たとえば指紋データの生成に用いた乱数データが格納されていてもよい。ただし、この乱数データは、記憶部423に限らず、各メモリチップ40におけるメモリ素子部48の一部の領域に保管されてもよいし、図1における外部記憶部19など、他の記憶領域に保管されてもよい。
システム情報管理部421は、メモリチップ40へのアクセスが発生すると、記憶部423に格納されている周辺チップ情報とシステム情報とを取得し、これらをシステム情報認識部422へ転送する。
システム情報認識部422は、メモリチップ40がアクセスされると、共通のバス30に接続されたメモリチップ40A〜40N(自信は含まず)のチップIDおよび位置(アドレス等)と、記憶装置100のシステムIDとを、LSIコントローラ20を介して取得し、取得した情報と、システム情報管理部421から転送された周辺チップ情報およびシステム情報とを比較することで、これらが一致するか否かに基づいた個体識別を行う。たとえば、システム情報認識部422は、これらの情報が一致した場合、自身を備えるメモリチップ40がシステム情報管理部421によって管理されている正常なメモリチップであると認識する。一方、一致しない場合、システム情報認識部422は、たとえば自身を備えるメモリチップ40が何らかの改変を受けた不正なメモリチップであると認識する。なお、システム情報認識部422は、正常なメモリチップであると認識した場合、LSIコントローラ20を介したメモリ領域へのアクセスを許可し、不正なメモリチップであると認識した場合、メモリ領域へのアクセスを禁止してもよい。
図2において、LSIコントローラ20を介した命令にしたがってメモリ素子部48へアクセスするにあたり、まず、メモリチップ指紋管理部42は、メモリアドレス制御部43を介してメモリ素子部48における乱数データが書き込まれた領域からデータを読み出し、この読出データと書き込みに用いた乱数データとを比較することで、ミスマッチしたビットの2次元分布から指紋データを生成する。
生成された指紋データは、LSIコントローラ20を介してメモリシステム指紋管理部10へ送信される。これに対し、メモリシステム指紋管理部10は、上述したように、各メモリチップ40A〜40Nのメモリチップ指紋管理部42から受信した指紋データを用いて、記憶装置100全体の個体識別を行う。また、メモリシステム指紋管理部10は、各メモリチップ40A〜40Nのメモリチップ指紋管理部42から受信した指紋データを用いて、メモリチップ40A〜40Nごとの個体識別を行ってもよい。
ここで図3に、図2に示す構成を用いた不揮発NAND型フラッシュメモリチップの構成例を示す。図3に示すように、不揮発NAND型フラッシュメモリチップは、制御部41と、NAND部44Aとを備える。バス30または専用線を介してLSIコントローラ20に接続されている。
制御部41は、メモリチップ指紋管理部42およびメモリアドレス制御部43の他に、その基本構成として、Reg/CUI411と、NAND状態機械412とを備える。NAND部44Aは、図2におけるメモリ部44に相当するものであり、動作シーケンス制御部45、メモリチップ電源制御部46、メモリ周辺部47およびメモリ素子部48の他に、動作基準となるクロック信号を生成する発振部441と、バス30に接続するためのパッド442と、アクセス先メモリ領域のアドレスをデコードするためのロウデコーダ443とを備える。また、不揮発NAND型フラッシュメモリチップにバス30を介して接続されるLSIコントローラ20は、アクセス制御部21と、SRAMバッファ22と、ECC(Error Check and Control)23と、複数のSRAMデータバッファ24a〜24cとを備える。
なお、図3に示す不揮発NAND型フラッシュメモリチップの構成は単なる一例であって、各部の配置は図3に示される配置に限定されるものではない。
また、図4に、不揮発NAND型フラッシュメモリのメモリ素子部が備えるブロックの一例を示す。図4に示すように、1つのメモリ素子部48には、複数のブロック#1〜#m+nが設けられる。そこで、複数のブロック#1〜#m+nのうちの一部のブロック(たとえばブロック#1)を、指紋データ生成用の指紋領域として用いてもよい。また、1つまたは複数のブロックにおける特定のワードラインまたはビットラインに接続された複数のビットよりなるメモリ領域を、指紋領域として用いてもよい。
つづいて、本実施形態における指紋データについて、図面を用いて詳細に説明する。図5は、メモリチップの特定のメモリ領域に乱数を書き込んだ際に書込データ(乱数)と1回目の読出データとの間でミスマッチしたビット(以下、ミスマッチビットという)の2次元分布を示す分布図である。なお、図5において、横軸はセルアレイのワード線方向であり、縦軸はセルアレイのビット線方向である。また、図5は、乱数を多値モードで書き込んだ場合を示している。
ここでミスマッチビットとは、いわゆる不良ビットであるとは限らない。たとえば、本実施形態におけるミスマッチビットとは、2値モードでは書き込みが可能であるが、多値モード(例えば8ビットモード)では書き込んだ値と読み出したとが不一致となるビットであってもよい。このような場合、たとえばミスマッチビットが少ない場合には、一定回数、書込および消去動作を繰り返すことで素子を劣化させてミスマッチビットを増やすなどが可能となる。
また、指紋データの生成に用いる乱数データは、記憶装置100または各メモリチップ40A〜40Nにおいて生成されてもよいし、記憶装置100と所定のネットワークを介して接続されたサーバやパーソナルコンピュータなどで生成されてもよい。記憶装置100または各メモリチップ40A〜40Nにおいて乱数を生成した場合、ミスマッチビットの2次元分布図(指紋データ)を記憶装置100または各メモリチップ40A〜40Nにおいて生成することができる。一方、乱数をサーバ等で生成した場合、読出データをサーバ等へ送信し、サーバ等でミスマッチビットの2次元分布図(指紋データ)を生成すればよい。
図6は、メモリチップの特定のメモリ領域に乱数を書き込んだ際に1回目、3回目および100回目の読出データの全てにおいて書込データ(乱数)に対してミスマッチしたミスマッチビットの2次元分布を示す分布図である。このように、書込・読出・消去を振り替えした場合にその大半においてミスマッチとなったミスマッチビットは、再現性のあるミスマッチビットである。たとえば図6に示す例では、読み出しを100回以上繰り返した際のミスマッチビットの再現率が99%以上であった。そこで、このような再現性のあるミスマッチビットを抽出してメモリチップ40の指紋データとすることで、より信頼性の高い指紋データを生成することが可能となる。なお、実使用の場合では、乱数データの書き込みを初回の1回とするとよい。それにより、書込・読出・消去動作の繰り返しによる素子劣化を低減することができる。
つぎに、実施形態1にかかる記憶装置100の動作について、図面を用いて詳細に説明する。図7は、記憶装置100におけるメモリシステム指紋管理部10の制御部11による起動時の動作例を示すフローチャートである。図7に示すように、制御部11は、起動後、まず、識別データの生成が必要であるか否かを判定する(ステップS101)。識別データの生成が必要であるか否かは、たとえば初期化後初の起動であるか否かや、内部記憶部16に必要な識別データ(たとえば現在の温度に対応する識別データ)が格納されているか否かなどの情報に基づいて制御部11が判断してもよい。識別データの生成が必要である場合(ステップS101;YES)、制御部11は、ステップS102へ進み、必要でない場合(ステップS101;NO)、そのまま本動作を終了する。
ステップS102では、制御部11は、環境センサ部13から現在の温度情報を取得する。ただし、ステップS102では、記憶装置100の温度が安定するまで、制御部11は、環境センサ部13からの温度情報の取得を待機してもよい。
つぎに、制御部11は、乱数発生部14より乱数データを取得し、取得した乱数データを乱数データバッファ17に格納する(ステップS103)。なお、乱数発生部14は、上述したように、外部記憶部19から制御部11を介して乱数データを取得してもよいし、自身が乱数データを発生してもよい。
つぎに、制御部11は、指紋領域指定部15に対して、各メモリチップ40A〜40Nにおける指紋領域として使用するメモリ領域を指定する(ステップS104)。つづいて、制御部11は、指紋領域指定部15を介して、乱数データバッファ17に格納されている乱数データを指定された指紋領域へ書き込む(ステップS105)。
つぎに、制御部11は、指紋生成部12に対して、各メモリチップ40A〜40Nの指紋領域に書き込まれた乱数データを読み出すように指示する(ステップS106)。これにより読み出された読出データは、読出データバッファ18に一時記憶される。
つぎに、制御部11は、指紋生成部12に対し、乱数データバッファ17に格納されている乱数データと、読出データバッファ18に格納されている各メモリチップ40A〜40Nからの読出データとを比較してメモリチップ40A〜40Nごとの指紋データを作成するように指示する(ステップS107)。
つぎに、制御部11は、指紋生成部12で生成されたメモリチップ40A〜40Nごとの指紋データを所定の配置に従って結合することで、記憶装置100全体の指紋データを生成する(ステップS108)。なお、所定の配置とは、たとえば2次元配列するメモリチップ40A〜40Nの実配置に応じた配置など、種々の配置を適用することができる。
つぎに、制御部11は、生成した記憶装置100全体の指紋データに、ステップS102において環境センサ部13から取得した温度情報を付加することで、識別データを生成する(ステップS109)。その後、制御部11は、生成した識別データをたとえば外部記憶部19または内部記憶部16に格納し(ステップS110)、本動作を終了する。
また、図7に示すメモリシステム指紋管理部10の動作に対し、各メモリチップ40A〜40Nのメモリチップ指紋管理部42は、たとえば図8に示すように動作する。すなわち、メモリチップ指紋管理部42は、起動後、LSIコントローラ20を介してメモリシステム指紋管理部10から指紋データの生成命令を受信したか否かを判定する(ステップS121)。指紋データの生成命令を受信しない場合(ステップS121;NO)、メモリチップ指紋管理部42は、そのまま本動作を終了する。
一方、指紋データの生成命令を受信した場合(ステップS121;YES)、メモリチップ指紋管理部42は、指紋データ生成命令に含まれるシステム情報を特定する(ステップS122)。また、メモリチップ指紋管理部42は、同一のバス30に接続されたメモリチップ40A〜40Nに関する周辺チップ情報を取得する(ステップS123)。つづいて、メモリチップ指紋管理部42は、特定したシステム情報および取得した周辺チップ情報を記憶部423に格納する(ステップS124)。
つぎに、メモリチップ指紋管理部42は、指紋データ生成命令で指定された指紋領域を消去し(ステップS125)、つづいて、この指紋領域へ、生成命令とともに通知された乱数データを書き込む(ステップS126)。
つぎに、メモリチップ指紋管理部42は、指紋領域から書き込んである乱数データを読み出す(ステップS127)。その後、メモリチップ指紋管理部42は、読み出した指紋データを読出データとしてメモリシステム指紋管理部10へ送信し(ステップS128)、本動作を終了する。なお、メモリチップ指紋管理部42は、メモリシステム指紋管理部10で生成された自身のメモリチップの指紋データを取得し、これを記憶部423に保存しておいてもよい。
ここで、各メモリチップ40A〜40Nに対して生成される指紋データと、記憶装置100全体に対して生成される指紋データとについて、図面を用いて詳細に説明する。なお、以下では、両者を区別するため、各メモリチップ40A〜40Nに対して生成される指紋データをチップ指紋といい、記憶装置100全体に対して生成される指紋データをマトリクス指紋という。
図9は、実施形態1においてチップ指紋からマトリクス指紋を生成する際の一例を示す模式図である。たとえば記憶装置100がメモリチップ40として8つのメモリチップA〜Hを備えており、これらが2行4列のマトリクス状にバス30上に配置されているとすると、図9(a)に示すように、メモリシステム指紋管理部10における指紋生成部12は、合計8つのチップ指紋A〜Hを生成する(図7のステップS107)。生成された8つのチップ指紋A〜Hは、図9(b)に示すように、メモリチップA〜Hの配列に従って結合される(図7のステップS108)。これにより、記憶装置100に対するマトリクス指紋TM1が生成される。ただし、生成されるマトリクス指紋は、図9(b)に示すような2次元データに限らず、1次元のラインデータであってもよい。2次元データとするか1次元データとするかは、たとえばユーザが指定できるように構成されてもよい。
つづいて、メモリシステム指紋管理部10の制御部11によるユーザアクセス時の動作について、図10を用いて詳細に説明する。図10に示すように、制御部11は、ユーザからアクセスがあるまで待機し(ステップS141;NO)、ユーザからアクセスされると(ステップS141;YES)、まず、環境センサ部13から現在の温度情報を取得し(ステップS142)、取得した温度情報と対応する識別データを外部記憶部19または内部記憶部16から取得する(ステップS143)。
つぎに、制御部11は、乱数発生部14より乱数データを取得し、取得した乱数データを乱数データバッファ17に格納する(ステップS144)。なお、取得される乱数データは、指紋データの作成に使用した乱数データである。この乱数データは、外部記憶部19に保持されていてもよいし、内部記憶部16に保持されていてもよい。
つぎに、制御部11は、各メモリチップ40A〜40Nの指紋領域を特定し(ステップS145)、特定した各メモリチップ40A〜40Nの指紋領域から読出データを取得するように、指紋領域指定部15に指示する(ステップS146)。これにより読み出された読出データは、読出データバッファ18に一時記憶される。
つぎに、制御部11は、指紋生成部12に対し、乱数データバッファ17に格納されている乱数データと、読出データバッファ18に格納されている各メモリチップ40A〜40Nからの読出データとを比較してメモリチップ40A〜40Nごとの指紋データを作成するように指示する(ステップS147)。
つぎに、制御部11は、指紋生成部12で生成されたメモリチップ40A〜40Nごとの指紋データを所定の配置に従って結合することで、記憶装置100全体の指紋データを生成する(ステップS148)。なお、所定の配置は、図7のステップS108と同様に、たとえば2次元配列するメモリチップ40A〜40Nの実配置に応じた配置などであってよい。
つぎに、制御部11は、生成した記憶装置100全体の指紋データと、ステップS143で読み出した識別データにおける指紋データとを照合する(ステップS149)。つづいて、制御部11は、両者が一致したか否かを判定し(ステップS150)、一致した場合(ステップS150;YES)、ユーザからメモリチップ40A〜40Nへのアクセスを許可し(ステップS151)、ステップS154へ進む。なお、一度許可されたメモリチップ40A〜40Nへのアクセスは、記憶装置100への電源供給が遮断されるまで継続されてもよい。また、メモリチップ40A〜40Nへのアクセス許可は、ユーザ単位で発行されてもよい。
一方、生成した指紋データと読み出した識別データにおける指紋データとが一致しなかった場合(ステップS150;NO)、制御部11は、指紋データの再照合が必要か否かを判定する(ステップS152)。再照合が必要か否かは、たとえば何回目の照合であるかや温度の安定度などに基づいて判定されてもよい。再照合が必要な場合(ステップS152;YES)、制御部11は、ステップS142へリターンし、以降の動作を再度実行する。一方、再照合が不要な場合(ステップS152;NO)、制御部11は、ユーザからメモリチップ40A〜40Nへのアクセスを不許可とし(ステップS153)、ステップS154へ進む。なお、一度アクセスが不許可とされたメモリチップ40A〜40Nへのアクセスは、記憶装置100への電源供給が遮断されるまで継続されてもよい。また、メモリチップ40A〜40Nへのアクセス不許可は、ユーザ単位で発行されてもよい。
その後、制御部11は、本動作を終了するか否かを判定し(ステップS154)、終了しない場合(ステップS154;NO)、ステップS141へリターンし、終了する場合(ステップS154;YES)、本動作を終了する。
また、メモリシステム指紋管理部10からアクセス要求があったメモリチップ40A〜40Nのメモリチップ指紋管理部42は、図11に示すような、チップ単位での個体識別動作を実行してもよい。すなわち、図11に示すように、メモリチップ指紋管理部42は、メモリシステム指紋管理部10からアクセス要求を受信するまで待機し(ステップS161;NO)、アクセス要求を受信すると(ステップS161;YES)、記憶部423からシステム情報および周辺チップ情報を読み出す(ステップS162)。
つぎに、メモリチップ指紋管理部42は、アクセス要求に含まれるシステム情報を特定するとともに(ステップS163)、同一のバス30に接続されたメモリチップ40A〜40Nに関する周辺チップ情報を取得する(ステップS164)。
つぎに、メモリチップ指紋管理部42は、アクセス要求から特定したシステム情報および取得した周辺チップ情報と、記憶部423から読み出したシステム情報および周辺チップ情報とを照合する(ステップS165)。つづいて、メモリチップ指紋管理部42は、これらの情報が一致したか否かを判定し(ステップS166)、一致した場合(ステップS166;YES)、自身のメモリチップへのアクセスを許可し(ステップS167)、ステップS170へ進む。なお、一度発行されたチップ単位のアクセス許可は、記憶装置100への電源供給が遮断されるまで継続されてもよい。また、このアクセス許可は、ユーザ単位で発行されてもよい。
一方、特定したシステム情報および取得した周辺チップ情報と読み出したシステム情報および周辺チップ情報とが一致しなかった場合(ステップ166;NO)、メモリチップ指紋管理部42は、これらの情報の再照合が必要か否かを判定する(ステップS168)。再照合が必要か否かは、たとえば何回目の照合であるかや温度の安定度などに基づいて判定されてもよい。再照合が必要な場合(ステップS168;YES)、メモリチップ指紋管理部42は、ステップS162へリターンし、以降の動作を再度実行する。一方、再照合が不要な場合(ステップS168;NO)、制御部11は、自身のメモリチップへのアクセスを不許可とし(ステップS169)、ステップS170へ進む。なお、一度発行されたチップ単位のアクセス不許可は、記憶装置100への電源供給が遮断されるまで継続されてもよい。また、このアクセス不許可は、ユーザ単位で発行されてもよい。
その後、メモリチップ指紋管理部42は、本動作を終了するか否かを判定し(ステップS170)、終了しない場合(ステップS170;NO)、ステップS161へリターンし、終了する場合(ステップS170;YES)、本動作を終了する。
なお、ステップS168において再照合が必要と判定された場合(ステップS168;YES)、上述したように、ステップS162へリターンして以降の動作を再度実行する以外にも、たとえば、セキュリティパスコードを予め用意しておき、これの入力を要求するなどの方法も考えられる。また、メモリチップが盗難された場合を想定し、アクセス不許可となったメモリチップに格納されているユーザデータを自動的に消去したり、制御部41を機能不可能な状態としたりできるようにしてもよい。
以上のように、実施形態1では、メモリチップのプロセス起因によるばらつきを利用して、書込データ(乱数データ)と読出データとの間でミスマッチしたビットの分布をそのメモリチップの指紋データ(チップ指紋)とする。また、実施形態1では、複数のメモリチップの配列等に従って記憶装置100全体の指紋データ(マトリクス指紋)を生成する。このように、複製困難な物理的特徴を具備する素子ばらつきを利用することで、複製困難な識別用のデータ(指紋データ)を生成することが可能となるため、より正確な個体識別が可能となる。また、この個体識別を記憶装置100全体および/またはメモリチップ単体のセキュリティ指紋として使用することで、より安全性の高いセキュリティシステムを実現することも可能となる。
たとえば、複数のメモリチップ40A〜40Nの一部が盗難などにあった場合には、ユーザアクセス時に生成されるマトリクス指紋が初期のマトリクス指紋と一致しない。そこで、このような場合には、サーバからの命令やメモリシステム指紋管理部10における判断やメモリチップ指紋管理部42における判断にしたがって、記憶装置100全体または盗難等された可能性があるメモリチップの利用禁止やデータ消去などを行うことが可能となる。
また、複数のメモリチップ40A〜40Nの一部が盗難などにあった場合には、各メモリチップ40における周辺チップ情報も初期の周辺チップ情報と一致しない。したがって、このような場合にも、サーバからの命令やメモリシステム指紋管理部10における判断やメモリチップ指紋管理部42における判断にしたがって、記憶装置100全体または盗難等された可能性があるメモリチップの利用禁止やデータ消去などを行うことが可能となる。
さらに、実施形態1では、温度センサなどの環境センサ部13を設け、この環境センサ部13による検出結果に応じた指紋データを生成する。そのため、温度などの環境によって生成される指紋データが異なる場合でも、その環境に応じた指紋データを生成することが可能となり、より正確な個体識別が可能となる。
さらにまた、実施形態1では、各メモリチップ40A〜40Nにおける一部のメモリ領域を指紋専用のメモリ領域として使用するが、この場合、この指紋領域に対する比較的頻度の高い書き込みなどのサイクル動作が発生しないため、素子劣化の影響を低減することが可能となる。その結果、より再現性の高い個体識別を実現することが可能となる。
(実施形態2)
つぎに、実施形態2に係る個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムについて、図面を参照して詳細に説明する。
実施形態1では、メモリシステム指紋管理部10内で個体識別を実行したが、これに限らず、個体識別をたとえばネットワーク上のサーバなど、記憶装置外で実行することも可能である。実施形態2では、ネットワーク上のサーバにおいて個体識別を行う場合を例示する。
実施形態2にかかる記憶装置は、実施形態1において例示した記憶装置と同様の構成を有してよい。ただし、実施形態2では、記憶装置におけるメモリシステム指紋管理部10がインターネットやLAN(Local Area Network)などのネットワークを介してサーバと通信可能である。
つづいて、実施形態2における記憶装置の動作について、図面を用いて詳細に説明する。図12は、記憶装置におけるメモリシステム指紋管理部10の制御部11による起動時の動作例を示すフローチャートである。なお、図12において、図7と同様のステップについては、同一の符号を付し、重複する説明を省略する。また、実施形態1において図8を用いて説明した動作は、実施形態2でも同様であるため、ここでは詳細な説明を省略する。
図12に示すように、制御部11は、起動後、図7のステップS101〜S109と同様の動作を実行することで、識別データを生成する。つぎに、制御部11は、生成した識別データをネットワーク経由でサーバへ送信し(ステップS210)、その後、本動作を終了する。これに対し、サーバは、送信された識別データを所定の記憶領域(たとえば外部記憶部19)に記憶しておく。
つづいて、実施形態2におけるユーザアクセス時の動作について、図13を用いて詳細に説明する。図13は、実施形態2におけるユーザアクセス時の動作の一例を示すフローチャートである。なお、図13において、図10と同様のステップについては、同一の符号を付し、重複する説明を省略する。また、実施形態1において図11を用いて説明した動作は、実施形態2でも同様であるため、ここでは詳細な説明を省略する。
図13に示すように、制御部11は、図10のステップS141〜S148と同様の動作を実行することで、各メモリチップ40A〜40Nに対して生成した指紋データを結合する。つぎに、制御部11は、生成した記憶装置100全体の指紋データに、ステップS142において環境センサ部13から取得した温度情報を付加することで、識別データを生成し(ステップS241)、この識別データをネットワーク経由でサーバへ送信する(ステップS242)。これに対し、サーバは、送信された識別データと、所定の記憶領域(たとえば外部記憶部19)に記憶しておいた識別データとを照合し、両者が一致するか否かを判定する。この判定結果は、記憶装置100へ送られ、制御部11へ入力される。
その後、制御部11は、サーバから照合結果を受信すると、照合結果が適正であるか否か、すなわち同一温度情報での指紋データが一致するか否かを判定し(ステップS243)、照合OKの場合(ステップS243;YES)、図10のステップS151と同様に、ユーザからメモリチップ40A〜40Nへのアクセスを許可し(ステップS151)、ステップS154へ進む。なお、一度許可されたメモリチップ40A〜40Nへのアクセスは、記憶装置100への電源供給が遮断されるまで継続されてもよい。また、メモリチップ40A〜40Nへのアクセス許可は、ユーザ単位で発行されてもよい。
一方、照合結果がNGであった場合(ステップS243;NO)、制御部11は、図10のステップS152と同様に、指紋データの再照合が必要か否かを判定し、再照合が必要であれば(ステップS152;YES)、ステップS142へリターンし、再照合が不要であれば(ステップS152;NO)、ユーザからメモリチップ40A〜40Nへのアクセスを不許可として(ステップS153)、ステップS154へ進む。なお、一度アクセスが不許可とされたメモリチップ40A〜40Nへのアクセスは、記憶装置100への電源供給が遮断されるまで継続されてもよい。また、メモリチップ40A〜40Nへのアクセス不許可は、ユーザ単位で発行されてもよい。
その後、制御部11は、本動作を終了するか否かを判定し(ステップS154)、終了しない場合(ステップS154;NO)、ステップS141へリターンし、終了する場合(ステップS154;YES)、本動作を終了する。
以上のように、実施形態2によれば、サーバ側で記憶装置および/または各メモリチップの個体識別をより正確に行うことが可能となる。そのため、たとえば図14に示すような、多数のメモリチップ40A〜40Nを搭載した大規模不揮発性メモリ(たとえば大規模サーバ用SSDメモリ)である分散メモリ400においても、より正確な個体識別およびこれを用いたセキュリティシステムを実現することが可能となる。
たとえば、図14に示す分散メモリ400において、メモリシステム指紋管理部10は、すべてのメモリチップ40A〜40Nの識別データを管理する。そこで、特定のメモリチップ40の確認できなくなると、そのメモリチップに関する情報(以下、未確認チップ情報という)がサーバ等へ送信されて記録される。その後、ユーザ(たとえば不審なユーザ)がそのメモリチップ40へアクセスすると、未確認チップ情報がそのメモリチップ40のメモリシステム指紋管理部10へ通知される。メモリシステム指紋管理部10は、未確認チップ情報に基づいてアクセス対象が未確認チップであることが判明すると、自動的に該当するメモリチップへのアクセスを禁止する。その際、メモリシステム指紋管理部10は、該当チップのデータを消去してもよい。
その他の構成、動作および効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
(実施形態3)
つぎに、実施形態3に係る個体識別装置、記憶装置、個体識別システム、その方法、およびプログラムについて、図面を参照して詳細に説明する。
上述した実施形態では、各メモリチップ40A〜40Nに対して生成したチップ指紋が、たとえば2次元配列するメモリチップ40A〜40Nの実配置に応じた配置などの固定された組合せ配置に従って組み合わされていた。これに対し、実施形態3では、組合せ配置を決定するためのパラメータを1つ追加し、このパラメータに応じることで、組合せ配置が記憶装置ごとに異なるようにする。なお、パラメータとしては、たとえばユーザ指定のパスワードや記憶装置の製造番号など、記憶装置またはユーザごとに固有の情報を適用することができる。
図15は、実施形態3においてチップ指紋からマトリクス指紋を生成する際の一例を示す模式図である。たとえば記憶装置100がメモリチップ40として8つのメモリチップA〜Hを備えており、これらが2行4列のマトリクス状にバス30上に配置されているとすると、図15(a)に示すように、メモリシステム指紋管理部10における指紋生成部12は、合計8つのチップ指紋A〜Hを生成する。生成された8つのチップ指紋A〜Hは、図15(b)に示すように、たとえばユーザ指定のパスワードを用いて生成された組合せ配列(以下、指紋マトリクスMMという)に従って結合される。これにより、図15(c)に示すように、記憶装置100またはユーザごとに異なる配列で組み合わされたマトリクス指紋TM2が生成される。
つづいて、実施形態3にかかる記憶装置の構成および動作について説明する。実施形態3にかかる記憶装置は、実施形態1において例示した記憶装置100と同様の構成を有してよい。ただし、実施形態3では、指紋マトリクスMMの生成に使用した情報(ここでは、ユーザ指定のパスワードとする)またはこれを用いて生成された指紋マトリクスMM自体が、外部記憶部19、内部記憶部16および記憶部423の何れか1つ以上に記憶される。
なお、ユーザ指定のパスワードは、上述のような指紋マトリクスMMの生成に限らず、たとえばメモリチップ40中のいずれのブロックまたはブロック中のどこの領域(ワード線あるいはビット線)を指紋領域として使用するかを決定するためのパラメータとしても使用することが可能である。
つづいて、実施形態3における記憶装置の動作について、図面を用いて詳細に説明する。図16は、記憶装置におけるメモリシステム指紋管理部10の制御部11による起動時の動作例を示すフローチャートである。なお、実施形態3では、実施形態2の動作をベースとした場合の動作例を例示するが、これに限られず、たとえば実施形態1の動作をベースとしてもよい。また、図16において、図12と同様のステップについては、同一の符号を付し、重複する説明を省略する。さらに、実施形態1において図8を用いて説明した動作は、実施形態3でも同様であるため、ここでは詳細な説明を省略する。
図16に示すように、制御部11は、起動後、図12のステップS101と同様に、識別データの生成が必要であるか否かを判定し、必要である場合(ステップS101;YES)、ステップS301へ進み、必要でない場合(ステップS101;NO)、そのまま本動作を終了する。
ステップS301では、制御部11は、ユーザからパスワードを入力する。これは、たとえば記憶装置が接続された上位装置に対してユーザがパスワードを入力する構成であってもよいし、ユーザが記憶装置に直接パスワードを入力する構成であってもよい。
つぎに、制御部11は、図12のステップS102〜S107と同様の動作を実行することで、メモリチップ40A〜40Nごとの指紋データを生成する。
つぎに、制御部11は、ステップS301で入力されたパスワードを用いて指紋マトリクスMMを生成し(ステップS302)、この生成された指紋マトリクスMMに従ってメモリチップ40A〜40Nごとの指紋データを結合することで、記憶装置100全体の指紋データを生成する(ステップS303)。
つぎに、制御部11は、図12のステップS109およびS210と同様に、生成した指紋データに温度情報を付加することで識別データを生成し、この識別データをサーバへ送信して、本動作を終了する。これに対し、サーバは、送信された識別データを所定の記憶領域(たとえば外部記憶部19)に記憶しておく。
つづいて、実施形態3におけるユーザアクセス時の動作について、図17を用いて詳細に説明する。図17は、実施形態3におけるユーザアクセス時の動作の一例を示すフローチャートである。なお、図17において、図13と同様のステップについては、同一の符号を付し、重複する説明を省略する。また、実施形態1において図11を用いて説明した動作は、実施形態3でも同様であるため、ここでは詳細な説明を省略する。
図17に示すように、制御部11は、図13のステップS141と同様に、ユーザからアクセスがあるまで待機し(ステップS141;NO)、ユーザからのアクセスが発生すると(ステップS141;YES)、ユーザからパスワードを入力する(ステップS341)。これは、図16のステップS301と同様に、たとえば記憶装置が接続された上位装置に対してユーザがパスワードを入力する構成であってもよいし、ユーザが記憶装置に直接パスワードを入力する構成であってもよい。
つぎに、制御部11は、図13のステップS142〜S147と同様の動作を実行することで、メモリチップ40A〜40Nごとの指紋データを生成する。
つぎに、制御部11は、ステップS341で入力されたパスワードを用いて指紋マトリクスMMを生成し(ステップS342)、この生成された指紋マトリクスMMに従ってメモリチップ40A〜40Nごとの指紋データを結合することで、記憶装置100全体の指紋データを生成する(ステップS343)。
その後、制御部11は、図13のステップS241〜S242およびS150〜S153と同様の動作を実行することで、サーバ側での照合結果に応じてメモリチップ40A〜40Nへのアクセスを許可または不許可とする。なお、図17のステップS153において再照合が必要と判断された場合、制御部11は、先にステップS341で入力されたパスワードとは異なるパスワードを入力するように構成してもよい。
以上のように、実施形態3では、マトリクス指紋TMを生成する際のパラメータを追加しているため、より正確な個体識別が可能となる。また、この個体識別を記憶装置全体および/またはメモリチップ単体のセキュリティ指紋として使用することで、より安全性の高いセキュリティシステムを実現することも可能となる。
その他の構成、動作および効果は、上述した実施形態と同様であってよいため、ここでは詳細な説明を省略する。
上記実施形態およびその変形例は本発明を実施するための例にすぎず、本発明はこれらに限定されるものではなく、仕様等に応じて種々変形することは本発明の範囲内であり、更に本発明の範囲内において、他の様々な実施形態が可能であることは上記記載から自明である。例えば実施形態に対して適宜例示した変形例は、他の実施形態と組み合わせることも可能であることは言うまでもない。
1…個体識別システム、100…記憶装置、10…メモリシステム指紋管理部、11…制御部、12…指紋生成部、13…環境センサ部、14…乱数発生部、15…指紋領域指定部、16…内部記憶部、17…乱数データバッファ、18…読出データバッファ、19…外部記憶部、20…LSIコントローラ、30…バス、40,40A〜40N…メモリチップ、41…制御部、42…メモリシステム指紋管理部、421…システム情報管理部、422…システム情報認識部、423…記憶部、43…メモリアドレス制御部、44…メモリ部、45…動作シーケンス制御部、46…メモリチップ電源制御部、47…メモリ周辺部、48…メモリ素子部

Claims (13)

  1. 1つ以上のメモリチップを含む記憶装置を個体識別する個体識別装置であって、
    書込データを記憶する第1記憶部と、
    前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、
    前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部と、
    を備える個体識別装置。
  2. 前記指紋データ記憶する第2記憶部と、
    前記所定の領域から新たに読み出された読出データと前記書込データとを用いて前記指紋生成部が新たに生成した指紋データを、前記第2記憶部に記憶された前記指紋データと照合することで、前記記憶装置を個体識別する制御部と、
    を備える請求項1に記載の個体識別装置。
  3. 前記制御部は、前記新たに生成された指紋データと前記第2記憶部に記憶された前記指紋データとが一致しなかった場合、前記記憶装置または前記メモリチップへのアクセスを無効とするか、または、前記記憶装置または前記メモリチップに保持されたデータを消去する、請求項2に記載の個体識別装置。
  4. 前記第2記憶部は、前記記憶装置の外部に設けられた記憶領域である、請求項3に記載の個体識別装置。
  5. 前記記憶装置の温度情報を取得する環境センサ部をさらに備え、
    前記制御部は、前記指紋データに対応づけて前記温度情報を前記所定の記憶領域に記憶させ、前記指紋生成部が前記所定の領域から新たに読み出された読出データと前記書込データとを用いて新たに前記指紋データを生成した場合、前記環境センサ部で取得された現在の温度情報に対応づけて記憶された前記指紋データと前記新たに生成された指紋データとを照合する、
    請求項3に記載の個体識別装置。
  6. 乱数である前記書込データを生成する乱数発生部をさらに備える請求項1に記載の個体識別装置。
  7. 前記指紋データは、各メモリチップに固有な第1指紋データと、前記記憶装置に固有な第2指紋データとを含み、
    前記指紋生成部は、前記書込データと各メモリチップの前記所定の領域から読み出した前記読出データとの前記ミスマッチビットから前記メモリチップごとに前記第1指紋データを生成し、前記メモリチップごとの前記第1指紋データを所定の配列に従って結合することで前記第2指紋データを生成する、請求項1に記載の個体識別装置。
  8. 所定のパスワードから前記所定の配列を生成する制御部をさらに備える請求項7に記載の個体識別装置。
  9. 前記メモリチップは、NAND型フラッシュメモリチップである、請求項1に記載の個体識別装置。
  10. 1つ以上のメモリチップを含む記憶装置を個体識別する個体識別システムであって、
    書込データを記憶する第1記憶部と、
    前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、
    前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部と、
    を備える個体識別システム。
  11. 1つ以上のメモリチップを含む記憶装置であって、
    書込データを記憶する第1記憶部と、前記書込データを各メモリチップの所定の領域に書き込む領域指定部と、前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する指紋生成部とを含む個体識別装置を備える記憶装置。
  12. 1つ以上のメモリチップを含む記憶装置を個体識別する個体識別方法であって、
    書込データを各メモリチップの所定の領域に書き込み、
    前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成する
    ことを含む個体識別方法。
  13. 1つ以上のメモリチップを含む記憶装置を個体識別するコンピュータを動作させるためのプログラムであって、
    書込データを各メモリチップの所定の領域に書き込むステップと、
    前記書込データと各メモリチップの前記所定の領域から読み出した読出データとのミスマッチビットから指紋データを生成するステップと、
    を前記コンピュータに実行させるためのプログラム。
JP2013193542A 2013-09-18 2013-09-18 個体識別装置、記憶装置、個体識別システム、その方法、およびプログラム Active JP6129699B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013193542A JP6129699B2 (ja) 2013-09-18 2013-09-18 個体識別装置、記憶装置、個体識別システム、その方法、およびプログラム
PCT/JP2014/074765 WO2015041307A1 (en) 2013-09-18 2014-09-12 Individual identification device
US15/056,133 US9983818B2 (en) 2013-09-18 2016-02-29 Individual identification device, storage device, individual identification system, method of individual identification, and program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013193542A JP6129699B2 (ja) 2013-09-18 2013-09-18 個体識別装置、記憶装置、個体識別システム、その方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2015061201A true JP2015061201A (ja) 2015-03-30
JP6129699B2 JP6129699B2 (ja) 2017-05-17

Family

ID=52688954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013193542A Active JP6129699B2 (ja) 2013-09-18 2013-09-18 個体識別装置、記憶装置、個体識別システム、その方法、およびプログラム

Country Status (3)

Country Link
US (1) US9983818B2 (ja)
JP (1) JP6129699B2 (ja)
WO (1) WO2015041307A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712166B2 (en) 2015-03-17 2017-07-18 Kabushiki Kaisha Toshiba Data generating device and authentication system
US9852281B2 (en) 2014-09-19 2017-12-26 Kabushiki Kaisha Toshiba Authentication system, authentication device, and authentication method
CN110798307A (zh) * 2019-10-30 2020-02-14 武汉极意网络科技有限公司 分散型反爬虫用户设备标记方法、装置、设备及存储介质

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7074453B2 (ja) * 2017-10-30 2022-05-24 キオクシア株式会社 メモリシステムおよび制御方法
CN110489351B (zh) * 2018-05-14 2021-03-09 英韧科技(上海)有限公司 芯片指纹管理装置及安全芯片
CN111709044B (zh) * 2020-06-19 2021-06-22 山东省计算中心(国家超级计算济南中心) 基于国密算法的硬件指纹信息生成方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07320499A (ja) * 1994-05-27 1995-12-08 Canon Inc メモリの試験装置およびメモリの試験方法
US20110252189A1 (en) * 2010-04-12 2011-10-13 Samsung Electronics Co., Ltd. Method for generating physical identifier in storage device and machine-readable storage medium
US20130061287A1 (en) * 2010-05-07 2013-03-07 Bo-gyeong Kang Method for authenticating a storage device, machine-readable storage medium, and host device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6760472B1 (en) 1998-12-14 2004-07-06 Hitachi, Ltd. Identification method for an article using crystal defects
JP2000235636A (ja) 1998-12-14 2000-08-29 Hitachi Ltd 欠陥情報を利用した情報媒体
JP2001007290A (ja) 1999-06-24 2001-01-12 Mitsubishi Electric Corp 半導体装置、半導体装置の製造方法、および、通信方法
CN1292356C (zh) 2002-04-17 2006-12-27 松下电器产业株式会社 非易失性半导体存储装置及其机密保护方法
JP3810378B2 (ja) 2002-04-17 2006-08-16 松下電器産業株式会社 不揮発性半導体記憶装置及びその機密保護方法
JP4594760B2 (ja) 2005-02-09 2010-12-08 株式会社東芝 個体認証装置
DE102006051591B3 (de) * 2006-11-02 2008-04-30 Infineon Technologies Ag Verfahren zum Testen eines Speicherchips
US7979658B2 (en) * 2008-03-25 2011-07-12 Spansion Llc Secure management of memory regions in a memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07320499A (ja) * 1994-05-27 1995-12-08 Canon Inc メモリの試験装置およびメモリの試験方法
US20110252189A1 (en) * 2010-04-12 2011-10-13 Samsung Electronics Co., Ltd. Method for generating physical identifier in storage device and machine-readable storage medium
US20130061287A1 (en) * 2010-05-07 2013-03-07 Bo-gyeong Kang Method for authenticating a storage device, machine-readable storage medium, and host device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852281B2 (en) 2014-09-19 2017-12-26 Kabushiki Kaisha Toshiba Authentication system, authentication device, and authentication method
US9712166B2 (en) 2015-03-17 2017-07-18 Kabushiki Kaisha Toshiba Data generating device and authentication system
CN110798307A (zh) * 2019-10-30 2020-02-14 武汉极意网络科技有限公司 分散型反爬虫用户设备标记方法、装置、设备及存储介质
CN110798307B (zh) * 2019-10-30 2023-08-22 武汉极意网络科技有限公司 分散型反爬虫用户设备标记方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US9983818B2 (en) 2018-05-29
JP6129699B2 (ja) 2017-05-17
WO2015041307A1 (en) 2015-03-26
US20160179431A1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
JP6129699B2 (ja) 個体識別装置、記憶装置、個体識別システム、その方法、およびプログラム
US11354253B2 (en) Storage system and method for performing and authenticating write-protection thereof
CN111475871B (zh) 存储器系统
KR101960036B1 (ko) 비휘발성 저장 장치의 인증 방법 및 장치
US7788506B2 (en) Method and device for protecting a memory against attacks by error injection
US20150143134A1 (en) Secure data encryption in shared storage using namespaces
US20100058073A1 (en) Storage system, controller, and data protection method thereof
US10852973B2 (en) Data storage device and operating method thereof
JP6399523B2 (ja) メモリ・デバイスの内容を保護するための方法およびメモリ・デバイス
KR20180031568A (ko) 반도체 장치 및 보안 시스템
US20150370482A1 (en) Storage apparatus, communication apparatus, and storage control system
JP2020021385A (ja) メモリシステム
JP6103958B2 (ja) 半導体記憶装置
US10037151B2 (en) Data storage device performing pattern identification operation, operating method thereof, and data processing system including the same
US11468159B2 (en) Memory system
JP2023045455A (ja) メモリシステムおよび乱数生成装置
TWI692763B (zh) 記憶體控制裝置、快閃記憶體的控制方法及快閃記憶體的安全特徵的生成方法
KR20220128394A (ko) 다인자 인증 가능 메모리 서브시스템
KR102363182B1 (ko) 저장 디바이스에서 악성 액티비티들을 검출하기 위한 모듈 및 방법
US11709785B2 (en) Just-in-time post-processing computation capabilities for encrypted data
US20230393974A1 (en) Memory system and address verification method
JP7030636B2 (ja) メモリシステムおよびその制御方法
CN109273031B (zh) 一种flash译码电路和flash译码方法
CN117150496A (zh) 装置标识符组合引擎3层架构
JP5133147B2 (ja) 認証装置、認証方法、コンピュータプログラム

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170104

A521 Request for written amendment filed

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

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350