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