"ホストコンピュータに接続されるメモリシステムであって、保護対象の情報を格納する第1記憶部と、前記第1記憶部に対するアクセスを制御する第1制御部と、前記保護対象の情報の使用中における前記ホストコンピュータの状態の履歴情報と読み出し条件に関連づけられた重要情報とを格納する第2記憶部と、前記履歴情報と前記読み出し条件とに応じて前記第2記憶部に格納されている重要情報を前記ホストコンピュータに出力する第2制御部と、を備えるメモリシステム。請求項1に記載のメモリシステムであって、前記重要情報は、前記保護対象の情報を前記ホストコンピュータが使用するために使用する情報であるメモリシステム。請求項1または2に記載のメモリシステムであって、前記第2制御部は、前記ホストコンピュータからの状態遷移命令に応じて前記履歴情報を更新するメモリシステム。保護対象の情報を使用するホストコンピュータに接続されるセキュリティメモリであって、前記保護対象の情報の使用中における前記ホストコンピュータの状態の履歴情報と読み出し条件に関連づけられた重要情報とを格納する記憶部と、前記履歴情報と前記読み出し条件とに応じて前記記憶部に格納されている重要情報を前記ホストコンピュータに出力する制御部と、を備えるセキュリティメモリ。ホストコンピュータに接続されるメモリシステムに格納される保護対象の情報を保護する情報保護方法であって、読み出し条件に関連づけられた重要情報を格納する工程と、前記保護対象の情報の使用中における前記ホストコンピュータの状態の履歴情報を記録する工程と、前記履歴情報と前記読み出し条件とに応じて重要情報を前記ホストコンピュータに出力する工程と、を有する情報保護方法。ところが、特許文献1に記載された技術において、鍵データが特定された場合には、プログラムの解読が可能になり、プログラムを無断で実施される可能性があるという問題があった。本発明は、上記課題に鑑みてなされたものであり、保護対象の情報の無断実施を抑制する技術を提供することを目的とする。上記の課題を解決するため、請求項1の発明は、ホストコンピュータに接続されるメモリシステムであって、保護対象の情報を格納する第1記憶部と、前記第1記憶部に対するアクセスを制御する第1制御部と、前記保護対象の情報の使用中における前記ホストコンピュータの状態の履歴情報と読み出し条件に関連づけられた重要情報とを格納する第2記憶部と、前記履歴情報と前記読み出し条件とに応じて前記第2記憶部に格納されている重要情報を前記ホストコンピュータに出力する第2制御部とを備える。また、請求項2の発明は、請求項1の発明に係るメモリシステムであって、前記重要情報は、前記保護対象の情報を前記ホストコンピュータが使用するために使用する情報である。また、請求項3の発明は、請求項1または2の発明に係るメモリシステムであって、前記第2制御部は、前記ホストコンピュータからの状態遷移命令に応じて前記履歴情報を更新する。また、請求項4の発明は、保護対象の情報を使用するホストコンピュータに接続されるセキュリティメモリであって、前記保護対象の情報の使用中における前記ホストコンピュータの状態の履歴情報と読み出し条件に関連づけられた重要情報とを格納する記憶部と、前記履歴情報と前記読み出し条件とに応じて前記記憶部に格納されている重要情報を前記ホストコンピュータに出力する制御部とを備える。また、請求項5の発明は、ホストコンピュータに接続されるメモリシステムに格納される保護対象の情報を保護する情報保護方法であって、読み出し条件に関連づけられた重要情報を格納する工程と、前記保護対象の情報の使用中における前記ホストコンピュータの状態の履歴情報を記録する工程と、前記履歴情報と前記読み出し条件とに応じて重要情報を前記ホストコンピュータに出力する工程とを有する。請求項1ないし5に記載の発明は、保護対象の情報の使用中におけるホストコンピュータの状態の履歴情報と読み出し条件とに応じて重要情報をホストコンピュータに出力する。これにより、ホストコンピュータの状態の履歴に応じて重要情報が選択されるため、すべての重要情報を確実に読み出して複製するためには、発生しうるホストコンピュータの状態の履歴をすべて再現しなければならない。したがって、複製を作成することが困難となる。また、既存のホストコンピュータの設計変更を必要とせず、安価にセキュリティレベルを向上させることができる。また、例えば、保護対象の情報ごとに変更できるので、一旦、セキュリティを破られても、容易に再構築できる。以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。<1.第1の実施の形態>図1は、本発明に係るメモリシステム1を備えるコンピュータシステムを示す図である。コンピュータシステムは、本発明に係るメモリシステム1と、一般的なコンピュータとしての機能を有するホストコンピュータ10とを備えている。メモリシステム1は、主に、ROM2と、セキュリティメモリ3とを備えている。本実施の形態におけるメモリシステム1は、ホストコンピュータ10のカードスロット図示せず。に対して着脱自在に構成されている。すなわち、メモリシステム1がホストコンピュータ10のカードスロットに装着されると、メモリシステム1とホストコンピュータ10とが電気的に接続され、メモリシステム1にホストコンピュータ10から電力が供給されて、メモリシステム1が動作可能な状態となる。一方、メモリシステム1がカードスロットから取り外されると、メモリシステム1は可搬性の記憶媒体として機能し、ユーザはメモリシステム1を自由に持ち運ぶことが可能となる。このようなメモリシステム1としては、例えば、メモリカードやゲームカセットが該当するがこれに限定されるものではない。図1に示すように、ROM2は、第1制御部20と、保護対象の情報であるプログラム22を格納する第1記憶部21とを備えている。本実施の形態におけるROM2は、一体型の半導体集積回路ワンチップ構造の回路としての構造を有している。第1制御部20は、ホストコンピュータ10からの要求に応じて、第1記憶部21に格納されている各種データを読み出してホストコンピュータ10に出力する機能を有している。また、第1制御部20は、ホストコンピュータ10との間で、第1記憶部21に格納されたデータ保護対象の情報に対するセキュリティ機能を提供する。第1制御部20が提供するセキュリティ機能としては従来より提案されている様々な手法を適宜採用できるため、以下では詳細な説明は省略する。なお、本発明においては、ROM2に対するセキュリティ機能は必須ではなく、第1制御部20が特にセキュリティ機能を提供しないものでもよい。第1記憶部21は、複数の不揮発性の記憶素子が規則的に配列した構造を有している。本実施の形態における第1記憶部21を構成する記憶素子は、ホストコンピュータ10によるデータの書き込みができない素子である。したがって、ROM2は、メモリシステム1においては、読み取り専用の記憶装置例えば、マスクROMやEPROMなどとして構成されている。なお、第1記憶部21を構成する記憶素子は、読み書き可能な記憶素子が採用されてもよい。第1記憶部21には、主に、プログラム22が記憶される。ただし、プログラム22以外にも、第1制御部20がセキュリティ機能を提供するために必要な他のデータや様々なコンテンツに関する情報などが第1記憶部21に格納されていてもよい。プログラム22は、保護対象の情報であり、ホストコンピュータ10によって実行される。そして、プログラム22には、ホストコンピュータ10によって実行されるときの当該プログラム22の進行状況がマーカーコード等により定義されている。以下の説明では、プログラム22の進行状況として、当該プログラム22には、N個の状態C1,C2,,CN-1,CNが定義されているものとするNは2以上の自然数。本実施の形態では、プログラム22を起動したときの初期状態をC1とする。そして、プログラム22を実行中に状態が変化遷移するときには、現在の状態と遷移先の状態との相対的な差がプログラム22を実行することによりホストコンピュータ10に通知されるものとするそのようにプログラム22が記述されているものとする。なお、本実施の形態における説明では、現在の状態を、C0と称し、直前の状態をC-1と称し、遷移先の状態をC1と称する。そして、このC0は、現在、ホストコンピュータ10がプログラム22におけるどの部分を実行しているかを示す情報であり、ホストコンピュータ10のその時点における状態を示す情報状態情報である。なお、当然のことであるが、本実施の形態におけるC0は、C1,,CNのいずれかである。セキュリティメモリ3は、第2制御部30と、第2記憶部31とを備えている。本実施の形態におけるセキュリティメモリ3は、ROM2と同様に、一体型の半導体集積回路として構築されている。このように、第2制御部30と第2記憶部31とが単一の回路で構成されると、不正な複製を企図する者は、例えば、重要情報330を読み出すことが困難であり、セキュリティメモリ3を容易に制御、観測をすることができない。したがって、メモリシステム1のセキュリティ機能が向上する。第2制御部30は、セキュリティメモリ3におけるセキュリティ機能を提供するセキュリティ回路を構成している。第2制御部30は、ホストコンピュータ10からの要求に応じて、第2記憶部31に格納されている各種データを読み出してホストコンピュータ10に出力する機能と、第2記憶部31に各種データを格納する機能とを有している。すなわち、第2制御部30は、第2記憶部31に対するアクセスを制御する機能を有している。また、第2制御部30は、第2記憶部31に格納されている情報を管理する機能を有しているが、第2制御部30の機能および動作の詳細については、後述する。図2は、第1の実施の形態における第2記憶部31の記憶領域を例示する図である。第2記憶部31は、複数の不揮発性の記憶素子が規則的に配列した構造を有している。本実施の形態における第2記憶部31を構成する記憶素子は、ホストコンピュータ10によるデータの読み出しのみならず、データの書き込みも可能な記憶素子例えば、フラッシュメモリである。したがって、セキュリティメモリ3は、メモリシステム1において、読み書き可能な記憶装置として構成されている。図2に示すように、第2記憶部31の記憶領域には、ユーザ領域32とセキュリティ領域33とが定義されている。ユーザ領域32は、セーブデータ130が格納される領域である。ユーザ領域32に対して、ホストコンピュータ10は、一般的なフラッシュメモリと同等のアクセス制御により、データの格納、消去、読み出しが可能である。また、セキュリティ領域33は、重要情報330、読み出し条件テーブル331、および、状態履歴情報332が格納される領域である。セーブデータ130は、ホストコンピュータ10において作成され、メモリシステム1に転送されて格納されるデータであり、主に、プログラム22の実行を、当該セーブデータ130が作成された時点から再開させるときに読み出されるバックアップ用のデータである。このように、セーブデータ130を格納することにより、本実施の形態におけるセキュリティメモリ3は、データセーブ用のバックアップメモリとしても兼用されている。なお、セーブデータ130は、プログラム22を中断する際に、ユーザの指示により作成されるが、ホストコンピュータ10が自動的にユーザの指示によらずに作成してもよい。重要情報330は、プログラム22保護対象の情報をホストコンピュータ10が使用するために、ホストコンピュータ10によって使用される情報である。すなわち、ホストコンピュータ10がプログラム22を実行し、正常に進行させ続けるためには、少なくとも特定の時点において重要情報330が必要となるようにプログラム22が予め記述されている。このような重要情報330としては、例えば、プログラム22の一部が相当する。本実施の形態におけるコンピュータシステムでは、ホストコンピュータ10は、適切なタイミングで、メモリシステム1から重要情報330を読み出して取得しておかなければ、プログラム22を正常に進行させ続けることが不可能な状態に陥る。また、重要情報330は、出力ファイルを1つの単位とする情報の集合体である。すなわち、重要情報330には、1つ以上の出力ファイルが含まれている。1つの出力ファイルとは、ホストコンピュータ10がプログラム22を実行しているときの、ある時点で必要となる一塊の情報とする。読み出し条件テーブル331は、メモリシステム1第2記憶部31から重要情報330を読み出すための条件を定義する情報である。より詳細には、読み出し条件テーブル331には、重要情報330に含まれる各出力ファイルを読み出すための条件と、当該条件に合致したときに読み出される出力ファイルの格納アドレスセキュリティ領域33のアドレスとが関連づけられて格納されている。状態履歴情報332は、プログラム22保護対象の情報の使用中におけるホストコンピュータ10の状態が、これまでに、どのような経緯を経て遷移してきたかを示す情報である。本実施の形態では、すでに説明したように、ホストコンピュータ10の現在の状態はC0であり、C1,,CNのいずれかである。ここで、プログラム22を実行中におけるホストコンピュータ10のC0が、プログラム22の正常な進行に関して、逆行することなく遷移するように定義されるならば、状態履歴情報332にはせいぜいN個の状態が記録されるだけである状況によって遷移しない状態が存在するならばN個より少ない場合もあり得る。。もちろん、このように状態C1,,CNを定義してもよい。しかし、そのような遷移は、C0が単純にインクリメントされていくだけであるため、第三者に見破られる可能性が高まり、セキュリティ上、ふさわしいとはいえない。したがって、本実施の形態では、C0は、プログラム22の実行状況によっては、直前のC-1に対して逆行することもあれば、飛ばされるあるいは遷移しないこともあるものとして定義する。例えば、正常な遷移ルートであっても、C1、C3、C5、C3と遷移して最後にCNとなって終了する場合や、C2、C6、C3と遷移して最後にC4となって終了する場合など、C0の遷移順序や遷移回数に制限がなく、あらゆるパターンが想定できるものとする。だだし、プログラム22においてC0の遷移ルートに制限を設けない場合であっても、論理上の制限を設けることはもちろん可能である。例えば、プログラム22の実行上、二者択一的な状態をそれぞれC4とC5と定義し、両方の状態を遷移したことが記録された場合には論理的に異常であると判定するなどである。本実施の形態に採用するように、状態C0の遷移ルートに制限を設けない場合において、現実に遷移した全ての状態を、その遷移順も含めて状態履歴情報332に記録することはもちろん可能である。しかし、そのように構成すると、状態履歴情報332のサイズが膨大になる懸念があり、第2記憶部31の記憶容量を圧迫するという問題が生じ得る。例えば、遊技中のユーザが物語りを先に進めるためのアイテムを見つけることができなくて、C3とC4とを延々と繰り返したりすると、状態履歴情報332にはC3、C4、C3、C4と無限に状態が記録されることになる。このような場合まで想定して、状態履歴情報332のための記憶領域を確保しておくのは現実的ではない。そこで、プログラム22の進行に伴って状態履歴情報332の容量が増大することを抑制するために、本実施の形態における状態履歴情報332のフォーマットは、直近の過去における4つの状態およびC0のみを、遷移順に格納するフォーマットとして決定されている。すなわち、現在の状態であるC0を含めて、最大で5つの状態のみが遷移順に格納されるフォーマットC-4,C-3,C-2,C-1,Cnを採用する。例えば、状態がC1→C2→C5→C3→C4→C7→C8→C3→C5と遷移し現在の状態C0がC9となっているとき、状態履歴情報332にはC7、C8、C3、C5、C9が順番に記録され、それ以前の状態は削除されている。そして、その後、状態がC9からC8に遷移すると、当該状態履歴情報332から最古の記録であるC7が削除され、新しく更新された状態履歴情報332はC8、C3、C5、C9、C8が順番に記録されたものとなる。これにより、本実施の形態では、状態履歴情報332を格納する領域第2記憶部31の記憶領域として、最大で、5つの状態を記録できる容量を確保しておけばよいことになる。なお、状態履歴情報332において、記録する過去の状態は、直近の4つに限定されるものではない。4つより少なくてもよいし、4つより多くてもよい。また、過去の状態を記録しないというフォーマットでもよい。ただし、セキュリティの強度的には、記録される状態の数が多い方が、状態履歴情報332に記録される状態の遷移パターンが増えるので好ましい。図1に戻って、ホストコンピュータ10は、制御部11、入力装置14、出力装置15およびインタフェース16を備えている。また、ホストコンピュータ10は、図示しないカードスロットを備えており、当該カードスロットにメモリシステム1を装着することが可能である。制御部11は、各種のデータの演算を行うとともにホストコンピュータ10が備える各種ハードウェアを制御するCPU12と、各種のデータを記憶する記憶部13とを備えている。これにより、ホストコンピュータ10は、一般的なコンピュータとしての構成および機能を備えている。ホストコンピュータ10の制御部11は、第1記憶部21に格納されているプログラム22を第1制御部20を介して記憶部13にロードしつつ、実行する機能を有している。また、制御部11は、メモリシステム1に対して、適宜、コマンドを発行する。制御部11が発行するコマンドとしては、特に、プログラム読み出しコマンド以下、コマンドRPと称する。、重要情報読み出しコマンド以下、コマンドRIと称する。、状態制御コマンド以下、コマンドCCと称する。、状態読み出しコマンド以下、コマンドRCと称する。がある。プログラム読み出しコマンドコマンドRPは、ROM2の第1制御部20に対して発行されるコマンドであり、第1記憶部21に格納されているプログラム22の一部を出力するように要求するコマンドである。プログラム22は、ホストコンピュータ10におけるプログラム22の進行状況すなわち、現在の状態であるC0に応じて、適宜、第1記憶部21から読み出して実行する必要がある。したがって、ホストコンピュータ10の制御部11は、C0に対応したコマンドRPを第1制御部20に対して出力することにより、C0に応じた追加のプログラム22を第1記憶部21から記憶部13にロードする。これにより、追加で読み出されたプログラム22がホストコンピュータ10において実行可能となり、これを実行することによりプログラム22が進行する。なお、以下では、C0に対応したコマンドRPをコマンドRPCnと称する。すなわち、C0がC1である場合に発行されるコマンドRPは、コマンドRPC1であり、C0がCNである場合に発行されるコマンドRPは、コマンドRPCNである。重要情報読み出しコマンドコマンドRIは、セキュリティメモリ3の第2制御部30に対して発行されるコマンドであり、第2記憶部31に格納されている重要情報330より詳細には出力ファイルを出力するように要求するコマンドである。状態制御コマンドコマンドCCは、セキュリティメモリ3の第2制御部30に対して発行されるコマンドであり、状態履歴情報332に記録されている現在の状態であるC0を変更するように要求するコマンドである。コマンドCCは、変更先遷移先の状態C1を示す情報付加情報とともに、第2制御部30に出力される。本実施の形態では、コマンドCCに付加される情報は、C1とC0との定義順における相対的な差で示した情報とする。例えば、C0がC10であった場合において、コマンドCCとともに伝達される付加情報が2であればC1はC10から2つ進んだC12であることを意味し、付加情報が-2であればC1はC10から2つ戻ったC8であることを意味する。状態読み出しコマンドコマンドRCは、セキュリティメモリ3の第2制御部30に対して発行されるコマンドであり、状態履歴情報332に記録されている現在の状態であるC0を出力するように要求するコマンドである。なお、制御部11は、この他にも、セーブデータ130を第2記憶部31に格納するためのコマンドコマンドWUや、セーブデータ130を読み出すコマンドコマンドRUなど、様々なコマンドを発行する機能を有しているが、詳細は省略する。記憶部13は、CPU12の一時的なワーキングエリアとして使用されるRAM一般的には、高速アクセス可能な揮発性の記憶装置が採用される。や、ホストコンピュータ10の起動プログラム図示せず等を格納しておく読み取り専用のROMなどのハードウェアから構成されている。入力装置14は、ホストコンピュータ10に各種の情報を入力するために設けられる装置である。入力装置14としては、例えば、コントローラ、キーボード、タッチパネル、各種ポインタ、ジョイスティック等が該当するが、これらのすべてを備えている必要はないし、これらと異なる装置を備えていてもよい。出力装置15は、ホストコンピュータ10の各種状態をユーザに通知するために出力する装置である。出力装置15としては、例えば、液晶パネル、LED、ランプ、スピーカ、プリンタ等が該当するが、これらのすべてを備えている必要はないし、これらと異なる装置を備えていてもよい。インタフェース16は、メモリシステム1とホストコンピュータ10とを電気的に接続する機能を提供する。すなわち、メモリシステム1は、ホストコンピュータ10の図示しないカードスロットに物理的に装着され、インタフェース16に電気的に接続される。以上が、メモリシステム1を含むコンピュータシステムの構成および機能の説明である。次に、コンピュータシステムの動作を説明しつつ、本実施の形態における情報保護方法について説明する。図3は、第1の実施の形態におけるセキュリティメモリ3の動作を示す流れ図である。セキュリティメモリ3は、起動中のホストコンピュータ10にメモリシステム1が装着された状態で動作する。なお、以下において、ROM2第1制御部20の動作については、従来の技術を適用することが可能であるため、適宜説明を省略する。メモリシステム1が動作中において、セキュリティメモリ3の第2制御部30は、ホストコンピュータ10からの各種コマンドを受け付けることが可能な状態となっているステップS1,S4,S7。以下、第2制御部30がホストコンピュータ10からのコマンドを受け付けることが可能となっている状態を待ち受け状態と称する。ただし、第2制御部30が待ち受け状態において受け付けることが可能なコマンドは図3に示すものに限定されるものではない。待ち受け状態において、ホストコンピュータ10からコマンドCC状態制御コマンドが入力されるとステップS1においてYes、第2制御部30は、遷移先の状態であるC1を特定するステップS2。具体的には、この時点の状態履歴情報332を参照して、当該状態履歴情報332に記録されているC0と、コマンドCCの付加情報とに基づいて、新たに遷移するC1を特定する。次に、特定した新たに遷移するC1に基づいて状態履歴情報332を更新するステップS3。具体的には、この時点の状態履歴情報332におけるC-4をC-3で上書きし、C-3をC-2で上書きし、C-2をC-1で上書きし、C-1をC0で上書きし、C0をステップS2で特定したC1で上書きする。なお、C-4をステップS2で特定したC1で上書きして、現在の状態を示すポインタを移動させてもよい。待ち受け状態において、ホストコンピュータ10からコマンドRC状態読み出しコマンドが入力されるとステップS4においてYes、第2制御部30は、状態履歴情報332を参照し、当該状態履歴情報332に記録されているC0現在の状態を読み出すステップS5。そして、第2制御部30は、ステップS5において読み出したC0を、ホストコンピュータ10に向けて出力するステップS6。待ち受け状態において、ホストコンピュータ10からコマンドRI重要情報読み出しコマンドが入力されるとステップS7においてYes、第2制御部30は、状態履歴情報332を読み出すステップS8。次に、読み出し条件テーブル331を参照しステップS9、ステップS8で読み出した状態履歴情報332と合致する読み出し条件が、読み出し条件テーブル331に存在するか否かを判定するステップS10。状態履歴情報332と合致する読み出し条件が読み出し条件テーブル331に存在しない場合ステップS10においてNo、第2制御部30は、ホストコンピュータ10にダミーデータを出力するステップS11。図2において図示を省略しているが、本実施の形態における第2記憶部31には、ダミーデータプログラム22を進行するために使用することのない情報がいくつか準備されている。そして、ステップS10においてNoの場合、第2制御部30は、ダミーデータテーブル図示せずを参照する。ダミーデータテーブルには、各ダミーデータを読み出すための条件と、当該条件に合致したときに読み出されるダミーデータの格納アドレスとが関連づけられて格納されている。第2制御部30は、当該ダミーデータテーブルから選択したダミーデータをステップS11において出力する。なお、ダミーデータの読み出し条件は、例えば、乱数に応じたランダムな条件であってもよいし、C0であってもよい。すなわち、現在の状態に応じたダミーデータが選択され、出力されてもよい。また、本実施の形態では、ステップS11においてダミーデータを出力するが、その代わりに、エラーを返す、あるいは、以降の動作を限定する、もしくは、何も受け付けない等の処理を行ってもよい。また、ダミーデータは複数用意されているうちから選択されることが好ましいが、常に同じダミーデータが出力されてもよい。あるいは、ダミーデータは予め準備されるのではなく、出力する際に、乱数などによって生成されてもよい。一方、状態履歴情報332と合致する読み出し条件が読み出し条件テーブル331に存在する場合ステップS10においてYes、第2制御部30は、合致した読み出し条件に対応している格納アドレスを、読み出し条件テーブル331から取得する。そして、第2制御部30は、取得したアドレスで示されるセキュリティ領域33に格納されている重要情報330を読み出して、ホストコンピュータ10に出力するステップS12。図4は、第1の実施の形態における読み出し条件テーブル331を例示する図である。図4に示すように読み出し条件テーブル331には、読み出し条件と、重要情報330の出力ファイルJ1,J2,J3,とが関連づけられている。なお、実際の読み出し条件テーブル331では、直接、出力ファイルが格納され関連づけられるのではなく、すでに説明したように、出力ファイルの格納アドレスが格納され関連づけられている。図4に示す例では、出力ファイルJ1および出力ファイルJ2は、いずれもC0がC5のときにセキュリティメモリ3が出力する重要情報330である。このように、セキュリティメモリ3は、C0が同じであっても、状態の遷移ルートの違い本実施の形態では、直近の過去の4つの状態の違いによって、異なる重要情報330を出力することができる。一方で、出力ファイルJ1の読み出し条件として5つのパターンが定義されており、異なる遷移ルートであっても、同じ重要情報330を出力することもできる。したがって、プログラム22の作り方の多様性が得られる。また、すでに説明したように、出力ファイルJ1については読み出し条件として5つのパターンが定義されており、出力ファイルJ2の読み出し条件として2つのパターンが定義されている。すなわち、状態履歴情報332においてC0がC5となっている状況において、上記の7つのパターンのみが許容され、これ以外のパターンでは、いずれの出力ファイルの読み出し条件も合致しないことになる。そして、その場合は、ステップS11が実行され、ダミーデータが出力される。また、図4に示す例では、読み出し条件テーブル331において、C0がC1ないしC4のときに出力される重要情報330が定義されていない。したがって、図4に示す例では、例えば、状態履歴情報332においてC0がC3のときに、コマンドRIが入力されると、遷移ルートにかかわらず、読み出し条件に合致せず、ダミーデータが出力されることになる。このように、C0がC1,,CNのいずれである場合にも、必ず何らかの重要情報330が出力されるように定義する必要はない。以上が第1の実施の形態におけるセキュリティメモリ3の動作である。次に、ホストコンピュータ10の動作を説明する。図5は、第1の実施の形態におけるホストコンピュータ10の動作を示す流れ図である。なお、図5に示される各工程は、特に断らない限り、ホストコンピュータ10の制御部11により実行される工程を示す。電源が投入されると、ホストコンピュータ10は、まず、所定の初期設定を実行するステップS21。ステップS21では、記憶部13のROMに記憶されている起動プログラムがCPU12により実行され、ホストコンピュータ10の初期画面が出力装置15に表示される。初期設定が終了すると、ホストコンピュータ10は、メモリシステム1が装着されているか否かを判定するステップS22。そして、メモリシステム1を検出すると、ホストコンピュータ10は、メモリシステム1セキュリティメモリ3に対してコマンドRCを発行し、セキュリティメモリ3からC0を取得する。ここでは、どの状態からプログラム22の実行を開始するのかを決定するためにC0が要求される。次に、取得したC0に応じて、ホストコンピュータ10がメモリシステム1ROM2にコマンドRPC0を発行し、ROM2からコマンドRPC0に応じたプログラム22C0から開始するために必要なプログラム22を記憶部13にロードするステップS23。そして、ホストコンピュータ10は、ロードしたプログラム22を実行することにより、プログラム進行処理ステップS24を開始する。プログラム進行処理は、入力装置14からプログラム22の終了が指示されるまで、ステップS25においてNoと判定されることにより、継続される。ただし、プログラム22の終了は入力装置14からの指示に限定されるものではなく、他の方法で指示されてもよい。図6は、第1の実施の形態におけるプログラム進行処理を示す流れ図である。ホストコンピュータ10は、プログラム22を進行させつつ、プログラム22を進行させることにより検出される各種の状態を監視しているステップS30,S32,S37。ただし、ホストコンピュータ10が監視している状態は、図6に示されるものに限定されるものではない。プログラム進行処理において、プログラム22が進行することにより、状態遷移がされるとステップS30においてYes。、ホストコンピュータ10はメモリシステム1セキュリティメモリ3に対してコマンドCCを発行するステップS31。コマンドCCが発行されると、すでに説明したように、セキュリティメモリ3の第2制御部30が、遷移先の状態であるC1に応じて、状態履歴情報332を更新する。このようにして、コンピュータシステムは、状態履歴情報332を管理する。プログラム進行処理において、新たに追加のプログラム22が要求されるとステップS32においてYes。、ホストコンピュータ10はメモリシステム1セキュリティメモリ3に対してコマンドRCを発行するステップS33。コマンドRCが発行されると、すでに説明したように、セキュリティメモリ3の第2制御部30が、状態履歴情報332を参照して、C0をホストコンピュータ10に出力する。これにより、ホストコンピュータ10は、現在の状態C0を取得するステップS34。このように、本実施の形態におけるホストコンピュータ10は、例えば、記憶部13に現在の状態であるC0を保持したりしていないが、コマンドRCをセキュリティメモリ3に発行することにより、必要に応じて、C0を問い合わせることができる。次に、ホストコンピュータ10は、メモリシステム1ROM2に対して、ステップS34において取得したC0に対応するコマンドRPC0を発行するステップS35。コマンドRPC0が発行されると、ROM2の第1制御部20が、ホストコンピュータ10のC0に応じたプログラム22の一部追加のプログラム22を第1記憶部21から読み出してホストコンピュータ10に出力する。これにより、ホストコンピュータ10は、適切な、追加のプログラム22を取得するステップS36。以降、ホストコンピュータ10は、ステップS36で取得したプログラム22を実行しつつ、プログラム進行処理を継続する。このように、ホストコンピュータ10は、新たなプログラム22が必要になるたびに、現在の状態であるC0をメモリシステム1に通知して、必要なプログラム22を第1制御部20に要求し取得することができる。プログラム進行処理において、重要情報330が要求されるとステップS37においてYes。、ホストコンピュータ10はメモリシステム1セキュリティメモリ3に対してコマンドRIを発行するステップS38。コマンドRIが発行されると、すでに説明したように、セキュリティメモリ3の第2制御部30が、その時点の状態履歴情報332を用いて読み出し条件テーブル331を検索し、重要情報330から出力する出力ファイルを選択してホストコンピュータ10に出力する。これにより、ホストコンピュータ10は、重要情報330必要な出力ファイルを取得するステップS39。なお、コマンドRIが発行されたときの状態履歴情報332が、いずれの出力ファイルの読み出し条件とも一致しない場合、メモリシステム1からはダミーデータが出力される。したがって、この場合、ステップS39では、重要情報330を取得できていないことになるが、プログラム22を実行中のホストコンピュータ10はメモリシステム1から出力されたダミーデータが本来取得すべき重要情報330であるか否かを判定する術はない。したがって、ダミーデータを取得した場合も、ホストコンピュータ10は、そのままプログラム進行処理を継続する。そして、現実に重要情報330を使用する段階になって、初めて、ホストコンピュータ10はプログラム22の続行が不可能な状態に陥り、停止することになる。以上のように、第1の実施の形態におけるメモリシステム1は、ホストコンピュータ10に接続され、保護対象の情報としてのプログラム22を格納する第1記憶部21と、第1記憶部21に対するアクセスを制御する第1制御部20と、プログラム22の使用中におけるホストコンピュータ10の状態の履歴情報状態履歴情報332と読み出し条件テーブル331によって読み出し条件に関連づけられた重要情報330とを格納する第2記憶部31と、状態履歴情報332と読み出し条件テーブル331における読み出し条件とに応じて第2記憶部31に格納されている重要情報330をホストコンピュータ10に出力する第2制御部30とを備える。これにより、ホストコンピュータ10の状態の履歴状態履歴情報332に応じて重要情報330が選択されるため、すべての重要情報330を確実に読み出して複製するためには、発生しうるホストコンピュータの状態の履歴状態履歴情報332をすべて再現しなければならない。したがって、プログラム22の不正な複製を作成することが困難となり、プログラム22の無断実施を抑制することができる。また、既存のホストコンピュータ10の設計変更を必要とせず、安価にセキュリティレベルを向上させることができる。また、例えば、ゲームタイトルごとや改訂版ごとに頻繁に読み出し条件や定義される状態等を変更でき、不正な複製者は、その度に解析作業を行わなければならず、違法な複製品海賊版を製造するまでに一定以上の時間を要することとなる。特に、プログラム22がゲームソフトウェアなどである場合、発売開始直後から海賊版が流通すると正規版の売れ行きに大きな影響がでてしまうという特性がある。したがって、このような市場の製品においては、例え完全に海賊版の製造を防止できなくとも、発売開始から一定期間でも海賊版の出現を遅らせることができるならばその効果は大きいといえる。なお、重要情報330を、ホストコンピュータ10が使用することのない情報とし、単に、重要情報330を読み出すことができたか否かのみで、正常または異常を判定することも可能である。しかし、このように構成すると、常に重要情報330が読み出せたかのように振る舞うプログラム例えば重要情報330を読み出すルーチンを削除したプログラムなどに書き換えるだけで、実質的にプログラム22を実行することができる状態にされるおそれがある。しかし、重要情報330は、プログラム22をホストコンピュータ10が使用するために、ホストコンピュータ10によって現実に使用される情報であるため、第三者は、現実に、重要情報330を読み出さない限り、プログラム22の正常な実行が不可能な状態に陥る。したがって、セキュリティレベルが向上する。また、第2制御部30は、ホストコンピュータ10からの状態制御コマンドに応じて状態履歴情報332を更新する。したがって、複雑な処理や、特殊なハードウェアを用いることなく実現できる。なお、セキュリティ強化の側面からは、正常に読み出される重要情報330は、プログラム22を進行させるときに必ずホストコンピュータ10が使用する情報とし、これが読み出されていない限り、プログラム22が停止するように構成することが好ましい。しかし、読み出された重要情報330が、ホストコンピュータ10において必ず使用されなければならないわけではない。例えば、図4に示す例において、出力ファイルJ1および出力ファイルJ2は、ともに現在の状態であるC0がC5のときに出力される重要情報330である。しかし、出力ファイルJ1が出力される状況では、出力ファイルJ1が取得されていなければプログラム22が停止するが、出力ファイルJ2が出力される状況では出力ファイルJ2が取得されていなくてもプログラム22が停止しないといった設計も可能である。すなわち、出力ファイルJ2が出力される状況とは、プログラム22の進行状況としては正常である停止させる必要はないが、特に、重要情報330は必要ないという状況として定義してもよい。もちろん、このような場合において、そもそも出力ファイルJ2を読み出し条件テーブル331に定義しないことも可能である。その場合は、上記状況においては、メモリシステム1からダミーデータが出力されることになり、ダミーデータが出力される状況が直ちに異常と判定する状況ではないことになる。逆に、上記のように出力ファイルJ2を使用しない情報とするならば、出力ファイルJ2はダミーデータであるとも言える。すなわち、重要情報330には、ホストコンピュータ10において使用されないダミーデータが含まれていてもよい。また、重要情報330はプログラム22を継続して進行させるときに使用される情報例えば、プログラム22の一部。として説明した。しかし、例えば、重要情報330の読み出しに失敗したときに出力されるダミーデータがプログラム22を停止させる情報として構成されていてもよい。すなわち、プログラム22をホストコンピュータ10が継続して使用するために必要となるのは重要情報330が正常に読み出されることによって、正常な状態と判定されることであって、取得された重要情報330が現実に使用されなければならないわけではない。ただし、セキュリティ強化の側面からは、すでに説明したように、正常に取得された重要情報330が、プログラム22を進行させる上で、使用されるように構成しておくことが好ましい。<2.第2の実施の形態>第1の実施の形態では、読み出し条件テーブル331における各出力ファイル重要情報330の読み出し条件は、いずれもホストコンピュータ10の状態の履歴情報状態履歴情報332の全体であった。しかし、履歴情報の一部を読み出し条件とすることも可能である。図7は、第2の実施の形態における読み出し条件テーブル331aを例示する図である。以下、第2の実施の形態におけるコンピュータシステムについては、第1の実施の形態におけるコンピュータシステムと同様の構成については同符号を付し、適宜説明を省略する。図7においては、どの状態に遷移していてもよいことを意味する、いわばワイルドカードとする。図7に示す例では、出力ファイルJ1の読み出し条件は、4回前の状態であるC-4、3回前の状態であるC-3および2回前の状態であるC-2についてはとなっており、2回以上前においては、どのような状態に遷移していてもよい。ただし、出力ファイルJ1の読み出し条件においては、直前の状態であるC-1がC1であり、かつ、現在の状態であるC0がC2であることから、出力ファイルJ1は、C0がC1からC2に遷移したときに読み出される重要情報330として定義されている。このように、状態履歴情報332に、5つの状態が順次に記録されている場合でも、必ず、5つの状態を読み出し条件に使用しなければならないわけではない。図7に示す出力ファイルJ1,J2のように、直近の状態の遷移のみで選択するように構成してもよい。<3.第3の実施の形態>上記実施の形態におけるホストコンピュータ10の状態の履歴情報状態履歴情報332は、現在の状態を含めて、最大で5つの状態のみが遷移順に格納されるフォーマットC-4,C-3,C-2,C-1,C0であった。しかし、ホストコンピュータ10の状態の履歴情報は、このようなフォーマットに限定されるものではない。図8は、第3の実施の形態における状態履歴情報332aを例示する図である。以下、第3の実施の形態におけるコンピュータシステムについては、第1の実施の形態におけるコンピュータシステムと同様の構成については同符号を付し、適宜説明を省略する。第3の実施の形態における状態履歴情報332aは、第1の実施の形態における状態履歴情報332に相当する情報であり、第2記憶部31のセキュリティ領域33に格納されている情報である。ただし、状態履歴情報332aのフォーマットは、状態履歴情報332のフォーマットとは異なっている。状態履歴情報332aでは、プログラム22において定義されているC1,,CNが、それぞれ0、1、2のいずれかの値と関連づけられている。そして、0に関連づけられているものは、過去に遷移したことがないことを示している。また、1に関連づけられているものは、過去に遷移したことがあることを示している。さらに、2に関連づけられているものは、C0であることを示している。図8に示す例では、これまでに、C2、CN-1およびCNには遷移したことがなく、C1およびC3には遷移したことがあり、C0はCN-2である。このようなフォーマットの状態履歴情報332aの容量は、例えプログラム22が実行される過程で同じ状態の遷移が繰り返されたりしたとしても、第1の実施の形態と同様にほぼ一定であり、無限に増大したりはしない。第3の実施の形態における第2制御部30は、コマンドCCが発行されると、2を1に変更し、遷移先の状態であるC1を特定して、特定したC1に関連づけられている値を2に変更する。例えば、図8に示す状態履歴情報332aについて、新たに、C0がC3に遷移したとすると、第2制御部30は、CN-2に関連づけられている2を1に書き換えるとともに、C3に関連づけられている1を2に書き換えることにより、状態履歴情報332aを更新する。また、ホストコンピュータ10がコマンドRCを発行すると、第2制御部30は、2に関連づけられている状態を現在の状態であるC0として読み出し、ホストコンピュータ10に出力する。すなわち、第3の実施の形態における状態履歴情報332aにおいても、メモリシステム1は、適切に状態を管理することができるとともに、C0を特定して、コマンドRCに応じて出力できるように構成されている。図9は、第3の実施の形態における読み出し条件テーブル331bを例示する図である。第3の実施の形態では、状態履歴情報332aのフォーマットが第1の実施の形態における状態履歴情報332と異なり、履歴として記録されている状態の表現方法フォーマットが異なっている。したがって、読み出し条件テーブル331bに規定されている読み出し条件も第1の実施の形態における読み出し条件テーブル331とは異なっている。図9に示す例では、C1の欄は、1または2となっており、0が存在しない。すなわち、初期状態であるC1を経由していない場合は、重要情報330が出力されないことを示しているダミーデータが出力される。このように、プログラム22の進行状況において、必須の状態を定義することもできる。また、重要情報330のうち、出力ファイルJ1は、C0がC1であり、他の状態に遷移したことがないという条件で読み出される。すなわち、出力ファイルJ1は初期状態で出力される重要情報330である。また、出力ファイルJ2は、C1に遷移したことがあり、C0がC2か、またはC3のときに読み出される。すなわち、本実施の形態においても、異なる読み出し条件で、同じ重要情報330を出力することも可能である。さらに、図9に示す例では、図8に示す状態履歴情報332aのときには、出力ファイルJ4が出力されることも分かる。なお、本実施の形態では、読み出し条件テーブル331aにおいて2を用いることにより現在の状態であるC0が何であるかを読み出し条件とした。しかし、状態履歴情報332aにおける2を、単に、すでに遷移したことのある状態とみなして1に読み替えるように構成してもよい。あるいは逆に、状態履歴情報332aにおける2を、未だ、進行が完了していない状態とみなして0に読み替えるように構成してもよい。以上のように、第3の実施の形態における状態履歴情報332aおよび読み出し条件テーブル331bを用いても、第1の実施の形態と同様の効果を得ることができる。特に、直近の遷移ルートではなく、どのイベントをすでに体験したかに応じて、出力する重要情報330を変化させたい場合には、第1の実施の形態よりも第3の実施の形態の方が適している。<4.第4の実施の形態>ホストコンピュータ10の状態の履歴情報において、過去の状態をビットで表現したフォーマットとすることも可能である。図10は、第4の実施の形態における状態履歴情報332bを例示する図である。以下、第4の実施の形態におけるコンピュータシステムについては、第1の実施の形態におけるコンピュータシステムと同様の構成については同符号を付し、適宜説明を省略する。第4の実施の形態におけるプログラム22では、第1の実施の形態と同様に、プログラム22の進行状況を示す状態として、C1,,CNが定義されている。そして、状態履歴情報332bには、N桁のビットで表現される過去の状態に、現在の状態であるC0が付加されたフォーマットとなっている。そして、過去の状態は、1桁目Bit0がC1に対応し、N桁目BitN1がCNに対応する。なお、図10に示す例は、第3の実施の形態において図8に示した状態と同一の状態を表現している。このように構成した場合も、上記実施の形態と同様の効果を得ることができる。<5.第5の実施の形態>第3の実施の形態では、1回でも過去に遷移したことのある状態は、状態履歴情報332aにおいて1が関連づけられ、その後2に戻ることはあっても、再び0に戻ることはない。しかし、状態履歴情報332aにおいて、一度、1に変更された状態について、再び0に戻ることを許容するように構成することも可能である。例えば、アイテムの所持状態に応じて重要情報330を変化させるようにプログラム22を設計する場合、アイテムを所持している状態を1所持、所持していない状態を0非所持と定義できる。このように定義すると、消費したアイテムについては、消費したとき状態変更のときに、当該アイテムの状態を0に変更することになる。ところで、第5の実施の形態のように、アイテムの所持状況を状態履歴情報332aとして定義した場合において、ホストコンピュータ10からのコマンドRCに対して、最新に状態が変化したアイテムを示す情報を出力してもあまり意味がない。このような場合には、アイテムの入手状況一覧すなわち、本実施の形態では状態履歴情報332aそのものが現在の状態であるC0を表現しているといえる。すなわち、プログラム22における状態の定義の仕方によっては、メモリシステム1は、当該状態の履歴情報本実施の形態では状態履歴情報332aの一部ではなく、当該履歴情報の全体をホストコンピュータ10に対して出力するようにしてもよい。<6.第6の実施の形態>ホストコンピュータ10の状態の履歴情報のフォーマットは、上記の実施の形態に示した状態履歴情報332,332a,332bに採用されたフォーマットに限定されるものではない。図11は、第6の実施の形態における状態履歴情報332cを例示する図である。以下、第6の実施の形態におけるコンピュータシステムについては、第1の実施の形態におけるコンピュータシステムと同様の構成については同符号を付し、適宜説明を省略する。第6の実施の形態における状態履歴情報332cは、第1の実施の形態における状態履歴情報332に相当する情報であり、第2記憶部31のセキュリティ領域33に格納されている情報である。ただし、状態履歴情報332cのフォーマットは、状態履歴情報332のフォーマットと異なっている。状態履歴情報332cでは、プログラム22において定義されているC1,,CNが、シーケンス番号遷移した順番と関連づけられるフォーマットを採用している。なお、状態履歴情報332cにおいて、シーケンス番号の初期値は0とする。したがって、状態履歴情報332cにおいて0が関連づけられている状態は、第3の実施の形態における状態履歴情報332aと同様に、過去に遷移したことがない状態を示している。第6の実施の形態における第2制御部30は、コマンドCC状態制御コマンドを受け付けると、まず、状態履歴情報332cに記録されているシーケンス番号を検索して最大値を取得し、取得した最大値に1を加えて新たなシーケンス番号を作成する。次に、例えば、第1の実施の形態と同様の手法で遷移先の状態であるC1を特定し、作成した新たなシーケンス番号を当該C1に関連づける。例えば、図11に示す例において、次に、C0がC4に遷移し、コマンドCCが発行された場合には、C4に関連づけられているシーケンス番号が2から11に書き換えられる。第6の実施の形態における状態履歴情報332cにおいて、C0は最も大きなシーケンス番号に関連連れられている状態となる。したがって、第6の実施の形態における第2制御部30は、コマンドRCを受け付けると、状態履歴情報332cのシーケンス番号の最も大きい状態を検索して読み出し、C0としてホストコンピュータ10に出力する。図11に示す例では、コマンドRCに対してC1が出力される。第6の実施の形態における状態履歴情報332cでは、シーケンス番号の最大値により、遷移回数が記録されることになる。したがって、第6の実施の形態では、プログラム22の遷移回数を読み出し条件として、重要情報330を出力するように構成することができる。また、第6の実施の形態における状態履歴情報332cでは、シーケンス番号を比較することにより、いずれの状態が新しいかを判定できる。したがって、複数の状態において、直近の遷移順を再現できるので、これを読み出し条件として、重要情報330を出力することもできる。例えば、図11に示す例では、C2C4C8の直近の遷移順はC4→C8→C2であることがわかるなお連続して遷移したか否かもわかる。。そして、上記例に示したようにC4に関連づけられているシーケンス番号が2から11に書き換えられた後には、直近の遷移順はC8→C2→C4に変化する。また、第6の実施の形態における状態履歴情報332cにおいて、シーケンス番号が0か否かを判定するとともに、シーケンス番号が最大値か否かを判定すれば、第3の実施の形態における状態履歴情報332aと同様の履歴フォーマットを抽出することが可能である。したがって、第6の実施の形態における状態履歴情報332cに対して、第3の実施の形態に示した読み出し条件テーブル331bを適用することも可能である。<7.第7の実施の形態>上記実施の形態では、プログラム22において定義されたC1,,CNのすべてが、過去の状態としても記録対象となっていた。例えば、第1の実施の形態における状態履歴情報332には、直近の過去の4つの状態を記録するとして説明したが、この直近の過去の4つの状態として、すべてのC1,,CNが記録対象であった。しかし、本発明は、このような実施の形態に限定されるものではない。図12は、第7の実施の形態における第2記憶部31の記憶領域を例示する図である。以下、第7の実施の形態におけるコンピュータシステムについては、第1の実施の形態におけるコンピュータシステムと同様の構成については同符号を付し、適宜説明を省略する。第7の実施の形態における第2記憶部31では、セキュリティ領域33に、状態特定情報333が別途格納される。図13は、第7の実施の形態における状態特定情報333を例示する図である。状態特定情報333は、状態履歴情報332において、過去の状態として格納する必要がある状態を特定するための情報である。本実施の形態における状態特定情報333では、記録対象の状態を列挙するフォーマットとなっている。すなわち、図13に示す例では、C1、C4、および、CNのみが過去の状態としての記録対象であることを示している。第7の実施の形態における第2制御部30は、コマンドCCを受け付けると、第1の実施の形態におけるステップS2図3と同様に、遷移先の状態であるC1を特定する。次に、第7の実施の形態における第2制御部30は、状態特定情報333を参照して、C0が、記録対象の状態であるか否かを確認する。すなわち、現在の状態であるC0が、状態特定情報333に列挙されている状態に含まれているか否かを判定する。C0が記録対象の状態である場合、第7の実施の形態における第2制御部30は、第1の実施の形態と同様に、過去の状態についても書き換えを行う。すなわち、状態履歴情報332におけるC-4をC-3で上書きし、C-3をC-2で上書きし、C-2をC-1で上書きし、C-1をC0で上書きし、C0をステップS2で特定したC1で上書きする。一方、C0が記録対象の状態でない場合、第7の実施の形態における第2制御部30は、過去の状態については書き換えを行わない。すなわち、この場合には、現在の状態であるC0のみが、遷移先の状態であるC1に書き換えられて、状態履歴情報332が更新される。本実施の形態においても、C0は、コマンドCCが発行されるたびに書き換えられて、状態履歴情報332において管理される。したがって、例え、状態特定情報333に列挙されていないC2に状態が遷移したとしても、状態履歴情報332のC0にはC2が記録される。このように構成することにより、本実施の形態においても、コマンドRCが発行されたときには、第1の実施の形態と同様に、第2記憶部31からC0が出力される。したがって、ホストコンピュータ10は、正常にC0をメモリシステム1から取得することができ、正常に追加のプログラム22を読み出すことができる。一方で、本実施の形態では、状態特定情報333に列挙されていない状態は、状態履歴情報332における過去の状態に記録されることはない。すでに説明したように、第三者による不正を抑制するためには、プログラム22の進行状況に応じて定義される状態の数は多い方がよい。しかし、このような状態が多数定義されると、プログラム22が進行するにつれて、頻繁に状態遷移が発生し、状態履歴情報332の容量が増大するおそれがある。しかし、第7の実施の形態におけるメモリシステム1では、過去の状態として記録する状態を特定するための状態特定情報333を第2記憶部31に格納しておき、状態履歴情報332を更新する際に第2制御部30が参照する。これにより、重要情報330を読み出すための条件として使用しない状態については、過去の状態として記録しないように構成することができる。本実施の形態では、状態履歴情報332における過去の状態は、直近の過去の4つの状態に限定されている。しかし、このような限定がない場合には、状態特定情報333を設けて、記録する過去の状態を予め取捨選択することによって、状態履歴情報332の容量の増大を大きく抑制することができる。<8.第8の実施の形態>過去の状態として記録する状態を特定するための情報は、第7の実施の形態に示しめした状態特定情報333に採用されたフォーマットに限定されるものではない。図14は、第8の実施の形態における状態特定情報333aを例示する図である。状態特定情報333aでは、過去の状態として記録する状態には1が関連づけられており、過去の状態として記録しない状態には0が関連づけられている。このようなフォーマットを採用した場合も、第7の実施の形態と同様の効果を得ることができる。<9.第9の実施の形態>過去の状態として記録する状態を特定するための情報は、第7および第8の実施の形態に示した状態特定情報333,333aにおいて採用されたフォーマットに限定されるものではない。図15は、第9の実施の形態における状態特定情報333bを例示する図である。第9の実施の形態における状態特定情報333bは、N桁のビットで表現される。すなわち、状態特定情報333bは、プログラム22において定義されている状態の数に対応する数のビットで表現され、各状態が一対一で各ビットに対応付けられる。第9の実施の形態では、1桁目Bit0がC1に対応し、N桁目BitN1がCNに対応しているものとする。さらに、C1,,CNのうち、過去の状態として記録する状態に対応するビットは1とし、過去の状態として記録しない状態に対応するビットは0とする。なお、図15に示す例では、表示を省略しているビットも含めて、Bit4からBitN2まで、すべて0となっており、C5からCN-1までの状態は、過去の状態として記録しない状態として定義されているものとする。すなわち、図15に示す例は、第7の実施の形態において図13に示した例と同一の意味を有している。図16は、第9の実施の形態における状態履歴情報332dを例示する図である。第9の実施の形態における状態履歴情報332dは、3桁のビットで表現される過去の状態に、現在の状態であるC0が付加されたフォーマットとなっている。状態履歴情報332dにおいて、過去の状態を格納するために必要なビット数は、状態特定情報333bにおいて1であったビットの数である。図15に示す例では、1であったビットは3つであるから、図16に示す状態履歴情報332dにおける過去の状態を表現するためのビット数は3となっている。ここで、過去の状態を表現する各ビットは、状態特定情報333bにおいて1であったビットのそれぞれに対応している。すなわち、状態特定情報333bにおいて1であったBit0、Bit3、および、BitN1が、それぞれ状態履歴情報332dの過去の状態を表現するBit0、Bit1、および、Bit2に対応している。したがって、状態履歴情報332dにおいて過去の状態を表現するBit0、Bit1、および、Bit2は、それぞれプログラム22において定義されている状態のうちのC1、C4、および、CNに対応している。このように、過去の状態として記録する状態を特定するための情報状態特定情報333bをビットで表現したフォーマットとした場合も、上記実施の形態と同様の効果を得ることができる。<10.第10の実施の形態>上記実施の形態では、重要情報330を読み出すための条件に、現在の状態であるC0を用いていた。しかし、C0ではなく、過去の状態のみを読み出し条件として重要情報330を読み出すこともできる。図17は、第10の実施の形態における読み出し条件テーブル331cを例示する図である。以下、第10の実施の形態におけるコンピュータシステムについては、第1の実施の形態におけるコンピュータシステムと同様の構成については同符号を付し、適宜説明を省略する。図17に示すように、読み出し条件テーブル331cには、C0が定義されていない。このような読み出し条件テーブル331cを参照する場合、第2制御部30は、過去においてC1、C4、および、CNに遷移したことがあるか否かで重要情報330出力ファイルを出力するか否かを判定することになる。例えば、図17に示す例では、C1に遷移したことがない場合には、重要情報330が読み出されることはないことを示している。なお、読み出し条件テーブル331cにおいて、読み出し条件をビットで表現するようにしてもよい。また、第10の実施の形態のように、読み出し条件として現在の状態であるC0を用いない場合でも、状態履歴情報332には、現在の状態であるC0は格納されており、現在の状態であるC0は履歴としては管理される。<11.第11の実施の形態>上記実施の形態では、第1記憶部21からプログラム22を読み出すための指標となるホストコンピュータ10の状態と、第2記憶部31から重要情報330を読み出すための指標となるホストコンピュータ10の状態とが同じであった共通の指標を用いていた。しかし、これらは互いに独立していてもよい。第11の実施の形態では、第2記憶部31から重要情報330を読み出すための指標となるホストコンピュータ10の状態としては、上記実施の形態と同様に、C1,,CNを定義する。一方で、第1記憶部21から、新たにプログラム22を追加して読み出すための指標となるホストコンピュータ10の状態として、M個の状態、PC1,,PCMを定義するMは2以上の自然数。図18は、第11の実施の形態における第2記憶部31の記憶領域を例示する図である。以下、第11の実施の形態におけるコンピュータシステムについては、第1の実施の形態におけるコンピュータシステムと同様の構成については同符号を付し、適宜説明を省略する。第11の実施の形態における第2記憶部31では、セキュリティ領域33に、状態管理情報334が別途格納される。そして、状態管理情報334は、現在の状態であるPC0を示す情報である。第11の実施の形態における第2制御部30は、ホストコンピュータ10からコマンドCC第1の状態制御コマンドを受け付けると、第1の実施の形態と同様に状態履歴情報332のC0を更新する。一方で、ホストコンピュータ10からコマンドCPC第2の状態制御コマンドを受け付けると、状態管理情報334の現在の状態PC0を更新する。さらに、第11の実施の形態における第2制御部30は、ホストコンピュータ10からコマンドRC状態読み出しコマンドを受け付けると、状態履歴情報332ではなく、状態管理情報334から現在の状態であるPC0を読み出して、ホストコンピュータ10に対して出力する。以上のように、第11の実施の形態におけるメモリシステム1は、第1記憶部21からプログラム22を読み出すための指標となるホストコンピュータ10の状態と、第2記憶部31から重要情報330を読み出すための指標となるホストコンピュータ10の状態とを互いに独立した状態として定義する。これにより、重要情報330を読み出すために管理している情報状態履歴情報332をホストコンピュータ10に対して秘匿することができる。なお、PC1,,PCMについては、セキュリティメモリ3第2記憶部31に格納して管理せずに、記憶部13に格納するなどして、ホストコンピュータ10とROM2との間で管理するように構成してもよい。また、第11の実施の形態において定義した2種類の状態C1,,CN、およびPC1,,PCMを互いに組み合わせて、重要情報330の読み出し条件としてもよい。あるいは、3種類以上の状態を定義してもよい。<12.変形例>以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。例えば、上記実施の形態における第2記憶部31は一体形成の記憶装置として構成されている。しかし、第2記憶部31を複数の記憶装置から構成してもよい。その場合、例えば、状態履歴情報332やセーブデータ130のように更新が必要なデータを格納する記憶装置はデータの書き込みも可能な記憶素子を採用し、重要情報330や読み出し条件テーブル331のように更新不要なデータを格納する記憶装置はデータの書き込みができない記憶素子を採用するようにしてもよい。また、第1記憶部21と第2記憶部31とを単一の半導体集積回路として構成するようにしてもよい。すなわち、メモリシステム1を単一の半導体集積回路として構築してもよい。また、重要情報330を構成する1つの出力ファイルは、分割されて出力されてもよい。すなわち、ホストコンピュータ10において必要となるまでに、ホストコンピュータ10によって1つの出力ファイルを構成する全ての情報が取得されるならば、1つの出力ファイルを読み出すために必要な読み出し回数は、必ずしも1回でなくてよい。また、セキュリティメモリ3は、状態履歴情報332や、読み出し条件テーブル331等を、図示しない第2制御部30のRAMやバッファに読み出しておいて使用するようにしてもよい。また、状態履歴情報332,332a,332b,332c,332dを更新したときなどに、第2制御部30が、正常な履歴正常な遷移ルートであるか否かを判定するようにしてもよい。このようにして異常が検出されたときには、以後、重要情報330が読み出せないように構成してもよい。ただし、状態履歴情報332,332a,332b,332c,332dが異常であることが、第三者に分かりにくいように実装されることが好ましい。また、ホストコンピュータ10が発行する各種のコマンドは、第1制御部20および第2制御部30が解読できる暗号により暗号化されていてもよい。すなわち、本発明におけるセキュリティ機能は、他のセキュリティ機能と重複して実装されてもよい。また、上記実施の形態に示した各工程は、あくまでも例示であって、これに限定されるものではない。すなわち、同様の効果が得られるならば、各工程における処理内容や各工程の実行順は、適宜、変更されてもよい。また、ホストコンピュータ10の状態として定義した、C1,,CNに、それぞれ何回遷移したかが分かるように状態履歴情報332に記録し、これを重要情報330を読み出すための読み出し条件としてもよい。例えば、C2に5回以上、C4に10回以上遷移し、かつ、C3には1回も遷移していないときに、重要情報330の出力ファイルJ5を出力するといった構成も可能である。"