(57)【特許請求の範囲】
【請求項１】
メモリシステムであって、
アプリケーションを実施させる情報処理装置と、
記憶手段を有し、前記情報処理装置と電気的に接続されるメモリ装置と、
を備え、
前記情報処理装置は、
アプリケーションの進行に用いるデータを取得するデータ取得手段と、
前記データ取得手段によって取得されたデータを用いて得られる特定情報を出力する出力手段と、
を有し、
前記メモリ装置は、
前記特定情報を前記記憶手段に記憶させる記憶制御を行う記憶制御手段、
を有し、
前記メモリシステムは、
記憶された特定情報に基づいて、アプリケーションを継続させるために用いる継続情報を取得する継続情報取得手段、
を有し、
前記情報処理装置は、前記継続情報を用いてアプリケーションを継続実施させ、
前記データ取得手段は、アプリケーションの進行に用いるデータをアプリケーションの進行に応じて順次に取得し、
前記出力手段は、順次に取得されるデータそれぞれから得られる特定情報を順次に出力する、
メモリシステム。
【請求項２】
前記継続情報取得手段は、記憶された特定情報を用いて、アプリケーションを継続させる継続アプリケーションソフトウェアを生成することによって、当該継続アプリケーションソフトウェアを前記継続情報として取得し、
前記情報処理装置は、前記継続アプリケーションソフトウェアを実行してアプリケーションを継続実施させる請求項１に記載のメモリシステム。
【請求項３】
前記記憶制御手段は、前記情報処理装置から入力された特定情報の記憶順序が妥当であるか否かを判定し、前記記憶順序が妥当であると判定した場合、当該特定情報を前記記憶手段に記憶させ、前記記憶順序が妥当でないと判定した場合、当該特定情報を前記記憶手段に記憶しない請求項１に記載のメモリシステム。
【請求項４】
前記メモリ装置の前記記憶手段は、
アプリケーションを継続させる継続アプリケーションソフトウェアと、
当該記憶手段に記憶されることになる各特定情報の正規の記憶順序を示す判定値と、
を予め記憶し、
前記メモリ装置は、
前記継続情報取得手段と、
前記情報処理装置から発行される、前記継続アプリケーションソフトウェアの出力要求を受けて、前記継続アプリケーションソフトウェアの出力制御を行う出力制御手段と、
をさらに有し、
前記継続情報取得手段は、前記記憶手段に記憶された各特定情報を用いて、各特定情報の記憶順序を示す記憶順序データを前記継続情報として取得し、
前記出力制御手段は、前記記憶順序データと前記判定値とを比較することによって前記各特定情報の記憶順序が妥当であるか否かを判定し、前記各特定情報の記憶順序が妥当であると判定した場合、前記継続アプリケーションソフトウェアを出力させ、前記各特定情報の記憶順序が妥当でないと判定した場合、前記継続アプリケーションソフトウェアを出力させない請求項１に記載のメモリシステム。
【請求項５】
前記データ取得手段は、アプリケーションの進行に用いるデータとして、アプリケーションの進行状況に対応した対応アプリケーションソフトウェアと特定情報とを含む対応データをアプリケーションの進行に応じて順次に取得し、
前記情報処理装置は、順次に取得される対応データに含まれる対応アプリケーションソフトウェアを順次に実行して、アプリケーションを進行させる請求項１から請求項４のいずれかに記載のメモリシステム。
【請求項６】
前記メモリ装置は、アプリケーションの進行に用いるデータを記憶し、
前記データ取得手段は、アプリケーションの進行に用いるデータを前記メモリ装置から取得する請求項１から請求項５のいずれかに記載のメモリシステム。
【請求項７】
アプリケーションを実施させる情報処理装置と電気的に接続されるメモリ装置であって、
前記情報処理装置は、
アプリケーションの進行に応じて、アプリケーションの進行に用いるデータを取得するデータ取得手段と、
前記データ取得手段によって取得されたデータを用いて得られる特定情報を出力する出力手段と、
を有し、
前記メモリ装置は、
記憶手段と、
前記特定情報を前記記憶手段に記憶させる記憶制御を行う記憶制御手段と、
を有し、
前記情報処理装置または前記メモリ装置は、
記憶された特定情報に基づいて、アプリケーションを継続させるために用いる継続情報を取得する継続情報取得手段、
を有し、
前記メモリ装置は、前記継続情報を用いてアプリケーションを継続実施させる情報処理装置に電気的に接続され、
前記情報処理装置において、
前記データ取得手段は、アプリケーションの進行に用いるデータをアプリケーションの進行に応じて順次に取得し、
前記出力手段は、順次に取得されるデータそれぞれから得られる特定情報を順次に出力する、
メモリ装置。
【請求項８】
アプリケーションを実施させる情報処理装置と、前記情報処理装置と電気的に接続されるメモリ装置とを含むメモリシステムの動作方法であって、
ａ）前記情報処理装置において、アプリケーションの進行に用いるデータを取得する工程と、
ｂ）前記ａ）工程において取得されたデータを用いて得られる特定情報を出力する工程と、
ｃ）前記特定情報を前記メモリ装置に記憶する工程と、
ｄ）前記メモリ装置に記憶された特定情報に基づいて、アプリケーションを継続させるために用いる継続情報を取得する工程と、
ｅ）前記継続情報を用いてアプリケーションを継続実施させる工程とを有し、
前記ａ）工程は、アプリケーションの進行に用いるデータをアプリケーションの進行に応じて順次に取得し、
前記ｂ）工程は、前記ａ）工程において順次に取得されたデータそれぞれを用いて得られる特定情報を順次に出力する、
メモリシステムの動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の保護技術に関する。
【背景技術】
【０００２】
アプリケーションソフトウェアを記憶したメモリ装置を情報処理装置に装着し、当該情報処理装置において、メモリ装置に記憶されたアプリケーションソフトウェアを実行して所定の機能を実現する技術が知られている。
【０００３】
このようなメモリ装置においては、アプリケーションソフトウェアの複製を防止するために、セキュリティ機能が搭載されている。例えば、特許文献１では、アプリケーションソフトウェアが暗号化された状態でメモリ装置に記憶され、情報処理装置は、当該アプリケーションソフトウェアを解読するための鍵データを取得することなく、アプリケーションソフトウェアを実行することができないように構成されている。したがって、特許文献１では、適切な鍵データを取得するまでは、アプリケーションソフトウェアの複製が制限されることになる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５８８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１では、暗号化されたアプリケーションソフトウェアに対応する鍵データが特定された場合には、アプリケーションソフトウェアの実行が可能になり、アプリケーションソフトウェアを許可無く無断で複製される可能性があった。
【０００６】
そこで、本発明は、アプリケーションソフトウェアの複製を困難にすることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るメモリシステムの第１の態様は、アプリケーションを実施させる情報処理装置と、記憶手段を有し、前記情報処理装置と電気的に接続されるメモリ装置とを備え、前記情報処理装置は、アプリケーションの進行に用いるデータを取得するデータ取得手段と、前記データ取得手段によって取得されたデータを用いて得られる特定情報を出力する出力手段とを有し、前記メモリ装置は、前記特定情報を前記記憶手段に記憶させる記憶制御を行う記憶制御手段、を有し、前記メモリシステムは、記憶された特定情報に基づいて、アプリケーションを継続させるために用いる継続情報を取得する継続情報取得手段、を有し、前記情報処理装置は、前記継続情報を用いてアプリケーションを継続実施させ、前記データ取得手段は、アプリケーションの進行に用いるデータをアプリケーションの進行に応じて順次に取得し、前記出力手段は、順次に取得されるデータそれぞれから得られる特定情報を順次に出力する。
【０００９】
また、本発明に係るメモリシステムの第２の態様は、上記第１の態様であって、前記継続情報取得手段は、記憶された特定情報を用いて、アプリケーションを継続させる継続アプリケーションソフトウェアを生成することによって、当該継続アプリケーションソフトウェアを前記継続情報として取得し、前記情報処理装置は、前記継続アプリケーションソフトウェアを実行してアプリケーションを継続実施させる。
【００１０】
また、本発明に係るメモリシステムの第３の態様は、上記第１の態様であって、前記記憶制御手段は、前記情報処理装置から入力された特定情報の記憶順序が妥当であるか否かを判定し、前記記憶順序が妥当であると判定した場合、当該特定情報を前記記憶手段に記憶させ、前記記憶順序が妥当でないと判定した場合、当該特定情報を前記記憶手段に記憶しない。
【００１１】
また、本発明に係るメモリシステムの第４の態様は、上記第１の態様であって、前記メモリ装置の前記記憶手段は、アプリケーションを継続させる継続アプリケーションソフトウェアと、当該記憶手段に記憶されることになる各特定情報の正規の記憶順序を示す判定値とを予め記憶し、前記メモリ装置は、前記継続情報取得手段と、前記情報処理装置から発行される、前記継続アプリケーションソフトウェアの出力要求を受けて、前記継続アプリケーションソフトウェアの出力制御を行う出力制御手段とをさらに有し、前記継続情報取得手段は、前記記憶手段に記憶された各特定情報を用いて、各特定情報の記憶順序を示す記憶順序データを前記継続情報として取得し、前記出力制御手段は、前記記憶順序データと前記判定値とを比較することによって前記各特定情報の記憶順序が妥当であるか否かを判定し、前記各特定情報の記憶順序が妥当であると判定した場合、前記継続アプリケーションソフトウェアを出力させ、前記各特定情報の記憶順序が妥当でないと判定した場合、前記継続アプリケーションソフトウェアを出力させない。
【００１２】
また、本発明に係るメモリシステムの第５の態様は、上記第１の態様から上記第４の態様のいずれかであって、前記データ取得手段は、アプリケーションの進行に用いるデータとして、アプリケーションの進行状況に対応した対応アプリケーションソフトウェアと特定情報とを含む対応データをアプリケーションの進行に応じて順次に取得し、前記情報処理装置は、順次に取得される対応データに含まれる対応アプリケーションソフトウェアを順次に実行して、アプリケーションを進行させる。
【００１３】
また、本発明に係るメモリシステムの第６の態様は、上記第１の態様から上記第５の態様のいずれかであって、前記メモリ装置は、アプリケーションの進行に用いるデータを記憶し、前記データ取得手段は、アプリケーションの進行に用いるデータを前記メモリ装置から取得する。
【００１４】
また、本発明に係るメモリ装置は、アプリケーションを実施させる情報処理装置と電気的に接続されるメモリ装置であって、前記情報処理装置は、アプリケーションの進行に応じて、アプリケーションの進行に用いるデータを取得するデータ取得手段と、前記データ取得手段によって取得されたデータを用いて得られる特定情報を出力する出力手段とを有し、前記メモリ装置は、記憶手段と、前記特定情報を前記記憶手段に記憶させる記憶制御を行う記憶制御手段とを有し、前記情報処理装置または前記メモリ装置は、記憶された特定情報に基づいて、アプリケーションを継続させるために用いる継続情報を取得する継続情報取得手段、を有し、前記メモリ装置は、前記継続情報を用いてアプリケーションを継続実施させる情報処理装置に電気的に接続され、前記情報処理装置において、前記データ取得手段は、アプリケーションの進行に用いるデータをアプリケーションの進行に応じて順次に取得し、前記出力手段は、順次に取得されるデータそれぞれから得られる特定情報を順次に出力する。
【００１５】
また、本発明に係るメモリシステムの動作方法は、アプリケーションを実施させる情報処理装置と、前記情報処理装置と電気的に接続されるメモリ装置とを含むメモリシステムの動作方法であって、ａ）前記情報処理装置において、アプリケーションの進行に用いるデータを取得する工程と、ｂ）前記ａ）工程において取得されたデータを用いて得られる特定情報を出力する工程と、ｃ）前記特定情報を前記メモリ装置に記憶する工程と、ｄ）前記メモリ装置に記憶された特定情報に基づいて、アプリケーションを継続させるために用いる継続情報を取得する工程と、ｅ）前記継続情報を用いてアプリケーションを継続実施させる工程とを有し、前記ａ）工程は、アプリケーションの進行に用いるデータをアプリケーションの進行に応じて順次に取得し、前記ｂ）工程は、前記ａ）工程において順次に取得されたデータそれぞれを用いて得られる特定情報を順次に出力する。
【発明の効果】
【００１６】
本発明によれば、アプリケーションソフトウェアの複製を困難にすることが可能になる。
【図面の簡単な説明】
【００１７】
【図１】メモリ情報保護システムの外観構成を示す図である。
【図２】ゲームシステムとして動作するメモリ情報保護システムの動作概要を示す図である。
【図３】第１実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図４】第１実施形態に係るメモリ情報保護システムの動作を示すフローチャートである。
【図５】対応アプリケーションソフトウェアの取得情報を示す図である。
【図６】継続情報を用いた処理を示すフローチャートである。
【図７】継続情報を用いた処理を示すフローチャートである。
【図８】継続情報を用いた処理を示すフローチャートである。
【図９】第２実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図１０】第２実施形態に係るメモリ情報保護システムの動作を示すフローチャートである。
【図１１】第３実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図１２】第３実施形態に係るメモリ情報保護システムの動作を示すフローチャートである。
【図１３】継続アプリケーションソフトウェアの出力動作を示すフローチャートである。
【図１４】変形例に係るメモリ情報保護システムの構成を示す図である。
【図１５】変形例に係るメモリ情報保護システムの構成を示す図である。
【発明を実施するための形態】
【００１８】
以下、各実施形態について図面を参照して説明する。なお、異なる図面において同一の符号を付した要素は、同一または相応する要素を示すものとする。
【００１９】
＜１．第１実施形態＞
［１−１．構成概要］
図１は、メモリ情報保護システム（単に「メモリシステム」とも称する）１Ａの外観構成を示す図である。
【００２０】
図１に示されるように、メモリ情報保護システム１Ａは、情報処理装置１０とメモリ装置２０Ａとを有している。
【００２１】
メモリ装置２０Ａは、所定のアプリケーションをコンピュータ上で実施するためのアプリケーションソフトウェア（アプリケーションプログラム）を記憶（格納）している。このメモリ装置２０Ａは、例えばカードまたはカートリッジのような態様を有し、情報処理装置１０に脱着自在に構成されている。
【００２２】
情報処理装置１０は、アプリケーションの進行状況に対応したデータ（対応データ）をメモリ装置２０Ａから順次に取得し、当該対応データに含まれるアプリケーションソフトウェアを順次に実行することによって、アプリケーションを進行させる。また、情報処理装置１０は、各対応データから得られる特定情報をメモリ装置２０Ａに記憶させる。そして、アプリケーション進行後の所定段階において、メモリ情報保護システム１Ａは、メモリ装置２０Ａに蓄積された特定情報に基づいて、アプリケーションを継続させるために用いる継続情報を生成し、生成された継続情報を用いてアプリケーションを継続実施させる。
【００２３】
このような情報処理装置１０には、例えば、パーソナルコンピュータ（パソコン）、ＰＤＡ（Personal Digital Assistant）のような情報端末装置が含まれる。また、メモリ装置２０Ａに記憶されたアプリケーションソフトウェアがゲームプログラムである場合は、情報処理装置１０は、据置型ゲーム機または携帯ゲーム機等のゲーム装置本体として機能する。
【００２４】
ここで、メモリ装置２０Ａにアプリケーションソフトウェアとしてゲームプログラムが記憶され、情報処理装置１０が、当該ゲームプログラムを実行するゲーム装置本体として機能する場合を一例にして、メモリ情報保護システム１Ａの動作概要を説明する。図２は、ゲームシステムとして動作するメモリ情報保護システム１Ａの動作概要を示す図である。
【００２５】
具体的には、図２に示されるように、情報処理装置１０は、ゲームの進行状況の第１段階では、第１段階に対応したＡ対応データＤＡをメモリ装置２０Ａから取得し、当該Ａ対応データに含まれるＡゲームプログラムＰＡを実行して第１段階におけるゲームを実施可能にする。またこのとき、情報処理装置１０は、Ａ対応データＤＡに含まれるＡ特定情報ＫＡをメモリ装置２０Ａに転送して記憶させる。
【００２６】
次に、ゲームの進行状況の第２段階では、情報処理装置１０は、第２段階に対応したＥ対応データＤＥをメモリ装置２０Ａから取得し、当該Ｅ対応データＤＥに含まれるＥゲームプログラムＰＥを実行して第２段階におけるゲームを実施可能にする。またこのとき、情報処理装置１０は、Ｅ対応データＤＥに含まれるＥ特定情報ＫＥをメモリ装置２０Ａに転送して記憶させる。
【００２７】
同様に、ゲームの進行状況の第３段階では、情報処理装置１０は、第３段階に対応したＢ対応データＤＢをメモリ装置２０Ａから取得し、当該Ｂ対応データＤＢに含まれるＢゲームプログラムＰＢを実行して第３段階におけるゲームを実施可能にする。またこのとき、情報処理装置１０は、Ｂ対応データＤＢに含まれるＢ特定情報ＫＢをメモリ装置２０Ａに転送して記憶させる。
【００２８】
そして、ゲームの進行状況の最終段階では、メモリ情報保護システム１Ａは、メモリ装置２０Ａに蓄積した各特定情報ＫＡ，ＫＥ，ＫＢを用いて最終段階用のＺゲームプログラムＰＺを生成し、当該ＺゲームプログラムＰＺを情報処理装置１０において実行して最終段階におけるゲームを実施可能にする。
【００２９】
このように、メモリ情報保護システム１Ａは、進行状況に応じた各対応データから得られた各特定情報を一旦記憶する。そして、ゲームの最終段階では、記憶した特定情報を用いて、最終段階のゲームの実施に用いるＺゲームプログラムを継続情報として取得するように構成される。このようなメモリ情報保護システム１Ａによれば、ゲームを進行させることなく全てのゲームデータを取得することができないため、ゲームを進行させるという概念が重要になり、ゲームデータの複製が困難になる。
【００３０】
［１−２．機能ブロック］
次に、メモリ情報保護システム１Ａの機能構成について説明する。図３は、第１実施形態に係るメモリ情報保護システム１Ａの機能構成を示すブロック図である。
【００３１】
図３に示されるように、メモリ情報保護システム１Ａを構成する情報処理装置１０は、制御部１００と、情報処理装置１０をメモリ装置２０Ａと電気的に接続させるためのインターフェース（Ｉ／Ｆ）１１０とを備えている。
【００３２】
制御部１００は、マイクロコンピュータとして構成され、主にＣＰＵ、ＲＡＭおよびＲＯＭ等（いずれも不図示）を備えている。
【００３３】
制御部１００は、ＲＯＭに格納されたプログラムを読み出し、当該プログラムをＣＰＵで実行することによって、各種機能を実現する。
【００３４】
具体的には、制御部１００は、ＲＯＭに格納されたプログラムの実行によって、実行制御部１０１を機能的に実現する。
【００３５】
実行制御部１０１は、ＣＰＵによるアプリケーションソフトウェアの実行を制御する。また、実行制御部１０１は、アプリケーションを起動する（立ち上げる）際には、起動用の初期アプリケーションソフトウェアをメモリ装置２０Ａ（例えば、メモリ装置２０Ａの第１記憶部２００）から読み出して、当該初期アプリケーションソフトウェアをＣＰＵに実行させ、アプリケーションを開始させる。
【００３６】
また、制御部１００では、ＲＯＭに格納された上記プログラムの実行によって、或いは実行制御部１０１の制御に従いアプリケーションソフトウェアをＣＰＵで実行することによって、データ取得部１０２、特定情報出力部１０３および継続情報取得部１０４が機能的に実現されることになる。
【００３７】
データ取得部１０２は、アプリケーションの進行状況に応じて、アプリケーションの進行状況に対応したデータ（「対応データ」とも称する）を、メモリ装置２０Ａから取得する機能を有している。データ取得部１０２によって取得される対応データには、アプリケーションの進行状況に対応したアプリケーションソフトウェア（対応アプリケーションソフトウェア）と特定情報とが含まれている。対応アプリケーションソフトウェアは、実行制御部１０１の制御に従って、ＣＰＵで実行されることになる。
【００３８】
特定情報出力部１０３は、データ取得部１０２によって取得された対応データから特定情報を取得し、当該特定情報をメモリ装置２０Ａに対して出力する機能を有している。特定情報の出力は、当該特定情報を含む対応データを取得する度に行われる。
【００３９】
継続情報取得部１０４は、メモリ装置２０Ａに蓄積されている特定情報を用いて、アプリケーションを継続させるために用いる継続情報を取得する機能を有している。具体的には、継続情報取得部１０４は、特定情報をメモリ装置２０Ａから読み出し、読み出した特定情報に基づいて継続情報を取得する。
【００４０】
一方、メモリ情報保護システム１Ａを構成するメモリ装置２０Ａは、記憶手段としての第１記憶部２００および第２記憶部２１０と、セキュリティ部２２０とを備えている。
【００４１】
第１記憶部２００は、マスクＲＯＭのような不揮発性の記憶部であって、アプリケーションの進行状況に対応した対応データ２０１を複数記憶している。図３には、対応データ２０１として、Ａ対応データ、Ｂ対応データ、Ｃ対応データ、Ｄ対応データ、およびＥ対応データ等が記憶されている態様が示されている。これら各対応データには、対応アプリケーションソフトウェアと特定情報とが含まれている。
【００４２】
なお、図３では、説明簡単化のために、各対応データが、Ａ→Ｂ→Ｃ・・・と順序通りに記憶された態様を例示したが、各対応データの記憶順序はランダムであることが好ましい。
【００４３】
第１記憶部２００は、情報処理装置１０から発行された対応データの出力コマンドを受けて、出力対象となる対応データ２０１を出力する。例えば、Ａ対応データが出力対象であった場合は、当該Ａ対応データが出力され、Ｂ対応データが出力対象であった場合は、当該Ｂ対応データが出力されることになる。
【００４４】
なお、当該第１記憶部２００は、マスクＲＯＭに限定されず、フラッシュメモリ、ＥＰ−ＲＯＭまたはハードディスク（ＨＤ）等であってもよい。
【００４５】
セキュリティ部２２０は、記憶制御部２２１と読出制御部（出力制御部）２２２とを有している。
【００４６】
記憶制御部２２１は、情報処理装置１０から入力される特定情報を第２記憶部２１０に記憶させる記憶制御を行う。
【００４７】
読出制御部２２２は、情報処理装置１０から入力される出力コマンドに応じて、第２記憶部２１０に記憶された情報の出力制御を行う。例えば、情報処理装置１０から入力される出力コマンドが、特定情報の出力コマンドである場合は、第２記憶部２１０に記憶された特定情報が情報処理装置１０に対して出力されることになる。
【００４８】
第２記憶部２１０は、フラッシュメモリのような書き換え可能な不揮発性の記憶部であって、記憶制御部２２１の制御に従って、情報処理装置１０から入力される特定情報を記憶する。図３では、特定情報２１１として、Ａ特定情報と、Ｅ特定情報、およびＢ特定情報等が記憶されている態様が示されている。
【００４９】
上記セキュリティ部２２０と第２記憶部２１０とは、アプリケーションの実施に用いるアプリケーションソフトウェアの複製を防止する複製防止部２３０として機能する。
【００５０】
［１−３．メモリ情報保護システム１Ａの動作］
次に、メモリ情報保護システム１Ａの動作について説明する。図４は、メモリ情報保護システム１Ａの動作を示すフローチャートである。図４では、左側に情報処理装置１０の動作を示すフローチャート、右側にメモリ装置２０Ａの動作を示すフローチャートがそれぞれ示されている。図５は、対応アプリケーションソフトウェアの取得情報を示す図である。図６〜図８は、継続情報を用いた処理を示すフローチャートである。
【００５１】
メモリ情報保護システム１Ａの動作開始前には、メモリ装置２０Ａが情報処理装置１０に装着されて、それぞれのインターフェースが電気的に接続される。そして、情報処理装置１０の電源投入に応じて、情報処理装置１０が起動されるとともに、電源がメモリ装置２０Ａに供給されて、システムとしての動作が開始される。
【００５２】
図４に示されるように、情報処理装置１０では、電源が投入されると、実行制御部１０１によって、初期アプリケーションソフトウェアがメモリ装置２０Ａから読み出される（ステップＳＰ１０１）。
【００５３】
ステップＳＰ１０２では、実行制御部１０１が、初期アプリケーションソフトウェアをＣＰＵに実行させ、アプリケーションが開始される。
【００５４】
ステップＳＰ１０３では、データ取得部１０２によって、メモリ装置２０Ａに記憶されている対応データ２０１が取得される。
【００５５】
起動後に最初に取得すべき対応データ２０１の情報は、初期アプリケーションソフトウェアに組み込まれている。具体的には、初期アプリケーションソフトウェアには、最初に取得すべき対応データ２０１の取得命令が組み込まれており、初期アプリケーションソフトウェアの実行によって、対応データ２０１の取得命令が発行される。データ取得部１０２は、当該取得命令を受けて取得対象となる対応データ２０１の出力コマンド（出力要求）をメモリ装置２０Ａに対して発行する。当該出力コマンドを受けたメモリ装置２０Ａは、取得対象の対応データ２０１を情報処理装置１０に対して出力する。情報処理装置１０は、このようにして取得した対応データ２０１を、内部のＲＡＭに一旦格納する。
【００５６】
次のステップＳＰ１０４では、ステップＳＰ１０３で取得した対応データ２０１に含まれる対応アプリケーションソフトウェアが実行制御部１０１の制御に従って、ＣＰＵで実行される。
【００５７】
ステップＳＰ１０５では、特定情報出力部１０３によって、対応データ２０１に含まれる特定情報２１１がメモリ装置２０Ａに対して出力される。特定情報の出力命令は、実行中の対応アプリケーションソフトウェアに組み込まれている。すなわち、当該対応アプリケーションソフトウェアの実行によって、特定情報の出力命令が発行される。特定情報出力部１０３は、当該出力命令を受けて対応データ２０１に含まれる特定情報２１１をメモリ装置２０Ａに対して出力する。
【００５８】
対応アプリケーションソフトウェアの実行中に、情報処理装置１０の動作を終了させる終了動作（例えば、情報処理装置１０の電源をＯＦＦにする動作）が実行された場合、情報処理装置１０の動作は終了する（ステップＳＰ１０６）。
【００５９】
また、対応アプリケーションソフトウェアの実行中に、継続情報の取得命令が発行された場合、動作工程は、ステップＳＰ１０７を介してステップＳＰ１０８へと移行される。ステップＳＰ１０８では、継続情報取得部１０４によってメモリ装置２０Ａから特定情報が読み出され、当該特定情報に基づいて継続情報の取得動作が行われる。
【００６０】
継続情報取得部１０４によって取得される継続情報としては、以下のようなものを例示することができる。
【００６１】
例えば、継続情報取得部１０４は、各特定情報を用いて、アプリケーションソフトウェアを継続情報として取得してもよい。具体的には、メモリ装置２０Ａから読み出された特定情報それぞれが、アプリケーションソフトウェアの要素である場合、継続情報取得部１０４は、各特定情報を用いて、アプリケーションソフトウェアを生成することによって継続情報を取得する。取得されたアプリケーションソフトウェアは、実行制御部１０１の制御に従って、ＣＰＵで実行されることになる。
【００６２】
なお、継続情報取得部１０４が、アプリケーションソフトウェアを生成することによって継続情報を取得する場合、継続情報取得部１０４は、「ソフトウェア生成手段」とも表現できる。また、特定情報を用いて取得されるアプリケーションソフトウェアは、アプリケーションを継続させるソフトウェアであることから、「継続アプリケーションソフトウェア」とも称される。
【００６３】
また例えば、継続情報取得部１０４は、各特定情報を用いて、鍵情報を継続情報として生成してもよい。当該鍵情報は、メモリ装置２０Ａから取得される、暗号化された対応データを復号化するために用いられる。
【００６４】
また例えば、継続情報取得部１０４は、各特定情報を用いて、次のアプリケーションソフトウェア、すなわち継続アプリケーションソフトウェアを取得するための取得情報（係属アプリケーションソフトウェアの取得情報）を継続情報として生成してもよい。
【００６５】
図５に示されるように、継続アプリケーションソフトウェアの取得情報には、継続アプリケーションソフトウェアの読出方法に関する情報（「継続アプリケーションソフトウェアの読出情報」とも称する）が含まれている。継続アプリケーションソフトウェアの読出情報には、継続アプリケーションソフトウェアの格納先を示す読出アドレスが含まれる。また、継続アプリケーションソフトウェアが複数のアドレスに分散して格納されている場合は、複数の読出アドレスに加えて、読出順序を示す読み出し手順に関する情報が、継続アプリケーションソフトウェアの読出情報として含まれていてもよい。
【００６６】
また継続アプリケーションソフトウェアの取得情報には、継続アプリケーションソフトウェアの生成方法に関する情報（「継続アプリケーションソフトウェアの生成情報」とも称する）が含まれていてもよい。継続アプリケーションソフトウェアの生成方法に関する情報としては、例えば、継続アプリケーションソフトウェアを生成するための復号鍵または継続アプリケーションソフトウェアを生成する際のビットシフト情報等を例示することができる。
【００６７】
なお、継続情報として例示した継続アプリケーションソフトウェア、鍵情報、および継続アプリケーションソフトウェアの取得情報それぞれについての取得手法に関する情報は、各特定情報のうちの１つに含めておいてもよく、初期アプリケーションソフトウェア或いは実行中の対応アプリケーションソフトウェアに含めておいてもよい。
【００６８】
動作説明（図４）に戻って、ステップＳＰ１０９では、取得された継続情報を用いた処理が実行され、アプリケーションが継続実施されることになる。ここで、継続情報を用いた処理について、継続情報の種類に応じて場合分けして説明する。
【００６９】
例えば、継続情報として継続アプリケーションソフトウェアが取得された場合は、図６のような処理が実行されることになる。
【００７０】
具体的には、ステップＳＰ３０１において、継続情報として取得された継続アプリケーションソフトウェアが、実行制御部１０１の制御に従ってＣＰＵで実行される。これにより、アプリケーションの継続実施が実現されることなる。
【００７１】
継続アプリケーションソフトウェアの実行中に、情報処理装置１０の動作を終了させる終了動作が実行された場合は、情報処理装置１０の動作は終了する（ステップＳＰ３０２）。
【００７２】
また例えば、継続情報として鍵情報が取得された場合は、図７のような処理が実行されることになる。
【００７３】
具体的には、ステップＳＰ４０１では、データ取得部１０２によって、メモリ装置２０Ａに記憶されている対応データ２０１が取得される。当該対応データ２０１の取得は、現在実行中の対応アプリケーションソフトウェアに組み込まれた対応データの取得命令の発行に応じて開始される。なお、ここで取得される対応データは、暗号化されているものとする。
【００７４】
次のステップＳＰ４０２では、継続情報として取得された鍵情報を用いて、ステップＳＰ４０１で取得された対応データの復号化が行われる。
【００７５】
ステップＳＰ４０３では、復号化された対応データに含まれる対応アプリケーションソフトウェア（当該対応アプリケーションソフトウェアは、継続アプリケーションソフトウェアに相当する）が、実行制御部１０１の制御に従ってＣＰＵで実行されることになる。これにより、アプリケーションの継続実施が実現されることなる。
【００７６】
継続アプリケーションソフトウェアの実行中に、情報処理装置１０の動作を終了させる終了動作が実行された場合は、情報処理装置１０の動作は終了する（ステップＳＰ４０４）。
【００７７】
なお、上記ステップＳＰ４０１では、対応データを取得する態様を例示したが、取得されるデータの種類は対応データに限らず、継続アプリケーションソフトウェアそのものであってもよい。なお、継続アプリケーションソフトウェアそのものが取得される場合、当該継続アプリケーションソフトウェアは暗号化されている。
【００７８】
また例えば、継続情報として継続アプリケーションソフトウェアの取得情報が取得された場合は、図８のような処理が実行されることになる。
【００７９】
具体的には、ステップＳＰ５０１では、データ取得部１０２によって、継続アプリケーションソフトウェアの取得情報を用いて、継続アプリケーションソフトウェアがメモリ装置２０Ａから取得される。
【００８０】
次のステップＳＰ５０２では、取得された継続アプリケーションソフトウェアが、実行制御部１０１の制御に従ってＣＰＵで実行される。これにより、アプリケーションの継続実施が実現されることなる。
【００８１】
継続アプリケーションソフトウェアの実行中に、情報処理装置１０の動作を終了させる終了動作が実行された場合は、情報処理装置１０の動作は終了する（ステップＳＰ５０３）。
【００８２】
このように、継続情報を用いた処理（ステップＳＰ１０９）では、継続情報を用いることによってアプリケーションの継続実施が実現される。
【００８３】
図４に戻って、情報処理装置１０の動作が継続され（ステップＳＰ１０６）、かつ継続情報の取得動作が行われない場合（ステップＳＰ１０７）は、動作工程は、ステップＳＰ１０３に再び移行される。ステップＳＰ１０３では、メモリ装置２０Ａから新たな対応データが取得され、当該新たな対応データを用いた処理（ステップＳＰ１０４からステップＳＰ１０７の各処理）が実行されることになる。すなわち、アプリケーションが進行して、継続情報を必要とする状況になるまで、ステップＳＰ１０３からステップＳＰ１０７の各工程が繰り返し実行されることになる。
【００８４】
このように、情報処理装置１０は、継続情報を必要とする状況にアプリケーションが進行するまで、アプリケーションの進行に用いる対応データを順次に取得してアプリケーションを継続実施するとともに、対応データに含まれる特定情報を順次に出力する。そして、アプリケーションの進行によって継続情報が必要な状況になると、情報処理装置１０は、メモリ装置２０Ａに蓄積された特定情報を用いて継続情報を取得し、アプリケーションを継続実施させる。
【００８５】
一方、メモリ装置２０Ａでは、電源供給が開始されると、情報処理装置１０のステップＳＰ１０１に対応する動作が実行され、第１記憶部２００から初期アプリケーションソフトウェアが出力される（ステップＳＰ２０１）。
【００８６】
ステップＳＰ２０２では、情報処理装置１０からメモリ装置２０Ａに入力されるコマンド（入力コマンド）の解析が行われる。そして、入力コマンドが対応データの出力コマンドであった場合、動作工程はステップＳＰ２０３に移行され、入力コマンドが特定情報の出力コマンドであった場合、動作工程はステップＳＰ２０５に移行される。
【００８７】
入力コマンドが対応データの出力コマンドであった場合に移行されるステップＳＰ２０３では、情報処理装置１０のステップＳＰ１０３に対応する動作が実行され、出力対象の対応データ２０１が第１記憶部２００から出力される。
【００８８】
そして、次のステップＳＰ２０４では、情報処理装置１０のステップＳＰ１０５に対応する動作が実行され、情報処理装置１０から出力された特定情報２１１が、セキュリティ部２２０の記憶制御部２２１の制御に従って、第２記憶部２１０に記憶される。
【００８９】
また、入力コマンドが特定情報の出力コマンドであった場合に移行されるステップＳＰ２０５では、情報処理装置１０のステップＳＰ１０８に対応する動作が実行され、読出制御部２２２の制御に従って、特定情報がメモリ装置２０Ａから出力される。
【００９０】
ステップＳＰ２０４の動作或いはステップＳＰ２０５の動作が終了すると、動作工程は、ステップＳＰ２０２に移行される。
【００９１】
以降、上記と同様の処理が実行される。すなわち、ステップＳＰ２０２では、入力コマンドの解析が行われ、対応データの出力コマンドが入力された場合は、動作工程はステップＳＰ２０３に移行される。ステップＳＰ２０３では、対応データの出力が行われ、ステップＳＰ２０４では、情報処理装置１０から出力された特定情報が第２記憶部２１０に記憶される。
【００９２】
また、特定情報の出力コマンドがメモリ装置２０Ａに入力された場合は、動作工程は、ステップＳＰ２０２からステップＳＰ２０５に移行され、ステップＳＰ２０５では、メモリ装置２０Ａから特定情報が出力される。
【００９３】
このように、メモリ装置２０Ａでは、アプリケーションが終了するまで、情報処理装置１０の動作に対応して、ステップＳＰ２０２からステップＳＰ２０５の各工程が実行されることになる。
【００９４】
以上のように、メモリ情報保護システム１Ａは、アプリケーションを実施させる情報処理装置１０と、記憶部２１０を有し、情報処理装置１０と電気的に接続されるメモリ装置２０Ａとを備えている。そして、情報処理装置１０は、アプリケーションの進行に用いる対応データを取得するデータ取得部１０２と、データ取得部１０２によって取得された対応データを用いて得られる特定情報を出力する特定情報出力部１０３とを有し、メモリ装置２０Ａは、特定情報を記憶部２１０に記憶させる記憶制御を行う記憶制御部２２１を有している。さらに、メモリ情報保護システム１Ａは、記憶された特定情報に基づいて、アプリケーションを継続させるために用いる継続情報を取得する継続情報取得部１０４を有し、情報処理装置１０は、継続情報を用いてアプリケーションを継続実施させる。
【００９５】
このようにメモリ情報保護システム１Ａは、アプリケーションの進行に応じて、アプリケーションの進行に用いる対応データを取得しつつ、対応データを用いて得られる特定情報をメモリ装置２０Ａに記憶させる。そして、メモリ情報保護システム１Ａは、メモリ装置２０Ａに記憶された特定情報に基づいて、アプリケーションを継続させるために用いる継続情報を取得する構成であるため、アプリケーションを実施することなく、メモリ装置２０Ａに記憶されているデータを単に抜き出しただけでは、アプリケーションを継続させるために用いる継続情報を取得することができない。したがって、メモリ装置２０Ａに記憶されているデータだけを抜き出してアプリケーションソフトウェアを複製しようとする無断複製者の行為を妨げることが可能になり、アプリケーションソフトウェアの複製を困難にすることができる。
【００９６】
また、メモリ情報保護システム１Ａでは、情報処理装置１０は、アプリケーションの進行に応じてアプリケーションの進行状況に対応した、対応アプリケーションソフトウェアを順次に取得する。そして、順次に取得した対応アプリケーションソフトウェアを順次に実行して、アプリケーションの継続実施を実現する。このため、アプリケーションを進行させない限り、アプリケーションの進行順序に沿った正しいアプリケーションソフトウェアを順次に得ることができないので、メモリ装置２０Ａに記憶されているデータを単に抜き出しただけでは、アプリケーションソフトウェアを複製することが困難になる。
【００９７】
＜２．第２実施形態＞
次に、第２実施形態について説明する。第２実施形態に係るメモリ情報保護システム１Ｂでは、特定情報の記憶順序を考慮して、メモリ装置への特定情報の記憶制御が行われる。特定情報を記憶する際に特定情報の記憶順序を考慮する点以外は、第２実施形態のメモリ情報保護システム１Ｂは、第１実施形態のメモリ情報保護システム１Ａとほぼ同様の構造および機能を有している。このため、メモリ情報保護システム１Ｂにおいて、メモリ情報保護システム１Ａと共通する部分については同じ符号を付して説明を省略する。
【００９８】
［２−１．構成］
上述のように、本実施形態のメモリ情報保護システム１Ｂでは、特定情報の記憶順序を考慮して、メモリ装置への特定情報の記憶制御が行われる。以下では、このような記憶制御を行うメモリ情報保護システム１Ｂについて詳述する。図９は、第２実施形態に係るメモリ情報保護システム１Ｂの機能構成を示すブロック図である。
【００９９】
図９に示されるように、メモリ情報保護システム１Ｂを構成するメモリ装置２０Ｂは、第２記憶部２１０において、記憶順序情報２１２を記憶している。記憶順序情報２１２は、アプリケーションの進行に応じて定められた、メモリ装置２０Ｂへの特定情報の記憶順序（格納順序）に関する情報であり、メモリ装置２０Ｂの製造時に第２記憶部２１０に予め記憶されている。当該記憶順序情報２１２は、セキュリティ部２２０の記憶制御部２２１の制御に従って、セキュリティ部２２０に出力される。
【０１００】
セキュリティ部２２０は、記憶制御部２２１と読出制御部２２２とを有している。
【０１０１】
記憶制御部２２１は、情報処理装置１０から入力される特定情報を第２記憶部２１０に記憶させる記憶制御を行う。
【０１０２】
具体的には、記憶制御部２２１は、情報処理装置１０から入力された特定情報を把握する。そして、記憶制御部２２１は、第２記憶部２１０から得た記憶順序情報２１２に基づいて、情報処理装置１０から入力された特定情報の記憶順序が正しいか否か（妥当か否か）を判定する。特定情報の記憶順序が正しかった場合は、記憶制御部２２１は、入力された特定情報を第２記憶部２１０に記憶させる。一方、特定情報の記憶順序が正しくなかった場合は、記憶制御部２２１は、入力された特定情報を記憶させずに、当該特定情報を破棄する。
【０１０３】
［２−２．動作］
ここで、メモリ情報保護システム１Ｂの動作について説明する。図１０は、メモリ情報保護システム１Ｂの動作を示すフローチャートである。図１０では、左側に情報処理装置１０の動作を示すフローチャート、右側にメモリ装置２０Ｂの動作を示すフローチャートがそれぞれ示されている。
【０１０４】
メモリ装置２０Ｂが情報処理装置１０に装着され、情報処理装置１０に電源が投入されると、システムとしての動作が開始される。
【０１０５】
具体的には、図１０に示されるように、情報処理装置１０では、第１実施形態で説明した各動作工程（ステップＳＰ１０１〜ステップＳＰ１０９）が実行され、第１実施形態の情報処理装置１０と同様の動作が実行される。
【０１０６】
一方、メモリ装置２０Ｂでは、電源供給が開始されると、情報処理装置１０のステップＳＰ１０１に対応した動作が実行され、第１記憶部２００から初期アプリケーションソフトウェアが出力される（ステップＳＰ２１１）。
【０１０７】
次のステップＳＰ２１２では、情報処理装置１０からメモリ装置２０Ｂに入力されるコマンド（入力コマンド）の解析が行われる。そして、入力コマンドが対応データの出力コマンドであった場合、動作工程はステップＳＰ２１３に移行され、入力コマンドが特定情報の出力コマンドであった場合、動作工程はステップＳＰ２１７に移行される。
【０１０８】
入力コマンドが対応データの出力コマンドであった場合に移行されるステップＳＰ２１３では、情報処理装置１０のステップＳＰ１０３に対応する動作が実行され、出力対象の対応データ２０１が第１記憶部２００から出力される。
【０１０９】
そして、次のステップＳＰ２１４〜ステップＳＰ２１６では、情報処理装置１０のステップＳＰ１０５に対応した動作、すなわち特定情報の記憶動作が実行される。
【０１１０】
具体的には、ステップＳＰ２１４では、記憶制御部２２１によって、情報処理装置１０から入力された特定情報が把握される。
【０１１１】
次のステップＳＰ２１５では、記憶制御部２２１によって、特定情報の記憶順序が妥当（適切）か否かが判定される。特定情報の記憶順序の妥当性判断は、例えば、既に記憶済みの特定情報に関する記憶履歴情報（格納履歴情報）およびステップＳＰ２１４で記憶対象として特定された特定情報と、第２記憶部２１０から得られる記憶順序情報２１２とを比較することによって行うことができる。なお、記憶履歴情報を用いて記憶順序の妥当性判断を行う場合は、セキュリティ部２２０は、特定情報を記憶する度に記憶履歴情報を更新（生成）して第２記憶部２１０に格納しておけばよい。
【０１１２】
ステップＳＰ２１５において、特定情報の記憶順序が妥当であると判断された場合、動作工程は、ステップＳＰ２１６に移行される。ステップＳＰ２１６では、記憶制御部２２１によって、特定情報が第２記憶部２１０に記憶される。そして、特定情報の記憶が終了すると動作工程は、ステップＳＰ２１２に移行される。
【０１１３】
一方、ステップＳＰ２１５において、特定情報の記憶順序が妥当でないと判断された場合、動作工程は、上記ステップＳＰ２１６を経ずにステップＳＰ２１２に移行される。すなわち、特定情報の記憶順序が妥当でないと判断された場合は、入力された特定情報を記憶することなく、動作工程がステップＳＰ２１２に移行されることになる。
【０１１４】
また、入力コマンドが特定情報の出力コマンドであった場合に移行されるステップＳＰ２１７では、情報処理装置１０のステップＳＰ１０８に対応する動作が実行され、読出制御部２２２の制御に従って、特定情報がメモリ装置２０Ｂから出力される。そして、特定情報の出力が終了すると、動作工程は、ステップＳＰ２１２に移行される。
【０１１５】
以降、上記と同様の繰り返し処理が実行される。すなわち、ステップＳＰ２１２では、入力コマンドの解析が行われ、対応データの出力コマンドが入力された場合は、動作工程はステップＳＰ２１３に移行される。ステップＳＰ２１３では、対応データの出力が行われ、ステップＳＰ２１４〜ステップＳＰ２１６では、情報処理装置１０から出力された特定情報の記憶動作が実行される。
【０１１６】
また、特定情報の出力コマンドがメモリ装置２０Ｂに入力された場合は、動作工程は、ステップＳＰ２１２からステップＳＰ２１７に移行され、ステップＳＰ２１７では、メモリ装置２０Ｂから特定情報が出力される。
【０１１７】
このように、メモリ装置２０Ｂでは、アプリケーションが終了するまで、情報処理装置１０の動作に対応して、ステップＳＰ２１２からステップＳＰ２１７の各工程が実行されることになる。
【０１１８】
以上のように、メモリ情報保護システム１Ｂのメモリ装置２０Ｂは、特定情報の記憶順序が正しいか否かを監視して、記憶順序が正しい場合、入力された特定情報を記憶し、記憶順序が正しくない場合、入力された特定情報を記憶しない。これによれば、正しい順序でアプリケーションを進行させなければ、正しい順序で特定情報をメモリ装置２０Ｂに入力させることができないので、アプリケーションを進行させることなく、継続情報を取得するために用いる特定情報をメモリ装置２０Ｂに蓄積することができない。したがって、継続情報を取得してアプリケーションを継続実施させるためには、アプリケーションを進行させることが必要になるので、アプリケーションを実施することなく、メモリ装置２０Ｂに記憶されているデータだけを抜き出してアプリケーションソフトウェアを複製しようとする無断複製者の行為を妨げることが可能になる。
【０１１９】
＜３．第３実施形態＞
次に、第３実施形態について説明する。上記第１および第２実施形態に係るメモリ情報保護システム１Ａ，１Ｂでは、情報処理装置１０が継続情報を取得する継続情報取得部１０４を有していたが、メモリ装置２０Ａ（２０Ｂ）が継続情報取得部を有する態様であってもよい。
【０１２０】
第３実施形態では、メモリ装置２０Ｃが継続情報取得部を有する場合におけるメモリ情報保護システム１Ｃの一態様を例示する。なお、メモリ情報保護システム１Ｃにおいて、メモリ情報保護システム１Ａと共通する部分については同じ符号を付して説明を省略する。
【０１２１】
［３−１．構成］
上述のように、本実施形態のメモリ情報保護システム１Ｃでは、メモリ装置２０Ｃが継続情報取得部を有し、メモリ装置２０Ｃにおいて継続情報が取得される。図１１は、第３実施形態に係るメモリ情報保護システム１Ｃの機能構成を示すブロック図である。
【０１２２】
図１１に示されるように、メモリ情報保護システム１Ｃを構成するメモリ装置２０Ｃは、第２記憶部２１０において、継続アプリケーションソフトウェア２１３と、判定値２１４とを記憶している。
【０１２３】
継続アプリケーションソフトウェア２１３は、アプリケーションを継続させるソフトウェアであり、メモリ情報保護システム１Ｃでは、第２記憶部２１０に予め記憶されている。
【０１２４】
判定値２１４は、メモリ装置２０Ｃへの特定情報の正規の記憶順序（正しい記憶順序）を示す値（所定値）であり、第２記憶部２１０に予め記憶されている。判定値２１４は、メモリ装置２０Ｃへの特定情報の記憶順序が正しいか否かを判定するために用いられ、当該判定値２１４は、セキュリティ部２２０の読出制御部２２２の制御に従って、セキュリティ部２２０に出力される。
【０１２５】
セキュリティ部２２０は、記憶制御部２２１と読出制御部２２２と継続情報取得部２２３とを有している。
【０１２６】
記憶制御部２２１は、情報処理装置１０から入力される特定情報を第２記憶部２１０に記憶させる記憶制御を行う。なお、第２記憶部２１０に記憶される特定情報には、当該特定情報を記憶する時の記憶時間（記憶時刻）に関する情報も含まれている。記憶時間に関する情報は、情報処理装置１０から出力される際に特定情報出力部１０３によって、或いは特定情報を第２記憶部２１０に記憶する際に記憶制御部２２１によって付加される。
【０１２７】
読出制御部２２２は、情報処理装置１０から入力される出力コマンドに応じて、第２記憶部２１０に記憶された情報の出力制御を行う。本実施形態の読出制御部２２２は、継続アプリケーションソフトウェアの出力コマンドに応じて、第２記憶部２１０に記憶された継続アプリケーションソフトウェアの出力制御を行う。
【０１２８】
継続情報取得部２２３は、メモリ装置２０Ｃに蓄積されている特定情報を用いて、アプリケーションを継続させるために用いる継続情報を取得する機能を有している。
【０１２９】
具体的には、継続情報取得部２２３は、特定情報を第２記憶部２１０から読み出し、読み出した特定情報に基づいて継続情報を取得する。ここで取得される継続情報は、第２記憶部２１０に記憶済みの各特定情報の記憶順序を反映した情報であり、例えば、次の手法により算出することができる。
【０１３０】
すなわち、継続情報取得部２２３は、各特定情報に含まれる記憶時間を比較することによって各特定情報の記憶順序を特定する。そして、記憶順を示す値（例えば、１，２，３・・・）を各特定情報に乗算し、乗算後の値の上位１バイトをそれぞれ加算することによって、継続情報を取得する。このようにして算出された継続情報は、記憶順序に応じて異なる値を示すデータであり、「記憶順序データ」または「記憶順序値」とも称される。
【０１３１】
［３−２．動作］
ここで、メモリ情報保護システム１Ｃの動作について説明する。図１２は、メモリ情報保護システム１Ｃの動作を示すフローチャートである。図１２では、左側に情報処理装置１０の動作を示すフローチャート、右側にメモリ装置２０Ｃの動作を示すフローチャートがそれぞれ示されている。図１３は、継続アプリケーションソフトウェアの出力動作を示すフローチャートである。
【０１３２】
メモリ装置２０Ｃが情報処理装置１０に装着され、情報処理装置１０に電源が投入されると、システムとしての動作が開始される。
【０１３３】
具体的には、図１２に示されるように、情報処理装置１０では、実行制御部１０１によって、初期アプリケーションソフトウェアがメモリ装置２０Ｃから読み出される（ステップＳＰ１１１）。
【０１３４】
ステップＳＰ１１２では、上述のステップＳＰ１０２と同様、実行制御部１０１が、初期アプリケーションソフトウェアをＣＰＵに実行させ、アプリケーションが開始される。
【０１３５】
ステップＳＰ１１３では、上述のステップＳＰ１０３と同様、データ取得部１０２によって、メモリ装置２０Ｃに記憶されている対応データ２０１が取得される。
【０１３６】
次のステップＳＰ１１４では、上述のステップＳＰ１０４と同様、ステップＳＰ１１３で取得した対応データ２０１に含まれる対応アプリケーションソフトウェアが実行制御部１０１の制御に従って、ＣＰＵで実行される。
【０１３７】
ステップＳＰ１１５では、上述のステップＳＰ１１２と同様、特定情報出力部１０３によって、対応データ２０１に含まれる特定情報２１１がメモリ装置２０Ｃに対して出力される。
【０１３８】
そして、対応アプリケーションソフトウェアの実行中に、情報処理装置１０の動作を終了させる終了動作（例えば、情報処理装置１０の電源をＯＦＦにする動作）が実行された場合は、情報処理装置１０の動作は終了する（ステップＳＰ１１６）。
【０１３９】
また、対応アプリケーションソフトウェアの実行中に、継続アプリケーションソフトウェアの取得命令が発行された場合、動作工程は、ステップＳＰ１１７を介してステップＳＰ１１８へと移行される。
【０１４０】
ステップＳＰ１１８では、データ取得部１０２によって、継続アプリケーションソフトウェアの出力コマンドが発行され、メモリ装置２０Ｃから継続アプリケーションソフトウェアが読み出される。
【０１４１】
そして、次のステップＳＰ１１９では、実行制御部１０１の制御に従って、継続アプリケーションソフトウェアがＣＰＵで実行されることになる。これにより、アプリケーションの継続実施が実現されることなる。
【０１４２】
このように、情報処理装置１０は、継続情報を必要とする状況にアプリケーションが進行するまで、アプリケーションの進行に用いる対応データを順次に取得してアプリケーションを継続実施するとともに、対応データに含まれる特定情報を順次に出力する。アプリケーションの進行によって継続アプリケーションソフトウェアが必要な状況になると、情報処理装置１０は、継続アプリケーションソフトウェアの出力コマンドをメモリ装置２０Ｃに対して発行し、メモリ装置２０Ｃから継続アプリケーションソフトウェアを取得する。そして、情報処理装置１０は、取得した継続アプリケーションソフトウェアを実行することによって、アプリケーションを継続実施させる。
【０１４３】
一方、メモリ装置２０Ｃでは、電源供給が開始されると、情報処理装置１０のステップＳＰ１１１に対応する動作が実行され、第１記憶部２００から初期アプリケーションソフトウェアが出力される（ステップＳＰ２２１）。
【０１４４】
ステップＳＰ２２２では、情報処理装置１０からメモリ装置２０Ｃに入力されるコマンド（入力コマンド）の解析が行われる。そして、入力コマンドが対応データの出力コマンドであった場合、動作工程はステップＳＰ２２３に移行され、入力コマンドが継続アプリケーションソフトウェアの出力コマンドであった場合、動作工程はステップＳＰ２２５に移行される。
【０１４５】
入力コマンドが対応データの出力コマンドであった場合に移行されるステップＳＰ２２３では、情報処理装置１０のステップＳＰ１１３に対応する動作が実行され、出力対象の対応データ２０１が第１記憶部２００から出力される。
【０１４６】
そして、次のステップＳＰ２２４では、情報処理装置１０のステップＳＰ１１５に対応する動作が実行され、情報処理装置１０から出力された特定情報２１１が、セキュリティ部２２０の記憶制御部２２１の制御に従って、第２記憶部２１０に記憶される。
【０１４７】
また、入力コマンドが継続アプリケーションソフトウェアの出力コマンドであった場合に移行されるステップＳＰ２２５では、情報処理装置１０のステップＳＰ１１８に対応した継続アプリケーションソフトウェアの出力動作が実行される。
【０１４８】
継続アプリケーションソフトウェアの出力動作では、図１３に示される動作が実行されることになる。
【０１４９】
具体的には、ステップＳＰ６０１では、継続情報取得部２２３によって、記憶順序データが継続情報として取得される。
【０１５０】
そして、ステップＳＰ６０２では、読出制御部２２２によって、記憶順序データと判定値とを比較することによって、記憶順序データと判定値とが一致するか否かが判定される。
【０１５１】
記憶順序データと判定値とが一致する場合は、特定情報の記憶順序が妥当であったとして動作工程は、ステップＳＰ６０３に移行される。ステップＳＰ６０３では、読出制御部２２２によって、継続アプリケーションソフトウェアの出力が行われる。
【０１５２】
一方、記憶順序データと判定値とが一致しない場合（不一致の場合）は、特定情報の記憶順序が妥当でなかったとしてステップＳＰ６０３を経ることなく継続アプリケーションソフトウェアの出力動作が終了する。すなわち、特定情報の記憶順序が正しくないと判断された場合は、継続アプリケーションソフトウェアの出力が行われない。
【０１５３】
このように、継続アプリケーションソフトウェアの出力動作では、継続情報取得部２２３によって記憶順序データが継続情報として取得される。そして、読出制御部２２２によって記憶順序データを用いて特定情報の記憶順序が妥当であったか否かが判定され、記憶順序が妥当であった場合、継続アプリケーションソフトウェアが出力され、記憶順序が妥当でなかった場合、継続アプリケーションソフトウェアは出力されない。
【０１５４】
ステップＳＰ２２４の動作、或いはステップＳＰ２２５の動作が終了すると、動作工程は、ステップＳＰ２２２に移行され、上記と同様の処理が繰り返し実行されることになる。
【０１５５】
このように、メモリ装置２０Ｃでは、アプリケーションが終了するまで、情報処理装置１０の動作に対応して、ステップＳＰ２２２からステップＳＰ２２５の各工程が実行されることになる。
【０１５６】
以上のように、メモリ情報保護システム１Ｃのメモリ装置２０Ｃは、継続アプリケーションソフトウェアを予め記憶している。そして、メモリ装置２０Ｃは、特定情報の記憶順序を反映した継続情報を取得し、継続情報を用いて特定情報の記憶順序が正しいか否かを判定する。そして、特定情報の記憶順序が正しい場合、メモリ装置２０Ｃ内に予め記憶された継続アプリケーションソフトウェアを出力し、特定情報の記憶順序が正しくない場合、継続アプリケーションソフトウェアを出力しない。
【０１５７】
これによれば、正しい順序でアプリケーションを進行させなければ、正しい順序で特定情報をメモリ装置２０Ｃに入力させることができないので、アプリケーションを進行させることなく、正確な継続情報を取得することができない。したがって、正確な継続情報を取得して継続アプリケーションソフトウェアを取得するためには、アプリケーションを進行させることが必要になるので、アプリケーションを実施することなく、メモリ装置２０Ｃに記憶されているデータだけを抜き出してアプリケーションソフトウェアを複製しようとする無断複製者の行為を妨げることが可能になる。
【０１５８】
＜４．変形例＞
以上、この発明の実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
【０１５９】
例えば、上記各実施形態では、対応データ２０１が第１記憶部２００に記憶されている態様を示したが、これに限定されない。図１４は、変形例に係るメモリ情報保護システム１Ｄの構成を示す図である。図１５は、変形例に係るメモリ情報保護システム１Ｅの構成を示す図である。
【０１６０】
具体的には、図１４に示されるように、変形例に係るメモリ情報保護システム１Ｄでは、対応データ２０１は、メモリ装置２０Ｄの第２記憶部２１０に記憶されている。このように、上記各実施形態のメモリ装置２０Ａ（２０Ｂ，２０Ｃ）において、第１記憶部２００に記憶されていた対応データ２０１および初期アプリケーションソフトウェア等は、第２記憶部２１０に記憶しておく態様であってもよい。なお、このようなメモリ情報保護システム１Ｄでは、メモリ装置２０Ｄは、記憶手段として少なくとも第２記憶部２１０を有していればよい。
【０１６１】
また、図１５に示されるように、変形例に係るメモリ情報保護システム１Ｅでは、対応データ２０１は、メモリ装置２０Ｅ以外の外部の記憶装置に記憶されている。このように、上記各実施形態のメモリ装置２０Ａ（２０Ｂ，２０Ｃ）において、第１記憶部２００に記憶されていた対応データ２０１および初期アプリケーションソフトウェア等は、メモリ装置２０Ｅ以外の外部の記憶装置に記憶しておく態様であってもよい。なお、メモリ情報保護システム１Ｅでは、メモリ装置２０Ｅは、記憶手段として少なくとも第２記憶部２１０を有していればよい。
【０１６２】
この場合、情報処理装置１０は、ネットワークを介して対応データおよび初期アプリケーションソフトウェアを取得することになる。例えば、記憶装置がサーバである場合は、情報処理装置１０は、インターネットを介して初期アプリケーションソフトウェアおよび所望の主データをダウンロードする。
【０１６３】
また、上記各実施形態におけるセキュリティ部２２０の動作は、ＲＯＭおよびＲＡＭ等が接続されたＣＰＵにおいて所定のプログラムを実行して実現される態様であってもよく、或いは、論理回路を用いてハードウェアとして実現される態様であってもよい。
【０１６４】
また、上記各実施形態において、情報処理装置１０からメモリ装置２０Ａ（２０Ｂ，２０Ｃ）に転送される各特定情報は暗号化されていてもよい。具体的には、情報処理装置１０の特定情報出力部１０３は、特定情報をメモリ装置２０Ａ（２０Ｂ，２０Ｃ）に送信する際に、当該特定情報に暗号化処理を施す。そして、メモリ装置２０Ａ（２０Ｂ，２０Ｃ）の記憶制御部２２１は、情報処理装置１０から入力される特定情報に復号化処理を施して、復号後の特定情報を第２記憶部２１０に記憶させる。
【０１６５】
これによれば、情報処理装置１０とメモリ装置２０Ａ（２０Ｂ，２０Ｃ）との間で転送される特定情報の解析を困難にすることができ、ひいてはアプリケーションソフトウェアの複製を困難にすることができる。
【０１６６】
またさらに、特定情報出力部１０３は、特定情報ごとに異なる暗号化処理を施すようにしてもよい。これによれば、さらに特定情報の解析を困難にすることができる。
【０１６７】
なお、各特定情報の暗号化に関する情報は、当該各特定情報を含んでいた各対応データに予め含めておけばよい。また、メモリ装置２０Ａ（２０Ｂ，２０Ｃ）において使用する復号化に関する情報は、第２記憶部２１０に予め格納しておけばよい。
【０１６８】
また、上記各実施形態では、対応データ２０１が特定情報２１１を含んでいる態様を例示していたが、これに限定されない。具体的には、対応データ２０１にハッシュ関数を適用してハッシュ値を算出し、当該ハッシュ値を特定情報２１１として用いてもよい。このようにハッシュ値を特定情報２１１とした場合、継続情報取得部１０４は、例えば、鍵情報または継続アプリケーションソフトウェアの取得情報を継続情報として取得する。
【０１６９】
このように、特定情報２１１をハッシュ値とすることによれば、特定情報自体の解析が困難になるので、アプリケーションソフトウェアの複製を困難にすることができる。
【０１７０】
なお、継続情報として、継続アプリケーションソフトウェアの格納先の読出アドレスを特定するために用いるルックアップテーブルを参照するためのパラメータが含まれていてもよい。この場合、継続情報取得部１０４は、ハッシュ値を用いてパラメータを取得し、当該パラメータを用いてルックアップテーブルを参照することによって、継続アプリケーションソフトウェアの格納先の読出アドレスを特定する。
【０１７１】
また、上記各実施形態では、アプリケーションの進行状況の最終段階において継続情報を取得する態様を例示していたが、これに限定されない。具体的には、アプリケーションの進行状況の中間段階において継続情報を取得する態様としてもよい。また、アプリケーションの進行状況において、継続情報を複数回取得する態様としてもよい。
【０１７２】
また、上記第２実施形態では、ステップＳＰ２１５（図１０）において、特定情報の記憶順序が妥当でないと判断された場合、入力された特定情報を記憶することなく、動作工程を次の工程へと移行させていたが、これに限定されない。具体的には、特定情報の記憶順序が妥当でないと判断された場合、以降の対応データの出力を停止することによって、アプリケーションの進行を止めてもよい。
【符号の説明】
【０１７３】
１Ａ，１Ｂ，１Ｃ，１Ｄ，１Ｅ  メモリ情報保護システム（メモリシステム）
１０  情報処理装置
２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ，２０Ｅ  メモリ装置
１００  制御部
１０１  実行制御部
１０２  データ取得部
１０３  特定情報出力部
１０４，２２３  継続情報取得部
２００  第１記憶部
２０１  対応データ
２１０  第２記憶部
２１１  特定情報
２１２  記憶順序情報
２１３  継続アプリケーションソフトウェア
２１４  判定値
２２０  セキュリティ部
２２１  記憶制御部
２２２  読出制御部（出力制御部）
２３０  複製防止部
【図１】
0005753015.tif 000002
【図２】
0005753015.tif 000003
【図３】
0005753015.tif 000004
【図４】
0005753015.tif 000005
【図５】
0005753015.tif 000006
【図６】
0005753015.tif 000007
【図７】
0005753015.tif 000008
【図８】
0005753015.tif 000009
【図９】
0005753015.tif 000010
【図１０】
0005753015.tif 000011
【図１１】
0005753015.tif 000012
【図１２】
0005753015.tif 000013
【図１３】
0005753015.tif 000014
【図１４】
0005753015.tif 000015
【図１５】
0005753015.tif 000016