"複数のメモリセルが配置されるメモリセルアレイと、乱数を発生させる乱数発生回路と、前記メモリセルアレイおよび前記乱数発生回路を制御するコントローラとを具備し、前記乱数生成回路は、生成した制御パラメータにより前記メモリセルを読み出したデータにもとづく乱数パラメータを生成させる乱数制御回路と、前記乱数パラメータをシード値として用いて前記乱数を発生させる擬似乱数生成回路とを備える半導体記憶装置。複数のメモリセルが配置されるメモリセルアレイと、乱数を発生させる乱数発生回路と、前記メモリセルアレイおよび前記乱数発生回路を制御するコントローラとを具備し、前記乱数生成回路は、生成した制御パラメータにより前記メモリセルを読み出したデータにもとづく乱数パラメータを生成させる乱数制御回路と、前記乱数パラメータをシード値として用いて前記乱数を発生させ、前記乱数を前記乱数制御回路に帰還させる擬似乱数生成回路とを備える半導体記憶装置。前記乱数制御回路は、前記制御パラメータを生成する制御パラメータ発生回路と、入力される前記メモリセルの読み出しデータについて積算処理を行って前記シード値を生成する積算回路とを有する請求項1または2に記載の半導体記憶装置。前記擬似乱数発生回路に与えるクロックを発生させるクロック発生回路を更に具備する請求項1乃至3のいずれかに記載の半導体記憶装置。前記擬似乱数生成回路は、設定信号入力端子に前記シード値が入力され、データ入力端子に前記乱数が入力され、クロック入力部に前記クロック生成回路より発生される前記クロックが入力されるレジスタ回路を備える請求項4に記載の半導体記憶装置。高性能な乱数を生成することができ、予測困難性を向上できる半導体記憶装置を提供する。実施形態によれば、一態様に係る半導体記憶装置は、複数のメモリセルが配置されるメモリセルアレイと、乱数を発生させる乱数発生回路と、前記メモリセルアレイおよび前記乱数発生回路を制御するコントローラとを具備し、前記乱数生成回路は、生成した制御パラメータにより前記メモリセルを読み出したデータにもとづく乱数パラメータを生成させる乱数制御回路と、前記乱数パラメータをシード値として用いて前記乱数を発生させる擬似乱数生成回路とを備える。<作用効果>第2の実施形態に係る半導体記憶装置によれば、少なくとも上記1乃至4と同様の効果が得られる。さらに、第2の実施形態に係る乱数生成回路16は、LFSR1161-1、LFSR2161-2およびTRNGController162を備え、LFSR1161-1およびLFSR2161-2には、ClockGenerator1160-1およびClockGenerator2160-2より動作クロックCLK1CLK2がそれぞれ供給される。このように、擬似乱数発生回路であるLFSR1161-1、LFSR2161-2を2つに分ける構成により、LFSR1161-1とLFSR2161-2とに入力される信号の長さの違いを利用し、長期周期性を更に向上できる点で有利である。本例では、ClockGenerator1160-1に入力されるフリーラント信号と、ClockGenerator2160-2に入力される乱数トリガー信号との長さの違いを利用して、段数1としての乱数1と、段数2としてのシード値PRESETCLRとを生成する。そのため、本例では、段数1は、段数2よりも小さい段数1<段数2方が望ましい。ClockGenerator1160-1、ClockGenerator2160-2のバリエーションに関しては、上述の通りである。[第3の実施形態乱数発生回路のその他の構成例]次に、第3の実施形態に係る半導体記憶装置について、図22を用いて説明する。この実施形態は、乱数発生回路16のその他の構成例に関するものである。この説明において、上記説明と重複する部分の詳細な説明を省略する。<乱数発生回路16の構成例>図22に示すように、第3の実施形態に係る乱数生成回路16は、LFSR1のシード設定に加えて、LFSR2から出力される疑似乱数に対して、更にTRNGController162から出力される物理乱数を用いるための排他的論理和回路XOR9をさらに備える点で、上記第2の実施形態と相違する。<作用効果>第3の実施形態に係る半導体記憶装置によれば、少なくとも上記1乃至4と同様の効果が得られる。第3の実施形態に係る乱数生成回路16は、LFSR1のシード設定に加えて、LFSR2から出力される疑似乱数に対して、更にTRNGController162から出力される物理乱数を用いるための排他的論理和回路XOR9をさらに備える。上記構成により、シード値のみならず、TRNGController162から出力される物理乱数を加えることにより、出力される乱数列Randomnumber自体にも予測困難性を付与することが可能となる。従って、より乱数性を向上できる点で更に有利である。なお、TRNGController162から出力される物理乱数のみだと、乱数の要件である一様性が保証できない場合には、疑似乱数と組み合わせても良い。[第4の実施形態乱数発生回路のその他の構成例]次に、第4の実施形態に係る半導体記憶装置について、図23を用いて説明する。この実施形態は、乱数発生回路16のその他の構成例に関するものである。この説明において、上記説明と重複する部分の詳細な説明を省略する。<乱数発生回路16の構成例>図23に示すように、第4の実施形態に係る乱数生成回路16は、LFSR1161-1に対してもTRNGController162からのシード値PRESETCLRが入力されることにより、シード設定処理を行う点で、上記第3の実施形態と相違する。<作用効果>第4の実施形態に係る半導体記憶装置によれば、少なくとも上記1乃至4と同様の効果が得られる。第4の実施形態に係る乱数生成回路16の構成によれば、LFSR1161-1に対してもTRNGController162からのシード値PRESETCLRが入力されることにより、読出し電圧設定パラメータ自身の乱数性を向上できる。そのため、ひいては最終的に出力される乱数列RamdomNumberの向上に寄与することができる点で有利である。[第5の実施形態システムの一例]次に、第5の実施形態に係るシステムについて、図24を用いて説明する。第5の実施形態に係るシステムは、上記実施形態に係る半導体記憶装置を含めたシステム例に関するものである。この説明において、上記説明と重複する部分の詳細な説明を省略する。<システム構成例>図24に示すように、第5の実施形態に係るシステムは、例えばeMMC、SD登録商標Card等が適用され得る上記第1乃至第4の実施形態に係る半導体装置100と、例えばPC、Smartphone、TabletPC等が適用され得るホスト装置200とを備えるものである。半導体記憶装置100は、上記の乱数発生回路16としてのRNGを備える。さらに、コントローラ19は、クリプトエンジン190を備える点で、上記実施形態と相違する。クリプトエンジン190は、乱数発生回路16が生成した乱数を、ホスト装置200からの乱数要求に応じて、安全な経路Securechannel199を通じて、ホスト装置側のクリプトエンジン290に通知する。ホスト装置200は、クリプトエンジン190と、アプリケーションインターフェイス210と、所定のアプリケーション220を備える。その他の構成、動作等に関しては、上記第1の実施形態と実質的に同様である。<作用効果>第5の実施形態に係る半導体記憶装置によれば、少なくとも上記1乃至4と同様の効果が得られる。さらに、本例では、コントローラ19が、乱数発生回路16が生成した乱数を、ホスト装置200からの乱数要求に応じて、安全な経路Securechannel199を通じて、ホスト装置側のクリプトエンジン290に通知するクリプトエンジン190を備える。このように、クリプトエンジン190が、安全な経路Securechannelを通じて、乱数発生回路16が生成した乱数を通知することで、システム全体の安全性をより向上できる点で有利である。以下、上記第1乃至第5の実施形態に係る乱数発生回路16により発生させた乱数を用いて、認証を行う具体例について、さらに比較例1、2および第7乃至第16の実施形態を用いて説明する。<作用効果>第7の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第7の実施形態では、NAND型フラッシュメモリ10が、ロム領域11-1、秘匿領域11-2に、それぞれ複数のXYEおよび複数のXYを記憶する点で、上記第6の実施形態と相違する。このように、複数のXYEおよび複数のXYの組を保持することで、秘密情報X及びY露見時の秘密情報の更新手段を提供することができる。仮にある1つのXYとXYEの組が中間者攻撃その他によって露見し、露見したXY及びXYEを流用した偽造デバイスが製造された場合でも、本例では、ホスト20が保持するKEY123を更新例えば、KEY1更新KEY2することができる。そのため、第7の実施形態に係る認証フローでは、ステップS14の際に、ホスト20が、認証を要求するRequestauthentication場合、いずれのXYを用いるかを指定するパラメータiを、乱数NonceHとともに、NAND型フラッシュメモリ10に送出する。このように、第7の実施形態では、NAND型フラッシュメモリ10が、複数のXY及び複数のXYEを有し、ホストデバイスからの命令によりXYEを選択的に送出する機能を有し、ホストデバイスからの命令により認証に用いるXYを選択的に設定する。また、ホストデバイスは、自身が保持する鍵に対応するXYEを選択的に読み出す機能を有し、それを復号する機能を有し、また自身が保持する鍵を所定の条件下で更新する機能を有する。その結果、露見したXY及びXYE以外の組を利用することで、偽造デバイスの排除が可能となる点で有利である。[第8の実施形態]次に、図31乃至図33を用い、第8の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図31を用い、第8の実施形態に係る構成例について説明する。図示するように、本例に係るNAND型フラッシュメモリ10は、ロム領域11-1B、秘匿領域11-2Bに、複数のXYsubEおよび複数のXYsubをそれぞれ記憶する点で、上記第7の実施形態と相違する。ここで、iとjが異なる場合、XYsubi≠XYsubj、XYsubEi≠XYsubEjである。XYsubEはXYsubを暗号化した後、訂正符号を付与したデータである。XYsubは、XYと同様に記録禁止読出禁止領域秘匿領域11-2Bに記録され、XYsubEは、XYEと同様に記録禁止読出許可領域ロム領域11-1Bに記録される。ここで、XYmainのデータサイズは、XYsubよりも大きいデータサイズ:XYmain>XYsub。また、XYmainとXYsubから構成されるデータが、前述の秘密情報XYに対応する。このように、第8の実施形態では、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値により、認証処理を行う。<認証フロー>次に、図32に沿って、第8の実施形態に係る認証動作について説明する。第8の実施形態では、NAND型フラッシュメモリ10内にはXYmainに加えてXYsubが、またそれらを暗号化したXYmainE及びXYsubEが記録される。そのため、図示するように、対応するステップS13において、ホスト10は、XYmainEXYsubEを更に読み出して復号をし、秘密情報XYmain,XYsubに基づく秘密情報XYを生成するCreateXY。続いて、ホスト20は、秘密情報XYmainとXYsubから導出された情報を用いて、同様の認証を行う。また、NAND型フラッシュメモリ10側においても同様に、ステップS15において、読み出した秘密情報XYmain,XYsubに基づいて秘密情報XYを生成するCreateXY点で、上記第7の実施形態と相違する。<作用効果>第8の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第8の実施形態では、12の効果が得られる。12秘密情報XYを効率的に記録することができ、記録時間を高速化できる点で有利である。第8の実施形態では、NAND型フラッシュメモリ10が、複数のXYsub及び複数のXYsubEを有し、ホスト20からの命令によりXYsubEを選択的に送出し、ホスト20からの命令により認証に用いるXYsubを選択的に設定し、選択されたXYsubとXYを所定の演算で導出した値により認証を行う。また、ホストデバイスは、自身が保持する鍵23Bに対応するXYsubEを選択的に読み出し、それを復号する機能22Bを有し、また自身が保持する鍵23Bを所定の条件下で更新する機能を更に有し、選択したXYsubとXYmainを所定の演算で導出した値により認証30を行う。このように、XYmainの組に加え、XYsubiXYsubEiの組を更に備えるため、秘密情報X及びYを効率的に記録することができる点で有利である。より具体的には、例えば、図33のように示される。図示するように、NAND型フラッシュメモリの製造工程において、XYmain、XYmainE、XYsub、XYsubEの複数の組は、XY発生装置XYGENにより生成され、書き込み装置Writerにより、複数のNAND型フラッシュメモリここでは、Chip1~Chip4にデータ書き込みがされる。ここで、XYmain及びXYmainEのデータは、複数のチップChip1~Chip4から構成される集団内例えばロットで同一のデータで良い。一方、XYsub及びXYsubEは、チップChip1~Chip4毎に異なるデータXYsub1~XYsub4及びXYsubE1~XYsubE4とする必要がある。このように、第8の実施形態では、データ書き込み動作において、データ量の多いXYmain及びXYmainEを複数のチップChip1~Chip4で共通化することにより、メモリへのデータ書き込みプロセスを最適化でき、効率的に記録することが可能となる。仮に、XYmain及びXYmainEをハードワイヤードで構成する場合、実際に記録するデータは、データサイズが小さいXYsub及びXYsubEとなり記録時間を短縮できる。また、仮にXYmain及びXYmainEをセル上に記録する場合において、集団内で同一であることにより、NAND型フラッシュメモリへのデータ記録装置に対して記録データを転送する時間を短縮できる。先に述べたように、記録時間の増加は、コストの増加となるため、第8の実施形態によれば、製造コストを低減することができるというメリットも大きい。[第9の実施形態多重記録される一例]次に、図34および図35を用い、第9の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図34を用い、第9の実施形態に係る構成例について説明する。第9の実施形態では、メモリ10の秘匿領域11-2に、複数のXYiを多重に複製した情報11-2A,11-2B,11-2Cを更に有する点で、上記第7の実施形態と相違する。すなわち、第7の実施形態におけるXYiを複製したデータは、図34において、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を更に備える点で、第7の実施形態と相違する。図34において、セル11-2からロードされた少なくとも2つ以上のXYのデータセットは所定の上記同様の方法により比較を行うことでエラーが含まれているか否かを検査する。仮にエラーが含まれていた場合もしくはエラーが除去できない場合、異なる2つ以上のXYのデータセットを再度ロードし、同様に検査する。これをエラーが含まれていないもしくは除去できるデータセットが見つかるまで繰り返し、同データセットが見つかった場合それを認証に用いる。上記所定の方法の例としては、2つのXYをロードし、ビット毎にXOR値を算出した後、XOR値がすべて0であるかどうか、により検査する方法が考えられる。また、3つ以上のXYをロードし、多数決判定によってビット毎にエラーを除去したXYを得る方法も考えられる。また、本図においては、XYの複製データはすべて同一データとしているが、複製データのうち奇数番号のデータと偶数番号のデータの極性が反転しているように相補関係にあるデータを構成して事前に記録しておく方法も考えられる。この場合、前記相補関係にある2つのXYをロードし、ビット毎にXOR値を算出した後、XOR値がすべて1であるかどうか、により検査することが可能である。<認証フロー>次に、図35に沿って、第9の実施形態に係る認証動作について説明する。図示するように、第9の実施形態では、NAND型フラッシュメモリ10の秘匿領域11-2内に、複数のXYが多重記録される。そのため、ステップS15の際、NAND型フラッシュメモリ10は、少なくとも2つ以上のXYを読み出し、比較し、エラーを含んでいないXYを用いて認証を行うLoadcompareXYs。<作用効果>第9の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第9の実施形態によれば、メモリ10の秘匿領域11-2に、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有する。ここで、XYEがECCが付与されている一方で、XYにはECCが付与されていないため、NAND型フラッシュメモリ内でセルから読み出したデータにエラーが含まれている場合、NAND型フラッシュメモリが認証に用いるXYの完全性が失われることも考えられる。しかしながら、第9の実施形態によれば、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有することにより、検査選択部12-0により、前記エラーが含まれているかどうかを複製データ間でのデータ比較により検出することができる。結果、メモリ10内でセルから読み出したデータにエラーが含まれている場合であっても、メモリ10が認証に用いるXYの完全性が失われることを防止できる点で更に有利である。[第10の実施形態]次に、図36および図37を用い、第10の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図36を用い、第10の実施形態に係る構成例について説明する。第10の実施形態に係る構成例は、上記第3、第9の実施形態を組み合わせたものに関する一例である。図示するように、第10の実施形態に係るNAND型フラッシュメモリ10は、秘匿領域11-2に、XYsub及びXYsubEについても複製データXYsubij及びXYsubEijを記録する点で、上記第9の実施形態と相違する。また、上記に対応するための検査選択部12-0Bおよびデータキャッシュ12Bを更に備える。<認証フロー>次に、図37に沿って、第10の実施形態に係る認証動作について説明する。第10の実施形態では、NAND型フラッシュメモリ10内に、更にXYsubも多重記録されるXYsubij及びXYsubEij。そのため、ステップS15の際、NAND型フラッシュメモリ10は、更に少なくとも2つ以上のXYsubを読み出し、比較し、エラーを含んでいないXYsubを用いて認証を行うLoadcompareXYsandXYsubs。<作用効果>第10の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第10の実施形態によれば、NAND型フラッシュメモリ10は、秘匿領域11-2に、XYsub及びXYsubEについても複製データXYsubij及びXYsubEijを記録する。必要に応じて、本例のような構成および方法を適用することが可能である。[第11の実施形態]次に、図38および図39を用い、第11の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図38を用い、第11の実施形態に係る構成例について説明する。第11の実施形態でも同様に、NAND型フラッシュメモリ10が、更に複数のXYiを複製した情報を有する。すなわち、先の第7の実施形態におけるXYiを複製したデータは本図においてXYi1XYi2XYinによって示され、1≦i≦mに対しXYi1XYi2...XYinである。また、1≦j≦nに対しXY1j≠XY2j≠...≠XYmjである。ここで、XYデータを複製することは第9の実施形態と同様であるが、本第11の実施形態においては、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を認証する。<認証フロー>次に、図39に沿って、第11の実施形態に係る認証動作について説明する。第11の実施形態では、NAND型フラッシュメモリ10内に多重記録されているXYを用いて、NAND型フラッシュメモリが複数のZを計算し、送出し、ホストデバイスは複数のZを多数決処理することで単一のZを得て、認証を行う。そのため、ステップS17の際、NAND型フラッシュメモリ10は、計算した複数のZjをホスト20に送信する。続いて、ステップS18の際、ホスト20は、複数のZの多数決判定部Majoritycheckを更に行う点で、相違する。<作用効果>第11の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第11の実施形態では、NAND型フラッシュメモリ10が、更に複数のXYiを複製した情報を有する。さらに、ホスト20が、多数決判定部Majoritycheck30を備える。そのため、計算資源に制約のあるNAND型フラッシュメモリ10での比較処理を軽減でき、計算資源に余裕のあるホスト20に比較処理多数決処理30を依頼することができる。結果、NAND型フラッシュメモリ10へのコスト増加を抑制することができ、エラーの除去が可能となる点で有利である。[第12の実施形態]次に、図40および図41を用い、第12の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図40を用い、第12の実施形態に係る構成例について説明する。第12の実施形態は、上記第3、第11の実施形態を組み合わせたものの一例に関する。図示するように、NAND型フラッシュメモリ10は、XYsub及びXYsubEについても複製データ11-2B,11-1Bを更に記録する。上記第11の実施形態と同様に、複数のXYに対する認証用データzを算出して算出部15でホスト20に送信し、ホスト20側で多数決処理30を行う。<認証フロー>次に、図41に沿って、第12の実施形態に係る認証動作について説明する。第12の実施形態では、NAND型フラッシュメモリ10内に、多重記録されているXYmain及びXYsubを用いて、NAND型フラッシュメモリが複数のZを計算し、送出し、ホストデバイスは複数のZを多数決処理することで単一のZを得て、認証を行う。そのため、ステップS11の際、ホスト20は、多重記録されているXYmain及びXYsubの読み出し要求ReadXYmainEandXYsubEを行う。続いて、ステップS12の際、NAND型フラッシュメモリ10は、多重記録されているXYmain及びXYsubを読み出しLoadXYmainEandXYsubE、ホスト20に送信XYmainEandXYsubEする。<作用効果>第12の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第12の実施形態では、NAND型フラッシュメモリ10が、XYsub及びXYsubEについても複製データ11-2B,11-1Bを更に記録する。上記第11の実施形態と同様に、複数のXYに対する認証用データzを算出して算出部15でホスト20に送信し、ホスト20側で多数決処理30を行う。このように、必要に応じ、本例を適用することが可能である。[第13の実施形態MediaIDretrieveprocess]次に、図42乃至図45を用い、第13の実施形態について説明する。第8の実施形態は、上記ステップS22において、メディアIDMediaIDを算出する種々の処理MediaIDretrieveprocessに関するものである。IDretrieveprocess1IDretrieveprocess1は、図42のように示される。図示するように、この例1では、ステップRS1の際、上記の認証に用いられたXYmain及びXYsubに対して、各々一方向性関数処理Onewayfunctionが行われる。その結果が、MediaIDとして扱われる。ここで、一方向性関数処理としては、例えば、SHA1、SHA256、AEGHなどの暗号に基づく一方向性演算を用いることが可能である。IDretrieveprocess2IDretrieveprocess2は、図43のように示される。図示するように、この例2では、ステップRS1,RS2の際、上記認証に用いられたXYmain及びXYsubは、前述の認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmainとKEYXYsubのいずれか一方に相当するKEYXYを用いて、更に復号処理Decodeが行われる。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。IDretrieveprocess3IDretrieveprocess3は、図44のように示される。図示するように、この例3では、ステップRS1,RS2の際、上記の認証に用いられたXYmain及びXYsubは、上記認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmain及びKEYXYsubを用いて、更に復号処理Decodeが行われる。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。IDretrieveprocess4IDretrieveprocess4は、図45のように示される。図示するように、この例4では、ステップRS1,RS2の際、ステップRS1,RS2の際、上記の認証に用いられたXYmain及びXYsubは、上記認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmain及びKEYXYsubと異なるKEYXYmain2及びKEYXYsub2を用いて、更に復号処理Decodeが行われる。ここで、KEYXYmain2及びKEYXYsub2は同一の値であってもよい。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。[第14の実施形態MediaIDbindingprocess]次に、図46乃至図47を用い、第14の実施形態について説明する。第14の実施形態は、MediaIDの利用方法MediaIDbindingprocessに関するものである。ここで、例えば、商用動画コンテンツ等を物理媒体に記録し、再生する場合、同物理媒体に固有な識別情報をコンテンツ記録時の暗号処理に用いてコンテンツを同物理媒体にバインドする方法がとられる。コンテンツ再生時は、前記識別情報に基づく復号処理もしくは検査処理などを行い、再生された識別情報とコンテンツ記録時の暗号処理に用いられた識別情報が一致しない場合、コンテンツの再生を停止するなどの方法がとられる。ここで物理媒体としては、例えば、SDカードなどのリムーバブルメディアの場合や、携帯電話などに内蔵されているエンベデッドメモリなどが考えられる。いずれにおいても、前記方法の目的は、あるメディアに記録された暗号処理済みコンテンツを、別のメディアへと不正複製された場合、不正複製コンテンツの再生を停止させることである。そのための情報として、メディア毎に異なる上記識別情報メディアIDを利用している。IDbindingprocess1IDbindingprocess1は、図46のように示される。図示するように、この例1では、MACMessageAuthenticationCode生成処理を行い、これを不正複製の防止に用いる。具体的には、ステップBP1の際、前記識別情報としてMediaIDを用いる方法例として、コンテンツ暗号化に用いられるContentKeyにより、MediaID及びその他の情報に対し、MAC生成処理を行う。続いて、コンテンツをメディアに記録する装置においては、同MACを生成し、これをメディアに記録しておく。コンテンツをメディアから再生する装置においては、記録されているMACをMediaID、ContentKeyにより検査し、正当性が確認された場合はコンテンツを再生し、正当性が確認されない場合はコンテンツの再生を停止するなどの方法を適用することが可能である。IDbindingprocess2IDbindingprocess2は、図47のように示される。図示するように、この例1では、コンテンツ暗号化に用いられるContentKeyを生成するための情報として、MediaIDを利用する。ステップBP1の際、コンテンツをメディアに記録する装置においては、ContentKeyPrecursorと、MediaID及びContentKeyPrecursorを一方向性処理Onewayfunctionする。メディアに記録する装置においては、処理されたContentKeyによって暗号化されたコンテンツを記録しておく。コンテンツをメディアから再生する装置においては、記録されているContentKeyPrecursorとMediaIDを同様の一方向性処理をすることでContentKeyを得て、コンテンツの復号と再生を行う。ここで、MediaIDが一致しない場合、すなわち記録されているデータが異なるメディアに不正複製された場合など、には導出したContentKeyとコンテンツ暗号化に用いられているContentKeyが一致しないため、コンテンツの復号に失敗し、再生は停止される。[第15の実施形態メモリ、記憶再生ホストの一例]次に、図48を用い、第15の実施形態について説明する。第15の実施形態は、上記実施形態の構成を組み合わせたメモリカード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の復号を行うことでコンテンツを再生する。[第16の実施形態メモリ、記憶再生ホストのその他の一例]次に、図49を用い、第16の実施形態について説明する。第16の実施形態は、上記実施形態の構成を組み合わせたメモリカード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の復号を行うことでコンテンツを再生する。[第16の実施形態メモリ、コントローラ、ホストの一例]次に、図50を用い、第12実施形態について説明する。第12実施形態は、上記実施形態に適用可能な上記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は、ユーザデータ領域の一部を確保し、自身の動作に必要な制御データ論物テーブル等を保存する。本発明のいくつか実施形態を説明したが、これら実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。11...メモリセルアレイ、16...乱数発生回路、19...コントローラ、161...擬似乱数発生回路LFSR、162...乱数制御回路TRNGController。[乱数発生器乱数発生回路について]まず、実施形態の説明の前に、乱数発生器乱数発生回路の概要について説明する。上述のように、セキュリティーを要する分野において、秘密鍵や複数者間の認証処理におけるチャレンジデータなどを生成するために、乱数発生器が用いられる。この乱数発生器は、大別すると、以下の2つに分類される。第1には、確定的乱数発生器DeterministicRNGもしくは疑似乱数発生器PseudoRNGと呼ばれているものがある。これらの乱数発生器は、所定の初期値シードを設定することで乱数を発生する。確定的乱数発生器の例としては、FIPS1402AnnexCに列挙されている暗号器に基づくものや、簡易的なものとしては線形帰還シフトレジスタからなるM系列発生器などが存在する。確定的乱数発生器は、ソフトウェア単独、ハードウェア単独、両者の併用など、の構成をとることができる。第2には、不確定的乱数発生器NondeterministicRNGもしくは物理乱数発生器PhysicalRNGと呼ばれているものであり、主としてハードウェアから構成される。不確定的乱数発生器の例としては、電気回路の熱雑音ジョンソンノイズを増幅した回路や、高速発振回路と非周期の平滑化回路による構成などが存在する。ここで、上記乱数発生器から生成される乱数として要求される主な性能としては、以下の3つの性能がある。予測困難性:予測困難性とは、観測された乱数から、次段の乱数を予測できないことをいう。そのためには、例えば、非周期性、非規則性等が求められる。一様性:一様性とは、出力される乱数において、0と1との出現確率が統計的に同等であることをいう。長周期性:長周期性とは、出力される乱数が再度出力される周期が十分に長いことをいう。ここで、一様性、長周期性については、確定的乱数発生器として上に例として挙げたM系列発生器を適切なレジスタ段数で構成することで実現可能である。一方で、予測困難性については、M系列発生器では観測された乱数列から容易にM系列発生器の構成が判明するため、出力乱数が予測でき、要求性能を満たすことが困難である。このため、コンテンツ保護や決済用セキュリティーの秘密鍵生成などに用いる場合、前述のFIPS1402AnnexCに列挙された暗号器に基づくものを用いるか、もしくはICカードなどでは不確定的乱数発生器を独自の方法構成することなどが必要である。しかしながら、暗号器に基づく確定的乱数発生器は、ハードウェアにより実現する場合は多倍長演算回路や多段非線形回路などを要し、通常数10K~100Kゲート以上の回路規模を要する。一方で、不確定的乱数発生器として例に挙げた熱雑音増幅回路でも、熱雑音は大きい場合でも数十μVで、演算増幅器や差動アンプを使い、4~5桁増幅して、更に0と1のバランスを調整する回路が付加されるため、回路規模は大きくなる。また、高速発振回路と非周期の平滑化回路による構成でも、発振回路が持つ周期性が乱数に残ってしまう傾向があり、更に消費電流が大きくなるという傾向がある。そのため、上記のように、回路規模および消費電流の制約が厳しい環境においては、上記に挙げたものを適用することは困難である。近年では、上述したように、スマートフォンやタブレットPCなど、回路規模および消費電流の制約が厳しい環境においても、商用コンテンツの利用や課金決済などに用いるために性能のよい乱数を必要とする環境が増えてきている。一方で、ここで例に挙げたスマートフォンやタブレットPCなどのモバイル機器においては、不揮発性メモリとして、例えば、NAND型フラッシュメモリ等が主流として用いられるという現状がある。そのため、NAND型フラッシュメモリ等の半導体記憶装置が、乱数生成機能を有している場合の利用価値は高い。そこで、以下の実施形態では、半導体記憶装置として、NAND型フラッシュメモリを一例に挙げ、半導体記憶装置内に乱数発生器を構成する具体例について提案する。以下、実施形態について図面を参照して説明する。この説明においては、半導体記憶装置の一例として、NAND型フラッシュメモリを挙げて説明するが、これに限られることはない。尚、この説明においては、全図にわたり共通の部分には共通の参照符号を付す。[第1の実施形態]第1の実施形態に係る半導体記憶装置について、図1乃至図20を用いて説明する。<1.構成例>1-1.全体構成例まず、図1を用い、第1の実施形態に係る半導体記憶装置の全体構成例について説明する。図示するように、本例では、NAND型フラッシュメモリが一例として示される。本例に係るNAND型フラッシュメモリは、メモリセルアレイ11、乱数発生回路16、制御回路19、ビット線制御回路52、カラムデコーダ53、データ入出力バッファ54、データ入出力端子55、ワード線駆動回路56、制御信号入力端子58、電源発生回路59を備える。メモリセルアレイ11は、複数のブロックBLOCK1~BLOCKnにより構成される。複数のブロックBLOCK1~BLOCKnのそれぞれは、ワード線およびビット線の交差位置に配置される複数のメモリセルを備える。詳細については、後述する。乱数発生回路16は、外部から入力される乱数トリガーコマンドに伴い制御回路19から出力される乱数トリガー信号に従い、所定の乱数を必要に応じて発生させる。発生された乱数は、制御回路19の制御に従い、秘密鍵や認証処理におけるチャレンジデータの生成などに用いられ、また必要に応じて、データ入出力端子55を介して外部のホスト装置に送信される。本例に係る乱数発生回路16は、所定の初期値シード値を設定することで乱数を発生させる擬似乱数発生回路等を備えるものであり、擬似乱数発生回路としては、例えば、線形帰還シフトレジスタLFSRLinearFeedbackShiftResistor等がある。詳細については、後述する。ビット線制御回路52は、ビット線を介してメモリセルアレイ11中のメモリセルのデータを読み出し、ビット線を介してメモリセルアレイ11中のメモリセルの状態を検出する。また、ビット線制御回路52は、ビット線を介してメモリセルアレイ11中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行う。ビット線制御回路52内には、図示しないページバッファ等のデータ記憶回路が設けられ、このデータ記憶回路は、カラムデコーダ53によって選択される。データ記憶回路に読み出されたメモリセルのデータは、データ入出力バッファ54を介してデータ入出力端子55から外部へ出力される。データ入出力端子55は、例えば、外部のホスト装置等に接続される。データ入出力端子55は、例えば8ビット、または16ビットのバス幅を有している。NAND型フラッシュメモリはトグルモードインターフェースtogglemodeinterfaceなどの高速インターフェース規格をサポートしてもよい。トグルモードインターフェースでは、例えば、データストローブ信号DQSの立ち上がり、立ち下がり両エッジに同期してデータ入出力端子55を介したデータ転送が行われる。ホスト装置は、例えば、マイクロコンピュータ等であって、データ入出力端子55から出力されたデータを受ける。ホスト装置は、NAND型フラッシュメモリの動作を制御する各種コマンドCMD書き込みコマンド、読み出しコマンド、消去コマンド、ステータスリードコマンド、乱数トリガーコマンド等、アドレスADD、およびデータDTを出力する。ホスト装置からデータ入出力端子55に入力された書き込みデータDTは、データ入出力バッファ54を介して、カラムデコーダ53によって選択された上記データ記憶回路図示せずに供給される。一方、コマンドCMDおよびアドレスADDは、制御回路19に供給される。ワード線駆動回路56は、制御回路19の制御に従い、メモリセルアレイ11中のワード線を選択し、選択されたワード線に読み出し、書き込みあるいは消去に必要な電圧を印加する。電圧発生回路59は、制御回路19の制御に従い、図示中の接続された上記構成回路の動作に必要な電圧を供給する。例えば、電圧発生回路59は、ホスト装置から供給される外部電圧を昇圧して、読み出し、書き込みあるいは消去時にワード線に印加される電圧を生成する。制御回路Controller19は、NAND型フラッシュメモリの全体の動作を制御するために、接続される各回路に必要な制御信号および制御電圧を与える。制御回路19は、メモリセルアレイ11、乱数発生回路16、ビット線制御回路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信号を出力する。1-2.ブロックBLOCKの構成例次に、図2を用い、第1の実施形態に係るメモリセルアレイを構成するブロックBLOCKの構成例について説明する。ここでは、図1中の一ブロック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はデータ読み出し単位であり、データ書き込み単位である。1-3.メモリセルMCについて次に、図3乃至図6を用い、セル構成およびデータ書き込み等がされる場合のメモリセルMCについて説明する。図3は、消去状態ErasestateのメモリセルMCを示す。図示するように、メモリセルMCは、半導体基板Sisub51上に、トンネル絶縁膜TunnelOxideTO、浮遊ゲートFloatingGateFG、ゲート間絶縁膜IntergateOxideIGO、および制御ゲートControlGateCGが順次積層され、半導体基板51中にこの積層構造を挟むように隔離してソースSourceおよびドレインDrainが設けられる。消去状態のメモリセルMCは、浮遊ゲートFGに電子が注入されておらず、浮遊ゲートFGは正に帯電している。図4は、浮遊ゲートに電子を注入するInsertingelection際のメモリセルMCを示す。図示するように、制御ゲートCGに書き込み電圧Vpgmを与えることで、ソースドレインのチャネルを介してトンネル絶縁膜TOをトンネルさせた電子が、浮遊ゲートFGに注入される。以下、浮遊ゲートFGに電子を注入する動作を、データ書き込みと表現する場合がある。図5は、書き込み状態ProgrammedstateのメモリセルMCを示す。図示するように、書き込み状態のメモリセルMCは、浮遊ゲートFGに電子が注入されており、浮遊ゲートFGは負に帯電している。浮遊ゲートFGに電子が十分に注入されることにより、書き込み状態のメモリセルMCの閾値電圧は、消去状態のメモリセルMCの閾値電圧よりも高くなる。メモリセルMCは、この閾値電圧の変化を利用してデータを記憶する。図6は、浮遊ゲートから電子を放出するExtractingelection際のメモリセルMCを示す。図示するように、半導体基板51に消去電圧Veraを与えることで、浮遊ゲートFGに注入された電子を、トンネル絶縁膜TOをトンネルさせて、半導体基板51に放出する。以下、浮遊ゲートFGから電子を放出する動作を、データ消去と表現する場合がある。なお、本例の場合、データ書き込み、データ読み出しは、上述のページPAGE単位で行われる。また、データ消去は、上述のブロックBLOCK単位で行われる。1-4.閾値電圧分布について次に、メモリセルの閾値電圧分布について説明する。1-4-1.2値メモリセルSLC:SingleLevelCellの閾値分布まず、図7を用い、2値メモリセルSLC:SingleLevelCellの閾値分布について説明する。2値メモリセルの閾値分布Vth分布では、上記に示した動作により、メモリセルにデータを記録した後において、図示するような’1’、’0’の分布を示す。ここでは、消去状態Erasestateに’1’を割り当て、書き込み状態Programmedstateに’0’を割り当てている。なお、データ書き込み動作およびデータ消去動作の際には、書き込み電圧または消去電圧の印加後に、各メモリセルの閾値電圧を検査し、目標レベルに到達しないセルについては再度データ書き込み、またはデータ消去動作を継続的に制御して行うベリファイVerify動作を行う。そのため、’1’、’0’分布には、上記ベリファイ動作が完了した否かを判定するためのベリファイレベルVerifylevelが設けられる。ここで、制御の例としては、制御回路Controller19により、データ書き込み動作において、制御ゲートに印加する電圧を増す、電圧印加時間を増す、電圧印加回数を増す等を複合的に行うことで、各メモリセルの閾値電圧を目標レベルに到達させる。また、データ消去においても、同様に、半導体基板51中のpウェルPwellに印加する電圧を増す、電圧印加時間を増す、電圧印加回数を増すなどを複合的に行うことで、各メモリセルの閾値電圧を目標レベルに到達させる。このようにして、書き込まれたデータは、図示するように所定の’1’、’0’の分布幅を持つ。データの読出しにおいては、’0’分布と’1’分布との中間に読み出し電圧Thresholdofreadlevelを設定することで、各メモリセルがいずれのデータを保持しているかを判別する。具体的には、制御ゲートCGに読み出し電圧を印加した際に、メモリセルMCがオン状態となれば’1’と判別し、メモリセルMCがオフ状態のままであれば’0’と判別する。1-4-2.ベリファイ動作について次に、図8を用い、ベリファイ動作前後の閾値分布について説明する。図8aは、上記ベリファイ動作を行わない場合Withoutverifyの閾値分布を示す。図8bは、上記ベリファイ動作を行った場合Withverifyの閾値分布を示す。図示するように、ベリファイ動作を行った場合のほうが、行わない場合に比べて、閾値分布が狭くなる。これは、個々のメモリセルによって1回の書き込み電圧の印加で注入される電子の量にばらつきがあり、早く書き込まれるメモリセルと、遅く書き込まれるメモリセルとが存在するためである。図8aでは、ベリファイ動作を行わないため、既に十分電子が注入されたメモリセルに対しても書き込みが継続され、結果として閾値分布全体が広がっている。一方図8bでは、1回の書き込み電圧の印加毎に各メモリセルの閾値電圧を検査し、ベリファイレベルに到達したメモリセルについては以降の電子注入を禁止抑制し、ベリファイレベルに到達しないメモリセルについては再度書き込み電圧を印加して電子注入を継続する。結果として、ベリファイ動作を行わない場合と比較して、閾値分布は狭くなる。1-4-3.多値メモリセルMLC:MultiLevelCellの閾値分布次に、図9を用い、多値メモリセル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を用いる。1-4-4.劣化モードの閾値分布まず、図10を用い、劣化モードの閾値分布について説明する。ここでは、多値メモリセルにおける劣化モードを一例に挙げる。上記のように、メモリセルにデータを書き込んだ後、同メモリセルもしくは同メモリセルに近接メモリするセルに対してデータ読出しやデータ書込み動作を行うと、同セルの制御ゲートCGと半導体基板51中のpウェルPwellとの間で、書き込み電圧よりも小さいが所定の電圧が印加されるため、弱い書込み状態となり、閾値電圧が高い方向へとシフトするDirectionofreadprogramdisturb。これは、リードディスターブ、プログラムディスターブと称され、閾値分布の幅が広くなり、読み出し性能の劣化を生じ得る。これらディスターブは、NAND型フラッシュメモリの利用状況によって大きく左右される。メモリセルが受けるプログラムディスターブの影響に関しては、例えば、特開2008-117471号公報米国特許番号7613048として登録された米国出願11/934330が優先権基礎として主張するに開示されている。メモリセルが受けるリードディスターブの影響に関しては、例えば、特開2004-326867号公報米国特許番号7099190として登録された米国出願10/822177が優先権基礎として主張するに開示されている。これらの全内容は参照により組み込まれる。一方、メモリセルにデータを書き込んだ後、一定期間放置すると、浮遊ゲートFG中に保持されている電子がデトラップされ、閾値電圧が低い方向へとシフトするDirectionofdataretention。これは、データリテンションと呼ばれ、閾値分布の幅が広くなり、読み出し性能の劣化を生じ得る。データリテンションは、放置時間、放置時の温度湿度などの環境によって大きく左右される。また、メモリセルの書き換え回数例えば、消去回数が多くなると、データリテンションが悪化することが知られている。メモリセルのデータリテンション特性に関しては、例えば、特開2008-269473号公報米国出願12/107984が優先権基礎として主張するに開示されており、これらの全内容は参照により組み込まれる。このほか、データ書き込みの直後において、トンネル酸化膜TOにトラップされた電子が、浮遊ゲートFGにトラップされた電子と見掛け上区別がつかないため、これが抜け落ちるか否かで閾値電圧が変化するという現象も生じ得る。例えば、本例のようなNAND型フラッシュメモリの場合、製造プロセス微細化に伴って高密度化されているため、浮遊ゲートFGに保持できる電子量が減少し、トンネル酸化膜TOにトラップされた電子の相対寄与率が上がることから、劣化モードとして大きな要因となり得る。以上のように、NAND型フラッシュメモリのメモリセルは、その利用状況、利用環境などの多様な要因により、データ書込み後の閾値電圧分布の状態が変動する。また、再生時の環境においても、温度など利用環境により、閾値電圧分布は一定ではない。更に、それら特性は、製造時のばらつきによっても大きく変動するため、各NAND型フラッシュメモリにおける各メモリセルの状態を予測することはほぼ不可能といえる。そこで、本例では、もともとNAND型フラッシュメモリが物理的に有するこの予測困難性を、乱数生成回路16における予測困難性に利用する。そのことで、回路規模および消費電力の増大を極小化でき、高性能な乱数を生成することができる。具体的な構成等については、後述する。なお、本例では、半導体記憶装置として、NAND型フラッシュメモリを一例に挙げて説明しているが、これに限られることはない。例えば、DRAMDynamicRandomAccessMemoryやMRAMMagneticRandomAccessMemory等の半導体記憶装置においても、NAND型フラッシュメモリと同様に、読み出しデータ等がばらつく現象が発生しているからである。1-5.乱数発生回路16について次に、図11を用い、第1の実施形態に係る乱数発生回路16の構成例について説明する。図示するように、第1の実施形態に係る乱数生成回路16は、クロック発生回路160、線形帰還シフトレジスタ161、およびTRNGコントローラ162を備える。クロック発生回路ClockGenerator160は、所定のクロックCLKを、線形帰還シフトレジスタ161に供給する。なお、クロック発生回路160は、必ずしも乱数発生回路160内に配置される必要はなく、NAND型フラッシュメモリが有するものから必要なクロックCLKを供給されても良い。または、NAND型フラッシュメモリ外部から供給されるクロックCLKを用いても良い。線形帰還シフトレジスタLFSRLinearFeedbackShiftResistor擬似乱数発生回路161は、供給された動作クロックCLKにより、所定の初期値を以って動作を開始し、TRNGコントローラ162から入力される信号PRESETCLRにより、乱数RandomNumberを発生させる。TRNGコントローラTRNGController乱数制御回路162は、制御回路Controller19から供給される乱数生成トリガー信号を受け取り、処理を開始する。ここで、制御回路Controller19からから供給される乱数生成トリガー信号としては、NAND型フラッシュメモリの外部のホスト装置から入力された乱数生成に係わる要求コマンド乱数トリガーコマンドなどを用いて発生させた信号などを用いても良い。あるいは、NAND型フラッシュメモリに新たな制御信号入力端子を追加し、当該制御信号入力端子からの入力に従い乱数生成トリガー信号を生成しても良い。TRNGコントローラ162は、乱数生成トリガー信号を受領後、LFSR161から入力された乱数を用いて、読み出し電圧設定パラメータReadvoltageparameterを設定する。読み出し電圧設定パラメータReadvoltageparameterは、この乱数生成回路16の外部にあるデータ入出力バッファ54等を介して、制御回路Controller19へと出力される。または、乱数生成回路16から制御回路Controller19へ直接読み出し電圧設定パラメータReadvoltageparameterを出力しても良い。続いて、制御回路Controller19は、同読み出し電圧設定パラメータReadvoltageparameterに従って、メモリセルアレイ11に対してデータ読み出し動作を行う。このデータ読み出し処理がなされたデータPageDataは、順次、ビット線制御回路52中のページバッファ等を介して、TRNGController162へと入力される。続いて、TRNGController162は、読み出しデータに依存したPRESET値シード値を生成し、同PRESET値をLFSR161へと供給する。続いて、LFSR161は受領したPRESET値を自身のレジスタに格納し、これをシード値として利用し、乱数を生成する。上記一連の動作により、LFSR161の初期動作時に設定されているシード値が固定であっても、乱数生成トリガー信号が入力されるまでの時間自身が乱数生成パラメータとして寄与する。さらに、同LFSR161から出力される乱数によって定められた読み出し電圧設定パラメータReadvoltageparameterにより、読み出しデータが変化するため、これを再度LFSR161のシード値としてセットすることにより、乱数性を向上させることができる。ここで、乱数生成トリガー信号が、LFSR161の動作開始時から常に固定時間経過後に入力された場合では、読み出し電圧設定パラメータReadvoltageparameterは、固定となる。しかし、その場合でも前述のように、NAND型フラッシュメモリが有する劣化モードや、環境依存性などにより、読み出されるデータは一意ではないため、シード値も変化することが十分に期待できる。尚、本構成例では、LFSR161を利用する形態について示したが、要求レベルに応じて他の疑似乱数発生器などを代わりに用いることも可能である。例えば、より高度な乱数生成機能を提供したい場合、TRNGController162を物理乱数シードとして利用し、LFSR161に代わってFIPS1402に示されているようなAESAdvancedEncryptionSystem暗号に基づく疑似乱数発生器や、楕円曲線暗号に基づく疑似乱数発生器、離散対数暗号に基づく疑似乱数発生器などを用いることも可能である。これに対して、本実施形態に係る乱数生成回路16は、疑似乱数発生器の弱点ともなり得るシード設定方法に対して有効な解決策と言える。その他、前記一連の動作を更に複数回繰り返すことで、乱数性を更に向上させることができる。すなわち、仮にLFSR161が出力する読み出し電圧設定パラメータReadvoltageparameterが固定化され、読み出したデータの乱数性が低い場合においても、1bitでも異なっていれば、次段の処理に用いる読み出し電圧設定パラメータReadvoltageparameterも異なるため、乱数性が向上する。1-5-1.線形帰還シフトレジスタLFSR161の構成例次に、図12を用い、第1の実施形態に係る線形帰還シフトレジスタLFSRLinearFeedbackShiftResistor161の構成例について説明する。図示するように、第1の実施形態に係る線形帰還シフトレジスタLFSR161は、複数のレジスタ回路RG1~RG16および排他的論理和回路XOR1~XOR4から構成される。複数のレジスタ回路RG1~RG16のそれぞれのPRE端子にはレジスタ設定信号受領部としてTRNGコントローラ162よりPRESET信号が入力され、CLR端子にはレジスタ設定信号受領部としてTRNGコントローラ162よりCLR信号が入力され、D端子にはデータ入力部としてXOR4の出力または前段のレジスタ回路の出力が入力され、C端子にはクロック入力部としてクロック発生回路160よりクロックCLKが入力され、Q端子はデータ出力部として出力データを出力する。複数のレジスタ回路RG1~RG16は、前段の出力Qが次段の入力Dとなるように直列に接続される。本例では、後述するように16ビットの例を示すために、最終段のレジスタ回路RG16の出力Qを乱数RandomNumberとして用いる。必要なビット数に応じて、必要なレジスタ回路RG1~RG16の出力Qを乱数RandomNumberとして用いることが可能である。排他的論理和回路XOR1~XOR4は、その入力および出力が直列に接続される。排他的論理和回路XOR4の他方の入力はレジスタ回路RG12の出力Qに接続され、出力はレジスタ回路RG1の入力Dに接続される。排他的論理和回路XOR3の他方の入力はレジスタ回路RG13の出力Qに接続され、出力は排他的論理和回路XOR4の入力に接続される。排他的論理和回路XOR2の他方の入力はレジスタ回路RG14の出力Qに接続され、出力は排他的論理和回路XOR3の入力に接続される。排他的論理和回路XOR1の入力はレジスタ回路RG15、16の出力Qに接続され、出力は排他的論理和回路XOR2の入力に接続される。上記レジスタ回路RG1~RG16と同様に、排他的論理和回路XOR1~XOR4についても、必要なビット数および対応するレジスタ回路RGに合わせて、必要に応じて配置することが可能である。本例のような疑似乱数の生成に用いる場合、最大巡回周期を有する多項式に従って、LFSR161中のレジスタ回路RG1~16と排他的論理和回路XOR1~XOR4とが接続される。本例のような構成によって出力された乱数系列は、M系列などと称される。1-5-2.TRNGコントローラTRNGController162の構成例次に、図13を用い、第1の実施形態に係るTRNGコントローラTRNGController162の構成例について説明する。図示するように、TRNGコントローラ乱数制御回路162は、読み出し電圧設定パラメータ発生回路162Aおよび積算回路162Bにより構成される。読み出し電圧設定パラメータ発生回路Readvoltageparametergeneratorパラメータ発生回路162Aは、LFSR161の出力outputを乱数生成トリガー信号によってラッチした後、LFSR出力を後述するパラメータに展開して、読み出し電圧設定パラメータReadvoltageparameterとして出力する。積算回路Accumulators162Bは、メモリセルアレイ11より読み出した読み出しデータPageDataを受領した後、積算処理を行い、ランダムシード値Randomseedを、LFSR161へ出力する。このランダムシード値Randomseedは、LFSR161のレジスタ設定用パラメータである上記PRESET信号CLR信号の形式として出力される。1-5-3.パラメータ発生回路Readvoltageparametergenerator162Aの構成例次に、図14Aを用い、上記図13中のパラメータ発生回路Readvoltageparametergenerator162Aの構成例について説明する。図示するように、パラメータ発生回路162Aは、ページアドレス設定回路Pageaddresssetting162A-1、読出し電圧設定回路Vthlevelsetting162A-2を備える。ページアドレス設定回路Pageaddresssetting162A-1は、コントローラ19からの乱数生成トリガー信号を受けて、LFSR161の出力値を用いて、読み出すPageaddressの制御パラメータを生成する。これは、各Pageに記録されているデータが異なる場合、ベースとなるデータを変更することが乱数性の向上に更に寄与するためである。ここで、図14Bを用いて、ページアドレス設定回路162A-1によって読み出し対象に設定されたページに記録されているデータについて説明する。読み出し対象ページに記録されているデータは、乱数列によって撹拌されたデータであること、NAND型フラッシュメモリ毎に異なるデータを含むこと、同ページ内のデータは外部から読み出すことができないこと、所定タイミングで更新されること、などを満たしていることが望ましい。乱数列によって撹拌されたデータであることRandomizeddata、については、後述するように読み出されたデータは所定サイズ毎に区切られたセグメント単位で積算処理をするため、セグメント内においてデータの偏りがないことが望ましいためである。仮に、セグメント内のデータに偏りがあった場合、例えばデータの全てが1、もしくは0であった場合、設定された読出し電圧によっては読み出しデータの変動が生じない場合が起こりうるためであり、1と0の生起確率ができるだけ同じ、すなわち乱数列によって撹拌されたデータであることが望ましい。NAND型フラッシュメモリ毎に異なるデータを含むことChipuniquedata、については、全てのデータが全てのNAND型フラッシュメモリチップで共通である場合、読出し電圧と読み出しデータ間の関係において、全チップで共通の傾向が生じる可能性があるためであり、少なくとも一部のデータが異なっていることが望ましい。同ページ内のデータは外部から読み出すことができないことReadinhibitedarea、については、読み出しページ内のデータが攻撃者に入手されるか否かによって、攻撃の難易度が大きく異なるためである。例えば、何らかの手法により読み出し電圧が攻撃者に取得された場合、ページに記録されているデータと前記読み出し電圧の組み合わせから、フリップする可能性のあるビットを予想する難易度は、攻撃者がデータを把握しているか否かによって大きく異なるためである。所定タイミングで更新されることRenewaldata、については記録されているデータの少なくとも一部が更新されると、読み出すデータが必ず異なることが保証され、ひいてはランダムシード値が必ず更新されるためである。更新のタイミングとしては、NAND型フラッシュメモリの電源立ち上げ後、NAND型フラッシュメモリに乱数生成に係わるコマンドが入力された後、乱数生成後、などが考えられる。更新データとしては、更新用データフィールドをページデータの一部に設けて、同フィールド内のデータの加算による更新、同フィールド内のデータとして生成した乱数を記録、同フィールド内のデータとして記録済みデータと生成した乱数の排他的論理和を記録、などの方法が考えられる。読出し電圧設定回路Vthlevelsetting162A-2は、コントローラ19からの乱数生成トリガー信号を受けて、LFSR161の出力値を用いて、セルアレイからページを読み出す際の読み出し電圧の制御パラメータを生成する。上記回路162A-1、162A-2が生成する両パラメータが、読み出し電圧設定パラメータReadvoltageparameter信号として出力される。それは、読み出すページが、多値メモリセルの前述のLowerpage、Upperpageのどちらに相当するかによって、読出し電圧設定回路Vthlevelsetting162A-2から出力される必要なパラメータが相違してくるからである。1-5-4.積算回路Accumulators162Bの構成例次に、図15を用い、上記図13中のTRNGController162内の積算回路Accumulators162Bの構成例について説明する。図示するように、積算回路Accumulators162Bは、複数の積算回路Accumulatorを有し、読みだしたページデータPageDataからLFSR161へのシード設定値Accumulateddataを算出する。メモリセルアレイ11より読み出され、複数の積算回路Accumulatorに入力されるページデータPageDataは、所定のデータ長毎に分割され、各々積算処理がなされる。分割された各データをセグメントSegment1Nと呼ぶ。積算回路Accumulatorは、セグメントのビット加算を行う。ここで、ビット加算とは排他的論理和を用い、すなわちセグメント内のビットにおいて、1の個数が奇数であれば1を、偶数であれば0を出力する。複数の積算回路Accumulatorの個数は、必要に応じて配置すれば良い。例えば、本例では、LFSR161への出力ビットが、16ビットであれば良いため、積算回路の個数は、16個N16である。本例に係る積算回路Accumulators162Bの構成により、積算処理をすることによって、仮に読出しデータのほとんど全てが前回の読出しデータと同じであっても、1ビットでも異なるものが存在すれば積算結果が異なるため、情報エントロピーを増加させる効果があり、そのため乱数性の向上に寄与できる。また、各セグメント毎Segment1Nに算出された積算データは、各々LFSR161のシード設定値へと利用される。尚、本例では、複数の積算回路を有する場合を記しているが、単一の積算部のみを用い、セグメント境界毎にリセットを行う構成も同様に可能である。また、以下のように単一のレジスタ回路と単一の排他的論理和回路から構成されるフィードバックレジスタを用いるだけで、積算部を構成することが可能である。1-5-4.積算回路Accumulatorの構成例次に、図16を用い、上記図15中の積算回路Accumulatorの構成例について説明する。ここでは、積算回路Accumulatorを例に挙げる。図示するように、本例に係る積算回路Accumulatorは、排他的論理和回路XOR0およびレジスタ回路RG0から構成される。排他的論理和回路XOR0の入力にはセグメントデータSegmentData、レジスタ回路RG0の出力Qが入力され、出力はレジスタ回路RG0の入力Dに接続される。レジスタ回路RG0には、それぞれクロックCLK、プリチャージ信号PRE、クリア信号CLRが入力され、出力端子Qから積算信号Accumulateddataが出力される。このように、本例に係る積算回路Accumulatorでは、単一のレジスタ回路と単一排他的論理和回路から構成されるフィードバックレジスタのみで構成することが可能である。その他の積算回路Accumulatorについても同様である。<2.制御パラメータReadvoltageparameterによるデータ読み出し動作>次に、図17乃至図20を用い、上記構成例により設定される読み出し電圧設定パラメータReadvoltageparameterによるデータ読み出し動作について説明する。2-1.多値メモリセルにおけるデータ読み出しABCまず、図17を用い、多値メモリセルにおける読み出し電圧設定パラメータによるデータ読み出しについて説明する。図示するように、ここでは、読み出し電圧TH1’Th2’Th3’を、閾値電圧分布’A’、’B’、’C’の中心基準とする場合である。TRNGコントローラTRNGController162によって指定された読み出し電圧設定パラメータReadvoltageparameterは、制御回路19の制御により、メモリセルアレイ11の所定ページを読み出す際の読み出し電圧として利用される。通常のデータ読出しにおいて、データ読み出し基準読み出し電圧は、図示するTH1Th2Th3のように、各閾値電圧分布の間の中間レベルを目標に設定されている。しかしながら、本例に係る読み出し電圧設定パラメータReadvoltageparameterによれば、各閾値電圧分布の分布’A’、’B’、’C’の中心点、すなわち図中の読み出し電圧TH1’Th2’Th3’を、データ読み出し基準として設定する。このように、データ読み出し基準を、各閾値電圧分布の分布’A’、’B’、’C’の中心に設定することで、微小な閾値電圧レベルの変動においても、検出ビットのフリップ数を最大化することが可能となる。より具体的には、閾値電圧分布の分布’A’、’B’、’C’の中心点を基準とし、一定の幅を読み出し電圧TH1’Th2’Th3’の設定範囲とし、同範囲内において、LFSR161から出力された乱数を基に、TRNGController162は読み出し電圧設定パラメータReadvoltageparameterを選択する。詳細については、後述する。2-2.多値メモリセルにおけるデータ読み出しEAB次に、図18を用い、多値メモリセルにおける制御パラメータによるデータ読み出しについて説明する。図示する例は、読み出し電圧TH1’Th2’Th3’を、閾値電圧分布’E’、’A’、’B’の中間レベルを目標に設定する点で、上記図17に示した例と相違する。必要に応じて、このように設定することも同様に可能である。2-3.読み出し電圧設定パラメータReadvoltageparameterと閾値電圧との関係MLC次に、図19を用い、2-1及び2-2において説明した多値メモリセルMLCにおける読み出し電圧設定パラメータReadvoltageparameterと閾値電圧との関係について、両例を包含した具体的なパラメータ設定方法を説明する。上記パラメータ設定回路Vthparamettersetting162A-2が出力する読み出し電圧設定パラメータReadvoltageparameterと、多値モードにおける各閾値電圧の関係例は、図示するようになる。図示するように、本例では、閾値電圧分布’E’、’A’、’B’、’C’について、読み出し電圧設定パラメータReadvoltageparameterによって、合計0レベルから32レベルまで選択する場合の例が示される。例えば、閾値電圧分布’E’では、閾値電圧分布’E’の中心点を基準とし、一定の幅を設定範囲として設け、同範囲を0レベルから7レベルまで所定間隔で区切っている。閾値電圧分布’A’では、閾値電圧分布’A’の中心点を基準とし、一定の幅を設定範囲として設け、同範囲を8レベルから15レベルまで所定間隔で区切っている。閾値電圧分布’B’では、閾値電圧分布’B’の中心点を基準とし、一定の幅を設定範囲として設け、同範囲を16レベルから23レベルまで所定間隔で区切っている。閾値電圧分布’C’では、閾値電圧分布’C’の中心点を基準とし、一定の幅を設定範囲として設け、同範囲を24レベルから31レベルまで所定間隔で区切っている2-3.読み出し電圧設定パラメータReadvoltageparameterと閾値電圧との関係SLC次に、図20を用い、2値メモリセルSLC:SingleLevelCellにおける読み出し電圧設定パラメータReadvoltageparameterと閾値電圧との関係について説明する。図示するように、閾値電圧分布’E’、’A’について、読み出し電圧設定パラメータReadvoltageparameterによって、合計0レベルから15レベルまで選択する場合の例が示される。例えば、閾値電圧分布’E’では、閾値電圧分布’E’の中心点を基準とし、一定の幅を設定範囲として設け、同範囲を0レベルから7レベルまで所定間隔で区切っている。閾値電圧分布’A’では、閾値電圧分布’A’の中心点を基準とし、一定の幅を設定範囲として設け、同範囲を8レベルから15レベルまで所定間隔で区切っている。この2値メモリセルの場合では、LFSR161の出力値4bitの値を10進数表現した値が上記Leveliに各々相当する。SLC記録の場合、読み出し電圧パラメータReadvoltageparameterは、単一のため、LFSR161の出力値4bitによって選択された一つの閾値電圧パラメータをTH’として用いる。<3.作用効果>第1の実施形態に係る半導体記憶装置によれば、少なくとも下記1乃至4の効果が得られる。1高性能な乱数を生成することができ、予測困難性を向上できる。上記のように、第1の実施形態に係るNAND型フラッシュメモリは、複数のメモリセルMCが配置されるメモリセルアレイ11と、乱数を発生する乱数発生回路16と、メモリセルアレイ11および乱数発生回路16を制御する制御回路Controller19とを少なくとも具備する。乱数生成回路16は、生成した読み出し電圧設定パラメータReadvoltageparameterによりメモリセルMCを読み出したデータにもとづく乱数パラメータPRESETCLRを生成する乱数制御回路162と、乱数パラメータPRESETCLRをシード値として用いて乱数Randomnumberを発生させる擬似乱数生成回路161とを備える。上記のように、本例に係る乱数発生回路16は、メモリセルMCを読み出したデータにもとづく乱数パラメータPRESETCLRをシード値として用いて乱数Randomnumberを発生させる擬似乱数生成回路161を備える。このように、本例では、第一に、乱数を生成させる構成として、NAND型フラッシュメモリの読出しデータにおける閾値電圧分布の時変性を利用することができる。より具体的には、図10を用いた劣化モードの閾値電圧分布において説明したように、NAND型フラッシュメモリのメモリセルは、その利用状況、利用環境などの多様な要因により、データ書き込み後の閾値電圧分布の状態が変動する。また、再生時の環境においても、温度など利用環境により、閾値電圧分布は一定ではない。更に、それら特性は、製造時のばらつきによっても大きく変動するため、各NAND型フラッシュメモリにおける各メモリセルの状態を予測することはほぼ不可能といえる。このように、本例では、もともと本来的にNAND型フラッシュメモリが物理的に有するこの予測困難性を、乱数生成回路16が生成する乱数Randomnumberの予測困難性に利用することができる。従って、高性能な乱数Randomnumberを生成することができ、予測困難性を向上できる点で有利である。2乱数の一様性と長周期性とを保証することができる。さらに、乱数生成回路16が備える擬似乱数生成回路161は、発生させた乱数Randomnumberを乱数制御回路162に再び帰還させる。上記構成によれば、第二に、生成された高性能な上記乱数Randomnumberを、乱数制御回路162のいわば初期値として再び用いることで、乱数Randomnumberの一様性と長周期性とを保証することができる。3乱数発生回路16の回路規模および消費電力の増大を極小化できる。上記のように、本例では、乱数発生回路16が乱数を生成させる構成として、もともと本来的にNAND型フラッシュメモリが物理的に有する予測困難性を利用する。従って、本例に係る乱数発生回路16は、高度な乱数を発生させるために、回路規模を増大させる必要もなく、また消費電力の増大もなく、これらを極小化できる点で有利である。このように、本例に係る乱数発生回路16は、回路規模および消費電流の制約が厳しい、例えば、近年のスマートフォンやタブレットPCなどの環境においても、商用コンテンツの利用や課金決済などに用いるための高性能な乱数を発生させるものとして適用することが可能となる。一方で、ここで例に挙げたスマートフォンやタブレットPCなどのモバイル機器においては、不揮発性メモリとして、例えば、NAND型フラッシュメモリ等が主流として用いられるという現状がある。そのため、本例のように、NAND型フラッシュメモリが、コントローラ19と独立した乱数生成回路16を備える構成の利用価値は高いと言える。また、製造コストの低減に対しても有利である。4シード値RESETCLRの情報エントロピーを高め、乱数性を向上できる。本例に係る乱数制御回路162は、乱数を乱数生成トリガー信号トリガーとしてラッチして閾値電圧の読み出し電圧設定パラメータ信号Readvoltageparameterを生成するパラメータ発生回路162Aと、読み出しデータPageDataについて積算処理を行ったシード値RESETCLRを生成する積算回路162Bとを備える。上記の構成のように、メモリセルアレイ11から読み出されたデータPageDataは、積算回路162Bによる所定のセグメント単位での積算による平滑化処理を行うことで、発生されるシード値RESETCLRの情報エントロピーを高めることができる。そのため、情報エントロピーを高め、乱数性を向上できる点で有利である。[第2の実施形態乱数発生回路のその他の構成例]次に、第2の実施形態に係る半導体記憶装置について、図21を用いて説明する。この実施形態は、乱数発生回路16のその他の構成例に関するものである。この説明において、上記第1の実施形態と重複する部分の詳細な説明を省略する。<乱数発生回路16の構成例>図21に示すように、第2の実施形態に係る乱数生成回路16は、LFSR1161-1、LFSR2161-2およびTRNGController162を備え、LFSR1161-1およびLFSR2161-2には、ClockGenerator1160-1およびClockGenerator2160-2より動作クロックCLK1CLK2がそれぞれ供給される点で、上記第1の実施形態と相違する。ClockGenerator1160-1は、外部から供給されるフリーラントリガー信号によって、動作がイネーブルされる。ここで、フリーラントリガー信号としては、例えば、NAND型フラッシュメモリのインターフェースにおけるチップイネーブル信号、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号CLEを用いても良い。また、前記イネーブル信号は、単独で用いてもよいし、複合的に用いてもよい。更に、他の信号、例えばリードイネーブル信号RE、ライトイネーブル信号WEなどを用いてもよい。ClockGenerator1160-1は、フリーラントリガー信号がONの場合に動作し、LFSR1にクロックCLK1を供給する。LFSR1161-1は、供給されたクロックCLK1により、所定の初期値を持って動作を開始し、乱数1を段数1として出力する。前記外部から供給されるイネーブル信号の供給時間によって、LFSR1161-1が動作する期間、すなわちLFSR1161-1から出力される値は更新されていく。TRNGController162は、コントローラ19から供給される乱数生成トリガー信号を受け取り、処理を開始する。ここで外部から供給される乱数生成トリガー信号としては、NAND型フラッシュメモリの外部から入力された乱数生成に係わる要求コマンドなどをトリガーとして発生させた信号などを用いる。TRGController162は、トリガー信号を受領後、LFSR1161-1から入力された乱数1を用いて、読み出し電圧設定パラメータReadvoltageparameterを設定する。同読み出し電圧設定パラメータReadvoltageparameterは、乱数生成回路16の外部へと出力され、NAND型フラッシュメモリのコントローラ19、同パラメータに従って所定のセルアレイに対してデータ読出し処理を行う。前記読出し処理がなされたデータは、順次TRNGController162へと入力される。TRNGController162は、読み出しデータに依存したシード値PRESETCLRを生成し、同シード値を段数2としてLFSR2へと供給する。LFSR2161-2は、受領したシード値PRESETCLRを、内包するレジスタに格納し、このシード値を用いて、乱数RandomNumberを生成する。本例のLFSR1161-1、LFSR2161-2およびTRNGController162は、上記第1の実施形態で説明したLFSR擬似乱数発生回路161およびTRNGController乱数制御回路162と同様の構成である。なお、ClockGenerator1160-1とClockGenerator2160-2は乱数生成回路16の内部に有していてもよいし、NAND型フラッシュメモリが有するクロック生成器を流用してもよい。また、ClockGenerator2160-2を用意せず、ClockGenerator1160-1のクロックをLFSR1161-1及びLFSR2160-2の動作クロックとして供給してもよい。NAND型フラッシュメモリがもともと有するクロック生成器と乱数生成回路16に用いるクロック生成器では、要求される動作周波数帯が異なる場合が多く、また動作が必要とするタイミングも異なる。例えば、NAND型フラッシュメモリが有するクロック生成器は、例えば、数十~数百メガヘルツ等の高速周波数で動作する必要があるが、乱数生成回路16においては生成する乱数のサイズ及び要求動作時間にもよるが、一般には低速であってもよい。この場合、高速なNAND型フラッシュメモリがもともと有するクロック生成器とは別に、本例のような低速なクロック生成器を用意することで、消費電力の低減に寄与できる。また、NAND型フラッシュメモリの一般動作に用いるクロックとしては出来るだけクロックの品質が良い方が望ましいが、乱数生成回路16として見た場合は、動作クロックの品質にばらつきがある方が望ましい。これは、品質ばらつきが予測困難性に寄与するためである。ここでいう品質とは、例えばクロックジッタの量や、温度変化によるクロック周波数変動性などである。また、本例のように、クロック生成器を複数用意することは、前述の品質ばらつき要因を増やすことに相当し、乱数性の向上に寄与する。これらは、乱数性の要求性能と回路サイズ消費電力などのペナルティをどのように設計するかに依存する。本例では、いずれにおいても適用することが可能である。その他の構成、動作等に関しては、上記第1の実施形態と実質的に同様である。<作用効果>第2の実施形態に係る半導体記憶装置によれば、少なくとも上記1乃至4と同様の効果が得られる。さらに、第2の実施形態に係る乱数生成回路16は、LFSR1161-1、LFSR2161-2およびTRNGController162を備え、LFSR1161-1およびLFSR2161-2には、ClockGenerator1160-1およびClockGenerator2160-2より動作クロックCLK1CLK2がそれぞれ供給される。このように、擬似乱数発生回路であるLFSR1161-1、LFSR2161-2を2つに分ける構成により、LFSR1161-1とLFSR2161-2とに入力される信号の長さの違いを利用し、長期周期性を更に向上できる点で有利である。本例では、ClockGenerator1160-1に入力されるフリーラント信号と、ClockGenerator2160-2に入力される乱数トリガー信号との長さの違いを利用して、段数1としての乱数1と、段数2としてのシード値PRESETCLRとを生成する。そのため、本例では、段数1は、段数2よりも小さい段数1<段数2方が望ましい。ClockGenerator1160-1、ClockGenerator2160-2のバリエーションに関しては、上述の通りである。[第3の実施形態乱数発生回路のその他の構成例]次に、第3の実施形態に係る半導体記憶装置について、図22を用いて説明する。この実施形態は、乱数発生回路16のその他の構成例に関するものである。この説明において、上記説明と重複する部分の詳細な説明を省略する。<乱数発生回路16の構成例>図22に示すように、第3の実施形態に係る乱数生成回路16は、LFSR1のシード設定に加えて、LFSR2から出力される疑似乱数に対して、更にTRNGController162から出力される物理乱数を用いるための排他的論理和回路XOR9をさらに備える点で、上記第2の実施形態と相違する。<作用効果>第3の実施形態に係る半導体記憶装置によれば、少なくとも上記1乃至4と同様の効果が得られる。第3の実施形態に係る乱数生成回路16は、LFSR1のシード設定に加えて、LFSR2から出力される疑似乱数に対して、更にTRNGController162から出力される物理乱数を用いるための排他的論理和回路XOR9をさらに備える。上記構成により、シード値のみならず、TRNGController162から出力される物理乱数を加えることにより、出力される乱数列Randomnumber自体にも予測困難性を付与することが可能となる。従って、より乱数性を向上できる点で更に有利である。なお、TRNGController162から出力される物理乱数のみだと、乱数の要件である一様性が保証できない場合には、疑似乱数と組み合わせても良い。[第4の実施形態乱数発生回路のその他の構成例]次に、第4の実施形態に係る半導体記憶装置について、図23を用いて説明する。この実施形態は、乱数発生回路16のその他の構成例に関するものである。この説明において、上記説明と重複する部分の詳細な説明を省略する。<乱数発生回路16の構成例>図23に示すように、第4の実施形態に係る乱数生成回路16は、LFSR1161-1に対してもTRNGController162からのシード値PRESETCLRが入力されることにより、シード設定処理を行う点で、上記第3の実施形態と相違する。<作用効果>第4の実施形態に係る半導体記憶装置によれば、少なくとも上記1乃至4と同様の効果が得られる。第4の実施形態に係る乱数生成回路16の構成によれば、LFSR1161-1に対してもTRNGController162からのシード値PRESETCLRが入力されることにより、読出し電圧設定パラメータ自身の乱数性を向上できる。そのため、ひいては最終的に出力される乱数列RamdomNumberの向上に寄与することができる点で有利である。[第5の実施形態システムの一例]次に、第5の実施形態に係るシステムについて、図24を用いて説明する。第5の実施形態に係るシステムは、上記実施形態に係る半導体記憶装置を含めたシステム例に関するものである。この説明において、上記説明と重複する部分の詳細な説明を省略する。<システム構成例>図24に示すように、第5の実施形態に係るシステムは、例えばeMMC、SD登録商標Card等が適用され得る上記第1乃至第4の実施形態に係る半導体装置100と、例えばPC、Smartphone、TabletPC等が適用され得るホスト装置200とを備えるものである。半導体記憶装置100は、上記の乱数発生回路16としてのRNGを備える。さらに、コントローラ19は、クリプトエンジン190を備える点で、上記実施形態と相違する。クリプトエンジン190は、乱数発生回路16が生成した乱数を、ホスト装置200からの乱数要求に応じて、安全な経路Securechannel199を通じて、ホスト装置側のクリプトエンジン290に通知する。ホスト装置200は、クリプトエンジン190と、アプリケーションインターフェイス210と、所定のアプリケーション220を備える。その他の構成、動作等に関しては、上記第1の実施形態と実質的に同様である。<作用効果>第5の実施形態に係る半導体記憶装置によれば、少なくとも上記1乃至4と同様の効果が得られる。さらに、本例では、コントローラ19が、乱数発生回路16が生成した乱数を、ホスト装置200からの乱数要求に応じて、安全な経路Securechannel199を通じて、ホスト装置側のクリプトエンジン290に通知するクリプトエンジン190を備える。このように、クリプトエンジン190が、安全な経路Securechannelを通じて、乱数発生回路16が生成した乱数を通知することで、システム全体の安全性をより向上できる点で有利である。以下、上記第1乃至第5の実施形態に係る乱数発生回路16により発生させた乱数を用いて、認証を行う具体例について、さらに比較例1、2および第7乃至第16の実施形態を用いて説明する。[比較例1HBプロトコルの一例]まず、図25を用い、比較例1について説明する。この比較例1は、HBプロトコルの一例に関するものである。HBプロトコルは、2000年にHopperとBlumらによって提案された、軽量の認証プロトコルであるHBプロトコルの改良プロトコルである。HBプロトコルは、雑音下におけるパリティ値の同定が困難であるということLPN:LearningParitywithNoiseに基づいており、受動攻撃に対する安全性が証明されている。ただし、HBプロトコルは、リーダーReaderへのなりすましといった能動攻撃に対して脆弱性がある。この点を解決するために、2005年にJuelsらにより、HBプロトコルとして提案されたものである。HBプロトコルの概要は、図25のように図示される。ここで、図25中の、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プロトコルの一例]次に、図26を用い、比較例2について説明する。この比較例2は、RandomHBプロトコルの一例に関するものである。RandomHBプロトコルは、上記比較例1に示したHBプロトコルが更に改良されたプロトコルである。上記HBプロトコルは、受動的な攻撃と能動的な攻撃に対して解決策を提供したものの、Gilbertらによって提案された中間者攻撃に対して脆弱性がある傾向にある。この点を解決するために、GilbertらによりHBプロトコルの改良方式プロトコルとして、RandomHBプロトコルとして提案されたものである。RandomHBプロトコルの概要は、図26のように図示される。ここで、図26中の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が異なる場合、異なるものである方が望ましい。その他は、上記第6の実施形態と実質的に同様であるため、詳細な説明を省略する。<認証フロー>次に、図30に沿って、第7の実施形態に係る認証動作について説明する。第7の実施形態では、NAND型フラッシュメモリ10内には複数のXY及び複数のXYEが記録されているため、ホスト20がいずれのXYを用いるかを選択することで、認証を行う。そのため、第7の実施形態では、ステップS14の際に、ホスト20が、認証を要求するRequestauthentication場合、いずれのXYを用いるかを指定するパラメータiを、乱数NonceHとともに、NAND型フラッシュメモリ10に送出する点で、相違する。その他は、上記第6の実施形態と実質的に同様であるため、詳細な説明を省略する。<作用効果>第7の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第7の実施形態では、NAND型フラッシュメモリ10が、ロム領域11-1、秘匿領域11-2に、それぞれ複数のXYEおよび複数のXYを記憶する点で、上記第6の実施形態と相違する。このように、複数のXYEおよび複数のXYの組を保持することで、秘密情報X及びY露見時の秘密情報の更新手段を提供することができる。仮にある1つのXYとXYEの組が中間者攻撃その他によって露見し、露見したXY及びXYEを流用した偽造デバイスが製造された場合でも、本例では、ホスト20が保持するKEY123を更新例えば、KEY1更新KEY2することができる。そのため、第7の実施形態に係る認証フローでは、ステップS14の際に、ホスト20が、認証を要求するRequestauthentication場合、いずれのXYを用いるかを指定するパラメータiを、乱数NonceHとともに、NAND型フラッシュメモリ10に送出する。このように、第7の実施形態では、NAND型フラッシュメモリ10が、複数のXY及び複数のXYEを有し、ホストデバイスからの命令によりXYEを選択的に送出する機能を有し、ホストデバイスからの命令により認証に用いるXYを選択的に設定する。また、ホストデバイスは、自身が保持する鍵に対応するXYEを選択的に読み出す機能を有し、それを復号する機能を有し、また自身が保持する鍵を所定の条件下で更新する機能を有する。その結果、露見したXY及びXYE以外の組を利用することで、偽造デバイスの排除が可能となる点で有利である。[第8の実施形態]次に、図31乃至図33を用い、第8の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図31を用い、第8の実施形態に係る構成例について説明する。図示するように、本例に係るNAND型フラッシュメモリ10は、ロム領域11-1B、秘匿領域11-2Bに、複数のXYsubEおよび複数のXYsubをそれぞれ記憶する点で、上記第7の実施形態と相違する。ここで、iとjが異なる場合、XYsubi≠XYsubj、XYsubEi≠XYsubEjである。XYsubEはXYsubを暗号化した後、訂正符号を付与したデータである。XYsubは、XYと同様に記録禁止読出禁止領域秘匿領域11-2Bに記録され、XYsubEは、XYEと同様に記録禁止読出許可領域ロム領域11-1Bに記録される。ここで、XYmainのデータサイズは、XYsubよりも大きいデータサイズ:XYmain>XYsub。また、XYmainとXYsubから構成されるデータが、前述の秘密情報XYに対応する。このように、第8の実施形態では、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値により、認証処理を行う。<認証フロー>次に、図32に沿って、第8の実施形態に係る認証動作について説明する。第8の実施形態では、NAND型フラッシュメモリ10内にはXYmainに加えてXYsubが、またそれらを暗号化したXYmainE及びXYsubEが記録される。そのため、図示するように、対応するステップS13において、ホスト10は、XYmainEXYsubEを更に読み出して復号をし、秘密情報XYmain,XYsubに基づく秘密情報XYを生成するCreateXY。続いて、ホスト20は、秘密情報XYmainとXYsubから導出された情報を用いて、同様の認証を行う。また、NAND型フラッシュメモリ10側においても同様に、ステップS15において、読み出した秘密情報XYmain,XYsubに基づいて秘密情報XYを生成するCreateXY点で、上記第7の実施形態と相違する。<作用効果>第8の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第8の実施形態では、12の効果が得られる。12秘密情報XYを効率的に記録することができ、記録時間を高速化できる点で有利である。第8の実施形態では、NAND型フラッシュメモリ10が、複数のXYsub及び複数のXYsubEを有し、ホスト20からの命令によりXYsubEを選択的に送出し、ホスト20からの命令により認証に用いるXYsubを選択的に設定し、選択されたXYsubとXYを所定の演算で導出した値により認証を行う。また、ホストデバイスは、自身が保持する鍵23Bに対応するXYsubEを選択的に読み出し、それを復号する機能22Bを有し、また自身が保持する鍵23Bを所定の条件下で更新する機能を更に有し、選択したXYsubとXYmainを所定の演算で導出した値により認証30を行う。このように、XYmainの組に加え、XYsubiXYsubEiの組を更に備えるため、秘密情報X及びYを効率的に記録することができる点で有利である。より具体的には、例えば、図33のように示される。図示するように、NAND型フラッシュメモリの製造工程において、XYmain、XYmainE、XYsub、XYsubEの複数の組は、XY発生装置XYGENにより生成され、書き込み装置Writerにより、複数のNAND型フラッシュメモリここでは、Chip1~Chip4にデータ書き込みがされる。ここで、XYmain及びXYmainEのデータは、複数のチップChip1~Chip4から構成される集団内例えばロットで同一のデータで良い。一方、XYsub及びXYsubEは、チップChip1~Chip4毎に異なるデータXYsub1~XYsub4及びXYsubE1~XYsubE4とする必要がある。このように、第8の実施形態では、データ書き込み動作において、データ量の多いXYmain及びXYmainEを複数のチップChip1~Chip4で共通化することにより、メモリへのデータ書き込みプロセスを最適化でき、効率的に記録することが可能となる。仮に、XYmain及びXYmainEをハードワイヤードで構成する場合、実際に記録するデータは、データサイズが小さいXYsub及びXYsubEとなり記録時間を短縮できる。また、仮にXYmain及びXYmainEをセル上に記録する場合において、集団内で同一であることにより、NAND型フラッシュメモリへのデータ記録装置に対して記録データを転送する時間を短縮できる。先に述べたように、記録時間の増加は、コストの増加となるため、第8の実施形態によれば、製造コストを低減することができるというメリットも大きい。[第9の実施形態多重記録される一例]次に、図34および図35を用い、第9の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図34を用い、第9の実施形態に係る構成例について説明する。第9の実施形態では、メモリ10の秘匿領域11-2に、複数のXYiを多重に複製した情報11-2A,11-2B,11-2Cを更に有する点で、上記第7の実施形態と相違する。すなわち、第7の実施形態におけるXYiを複製したデータは、図34において、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を更に備える点で、第7の実施形態と相違する。図34において、セル11-2からロードされた少なくとも2つ以上のXYのデータセットは所定の上記同様の方法により比較を行うことでエラーが含まれているか否かを検査する。仮にエラーが含まれていた場合もしくはエラーが除去できない場合、異なる2つ以上のXYのデータセットを再度ロードし、同様に検査する。これをエラーが含まれていないもしくは除去できるデータセットが見つかるまで繰り返し、同データセットが見つかった場合それを認証に用いる。上記所定の方法の例としては、2つのXYをロードし、ビット毎にXOR値を算出した後、XOR値がすべて0であるかどうか、により検査する方法が考えられる。また、3つ以上のXYをロードし、多数決判定によってビット毎にエラーを除去したXYを得る方法も考えられる。また、本図においては、XYの複製データはすべて同一データとしているが、複製データのうち奇数番号のデータと偶数番号のデータの極性が反転しているように相補関係にあるデータを構成して事前に記録しておく方法も考えられる。この場合、前記相補関係にある2つのXYをロードし、ビット毎にXOR値を算出した後、XOR値がすべて1であるかどうか、により検査することが可能である。<認証フロー>次に、図35に沿って、第9の実施形態に係る認証動作について説明する。図示するように、第9の実施形態では、NAND型フラッシュメモリ10の秘匿領域11-2内に、複数のXYが多重記録される。そのため、ステップS15の際、NAND型フラッシュメモリ10は、少なくとも2つ以上のXYを読み出し、比較し、エラーを含んでいないXYを用いて認証を行うLoadcompareXYs。<作用効果>第9の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第9の実施形態によれば、メモリ10の秘匿領域11-2に、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有する。ここで、XYEがECCが付与されている一方で、XYにはECCが付与されていないため、NAND型フラッシュメモリ内でセルから読み出したデータにエラーが含まれている場合、NAND型フラッシュメモリが認証に用いるXYの完全性が失われることも考えられる。しかしながら、第9の実施形態によれば、複数のXYiを複製した情報11-2A,11-2B,11-2Cを更に有することにより、検査選択部12-0により、前記エラーが含まれているかどうかを複製データ間でのデータ比較により検出することができる。結果、メモリ10内でセルから読み出したデータにエラーが含まれている場合であっても、メモリ10が認証に用いるXYの完全性が失われることを防止できる点で更に有利である。[第10の実施形態]次に、図36および図37を用い、第10の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図36を用い、第10の実施形態に係る構成例について説明する。第10の実施形態に係る構成例は、上記第3、第9の実施形態を組み合わせたものに関する一例である。図示するように、第10の実施形態に係るNAND型フラッシュメモリ10は、秘匿領域11-2に、XYsub及びXYsubEについても複製データXYsubij及びXYsubEijを記録する点で、上記第9の実施形態と相違する。また、上記に対応するための検査選択部12-0Bおよびデータキャッシュ12Bを更に備える。<認証フロー>次に、図37に沿って、第10の実施形態に係る認証動作について説明する。第10の実施形態では、NAND型フラッシュメモリ10内に、更にXYsubも多重記録されるXYsubij及びXYsubEij。そのため、ステップS15の際、NAND型フラッシュメモリ10は、更に少なくとも2つ以上のXYsubを読み出し、比較し、エラーを含んでいないXYsubを用いて認証を行うLoadcompareXYsandXYsubs。<作用効果>第10の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第10の実施形態によれば、NAND型フラッシュメモリ10は、秘匿領域11-2に、XYsub及びXYsubEについても複製データXYsubij及びXYsubEijを記録する。必要に応じて、本例のような構成および方法を適用することが可能である。[第11の実施形態]次に、図38および図39を用い、第11の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図38を用い、第11の実施形態に係る構成例について説明する。第11の実施形態でも同様に、NAND型フラッシュメモリ10が、更に複数のXYiを複製した情報を有する。すなわち、先の第7の実施形態におけるXYiを複製したデータは本図においてXYi1XYi2XYinによって示され、1≦i≦mに対しXYi1XYi2...XYinである。また、1≦j≦nに対しXY1j≠XY2j≠...≠XYmjである。ここで、XYデータを複製することは第9の実施形態と同様であるが、本第11の実施形態においては、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を認証する。<認証フロー>次に、図39に沿って、第11の実施形態に係る認証動作について説明する。第11の実施形態では、NAND型フラッシュメモリ10内に多重記録されているXYを用いて、NAND型フラッシュメモリが複数のZを計算し、送出し、ホストデバイスは複数のZを多数決処理することで単一のZを得て、認証を行う。そのため、ステップS17の際、NAND型フラッシュメモリ10は、計算した複数のZjをホスト20に送信する。続いて、ステップS18の際、ホスト20は、複数のZの多数決判定部Majoritycheckを更に行う点で、相違する。<作用効果>第11の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第11の実施形態では、NAND型フラッシュメモリ10が、更に複数のXYiを複製した情報を有する。さらに、ホスト20が、多数決判定部Majoritycheck30を備える。そのため、計算資源に制約のあるNAND型フラッシュメモリ10での比較処理を軽減でき、計算資源に余裕のあるホスト20に比較処理多数決処理30を依頼することができる。結果、NAND型フラッシュメモリ10へのコスト増加を抑制することができ、エラーの除去が可能となる点で有利である。[第12の実施形態]次に、図40および図41を用い、第12の実施形態に係る認証被認証コンポーネントおよびその認証方法について説明する。<構成例メモリシステム>図40を用い、第12の実施形態に係る構成例について説明する。第12の実施形態は、上記第3、第11の実施形態を組み合わせたものの一例に関する。図示するように、NAND型フラッシュメモリ10は、XYsub及びXYsubEについても複製データ11-2B,11-1Bを更に記録する。上記第11の実施形態と同様に、複数のXYに対する認証用データzを算出して算出部15でホスト20に送信し、ホスト20側で多数決処理30を行う。<認証フロー>次に、図41に沿って、第12の実施形態に係る認証動作について説明する。第12の実施形態では、NAND型フラッシュメモリ10内に、多重記録されているXYmain及びXYsubを用いて、NAND型フラッシュメモリが複数のZを計算し、送出し、ホストデバイスは複数のZを多数決処理することで単一のZを得て、認証を行う。そのため、ステップS11の際、ホスト20は、多重記録されているXYmain及びXYsubの読み出し要求ReadXYmainEandXYsubEを行う。続いて、ステップS12の際、NAND型フラッシュメモリ10は、多重記録されているXYmain及びXYsubを読み出しLoadXYmainEandXYsubE、ホスト20に送信XYmainEandXYsubEする。<作用効果>第12の実施形態に係る認証被認証コンポーネントおよびその認証方法によれば、上記I~IVを改善でき、少なくとも上記11の効果が得られる。さらに、第12の実施形態では、NAND型フラッシュメモリ10が、XYsub及びXYsubEについても複製データ11-2B,11-1Bを更に記録する。上記第11の実施形態と同様に、複数のXYに対する認証用データzを算出して算出部15でホスト20に送信し、ホスト20側で多数決処理30を行う。このように、必要に応じ、本例を適用することが可能である。[第13の実施形態MediaIDretrieveprocess]次に、図42乃至図45を用い、第13の実施形態について説明する。第8の実施形態は、上記ステップS22において、メディアIDMediaIDを算出する種々の処理MediaIDretrieveprocessに関するものである。IDretrieveprocess1IDretrieveprocess1は、図42のように示される。図示するように、この例1では、ステップRS1の際、上記の認証に用いられたXYmain及びXYsubに対して、各々一方向性関数処理Onewayfunctionが行われる。その結果が、MediaIDとして扱われる。ここで、一方向性関数処理としては、例えば、SHA1、SHA256、AEGHなどの暗号に基づく一方向性演算を用いることが可能である。IDretrieveprocess2IDretrieveprocess2は、図43のように示される。図示するように、この例2では、ステップRS1,RS2の際、上記認証に用いられたXYmain及びXYsubは、前述の認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmainとKEYXYsubのいずれか一方に相当するKEYXYを用いて、更に復号処理Decodeが行われる。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。IDretrieveprocess3IDretrieveprocess3は、図44のように示される。図示するように、この例3では、ステップRS1,RS2の際、上記の認証に用いられたXYmain及びXYsubは、上記認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmain及びKEYXYsubを用いて、更に復号処理Decodeが行われる。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。IDretrieveprocess4IDretrieveprocess4は、図45のように示される。図示するように、この例4では、ステップRS1,RS2の際、ステップRS1,RS2の際、上記の認証に用いられたXYmain及びXYsubは、上記認証処理においてXYmainE及びXYsubEの復号に用いられたKEYXYmain及びKEYXYsubと異なるKEYXYmain2及びKEYXYsub2を用いて、更に復号処理Decodeが行われる。ここで、KEYXYmain2及びKEYXYsub2は同一の値であってもよい。続いて、ステップRS3の際、同様の一方向性関数処理Onewayfunctionが行われ、その結果がMediaIDとして扱われる。[第14の実施形態MediaIDbindingprocess]次に、図46乃至図47を用い、第14の実施形態について説明する。第14の実施形態は、MediaIDの利用方法MediaIDbindingprocessに関するものである。ここで、例えば、商用動画コンテンツ等を物理媒体に記録し、再生する場合、同物理媒体に固有な識別情報をコンテンツ記録時の暗号処理に用いてコンテンツを同物理媒体にバインドする方法がとられる。コンテンツ再生時は、前記識別情報に基づく復号処理もしくは検査処理などを行い、再生された識別情報とコンテンツ記録時の暗号処理に用いられた識別情報が一致しない場合、コンテンツの再生を停止するなどの方法がとられる。ここで物理媒体としては、例えば、SDカードなどのリムーバブルメディアの場合や、携帯電話などに内蔵されているエンベデッドメモリなどが考えられる。いずれにおいても、前記方法の目的は、あるメディアに記録された暗号処理済みコンテンツを、別のメディアへと不正複製された場合、不正複製コンテンツの再生を停止させることである。そのための情報として、メディア毎に異なる上記識別情報メディアIDを利用している。IDbindingprocess1IDbindingprocess1は、図46のように示される。図示するように、この例1では、MACMessageAuthenticationCode生成処理を行い、これを不正複製の防止に用いる。具体的には、ステップBP1の際、前記識別情報としてMediaIDを用いる方法例として、コンテンツ暗号化に用いられるContentKeyにより、MediaID及びその他の情報に対し、MAC生成処理を行う。続いて、コンテンツをメディアに記録する装置においては、同MACを生成し、これをメディアに記録しておく。コンテンツをメディアから再生する装置においては、記録されているMACをMediaID、ContentKeyにより検査し、正当性が確認された場合はコンテンツを再生し、正当性が確認されない場合はコンテンツの再生を停止するなどの方法を適用することが可能である。IDbindingprocess2IDbindingprocess2は、図47のように示される。図示するように、この例1では、コンテンツ暗号化に用いられるContentKeyを生成するための情報として、MediaIDを利用する。ステップBP1の際、コンテンツをメディアに記録する装置においては、ContentKeyPrecursorと、MediaID及びContentKeyPrecursorを一方向性処理Onewayfunctionする。メディアに記録する装置においては、処理されたContentKeyによって暗号化されたコンテンツを記録しておく。コンテンツをメディアから再生する装置においては、記録されているContentKeyPrecursorとMediaIDを同様の一方向性処理をすることでContentKeyを得て、コンテンツの復号と再生を行う。ここで、MediaIDが一致しない場合、すなわち記録されているデータが異なるメディアに不正複製された場合など、には導出したContentKeyとコンテンツ暗号化に用いられているContentKeyが一致しないため、コンテンツの復号に失敗し、再生は停止される。[第15の実施形態メモリ、記憶再生ホストの一例]次に、図48を用い、第15の実施形態について説明する。第15の実施形態は、上記実施形態の構成を組み合わせたメモリカード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の復号を行うことでコンテンツを再生する。[第16の実施形態メモリ、記憶再生ホストのその他の一例]次に、図49を用い、第16の実施形態について説明する。第16の実施形態は、上記実施形態の構成を組み合わせたメモリカード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の復号を行うことでコンテンツを再生する。[第16の実施形態メモリ、コントローラ、ホストの一例]次に、図50を用い、第12実施形態について説明する。第12実施形態は、上記実施形態に適用可能な上記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は、ユーザデータ領域の一部を確保し、自身の動作に必要な制御データ論物テーブル等を保存する。本発明のいくつか実施形態を説明したが、これら実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。"