(57)【特許請求の範囲】
【請求項１】
アプリケーションソフトウェアを実行する情報処理装置と、
記憶した情報を前記情報処理装置に供給するメモリ装置と、
を備え、
前記メモリ装置は、
前記情報処理装置において実施されるアプリケーションの進行状況を示す状態情報と、前記状態情報の変更を許可する許可条件を示す状態遷移許可情報および前記状態情報の遷移先を示す遷移先情報を含む状態遷移情報とを記憶する記憶手段と、
前記状態遷移情報に基づいて前記状態情報の変更を制御する状態制御手段と、
を有し、
前記情報処理装置は、
前記メモリ装置から前記状態情報を取得する状態情報取得手段と、
取得した状態情報に対応した対応アプリケーションソフトウェアを取得するデータ取得手段と、
前記対応アプリケーションソフトウェアを前記情報処理装置に実行させて、前記アプリケーションを継続実施させる実行制御手段と、
前記状態情報の遷移を指示する状態遷移指示を、前記アプリケーションの進行に応じて発行する指示発行手段と、
を有し、
前記状態制御手段は、前記情報処理装置から入力される前記状態遷移指示が妥当か否かを判断し、前記状態遷移指示が妥当であった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先に変更し、前記状態遷移指示が妥当でなかった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先には変更しないメモリシステム。
【請求項２】
前記状態遷移許可情報は、前記状態情報の変更を許可するときの、状態遷移指示と状態情報とを組み合わせた情報であり、
前記状態制御手段は、
前記情報処理装置から入力される状態遷移指示と、前記記憶手段に記憶された状態情報とが、前記状態遷移許可情報に適合するか否かに基づいて、前記情報処理装置から入力される状態遷移指示の妥当性を判断する請求項１に記載のメモリシステム。
【請求項３】
前記状態遷移許可情報は、前記状態情報の変更を許可するときの、状態遷移指示に関する情報であり、
前記状態制御手段は、
前記情報処理装置から入力される状態遷移指示が、前記状態遷移許可情報に適合するか否かに基づいて、前記情報処理装置から入力される状態遷移指示の妥当性を判断する請求項１に記載のメモリシステム。
【請求項４】
前記メモリ装置の前記記憶手段は、状態情報に対応した対応アプリケーションソフトウェアを含む前記アプリケーションソフトウェアをさらに記憶し、
前記情報処理装置の前記データ取得手段は、前記メモリ装置から取得した状態情報に基づいて、対応アプリケーションソフトウェアを前記メモリ装置から読み出す請求項１から請求項３のいずれかに記載のメモリシステム。
【請求項５】
前記記憶手段は、第１記憶手段と第２記憶手段とを有し、
前記第１記憶手段は、前記アプリケーションソフトウェアを記憶し、
前記第２記憶手段は、前記状態情報および前記状態遷移情報を記憶する請求項４に記載のメモリシステム。
【請求項６】
記憶した情報を、アプリケーションソフトウェアを実行する情報処理装置に供給するメモリ装置であって、
前記情報処理装置において実施されるアプリケーションの進行状況を示す状態情報と、前記状態情報の変更を許可する許可条件を示す状態遷移許可情報および前記状態情報の遷移先を示す遷移先情報を含む状態遷移情報とを記憶する記憶手段と、
前記状態遷移情報に基づいて前記状態情報の変更を制御する状態制御手段と、
を備え、
前記状態制御手段は、前記情報処理装置から入力される、前記メモリ装置内の状態情報の遷移を指示するための状態遷移指示が妥当か否かを判断し、前記状態遷移指示が妥当であった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先に変更し、前記状態遷移指示が妥当でなかった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先には変更せず、
前記情報処理装置は、前記メモリ装置から取得した状態情報に基づいて、当該状態情報に対応した対応アプリケーションソフトウェアを取得し、当該対応アプリケーションソフトウェアを実行することによって、前記アプリケーションを継続実施するメモリ装置。
【請求項７】
前記記憶手段は、状態情報に対応した対応アプリケーションソフトウェアを含む前記アプリケーションソフトウェアをさらに記憶し、
前記情報処理装置は、前記メモリ装置から取得した状態情報に基づいて、対応アプリケーションソフトウェアを前記メモリ装置から読み出す請求項６に記載のメモリ装置。
【請求項８】
アプリケーションソフトウェアを実行する情報処理装置と、前記情報処理装置において実施されるアプリケーションの進行状況を示す状態情報を記憶するとともに、前記状態情報の変更を許可する許可条件を示す状態遷移許可情報および前記状態情報の遷移先を示す遷移先情報を含む状態遷移情報を記憶するメモリ装置とを含むメモリシステムの動作方法であって、
ａ）前記情報処理装置から入力される、前記メモリ装置内の状態情報の遷移を指示するための状態遷移指示が妥当か否かを、前記状態遷移情報に基づいて判断する工程と、
ｂ）前記状態遷移指示が妥当であった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先に変更し、前記状態遷移指示が妥当でなかった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先には変更しない工程と、
ｃ）前記ｂ）工程の実行後に、前記メモリ装置内の状態情報を前記情報処理装置に出力する工程と、
ｄ）前記ｃ）工程で出力された状態情報に基づいて、当該状態情報に対応した対応アプリケーションソフトウェアを前記情報処理装置において取得する工程と、
ｅ）前記情報処理装置において、前記対応アプリケーションソフトウェアを実行することによって、前記アプリケーションを継続実施する工程と、
を備えるメモリシステムの動作方法。
【請求項９】
アプリケーションソフトウェアの実行に応じて情報処理装置において実施されるアプリケーションの進行状況を示す状態情報を記憶するとともに、前記状態情報の変更を許可する許可条件を示す状態遷移許可情報および前記状態情報の遷移先を示す遷移先情報を含む状態遷移情報とを記憶するメモリ装置の動作方法であって、
ａ）前記情報処理装置から入力される、前記メモリ装置内の状態情報の遷移を指示するための状態遷移指示が妥当か否かを、前記状態遷移情報に基づいて判断する工程と、
ｂ）前記状態遷移指示が妥当であった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先に変更し、前記状態遷移指示が妥当でなかった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先には変更しない工程と、
ｃ）前記ｂ）工程の実行後に、前記メモリ装置内の状態情報を前記情報処理装置に出力する工程と、
を備えるメモリ装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報の保護技術に関する。
【背景技術】
【０００２】
アプリケーションソフトウェアを記憶したメモリ装置を情報処理装置に装着し、当該情報処理装置において、メモリ装置に記憶されたアプリケーションソフトウェアを実行して所定の機能を実現する技術が知られている。
【０００３】
このようなメモリ装置においては、アプリケーションソフトウェアの実行を困難にするために、セキュリティ機能が搭載されている。例えば、特許文献１では、アプリケーションソフトウェアが暗号化された状態でメモリ装置に記憶され、情報処理装置は、当該アプリケーションソフトウェアを解読するための鍵データを取得することなく、アプリケーションソフトウェアを実行することができないように構成されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２５８８５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、上記特許文献１では、暗号化されたアプリケーションソフトウェアに対応する鍵データが特定された場合には、アプリケーションソフトウェアの実行が可能になり、アプリケーションを許可無く無断で実施される可能性があった。
【０００６】
そこで、本発明は、アプリケーションの無断実施を困難にすることが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係るメモリシステムの一態様は、アプリケーションソフトウェアを実行する情報処理装置と、記憶した情報を前記情報処理装置に供給するメモリ装置とを備え、前記メモリ装置は、前記情報処理装置において実施されるアプリケーションの進行状況を示す状態情報と、前記状態情報の変更を許可する許可条件を示す状態遷移許可情報および前記状態情報の遷移先を示す遷移先情報を含む状態遷移情報とを記憶する記憶手段と、前記状態遷移情報に基づいて前記状態情報の変更を制御する状態制御手段とを有し、前記情報処理装置は、前記メモリ装置から前記状態情報を取得する状態情報取得手段と、取得した状態情報に対応した対応アプリケーションソフトウェアを取得するデータ取得手段と、前記対応アプリケーションソフトウェアを前記情報処理装置に実行させて、前記アプリケーションを継続実施させる実行制御手段と、前記状態情報の遷移を指示する状態遷移指示を、前記アプリケーションの進行に応じて発行する指示発行手段とを有し、前記状態制御手段は、前記情報処理装置から入力される前記状態遷移指示が妥当か否かを判断し、前記状態遷移指示が妥当であった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先に変更し、前記状態遷移指示が妥当でなかった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先には変更しない。
【０００９】
また、本発明に係るメモリシステムの一態様では、前記状態遷移許可情報は、前記状態情報の変更を許可するときの、状態遷移指示と状態情報とを組み合わせた情報であり、前記状態制御手段は、前記情報処理装置から入力される状態遷移指示と、前記記憶手段に記憶された状態情報とが、前記状態遷移許可情報に適合するか否かに基づいて、前記情報処理装置から入力される状態遷移指示の妥当性を判断する。
【００１０】
また、本発明に係るメモリシステムの一態様では、前記状態遷移許可情報は、前記状態情報の変更を許可するときの、状態遷移指示に関する情報であり、前記状態制御手段は、前記情報処理装置から入力される状態遷移指示が、前記状態遷移許可情報に適合するか否かに基づいて、前記情報処理装置から入力される状態遷移指示の妥当性を判断する。
【００１１】
また、本発明に係るメモリシステムの一態様では、前記メモリ装置の前記記憶手段は、状態情報に対応した対応アプリケーションソフトウェアを含む前記アプリケーションソフトウェアをさらに記憶し、前記情報処理装置の前記データ取得手段は、前記メモリ装置から取得した状態情報に基づいて、対応アプリケーションソフトウェアを前記メモリ装置から読み出す。
【００１２】
また、本発明に係るメモリシステムの一態様では、前記記憶手段は、第１記憶手段と第２記憶手段とを有し、前記第１記憶手段は、前記アプリケーションソフトウェアを記憶し、前記第２記憶手段は、前記状態情報および前記状態遷移情報を記憶する。
【００１３】
また、本発明に係るメモリ装置の一態様は、記憶した情報を、アプリケーションソフトウェアを実行する情報処理装置に供給するメモリ装置であって、前記情報処理装置において実施されるアプリケーションの進行状況を示す状態情報と、前記状態情報の変更を許可する許可条件を示す状態遷移許可情報および前記状態情報の遷移先を示す遷移先情報を含む状態遷移情報とを記憶する記憶手段と、前記状態遷移情報に基づいて前記状態情報の変更を制御する状態制御手段とを備え、前記状態制御手段は、前記情報処理装置から入力される、前記メモリ装置内の状態情報の遷移を指示するための状態遷移指示が妥当か否かを判断し、前記状態遷移指示が妥当であった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先に変更し、前記状態遷移指示が妥当でなかった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先には変更せず、前記情報処理装置は、前記メモリ装置から取得した状態情報に基づいて、当該状態情報に対応した対応アプリケーションソフトウェアを取得し、当該対応アプリケーションソフトウェアを実行することによって、前記アプリケーションを継続実施する。
【００１５】
また、本発明に係るメモリ装置の一態様では、前記記憶手段は、状態情報に対応した対応アプリケーションソフトウェアを含む前記アプリケーションソフトウェアをさらに記憶し、前記情報処理装置は、前記メモリ装置から取得した状態情報に基づいて、対応アプリケーションソフトウェアを前記メモリ装置から読み出す。
【００１６】
また、本発明に係るメモリシステムの動作方法の一態様は、アプリケーションソフトウェアを実行する情報処理装置と、前記情報処理装置において実施されるアプリケーションの進行状況を示す状態情報を記憶するとともに、前記状態情報の変更を許可する許可条件を示す状態遷移許可情報および前記状態情報の遷移先を示す遷移先情報を含む状態遷移情報を記憶するメモリ装置とを含むメモリシステムの動作方法であって、ａ）前記情報処理装置から入力される、前記メモリ装置内の状態情報の遷移を指示するための状態遷移指示が妥当か否かを、前記状態遷移情報に基づいて判断する工程と、ｂ）前記状態遷移指示が妥当であった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先に変更し、前記状態遷移指示が妥当でなかった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先には変更しない工程と、ｃ）前記ｂ）工程の実行後に、前記メモリ装置内の状態情報を前記情報処理装置に出力する工程と、ｄ）前記ｃ）工程で出力された状態情報に基づいて、当該状態情報に対応した対応アプリケーションソフトウェアを前記情報処理装置において取得する工程と、ｅ）前記情報処理装置において、前記対応アプリケーションソフトウェアを実行することによって、前記アプリケーションを継続実施する工程とを備える。
【００１７】
また、本発明に係るメモリ装置の動作方法の一態様は、アプリケーションソフトウェアの実行に応じて情報処理装置において実施されるアプリケーションの進行状況を示す状態情報を記憶するとともに、前記状態情報の変更を許可する許可条件を示す状態遷移許可情報および前記状態情報の遷移先を示す遷移先情報を含む状態遷移情報とを記憶するメモリ装置の動作方法であって、ａ）前記情報処理装置から入力される、前記メモリ装置内の状態情報の遷移を指示するための状態遷移指示が妥当か否かを、前記状態遷移情報に基づいて判断する工程と、ｂ）前記状態遷移指示が妥当であった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先に変更し、前記状態遷移指示が妥当でなかった場合、前記メモリ装置内の状態情報を、当該状態情報に応じた遷移先情報が示す遷移先には変更しない工程と、ｃ）前記ｂ）工程の実行後に、前記メモリ装置内の状態情報を前記情報処理装置に出力する工程とを備える。
【発明の効果】
【００１８】
本発明によれば、アプリケーションの無断実施を困難にすることが可能になる。
【図面の簡単な説明】
【００１９】
【図１】メモリ情報保護システムの外観構成を示す図である。
【図２】ゲームシステムとして動作するメモリ情報保護システムの動作概要を示す図である。
【図３】本実施形態に係るメモリ情報保護システムの機能構成を示すブロック図である。
【図４】状態遷移情報を示す図である。
【図５】メモリ情報保護システムの動作を示すフローチャートである。
【図６】状態情報と対応アプリケーションソフトウェアとの対応関係を表すデータを示す図である。
【図７】変形例に係るメモリ情報保護システムの構成を示す図である。
【図８】変形例に係るメモリ情報保護システムの構成を示す図である。
【図９】変形例に係る状態遷移情報を示す図である。
【図１０】変形例に係る状態遷移情報を示す図である。
【発明を実施するための形態】
【００２０】
以下、本発明の実施形態について図面を参照して説明する。なお、異なる図面において同一の符号を付した要素は、同一または相応する要素を示すものとする。
【００２１】
＜１．実施形態＞
［１−１．構成概要］
図１は、メモリ情報保護システム（単に「メモリシステム」とも称する）１Ａの外観構成を示す図である。
【００２２】
図１に示されるように、メモリ情報保護システム１は、情報処理装置１０とメモリ装置２０とを有している。
【００２３】
メモリ装置２０は、所定のアプリケーションをコンピュータ上で実施するためのアプリケーションソフトウェア（アプリケーションプログラム）を記憶（格納）している。このメモリ装置２０は、例えばカードまたはカートリッジのような態様を有し、情報処理装置１０に脱着自在に構成されている。
【００２４】
情報処理装置１０は、装着されたメモリ装置２０からアプリケーションソフトウェアを読み出し、当該アプリケーションソフトウェアを実行する。このような情報処理装置１０には、例えば、パーソナルコンピュータ（パソコン）、ＰＤＡ（Personal Digital Assistant）のような情報端末装置が含まれる。また、メモリ装置２０に記憶されたアプリケーションソフトウェアがゲームプログラムである場合は、情報処理装置１０は、据置型ゲーム機または携帯ゲーム機等のゲーム装置本体として機能する。
【００２５】
ここで、メモリ装置２０にアプリケーションソフトウェアとしてゲームプログラムが記憶され、情報処理装置１０が、当該ゲームプログラムを実行するゲーム装置本体として機能する場合を一例にして、メモリ情報保護システム１の動作概要を説明する。図２は、ゲームシステムとして動作するメモリ情報保護システム１の動作概要を示す図である。
【００２６】
図２に示されるように、メモリ情報保護システム１は、ゲームの進行に応じて変化するゲームの状態を状態情報として管理しつつ、ゲームを進行させる。
【００２７】
具体的には、メモリ情報保護システム１は、ゲームの進行に応じてゲームの状態が変化すると、ゲームの状態情報を変化させる。例えば、図２では、ゲームの状態情報が「ＪＤ１」→「ＪＤ２」→「ＪＤ３」へと順番に変化させられている。そして、メモリ情報保護システム１では、ゲームの状態情報に対応したゲームプログラム（対応ゲームプログラム）を読み出して実行することによって、ゲームの継続した実施が可能になる。例えば、図２では、状態情報が「ＪＤ１」のときは、対応ゲームプログラムＰＧ１が実行され、状態情報が「ＪＤ２」のときは、対応ゲームプログラムＰＧ２が実行され、状態情報が「ＪＤ３」のときは、対応ゲームプログラムＰＧ３が実行される態様が示されている。
【００２８】
このようなメモリ情報保護システム１では、状態情報を変更（更新）する際に、状態情報の変更を可能か否かが判断される。状態情報の変更が可能と判断された場合は、状態情報は適切に変更されて、ゲームを継続して実施することが可能になる。一方、状態情報の変更が不可能と判断された場合は、状態情報は適切に変更されない。状態情報の変更が不可能と判断される場合とは、例えば、メモリ装置２０内のゲームプログラムを、不正に複製して得られたゲームプログラムを用いてゲームを実施した場合である。このような場合は、状態情報が適切に変更されないため、ゲームの進行状況に応じた対応ゲームプログラムを取得できなくなるので、ゲームの継続実施が不可能になる。
【００２９】
このように、メモリ情報保護システム１では、ゲームの進行に沿って状態情報が適切に変更されない場合、ゲームの進行に沿った適切な対応ゲームプログラムを取得できなくなり、ゲームの継続実施が制限されることになる。
【００３０】
なお、ゲームの状態としては、ゲームの進行状況を普遍的に示すような逆行しない指標を用いることが好ましい。具体的には、アクションゲームにおけるクリアステージ、アドベンチャーゲームにおける獲得アイテム、ロールプレイングゲーム（ＲＰＧ）においては倒したボスキャラ等を挙げることができる。ゲームの状態として用いられるアドベンチャーゲームの獲得アイテムは、取捨が頻繁に行われる一般的なアイテムではなく、物語の進行上、必須となる重要なアイテムである。
【００３１】
ゲームプログラムをアプリケーションソフトウェアとしてみた場合、ゲームの進行に応じて変化するゲームの状態は、アプリケーションの進行に応じて変化するアプリケーションの状態とも称される。また、メモリ情報保護システム１において管理される、アプリケーションの状態を示す状態情報は、アプリケーションの進行状況を示す情報であると表現できる。
【００３２】
［１−２．機能ブロック］
次に、メモリ情報保護システム１の機能構成について詳述する。図３は、本実施形態に係るメモリ情報保護システム１の機能構成を示すブロック図である。図４は、状態遷移情報２１２を示す図である。
【００３３】
図３に示されるように、メモリ情報保護システム１を構成する情報処理装置１０は、制御部１００を備えている。
【００３４】
制御部１００は、マイクロコンピュータとして構成され、主にＣＰＵ、ＲＡＭおよびＲＯＭ等（いずれも不図示）を備えている。
【００３５】
制御部１００は、ＲＯＭに格納されたプログラムを読み出し、当該プログラムをＣＰＵで実行することによって、各種機能を実現する。
【００３６】
具体的には、制御部１００は、ＲＯＭに格納されたプログラムの実行によって、実行制御部１０１を機能的に実現する。
【００３７】
実行制御部１０１は、メモリ装置２０から読み出されたアプリケーションソフトウェアをＣＰＵで実行させる。また、実行制御部１０１は、アプリケーションを起動する（立ち上げる）際には、起動用の初期アプリケーションソフトウェアをメモリ装置２０から読み出して、当該初期アプリケーションソフトウェアをＣＰＵに実行させ、アプリケーションを開始させる。
【００３８】
また、制御部１００では、実行制御部１０１の制御に従い、アプリケーションソフトウェアをＣＰＵで実行することによって、状態情報取得部１０２、データ取得部１０３および遷移指示発行部１０４が機能的に実現されることになる。
【００３９】
状態情報取得部１０２は、メモリ装置２０に記憶されている、アプリケーションの進行状況を示す状態情報２１１を読み出して、取得する機能を有している。具体的には、状態情報取得部１０２は、状態情報２１１を取得するための状態情報取得コマンドをメモリ装置２０に対して発行することによって、メモリ装置２０から現在の状態情報２１１を取得する。
【００４０】
データ取得部１０３は、メモリ装置２０から取得された現在の状態情報２１１に基づいて、アプリケーションの進行状況に対応したアプリケーションソフトウェア（対応アプリケーションソフトウェア）を、メモリ装置２０から取得する機能を有している。データ取得部１０３によって取得された対応アプリケーションソフトウェアは、実行制御部１０１の制御に従って、ＣＰＵで実行されることになる。
【００４１】
遷移指示発行部１０４は、メモリ装置２０に記憶されている現在の状態情報２１１を、遷移（変更）させるための状態遷移指示をメモリ装置２０に対して発行する機能を有している。状態遷移指示としては、状態情報２１１を変更させる直接的な命令（状態遷移命令）であってもよく、複数の命令を組み合わせたものであってもよい。複数の命令を組み合わせたものとしては、例えば、一定時間内に連続して発行される複数回の所定コマンド（例えば、読出コマンド）を挙げることができる。
【００４２】
このような構成を有する情報処理装置１０では、アプリケーションの進行に応じて状態情報２１１が変更されると、新たな状態情報に基づいた、対応アプリケーションソフトウェアが取得され、実行されることになる。
【００４３】
一方、メモリ情報保護システム１を構成するメモリ装置２０は、記憶手段としての第１記憶部２００および第２記憶部２１０と、セキュリティ制御部２２０とを備えている。
【００４４】
第１記憶部２００は、マスクＲＯＭのような不揮発性の記憶部であって、機密保護の対象となるアプリケーションソフトウェア２０１およびデータ等を記憶している。第１記憶部２００は、情報処理装置１０から読出コマンドを受けて、当該読出コマンドの読出対象となるアプリケーションソフトウェアを出力する。なお、当該第１記憶部２００は、マスクＲＯＭに限定されず、フラッシュメモリ、ＥＰ−ＲＯＭまたはハードディスク（ＨＤ）等であってもよい。
【００４５】
第２記憶部２１０は、フラッシュメモリのような書き換え可能な不揮発性の記憶部であって、状態情報２１１および状態遷移情報２１２を記憶している。状態情報２１１は、上述の通り、アプリケーションの進行状況を示す情報であり、第２記憶部２１０は、セキュリティ制御部２２０の制御に従って、当該状態情報２１１の読み出しおよび書き換えを行う。状態遷移情報２１２は、状態情報２１１を変更する際に用いられる情報であり、当該状態遷移情報２１２には、状態情報２１１の変更を許可する許可条件を示す状態遷移許可情報と、当該許可条件を満たしたときの状態情報２１１の遷移先（変更先）を示す遷移先情報とが含まれる。
【００４６】
セキュリティ制御部２２０は、指示解析部２２１と状態制御部２２２とを有し、第２記憶部２１０に記憶された状態情報２１１の管理を行う。
【００４７】
具体的には、指示解析部２２１は、情報処理装置１０から入力されるコマンドおよび指示を解析して、コマンドまたは指示に応じた所定動作の実行指示を行う。例えば、情報処理装置１０から状態情報取得コマンドが入力された場合は、指示解析部２２１は、第２記憶部２１０から現在の状態情報２１１を読み出して、当該状態情報２１１を情報処理装置１０に出力する。また、情報処理装置１０から状態遷移指示が入力された場合は、指示解析部２２１は、当該状態遷移指示を状態制御部２２２に出力する。
【００４８】
状態制御部２２２は、状態遷移指示が入力された場合、第２記憶部２１０に記憶された状態遷移情報２１２に基づいて、状態情報２１１の変更を制御する。
【００４９】
具体的には、状態制御部２２２は、入力された状態遷移指示が妥当なものであるか否かを、状態遷移情報２１２に含まれる状態遷移許可情報を参照して判断する。状態遷移情報２１２は、例えば、図４に示されるようなテーブル形式の情報であり、状態遷移指示と現在の状態情報２１１とを組み合わせた情報が、状態遷移許可情報ＢＦとして含まれている。また、状態遷移情報２１２には、遷移先となる次の状態情報も遷移先情報ＮＦとして含まれている。
【００５０】
状態制御部２２２は、情報処理装置１０から入力された状態遷移指示と、第２記憶部２１０に記憶された現在の状態情報２１１との組み合わせが、状態遷移許可情報ＢＦに含まれるいずれかの許可条件に適合するか否かを判定する。そして、入力された状態遷移指示と現在の状態情報２１１との組み合わせが、状態遷移許可情報ＢＦに含まれるいずれかの許可条件に適合する場合は、状態制御部２２２は、状態情報２１１の変更を適切に行うように制御する。これに対して、入力された状態遷移指示と現在の状態情報２１１との組み合わせが、状態遷移許可情報ＢＦに含まれるいずれの許可条件にも適合しない場合（不適合の場合）は、状態制御部２２２は、状態情報２１１の変更を適切に行わないように制御する。
【００５１】
例えば、情報処理装置１０から入力された状態遷移指示が「ＣＯＭ１」であり、現在の状態情報２１１が「ＪＤ１」であった場合、状態遷移指示「ＣＯＭ１」と現在の状態情報「ＪＤ１」との組み合わせは、許可条件ＫＲ１に適合するため、状態制御部２２２は、遷移先情報ＮＦを反映して状態情報２１１を適切に変更させる。すなわち、この場合、状態制御部２２２は、状態情報２１１を「ＪＤ１」から「ＪＤ２」へと変更させるために、第２記憶部２１０に記憶された状態情報２１１を書き換える。
【００５２】
これに対して、例えば、情報処理装置１０から入力された状態遷移指示が「ＣＯＭ１」であり、現在の状態情報２１１が「ＪＤ２」であった場合、状態遷移指示「ＣＯＭ１」と現在の状態情報「ＪＤ２」との組み合わせがいずれの許可条件にも適合しないため、状態制御部２２２は、状態情報２１１の変更を適切に行わないように制御する。ここで、状態情報２１１の変更を適切に行わない態様としては、例えば、現在の状態情報２１１を遷移先として存在しない不適切な状態情報（例えば、状態情報「ＪＤ６」）に変更する態様、現在の状態情報２１１を当該状態情報からは遷移し得ない不適切な状態情報（例えば、状態情報「ＪＤ１」、「ＪＤ３」、「ＪＤ４」、「ＪＤ５」）に変更する態様、および現在の状態情報２１１を変更しない態様が考えられる。このように状態情報２１１の変更を適切に行わない態様は、種々存在するが、逆アセンブルによる解析を困難にするためには、何を行ったのか分かりにくい態様を選択することが好ましい。
【００５３】
このように、状態情報２１１の変更が適切に行われなかった場合は、アプリケーションの進行に沿わない不適切な状態情報２１１が第２記憶部２１０に記憶されることになり、情報処理装置１０は、アプリケーションの進行に沿った適切な状態情報２１１を取得することができなくなる。メモリ情報保護システム１では、現在の状態情報２１１に基づいてアプリケーションの進行に必要な対応アプリケーションソフトウェアを取得する構成であるため、情報処理装置１０が適切な状態情報２１１を取得できなかった場合、情報処理装置１０は、アプリケーションの進行に沿った対応アプリケーションソフトウェアを適切に取得することができないことになる。すなわち、メモリ情報保護システム１は、状態情報２１１の更新が適切に行えなかった場合、アプリケーションの継続実施を不可能にすることによって、アプリケーションの無断実施を困難にしている。
【００５４】
また、メモリ装置２０を不正に複製しようと試みる複製者は、状態遷移情報２１２を取得できない限り、状態情報２１１の遷移先を特定することができないため、アプリケーションソフトウェアを複製できたとしても、アプリケーションの継続実施を実現することができない。本実施形態のメモリ情報保護システム１では、状態遷移情報２１２は、メモリ装置２０の内部で使用されるのみで、メモリ装置２０の外部には出力されない構成であるため、複製者は、当該状態遷移情報２１２を取得するのが困難であり、メモリ装置２０を容易に複製することができない。
【００５５】
特に、状態遷移情報２１２に含まれる遷移先情報ＮＦは、アプリケーションソフトウェアを逆アセンブルによって解析しても特定できない情報であり、このような情報ＮＦを含む状態遷移情報２１２は、容易に特定することができないと言える。
【００５６】
なお、従来のゲームシステムでは、ゲームプログラムを記憶するメモリ装置およびゲーム装置本体のうちいずれか一方、或いはシステム全体には、セキュリティ機能が付与されているが、メモリ情報保護システム１のメモリ情報保護技術は、このような一般的なセキュリティ機能と併用することができる。そして、当該一般的なセキュリティ機能が破られた場合においても、本実施形態のメモリ情報保護技術は有効に機能し、アプリケーションソフトウェアが複製されたとしても、アプリケーションの継続実施を制限することができる。
【００５７】
また、状態遷移情報２１２の取得を困難にするため、メモリ装置２０においては、第２記憶部２１０とセキュリティ制御部２２０とは、単一の半導体集積回路２３０で一体的に構成されていることが好ましい。第２記憶部２１０とセキュリティ制御部２２０とを含む単一の半導体集積回路２３０は、「セッキュリティチップ」とも称される。
【００５８】
［１−３．メモリ情報保護システム１の動作］
次に、メモリ情報保護システム１の動作について説明する。図５は、メモリ情報保護システム１の動作を示すフローチャートである。図５では、左側に情報処理装置１０の動作を示すフローチャート、右側にメモリ装置２０の動作を示すフローチャートがそれぞれ示されている。図６は、状態情報２１１と対応アプリケーションソフトウェアとの対応関係を表すデータを示す図である。
【００５９】
メモリ情報保護システム１の動作開始前には、メモリ装置２０が情報処理装置１０に装着されて、それぞれのインターフェース（いずれも不図示）が電気的に接続される。そして、情報処理装置１０の電源投入に応じて、情報処理装置１０が起動されるとともに、電源がメモリ装置２０に供給されて、システムとしての動作が開始される。
【００６０】
図５に示されるように、情報処理装置１０では、電源が投入されると、実行制御部１０１によって、初期アプリケーションソフトウェアがメモリ装置２０から読み出される（ステップＳＰ１０１）。
【００６１】
ステップＳＰ１０２では、実行制御部１０１が、初期アプリケーションソフトウェアをＣＰＵに実行させ、アプリケーションが開始される。
【００６２】
ステップＳＰ１０３では、状態情報取得部１０２によって、メモリ装置２０に記憶されている現在の状態情報２１１が取得される。なお、起動後に最初に取得される状態情報２１１は、前回、アプリケーションを実行し、当該アプリケーションを終了した時点のアプリケーションの進行状況を示す情報である。また、起動時に最初に実行される状態情報２１１の取得動作は、初期アプリケーションソフトウェアに組み込まれた、状態情報取得命令に基づく動作である。
【００６３】
ステップＳＰ１０４では、データ取得部１０３によって、現在の状態情報２１１が示すアプリケーションの進行状況に対応した対応アプリケーションソフトウェアがメモリ装置２０から取得される。状態情報２１１を用いた対応アプリケーションソフトウェアの特定は、例えば、状態情報２１１と対応アプリケーションソフトウェアとの対応関係を示すデータを用いて行うことができる。状態情報２１１と対応アプリケーションソフトウェアとの対応関係を示すデータは、図６に示されるようなテーブル形式のデータＤＴ１であってもよく、このようなデータＤＴ１は、初期アプリケーションソフトウェアの読み出しと同時に、メモリ装置２０から取得され、情報処理装置１０のＲＡＭに格納されている。なお、図６では、理解を容易にするために、状態情報を示す符号と対応アプリケーションソフトウェアを示す符号とをそれぞれ昇順に羅列したが、実際のデータでは、対応アプリケーションソフトウェアの実行順序を特定できないような配慮が施されている。
【００６４】
次のステップＳＰ１０５では、メモリ装置２０から取得された対応アプリケーションソフトウェアが実行制御部１０１の制御に従って、ＣＰＵで実行される。
【００６５】
対応アプリケーションソフトウェアの実行中に、情報処理装置１０の動作を終了させる終了動作が実行された場合は、情報処理装置１０の動作は終了する（ステップＳＰ１０６）。
【００６６】
一方、情報処理装置１０の動作が継続され、ユーザの操作等によってアプリケーションが進行し、アプリケーションの状態が変化すると、動作工程は、ステップＳＰ１０７に移行される。
【００６７】
そして、ステップＳＰ１０７では、状態情報２１１を変更するための状態遷移指示が、遷移指示発行部１０４によって発行される。
【００６８】
なお、ステップＳＰ１０７において実行される状態遷移指示の発行動作は、対応アプリケーションソフトウェアに組み込まれた、状態遷移命令に基づく動作である。すなわち、対応アプリケーションソフトウェアは、アプリケーションの状態が変化したときに、状態遷移命令を発行するように構成されている。
【００６９】
ステップＳＰ１０７が終了すると、動作工程は、上記のステップＳＰ１０３に移行され、メモリ装置２０に記憶されている現在の状態情報２１１が取得される。ここで取得される状態情報２１１は、ステップＳＰ１０７において発行された状態遷移指示に基づいて、メモリ装置２０において変更された状態情報２１１である。
【００７０】
そして、ステップＳＰ１０３において新たな状態情報２１１が取得されると、動作工程は、ステップＳＰ１０４に移行され、当該新たな状態情報２１１を用いて、新たな対応アプリケーションソフトウェアが取得される。
【００７１】
このように、情報処理装置１０では、状態情報２１１が適切に変更された場合、情報処理装置１０の動作が終了するまで、或いは、アプリケーションが終了するまで、ステップＳＰ１０３からステップＳＰ１０７の各工程が繰り返し実行されることになる。
【００７２】
一方、メモリ装置２０では、電源供給が開始されると、情報処理装置１０のステップＳＰ１０１に対応した動作が実行され、第１記憶部２００から初期アプリケーションソフトウェアが出力される（ステップＳＰ２０１）。
【００７３】
次のステップＳＰ２０２では、情報処理装置１０のステップＳＰ１０３に対応した動作が実行され、指示解析部２２１の制御によって、第２記憶部２１０から現在の状態情報２１１が出力される。
【００７４】
ステップＳＰ２０３では、情報処理装置１０のステップＳＰ１０４に対応した動作が実行され、情報処理装置１０からの対応アプリケーションソフトウェアの取得要求に応じて、第１記憶部２００から対応アプリケーションソフトウェアが出力される。
【００７５】
そして、ステップＳＰ２０４では、情報処理装置１０のステップＳＰ１０７に対応した動作が実行され、状態制御部２２２によって、状態遷移指示の妥当性が判断される。
【００７６】
ステップＳＰ２０４において、状態遷移指示が妥当であると判断された場合、動作工程は、ステップＳＰ２０５に移行される。ステップＳＰ２０５では、状態制御部２２２によって、状態情報２１１の変更が適切に行われる。
【００７７】
一方、ステップＳＰ２０４において、状態遷移指示が妥当でないと判断された場合、動作工程は、ステップＳＰ２０６に移行される。ステップＳＰ２０６では、状態制御部２２２によって、状態情報２１１の変更が適切に行われない。
【００７８】
ステップＳＰ２０５またはステップＳＰ２０６が終了すると、動作工程は、上記のステップＳＰ２０２に移行され、第２記憶部２１０から現在の状態情報２１１が出力される。ここで出力される状態情報２１１は、ステップＳＰ２０５またはステップＳＰ２０６において変更された状態情報２１１であり、情報処理装置１０は、新たな状態情報２１１を取得する。
【００７９】
そして、メモリ装置２０では、情報処理装置１０の動作に対応して、ステップＳＰ２０２からステップＳＰ２０６の各工程が繰り返し実行されることになる。
【００８０】
以上のように、メモリ情報保護システム１は、アプリケーションソフトウェア２０１を実行する情報処理装置１０と、記憶した情報を情報処理装置１０に供給するメモリ装置２０とを備えている。そして、メモリ装置２０は、情報処理装置１０において実施されるアプリケーションの進行状況を示す状態情報２１１と、状態情報２１１に対応した対応アプリケーションソフトウェアを含むアプリケーションソフトウェア２０１と、状態情報２１１の変更を許可する許可条件を示す状態遷移許可情報ＢＦを含む状態遷移情報２１２とを記憶する記憶手段と、状態遷移情報２１２に基づいて状態情報２１１の変更を制御する状態制御部２２２とを有している。また、情報処理装置１０は、メモリ装置２０から状態情報２１１を取得する状態情報取得部１０２と、取得した状態情報２１１に対応した対応アプリケーションソフトウェアを取得するデータ取得部１０３と、対応アプリケーションソフトウェアを情報処理装置１０に実行させて、アプリケーションを継続実施させる実行制御部１０１と、状態情報２１１の遷移を指示する状態遷移指示を、アプリケーションの進行に応じて発行する遷移指示発行部１０４とを有している。さらに、メモリ装置２０の状態制御部２２２は、情報処理装置１０から入力される状態遷移指示が妥当か否かを判断し、状態遷移指示が妥当であった場合、メモリ装置２０内の状態情報２１１の変更を適切に行い、状態遷移指示が妥当でなかった場合、メモリ装置２０内の状態情報の変更を適切に行わないように制御する。
【００８１】
このようなメモリ情報保護システム１によれば、状態情報２１１の更新が適切に行えなかった場合、アプリケーションの継続実施が不可能になるので、アプリケーションの無断実施が困難になる。
【００８２】
また、このようなメモリ情報保護システム１では、状態遷移情報２１２は、メモリ装置２０の内部で使用されるのみで、メモリ装置２０の外部には出力されない構成であるため、複製者は、当該状態遷移情報２１２を取得するのが困難であり、メモリ装置２０を容易に複製することができない。
【００８３】
また、メモリ情報保護システム１の状態遷移情報２１２には、許可条件を満たしたときの状態情報２１１の遷移先を示す遷移先情報ＮＦが含まれ、状態制御部２２２は、状態遷移指示が妥当であった場合、遷移先情報ＮＦを反映させて状態情報２１１の変更を行う。
【００８４】
状態遷移情報２１２に含まれる遷移先情報ＮＦは、アプリケーションソフトウェアを逆アセンブルによって解析しても特定できない情報であるため、このような情報ＮＦを反映させて状態情報２１１の変更を行うメモリ情報保護システム１では、メモリ装置２０の複製はより一層困難となる。
【００８５】
＜２．変形例＞
以上、この発明の実施の形態について説明したが、この発明は、上記に説明した内容に限定されるものではない。
【００８６】
例えば、上記実施形態では、アプリケーションソフトウェアが第１記憶部２００に記憶されている態様を示したが、これに限定されない。図７は、変形例に係るメモリ情報保護システム１Ａの構成を示す図である。
【００８７】
具体的には、図７に示されるように、変形例に係るメモリ情報保護システム１Ａでは、アプリケーションソフトウェア２０１は、メモリ装置２０Ａの第２記憶部２１０に記憶されている。このように、上記実施形態のメモリ装置２０において、第１記憶部２００に記憶されていたアプリケーションソフトウェア２０１およびデータ等は、第２記憶部２１０に記憶しておく態様であってもよい。なお、メモリ情報保護システム１Ａでは、記憶手段は、第２記憶部２１０のみとなる。
【００８８】
また、図８に示されるように、変形例に係るメモリ情報保護システム１Ｂでは、アプリケーションソフトウェア２０１は、メモリ装置２０Ｂ以外の外部の記憶装置に記憶されている。このように、上記実施形態のメモリ装置２０において、第１記憶部２００に記憶されていたアプリケーションソフトウェア２０１およびデータ等は、メモリ装置２０Ｂ以外の外部の記憶装置に記憶しておく態様であってもよい。なお、メモリ情報保護システム１Ｂでは、記憶手段は、第２記憶部２１０のみとなる。
【００８９】
この場合、情報処理装置１０は、ネットワークを介してアプリケーションソフトウェア（対応アプリケーションソフトウェアを含む）を取得することになる。例えば、記憶装置がサーバである場合は、情報処理装置１０は、インターネットを介して所望のアプリケーションソフトウェアをダウンロードする。
【００９０】
また、上記実施形態では、状態遷移情報２１２として、図４に示される情報を例示したが、これに限定されない。図９および図１０は、変形例に係る状態遷移情報２１２を示す図である。
【００９１】
状態遷移情報２１２は、例えば、図９に示されるような情報であってもよい。図９に示される状態遷移情報２１２Ａでは、１つの状態遷移指示「ＣＯＭ２」に対して２通りの遷移先「ＪＤ３」、「ＪＤ４」が存在する。また、状態遷移情報２１２Ａでは、状態遷移指示の種類によっては、１つの状態情報「ＪＤ１」から、２通りの遷移先「ＪＤ２」、「ＪＤ３」に遷移可能となっている。
【００９２】
このように、状態情報２１１の遷移パターンを複雑化することによれば、逆アセンブルによる解析をより困難にすることができる。
【００９３】
また、状態遷移情報２１２は、例えば、図１０に示されるような情報であってもよい。図１０に示される状態遷移情報２１２Ｂでは、状態遷移指示に関する情報のみが、状態遷移許可情報ＢＦとして含まれている。
【００９４】
このような状態遷移情報２１２Ｂを用いた場合は、メモリ装置２０（２０Ａ，２０Ｂ）内の状態制御部２２２は、情報処理装置１０から入力された状態遷移指示が、状態遷移許可情報ＢＦに含まれるいずれかの許可条件（ここでは、状態遷移指示）に適合するか否かを判定する。そして、入力された状態遷移指示が、状態遷移許可情報ＢＦに含まれるいずれかの許可条件に適合する場合は、状態制御部２２２は、状態情報２１１の変更を適切に行うように制御する。これに対して、入力された状態遷移指示が、状態遷移許可情報ＢＦに含まれるいずれの許可条件にも適合しない場合（不適合の場合）は、状態制御部２２２は、状態情報２１１の変更を適切に行わないように制御する。
【００９５】
このように、状態情報２１１の変更を行うときの許可条件を緩和すれば、状態遷移情報２１２の情報量を減らすことができるとともに、より簡単な実装を実現することができる。
【００９６】
なお、状態遷移情報２１２としては、図４、図９、および図１０に含まれる各思想を組み合わせたものであってもよい。すなわち、例えば、状態遷移情報２１２は、状態遷移指示のみを許可条件とする状態遷移許可情報ＢＦ、および状態遷移指示と現在の状態情報２１１との組み合わせを許可条件とする状態遷移許可情報ＢＦの両方を含む態様であってもよい。
【００９７】
また、上記実施形態では、状態情報２１１を遷移させるための状態遷移指示として、直接的な状態遷移命令、および複数の任意の命令を組み合わせたものを例示したが、これに限定されない。
【００９８】
具体的には、アプリケーションの実行中に発生したイベント情報を状態遷移指示として用いてもよい。例えば、獲得アイテムをゲームの状態として用いている場合は、対象となるアイテムを取得した旨のイベント情報をメモリ装置２０に通知するようにし、メモリ装置２０の指示解析部２２１が、当該通知を状態遷移指示と判断するように構成してもよい。
【００９９】
また、状態遷移指示として、直接的な状態遷移命令を用いた場合は、当該状態遷移命令のコマンド長は、長い方が好ましい。また、状態遷移命令のコマンド長は一定ではなく、不定である方が好ましい。また、状態遷移命令のコマンド値は、規則的な値ではなく、ランダムな値（ランダム値）を用いることが好ましい。これらによれば、逆アセンブルによる解析をより困難にすることができる。
【０１００】
また、上記実施形態では、対応アプリケーションソフトウェアを特定する際に用いられる、状態情報２１１と対応アプリケーションソフトウェアとの対応関係を示すデータをメモリ装置２０から読み出して、情報処理装置１０のＲＡＭに格納して用いる態様を例示したが、これに限定されない。具体的には、情報処理装置１０において対応アプリケーションソフトウェアを特定する際に、必要に応じてメモリ装置２０に対応関係を見に行く態様にしてもよい。
【０１０１】
また、上記実施形態において、ステップＳＰ１０７で実行されていた状態遷移指示の発行動作は、アプリケーションの状態が変化する度に必ず行われるものでなくてもよい。
【０１０２】
具体的には、状態遷移指示の発行動作は、対応アプリケーションソフトウェアに組み込まれた、状態遷移命令に基づく動作である。このため、当該状態遷移命令が、アプリケーションの状態変化のうち、或る特定の状態変化の発生に対応して生じるものとしてアプリケーションソフトウェアに組み込まれている場合、状態遷移指示の発行動作は、アプリケーションの状態が変化する度に毎回行われる態様にはならない。
【０１０３】
また、第２記憶部２１０に記憶された状態情報２１１および状態遷移情報２１２は、メモリ情報保護システム１の動作中、セキュリティ制御部２２０のＲＡＭ（不図示）に一旦読み出して格納する態様としてもよい。これによれば、メモリ情報保護システム１の動作中は、セキュリティ制御部２２０のＲＡＭに格納した状態情報２１１および状態遷移情報２１２を用いて動作を進行させることができるので、第２記憶部２１０からの読み出し時間および第２記憶部２１０への書き込み時間を省略することができる。なおこの場合、メモリ情報保護システム１の動作を終了する際には、セキュリティ制御部２２０のＲＡＭに記憶されている状態情報が、第２記憶部２１０に書き込まれることになる。
【０１０４】
また、状態情報２１１の管理は、管理対象となる状態情報それぞれに与えられたアドレスを用いて行うようにしてもよい。具体的には、管理対象となる状態情報それぞれにアドレスを付与し、現在の状態情報２１１をアドレスを用いて管理する。このとき、現在の状態情報２１１の位置を表すアドレスは、「ポインタ」とも称される。このようにポインタが示すアドレスを介して、現在の状態情報２１１を特定するようにすれば、例えば、状態情報に文字列が含まれていたとしても管理が容易になる。
【０１０５】
また、上記実施形態におけるセキュリティ制御部２２０の動作は、ＲＯＭおよびＲＡＭ等が接続されたＣＰＵにおいて所定のプログラムを実行して実現される態様であってもよく、或いは、論理回路を用いてハードウェアとして実現される態様であってもよい。
【０１０６】
また、逆アセンブルによる解析をより困難にするため、アプリケーションソフトウェア自体を暗号化してもよい。
【符号の説明】
【０１０７】
１，１Ａ  メモリ情報保護システム（メモリシステム）
１０  情報処理装置
１００  制御部
１０１  実行制御部
１０２  状態情報取得部
１０３  データ取得部
１０４  遷移指示発行部
２０，２０Ａ  メモリ装置
２００  第１記憶部
２０１  アプリケーションソフトウェア
２１０  第２記憶部
２１１  状態情報
２１２  状態遷移情報
２２０  セキュリティ制御部
２２１  指示解析部
２２２  状態制御部
ＢＦ  状態遷移許可情報
ＮＦ  遷移先情報
【図１】
0005701663.tif 000002
【図２】
0005701663.tif 000003
【図３】
0005701663.tif 000004
【図４】
0005701663.tif 000005
【図５】
0005701663.tif 000006
【図６】
0005701663.tif 000007
【図７】
0005701663.tif 000008
【図８】
0005701663.tif 000009
【図９】
0005701663.tif 000010
【図１０】
0005701663.tif 000011