JP5443575B2 - メモリカード、ホスト装置、及びシステム - Google Patents

メモリカード、ホスト装置、及びシステム Download PDF

Info

Publication number
JP5443575B2
JP5443575B2 JP2012222240A JP2012222240A JP5443575B2 JP 5443575 B2 JP5443575 B2 JP 5443575B2 JP 2012222240 A JP2012222240 A JP 2012222240A JP 2012222240 A JP2012222240 A JP 2012222240A JP 5443575 B2 JP5443575 B2 JP 5443575B2
Authority
JP
Japan
Prior art keywords
data
host device
information
memory
flash memory
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.)
Expired - Fee Related
Application number
JP2012222240A
Other languages
English (en)
Other versions
JP2013117946A (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 JP2012222240A priority Critical patent/JP5443575B2/ja
Publication of JP2013117946A publication Critical patent/JP2013117946A/ja
Application granted granted Critical
Publication of JP5443575B2 publication Critical patent/JP5443575B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

メモリカード、ホスト装置、及びシステムに関するものである。
一般に、情報セキュリティを要する分野において、自己の正当性を証明する手段として
互いに共有した秘密情報と暗号器とを用いた手法が採られている。
例えば、電子決済に用いるICカード(Smart Card)等では、カード内のICには当該ICカ
ードを個別化するためのID及び秘密情報が保持されている。更にICカードは、ID及び秘密
情報に基づく認証を行うための暗号処理機能を有している。
別の例では、コンテンツの著作権保護技術において、SD(登録商標)カードの正当性を
証明するために、Content Protection for Recordable Media(CPRM)と呼ばれる認証方
式が規定されている。
Content Protection for Recordable Media (CPRM), http://www.4centity.com/ Media Identifier Management Technology (MIMT), http://www.4ecntity.com/ D. Naor, M. Naor and J. Lotspiech, "Revocation and Tracing Schemes for Stateless Receivers," Proc. CRYPTO 2001, LNCS 2139, Springer-Verlag, pp. 41-62, 2001
秘密情報の不正利用を抑制することが可能なメモリカード、ホスト装置、及びシステム
を提供する。
実施形態によれば、半導体記憶装置は、外部からアクセスが可能な通常領域と、外部か
らのアクセスが制限され認証に利用される秘匿情報が記録される秘匿領域と、を少なくと
も有するセルアレイと、外部との認証を行う認証回路と、外部からのアクセスが可能な第
1データキャッシュ回路と、外部からのアクセスが制限される第2データキャッシュ回路
とを備えるデータキャッシュとを具備し、外部から認証パラメータを含む認証要求を受信
した場合、前記認証パラメータを前記第1データキャッシュ回路に格納し、前記秘匿領域
から前記秘匿情報を読み出して前記第2データキャッシュ回路に格納して、外部への出力
を禁止し、前記秘匿情報により前記認証パラメータを暗号処理して認証情報を取得し、前
記認証情報を前記第1データキャッシュ回路に格納する。
第1の実施形態に係るメモリシステムの構成例を示すブロック図。 第1の実施形態に係るメモリシステムの認証フローを示すフロー図。 第1の実施形態に係る暗号化FKey束(FKB)の構成例を示す図。 第1の実施形態に係るメモリシステムの構成例を示すブロック図。 第1の実施形態に係るNAND製造者による秘密情報の書き込み処理を例示する図。 図5の処理を示すフロー図。 第1の実施形態に係るカード製造者によるFKBの書き込み処理を例示する図。 図7の処理を示すフロー図。 変形例1に係る被認証装置を示す図。 変形例1に係るFKBをダウンロードするシステムを示すブロック図。 変形例1に係るFKBをダウンロードするフローを示すフロー図。 第2の実施形態に係るメモリシステムの構成例を示すブロック図。 第3の実施形態に係るメモリシステムの構成例を示すブロック図。 第3の実施形態に係るメモリシステムの認証フローを示すフロー図。 第4の実施形態に係るメモリシステムの構成例を示すブロック図。 第4の実施形態に係るメモリシステムの認証フローを示すフロー図。 第3、第4の実施形態に係る機能制御の構成例を示すブロック図。 第5の実施形態に係るNANDチップの全体構成例を示すブロック図。 図18中のNAND型チップの一ブロックの構成例を示す等価回路図。 第5の実施形態に係るセルアレイの構成例を示すブロック図。 第5の実施形態に係るロムブロックの読み出し専用データを示す図。 ECCの構成例1を示すブロック図。 ECCの構成例2を示すブロック図。 ECCの構成例3を示すブロック図。 ECCの構成例4を示すブロック図。 第5の実施形態に係る秘匿ブロック内の秘匿データを示す図。 第5の実施形態に係るアクセス制御パターンの例を示す図。 第5の実施形態に係るアクセス制御パターンの利用例を示すブロック図。 第5の実施形態に係るテストフローを示す図。 第5の実施形態に係るデータ消去フローを示す図。 第6の実施形態に係るNANDチップの構成例を示すブロック図。 第6の実施形態に係るNANDチップの演算フロー1を示す図。 第6の実施形態に係るNANDチップの演算フロー2を示す図。 第6の実施形態に係るテストフローを示す図。 第6の実施形態に係る秘匿情報の検査フローを示す図。 第7の実施形態に係るコマンドマッピング例を示すタイミングチャート図。 第7の実施形態に係るコマンドマッピング例(Set/Get featureコマンド)を示すタイミングチャート図。 第8の実施形態に係るメモリカードの構成例を示す図。 第8の実施形態に係るコンテンツ保護への応用例1を示す図。 第8の実施形態に係るHDDへの応用例1を示す図。 第8の実施形態に係るHDDへの応用例2を示す図。 第8の実施形態に係るコンテンツ保護への応用例2を示す図。 第8の実施形態に係るコンテンツ保護への応用例3を示す図。 第8の実施形態に係るコンテンツ保護への応用例4を示す図。 変形例2に係るセンスアンプおよびその周辺回路の構成例を示すブロック図。 図45中のセンスアンプおよびデータキャッシュの等価回路図。
認証処理を採用したセキュリティシステムを構築する場合には、当該認証処理を行う装
置が攻撃を受けて、秘匿されている情報が抜き出されるといった事態も想定しておく必要
がある。従って、抜き出された秘匿情報を無効化(Revoke)する方法が重要となる。
前述のCPRMや、Blu-ray Discに記録されたコンテンツを保護するために規定されている
著作権保護技術であるAdvanced Access Content System(AACS)等では、秘匿情報である
デバイス鍵を無効化するために、Media Key Block(MKB)と呼ばれる技術を利用している
。また、公開鍵暗号に基づくプロトコルを採用している方式では、漏洩した秘密鍵情報と
対になった公開鍵証明書のリスト(Revocation List)を利用している。
SDカードに記録されたビデオコンテンツをPCにインストールされたソフトウェアで再生
するシステムを例に挙げる。SDカード内のCPRM処理はハードウェアで実装されているため
、秘匿された情報を不正に取り出すことは非常に困難である。それに比べて、ビデオ再生
ソフトウェアから秘匿情報を抜き出す方が、攻撃としては容易である場合が多い。現実に
も、保護されたDVDやBlu-ray Diskに記録されたコンテンツを不正に復号するソフトウェ
アが多く出回っている。当該不正ソフトウェアにおいては、正規のソフトウェアプレーヤ
から抜き出した秘匿情報が利用される。
加えて、正規のソフトウェアから抜き出した秘匿情報を利用してSDカードに成り済まし
、正規のソフトウェアプレーヤを騙すといったカード模倣ソフトウェアや模倣カードを防
ぐための対策が必要な場合もある。例えば、模倣SDカードからはコンテンツ暗号化に使わ
れた暗号化鍵を容易に読み出せるようにしておくことで、正規の録画機器を使って模倣SD
カードに録画したビデオコンテンツを、後から容易に復号できるようになる。
ここで、認証装置は、民生機器のような専用ハードウェア装置だけでなく、例えば、PC
(パーソナルコンピュータ)等で実行可能なプログラム(ソフトウェア)として提供され
、当該ソフトウェアが実質的な認証装置となる場合もある。一方、被認証装置は、例えば
、記録メディア等であり、記録メディアを構成するハードウェアの動作にファームウェア
と呼ばれるプログラムが介在する場合であっても、重要な処理や情報はセルアレイ中のハ
ードウェア内に秘匿された状態で記憶される。そのため、PC上で実行されるソフトウェア
が認証装置の場合では、記録メディア等の被認証装置に比べて耐タンパー性能(攻撃に対
する耐性)が低くなってしまうことが懸念される。
そのため、耐タンパー性能の低い認証装置を攻撃することで、耐タンパー性の高い被認
証装置に秘匿された秘密情報をも暴露され、耐タンパー性の高い装置に成りすまされるこ
とが懸念されている。このような状況に対応するため、秘密情報の不正利用を効率的に防
止する方法が要求されている。
また、近年では、比較的大きな回路規模を要求される公開鍵暗号処理やMKB処理のハー
ドウェア実装が困難である等の回路規模上の制約が同時に課せられる環境下においても、
上記要求が強くなる傾向がある。従って、回路規模の増大を最小限に抑制しつつ、秘密情
報の不正利用を効率的に防止する方法が要求されている。
以下、複数の実施形態について図面を参照して説明する。この説明においては、認証装
置、被認証装置、及びその認証方法として、メモリシステムを一例に挙げるが、これに限
られることはない。なお、この説明においては、全図にわたり共通の部分には共通の参照
符号を付す。
[第1の実施形態]
第1の実施形態に係る認証装置、被認証装置、及びその認証方法について説明する。
<1.構成例(メモリシステム)>
図1を用いて、第1の実施形態に係るメモリシステムの構成例について説明する。
図示するように、第1の実施形態に係るメモリシステムは、被認証装置であるNAND
型フラッシュメモリ10、認証装置であるホスト装置20、及び両者を仲介するコントロ
ーラ19を備える。ホスト装置20は、コントローラ19を介して、NAND型フラッシ
ュメモリ10にアクセスする。
ここで、NAND型フラッシュメモリ10等の半導体製品の製造工程について、簡単に
説明する。半導体製品の製造工程は、主に基板ウェハ上に回路を形成する前工程と、この
ウェハを個片に切り分けた後、配線や樹脂パッケージ封入等を行う後工程と、に分けるこ
とができる。
コントローラ19は、前工程においてNAND型フラッシュメモリ10内に包含される
よう構成される場合、前工程においては包含されないが後工程において同一パッケージに
包含されるように構成される場合、NAND型フラッシュメモリ10とは異なるチップと
して提供される場合、等様々な場合がある。図1を含め、以下では、コントローラ19が
NAND型フラッシュメモリ10とは異なるチップとして提供される場合を例にとって説
明している。
以下、特に断りのない限り、ホスト装置20とNAND型フラッシュメモリ10との間
のデータや命令のやり取りは、多くの場合コントローラ19が仲介する。この場合でも、
コントローラ19は、前述のデータや命令の本質的内容を変えることはないため、詳細に
ついては省略して説明する場合がある。なお、NAND型フラッシュメモリ10及びコン
トローラ19の構成例の詳細については後述する。
また、ホスト装置20の構成としては、民生機器のように専用ハードウェアで構成され
る場合、専用ハードウェアとそれを動作させるファームウェアの組み合わせで構成される
場合だけでなく、装置の全機能がPC上で動作するソフトウェアで実現される場合も想定さ
れる。本実施形態は、ホスト装置20がどのような構成を採用していても、基本的には適
用し得るものである。
図1に示す各コンポーネント、データ処理について、以下で説明する。本実施形態では
、被認証装置に記録されている秘密識別情報SecretIDを第三者から秘匿した状態で読み出
すと共に、正規の被認証装置から読み出されたデータであることを確認する方法、及び同
方法を、NAND型フラッシュメモリ10を利用したメモリシステムに適用する場合の構
成例を示すものである。
1−1.NAND型フラッシュメモリ
本実施形態において、NAND型フラッシュメモリ10は、被認証装置である。
図示するように、本実施形態に係るNAND型フラッシュメモリ10は、セルアレイ(
Cell array)11、及びセルアレイ11の周辺領域に配置されるデータキャッシュ(Data
Cache)12、データ生成回路(Generate)13,14、一方向性変換器(Oneway)15
を備える。データ生成回路(Generate)13,14及び一方向性変換器(Oneway)15は
認証回路17を構成する。
セルアレイ11は、外部からの読み出し及び書き込みの両方が可能な読み書き可能領域
(Read/Write area)11−1、外部からの読み出し及び書き込みの両方が禁止された秘
匿領域(Hidden area)11−2、外部からの書き込みが禁止されたロム領域(ROM area
)11−3等を備える。
読み書き可能領域(一般領域)11−1は、NAND型フラッシュメモリ10の外部か
らのデータ書き込み及びデータ読み出し両方が可能な領域である。読み書き可能領域11
−1には、FKeyvを秘匿するために用意された暗号化FKey束である鍵管理情報FKBv(Famil
y Key Block)が記録される。FKBvはNAND型フラッシュメモリ10に記録される他の
データとは異なり、NAND型フラッシュメモリ10の製造時だけでなく、例えばSDカー
ドのようにNAND型フラッシュメモリ10にコントローラを結合させて一般ユーザ向け
のストレージメディアを製造する段階や、或いは前記ストレージメディアの販売後に、ユ
ーザの要求に従ってサーバからダウンロードして記録するように構成することも可能であ
る。詳細については、後述する。
ここで、鍵管理情報FKBvとは、ホスト装置20が保持する秘密情報IDKeykと、当該秘密
情報IDKeykのインデックス情報kとに基づいて秘匿情報FKeyvを復号するために用いられる
情報、または、ホスト装置20が保持する秘密情報IDKeykと、当該ホスト装置20の識別
情報とに基づいて秘匿情報FKeyvを復号するために用いられる情報である。
また、鍵管理情報FKBvは、NAND型フラッシュメモリ10毎にユニークに用意するだ
けでなく、製造工程に合わせて例えばNAND型フラッシュメモリ10の製造ロット(lo
t)単位やウェハ(Wafer)単位等、複数のNAND型フラッシュメモリ10に共通に付す
ことが可能な情報(対応付けられることが可能な情報)である。また、鍵管理情報FKBvの
インデックス情報vは、鍵管理情報FKBvの識別情報またはバージョン番号情報であっても
よい。
秘匿領域11−2は、NAND型フラッシュメモリ10の外部からのデータ書き込み及
びデータ読み出し両方が禁止される領域(Read/Write inhibit)である。秘匿領域11−
2には、認証処理においてNAND型フラッシュメモリ10が用いる秘密情報NKeyi及び
NAND型フラッシュメモリ10の秘密識別情報SecretIDが記録される。
ロム領域11−3は、NAND型フラッシュメモリ10外部からのデータ書き込みが禁
止され、一方データ読み出しが許可される領域である。ロム領域11−3には、鍵管理情
報FKBvによって秘匿されている秘匿情報FKeyvを示すためのインデックス情報v(index of
FKey)、秘匿情報FKeyvによって暗号化された秘密識別情報SecretID(E-SecretID)、秘
密情報NKeyiを示すためのインデックス情報i(index of NKey)が記録される。
本実施形態では、インデックス情報iやインデックス情報vを記録する際にデータに誤り
が生じてしまった場合でも、正しい識別情報が読み出せるようにするために、一般的には
誤り訂正符号を付加した状態で記録される。しかしながら、説明を簡略化するため、ここ
では誤り訂正符号化及び復号化処理については特に図示しないものとする。
なお、ロム領域11−3は、例えば1回の書き込みのみ許容されるOTP(One Time P
rogram)領域であってもよいし、NAND型フラッシュメモリ10の製造工程においては
読み出し及び書き込みが可能な一般領域であって、出荷後の管理フラグの書き換えによっ
て読み出し専用となる領域であってもよい。または、当該領域に対する書き込みコマンド
を一般領域とは異なる特殊コマンドとし、NAND型フラッシュメモリ10の受領者には
この特殊コマンドを提供しない等の方法を利用してもよい。他には、NAND型フラッシ
ュメモリ10上では一般領域の扱いであるが、コントローラ19がホスト装置20に提供
する機能を読み出しのみに限定する、などの構成をとってもよい。
なお、ロム領域11−3に記録される情報は後述の通り、秘匿領域11−2に記録され
る情報と関連付けられているため、ロム領域11−3に記録される情報を改ざんした場合
、NAND型フラッシュメモリ10の認証機能を有効に働かせることができなくなる。従
って改ざんされることによるセキュリティ上の懸念はないため、必ずしもロム領域である
必要はなく、読み出し及び書き込みが可能な一般領域で代用してもよい。この場合、図面
中のロム領域11−3を読み書き可能領域(一般領域)11−1と読み替えればよい。関
連して、ロム領域11−3中に記載されているデータの一部を読み書き可能領域(一般領
域)11−1に記録してもよい。例えば、インデックス情報v(index of FKey)を読み書
き可能領域(一般領域)に記録し、暗号化された秘密識別情報(E-SecretID)とインデッ
クス情報v(index of FKey)をロム領域11−3に記録するという構成も可能である。上
記ロム領域11−3の構成例については、本明細書にて他の実施形態や変形例として後述
されるロム領域11−3にも適用可能である。
暗号化された秘密識別情報E-SecretIDとは、NAND型フラッシュメモリチップ10毎
に固有に(ユニークに)付される秘密識別情報SecretIDを秘匿情報FKeyvによって暗号化
したデータである。或いは、NAND型フラッシュメモリに予めコンテンツを記録して販
売するようなプリレコーディング(事前記録)コンテンツ配布用途において同じコンテン
ツデータを記録する際には、敢えて同じ暗号化秘密識別情報E-SecretIDを記録する等、用
途に合わせて同じ暗号化秘密識別情報を複数のNAND型フラッシュメモリに記録するこ
ともできる。
データキャッシュ12は、セルアレイ11から読み出したデータを一時的に記憶する。
データ生成部13,14は、複数の入力データから予め定められた演算によって出力デ
ータを生成する回路である。
データ生成部13は、ホスト装置20から受信した定数HCjを前述の秘密情報NKeyiを用
いて変換することで、秘密情報HKeyi,jを生成する。データ生成部14は、ホスト装置2
0から受信した乱数RNhを秘密情報HKeyi,jを用いて変換することで、セッション鍵SKeyi,
jを生成する。データ生成部13,14は、ハードウェア(回路)若しくはソフトウェア
、またはハードウェアとソフトウェア両方の組み合わせでも実装され得る。
データ生成部13,14は、回路として実装される場合は、全体の回路規模を小さくす
るために後述の一方向性変換器15と同じ或いは一方向性変換器を流用した回路や、AES
(Advanced Encryption Standard)暗号化器等を用いることも可能である。同様に、デー
タ処理手順を分かり易くするために異なる構成要素として図示されている二つのデータ生
成部は、同じ回路を繰り返し利用することが可能である。この例の場合、HKeyi、j=AES_E
(NKeyi, HCj)、SKeyi、j= AES_E(HKeyi、j, RNh)などの構成をとることが可能である。
一方向性変換器15は、入力されたデータと別途入力された鍵データに一方向性の変換
を施し、一方向性変換された入力データを出力する。一方向性変換器15はハードウェア
(回路)若しくはソフトウェア、またはハードウェアとソフトウェア両方の組み合わせで
も実装され得る。
一方向性変換器15は、秘匿領域11−2から読み出した秘密識別情報SecretIDを、デ
ータ生成回路14によって生成されたセッション鍵SKeyi,jを用いて一方向性関数により
変換し、一方向性変換識別情報Oneway-ID (= Oneway(SKeyi,j, SecretID))を生成する。
また、一方向性変換器15は、回路として実装される場合は、前述の通り、全体の回路規
模を小さくするために、データ生成部14等を流用して使用することも可能である。この
例の場合、Oneway-ID=AES_E(SKeyi、j, SecretID) (+) SecretIDなどの構成をとることが
可能である。
また、図示しないが、コントローラ19を介してホスト装置20にデータを出力する出
力部等も実際には構成要素として配置されている。
1−2.ホスト装置
本実施形態において、ホスト装置20は、認証装置である。
図示するように、本実施形態に係るホスト装置(Host)20は、復号部(Decrypt)2
1、FKB処理部(Process FKB)22、メモリ(Memory)23、乱数生成部(RNG: Random
Number Generator)24、選択部(Select 2)25、データ生成部(Generate)26、一
方向性変換器(Oneway)27、及びデータ検証部(Verify)28等を備える。この他、例
えば、図示しない誤り訂正処理部等も必要に応じて構成要素として備えることが可能であ
る。
復号部21は、入力されたデータを別途入力された鍵データで複合し、復号された入力
データを出力する。本実施形態では、復号部21は、コントローラ19を介して、暗号化
秘密識別情報E-SecretIDをNAND型フラッシュメモリ10から読み出す。そして、暗号
化秘密識別情報E-SecretIDを、後述のFKB処理部22(データ選択部22−2)から入力
された秘匿情報FKeyを用いて復号し、秘密識別情報SecretIDを出力する。
FKB処理部22は、NAND型フラッシュメモリ10から読み出される鍵管理情報FKBv
を、メモリ23に秘匿されている秘密情報IDKeyk及び秘密情報IDKeykのインデックス情報
kを用いて復号し、生成した秘匿情報FKeyを復号部21に出力する。本実施形態では、FKB
処理部22は、データ選択部(Select 1)21−1及び復号部(Decrypt)22−2を備
えている。
第1段目のデータ選択部21−1は、NAND型フラッシュメモリ10から読み出した
暗号化FKey束(鍵管理情報FKBv)の中から、メモリ23に記録されているインデックス情
報kを用いて、メモリ23に秘匿されている秘密情報IDKeykによって復号可能なデータを
選択して、復号部22−2に出力する。
復号部22−2は、メモリ23に秘匿されている秘密情報IDKeykを用いて、データ選択
部22−1において選択されたデータを復号し、生成された秘匿情報FKeyを復号部21に
出力する。
メモリ23は、インデックス情報k、秘密情報IDKeyk、秘密情報セットHKeyi,j (i=1,…
,m。なお、jは当該HKeyi,jにおいては固定の値である)、及び定数HCjを記録し、少なくと
も秘密情報IDKeyk及び秘密情報セットHKeyi,j (i=1,…,m)をホスト装置20の外部に対し
て秘匿する。ここで、定数HCjとは、認証要求(Request authentication)時にNAND
型フラッシュメモリ10に送出するために予め保持しているホスト装置20の定数である
。詳細については後述する。
乱数生成部24は、認証処理に用いる乱数RNhを生成し、出力する。
第2段目のデータ選択部25は、NAND型フラッシュメモリ10のロム領域11−3
からデータキャッシュ12を介して読み出したインデックス情報iを用いて、当該ホスト
装置20が秘匿している秘密情報セットHKeyi,jの中から、認証処理に必要な秘密情報HKe
yi,jを選択する。
データ生成部26は、複数の入力データから予め定められた演算によって出力データを
生成する演算部である。本実施形態では、データ生成部26は、ホスト装置20自身が生
成した乱数RNhを、ホスト装置20が秘匿している秘密情報HKeyi,jを用いて変換すること
で、セッション鍵SKeyi,jを生成する。データ生成部26として、例えば上述したAES暗号
化器等を用いることも可能である。
一方向性変換器27は、復号部21から出力される秘密識別情報SecretIDを、データ生
成部26から出力されるセッション鍵SKeyi,jを用いて一方向性関数により変換し、一方
向性変換識別情報Oneway-IDを生成する。
データ検証部28は、NAND型フラッシュメモリ10から受信した一方向性変換識別
情報Oneway-IDと、ホスト装置20内の一方向性変換器27から得られた一方向性変換識
別情報Oneway-IDとが一致するか否かを比較する。上記一方向性変換識別情報Oneway-IDの
両方の値が一致した場合(OK)には、復号部21で得られた秘密識別情報SecretIDが正規
のIDであると判定して、得られた秘密識別情報SecretIDを以降の処理に引き渡す。一方、
不一致の場合(NG)には、秘密識別情報SecretIDが不正なIDであると判定して、その旨を
出力する。
他に、ホスト装置20が有する秘密情報、例えばIDKeyk、HKeyi、jが流出し、流出情報
を有する不正ホスト装置が不正製造者によって製造された場合などにおいて、当該不正ホ
スト装置を無効化する手段として、鍵管理情報(FKBv)から不正ホスト装置が有するIDKe
ykにてFKeyを導出可能な情報を除くなどの対応をとることも可能である。この対応につい
ては、図3における説明にて後述する。この対応をするに当たっては、秘密情報IDKeyk
びインデックス情報k、秘密情報HKeyi、j及びホスト定数HCjの間に関連を持たせることが
有用である。これは、関連があれば、不正ホスト装置が認証において通知するHCjを観測
することによって当該不正ホスト装置が有する秘密情報IDKeyk及びHKeyi、jの両方が特定
可能となる。関連付けの方法としては、HCjの全部もしくは一部の情報をIDKeykと共有す
ることや、HCjの全部もしくは一部の情報をIDKeykを暗号処理した結果により構成するこ
とや、IDKeykの全部もしくは一部の情報をHCjを暗号処理した結果により構成することな
どの方法がとれる。更に、鍵管理情報(FKBv)の生成に当たり、FKeyおよびIDKeykに加え
て、HKeyi、jを用いるのが望ましい。これについてはFKBの構成例を説明している箇所に
て後述する。
ここで、上記秘密情報IDKeyk、秘密情報HKeyi,jは、例えば、ホスト装置20が民生機
器のような専用ハードウェア装置であれば内部の専用メモリにメーカ独自の方法で暗号化
した上で記録されていたり、PC等で実行されるプログラムであればタンパーレジスタント
ソフトウェア(TRS)技術によって不正な解析から保護できる状態で保持していたり、或
いはセキュリティモジュールを内蔵している場合には当該セキュリティモジュールの機能
を利用して秘匿する等の対策を採った状態で記録される。
なお、コントローラ(Controller)19は、NAND型フラッシュメモリ10を制御し
て、ホスト装置20との間のデータ転送等を行う。例えばコントローラ19は、ホスト装
置20から受信した命令を解釈し、NAND型フラッシュメモリ10のインターフェース
仕様に適合した命令に変換した上で、当該命令をNAND型フラッシュメモリ10に送出
する。コントローラ19は、例えばSD Memory規格、SDIO規格、eMMC規格等、必要に応じ
て様々なインターフェース規格を採用することができる。
また、コントローラ19は、一般領域11−1の一部を確保し、自身の動作に必要な制
御データを保存する。また、コントローラ19は、ホスト装置20から受信した論理アド
レスをNAND型フラッシュメモリの物理アドレスに変換する機能を有していてもよい。
また、セルアレイ11の疲弊を平準化するため、所謂ウェアレベリングを実行する機能を
有していてもよい。ただし、少なくとも秘匿領域11−2についてはウェアレベリングの
対象外とされる。
また、メモリシステムの構成例は、上記説明したものに限られない。例えば、図示しな
い誤り訂正処理部等のその他の構成要素も必要に応じて備えることが可能である。更に、
NAND型フラッシュメモリ10が有する秘密情報NKeyiが複数あってもよい。すなわち
、秘密情報NKeyiとこれに対応するインデックス情報iの組み合わせを1つのスロットとし
、複数スロットがNAND型フラッシュメモリ10に記録されている。ここで、上記スロ
ットには各々スロット番号が付与されており、ホスト装置20は各スロット番号のインデ
ックス情報iを読み出し、いずれか一つを選択して認証を行う。この場合、ホスト装置2
0はNAND型フラッシュメモリ10に対して選択したスロット番号に相当する情報を通
知し、NAND型フラッシュメモリ10は通知されたスロット番号に相当する情報を用い
て認証処理を行う。更には、NAND型フラッシュメモリ10が有する全ての情報を1つ
のスロットとし、当該情報スロットを複数有してもよい。すなわち、秘密情報NKeyi、イ
ンデックス情報i、鍵管理情報(FKBv)、インデックス情報v(index of FKey)、秘密識
別情報SecretID、暗号化された秘密識別情報(E-SecretID)を1つのスロットとし、複数
スロットがNAND型フラッシュメモリ10に記録されている。ここで、上記スロットに
は各々スロット番号が付与されており、ホスト装置20は各スロット番号のインデックス
情報iを読み出し、いずれか一つを選択して認証を行う。この場合、ホスト装置20はN
AND型フラッシュメモリ10に対して選択したスロット番号に相当する情報を通知し、
NAND型フラッシュメモリ10は通知されたスロット番号に相当する情報を用いて認証
処理を行う。
上記において、NAND型フラッシュメモリ10が複数のスロットを有する方法を示し
たが、これらに限らず、一部の情報を複数のスロットで共有するいかなる構成をとること
も可能である。例えば、秘密識別情報SecretID、暗号化された秘密識別情報(E-SecretID
)、鍵管理情報(FKBv)、インデックス情報v(index of FKey)は複数のスロットで共有
し、他の情報はスロット毎に個別に有するなども可能である。
また、NAND型フラッシュメモリ10が複数のスロットとスロット番号を有し、いず
れのスロットを認証に用いるかをホスト装置20が通知する方法は本明細書にて後述する
他の実施例全てに適用可能である。
<2.認証フロー>
次に、図2に沿って、第1の実施形態に係るメモリシステムの認証フローについて説明
する。
(Step S11)
認証を開始(Start)すると、ホスト装置20は、NAND型フラッシュメモリ10か
ら鍵管理情報である暗号化FKey束(FKB: Family Key Block)及び暗号化秘密識別情報Sec
retID(E-SecretID)を読み出す。
(Step S12)
続いて、ホスト装置20は、読み出した鍵管理情報FKBからデータ選択部(Select1)2
2−1によりデータ選択処理を行い、ホスト装置20が復号可能な暗号化された秘匿情報
FKeyを読み出すと共に、秘匿している秘密情報IDKeykを用いて上記復号部22−2により
復号することにより、秘匿情報FKeyを得る。更に、ホスト装置20は、得られた秘匿情報
FKeyを用いて、NAND型フラッシュメモリ10から読み出した暗号化秘密識別情報E-Se
cretIDを復号することにより、秘密識別情報SecretIDを得る。
(Step S13)
続いて、ホスト装置20は、NAND型フラッシュメモリ10に対して、インデックス
情報iの読み出し要求を行う。
(Step S14)
続いて、NAND型フラッシュメモリ10は、ホスト装置20の要求を受けて、インデ
ックス情報iをセルアレイ11からロードし、ホスト装置20に出力する。
(Step S15)
続いて、ホスト装置20は、認証要求時に必要となる乱数RNhを生成する。認証処理に
乱数RNhを用いることにより、以下の処理でNAND型フラッシュメモリ10との間で毎
回異なる共有鍵を利用することができる。
(Step S16)
続いて、ホスト装置20は、認証要求(Request authentication)と共に、予め保持し
ている定数HCj及び乱数RNhをNAND型フラッシュメモリ10に送出する。
(Step S17)
続いて、NAND型フラッシュメモリ10は、秘密情報NKeyi (i=1,…,m)及び秘密識別
情報SecretIDを秘匿領域11−2からロードし、データキャッシュ12に保存する。
(Step S18)
続いて、NAND型フラッシュメモリ10は、秘匿している秘密情報NKeyiとホスト装
置20から受信した定数HCjとを用いて、データ生成回路13におけるデータ生成処理に
より秘密情報HKeyi,jを生成する。
(Step S19)
続いて、NAND型フラッシュメモリ10は、受信した乱数RNhを用いて、データ生成
回路14におけるデータ生成処理により、セッション鍵SKeyi,j (= Generate(HKeyi,j, R
Nh))を生成する。
(Step S20)
続いて、NAND型フラッシュメモリ10は、生成したセッション鍵SKeyi,jを用いて
、秘密識別情報SecretIDに一方向性変換器15における一方向性変換処理を行い、一方向
性変換識別情報Oneway-ID (=Oneway(SKeyi,j, SecretID))を生成する。生成された一方向
性変換識別情報Oneway-IDは、ホスト装置20に送出される。
(StepS21)
上記StepS18と並行して、ホスト装置20は、受信したインデックス情報iを用いて
、予め秘匿していた秘密情報セットHKeyi,j (i=1,…,m)から当該NAND型フラッシュメ
モリ10との認証処理に必要な秘密情報HKeyi,jを選択する。
(Step S22)
続いて、ホスト装置20は、選択した秘密情報HKeyi,jと生成した乱数RNhとを用いて、
データ生成部26におけるデータ生成処理により、セッション鍵SKeyi,j (= Generate(HK
eyi,j, RNh))を生成する。
(Step S23)
続いて、ホスト装置20は、生成したセッション鍵SKeyi,jを用いて、秘密識別情報Sec
retIDに一方向性変換器27における一方向性変換処理を行い、一方向性変換データOnewa
y-IDを生成する。
(Step S24)
続いて、ホスト装置20は、NAND型フラッシュメモリ10より受信した一方向性変
換識別情報Oneway-IDと、自身が生成した一方向性変換識別情報Oneway-IDとが一致するか
否かを判定する。上記一方向性変換識別情報Oneway-IDの両方の値が一致した場合(OK)
には、復号部21で得られた秘密識別情報SecretIDが正規のIDであると判定して、以降の
処理に秘密識別情報SecretIDを引き渡す。一方、不一致の場合(NG)には、秘密識別情報
SecretIDが不正なIDであると判定し、その旨を以降の処理に出力する。
以上の動作により、第1の実施形態に係る認証フローを終了する(End)。
なお、ここで、メモリシステムの構成例において示した通り、NAND型フラッシュメ
モリ10が複数のスロットを有する場合、ホスト装置20は認証に用いるスロット番号を
NAND型フラッシュメモリ10に通知する必要がある。この場合、上記Step S16に
てスロット番号を付随して通知してもよいし、もしくはStep S16より以前のStepにお
いて通知してもよい。
<3.FKB(Family Key Block)について>
次に、図3を用い、第1の実施形態に係る鍵管理情報FKB(Family Key Block)について
より詳しく説明する。
秘密識別情報SecretIDが記録されているNAND型フラッシュメモリ10に適合した鍵
管理情報FKBを生成するためには、予め用意された秘密鍵情報であるIDKeyi (i=1,…,n)(
Set of IDKeyi’s)の1つ1つのIDKeyiを用いて、FKeyvを1つ1つ暗号化(Encrypt)す
る。つまり、鍵管理情報FKBとは、暗号化FKeyv(E- FKeyv,i) = Encrypt(IDKeyi, FKeyv)
の集合であり、この暗号化FKeyvの集合を暗号化FKey束と称する。
なお、鍵管理情報FKBの構成については、本実施形態に限られない。例えば、特定のIDK
eyiが露呈してしまった場合、当該IDKeyiを保持しているホスト装置20では暗号化FKey
束からFKeyを復号することができないようにするために、当該秘密情報IDKeyiで復号可能
な暗号化FKeyv(上述の例ではE- FKeyv,i)をFKBから削除することにより、新たに構成さ
れたFKBを記録したNAND型フラッシュメモリ10を使用した場合には、当該ホスト装
置20では正しいFKeyv及び秘密識別情報SecretIDを得る(復号する)ことができないよ
うにすることも可能である。このようにすることで、当該秘密情報IDKeyiを保持したホス
ト装置20を無効化する機能を提供することも可能である。
また、前述の通り、秘密情報IDKeyk及びインデックス情報k、秘密情報HKeyi、j及びホ
スト定数HCjの間に関連を持たせるにあたり、鍵管理情報(FKBv)の生成においてFKeyお
よびIDKeykに加えて、HKeyi、jを流用することもできる。例えば、(E- FKeyv,i) = Encry
pt (Encrypt(IDKeyi, FKeyv), HKeyi、j)、(E- FKeyv,i) = Encrypt (Encrypt(HKeyi、j,
FKeyv), IDKeyi)、(E- FKeyv,i) = Encrypt(HKeyi、j, IDKeyi(+)FKeyv)などの構成をと
ってもよい。これは、複数のホスト装置20から鍵が流出した場合に、異なる装置の秘密
鍵IDKeyi、HKeyi、jを組み合わせることを防止する効果がある。つまり、正しく組み合わ
されたIDKeyi、HKeyi、jでない限り、FKeyの復号を不可能とすることにより、HCjを観測
することでこれに紐付いたHKeyi、jが判明し、更にIDKeyiも特定することができ、ひいて
は露呈したIDKeyiを無効化することが可能となる。
鍵管理情報FKBの生成方法についても、本実施形態に限られない。例えば、CPRM(非特
許文献1参照)において用いられているMKB(Media Key Block)技術や、非特許文献3に
開示されたMKB技術を用いて鍵管理情報FKBを生成しても、ホスト装置20を無効化する機
能を提供することが可能である。
ここで、MKB技術とは、複数の機器がそれぞれ異なる秘密情報を持つ状況で、機器の無
効化を実現しつつ、(無効化対象でない機器の間で)共通の秘密情報(Media Key)を効
率よく共有するための技術であり、Broadcast Encryptionとも称されるものである。
例えば、上記MKB技術を適用した場合、メモリシステムの構成例は、図4のように示さ
れる。図示するメモリシステムは、FKB処理部(Process FKB)22が上位概念化されて図
示される点で、図1と相違する。この場合においても、KやIDKeyiに対応する情報である
ホスト装置20のノード番号やノード番号に割り当てられたホスト鍵群によって復号され
るFKBの当該データをHKeyi、jやHCjと関連付けることにより、露呈した鍵の特定と無効化
が可能となる。
<4.秘密情報やFKBの書き込みについて>
次に、NAND型フラッシュメモリ10への秘密情報や鍵管理情報FKBの書き込みにつ
いて説明する。
4−1.NAND型フラッシュメモリの製造時等に書き込む場合
まず、図5、図6を用い、例えば、NAND型フラッシュメモリ10の製造時等に秘密
情報や鍵管理情報FKBを書き込む場合について説明する。ここでは、図6のフローに即し
て説明する。
ライセンス管理者(Licensing Administrator)40は、以下のデータを生成する:鍵
管理情報FKBv (v=1,…,n)、秘匿情報FKeyv(v=1,…,n)、インデックス情報v(v=1,…,n)、
秘密情報NKeyi、及びインデックス情報i。なお、前述した通り、FKBvは、FKeyvを暗号化
したものである。また、vは複数の値であっても良い。例えば、vとして1,2,3の3つの値
をライセンス管理者40が生成する場合、ライセンス管理者40は、生成したvに対応さ
せる形で、(FKB1, FKey1), (FKB2, FKey2), (FKB3, FKey3)を生成する。
ライセンス管理者40は、生成したデータの内、FKeyv(v=1,…,n)、v(v=1,…,n)、NKey
i、iをメモリ製造者30に渡す。これらのデータを渡す際には、例えば、ライセンス管理
者40は、予めメモリ製造者30の公開鍵を入手しておき、当該公開鍵を用いてデータを
暗号化した上でメモリ製造者30に送信する、等といった安全な手段を用いる。
メモリ製造者(Memory Vender)30は、上記NAND型フラッシュメモリ10に加え
、ライセンス管理者40から渡されたFKBv (v=1,…,n)等のデータ31を保持し、選択部
32、33、生成部34、暗号部35を備える。
(Step S31)
上記構成により、まず、メモリ製造者30は、生成部(SecretID Generator)34にお
いて、秘密識別情報SecretIDを生成する。
(Step S32)
続いて、データ31を受け取ったメモリ製造者30は、vの中から一つの値を選択部3
2により選択する。更に、選択部32は、前記選択したvに対応するFKeyvを選択する。メ
モリ製造者30は、選択したFKeyvを用いて、生成したSecretIDを暗号化し、暗号化され
た秘密識別情報E-SecretIDを生成する。
(Step S33)
続いて、メモリ製造者30は、当該vの値をNAND型フラッシュメモリ10のロム領
域11−3へインデックス情報v(index of FKey)として書き込む。
また、メモリ製造者30は、インデックス情報i(index of NKey)の値をNAND型フ
ラッシュメモリ10のロム領域11−3へ、NKeyiの値を秘匿領域11−2へそれぞれ書
き込む。
更に、メモリ製造者30は、秘密識別情報SecretIDの値をNAND型フラッシュメモリ
10の秘匿領域11−2へ、暗号化された秘密識別情報E-SecretIDの値をロム領域11−
3へそれぞれ書き込む。
以上の動作により、NAND型フラッシュメモリ10の製造時等に所定の秘密情報や鍵
管理情報FKBを書き込むことができる(End)。なお、上記各値を書き込む順番は、暗号化
された秘密識別情報E-SecretIDは、暗号化処理しないと得られない値であるため、暗号部
35による上記暗号化処理後となる。しかし、それ以外の書き込み動作の順序について制
約はなく、上述の例以外の順番で書き込んでも良い。
更に、メモリ製造者30は、書き込み処理を終えたNAND型フラッシュメモリ10を
カード製造者(Card Vendor)に渡す。
このように、本実施形態では、インデックス情報v(index of FKey)等が、NAND型
フラッシュメモリ10にあらかじめ書き込まれた状態とすることができる。
4−2.FKBをカード製造者(Card Vendor)が書き込む場合
次に、図7、図8を用い、FKBをカード製造者50が書き込む場合について説明する。
ここでも、図8のフローに即して説明する。
カード製造者(Card Vendor)50は、上記メモリ製造者30から上記所定の情報v等が
書き込まれたNAND型フラッシュメモリ10を受け取る。
そして、例えばSDカード等のように、そのNAND型フラッシュメモリ10を制御する
コントローラ19を結合させ、一般ユーザ等向けのストレージメディア(ここでは、Card
)55を製造する。
カード製造者50は、上記ストレージメディア(Card)55に加え、ライセンス管理者
40から受け取るデータ(FKBv)51、選択部52を備える。
カード製造者50が鍵管理情報FKBvを書き込む処理については、次の通りである。
(Step S35)
まず、カード製造者50は、鍵管理情報FKBvをライセンス管理者40からデータ51と
して受け取る。この際、データ51の受け渡しには、上述した安全な手段を用いる。
そして、カード製造者50は、(コントローラ19を介して)NAND型フラッシュメ
モリ10のロム領域11−3に記録されるインデックス情報vの値をデータキャッシュ1
2等に読み出す。
(Step S36)
続いて、カード製造者50は、読み出したインデックス情報vの値に対応する鍵管理情
報FKBvを選択部52により選択する。
(Step S37)
続いて、カード製造者50は、コントローラ19を介して、NAND型フラッシュメモ
リ10の読み書き可能領域11−1に選択した鍵管理情報FKBvを書き込む。
<作用効果>
上記のように、第1の実施形態に係る認証装置、被認証装置、及びその認証方法によれ
ば、少なくとも下記(1)乃至(3)の効果が得られる。
(1)ホスト装置20から秘密情報が漏洩した場合であっても、漏洩した情報を用いた
NAND型フラッシュメモリ10の秘密情報の不正利用を防止することができる。
ここで、上述した通り、認証装置であるホスト装置20は、民生機器のような専用ハー
ドウェア装置だけでなく、例えば、PC等で実行可能なプログラムとして提供され、当該ソ
フトウェアが実質的なホスト装置となる場合がある。一方、被認証装置であるNAND型
フラッシュメモリ10は、記録メディアであり、ファームウェアと呼ばれるプログラムが
介在する場合であっても、重要な処理や情報はセルアレイ11中のハードウェア内に秘匿
された状態で記憶される。
そのため、現実的には、例えば、PC上で実行されるソフトウェアは、記録メディアに比
べて耐タンパー性能(攻撃に対する耐性)が低くなってしまうことが懸念される。そのた
め、耐タンパー性能の低いホスト装置(認証装置)20を攻撃することで、耐タンパー性
の高いNAND型フラッシュメモリ10(被認証装置)に秘匿された秘密情報をも暴露さ
れ、耐タンパー性の高い装置に成りすまされることが懸念される。
そこで、第1の実施形態に係る構成及びその認証方式では、上記のように、比較的耐タ
ンパー性の高いNAND型フラッシュメモリ10は、第1鍵情報(NKeyi)から第2鍵情
報(HKeyi,j)を生成することができる第1鍵情報(NKeyi)をセルアレイ11に秘匿する
。一方、ホスト装置20は、第2鍵情報(HKeyi,j)からは第1鍵情報(NKeyi)を生成す
ることができない第2鍵情報(HKeyi,j)のみをメモリ23に秘匿する。
そのため、NAND型フラッシュメモリ10は、ホスト装置20から受領した定数HCj
と自身が秘匿する第1鍵情報(NKeyi)とを用いて、認証装置20が秘匿する第2鍵情報
(HKeyi,j)を生成する。NAND型フラッシュメモリ10は、第2鍵情報(HKeyi,j)と
乱数RNとを用いて、セッション鍵SKeyi,jを生成する。
ホスト装置20は、インデックス情報iにより選択される第2鍵情報(HKeyi,j)と乱数
RNとを用いて、セッション鍵SKeyi,jを生成する。その結果、NAND型フラッシュメ
モリ10とホスト装置20とは、同じセッション鍵SKeyi,jを共有する。
このように、本実施形態では、NAND型フラッシュメモリ(被認証装置)10が秘匿
する情報の秘密レベルと、ホスト装置(認証装置)20が秘匿する情報の秘密レベルとを
非対称とすることができる。例えば、本実施形態では、比較的耐タンパー性の高いNAN
D型フラッシュメモリ10が秘匿する情報の秘密レベルを、比較的耐タンパー性の低いホ
スト装置20が秘匿する情報の秘密レベルよりも、より高く設定することができる。
そのため、仮にホスト装置20が秘匿する情報が漏洩した場合であっても、比較的耐タ
ンパー性の高いNAND型フラッシュメモリ10が秘匿する情報の秘密レベルが更に高い
ため、漏洩した情報を用いてNAND型フラッシュメモリ10に”成りすますこと”がで
きない。従って、漏洩した情報を用いたNAND型フラッシュメモリ10の秘密情報の不
正利用を防止することができる点で有利である。その結果、例えば、ホスト装置20から
読み出されたID情報が、目的の被認証装置10から読み出した情報であることを確実に判
定し、その相手方の不正利用の無効化等が可能となる。
(2)実装化において有利である。
上述した通り、本実施形態のような構成では、比較的大きな回路規模を要求される公開
鍵暗号処理やMKB処理のハードウェア実装が困難である等の回路規模上の制約が同時に課
せられる環境下である。
しかしながら、本実施形態によれば、鍵情報が非対称であるものの比較的大きな回路規
模を必要とする公開鍵暗号処理を用いる必要がない。更に、上記のように、ホスト装置(
認証装置)20とNAND型フラッシュメモリ(被認証装置)10とが秘匿する情報の秘
密レベルを非対称とすることにより、片方の装置から漏れた情報だけではもう一方の装置
に成りすますことができない認証手段を行い、認証装置20と被認証装置10との間で秘
密情報であるセッション鍵SKeyi,jを共有する。
そのため、上記制約が課される厳しい環境下であっても、実装化において有利であると
言える。更に、上記のように、メモリシステムを構成するデータ生成回路や暗号化器を同
じ処理として共有することにより、回路規模を更に小さくすることも可能である。
(3)製造工程の簡略化、製造コストの低減化に対して有利である。
本実施形態に係るNAND型フラッシュメモリ10は、読み書き可能領域11−1に、
その用途に応じてNAND型フラッシュメモリ10毎に固有(ユニーク)、或いは製造ロ
ット(lot)単位等複数のNAND型フラッシュメモリ10に共通に付される鍵管理情報
(FKBv)を備える。更に、ロム領域11−3に、NAND型フラッシュメモリ10毎に固
有に(ユニークに)付される暗号化された秘密識別情報(E-SecretID)を備える。
鍵管理情報(FKBv)を製造ロット単位で共通化させた場合には、NAND型フラッシュ
メモリ10毎に記録しなければならない固有(ユニーク)な情報を、暗号化された秘密識
別情報(E-SecretID)のようにデータサイズの小さいデータだけに減らすことができる。
換言すれば、共通に付される鍵管理情報(FKBv)と固有の暗号化秘密識別情報(E-Secret
ID)とに分け、2段階に暗号化することにより、NAND型フラッシュメモリ10に書き
込むべき固有の暗号化秘密識別情報(E-SecretID)のデータサイズを抑えることができる
ものである。
例えば、上記図5、図6で示したように、NAND型フラッシュメモリの製造時等にお
いて、メモリ製造者30は、ライセンス管理者40から受け取ったNAND型フラッシュ
メモリ10毎に固有な情報(E-SecretID)を書き込む。
そして、NAND型フラッシュメモリ10に共通に付される暗号化された鍵管理情報(
FKBv)については、カード製造者50等がNAND型フラッシュメモリ10に共通に書き
込むことができる。例えば、上記図7、図8で示したように、カード製造者50が、上記
ライセンス管理者40から受け取ったNAND型フラッシュメモリ10毎に共通な鍵管理
情報FKBvを書き込む。そのため、メモリ製造者30が書き込まなければならないNAND
型フラッシュメモリ10毎に固有(ユニーク)なデータのサイズを低減することが可能と
なる。
ここで、NAND型フラッシュメモリ10の製造時等に、NAND型フラッシュメモリ
10に固有かつデータサイズの大きい情報を書き込む場合、製造工程が煩雑となり、製造
時間が長期化し、製造コストが増大してしまう。しかしながら、本実施形態に係る構成及
び方法によれば、共通に付される鍵管理情報FKBvと固有の暗号化秘密識別情報(E-Secret
ID)とに分けて2段階に暗号化することにより、このような煩雑な製造工程は不要となる
ため、製造工程を簡略化でき、製造コストを低減できる点で有利である。また、製造時間
を短縮化できるため、消費電力を低減できる点でもメリットがある。
また、ホスト装置20の側においても、秘匿情報FKeyを用いてNAND型フラッシュメ
モリに固有な値であるSecretIDを暗号化してE-SecretIDを生成し、更に、IDKeykを用いて
FKeyを暗号化して鍵管理情報FKBを生成するという構成を取ることにより、NAND型フ
ラッシュメモリ10と同様のメリットを享受することが可能となる。
[変形例1(FKBを後からダウンロードして書き込む場合)]
次に、変形例1に係る認証装置、被認証装置、及びその認証方法について説明する。こ
の説明において、上記第1の実施形態と重複する部分の説明については、省略する。
<FKBの書き込みについて>
暗号化FKey束(FKB)の書き込みについて、説明する。
本変形例1における処理は、暗号化FKey束(FKB)が、NAND型フラッシュメモリ1
0の製造時に書き込まれる場合等には、特に必要のない処理である。しかし、NAND型
フラッシュメモリ10とコントローラ19等が結合されて、例えば、SDカード等のストレ
ージメディア製品として一般ユーザ入手し、カード利用時に市場において後から書き込ま
れる場合等には、必要となるFKBの書き込み処理に関するものである。
図9では、上記のように鍵管理情報FKBが未記録のストレージメディア(Card)55に
記録されたデータの場合の状態を示している。
図示するように、NAND型フラッシュメモリ10は、秘密情報NKeyiと秘密識別情報S
ecretIDとが秘匿領域11−2に記録される。前記秘密情報NKeyiを特定するために必要な
インデックス情報i、鍵管理情報FKBを特定するために必要となるインデックス情報v、及
びインデックス情報vで指定されたFKeyvによって暗号化されたSecretID(E-SecretID)が
ロム領域11−3に記録される。
読み書き可能領域11−1には、暗号化FKey束である鍵管理情報FKBが書き込まれてい
ない点で、上記第1の実施形態と相違する。
次に、図10を用い、上記のように鍵管理情報FKBが未記録状態のストレージメディア
55に、サーバからFKBをダウンロードして記録する場合について説明する。
図示するように、この場合には、NAND型フラッシュメモリ10に、必要に応じてデ
ータキャッシュ12が配置される。
本実施形態に係るサーバ70は、FKBデータベース(Set of FKBi ’s (i=1,…,x))7
1及びインデックス情報vから鍵管理情報FKBvを選択するための選択部72を備える。
また、サーバ70とメモリシステム(NAND型フラッシュメモリ10、コントローラ
19、ホスト装置20)とは、インターネット60を介して電気的に通信接続される。
なお、ホスト装置20は、FKBの新規書き込みが必要かどうかを判定し、必要に応じてF
KBをサーバに要求する機能を備える。
<FKB書き込みフロー>
次に、図11に沿って、暗号化FKeyID束(FKB)をサーバ60からダウンロードしてN
AND型フラッシュメモリ10に書き込むフローについて説明する。
(Step S41)
図示するように、まず、ホスト装置20が、FKBダウンロードが必要と判定したことに
より、FKB書き込みが開始(Start)され、ホスト装置20はサーバ60に対してFKB要求
を出す。
(Step S42)
続いて、サーバ70は、NAND型フラッシュメモリ10に対して、FKeyvを特定する
ために必要となるインデックス情報vを要求する。
(Step S43)
続いて、NAND型フラッシュメモリ10は、ロム領域11−3からvを読み出し、vを
サーバに送出される。
(Step S44)
続いて、サーバ70は、受信したvに対応するFKBvをFKBデータベース71の中から選択す
る。
(Step S45)
続いて、サーバ70は、選択したFKBvをNAND型フラッシュメモリ10に送出する。
(Step S46)
続いて、NAND型フラッシュメモリ10は、受信したFKBvを読み書き可能領域11−
1に書き込み、記録する。
以上の動作により、第1の実施形態に係る暗号化FKey束(FKB)ダウンロードフローを
終了する(End)。
その他の構成、動作等に関しては、上記第1の実施形態と実質的に同様である。
<作用効果>
変形例1に係る認証装置、被認証装置及び認証方法によれば、少なくとも第1の実施形
態と同様の作用効果(1)乃至(3)を得ることができる。
更に、変形例1によれば、後からFKBを書き込む場合においても、必要に応じて本実施
形態を適用することが可能である。
[第2の実施形態]
次に、第2の実施形態について説明する。この説明において、上記第1の実施形態と重
複する部分の説明については、省略する。
ここで、第1の実施形態では、ホスト装置20によるNAND型フラッシュメモリ10
の認証が成功した後、両者は秘密識別情報SecretIDを共有している。認証後の処理として
、例えば、ホスト装置20がコンテンツを暗号化し、NAND型フラッシュメモリ10へ
当該暗号化コンテンツを書き込むこと等が挙げられるが、この際に、共有した秘密識別情
報SecretIDを用いることが考えられる。
本実施形態は、そのような処理においても秘密識別情報SecretIDを保護することを目的
とするものである。そのため、この説明においては、上記第1の実施形態と重複する部分
の説明については省略する。
<メモリシステム>
第2の実施形態に係るメモリシステムは、図12のように示される。
図12に示すように、本実施形態に係るメモリシステムは、一方向性変換器(Oneway)
27B、スイッチ部29、及び対象となるコンテンツを取り扱う全てのホスト装置20が
共通に保持している情報(ASSV)を更に備える点で、上記第1の実施形態と相違する。
スイッチ部29は、データ検証部(Verify)28において一方向性変換識別情報Oneway
-IDの両方の値が一致した場合(OK)の判定結果が制御信号として入力されると、信号経
路をオンとさせ、秘密識別情報SecretIDを一方向変換部27Bに出力する。
一方向変換部(Oneway)27Bは、スイッチ部29から入力される秘密識別情報Secret
IDを、対象となるコンテンツを取り扱う全てのホスト装置が共通に保持している情報(AS
SV)を用いて一方向性関数により変換し、一方向性変換識別情報EMID(EMID=Oneway(Secr
etID, ASSV))を生成する。
このように第2の実施形態では、ホスト装置20で秘密識別情報SecretIDが検証された
後に、ホスト装置20が、対象となる全てのホスト装置が共通に保持している情報(ASSV
)を用いて秘密識別情報SecretIDを変換し、一方向性変換識別情報EMIDを計算する。その
ため、ホスト装置20は、秘密識別情報SecretIDの代わりに、一方向性変換識別情報EMID
を用いて、コンテンツ暗号化等の処理を行うことができる。
その他の構成、動作等は、上記第1の実施形態と実質的に同様であるため、詳細な説明
については省略する。
<作用効果>
第2の実施形態に係る認証装置、被認証装置及び認証方法によれば、少なくとも第1の
実施形態と同様の作用効果(1)乃至(3)を得ることができる。
更に、第2の実施形態では、ホスト装置20は、一方向性変換器(Oneway)27B、ス
イッチ部29、及び対象となるコンテンツを取り扱う全てのホスト装置が共通に保持して
いる情報(ASSV)を更に備える点で、上記第1の実施形態と相違する。
上記構成によれば、ホスト装置20で秘密認識情報SecretIDが検証された後に、ホスト
装置20が、対象となる全てのホスト装置が共通に保持している情報(ASSV)を用いて秘
密識別情報SecretIDを変換し、一方向性変換識別情報EMIDを計算する。そのため、ホスト
装置20は、秘密識別情報SecretIDの代わりに、一方向性変換識別情報EMIDを用いて、コ
ンテンツ暗号化等の処理を行うことができる。
その結果、ここでは図示を省略するが、後工程におけるコンテンツ暗号化等おいて一方
向性変換識別情報EMIDを用いることができ、当該後工程において秘密識別情報SecretIDが
漏洩することを防止することが可能となり、秘密識別情報SecretIDの秘匿性を強化するこ
とができる点で、更に有利である。詳細については、後述する。
[第3の実施形態]
次に、第3の実施形態について説明する。第3の実施形態は、NAND型フラッシュメ
モリ10が、ホスト装置20を認証する一例に関するものである。本実施形態では、NA
ND型フラッシュメモリ10に記録されている秘密識別情報SecretIDを第三者から秘匿し
た状態で読み出すと共に、NAND型フラッシュメモリ10から読み出されたデータであ
ることを確実に判定する方法、また読みだされたデータに基づいてNAND型フラッシュ
メモリ10がホスト装置20を検査する方法を示すものである。
この説明において、上記実施形態と重複する部分の説明については、省略する。
<メモリシステム>
図13を用い、第3の実施形態に係るメモリシステムについて説明する。
図示するように、本実施形態では、NAND型フラッシュメモリ10が、機能コントロ
ール部18、乱数生成器24n、及びデータ検証部28nを更に備える。また、ホスト装
置20が、機能呼び出し部30を更に備える点で、上記第1の実施形態と相違する。
乱数生成部(RNG: Random Number Generator)24nは、認証に用いる乱数RNを生成
する。
データ検証部(Verify)28nは、ホスト装置20から受信した一方向性変換識別情報
Oneway-IDとNAND型フラッシュメモリ10装置内の一方向性変換器15から得られた
一方向性変換識別情報を比較して判定する。両方の値が一致した場合にはホスト装置20
が正しいOneway-IDを得ている(OK)、不一致の場合には正しいOneway-IDを得ていない(
NG)と判定する。
機能コントロール部(Function Control Unit)18は、ホスト装置20が正しいOnewa
y-IDを得た場合(OK)にのみ、NAND型フラッシュメモリ10の所定機能をホスト装置
20に対して利用可能とするように、所定機能のイネーブルをメモリセルアレイ11に行
う。また、ホスト装置20から受領した定数HCjを機能コントロール部18に入力させ、
定数HCjに応じて所定機能の制御を実施してもよい。ここで、所定機能については別途後
述する。
機能呼び出し部30は、ホスト装置20が生成した一方向性変換識別情報Oneway-IDの
正当性をNANDフラッシュメモリ10が確認したことを示すアクセス許可情報(Access
Permission)をホスト装置20が受領すると、NAND型フラッシュメモリ10の所定
機能を呼びだすための処理を行う。
<認証フロー>
次に、図14に沿って、第3の実施形態に係るメモリシステムの認証フローについて説
明する。
(Step S11)−(Step S14)
図示するように、まず認証開始(Start)から上記ステップS11−S14は、第1の
実施形態と同様の処理を行う。
(Step S51)
続いて、ホスト装置20は、インデック情報iを受け取ると、乱数発生要求(Request R
N)をNAND型フラッシュメモリ10に対して送出する。
(Step S52)
続いて、NAND型フラッシュメモリ10は、上記要求を受け、乱数生成部24nによ
り乱数RNを生成する。生成された乱数RNは、ホスト装置20に送出される。
(Step S21)−(Step S23)
続いて、ホスト装置20は、第1の実施形態と同様のステップS21−S23を行う。
(Step S53)
続いて、ホスト装置20は、NAND型フラッシュメモリ10に対して、認証要求(Re
quest authentication)を行い、定数HCj、及び一方向性変換識別情報Oneway-IDを送出す
る。
(Step S17)−(Step S20)
上記同様のステップS17−S19に続いて、S20の際に、NAND型フラッシュメ
モリ10は、生成したセッション鍵SKeyi,jを用いて、秘密識別情報SecretIDに上記一方
向性変換器15における一方向性変換処理を行い、一方向性変換識別情報Oneway-ID (=On
eway(SKeyi,j, SecretID))を生成する。
(Step S54)
続いて、NAND型フラッシュメモリ10は、受信した一方向性変換識別情報Oneway-I
Dと、自身が生成した一方向性変換識別情報が一致することを確認する。一致した場合(O
K)には前記SecretIDが正規のIDであると判定し、不一致の場合(NG)には前記SecretID
が不正なIDであると判定し、判定結果をホスト装置20に返送するとともに、所定機能の
呼び出し受付を許可(Permission)する。
(Step S55)
続いて、NAND型フラッシュメモリ10は、上記S54の際の判定結果が一致した場
合(OK)に、機能コントロール部18において、NAND型フラッシュメモリ10の所定
機能をホスト装置20に対して利用可能とするように、所定機能のイネーブル(有効化)
を行う。
(Step S56)
続いて、ホスト装置20は、機能呼び出し部30において、ホスト装置20が生成した
一方向性変換識別情報Oneway-IDの正当性をNANDフラッシュメモリ10が確認したこ
とを示すアクセス許可情報(Access Permission)をホスト装置20が受領すると、NA
ND型フラッシュメモリ10の所定機能を呼びだすための命令を返信する。
(Step S57)
続いて、NAND型フラッシュメモリ10は、機能の呼び出しを受け、機能コントロー
ル部18において、ホスト装置20から受領した機能呼び出し命令に従った処理を行い、
処理結果のステータス(Status)を返送する。
なお、この際、ホスト装置20から受領した定数HCjを機能コントロール部18に入力
させ、定数HCjに応じて所定機能の制御を実施してもよい。所定機能については別途後述
する。
<作用効果>
第3の実施形態に係る認証装置、被認証装置及び認証方法によれば、少なくとも第1の
実施形態と同様の作用効果(1)乃至(3)を得ることができる。更に、少なくとも下記
の作用効果(4)及び(5)を得ることが可能である。
(4)NAND型フラッシュメモリ10が、ホスト装置20を認証できる。
第3の実施形態では、NAND型フラッシュメモリ10が、機能制御部18、乱数生成
器24n、及びデータ検証部28nを更に備える。また、ホスト装置20が、機能呼び出
し部30を更に備える点で、上記第1の実施形態と相違する。
そのため、上記構成によれば、NAND型フラッシュメモリ10に対し、ホスト装置2
0がアクセスする際に、当該ホスト装置20が信頼に足る場合にのみ、NAND型フラッ
シュメモリ10は所定の機能を提供する等の認証機能の制御が可能となる。
このように、本実施形態によれば、必要に応じて、通常、被認証装置となる場合が多い
NAND型フラッシュメモリ等の記録メディアが、逆にホスト装置20を認証できる点で
有利である。
(5)認証したホスト装置20の固有情報(定数HCj等)に応じて、所定の機能を提供
するか否かを更に制御するような機構を設けることが可能となる点で有利である。所定の
機能の詳細については、後述する。
[第4の実施形態(相互認証)]
次に、第4の実施形態について説明する。第4の実施形態は、NAND型フラッシュメ
モリ10と、ホスト装置20とがそれぞれ相互に認証し合う一例に関するものである。
この説明において、上記実施形態と重複する部分の説明については、省略する。
<メモリシステム>
図15を用い、第4の実施形態に係るメモリシステムについて説明する。
図示するように、本実施形態では、上記第1の実施形態に係るメモリシステムと第3の
実施形態に係るメモリシステムとを実質的に組み合わせた構成を備える。
より具体的には、NAND型フラッシュメモリ10、ホスト装置20が、乱数発生部2
4n、24h、生成部14−2、26−2、一方向性変換器15−2、26−2、データ
検証部28n、28hを備える。更に、ホスト装置20が、スイッチ部29Bを更に備え
る点で、上記第3の実施形態と相違する。
上記各構成の動作については、上記実施形態と同様である。
<認証フロー>
次に、図16に沿って、第4の実施形態に係るメモリシステムの認証フローについて説
明する。本実施形態に係る認証フローは、原則的には、上記第1の実施形態に係る認証動
作(ホスト装置がNAND型フラッシュメモリを認証する)を行った後、上記第3の実施
形態に係る認証動作(NAND型フラッシュメモリがホスト装置を認証する)を行うもの
である。
(Step S11)−(Step S24)
図示するように、まず認証開始(Start)すると、上記第1の実施形態と同様のステッ
プS11−S24を行い、ホスト装置20がNAND型フラッシュメモリ10の認証を行
う。
この際、乱数生成部24hから生成される乱数RNを用いて、同様の認証を行う。
(Step S51)−(Step S70)
続いて、上記ステップS24の際の検証結果が一致した場合(OK)、NAND型フラッ
シュメモリ10の認証が完了したと判断する。
続いて、上記第3の実施形態と同様のステップS51−S70を行い、NAND型フラ
ッシュメモリ10がホスト装置20の認証を行う。
この際、乱数生成部24nから生成される乱数RNを用いて、同様の認証を行う。
以上のステップにより、第4の実施形態に係る認証動作を終了する(End)。
<機能制御の構成例>
次に、図17を用い、機能制御の構成例について説明する。
ここで、機能制御とは、NAND型フラッシュメモリ10が認証装置であり、ホスト装
置20が被認証装置である場合、すなわちNAND型フラッシュメモリ10がホスト装置
20を認証し、認証結果に基づいてホスト装置20に対して所定機能を提供する上記第3
、第4の実施形態に係る所定機能の制御方法をいう。
図示する機能制御の構成は、後述するようにNAND型フラッシュメモリ10がそれぞ
れ備えるものである。機能制御は、認証回路17に備える機能コントロール部18、パラ
メータレジスタ89、及びシーケンス制御回路88を備える。
認証回路17内に含まれる上記機能コントロール部(Function Control Unit)18は
、認証結果、また必要に応じたホスト装置20の固有情報(定数HCj等)に基づき、ホス
ト装置20に対して所定機能を提供するための機能制御をおこなう。機能コントロール部
(Function Control Unit)18は、パラメータレジスタ89に含まれる制御パラメータ
890を、ホスト装置20の認証結果や固有情報に基づき、更新を行う。
パラメータレジスタ89が有する制御パラメータ890には、一つ以上のアクセス許可
情報(#0、#1、、、#3)が含まれる。例えば、アクセス許可情報#0には、ブロッ
クアドレス、ページアドレス、読み出し属性、書き込み属性、消去属性、固有情報等が含
まれる。ここで、ブロックアドレスは、当該ブロックアドレスのメモリセルアレイ11に
対する制御を示す。ページアドレスは、当該ページアドレスのメモリセルアレイ11に対
する制御を示す。読み出し属性は、ブロックアドレス、若しくはブロックアドレス及びペ
ージアドレスに対する読み出し許可情報を示す。書き込み属性は、ブロックアドレス、若
しくはブロックアドレス及びページアドレスに対する書き込み許可情報を示す。消去属性
は、ブロックアドレス、若しくはブロックアドレス及びページアドレスに対する消去許可
情報を示す。固有情報は、当該アクセス許可情報が同固有情報を有するホスト装置20に
対する制御パラメータであることを示す。
なお、アクセス許可情報(#0、#1、、、#3)のそれぞれは、上記情報のすべてを
含んでいる必要はなく、必要とされる制御レベルに応じた情報を含んでいればよい。例え
ば、ホスト装置20の固有情報(定数HCj等)に基づいた制御が必要なければ固有情報は
なくてもよい。また、ページ単位での制御が不要であればページアドレスはなくてもよい
。更に、任意のブロックアドレスでの制御が不要であり、例えばあらかじめ定められたブ
ロックのみに対する制御や、NAND型フラッシュメモリ10全体としての制御であれば
、ブロックアドレスもなくてもよい。同ように、読み出し属性、書き込み属性、消去属性
についても、制御が必要とされる機能についてのみ含んでいればよい。
シーケンス制御回路88は、制御パラメータ890に従って、ホスト装置20から与え
られるコマンド(CMD)に応じた動作シーケンスを制御する。例えば、データ読み出しコ
マンドの場合、シーケンス制御回路88は、制御パラメータ890中のアクセス許可情報
の読み出し属性に従って、与えられる読み出しコマンドに応じたデータ読み出す(Read)
もしくは読み出しを拒否するなどの動作を制御する。読み出し属性において読出しが許可
されていれば、セルアレイ11からデータを読み出すことが可能となる。その他、データ
書き込み動作、データ消去動作等についても同様である。
<作用効果>
第4の実施形態に係る認証装置、被認証装置及び認証方法によれば、少なくとも上記と
同様の作用効果(1)乃至(5)を得ることができる。
本実施形態によれば、必要に応じて、NAND型フラッシュメモリ10とホスト装置2
0とがそれぞれ相互に認証することが可能である。
更に、本実施形態に係るNAND型フラッシュメモリ10は、図17に示した構成によ
る機能制御を実現する。シーケンス制御回路88は、制御パラメータ890に従って、与
えられるコマンドに応じた動作シーケンスを制御することができる。そのため、NAND
型フラッシュメモリ10が認証したホスト装置20において、そのホスト装置20の固有
情報(定数HCj等)等に基づいて、制御パラメータ890を更新した各種の機能動作を行
うことをホスト装置20に許可すること(Process function)ができる点で有利である。
さらに、本例に係るNAND型フラッシュメモリ10は、図17に示した構成の機能制
御を第3の実施形態及び第4の実施形態とともに備えることが可能である。
[第5の実施形態(NAND型フラッシュメモリの構成例)]
次に、第5の実施形態について説明する。第5の実施形態は、上記第1至第4の実施形
態に係る認証機能を適用したNAND型フラッシュメモリ10の構成例に関するものであ
る。
この説明において、上記実施形態と重複する部分の説明については、省略する。
<NAND型フラッシュメモリの全体構成例>
図18を用い、第5の実施形態に係るNAND型フラッシュメモリ10の全体構成例に
ついて説明する。
図示するように、NAND型フラッシュメモリ10は、メモリセルアレイ11及びその
周辺回路を備える。
メモリセルアレイ11は、複数のブロックBLOCK1- BLOCKnを含む。各ブロックの構成は
、図19において後述するが、複数のメモリセルトランジスタMC、ワード線WL、ビッ
ト線BL等を含むものである。各ブロック中のメモリセルトランジスタMC中のデータは
、一括して消去される。メモリセルトランジスタ単位及びページ単位でのデータ消去はで
きない。すなわち、個々のブロックが最小の消去単位となる。
周辺回路は、センスアンプ77、入出力制御回路84、ロジックコントロール回路85
等を備える。
センスアンプ77は、ビット線BLを介してメモリセルアレイ11内のメモリセル(メ
モリセルトランジスタMC)のデータを読み出し、ビット線BLを介してメモリセルアレ
イ2内のメモリセルの状態を検出する。
データキャッシュ12は、センスアンプ77から読み出されたデータまたはセンスアン
プ77に供給されるデータを一時的に保持する。
カラムデコーダ75は、NAND型フラッシュメモリ10の外部からIO端子を介して
供給されたアドレス信号に基づいて、特定のビット線BL、センスアンプ等を選択する。
カラムアドレスバッファ74は、アドレス信号を一時的に保持し、カラムデコーダ75
に供給する。
ロウデコーダ78は、データ読み出し、書き込み、あるいは消去に必要な種々の電圧を
電圧生成回路86から受け取り、そのような電圧をアドレス信号に基づいて特定のワード
線WLに印加する。
ロウアドレスバッファデコーダ79は、アドレス信号を一時的に保持し、ロウデコーダ
78に供給する。
電圧生成回路86は、基準電源電圧VSS、VCC、電圧VSSQ、VCCQ等を受け
取り、これらからデータ書き込み、読み出し、消去等に必要な電圧を生成する。
入出力制御回路84は、IO端子を介して、NAND型フラッシュメモリ10の動作を
制御する種々のコマンド、アドレス信号、書き込みデータを受け取り、また読み出しデー
タを出力する。入出力制御回路84から出力されたアドレス信号は、アドレスレジスタ8
2によってラッチされる。ラッチされたアドレス信号は、カラムアドレスバッファ74及
びロウアドレスバッファ79に供給される。入出力制御回路84から出力されたコマンド
は、コマンドレジスタ83によってラッチされる。ステータスレジスタ81は、入出力制
御回路12のための種々のステータスについての値を保持する。
NAND型フラッシュメモリ10は、外部インターフェイス(NAND I/F)とし
て、コマンド、アドレス、データ入出力用のIO端子、動作を制御するための種々の制御
信号を外部から受け取る。制御信号には、例えばチップイネーブル/CE、コマンドラッ
チイネーブルCLE、アドレスラッチイネーブルALE、リードイネーブルRE及び/R
E、ライトイネーブルWE及び/WE、ライトプロテクトWP、クロックDQS、/DQ
Sが含まれる。
これらの制御信号は、対応する端子において受け取られ、ロジック制御回路21に供給
される。ロジックコントロール回路85は、制御信号に基づいて、入出力制御回路84を
制御して、端子IO上の信号をコマンド、アドレス、またはデータとして入出力制御回路
84を介してアドレスレジスタ82、コマンドレジスタ83、ページバッファ12等に到
達することを許可したり禁止したりする。また、ロジックコントロール回路85は、コマ
ンドレジスタ83から、ラッチされたコマンドを受け取る。
制御信号のうち、WE端子はデータ入力用クロックを供給し、RE端子はデータ出力用
クロックを供給し、DQS端子はデータ入出力用クロックを伝送し、CLE端子はデータ
入力をコマンドとして入力するイネーブル用であり、ALE端子はデータ入力をアドレス
として入力するイネーブル用であり、CE端子はデータ入出力等全般の機能を有効化する
ためである。
また、R/B端子はNAND型フラッシュメモリ10の内部動作状態を示し、WP端子
は誤書き込み防止用の書き込み防止信号を伝送し、Vcc/Vss/Vccq/Vssq
端子等は電力供給用である。また、本実施形態では、高速インターフェースにてデータ伝
送を実現する際に利用される端子(Toggle)として、RE端子、WE端子、DQS端子に
は、各々相補信号を伝送する/RE端子、/WE端子、/DQS端子が存在する。
ロジックコントロール回路85は、シーケンス制御回路88、パラメータレジスタ89
、認証回路17を備える。ロジック制御回路85は、また、レディ/ビジー信号(R/B
)の出力を司る。具体的には、ロジック制御回路85は、NAND型フラッシュメモリ1
0がビジー状態の間、ビジー信号を出力する。
シーケンス制御回路88は、コマンドレジスタ83からコマンドを受け取る。シーケン
ス制御回路88は、受け取ったコマンドに基づいて、コマンドにより指示される処理(デ
ータ読み出し、書き込み、消去等)を実行するように、センスアンプ77、電圧生成回路
86等を制御する。
パラメータレジスタ89は、ロジック制御回路85の動作を規定する種々の上記制御パ
ラメータ890等を保持する。制御パラメータ890は、シーケンス制御回路88から参
照、または更新され、ロジックコントロール回路85や入出力制御回路88におけるシー
ケンスの制御に利用される。
認証回路17は、上記の認証に関する処理を行う。例えば、認証回路17は、上記のよ
うに、パラメータレジスタに含まれる制御パラメータ890の書き換え等の更新も行う。
また、認証回路17は、認証を要求するコマンドを受け取り、メモリセルアレイ11中の
特定のデータを用いて認証のための特定の演算を行い、結果をメモリ10の外部へ出力す
る。この一連の動作の実行の過程で、認証回路17は、必要なデータの読み出し、書き込
み等を制御パラメータ890の更新を通じて、シーケンス制御回路88に許可する。
レディ/ビジー回路(RY/BY)87は、ロジックコントロール回路85の制御を受けて
、スイッチトランジスタを介して、R/B信号をNAND型フラッシュメモリ10の外部
に通知する。
<ブロック(BLOCK)の構成例>
次に、図19を用い、メモリセルアレイ11を構成するブロック(BLOCK)の構成
例について説明する。ここでは、図18中のBLOCK1を一例に挙げて説明する。ここ
で、上記のように、ブロックBLOCK1中のメモリセルは、一括してデータ消去される
ため、ブロックはデータ消去単位である。
ブロックBLOCK1は、ワード線方向(WL方向)に配置される複数のメモリセルユ
ニットMUから構成される。メモリセルユニットMUは、WL方向と交差するビット線方
向(BL方向)に配置され、電流経路が直列接続される8個のメモリセルMC0〜MC7
からなるNANDス通りング(メモリセルストリング)と、NANDストリングの電流経
路の一端に接続されるソース側の選択トランジスタS1と、NANDストリングの電流経
路の他端に接続されるドレイン側の選択トランジスタS2とから構成される。
なお、本実施形態では、メモリセルユニットMUは、8個のメモリセルMC0〜MC7
から構成されるが、2つ以上のメモリセル、例えば、56個、32個等から構成されてい
ればよく、8個に限定されるというものではない。
ソース側の選択トランジスタS1の電流経路の他端はソース線SLに接続される。ドレ
イン側の選択トランジスタS2の電流経路の他端は、各メモリセルユニットMUに対応し
てメモリセルユニットMUの上方に設けられ、BL方向に延出するビット線BLに接続さ
れる。
ワード線WL0〜WL7は、WL方向に延び、WL方向の複数のメモリセルの制御ゲー
ト電極CGに共通に接続される。選択ゲート線SGSは、WL方向に延び、WL方向の複
数の選択トランジスタS1に共通に接続される。選択ゲート線SGDも、WL方向に延び
、WL方向の複数の選択トランジスタS2に共通に接続される。
また、ワード線WL0〜WL7毎にページ(PAGE)が存在する。例えば、図中の破
線で囲って示すように、ワード線WL7には、ページ7(PAGE7)が存在する。この
ページ(PAGE)毎に、データ読み出し動作、データ書き込み動作が行われるため、ペ
ージ(PAGE)はデータ読み出し単位であり、データ書き込み単位である。
<セルアレイの構成例>
次に、図20を用い、メモリセルアレイ11の構造を示す。
(a)に示すように、メモリセルアレイ11内部は、ノーマルブロック11−1、秘匿
ブロック11−2、ロムブロック11−3、ロムヒューズブロック11−4、保護ブロッ
ク11−5等の上記複数のブロック(BLOCK)から構成される。各ブロックは、上記のよ
うに、複数のページから構成される。通常、データの読み出しや書き込みはページ単位で
行い、消去はブロック単位で行われる。
ノーマルブロック11−1は、上記のように、データの書き込み、読み出し等いずれも
許可され、通常のデータ保持用に用いられる。ノーマルブロックは、上述した読み書き可
能領域11−1に対応する。ブロック数は特に限定されない。
秘匿ブロック11−2及びロムブロック11−3は、上記のような認証動作に適用され
る。秘匿ブロック11−2は、上述した秘匿領域11−2に対応する。ロムブロック11
−3は、上述したロム領域11−3に対応する。何れもブロック数は特に限定されない。
(b)に示すように、本実施形態では、ロムブロック11−3のメモリ空間には、読み
出し専用データが更に記録される。
(c)に示すように、本実施形態では、秘匿ブロック11−2のメモリ空間には、秘匿
データが更に記録される。
(d)に示すように、本実施形態では、保護ブロック11−5のメモリ空間には、後述
する認証機能により利用される保護データが更に記録される。
ロムヒューズブロック11−4は、例えば、NAND型フラッシュメモリ10の動作制
御用のパラメータ保持等に用いられる。
<ロムブロック内の読み出し専用データ>
次に、図21を用い、ロムブロック11−3内の読み出し専用データについて説明する

(a)に示すように、ロムブロック11−3のメモリ空間のあるページには、読み出し
専用データが記録されている。ここで、読み出し専用データAからZの系列とした場合、
本図ではデータのエラー訂正を目的にした(b−1)−(b−3)の3つの例を示す。
(b−1)に示すように、第1のデータパターン1は、同一のデータ(A、A、、、B
、B、、、)を繰り返し記録する例である。この場合、繰り返し読み出し専用データをホ
スト装置20が読み出し、ホスト装置20等が有するエラー訂正部において、多数決判定
を行うことで、エラー訂正が可能である。または、繰り返し読み出し専用データをコント
ローラ19が読み出し、コントローラ19等が有するエラー訂正部において、多数決判定
を行うことで、エラー訂正が可能である。または、繰り返し読み出し専用データをNAN
D型フラッシュメモリ10が有するエラー訂正部において、多数決判定を行うことで、エ
ラー訂正が可能である。例えば、繰り返し回数は16回程度以上あることが望ましい。
(b−2)に示すように、第2のデータパターン2は、各データ(A、B、、、)とそ
の反転データ(Aの反転、Bの反転、、、)からなる相補データペアを繰り返し記録する
例である。この場合、繰り返し読み出し専用データをホスト装置20が読み出し、ホスト
装置20等が有するエラー訂正部において相補データペアに配慮した多数決判定を行うこ
とで、エラー訂正が可能である。または、繰り返し読み出し専用データをコントローラ1
9が読み出し、コントローラ19等が有するエラー訂正部において相補データペアに配慮
した多数決判定を行うことで、エラー訂正が可能である。または、繰り返し読み出し専用
データをNAND型フラッシュメモリ10が有するエラー訂正部において相補データペア
に配慮した多数決判定を行うことで、エラー訂正が可能である。
ここで、相補データペアとして繰り返し記録する理由は、NAND型フラッシュメモリ
10のエラーモードによる。NAND型フラッシュメモリ10はメモリセルMCに対して
所定電圧を印加することによってフローティングゲートFGに電子を注入し、データの書
き込みを行う。データの読み出しは当該メモリセルMCのフローティングゲートFGに電
子が存在しているか否かによって変化する閾値電圧を用いて行う。データの消去は書き込
みと逆方向に電圧を印加し、フローティングゲートFGから基板へ電子を引き抜くことで
実行する。データ読み出し、書き込み、消去の動作に伴う電圧印加量や電圧印加ゲートは
各々異なるが、いずれにおいてもメモリセルMCにおいて電圧を印加する。この原理に起
因して、NAND型フラッシュメモリ10の代表的なエラーモードとして、リード・プロ
グラムディスターブ、データリテンションがある。リード・プログラムディスターブは、
自身若しくは隣接のページを繰り返し読み出す、若しくは隣接ページに書き込むことによ
って、フローティングゲートFGにおける電子量が変化することデータが変化するエラー
モードである。このため弱書き込みに近い状態となり、一般に閾値電圧が増加する。デー
タリテンションとは、一度書き込んだページを長時間放置することによって、フローティ
ングゲートに保持されていた電子が抜け落ちることにより、データが変化するエラーモー
ドである。このため、弱消去に近い状態となり、一般に閾値電圧が低下する。すなわち、
これら不良モードにおいては全般的に増加するか、低下するかの傾向があることから、デ
ータは同一方向にエラーする可能性が高い。
そこで、(b−2)に示すように、相補データとして記録することにより、仮にデータ
が1(未記録状態)であった場合その反転データは0(記録状態)であることから、リー
ド・プログラムディスターブにおいては両データとも0方向に移行し、データリテンショ
ンにおいては逆に1方向に移行する。このため、少なくともエラーが発生しているか否か
は相補データである方が判別しやすい。この場合、例えば、相補データペアとして少なく
とも8回程度の繰り返しがあることが望ましい。
(b−3)に示すように、第3のデータパターン3は、読み出し専用データ(A、B、
、、Z)に更に誤り訂正符号を用いる例である。ここで、誤り訂正符号としては、NAN
D型フラッシュメモリ10のエラー発生形式がビット単位でのランダムエラーであること
から、ランダムビットエラーが訂正可能な例えば、BCH符号やLDPC符号等が望まし
い。
ここで、第1乃至第3のデータパターンのいずれの例においても、各データはランダマ
イズされていてもよい。ランダマイズとは、データの偏りをなくすために、発生させたラ
ンダム系列と記録するデータとの排他的論理和をとる等の方法で、記録するデータをラン
ダム化することである。ランダム系列の発生方法としては、M系列等を用いてもよい。
加えて、第1乃至第3のデータパターンのいずれの例においても、各データは2値状態
として記録されていてもよい。2値状態とは、一つのメモリセルにおける閾値電圧を所定
の1レベルを基準にして高いレベルに属するか低いレベルに属するかを定めてデータを記
録する方法であり、1メモリセル当たり1ビットの情報を保持することができる。このよう
な記録方法は一般にSLC(Single Level Cell)記録と呼ぶ。一方で、一つのメモリセ
ルにおける閾値電圧を所定の複数レベルを基準にして、どのレベルに属するかを定めてデ
ータを記録する方法であり、1メモリセル当たり複数ビットの情報を保持することができ
る。前記属するレベルを例えば、4つ設けてデータを記録する場合、1メモリセル当たり2
ビットの情報を保持することができる。このような記録方法は一般にMLC(Multi Leve
l Cell)記録と呼ばれる。MLC記録は1セルあたりの記録容量が多いため、より高い記
録密度を実現できるが、一方で閾値電圧のずれに対して記録データ変化が比較的おこりや
すい。このことから、前記ロムブロック11−3に記憶される読み出し専用データは、通
常データよりも1セルあたりのビット数を少なく記録する方が望ましい。例えば、1セルあ
たりのビット数が2ビットで構成される4 Level記録のMLCである場合、ROMデ
ータはSLC記録の方が望ましい。また、1セルあたりのビット数が4ビットで構成される
8 Level記録のMLCである場合、ROMデータは1セルあたりのビット数が2ビット
で構成される4 Level記録のMLC若しくはSLC記録の方が望ましい。
<ECCの構成例>
次に、誤り訂正符号化(ECC:Error Correcting Code)の構成例について説明する
ここで、上記図21で示した、第1乃至第3のデータ構造は、厳密には異なるものの、
元となるデータに対して冗長語を付与しているという意味合いでは、広義には訂正符号化
ECCととれる。そのため、ここでは、いずれのデータ構造においてもデータと、それに
付与された訂正符号と称する。ホスト装置20、コントローラ19、若しくはNAND型
フラッシュメモリ10の少なくともいずれかが対応する訂正機能を有する必要がある。
図22で示す第1の例は、ホスト装置20が訂正機能(ECC decode)90を有する例で
ある。この場合、コントローラ19及びNAND型フラッシュメモリ10は、訂正処理を
行わず、符号付きのデータ(Data)をホスト装置20に渡し、ホスト装置20は訂正機能
(ECC decode)90により訂正処理を行い、所定のデータ(Data)を生成する。
図23で示す第2の例は、コントローラ19が、訂正機能(ECC decode)90を有する
例である。この場合、NAND型フラッシュメモリ10は、訂正処理を行わず、コントロ
ーラ19は訂正処理を行い、訂正済みのデータ(Data)をホスト装置20に渡す。
図24で示す第3の例は、NAND型フラッシュメモリ10が、訂正機能(ECC decode
)90を有する例である。この場合、NAND型フラッシュメモリ10は訂正処理を行い
、訂正済みのデータ(Data)をコントローラ19を経由してホスト装置20に渡す。
図25で示す第4の例は、コントローラ19及びホスト装置20の両方が訂正機能90
−1、90−2を有する例である。この場合は、まず付与されている訂正符号が2重構造
をとっており、内符号(Inner code)及び外符号(Outer code)のいずれかを各々コント
ローラ19とホスト装置20とが訂正処理を行う。
なお、上記の場合に限らず、NAND型フラッシュメモリ10、コントローラ19、ホ
スト装置20は、各々自身の訂正機能に応じて協調しつつ訂正を行うことが可能である。
<秘匿ブロック11−2内の秘匿データ>
次に、図26を用い、秘匿ブロック11−2内の秘匿データの保持状態の例を説明する
(a)に示すように、秘匿ブロック11−2内のメモリ空間には、ページに秘匿データ
が記録されている。ここで、秘匿データをAからZの系列とした場合、本図では3つの例
を示す。
(b−1)に示すデータパターン1では、複数の秘匿データ(A、A、、、B、B、、
、)及びアクセス制御パターンB1を記憶する。
(b−2)に示すデータパターン2では、複数の秘匿データ(A、A、、、B、B、、
、)とその反転データ、及びアクセス制御パターンB2を記憶する。
(b−3)に示すデータパターン3では、複数の秘匿データ(A、B、、、、Z)、エ
ラー訂正符号、及びアクセス制御パターンB3を記憶する。
各例における目的の一つは、同ようにエラー訂正である。他の目的は秘匿ブロック11
−2若しくは当該ブロック11−2内のページに対する読み出し、書き込み、消去に関わ
る制御をおこなうことである。当該領域は秘匿データを記録していること、また前述の認
証回路17においてNAND型フラッシュメモリ10の内部でのみ利用する情報を保持す
ることから、外部からの読み出し、書き込み、消去に関わる動作は全て禁止しておく必要
がある。一方で、NAND型フラッシュメモリ10の製造初期段階においては、同領域は
未記録であることから、製造のいずれかの段階において秘匿データを記録しなければいけ
ない。更に、NAND型フラッシュメモリ10のメモリセルの特性として、メモリセルの
初期状態ではデータ保持性能が不十分である場合があるため、当該メモリセルがデータを
仕様通りに保持できるか否かを検査するために、読み出し、書き込み、消去の動作をさせ
る必要がある。
そこで、同領域11−2に関し、製造段階においては読み出し、書き込み、消去が可能
であるが、製造完了後の出荷時においては、同領域は読み出し、書き込み、消去の全てを
禁止しておく必要がある。この状態変更を行うための情報として、当該領域11−2にア
クセス制御パターンB1、B2、B3を記録する。
アクセス制御パターンB1、B2、B3は、ページ毎に記録されていてもよいし、ブロ
ック内の先頭ページのみに記録されていてもよい。また、ページ内でのアクセス制御パタ
ーンB1、B2、B3の記録位置は、一般データ領域であってもよいし、冗長領域であっ
てもよい。ここで、冗長領域とはコントローラ等が訂正符号の付与に利用する領域や、若
しくはNANDフラッシュメモリ10が内部的なページ毎のステータス等を示すための情報を
記録するのに利用する領域等である。
秘匿データやアクセス制御パターンB1、B2、B3においても、ROMデータと同よ
うに2値(SLC)モードで記録される方が望ましい。
次に、図27を用い、アクセス制御パターンの構成例を示す。
まず、アクセス制御パターンは、エラーによる損失を防ぐため、少なくとも複数のビッ
トから構成されている必要がある。
一つ目の例のアクセス制御パターンB1は、複数の制御フラグビットAからZを設け、
これら制御フラグビットを所定パターンとしておく。NAND型フラッシュメモリ10は
、当該領域に対する読み出し、書き込み、消去等のアクセス要求をホスト装置20より受
けた場合、当該領域11−2のアクセス制御パターンB1と所定パターンとの照合を行い
、両者の一致率が所定率以上となった場合にアクセスを禁止する、という構成をとる。
二つ目の例のアクセス制御パターンB2は、制御フラグを繰り返し記録しておく方法で
ある。これは、所定パターンがエラーする確率を低下させる上で有効である。
三つ目の例のアクセス制御パターンB3は、各制御フラグと各制御フラグの反転データ
を記録しておく方法である。前述の通り、本方法もエラーする確率を低下させる上で有効
である。
<アクセス制御パターンの利用例>
次に、アクセス制御パターンの検知方法及び検知結果の利用方法を説明する。
図28に示すように、メモリセルアレイ11中の秘匿領域11−2から読み出される上
記アクセスパターンは、ロジックコントロール回路85内のパターン検知回路91に入力
される。
パターン検知回路91は、入力されるアクセス制御パターンに対し、パターン認識処理
を行い、一致率が所定確率以上であるか否かを判定し、アクセス制御をおこなう。一致率
は、NAND型フラッシュメモリ10のメモリセルアレイにおけるエラー確率と、アクセ
ス制御パターンのデータ量から計算され、例えば、誤検出確率が少なくとも10−3以下
となるように設定することが望ましい。パターン検知回路91は、検知結果に基づき、デ
ータ読み出し、データ書き込み、データ消去を制御するためのイネーブル信号をシーケン
ス制御回路88に入力する。
シーケンス制御回路88は、上記検知結果のイネーブル信号に従い、データ読み出し、
データ書き込み、データ消去を制御する。
<テストフロー>
次に、図29に沿って、上記アクセス制御パターン(例えば、B1−B3)を用いたN
AND型フラッシュメモリ10の製造工程の検査フローを説明する。
(Step S71、S72)
製造工程において、まず、アクセス制御パターンに該当しないデータを、秘匿領域11
−2に記録し、テストを行う。この段階では、秘匿領域11−2のアクセスは許可されて
いる。
ただし、データ読み出し、データ書き込み、データ消去のすべてのアクセスを許可する
のか、データ書き込み及びデータ消去を許可するか等、によりセキュリティーレベルが異
なる。高いセキュリティーレベルが必要な場合、仮にアクセス制御パターンにより全ての
アクセスを禁止したとしても、アクセス制御パターンのデータが劣化することにより、誤
ったアクセス許可をする可能性がある。この場合、秘匿データが読みだされる恐れがある
ため、このステップS71の際のテスト工程においても、データ読み出しを禁止する、す
なわちNAND型フラッシュメモリ10のハードワイヤードレベルにおいて読み出しを当
該領域にはそもそも許可しない、という選択も可能である。
または、アクセス制御パターンのデータ劣化耐性が十分である場合、例えば、アクセス
制御パターンが多数回繰り返し記録されている、強固な誤り訂正符号が付与されている場
合等においては、テストの利便性を確保するために、データ読み出しを含めた制御をアク
セス制御パターンによっておこなってもよい。この場合、先に示した誤検出確率は更に低
く、例えば、10−5以下であることが望ましい。
(Step S73)
続いて、S72の際の所定のテストが完了した後、秘匿領域11−2に秘匿データ及び
アクセス制御パターン(B1−B3等)が各々書き込まれる。
(Step S74)
続いて、上記のデータが書き込まれた状態で、NAND型フラッシュメモリ10が出荷
される。
<データ消去フロー>
次に、図30に沿って、NAND型フラッシュメモリ10の内部のデータ消去動作を説
明する。
(Step S76)
まず、ホスト装置20より消去動作の動作命令が発効されると、NAND型フラッシュ
メモリ10は、当該命令における選択ブロックアドレスが特定ブロックであるか否かを判
定する。
(Step S77)
続いて、選択ブロックアドレスが特定ブロックでない場合(No)、通常通りの消去シー
ケンスを行う。
(Step S78)
一方、選択ブロックアドレスが特定ブロックの場合(Yes)、秘匿領域11−2からア
クセス制御情報(B1−B3等)の読み出しを行う。
(Step S79)
続いて、アクセス制御情報(B1−B3等)のパターン検知を行い、パターン一致率が
所定値以上であるか否かを判定する。
(Step S80)
続いて、パターン一致率が所定値以下であった場合(Yes)、通常通りの消去シーケン
スを行う。
(Step S81)
続いて、パターン一致率が所定値以上であった場合(No)、消去シーケンスを抜け、デ
ータ消去フローを終了する(End)。
なお、本実施形態では、データ消去を一例に挙げたが、同ようにデータ読み出し、デー
タ書き込みにおいても適用可能である。
<作用効果>
第5の実施形態に係る認証装置、被認証装置及び認証方法によれば、少なくとも上記と
同様の作用効果(1)乃至(5)を得ることができる。
更に、必要に応じて、本実施形態の構成及び方法を適用することで、信頼性を向上でき
る点で有効である。
[第6の実施形態(データキャッシュの認証処理への利用の一例)]
第6の実施形態は、データキャッシュの認証処理への利用の一例に関するものである。
この説明において、上記実施形態と重複する部分の説明については、省略する。
<データキャッシュ、センスアンプ等の構成例>
図31を用い、第6の実施形態に係るデータキャッシュ、センスアンプ等の構成例につ
いて説明する。
図示するように、上記実施形態に係る認証処理のデータキャッシュ12が1コンポーネ
ントとして示される。NAND型フラッシュメモリ10は、メモリセルアレイ11から読
み出したページデータを一時的に記憶する、また外部から記録用データとして受領した書
き込みページデータを一時的に記憶する、等を目的とした揮発性データキャッシュ12を
有する。本実施形態のデータキャッシュ12は、ページバッファ、データバッファ等とも
呼ばれ、通常ページサイズ以上の領域を有する。更に、ページデータの読出しや書込み処
理の高速化、ランダムページアクセスをするために、データキャッシュはページサイズの
複数倍の領域を持つことが多い。
データキャッシュ12は、複数のデータキャッシュA、データキャッシュB、データキ
ャッシュCを備える。各データキャッシュは、メモリセルアレイ11の読出しに用いるセ
ンスアンプ(SA)とデータ線とに各々接続される。
センスアンプSAは、図示しないビット線を介し、メモリセルアレイ11に電気的に接
続される。
データキャッシュのうちのDC_Aは、直接データ線とのデータのやり取りが可能であ
るデータキャッシュである。DC_Aを通じてデータキャッシュ12のデータを、データ
線を介してIOへ接続されることにより、NANDチップ10の外部に出力し、NAND
チップ10の外部のデータをデータキャッシュにロードすることが可能である。
更に、データキャッシュ12に接続され、データキャッシュ12間の演算を行うための
演算器を備える。演算器は、上記実施形態における認証処理に用いるデータ生成器13、
14や一方向性回路15等を備える認証回路17に相当する。
また、一時的にデータを格納しておくための内部レジスタ92を備える。
ここで、NAND型フラッシュメモリ10には、データ読出しにおいて、メモリセルア
レイ11への読出しコマンドに加え、データキャッシュ12にメモリセルアレイ11から
読み出されたデータを読み出すためのコマンドとしてレジスタリードと呼ばれるコマンド
がある。
この際、上記認証方法においては、NAND型フラッシュメモリ10内の秘匿ブロック
11−2は、秘匿ブロック11−2に記録されている秘匿情報(NKey、SecretID等)をN
ANDチップ10の外部からのアクセスによって読みだされることがあってはならない。
一方で、NAND型フラッシュメモリ10が認証処理を行う場合は、秘匿ブロック11−
2に記録されている秘匿情報(NKey、SecretID等)を内部的に読出し、認証処理に用いる
必要がある。すなわち、メモリセルアレイ11からデータキャッシュ12への秘匿情報(
NKey、SecretID等)の読出しは可能としておく必要がある一方で、データキャッシュ12
からNAND型フラッシュメモリ10の外部へのデータ出力を禁止する必要がある。これ
は、前記のレジスタリードを無効化することに相当する。
そこで、秘匿ブロック11−2が、NAND型フラッシュメモリ10の外部からアクセ
スされたときのデータ読み出し動作については、通常の読み出し動作と異なる動作をさせ
る。より具体的には、秘匿ブロック11−2がアクセスされた場合、メモリセルアレイ1
1からセンスしたデータを、データキャッシュDC_A以外のデータキャッシュDC_B
、DC_Cに留め外部への出力ができないようにして、レジスタリードコマンドが効かな
いように無効化する。一方、アクセスされたブロックが、秘匿ブロック11−2でない場
合、通常通り、データキャッシュDC_Aを用いて、データ読み出しを行う。
このように、上記構成によれば、複数種類のデータキャッシュDC_A〜DC_Cを設
け、外部からユーザがアクセスできないデータキャッシュDC_B、DC_Cのみで上記
認証処理を実行する。そのため、上記認証処理に秘匿情報(NKey、SecretID等)を利用す
る際に、鍵情報(NKey)等の秘匿情報が外部から不正に読み取られない点で有利である。
<認証処理におけるNAND内部演算フロー1>
次に、図32に沿って、認証処理の過程において、ホスト装置20に対して秘匿ブロッ
ク11−2の情報を直接的・間接的にも出力しないためのフローを示す。
(Step S82)
まず、認証処理において、ホスト装置20等のNAND型フラッシュメモリ10の外部
からデータが入力されるとする。この入力データは、例えば、上記乱数RNやホスト定数
HCj等であり、同データは、データキャッシュDC_Aにロードされる。
(Step S83)
続いて、ホスト装置20から秘匿ブロック11−2等の特別ブロックへアクセスする間
接的読み出し要求が行われる。これは、すなわち認証における認証情報の計算要求に該当
する。
この要求を受けて、メモリセルアレイ11からリードされた機密ページのデータが読み
出される。
(Step S84)
続いて、リードされた機密ページのデータは、データキャッシュDC_Bに格納される
(Step S85)
続いて、データキャッシュDC_AとデータキャッシュDC_Bのそれぞれに記憶され
ているデータ間で、上記実施形態で説明した認証処理における演算を演算器(認証回路1
7)を用いて行う。
(Step S86)
続いて、演算の結果は、データキャッシュDC_Cに格納される。
(Step S87)
ここで、一連のシーケンスを抜けてチップレディとなったときに機密データがデータキ
ャッシュに残っていると、これを外部から読み出されるおそれがある。これを防ぐために
シーケンスを抜ける前に、全てのデータキャッシュDC_A〜DC_Cの情報をリセット
しておかなければならない。一方、ホスト装置20は、上記演算の結果をデータキャッシ
ュDC_A〜DC_Cがリセットされた後に得なければならない。
そこで、まず、データキャッシュDC_Cに保持されている演算の結果を、内部レジス
タ92にコピーする。
(Step S88)
続いて、全てのデータキャッシュDC_A〜DC_Cのデータをリセットする。
(Step S89)
続いて、内部レジスタ92に退避しておいたデータを、データキャッシュDC_Aに戻
す。ここまでの動作が終了すると、NAND型フラッシュメモリ10はこのシーケンスを
抜け、レディ状態となる。この際、データキャッシュDC_Aには演算の結果が格納され
ている。
(Step S90)
続いて、ホスト装置20は、レジスタリードコマンドにより、データキャッシュDC_
Aに格納されたデータを得ることが出来る。
<認証処理におけるNAND内部演算フロー2>
次に、図33に沿って、NAND型フラッシュメモリ10内部に乱数生成器(24n)
を備えた実施形態のNAND内部演算フローについて説明する。上記図32の場合と異な
るのは、NAND型フラッシュメモリ10内部の乱数発生器(24n)で発生した乱数(
RN)を使用する点である。
(Step S91)
まず、認証処理において、ホスト装置20からNAND型フラッシュメモリ10に対し
て乱数読出し要求が行われると、NAND型フラッシュメモリ10は乱数を生成させ、生
成された乱数はデータキャッシュDC_Aにロードされる。
(Step S92)
続いて、ホスト装置20は、レジスタリードコマンドによって、データキャッシュDC
_Aの乱数を読み出す。
(Step S93)
続いて、認証処理において、ホスト装置20から例えばホスト定数(HCj)等のデー
タが、NAND型フラッシュメモリ10に対して入力される。上記データは、データキャ
ッシュDC_Aにロードされる。
更に、ホスト装置20からNAND型フラッシュメモリ10に対してホスト装置20で
演算した認証情報が入力される。このデータは、例えばOneway−ID等であり、同
データはデータキャッシュDC_Aにロードされる。
(Step S94)
続いて、ホスト装置20から秘匿ブロック11−2にアクセスして、間接的読み出し要
求が行われる。これはすなわち認証における認証情報の計算要求に該当する。
すると、メモリセルアレイ11から機密ページのリードがされる。
(Step S95)
続いて、リード結果は、データキャッシュDC_Bに格納される。
(Step S96)
続いて、データキャッシュDC_AとデータキャッシュDC_Bとのそれぞれに記憶さ
れているデータ間で、上記実施形態で説明した認証処理における演算を演算器(認証回路
17)を用いて行う。
(Step S97)
続いて、上記演算の結果は、データキャッシュDC_Bに格納される。
(Step S98)
続いて、データキャッシュDC_Aに保持されているホストの演算結果とデータキャッ
シュDC_Bに保持されているNANDの演算結果とを照合する。
(Step S99)
続いて、上記ステップS98の際の照合において、照合結果の一致が確認された場合、
制御パラメータ(890)を更新する。
(Step S100)
続いて、NAND型フラッシュメモリ10は、全てのデータキャッシュDC_A〜DC
_Cの情報をリセットする。ここまでの動作が終了すると、NAND型フラッシュメモリ
10は、このシーケンスを抜け、レディ状態となる。
(Step S101)
続いて、ホスト装置20は、照合結果を確認するコマンドにより、NANDチップ10
の外部にリードアウトされた照合結果を得る。
<秘匿情報の検査方法について>
次に、秘匿情報の検査方法について説明する。
検査フロー
図34に沿って、工場でシリコンが出来上がってから、NAND型フラッシュメモリ1
0を出荷するまでの過程で、本認証方法に関係する工程を示す。
図示するように、製造工程、テスト、秘匿データ書き込み、出荷の順に工程が進む。
(Step S71、S72)
まず、製造工程が終了すると、所定の検査テストを行って、良品チップ10をウェハか
ら選別する。
(Step S73)
続いて、上記ステップS72の際の通常のテスト工程が終了した後、秘匿データを書き
込む工程が行われ、正しく秘匿データが書かれたか否かをテストしなければならない。
一方で、この際、秘匿ブロック11−2から秘匿データを直接読み出すことはできない
。なぜなら、当該読出し機能はセキュリティーホールとなる恐れがあるためである。
(Step S74)
続いて、正しく秘匿データが書かれたNAND型フラッシュメモリ10について、出荷
を行う。
秘匿情報の間接的読み出し検査フロー
上記ステップS73の際、秘匿ブロック11−2から秘匿データを直接読み出すことは
、セキュリティーホールとなる恐れがある観点から、行うことができない。
そこで、図35に沿って、直接データ読出し機能を提供せずに、記録されたデータの確
認をするフローを説明する。
(Step S111)
まず、メモリセルアレイ11の秘匿ブロック11−2から、秘匿情報(Nkey等)の情報
を読み出す。
(Step S112)
続いて、読み出した秘匿情報(Nkey等)のリード結果を、データキャッシュDC_Bに
格納する。
(Step S113)
続いて、NAND型フラッシュメモリ10の外部から、同一の秘匿情報(Nkey等)を、
データキャッシュDC_Aに記憶させる。
(Step S114)
続いて、演算器(認証回路17)を用いて、データキャッシュDC_Aのデータとデー
タキャッシュDC_Bのデータとの排他的論理和をとる。
(Step S115)
続いて、排他的論理和の結果を、データキャッシュDC_Cに格納する。
(Step S116)
続いて、データキャッシュDC_Cのデータを検知する。
(Step S117)
この際、データキャッシュDC_Aのデータと、データキャッシュDC_Bのデータと
が一致している場合(Yes)にはテストはパス(OK)である。一方、一致していない場合(N
o)テストはフェイルである。
具体的には、データキャッシュDC_Cには排他的論理和の結果が入っているから、デ
ータキャッシュDC_Cのデータが全て“0”の場合(Yes)、テストはパス(OK)であ
る。一方、“1”である場合(No)、フェイルとなる。
まず、データキャッシュDC_Cのデータがすべて“0”であるかどうかの検知を行う
。ここで、すべてのビットが“0”となっていれば(Yes)、テストはパスとなる。そう
でなかった場合(No)、次のステップS118に続く。
(Step S118)
続いて、すべてのビットが“0”でない場合(No)、“1”の数を数える。この際、“
1”の数が規定の数以下である場合(Yes)、多数決誤り訂正や訂正符号による誤り訂正
が可能であると判断されるのでテストはパスとなる(OK)。一方、“1”の数が規定数以
上であった場合(Mo)、テストはフェイルとなる(NG)。
ここで、上記実施形態に記載した、特定ブロックへのアクセス制御に認証を用いる方法
を用いて、秘匿ブロック11−2に記録された秘匿情報の代わりに、NAND型フラッシ
ュメモリ10にハードワイヤードで構成した第2の秘匿情報を別途持っておき、同第2の
秘匿情報によって秘匿ブロック11−2へのアクセス制御を行うという方法も可能である
。この場合、データ読み出しだけではなく、データ書き込みやデータ消去等も第2の秘匿
情報に基づく認証によって制御してもよい。
<作用効果>
第6の実施形態に係る認証装置、被認証装置及び認証方法によれば、少なくとも上記と
同様の作用効果(1)乃至(5)を得ることができる。
更に、本実施形態では、秘匿ブロック11−2がアクセスされた場合、メモリセルアレ
イ11からセンスしたデータを、データキャッシュDC_A以外のデータキャッシュDC
_B、DC_Cに留め外部への出力ができないようにして、レジスタリードコマンドが効
かないように無効化する。一方、アクセスされたブロックが、秘匿ブロック11−2でな
い場合、通常通り、データキャッシュDC_Aを用いて、データ読み出しを行う。
このように、上記構成によれば、複数種類のデータキャッシュDC_A〜DC_Cを設
け、外部からユーザがアクセスできないデータキャッシュDC_B、DC_Cのみで上記
認証処理を実行する。そのため、上記認証処理に秘匿情報(NKey、SecretID等)を利用す
る際に、鍵情報(NKey)等の秘匿情報が外部から不正に読み取られない点で有利である。
加えて、上記ステップS88、S100に示すように、Busy状態からReady状態に戻る
前に、データキャッシュDC_AD〜C_C中の鍵情報等の秘匿情報を全て消去する。そ
のため、安全性を確保することが可能である。
[第7の実施形態(コマンドマッピングの一例)]
第7の実施形態は、コマンドマッピングの一例に関するものである。この説明において
、上記実施形態と重複する部分の説明については、省略する。
<Read,Writeコマンドと親和性の良いコマンドマッピング例>
ここで、NAND型フラッシュメモリ10は、読出し用のコマンドとして、例えば、0
0h−Address−30hにより読出し対象のブロック及びページアドレスを指定す
る。Address部分はブロックアドレス、ページアドレス、更にページ内のバイト位
置を示すカラムアドレスから構成されることが多い。カラムアドレス部分の入力データは
無視されることもあれば、ページ読出し後のバイトポインタの設定に用いられて当該バイ
ト位置からの読出しに用いられることもある。コマンド30hの入力後にNAND型フラ
ッシュメモリ10は読出しのためのBusy状態となり、読出し完了後にReady状態へと遷移
する。Ready状態へ遷移後、データ出力(Dout)が可能となり、REやDQS等を供給す
ることでデータを読み出すことが可能となる。また、読み出したページ内で読み出すバイ
ト位置を変更する場合は、05h−Address−E0hにて読み出したいバイト位置
に相当するカラムアドレスを設定する。
データ書き込み(記録)用のコマンドとしては、80h−Address−Data
input−10hにより、書き込み対象のブロック及びページアドレスを指定する。こ
こで、Address部分はブロックアドレス、ページアドレス、更にページ内のバイト
位置を示すカラムアドレスから構成されることが多い。カラムアドレス部分の入力データ
は無視されることもあれば、ページ書き込み用データ入力におけるバイトポインタの設定
に用いられて当該バイト位置からの書き込みデータ入力に用いられることもある。コマン
ド10h入力後、NAND型フラッシュメモリ10は、書き込みのためのBusy状態となり
、書き込み完了後Readyへと遷移する。
上記が、NAND型フラッシュメモリ10で広く用いられているコマンド体系である。
上記実施形態に係る認証機能を実装する場合に、コマンドシーケンスをできるだけ共通化
させることが回路の実装面積を極小化する上で好ましい。しかしながら、認証機能はセキ
ュリティを要する分野で利用されることから、機能利用者を限定した方が望ましいという
視点もある。
そこで、図36は、上記観点を考慮して、NAND型フラッシュメモリ10の上記Read
,Writeコマンドと親和性の良いコマンドマッピング例を示している。
上記一般的なコマンドシーケンスと異なる点は、Security Prefixの入力コマンドを当
該コマンドの前に付与している点である。ここで、Security Prefixは、単バイトで構成
する場合、複数バイトで構成する場合が考えられる。コマンドSecurity Prefixは、当該
認証機能を必要とする利用者にのみ開示される。利用者管理の観点では、コマンドSecuri
ty Prefixは、複数バイトで構成されるほうが望ましい。
(a)で示すように、データ読出しコマンドシーケンスと同ように、IO端子に、順次
、コマンド(Security Prefix)−コマンド(00h)−アドレス(ADD)−コマンド
(30h)により読出し対象のブロック及びページアドレスが指定される。ここで、Ad
dressに設定された値を更に利用者管理用に特別な値とすることも可能であり、若し
くは内部にて無視される値とすることも可能である。
続いて、コマンド(30h)の入力後にNAND型フラッシュメモリ10は、読出しの
ためのBusy状態となり、読出し完了後にReady状態へと遷移する。Ready状態へ遷移後、デ
ータ出力(Dout)が可能となり、REやDQS等を供給することで、インデックス情報i
,v、固有の暗号化秘密識別情報(E-SecretID)、共通に付される鍵管理情報(FKB)等
のデータを読み出すことが可能となる。
(b)で示すように、データ書き込みコマンドシーケンスと同ように、IO端子に、順
次、コマンド(Security Prefix)−コマンド(80h)−アドレス(ADD)−データ
(Din 32B)−コマンド(10h)を入力することにより、対象データの入力を行う。こ
こで、Addressに設定された値を更に利用者管理用に特別な値とすることも可能で
あり、若しくは内部にて無視される値とすることも可能である。ここで、本シーケンスは
書き込みシーケンスと共通箇所が多いものの、実際にはセルアレイへのデータ書き込みは
必要としなく、NAND型フラッシュメモリ10が認証処理の計算に必要とするデータ入
力のために使用される。認証処理の計算に必要とするデータの例としては、ホスト装置2
0の固有情報HCiや乱数等がある。
続いて、認証処理の計算が終了するまでの期間Busy状態となり、計算が終了し、かつ上
記のように、データキャッシュDC_A〜DC_C中のセキュリティーデータが全てクリ
アされた後に、Ready状態へと遷移する。
(b)で示すように、Ready状態へと遷移した後、ホスト装置20は、IO端子に、順
次、コマンド(05h)−アドレス(ADD)−コマンド(E0h)を入力し、認証処理
の計算結果が保持されているカラムアドレスを指定することで結果の取得が可能となる。
認証処理の計算結果の例としてはOneway−ID等がある。
<Set / Get featureコマンドと親和性の良いコマンドマッピング例>
次に、図37に沿って、本認証機能を適用したNAND型フラッシュメモリ10のコマ
ンド構成の別の例を示す。
NAND型フラッシュメモリ10には、当該メモリ10の機能を有効化するためのSet
Featureと呼ばれるコマンド、及び、当該メモリ10の機能の有効化・無効化状況を読み
出すためのGet Featureと呼ばれるコマンドがある。これらのコマンドは、例えば、高速
データ転送用の相補信号である/RE、/WE、/DQS等の入力を有効化するため等に用
いられる。
Set Featureは、EEh−Address-Data inputにて機能の設定を行う。ここで、
Addressには機能番号が設定され、Data inputには当該機能番号にて示される機能
のパラメータが入力される。その後、機能有効化のためのBusy期間があり、有効化の後、
Readyへと遷移する。
Get Featureは、EFh−Address-Data outputにて、機能の有効化・無効化状
況の読出しを行う。ここで、Addressには機能番号が設定され、Data outputには
当該機能番号にて示される機能のパラメータが出力される。AddressとData outpu
tとの間には、内部での設定パラメータ読出しのためのBusy期間が存在する。
本実施形態は、これらSet Feature、Get Featureを流用したコマンドシーケンスの例で
ある。
(a)に示すように、コマンドシーケンスは、上記と同様であるが、指定するAddr
essが異なる。ここで、Addressは単バイトで構成する場合、複数バイトで構成
する場合が考えられる。Addressは当該認証機能を必要とする利用者にのみ開示さ
れる。利用者管理の観点では、Addressは複数バイトで構成されるほうが望ましい
。Data output及びData inputの例としては、上記図37にて示したものと同様のインデ
ックス情報i、vである。
(b)に示すように、Data input用のコマンド(EEh)−アドレス(ADD)−デー
タ(Din)のコマンドシーケンスは、同時に認証処理の実行を誘発し、Busy期間中にNA
ND型フラッシュメモリ10は認証処理の計算を行う。
続いて、計算が終了し、かつセキュリティーデータがデータキャッシュよりクリアされ
た後に、Ready状態へと遷移する。Ready状態へと遷移した後、ホスト装置20は、One
way−IDを読み出すことが可能である。
<作用効果>
第7の実施形態に係る認証装置、被認証装置及び認証方法によれば、少なくとも上記と
同様の作用効果(1)乃至(5)を得ることができる。
更に、本実施形態では、図36に示したように、NAND型フラッシュメモリ10のコ
マンドシーケンスとできるだけ共通化させることできる。そのため、セキュリティを考慮
しつつ、回路の実装面積を極小化できるため、上記実施形態に係る認証機能を実装する場
合により有効である。
また、図37に示したように、当該メモリ10の機能を有効化するためのSet Feature
と呼ばれるコマンド、及び、当該メモリ10の機能の有効化・無効化状況を読み出すため
のGet Featureと呼ばれるコマンドに対しても、必要に応じて共通化させて適用が可能で
ある。
ここで、Busy状態からReady状態へ戻る前のタイミングで、データキャッシュDC_A
〜DC_Cのデータを全てクリアする点は、上記と同様である。
[第8の実施形態(メモリカード、コンテンツ保護、HDDへの一応用例)]
第8の実施形態は、メモリカード、コンテンツ保護、HDDへの一応用例の関するもの
である。この説明において、上記実施形態と重複する部分の説明については、省略する。
メモリカードへの応用例
図38を用い、本認証機能を適用したNAND型フラッシュメモリ10を搭載したメモ
リカードの構成例を示す。
図示するように、メモリカード55は、NANDフラッシュメモリ10の動作を制御す
る機能、ホスト装置20側とのインターフェースを制御する機能等を有するコントローラ
19を搭載する。
NANDパッケージ内に積層された複数のNAND型フラッシュメモリチップ10(M
CP1)、(MCP2)を少なくとも1つ以上有する。ここで、NANDパッケージ内の
少なくとも1つ以上のNANDフラッシュメモリチップ10が、上記実施形態に係る認証
機能・被認証機能を有すれば良い。換言すると、NANDパッケージ内のNANDフラッ
シュメモリチップ10の全てが、上記実施形態における認証機能・被認証機能を有してい
なくてもよい。更に、メモリカード55内に搭載されたNANDパッケージの全てが実施
形態における認証機能・被認証機能を有していなくともよい。明確化のために、本実施形
態のNAND型フラッシュメモリ10は、NANDパッケージを指すこともあれば、NA
NDフラッシュメモリチップを指すこともある。
メモリカード55内のコントローラ19は、NANDパッケージ内のNAND I/F
を経由して、上記実施形態に係る認証機能・被認証機能を制御する機能を有する。ここで
、複数のNANDパッケージのいずれか一つのみの認証機能・被認証機能を制御する機能
であってもよいし、複数のNANDパッケージの各々の認証機能・被認証機能を制御する
機能であってもよい。更に、NANDパッケージ内のいずれか一つのNANDフラッシュ
メモリチップ10の認証機能・被認証機能を制御する機能であってもよいし、NANDパ
ッケージ内の各々のNANDフラッシュメモリチップ10の認証機能・被認証機能を制御
する機能であってもよい。
コンテンツ保護への応用例1
図39を用い、上記認証機能を適用したNAND型フラッシュメモリ10を搭載したメ
モリカード55のコンテンツ保護への応用例1を示す。簡略化のため、本発明明細書内で
既に説明した内容については説明を割愛する。
メモリカード55内には、コントローラ19、NANDパッケージ(MCP1)、(M
CP2)が搭載されている。ここで、NANDパッケージ(MCP1)、(MCP2)は
、上記実施形態に係る認証機能・被認証機能を有する。
ホスト装置20は、上記実施形態にて示した認証処理により、NAND型フラッシュメ
モリ10のNANDパッケージ(MCP1)、(MCP2)は、秘密識別情報Secret ID
の正当性を確認する。
正当性確認後、ホスト装置20は、秘密識別情報Secret IDに基づいて、第2の実施形
態において説明した方法を用い、EMIDの計算処理を行う。
ここで、NANDパッケージ(MCP2)は、コンテンツ(Content)書き込み時に、
EMIDとコンテンツを関連付けるためのBinding Dataを生成する。Binding Dataには、
コンテンツを暗号化・復号化するための鍵に関わるデータを含んでおくことが望ましい。
Binding Dataは、カード55内に搭載されたNANDパッケージ(MCP1)、(MCP
2)のいずれかに記録される。ここで、Binding Dataが記録されるNANDパッケージは
、認証処理に用いた秘密識別情報Secret IDを有するNANDパッケージ(MCP1)で
あってもよいし、他のNANDパッケージ(MCP2)であってもよい。図39では後者
の例を示しているがこれに限られない。また、コンテンツの記録位置も同ように、いずれ
のNANDパッケージであってもよい。
コンテンツ(Content)再生時には、EMIDとコンテンツを関連付けるためのBinding
Dataと秘密識別情報Secret IDとを認証処理して得られたEMIDと、コンテンツの関連
性を計算・確認して、関連性が確認された場合にのみコンテンツを再生する。
上記構成により、コンテンツ(Content)は、秘密識別情報Secret IDと関連付けられる
。そのため、同一の秘密識別情報Secret IDを有さない他のメモリカードにコンテンツやB
inding Dataを不正に複製しても、コンテンツの再生ができなくなる効果が得られる点で
、有利である。
HDDへの応用例1
図40を用い、本認証機能を適用したNAND型フラッシュメモリ10を利用したハー
ドディスクドライブ(HDD)の構成例1を示す。
図示するように、HDDパッケージ200には、少なくとも一つ以上のNANDパッケ
ージ(MCP1)を搭載し、内少なくとも一つのNANDパッケージは上記実施形態に係
る認証機能・被認証機能を有する。
また、HDDパッケージ200には、少なくとも一つのHDD210を搭載する。
更に、NANDパッケージ(MCP1)の制御、HDD210の制御、ホスト装置との
インターフェースの制御等を実行するブリッジコントローラ190を搭載する。ブリッジ
コントローラ190は、単独の集積回路から構成されていてもよいし、複数の集積回路か
ら構成されていてもよい。また、集積回路とファームウェアの組み合わせにより機能を実
現してもよい。
NANDパッケージ(MCP1)内の認証機能・被認証機能は、ブリッジコントローラ
190を経由してホスト装置であるHDD210へと提供される。
HDDへの応用例2
図41を用い、本認証機能を適用したNAND型フラッシュメモリ10を利用したハー
ドディスクドライブ(HDD)の別の構成例を示す。
図示するように、HDDパッケージ200には、上記図38にて説明したメモリカード
55を接続するためのメモリカードソケット550を有する。
また、HDDパッケージ200には、少なくとも一つの以上のHDD210を搭載する
。更に、メモリカード55の制御、HDD210の制御、ホスト装置とのインターフェー
スの制御等を実行するブリッジコントローラ190を搭載する。ブリッジコントローラ1
90は、単独の集積回路から構成されていてもよいし、複数の集積回路から構成されてい
てもよい。また、集積回路とファームウェアの組み合わせにより機能を実現してもよい。
メモリカード55内の認証機能・被認証機能は、ブリッジコントローラ190を経由し
てホスト装置であるHDD210へと提供される。
コンテンツ保護への応用例2
図42にて、本認証機能を適用したNAND型フラッシュメモリ10を利用したハード
ディスクドライブ(HDD)のコンテンツ保護への応用例を示す。本実施形態は、図41
にて示したHDD構成を例に取っているが、図40にて示したHDD構成にも適用可能で
ある。
図示するように、HDDパッケージ200A、200B内には、ブリッジコントローラ
190A、190B、メモリカードソケット550A、550B、HDD210A、21
0Bがそれぞれ搭載されている。
ここで、メモリカード55は、上記実施形態のいずれかの認証機能・被認証機能を有す
る。ホスト装置20は、上記実施形態にて示した認証処理によりNAND型フラッシュメ
モリ10の秘密識別情報Secret IDの正当性を確認する。正当性確認後、ホスト装置20
は、秘密識別情報Secret IDに基づいて第2の実施形態にて示した方法にて、EMIDの
計算処理を行う。
コンテンツ(Cntent)書き込み時には、EMIDとコンテンツを関連付けるためのBind
ing Dataを生成する。Binding Dataにはコンテンツを暗号化・復号化するための鍵に関わ
るデータを含んでおくことが望ましい。Binding Dataは、メモリカード55、若しくは、
HDD210A、210Bのいずれかに記録される。ここでは、HDD210A、210
Bに記録される例を示しているがこれに限られない。また、コンテンツの記録位置も同よ
うに、カード55若しくはHDD210A、210Bのいずれであってもよい。
コンテンツ(Content)再生時には、EMIDとコンテンツを関連付けるためのBinding
Dataと、秘密識別情報Secret IDを認証処理して得られたEMIDと、コンテンツの関連
性を計算・確認し関連性が確認された場合にのみコンテンツを再生する。
本実施形態は、カードソケット550Aを経由してメモリカード55内のNANDフラ
ッシュメモリ10が有する認証機能・被認証機能を利用する例であるが、図40に示した
HDDが直接NANDパッケージを搭載し、制御する構成においても適用可能である。こ
の場合、メモリカードをNANDパッケージに置き換えればよい。
更に、カードソケット550A、550Bを有するHDDについて適用可能な応用例と
して、同様のHDDパッケージが複数あった場合、両HDDパッケージにコンテンツやBi
nding Dataを複製することで、カードを移動するのみでいずれのHDDに記録されたコン
テンツを再生することも可能となる。ここで、Binding Dataは、HDDでなく、カードに
記録されていてもよいし、または両方に記録されていてもよい。
本構成により、コンテンツ(Content)は、メモリカード55若しくはNANDパッケ
ージ内の秘密識別情報Secret IDと関連付けられるため、同一の秘密識別情報Secret IDを
有さないメモリカード55にコンテンツやBinding Dataを不正複製しても、コンテンツの
再生ができなくなる効果が得られる。
更に、図41にて示したHDDパッケージがメモリソケットを有する例においては、メ
モリカードのみを移動することで複数のHDDに記録されたコンテンツを再生することが
可能となる。これは一般にメモリカードに比較し、HDDは筐体が大きく、据え置き用途
等で用いられることもあることから、可搬性上有利である。
コンテンツ保護への応用例3
図43を用い、本認証機能を適用したNAND型フラッシュメモリ10を利用したハー
ドディスクドライブ(HDD)のコンテンツ保護への応用例3を説明する。本実施形態は
、ホスト装置20が、メモリカードソケット550を有し、外付けHDD210を利用す
る例である。
図示するように、HDDパッケージ200内には、ブリッジコントローラ190、HD
D210が搭載されている。
ホスト装置20には、メモリカードソケット550に挿入されるメモリカード55内に
備える認証機能、カード制御機能が搭載されている。メモリカード55には、上記実施形
態いずれかに係る認証機能・被認証機能を有するNANDパッケージが搭載されている。
上記構成において、ホスト装置20は、上記実施形態にて示した認証処理によりNAN
D型フラッシュメモリ10の秘密識別情報Secret IDの正当性を確認する。
正当性確認後、ホスト装置20は、秘密識別情報Secret IDに基づいて、上記第2の実
施形態に係る方法を用い、EMIDの計算処理を行う。
コンテンツ(Content)書き込み時には、EMIDとコンテンツを関連付けるためのBin
ding Dataを生成する。Binding Dataには、コンテンツを暗号化・復号化するための鍵に
関わるデータを含んでおくことが望ましい。Binding Dataは、メモリカード55、若しく
は、HDD210のいずれかに記録される。ここでは、後者の例を示しているがこれにと
限られない。また、コンテンツの記録位置も同ように、カード55若しくはHDD210
のいずれであってもよい。
コンテンツ(Content)再生時には、EMIDとコンテンツを関連付けるためのBinding
Dataと、秘密識別情報Secret IDを認証処理して得られたEMIDと、コンテンツの関連
性を計算・確認し関連性が確認された場合にのみコンテンツを再生する。
本実施形態は、カードソケット550を経由してメモリカード55内のNANDフラッ
シュメモリ10が有する認証機能・被認証機能を利用する例であるが、ホスト装置20は
、直接NANDパッケージを搭載し、制御する構成においても適用可能である。この場合
、前記のメモリカード55をNANDパッケージに置き換えればよい。
更に、カードソケット550を有するホスト装置20について適用可能な応用例として
、同様のホスト装置20が複数あった場合、メモリカード55とHDDパッケージ200
を別のホスト装置20と接続することで、いずれのホスト装置20でもコンテンツを再生
することも可能となる。ここで、コンテンツやBinding Dataは、HDD210でなく、カ
ード55に記録されていてもよいし、または両方に記録されていてもよい。
本構成により、コンテンツはメモリカード55若しくはNANDパッケージ内の秘密識
別情報Secret IDと関連付けられるため、同一の秘密識別情報Secret IDを有さないメモリ
カードにコンテンツやBinding Dataを不正複製しても、コンテンツの再生ができなくなる
効果が得られる。更に、メモリカード55とHDD210を移動することで複数のホスト
装置でコンテンツを再生することが可能となる。
コンテンツ保護への応用例4
図44を用い、本認証機能を適用したNAND型フラッシュメモリ10を利用したハー
ドディスクドライブ(HDD)のコンテンツ保護への応用例4を説明する。本実施形態は
、ホスト装置20がメモリカードソケット550を有し、更に内蔵HDD210を利用し
た例である。
図示するように、HDDパッケージ200内には、ブリッジコントローラ190、HD
D210が搭載されている。
ホスト装置20には、メモリカードソケット550に挿入されるメモリカード55内に
備える認証機能、カード制御機能が搭載されている。メモリカード55には、上記実施形
態いずれかに係る認証機能・被認証機能を有するNANDパッケージが搭載されている。
上記構成において、ホスト装置20は、上記実施形態にて示した認証処理によりNAN
D型フラッシュメモリ10の秘密識別情報Secret IDの正当性を確認する。
正当性確認後、ホスト装置20は、秘密識別情報Secret IDに基づいて、上記第2の実
施形態に係る方法を用い、EMIDの計算処理を行う。
コンテンツ(Content)書き込み時には、EMIDとコンテンツを関連付けるためのBin
ding Dataを生成する。Binding Dataには、コンテンツを暗号化・復号化するための鍵に
関わるデータを含んでおくことが望ましい。Binding Dataは、メモリカード55、若しく
は、HDD210のいずれかに記録される。ここでは、後者の例を示しているがこれにと
限られない。また、コンテンツの記録位置も同ように、カード55若しくはHDD210
のいずれであってもよい。
コンテンツ(Content)再生時には、EMIDとコンテンツを関連付けるためのBinding
Dataと、秘密識別情報Secret IDを認証処理して得られたEMIDと、コンテンツの関連
性を計算・確認し関連性が確認された場合にのみコンテンツを再生する。
本実施形態は、カードソケット550を経由してメモリカード55内のNANDフラッ
シュメモリ10が有する認証機能・被認証機能を利用する例であるが、ホスト装置20は
、直接NANDパッケージを搭載し、制御する構成においても適用可能である。この場合
、前記のメモリカード55をNANDパッケージに置き換えればよい。
更に、カードソケット550を有するホスト装置20について適用可能な応用例として
、同様のホスト装置20が複数あった場合、メモリカード55とHDDパッケージ200
を別のホスト装置20と接続することで、いずれのホスト装置20でもコンテンツを再生
することも可能となる。ここで、コンテンツやBinding Dataは、HDD210でなく、カ
ード55に記録されていてもよいし、または両方に記録されていてもよい。
本構成により、コンテンツはメモリカード55若しくはNANDパッケージ内の秘密識
別情報Secret IDと関連付けられるため、同一の秘密識別情報Secret IDを有さないメモリ
カードにコンテンツやBinding Dataを不正複製しても、コンテンツの再生ができなくなる
効果が得られる。更に、メモリカード55とHDD210を移動することで複数のホスト
装置でコンテンツを再生することが可能となる。
[変形例2(データキャッシュ利用のその他の一例)]
変形例2は、上記第6の実施形態で説明したデータキャッシュの認証処理への利用のそ
の他の構成例に関するものである。この説明において、上記実施形態と重複する部分の説
明については、省略する。
<センスアンプおよびその周辺回路の構成例>
上記センスアンプおよび周辺回路の構成例については、図45のように示される。
図示するように、変形例2では、DC_A、DC_B,DC_C、DC_Sがデータキ
ャッシュ12であり、DC_Aのみが、カラム制御回路を介してデータ線と接続されてお
り、チップ外部とのデータの授受に使用される。またDC_Sは、データに応じてセンス
アンプの動作を制御する用途で使われるラッチである。DC_B、DC_C、DC_Sは
DC_Aとセンスアンプの間のバス(LBUS)に並列に接続されてデータキャッシュと
して使用され、外部とデータの授受を行う場合にはDC_Aを介する必要がある。カラム
制御回路は、カラムアドレスに応じたアドレスのDC_Aをデータ線と接続する。NAN
Dフラッシュメモリが通常の動作で使用される場合には、アドレス制御回路から供給され
たカラムアドレスを用いるが、本提案の認証シーケンスを行う場合には演算器が指定する
アドレスを用いる。通常のアドレスを使用するか、演算器のアドレスを使用するかはモー
ド切替信号によって切り替えられるようになっている。
<センスアンプ、データキャッシュの等価回路例>
図46は、図45中のセンスアンプ77、およびデータキャッシュ12の等価回路例に
ついて示すものである。
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示
したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は
、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、
種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の
範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含
まれる。
10…NAND型フラッシュメモリ、19…コントローラ、20…ホスト装置、11…
セルアレイ、23…メモリ、E-SecretID…固有の暗号化秘密識別情報、SecretID…固有の
秘密識別情報、FKB…共通に付される鍵管理情報、NKey…第1鍵情報、HKey…第2鍵情報
、SKey…セッション鍵情報。

Claims (10)

  1. コントローラと、
    前記コントローラによりコントロールされるメモリ装置と、
    を備え、
    前記メモリ装置は、認証処理に用いられるデータエレメントが格納されるとともにリー
    ドが制限される領域と、キーインデックスデータと暗号化されたシークレットデータ(E-
    SecretID)とが格納されてリーダブルとされるとともに第2領域と、ファミリーキーブロ
    ックデータ(FKB)が格納されるとともにリーダブル及びライタブルとされる第3領域と
    、を有し、
    前記コントローラは、
    ホスト装置からの前記ファミリーキーブロックデータのリードコマンドを受けた場合、
    前記第3領域から前記ファミリーキーブロックデータをリードするとともに該ファミリー
    キーブロックデータを前記ホスト装置に送り、
    前記ホスト装置からの前記暗号化されたシークレットデータのリードコマンドを受けた
    場合、前記第2領域から前記暗号化されたシークレットデータをリードするとともに該暗
    号化されたシークレットデータを前記ホスト装置に送り、
    前記ホスト装置からの前記キーインデックスデータのリードコマンドを受けた場合、前
    記第2領域から前記キーインデックスデータをリードするとともに該キーインデックスデ
    ータを前記ホスト装置に送り、
    前記ホスト装置からの認証情報データを得るためのコマンドを受けた場合、前記ホスト
    装置から受けたランダムナンバーデータを前記メモリ装置に送り、
    前記メモリ装置は、認証情報データ(Oneway−ID)を計算し、
    前記コントローラは、前記メモリ装置での前記認証情報データの計算後、前記メモリ装
    置から前記認証情報データをリードし、前記ホスト装置に送る
    ように構成されたメモリカード。
  2. コントローラと、
    前記コントローラによりコントロールされるとともに、認証処理に用いられるデータエ
    レメントがリード不可能に格納され、暗号化シークレットデータがリード可能に格納され
    たメモリ装置と、
    を備え、
    前記コントローラは、
    外部装置からの前記暗号化シークレットデータのリードコマンドを受けた場合、前記メ
    モリ装置から前記暗号化シークレットデータをリードするとともに該暗号化シークレット
    データを前記外部装置に送り、
    前記外部装置からの認証情報データを得るためのコマンドとナンバーデータとを受けた
    場合、前記メモリ装置による前記認証情報データ計算後、前記メモリ装置から前記認証情
    報データをリードする
    ように構成されたメモリカード。
  3. 請求項1または請求項2の記載において、
    前記データエレメントは、前記メモリ装置内で前記コントローラを介したアクセスが不
    可とされる領域に格納されるとともに前記メモリ装置内でのみ用いられるシークレットデ
    ータであって、前記認証情報データを生成するための計算に使われることを特徴とするメ
    モリカード。
  4. 請求項2の記載において、
    前記ナンバーデータは、ランダムナンバーデータと、コンスタントナンバーデータとを
    含むデータであることを特徴とするメモリカード。
  5. 請求項2または請求項4の記載において、
    前記暗号化シークレットデータは、前記メモリカードのメモリエリア内でリードオンリ
    ーとされる領域に格納されることを特徴とするメモリカード。
  6. コントローラを介してメモリ装置と通信可能なホスト装置であって、
    ファミリーキーブロックデータのリードコマンドを送ることで、前記コントローラに前
    記メモリ装置におけるリーダブル及びライタブルとされる第3領域から前記ファミリーキ
    ーブロックデータをリードさせ、
    暗号化されたシークレットデータのリードコマンドを送ることで、前記コントローラに
    前記メモリ装置におけるリーダブルな第2領域から前記暗号化されたシークレットデータ
    をリードさせ、
    キーインデックスデータのリードコマンドを送ることで、前記コントローラに前記第2
    領域から前記キーインデックスデータをリードさせ、
    前記コントローラを介して、認証情報データを得るためのコマンドとともにランダムナ
    ンバーデータとコンスタントナンバーデータとを前記メモリ装置に送り、前記メモリ装置
    で計算された前記認証情報データを受け、
    前記認証情報データを検証する
    ように構成されたホスト装置。
  7. 請求項6の記載において、
    前記認証情報データは、前記メモリ装置内で前記コントローラによってアクセスできな
    い領域に格納されるとともに前記メモリ装置内でのみ用いられるシークレットデータを使
    用した計算により、生成されることを特徴とするホスト装置。
  8. 請求項6の記載において、
    前記メモリ装置との認証プロセスによりEMIDを得るために用いられる復号手段を備えた
    ホスト装置。
  9. メモリカードと、該メモリカードと通信可能なホスト装置とを含むシステムであって、
    前記メモリカードは、コントローラと、該コントローラによりコントロールされるとと
    もに、シークレットデータがリード不可能に格納され、暗号化シークレットデータがリー
    ド可能に格納されたメモリ装置とを有し、
    前記コントローラは、
    前記ホスト装置からの前記暗号化シークレットデータのリードコマンドを受けた場合、
    前記メモリ装置から前記暗号化シークレットデータをリードするとともに該暗号化シーク
    レットデータを前記ホスト装置に送り、
    前記メモリ装置は、
    前記ホスト装置からの認証情報データを得るためのコマンドとともに送られたナンバー
    データとを受け、前記シークレットデータを用いて前記認証情報データを計算し、
    前記ホスト装置は、
    前記メモリ装置で生成された前記認証情報データを検証する
    システム。
  10. メモリ装置と、該メモリ装置と通信可能なホスト装置とを含むシステムであって、
    前記メモリ装置には、前記ホスト装置がリード不可能なシークレットデータと、前記ホ
    スト装置がリード可能な暗号化シークレットデータと、が格納され、
    前記メモリ装置は、
    前記ホスト装置からランダムナンバーデータとコンスタントナンバーデータとを受け、
    前記シークレットデータを用いて認証情報データを計算し、
    前記ホスト装置は、
    前記メモリ装置から前記暗号化シークレットデータをリードし、前記認証情報データを
    検証する
    システム。
JP2012222240A 2012-10-04 2012-10-04 メモリカード、ホスト装置、及びシステム Expired - Fee Related JP5443575B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012222240A JP5443575B2 (ja) 2012-10-04 2012-10-04 メモリカード、ホスト装置、及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012222240A JP5443575B2 (ja) 2012-10-04 2012-10-04 メモリカード、ホスト装置、及びシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011265306A Division JP5112555B1 (ja) 2011-12-02 2011-12-02 メモリカード、ストレージメディア、及びコントローラ

Publications (2)

Publication Number Publication Date
JP2013117946A JP2013117946A (ja) 2013-06-13
JP5443575B2 true JP5443575B2 (ja) 2014-03-19

Family

ID=48712437

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012222240A Expired - Fee Related JP5443575B2 (ja) 2012-10-04 2012-10-04 メモリカード、ホスト装置、及びシステム

Country Status (1)

Country Link
JP (1) JP5443575B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6017392B2 (ja) * 2013-09-27 2016-11-02 株式会社東芝 情報処理装置、ホストデバイス、及びシステム
US11496595B2 (en) * 2021-02-02 2022-11-08 Dell Products L.P. Proxy management controller system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008166873A (ja) * 2006-12-27 2008-07-17 Mitsubishi Electric Corp データ管理装置及びデータ管理システム及びデータ管理方法及びプログラム
JP2008269088A (ja) * 2007-04-17 2008-11-06 Toshiba Corp プログラム情報提供システム、プログラム情報提供方法、プログラム情報提供方法に用いられる記録媒体
JP2010268417A (ja) * 2009-04-16 2010-11-25 Toshiba Corp 記録装置及びコンテンツデータ再生システム

Also Published As

Publication number Publication date
JP2013117946A (ja) 2013-06-13

Similar Documents

Publication Publication Date Title
JP5100884B1 (ja) メモリ装置
US9253169B2 (en) Memory and storage devices to be authenicated using a host device, authenication system and host device
JP5112555B1 (ja) メモリカード、ストレージメディア、及びコントローラ
JP5204291B1 (ja) ホスト装置、装置、システム
JP5855243B2 (ja) メモリデバイスおよびメモリシステム
US8650398B2 (en) Device authentication using restricted memory
WO2013175640A1 (ja) ホストデバイスおよびホストデバイスにおける認証方法
US20140281564A1 (en) Method of authenticating access to memory device
JP4991971B1 (ja) 被認証装置及びその認証方法
JP5204290B1 (ja) ホスト装置、システム、及び装置
US20140223188A1 (en) Device
WO2013175641A2 (ja) セキュリティシステム
US8726024B2 (en) Authentication method
US8995657B2 (en) Device and method for certifying one's own authenticity
JP5443575B2 (ja) メモリカード、ホスト装置、及びシステム
JP5433757B2 (ja) メモリ装置、ホスト装置、及びシステム
US8930720B2 (en) Authentication method
JP2013118616A (ja) メモリ装置
US20140237245A1 (en) Device and authentication method therefor
US20130336475A1 (en) Device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131009

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131029

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131219

R151 Written notification of patent or utility model registration

Ref document number: 5443575

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

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

LAPS Cancellation because of no payment of annual fees