"データ構造が鍵遷移レコードで構成された鍵情報、マトリックス状の秘密情報XY、および前記秘密情報XYが暗号化された秘密情報XYEを記憶する被認証コンポーネントと、前記被認証コンポーネントを認証する認証コンポーネントとの間における認証方法は、前記認証コンポーネントが、前記被認証コンポーネントから受領した前記鍵情報に対して、自身のデバイスインデックスに対応するレコードを選択し、前記レコードをデバイス鍵によって復号して鍵遷移を取り出すステップと、前記認証コンポーネントが、前記被認証コンポーネントから受領した前記秘密情報XYEに対して、対応する前記鍵遷移を用いて、復号処理を行い、前記秘密情報XYを共有するステップとを具備する。前記被認証コンポーネントが、前記認証コンポーネントが生成する乱数Bを受領するステップと、前記被認証コンポーネントが、乱数Aおよびデータννは1の出現確率がηただし、η05を生成するステップと、前記被認証コンポーネントが、生成した前記乱数Aと受領した前記乱数Bの少なくとも一部から構成される乱数Dを生成するステップと、前記被認証コンポーネントが、前記乱数Dと前記秘密情報XYの少なくとも一部とについて、圧縮演算を行い、データCを生成するステップと、前記被認証コンポーネントが、前記データCに前記データνを付与した演算結果zを、前記認証コンポーネントに送信するステップと、前記認証コンポーネントが、生成した前記乱数Aと受領した前記乱数Bの少なくとも一部から構成される乱数Dを生成するステップと、前記認証コンポーネントが、前記乱数Dと前記秘密情報XYの少なくとも一部とについて、圧縮演算を行い、データCを生成するステップと、前記認証コンポーネントが、受領した演算結果zと生成したデータCとを用いて、判定処理を行うステップとを更に具備する請求項1に記載の認証方法。データ構造が鍵遷移レコードで構成された鍵情報、マトリックス状の秘密情報XY、および前記秘密情報XYが暗号化された秘密情報XYEを記憶するメモリと、乱数Aを生成する生成部と、生成した前記乱数Aと、受領する乱数Bの少なくとも一部から構成される乱数Dを生成する生成部と、前記乱数Dと前記メモリからロードした秘密情報XYとについて、圧縮演算を行い、データCを生成する演算部と、データννは1の出現確率がηただし、η05を生成する生成部と、前記データCに前記データνを付与して、演算結果zを算出するビット毎加算部とを具備する被認証コンポーネント。前記データ構造がマトリックス状の秘密情報XYは、秘密情報XYmain,XYsubにより構成され、前記データ構造がマトリックス状の暗号化された秘密情報XYEは、XYmainE,XYsubEにより構成され但し、データサイズ:XYsub<XYmain,XYsubE<XYmainE、前記秘密情報XYmainは、複数の前記被認証コンポーネントから構成されるグループ内で同一であり、前記秘密情報XYsubは、前記被認証コンポーネントごとに異なる請求項3に記載の被認証コンポーネント。データ構造がそれぞれ鍵遷移レコードで構成された鍵情報、マトリックス状の秘密情報XY、および前記秘密情報XYが暗号化された秘密情報XYEを記憶する被認証コンポーネントを認証する認証コンポーネントは、前記被認証コンポーネントから受領した前記鍵情報に対して、自身のデバイスインデックスに対応するレコードを選択する解析選択部と、前記レコードをデバイス鍵によって復号し、鍵遷移を取り出す復号部と、前記被認証コンポーネントから受領した前記秘密情報XYEに対して、対応する前記鍵遷移を用いて、復号処理を行い、前記秘密情報XYを共有する選択復号部と、乱数Bを生成する生成部と、生成した前記乱数Bと、前記被認証コンポーネントから受領する乱数Aの少なくとも一部から構成される乱数Dを生成する生成部と、前記乱数Dと前記秘密情報XYの少なくとも一部とについて、圧縮演算を行い、データCを生成する演算部と、前記被認証コンポーネントから受領する演算結果のうち前記レコード中のインデックスに対応する演算結果zを選択する検査部と、生成した前記データCと前記選択された演算結果zとを用いて、判定処理を行う判定部とを具備する認証コンポーネント。被認証IDと秘密情報XYとを記憶する被認証コンポーネントと、認証IDと固有の秘密情報UniqueXYとを記憶する認証コンポーネントとの間の認証方法は、前記被認証コンポーネントが、要求された前記被認証IDを、前記認証コンポーネントに送信するステップと、前記認証コンポーネントが、取得した前記被認証IDと自身が有する前記固有の秘密情報UniqueXYとに対して非線形処理を行い、固有値UniqueXYforMemoryandDeviceを取得するステップと、前記被認証コンポーネントが、送信された前記認証IDと自身の有する前記秘密情報XYとに対して一方向性関数処理を行い、前記秘密情報UniqueXYを共有するステップとを具備する認証方法。前記被認証コンポーネントが、自身が有する被認証IDと共有した前記秘密情報UniqueXYとに対して非線形処理を行い、固有値UniqueXYforMemoryandDeviceを取得するステップを更に具備する請求項6に記載の認証方法。前記被認証コンポーネントが、前記認証コンポーネントが生成する乱数Bを受領するステップと、前記被認証コンポーネントが、乱数Aおよびデータννは1の出現確率がηただし、η05を生成するステップと、前記被認証コンポーネントが、生成した前記乱数Aと受領した前記乱数Bの少なくとも一部から構成される乱数Dを生成するステップと、前記被認証コンポーネントが、前記乱数Dと前記固有値UniqueXYforMemoryandDeviceの少なくとも一部とについて、圧縮演算を行い、データCを生成するステップと、前記被認証コンポーネントが、前記データCに前記データνを付与した演算結果zを、前記認証コンポーネントに送信するステップと、前記認証コンポーネントが、生成した前記乱数Aと受領した前記乱数Bの少なくとも一部から構成される乱数Dを生成するステップと、前記認証コンポーネントが、前記乱数Dと前記固有値UniqueXYforMemoryandDeviceの少なくとも一部とについて、圧縮演算を行い、データCを生成するステップと、前記認証コンポーネントが、受領した演算結果zと生成したデータCとを用いて、判定処理を行うステップとを更に具備する請求項7に記載の認証方法。被認証IDと秘密情報XYとを記憶するメモリと、認証コンポーネントから送信される認証IDと自身の有する前記秘密情報XYとに対して一方向性関数処理を行い、固有の秘密情報UniqueXYを出力する一方向性関数処理部と、前記被認証IDと前記固有の秘密情報UniqueXYとに対して非線形処理を行い、前記認証コンポーネントと固有値UniqueXYforMemoryandDeviceを共有する非線形処理部とを具備する被認証コンポーネント。認証IDと固有の秘密情報UniqueXYとを有し、被認証コンポーネントから取得する被認証IDと自身が有する前記固有の秘密情報UniqueXYとに対して非線形処理を行い、前記被認証コンポーネントと固有値UniqueXYforMemoryandDeviceを共有する非線形処理部を具備する認証コンポーネント。中間者攻撃に対する耐性を向上させる。実施形態によれば、データ構造がそれぞれ鍵遷移レコードで構成された鍵情報、マトリックス状の秘密情報XY、および前記秘密情報XYが暗号化された秘密情報XYEとを記憶する被認証コンポーネントと、前記被認証コンポーネントを認証する認証コンポーネントとの間における認証方法は、前記認証コンポーネントが、前記被認証コンポーネントから受領した前記鍵情報に対して、自身のデバイスインデックスに対応するレコードを選択し、前記レコードをデバイス鍵によって復号して鍵遷移を取り出すステップと、前記認証コンポーネントが、前記被認証コンポーネントから受領した前記秘密情報XYEに対して、対応する鍵遷移を用いて、復号処理を行い、前記秘密情報XYを共有するステップとを具備する。<作用効果>第2実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第2実施形態では、NAND型フラッシュメモリ10が、ロム領域11-1、秘匿領域11-2に、それぞれ複数のXYEおよび複数のXYを記憶する点で、上記第1実施形態と相違する。このように、複数のXYEおよび複数のXYの組を保持することで、秘密情報X及びY露見時の秘密情報の更新手段を提供することができる。仮にある1つのXYとXYEの組が中間者攻撃その他によって露見し、露見したXY及びXYEを流用した偽造デバイスが製造された場合でも、本例では、ホスト装置20が保持するKEY123を更新例えば、KEY1更新KEY2することができる。そのため、第2実施形態に係る認証フローでは、ステップS14の際に、ホスト装置20が、認証を要求するRequestauthentication場合、いずれのXYを用いるかを指定するパラメータiを、乱数NonceHとともに、NAND型フラッシュメモリ10に送出する。このように、第2実施形態では、NAND型フラッシュメモリ10が、複数のXY及び複数のXYEを有し、ホストデバイスからの命令によりXYEを選択的に送出する機能を有し、ホストデバイスからの命令により認証に用いるXYを選択的に設定する。また、ホストデバイスは、自身が保持する鍵に対応するXYEを選択的に読み出す機能を有し、それを復号する機能を有し、また自身が保持する鍵を所定の条件下で更新する機能を有する。その結果、露見したXY及びXYE以外の組を利用することで、偽造デバイスの排除が可能となる点で有利である。[第3実施形態]次に、図7乃至図9を用い、第3実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図7を用い、第3実施形態に係る構成例について説明する。図示するように、本例に係るNAND型フラッシュメモリ10は、ロム領域11-1B、秘匿領域11-2Bに、複数のXYsubEおよび複数のXYsubをそれぞれ記憶する点で、上記第2実施形態と相違する。ここで、iとjが異なる場合、XYsubi≠XYsubj、XYsubEi≠XYsubEjである。XYsubEはXYsubを暗号化した後、訂正符号を付与したデータである。XYsubは、XYと同様に記録禁止読出禁止領域秘匿領域11-2Bに記録され、XYsubEは、XYEと同様に記録禁止読出許可領域ロム領域11-1Bに記録される。ここで、XYmainのデータサイズは、XYsubよりも大きいデータサイズ:XYmain>XYsub。また、XYmainとXYsubから構成されるデータが、前述の秘密情報XYに対応する。このように、第3実施形態では、XYの組に加え、XYsubiXYsubEiの組を更に備えるため、秘密情報X及びYを効率的に記録することができる点で有利である。詳細については、後述する。さらに、NAND型フラッシュメモリ10は、上記XYsubを格納するためのデータキャッシュ12B、およびXYmainとXYsubとをビット毎加算するためのビット毎加算部C2を備える。ビット毎加算部C2の出力値が、前述の認証に用いられるXY値に相当する。ここで、XYmainとXYsubのビット長が異なることから、ビット加算C2においては、XYsubの繰り返しデータが適用される。例えば、本図にあるように所定の演算としては、ビット加算が考えられ、XYmainのデータサイズがXYsubのデータサイズの整数倍であった場合、XYmainのデータを保持するDatacacheからはXYmainが順送りに送出され、XYsubのデータを保持するDatacacheからはXYsubが順送りかつ繰り返し送出される構成が考えられる。XYsubを保持するDatacacheはリングバッファと考えてもよい。また、ビット毎加算以外にもXYmainとXYsubの結合値をXYとしてもよいし、XYmainとXYsubのインターリーブ結合値をXYとしてもよいし、XYmainとXYsubをLFSRに入力しLFSRの所定レジスタの値をXYとしてもよい。すなわち、本実施例ではビット毎加算部としているが、2入力から構成したデータをXYとして用いるいずれの演算方法も適用可能である。同様に、ホスト装置20は、読み出したXYsubEに対応するための、訂正処理部21B、暗号の復号部22B、鍵保持部23B、データ記憶部25B、加算部C3を更に備える。ホスト装置20は、上記構成により、同様に、エラー訂正処理を行い、対応するKEYXYsubにより復号することでXYsubを得る。これにより、ホストデバイスとNAND型フラッシュメモリ間で、秘密情報XYmain及びXYsubを共有できる。ここで、本図においてはKEYXYmainとKEYXYsubは異なるオブジェクトとして描かれているが、実際には同じ鍵であっても良い。また、各XYsubiの暗号化に用いられるKEYXYsubはiが異なる場合、異なるものである方が望ましい。さらに、ホスト装置20、メモリ10は、XYmainとXYsubを用いて所定の演算を行ったXY値により、認証処理を行う。<認証フロー>次に、図8に沿って、第3実施形態に係る認証動作について説明する。第3実施形態では、NAND型フラッシュメモリ10内にはXYmainに加えてXYsubが、またそれらを暗号化したXYmainE及びXYsubEが記録される。そのため、図示するように、対応するステップS13において、ホスト10は、XYmainEXYsubEを更に読み出して復号をし、秘密情報XYmain,XYsubに基づく秘密情報XYを生成するCreateXY。続いて、ホスト装置20は、秘密情報XYmainとXYsubから導出された情報を用いて、同様の認証を行う。また、NAND型フラッシュメモリ10側においても同様に、ステップS15において、読み出した秘密情報XYmain,XYsubに基づいて秘密情報XYを生成するCreateXY点で、上記第2実施形態と相違する。<作用効果>第3実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第3実施形態では、2の効果が得られる。2秘密情報XYを効率的に記録することができ、記録時間を高速化できる点で有利である。第3実施形態では、NAND型フラッシュメモリ10が、複数のXYsub及び複数のXYsubEを有し、ホスト装置20からの命令によりXYsubEを選択的に送出し、ホスト装置20からの命令により認証に用いるXYsubを選択的に設定し、選択されたXYsubとXYを所定の演算で導出した値により認証を行う。また、ホストデバイスは、自身が保持する鍵23Bに対応するXYsubEを選択的に読み出し、それを復号する機能22Bを有し、また自身が保持する鍵23Bを所定の条件下で更新する機能を更に有し、選択したXYsubとXYmainを所定の演算で導出した値により認証30を行う。このように、XYmainの組に加え、XYsubiXYsubEiの組を更に備えるため、秘密情報X及びYを効率的に記録することができる点で有利である。より具体的には、例えば、図9のように示される。図示するように、NAND型フラッシュメモリの製造工程において、XYmain、XYmainE、XYsub、XYsubEの複数の組は、XY発生装置XYGENにより生成され、書き込み装置Writerにより、複数のNAND型フラッシュメモリここでは、Chip1~Chip4にデータ書き込みがされる。ここで、XYmain及びXYmainEのデータは、複数のチップChip1~Chip4から構成される集団内例えばロットで同一のデータで良い。一方、XYsub及びXYsubEは、チップChip1~Chip4毎に異なるデータXYsub1~XYsub4及びXYsubE1~XYsubE4とする必要がある。このように、第3実施形態では、データ書き込み動作において、データ量の多いXYmain及びXYmainEを複数のチップChip1~Chip4で共通化することにより、メモリへのデータ書き込みプロセスを最適化でき、効率的に記録することが可能となる。仮に、XYmain及びXYmainEをハードワイヤードで構成する場合、実際に記録するデータは、データサイズが小さいXYsub及びXYsubEとなり記録時間を短縮できる。また、仮にXYmain及びXYmainEをセル上に記録する場合において、集団内で同一であることにより、NAND型フラッシュメモリへのデータ記録装置に対して記録データを転送する時間を短縮できる。先に述べたように、記録時間の増加は、コストの増加となるため、第3実施形態によれば、製造コストを低減することができるというメリットも大きい。[第4実施形態多重記録される一例]次に、図10および図11を用い、第4実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図10を用い、第4実施形態に係る構成例について説明する。第4実施形態では、メモリ10の秘匿領域11-2に、複数のXYiを多重に複製した情報11-2A,11-2B,11-2Cを更に有する点で、上記第2実施形態と相違する。すなわち、第2実施形態におけるXYiを複製したデータは、図10において、XYi1XYi2XYinによって示され、1≦i≦mに対しXYi1XYi2...XYinである。また、1≦j≦nに対しXY1j≠XY2j≠...≠XYmjである。ここで、XYEがECCが付与されている一方で、XYにはECCが付与されていないため、NAND型フラッシュメモリ内でセルから読み出したデータにエラーが含まれている場合、NAND型フラッシュメモリが認証に用いるXYの完全性が失われることも考えられる。しかしながら、本例のように、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有することにより、検査選択部12-0により、前記エラーが含まれているかどうかを複製データ間でのデータ比較により検出することができる。そのため、本例のメモリは、XYiを複製した情報11-2A,11-2B,11-2Cに対応するための検査選択部Checksumselect12-0を更に備える点で、第2実施形態と相違する。図10において、セル11-2からロードされた少なくとも2つ以上のXYのデータセットは所定の上記同様の方法により比較を行うことでエラーが含まれているか否かを検査する。仮にエラーが含まれていた場合もしくはエラーが除去できない場合、異なる2つ以上のXYのデータセットを再度ロードし、同様に検査する。これをエラーが含まれていないもしくは除去できるデータセットが見つかるまで繰り返し、同データセットが見つかった場合それを認証に用いる。上記所定の方法の例としては、2つのXYをロードし、ビット毎にXOR値を算出した後、XOR値がすべて0であるかどうか、により検査する方法が考えられる。また、3つ以上のXYをロードし、多数決判定によってビット毎にエラーを除去したXYを得る方法も考えられる。また、本図においては、XYの複製データはすべて同一データとしているが、複製データのうち奇数番号のデータと偶数番号のデータの極性が反転しているように相補関係にあるデータを構成して事前に記録しておく方法も考えられる。この場合、前記相補関係にある2つのXYをロードし、ビット毎にXOR値を算出した後、XOR値がすべて1であるかどうか、により検査することが可能である。<認証フロー>次に、図11に沿って、第4実施形態に係る認証動作について説明する。図示するように、第4実施形態では、NAND型フラッシュメモリ10の秘匿領域11-2内に、複数のXYが多重記録される。そのため、ステップS15の際、NAND型フラッシュメモリ10は、少なくとも2つ以上のXYを読み出し、比較し、エラーを含んでいないXYを用いて認証を行うLoadcompareXYs。<作用効果>第4実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第4実施形態によれば、メモリ10の秘匿領域11-2に、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有する。ここで、XYEがECCが付与されている一方で、XYにはECCが付与されていないため、NAND型フラッシュメモリ内でセルから読み出したデータにエラーが含まれている場合、NAND型フラッシュメモリが認証に用いるXYの完全性が失われることも考えられる。しかしながら、第4実施形態によれば、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有することにより、検査選択部12-0により、前記エラーが含まれているかどうかを複製データ間でのデータ比較により検出することができる。結果、メモリ10内でセルから読み出したデータにエラーが含まれている場合であっても、メモリ10が認証に用いるXYの完全性が失われることを防止できる点で更に有利である。[第5実施形態]次に、図12および図13を用い、第5実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図12を用い、第5実施形態に係る構成例について説明する。第5実施形態に係る構成例は、上記第3、第4実施形態を組み合わせたものに関する一例である。図示するように、第5実施形態に係るNAND型フラッシュメモリ10は、秘匿領域11-2に、XYsub及びXYsubEについても複製データXYsubij及びXYsubEijを記録する点で、上記第4実施形態と相違する。また、上記に対応するための検査選択部12-0Bおよびデータキャッシュ12Bを更に備える。<認証フロー>次に、図13に沿って、第5実施形態に係る認証動作について説明する。第5実施形態では、NAND型フラッシュメモリ10内に、更にXYsubも多重記録されるXYsubij及びXYsubEij。そのため、ステップS15の際、NAND型フラッシュメモリ10は、更に少なくとも2つ以上のXYsubを読み出し、比較し、エラーを含んでいないXYsubを用いて認証を行うLoadcompareXYsandXYsubs。<作用効果>第5実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第5実施形態によれば、NAND型フラッシュメモリ10は、秘匿領域11-2に、XYsub及びXYsubEについても複製データXYsubij及びXYsubEijを記録する。必要に応じて、本例のような構成および方法を適用することが可能である。[第6実施形態]次に、図14および図15を用い、第6実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図14を用い、第6実施形態に係る構成例について説明する。第6実施形態でも同様に、NAND型フラッシュメモリ10が、更に複数のXYiを複製した情報を有する。すなわち、先の第2実施形態におけるXYiを複製したデータは本図においてXYi1XYi2XYinによって示され、1≦i≦mに対しXYi1XYi2...XYinである。また、1≦j≦nに対しXY1j≠XY2j≠...≠XYmjである。ここで、XYデータを複製することは第4実施形態と同様であるが、本第6実施形態においては、NAND型フラッシュメモリ10側では複製データの比較処理を行わず、その代わりにホスト装置20で比較処理を行う点で、相違する。そのため、本例では、ホスト装置20が、多数決判定部Majoritycheck30を備える点で、相違する。すなわち、NAND型フラッシュメモリ10は、ホスト装置20により指定されたiに応じ、XYi1XYi2XYinのうち少なくとも2つ以上をロードし、各々のXYに対して前述の認証処理を行う。ここで、各々のXYに対しては同一のNonceN及び同一のNonceHを利用し、またバイアスドRNGによって生成されたνについても同一のものを適用する。NAND型フラッシュメモリ10の送信部15は、複数のXYに対して、他のパラメータが同一な条件で複数のzを計算し、ホスト装置20に送出する。ホストデバイスは、複数のzを受領した後、多数決判定部31により、多数決判定を行い、単一のzを得る。ここで、各zが複数のビット要素で構成されていた場合、圧縮計算部の出力が複数ビットからなる場合、前記多数決判定はビット要素毎に行う。ホストデバイスは、多数決判定によってエラーを除去したzを得たのち、前述と同様の判定処理30を行うことで、NAND型フラッシュメモリ10を認証する。<認証フロー>次に、図15に沿って、第6実施形態に係る認証動作について説明する。第6実施形態では、NAND型フラッシュメモリ10内に多重記録されているXYを用いて、NAND型フラッシュメモリが複数のzを計算し、送出し、ホストデバイスは複数のzを多数決処理することで単一のzを得て、認証を行う。そのため、ステップS17の際、NAND型フラッシュメモリ10は、計算した複数のzjをホスト装置20に送信する。続いて、ステップS18の際、ホスト装置20は、複数のzの多数決判定部Majoritycheckを更に行う点で、相違する。<作用効果>第6実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第6実施形態では、NAND型フラッシュメモリ10が、更に複数のXYiを複製した情報を有する。さらに、ホスト装置20が、多数決判定部Majoritycheck30を備える。そのため、計算資源に制約のあるNAND型フラッシュメモリ10での比較処理を軽減でき、計算資源に余裕のあるホスト装置20に比較処理多数決処理30を依頼することができる。結果、NAND型フラッシュメモリ10へのコスト増加を抑制することができ、エラーの除去が可能となる点で有利である。[第7実施形態]次に、図16および図17を用い、第7実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図16を用い、第7実施形態に係る構成例について説明する。第7実施形態は、上記第3、第6実施形態を組み合わせたものの一例に関する。図示するように、NAND型フラッシュメモリ10は、XYsub及びXYsubEについても複製データ11-2B,11-1Bを更に記録する。上記第6実施形態と同様に、複数のXYに対する認証用データzを算出して算出部15でホスト装置20に送信し、ホスト装置20側で多数決処理30を行う。<認証フロー>次に、図17に沿って、第7実施形態に係る認証動作について説明する。第7実施形態では、NAND型フラッシュメモリ10内に、多重記録されているXYmain及びXYsubを用いて、NAND型フラッシュメモリが複数のzを計算し、送出し、ホストデバイスは複数のzを多数決処理することで単一のzを得て、認証を行う。そのため、ステップS11の際、ホスト装置20は、多重記録されているXYmain及びXYsubの読み出し要求ReadXYmainEandXYsubEを行う。続いて、ステップS12の際、NAND型フラッシュメモリ10は、多重記録されているXYmain及びXYsubを読み出しLoadXYmainEandXYsubE、ホスト装置20に送信XYmainEandXYsubEする。<作用効果>第7実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも下記1の効果が得られる。さらに、第7実施形態では、NAND型フラッシュメモリ10が、XYsub及びXYsubEについても複製データ11-2B,11-1Bを更に記録する。上記第6実施形態と同様に、複数のXYに対する認証用データzを算出して算出部15でホスト装置20に送信し、ホスト装置20側で多数決処理30を行う。このように、必要に応じ、本例を適用することが可能である。[第8実施形態]次に、図18至図22を用い、第8実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図18を用い、第8実施形態に係る構成例について説明する。第8実施形態は、第6実施形態に対して、ホスト装置20毎に用いるXY値の組み合わせを異ならせる方法を提供する。図示するように、NAND型フラッシュメモリ10は、データ構造が鍵遷移レコードで構成された鍵情報KeySequenceInformation80をユーザ領域Otherarea11-3に更に保持する点で、上記第6実施形態と相違する。なお、鍵情報KeySequenceInformation80は必ずしもユーザ領域11-3に格納される必要はなく、ロム領域11-1に格納されていても良いし、あるいは書き込み及び消去動作の少なくとも一方が禁止された領域に格納されていても良い。また、ロム領域11-1に記録されているContainerは、第6実施形態と同様に複数のXYEを保持する構造を採るが、第6実施形態とは異なり複数のXYEはマトリックス状のデータ構造を有し、ホスト装置20での利用方法が異なるため、以下の説明ではXYEMatrix81と称する。なお、ここでデータ構造はマトリックス状であることを想定するが、セルアレイ11での現実のデータ配置がマトリックス状である必要はない。下記XYMatrix82についても同様である。また、秘匿領域11-2に記録されているXYデータ群も、第6実施形態と同様に複数のXYを保持する構造を採るが、第6実施形態とは異なり複数のXYはマトリックス状のデータ構造を有し、ホスト装置20での利用方法が異なるため、以下の説明ではXYMatrix82と称する。ここで、XYMatrix82は、必要に応じて多重記録される。多重記録の目的は、先に示した通り、データの信頼性を保証するためであり、その利用方法も同様である。また、多重記録されたそれぞれのXYMatrix82は、互いに異なるページ、または異なるブロックに配置されていても良い。ホスト装置20は、上記鍵情報KeySequenceInformation80を取り扱うために、解析選択部84、選択復号部86、検査部88等を更に備え、デバイスインデックス83及びデバイス鍵DeviceKey23を利用して、スロット鍵SlotKeyscorrespondingDeviceIndex85及びスロットインデックスシーケンスSlotIndexSequence87を得る点において、上記実施形態と相違する。デバイスインデックスDeviceIndex83は、NAND型フラッシュメモリ10から読み出される鍵情報KeySequenceInformation80の中から、このホスト装置20に対応するデータレコードを選択するためのインデックスである。ホスト装置20においてデバイスインデックスDeviceIndex83の格納場所は任意であるが、容易に露見しない場所に格納することが要求される。解析選択部84は、NAND型フラッシュメモリ10から読み出される鍵情報KeySequenceInformation80の中から、自身のデバイスインデックスDeviceIndex83に対応するデータレコードを選択する。選択されたデータレコードは、復号部22に出力され、デバイス鍵DeviceKey23を用いて復号される。ホスト装置20においてデバイス鍵DeviceKey23の格納場所は任意であるが、容易に露見しない場所に格納することが要求される。スロット鍵SlotKeyscorrespondingDeviceIndex85は、デバイスインデックスDeviceIndex83に対応するデータレコードをデバイス鍵DeviceKey23で復号して得られたデータに含まれるものであり、デバイスインデックス83に対応するスロット鍵データである。スロットインデックスシーケンスSlotIndexSequence87は、スロット鍵SlotKeyscorrespondingDeviceIndex85と同様にデバイスインデックスDeviceIndex83に対応するデータレコードをデバイス鍵DeviceKey23で復号して得られたデータに含まれるものであり、それぞれのスロット鍵SlotKeyscorrespondingDeviceIndex85に対応するインデックスデータである。選択復号部86は、NAND型フラッシュメモリ10から読み出したECC処理後のXYEMatrix81からスロットインデックスシーケンスSlotIndexSequence87に対応する要素を選択し、スロット鍵SlotKeyscorrespondingDeviceIndex85を用いて復号処理を行う。これにより、ホスト装置20は秘密情報XYSequence24を取得する。検査部88は、NAND型フラッシュメモリ10から受領した演算結果のうち、前記データレコード中のスロットインデックスシーケンスSlotIndexSequence87に対応する演算結果ziを選択する。判定部30は、生成したデータCと検査部88により選択された演算結果ziとを用いて、判定処理を行う。<データ構造について>上記鍵情報KeySequenceInformation80、XYEMatrix81、XYMatrix82のデータ構造について、図19を用いて説明する。まずaに示す、秘匿領域11-2に記録されるXYMatrix82について説明する。XYMatrix82は、所定データ単位毎に番号付けされた複数のXYデータXYXYからなる。図示する例では、XYMatrix82は、16x16の配列構造を有し、各要素が単一のXYデータを構成する。仮に単一のXYデータが64bytesから構成されている場合、XYMatrix82は、64x16x16bytesから構成される。次に、bに示す、Container内に保持されているXYEMatrix81について説明する。同Containerは、前記XYMatrixの各要素を暗号化した複数の暗号化XYデータEncXYEncXYから構成される。XYMatrix82と同様に、XYEMatrix81は、16x16の配列構造を有し、各要素が単一のXYEデータを構成する。また、各要素は異なる鍵によって暗号化されている。ここで、暗号化に用いる鍵をスロット鍵SlotKeyと呼び、同一番号Indexが付与されたスロット鍵SlotKeyは同一番号Indexが付与されたXYデータの暗号化に用いられる。すなわち、XYEMatrix81内の各要素XYEは、XYE=EncXYの関係を有する。次に、cに示す、鍵情報KeySequenceInformation80について説明する。鍵情報KeySequenceInformation80は、ホスト装置20が有するデバイス鍵DeviceKey23及びデバイスインデックスDeviceIndex83に対応する複数のデータレコードから構成される。各データレコードには、デバイスインデックスDeviceIndex83に相当するデータと同デバイスインデックスDeviceIndex83に対応するデバイス鍵DeviceKey23によって暗号化された暗号化スロット鍵シーケンスEncryptedSlotKeySequenceが含まれる。暗号化スロット鍵シーケンスEncryptedSlotKeySequenceは、スロットインデックスSlotIndexをデバイス鍵DeviceKey23によって暗号化したデータEncと、同インデックスに対応するスロット鍵SlotKeyをデバイス鍵DeviceKey23によって暗号化したデータEncからなり、本例においてはXYEMatrix81の各行から一つのスロットインデックスSlotIndex及びスロット鍵Slotkeyを選択する構造を採る。なお、XYMatrix82において単一のXYデータのサイズは任意であり、上記64bytesに限定されない。従ってXYMatrix82全体のサイズも任意であり、サイズに応じてセルアレイ11上で同一ページ内に格納しても良いし、複数ページに跨って記憶しても良いし、あるいは同一ブロック内に記憶しても良いし、複数ブロックに跨って記憶しても良い。同様にXYEMatrix81についてもそのサイズに応じてセルアレイ11上で同一ページ内に格納しても良いし、複数ページに跨って記憶しても良いし、あるいは同一ブロック内に記憶しても良いし、複数ブロックに跨って記憶しても良い。<秘密情報共有方法の具体例>次に、上記鍵情報KeySequenceInformation80を利用して秘密情報を共有する方法の具体例について、図20を用いて説明する。ホスト装置20は、自身が有するデバイスインデックスDeviceIndex83に相当するデータレコードを、NAND型フラッシュメモリ10から読み出した鍵情報KeySequenceInformation80より選択する。本例では、読み出した鍵情報KeySequenceInformation80の中から、デバイスインデックスDeviceindex1に相当する暗号化されたデータレコードEncryptedSlotKeySequence1が選択される。続いて、復号部22は、デバイス鍵Kd123を用いて、選択されたデータレコードEncryptedSlotKeySequence1を復号する。その結果、スロットインデックスSlotIndex及びスロット鍵SlotKeyのシーケンスであるSequenceXYXYが得られる。ここで、スロットインデックスSlotIndexの遷移を示すSequenceがスロットインデックスシーケンス87となる。続いて、選択復号部86は、図中の破線で示すように、NAND型フラッシュメモリ10から送信されるXYEMatrix81の各行から、スロットインデックスシーケンスSlotIndexSequence87に対応する要素を選択して、スロットインデックスSlotIndexに対応するスロット鍵SlotKeyにより復号し、XYSequence24を取得する。続いて、ここで得られたXYSequence24に基づき、ホスト装置20中の検査部88は、NAND型フラッシュメモリ10から返答されたzを検証する。この検証において、NAND型フラッシュメモリ10は、ホスト装置20が取得したXYSequence24に対応するzのみを返答するのではなく、XYMatrix82中の全ての要素に対応するzを返答する。そのため、検査部88は、自身が得たXYSequence24及びスロットインデックスシーケンスSlotIndexSequence87に相当するzのみをフィルタリングして選出し、同zに対してのみ、判定部30での認証処理を行う。<鍵情報KeySequenceInformation80の配布方法について>次に、鍵情報KeySequenceInformation80の配布方法について、図21を用いて説明する。NAND型フラッシュメモリ10には、NAND型フラッシュメモリ10の製造時にXYMatrix82及びXYEMatrix81が記録される。製造時とは広義であり、前工程においてウエハー状態で全チップに対して並列に書き込んでも良いし、後工程において個片化、パッケージングされた各チップに対して書き込んでも良い。XYMatrix82及びXYEMatrix81に対応する鍵情報KeySequenceInformation80は、XYMatrix82及びXYEMatrix81と同時に記録しても良いし、別のタイミングで記録しても良い。例えば、NAND型フラッシュメモリ10を購入し、メモリカードを製造するカード製造会社が、鍵情報KeySequenceInformation80をNAND型フラッシュメモリ10に書き込んでも良いし、鍵情報KeySequenceInformation80を配布するサーバKeyMatrixDistributorがネットワークを介して、鍵情報KeySequenceInformation80をNAND型フラッシュメモリ10に書き込んでも良い。いずれにおいても、NAND型フラッシュメモリ10内部には、XYMatrix82及びXYEMatrix81に紐付いたIDmが記録されており、カード製造会社もしくはサーバは同IDmに応じたKeySequenceInformation80をデータベースKeyMatrixdatabaseより選択し、NAND型フラッシュメモリ10へと書き込む。ここで、IDmとはNAND型フラッシュメモリ10の識別子であり、KeySequenceInformation80と紐づいた情報である。NAND型フラッシュメモリ10の製造とメモリカードの製造とが同一会社で行われるが、NAND型フラッシュメモリ10の製造場所とメモリカードの製造場所とが異なる場合も上記と同様である。ここで、ホスト装置のクラックが生じていない場合、鍵情報KeySequenceInformation80は全てのホスト装置のデータレコードを含んでいる。一方、ホスト装置のクラックが生じた場合、ここでは、仮にホスト装置BHostBがクラックされた場合は、当該装置向けのレコードを鍵情報KeySequenceInformation80には含めない形で配布するExcludetherecordedhackeddeviceB。これにより、クラックされたホスト装置HostBから、更にXYSequenceが流出することを防止できる。上記の例では、XYSequenceを異ならせる単位としてホスト装置デバイスを例に挙げたが、実際の運用においては、複数のデバイスから構成されるグループ、例えば同一モデルナンバーのデバイスグループ、同一製造者によって製造されたデバイスグループ、デバイスの実装方法ハードウェア実装、ソフトウェア実装、ハードウェア及びソフトウェア実装によりカテゴリ分けされたデバイスグループ、デバイスの使用者一般ユーザ、業務ユーザ、サーバ内の処理装置によりカテゴリ分けされたデバイスグループ、または上記の組み合わせ、などであっても良い。<認証フロー>次に、図22Aに沿って、第8実施形態に係る認証動作について説明する。第8実施形態では、ホスト装置20は、NAND型フラッシュメモリ10内に記録される鍵情報KeySequenceInformation80を読み出し、自身のデバイスインデックスDeviceIndexに対応するデータレコードを選択後、当該レコードをデバイス鍵DeviceKeyによって復号して、スロット鍵SlotKeys及びスロットインデックスSlotIndexesを取得する。認証開始Startすると、ステップS31の際、ホスト装置20は、NAND型フラッシュメモリ10へ鍵情報KeySequenceInformation80の読出し命令ReadKeySequenceInformationを送出する。ここではコントローラがホスト装置20とNAND型フラッシュメモリ10とを仲介する例を示しているため、ホスト装置20がコントローラに送出する命令と、コントローラが実際にNAND型フラッシュメモリに送出する命令とはコマンド体系が異なっていても良いし、同じであっても良い。続いて、ステップS32の際、NAND型フラッシュメモリ10は、上記読出し命令に従って、鍵情報KeySequenceInformation80をユーザ領域11-3よりロードしLoadKeySequenceInformation、これをホスト装置20へと送出する。読出し命令は鍵情報KeySequenceInformation80の記録されているアドレスを含んでいても良いし、含んでいなくとも良い。含んでいない場合、NAND型フラッシュメモリは自身で所定の内部アドレスを生成し鍵情報KeySequenceInformation80を取得する。続いて、ステップS33の際、ホスト装置20は、送信された鍵情報KeySequenceInformation80から、自身のデバイスインデックスDeviceIndexに対応するデータレコードを選択後、当該レコードをデバイス鍵DeviceKeyによって復号して、スロット鍵SlotKeysとスロットインデックスSlotIndexesを取り出すRetrieveKeySequence。続いて、ステップS11の際、ホスト装置20は、NAND型フラッシュメモリ10へXYEMatrix81の読出し命令ReadXYEを送出する。読出し命令ReadXYEは読出し命令ReadKeySequenceInformationと異なるコマンドであっても良いし、同一コマンドを使用して異なるアドレスを入力することで両者を区別しても良い。続いて、ステップS12の際、NAND型フラッシュメモリ10は、上記読出し命令に従って、XYEMatrix81をロム領域11-1よりロードしLoadXYE、これをホスト装置20へと送出する。続いて、ステップS13の際、ホスト装置20は、前記スロットインデックスSlotIndexesに相当するXYE要素を対応するスロット鍵SlotKeyで復号し、XYSequence24を得る。続いて、ステップS14の際、ホスト装置20は、XYMatrix80のIndex番号と乱数NonceHとともに、NAND型フラッシュメモリ10に認証要求を送出するRequestauthentication。ここで、Index番号とはスロットインデックス、もしくはXYMatrixの行、もしくは列に相当する番号である。続いて、ステップS15~S17の際、NAND型フラッシュメモリ10は、秘匿領域11-2に記録されているXYMatrix80を用いて、前記XYMatrix80のIndex番号に相当するXYを用いて、複数のzを計算し、乱数NonceNとともにホスト装置20に送出する。続いて、ステップS18~S23の際、ホスト装置20は、自身が保持する前記スロットインデックスシーケンスSlotIndexSequenceに従って、読みだしたデータをフィルタリングすることで単一のzを得て、同様の認証を行う。<作用効果>第8実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも更に下記の効果が得られる。第8実施形態では、NAND型フラッシュメモリ10が、ホスト装置20に使用される鍵遷移レコードで構成されたデータ構造の鍵情報KeySequenceInformation80を備える。NAND型フラッシュメモリ10は、鍵情報KeySequenceInformation80に対応するように、マトリックス状のデータ構造の秘密情報XYMatrix82およびこれが暗号化されたXYEMatrix81を備える。そのため、まず、第一に、ホスト装置20毎に用いる鍵情報KeySequenceInformation80値を変更することができるため、中間者攻撃に対する耐性を向上できる。すなわちいずれのXYデータを認証に用いているかを不可視化する効果がある点で有利である。第二に、万が一に、ホスト装置20からXYEMatrix81を復号する鍵が流出し、次いでXYMatrix82値が暴露された場合でも、ホスト装置20毎に用いている鍵情報KeySequenceInformation80が異なるため、認証システム全体に与えるセキュリティ保護の影響を低減できる点で有利である。具体的には、他の実施例においてはいずれのホスト装置20も、XYEMatrixの各行を復号するためのKEYiを有す、すなわちグローバルシークレットとして扱われていた。そのため、仮に一つのホスト装置20がクラックされて鍵が流出した場合、同鍵を用いて暗号化されたXYEMatrixの行のXY値は全て露見してしまう。この場合に備え、XYEは、複数の行及びそれら行に対応するKEYで暗号化されているものの、秘密を保持できるのは行数分のホスト装置のクラックまでであり、行数分に達してしまった場合は認証システム全体が崩壊することとなる。しかしながら、第8実施形態では、行数x列数の要素から認証に用いるXYSequenceを選択できる組み合わせとして、最大分が確保できるため、仮にホスト装置20がクラックされ、同デバイスのXYSequenceデータが暴露された場合でも、他のホスト装置に対する影響は低減でき、また認証システム全体が崩壊するまでのクラックマージンが向上する。より具体的に、第8実施形態と第2実施形態の場合における時間とシステムマージンとの関係を示す図22Bを用いて説明する。図中の破線で示す第2実施形態の場合、秘密情報がL回例えば、数回程度漏洩したときの漏洩度は、リニアに増えていく。一方で、実線で示す第8実施形態では、デバイス毎に秘密情報の重複分があることから第2実施形態よりも低い。また、秘密情報がM回例えば、10回程度漏洩したときのシステムマージンは、第2実施形態ではM回が秘密情報の行数上限数とした場合全ての秘密が漏洩したことに相当し、この場合置き換えることができる秘密情報が欠乏するためシステムが破綻する。一方、実線で示す第8実施形態の場合、秘密情報がM回例えば、10回程度漏洩したときであっても、秘密漏洩度の上昇はリニアではないため、破線で示す参考例よりも十分なシステムマージンを保持し、製品としての秘密保持のセキュリティの許容度を十分に満たすことが可能である。このように、本例では、秘密漏洩の危険度を分散することができる点で、上記実施形態と相違する。そのため、例えば、実線で示す第8実施形態の場合、秘密情報がN回例えば、数10回程度漏洩し、製品としての許容度が満足できなくなる製品寿命の時刻t3の際例えば、10年程度までに、その製品の世代のセキュリティの漏洩度を十分に満たすように設計すれば良い。更に、暴露されたXYSequenceによりクラックされたホスト装置デバイスの同定も可能である。一方、クラックされたデバイスが判明した場合、鍵情報KeySequenceInformation80から同デバイスが有するデバイス鍵で暗号化されたデータレコードを含めないことで、クラックされたデバイスの無効化が可能となり、新規に製造されたNAND型フラッシュメモリ10のXYMatrixの秘匿性は担保できる。このように、秘密が露呈したデータレコードを含めないことで、次世代への秘密漏洩を防止でき、世代間の秘匿性を向上できる点で有利である。このように、第8実施形態によれば、中間者攻撃に対する耐性向上、デバイス毎に導出できるXYSequenceを個別化することによるXY値露見時の影響低減、クラックされたホストデバイスの同定、クラックされたホストデバイス鍵の無効化などの点で有利である。[第9実施形態]次に、図23至図27を用い、第9実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>まず、図23を用い、第9実施形態に係るメモリシステムの構成例について説明する。第9実施形態は、上記第7実施形態と同様に、XYsub82B及びXYsubE81Bを用いる点で、第8実施形態と相違する。図示するように、NAND型フラッシュメモリ10は、第8実施形態に対して、更にXYsub82B及びXYsubE81Bを保持する点で相違する。ここで、XYsub82B及びXYsubE81B等は各々一つの場合、複数の場合があり、更に複数の場合も列構造を採る場合と行列構造を採る場合が可能である。Matrixデータ1単一の場合次に、図24を用い、XYsub82B及びXYsubE81B等が、単一の場合について説明する。aに示すように、単一のXYsub82Bが、NAND型フラッシュメモリ10内部処理用に秘匿領域11-2に記録されている。bに示すように、Containerには、同XYsubをスロット鍵Kssubによって暗号化した単一のデータXYsubEEnc81Bが記録されている。cに示すように、鍵情報KeySequenceInformation80には同スロット鍵Kssubをデバイス鍵によって暗号化した単一のデータEncryptedSubSlotKey80Bが含まれる。Matrixデータ2列構造の場合次に、図25を用い、列構造を採る複数のXYsubを用いる場合について説明する。aに示すように、本例において、列構造をとる複数のXYsubXYsubXYsubXYsub82Bが、NAND型フラッシュメモリ10の内部処理用に秘匿領域11-2に記録されている。bに示すように、Container11-1には、各XYsubをスロット鍵Kssubによって暗号化した複数列のデータXYsubEEncXYsubEncXYsub81Bが記録されている。cに示すように、鍵情報KeySequenceInformation80には、同スロット鍵Kssubをデバイス鍵によって暗号化した列構造のデータEncryptedSubSlotKey1EncryptedSubSlotKeyn80Bが含まれる。Matrixデータ3行列構造の場合次に、図26を用い、行列構造を採る複数のXYsubを用いる場合について説明する。aに示すように、第8実施形態において説明したXYに付随する形で、XYsubMatrix82Bが、NAND型フラッシュメモリ10内部処理用の秘匿領域11-2に記録されている。bに示すように、Container11-1には、各XYsubを、XYの暗号化に用いたスロット鍵Ksによって暗号化した行列構造のデータXYsubEArrayEncXYsubEncXYsub81Bが記録されている。cに示すように、鍵情報KeySequenceInformation80は既にXYの暗号化に用いたスロット鍵Ksを含んでいるため、XYsub専用のスロット鍵を新たに含める必要はない。このように、XYsub82B及びXYsubE81B等は、必要に応じて、各々一つの場合、や複数の場合の行列構造等を適用することができる。<認証フロー>次に、図27に沿って、第9実施形態に係る認証動作について説明する。第9実施形態でも、ステップS31~S33の際、同様にして、ホスト装置20は、NAND型フラッシュメモリ10内に記録されている鍵情報KeySequenceInformation80を読み出し、自身のデバイスインデックスDeviceIndexに対応するデータレコードを選択後、当該レコードをデバイス鍵DeviceKeyによって復号して、スロット鍵SlotKeysとスロットインデックスSlotIndexesを得る。続いて、ステップS13の際、ホスト装置20はNAND型フラッシュメモリ10からXYEMatrixを読み出し、前記スロットインデックスSlotIndexに相当するXYE要素、およびXYsubE要素を対応するスロット鍵SlotKeyで復号し、XYSequenceおよびXYsubを得る。続いて、ステップS14の際、ホスト装置20は、XYMatrixのIndex番号iと乱数NonceHとともに、NAND型フラッシュメモリ10に認証要求を送出する。続いて、ステップS15~S17の際、NAND型フラッシュメモリ10内は、秘匿領域11-2に記録されているXYMatrixesを用いて、前記XYMatrixのIndex番号に相当するXYおよびXYsubを用いて、複数のzを計算し、乱数NonceNとともにホスト装置20に送信する。以後、同様に、ホスト装置20は、自身が保持する前記スロットインデックスシーケンスSlotIndexSequenceに従って読みだしたデータをフィルタリングすることで単一のzを得て、認証を行う。<作用効果>第9実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、上記第8実施形態と同様の効果を得ることができる。更に少なくとも、記録時間の短縮化できる点で有利である。[第10実施形態]次に、図28乃至図31を用い、第10実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。ここで、上記実施形態においては、ホスト装置20が、NAND型フラッシュメモリ10の秘密情報を得るためのデバイス鍵23を有することで、NAND型フラッシュメモリ10の暗号化された秘密情報XYEを読み出し、秘密情報XYをNAND型フラッシュメモリ10とホスト装置20との間で共有する。これに対して、この第10実施形態では、ホスト装置20は、NAND型フラッシュメモリ10からは一切の秘密情報を受領せず、かつホスト装置20が有する秘密情報であるDeviceUniqueXY90Hは、ホスト装置20毎に異なるものである。これにより、NAND型フラッシュメモリ10が有する秘密情報が、ホスト装置20から流出することはない。さらに、ホスト装置20から秘密が流出したとしても、その影響はDeviceUniqueXY90Hの流出にとどまり、異なるDeviceUniqueXYを有する他のホストデバイスにおいては影響を与えるものではない。これは、後述するように、DeviceUniqueXY90Hが、XY90MとDeviceID89Hとの一方向性関数処理部91による結果であることに起因する。すなわち、DeviceUniqueXY90HおよびDeviceID89Hが、たとえ露見したとしても、XY90Mを導出するための逆方向関数処理ができないためである。<構成例メモリシステム>まず、図28を用い、第10実施形態に係るメモリシステムの構成例について説明する。第10実施形態では、以下の点で、上記実施形態と相違する。まず、NAND型フラッシュメモリ10は、一方向性関数処理部91、および非線形処理部92Mを備える。また、ロム領域11-1には、NAND型フラッシュメモリ10の固有IDであるMemoryID89Mが記録される。秘匿領域11-2には、XY値90Mが記録される点で、上記実施形態と相違する。ホスト装置20は、このホスト装置20の固有IDであるDeviceID89H、ホスト装置20の固有のXY値であるDeviceUniqueXY90H、エラー訂正部95、および非線形処理部92Hを備える点で、上記実施形態と相違する。上記構成において、ホスト装置20は、DeviceID89Hを読みだし、NAND型フラッシュメモリ10に対して読み出したDeviceID89Hを送出する。ホスト装置20は、NAND型フラッシュメモリ10から読み出されたMemoryIDECCorrecordedmultipletimes89Mに対して、エラー訂正部95にて、エラー訂正処理を行う。続いて、ホスト装置20は、自身が有するDeviceUniqueXY90Hと読み出したエラー訂正後のMemoryID89Mとを、非線形処理部92Hにて、非線形処理することで、固有値UniqueXYforMemoryandDeviceを得る。一方、NAND型フラッシュメモリ10は、ホスト装置20から受領したDeviceID89Hとキャッシュ12Bから読み出した自身のXY値90Mとを、一方向性関数処理部91にて、一方向性関数処理する。そのことで、ホスト装置20が有するDeviceUniqueXYと同じ値を得る。その後、キャッシュ12Aから読み出した自身のMemoryID89Mと前記DeviceUniqueXYとを、非線形処理部92Mで非線形処理することで、ホスト装置と同様の固有値UniqueXYforMemoryandDeviceを得ることができる。その後、NAND型フラッシュメモリ10とホスト装置20との両者は、UniqueXYforMemoryandDeviceを用いて、同様の認証処理を行う。<一方向性関数処理部Onewayfunction91について>次に、図29を用い、一方向性関数処理部Onewayfunction91について説明する。図示するように、本例に係る一方向性関数処理部91は、CryptoBox96および排他的論理和回路C8を備える。CryptoBox96は、Inputに対してKeyを用いて解読処理を行う。排他的論理和回路C8は、前記InputとCryptoBox96の出力との排他的論理和処理を行い、Outputを出力する。ここでは、Inputが一方向性関数処理部91の対象のデータであり、Outputが処理結果である。Inputとして前述のXY値を、Keyとして前述のDeviceID値を用いてもよいし、Inputとして前述のDeviceID値を、Keyとして前述のXY値を用いてもよい。<CryptoBox96について>次に、図30を用い、CryptoBox96について説明する。図示するように、本例のCryptoBox96は、複数の排他的論理和回路C9-0~C9-n、複数のSBoxandPermutation97-1~97-n、および複数のUpdate処理部98-1~98-nを備える。複数の排他的論理和回路C9-0~C9-nは、Input及びKey、またはUpdate処理部98-1~98-nにより更新されたKeyおよび複数のSBoxandPermutation97-1~97-nを入力として、その排他的論理和値を出力する。SBoxandPermutation97-1~97-nは、前段の排他的論理和回路C9-0~C9-nの出力に対して、非線形の処理を行う。ここで、SBoxとは、データ置き換えテーブルによる入力値の変換処理であり、Permutationとは、置き換え処理後の値についてビットの並び替えである。Update処理部98-1~98-nは、前段のKeyを更新する。また、Updateとは、置き換え処理、並び替え処理した結果を別途生成もしくは外部入力された更新値と更新演算を行うことに相当し、更新値としてはカウンタによって生成された値を、更新演算としては排他的論理和処理を用いてもよい。このように、本例に係るCryptbox96における処理は並列に行われ、各々の1処理を1ラウンドと称する。この場合、各ラウンド毎の出力値は、次ラウンドの入力値として用いられる。そして、非線形の前記処理を複数ラウンド処理された結果が、Outputとして出力される。そのため、非線形に係る1ラウンドであっても複雑系の処理であるため、これらを複数ラウンドしかも更新して行うことで、一方向性関数処理部91として求められる一方向性関数処理を実行することが可能である。尚、前述の置き換え処理、並び替え処理はいずれも非線形処理であるため、これら置き換え処理、並び替え処理のいずれか一方、もしくはその組み合わせを前述の非線形処理部の構成要素として用いてもよい。<認証フロー>次に、図31に沿って、第10実施形態に係る認証動作について説明する。ステップS41の際、ホスト装置20は、NAND型フラッシュメモリ10内に記録されているMemoryID89Mの読み出しを要求する。続いて、ステップS42の際、NAND型フラッシュメモリ10は、ホストの要求に応じて、ロム領域11-1内に記録されるMemoryID89Mを読み出し、ホスト装置20に送信する。続いて、ステップS43の際、ホスト装置20は、取得したMemoryID89Mと自身が有するDeviceUniqueID90Hとに対して非線形処理を行い、UniqueXYforMemoryandDeviceを得る。続いて、ステップS44の際、ホスト装置20は、ホスト乱数NonceHおよびDeviceID89Hとともに認証要求をNAND型フラッシュメモリ10に送出する。続いて、ステップS45の際、NAND型フラッシュメモリ10は、送信されたDeviceID89H、および自身の有するXY90M、MemoryID89Mを用いて、上記の処理により、UniqueXYforMemoryandDeviceを得る。その後、上記と同様の認証処理を行う。<作用効果>第10実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、更に下記の効果が得られる。ここで、上記実施形態においては、ホスト装置20が、NAND型フラッシュメモリ10の秘密情報を得るためのデバイス鍵23を有することで、NAND型フラッシュメモリ10の暗号化された秘密情報XYEを読み出し、秘密情報XYをNAND型フラッシュメモリ10とホスト装置20との間で共有する。これに対して、この第10実施形態では、ホスト装置20は、NAND型フラッシュメモリ10からは一切の秘密情報を受領せず、かつホスト装置20が有する秘密情報であるDeviceUniqueXY90Hは、ホスト装置20毎に異なるものである。これにより、NAND型フラッシュメモリ10が有する秘密情報が、ホスト装置20から流出することはない。さらに、ホスト装置20から秘密が流出したとしても、その影響はDeviceUniqueXY90Hの流出にとどまり、異なるDeviceUniqueXYを有する他のホストデバイスにおいては影響を与えるものではない。これは、上記のように、DeviceUniqueXY90Hが、XY90MとDeviceID89Hとの一方向性関数処理部91による結果であることに起因する。すなわち、DeviceUniqueXY90HおよびDeviceID89Hがたとえ露見したとしても、一方向性関数処理であるために、XYを導出するための逆方向関数処理ができないためである。また、本例では、非線形処理部92M、92Hにおいて、UniqueXYforMemoryandDeviceを得るために、MemoryID89MとDeviceUniqueXY89Hとに対して、非線形処理を行う。そのため、可換則が成立する恐れが少ない点でも有利である。例えば、認証方法として内積演算を採用した場合、内積演算は線形処理であることから、仮にUniqueXYforMemoryandDeviceを得るために、MemoryIDとDeviceUniqueXYに対して線形処理を行った場合は、可換則が成立する恐れがある。この場合、MemoryIDの偽装がなされる恐れがあることから、少なくともいずれか一方に非線形処理を設けるのが望ましい。本例では、ホスト装置20およびNAND型フラッシュメモリ10のいずれも非線形処理部92M、92Hにおいて、非線形処理をおこなっているため、可換則が成立することを防止している。さらに、認証に用いる情報が、UniqueXYforMemoryandDeviceと、認証するNAND型フラッシュメモリ10とホスト装置20の組み合わせによって異なることから、中間者攻撃の脅威を低減することができる点でも有利である。これは、仮に中間者攻撃によってUniqueXYforMemoryandDeviceが露見した場合でも、同値を利用できる環境は非常に限られている。すなわち、当該ホスト装置20に対してのみ認証を偽装することができるためである。そのため、第10実施形態によれば、中間者攻撃に対する耐性向上、デバイス毎に対して配布する秘密情報をデバイス固有とすることによる秘密情報露見時の影響低減、クラックされたホストデバイスの同定、クラックされたホストデバイス鍵の無効化などの有利な効果を有することが可能である。[第11実施形態MediaIDretrieveprocess]次に、図32乃至図35を用い、第11実施形態について説明する。第8の実施形態は、上記ステップS22において、メディアIDMediaIDを算出する種々の処理MediaIDretrieveprocessに関するものである。IDretrieveprocess1IDretrieveprocess1は、図32のように示される。図示するように、この例1では、ステップRS1の際、上記の認証に用いられたXYmain及びXYsubに対して、各々一方向性関数処理Onewayfunctionが行われる。その結果が、MediaIDとして扱われる。ここで、一方向性関数処理としては、例えば、SHA1、SHA256、AEGHなどの暗号に基づく一方向性演算を用いることが可能である。IDretrieveprocess2IDretrieveprocess2は、図33のように示される。図示するように、この例2では、ステップRS1,RS2の際、上記認証に用いられたXYmain及びXYsubは、前述の認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmainとKEYXYsubのいずれか一方に相当するKEYXYを用いて、更に復号処理Decodeが行われる。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。IDretrieveprocess3IDretrieveprocess3は、図34のように示される。図示するように、この例3では、ステップRS1,RS2の際、上記の認証に用いられたXYmain及びXYsubは、上記認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmain及びKEYXYsubを用いて、更に復号処理Decodeが行われる。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。IDretrieveprocess4IDretrieveprocess4は、図35のように示される。図示するように、この例4では、ステップRS1,RS2の際、ステップRS1,RS2の際、上記の認証に用いられたXYmain及びXYsubは、上記認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmain及びKEYXYsubと異なるKEYXYmain2及びKEYXYsub2を用いて、更に復号処理Decodeが行われる。ここで、KEYXYmain2及びKEYXYsub2は同一の値であってもよい。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。[第12実施形態MediaIDbindingprocess]次に、図36乃至図37を用い、第12実施形態について説明する。第12実施形態は、MediaIDの利用方法MediaIDbindingprocessに関するものである。ここで、例えば、商用動画コンテンツ等を物理媒体に記録し、再生する場合、同物理媒体に固有な識別情報をコンテンツ記録時の暗号処理に用いてコンテンツを同物理媒体にバインドする方法がとられる。コンテンツ再生時は、前記識別情報に基づく復号処理もしくは検査処理などを行い、再生された識別情報とコンテンツ記録時の暗号処理に用いられた識別情報が一致しない場合、コンテンツの再生を停止するなどの方法がとられる。ここで物理媒体としては、例えば、SDカードなどのリムーバブルメディアの場合や、携帯電話などに内蔵されているエンベデッドメモリなどが考えられる。いずれにおいても、前記方法の目的は、あるメディアに記録された暗号処理済みコンテンツを、別のメディアへと不正複製された場合、不正複製コンテンツの再生を停止させることである。そのための情報として、メディア毎に異なる上記識別情報メディアIDを利用している。IDbindingprocess1IDbindingprocess1は、図36のように示される。図示するように、この例1では、MACMessageAuthenticationCode生成処理を行い、これを不正複製の防止に用いる。具体的には、ステップBP1の際、前記識別情報としてMediaIDを用いる方法例として、コンテンツ暗号化に用いられるContentKeyにより、MediaID及びその他の情報に対し、MAC生成処理を行う。続いて、コンテンツをメディアに記録する装置においては、同MACを生成し、これをメディアに記録しておく。コンテンツをメディアから再生する装置においては、記録されているMACをMediaID、ContentKeyにより検査し、正当性が確認された場合はコンテンツを再生し、正当性が確認されない場合はコンテンツの再生を停止するなどの方法を適用することが可能である。IDbindingprocess2IDbindingprocess2は、図37のように示される。図示するように、この例1では、コンテンツ暗号化に用いられるContentKeyを生成するための情報として、MediaIDを利用する。ステップBP1の際、コンテンツをメディアに記録する装置においては、ContentKeyPrecursorと、MediaID及びContentKeyPrecursorを一方向性処理Onewayfunctionする。メディアに記録する装置においては、処理されたContentKeyによって暗号化されたコンテンツを記録しておく。コンテンツをメディアから再生する装置においては、記録されているContentKeyPrecursorとMediaIDを同様の一方向性処理をすることでContentKeyを得て、コンテンツの復号と再生を行う。ここで、MediaIDが一致しない場合、すなわち記録されているデータが異なるメディアに不正複製された場合など、には導出したContentKeyとコンテンツ暗号化に用いられているContentKeyが一致しないため、コンテンツの復号に失敗し、再生は停止される。[第13実施形態メモリ、記憶再生ホストの一例]次に、図38を用い、第13実施形態について説明する。第13実施形態は、上記実施形態の構成を組み合わせたメモリカードincNANDchip10,記録ホストRecodingDevice20A,再生ホストPlaybackDevice20Bのシステムにおいて、上記認証を行い、上記メディアIDを用い、ホスト装置20Bにてコンテンツを再生する一例に関するものである。記録ホストRecodingDevice20AがコンテンツをメモリカードincNANDchip10に記録するに際し、まずメモリカードincNANDchip10と記録ホストRecodingDevice20Aの間で、上記実施形態における認証処理を行う。ここで、認証処理が成立した後、上記実施形態におけるIDretrievalprocessを行う。次いで、上記実施形態におけるIDbindingprocess1により生成したMACをメモリカードincNANDchip10に記録する。合わせて、IDbindingprocess1において用いたContentKeyにより暗号化したコンテンツEncryptedContentも記録する。更に、ContentKey自身も安全な形で記録する。ここで安全な形とは、メモリカードincNANDchip10と記録ホストRecodingDevice20Aの間で認証が成立した後にアクセスが可能となるモリカードincNANDchip10内の記録エリアであってもよい。また、ここでいう認証は本願において記載されている認証方法でもよいし、メモリカードincNANDchip10が持つ別の認証機能によって実現してもよい。また、安全な形の別な例としては、メモリカードincNANDchip10もしくは記録ホストRecodingDevice20Aが有する鍵によって暗号化した形であってもよい。再生ホストPlaybackDevice20BがコンテンツをメモリカードincNANDchip10から読出し、再生するに際し、まずメモリカードincNANDchip10と再生ホストPlaybackDevice20Bの間で、上記実施形態における認証処理を行う。ここで、認証処理が成立した後、上記実施形態におけるIDretrievalprocessを行う。次いで、上記実施形態におけるIDbindingprocess1に対応する処理により、メモリカードincNANDchip10に記録されているMACを検証する。その後、ContentKeyをメモリカードincNANDchip10より読出し、暗号化したコンテンツEncryptedContentの復号を行うことでコンテンツを再生する。[第14実施形態メモリ、記憶再生ホストのその他の一例]次に、図39を用い、第14実施形態について説明する。第14実施形態は、上記実施形態の構成を組み合わせたメモリカードincNANDchip10、記録ホストRecodingDevice20A、再生ホストPlaybackDevice20Bのシステムにおいて、上記認証を行い、上記メディアIDを用い、ホスト装置20Bにてコンテンツを再生する一例に関するものである。記録ホストRecodingDevice20AがコンテンツをメモリカードincNANDchip10に記録するに際し、まずメモリカードincNANDchip10と記録ホストRecodingDevice20Aの間で、上記実施形態における認証処理を行う。ここで、認証処理が成立した後、上記実施形態におけるIDretrievalprocessを行う。次いで、上記実施形態におけるIDbindingprocess1により生成したContentKeyをメモリカードincNANDchip10に記録する。合わせて、IDbindingprocess2において生成したContentKeyにより暗号化したコンテンツEncryptedContentも記録する。更に、ContentKeyPrecursor自身も安全な形で記録する。ここで安全な形とは、メモリカードincNANDchip10と記録ホストRecodingDevice20Aの間で認証が成立した後にアクセスが可能となるモリカードincNANDchip10内の記録エリアであってもよい。また、ここでいう認証は本願において記載されている認証方法でもよいし、メモリカードincNANDchip10が持つ別の認証機能によって実現してもよい。また、安全な形の別な例としては、メモリカードincNANDchip10もしくは記録ホストRecodingDevice20Aが有する鍵によって暗号化した形であってもよい。再生ホストPlaybackDevice20BがコンテンツをメモリカードincNANDchip10から読出し、再生するに際し、まずメモリカードincNANDchip10と再生ホストPlaybackDevice20Bの間で、上記実施形態における認証処理を行う。ここで、認証処理が成立した後、上記実施形態におけるIDretrievalprocessを行う。次いで、上記実施形態におけるIDbindingprocess2に対応する処理により、メモリカードincNANDchip10に記録されているContentKeyPrecursorからContentKeyを生成する。その後、暗号化したコンテンツEncryptedContentの復号を行うことでコンテンツを再生する。[第15実施形態メモリ、コントローラ、ホストの一例]次に、図40を用い、第15実施形態について説明する。第15実施形態は、上記実施形態に適用可能な上記NAND型フラッシュメモリ10、コントローラ19、およびホスト装置20の一例に関するものである。本例では、メモリカードとしてSDカード登録商標を一例に挙げる。図示するように、本例では、メモリカードと接続されるホスト装置の機能ブロックも示されている。各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明する。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も本発明の範疇に含まれる。ホスト装置20は、アプリケーション、オペレーティングシステム等のソフトウェア211を備えている。ソフトウェア211は、ユーザから、メモリカードへのデータの書き込み、メモリカードからのデータの読み出しを指示される。ソフトウェア211は、データの書き込みおよび読み出しをファイルシステム212に指示する。ファイルシステム212は、管理対象の記憶媒体に記録されているファイルデータを管理するための仕組みであり、記憶媒体の記憶領域内に管理情報を記録し、この管理情報を用いてファイルデータを管理する。ホスト装置20は、SDインターフェース213を有する。SDインターフェース213は、ホスト装置20とメモリカードとの間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなる。ホスト装置20は、SDインターフェース213を介してメモリカードと通信を行う。SDインターフェース213は、ホスト装置20とメモリカードとが通信するのに必要な様々な取り決めを規定し、後述のメモリカードのSDインターフェース231と相互に認識可能な各種のコマンドの組を備えている。また、SDインターフェース213は、メモリカードのSDインターフェース231と接続可能なハードウェア上の構成ピンの配置、数等も含む。メモリカードは、NAND型フラッシュメモリ10、メモリ10を制御するためのコントローラ19を有する。メモリカードは、ホスト装置20に接続されたとき、およびオフ状態のホスト装置20に挿入された状態でホスト装置20がオンされたときに電源供給を受けて初期化動作を行った後、ホスト1からのアクセスに応じた処理を行う。NAND型メモリ10は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行う。ページには、各ページに固有の物理アドレスが割り当てられている。また、メモリ10は、複数のページからなる物理ブロック消去ブロックと呼ばれる単位でデータの消去を行う。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。コントローラ19は、メモリ10によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページまたは物理ブロックが、どの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページまたは物理ブロックが消去状態何も書き込まれていない、または無効なデータを保持している状態であるかを管理することを含んでいる。コントローラ19は、SDインターフェース31、MPUmicroprocessingunit32、ROMreadonlymemory33、RAMrandomaccessmemory34、NANDインターフェース35を含んでいる。SDインターフェース31は、ホスト装置20とコントローラ19との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなり、SDインターフェース13と同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウェア上の構成ピンの配置、数等も含む。メモリカードコントローラ22は、SDインターフェース31を介してとホスト1と通信を行う。SDインターフェース31は、レジスタ36を含んでいる。MPU32は、メモリカード2全体の動作を司る。MPU32は、例えば、メモリカード2が電源供給を受けた際に、ROM33内に格納されているファームウェア制御プログラムをRAM34上に読み出して所定の処理を実行する。MPU32は、制御プログラムに従って各種のテーブルをRAM34上で作成したり、ホスト1から受けたコマンドに従ってメモリ21に対する所定の処理を実行したりする。ROM33は、MPU32により制御される制御プログラムなどを格納する。RAM34は、MPU32の作業エリアとして使用され、制御プログラムや各種のテーブルを一時的に記憶する。このようなテーブルとして、ファイルシステム12によってデータに割り当てられた論理アドレスを有するデータを実際に記憶しているページの物理アドレスの変換テーブル論物テーブルが含まれる。NANDインターフェース35は、コントローラ22とメモリ21とのインターフェース処理を行う。NAND型フラッシュメモリ10内の記憶領域は、保存されるデータの種類に応じて、例えばシステムデータ領域、機密データ領域、保護データ領域、ユーザデータ領域等を含んでいる。システムデータ領域は、コントローラ19が、その動作に必要なデータを保存するためにメモリ10内で確保しておく領域である。機密データ領域は、暗号化に用いる鍵情報や認証時に使用する機密データを保存しており、ホスト装置20からアクセスできない。保護データ領域は、重要なデータ、セキュアなデータを格納する。ユーザデータ領域は、ホスト装置20が自由にアクセスおよび使用することが可能で、例えばAVコンテンツファイルや画像データ等のユーザデータを格納する。なお、コントローラ19は、ユーザデータ領域の一部を確保し、自身の動作に必要な制御データ論物テーブル等を保存する。[第16実施形態]次に、上記NAND型フラッシュメモリ10の具体的構成例として、第16実施形態として説明する。<全体構成例>上記NAND型フラッシュメモリ10の具体的な全体構成例は、図41のように示される。図示するように、本例に係るNAND型フラッシュメモリは、メモリセルアレイ11、乱数発生回路16、制御回路19、認証回路51、ビット線制御回路52、カラムデコーダ53、データ入出力バッファ54、データ入出力端子55、ワード線駆動回路56、制御信号入力端子58、電源発生回路59を備える。メモリセルアレイ11は、複数のブロックBLOCK1~BLOCKnにより構成される。複数のブロックBLOCK1~BLOCKnのそれぞれは、ワード線およびビット線の交差位置に配置される複数のメモリセルを備える。例えば、BLOCK1は、上記ロム領域11-1である。例えば、BLOCK2は、上記秘匿領域11-2である。その他のブロックは、ホスト装置20から利用可能な一般領域Userarea11-3等である。ロム領域11-1は例えばOTPOneTimeProgramブロックであり、1回の書き込みのみ許容される。書き込み後は電気フューズ、レーザフューズ、ROMフューズ等の手段を用いてブロックデコーダを制御し消去動作を禁止する。秘匿領域11-2は、例えば外部アドレスのデコードでは選択できない状態とし、NAND型フラッシュメモリ内部の制御回路19のみが読み出し可能な領域とする。認証回路51は、例えば、上記圧縮演算回路13、バイアスドRNG14、出力部15、乱数生成回路16、順序交換回路18、ビット毎加算回路C1等を備え、制御回路19により制御される。例えば、乱数生成回路16により発生された乱数は、制御回路19の制御に従い、秘密鍵や認証処理におけるチャレンジデータの生成などに用いられ、また必要に応じて、データ入出力端子55を介して外部のホスト装置20に送信される。ビット線制御回路52は、ビット線を介してメモリセルアレイ11中のメモリセルのデータを読み出し、ビット線を介してメモリセルアレイ11中のメモリセルの状態を検出する。また、ビット線制御回路52は、ビット線を介してメモリセルアレイ11中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行う。ビット線制御回路52内には、図示しない上記ページバッファ等のデータ記憶回路12等が設けられ、このデータ記憶回路は、カラムデコーダ53によって選択される。データ記憶回路に読み出されたメモリセルのデータは、データ入出力バッファ54を介してデータ入出力端子55から外部へ出力される。データ入出力端子55は、例えば、外部のホスト装置等に接続される。データ入出力端子55は、例えば8ビット、または16ビットのバス幅を有している。NAND型フラッシュメモリはトグルモードインターフェースtogglemodeinterfaceなどの高速インターフェース規格をサポートしてもよい。トグルモードインターフェースでは、例えば、データストローブ信号DQSの立ち上がり、立ち下がり両エッジに同期してデータ入出力端子55を介したデータ転送が行われる。ホスト装置20は、例えば、マイクロコンピュータ等であって、データ入出力端子55から出力されたデータを受ける。ホスト装置20は、NAND型フラッシュメモリ10の動作を制御する各種コマンドCMD書き込みコマンド、読み出しコマンド、消去コマンド、ステータスリードコマンド等、アドレスADD、およびデータDTを出力する。ホスト装置からデータ入出力端子55に入力された書き込みデータDTは、データ入出力バッファ54を介して、カラムデコーダ53によって選択された上記データ記憶回路図示せずに供給される。一方、コマンドCMDおよびアドレスADDは、制御回路19に供給される。ワード線駆動回路56は、制御回路19の制御に従い、メモリセルアレイ11中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。電圧発生回路59は、制御回路19の制御に従い、図示中の接続された上記構成回路の動作に必要な電圧を供給する。例えば、電圧発生回路59は、ホスト装置から供給される外部電圧を昇圧して、読み出し、書き込みあるいは消去時にワード線に印加される電圧を生成する。制御回路Controller19は、NAND型フラッシュメモリ10の全体の動作を制御するために、接続される各回路に必要な制御信号および制御電圧を与える。制御回路19は、メモリセルアレイ11、認証回路51、ビット線制御回路52、カラムデコーダ53、データ入出力バッファ54、ワード線駆動回路56、電圧発生回路59に接続される。接続された上記構成回路は、制御回路19によって制御される。制御回路19は、制御信号入力端子58に接続され、ホスト装置から制御信号入力端子58を介して入力されるWEライトイネーブル信号、REリードイネーブル信号、ALEアドレスラッチイネーブル信号、CLEコマンドラッチイネーブル信号等の制御信号の組み合わせによって制御される。ここで、機能的に表現すれば、上記ワード線駆動回路56、ビット線制御回路52、カラムデコーダ53、制御回路19は、データ書き込み回路、データ読み出し回路、およびデータ消去回路を構成する。ホスト装置は、NAND型フラッシュメモリが書き込み、読み出し、消去などの内部動作を実行中であるか否かを、図示せぬRY/BYレディー/ビジー信号出力端子をモニタすることで検知する。制御回路19は、RY/BY信号出力端子を介して、RY/BY信号を出力する。<ブロックBLOCKの構成例>次に、図42を用い、メモリセルアレイを構成するブロックBLOCKの構成例について説明する。ここでは、図41中の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方向に延出するビット線BLm-1に接続される。ワード線WL0~WL7は、WL方向に延び、WL方向の複数のメモリセルの制御ゲート電極に共通に接続される。選択ゲート線SGSは、WL方向に延び、WL方向の複数の選択トランジスタS1に共通に接続される。選択ゲート線SGDも、WL方向に延び、WL方向の複数の選択トランジスタS2に共通に接続される。また、ワード線WL0~WL7ごとにページPAGEが存在する。例えば、図中の破線で囲って示すように、ワード線WL7には、ページ7PAGE7が存在する。このページPAGEごとに、後述するデータ読み出し動作、データ書き込み動作が行われるため、ページPAGEはデータ読み出し単位であり、データ書き込み単位である。<2値メモリセルSLC:SingleLevelCellの閾値分布>次に、図43を用い、2値メモリセルSLC:SingleLevelCellの閾値分布について説明する。2値メモリセルの閾値分布Vth分布では、メモリセルにデータを記録した後において、図示するような’1’、’0’の分布を示す。ここでは、消去状態Erasestateに’1’を割り当て、書き込み状態Programmedstateに’0’を割り当てている。なお、データ書き込み動作およびデータ消去動作の際には、書き込み電圧または消去電圧の印加後に、各メモリセルの閾値電圧を検査し、目標レベルに到達しないセルについては再度データ書き込み、またはデータ消去動作を継続的に制御して行うベリファイVerify動作を行う。そのため、’1’、’0’分布には、上記ベリファイ動作が完了した否かを判定するためのベリファイレベルVerifylevelが設けられる。ここで、制御の例としては、制御回路Controller19により、データ書き込み動作において、制御ゲートに印加する電圧を増す、電圧印加時間を増す、電圧印加回数を増す等を復号的に行うことで、各メモリセルの閾値電圧を目標レベルに到達させる。また、データ消去においても、同様に、半導体基板中のpウェルPwellに印加する電圧を増す、電圧印加時間を増す、電圧印加回数を増すなどを復号的に行うことで、各メモリセルの閾値電圧を目標レベルに到達させる。このようにして、書き込まれたデータは、図示するように所定の’1’、’0’の分布幅を持つ。データの読出しにおいては、’0’分布と’1’分布との中間に読み出し電圧Thresholdofreadlevelを設定することで、各メモリセルがいずれのデータを保持しているかを判別する。具体的には、制御ゲートCGに読み出し電圧を印加した際に、メモリセルMCがオン状態となれば’1’と判別し、メモリセルMCがオフ状態のままであれば’0’と判別する。なお、上記ベリファイ動作を行った場合のほうが、行わない場合に比べて、閾値分布が狭くなる。これは、個々のメモリセルによって1回の書き込み電圧の印加で注入される電子の量にばらつきがあり、早く書き込まれるメモリセルと、遅く書き込まれるメモリセルとが存在するためである。そのため、1回の書き込み電圧の印加毎に各メモリセルの閾値電圧を検査し、ベリファイレベルに到達したメモリセルについては以降の電子注入を禁止抑制し、ベリファイレベルに到達しないメモリセルについては再度書き込み電圧を印加して電子注入を継続する。結果として、ベリファイ動作を行わない場合と比較して、閾値分布は狭くなる。<多値メモリセルMLC:MultiLevelCellの閾値分布>次に、図44を用い、多値メモリセルMLC:MultiLevelCellの閾値分布について説明する。多値メモリセルでは、上記した書き込み状態Programmedstateにおける電子の注入量を細かく制御することで、例えば1個のメモリセルに2ビットを保持する場合は4つの閾値分布を形成し、また1個のメモリセルに3ビットを保持する場合は8つの閾値分布を形成する。多値メモリセルの閾値分布Vth分布のうち、本例では、1個のメモリセルに2ビットのデータを記録する例を示す。そのため、4つの閾値分布に対して、閾値電圧の低い方から順に、図示するような’11’、’01’、’00’、’10’を割り当てる。なお、以下では便宜的に、4つの閾値分布を閾値電圧の低い方から順に’E’レベル、’A’レベル、’B’レベル、’C’レベルと記載する場合がある。多値メモリセルのデータ書き込みの場合でも、上記2値メモリセルのデータ書き込みと同様に、目標とする閾値電圧に到達するよう、適宜書き込み動作を制御する。また、’11’、’01’、’00’、’10’分布には、同様にそれぞれベリファイレベルVerifylevelが設けられる。多値メモリセルにおいて、データ読み出しの際には、各分布の中間において、読み出しの電圧TH1TH2TH3を設定することで、各メモリセルが’11’、’01’、’00’、’10’のいずれのデータを保持しているかを判別する。ここで、TH2以上か否かによって識別可能なビットすなわち以下図面におけるMSBビットと、TH1以上かつTH3以下か否かによって識別可能なビットすなわち以下図面におけるLSBビットは、各々異なるページにアサインされることが多く、各々Lowerpage、Upperpageなどと呼ばれる。つまり、TH1TH2TH3を同時に用いて1つのページを読み出すのではなく、Lowerpageを読み出す場合はTH2を、Upperpageを読み出す場合はTH1及びTH3を用いる。本発明のいくつか実施形態を説明したが、これら実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。10...NAND型フラッシュメモリ被認証コンポーネント、19...コントローラ、20...ホストデバイス認証コンポーネント。[比較例1HBプロトコルの一例]まず、図1を用い、比較例1について説明する。この比較例1は、HBプロトコルの一例に関するものである。HBプロトコルは、2000年にHopperとBlumらによって提案された、軽量の認証プロトコルであるHBプロトコルの改良プロトコルである。HBプロトコルは、雑音下におけるパリティ値の同定が困難であるということLPN:LearningParitywithNoiseに基づいており、受動攻撃に対する安全性が証明されている。ただし、HBプロトコルは、リーダーReaderへのなりすましといった能動攻撃に対して脆弱性がある。この点を解決するために、2005年にJuelsらにより、HBプロトコルとして提案されたものである。HBプロトコルの概要は、図1のように図示される。ここで、図1中の、a,b,x,yはベクトルであり、ν,zはビットである。図示するように、HBプロトコルでは、被認証コンポーネントであるタグTagと、認証コンポーネントであるリーダーReaderとが、各々秘密情報ベクトルxyを共有する。タグは、リーダーに対して一時乱数ベクトルbを渡す。続いて、リーダーは、タグに対して一時乱数ベクトルaを渡す。続いて、タグは、乱数aと秘密情報ベクトルxの内積axおよび乱数bと秘密情報ベクトルyとの内積byを計算する。さらに、タグは、ηの確率で1となる変数νを生成する。そして、内積ax、内積by、変数νをそれぞれ加算して、zaxbyνを算出する。ここで、axは内積axを意味し、は排他的論理和を意味する。続いて、タグは、算出したzを、リーダーへと送信する。続いて、リーダーは、受領したzと、自身で計算したaxbyとを比較し、一致不一致を検査する。上記一連の処理を1単位として1ラウンドと称することもある。これら上記1ラウンドの処理を複数回例えば、数十回~数万回程度繰り返し、前述の不一致確率が、所定値tを下回った場合、タグが秘密情報を保持しているとみなし、認証が成功する。尚、axbyは、秘密情報x,yと、結合ベクトルa,bとのそれぞれの内積である。そのため、x,yの結合ベクトルxyを秘密情報とおき、a,bの結合ベクトルをConcatとした場合、axbyをConcatxyと表現することも可能である。[比較例2RandomHBプロトコルの一例]次に、図2を用い、比較例2について説明する。この比較例2は、RandomHBプロトコルの一例に関するものである。RandomHBプロトコルは、上記比較例1に示したHBプロトコルが更に改良されたプロトコルである。上記HBプロトコルは、受動的な攻撃と能動的な攻撃に対して解決策を提供したものの、Gilbertらによって提案された中間者攻撃に対して脆弱性がある傾向にある。この点を解決するために、GilbertらによりHBプロトコルの改良方式プロトコルとして、RandomHBプロトコルとして提案されたものである。RandomHBプロトコルの概要は、図2のように図示される。ここで、図2中のX,Yは行列であり、a,b,z,νはベクトルである。図示するように、RandomHBプロトコルでは、タグTagとリーダーReaderとが、各々秘密情報行列XYを共有する。まず、タグは、リーダーに対して一時乱数ベクトルbを渡す。続いて、リーダーは、タグに対して一時乱数ベクトルaを渡す。続いて、タグは、乱数aと秘密情報行列xとの内積aXおよび乱数bと秘密情報行列yとの内積bYを計算する。ここで、XYは行列、abはベクトルであることから、各々の内積結果は、ベクトルとなる。また、タグは、ηの確率で1となる変数ベクトルνを生成する。そして、タグは、上記の値を加算して、zaXbYνを算出する。ここでzはベクトルである。続いて、タグは、算出したzを、リーダーへと送信する。続いて、リーダーは、受領したzと自身で計算したaXbYとのビット加算、すなわち排他的論理和演算を行った結果を用い、aXbYzのハミング重みHwtbYzを計算する。ハミング重みHwtbYzが、所定値tclenを下回った場合、タグが秘密情報を保持しているとみなし、認証が成功する。ただし、η≦t更新KEY2することができる。このように、露見したXY及びXYE以外の組を利用することで、偽造デバイスの排除が可能となる。各XYiの暗号化に用いられるKEYはiが異なる場合、異なるものである方が望ましい。その他は、上記第1実施形態と実質的に同様であるため、詳細な説明を省略する。<認証フロー>次に、図6に沿って、第2実施形態に係る認証動作について説明する。第2実施形態では、NAND型フラッシュメモリ10内には複数のXY及び複数のXYEが記録されているため、ホスト装置20がいずれのXYを用いるかを選択することで、認証を行う。そのため、第2実施形態では、ステップS14の際に、ホスト装置20が、認証を要求するRequestauthentication場合、いずれのXYを用いるかを指定するパラメータiを、乱数NonceHとともに、NAND型フラッシュメモリ10に送出する点で、相違する。その他は、上記第1実施形態と実質的に同様であるため、詳細な説明を省略する。<作用効果>第2実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第2実施形態では、NAND型フラッシュメモリ10が、ロム領域11-1、秘匿領域11-2に、それぞれ複数のXYEおよび複数のXYを記憶する点で、上記第1実施形態と相違する。このように、複数のXYEおよび複数のXYの組を保持することで、秘密情報X及びY露見時の秘密情報の更新手段を提供することができる。仮にある1つのXYとXYEの組が中間者攻撃その他によって露見し、露見したXY及びXYEを流用した偽造デバイスが製造された場合でも、本例では、ホスト装置20が保持するKEY123を更新例えば、KEY1更新KEY2することができる。そのため、第2実施形態に係る認証フローでは、ステップS14の際に、ホスト装置20が、認証を要求するRequestauthentication場合、いずれのXYを用いるかを指定するパラメータiを、乱数NonceHとともに、NAND型フラッシュメモリ10に送出する。このように、第2実施形態では、NAND型フラッシュメモリ10が、複数のXY及び複数のXYEを有し、ホストデバイスからの命令によりXYEを選択的に送出する機能を有し、ホストデバイスからの命令により認証に用いるXYを選択的に設定する。また、ホストデバイスは、自身が保持する鍵に対応するXYEを選択的に読み出す機能を有し、それを復号する機能を有し、また自身が保持する鍵を所定の条件下で更新する機能を有する。その結果、露見したXY及びXYE以外の組を利用することで、偽造デバイスの排除が可能となる点で有利である。[第3実施形態]次に、図7乃至図9を用い、第3実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図7を用い、第3実施形態に係る構成例について説明する。図示するように、本例に係るNAND型フラッシュメモリ10は、ロム領域11-1B、秘匿領域11-2Bに、複数のXYsubEおよび複数のXYsubをそれぞれ記憶する点で、上記第2実施形態と相違する。ここで、iとjが異なる場合、XYsubi≠XYsubj、XYsubEi≠XYsubEjである。XYsubEはXYsubを暗号化した後、訂正符号を付与したデータである。XYsubは、XYと同様に記録禁止読出禁止領域秘匿領域11-2Bに記録され、XYsubEは、XYEと同様に記録禁止読出許可領域ロム領域11-1Bに記録される。ここで、XYmainのデータサイズは、XYsubよりも大きいデータサイズ:XYmain>XYsub。また、XYmainとXYsubから構成されるデータが、前述の秘密情報XYに対応する。このように、第3実施形態では、XYの組に加え、XYsubiXYsubEiの組を更に備えるため、秘密情報X及びYを効率的に記録することができる点で有利である。詳細については、後述する。さらに、NAND型フラッシュメモリ10は、上記XYsubを格納するためのデータキャッシュ12B、およびXYmainとXYsubとをビット毎加算するためのビット毎加算部C2を備える。ビット毎加算部C2の出力値が、前述の認証に用いられるXY値に相当する。ここで、XYmainとXYsubのビット長が異なることから、ビット加算C2においては、XYsubの繰り返しデータが適用される。例えば、本図にあるように所定の演算としては、ビット加算が考えられ、XYmainのデータサイズがXYsubのデータサイズの整数倍であった場合、XYmainのデータを保持するDatacacheからはXYmainが順送りに送出され、XYsubのデータを保持するDatacacheからはXYsubが順送りかつ繰り返し送出される構成が考えられる。XYsubを保持するDatacacheはリングバッファと考えてもよい。また、ビット毎加算以外にもXYmainとXYsubの結合値をXYとしてもよいし、XYmainとXYsubのインターリーブ結合値をXYとしてもよいし、XYmainとXYsubをLFSRに入力しLFSRの所定レジスタの値をXYとしてもよい。すなわち、本実施例ではビット毎加算部としているが、2入力から構成したデータをXYとして用いるいずれの演算方法も適用可能である。同様に、ホスト装置20は、読み出したXYsubEに対応するための、訂正処理部21B、暗号の復号部22B、鍵保持部23B、データ記憶部25B、加算部C3を更に備える。ホスト装置20は、上記構成により、同様に、エラー訂正処理を行い、対応するKEYXYsubにより復号することでXYsubを得る。これにより、ホストデバイスとNAND型フラッシュメモリ間で、秘密情報XYmain及びXYsubを共有できる。ここで、本図においてはKEYXYmainとKEYXYsubは異なるオブジェクトとして描かれているが、実際には同じ鍵であっても良い。また、各XYsubiの暗号化に用いられるKEYXYsubはiが異なる場合、異なるものである方が望ましい。さらに、ホスト装置20、メモリ10は、XYmainとXYsubを用いて所定の演算を行ったXY値により、認証処理を行う。<認証フロー>次に、図8に沿って、第3実施形態に係る認証動作について説明する。第3実施形態では、NAND型フラッシュメモリ10内にはXYmainに加えてXYsubが、またそれらを暗号化したXYmainE及びXYsubEが記録される。そのため、図示するように、対応するステップS13において、ホスト10は、XYmainEXYsubEを更に読み出して復号をし、秘密情報XYmain,XYsubに基づく秘密情報XYを生成するCreateXY。続いて、ホスト装置20は、秘密情報XYmainとXYsubから導出された情報を用いて、同様の認証を行う。また、NAND型フラッシュメモリ10側においても同様に、ステップS15において、読み出した秘密情報XYmain,XYsubに基づいて秘密情報XYを生成するCreateXY点で、上記第2実施形態と相違する。<作用効果>第3実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第3実施形態では、2の効果が得られる。2秘密情報XYを効率的に記録することができ、記録時間を高速化できる点で有利である。第3実施形態では、NAND型フラッシュメモリ10が、複数のXYsub及び複数のXYsubEを有し、ホスト装置20からの命令によりXYsubEを選択的に送出し、ホスト装置20からの命令により認証に用いるXYsubを選択的に設定し、選択されたXYsubとXYを所定の演算で導出した値により認証を行う。また、ホストデバイスは、自身が保持する鍵23Bに対応するXYsubEを選択的に読み出し、それを復号する機能22Bを有し、また自身が保持する鍵23Bを所定の条件下で更新する機能を更に有し、選択したXYsubとXYmainを所定の演算で導出した値により認証30を行う。このように、XYmainの組に加え、XYsubiXYsubEiの組を更に備えるため、秘密情報X及びYを効率的に記録することができる点で有利である。より具体的には、例えば、図9のように示される。図示するように、NAND型フラッシュメモリの製造工程において、XYmain、XYmainE、XYsub、XYsubEの複数の組は、XY発生装置XYGENにより生成され、書き込み装置Writerにより、複数のNAND型フラッシュメモリここでは、Chip1~Chip4にデータ書き込みがされる。ここで、XYmain及びXYmainEのデータは、複数のチップChip1~Chip4から構成される集団内例えばロットで同一のデータで良い。一方、XYsub及びXYsubEは、チップChip1~Chip4毎に異なるデータXYsub1~XYsub4及びXYsubE1~XYsubE4とする必要がある。このように、第3実施形態では、データ書き込み動作において、データ量の多いXYmain及びXYmainEを複数のチップChip1~Chip4で共通化することにより、メモリへのデータ書き込みプロセスを最適化でき、効率的に記録することが可能となる。仮に、XYmain及びXYmainEをハードワイヤードで構成する場合、実際に記録するデータは、データサイズが小さいXYsub及びXYsubEとなり記録時間を短縮できる。また、仮にXYmain及びXYmainEをセル上に記録する場合において、集団内で同一であることにより、NAND型フラッシュメモリへのデータ記録装置に対して記録データを転送する時間を短縮できる。先に述べたように、記録時間の増加は、コストの増加となるため、第3実施形態によれば、製造コストを低減することができるというメリットも大きい。[第4実施形態多重記録される一例]次に、図10および図11を用い、第4実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図10を用い、第4実施形態に係る構成例について説明する。第4実施形態では、メモリ10の秘匿領域11-2に、複数のXYiを多重に複製した情報11-2A,11-2B,11-2Cを更に有する点で、上記第2実施形態と相違する。すなわち、第2実施形態におけるXYiを複製したデータは、図10において、XYi1XYi2XYinによって示され、1≦i≦mに対しXYi1XYi2...XYinである。また、1≦j≦nに対しXY1j≠XY2j≠...≠XYmjである。ここで、XYEがECCが付与されている一方で、XYにはECCが付与されていないため、NAND型フラッシュメモリ内でセルから読み出したデータにエラーが含まれている場合、NAND型フラッシュメモリが認証に用いるXYの完全性が失われることも考えられる。しかしながら、本例のように、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有することにより、検査選択部12-0により、前記エラーが含まれているかどうかを複製データ間でのデータ比較により検出することができる。そのため、本例のメモリは、XYiを複製した情報11-2A,11-2B,11-2Cに対応するための検査選択部Checksumselect12-0を更に備える点で、第2実施形態と相違する。図10において、セル11-2からロードされた少なくとも2つ以上のXYのデータセットは所定の上記同様の方法により比較を行うことでエラーが含まれているか否かを検査する。仮にエラーが含まれていた場合もしくはエラーが除去できない場合、異なる2つ以上のXYのデータセットを再度ロードし、同様に検査する。これをエラーが含まれていないもしくは除去できるデータセットが見つかるまで繰り返し、同データセットが見つかった場合それを認証に用いる。上記所定の方法の例としては、2つのXYをロードし、ビット毎にXOR値を算出した後、XOR値がすべて0であるかどうか、により検査する方法が考えられる。また、3つ以上のXYをロードし、多数決判定によってビット毎にエラーを除去したXYを得る方法も考えられる。また、本図においては、XYの複製データはすべて同一データとしているが、複製データのうち奇数番号のデータと偶数番号のデータの極性が反転しているように相補関係にあるデータを構成して事前に記録しておく方法も考えられる。この場合、前記相補関係にある2つのXYをロードし、ビット毎にXOR値を算出した後、XOR値がすべて1であるかどうか、により検査することが可能である。<認証フロー>次に、図11に沿って、第4実施形態に係る認証動作について説明する。図示するように、第4実施形態では、NAND型フラッシュメモリ10の秘匿領域11-2内に、複数のXYが多重記録される。そのため、ステップS15の際、NAND型フラッシュメモリ10は、少なくとも2つ以上のXYを読み出し、比較し、エラーを含んでいないXYを用いて認証を行うLoadcompareXYs。<作用効果>第4実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第4実施形態によれば、メモリ10の秘匿領域11-2に、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有する。ここで、XYEがECCが付与されている一方で、XYにはECCが付与されていないため、NAND型フラッシュメモリ内でセルから読み出したデータにエラーが含まれている場合、NAND型フラッシュメモリが認証に用いるXYの完全性が失われることも考えられる。しかしながら、第4実施形態によれば、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有することにより、検査選択部12-0により、前記エラーが含まれているかどうかを複製データ間でのデータ比較により検出することができる。結果、メモリ10内でセルから読み出したデータにエラーが含まれている場合であっても、メモリ10が認証に用いるXYの完全性が失われることを防止できる点で更に有利である。[第5実施形態]次に、図12および図13を用い、第5実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図12を用い、第5実施形態に係る構成例について説明する。第5実施形態に係る構成例は、上記第3、第4実施形態を組み合わせたものに関する一例である。図示するように、第5実施形態に係るNAND型フラッシュメモリ10は、秘匿領域11-2に、XYsub及びXYsubEについても複製データXYsubij及びXYsubEijを記録する点で、上記第4実施形態と相違する。また、上記に対応するための検査選択部12-0Bおよびデータキャッシュ12Bを更に備える。<認証フロー>次に、図13に沿って、第5実施形態に係る認証動作について説明する。第5実施形態では、NAND型フラッシュメモリ10内に、更にXYsubも多重記録されるXYsubij及びXYsubEij。そのため、ステップS15の際、NAND型フラッシュメモリ10は、更に少なくとも2つ以上のXYsubを読み出し、比較し、エラーを含んでいないXYsubを用いて認証を行うLoadcompareXYsandXYsubs。<作用効果>第5実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第5実施形態によれば、NAND型フラッシュメモリ10は、秘匿領域11-2に、XYsub及びXYsubEについても複製データXYsubij及びXYsubEijを記録する。必要に応じて、本例のような構成および方法を適用することが可能である。[第6実施形態]次に、図14および図15を用い、第6実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図14を用い、第6実施形態に係る構成例について説明する。第6実施形態でも同様に、NAND型フラッシュメモリ10が、更に複数のXYiを複製した情報を有する。すなわち、先の第2実施形態におけるXYiを複製したデータは本図においてXYi1XYi2XYinによって示され、1≦i≦mに対しXYi1XYi2...XYinである。また、1≦j≦nに対しXY1j≠XY2j≠...≠XYmjである。ここで、XYデータを複製することは第4実施形態と同様であるが、本第6実施形態においては、NAND型フラッシュメモリ10側では複製データの比較処理を行わず、その代わりにホスト装置20で比較処理を行う点で、相違する。そのため、本例では、ホスト装置20が、多数決判定部Majoritycheck30を備える点で、相違する。すなわち、NAND型フラッシュメモリ10は、ホスト装置20により指定されたiに応じ、XYi1XYi2XYinのうち少なくとも2つ以上をロードし、各々のXYに対して前述の認証処理を行う。ここで、各々のXYに対しては同一のNonceN及び同一のNonceHを利用し、またバイアスドRNGによって生成されたνについても同一のものを適用する。NAND型フラッシュメモリ10の送信部15は、複数のXYに対して、他のパラメータが同一な条件で複数のzを計算し、ホスト装置20に送出する。ホストデバイスは、複数のzを受領した後、多数決判定部31により、多数決判定を行い、単一のzを得る。ここで、各zが複数のビット要素で構成されていた場合、圧縮計算部の出力が複数ビットからなる場合、前記多数決判定はビット要素毎に行う。ホストデバイスは、多数決判定によってエラーを除去したzを得たのち、前述と同様の判定処理30を行うことで、NAND型フラッシュメモリ10を認証する。<認証フロー>次に、図15に沿って、第6実施形態に係る認証動作について説明する。第6実施形態では、NAND型フラッシュメモリ10内に多重記録されているXYを用いて、NAND型フラッシュメモリが複数のzを計算し、送出し、ホストデバイスは複数のzを多数決処理することで単一のzを得て、認証を行う。そのため、ステップS17の際、NAND型フラッシュメモリ10は、計算した複数のzjをホスト装置20に送信する。続いて、ステップS18の際、ホスト装置20は、複数のzの多数決判定部Majoritycheckを更に行う点で、相違する。<作用効果>第6実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記1の効果が得られる。さらに、第6実施形態では、NAND型フラッシュメモリ10が、更に複数のXYiを複製した情報を有する。さらに、ホスト装置20が、多数決判定部Majoritycheck30を備える。そのため、計算資源に制約のあるNAND型フラッシュメモリ10での比較処理を軽減でき、計算資源に余裕のあるホスト装置20に比較処理多数決処理30を依頼することができる。結果、NAND型フラッシュメモリ10へのコスト増加を抑制することができ、エラーの除去が可能となる点で有利である。[第7実施形態]次に、図16および図17を用い、第7実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図16を用い、第7実施形態に係る構成例について説明する。第7実施形態は、上記第3、第6実施形態を組み合わせたものの一例に関する。図示するように、NAND型フラッシュメモリ10は、XYsub及びXYsubEについても複製データ11-2B,11-1Bを更に記録する。上記第6実施形態と同様に、複数のXYに対する認証用データzを算出して算出部15でホスト装置20に送信し、ホスト装置20側で多数決処理30を行う。<認証フロー>次に、図17に沿って、第7実施形態に係る認証動作について説明する。第7実施形態では、NAND型フラッシュメモリ10内に、多重記録されているXYmain及びXYsubを用いて、NAND型フラッシュメモリが複数のzを計算し、送出し、ホストデバイスは複数のzを多数決処理することで単一のzを得て、認証を行う。そのため、ステップS11の際、ホスト装置20は、多重記録されているXYmain及びXYsubの読み出し要求ReadXYmainEandXYsubEを行う。続いて、ステップS12の際、NAND型フラッシュメモリ10は、多重記録されているXYmain及びXYsubを読み出しLoadXYmainEandXYsubE、ホスト装置20に送信XYmainEandXYsubEする。<作用効果>第7実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも下記1の効果が得られる。さらに、第7実施形態では、NAND型フラッシュメモリ10が、XYsub及びXYsubEについても複製データ11-2B,11-1Bを更に記録する。上記第6実施形態と同様に、複数のXYに対する認証用データzを算出して算出部15でホスト装置20に送信し、ホスト装置20側で多数決処理30を行う。このように、必要に応じ、本例を適用することが可能である。[第8実施形態]次に、図18至図22を用い、第8実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図18を用い、第8実施形態に係る構成例について説明する。第8実施形態は、第6実施形態に対して、ホスト装置20毎に用いるXY値の組み合わせを異ならせる方法を提供する。図示するように、NAND型フラッシュメモリ10は、データ構造が鍵遷移レコードで構成された鍵情報KeySequenceInformation80をユーザ領域Otherarea11-3に更に保持する点で、上記第6実施形態と相違する。なお、鍵情報KeySequenceInformation80は必ずしもユーザ領域11-3に格納される必要はなく、ロム領域11-1に格納されていても良いし、あるいは書き込み及び消去動作の少なくとも一方が禁止された領域に格納されていても良い。また、ロム領域11-1に記録されているContainerは、第6実施形態と同様に複数のXYEを保持する構造を採るが、第6実施形態とは異なり複数のXYEはマトリックス状のデータ構造を有し、ホスト装置20での利用方法が異なるため、以下の説明ではXYEMatrix81と称する。なお、ここでデータ構造はマトリックス状であることを想定するが、セルアレイ11での現実のデータ配置がマトリックス状である必要はない。下記XYMatrix82についても同様である。また、秘匿領域11-2に記録されているXYデータ群も、第6実施形態と同様に複数のXYを保持する構造を採るが、第6実施形態とは異なり複数のXYはマトリックス状のデータ構造を有し、ホスト装置20での利用方法が異なるため、以下の説明ではXYMatrix82と称する。ここで、XYMatrix82は、必要に応じて多重記録される。多重記録の目的は、先に示した通り、データの信頼性を保証するためであり、その利用方法も同様である。また、多重記録されたそれぞれのXYMatrix82は、互いに異なるページ、または異なるブロックに配置されていても良い。ホスト装置20は、上記鍵情報KeySequenceInformation80を取り扱うために、解析選択部84、選択復号部86、検査部88等を更に備え、デバイスインデックス83及びデバイス鍵DeviceKey23を利用して、スロット鍵SlotKeyscorrespondingDeviceIndex85及びスロットインデックスシーケンスSlotIndexSequence87を得る点において、上記実施形態と相違する。デバイスインデックスDeviceIndex83は、NAND型フラッシュメモリ10から読み出される鍵情報KeySequenceInformation80の中から、このホスト装置20に対応するデータレコードを選択するためのインデックスである。ホスト装置20においてデバイスインデックスDeviceIndex83の格納場所は任意であるが、容易に露見しない場所に格納することが要求される。解析選択部84は、NAND型フラッシュメモリ10から読み出される鍵情報KeySequenceInformation80の中から、自身のデバイスインデックスDeviceIndex83に対応するデータレコードを選択する。選択されたデータレコードは、復号部22に出力され、デバイス鍵DeviceKey23を用いて復号される。ホスト装置20においてデバイス鍵DeviceKey23の格納場所は任意であるが、容易に露見しない場所に格納することが要求される。スロット鍵SlotKeyscorrespondingDeviceIndex85は、デバイスインデックスDeviceIndex83に対応するデータレコードをデバイス鍵DeviceKey23で復号して得られたデータに含まれるものであり、デバイスインデックス83に対応するスロット鍵データである。スロットインデックスシーケンスSlotIndexSequence87は、スロット鍵SlotKeyscorrespondingDeviceIndex85と同様にデバイスインデックスDeviceIndex83に対応するデータレコードをデバイス鍵DeviceKey23で復号して得られたデータに含まれるものであり、それぞれのスロット鍵SlotKeyscorrespondingDeviceIndex85に対応するインデックスデータである。選択復号部86は、NAND型フラッシュメモリ10から読み出したECC処理後のXYEMatrix81からスロットインデックスシーケンスSlotIndexSequence87に対応する要素を選択し、スロット鍵SlotKeyscorrespondingDeviceIndex85を用いて復号処理を行う。これにより、ホスト装置20は秘密情報XYSequence24を取得する。検査部88は、NAND型フラッシュメモリ10から受領した演算結果のうち、前記データレコード中のスロットインデックスシーケンスSlotIndexSequence87に対応する演算結果ziを選択する。判定部30は、生成したデータCと検査部88により選択された演算結果ziとを用いて、判定処理を行う。<データ構造について>上記鍵情報KeySequenceInformation80、XYEMatrix81、XYMatrix82のデータ構造について、図19を用いて説明する。まずaに示す、秘匿領域11-2に記録されるXYMatrix82について説明する。XYMatrix82は、所定データ単位毎に番号付けされた複数のXYデータXYXYからなる。図示する例では、XYMatrix82は、16x16の配列構造を有し、各要素が単一のXYデータを構成する。仮に単一のXYデータが64bytesから構成されている場合、XYMatrix82は、64x16x16bytesから構成される。次に、bに示す、Container内に保持されているXYEMatrix81について説明する。同Containerは、前記XYMatrixの各要素を暗号化した複数の暗号化XYデータEncXYEncXYから構成される。XYMatrix82と同様に、XYEMatrix81は、16x16の配列構造を有し、各要素が単一のXYEデータを構成する。また、各要素は異なる鍵によって暗号化されている。ここで、暗号化に用いる鍵をスロット鍵SlotKeyと呼び、同一番号Indexが付与されたスロット鍵SlotKeyは同一番号Indexが付与されたXYデータの暗号化に用いられる。すなわち、XYEMatrix81内の各要素XYEは、XYE=EncXYの関係を有する。次に、cに示す、鍵情報KeySequenceInformation80について説明する。鍵情報KeySequenceInformation80は、ホスト装置20が有するデバイス鍵DeviceKey23及びデバイスインデックスDeviceIndex83に対応する複数のデータレコードから構成される。各データレコードには、デバイスインデックスDeviceIndex83に相当するデータと同デバイスインデックスDeviceIndex83に対応するデバイス鍵DeviceKey23によって暗号化された暗号化スロット鍵シーケンスEncryptedSlotKeySequenceが含まれる。暗号化スロット鍵シーケンスEncryptedSlotKeySequenceは、スロットインデックスSlotIndexをデバイス鍵DeviceKey23によって暗号化したデータEncと、同インデックスに対応するスロット鍵SlotKeyをデバイス鍵DeviceKey23によって暗号化したデータEncからなり、本例においてはXYEMatrix81の各行から一つのスロットインデックスSlotIndex及びスロット鍵Slotkeyを選択する構造を採る。なお、XYMatrix82において単一のXYデータのサイズは任意であり、上記64bytesに限定されない。従ってXYMatrix82全体のサイズも任意であり、サイズに応じてセルアレイ11上で同一ページ内に格納しても良いし、複数ページに跨って記憶しても良いし、あるいは同一ブロック内に記憶しても良いし、複数ブロックに跨って記憶しても良い。同様にXYEMatrix81についてもそのサイズに応じてセルアレイ11上で同一ページ内に格納しても良いし、複数ページに跨って記憶しても良いし、あるいは同一ブロック内に記憶しても良いし、複数ブロックに跨って記憶しても良い。<秘密情報共有方法の具体例>次に、上記鍵情報KeySequenceInformation80を利用して秘密情報を共有する方法の具体例について、図20を用いて説明する。ホスト装置20は、自身が有するデバイスインデックスDeviceIndex83に相当するデータレコードを、NAND型フラッシュメモリ10から読み出した鍵情報KeySequenceInformation80より選択する。本例では、読み出した鍵情報KeySequenceInformation80の中から、デバイスインデックスDeviceindex1に相当する暗号化されたデータレコードEncryptedSlotKeySequence1が選択される。続いて、復号部22は、デバイス鍵Kd123を用いて、選択されたデータレコードEncryptedSlotKeySequence1を復号する。その結果、スロットインデックスSlotIndex及びスロット鍵SlotKeyのシーケンスであるSequenceXYXYが得られる。ここで、スロットインデックスSlotIndexの遷移を示すSequenceがスロットインデックスシーケンス87となる。続いて、選択復号部86は、図中の破線で示すように、NAND型フラッシュメモリ10から送信されるXYEMatrix81の各行から、スロットインデックスシーケンスSlotIndexSequence87に対応する要素を選択して、スロットインデックスSlotIndexに対応するスロット鍵SlotKeyにより復号し、XYSequence24を取得する。続いて、ここで得られたXYSequence24に基づき、ホスト装置20中の検査部88は、NAND型フラッシュメモリ10から返答されたzを検証する。この検証において、NAND型フラッシュメモリ10は、ホスト装置20が取得したXYSequence24に対応するzのみを返答するのではなく、XYMatrix82中の全ての要素に対応するzを返答する。そのため、検査部88は、自身が得たXYSequence24及びスロットインデックスシーケンスSlotIndexSequence87に相当するzのみをフィルタリングして選出し、同zに対してのみ、判定部30での認証処理を行う。<鍵情報KeySequenceInformation80の配布方法について>次に、鍵情報KeySequenceInformation80の配布方法について、図21を用いて説明する。NAND型フラッシュメモリ10には、NAND型フラッシュメモリ10の製造時にXYMatrix82及びXYEMatrix81が記録される。製造時とは広義であり、前工程においてウエハー状態で全チップに対して並列に書き込んでも良いし、後工程において個片化、パッケージングされた各チップに対して書き込んでも良い。XYMatrix82及びXYEMatrix81に対応する鍵情報KeySequenceInformation80は、XYMatrix82及びXYEMatrix81と同時に記録しても良いし、別のタイミングで記録しても良い。例えば、NAND型フラッシュメモリ10を購入し、メモリカードを製造するカード製造会社が、鍵情報KeySequenceInformation80をNAND型フラッシュメモリ10に書き込んでも良いし、鍵情報KeySequenceInformation80を配布するサーバKeyMatrixDistributorがネットワークを介して、鍵情報KeySequenceInformation80をNAND型フラッシュメモリ10に書き込んでも良い。いずれにおいても、NAND型フラッシュメモリ10内部には、XYMatrix82及びXYEMatrix81に紐付いたIDmが記録されており、カード製造会社もしくはサーバは同IDmに応じたKeySequenceInformation80をデータベースKeyMatrixdatabaseより選択し、NAND型フラッシュメモリ10へと書き込む。ここで、IDmとはNAND型フラッシュメモリ10の識別子であり、KeySequenceInformation80と紐づいた情報である。NAND型フラッシュメモリ10の製造とメモリカードの製造とが同一会社で行われるが、NAND型フラッシュメモリ10の製造場所とメモリカードの製造場所とが異なる場合も上記と同様である。ここで、ホスト装置のクラックが生じていない場合、鍵情報KeySequenceInformation80は全てのホスト装置のデータレコードを含んでいる。一方、ホスト装置のクラックが生じた場合、ここでは、仮にホスト装置BHostBがクラックされた場合は、当該装置向けのレコードを鍵情報KeySequenceInformation80には含めない形で配布するExcludetherecordedhackeddeviceB。これにより、クラックされたホスト装置HostBから、更にXYSequenceが流出することを防止できる。上記の例では、XYSequenceを異ならせる単位としてホスト装置デバイスを例に挙げたが、実際の運用においては、複数のデバイスから構成されるグループ、例えば同一モデルナンバーのデバイスグループ、同一製造者によって製造されたデバイスグループ、デバイスの実装方法ハードウェア実装、ソフトウェア実装、ハードウェア及びソフトウェア実装によりカテゴリ分けされたデバイスグループ、デバイスの使用者一般ユーザ、業務ユーザ、サーバ内の処理装置によりカテゴリ分けされたデバイスグループ、または上記の組み合わせ、などであっても良い。<認証フロー>次に、図22Aに沿って、第8実施形態に係る認証動作について説明する。第8実施形態では、ホスト装置20は、NAND型フラッシュメモリ10内に記録される鍵情報KeySequenceInformation80を読み出し、自身のデバイスインデックスDeviceIndexに対応するデータレコードを選択後、当該レコードをデバイス鍵DeviceKeyによって復号して、スロット鍵SlotKeys及びスロットインデックスSlotIndexesを取得する。認証開始Startすると、ステップS31の際、ホスト装置20は、NAND型フラッシュメモリ10へ鍵情報KeySequenceInformation80の読出し命令ReadKeySequenceInformationを送出する。ここではコントローラがホスト装置20とNAND型フラッシュメモリ10とを仲介する例を示しているため、ホスト装置20がコントローラに送出する命令と、コントローラが実際にNAND型フラッシュメモリに送出する命令とはコマンド体系が異なっていても良いし、同じであっても良い。続いて、ステップS32の際、NAND型フラッシュメモリ10は、上記読出し命令に従って、鍵情報KeySequenceInformation80をユーザ領域11-3よりロードしLoadKeySequenceInformation、これをホスト装置20へと送出する。読出し命令は鍵情報KeySequenceInformation80の記録されているアドレスを含んでいても良いし、含んでいなくとも良い。含んでいない場合、NAND型フラッシュメモリは自身で所定の内部アドレスを生成し鍵情報KeySequenceInformation80を取得する。続いて、ステップS33の際、ホスト装置20は、送信された鍵情報KeySequenceInformation80から、自身のデバイスインデックスDeviceIndexに対応するデータレコードを選択後、当該レコードをデバイス鍵DeviceKeyによって復号して、スロット鍵SlotKeysとスロットインデックスSlotIndexesを取り出すRetrieveKeySequence。続いて、ステップS11の際、ホスト装置20は、NAND型フラッシュメモリ10へXYEMatrix81の読出し命令ReadXYEを送出する。読出し命令ReadXYEは読出し命令ReadKeySequenceInformationと異なるコマンドであっても良いし、同一コマンドを使用して異なるアドレスを入力することで両者を区別しても良い。続いて、ステップS12の際、NAND型フラッシュメモリ10は、上記読出し命令に従って、XYEMatrix81をロム領域11-1よりロードしLoadXYE、これをホスト装置20へと送出する。続いて、ステップS13の際、ホスト装置20は、前記スロットインデックスSlotIndexesに相当するXYE要素を対応するスロット鍵SlotKeyで復号し、XYSequence24を得る。続いて、ステップS14の際、ホスト装置20は、XYMatrix80のIndex番号と乱数NonceHとともに、NAND型フラッシュメモリ10に認証要求を送出するRequestauthentication。ここで、Index番号とはスロットインデックス、もしくはXYMatrixの行、もしくは列に相当する番号である。続いて、ステップS15~S17の際、NAND型フラッシュメモリ10は、秘匿領域11-2に記録されているXYMatrix80を用いて、前記XYMatrix80のIndex番号に相当するXYを用いて、複数のzを計算し、乱数NonceNとともにホスト装置20に送出する。続いて、ステップS18~S23の際、ホスト装置20は、自身が保持する前記スロットインデックスシーケンスSlotIndexSequenceに従って、読みだしたデータをフィルタリングすることで単一のzを得て、同様の認証を行う。<作用効果>第8実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも更に下記の効果が得られる。第8実施形態では、NAND型フラッシュメモリ10が、ホスト装置20に使用される鍵遷移レコードで構成されたデータ構造の鍵情報KeySequenceInformation80を備える。NAND型フラッシュメモリ10は、鍵情報KeySequenceInformation80に対応するように、マトリックス状のデータ構造の秘密情報XYMatrix82およびこれが暗号化されたXYEMatrix81を備える。そのため、まず、第一に、ホスト装置20毎に用いる鍵情報KeySequenceInformation80値を変更することができるため、中間者攻撃に対する耐性を向上できる。すなわちいずれのXYデータを認証に用いているかを不可視化する効果がある点で有利である。第二に、万が一に、ホスト装置20からXYEMatrix81を復号する鍵が流出し、次いでXYMatrix82値が暴露された場合でも、ホスト装置20毎に用いている鍵情報KeySequenceInformation80が異なるため、認証システム全体に与えるセキュリティ保護の影響を低減できる点で有利である。具体的には、他の実施例においてはいずれのホスト装置20も、XYEMatrixの各行を復号するためのKEYiを有す、すなわちグローバルシークレットとして扱われていた。そのため、仮に一つのホスト装置20がクラックされて鍵が流出した場合、同鍵を用いて暗号化されたXYEMatrixの行のXY値は全て露見してしまう。この場合に備え、XYEは、複数の行及びそれら行に対応するKEYで暗号化されているものの、秘密を保持できるのは行数分のホスト装置のクラックまでであり、行数分に達してしまった場合は認証システム全体が崩壊することとなる。しかしながら、第8実施形態では、行数x列数の要素から認証に用いるXYSequenceを選択できる組み合わせとして、最大分が確保できるため、仮にホスト装置20がクラックされ、同デバイスのXYSequenceデータが暴露された場合でも、他のホスト装置に対する影響は低減でき、また認証システム全体が崩壊するまでのクラックマージンが向上する。より具体的に、第8実施形態と第2実施形態の場合における時間とシステムマージンとの関係を示す図22Bを用いて説明する。図中の破線で示す第2実施形態の場合、秘密情報がL回例えば、数回程度漏洩したときの漏洩度は、リニアに増えていく。一方で、実線で示す第8実施形態では、デバイス毎に秘密情報の重複分があることから第2実施形態よりも低い。また、秘密情報がM回例えば、10回程度漏洩したときのシステムマージンは、第2実施形態ではM回が秘密情報の行数上限数とした場合全ての秘密が漏洩したことに相当し、この場合置き換えることができる秘密情報が欠乏するためシステムが破綻する。一方、実線で示す第8実施形態の場合、秘密情報がM回例えば、10回程度漏洩したときであっても、秘密漏洩度の上昇はリニアではないため、破線で示す参考例よりも十分なシステムマージンを保持し、製品としての秘密保持のセキュリティの許容度を十分に満たすことが可能である。このように、本例では、秘密漏洩の危険度を分散することができる点で、上記実施形態と相違する。そのため、例えば、実線で示す第8実施形態の場合、秘密情報がN回例えば、数10回程度漏洩し、製品としての許容度が満足できなくなる製品寿命の時刻t3の際例えば、10年程度までに、その製品の世代のセキュリティの漏洩度を十分に満たすように設計すれば良い。更に、暴露されたXYSequenceによりクラックされたホスト装置デバイスの同定も可能である。一方、クラックされたデバイスが判明した場合、鍵情報KeySequenceInformation80から同デバイスが有するデバイス鍵で暗号化されたデータレコードを含めないことで、クラックされたデバイスの無効化が可能となり、新規に製造されたNAND型フラッシュメモリ10のXYMatrixの秘匿性は担保できる。このように、秘密が露呈したデータレコードを含めないことで、次世代への秘密漏洩を防止でき、世代間の秘匿性を向上できる点で有利である。このように、第8実施形態によれば、中間者攻撃に対する耐性向上、デバイス毎に導出できるXYSequenceを個別化することによるXY値露見時の影響低減、クラックされたホストデバイスの同定、クラックされたホストデバイス鍵の無効化などの点で有利である。[第9実施形態]次に、図23至図27を用い、第9実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>まず、図23を用い、第9実施形態に係るメモリシステムの構成例について説明する。第9実施形態は、上記第7実施形態と同様に、XYsub82B及びXYsubE81Bを用いる点で、第8実施形態と相違する。図示するように、NAND型フラッシュメモリ10は、第8実施形態に対して、更にXYsub82B及びXYsubE81Bを保持する点で相違する。ここで、XYsub82B及びXYsubE81B等は各々一つの場合、複数の場合があり、更に複数の場合も列構造を採る場合と行列構造を採る場合が可能である。Matrixデータ1単一の場合次に、図24を用い、XYsub82B及びXYsubE81B等が、単一の場合について説明する。aに示すように、単一のXYsub82Bが、NAND型フラッシュメモリ10内部処理用に秘匿領域11-2に記録されている。bに示すように、Containerには、同XYsubをスロット鍵Kssubによって暗号化した単一のデータXYsubEEnc81Bが記録されている。cに示すように、鍵情報KeySequenceInformation80には同スロット鍵Kssubをデバイス鍵によって暗号化した単一のデータEncryptedSubSlotKey80Bが含まれる。Matrixデータ2列構造の場合次に、図25を用い、列構造を採る複数のXYsubを用いる場合について説明する。aに示すように、本例において、列構造をとる複数のXYsubXYsubXYsubXYsub82Bが、NAND型フラッシュメモリ10の内部処理用に秘匿領域11-2に記録されている。bに示すように、Container11-1には、各XYsubをスロット鍵Kssubによって暗号化した複数列のデータXYsubEEncXYsubEncXYsub81Bが記録されている。cに示すように、鍵情報KeySequenceInformation80には、同スロット鍵Kssubをデバイス鍵によって暗号化した列構造のデータEncryptedSubSlotKey1EncryptedSubSlotKeyn80Bが含まれる。Matrixデータ3行列構造の場合次に、図26を用い、行列構造を採る複数のXYsubを用いる場合について説明する。aに示すように、第8実施形態において説明したXYに付随する形で、XYsubMatrix82Bが、NAND型フラッシュメモリ10内部処理用の秘匿領域11-2に記録されている。bに示すように、Container11-1には、各XYsubを、XYの暗号化に用いたスロット鍵Ksによって暗号化した行列構造のデータXYsubEArrayEncXYsubEncXYsub81Bが記録されている。cに示すように、鍵情報KeySequenceInformation80は既にXYの暗号化に用いたスロット鍵Ksを含んでいるため、XYsub専用のスロット鍵を新たに含める必要はない。このように、XYsub82B及びXYsubE81B等は、必要に応じて、各々一つの場合、や複数の場合の行列構造等を適用することができる。<認証フロー>次に、図27に沿って、第9実施形態に係る認証動作について説明する。第9実施形態でも、ステップS31~S33の際、同様にして、ホスト装置20は、NAND型フラッシュメモリ10内に記録されている鍵情報KeySequenceInformation80を読み出し、自身のデバイスインデックスDeviceIndexに対応するデータレコードを選択後、当該レコードをデバイス鍵DeviceKeyによって復号して、スロット鍵SlotKeysとスロットインデックスSlotIndexesを得る。続いて、ステップS13の際、ホスト装置20はNAND型フラッシュメモリ10からXYEMatrixを読み出し、前記スロットインデックスSlotIndexに相当するXYE要素、およびXYsubE要素を対応するスロット鍵SlotKeyで復号し、XYSequenceおよびXYsubを得る。続いて、ステップS14の際、ホスト装置20は、XYMatrixのIndex番号iと乱数NonceHとともに、NAND型フラッシュメモリ10に認証要求を送出する。続いて、ステップS15~S17の際、NAND型フラッシュメモリ10内は、秘匿領域11-2に記録されているXYMatrixesを用いて、前記XYMatrixのIndex番号に相当するXYおよびXYsubを用いて、複数のzを計算し、乱数NonceNとともにホスト装置20に送信する。以後、同様に、ホスト装置20は、自身が保持する前記スロットインデックスシーケンスSlotIndexSequenceに従って読みだしたデータをフィルタリングすることで単一のzを得て、認証を行う。<作用効果>第9実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、上記第8実施形態と同様の効果を得ることができる。更に少なくとも、記録時間の短縮化できる点で有利である。[第10実施形態]次に、図28乃至図31を用い、第10実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。ここで、上記実施形態においては、ホスト装置20が、NAND型フラッシュメモリ10の秘密情報を得るためのデバイス鍵23を有することで、NAND型フラッシュメモリ10の暗号化された秘密情報XYEを読み出し、秘密情報XYをNAND型フラッシュメモリ10とホスト装置20との間で共有する。これに対して、この第10実施形態では、ホスト装置20は、NAND型フラッシュメモリ10からは一切の秘密情報を受領せず、かつホスト装置20が有する秘密情報であるDeviceUniqueXY90Hは、ホスト装置20毎に異なるものである。これにより、NAND型フラッシュメモリ10が有する秘密情報が、ホスト装置20から流出することはない。さらに、ホスト装置20から秘密が流出したとしても、その影響はDeviceUniqueXY90Hの流出にとどまり、異なるDeviceUniqueXYを有する他のホストデバイスにおいては影響を与えるものではない。これは、後述するように、DeviceUniqueXY90Hが、XY90MとDeviceID89Hとの一方向性関数処理部91による結果であることに起因する。すなわち、DeviceUniqueXY90HおよびDeviceID89Hが、たとえ露見したとしても、XY90Mを導出するための逆方向関数処理ができないためである。<構成例メモリシステム>まず、図28を用い、第10実施形態に係るメモリシステムの構成例について説明する。第10実施形態では、以下の点で、上記実施形態と相違する。まず、NAND型フラッシュメモリ10は、一方向性関数処理部91、および非線形処理部92Mを備える。また、ロム領域11-1には、NAND型フラッシュメモリ10の固有IDであるMemoryID89Mが記録される。秘匿領域11-2には、XY値90Mが記録される点で、上記実施形態と相違する。ホスト装置20は、このホスト装置20の固有IDであるDeviceID89H、ホスト装置20の固有のXY値であるDeviceUniqueXY90H、エラー訂正部95、および非線形処理部92Hを備える点で、上記実施形態と相違する。上記構成において、ホスト装置20は、DeviceID89Hを読みだし、NAND型フラッシュメモリ10に対して読み出したDeviceID89Hを送出する。ホスト装置20は、NAND型フラッシュメモリ10から読み出されたMemoryIDECCorrecordedmultipletimes89Mに対して、エラー訂正部95にて、エラー訂正処理を行う。続いて、ホスト装置20は、自身が有するDeviceUniqueXY90Hと読み出したエラー訂正後のMemoryID89Mとを、非線形処理部92Hにて、非線形処理することで、固有値UniqueXYforMemoryandDeviceを得る。一方、NAND型フラッシュメモリ10は、ホスト装置20から受領したDeviceID89Hとキャッシュ12Bから読み出した自身のXY値90Mとを、一方向性関数処理部91にて、一方向性関数処理する。そのことで、ホスト装置20が有するDeviceUniqueXYと同じ値を得る。その後、キャッシュ12Aから読み出した自身のMemoryID89Mと前記DeviceUniqueXYとを、非線形処理部92Mで非線形処理することで、ホスト装置と同様の固有値UniqueXYforMemoryandDeviceを得ることができる。その後、NAND型フラッシュメモリ10とホスト装置20との両者は、UniqueXYforMemoryandDeviceを用いて、同様の認証処理を行う。<一方向性関数処理部Onewayfunction91について>次に、図29を用い、一方向性関数処理部Onewayfunction91について説明する。図示するように、本例に係る一方向性関数処理部91は、CryptoBox96および排他的論理和回路C8を備える。CryptoBox96は、Inputに対してKeyを用いて解読処理を行う。排他的論理和回路C8は、前記InputとCryptoBox96の出力との排他的論理和処理を行い、Outputを出力する。ここでは、Inputが一方向性関数処理部91の対象のデータであり、Outputが処理結果である。Inputとして前述のXY値を、Keyとして前述のDeviceID値を用いてもよいし、Inputとして前述のDeviceID値を、Keyとして前述のXY値を用いてもよい。<CryptoBox96について>次に、図30を用い、CryptoBox96について説明する。図示するように、本例のCryptoBox96は、複数の排他的論理和回路C9-0~C9-n、複数のSBoxandPermutation97-1~97-n、および複数のUpdate処理部98-1~98-nを備える。複数の排他的論理和回路C9-0~C9-nは、Input及びKey、またはUpdate処理部98-1~98-nにより更新されたKeyおよび複数のSBoxandPermutation97-1~97-nを入力として、その排他的論理和値を出力する。SBoxandPermutation97-1~97-nは、前段の排他的論理和回路C9-0~C9-nの出力に対して、非線形の処理を行う。ここで、SBoxとは、データ置き換えテーブルによる入力値の変換処理であり、Permutationとは、置き換え処理後の値についてビットの並び替えである。Update処理部98-1~98-nは、前段のKeyを更新する。また、Updateとは、置き換え処理、並び替え処理した結果を別途生成もしくは外部入力された更新値と更新演算を行うことに相当し、更新値としてはカウンタによって生成された値を、更新演算としては排他的論理和処理を用いてもよい。このように、本例に係るCryptbox96における処理は並列に行われ、各々の1処理を1ラウンドと称する。この場合、各ラウンド毎の出力値は、次ラウンドの入力値として用いられる。そして、非線形の前記処理を複数ラウンド処理された結果が、Outputとして出力される。そのため、非線形に係る1ラウンドであっても複雑系の処理であるため、これらを複数ラウンドしかも更新して行うことで、一方向性関数処理部91として求められる一方向性関数処理を実行することが可能である。尚、前述の置き換え処理、並び替え処理はいずれも非線形処理であるため、これら置き換え処理、並び替え処理のいずれか一方、もしくはその組み合わせを前述の非線形処理部の構成要素として用いてもよい。<認証フロー>次に、図31に沿って、第10実施形態に係る認証動作について説明する。ステップS41の際、ホスト装置20は、NAND型フラッシュメモリ10内に記録されているMemoryID89Mの読み出しを要求する。続いて、ステップS42の際、NAND型フラッシュメモリ10は、ホストの要求に応じて、ロム領域11-1内に記録されるMemoryID89Mを読み出し、ホスト装置20に送信する。続いて、ステップS43の際、ホスト装置20は、取得したMemoryID89Mと自身が有するDeviceUniqueID90Hとに対して非線形処理を行い、UniqueXYforMemoryandDeviceを得る。続いて、ステップS44の際、ホスト装置20は、ホスト乱数NonceHおよびDeviceID89Hとともに認証要求をNAND型フラッシュメモリ10に送出する。続いて、ステップS45の際、NAND型フラッシュメモリ10は、送信されたDeviceID89H、および自身の有するXY90M、MemoryID89Mを用いて、上記の処理により、UniqueXYforMemoryandDeviceを得る。その後、上記と同様の認証処理を行う。<作用効果>第10実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、更に下記の効果が得られる。ここで、上記実施形態においては、ホスト装置20が、NAND型フラッシュメモリ10の秘密情報を得るためのデバイス鍵23を有することで、NAND型フラッシュメモリ10の暗号化された秘密情報XYEを読み出し、秘密情報XYをNAND型フラッシュメモリ10とホスト装置20との間で共有する。これに対して、この第10実施形態では、ホスト装置20は、NAND型フラッシュメモリ10からは一切の秘密情報を受領せず、かつホスト装置20が有する秘密情報であるDeviceUniqueXY90Hは、ホスト装置20毎に異なるものである。これにより、NAND型フラッシュメモリ10が有する秘密情報が、ホスト装置20から流出することはない。さらに、ホスト装置20から秘密が流出したとしても、その影響はDeviceUniqueXY90Hの流出にとどまり、異なるDeviceUniqueXYを有する他のホストデバイスにおいては影響を与えるものではない。これは、上記のように、DeviceUniqueXY90Hが、XY90MとDeviceID89Hとの一方向性関数処理部91による結果であることに起因する。すなわち、DeviceUniqueXY90HおよびDeviceID89Hがたとえ露見したとしても、一方向性関数処理であるために、XYを導出するための逆方向関数処理ができないためである。また、本例では、非線形処理部92M、92Hにおいて、UniqueXYforMemoryandDeviceを得るために、MemoryID89MとDeviceUniqueXY89Hとに対して、非線形処理を行う。そのため、可換則が成立する恐れが少ない点でも有利である。例えば、認証方法として内積演算を採用した場合、内積演算は線形処理であることから、仮にUniqueXYforMemoryandDeviceを得るために、MemoryIDとDeviceUniqueXYに対して線形処理を行った場合は、可換則が成立する恐れがある。この場合、MemoryIDの偽装がなされる恐れがあることから、少なくともいずれか一方に非線形処理を設けるのが望ましい。本例では、ホスト装置20およびNAND型フラッシュメモリ10のいずれも非線形処理部92M、92Hにおいて、非線形処理をおこなっているため、可換則が成立することを防止している。さらに、認証に用いる情報が、UniqueXYforMemoryandDeviceと、認証するNAND型フラッシュメモリ10とホスト装置20の組み合わせによって異なることから、中間者攻撃の脅威を低減することができる点でも有利である。これは、仮に中間者攻撃によってUniqueXYforMemoryandDeviceが露見した場合でも、同値を利用できる環境は非常に限られている。すなわち、当該ホスト装置20に対してのみ認証を偽装することができるためである。そのため、第10実施形態によれば、中間者攻撃に対する耐性向上、デバイス毎に対して配布する秘密情報をデバイス固有とすることによる秘密情報露見時の影響低減、クラックされたホストデバイスの同定、クラックされたホストデバイス鍵の無効化などの有利な効果を有することが可能である。[第11実施形態MediaIDretrieveprocess]次に、図32乃至図35を用い、第11実施形態について説明する。第8の実施形態は、上記ステップS22において、メディアIDMediaIDを算出する種々の処理MediaIDretrieveprocessに関するものである。IDretrieveprocess1IDretrieveprocess1は、図32のように示される。図示するように、この例1では、ステップRS1の際、上記の認証に用いられたXYmain及びXYsubに対して、各々一方向性関数処理Onewayfunctionが行われる。その結果が、MediaIDとして扱われる。ここで、一方向性関数処理としては、例えば、SHA1、SHA256、AEGHなどの暗号に基づく一方向性演算を用いることが可能である。IDretrieveprocess2IDretrieveprocess2は、図33のように示される。図示するように、この例2では、ステップRS1,RS2の際、上記認証に用いられたXYmain及びXYsubは、前述の認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmainとKEYXYsubのいずれか一方に相当するKEYXYを用いて、更に復号処理Decodeが行われる。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。IDretrieveprocess3IDretrieveprocess3は、図34のように示される。図示するように、この例3では、ステップRS1,RS2の際、上記の認証に用いられたXYmain及びXYsubは、上記認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmain及びKEYXYsubを用いて、更に復号処理Decodeが行われる。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。IDretrieveprocess4IDretrieveprocess4は、図35のように示される。図示するように、この例4では、ステップRS1,RS2の際、ステップRS1,RS2の際、上記の認証に用いられたXYmain及びXYsubは、上記認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmain及びKEYXYsubと異なるKEYXYmain2及びKEYXYsub2を用いて、更に復号処理Decodeが行われる。ここで、KEYXYmain2及びKEYXYsub2は同一の値であってもよい。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。[第12実施形態MediaIDbindingprocess]次に、図36乃至図37を用い、第12実施形態について説明する。第12実施形態は、MediaIDの利用方法MediaIDbindingprocessに関するものである。ここで、例えば、商用動画コンテンツ等を物理媒体に記録し、再生する場合、同物理媒体に固有な識別情報をコンテンツ記録時の暗号処理に用いてコンテンツを同物理媒体にバインドする方法がとられる。コンテンツ再生時は、前記識別情報に基づく復号処理もしくは検査処理などを行い、再生された識別情報とコンテンツ記録時の暗号処理に用いられた識別情報が一致しない場合、コンテンツの再生を停止するなどの方法がとられる。ここで物理媒体としては、例えば、SDカードなどのリムーバブルメディアの場合や、携帯電話などに内蔵されているエンベデッドメモリなどが考えられる。いずれにおいても、前記方法の目的は、あるメディアに記録された暗号処理済みコンテンツを、別のメディアへと不正複製された場合、不正複製コンテンツの再生を停止させることである。そのための情報として、メディア毎に異なる上記識別情報メディアIDを利用している。IDbindingprocess1IDbindingprocess1は、図36のように示される。図示するように、この例1では、MACMessageAuthenticationCode生成処理を行い、これを不正複製の防止に用いる。具体的には、ステップBP1の際、前記識別情報としてMediaIDを用いる方法例として、コンテンツ暗号化に用いられるContentKeyにより、MediaID及びその他の情報に対し、MAC生成処理を行う。続いて、コンテンツをメディアに記録する装置においては、同MACを生成し、これをメディアに記録しておく。コンテンツをメディアから再生する装置においては、記録されているMACをMediaID、ContentKeyにより検査し、正当性が確認された場合はコンテンツを再生し、正当性が確認されない場合はコンテンツの再生を停止するなどの方法を適用することが可能である。IDbindingprocess2IDbindingprocess2は、図37のように示される。図示するように、この例1では、コンテンツ暗号化に用いられるContentKeyを生成するための情報として、MediaIDを利用する。ステップBP1の際、コンテンツをメディアに記録する装置においては、ContentKeyPrecursorと、MediaID及びContentKeyPrecursorを一方向性処理Onewayfunctionする。メディアに記録する装置においては、処理されたContentKeyによって暗号化されたコンテンツを記録しておく。コンテンツをメディアから再生する装置においては、記録されているContentKeyPrecursorとMediaIDを同様の一方向性処理をすることでContentKeyを得て、コンテンツの復号と再生を行う。ここで、MediaIDが一致しない場合、すなわち記録されているデータが異なるメディアに不正複製された場合など、には導出したContentKeyとコンテンツ暗号化に用いられているContentKeyが一致しないため、コンテンツの復号に失敗し、再生は停止される。[第13実施形態メモリ、記憶再生ホストの一例]次に、図38を用い、第13実施形態について説明する。第13実施形態は、上記実施形態の構成を組み合わせたメモリカードincNANDchip10,記録ホストRecodingDevice20A,再生ホストPlaybackDevice20Bのシステムにおいて、上記認証を行い、上記メディアIDを用い、ホスト装置20Bにてコンテンツを再生する一例に関するものである。記録ホストRecodingDevice20AがコンテンツをメモリカードincNANDchip10に記録するに際し、まずメモリカードincNANDchip10と記録ホストRecodingDevice20Aの間で、上記実施形態における認証処理を行う。ここで、認証処理が成立した後、上記実施形態におけるIDretrievalprocessを行う。次いで、上記実施形態におけるIDbindingprocess1により生成したMACをメモリカードincNANDchip10に記録する。合わせて、IDbindingprocess1において用いたContentKeyにより暗号化したコンテンツEncryptedContentも記録する。更に、ContentKey自身も安全な形で記録する。ここで安全な形とは、メモリカードincNANDchip10と記録ホストRecodingDevice20Aの間で認証が成立した後にアクセスが可能となるモリカードincNANDchip10内の記録エリアであってもよい。また、ここでいう認証は本願において記載されている認証方法でもよいし、メモリカードincNANDchip10が持つ別の認証機能によって実現してもよい。また、安全な形の別な例としては、メモリカードincNANDchip10もしくは記録ホストRecodingDevice20Aが有する鍵によって暗号化した形であってもよい。再生ホストPlaybackDevice20BがコンテンツをメモリカードincNANDchip10から読出し、再生するに際し、まずメモリカードincNANDchip10と再生ホストPlaybackDevice20Bの間で、上記実施形態における認証処理を行う。ここで、認証処理が成立した後、上記実施形態におけるIDretrievalprocessを行う。次いで、上記実施形態におけるIDbindingprocess1に対応する処理により、メモリカードincNANDchip10に記録されているMACを検証する。その後、ContentKeyをメモリカードincNANDchip10より読出し、暗号化したコンテンツEncryptedContentの復号を行うことでコンテンツを再生する。[第14実施形態メモリ、記憶再生ホストのその他の一例]次に、図39を用い、第14実施形態について説明する。第14実施形態は、上記実施形態の構成を組み合わせたメモリカードincNANDchip10、記録ホストRecodingDevice20A、再生ホストPlaybackDevice20Bのシステムにおいて、上記認証を行い、上記メディアIDを用い、ホスト装置20Bにてコンテンツを再生する一例に関するものである。記録ホストRecodingDevice20AがコンテンツをメモリカードincNANDchip10に記録するに際し、まずメモリカードincNANDchip10と記録ホストRecodingDevice20Aの間で、上記実施形態における認証処理を行う。ここで、認証処理が成立した後、上記実施形態におけるIDretrievalprocessを行う。次いで、上記実施形態におけるIDbindingprocess1により生成したContentKeyをメモリカードincNANDchip10に記録する。合わせて、IDbindingprocess2において生成したContentKeyにより暗号化したコンテンツEncryptedContentも記録する。更に、ContentKeyPrecursor自身も安全な形で記録する。ここで安全な形とは、メモリカードincNANDchip10と記録ホストRecodingDevice20Aの間で認証が成立した後にアクセスが可能となるモリカードincNANDchip10内の記録エリアであってもよい。また、ここでいう認証は本願において記載されている認証方法でもよいし、メモリカードincNANDchip10が持つ別の認証機能によって実現してもよい。また、安全な形の別な例としては、メモリカードincNANDchip10もしくは記録ホストRecodingDevice20Aが有する鍵によって暗号化した形であってもよい。再生ホストPlaybackDevice20BがコンテンツをメモリカードincNANDchip10から読出し、再生するに際し、まずメモリカードincNANDchip10と再生ホストPlaybackDevice20Bの間で、上記実施形態における認証処理を行う。ここで、認証処理が成立した後、上記実施形態におけるIDretrievalprocessを行う。次いで、上記実施形態におけるIDbindingprocess2に対応する処理により、メモリカードincNANDchip10に記録されているContentKeyPrecursorからContentKeyを生成する。その後、暗号化したコンテンツEncryptedContentの復号を行うことでコンテンツを再生する。[第15実施形態メモリ、コントローラ、ホストの一例]次に、図40を用い、第15実施形態について説明する。第15実施形態は、上記実施形態に適用可能な上記NAND型フラッシュメモリ10、コントローラ19、およびホスト装置20の一例に関するものである。本例では、メモリカードとしてSDカード登録商標を一例に挙げる。図示するように、本例では、メモリカードと接続されるホスト装置の機能ブロックも示されている。各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明する。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も本発明の範疇に含まれる。ホスト装置20は、アプリケーション、オペレーティングシステム等のソフトウェア211を備えている。ソフトウェア211は、ユーザから、メモリカードへのデータの書き込み、メモリカードからのデータの読み出しを指示される。ソフトウェア211は、データの書き込みおよび読み出しをファイルシステム212に指示する。ファイルシステム212は、管理対象の記憶媒体に記録されているファイルデータを管理するための仕組みであり、記憶媒体の記憶領域内に管理情報を記録し、この管理情報を用いてファイルデータを管理する。ホスト装置20は、SDインターフェース213を有する。SDインターフェース213は、ホスト装置20とメモリカードとの間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなる。ホスト装置20は、SDインターフェース213を介してメモリカードと通信を行う。SDインターフェース213は、ホスト装置20とメモリカードとが通信するのに必要な様々な取り決めを規定し、後述のメモリカードのSDインターフェース231と相互に認識可能な各種のコマンドの組を備えている。また、SDインターフェース213は、メモリカードのSDインターフェース231と接続可能なハードウェア上の構成ピンの配置、数等も含む。メモリカードは、NAND型フラッシュメモリ10、メモリ10を制御するためのコントローラ19を有する。メモリカードは、ホスト装置20に接続されたとき、およびオフ状態のホスト装置20に挿入された状態でホスト装置20がオンされたときに電源供給を受けて初期化動作を行った後、ホスト1からのアクセスに応じた処理を行う。NAND型メモリ10は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行う。ページには、各ページに固有の物理アドレスが割り当てられている。また、メモリ10は、複数のページからなる物理ブロック消去ブロックと呼ばれる単位でデータの消去を行う。なお、物理ブロック単位で物理アドレスが割り当てられていることもある。コントローラ19は、メモリ10によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページまたは物理ブロックが、どの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページまたは物理ブロックが消去状態何も書き込まれていない、または無効なデータを保持している状態であるかを管理することを含んでいる。コントローラ19は、SDインターフェース31、MPUmicroprocessingunit32、ROMreadonlymemory33、RAMrandomaccessmemory34、NANDインターフェース35を含んでいる。SDインターフェース31は、ホスト装置20とコントローラ19との間のインターフェース処理を行うのに必要なハードウェア、ソフトウェアからなり、SDインターフェース13と同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウェア上の構成ピンの配置、数等も含む。メモリカードコントローラ22は、SDインターフェース31を介してとホスト1と通信を行う。SDインターフェース31は、レジスタ36を含んでいる。MPU32は、メモリカード2全体の動作を司る。MPU32は、例えば、メモリカード2が電源供給を受けた際に、ROM33内に格納されているファームウェア制御プログラムをRAM34上に読み出して所定の処理を実行する。MPU32は、制御プログラムに従って各種のテーブルをRAM34上で作成したり、ホスト1から受けたコマンドに従ってメモリ21に対する所定の処理を実行したりする。ROM33は、MPU32により制御される制御プログラムなどを格納する。RAM34は、MPU32の作業エリアとして使用され、制御プログラムや各種のテーブルを一時的に記憶する。このようなテーブルとして、ファイルシステム12によってデータに割り当てられた論理アドレスを有するデータを実際に記憶しているページの物理アドレスの変換テーブル論物テーブルが含まれる。NANDインターフェース35は、コントローラ22とメモリ21とのインターフェース処理を行う。NAND型フラッシュメモリ10内の記憶領域は、保存されるデータの種類に応じて、例えばシステムデータ領域、機密データ領域、保護データ領域、ユーザデータ領域等を含んでいる。システムデータ領域は、コントローラ19が、その動作に必要なデータを保存するためにメモリ10内で確保しておく領域である。機密データ領域は、暗号化に用いる鍵情報や認証時に使用する機密データを保存しており、ホスト装置20からアクセスできない。保護データ領域は、重要なデータ、セキュアなデータを格納する。ユーザデータ領域は、ホスト装置20が自由にアクセスおよび使用することが可能で、例えばAVコンテンツファイルや画像データ等のユーザデータを格納する。なお、コントローラ19は、ユーザデータ領域の一部を確保し、自身の動作に必要な制御データ論物テーブル等を保存する。[第16実施形態]次に、上記NAND型フラッシュメモリ10の具体的構成例として、第16実施形態として説明する。<全体構成例>上記NAND型フラッシュメモリ10の具体的な全体構成例は、図41のように示される。図示するように、本例に係るNAND型フラッシュメモリは、メモリセルアレイ11、乱数発生回路16、制御回路19、認証回路51、ビット線制御回路52、カラムデコーダ53、データ入出力バッファ54、データ入出力端子55、ワード線駆動回路56、制御信号入力端子58、電源発生回路59を備える。メモリセルアレイ11は、複数のブロックBLOCK1~BLOCKnにより構成される。複数のブロックBLOCK1~BLOCKnのそれぞれは、ワード線およびビット線の交差位置に配置される複数のメモリセルを備える。例えば、BLOCK1は、上記ロム領域11-1である。例えば、BLOCK2は、上記秘匿領域11-2である。その他のブロックは、ホスト装置20から利用可能な一般領域Userarea11-3等である。ロム領域11-1は例えばOTPOneTimeProgramブロックであり、1回の書き込みのみ許容される。書き込み後は電気フューズ、レーザフューズ、ROMフューズ等の手段を用いてブロックデコーダを制御し消去動作を禁止する。秘匿領域11-2は、例えば外部アドレスのデコードでは選択できない状態とし、NAND型フラッシュメモリ内部の制御回路19のみが読み出し可能な領域とする。認証回路51は、例えば、上記圧縮演算回路13、バイアスドRNG14、出力部15、乱数生成回路16、順序交換回路18、ビット毎加算回路C1等を備え、制御回路19により制御される。例えば、乱数生成回路16により発生された乱数は、制御回路19の制御に従い、秘密鍵や認証処理におけるチャレンジデータの生成などに用いられ、また必要に応じて、データ入出力端子55を介して外部のホスト装置20に送信される。ビット線制御回路52は、ビット線を介してメモリセルアレイ11中のメモリセルのデータを読み出し、ビット線を介してメモリセルアレイ11中のメモリセルの状態を検出する。また、ビット線制御回路52は、ビット線を介してメモリセルアレイ11中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行う。ビット線制御回路52内には、図示しない上記ページバッファ等のデータ記憶回路12等が設けられ、このデータ記憶回路は、カラムデコーダ53によって選択される。データ記憶回路に読み出されたメモリセルのデータは、データ入出力バッファ54を介してデータ入出力端子55から外部へ出力される。データ入出力端子55は、例えば、外部のホスト装置等に接続される。データ入出力端子55は、例えば8ビット、または16ビットのバス幅を有している。NAND型フラッシュメモリはトグルモードインターフェースtogglemodeinterfaceなどの高速インターフェース規格をサポートしてもよい。トグルモードインターフェースでは、例えば、データストローブ信号DQSの立ち上がり、立ち下がり両エッジに同期してデータ入出力端子55を介したデータ転送が行われる。ホスト装置20は、例えば、マイクロコンピュータ等であって、データ入出力端子55から出力されたデータを受ける。ホスト装置20は、NAND型フラッシュメモリ10の動作を制御する各種コマンドCMD書き込みコマンド、読み出しコマンド、消去コマンド、ステータスリードコマンド等、アドレスADD、およびデータDTを出力する。ホスト装置からデータ入出力端子55に入力された書き込みデータDTは、データ入出力バッファ54を介して、カラムデコーダ53によって選択された上記データ記憶回路図示せずに供給される。一方、コマンドCMDおよびアドレスADDは、制御回路19に供給される。ワード線駆動回路56は、制御回路19の制御に従い、メモリセルアレイ11中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。電圧発生回路59は、制御回路19の制御に従い、図示中の接続された上記構成回路の動作に必要な電圧を供給する。例えば、電圧発生回路59は、ホスト装置から供給される外部電圧を昇圧して、読み出し、書き込みあるいは消去時にワード線に印加される電圧を生成する。制御回路Controller19は、NAND型フラッシュメモリ10の全体の動作を制御するために、接続される各回路に必要な制御信号および制御電圧を与える。制御回路19は、メモリセルアレイ11、認証回路51、ビット線制御回路52、カラムデコーダ53、データ入出力バッファ54、ワード線駆動回路56、電圧発生回路59に接続される。接続された上記構成回路は、制御回路19によって制御される。制御回路19は、制御信号入力端子58に接続され、ホスト装置から制御信号入力端子58を介して入力されるWEライトイネーブル信号、REリードイネーブル信号、ALEアドレスラッチイネーブル信号、CLEコマンドラッチイネーブル信号等の制御信号の組み合わせによって制御される。ここで、機能的に表現すれば、上記ワード線駆動回路56、ビット線制御回路52、カラムデコーダ53、制御回路19は、データ書き込み回路、データ読み出し回路、およびデータ消去回路を構成する。ホスト装置は、NAND型フラッシュメモリが書き込み、読み出し、消去などの内部動作を実行中であるか否かを、図示せぬRY/BYレディー/ビジー信号出力端子をモニタすることで検知する。制御回路19は、RY/BY信号出力端子を介して、RY/BY信号を出力する。<ブロックBLOCKの構成例>次に、図42を用い、メモリセルアレイを構成するブロックBLOCKの構成例について説明する。ここでは、図41中の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方向に延出するビット線BLm-1に接続される。ワード線WL0~WL7は、WL方向に延び、WL方向の複数のメモリセルの制御ゲート電極に共通に接続される。選択ゲート線SGSは、WL方向に延び、WL方向の複数の選択トランジスタS1に共通に接続される。選択ゲート線SGDも、WL方向に延び、WL方向の複数の選択トランジスタS2に共通に接続される。また、ワード線WL0~WL7ごとにページPAGEが存在する。例えば、図中の破線で囲って示すように、ワード線WL7には、ページ7PAGE7が存在する。このページPAGEごとに、後述するデータ読み出し動作、データ書き込み動作が行われるため、ページPAGEはデータ読み出し単位であり、データ書き込み単位である。<2値メモリセルSLC:SingleLevelCellの閾値分布>次に、図43を用い、2値メモリセルSLC:SingleLevelCellの閾値分布について説明する。2値メモリセルの閾値分布Vth分布では、メモリセルにデータを記録した後において、図示するような’1’、’0’の分布を示す。ここでは、消去状態Erasestateに’1’を割り当て、書き込み状態Programmedstateに’0’を割り当てている。なお、データ書き込み動作およびデータ消去動作の際には、書き込み電圧または消去電圧の印加後に、各メモリセルの閾値電圧を検査し、目標レベルに到達しないセルについては再度データ書き込み、またはデータ消去動作を継続的に制御して行うベリファイVerify動作を行う。そのため、’1’、’0’分布には、上記ベリファイ動作が完了した否かを判定するためのベリファイレベルVerifylevelが設けられる。ここで、制御の例としては、制御回路Controller19により、データ書き込み動作において、制御ゲートに印加する電圧を増す、電圧印加時間を増す、電圧印加回数を増す等を復号的に行うことで、各メモリセルの閾値電圧を目標レベルに到達させる。また、データ消去においても、同様に、半導体基板中のpウェルPwellに印加する電圧を増す、電圧印加時間を増す、電圧印加回数を増すなどを復号的に行うことで、各メモリセルの閾値電圧を目標レベルに到達させる。このようにして、書き込まれたデータは、図示するように所定の’1’、’0’の分布幅を持つ。データの読出しにおいては、’0’分布と’1’分布との中間に読み出し電圧Thresholdofreadlevelを設定することで、各メモリセルがいずれのデータを保持しているかを判別する。具体的には、制御ゲートCGに読み出し電圧を印加した際に、メモリセルMCがオン状態となれば’1’と判別し、メモリセルMCがオフ状態のままであれば’0’と判別する。なお、上記ベリファイ動作を行った場合のほうが、行わない場合に比べて、閾値分布が狭くなる。これは、個々のメモリセルによって1回の書き込み電圧の印加で注入される電子の量にばらつきがあり、早く書き込まれるメモリセルと、遅く書き込まれるメモリセルとが存在するためである。そのため、1回の書き込み電圧の印加毎に各メモリセルの閾値電圧を検査し、ベリファイレベルに到達したメモリセルについては以降の電子注入を禁止抑制し、ベリファイレベルに到達しないメモリセルについては再度書き込み電圧を印加して電子注入を継続する。結果として、ベリファイ動作を行わない場合と比較して、閾値分布は狭くなる。<多値メモリセルMLC:MultiLevelCellの閾値分布>次に、図44を用い、多値メモリセルMLC:MultiLevelCellの閾値分布について説明する。多値メモリセルでは、上記した書き込み状態Programmedstateにおける電子の注入量を細かく制御することで、例えば1個のメモリセルに2ビットを保持する場合は4つの閾値分布を形成し、また1個のメモリセルに3ビットを保持する場合は8つの閾値分布を形成する。多値メモリセルの閾値分布Vth分布のうち、本例では、1個のメモリセルに2ビットのデータを記録する例を示す。そのため、4つの閾値分布に対して、閾値電圧の低い方から順に、図示するような’11’、’01’、’00’、’10’を割り当てる。なお、以下では便宜的に、4つの閾値分布を閾値電圧の低い方から順に’E’レベル、’A’レベル、’B’レベル、’C’レベルと記載する場合がある。多値メモリセルのデータ書き込みの場合でも、上記2値メモリセルのデータ書き込みと同様に、目標とする閾値電圧に到達するよう、適宜書き込み動作を制御する。また、’11’、’01’、’00’、’10’分布には、同様にそれぞれベリファイレベルVerifylevelが設けられる。多値メモリセルにおいて、データ読み出しの際には、各分布の中間において、読み出しの電圧TH1TH2TH3を設定することで、各メモリセルが’11’、’01’、’00’、’10’のいずれのデータを保持しているかを判別する。ここで、TH2以上か否かによって識別可能なビットすなわち以下図面におけるMSBビットと、TH1以上かつTH3以下か否かによって識別可能なビットすなわち以下図面におけるLSBビットは、各々異なるページにアサインされることが多く、各々Lowerpage、Upperpageなどと呼ばれる。つまり、TH1TH2TH3を同時に用いて1つのページを読み出すのではなく、Lowerpageを読み出す場合はTH2を、Upperpageを読み出す場合はTH1及びTH3を用いる。本発明のいくつか実施形態を説明したが、これら実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"