(57)【特許請求の範囲】
【請求項１】
複数の端末装置と、サーバ装置と、を備えるゲームシステムであって、
（ａ）前記複数の端末装置のそれぞれは、
当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される情報記憶部、
前記識別名のいずれかと、復号鍵と、が対応付けて記憶される鍵記憶部、
前記プレイヤーの操作ならびに前記ゲームの進行に基づいて、前記プレイヤーに提示すべきマルチメディア情報の識別名を取得する識別名取得部、
前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて前記情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する復号部、
前記復号されたマルチメディア情報を、前記プレイヤーに提示する情報提示部、
前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されていない場合、前記サーバ装置に、当該識別名を指定する要求を送信する要求送信部
を備え、
（ｂ）前記サーバ装置は、
前記複数の端末装置のいずれかから送信された要求を受信する要求受信部、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信部
を備え、
（ｃ）前記複数の端末装置のそれぞれは、
前記サーバ装置から送信された応答を受信する応答受信部、
前記送信された要求に指定された識別名と、当該要求に呼応して前記受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、前記鍵記憶部を更新する更新部
をさらに備える
ことを特徴とするゲームシステム。
【請求項２】
請求項１に記載のゲームシステムであって、
前記情報記憶部において、前記暗号化情報は、コンピュータ読取可能な情報記録媒体に記憶され、
前記鍵記憶部において、前記識別名と、前記復号鍵と、は、不揮発性記憶装置に記憶される
ことを特徴とするゲームシステム。
【請求項３】
請求項１または２に記載のゲームシステムであって、
前記鍵取得部は、前記識別名を種として、所定のアルゴリズムにより生成される乱数を、前記復号鍵として取得し、
前記複数の暗号化情報のそれぞれは、当該暗号化情報に対応付けられる識別名を種として、所定のアルゴリズムにより生成される乱数を復号鍵とするように、暗号化される
ことを特徴とするゲームシステム。
【請求項４】
請求項１から３のいずれか１項に記載のゲームシステムであって、
前記識別名を指定する要求が送信されてから所定の時間内に前記復号鍵を指定する応答が受信されなかった場合、前記提示部は、当該マルチメディア情報を復号できない旨の警告を、前記プレイヤーに提示する
ことを特徴とするゲームシステム。
【請求項５】
複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現するためのサーバ装置であって、
当該サーバ装置は、当該複数の端末装置と通信し、
前記複数の端末装置のいずれかから送信された要求であって、マルチメディア情報の識別名が指定された要求を受信する要求受信部、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信部
を備えることを特徴とするサーバ装置。
【請求項６】
複数の端末装置と、サーバ装置と、を備えるゲームシステムを制御するゲーム制御方法であって、
前記複数の端末装置のそれぞれは、情報記憶部、鍵記憶部、識別名取得部、復号部、情報提示部、要求送信部、応答受信部、更新部を備え、
前記情報記憶部には、当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶され、
前記鍵記憶部には、前記識別名のいずれかと、復号鍵と、が対応付けて記憶され、
前記サーバ装置は、要求受信部、決定部、鍵取得部、応答送信部を備え、
前記ゲーム制御方法は、
（ａ）前記複数の端末装置のそれぞれにおいて、
前記識別名取得部が、前記プレイヤーの操作ならびに前記ゲームの進行に基づいて、前記プレイヤーに提示すべきマルチメディア情報の識別名を取得する識別名取得工程、
前記復号部が、前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて前記情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する復号工程、
前記情報提示部が、前記復号されたマルチメディア情報を、前記プレイヤーに提示する情報提示工程、
前記要求送信部が、前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されていない場合、前記サーバ装置に、当該識別名を指定する要求を送信する要求送信工程、
を備え、
（ｂ）前記サーバ装置において、
前記要求受信部が、前記複数の端末装置のいずれかから送信された要求を受信する要求受信工程、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、前記決定部が、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定工程、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記鍵取得部が、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得工程、
前記応答送信部が、前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信工程
を備え、
（ｃ）前記複数の端末装置のそれぞれにおいて、
前記応答受信部が、前記サーバ装置から送信された応答を受信する応答受信工程、
前記更新部が、前記送信された要求に指定された識別名と、当該要求に呼応して前記受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、前記鍵記憶部を更新する更新工程
をさらに備えることを特徴とするゲーム制御方法。
【請求項７】
複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現するためのサーバ装置を制御するサービス方法であって、
当該サーバ装置は、当該複数の端末装置と通信し、要求受信部、決定部、鍵取得部、応答送信部を備え、
前記要求受信部が、前記複数の端末装置のいずれかから送信された要求であって、マルチメディア情報の識別名が指定された要求を受信する要求受信工程、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、前記決定部が、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定工程、
前記鍵取得部が、前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得工程、
前記応答送信部が、前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信工程
を備える
ことを特徴とするサービス方法。
【請求項８】
複数の端末用コンピュータのそれぞれを端末装置として機能させる端末用プログラムと、サーバ用コンピュータをサーバ装置として機能させるサーバ用プログラムと、を備えるゲームシステム用プログラムであって、
（ａ）前記端末用プログラムは、前記複数の端末用コンピュータのそれぞれを、
当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される情報記憶部、
前記識別名のいずれかと、復号鍵と、が対応付けて記憶される鍵記憶部、
前記プレイヤーの操作ならびに前記ゲームの進行に基づいて、前記プレイヤーに提示すべきマルチメディア情報の識別名を取得する識別名取得部、
前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて前記情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する復号部、
前記復号されたマルチメディア情報を、前記プレイヤーに提示する情報提示部、
前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されていない場合、前記サーバ装置に、当該識別名を指定する要求を送信する要求送信部
として機能させ、
（ｂ）前記サーバ用プログラムは、前記サーバ用コンピュータを、
前記複数の端末装置のいずれかから送信された要求を受信する要求受信部、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信部
として機能させ、
（ｃ）前記端末用プログラムは、前記複数の端末用コンピュータのそれぞれを、
前記サーバ装置から送信された応答を受信する応答受信部、
前記送信された要求に指定された識別名と、当該要求に呼応して前記受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、前記鍵記憶部を更新する更新部
としてさらに機能させる
ことを特徴とするゲームシステム用プログラム。
【請求項９】
サーバ用コンピュータを、複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現するためのサーバ装置として機能させるサーバ用プログラムであって、
前記サーバ用プログラムは、前記サーバ用コンピュータを、
前記複数の端末装置のいずれかから送信された要求を受信する要求受信部、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信部
として機能させる
ことを特徴とするサーバ用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム内でプレイヤーに提示されるべきマルチメディア情報の、当該提示の解禁時期を適切に制御するのに好適なゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、これらをコンピュータにて実現するゲームシステム用プログラム、ならびに、サーバ用プログラムに関する。
【背景技術】
【０００２】
従来から、コンピュータ通信網を介してサーバ装置に通信可能に接続されたゲーム用の端末装置を利用したゲームシステムが提供されている。このような態様のゲームシステムにより、プレイヤー同士を対戦させたり協力させたりする通信ゲームのほか、各プレイヤーがそれぞれ独立して進行させるようなゲームが、各種提供されている。
【０００３】
このようなゲームシステムにおいては、プレイヤーに提示されるゲームの静止画像や動画像、音声等、各種のマルチメディア情報は、あらかじめ端末装置側に用意されており、他の端末装置やサーバ装置からの指示、ゲームの進行の度合に応じて出力される（特許文献１参照）。
【０００４】
これらのマルチメディア情報は、端末装置で読取可能なＲＯＭ（Read Only Memory）カセットやＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）などの情報記録媒体に記録されて販売されているほか、ネットワークを介してダウンロード販売され、端末装置が備えるハードディスクやメモリカード等の外部メモリに記録される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−３０５３０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、これらの情報記録媒体に記録されたマルチメディア情報がリバースエンジニアリングによって解析されてしまうと、ゲームが進行しなければプレイヤーに提供されることがないはずの画像や音声等も流出してしまう。
【０００７】
特に、ゲームの発売時から時をおかずに、ゲームの各種イベントやエンディング・テロップなどの動画像や音声、ゲームを繰り返しプレイしないと入手できないために、どのプレイヤーもまだ入手していないはずのアイテムの静止画像などが流出してしまった場合には、ゲームそのものに対する意欲を減退させることにつながる。
【０００８】
したがって、各種のマルチメディア情報を、ＤＶＤ−ＲＯＭやＲＯＭカセットに記録して販売したり、ダウンロード販売した場合に、これらのマルチメディア情報が利用できるようになる時期を適切に管理したい、との要望は強い。
【０００９】
本発明は、上記のような課題を解決するもので、ゲーム内でプレイヤーに提示されるべきマルチメディア情報の、当該提示の解禁時期を適切に制御するのに好適なゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、これらをコンピュータにて実現するゲームシステム用プログラム、ならびに、サーバ用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【００１１】
本発明の第１の観点に係るゲームシステムは、複数の端末装置と、サーバ装置と、を備え、以下のように構成する。
【００１２】
すなわち、複数の端末装置のそれぞれは、情報記憶部、鍵記憶部、識別名取得部、復号部、情報提示部、要求送信部、応答受信部、更新部を備える。
【００１３】
一方、サーバ装置は、要求受信部、決定部、鍵取得部、応答送信部を備える。
【００１４】
ここで、複数の端末装置のそれぞれにおいて、情報記憶部には、当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される。
【００１５】
情報記憶部は、典型的には、本ゲームシステムにおけるゲームの制作者からプレイヤーに提供される情報を記録した各種の情報記録媒体、たとえば、ゲームのソフトウェアが記録されたＤＶＤ−ＲＯＭやＲＯＭカセット、ダウンロード販売されたソフトウェアが記録されたハードディスク等により実現される。したがって、情報記憶部は、読出可能な情報が記憶できれば十分であり、情報の書き込みは必ずしもできる必要はない。
【００１６】
マルチメディア情報としては、ゲームが進行するにつれてプレイヤーが獲得するであろうアイテムの画像や、プレイヤーが経験するであろうイベントやエンディング・テロップの動画像や音声など、種々のものを採用することができる。
【００１７】
本発明では、ゲーム開始時にプレイヤーが入手可能なマルチメディア情報は暗号化されており、実際に視聴可能なマルチメディア情報は、復号鍵がなければ得ることができない。
【００１８】
マルチメディア情報ならびにその暗号化情報の識別名としては、リソース番号やファイル名などを利用することができる。
【００１９】
一方、鍵記憶部は、識別名のいずれかと、復号鍵と、が対応付けて記憶される。
【００２０】
すなわち、ある暗号化情報を復号するための復号鍵と、その暗号化済みのマルチメディア情報の識別名と、が対応付けて記憶されることとなる。
【００２１】
ただし、本発明では、ゲーム開始当初は、鍵記憶部には、復号鍵がまったく、あるいは、ゲーム当初にプレイヤーが直ちに聴取可能なものについてしか、記憶されていないものとする。
【００２２】
すると、ゲームの開始当初は、ほとんどのマルチメディア情報は暗号化されたままの状態となっており、端末装置だけでは復号ができない状態に置かれることになる。
【００２３】
さらに、識別名取得部は、プレイヤーの操作ならびにゲームの進行に基づいて、プレイヤーに提示すべきマルチメディア情報の識別名を取得する。
【００２４】
本発明におけるゲームの進行は、通常のゲームと同様に行われる。すなわち、端末装置は、コントローラやキーボード、マウス、音声認識、ジェスチャーの画像認識などを利用して、プレイヤーからの操作を受け付ける。また、必要に応じて、サーバ装置や、他の端末装置からの指示を受け付ける。
【００２５】
そして、端末装置は、これらの操作や指示に基づいて、端末装置に記憶されているゲームの状態を更新する。また、必要に応じて、そのゲームの状態のすべてもしくは一部をサーバ装置や他の端末装置に知らせる。
【００２６】
さらに、現在のゲーム状態に応じて、プレイヤーに提示すべきアイテムの静止画像や、イベント提示に必要な動画像、音声などを記録したマルチメディア情報の識別名を、ゲームのプログラムやゲームのシナリオに基づいて、取得する。
【００２７】
一方、取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されている場合、復号部は、当該識別名に対応付けて情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する。
【００２８】
このように、復号が可能なのは、当該端末装置が、以前に復号鍵を獲得している場合のみである。リバース・エンジニアリングによって暗号化情報の復号のアルゴリズムが解読されてしまったとしても、復号鍵を何らかの手段で入手しなければ、暗号化情報からマルチメディア情報を直ちに復元することは不可能である。
【００２９】
そして、情報提示部は、復号されたマルチメディア情報を、プレイヤーに提示する。
【００３０】
すなわち、アイテムの静止画像等は、適宜モニターの画面内の所定の領域に描画される。また、イベントやエンディング・テロップを表す動画像はモニターの画面に表示され、音声はスピーカやヘッドフォンなどから出力される。
【００３１】
これらのマルチメディア情報の提供を受けて、プレイヤーは、さらにゲームを進行させようとするのである。
【００３２】
さらに、取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されていない場合、要求送信部は、サーバ装置に、当該識別名を指定する要求を送信する。
【００３３】
すなわち、当該端末装置が、暗号化情報を復号するための復号鍵をまだ獲得していない場合には、サーバに問い合わせを行うのである。
【００３４】
一方、サーバ装置において、要求受信部は、複数の端末装置のいずれかから送信された要求を受信する。
【００３５】
本発明におけるサーバ装置は、ゲームにおいてプレイヤーに提示されるマルチメディア情報を暗号化した暗号化情報を復号するための復号鍵を管理する。サーバ装置の要求受信部は、端末装置から送信されたある暗号化情報を復号したい旨の要求を受信する。
【００３６】
さらに、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、決定部は、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【００３７】
たとえば、ゲームが発売された直後は、いずれのプレイヤーも、そのゲームのエンディング・テロップを視聴していない。また、プレイヤーがめったに遭遇することがないアイテム、いわゆるレアアイテムも、いずれのプレイヤーにも提示されていない。
【００３８】
したがって、ゲームが発売された直後は、ほとんどのマルチメディア情報は、いずれのプレイヤーにも提示されていないことになる。
【００３９】
一方、ゲームの発売から時間が経過して、各プレイヤーがゲームを進行させていくと、一部のプレイヤーがゲームのエンディングを迎えたり、レアアイテムを獲得したりする。すると、エンディング・テロップの動画像や音声、レアアイテムの静止画像等のマルチメディア情報は、当該プレイヤーに提示されることになる。
【００４０】
したがって、サーバ装置は、各マルチメディア情報ごとに、そのマルチメディア情報を視聴したプレイヤーが一人でも生じたか、それとも、一人もいないか、を、管理するのである。この管理は、サーバ装置が備えるハードディスク等に情報を記憶することで行われる。
【００４１】
ここで、決定部は、要求を送信してきた端末装置のプレイヤーが、「マルチメディア情報を視聴する権利」を正当に得たのか、それとも、リバースエンジニアリングなどの技術を利用して、不正に復号鍵を得ようとしているのか、を識別し、その結果に基づいて、マルチメディア情報を提供するか否かを決定する。
【００４２】
この決定の際には、ゲームの進行の過程で、当該プレイヤーの端末装置から送信されたゲームの進行状況の情報と、サーバ内で管理される当該プレイヤーのゲームの進行状況の情報とを対比対照したり、ゲームが公開されてからの経過期間を考慮したり等、不正行為を検出するための種々の技術を適用することができる。
【００４３】
本発明においては、要求があるたびに、当該プレイヤーの行為に不正があるか否かを判断するのではない。いずれのプレイヤーも未だ視聴していないマルチメディア情報について要求があった場合にのみ、決定部による決定が行われる点に特徴の一つがある。
【００４４】
そして、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、鍵取得部は、指定された識別名に対応付けられる復号鍵を取得する。
【００４５】
最も単純な実装では、各マルチメディア情報の識別名と、当該マルチメディア情報に対する暗号化情報を復号するための復号鍵と、を対応付けてデータベースに登録しておく。鍵取得部は、このデータベースを検索することによって、復号鍵を取得する。
【００４６】
なお、各マルチメディア情報の識別名に、当該マルチメディア情報をいずれかのプレイヤーに提示しても良いと過去に決定したか否かの解禁フラグ情報を、当該データベースにさらに登録しておくこととしても良い。
【００４７】
この場合、決定部が、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨を決定した場合には、決定部が、当該解禁フラグ情報も更新する。
【００４８】
このような構成を採用すると、データベースを参照すれば、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されているか否かを容易に判定することができる。
【００４９】
そして、応答送信部は、要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【００５０】
このように、復号鍵が端末装置に提供されるのは、端末装置がその復号鍵を記憶しておらず、当該端末装置のプレイヤーがその復号鍵を取得できる正当な権限を持っているか、いずれかのプレイヤーが過去にすでにその復号鍵を取得した場合に限られる。
【００５１】
一方、複数の端末装置のそれぞれにおいて、応答受信部は、サーバ装置から送信された応答を受信する。
【００５２】
上記のように、この応答には、サーバ装置から送信された復号鍵が指定されている。
【００５３】
そして、更新部は、送信された要求に指定された識別名と、当該要求に呼応して受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、鍵記憶部を更新する。
【００５４】
鍵記憶部が更新され、復号鍵が記憶されれば、復号部が動作を開始するための条件が満たされる。したがって、更新部による更新を契機に、復号部が暗号化情報からマルチメディア情報を復号し、情報提示部が復号されたマルチメディア情報をプレイヤーに提示する。
【００５５】
本発明によれば、マルチメディア情報をプレイヤーに提示するか否かを適切に決定して、当該マルチメディア情報が不用意に流出することを防止できる一方で、当該決定を行わなければならない頻度をできるだけ抑制してサーバの計算負担を低減することができるようになる。
【００５６】
また、本発明のゲームシステムは、以下のように構成することができる。すなわち、情報記憶部において、暗号化情報は、コンピュータ読取可能な情報記録媒体に記憶される。一方、鍵記憶部において、識別名と、復号鍵と、は、不揮発性記憶装置に記憶される。
【００５７】
ここで、暗号化情報が記憶されるのは、典型的には、ＤＶＤ−ＲＯＭやＲＯＭカセット、ダウンロード販売されたゲームソフトウェアが記録されたハードディスク等であり、少なくとも、コンピュータ読取可能であれば十分である。
【００５８】
一方、識別名と復号鍵が記憶されるのは、ハードディスクや外部メモリなど、読み書きが可能な不揮発性の記憶装置である。
【００５９】
本発明は、上記発明の好適実施形態に係るものであり、各種の情報を種々の情報記録媒体や記憶装置に適切に記録、記憶することによって、ゲームソフトウェアの販売や提供を容易にすることができる。
【００６０】
また、本発明のゲームシステムにおいて、鍵取得部は、識別名を種として、所定のアルゴリズムにより生成される乱数を、復号鍵として取得し、複数の暗号化情報のそれぞれは、当該暗号化情報に対応付けられる識別名を種として、所定のアルゴリズムにより生成される乱数を復号鍵とするように、暗号化されるように構成することができる。
【００６１】
上記の説明では、データベースに、
（ａ）マルチメディア情報の識別名と、
（ｂ）マルチメディア情報に対する暗号化情報を復号するための復号鍵と、
（ｃ）マルチメディア情報の解禁フラグ情報と、
を対応付けて記録することとしていたが、本発明は、復号鍵の管理を不要とするものである。
【００６２】
すなわち、各暗号化情報の復号鍵は、当該マルチメディア情報の識別名を種として所定のアルゴリズムにより乱数列を生成することで得られるのである。
【００６３】
上記のように、識別名としては、リソース番号やファイル名を利用することができるが、これらはコンピュータで処理可能な情報であるから、これらの情報は多倍長の整数と見ることも可能である。また、一般的な乱数生成アルゴリズムに対して種として整数を与えると、乱数列が得られる。
【００６４】
そこで、識別名を種として得られる乱数列を、一定の長さだけ取得して、当該乱数列を、たとえばブロック暗号の共通鍵とする。
【００６５】
ゲームの制作者は、マルチメディア情報の識別名から暗号鍵を生成し、この暗号鍵を用いてマルチメディア情報から暗号化情報を生成してＤＶＤ−ＲＯＭなどに記録し、プレイヤーに提供する。
【００６６】
ブロック暗号を利用する場合には、暗号鍵と復号鍵とは一致するから、プレイヤーが利用する端末装置から要求があった場合には、同じ乱数生成アルゴリズムを用いてマルチメディア情報の識別名から復号鍵を生成すれば良い。
【００６７】
本発明によれば、各マルチメディア情報ごとに復号鍵を管理する必要がなくなる一方で、各マルチメディア情報ごとの復号鍵のバリエーションを容易に増やすことができ、不正な解読行為などをできるだけ防止することができるようになる。
【００６８】
また、本発明のゲームシステムにおいて、識別名を指定する要求が送信されてから所定の時間内に復号鍵を指定する応答が受信されなかった場合、提示部は、当該マルチメディア情報を復号できない旨の警告を、プレイヤーに提示するように構成することができる。
【００６９】
決定部がマルチメディア情報をプレイヤーに提供しない旨を決定した場合は、当該プレイヤーがリバースエンジニアリング等の不正行為を行っている可能性が高いと考えられる。
【００７０】
このような場合に、サーバ装置は、端末装置に対して復号鍵を提供しない旨を表す応答を直ちに送信するという手法もありうるが、本発明においては、端末装置に対して、応答を送信しない、という手法を採用する。
【００７１】
この場合、端末装置では、タイムアウト時間が経過して初めて、マルチメディア情報の復号鍵が取得できなかったことが判明する。このため、各種の解析には、より時間と労力が必要となる。
【００７２】
本発明によれば、リバースエンジニアリングによる解析を困難とすることで、各種のマルチメディア情報が不用意に流出してしまう危険性を、できるだけ抑制することができるようになる。
【００７３】
本発明のその他の観点に係るサーバ装置は、上記のゲームシステムにおけるサーバ装置である。すなわち、サーバ装置は、複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現し、当該サーバ装置は、当該複数の端末装置と通信し、要求受信部、決定部、鍵取得部、応答送信部を備える。
【００７４】
ここで、要求受信部は、複数の端末装置のいずれかから送信された要求であって、マルチメディア情報の識別名が指定された要求を受信する。
【００７５】
一方、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、決定部は、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【００７６】
さらに、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、鍵取得部は、指定された識別名に対応付けられる復号鍵を取得する。
【００７７】
そして、応答送信部は、要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【００７８】
本発明のその他の観点に係るゲーム制御方法は、複数の端末装置と、サーバ装置と、を備えるゲームシステムを制御する。
【００７９】
ここで、複数の端末装置のそれぞれは、情報記憶部、鍵記憶部、識別名取得部、復号部、情報提示部、要求送信部、応答受信部、更新部を備える。
【００８０】
ここで、情報記憶部には、当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される。
【００８１】
一方、鍵記憶部には、識別名のいずれかと、復号鍵と、が対応付けて記憶される。
【００８２】
さらに、サーバ装置は、要求受信部、決定部、鍵取得部、応答送信部を備える。
【００８３】
ここで、本発明のゲーム制御方法は、識別名取得工程、復号工程、情報提示工程、要求送信工程、要求受信工程、決定工程、鍵取得工程、応答送信工程、応答受信工程、更新工程を備え、以下のように構成する。
【００８４】
すなわち、複数の端末装置のそれぞれにおいて、識別名取得工程では、識別名取得部が、プレイヤーの操作ならびにゲームの進行に基づいて、プレイヤーに提示すべきマルチメディア情報の識別名を取得する。
【００８５】
一方、復号工程では、復号部が、取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する。
【００８６】
さらに、情報提示工程では、情報提示部が、復号されたマルチメディア情報を、プレイヤーに提示する。
【００８７】
そして、要求送信工程では、要求送信部が、取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されていない場合、サーバ装置に、当該識別名を指定する要求を送信する。
【００８８】
一方、サーバ装置において、要求受信工程では、要求受信部が、複数の端末装置のいずれかから送信された要求を受信する。
【００８９】
さらに、決定工程では、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、決定部が、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【００９０】
そして、鍵取得工程では、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、鍵取得部が、指定された識別名に対応付けられる復号鍵を取得する。
【００９１】
一方、応答送信工程では、応答送信部が、要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【００９２】
さらに、複数の端末装置のそれぞれにおいて、応答受信工程では、応答受信部が、サーバ装置から送信された応答を受信する。
【００９３】
一方、更新工程では、更新部が、送信された要求に指定された識別名と、当該要求に呼応して受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、鍵記憶部を更新する。
【００９４】
本発明のその他の観点に係るサービス方法は、上記のゲーム制御方法においてサーバ装置を制御するものであり、複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現する。
【００９５】
ここで、当該サーバ装置は、当該複数の端末装置と通信し、要求受信部、決定部、鍵取得部、応答送信部を備える。
【００９６】
一方、本発明のサービス方法は、要求受信工程、決定工程、鍵取得工程、応答送信工程を備え、以下のように構成する。
【００９７】
すなわち、要求受信工程では、要求受信部が、複数の端末装置のいずれかから送信された要求であって、マルチメディア情報の識別名が指定された要求を受信する。
【００９８】
一方、決定工程では、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、決定部が、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【００９９】
さらに、鍵取得工程では、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、鍵取得部が、指定された識別名に対応付けられる復号鍵を取得する。
【０１００】
そして、応答送信工程では、応答送信部が、要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【０１０１】
本発明のその他の観点に係るゲームシステム用プログラムは、複数の端末用コンピュータのそれぞれを端末装置として機能させる端末用プログラムと、サーバ用コンピュータをサーバ装置として機能させるサーバ用プログラムと、を備え、以下のように構成する。
【０１０２】
すなわち、端末用プログラムは、複数の端末用コンピュータのそれぞれを、
当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される情報記憶部、
識別名のいずれかと、復号鍵と、が対応付けて記憶される鍵記憶部、
プレイヤーの操作ならびにゲームの進行に基づいて、プレイヤーに提示すべきマルチメディア情報の識別名を取得する識別名取得部、
取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する復号部、
復号されたマルチメディア情報を、プレイヤーに提示する情報提示部、
取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されていない場合、サーバ装置に、当該識別名を指定する要求を送信する要求送信部
として機能させる。
【０１０３】
一方、サーバ用プログラムは、サーバ用コンピュータを、
複数の端末装置のいずれかから送信された要求を受信する要求受信部、
受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する応答送信部
として機能させる。
【０１０４】
さらに、端末用プログラムは、複数の端末用コンピュータのそれぞれを、
サーバ装置から送信された応答を受信する応答受信部、
送信された要求に指定された識別名と、当該要求に呼応して受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、
鍵記憶部を更新する更新部
としてさらに機能させる。
【０１０５】
本発明のその他の観点に係るサーバ用プログラムは、上記のゲームシステム用プログラムにおけるサーバ用プログラムであって、サーバ用コンピュータを、複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現するためのサーバ装置として機能させる。
【０１０６】
ここで、サーバ用プログラムは、サーバ用コンピュータを、
複数の端末装置のいずれかから送信された要求を受信する要求受信部、
受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する応答送信部
として機能させる。
【０１０７】
本発明の端末用プログラムと、サーバ用プログラムと、は、それぞれ独立して、もしくは、まとめて、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【０１０８】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【０１０９】
本発明によれば、ゲーム内でプレイヤーに提示されるべきマルチメディア情報の、当該提示の解禁時期を適切に制御するのに好適なゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、これらをコンピュータにて実現するゲームシステム用プログラム、ならびに、サーバ用プログラムを提供することができる。
【図面の簡単な説明】
【０１１０】
【図１】典型的な情報処理装置の概要構成を示す模式図である。
【図２】本発明の実施形態に係るゲームシステムの概要構成を示す説明図である。
【図３】サーバ装置と端末装置とが通信して、復号鍵をやりとりする様子を示すセッション図である。
【図４】本実施形態に係るサーバ装置の概要構成を示す模式図である。
【図５】サーバ装置にて実行されるサービス処理の制御の流れを示すフローチャートである。
【図６】本実施形態に係る端末装置の概要構成を示す説明図である。
【図７】端末装置にて実行される端末処理の制御の流れを示すフローチャートである。
【図８】サーバ装置と端末装置とが通信して、復号鍵をやりとりする様子を示すセッション図である。
【発明を実施するための形態】
【０１１１】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【０１１２】
（情報処理装置）
図１は、プログラムを実行することにより、本発明の実施形態に係る端末装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【０１１３】
情報処理装置１００は、ＣＰＵ（Central Processing Unit）１０１と、ＲＯＭ  １０２と、ＲＡＭ（Random Access Memory）１０３と、インターフェース１０４と、コントローラ１０５と、外部メモリ１０６と、画像処理部１０７と、ＤＶＤ−ＲＯＭ（Digital Versatile Disc ROM）ドライブ１０８と、ＮＩＣ（Network Interface Card）１０９と、音声処理部１１０と、マイク１１１と、ＨＤ（Hard Disk）１２１を備える。
【０１１４】
ゲーム用のプログラムおよびデータを記憶したＤＶＤ−ＲＯＭをＤＶＤ−ＲＯＭドライブ１０８に装着して、情報処理装置１００の電源を投入することにより、当該プログラムが実行され、本実施形態に係る装置が実現される。
【０１１５】
ＣＰＵ  １０１は、情報処理装置１００全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、ＣＰＵ  １０１は、レジスタ（図示せず）という高速アクセスが可能な記憶域に対してＡＬＵ（Arithmetic Logic Unit）（図示せず）を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、ＣＰＵ  １０１自身が構成されているものや、コプロセッサを備えて実現するものがある。
【０１１６】
ＲＯＭ  １０２には、電源投入直後に実行されるＩＰＬ（Initial Program Loader）が記録され、これが実行されることにより、ＤＶＤ−ＲＯＭに記録されたプログラムをＲＡＭ  １０３に読み出してＣＰＵ  １０１による実行が開始される。また、ＲＯＭ  １０２には、情報処理装置１００全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【０１１７】
ＲＡＭ  １０３は、データやプログラムを一時的に記憶するためのもので、ＤＶＤ−ＲＯＭから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、ＣＰＵ  １０１は、ＲＡＭ  １０３に変数領域を設け、当該変数に格納された値に対して直接ＡＬＵを作用させて演算を行ったり、ＲＡＭ  １０３に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をＲＡＭ  １０３に書き戻す、などの処理を行う。
【０１１８】
インターフェース１０４を介して接続されたコントローラ１０５は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【０１１９】
インターフェース１０４を介して着脱自在に接続された外部メモリ１０６には、ゲーム等のプレイ状況（過去の成績等）を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ（記録）のデータなどが書き換え可能に記憶される。ユーザは、コントローラ１０５を介して指示入力を行うことにより、これらのデータを適宜外部メモリ１０６やＨＤ  １２１に記録することができる。
【０１２０】
ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。ＣＰＵ  １０１の制御によって、ＤＶＤ−ＲＯＭドライブ１０８は、これに装着されたＤＶＤ−ＲＯＭに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはＲＡＭ  １０３等に一時的に記憶される。
【０１２１】
画像処理部１０７は、ＤＶＤ−ＲＯＭから読み出されたデータをＣＰＵ  １０１や画像処理部１０７が備える画像演算プロセッサ（図示せず）によって加工処理した後、これを画像処理部１０７が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部１０７に接続されるモニタ（図示せず）へ出力される。これにより、各種の画像表示が可能となる。
【０１２２】
画像演算プロセッサは、２次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【０１２３】
また、仮想空間が３次元にて構成される場合には、当該３次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Ｚバッファ法によりレンダリングして、所定の視点位置から仮想空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【０１２４】
さらに、ＣＰＵ  １０１と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を２次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【０１２５】
ＮＩＣ  １０９は、情報処理装置１００をインターネット等のコンピュータ通信網（図示せず）に接続するためのものであり、ＬＡＮ（Local Area Network）を構成する際に用いられる１０ＢＡＳＥ−Ｔ／１００ＢＡＳＥ−Ｔ規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ＩＳＤＮ（Integrated Services Digital Network）モデム、ＡＤＳＬ（Asymmetric Digital Subscriber Line）モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとＣＰＵ  １０１との仲立ちを行うインターフェース（図示せず）により構成される。
【０１２６】
ＮＩＣ  １０９を介して、サーバ装置から、各種のプログラムをダウンロードし、ＨＤ  １２１にインストールする形態を採用することもできる。これらのプログラムは、ＣＰＵ  １０１によって、適宜実行される。
【０１２７】
音声処理部１１０は、ＤＶＤ−ＲＯＭから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ（図示せず）から出力させる。また、ＣＰＵ  １０１の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【０１２８】
音声処理部１１０では、ＤＶＤ−ＲＯＭに記録された音声データがＭＩＤＩデータである場合には、これが有する音源データを参照して、ＭＩＤＩデータをＰＣＭデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してＰＣＭデータに変換する。ＰＣＭデータは、そのサンプリング周波数に応じたタイミングでＤ／Ａ（Digital/Analog）変換を行って、スピーカに出力することにより、音声出力が可能となる。
【０１２９】
さらに、情報処理装置１００には、インターフェース１０４を介してマイク１１１を接続することができる。この場合、マイク１１１からのアナログ信号に対しては、適当なサンプリング周波数でＡ／Ｄ変換を行い、ＰＣＭ形式のディジタル信号として、音声処理部１１０でのミキシング等の処理ができるようにする。
【０１３０】
このほか、情報処理装置１００は、ＨＤ  １２１等の大容量外部記憶装置を用いて、ＲＯＭ  １０２、ＲＡＭ  １０３、外部メモリ１０６、ＤＶＤ−ＲＯＭドライブ１０８に装着されるＤＶＤ−ＲＯＭ等と同じ機能を果たすように構成してもよい。
【０１３１】
以上で説明した情報処理装置１００は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で端末装置を実現することも可能である。
【０１３２】
さて、ネットワークゲームでは、ゲーム専用機ではなく一般的なコンピュータを利用することも多々ある。そこで以下では、注記しない限り、端末装置について、図１に示した情報処理装置１００により説明を加える。これらは必要に応じて、適宜、一般的なコンピュータの要素に置換することができ、これらの実施形態も本発明の範囲に含まれる。
【０１３３】
また、サーバ装置は、一般的なコンピュータ上に実現されるが、情報処理装置１００をサーバ装置として利用することも可能である。また、情報処理装置１００と一般的なコンピュータとは、その構成や機能に大きな相違はない。そこで、以下の説明では、一般的なコンピュータと情報処理装置１００とを同じように扱って説明する。
【０１３４】
ここで、一般的なコンピュータは、上記情報処理装置１００と同様に、ＣＰＵ、ＲＡＭ、ＲＯＭ、ＤＶＤ−ＲＯＭドライブ、および、ＮＩＣを備え、情報処理装置１００よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてフレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっていることが多い。また、コントローラ１０５ではなく、キーボードやマウスなどを入力装置として利用することも多い。
【０１３５】
以下では、まず、このような情報処理装置１００が所定のプログラムを実行することにより実現される端末装置ならびにサーバ装置からなるゲームシステムの概要を説明し、ついで、暗号化の手法について説明し、その後に、サーバ装置、端末装置のそれぞれの詳細について説明する。
【０１３６】
（ゲームシステム）
図２は、本発明の実施形態に係るゲームシステムの概要構成を示す説明図である。以下、本図を参照して説明する。
【０１３７】
本図に示すように、ゲームシステム２０１は、サーバ装置２２１と、複数の端末装置２４１と、が、インターネット等のコンピュータ通信網２６１を介して通信可能に接続されることによって実現される。
【０１３８】
端末装置２４１のユーザは、ゲームシステム２０１において提供されるゲーム用のソフトウェアを、ＤＶＤ−ＲＯＭやＲＯＭカセット等の情報記録媒体を購入することにより、あるいは、ダウンロード販売によって入手してＨＤ  １２１にインストールすることにより、用意する。
【０１３９】
ここで実現されるゲームは、端末装置２４１のプレイヤー単独でゲームが進行するもの、サーバ装置２２１により紹介された端末装置２４１同士がピアツーピアで通信し対戦を行うもの、端末装置２４１のプレイヤーが協力してサーバ装置２２１の制御の下で進行するもの等、種々の態様を採用することができる。
【０１４０】
端末装置２４１では、その端末装置２４１のプレイヤーからの操作を受け付け、必要に応じて他の端末装置２４１やサーバ装置２２１からの指示を参照してゲームを進行させ、ゲームの状態を管理する。端末装置２４１で管理されるゲームの状態の一部または全部は、適宜サーバ装置２２１に送信され、サーバ装置２２１でも履歴が保存される。
【０１４１】
各プレイヤーのゲームの進行状況をサーバ装置２２１で管理することによって、プレイヤーが正しくゲームを進めているか、それともリバースエンジニアリング等の手法により、不正にゲームをプレイしようとしているのか、を、サーバ装置２２１で判断できるようにする。
【０１４２】
端末装置２４１において、ゲームの進行に応じた静止画像や動画像、音声などを出力しようとした場合、これらのマルチメディア情報をＤＶＤ−ＲＯＭやＲＯＭカセット、ＨＤ  １２１等から読み出す必要があるが、本発明においては、ゲーム用ソフトウェアには、マルチメディア情報そのものが含まれるのではない。購入直後のゲーム用ソフトウェアには、マルチメディア情報を暗号化した暗号化情報のみが含まれている。
【０１４３】
したがって、端末装置２４１がこれらのマルチメディア情報をプレイヤーに提示しようとする際には、暗号化情報を復号するための復号鍵を入手する必要がある。
【０１４４】
図３は、サーバ装置２２１と端末装置２４１とが通信して、復号鍵をやりとりする様子を示すセッション図である。以下、本図を参照して説明する。
【０１４５】
まず、端末装置２４１ａにおいて、プレイヤーがゲームのセーブファイルを不正に書き換えて、ゲームの進行状況を変化させ、ゲームの発売直後であるにもかかわらず、エンディングテロップの動画像や音声等のマルチメディア情報を入手しようとした場合を考える。
【０１４６】
すると、端末装置２４１ａからサーバ装置２２１へ、当該マルチメディア情報の識別名を指定する要求が送信される（３０１）。ここで、マルチメディア情報の識別名としては、リソース番号やファイル名などを利用するのが典型的である。
【０１４７】
さて、当該ゲームは発売直後であるから、エンディングテロップの動画像や音声等は、いずれのプレイヤーにも提示されていない。
【０１４８】
したがって、要求を受信したサーバ装置２２１は、当該要求に指定される識別名のマルチメディア情報は、いずれのプレイヤーにも提示していない旨を検知する（３０２）。すると、サーバ装置２２１は、当該端末装置２４１ａのプレイヤーが正しくゲームを進行させているか否かを判断する（３０３）。
【０１４９】
上記のように、サーバ装置２２１と端末装置２４１とは、プレイヤーごとに、ゲームの進行状況を同期するように管理している。したがって、サーバ装置２２１は、セーブファイルが書き換えられたものと判断する。
【０１５０】
すると、サーバ装置２２１は、当該要求（３０１）に呼応して、端末装置２４１ａに、何の応答も送信しないか、もしくは、復号鍵は提供できない旨を指定する応答を送信する（３０４）。なお、本図では、応答が送信されない態様も考慮して、当該応答の通信（３０４）の様子は点線で表記している。
【０１５１】
さて、不正に要求を送信した端末装置２４１ａは、応答が受信されない、もしくは、復号鍵は提供できない旨の応答が受信されたことを画面に表示して、プレイヤーに警告をする（３０５）。
【０１５２】
これによって、ゲームの進行に対する不正行為を抑止するとともに、マルチメディア情報が不適切な時期に流出するのをできるだけ防止する。
【０１５３】
さて、この後、端末装置２４１ｂのプレイヤーが、着実にゲームを進行させて、全プレイヤーの中で初めてクリアし、エンディングテロップを見ることができる状況になったものとする。
【０１５４】
すると、端末装置２４１ｂからサーバ装置２２１へ、エンディングテロップに係るマルチメディア情報の識別名を指定する要求が送信される（３１１）。
【０１５５】
要求を受信したサーバ装置２２１は、当該要求に指定される識別名のマルチメディア情報は、いずれのプレイヤーにも提示していない旨を検知する（３１２）。そして、サーバ装置２２１は、当該端末装置２４１ｂのプレイヤーが正しくゲームを進行させているか否かを判断する（３１３）。
【０１５６】
その結果、サーバ装置２２１は、当該端末装置２４１ｂのプレイヤーが正当にゲームをクリアしたという結論を得ると、サーバ装置２２１は、端末装置２４１ｂに対して、当該マルチメディア情報の復号鍵を指定する応答を送信する（３１４）。
【０１５７】
端末装置２４１ｂは、応答を受信すると、当該応答に指定される復号鍵を用いて暗号化情報からマルチメディア情報を復号し、これをプレイヤーに提示する（３１５）。
【０１５８】
この段階で、当該マルチメディア情報は、正当に解禁されたことになる。
【０１５９】
さらにこの後、他の端末装置２４１ｃから当該要求を送信した場合（３２１）、サーバ装置２２１は、当該要求に指定される識別名のマルチメディア情報は、既にいずれかのプレイヤーにも提示しており、解禁されている旨を検知する（３２２）。
【０１６０】
すると、サーバ装置２２１は、直ちに、当該復号鍵を指定する応答を端末装置２４１ｃに送信する（３２４）。
【０１６１】
端末装置２４１ｃは、応答を受信すると、当該応答に指定される復号鍵を用いて暗号化情報からマルチメディア情報を復号し、これをプレイヤーに提示する（３２５）。
【０１６２】
なお、ここまでの説明では、理解を容易にするため、ゲームのエンディングテロップのマルチメディア情報を想定していたが、ゲーム内で提示されるすべてのマルチメディア情報について、同様の処理が必要なように設定することができる。
【０１６３】
このほか、ゲーム内で頻繁に取得されるありふれたアイテムの画像情報については暗号化せず、稀にしか入手できないレアアイテムの画像情報については、上記の手順と同様に暗号化しておく、という態様もありうる。
【０１６４】
本発明においては、一旦マルチメディア情報が解禁された後は、サーバ装置２２１は、プレイヤーが正当にゲームをクリアしたか否かを判定せずに、その暗号鍵を直ちに端末装置２４１に知らせる点に特徴がある。
【０１６５】
一般に、ゲームの進行に不正があるか否かを判定するにはかなりの計算を必要とする。上記のような態様を採用することで、サーバ装置２２１は、マルチメディア情報の提示をいずれかのプレイヤーが初めて正当に受けるまでは、不正チェックを行う一方で、一旦そのマルチメディア情報が解禁された後は、チェックを省略して、サーバ装置２２１の計算負荷を抑制することができる。
【０１６６】
また、プレイヤー同士が端末装置２４１を用いてチャット等ができる場合には、自身が入手したレアアイテムを相手に見せたい場合もある。このような場合には、レアアイテムを入手できてはいないプレイヤーの端末装置２４１であっても、当該レアアイテムの画像をモニター画面に表示しなければならない。
【０１６７】
本実施形態によれば、一旦解禁されたマルチメディア情報は、すべてのプレイヤーに提示可能となるため、プレイヤーが入手したことのないレアアイテムであっても、他のプレイヤーが正当に入手したことがあれば、その画像を閲覧させることが可能となるのである。
【０１６８】
なお、本実施形態では、各マルチメディア情報は、互いに異なる暗号鍵・復号鍵で暗号化されている。したがって、ある暗号化情報を不正に復号できたとしてもその他の暗号化情報は解読は困難である。このような態様を採用することで、不適切な時期にマルチメディア情報が流出するような事態を、できるだけ防止するのである。
【０１６９】
（暗号化の手法）
暗号化においては、
（ａ）マルチメディア情報を暗号化情報に暗号化する際に利用する暗号鍵、ならびに
（ｂ）暗号化情報をマルチメディア情報に復号する際に利用する復号鍵
をどのような組み合わせとするか、を考える必要がある。
【０１７０】
もっとも簡易な手法は、暗号鍵と復号鍵に同じものを用いる、いわゆる共通鍵暗号である。マルチメディア情報は、一般にサイズが大きい。したがって、高速な復号が可能なブロック暗号を適用するのが好適である。
【０１７１】
すなわち、あるビット数の共通鍵が与えられれば、マルチメディア情報を暗号化することも、暗号化情報を復号することも、いずれも可能となるものである。広く知られている暗号規格では、６４ビットの鍵、１２８ビットの鍵、２５６ビットの鍵を使うものなど、種々の暗号標準が提案されている。本発明においても、これらの技術、たとえばＤＥＳ（Data Encryption Standard）暗号やＡＥＳ（Advanced Encryption Standard）暗号等を適用することができる。
【０１７２】
このほか、公開鍵暗号の技術を利用する手法や、ストリーム暗号の技術を利用する手法など、種々の態様を採用することも可能である。
【０１７３】
ゲームの制作時には、ゲーム制作者が、各マルチメディア情報ごとにランダムに暗号鍵・復号鍵を生成して、暗号化情報を生成することになる。暗号化情報は、ＤＶＤ−ＲＯＭ等に記録されて、プレイヤーに提供され、端末装置２４１で参照される。
【０１７４】
一方、各マルチメディア情報（ならびに暗号化情報）に対する復号鍵は、サーバ装置２２１で管理される。
【０１７５】
このように、本実施形態では、マルチメディア情報ごとに、できるだけ、互いに異なる復号鍵を利用するとともに、鍵の管理をサーバ装置２２１に任せることで、リバースエンジニアリングを抑制し、情報流出を防ぐこととしている。
【０１７６】
上記のように、ブロック暗号を利用する場合には、所定ビット長の暗号鍵・復号鍵を生成する必要がある。これらの鍵は、ランダムに生成されることが望ましい。
【０１７７】
最も単純には、擬似乱数列を発生させて、先頭から順に所定ビット数ずつ取り出し、各マルチメディア情報に暗号鍵・復号鍵として割り当てる、という手法が考えられる。この場合には、サーバ装置２２１では、いずれのマルチメディア情報に対する復号鍵はいずれであるか、を、個々に対応付けてデータベース等に記録しておく必要がある。
【０１７８】
しかしながら、以下のような態様を採用すれば、サーバ装置２２１において、マルチメディア情報ごとに復号鍵を管理しないことが可能である。
【０１７９】
すなわち、あるマルチメディア情報に対する暗号鍵・復号鍵は、そのマルチメディア情報の識別名、たとえば、リソース番号やファイル名などから、一意に定められる数値を種として生成される擬似乱数列とするものである。
【０１８０】
上記の態様では、単に擬似乱数列を生成させていたが、本発明では、擬似乱数列を生成させる際の種を、マルチメディア情報の識別名としている。一般的な擬似乱数生成アルゴリズムでは、種が異なれば、得られる擬似乱数列も異なることが、極めて高い確率で期待できる。したがって、マルチメディア情報の識別名が異なれば、復号鍵も異なることになるのである。
【０１８１】
リソース番号を利用する場合には、その数値をそのまま疑似乱数列を生成する際の種とすれば良い。また、ファイル名などの文字列を利用する場合には、当該文字列に適当なハッシュ関数を適用して数値化し、これを種とする。
【０１８２】
このようにして、マルチメディア情報の識別名から擬似乱数列が得られたら、その先頭から必要なビット数を取り出せば、暗号鍵・復号鍵が得られるのである。
【０１８３】
この態様では、サーバ装置２２１においては、復号鍵を直接管理する必要はない。サーバ装置２２１においては、各マルチメディア情報の識別名と、当該マルチメディア情報が解禁済か否かを表すフラグ情報と、を対応付けて管理するデータベースのみを用意すれば良いことになる。
【０１８４】
なお、公開鍵暗号やストリーム暗号を利用する場合には、上記のようにして生成される乱数列を秘密鍵とすれば良い。
【０１８５】
以下、サーバ装置と端末装置について、さらに詳細に説明する。
【０１８６】
（サーバ装置）
図４は、本実施形態に係るサーバ装置２２１の概要構成を示す模式図である。以下、まず、各部の機能について、本図を参照して説明し、その後に、サーバ装置２２１にて実行されるサービス処理について説明する。
【０１８７】
サーバ装置２２１は、各種の情報処理装置１００により実装されるサーバ用コンピュータにおいて、ＣＰＵ  １０１が、サーバ用プログラムを実行することによって実現される。
【０１８８】
本図に示すように、サーバ装置２２１は、要求受信部４０１、決定部４０２、鍵取得部４０３、応答送信部４０４を備える。
【０１８９】
ここで要求受信部４０１は、複数の端末装置のいずれかから送信された要求を受信する。
【０１９０】
上記のように、サーバ装置２２１は、ゲームにおいてプレイヤーに提示されるマルチメディア情報を暗号化した暗号化情報を復号するための復号鍵を管理する。要求受信部４０１は、端末装置から送信されたある暗号化情報を復号したい旨の要求を受信する。
【０１９１】
したがって、ＣＰＵ  １０１の制御の下、ＮＩＣ  １０９が動作することによって、要求受信部４０１が実現される。
【０１９２】
さらに、決定部４０２は、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【０１９３】
上記のように、ゲームが発売された直後は、いずれのプレイヤーも、そのゲームのエンディング・テロップを視聴していない。また、プレイヤーがめったに遭遇することがないアイテム、いわゆるレアアイテムも、いずれのプレイヤーにも提示されていない。
【０１９４】
したがって、ゲームが発売された直後は、ほとんどのマルチメディア情報は、いずれのプレイヤーにも提示されていないことになる。
【０１９５】
一方、ゲームの発売から時間が経過して、各プレイヤーがゲームを進行させていくと、一部のプレイヤーがゲームのエンディングを迎えたり、レアアイテムを獲得したりする。すると、エンディング・テロップの動画像や音声、レアアイテムの静止画像等のマルチメディア情報は、当該プレイヤーに提示されることになる。
【０１９６】
したがって、サーバ装置２２１は、各マルチメディア情報ごとに、そのマルチメディア情報を視聴したプレイヤーが一人でも生じたか、それとも、一人もいないか、を、管理するのである。この管理は、サーバ装置２２１が備えるハードディスク等に情報を記憶することで行われる。
【０１９７】
決定部４０２は、要求を送信してきた端末装置のプレイヤーが、「マルチメディア情報を視聴する権利」を正当に得たのか、それとも、リバースエンジニアリングなどの技術を利用して、不正に復号鍵を得ようとしているのか、を識別し、その結果に基づいて、マルチメディア情報を提供するか否かを決定する。
【０１９８】
この決定の際には、ゲームの進行の過程で、当該プレイヤーの端末装置から送信されたゲームの進行状況の情報と、サーバ内で管理される当該プレイヤーのゲームの進行状況の情報とを対比対照したり、ゲームが公開されてからの経過期間を考慮したり等、不正行為を検出するための種々の技術を適用することができる。
【０１９９】
上記のように、本実施形態においては、要求があるたびに、当該プレイヤーの行為に不正があるか否かを判断するのではない。いずれのプレイヤーも未だ視聴していないマルチメディア情報について要求があった場合にのみ、決定部４０２による決定が行われる点に特徴の一つがある。
【０２００】
したがって、決定部４０２は、ＣＰＵ  １０１が、プレイヤーのゲーム進行履歴等を記録したＨＤ  １２１等と共働することによって実現される。
【０２０１】
一方、鍵取得部４０３は、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部４０２により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、指定された識別名に対応付けられる復号鍵を取得する。
【０２０２】
上記のように、最も単純な実装では、各マルチメディア情報の識別名と、当該マルチメディア情報に対する暗号化情報を復号するための復号鍵と、を対応付けてデータベースに登録しておく。鍵取得部４０３は、このデータベースを検索することによって、復号鍵を取得する。
【０２０３】
なお、この際に、各マルチメディア情報の識別名に、当該マルチメディア情報をいずれかのプレイヤーに提示しても良いと過去に決定したか否かの解禁フラグ情報を、当該データベースにさらに登録しておくのが典型的である。
【０２０４】
すなわち、データベースに、
（ａ）マルチメディア情報の識別名と、
（ｂ）マルチメディア情報に対する暗号化情報を復号するための復号鍵と、
（ｃ）マルチメディア情報の解禁フラグ情報と、
を対応付けて記録する。
【０２０５】
この実装を採用した場合、決定部４０２が、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨を決定した場合には、決定部４０２が、当該解禁フラグ情報も更新する。
【０２０６】
このような構成を採用することで、データベースを参照すれば、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されているか否かを容易に判定することができる。
【０２０７】
なお、上記のように、鍵取得部４０３が、識別名を種として、所定のアルゴリズムにより生成される乱数を、復号鍵として取得し、複数の暗号化情報のそれぞれは、当該暗号化情報に対応付けられる識別名を種として、所定のアルゴリズムにより生成される乱数を復号鍵とするように、暗号化されるように構成することもできる。
【０２０８】
この形態では、復号鍵そのものをＨＤ  １２１等に記録するような管理は不要であり、各暗号化情報の復号鍵は、当該マルチメディア情報の識別名を種として所定のアルゴリズムにより乱数列を生成することで得られる。
【０２０９】
識別名としては、リソース番号やファイル名を利用することができるが、これらはコンピュータで処理可能な情報であるから、これらの情報は多倍長の整数と見ることも可能である。また、上記のような乱数生成アルゴリズムに対して種として整数を与えると、乱数列が得られる。
【０２１０】
そこで、識別名を種として得られる乱数列を、一定の長さだけ取得して、当該乱数列を、ブロック暗号の共通鍵とする。
【０２１１】
ゲームの制作者は、マルチメディア情報の識別名から暗号鍵を生成し、この暗号鍵を用いてマルチメディア情報から暗号化情報を生成してＤＶＤ−ＲＯＭなどに記録し、プレイヤーに提供する。
【０２１２】
ブロック暗号を利用する場合には、暗号鍵と復号鍵とは一致するから、プレイヤーが利用する端末装置から要求があった場合には、同じ乱数生成アルゴリズムを用いてマルチメディア情報の識別名から復号鍵を生成すれば良い。
【０２１３】
この形態では、各マルチメディア情報ごとに復号鍵を管理する必要がなくなる一方で、各マルチメディア情報ごとの復号鍵のバリエーションを容易に増やすことができ、不正な解読行為などをできるだけ防止することができるようになる。
【０２１４】
したがって、ＣＰＵ  １０１は、上記データベースの情報が記憶されるＨＤ  １２１等と共働して、鍵取得部４０３として機能する。
【０２１５】
さらに、応答送信部４０４は、要求を送信した端末装置２４１に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【０２１６】
復号鍵がサーバ装置２２１から端末装置２４１に提供されるのは、端末装置２４１がその復号鍵を記憶しておらず、当該端末装置２４１のプレイヤーがその復号鍵を取得できる正当な権限を持っているか、いずれかのプレイヤーが過去にすでにその復号鍵を取得しており、その復号鍵が解禁されている場合に限られる。
【０２１７】
したがって、ＣＰＵ  １０１の制御の下、ＮＩＣ  １０９が、応答送信部４０４として機能する。
【０２１８】
図５は、サーバ装置２２１にて実行されるサービス処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０２１９】
なお、上記のように、情報処理装置１００の各部が、サーバ装置２２１の各部として機能するから、以下では、理解を容易にするため、各処理を実行する主体を、情報処理装置１００の各部であるものとして説明する。
【０２２０】
ＨＤ  １２１等に記録されたサーバ用プログラムがＲＡＭ  １０３等に読み出され、ＣＰＵ  １０１がこれの実行を開始することで、本サービス処理が開始される。
【０２２１】
サービス処理が開始されると、ＣＰＵ  １０１は、各種の初期化を行う（ステップＳ５０１）。ここで、具体的には、初期化の際に、以下のような処理が行われる。
（ａ）マルチメディア情報の識別名ならびにその解禁フラグを管理するデータベースの起動。以下、このデータベースを「解禁データベース」と呼ぶ。なお、復号鍵を個別に管理する態様では、「解禁データベース」に復号鍵を記録することとするのが典型的である。
（ｂ）プレイヤーごとのゲームの進行状況の管理するデータベースの起動。以下、このデータベースを「進行データベース」と呼ぶ。
【０２２２】
これらのデータベースについては、不揮発な記憶装置であるＨＤ  １２１にその情報が記憶されており、サーバ装置２２１がシャットダウンされた際にも、その情報は消去されたりしないものとするのが一般的である。
【０２２３】
ついで、ＣＰＵ  １０１は、ＮＩＣ  １０９を制御して、端末装置２４１から送信されるパケットの到着を待機する（ステップＳ５０２）。この待機の際には、コルーチン的に他のサーバ処理等を実行することが可能である。
【０２２４】
パケットが到着した旨を検知したら、ＣＰＵ  １０１は、ＮＩＣ  １０９を制御して、到着したパケットを受信し、そのパケットをＲＡＭ  １０３内に一時的に記憶する（ステップＳ５０３）。そして、パケットの種類を調べる（ステップＳ５０４）。
【０２２５】
パケットの種類が、端末装置２４１におけるプレイヤーのゲームの進行状況を指定する報告パケットである場合（ステップＳ５０４；報告）、当該報告パケットに指定された情報を、進行データベースに追加して（ステップＳ５０５）、ステップＳ５０２に戻る。
【０２２６】
後述するように、あるプレイヤーについて、進行データベースに記録されたゲームの進行状況の履歴を追跡することで、そのプレイヤーが正当にゲームをプレイしているのか、それとも、不正行為を行っているのか、を判定するのである。
【０２２７】
パケットの種類が、マルチメディア情報の識別名を指定する要求パケットである場合（ステップＳ５０４；要求）、ＣＰＵ  １０１は、当該識別名の解禁フラグを解禁データベースで検索し（ステップＳ５０６）、いずれかのプレイヤーに、すでに当該マルチメディア情報を提供したか否か、すなわち、当該マルチメディア情報や当該復号鍵が解禁されているか否かを調べる（ステップＳ５０７）。
【０２２８】
解禁されていない場合（ステップＳ５０７；Ｎｏ）、ＣＰＵ  １０１は、進行データベースにアクセスして、当該要求パケットを送信した端末装置２４１を利用するプレイヤーが、当該マルチメディア情報の提示を正当に受ける権利を有するか否か、すなわち、不正をしていないかしているか、を調べる（ステップＳ５０８）。
【０２２９】
当該プレイヤーが不正をしているとＣＰＵ  １０１が判断した場合（ステップＳ５０８；不正）、ＣＰＵ  １０１は、ＮＩＣ  １０９を制御して、復号鍵を教えることができない旨を指定する応答パケットを、端末装置２４１に送信してから（ステップＳ５０９）、ステップＳ５０２に戻る。
【０２３０】
なお、ステップＳ５０９の処理を省略して、直ちにステップＳ５０２に戻り、応答を送信しない態様を採用しても良い。この場合、端末装置２４１は、応答パケットの受信を待機する際に、タイムアウトが生じることによって、復号ができないことを知得することになる。
【０２３１】
一方、プレイヤーが正当にプレイをしているとＣＰＵ  １０１が判断した場合（ステップＳ５０８；正当）、もしくは、復号鍵が解禁されている場合（ステップＳ５０７；Ｙｅｓ）、ＣＰＵ  １０１は、当該識別名に対する復号鍵を取得する（ステップＳ５１０）。
【０２３２】
上記のように、復号鍵を解禁データベースで管理する場合には、ステップＳ５１０において、ＣＰＵ  １０１は復号鍵をデータベースから検索して取得する。
【０２３３】
一方、復号鍵が識別名から生成される場合には、ＣＰＵ  １０１は、所定の疑似乱数生成アルゴリズムに、当該識別名を種として与えることで、復号鍵を取得する。
【０２３４】
そして、ＣＰＵ  １０１は、ＮＩＣ  １０９を制御して、当該復号鍵を指定する応答パケットを端末装置２４１に送信する（ステップＳ５１１）。
【０２３５】
当該復号鍵を受信した端末装置２４１は、暗号化情報からマルチメディア情報を復号して、プレイヤーに提示することができる。
【０２３６】
この後、ＣＰＵ  １０１は、解禁データベースにおいて、当該マルチメディア情報の識別名の解禁フラグを「解禁済み」に更新し（ステップＳ５１２）、ステップＳ５０２に戻る。
【０２３７】
（端末装置）
図６は、本実施形態に係る端末装置２４１の概要構成を示す説明図である。以下、まず、各部の機能について、本図を参照して説明し、その後に、端末装置２４１にて実行される端末処理について説明する。
【０２３８】
本実施形態に係る端末装置２４１は、端末用コンピュータを実装する情報処理装置１００において、端末用プログラムを実行することにより、実現される。
【０２３９】
ここで、端末装置２４１は、情報記憶部６０１、鍵記憶部６０２、識別名取得部６０３、復号部６０４、情報提示部６０５、要求送信部６０６、応答受信部６０７、更新部６０８を備える。
【０２４０】
まず、情報記憶部６０１には、当該端末装置２４１を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される。
【０２４１】
情報記憶部６０１は、上記のように、本ゲームシステムにおけるゲームの制作者からプレイヤーに提供される情報を記録した各種の情報記録媒体、たとえば、ゲームのソフトウェアが記録されたＤＶＤ−ＲＯＭやＲＯＭカセット、ダウンロード販売されたソフトウェアが記録されたＨＤ  １２１等により実現される。したがって、情報記憶部６０１は、読出可能な情報が記憶できれば十分であり、情報の書き込みは必ずしもできる必要はない。
【０２４２】
マルチメディア情報としては、ゲームが進行するにつれてプレイヤーが獲得するであろうアイテムの画像や、プレイヤーが経験するであろうイベントやエンディング・テロップの動画像や音声など、種々のものを採用することができる。
【０２４３】
上記のように、本実施形態では、プレイヤーが入手可能なマルチメディア情報を暗号化した暗号化情報のみが提供されており、実際に視聴可能なマルチメディア情報は、復号鍵がなければ得ることができない。また、マルチメディア情報ならびにその暗号化情報の識別名としては、リソース番号やファイル名等が利用される。
【０２４４】
したがって、ＤＶＤ−ＲＯＭドライブ１０８に装着されたＤＶＤやＨＤ  １２１、その他ＲＯＭカセット等の情報記録媒体が、情報記憶部６０１として機能する。
【０２４５】
一方、鍵記憶部６０２は、識別名のいずれかと、復号鍵と、が対応付けて記憶される。
【０２４６】
すなわち、鍵記憶部６０２には、ある暗号化情報を復号するための復号鍵と、その暗号化済みのマルチメディア情報の識別名と、が対応付けて記憶されることとなる。
【０２４７】
本実施形態では、ゲームを購入して開始した当初は、鍵記憶部６０２には、復号鍵がまったく、あるいは、ゲーム当初にプレイヤーが直ちに聴取可能なものについてしか、記憶されていないものとする。
【０２４８】
すると、ゲームの開始当初は、ほとんどのマルチメディア情報は端末装置２４１だけでは復号ができない状態に置かれることになる。
【０２４９】
そして、ゲームが進行するにつれて、次第に復号鍵がサーバ装置２２１から取得され、鍵記憶部６０２に記録されることになる。
【０２５０】
このように、鍵記憶部６０２としては、書き込みや更新が可能な不揮発性の記憶装置を利用することとなる。したがって、本実施形態では、ＨＤ  １２１や外部メモリ１０６が、鍵記憶部６０２として機能する。
【０２５１】
さらに、識別名取得部６０３は、プレイヤーの操作ならびにゲームの進行に基づいて、プレイヤーに提示すべきマルチメディア情報の識別名を取得する。
【０２５２】
本発明におけるゲームの進行は、通常のゲームと同様に行われる。すなわち、端末装置２４１は、コントローラ１０５やキーボード、マウス、マイク１１１により得られる音声の音声認識、カメラにより撮影された画像に含まれるジェスチャーの画像認識などを利用して、プレイヤーからの操作を受け付ける。また、必要に応じて、サーバ装置２２１や、他の端末装置２４１からの指示を受け付ける。
【０２５３】
そして、端末装置２４１は、これらの操作や指示に基づいて、端末装置２４１に記憶されているゲームの状態を更新する。また、必要に応じて、そのゲームの状態のすべてもしくは一部をサーバ装置２２１や他の端末装置２４１に知らせる。
【０２５４】
さらに、現在のゲーム状態に応じて、プレイヤーに提示すべきアイテムの静止画像や、イベント提示に必要な動画像、音声などを記録したマルチメディア情報の識別名を、ゲームのプログラムやゲームのシナリオに基づいて、取得する。ここで、ゲームのシナリオ等のデータは、ＤＶＤ−ＲＯＭやＨＤ  １２１、ＲＯＭカセット等に記録されている。
【０２５５】
したがって、ＣＰＵ  １０１が、情報処理装置１００の各部、特に、ＤＶＤ−ＲＯＭやＨＤ  １２１、ＲＯＭカセット等と共働して、識別名取得部６０３として機能する。
【０２５６】
一方、復号部６０４は、取得された識別名に対応付けて鍵記憶部６０２に復号鍵が記憶されている場合、当該識別名に対応付けて情報記憶部６０１に記憶されている暗号化情報を、当該復号鍵により復号する。
【０２５７】
このように復号が可能なのは、当該端末装置２４１が、以前に復号鍵を獲得している場合のみである。リバース・エンジニアリングによって暗号化情報の復号のアルゴリズムが解読されてしまったとしても、復号鍵を何らかの手段で入手しなければ、暗号化情報からマルチメディア情報を直ちに復元することは不可能である。
【０２５８】
一方、ある識別名に対する復号鍵が既に取得済みであり、鍵記憶部６０２に記憶されている場合には、その識別名に対する暗号化情報を復号鍵で解読して、マルチメディア情報を復元することができる。
【０２５９】
上記のように、暗号化情報は、ＤＶＤ−ＲＯＭやＨＤ  １２１、ＲＯＭカセット等により実現される情報記憶部６０１に記憶されている。したがって、ＣＰＵ  １０１が、ＤＶＤ−ＲＯＭやＨＤ  １２１、ＲＯＭカセット等と共働して、復号部６０４として機能する。
【０２６０】
そして、情報提示部６０５は、復号されたマルチメディア情報を、プレイヤーに提示する。
【０２６１】
すなわち、アイテムの静止画像等は、適宜モニターの画面内の所定の領域に描画される。また、イベントやエンディング・テロップを表す動画像はモニターの画面に表示され、音声はスピーカやヘッドフォンなどから出力される。これらのマルチメディア情報の提供を受けて、プレイヤーは、さらにゲームを進行させようとするのである。
【０２６２】
したがって、ＣＰＵ  １０１の制御の下、画像処理部１０７や音声処理部１１０が動作して、モニター画面に画像を出力したり、スピーカやヘッドホンに音声を出力することにより、情報提示部６０５が実現される。
【０２６３】
さらに、要求送信部６０６は、取得された識別名に対応付けて鍵記憶部６０２に復号鍵が記憶されていない場合、サーバ装置２２１に、当該識別名を指定する要求を送信する。
【０２６４】
当該端末装置２４１が、暗号化情報を復号するための復号鍵をまだ獲得していない場合には、サーバに問い合わせを行うのである。
【０２６５】
したがって、ＣＰＵ  １０１の制御の下、ＮＩＣ  １０９が要求送信部６０６として機能する。
【０２６６】
このようにして要求が送信されると、上述のサービス処理におけるステップＳ５０２〜ステップＳ５１１が実行され、サーバ装置２２１から応答が送信されることになる。応答受信部６０７は、この応答を受信する。
【０２６７】
上記のように、プレイヤーが正当にゲームをプレイしている場合には、この応答には、サーバ装置２２１から送信された復号鍵が指定されている。
【０２６８】
したがって、ＣＰＵ  １０１の制御の下、ＮＩＣ  １０９が、応答受信部６０７として機能する。
【０２６９】
そして、更新部６０８は、送信された要求に指定された識別名と、当該要求に呼応して受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、鍵記憶部６０２を更新する。
【０２７０】
上記のように、要求が送信されるのは、鍵記憶部６０２に復号鍵が記憶されていない場合である。取得された復号鍵が更新部６０８によって鍵記憶部６０２に追加されると、復号部６０４が動作を開始するための条件が満たされる。
【０２７１】
すなわち、更新部６０８による更新を契機に、復号部６０４が暗号化情報からマルチメディア情報を復号し、情報提示部６０５が復号されたマルチメディア情報をプレイヤーに提示することとなる。
【０２７２】
したがって、ＣＰＵ  １０１が、ＨＤ  １２１や外部メモリ１０６等と共働して、更新部６０８として機能する。
【０２７３】
図７は、端末装置２４１にて実行される端末処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【０２７４】
なお、上記のように、情報処理装置１００の各部が、端末装置２４１の各部として機能するから、以下では、理解を容易にするため、各処理を実行する主体を、情報処理装置１００の各部であるものとして説明する。
【０２７５】
端末処理は、ＤＶＤ−ＲＯＭやＨＤ  １２１、ＲＯＭカセット等に記録された端末用プログラムをＲＡＭ  １０３に読み出して、ＣＰＵ  １０１が実行することを契機に開始される。なお、当該ＤＶＤ−ＲＯＭやＨＤ  １２１、ＲＯＭカセット等には、暗号化情報も記録されている。
【０２７６】
端末処理が開始されると、ＣＰＵ  １０１は、各種の初期化を行う（ステップＳ７０１）。この初期化には、たとえば、プレイヤーの名前を設定したり、プレイヤーのゲームの進行状況を外部メモリ１０６からＲＡＭ  １０３内にロードしたりする処理が含まれる。
【０２７７】
このほか、ＲＡＭ  １０３内には、一時的に記憶すべき各種の情報が記憶される。そこで、ＣＰＵ  １０１は、初期化の際に、当該情報が記憶される領域をクリアする。
【０２７８】
ついで、ＣＰＵ  １０１は、ＲＡＭ  １０３内に記録されるゲームの進行状況に基づいて、プレイヤーに提示すべき画像や音声を生成するのに必要なマルチメディア情報の識別名を取得する（ステップＳ７０２）。これらの識別名は、端末用プログラムの処理や、ＤＶＤ−ＲＯＭ等に記録されるシナリオなどの定義に基づいて、定められる。
【０２７９】
次に、ＣＰＵ  １０１は、ステップＳ７０２において取得されたマルチメディア情報の識別名のすべてについて、復号鍵が取得済みであるか否かを調べる（ステップＳ７０３）。
【０２８０】
すべてについて取得済みであれば（ステップＳ７０３；Ｙｅｓ）、当該マルチメディア情報をそれぞれの復号鍵で復号して（ステップＳ７０４）、プレイヤーに対して提示する（ステップＳ７０５）。
【０２８１】
なお、プレイヤーに静止画像を提示するには、垂直同期割込が生じるごとに、ＲＡＭ  １０３内に展開された静止画像をモニターに転送すれば良い。
【０２８２】
この際に、マルチメディア情報を適宜クリッピングしたり、ゲーム世界を構成する仮想空間内に配置されたオブジェクトの定義情報として利用したり等、マルチメディア情報に対して各種の変換や処理を行うことで、プレイヤーに提示する画像を得ることとするのが典型的である。
【０２８３】
動画像を提示するには、垂直同期割込が生じるごとに、動画の各コマをＲＡＭ  １０３内に展開して、これをモニターに展開する。これらの処理は、ＣＰＵ  １０１の制御の下、画像処理部１０７が、並列処理で実行するのが一般的である。
【０２８４】
また、プレイヤーに音声を提示するには、ＣＰＵ  １０１の制御の下、音声処理部１１０が、ＲＡＭ  １０３内に展開された音声情報をスピーカやヘッドホンに転送する。音声処理部１１０による処理も、並列に実行されるのが一般的である。
【０２８５】
ついで、ＣＰＵ  １０１は、コントローラ１０５等の操作状況を調べ（ステップＳ７０６）、他の端末装置２４１やサーバ装置２２１からゲームの進行に対する指示パケットが到着しているか否かを調べる（ステップＳ７０７）。指示パケットが到着していなければ（ステップＳ７０７；Ｎｏ）、ステップＳ７０９に進む。
【０２８６】
一方、指示パケットが到着していることが検知された場合（ステップＳ７０７；Ｙｅｓ）、指示パケットを受信してＲＡＭ  １０３内に展開する（ステップＳ７０８）。
【０２８７】
そして、時間の経過や、当該端末装置２４１のプレイヤーの操作の他、ステップＳ７０８において展開されている場合には、他の端末装置２４１やサーバ装置２２１からのゲームの進行に対する指示等に基づいて、ＲＡＭ  １０３内に記録されるゲームの進行状況を更新する（ステップＳ７０９）。
【０２８８】
さらに、必要があれば、当該ゲームの進行状況を指定する報告パケットをサーバ装置２２１に送信したり（ステップＳ７１０）、他の端末装置２４１にゲームに関する指示を指定する指示パケットを送信したりして（ステップＳ７１１）、ステップＳ７０２に戻る。なお、ステップＳ７１０、Ｓ７１１の処理は、ゲームの態様によっては省略が可能である。また、毎回報告パケットや指示パケットを送信するのではなく、適宜間引いて送信を行うのでも良い。
【０２８９】
一方、復号鍵が取得済みでないマルチメディア情報が存在する場合には（ステップＳ７０３；Ｎｏ）、当該識別名を指定する要求パケットをサーバ装置２２１に送信する（ステップＳ７１２）。
【０２９０】
そして、所定のタイムアウト時間が経過するまで、サーバ装置２２１から送信される応答パケットの受信を試行する（ステップＳ７１３）。そして、応答パケットが受信できた場合（ステップＳ７１４；受信）、当該応答パケットに復号鍵が指定されていれば（ステップＳ７１５；あり）、ＣＰＵ  １０１は、当該復号鍵と当該識別名とを対応付けて、ＨＤ  １２１や外部メモリ１０６に追加記憶する（ステップＳ７１６）。そして、ステップＳ７０４に進む。これによって、復号鍵が取得されるごとに、その内容が随時、鍵記憶部６０２に記録されることとなる。
【０２９１】
一方、応答パケットが受信できなかった場合（ステップＳ７１４；不達）や、受信できても復号鍵が指定されていなかった場合（ステップＳ７１５；なし）、マルチメディア情報の復元に失敗した旨を、モニター画面に表示したり、スピーカ等の音声出力してプレイヤーに警告した後（ステップＳ７１７）、ステップＳ７０６に戻る。
【０２９２】
上記のように、サーバ装置２２１において、決定部４０２がマルチメディア情報をプレイヤーに提供しない旨を決定した場合は、当該プレイヤーがリバースエンジニアリング等の不正行為を行っている可能性が高いと考えられる。
【０２９３】
このような場合に、サーバ装置２２１は、端末装置２４１に対して復号鍵を提供しない旨を表す応答を直ちに送信するという手法を採用しても良いし、端末装置２４１に対して、応答を送信しない、という手法を採用しても良い。
【０２９４】
端末装置２４１では、タイムアウト時間が経過しても応答パケットが受信できなかったり、応答パケットに復号鍵が指定されていなかった場合に、マルチメディア情報の復号鍵が取得できなかったことが判明する。
【０２９５】
特にタイムアウトを利用する場合には、各種のリバースエンジニアリングには、より時間と労力が必要となるので、各種のマルチメディア情報が不用意に流出してしまう危険性を、できるだけ抑制することができるようになる。
【０２９６】
このように、本発明においては、プレイヤーに提供されるゲームソフトウェアが記憶されたＤＶＤ−ＲＯＭやＲＯＭカセット、ダウンロード販売されたゲームソフトウェアが記録されたハードディスク等には、暗号化されたマルチメディア情報のみが記録される。したがって、これらの情報記録媒体と端末装置２４１のみでは、マルチメディア情報を復元することはできない。
【０２９７】
そして、復号鍵は、サーバ装置２２１にて管理され、端末装置２４１からの問い合わせに応じて、適切に提供される。端末装置２４１が入手した復号鍵は、識別名に対応付けて、ＨＤ  １２１やメモリカード１０５など、読み書きが可能な不揮発性の記憶装置に保存される。
【０２９８】
したがって、本実施形態では、各種の情報を種々の情報記録媒体や記憶装置に適切に記録、記憶することによって、ゲームソフトウェアの販売や提供を容易にしつつ、マルチメディア情報の解禁時期を適切に制御して、不用意な流出を抑制することができるようになる。
【０２９９】
なお、上記の説明では、理解を容易にするため、ゲーム内で提示されるすべてのマルチメディア情報が暗号化されているものとして説明したが、たとえば、イベント画像やレアアイテム画像、エンディングテロップ等、一部の情報についてのみ暗号化を適用し、頻繁に提示されるマルチメディア情報については、暗号化を施さない態様を採用することも可能である。
【実施例２】
【０３００】
上記の実施例では、端末装置２４１からの要求があってから、サーバ装置２２１が応答を返すデマンドドリブン型の形態を採用しているが、以下に述べるような、報知型の形態を採用しても良い。
【０３０１】
図８は、報知型の実施形態において、サーバ装置２２１と端末装置２４１とが通信して、復号鍵をやりとりする様子を示すセッション図である。以下、本図を参照して説明する。
【０３０２】
図３と同様に、端末装置２４１ａからサーバ装置２２１へ要求３０１が送信され、サーバ装置２２１が未提示を検知し（３０２）、不正と判断した場合（３０３）、サーバ装置２２１から端末装置２４１ａに送信される応答３０４には、復号鍵が提供できない旨が指定されて、警告が表示される（３０５）。
【０３０３】
ついで、端末装置２４１ｂからサーバ装置２２１へ要求３１１が送信され、サーバ装置２２１が未提示を検知し（３１２）、正当と判断した場合（３１３）、サーバ装置２２１から端末装置２４１ｂに送信される応答３０４には、復号鍵が指定されて、端末装置２４１ｂでは、復号ならびに情報の提示が行われる（３１５）。
【０３０４】
さらに、本実施形態では、この時点でサーバ装置２２１に通信可能に接続されている他の端末装置２４１ａ、２４１ｃに対しても、復号鍵を指定した報知８０１がされる。報知８０１には、対応するマルチメディア情報の識別名が指定されている。
【０３０５】
報知８０１を受信した他の端末装置２４１ａ、２４１ｃにおいては、当該報知８０１に指定された識別名を有するマルチメディア情報を、当該報知８０１に指定された復号鍵で復号する（８０５）。
【０３０６】
なお、本図には示していないが、報知８０１を送信できなかった端末装置２４１、すなわち、サーバ装置２２１が未提示を検知し（３１２）、正当と判断した時点（３１３）で、サーバ装置２２１に接続されていなかった端末装置２４１については、図３に示す態様と同様に、デマンドドリブンで復号鍵が提供されることとしても良いし、当該端末装置２４１がログインしてきた時点で報知８０１を送信することとしても良い。
【０３０７】
本実施形態では、デマンドドリブンで復号鍵を得るのではなく、先行して復号鍵をできるだけ多くの端末装置２４１に配布することで、端末装置２４１における復号処理の計算時間分だけ、ユーザの待ち時間を減らすことが可能となる。
【産業上の利用可能性】
【０３０８】
以上説明したように、本発明によれば、ゲーム内でプレイヤーに提示されるべきマルチメディア情報の、当該提示の解禁時期を適切に制御するのに好適なゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、これらをコンピュータにて実現するゲームシステム用プログラム、ならびに、サーバ用プログラムを提供することができる。
【符号の説明】
【０３０９】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  インターフェース
１０５  コントローラ
１０６  外部メモリ
１０７  画像処理部
１０８  ＤＶＤ−ＲＯＭドライブ
１０９  ＮＩＣ
１１０  音声処理部
１１１  マイク
１２１  ＨＤ
２０１  ゲームシステム
２２１  サーバ装置
２４１  端末装置
２６１  コンピュータ通信網
３０１  要求
３０２  検知
３０３  判断
３０４  応答
３０５  警告
３１１  要求
３１２  検知
３１３  判断
３１４  応答
３１５  復号・提示
３２１  要求
３２２  検知
３２３  判断
３２４  応答
３２５  復号・提示
６０１  情報記憶部
６０２  鍵記憶部
６０３  識別名取得部
６０４  復号部
６０５  情報提示部
６０６  要求送信部
６０７  応答受信部
６０８  更新部
８０１  報知
８０５  復号
【図１】
0005232197.tif 000002
【図２】
0005232197.tif 000003
【図３】
0005232197.tif 000004
【図４】
0005232197.tif 000005
【図５】
0005232197.tif 000006
【図６】
0005232197.tif 000007
【図７】
0005232197.tif 000008
【図８】
0005232197.tif 000009