(57)【特許請求の範囲】
【請求項１】
コントローラと、該コントローラによりコントロールされるメモリ装置とを含むストレージメディアであって、
前記メモリ装置は、
第１鍵情報及び前記メモリ装置固有に割り当てられた第１識別情報がリード不可能に格納され、インデックス情報、鍵管理情報、及び前記第１識別情報が暗号化されて生成された暗号化第１識別情報がリード可能に格納され、
前記コントローラは、
外部装置からの前記鍵管理情報のリードコマンドを受けた場合、前記メモリ装置から前記鍵管理情報をリードするとともに該鍵管理情報を前記外部装置に送り、
前記外部装置からの前記暗号化第１識別情報のリードコマンドを受けた場合、前記メモリ装置から前記暗号化第１識別情報をリードするとともに該暗号化第１識別情報を前記外部装置に送り、
前記外部装置からの前記インデックス情報のリードコマンドを受けた場合、前記メモリ装置から前記インデックス情報をリードするとともに該インデックス情報を前記外部装置に送り、
前記外部装置からの認証情報を得るためのコマンドを受けた場合、前記外部装置から受けた該外部装置に割り当てられた第２識別情報を前記メモリ装置に送り、
前記メモリ装置は、
前記第１鍵情報と前記第２識別情報とを用いて暗号化処理を行うことにより、第２鍵情報を生成し、
前記第２鍵情報と前記外部装置から受けた乱数情報とを用いて暗号化処理を行うことにより、第３鍵情報を生成し、
前記第３鍵情報と前記第１識別情報とを用いて一方向性変換処理を行うことにより、前記認証情報を生成し、前記外部装置に認証されるように構成されたストレージメディア。
【請求項２】
メモリ装置固有に割り当てられた第１識別情報がリード不可能に格納されるとともに、前記第１識別情報が暗号化されて生成された暗号化第１識別情報がリード可能に格納され、外部のコントローラによりコントロールされるメモリ装置との間で認証処理を実行可能なホスト装置であって、
前記ホスト装置は、
秘匿される第１鍵情報と、セットとして記録されるとともに前記ホスト装置に割り当てられた第２識別情報としての第２鍵情報と、を有し、
前記コントローラに前記メモリ装置から前記暗号化第１識別情報と、鍵管理情報とをリードさせ、前記リードされた鍵管理情報を用いて、前記第１鍵情報から復号可能な情報を取得し、前記取得した情報を用いて、前記暗号化第１識別情報を復号し、
前記コントローラに前記メモリ装置からインデックス情報をリードさせ、前記セットの中から、該インデックス情報に対応する前記第２鍵情報を選び、
前記コントローラに認証情報を得るためのコマンドと、乱数情報と、第３識別情報とを送り、
前記選ばれた第２鍵情報を用いて前記乱数情報を暗号化することにより第３鍵情報を生成し、
前記第３鍵情報と、前記暗号化第１識別情報が復号されて新たに生成された第１識別情報とを入力値とした一方向性変換処理を行い、検証情報を生成し、前記メモリ装置から受けた前記認証情報を検証するように構成されたホスト装置。
【請求項３】
外部のコントローラによりコントロールされるメモリ装置であって、
第１鍵情報と、前記メモリ装置固有に割り当てられた第１識別情報がリード不可能に格納され、インデックス情報と、鍵管理情報と、前記第１識別情報が暗号化されて生成された暗号化第１識別情報とがリード可能に格納され、
前記インデックス情報、前記鍵管理情報、及び前記暗号化第１識別情報は、外部装置からのコマンドに伴い、前記コントローラを介して前記メモリ装置からリードされ、
前記外部装置から該外部装置に割り当てられた第２識別情報と、乱数情報とを前記コントローラを介して受け、
前記第１鍵情報と、前記第２識別情報とを用いて暗号化処理を行うことにより、第２鍵情報を生成し、
前記第２鍵情報と前記乱数情報とを用いて暗号化処理を行うことにより、第３鍵情報を生成し、
前記第３鍵情報と前記第１識別情報とを用いて一方向性変換処理を行うことにより、前記外部装置との認証に用いられる認証情報を生成し、前記外部装置に認証されるように構成されたメモリ装置。
【請求項４】
外部のコントローラによりコントロールされるメモリ装置と、該メモリ装置との間で認証処理を実行可能なホスト装置とを含むシステムであって、
前記メモリ装置は、
第１鍵情報と前記メモリ装置固有に割り当てられた第１識別情報とがリード不可能に格納され、インデックス情報と、鍵管理情報と、前記第１識別情報が暗号化されて生成された暗号化第１識別情報とがリード可能に格納され、
前記メモリ装置は、
前記インデックス情報、前記鍵管理情報、及び前記暗号化第１識別情報は、前記ホスト装置からのコマンドに伴い、前記コントローラを介してリードされ、
前記ホスト装置から該ホスト装置に割り当てられた第２識別情報と、乱数情報とを前記コントローラを介して受け、
前記第１鍵情報と、前記第２識別情報とを用いて暗号化処理を行うことにより、第２鍵情報を生成し、
前記第２鍵情報と前記乱数情報とを用いて暗号化処理を行うことにより、第３鍵情報を生成し、
前記第３鍵情報と前記第１識別情報とを用いて一方向性変換処理を行うことにより、前記ホスト装置との認証に用いられる認証情報を生成し、前記ホスト装置に認証されるように構成され、
前記ホスト装置は、
秘匿される第１ホスト鍵情報と、前記ホスト装置に割り当てられた前記第２識別情報と、を有し、
前記メモリ装置に格納された前記暗号化第１識別情報と前記鍵管理情報とをリードし、前記リードされた鍵管理情報を用いて、前記第１ホスト鍵情報から復号可能な情報を取得し、前記取得した情報を用いて、前記暗号化第１識別情報を復号し、
前記乱数情報を暗号化することにより前記第３鍵情報を生成し、
前記第３鍵情報と、前記暗号化第１識別情報が復号されて新たに生成された第１識別情報とを入力値とした一方向性変換処理を行い、検証情報を生成するように構成されたシステム。
【請求項５】
コントローラと、該コントローラによりコントロールされるメモリ装置とを含むストレージメディアと、該ストレージメディアとの間で認証処理を実行可能なホスト装置とを含むシステムであって、
前記メモリ装置は、
第１鍵情報と前記メモリ装置固有に割り当てられた第１識別情報とがリード不可能に格納され、インデックス情報、鍵管理情報、及び前記第１識別情報が暗号化されて生成された暗号化第１識別情報がリード可能に格納され、
前記コントローラは、
前記メモリ装置から、前記インデックス情報、前記鍵管理情報、及び前記暗号化第１識別情報をリードするとともに前記ホスト装置に送り、
前記ホスト装置から、該ホスト装置に割り当てられた第２識別情報と、乱数情報とを受けるとともに前記メモリ装置に送り、
前記メモリ装置は、
前記第１鍵情報と、前記第２識別情報とを用いて暗号化処理を行うことにより、第２鍵情報を生成し、
前記第２鍵情報と前記乱数情報とを用いて暗号化処理を行うことにより、第３鍵情報を生成し、
前記第３鍵情報と前記第１識別情報とを用いて一方向性変換処理を行うことにより、前記ホスト装置との認証に用いられる認証情報を生成し、前記ホスト装置に認証されるように構成され、
前記ホスト装置は、
秘匿される第１ホスト鍵情報と、前記ホスト装置に割り当てられた前記第２識別情報と、を有し、
前記メモリ装置に格納された前記暗号化第１識別情報と前記鍵管理情報とをリードし、前記リードされた鍵管理情報を用いて、前記第１ホスト鍵情報から復号可能な情報を取得し、前記取得した情報を用いて、前記暗号化第１識別情報を復号し、
前記乱数情報を暗号化することにより第３鍵情報を生成し、
前記第３鍵情報と、前記暗号化第１識別情報が復号されて新たに生成された第１識別情報とを入力値とした一方向性変換処理を行い、検証情報を生成するように構成されたシステム。
【請求項６】
請求項１の記載において、前記インデックス情報及び前記鍵管理情報は、それぞれリード可能な異なる領域に格納される、ストレージメディア。
【請求項７】
請求項２の記載において、前記検証情報と、前記メモリ装置で一方向性変換処理を行うことにより生成された前記認証情報とが一致するか否か検証する、ホスト装置。
【請求項８】
請求項３の記載において、前記インデックス情報及び前記鍵管理情報とは、それぞれリード可能な異なる領域に格納される、メモリ装置。
【請求項９】
請求項４または５の記載において、前記メモリ装置は、前記インデックス情報及び前記鍵管理情報を、それぞれリード可能な異なる領域に格納し、
前記ホスト装置は、前記検証情報と、前記メモリ装置で生成された前記認証情報とが一致するか否か検証する、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
認証装置、被認証装置、およびその認証方法に関するものである。
【背景技術】
【０００２】
一般に、情報セキュリティを要する分野において、自己の正当性を証明する手段として互いに共有した秘密情報と暗号器を用いた手法が採られている。
【０００３】
例えば、電子決済に用いるICカード（SmartCard）等では、カード内の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/
【発明の概要】
【発明が解決しようとする課題】
【０００５】
秘密情報の不正利用の防止に有利なストレージメディア、ホスト装置、メモリ装置、及びシステムを提供する。
【課題を解決するための手段】
【０００６】
実施形態のストレージメディアによれば、コントローラと、該コントローラによりコントロールされるメモリ装置とを含むストレージメディアであって、前記メモリ装置は、第１鍵情報及び前記メモリ装置固有に割り当てられた第１識別情報がリード不可能に格納され、インデックス情報、鍵管理情報、及び前記第１識別情報が暗号化されて生成された暗号化第１識別情報がリード可能に格納され、前記コントローラは、外部装置からの前記鍵管理情報のリードコマンドを受けた場合、前記メモリ装置から前記鍵管理情報をリードするとともに該鍵管理情報を前記外部装置に送り、前記外部装置からの前記暗号化第１識別情報のリードコマンドを受けた場合、前記メモリ装置から前記暗号化第１識別情報をリードするとともに該暗号化第１識別情報を前記外部装置に送り、前記外部装置からの前記インデックス情報のリードコマンドを受けた場合、前記メモリ装置から前記インデックス情報をリードするとともに該インデックス情報を前記外部装置に送り、前記外部装置からの認証情報を得るためのコマンドを受けた場合、前記外部装置から受けた該外部装置に割り当てられた第２識別情報を前記メモリ装置に送り、前記メモリ装置は、前記第１鍵情報と前記第２識別情報とを用いて暗号化処理を行うことにより、第２鍵情報を生成し、前記第２鍵情報と前記外部装置から受けた乱数情報とを用いて暗号化処理を行うことにより、第３鍵情報を生成し、前記第３鍵情報と前記第１識別情報とを用いて一方向性変換処理を行うことにより、前記認証情報を生成し、前記外部装置に認証されるように構成される。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係るメモリシステムの構成例を示すブロック図。
【図２】第１の実施形態に係るメモリシステムの認証フローを示すフロー図。
【図３】第１の実施形態に係る暗号化FKey束（FKB）の構成例を示す図。
【図４】第１の実施形態に係るメモリシステムの構成例を示すブロック図。
【図５】第１の実施形態に係るＮＡＮＤ製造者による秘密情報の書き込み処理を例示する図。
【図６】第１の実施形態に係るカード製造者によるFKBの書き込み処理を例示する図。
【図７】変形例１に係る被認証装置を示す図。
【図８】変形例１に係るFKBをダウンロードするシステムを示すブロック図。
【図９】変形例１に係るFKBをダウンロードするフローを示すフロー図。
【図１０】第２の実施形態に係るメモリシステムの構成例を示すブロック図。
【図１１】第３の実施形態に係るメモリシステムの構成例を示すブロック図。
【図１２】第４の実施形態に係るＮＡＮＤ型フラッシュメモリの構成例を示すブロック図。
【図１３】図１２中のＮＡＮＤ型フラッシュメモリの一ブロックの構成例を示す等価回路図。
【発明を実施するための形態】
【０００８】
以下、実施形態について図面を参照して説明する。この説明においては、認証装置、被認証装置、およびその認証方法として、メモリシステムを一例に挙げるが、これに限られることはない。尚、この説明においては、全図にわたり共通の部分には共通の参照符号を付す。
【０００９】
［第１の実施形態］  
第１の実施形態に係る認証装置、被認証装置、およびその認証方法について説明する。  ＜１．構成例（メモリシステム）＞  
まず、図１を用い、第１の実施形態に係るメモリシステムの構成例について説明する。
【００１０】
図示するように、第１の実施形態に係るメモリシステムは、被認証装置であるＮＡＮＤ型フラッシュメモリ１０、認証装置であるホスト装置２０、および両者を仲介するコントローラ１９を備える。ホスト装置２０は、コントローラ１９により、ＮＡＮＤ型フラッシュメモリ１０にアクセスする。
【００１１】
ここで、ＮＡＮＤ型フラッシュメモリ１０等の半導体製品の製造工程について、簡単に説明する。半導体製品の製造工程は、主に基盤ウエハー上に回路を形成する前工程と、前期ウエハーを個片に切り分けた後、配線や樹脂パッケージ封入などを行う後工程に分けられる。ここで、コントローラ１９は、前工程においてＮＡＮＤ型フラッシュメモリ１０内に包含されるよう構成される場合、前工程においては包含されないが後工程において同一パッケージに包含されるように構成される場合、ＮＡＮＤ型フラッシュメモリ１０とは異なるチップの形態をとる場合、など様々な場合がある。図１を含め、以下では、コントローラ１９は、ＮＡＮＤ型フラッシュメモリ１０とは異なるチップの形態を採る場合を例にとっている。以下、特に断りのない限り、ホスト装置２０とＮＡＮＤ型フラッシュメモリ１０間のデータや命令のやり取りにおいては、多くの場合コントローラ１９が仲介するものである。この場合でもコントローラ１９は、前述のデータや命令の本質的内容を変えることはないため、詳細については、省略して説明する場合がある。なお、ＮＡＮＤ型フラッシュメモリ１０およびコントローラ１９の構成例の詳細な説明については、後述する。
【００１２】
なお、ホスト装置２０は、民生機器のように専用ハードウェアで構成される場合、専用ハードウェアとそれを動作させるファームウェアの組み合わせで構成される場合だけでなく、装置の機能がPC上で動作するソフトウェアプログラムで構成される場合も考えられる。
【００１３】
以下において、図１に示す各コンポーネント、データ処理について、以下で説明する。本例では、被認証装置であるＮＡＮＤ型フラッシュメモリ１０に記録されている秘密識別情報であるSecretIDを第３者から秘匿した状態で読み出すと共に、前述の被認証装置１０から読み出されたデータであることを確実に確認する方法、及び同方法をＮＡＮＤ型フラッシュメモリ１０に適用する場合の構成例を示すものである。
【００１４】
１−１．ＮＡＮＤ型フラッシュメモリ  
ＮＡＮＤ型フラッシュメモリ１０は、上記のように、被認証装置である。  
図示するように、本例に係るＮＡＮＤ型フラッシュメモリ１０は、セルアレイ１１、及びセルアレイ１１の周辺領域に配置されるデータキャッシュ１２Ａ、１２Ｂ、１２Ｃ、データ生成回路（Generate）１３、１４、一方向性変換器（Oneway）１５を備える。
【００１５】
セルアレイ（Cell array）１１は、外部からの読み出し／書き込みが可能な一般領域（Read/Write area）１１−１、外部からの読み出し／書き込みが禁止された秘匿領域（Hidden area）１１−２、外部からの書き込みが禁止されたROM領域（ROM area）１１−３等を備える。
【００１６】
読み書き可能領域（以下Read/Write areaと称する場合もある）１１−１は、データ記録及びデータ読み出しのいずれもＮＡＮＤ型フラッシュメモリ１０外部から可能な領域である。読み書き可能領域１１−１には、ROM領域１１−３に記録されたインデックスvで指定されたFKeyvによって暗号化された秘密識別情報SecretID（E-SecretID）および前記FKeyvを秘匿するために用意された暗号化FKey束である鍵管理情報FKBv（Family Key Block）が記録される。FKBvはＮＡＮＤ型フラッシュメモリ１０に記録される他のデータとは異なり、ＮＡＮＤ型フラッシュメモリ１０の製造時だけでなく、例えばＳＤ Ｃａｒd（登録商標）の様にＮＡＮＤ型フラッシュメモリ１０にコントローラを結合させて一般ユーザ向けのストレージメディアを製造する段階や、或いは前記ストレージメディアを販売後にユーザの要求に従ってサーバからダウンロードして記録するように構成することも可能である。
【００１７】
ここで、鍵管理情報（FKBv）とは、ホスト２０が保持する秘密情報である識別鍵情報（IDKeyk、これについては後述する）と当該識別鍵情報（IDKeyk）の識別情報（k）とに基づいて秘匿情報（FKeyv）を復号するために用いられる情報、又はホスト２０が保持する秘密情報である識別鍵情報（IDKeyk、これについては後述する）と当該ホスト２０の識別情報とを用いて、秘匿情報（FKeyv）を復号するために用いられる情報ある。また、鍵管理情報（FKBv）は、製造工程に合わせてＮＡＮＤ型フラッシュメモリ１０毎にユニークに用意するだけでなく、例えばＮＡＮＤ型フラッシュメモリ１０の製造ロット（lot）単位など、複数のＮＡＮＤ型フラッシュメモリ１０に共通に付すことが可能な情報（対応付けられることが可能な情報）である。また、鍵管理情報（FKBv）のインデックス情報vは、FKBvの識別情報又はバージョン番号情報であっても良い。一方、暗号化された秘密識別情報（E-SecretID）とは、ＮＡＮＤ型フラッシュメモリチップ１０ごとに固有に（ユニークに）付される秘密識別情報を暗号化したデータである。或いは、ＮＡＮＤ型フラッシュメモリに予めコンテンツを記録して販売する様なプリレコ（事前記録）コンテンツ配布用途に使う場合には同じコンテンツデータを記録する際には敢えて同じ暗号化秘密識別情報（E-SecretID）を記録するなど、用途に合わせて同じ暗号化秘密識別情報を複数のＮＡＮＤ型フラッシュメモリに記録することもできる。
【００１８】
秘匿領域（Hidden area）１１−２は、ＮＡＮＤ型フラッシュメモリ１０の外部に対してはデータ記録だけでなく、データ読み出しも禁止される領域（Read/Program inhibit）である。本例に係る秘匿領域１１−２には、上記認証においてＮＡＮＤ型フラッシュメモリ１０が用いる秘密鍵情報NKeyiおよびＮＡＮＤ型フラッシュメモリ１０の秘密識別情報SecretIDが記録される。
【００１９】
ROM領域（ROM area）１１−３は、外部からのデータ記録が禁止され、データ読み出しが許可される領域である。本例に係るROM領域１１−３には、秘匿領域（Hidden area）１１−２に記録される秘密情報NKeyiを示すためのインデックス情報i（index of NKey）および読み書き可能領域１１−１に記録される鍵管理情報であるFKBvによって秘匿されているFKeyvを示すためのインデックス情報v（index of FKey）が記録される。本例では、インデックスiやインデックスvを記録する際にデータに誤りが生じてしまった場合でも、正しい識別情報が読み出せるようにするために、一般的には誤り訂正符号化された状態で記録される。しかし、ここでは、誤り訂正符号化／復号処理については特に図示しない。
【００２０】
データキャッシュ（Data Cache）１２Ａ、１２Ｂ、１２Ｃは、セルアレイ１１から読み出したデータを一時的に記憶する。
【００２１】
データ生成部（Generate）１３、１４は、複数の入力データから予め定められた演算によって出力データを生成する回路である。
【００２２】
データ生成部１３は、ホスト装置２０から受信した元情報（HCj）を前述の秘密情報NKeyiを用いて変換することでHKeyi、jを生成する。データ生成部１４は、ホスト装置２０から受信した乱数RNhを前記HKeyi、jを用いて変換することで、セッション鍵SKeyi、jを生成する。例えば、データ生成部１３、１４は、ハードウェアでもソフトウェアでも実装されるものである。データ生成部１３、１４は、回路として実装される場合は、全体の回路規模を小さくするために前述の一方向性変換器と同じ或いは一方向性変換器を流用した回路やAES（Advanced Encryption Standard）暗号化器などを用いることも可能である。同様にデータ処理手順を分かり易くするために異なる構成要素として図示されている2つのデータ生成部は同じ回路を繰り返し利用することが可能である。
【００２３】
一方向性変換部（Oneway）１５は、入力されたデータと別途入力された鍵データに一方向性の変換を施し、一方向性変換された入力データを出力する。一方向性変換部（Oneway）１５はハードウェアでもソフトウェアでも実装されるものであり、回路で実装も可能である。本実施例では秘匿領域１１−２から読み出した秘密識別情報SecretIDをデータ生成回路１４によって生成されたセッション鍵データSKeyi、jを用いて一方向性関数により変換し、一方向性変換識別情報Oneway-ID (= Oneway(SKeyi、j、 SecretID))を生成する。また、回路で実装される場合は、前述の通り、メモリシステム全体のハードウェア回路規模を小さくするために、一方向性変換部１５を前記データ生成部１４等としても使用することも可能である。
【００２４】
また、図示しないが、コントローラ１９を介してホスト装置２０に送付されるデータを出力する出力部なども必要に応じて、構成要素として配置されても良い。
【００２５】
１−２．ホスト装置  
図示するように、本例に係るホスト装置（Host）２０は、復号部（Decrypt）２１、FKB生成部（Process FKB）２２、メモリ（Memory）２３、乱数生成部（RNG）２４、選択部（Select 2）２５、データ生成部（Generate）２６、一方向性変換部（Oneway）２７、及びデータ検証部（Verify）２８、スイッチ部２９等を備える。この他、例えば、図示しない誤り訂正処理部なども必要に応じて構成要素として備えることが可能である。
【００２６】
復号部（Decrypt）２１は、秘密識別情報(E-SecretID)をＮＡＮＤ型フラッシュメモリ１０から読み出す（コントローラ１９を介して）。読み出されたデータ(E-SecretID)を別途入力された鍵データFKeyで復号し、復号された入力データを出力する。本実施例では、復号部２１は、ホスト装置２０が秘匿している秘密情報IDKeykを鍵情報として、データ選択部（Select1）２２−１において選択されたE-SecretIDデータを復号し、SecretIDを得るためのものである。
【００２７】
FKey復号部（Process FKB）２２は、ＮＡＮＤ型フラッシュメモリ１０から読み出される鍵管理情報（FKBv）、およびメモリ２３に秘匿されている識別鍵情報IDKeyk、識別鍵情報IDKeykのインデックス情報kを用い、鍵データFKeyを復号し、復号部２１に出力する。このようにすることで、SecretIDが記録されるＮＡＮＤ型フラッシュメモリ１０に適合したFKeyを復号する。本例では、FKey復号部２２は、データ選択部（Select1）２１−１および復号部（Decrypt）２２−２を備える構成を一例として具体的に示している。
【００２８】
第１段目のデータ選択部（Select1）２１−１は、ＮＡＮＤ型フラッシュメモリ１０から読み出した暗号化FKey束（FKBv）からメモリ２３に記憶されるインデックス情報kを用いてメモリ２３に秘匿されている識別鍵情報によって復号可能なデータを選択して、復号部２２−２に出力する。
【００２９】
復号部（Decrypt）２２−２は、メモリ２３によりホスト２０が秘匿している識別鍵情報IDKeykを用いて、データ選択部２２−１において選択されたデータを復号し、得られた鍵データFKeyを復号部２１に出力する。
【００３０】
メモリ２３は、インデックス情報k、識別鍵情報IDKeyk、秘密鍵情報セットHKeyi、j (i=1、…、m。尚、jは当該HKeyi、jにおいては固定の値である)、およびホスト定数HCjを記憶し、少なくとも識別鍵情報IDKeykおよび秘密鍵情報セットHKeyi、j (i=1、…、m)をホスト装置２０の外部から秘匿する。ここで、ホスト定数（または元情報）HCjとは、認証要求（Request authentication）時にＮＡＮＤ型フラッシュメモリ１０に送付するために予め保持しているホスト装置２０の定数をいう。詳細については、後述する。
【００３１】
乱数生成部（RNG: Random Number Generator）２４は、認証に用いる乱数RNhを生成する。
【００３２】
第２段目のデータ選択部（Select2）２１−２は、ＮＡＮＤ型フラッシュメモリ１０のデータキャッシュ１２Ｃから読み出した秘密情報NKeyiのインデックス情報iを用いて、当該ホスト装置２０が秘匿している秘密情報セットHKeyi、j (i=1、…、m。尚、jは当該HKeyi、jにおいては固定の値である)から、ＮＡＮＤ型フラッシュメモリ１０との認証処理に必要な秘密情報HKeyi、jを選択する。
【００３３】
データ生成部（Generate）２６は、複数の入力データから予め定められた演算によって出力データを生成する演算部である。本例では、データ生成部２６は、当該ホスト装置２０自身が生成した乱数RNhを当該ホスト装置２０が秘匿している秘密情報HKeyi、jを用いて変換することで、セッション鍵SKeyi、jを生成する。例えば、データ生成部２６は、上記AES暗号化演算などを用いることも可能である。
【００３４】
一方向変換部（Oneway）２７は、復号部２１から出力されるSecretIDをデータ生成部２６から出力されるセッション鍵SKeyi、jを用いて一方向性関数により変換し、一方向性変換識別情報Oneway-IDを生成する。
【００３５】
ここで、上記秘密鍵情報IDKeyk、HKeyi、jは、例えば、民生機器であれば内部の専用メモリにメーカ独自の方法で暗号化した上で記録されていたり、ソフトウェアプログラムであればタンパーレジスタントソフトウェア（TRS）技術によって不正な解析から保護できる状態で保持していたり、或いはセキュリティモジュールを内蔵している場合には当該セキュリティモジュールの機能を利用して秘匿するなどの対策を採った状態等で秘匿される。
【００３６】
データ検証部（Verify）２８は、ＮＡＮＤ型フラッシュメモリ１０から受信した一方向性変換識別情報Oneway-IDと、ホスト装置２０内の一方向性変換部２７から得られた一方向性変換識別情報Oneway-IDとが一致するか否かを比較して判定する。上記一方向性変換識別情報Oneway-IDの両方の値が一致した場合（OK）には、復号部２１で得られた前記SecretIDが正しいSecretIDであると判定して、得られたSecretIDを以降の処理に引き渡す。一方、不一致の場合（NG）には、前記SecretIDが不正なIDであると判定し、その旨を以降の処理に出力する。
【００３７】
スイッチ部２９は、データ検証部（Verify）２８において一方向性変換識別情報Oneway-IDの両方の値が一致した場合（OK）の判定結果が制御信号として入力されると、信号経路をオンとさせ、秘密識別情報SecretIDを出力する。
【００３８】
なお、コントローラ（Controller）１９は、ＮＡＮＤ型フラッシュメモリ１０を制御して、ホスト装置２０との間のデータ転送等を行う。詳細については、後述する。
【００３９】
また、メモリシステムの構成例は、上記説明したものに限られない。例えば、図示しない誤り訂正処理部等のその他の構成要素も必要に応じて備えることが可能である。
【００４０】
＜２．認証フロー＞  
次に、図２に沿って、第１の実施形態に係るメモリシステムの認証フローについて説明する。
【００４１】
（Step Ｓ１１）  
図示するように、まず認証開始（Start）すると、ホスト装置２０は、ＮＡＮＤ型フラッシュメモリ１０から鍵管理情報である暗号化FKey束（FKB: Family Key Block）および暗号化SecretID（E-SecretID）を読み出す。
【００４２】
（Step Ｓ１２）  
続いて、ホスト装置２０は、読み出したFKBからデータ選択部（Select1）２１−１によりデータ選択処理を行い、ホスト装置２０が復号可能な暗号化FKeyデータを読み出すと共に、秘匿している秘密鍵情報IDKeykを用いて上記復号処理部２１−２により復号することにより鍵データFKeyを得る。さらに、ホスト装置２０は、得られた鍵データFKeyを用いて、ＮＡＮＤ型フラッシュメモリ１０から読み出した暗号化されたＮＡＮＤ型フラッシュメモリ１０の秘密識別情報E-SecretIDを復号することにより、秘密識別情報SecretIDを得る。
【００４３】
（Step Ｓ１３）  
続いて、ホスト装置２０は、認証要求時に必要となる乱数RNhを生成する。認証処理に乱数RNhを用いることにより、以下の処理でＮＡＮＤ型フラッシュメモリ１０との間で毎回異なる共有鍵を利用することができる。
【００４４】
（Step Ｓ１４）  
続いて、ホスト装置は、認証要求（Request authentication）と共に予め保持しているホスト定数（HCj）および乱数RNhとをＮＡＮＤ型フラッシュメモリ１０に送出する。
【００４５】
（Step Ｓ１５）  
続いて、ＮＡＮＤ型フラッシュメモリ１０は、NKeyi (i=1、…、m)を秘匿領域１１−２からロードし、データキャッシュ１２Ｂに保存する。
【００４６】
（StepＳ１６）  
続いて、ＮＡＮＤ型フラッシュメモリ１０は、ホスト装置２０が秘密情報セットHKeyi、j (i=1、…、m)からＮＡＮＤ型フラッシュメモリ１０との認証に必要となるHKeyi、jを選択するために必要なNKeyのインデックス情報iをデータキャッシュ１２Ｃに読み出し、ホスト装置２０に送出する。
【００４７】
（StepＳ１７）  
続いて、ホスト装置２０は、受信したインデックス情報iを用いて、予め秘匿していた秘密情報セットHKeyi、j (i=1、…、m)から当該ＮＡＮＤ型フラッシュメモリ１０との認証処理に必要な秘密情報HKeyi、jを選択する。
【００４８】
（Step Ｓ１８）  
上記Step Ｓ１７の処理と並行して、ＮＡＮＤ型フラッシュメモリ１０は、秘匿しているNKeyiと受信したホスト定数HCjとを用いて、データ生成回路１３におけるデータ生成処理によりHKeyi、jを生成する。これと共に、受信した乱数RNhを用いて、データ生成回路１４におけるデータ生成処理により、セッション鍵データSKeyi、j (= Generate(HKeyi、j、 RNh))を生成する。
【００４９】
（Step Ｓ１９）  
続いて、ホスト装置２０は、選択した秘密情報HKeyi、jと生成した乱数RNhと用いて、データ生成部２６におけるデータ生成処理により、セッション鍵データSKeyi、j (= Generate(HKeyi、j、 RNh))を生成する。
【００５０】
（Step Ｓ２０）  
続いて、ホスト装置２０は、ID要求（Request ID）をＮＡＮＤ型フラッシュメモリ１０に送る。
【００５１】
（Step Ｓ２１）  
続いて、ＮＡＮＤ型フラッシュメモリ１０は、秘密識別情報SecretIDを秘匿領域１１−２から読み出し、データキャッシュ１２Ａに保存する。
【００５２】
（Step Ｓ２２）  
続いて、ＮＡＮＤ型フラッシュメモリ１０は、生成したセッション鍵データSKeyi、jを用いて、秘密識別情報SecretIDを一方向性変換部１５における一方向性変換処理を行い、一方向性変換データ Oneway-ID (=Oneway(SKeyi、j、 SecretID))を生成し、生成された一方向性変換データOneway-IDをホスト装置２０に送出する。
【００５３】
（Step Ｓ２３）  
続いて、ホスト装置２０は、秘密識別情報SecretIDを、生成したセッション鍵データSKeyi、jを用いて一方向性変換部２７における一方向性変換処理を行い、一方向性変換データOneway-IDを求める。
【００５４】
（Step Ｓ２４）  
続いて、ホスト装置２０は、ＮＡＮＤ型フラッシュメモリ１０より受信した一方向性変換データOneway-IDと、生成した一方向性変換データOneway-IDとが一致するか否かを判定する。上記一方向性変換識別情報Oneway-IDの両方の値が一致した場合（OK）には、復号部２１で得られた前記SecretIDが正しいSecretIDであると判定して以降の処理にSecretIDを引き渡す。一方、不一致の場合（NG）には、前記SecretIDが不正なIDであると判定し、その旨を以降の処理に出力する。
【００５５】
（Step Ｓ２５）  
続いて、ホスト装置２０は、上記ステップＳ２４の結果を出力（Output）する。
【００５６】
以上の動作により、第１の実施形態に係る認証フローを終了する（End）。
【００５７】
＜３．FKB(Family Key Block)について＞  
次に、図３を用い、第１の実施形態に係る鍵管理情報FKB(Family Key Block)についてより詳しく説明する。
【００５８】
秘密識別情報SecretIDが記録されているＮＡＮＤ型フラッシュメモリ１０に適合した鍵管理情報FKBを生成するためには、予め用意された秘密鍵情報であるIDKeyi (i=1,…,n)（Set of IDKeyi’s）の１つ１つのIDKeyiを用いて、FKeyvを１つ１つ暗号化（Encrypt）する。つまり、鍵管理情報FKBとは、暗号化FKeyv (E- FKeyv,i) = Encrypt(IDKeyi, FKeyv)の集合であり、この暗号化FKeyvの集合を暗号化FKey束と称する。
【００５９】
尚、鍵管理情報FKBの構成については、本例に限られない。例えば、特定のIDKeyiが露呈してしまった場合、当該IDKeyiを保持しているホスト装置２０では暗号化FKey束からFKeyを復号することができないようにするために、当該秘密情報IDKeyiで復号可能な暗号化FKeyv（上述の例ではE- FKeyv,i）をFKBから削除することにより、新たに構成されたFKBを記録したＮＡＮＤ型フラッシュメモリ１０を使用した場合には、当該ホスト装置では正しいFKeyv及びSecretIDを得る（復号する）ことができないようにすることも可能である。このようにすることで、当該秘密情報IDKeyiを保持したホスト装置２０を無効化する機能を提供することも可能である。
【００６０】
鍵管理情報FKBの生成方法についても、本例に限られない。例えば、ＣＰＲＭ（非特許文献１）において用いられているＭＫＢ（Media Key Block）技術や、非特許文献３に開示されているＭＫＢ技術を用いてFKBを生成しても、ホスト装置２０を無効化する機能を提供することが可能である。例えば、上記技術を適用した場合、メモリシステムの構成例は図４のように示される。図示するように、FKey復号部（Process FKB）２２が上位概念化されて図示される点で、図１と相違する。
【００６１】
ここで、ＭＫＢ技術とは、複数の機器がそれぞれ異なる秘密情報を持つ状況で、機器の無効化を実現しつつ、（無効化対象でない機器の間で）共通の秘密情報（Media Key）を効率よく共有するための技術であり、Broadcast Encryptionとも称される。
【００６２】
＜４．秘密情報やFKBの書き込みについて＞
次に、ＮＡＮＤ型フラッシュメモリ１０への秘密情報や鍵管理情報FKBの書き込みについて説明する。
【００６３】
４−１．ＮＡＮＤ型フラッシュメモリの製造時等に書き込む場合  
まず、図５を用い、例えば、ＮＡＮＤ型フラッシュメモリの製造時等に秘密情報や鍵管理情報FKBを書き込む場合について説明する。
【００６４】
ライセンス管理者（Licensing Administrator）４０は、以下のデータを生成する：FKBv (v=1,…,n)、FKeyv (v=1,…,n)、 v (v=1,…,n)、 およびNKeyi、 i。なお、前述した通り、FKBvは、FKeyvを暗号化したものである。また、vは複数の値であっても良い。例えば、vとして1,2,3の３つの値をライセンス管理者４０が生成する場合、ライセンス管理者４０は、生成したvに対応させる形で、(FKB1, FKey1), (FKB2, FKey2), (FKB3, FKey3)を生成する。
【００６５】
続いて、ライセンス管理者４０は、生成したデータの内、FKeyv (v=1,…,n)、 v (v=1,…,n)、 NKeyi、 iをメモリ製造者３０に渡す。これらのデータを渡す際には、例えば、ライセンス管理者４０は、予めメモリ製造者３０の公開鍵を入手しておき、データを当該公開鍵を用いて暗号化した上でメモリ製造者３０に送信する等といった、安全な手段を用いる。
【００６６】
メモリ製造者（Memory Vender）３０は、上記ＮＡＮＤ型フラッシュメモリ１０に加え、ライセンス管理者４０から渡されたFKBv (v=1,…,n)等のデータ３１を保持し、選択部３２、３３、生成部３４、暗号部３５を備える。
【００６７】
上記構成により、データ３１を受け取ったメモリ製造者３０は、vの中から一つの値を選択部３２により選択し、当該vの値をＮＡＮＤ型フラッシュメモリ１０のROM area１１−３へインデックス情報v（index of FKey）として書き込む。
【００６８】
また、メモリ製造者３０は、インデックス情報i（index of NKey）の値をＮＡＮＤ型フラッシュメモリ１０のROM area１１−３へ、NKeyiの値をHidden area１１−２へそれぞれ書き込む。
【００６９】
メモリ製造者３０は、生成部（SecretID Generator）３４において秘密識別情報SecretIDを生成する。さらに、選択部３２は、前記選択したvに対応するFKeyvを選択する。メモリ製造者３０は、選択したFKeyvを用いて、生成したSecretIDを暗号化し、暗号化された秘密識別情報E-SecretIDを生成する。
【００７０】
さらに、メモリ製造者３０は、秘密識別情報SecretIDの値をＮＡＮＤ型フラッシュメモリ１０のHidden area１１−２へ、暗号化された秘密識別情報E-SecretIDの値をRead/Write area１１−１へそれぞれ書き込む。
【００７１】
以上の動作により、ＮＡＮＤ型フラッシュメモリ１０の製造時等に所定の秘密情報やFKBを書き込むことができる。なお、上記各値を書き込む順番は、暗号化された秘密識別情報E-SecretIDは、暗号化処理しないと得られない値であるため、暗号部３５による上記暗号化処理後となる。しかし、それ以外の書き込み動作の順序について制約はなく、上述の例以外の順番で書き込んでも良い。
【００７２】
さらに、メモリ製造者３０は、書き込み処理を終えたＮＡＮＤ型フラッシュメモリ１０をカード製造者（Card Vendor）に渡す。
【００７３】
このように、本例では、インデックス情報v（index of FKey）等が、ＮＡＮＤ型フラッシュメモリ１０にあらかじめ書き込まれた状態とすることができる。
【００７４】
４−２．FKBをカード製造者（Card Vendor）が書き込む場合  
次に、図６を用い、FKBをカード製造者５０が書き込む場合について説明する。
【００７５】
カード製造者（Card Vendor）５０は、上記メモリ製造者３０から上記所定の情報v等が書き込まれたＮＡＮＤ型フラッシュメモリ１０を受け取る。そして、例えばSD（登録商標）カード等の様に、そのＮＡＮＤ型フラッシュメモリ１０を制御するコントローラ１９を結合させ、一般ユーザ等向けのストレージメディア（ここでは、Card）５５を製造する。
【００７６】
カード製造者５０は、上記ストレージメディア（Card）５５に加え、ライセンス管理者４０から受け取るデータ（FKBv）５１、選択部５２を備える。
【００７７】
カード製造者５０が鍵管理情報FKBvを書き込む処理については、次の通りである。
【００７８】
まず、カード製造者５０は、鍵管理情報FKBvをライセンス管理者からデータ５１として受け取る。この際、データ５１の受け渡しには、上述した安全な手段を用いる。
【００７９】
そして、カード製造者５０は、（コントローラ１９を介して）ＮＡＮＤ型フラッシュメモリ１０のROM area１１−３に記録されるインデックス情報vの値をデータキャッシュ１２Ｃ等に読み出す。
【００８０】
続いて、カード製造者５０は、読み出したインデックス情報vの値に対応する鍵管理情報FKBvを選択部５２により選択し、（コントローラ１９を介して）ＮＡＮＤ型フラッシュメモリ１０のRead/Write area１１−１に選択した鍵管理情報FKBvとして書き込む。
【００８１】
＜作用効果＞  
上記のように、第１の実施形態に係る認証装置、被認証装置、およびその認証方法によれば、少なくとも下記（１）乃至（３）の効果が得られる。
【００８２】
（１）ホスト装置２０から秘密情報が漏洩した場合であっても、漏洩した情報を用いたＮＡＮＤ型フラッシュメモリ１０の秘密情報の不正利用を防止することができる。  
ここで、認証装置であるホスト装置２０は、民生機器の様な専用ハードウェア装置だけでなく、例えば、PC（パーソナルコンピュータ）などで実行可能なプログラム（ソフトウェア）として提供され当該ソフトウェアが実質的なホスト装置となる場合もある。一方、被認証装置であるＮＡＮＤ型フラッシュメモリ１０は、記録メディアであり、ファームウェアと呼ばれるプログラムが介在する場合であっても、重要な処理や情報はセルアレイ１１中のハードウェア内に秘匿された状態で記憶される。そのため、現実的には、例えば、PC上で実行されるソフトウェアは、記録メディアに比べて耐タンパー性能（攻撃に対する耐性）が低くなってしまうことが懸念される。そのため、耐タンパー性能の低いホスト装置（認証装置）２０を攻撃することで、耐タンパー性の高いＮＡＮＤ型フラッシュメモリ１０（被認証装置）に秘匿された秘密情報をも暴露され、耐タンパー性の高い装置に成りすまされることが懸念される。
【００８３】
そこで、第１の実施形態に係る構成及びその認証方式では、上記のように、比較的耐タンパー性の高いＮＡＮＤ型フラッシュメモリ１０は、第１鍵情報（NKeyi）から第２鍵情報（HKeyi,j）を生成することができる第１鍵情報（NKeyi）をセルアレイ１１に秘匿する。一方、ホスト装置２０は、第２鍵情報（HKeyi,j）からは第１鍵情報（NKeyi）を生成することができない第２鍵情報（HKeyi,j）のみをメモリ２３に秘匿する。
【００８４】
そのため、ＮＡＮＤ型フラッシュメモリ１０は、ホスト装置２０から受領した元情報（HCj）と自身が秘匿する第１鍵情報（NKeyi）を用いて、認証装置２０が秘匿する第２鍵情報（HKeyi,j）を生成する。ＮＡＮＤ型フラッシュメモリ１０は、第２鍵情報（HKeyi,j）と乱数情報（RNｈ）とからセッション鍵（SKeyi,j）を生成する。
【００８５】
ホスト装置２０は、インデックス情報iにより選択される第２鍵情報（HKeyi,j）と乱数情報（RNｈ）とからセッション鍵（SKeyi,j）を生成する。その結果、ＮＡＮＤ型フラッシュメモリ１０とホスト装置２０とは、共に同じセッション鍵（SKeyi,j）を共有する。
【００８６】
このように、本例では、ＮＡＮＤ型フラッシュメモリ（被認証装置）１０が秘匿する情報の秘密レベルと、ホスト装置（認証装置）２０が秘匿する情報の秘密レベルとを非対称とすることができる。例えば、本例では、比較的耐タンパー性の高いＮＡＮＤ型フラッシュメモリ１０が秘匿する情報の秘密レベルを、比較的耐タンパー性の低いホスト装置２０が秘匿する情報の秘密レベルよりも、より高く設定することができる。
【００８７】
そのため、仮にホスト装置２０が秘匿する情報が漏洩した場合であっても、比較的耐タンパー性の高いＮＡＮＤ型フラッシュメモリ１０が秘匿する情報の秘密レベルがさらに高いため、漏洩した情報を用いてＮＡＮＤ型フラッシュメモリ１０に”成りすますこと”ができない。従って、漏洩した情報を用いたＮＡＮＤ型フラッシュメモリ１０の秘密情報の不正利用を防止することができる点で有利である。その結果、例えば、ホスト装置２０から読み出されたID情報が、目的の被認証装置１０から読み出した情報であることを確実に確認し、その相手方の不正利用の無効化等が可能となる。
【００８８】
（２）実装化において有利である。  
本例のような構成では、比較的大きな回路規模を要求される公開鍵暗号処理やMKB処理のハードウェア実装が困難である等の回路規模上の制約が同時に課せられる環境下である。
【００８９】
しかしながら、本例によれば、鍵情報が非対称であるものの比較的大きな回路規模を必要とする公開鍵暗号処理を用いる必要がない。さらに、上記のように、ホスト装置（認証装置）２０とＮＡＮＤ型フラッシュメモリ（被認証装置）１０とが秘匿する情報の秘密レベルを非対称とすることにより、片方の装置から漏れた情報だけではもう一方の装置に成りすますことができない認証手段を行い、認証装置２０と被認証装置１０との間で秘密情報であるセッション鍵（SKeyi,j）を共有する。
【００９０】
そのため、上記制約が課される厳しい環境下であっても、実装化において有利であると言える。
【００９１】
さらに、上記のように、メモリシステムを構成するデータ生成回路や暗号化器を同じ処理とすることにより、回路規模を比較的小さくすることも可能である。
【００９２】
（３）製造工程の簡略化、製造コストの低減化に対して有利である。  
加えて、本例に係るＮＡＮＤ型フラッシュメモリ１０は、読み書き可能領域１１−１に、その用途に応じてＮＡＮＤ型フラッシュメモリ１０ごとに固有（ユニーク）、或いは製造ロット（lot）単位など複数のＮＡＮＤ型フラッシュメモリ１０に共通に付される鍵管理情報（FKBv）、およびＮＡＮＤ型フラッシュメモリ１０ごとに固有に（ユニークに）付される暗号化された秘密識別情報（E-SecretID）を備える。
【００９３】
製造ロット単位で鍵管理情報（FKBv）を共通化させた場合には、ＮＡＮＤ型フラッシュメモリ１０ごとに記録しなければならない固有（ユニーク）な情報を、暗号化された秘密識別情報（E-SecretID）の様にデータサイズの小さいデータだけに減らすことができる。換言すれば、共通に付される鍵管理情報（FKBv）と固有の暗号化秘密識別情報（E-SecretID）とに分け、２段階に暗号化することにより、ＮＡＮＤ型フラッシュメモリ１０に書き込むべき固有の暗号化秘密識別情報（E-SecretID）のデータサイズを抑えることができるものである。
【００９４】
例えば、上記図５で示したように、ＮＡＮＤ型フラッシュメモリの製造時等において、メモリ製造者３０は、ライセンス管理者４０から受け取ったＮＡＮＤ型フラッシュメモリ１０ごとに固有な情報（E-SecretID）を書き込む。
【００９５】
そして、ＮＡＮＤ型フラッシュメモリ１０に共通に付される暗号化された鍵管理情報（FKBv）については、カード製造者５０等がＮＡＮＤ型フラッシュメモリ１０に共通に書き込むことができる。例えば、上記図６で示したように、カード製造者５０が、上記ライセンス管理者４０から受け取ったＮＡＮＤ型フラッシュメモリ１０ごとに共通な鍵管理情報（FKBv）を書き込む。そのため、メモリ製造者３０が書き込まなければならないＮＡＮＤ型フラッシュメモリ１０ごとに固有（ユニーク）なデータのサイズを低減することが可能となる。
【００９６】
ここで、ＮＡＮＤ型フラッシュメモリ１０の製造時等に、ＮＡＮＤ型フラッシュメモリ１０に固有かつデータサイズの大きい情報を書き込む場合、製造工程が煩雑となり、製造時間が長期化し、製造コストが増大してしまう。しかしながら、本例に係る構成および方法によれば、共通に付される鍵管理情報（FKBv）と固有の暗号化秘密識別情報（E-SecretID）とに分けて２段階に暗号化することにより、このような煩雑な製造工程は不要となるため、製造工程を簡略化でき、製造コストを低減できる点で有利である。また、製造時間を短縮化できるため、消費電力を低減できる点でもメリットがある。
【００９７】
また、ホスト装置２０側においても、FKeyを用いてＮＡＮＤ型フラッシュメモリに固有な値であるSecretIDを暗号化してE-SecretIDを生成し、さらに、IDKeykを用いてFKeyを暗号化してFKBを生成するという構成を取ることにより、ＮＡＮＤ型フラッシュメモリ１０と同様のメリットを享受することが可能となる。
【００９８】
［変形例１（FKBを後からダウンロードして書き込む場合）］
次に、変形例１に係る認証装置、被認証装置、およびその認証方法について説明する。この説明において、上記第１の実施形態と重複する部分の説明については、省略する。
【００９９】
＜FKBの書き込みについて＞  
暗号化FKey束（FKB）の書き込みについて、説明する。
【０１００】
本変形例１における処理は、暗号化FKey束（FKB）が、ＮＡＮＤ型フラッシュメモリ１０の製造時に書き込まれる場合等には、特に必要のない処理である。しかし、ＮＡＮＤ型フラッシュメモリ１０とコントローラ１９などが結合されて、例えば、SD（登録商標）カードなどのストレージメディア製品として一般ユーザ入手し、カード利用時に市場において後から書き込まれる場合などには、必要となるFKBの書き込み処理に関するものである。
【０１０１】
図７では、上記のように鍵管理情報FKBが未記録のストレージメディア（Card）５５に記録されたデータの場合の状態を示している。  
図示するように、ＮＡＮＤ型フラッシュメモリ１０は、秘密情報NKeyiと秘密識別情報SecretIDとが秘匿領域１１−２に記録される。前記秘密情報NKeyiを特定するために必要なインデックス情報iと鍵管理情報FKBを特定するために必要となるインデックス情報vとがROM領域１１−３に記録される。ROM領域に記録されたインデックス情報vで指定されたFKeyvによって暗号化されたSecretID（E-SecretID）が読み書き可能領域に書き込まれた状態である。しかしながら、鍵管理情報FKBは、ＮＡＮＤ型フラッシュメモリ１０に、まだ書き込まれていない点で、上記実施形態と相違する。
【０１０２】
次に、上記のように鍵管理情報FKBが未記録状態のストレージメディア１０に、サーバからFKBをダウンロードして記録する場合について、図８を用いて説明する。
【０１０３】
図示するように、この場合には、ＮＡＮＤ型フラッシュメモリ１０に、必要に応じてデータキャッシュ１２Ｄが配置される。
【０１０４】
本例に係るサーバ７０は、FKBデータベース（Set of FKBi ’s (i=1、…、x) ）７１およびvからFKBvを選択するための選択部７２を備える。
【０１０５】
また、サーバ７０とメモリシステム（ＮＡＮＤ型フラッシュメモリ１０、コントローラ１９、ホスト装置２０）とは、インターネット６０を介して電気的に通信接続される。
【０１０６】
なお、ホスト装置２０は、FKBの新規書き込みが必要かどうかを判定し、必要に応じてFKBをサーバに要求する機能を備える。
【０１０７】
＜FKB書き込みフロー＞  
次に、図９に沿って、暗号化FKeyID束（FKB）をサーバ６０からダウンロードしてＮＡＮＤ型フラッシュメモリ１０に書き込むフローについて説明する。
【０１０８】
（Step Ｓ５１）  
図示するように、まず、ホスト装置２０が、FKBダウンロードが必要と判定したことにより、FKB書き込みが開始（Start）され、ホスト装置２０はサーバ６０に対してFKB要求を出す。
【０１０９】
（Step Ｓ５２）  
続いて、サーバ７０は、ＮＡＮＤ型フラッシュメモリ１０に対して、FKeyvを特定するために必要となるインデックス情報vを要求する。
【０１１０】
（Step Ｓ５３）  
続いて、ＮＡＮＤ型フラッシュメモリ１０は、ROM領域１１−３からvを読み出し、vをサーバに送出する。
【０１１１】
（Step Ｓ５４）  
続いて、サーバ７０は、受信したvに対応するFKBvをFKBデータベース７１の中から選択する。
【０１１２】
（Step Ｓ５５）  
続いて、サーバ７０は、選択したFKBvをＮＡＮＤ型フラッシュメモリに送出する。
【０１１３】
（Step Ｓ５６）  
続いて、ＮＡＮＤ型フラッシュメモリ１０は、受信したFKBvを読み書き可能領域１１−１に書き込み、記録する。
【０１１４】
以上の動作により、第１の実施形態に係る暗号化FKey束（FKB）ダウンロードフローを終了する（End）。
【０１１５】
その他の構成、動作等に関しては、上記第１の実施形態と実質的に同様である。
【０１１６】
＜作用効果＞  
変形例１に係る認証装置、被認証装置及び認証方法によれば、少なくとも第１の実施形態と同様の作用効果（１）乃至（３）を得ることができる。
【０１１７】
さらに、変形例１によれば、後からFKBを書き込む場合においても、必要に応じて本例を適用することが可能である。
【０１１８】
［第２の実施形態］  
次に、第２の実施形態について説明する。この説明において、上記第１の実施形態と重複する部分の説明については、省略する。
【０１１９】
ここで、第１の実施形態では、ホスト装置２０によるＮＡＮＤ型フラッシュメモリ１０の認証が成功した後、両者は秘密識別情報SecretIDを共有している。認証後の処理として、例えば、ホスト装置２０がコンテンツを暗号化し、ＮＡＮＤ型フラッシュメモリ１０へ当該暗号化コンテンツを書き込むこと等が挙げられるが、この際に、共有した秘密識別情報SecretIDを用いることが考えられる。
【０１２０】
本実施形態は、そのような処理においても秘密識別情報SecretIDを保護することを目的とするものである。そのため、この説明においては、上記第１の実施形態と重複する部分の説明については省略する。
【０１２１】
＜メモリシステム＞  
第２の実施形態に係るメモリシステムは、図１０のように示される。
【０１２２】
図１０に示すように、本例に係るメモリシステムは、一方向性変換部（Oneway）２７Ｂ、スイッチ部２９、および対象となるコンテンツを取り扱う全てのホスト装置が共通に保持している情報（ASSV）を更に備える点で、上記第１の実施形態と相違する。
【０１２３】
スイッチ部２９は、データ検証部（Verify）２８において一方向性変換識別情報Oneway-IDの両方の値が一致した場合（OK）の判定結果が制御信号として入力されると、信号経路をオンとさせ、秘密識別情報SecretIDを一方向変換部２７Ｂに出力する。
【０１２４】
一方向変換部（Oneway）２７Ｂは、スイッチ部２９から入力される秘密識別情報SecretIDを、対象となるコンテンツを取り扱う全てのホスト装置が共通に保持している情報（ASSV）を用いて一方向性関数により変換し、一方向性変換識別情報EMID（EMID=Oneway(SecretID, ASSV)）を生成する。
【０１２５】
このように第２の実施形態では、ホスト装置２０で秘密識別情報SecretIDが検証された後に、ホスト装置２０が、対象となる全てのホスト装置が共通に保持している情報（ASSV）を用いて秘密識別情報SecretIDを変換し、一方向性変換識別情報EMIDを計算する。そのため、ホスト装置２０は、秘密識別情報SecretIDの代わりに、一方向性変換識別情報EMIDを用いて、コンテンツ暗号化などの処理を行うことができる。
【０１２６】
その他の構成、動作等は、上記第１の実施形態と実質的に同様であるため、詳細な説明については省略する。
【０１２７】
＜作用効果＞  
第２の実施形態に係る認証装置、被認証装置及び認証方法によれば、少なくとも第１の実施形態と同様の作用効果（１）乃至（３）を得ることができる。
【０１２８】
さらに、第２の実施形態では、ホスト装置２０は、一方向性変換部（Oneway）２７Ｂ、スイッチ部２９、および対象となるコンテンツを取り扱う全てのホスト装置が共通に保持している情報（ASSV）を更に備える点で、上記第１の実施形態と相違する。
【０１２９】
上記構成によれば、ホスト装置２０で秘密認識情報SecretIDが検証された後に、ホスト装置２０が、対象となる全てのホスト装置が共通に保持している情報（ASSV）を用いて秘密識別情報SecretIDを変換し、一方向性変換識別情報EMIDを計算する。そのため、ホスト装置２０は、秘密識別情報SecretIDの代わりに、一方向性変換識別情報EMIDを用いて、コンテンツ暗号化などの処理を行うことができる。
【０１３０】
その結果、ここでは図示を省略するが後工程におけるコンテンツ暗号化などおいて一方向性変換識別情報EMIDを用いることができ、当該後工程において秘密識別情報SecretIDが漏洩することを防止することが可能となり、秘密識別情報SecretIDの秘匿性を強化することができる点で、さらに有利である。
【０１３１】
［第３の実施形態（メモリ、コントローラ、ホストの一例）］  
次に、図１１を用い、第３の実施形態について説明する。第３の実施形態は、上記実施形態に適用可能な上記ＮＡＮＤ型フラッシュメモリ１０、コントローラ１９、およびホスト装置２０の一例に関するものである。本例では、メモリカードとしてSD（登録商標）カードを一例に挙げる。
【０１３２】
図示するように、本例では、メモリカード５５と接続されるホスト装置２０の機能ブロックを示している。各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明する。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も本発明の範疇に含まれる。
【０１３３】
ホスト装置２０は、アプリケーション、オペレーティング・システム等のソフトウェア２１１を備えている。ソフトウェア２１１は、ユーザから、メモリカードへのデータの書き込み、メモリカードからのデータの読み出しを指示される。ソフトウェア２１１は、データの書き込みおよび読み出しをファイルシステム２１２に指示する。ファイルシステム２１２は、管理対象の記憶媒体に記録されているファイルデータを管理するための仕組みであり、記憶媒体の記憶領域内に管理情報を記録し、この管理情報を用いてファイルデータを管理する。
【０１３４】
ホスト装置２０は、ＳＤインターフェース２１３を有する。ＳＤインターフェース２１３は、ホスト装置２０とメモリカード５５との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなる。ホスト装置２０は、ＳＤインターフェース２１３を介してメモリカードと通信を行う。ＳＤインターフェース２１３は、ホスト装置２０とメモリカードとが通信するのに必要な様々な取り決めを規定し、後述のメモリカードのＳＤインターフェース１３１と相互に認識可能な各種のコマンドの組を備えている。また、ＳＤインターフェース２１３は、メモリカード５５のＳＤインターフェース２３１と接続可能なハードウェア上の構成（ピンの配置、数等）も含む。
【０１３５】
メモリカード５５は、ＮＡＮＤ型フラッシュメモリ１０、メモリ１０を制御するためのコントローラ１９を有する。メモリカード５５は、ホスト装置２０に接続されたとき、およびオフ状態のホスト装置２０に挿入された状態でホスト装置２０がオンされたときに電源供給を受けて初期化動作を行った後、ホスト装置２０からのアクセスに応じた処理を行う。
【０１３６】
ＮＡＮＤ型フラッシュメモリ１０は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行う。なお、前述の実施形態ではＮＡＮＤ型フラッシュメモリを例に記載したが、データを不揮発に記憶するメモリであれば、ＮＡＮＤ型フラッシュメモリに限られることはなく、その場合、ＮＡＮＤ型フラッシュメモリを代替のメモリに代えて読み替えることができ、メモリセルアレイは代替されるメモリに採用されるメモリセルに代えて読み替えることができる。ページには、各ページに固有の物理アドレスが割り当てられている。また、ＮＡＮＤ型フラッシュメモリ１０は、複数のページからなる物理ブロック（消去ブロック）と呼ばれる単位でデータの消去を行う。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。
【０１３７】
コントローラ１９は、メモリ１０によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページ（または物理ブロック）が、どの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページ（または物理ブロック）が消去状態（何も書き込まれていない、または無効なデータを保持している状態）であるかを管理することを含んでいる。
【０１３８】
コントローラ１９は、ＳＤインターフェース１３１、ＭＰＵ（micro processing unit）１３２、ＲＯＭ（read only memory）１３３、ＲＡＭ（random access memory）１３４、ＮＡＮＤインターフェース１３５を含んでいる。
【０１３９】
ＳＤインターフェース１３１は、ホスト装置２０とコントローラ１９との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなり、ＳＤインターフェース２１３と同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウェア上の構成（ピンの配置、数等）も含む。メモリカード（コントローラ２２）５５は、ＳＤインターフェース１３１を介してとホスト１と通信を行う。ＳＤインターフェース１３１は、レジスタ１３６を含んでいる。
【０１４０】
ＭＰＵ１３２は、メモリカード５５全体の動作を司る。ＭＰＵ１３２は、例えば、メモリカード５５が電源供給を受けた際に、ＲＯＭ１３３内に格納されているファームウェア（制御プログラム）をＲＡＭ１３４上に読み出して所定の処理を実行する。ＭＰＵ１３２は、制御プログラムに従って各種のテーブルをＲＡＭ１３４上で作成したり、ホスト２０から受けたコマンドに従ってメモリに対する所定の処理を実行したりする。
【０１４１】
ＲＯＭ１３３は、ＭＰＵ１３２により制御される制御プログラムなどを格納する。ＲＡＭ１３４は、ＭＰＵ１３２の作業エリアとして使用され、制御プログラムや各種のテーブルを一時的に記憶する。このようなテーブルとして、ファイルシステム２１２によってデータに割り当てられた論理アドレスを有するデータを実際に記憶しているページの物理アドレスの変換テーブル（論物テーブル）が含まれる。ＮＡＮＤインターフェース１３５は、コントローラ１９とメモリ１０とのインターフェース処理を行う。
【０１４２】
ＮＡＮＤ型フラッシュメモリ１０内の記憶領域は、保存されるデータの種類に応じて、上記のように、例えば、一般領域（User area）、秘匿領域（Hidden area）、保護領域（Protected area）、ROM領域（ROM area）等を含んでいる。なお、コントローラ１９は、一般領域の一部を確保し、自身の動作に必要な制御データ（論物テーブル等）を保存する。
【０１４３】
［第４の実施形態（ＮＡＮＤ型フラッシュメモリの構成例）］  
次に、上記ＮＡＮＤ型フラッシュメモリ１０の具体的構成例として、第４の実施形態として説明する。
【０１４４】
＜全体構成例＞  
上記ＮＡＮＤ型フラッシュメモリ１０の具体的な全体構成例は、図１２のように示される。
【０１４５】
図示するように、本例に係るＮＡＮＤ型フラッシュメモリ１０は、メモリセルアレイ１１、制御回路１９、認証回路１５１、ビット線制御回路１５２、カラムデコーダ１５３、データ入出力バッファ１５４、データ入出力端子１５５、ワード線駆動回路１５６、制御信号入力端子１５８、電源発生回路１５９を備える。
【０１４６】
メモリセルアレイ１１は、複数のブロック（ＢＬＯＣＫ１〜ＢＬＯＣＫｎ）により構成される。複数のブロック（ＢＬＯＣＫ１〜ＢＬＯＣＫｎ）のそれぞれは、ワード線およびビット線の交差位置に配置される複数のメモリセルを備える。例えば、ＢＬＯＣＫ１は、上記ROM領域１１−３である。例えば、ＢＬＯＣＫ２は、上記秘匿領域１１−２である。その他のブロックは、ホスト装置２０から利用可能な一般領域（User area）１１−１等である。
【０１４７】
ROM領域１１−３は、例えばＯＴＰ（One Time Program）ブロックであり、１回の書き込みのみ許容される。書き込み後は電気フューズ、レーザフューズ、ＲＯＭフューズ等の手段を用いてブロックデコーダを制御し消去動作を禁止する。秘匿領域１１−２は、例えば外部アドレスのデコードでは選択できない状態とし、ＮＡＮＤ型フラッシュメモリ１０の内部の制御回路１９のみが読み出し可能な領域とする。
【０１４８】
認証回路１５１は、例えば、上記データキャッシュ１２Ａ、１２Ｂ、１２Ｃ、発生回路１３、１４、一方向性変換器１５等を備え、制御回路１９により制御される。
【０１４９】
ビット線制御回路１５２は、ビット線を介してメモリセルアレイ１１中のメモリセルのデータを読み出し、ビット線を介してメモリセルアレイ１１中のメモリセルの状態を検出する。また、ビット線制御回路１５２は、ビット線を介してメモリセルアレイ１１中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行う。
【０１５０】
ビット線制御回路１５２内には、図示しない上記ページバッファ等のデータ記憶回路等が設けられ、このデータ記憶回路は、カラムデコーダ１５３によって選択される。データ記憶回路に読み出されたメモリセルのデータは、データ入出力バッファ１５４を介してデータ入出力端子１５５から外部へ出力される。
【０１５１】
データ入出力端子１５５は、例えば、ＮＡＮＤ型フラッシュメモリ１０の外部のホスト装置２０等に接続される。データ入出力端子１５５により、コマンドＣＭＤ、アドレスＡＤＤ、入出力データＤＴ等が、メモリ１０とホスト装置２との間でやり取りされる。データ入出力端子１５５は、例えば８ビット、または１６ビットのバス幅を有している。ＮＡＮＤ型フラッシュメモリ１０は、トグルモードインターフェース（toggle mode interface）などの高速インターフェース規格をサポートしてもよい。トグルモードインターフェースでは、例えば、データストローブ信号（DQS）の立ち上がり、立ち下がり両エッジに同期してデータ入出力端子１５５を介したデータ転送が行われる。
【０１５２】
ホスト装置２０は、例えば、マイクロコンピュータ等であって、データ入出力端子１５５から出力されたデータＤＴを受ける。ホスト装置２０は、ＮＡＮＤ型フラッシュメモリ１０の動作を制御する各種コマンドＣＭＤ（書き込みコマンド、読み出しコマンド、消去コマンド、ステータスリードコマンド等）、アドレスＡＤＤ、およびデータＤＴを出力する。ホスト装置２０からデータ入出力端子１５５に入力された書き込みデータＤＴは、データ入出力バッファ１５４を介して、カラムデコーダ１５３によって選択された上記データ記憶回路（図示せず）に供給される。一方、コマンドＣＭＤおよびアドレスＡＤＤは、制御回路１９に供給される。
【０１５３】
ワード線駆動回路１５６は、制御回路１９の制御に従い、メモリセルアレイ１１中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。
【０１５４】
電圧発生回路１５９は、制御回路１９の制御に従い、図示中の接続された上記構成回路の動作に必要な電圧を供給する。例えば、電圧発生回路１５９は、ホスト装置から供給される外部電圧を昇圧して、読み出し、書き込みあるいは消去時にワード線に印加される電圧を生成する。
【０１５５】
制御回路（Controller）１９は、ＮＡＮＤ型フラッシュメモリ１０の全体の動作を制御するために、接続される各回路に必要な制御信号および制御電圧を与える。制御回路１９は、メモリセルアレイ１１、認証回路１５１、ビット線制御回路１５２、カラムデコーダ１５３、データ入出力バッファ１５４、ワード線駆動回路１５６、電圧発生回路１５９に接続される。接続された上記構成回路は、制御回路１９によって制御される。
【０１５６】
制御回路１９は、制御信号入力端子１５８に接続され、ホスト装置２０から制御信号入力端子１５８を介して入力されるＷＥ（ライト・イネーブル）信号、ＲＥ（リード・イネーブル）信号、ＡＬＥ（アドレス・ラッチ・イネーブル）信号、ＣＬＥ（コマンド・ラッチ・イネーブル）信号等の制御信号の組み合わせによって制御される。
【０１５７】
ここで、機能的に表現すれば、上記ワード線駆動回路１５６、ビット線制御回路１５２、カラムデコーダ１５３、制御回路１９は、データ書き込み回路、データ読み出し回路、およびデータ消去回路を構成する。ホスト装置２０は、ＮＡＮＤ型フラッシュメモリ１０が書き込み、読み出し、消去などの内部動作を実行中であるか否かを、図示せぬＲＹ／ＢＹ（レディー／ビジー）信号出力端子をモニタすることで検知する。制御回路１９は、ＲＹ／ＢＹ信号出力端子を介して、ＲＹ／ＢＹ信号を出力する。
【０１５８】
＜ブロック（ＢＬＯＣＫ）の構成例＞  
次に、図１３を用い、メモリセルアレイ１１を構成するブロック（ＢＬＯＣＫ）の構成例について説明する。ここでは、図１２中のＢＬＯＣＫ１を一例に挙げて説明する。ここで、このブロックＢＬＯＣＫ１中のメモリセルは、一括してデータ消去されるため、ブロックはデータ消去単位である。
【０１５９】
ブロックＢＬＯＣＫ１は、ワード線方向（ＷＬ方向）に配置される複数のメモリセルユニットＭＵから構成される。メモリセルユニットＭＵは、ＷＬ方向と交差するビット線方向（ＢＬ方向）に配置され、電流経路が直列接続される８個のメモリセルＭＣ０〜ＭＣ７からなるＮＡＮＤストリング（メモリセルストリング）と、ＮＡＮＤストリングの電流経路の一端に接続されるソース側の選択トランジスタＳ１と、ＮＡＮＤストリングの電流経路の他端に接続されるドレイン側の選択トランジスタＳ２とから構成される。
【０１６０】
尚、本例では、メモリセルユニットＭＵは、８個のメモリセルＭＣ０〜ＭＣ７から構成されるが、２つ以上のメモリセル、例えば、５６個、３２個等から構成されていればよく、８個に限定されるというものではない。
【０１６１】
ソース側の選択トランジスタＳ１の電流経路の他端はソース線ＳＬに接続される。ドレイン側の選択トランジスタＳ２の電流経路の他端は、各メモリセルユニットＭＵに対応してメモリセルユニットＭＵの上方に設けられ、ＢＬ方向に延出するビット線ＢＬに接続される。
【０１６２】
ワード線ＷＬ０〜ＷＬ７は、ＷＬ方向に延び、ＷＬ方向の複数のメモリセルの制御ゲート電極ＣＧに共通に接続される。選択ゲート線ＳＧＳは、ＷＬ方向に延び、ＷＬ方向の複数の選択トランジスタＳ１に共通に接続される。選択ゲート線ＳＧＤも、ＷＬ方向に延び、ＷＬ方向の複数の選択トランジスタＳ２に共通に接続される。
【０１６３】
また、ワード線ＷＬ０〜ＷＬ７ごとにページ（ＰＡＧＥ）が存在する。例えば、図中の破線で囲って示すように、ワード線ＷＬ７には、ページ７（ＰＡＧＥ７）が存在する。このページ（ＰＡＧＥ）ごとに、データ読み出し動作、データ書き込み動作が行われるため、ページ（ＰＡＧＥ）はデータ読み出し単位であり、データ書き込み単位である。
【０１６４】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
以下に、本願の出願当初における特許請求の範囲を付記する。
[1]被認証装置を認証装置が認証する認証方法であって、
前記被認証装置は、秘匿される固有の秘密識別情報（SecretID）、固有の暗号化秘密識別情報（E-SecretID）、および鍵管理情報（FKB）を保持し、
前記認証装置は、秘匿される識別鍵情報（IDKey）を保持し、
前記認証装置が、前記被認証装置から、前記暗号化秘密識別情報（E-SecretID）および
前記鍵管理情報（FKB）を読み出すステップと、
前記認証装置が、読み出した前記鍵管理情報（FKB）を用いて、前記識別鍵情報（IDKey）から復号可能な識別鍵情報（FKey）を取得するステップと、
前記認証装置が、得られた識別鍵情報（FKey）を用いて、読み出した前記暗号化秘密識別情報（E-SecretID）を復号し、秘密識別情報（SecretID）を取得するステップとを具備する認証方法。
[2]前記被認証装置は、秘匿される第１鍵情報（NKey）を更に保持し、
前記認証装置は、元情報(HC)と秘匿される第２鍵情報（HKey）とを更に保持し、
前記被認証装置が、前記元情報(HC)および前記第１鍵情報（NKey）に基づいて、第３鍵情報（HKey’）を生成するステップと、
前記被認証装置が、前記第３鍵情報(HKey’)と乱数とに基づいて、第１セッション鍵(SKey)を生成するステップと、
前記認証装置が、前記第２鍵情報(HKey)と前記乱数とに基づいて、第２セッション鍵(SKey’)を生成するステップとを更に具備する[1]に記載の認証方法。
[3]前記被認証装置が、生成した前記第１セッション鍵（SKey）を用いて、前記秘密識別情報（SecretID）に一方向性変換処理を行い、一方向性変換データ（Oneway-ID）を生成して前記認証装置に送信するステップと、
前記認証装置が、生成した前記第２セッション鍵データ(SKey’)を用いて、前記秘密識別情報（SecretID）に一方向性変換処理を行い、一方向性変換データ（Oneway-ID’）を求めるステップと、
前記認証装置が、受信した前記一方向性変換データ（Oneway-ID）と、生成した前記一方向性変換データ（Oneway-ID’）とが一致するか否かを判定するステップとを更に具備する[2]に記載の認証方法。
[4]秘匿される固有の秘密識別情報（SecretID）、固有の暗号化秘密識別情報（E-SecretID）、鍵管理情報（FKB）、および第１鍵情報（NKey）を記憶するセルアレイと、
認証装置の元情報（HC）と前記第１鍵情報（NKey）とを用いて、第２鍵情報（HKey）を生成する第１データ生成部と、
生成した前記第２鍵情報（HKey）と乱数とを用いて、セッション鍵（SKey）を生成する第２データ生成部とを具備し、
前記暗号化秘密識別情報（E-SecretID）および前記鍵管理情報（FKB）は前記認証装置によって読み出され、前記第１鍵情報（NKey）からは前記第２鍵情報（HKey）が生成されるが前記第２鍵情報（HKey）からは前記第１鍵情報（NKey）が生成されないことを特徴とする被認証装置。
[5]生成した前記セッション鍵（SKey）を用いて、前記秘密識別情報（SecretID）に一方向性変換処理を行い、一方向性変換データ（Oneway-ID）を生成する一方向性変換部を更に具備する[4]に記載の被認証装置。
[6]秘匿される第１鍵情報（NKey）を保持する被認証装置を認証する認証装置であって、前記認証装置は、
秘匿される識別鍵情報（IDKey）と第２鍵情報（HKey）とを記憶するメモリと、
前記被認証装置から読み出す鍵管理情報（FKB）を用いて、前記識別鍵情報（IDKey）から復号可能な識別鍵情報（FKey）を生成する識別鍵情報生成部と、
生成される前記識別鍵情報（FKey）を用いて、前記被認証装置から読み出す暗号化秘密識別情報（E-SecretID）を復号し、秘密識別情報（SecretID）を生成する復号部とを具備する認証装置。
[7]乱数を発生させる乱数発生器と、
前記第２鍵情報（HKey）と前記乱数とを用いてセッション鍵（SKey）を生成するデータ生成部とを更に具備し、
前記第１鍵情報（NKey）からは前記第２鍵情報（HKey）が生成されるが、前記第２鍵情報（HKey）からは前記第１鍵情報（NKey）が生成されないように構成される[6]に記載の認証装置。
[8]生成した前記セッション鍵（SKey）を用いて、前記秘密識別情報（SecretID）に一方向性変換処理を行い、一方向性変換データ（Oneway-ID）を生成する一方向性変換部を更に具備する[7]に記載の認証装置。
[9]生成した前記一方向性変換データ（Oneway-ID）と前記被認証装置から受信する一方向性変換データ（Oneway-ID）とが一致するか否かを判定する検証部を更に具備する[8]に記載の認証装置。
【符号の説明】
【０１６５】
１０…被認証装置（ＮＡＮＤ型フラッシュメモリ）、１９…コントローラ、２０…認証装置（ホスト装置）、１１…セルアレイ、２３…メモリ、E-SecretID…固有の暗号化秘密識別情報、SecretID…固有の秘密識別情報、FKB…共通に付される鍵管理情報、NKey…第１鍵情報、HKey…第２鍵情報、SKey…セッション鍵情報。
【図１】
0005275432.tif 000002
【図２】
0005275432.tif 000003
【図３】
0005275432.tif 000004
【図４】
0005275432.tif 000005
【図５】
0005275432.tif 000006
【図６】
0005275432.tif 000007
【図７】
0005275432.tif 000008
【図８】
0005275432.tif 000009
【図９】
0005275432.tif 000010
【図１０】
0005275432.tif 000011
【図１１】
0005275432.tif 000012
【図１２】
0005275432.tif 000013
【図１３】
0005275432.tif 000014