説明

ゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、ゲームシステム用プログラム、ならびに、サーバ用プログラム

【課題】ゲーム内でプレイヤーに提示されるべきマルチメディア情報の提示の解禁時期を適切に制御するゲームシステム等をを提供する。
【解決手段】サーバ装置221は、端末装置241から送信された要求を受信(301,311,321)すると、当該要求に指定される識別名を持つマルチメディア情報を以前にプレイヤーに提示したことがあるか検知する(302,312,322)。提示したことがなければ、サーバ装置221は、そのプレイヤーがゲームを正しく進行させているか判定する(303,313)。正当と判断した場合(313)や以前にプレイヤーに提示したことがある場合(322)、サーバ装置221は、復号鍵を指定する応答を端末装置241に送信する(314,324)。端末装置241は、得た復号鍵で暗号化済情報からマルチメディア情報を復号して、プレイヤーに提示する(315,325)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム内でプレイヤーに提示されるべきマルチメディア情報の、当該提示の解禁時期を適切に制御するのに好適なゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、これらをコンピュータにて実現するゲームシステム用プログラム、ならびに、サーバ用プログラムに関する。
【背景技術】
【0002】
従来から、コンピュータ通信網を介してサーバ装置に通信可能に接続されたゲーム用の端末装置を利用したゲームシステムが提供されている。このような態様のゲームシステムにより、プレイヤー同士を対戦させたり協力させたりする通信ゲームのほか、各プレイヤーがそれぞれ独立して進行させるようなゲームが、各種提供されている。
【0003】
このようなゲームシステムにおいては、プレイヤーに提示されるゲームの静止画像や動画像、音声等、各種のマルチメディア情報は、あらかじめ端末装置側に用意されており、他の端末装置やサーバ装置からの指示、ゲームの進行の度合に応じて出力される(特許文献1参照)。
【0004】
これらのマルチメディア情報は、端末装置で読取可能なROM(Read Only Memory)カセットやDVD−ROM(Digital Versatile Disc ROM)などの情報記録媒体に記録されて販売されているほか、ネットワークを介してダウンロード販売され、端末装置が備えるハードディスクやメモリカード等の外部メモリに記録される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−305307号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、これらの情報記録媒体に記録されたマルチメディア情報がリバースエンジニアリングによって解析されてしまうと、ゲームが進行しなければプレイヤーに提供されることがないはずの画像や音声等も流出してしまう。
【0007】
特に、ゲームの発売時から時をおかずに、ゲームの各種イベントやエンディング・テロップなどの動画像や音声、ゲームを繰り返しプレイしないと入手できないために、どのプレイヤーもまだ入手していないはずのアイテムの静止画像などが流出してしまった場合には、ゲームそのものに対する意欲を減退させることにつながる。
【0008】
したがって、各種のマルチメディア情報を、DVD−ROMやROMカセットに記録して販売したり、ダウンロード販売した場合に、これらのマルチメディア情報が利用できるようになる時期を適切に管理したい、との要望は強い。
【0009】
本発明は、上記のような課題を解決するもので、ゲーム内でプレイヤーに提示されるべきマルチメディア情報の、当該提示の解禁時期を適切に制御するのに好適なゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、これらをコンピュータにて実現するゲームシステム用プログラム、ならびに、サーバ用プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0011】
本発明の第1の観点に係るゲームシステムは、複数の端末装置と、サーバ装置と、を備え、以下のように構成する。
【0012】
すなわち、複数の端末装置のそれぞれは、情報記憶部、鍵記憶部、識別名取得部、復号部、情報提示部、要求送信部、応答受信部、更新部を備える。
【0013】
一方、サーバ装置は、要求受信部、決定部、鍵取得部、応答送信部を備える。
【0014】
ここで、複数の端末装置のそれぞれにおいて、情報記憶部には、当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される。
【0015】
情報記憶部は、典型的には、本ゲームシステムにおけるゲームの制作者からプレイヤーに提供される情報を記録した各種の情報記録媒体、たとえば、ゲームのソフトウェアが記録されたDVD−ROMやROMカセット、ダウンロード販売されたソフトウェアが記録されたハードディスク等により実現される。したがって、情報記憶部は、読出可能な情報が記憶できれば十分であり、情報の書き込みは必ずしもできる必要はない。
【0016】
マルチメディア情報としては、ゲームが進行するにつれてプレイヤーが獲得するであろうアイテムの画像や、プレイヤーが経験するであろうイベントやエンディング・テロップの動画像や音声など、種々のものを採用することができる。
【0017】
本発明では、ゲーム開始時にプレイヤーが入手可能なマルチメディア情報は暗号化されており、実際に視聴可能なマルチメディア情報は、復号鍵がなければ得ることができない。
【0018】
マルチメディア情報ならびにその暗号化情報の識別名としては、リソース番号やファイル名などを利用することができる。
【0019】
一方、鍵記憶部は、識別名のいずれかと、復号鍵と、が対応付けて記憶される。
【0020】
すなわち、ある暗号化情報を復号するための復号鍵と、その暗号化済みのマルチメディア情報の識別名と、が対応付けて記憶されることとなる。
【0021】
ただし、本発明では、ゲーム開始当初は、鍵記憶部には、復号鍵がまったく、あるいは、ゲーム当初にプレイヤーが直ちに聴取可能なものについてしか、記憶されていないものとする。
【0022】
すると、ゲームの開始当初は、ほとんどのマルチメディア情報は暗号化されたままの状態となっており、端末装置だけでは復号ができない状態に置かれることになる。
【0023】
さらに、識別名取得部は、プレイヤーの操作ならびにゲームの進行に基づいて、プレイヤーに提示すべきマルチメディア情報の識別名を取得する。
【0024】
本発明におけるゲームの進行は、通常のゲームと同様に行われる。すなわち、端末装置は、コントローラやキーボード、マウス、音声認識、ジェスチャーの画像認識などを利用して、プレイヤーからの操作を受け付ける。また、必要に応じて、サーバ装置や、他の端末装置からの指示を受け付ける。
【0025】
そして、端末装置は、これらの操作や指示に基づいて、端末装置に記憶されているゲームの状態を更新する。また、必要に応じて、そのゲームの状態のすべてもしくは一部をサーバ装置や他の端末装置に知らせる。
【0026】
さらに、現在のゲーム状態に応じて、プレイヤーに提示すべきアイテムの静止画像や、イベント提示に必要な動画像、音声などを記録したマルチメディア情報の識別名を、ゲームのプログラムやゲームのシナリオに基づいて、取得する。
【0027】
一方、取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されている場合、復号部は、当該識別名に対応付けて情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する。
【0028】
このように、復号が可能なのは、当該端末装置が、以前に復号鍵を獲得している場合のみである。リバース・エンジニアリングによって暗号化情報の復号のアルゴリズムが解読されてしまったとしても、復号鍵を何らかの手段で入手しなければ、暗号化情報からマルチメディア情報を直ちに復元することは不可能である。
【0029】
そして、情報提示部は、復号されたマルチメディア情報を、プレイヤーに提示する。
【0030】
すなわち、アイテムの静止画像等は、適宜モニターの画面内の所定の領域に描画される。また、イベントやエンディング・テロップを表す動画像はモニターの画面に表示され、音声はスピーカやヘッドフォンなどから出力される。
【0031】
これらのマルチメディア情報の提供を受けて、プレイヤーは、さらにゲームを進行させようとするのである。
【0032】
さらに、取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されていない場合、要求送信部は、サーバ装置に、当該識別名を指定する要求を送信する。
【0033】
すなわち、当該端末装置が、暗号化情報を復号するための復号鍵をまだ獲得していない場合には、サーバに問い合わせを行うのである。
【0034】
一方、サーバ装置において、要求受信部は、複数の端末装置のいずれかから送信された要求を受信する。
【0035】
本発明におけるサーバ装置は、ゲームにおいてプレイヤーに提示されるマルチメディア情報を暗号化した暗号化情報を復号するための復号鍵を管理する。サーバ装置の要求受信部は、端末装置から送信されたある暗号化情報を復号したい旨の要求を受信する。
【0036】
さらに、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、決定部は、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【0037】
たとえば、ゲームが発売された直後は、いずれのプレイヤーも、そのゲームのエンディング・テロップを視聴していない。また、プレイヤーがめったに遭遇することがないアイテム、いわゆるレアアイテムも、いずれのプレイヤーにも提示されていない。
【0038】
したがって、ゲームが発売された直後は、ほとんどのマルチメディア情報は、いずれのプレイヤーにも提示されていないことになる。
【0039】
一方、ゲームの発売から時間が経過して、各プレイヤーがゲームを進行させていくと、一部のプレイヤーがゲームのエンディングを迎えたり、レアアイテムを獲得したりする。すると、エンディング・テロップの動画像や音声、レアアイテムの静止画像等のマルチメディア情報は、当該プレイヤーに提示されることになる。
【0040】
したがって、サーバ装置は、各マルチメディア情報ごとに、そのマルチメディア情報を視聴したプレイヤーが一人でも生じたか、それとも、一人もいないか、を、管理するのである。この管理は、サーバ装置が備えるハードディスク等に情報を記憶することで行われる。
【0041】
ここで、決定部は、要求を送信してきた端末装置のプレイヤーが、「マルチメディア情報を視聴する権利」を正当に得たのか、それとも、リバースエンジニアリングなどの技術を利用して、不正に復号鍵を得ようとしているのか、を識別し、その結果に基づいて、マルチメディア情報を提供するか否かを決定する。
【0042】
この決定の際には、ゲームの進行の過程で、当該プレイヤーの端末装置から送信されたゲームの進行状況の情報と、サーバ内で管理される当該プレイヤーのゲームの進行状況の情報とを対比対照したり、ゲームが公開されてからの経過期間を考慮したり等、不正行為を検出するための種々の技術を適用することができる。
【0043】
本発明においては、要求があるたびに、当該プレイヤーの行為に不正があるか否かを判断するのではない。いずれのプレイヤーも未だ視聴していないマルチメディア情報について要求があった場合にのみ、決定部による決定が行われる点に特徴の一つがある。
【0044】
そして、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、鍵取得部は、指定された識別名に対応付けられる復号鍵を取得する。
【0045】
最も単純な実装では、各マルチメディア情報の識別名と、当該マルチメディア情報に対する暗号化情報を復号するための復号鍵と、を対応付けてデータベースに登録しておく。鍵取得部は、このデータベースを検索することによって、復号鍵を取得する。
【0046】
なお、各マルチメディア情報の識別名に、当該マルチメディア情報をいずれかのプレイヤーに提示しても良いと過去に決定したか否かの解禁フラグ情報を、当該データベースにさらに登録しておくこととしても良い。
【0047】
この場合、決定部が、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨を決定した場合には、決定部が、当該解禁フラグ情報も更新する。
【0048】
このような構成を採用すると、データベースを参照すれば、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されているか否かを容易に判定することができる。
【0049】
そして、応答送信部は、要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【0050】
このように、復号鍵が端末装置に提供されるのは、端末装置がその復号鍵を記憶しておらず、当該端末装置のプレイヤーがその復号鍵を取得できる正当な権限を持っているか、いずれかのプレイヤーが過去にすでにその復号鍵を取得した場合に限られる。
【0051】
一方、複数の端末装置のそれぞれにおいて、応答受信部は、サーバ装置から送信された応答を受信する。
【0052】
上記のように、この応答には、サーバ装置から送信された復号鍵が指定されている。
【0053】
そして、更新部は、送信された要求に指定された識別名と、当該要求に呼応して受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、鍵記憶部を更新する。
【0054】
鍵記憶部が更新され、復号鍵が記憶されれば、復号部が動作を開始するための条件が満たされる。したがって、更新部による更新を契機に、復号部が暗号化情報からマルチメディア情報を復号し、情報提示部が復号されたマルチメディア情報をプレイヤーに提示する。
【0055】
本発明によれば、マルチメディア情報をプレイヤーに提示するか否かを適切に決定して、当該マルチメディア情報が不用意に流出することを防止できる一方で、当該決定を行わなければならない頻度をできるだけ抑制してサーバの計算負担を低減することができるようになる。
【0056】
また、本発明のゲームシステムは、以下のように構成することができる。すなわち、情報記憶部において、暗号化情報は、コンピュータ読取可能な情報記録媒体に記憶される。一方、鍵記憶部において、識別名と、復号鍵と、は、不揮発性記憶装置に記憶される。
【0057】
ここで、暗号化情報が記憶されるのは、典型的には、DVD−ROMやROMカセット、ダウンロード販売されたゲームソフトウェアが記録されたハードディスク等であり、少なくとも、コンピュータ読取可能であれば十分である。
【0058】
一方、識別名と復号鍵が記憶されるのは、ハードディスクや外部メモリなど、読み書きが可能な不揮発性の記憶装置である。
【0059】
本発明は、上記発明の好適実施形態に係るものであり、各種の情報を種々の情報記録媒体や記憶装置に適切に記録、記憶することによって、ゲームソフトウェアの販売や提供を容易にすることができる。
【0060】
また、本発明のゲームシステムにおいて、鍵取得部は、識別名を種として、所定のアルゴリズムにより生成される乱数を、復号鍵として取得し、複数の暗号化情報のそれぞれは、当該暗号化情報に対応付けられる識別名を種として、所定のアルゴリズムにより生成される乱数を復号鍵とするように、暗号化されるように構成することができる。
【0061】
上記の説明では、データベースに、
(a)マルチメディア情報の識別名と、
(b)マルチメディア情報に対する暗号化情報を復号するための復号鍵と、
(c)マルチメディア情報の解禁フラグ情報と、
を対応付けて記録することとしていたが、本発明は、復号鍵の管理を不要とするものである。
【0062】
すなわち、各暗号化情報の復号鍵は、当該マルチメディア情報の識別名を種として所定のアルゴリズムにより乱数列を生成することで得られるのである。
【0063】
上記のように、識別名としては、リソース番号やファイル名を利用することができるが、これらはコンピュータで処理可能な情報であるから、これらの情報は多倍長の整数と見ることも可能である。また、一般的な乱数生成アルゴリズムに対して種として整数を与えると、乱数列が得られる。
【0064】
そこで、識別名を種として得られる乱数列を、一定の長さだけ取得して、当該乱数列を、たとえばブロック暗号の共通鍵とする。
【0065】
ゲームの制作者は、マルチメディア情報の識別名から暗号鍵を生成し、この暗号鍵を用いてマルチメディア情報から暗号化情報を生成してDVD−ROMなどに記録し、プレイヤーに提供する。
【0066】
ブロック暗号を利用する場合には、暗号鍵と復号鍵とは一致するから、プレイヤーが利用する端末装置から要求があった場合には、同じ乱数生成アルゴリズムを用いてマルチメディア情報の識別名から復号鍵を生成すれば良い。
【0067】
本発明によれば、各マルチメディア情報ごとに復号鍵を管理する必要がなくなる一方で、各マルチメディア情報ごとの復号鍵のバリエーションを容易に増やすことができ、不正な解読行為などをできるだけ防止することができるようになる。
【0068】
また、本発明のゲームシステムにおいて、識別名を指定する要求が送信されてから所定の時間内に復号鍵を指定する応答が受信されなかった場合、提示部は、当該マルチメディア情報を復号できない旨の警告を、プレイヤーに提示するように構成することができる。
【0069】
決定部がマルチメディア情報をプレイヤーに提供しない旨を決定した場合は、当該プレイヤーがリバースエンジニアリング等の不正行為を行っている可能性が高いと考えられる。
【0070】
このような場合に、サーバ装置は、端末装置に対して復号鍵を提供しない旨を表す応答を直ちに送信するという手法もありうるが、本発明においては、端末装置に対して、応答を送信しない、という手法を採用する。
【0071】
この場合、端末装置では、タイムアウト時間が経過して初めて、マルチメディア情報の復号鍵が取得できなかったことが判明する。このため、各種の解析には、より時間と労力が必要となる。
【0072】
本発明によれば、リバースエンジニアリングによる解析を困難とすることで、各種のマルチメディア情報が不用意に流出してしまう危険性を、できるだけ抑制することができるようになる。
【0073】
本発明のその他の観点に係るサーバ装置は、上記のゲームシステムにおけるサーバ装置である。すなわち、サーバ装置は、複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現し、当該サーバ装置は、当該複数の端末装置と通信し、要求受信部、決定部、鍵取得部、応答送信部を備える。
【0074】
ここで、要求受信部は、複数の端末装置のいずれかから送信された要求であって、マルチメディア情報の識別名が指定された要求を受信する。
【0075】
一方、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、決定部は、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【0076】
さらに、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、鍵取得部は、指定された識別名に対応付けられる復号鍵を取得する。
【0077】
そして、応答送信部は、要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【0078】
本発明のその他の観点に係るゲーム制御方法は、複数の端末装置と、サーバ装置と、を備えるゲームシステムを制御する。
【0079】
ここで、複数の端末装置のそれぞれは、情報記憶部、鍵記憶部、識別名取得部、復号部、情報提示部、要求送信部、応答受信部、更新部を備える。
【0080】
ここで、情報記憶部には、当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される。
【0081】
一方、鍵記憶部には、識別名のいずれかと、復号鍵と、が対応付けて記憶される。
【0082】
さらに、サーバ装置は、要求受信部、決定部、鍵取得部、応答送信部を備える。
【0083】
ここで、本発明のゲーム制御方法は、識別名取得工程、復号工程、情報提示工程、要求送信工程、要求受信工程、決定工程、鍵取得工程、応答送信工程、応答受信工程、更新工程を備え、以下のように構成する。
【0084】
すなわち、複数の端末装置のそれぞれにおいて、識別名取得工程では、識別名取得部が、プレイヤーの操作ならびにゲームの進行に基づいて、プレイヤーに提示すべきマルチメディア情報の識別名を取得する。
【0085】
一方、復号工程では、復号部が、取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する。
【0086】
さらに、情報提示工程では、情報提示部が、復号されたマルチメディア情報を、プレイヤーに提示する。
【0087】
そして、要求送信工程では、要求送信部が、取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されていない場合、サーバ装置に、当該識別名を指定する要求を送信する。
【0088】
一方、サーバ装置において、要求受信工程では、要求受信部が、複数の端末装置のいずれかから送信された要求を受信する。
【0089】
さらに、決定工程では、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、決定部が、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【0090】
そして、鍵取得工程では、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、鍵取得部が、指定された識別名に対応付けられる復号鍵を取得する。
【0091】
一方、応答送信工程では、応答送信部が、要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【0092】
さらに、複数の端末装置のそれぞれにおいて、応答受信工程では、応答受信部が、サーバ装置から送信された応答を受信する。
【0093】
一方、更新工程では、更新部が、送信された要求に指定された識別名と、当該要求に呼応して受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、鍵記憶部を更新する。
【0094】
本発明のその他の観点に係るサービス方法は、上記のゲーム制御方法においてサーバ装置を制御するものであり、複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現する。
【0095】
ここで、当該サーバ装置は、当該複数の端末装置と通信し、要求受信部、決定部、鍵取得部、応答送信部を備える。
【0096】
一方、本発明のサービス方法は、要求受信工程、決定工程、鍵取得工程、応答送信工程を備え、以下のように構成する。
【0097】
すなわち、要求受信工程では、要求受信部が、複数の端末装置のいずれかから送信された要求であって、マルチメディア情報の識別名が指定された要求を受信する。
【0098】
一方、決定工程では、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、決定部が、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【0099】
さらに、鍵取得工程では、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、鍵取得部が、指定された識別名に対応付けられる復号鍵を取得する。
【0100】
そして、応答送信工程では、応答送信部が、要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【0101】
本発明のその他の観点に係るゲームシステム用プログラムは、複数の端末用コンピュータのそれぞれを端末装置として機能させる端末用プログラムと、サーバ用コンピュータをサーバ装置として機能させるサーバ用プログラムと、を備え、以下のように構成する。
【0102】
すなわち、端末用プログラムは、複数の端末用コンピュータのそれぞれを、
当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される情報記憶部、
識別名のいずれかと、復号鍵と、が対応付けて記憶される鍵記憶部、
プレイヤーの操作ならびにゲームの進行に基づいて、プレイヤーに提示すべきマルチメディア情報の識別名を取得する識別名取得部、
取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する復号部、
復号されたマルチメディア情報を、プレイヤーに提示する情報提示部、
取得された識別名に対応付けて鍵記憶部に復号鍵が記憶されていない場合、サーバ装置に、当該識別名を指定する要求を送信する要求送信部
として機能させる。
【0103】
一方、サーバ用プログラムは、サーバ用コンピュータを、
複数の端末装置のいずれかから送信された要求を受信する要求受信部、
受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する応答送信部
として機能させる。
【0104】
さらに、端末用プログラムは、複数の端末用コンピュータのそれぞれを、
サーバ装置から送信された応答を受信する応答受信部、
送信された要求に指定された識別名と、当該要求に呼応して受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、
鍵記憶部を更新する更新部
としてさらに機能させる。
【0105】
本発明のその他の観点に係るサーバ用プログラムは、上記のゲームシステム用プログラムにおけるサーバ用プログラムであって、サーバ用コンピュータを、複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現するためのサーバ装置として機能させる。
【0106】
ここで、サーバ用プログラムは、サーバ用コンピュータを、
複数の端末装置のいずれかから送信された要求を受信する要求受信部、
受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
要求を送信した端末装置に、当該要求に呼応して取得された復号鍵を指定する応答を送信する応答送信部
として機能させる。
【0107】
本発明の端末用プログラムと、サーバ用プログラムと、は、それぞれ独立して、もしくは、まとめて、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記録媒体に記録することができる。
【0108】
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記録媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【0109】
本発明によれば、ゲーム内でプレイヤーに提示されるべきマルチメディア情報の、当該提示の解禁時期を適切に制御するのに好適なゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、これらをコンピュータにて実現するゲームシステム用プログラム、ならびに、サーバ用プログラムを提供することができる。
【図面の簡単な説明】
【0110】
【図1】典型的な情報処理装置の概要構成を示す模式図である。
【図2】本発明の実施形態に係るゲームシステムの概要構成を示す説明図である。
【図3】サーバ装置と端末装置とが通信して、復号鍵をやりとりする様子を示すセッション図である。
【図4】本実施形態に係るサーバ装置の概要構成を示す模式図である。
【図5】サーバ装置にて実行されるサービス処理の制御の流れを示すフローチャートである。
【図6】本実施形態に係る端末装置の概要構成を示す説明図である。
【図7】端末装置にて実行される端末処理の制御の流れを示すフローチャートである。
【図8】サーバ装置と端末装置とが通信して、復号鍵をやりとりする様子を示すセッション図である。
【発明を実施するための形態】
【0111】
以下に本発明の実施形態を説明する。以下では、理解を容易にするため、ゲーム用の情報処理装置を利用して本発明が実現される実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例1】
【0112】
(情報処理装置)
図1は、プログラムを実行することにより、本発明の実施形態に係る端末装置の機能を果たす典型的な情報処理装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【0113】
情報処理装置100は、CPU(Central Processing Unit)101と、ROM 102と、RAM(Random Access Memory)103と、インターフェース104と、コントローラ105と、外部メモリ106と、画像処理部107と、DVD−ROM(Digital Versatile Disc ROM)ドライブ108と、NIC(Network Interface Card)109と、音声処理部110と、マイク111と、HD(Hard Disk)121を備える。
【0114】
ゲーム用のプログラムおよびデータを記憶したDVD−ROMをDVD−ROMドライブ108に装着して、情報処理装置100の電源を投入することにより、当該プログラムが実行され、本実施形態に係る装置が実現される。
【0115】
CPU 101は、情報処理装置100全体の動作を制御し、各構成要素と接続され制御信号やデータをやりとりする。また、CPU 101は、レジスタ(図示せず)という高速アクセスが可能な記憶域に対してALU(Arithmetic Logic Unit)(図示せず)を用いて加減乗除等の算術演算や、論理和、論理積、論理否定等の論理演算、ビット和、ビット積、ビット反転、ビットシフト、ビット回転等のビット演算などを行うことができる。さらに、マルチメディア処理対応のための加減乗除等の飽和演算や、三角関数等、ベクトル演算などを高速に行えるように、CPU 101自身が構成されているものや、コプロセッサを備えて実現するものがある。
【0116】
ROM 102には、電源投入直後に実行されるIPL(Initial Program Loader)が記録され、これが実行されることにより、DVD−ROMに記録されたプログラムをRAM 103に読み出してCPU 101による実行が開始される。また、ROM 102には、情報処理装置100全体の動作制御に必要なオペレーティングシステムのプログラムや各種のデータが記録される。
【0117】
RAM 103は、データやプログラムを一時的に記憶するためのもので、DVD−ROMから読み出したプログラムやデータ、その他ゲームの進行やチャット通信に必要なデータが保持される。また、CPU 101は、RAM 103に変数領域を設け、当該変数に格納された値に対して直接ALUを作用させて演算を行ったり、RAM 103に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をRAM 103に書き戻す、などの処理を行う。
【0118】
インターフェース104を介して接続されたコントローラ105は、ユーザがゲーム実行の際に行う操作入力を受け付ける。
【0119】
インターフェース104を介して着脱自在に接続された外部メモリ106には、ゲーム等のプレイ状況(過去の成績等)を示すデータ、ゲームの進行状態を示すデータ、ネットワーク対戦の場合のチャット通信のログ(記録)のデータなどが書き換え可能に記憶される。ユーザは、コントローラ105を介して指示入力を行うことにより、これらのデータを適宜外部メモリ106やHD 121に記録することができる。
【0120】
DVD−ROMドライブ108に装着されるDVD−ROMには、ゲームを実現するためのプログラムとゲームに付随する画像データや音声データが記録される。CPU 101の制御によって、DVD−ROMドライブ108は、これに装着されたDVD−ROMに対する読み出し処理を行って、必要なプログラムやデータを読み出し、これらはRAM 103等に一時的に記憶される。
【0121】
画像処理部107は、DVD−ROMから読み出されたデータをCPU 101や画像処理部107が備える画像演算プロセッサ(図示せず)によって加工処理した後、これを画像処理部107が備えるフレームメモリ(図示せず)に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され画像処理部107に接続されるモニタ(図示せず)へ出力される。これにより、各種の画像表示が可能となる。
【0122】
画像演算プロセッサは、2次元の画像の重ね合わせ演算やαブレンディング等の透過演算、各種の飽和演算を高速に実行できる。
【0123】
また、仮想空間が3次元にて構成される場合には、当該3次元空間内に配置され、各種のテクスチャ情報が付加されたポリゴン情報を、Zバッファ法によりレンダリングして、所定の視点位置から仮想空間に配置されたポリゴンを所定の視線の方向へ俯瞰したレンダリング画像を得る演算の高速実行も可能である。
【0124】
さらに、CPU 101と画像演算プロセッサが協調動作することにより、文字の形状を定義するフォント情報にしたがって、文字列を2次元画像としてフレームメモリへ描画したり、各ポリゴン表面へ描画することが可能である。
【0125】
NIC 109は、情報処理装置100をインターネット等のコンピュータ通信網(図示せず)に接続するためのものであり、LAN(Local Area Network)を構成する際に用いられる10BASE−T/100BASE−T規格にしたがうものや、電話回線を用いてインターネットに接続するためのアナログモデム、ISDN(Integrated Services Digital Network)モデム、ADSL(Asymmetric Digital Subscriber Line)モデム、ケーブルテレビジョン回線を用いてインターネットに接続するためのケーブルモデム等と、これらとCPU 101との仲立ちを行うインターフェース(図示せず)により構成される。
【0126】
NIC 109を介して、サーバ装置から、各種のプログラムをダウンロードし、HD 121にインストールする形態を採用することもできる。これらのプログラムは、CPU 101によって、適宜実行される。
【0127】
音声処理部110は、DVD−ROMから読み出した音声データをアナログ音声信号に変換し、これに接続されたスピーカ(図示せず)から出力させる。また、CPU 101の制御の下、ゲームの進行の中で発生させるべき効果音や楽曲データを生成し、これに対応した音声をスピーカから出力させる。
【0128】
音声処理部110では、DVD−ROMに記録された音声データがMIDIデータである場合には、これが有する音源データを参照して、MIDIデータをPCMデータに変換する。また、ADPCM形式やOgg Vorbis形式等の圧縮済音声データである場合には、これを展開してPCMデータに変換する。PCMデータは、そのサンプリング周波数に応じたタイミングでD/A(Digital/Analog)変換を行って、スピーカに出力することにより、音声出力が可能となる。
【0129】
さらに、情報処理装置100には、インターフェース104を介してマイク111を接続することができる。この場合、マイク111からのアナログ信号に対しては、適当なサンプリング周波数でA/D変換を行い、PCM形式のディジタル信号として、音声処理部110でのミキシング等の処理ができるようにする。
【0130】
このほか、情報処理装置100は、HD 121等の大容量外部記憶装置を用いて、ROM 102、RAM 103、外部メモリ106、DVD−ROMドライブ108に装着されるDVD−ROM等と同じ機能を果たすように構成してもよい。
【0131】
以上で説明した情報処理装置100は、いわゆる「コンシューマ向けテレビゲーム装置」に相当するものであるが、携帯電話、携帯ゲーム機器、カラオケ装置、一般的なビジネス用コンピュータなど、種々の計算機上で端末装置を実現することも可能である。
【0132】
さて、ネットワークゲームでは、ゲーム専用機ではなく一般的なコンピュータを利用することも多々ある。そこで以下では、注記しない限り、端末装置について、図1に示した情報処理装置100により説明を加える。これらは必要に応じて、適宜、一般的なコンピュータの要素に置換することができ、これらの実施形態も本発明の範囲に含まれる。
【0133】
また、サーバ装置は、一般的なコンピュータ上に実現されるが、情報処理装置100をサーバ装置として利用することも可能である。また、情報処理装置100と一般的なコンピュータとは、その構成や機能に大きな相違はない。そこで、以下の説明では、一般的なコンピュータと情報処理装置100とを同じように扱って説明する。
【0134】
ここで、一般的なコンピュータは、上記情報処理装置100と同様に、CPU、RAM、ROM、DVD−ROMドライブ、および、NICを備え、情報処理装置100よりも簡易な機能を備えた画像処理部を備え、外部記憶装置としてフレキシブルディスク、光磁気ディスク、磁気テープ等が利用できるようになっていることが多い。また、コントローラ105ではなく、キーボードやマウスなどを入力装置として利用することも多い。
【0135】
以下では、まず、このような情報処理装置100が所定のプログラムを実行することにより実現される端末装置ならびにサーバ装置からなるゲームシステムの概要を説明し、ついで、暗号化の手法について説明し、その後に、サーバ装置、端末装置のそれぞれの詳細について説明する。
【0136】
(ゲームシステム)
図2は、本発明の実施形態に係るゲームシステムの概要構成を示す説明図である。以下、本図を参照して説明する。
【0137】
本図に示すように、ゲームシステム201は、サーバ装置221と、複数の端末装置241と、が、インターネット等のコンピュータ通信網261を介して通信可能に接続されることによって実現される。
【0138】
端末装置241のユーザは、ゲームシステム201において提供されるゲーム用のソフトウェアを、DVD−ROMやROMカセット等の情報記録媒体を購入することにより、あるいは、ダウンロード販売によって入手してHD 121にインストールすることにより、用意する。
【0139】
ここで実現されるゲームは、端末装置241のプレイヤー単独でゲームが進行するもの、サーバ装置221により紹介された端末装置241同士がピアツーピアで通信し対戦を行うもの、端末装置241のプレイヤーが協力してサーバ装置221の制御の下で進行するもの等、種々の態様を採用することができる。
【0140】
端末装置241では、その端末装置241のプレイヤーからの操作を受け付け、必要に応じて他の端末装置241やサーバ装置221からの指示を参照してゲームを進行させ、ゲームの状態を管理する。端末装置241で管理されるゲームの状態の一部または全部は、適宜サーバ装置221に送信され、サーバ装置221でも履歴が保存される。
【0141】
各プレイヤーのゲームの進行状況をサーバ装置221で管理することによって、プレイヤーが正しくゲームを進めているか、それともリバースエンジニアリング等の手法により、不正にゲームをプレイしようとしているのか、を、サーバ装置221で判断できるようにする。
【0142】
端末装置241において、ゲームの進行に応じた静止画像や動画像、音声などを出力しようとした場合、これらのマルチメディア情報をDVD−ROMやROMカセット、HD 121等から読み出す必要があるが、本発明においては、ゲーム用ソフトウェアには、マルチメディア情報そのものが含まれるのではない。購入直後のゲーム用ソフトウェアには、マルチメディア情報を暗号化した暗号化情報のみが含まれている。
【0143】
したがって、端末装置241がこれらのマルチメディア情報をプレイヤーに提示しようとする際には、暗号化情報を復号するための復号鍵を入手する必要がある。
【0144】
図3は、サーバ装置221と端末装置241とが通信して、復号鍵をやりとりする様子を示すセッション図である。以下、本図を参照して説明する。
【0145】
まず、端末装置241aにおいて、プレイヤーがゲームのセーブファイルを不正に書き換えて、ゲームの進行状況を変化させ、ゲームの発売直後であるにもかかわらず、エンディングテロップの動画像や音声等のマルチメディア情報を入手しようとした場合を考える。
【0146】
すると、端末装置241aからサーバ装置221へ、当該マルチメディア情報の識別名を指定する要求が送信される(301)。ここで、マルチメディア情報の識別名としては、リソース番号やファイル名などを利用するのが典型的である。
【0147】
さて、当該ゲームは発売直後であるから、エンディングテロップの動画像や音声等は、いずれのプレイヤーにも提示されていない。
【0148】
したがって、要求を受信したサーバ装置221は、当該要求に指定される識別名のマルチメディア情報は、いずれのプレイヤーにも提示していない旨を検知する(302)。すると、サーバ装置221は、当該端末装置241aのプレイヤーが正しくゲームを進行させているか否かを判断する(303)。
【0149】
上記のように、サーバ装置221と端末装置241とは、プレイヤーごとに、ゲームの進行状況を同期するように管理している。したがって、サーバ装置221は、セーブファイルが書き換えられたものと判断する。
【0150】
すると、サーバ装置221は、当該要求(301)に呼応して、端末装置241aに、何の応答も送信しないか、もしくは、復号鍵は提供できない旨を指定する応答を送信する(304)。なお、本図では、応答が送信されない態様も考慮して、当該応答の通信(304)の様子は点線で表記している。
【0151】
さて、不正に要求を送信した端末装置241aは、応答が受信されない、もしくは、復号鍵は提供できない旨の応答が受信されたことを画面に表示して、プレイヤーに警告をする(305)。
【0152】
これによって、ゲームの進行に対する不正行為を抑止するとともに、マルチメディア情報が不適切な時期に流出するのをできるだけ防止する。
【0153】
さて、この後、端末装置241bのプレイヤーが、着実にゲームを進行させて、全プレイヤーの中で初めてクリアし、エンディングテロップを見ることができる状況になったものとする。
【0154】
すると、端末装置241bからサーバ装置221へ、エンディングテロップに係るマルチメディア情報の識別名を指定する要求が送信される(311)。
【0155】
要求を受信したサーバ装置221は、当該要求に指定される識別名のマルチメディア情報は、いずれのプレイヤーにも提示していない旨を検知する(312)。そして、サーバ装置221は、当該端末装置241bのプレイヤーが正しくゲームを進行させているか否かを判断する(313)。
【0156】
その結果、サーバ装置221は、当該端末装置241bのプレイヤーが正当にゲームをクリアしたという結論を得ると、サーバ装置221は、端末装置241bに対して、当該マルチメディア情報の復号鍵を指定する応答を送信する(314)。
【0157】
端末装置241bは、応答を受信すると、当該応答に指定される復号鍵を用いて暗号化情報からマルチメディア情報を復号し、これをプレイヤーに提示する(315)。
【0158】
この段階で、当該マルチメディア情報は、正当に解禁されたことになる。
【0159】
さらにこの後、他の端末装置241cから当該要求を送信した場合(321)、サーバ装置221は、当該要求に指定される識別名のマルチメディア情報は、既にいずれかのプレイヤーにも提示しており、解禁されている旨を検知する(322)。
【0160】
すると、サーバ装置221は、直ちに、当該復号鍵を指定する応答を端末装置241cに送信する(324)。
【0161】
端末装置241cは、応答を受信すると、当該応答に指定される復号鍵を用いて暗号化情報からマルチメディア情報を復号し、これをプレイヤーに提示する(325)。
【0162】
なお、ここまでの説明では、理解を容易にするため、ゲームのエンディングテロップのマルチメディア情報を想定していたが、ゲーム内で提示されるすべてのマルチメディア情報について、同様の処理が必要なように設定することができる。
【0163】
このほか、ゲーム内で頻繁に取得されるありふれたアイテムの画像情報については暗号化せず、稀にしか入手できないレアアイテムの画像情報については、上記の手順と同様に暗号化しておく、という態様もありうる。
【0164】
本発明においては、一旦マルチメディア情報が解禁された後は、サーバ装置221は、プレイヤーが正当にゲームをクリアしたか否かを判定せずに、その暗号鍵を直ちに端末装置241に知らせる点に特徴がある。
【0165】
一般に、ゲームの進行に不正があるか否かを判定するにはかなりの計算を必要とする。上記のような態様を採用することで、サーバ装置221は、マルチメディア情報の提示をいずれかのプレイヤーが初めて正当に受けるまでは、不正チェックを行う一方で、一旦そのマルチメディア情報が解禁された後は、チェックを省略して、サーバ装置221の計算負荷を抑制することができる。
【0166】
また、プレイヤー同士が端末装置241を用いてチャット等ができる場合には、自身が入手したレアアイテムを相手に見せたい場合もある。このような場合には、レアアイテムを入手できてはいないプレイヤーの端末装置241であっても、当該レアアイテムの画像をモニター画面に表示しなければならない。
【0167】
本実施形態によれば、一旦解禁されたマルチメディア情報は、すべてのプレイヤーに提示可能となるため、プレイヤーが入手したことのないレアアイテムであっても、他のプレイヤーが正当に入手したことがあれば、その画像を閲覧させることが可能となるのである。
【0168】
なお、本実施形態では、各マルチメディア情報は、互いに異なる暗号鍵・復号鍵で暗号化されている。したがって、ある暗号化情報を不正に復号できたとしてもその他の暗号化情報は解読は困難である。このような態様を採用することで、不適切な時期にマルチメディア情報が流出するような事態を、できるだけ防止するのである。
【0169】
(暗号化の手法)
暗号化においては、
(a)マルチメディア情報を暗号化情報に暗号化する際に利用する暗号鍵、ならびに
(b)暗号化情報をマルチメディア情報に復号する際に利用する復号鍵
をどのような組み合わせとするか、を考える必要がある。
【0170】
もっとも簡易な手法は、暗号鍵と復号鍵に同じものを用いる、いわゆる共通鍵暗号である。マルチメディア情報は、一般にサイズが大きい。したがって、高速な復号が可能なブロック暗号を適用するのが好適である。
【0171】
すなわち、あるビット数の共通鍵が与えられれば、マルチメディア情報を暗号化することも、暗号化情報を復号することも、いずれも可能となるものである。広く知られている暗号規格では、64ビットの鍵、128ビットの鍵、256ビットの鍵を使うものなど、種々の暗号標準が提案されている。本発明においても、これらの技術、たとえばDES(Data Encryption Standard)暗号やAES(Advanced Encryption Standard)暗号等を適用することができる。
【0172】
このほか、公開鍵暗号の技術を利用する手法や、ストリーム暗号の技術を利用する手法など、種々の態様を採用することも可能である。
【0173】
ゲームの制作時には、ゲーム制作者が、各マルチメディア情報ごとにランダムに暗号鍵・復号鍵を生成して、暗号化情報を生成することになる。暗号化情報は、DVD−ROM等に記録されて、プレイヤーに提供され、端末装置241で参照される。
【0174】
一方、各マルチメディア情報(ならびに暗号化情報)に対する復号鍵は、サーバ装置221で管理される。
【0175】
このように、本実施形態では、マルチメディア情報ごとに、できるだけ、互いに異なる復号鍵を利用するとともに、鍵の管理をサーバ装置221に任せることで、リバースエンジニアリングを抑制し、情報流出を防ぐこととしている。
【0176】
上記のように、ブロック暗号を利用する場合には、所定ビット長の暗号鍵・復号鍵を生成する必要がある。これらの鍵は、ランダムに生成されることが望ましい。
【0177】
最も単純には、擬似乱数列を発生させて、先頭から順に所定ビット数ずつ取り出し、各マルチメディア情報に暗号鍵・復号鍵として割り当てる、という手法が考えられる。この場合には、サーバ装置221では、いずれのマルチメディア情報に対する復号鍵はいずれであるか、を、個々に対応付けてデータベース等に記録しておく必要がある。
【0178】
しかしながら、以下のような態様を採用すれば、サーバ装置221において、マルチメディア情報ごとに復号鍵を管理しないことが可能である。
【0179】
すなわち、あるマルチメディア情報に対する暗号鍵・復号鍵は、そのマルチメディア情報の識別名、たとえば、リソース番号やファイル名などから、一意に定められる数値を種として生成される擬似乱数列とするものである。
【0180】
上記の態様では、単に擬似乱数列を生成させていたが、本発明では、擬似乱数列を生成させる際の種を、マルチメディア情報の識別名としている。一般的な擬似乱数生成アルゴリズムでは、種が異なれば、得られる擬似乱数列も異なることが、極めて高い確率で期待できる。したがって、マルチメディア情報の識別名が異なれば、復号鍵も異なることになるのである。
【0181】
リソース番号を利用する場合には、その数値をそのまま疑似乱数列を生成する際の種とすれば良い。また、ファイル名などの文字列を利用する場合には、当該文字列に適当なハッシュ関数を適用して数値化し、これを種とする。
【0182】
このようにして、マルチメディア情報の識別名から擬似乱数列が得られたら、その先頭から必要なビット数を取り出せば、暗号鍵・復号鍵が得られるのである。
【0183】
この態様では、サーバ装置221においては、復号鍵を直接管理する必要はない。サーバ装置221においては、各マルチメディア情報の識別名と、当該マルチメディア情報が解禁済か否かを表すフラグ情報と、を対応付けて管理するデータベースのみを用意すれば良いことになる。
【0184】
なお、公開鍵暗号やストリーム暗号を利用する場合には、上記のようにして生成される乱数列を秘密鍵とすれば良い。
【0185】
以下、サーバ装置と端末装置について、さらに詳細に説明する。
【0186】
(サーバ装置)
図4は、本実施形態に係るサーバ装置221の概要構成を示す模式図である。以下、まず、各部の機能について、本図を参照して説明し、その後に、サーバ装置221にて実行されるサービス処理について説明する。
【0187】
サーバ装置221は、各種の情報処理装置100により実装されるサーバ用コンピュータにおいて、CPU 101が、サーバ用プログラムを実行することによって実現される。
【0188】
本図に示すように、サーバ装置221は、要求受信部401、決定部402、鍵取得部403、応答送信部404を備える。
【0189】
ここで要求受信部401は、複数の端末装置のいずれかから送信された要求を受信する。
【0190】
上記のように、サーバ装置221は、ゲームにおいてプレイヤーに提示されるマルチメディア情報を暗号化した暗号化情報を復号するための復号鍵を管理する。要求受信部401は、端末装置から送信されたある暗号化情報を復号したい旨の要求を受信する。
【0191】
したがって、CPU 101の制御の下、NIC 109が動作することによって、要求受信部401が実現される。
【0192】
さらに、決定部402は、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する。
【0193】
上記のように、ゲームが発売された直後は、いずれのプレイヤーも、そのゲームのエンディング・テロップを視聴していない。また、プレイヤーがめったに遭遇することがないアイテム、いわゆるレアアイテムも、いずれのプレイヤーにも提示されていない。
【0194】
したがって、ゲームが発売された直後は、ほとんどのマルチメディア情報は、いずれのプレイヤーにも提示されていないことになる。
【0195】
一方、ゲームの発売から時間が経過して、各プレイヤーがゲームを進行させていくと、一部のプレイヤーがゲームのエンディングを迎えたり、レアアイテムを獲得したりする。すると、エンディング・テロップの動画像や音声、レアアイテムの静止画像等のマルチメディア情報は、当該プレイヤーに提示されることになる。
【0196】
したがって、サーバ装置221は、各マルチメディア情報ごとに、そのマルチメディア情報を視聴したプレイヤーが一人でも生じたか、それとも、一人もいないか、を、管理するのである。この管理は、サーバ装置221が備えるハードディスク等に情報を記憶することで行われる。
【0197】
決定部402は、要求を送信してきた端末装置のプレイヤーが、「マルチメディア情報を視聴する権利」を正当に得たのか、それとも、リバースエンジニアリングなどの技術を利用して、不正に復号鍵を得ようとしているのか、を識別し、その結果に基づいて、マルチメディア情報を提供するか否かを決定する。
【0198】
この決定の際には、ゲームの進行の過程で、当該プレイヤーの端末装置から送信されたゲームの進行状況の情報と、サーバ内で管理される当該プレイヤーのゲームの進行状況の情報とを対比対照したり、ゲームが公開されてからの経過期間を考慮したり等、不正行為を検出するための種々の技術を適用することができる。
【0199】
上記のように、本実施形態においては、要求があるたびに、当該プレイヤーの行為に不正があるか否かを判断するのではない。いずれのプレイヤーも未だ視聴していないマルチメディア情報について要求があった場合にのみ、決定部402による決定が行われる点に特徴の一つがある。
【0200】
したがって、決定部402は、CPU 101が、プレイヤーのゲーム進行履歴等を記録したHD 121等と共働することによって実現される。
【0201】
一方、鍵取得部403は、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨が、決定部402により決定された場合、もしくは、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、指定された識別名に対応付けられる復号鍵を取得する。
【0202】
上記のように、最も単純な実装では、各マルチメディア情報の識別名と、当該マルチメディア情報に対する暗号化情報を復号するための復号鍵と、を対応付けてデータベースに登録しておく。鍵取得部403は、このデータベースを検索することによって、復号鍵を取得する。
【0203】
なお、この際に、各マルチメディア情報の識別名に、当該マルチメディア情報をいずれかのプレイヤーに提示しても良いと過去に決定したか否かの解禁フラグ情報を、当該データベースにさらに登録しておくのが典型的である。
【0204】
すなわち、データベースに、
(a)マルチメディア情報の識別名と、
(b)マルチメディア情報に対する暗号化情報を復号するための復号鍵と、
(c)マルチメディア情報の解禁フラグ情報と、
を対応付けて記録する。
【0205】
この実装を採用した場合、決定部402が、指定された識別名に係るマルチメディア情報をプレイヤーに提示する旨を決定した場合には、決定部402が、当該解禁フラグ情報も更新する。
【0206】
このような構成を採用することで、データベースを参照すれば、受信された要求に指定された識別名に係るマルチメディア情報が複数の端末装置を操作するプレイヤーのいずれかに既に提示されているか否かを容易に判定することができる。
【0207】
なお、上記のように、鍵取得部403が、識別名を種として、所定のアルゴリズムにより生成される乱数を、復号鍵として取得し、複数の暗号化情報のそれぞれは、当該暗号化情報に対応付けられる識別名を種として、所定のアルゴリズムにより生成される乱数を復号鍵とするように、暗号化されるように構成することもできる。
【0208】
この形態では、復号鍵そのものをHD 121等に記録するような管理は不要であり、各暗号化情報の復号鍵は、当該マルチメディア情報の識別名を種として所定のアルゴリズムにより乱数列を生成することで得られる。
【0209】
識別名としては、リソース番号やファイル名を利用することができるが、これらはコンピュータで処理可能な情報であるから、これらの情報は多倍長の整数と見ることも可能である。また、上記のような乱数生成アルゴリズムに対して種として整数を与えると、乱数列が得られる。
【0210】
そこで、識別名を種として得られる乱数列を、一定の長さだけ取得して、当該乱数列を、ブロック暗号の共通鍵とする。
【0211】
ゲームの制作者は、マルチメディア情報の識別名から暗号鍵を生成し、この暗号鍵を用いてマルチメディア情報から暗号化情報を生成してDVD−ROMなどに記録し、プレイヤーに提供する。
【0212】
ブロック暗号を利用する場合には、暗号鍵と復号鍵とは一致するから、プレイヤーが利用する端末装置から要求があった場合には、同じ乱数生成アルゴリズムを用いてマルチメディア情報の識別名から復号鍵を生成すれば良い。
【0213】
この形態では、各マルチメディア情報ごとに復号鍵を管理する必要がなくなる一方で、各マルチメディア情報ごとの復号鍵のバリエーションを容易に増やすことができ、不正な解読行為などをできるだけ防止することができるようになる。
【0214】
したがって、CPU 101は、上記データベースの情報が記憶されるHD 121等と共働して、鍵取得部403として機能する。
【0215】
さらに、応答送信部404は、要求を送信した端末装置241に、当該要求に呼応して取得された復号鍵を指定する応答を送信する。
【0216】
復号鍵がサーバ装置221から端末装置241に提供されるのは、端末装置241がその復号鍵を記憶しておらず、当該端末装置241のプレイヤーがその復号鍵を取得できる正当な権限を持っているか、いずれかのプレイヤーが過去にすでにその復号鍵を取得しており、その復号鍵が解禁されている場合に限られる。
【0217】
したがって、CPU 101の制御の下、NIC 109が、応答送信部404として機能する。
【0218】
図5は、サーバ装置221にて実行されるサービス処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0219】
なお、上記のように、情報処理装置100の各部が、サーバ装置221の各部として機能するから、以下では、理解を容易にするため、各処理を実行する主体を、情報処理装置100の各部であるものとして説明する。
【0220】
HD 121等に記録されたサーバ用プログラムがRAM 103等に読み出され、CPU 101がこれの実行を開始することで、本サービス処理が開始される。
【0221】
サービス処理が開始されると、CPU 101は、各種の初期化を行う(ステップS501)。ここで、具体的には、初期化の際に、以下のような処理が行われる。
(a)マルチメディア情報の識別名ならびにその解禁フラグを管理するデータベースの起動。以下、このデータベースを「解禁データベース」と呼ぶ。なお、復号鍵を個別に管理する態様では、「解禁データベース」に復号鍵を記録することとするのが典型的である。
(b)プレイヤーごとのゲームの進行状況の管理するデータベースの起動。以下、このデータベースを「進行データベース」と呼ぶ。
【0222】
これらのデータベースについては、不揮発な記憶装置であるHD 121にその情報が記憶されており、サーバ装置221がシャットダウンされた際にも、その情報は消去されたりしないものとするのが一般的である。
【0223】
ついで、CPU 101は、NIC 109を制御して、端末装置241から送信されるパケットの到着を待機する(ステップS502)。この待機の際には、コルーチン的に他のサーバ処理等を実行することが可能である。
【0224】
パケットが到着した旨を検知したら、CPU 101は、NIC 109を制御して、到着したパケットを受信し、そのパケットをRAM 103内に一時的に記憶する(ステップS503)。そして、パケットの種類を調べる(ステップS504)。
【0225】
パケットの種類が、端末装置241におけるプレイヤーのゲームの進行状況を指定する報告パケットである場合(ステップS504;報告)、当該報告パケットに指定された情報を、進行データベースに追加して(ステップS505)、ステップS502に戻る。
【0226】
後述するように、あるプレイヤーについて、進行データベースに記録されたゲームの進行状況の履歴を追跡することで、そのプレイヤーが正当にゲームをプレイしているのか、それとも、不正行為を行っているのか、を判定するのである。
【0227】
パケットの種類が、マルチメディア情報の識別名を指定する要求パケットである場合(ステップS504;要求)、CPU 101は、当該識別名の解禁フラグを解禁データベースで検索し(ステップS506)、いずれかのプレイヤーに、すでに当該マルチメディア情報を提供したか否か、すなわち、当該マルチメディア情報や当該復号鍵が解禁されているか否かを調べる(ステップS507)。
【0228】
解禁されていない場合(ステップS507;No)、CPU 101は、進行データベースにアクセスして、当該要求パケットを送信した端末装置241を利用するプレイヤーが、当該マルチメディア情報の提示を正当に受ける権利を有するか否か、すなわち、不正をしていないかしているか、を調べる(ステップS508)。
【0229】
当該プレイヤーが不正をしているとCPU 101が判断した場合(ステップS508;不正)、CPU 101は、NIC 109を制御して、復号鍵を教えることができない旨を指定する応答パケットを、端末装置241に送信してから(ステップS509)、ステップS502に戻る。
【0230】
なお、ステップS509の処理を省略して、直ちにステップS502に戻り、応答を送信しない態様を採用しても良い。この場合、端末装置241は、応答パケットの受信を待機する際に、タイムアウトが生じることによって、復号ができないことを知得することになる。
【0231】
一方、プレイヤーが正当にプレイをしているとCPU 101が判断した場合(ステップS508;正当)、もしくは、復号鍵が解禁されている場合(ステップS507;Yes)、CPU 101は、当該識別名に対する復号鍵を取得する(ステップS510)。
【0232】
上記のように、復号鍵を解禁データベースで管理する場合には、ステップS510において、CPU 101は復号鍵をデータベースから検索して取得する。
【0233】
一方、復号鍵が識別名から生成される場合には、CPU 101は、所定の疑似乱数生成アルゴリズムに、当該識別名を種として与えることで、復号鍵を取得する。
【0234】
そして、CPU 101は、NIC 109を制御して、当該復号鍵を指定する応答パケットを端末装置241に送信する(ステップS511)。
【0235】
当該復号鍵を受信した端末装置241は、暗号化情報からマルチメディア情報を復号して、プレイヤーに提示することができる。
【0236】
この後、CPU 101は、解禁データベースにおいて、当該マルチメディア情報の識別名の解禁フラグを「解禁済み」に更新し(ステップS512)、ステップS502に戻る。
【0237】
(端末装置)
図6は、本実施形態に係る端末装置241の概要構成を示す説明図である。以下、まず、各部の機能について、本図を参照して説明し、その後に、端末装置241にて実行される端末処理について説明する。
【0238】
本実施形態に係る端末装置241は、端末用コンピュータを実装する情報処理装置100において、端末用プログラムを実行することにより、実現される。
【0239】
ここで、端末装置241は、情報記憶部601、鍵記憶部602、識別名取得部603、復号部604、情報提示部605、要求送信部606、応答受信部607、更新部608を備える。
【0240】
まず、情報記憶部601には、当該端末装置241を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される。
【0241】
情報記憶部601は、上記のように、本ゲームシステムにおけるゲームの制作者からプレイヤーに提供される情報を記録した各種の情報記録媒体、たとえば、ゲームのソフトウェアが記録されたDVD−ROMやROMカセット、ダウンロード販売されたソフトウェアが記録されたHD 121等により実現される。したがって、情報記憶部601は、読出可能な情報が記憶できれば十分であり、情報の書き込みは必ずしもできる必要はない。
【0242】
マルチメディア情報としては、ゲームが進行するにつれてプレイヤーが獲得するであろうアイテムの画像や、プレイヤーが経験するであろうイベントやエンディング・テロップの動画像や音声など、種々のものを採用することができる。
【0243】
上記のように、本実施形態では、プレイヤーが入手可能なマルチメディア情報を暗号化した暗号化情報のみが提供されており、実際に視聴可能なマルチメディア情報は、復号鍵がなければ得ることができない。また、マルチメディア情報ならびにその暗号化情報の識別名としては、リソース番号やファイル名等が利用される。
【0244】
したがって、DVD−ROMドライブ108に装着されたDVDやHD 121、その他ROMカセット等の情報記録媒体が、情報記憶部601として機能する。
【0245】
一方、鍵記憶部602は、識別名のいずれかと、復号鍵と、が対応付けて記憶される。
【0246】
すなわち、鍵記憶部602には、ある暗号化情報を復号するための復号鍵と、その暗号化済みのマルチメディア情報の識別名と、が対応付けて記憶されることとなる。
【0247】
本実施形態では、ゲームを購入して開始した当初は、鍵記憶部602には、復号鍵がまったく、あるいは、ゲーム当初にプレイヤーが直ちに聴取可能なものについてしか、記憶されていないものとする。
【0248】
すると、ゲームの開始当初は、ほとんどのマルチメディア情報は端末装置241だけでは復号ができない状態に置かれることになる。
【0249】
そして、ゲームが進行するにつれて、次第に復号鍵がサーバ装置221から取得され、鍵記憶部602に記録されることになる。
【0250】
このように、鍵記憶部602としては、書き込みや更新が可能な不揮発性の記憶装置を利用することとなる。したがって、本実施形態では、HD 121や外部メモリ106が、鍵記憶部602として機能する。
【0251】
さらに、識別名取得部603は、プレイヤーの操作ならびにゲームの進行に基づいて、プレイヤーに提示すべきマルチメディア情報の識別名を取得する。
【0252】
本発明におけるゲームの進行は、通常のゲームと同様に行われる。すなわち、端末装置241は、コントローラ105やキーボード、マウス、マイク111により得られる音声の音声認識、カメラにより撮影された画像に含まれるジェスチャーの画像認識などを利用して、プレイヤーからの操作を受け付ける。また、必要に応じて、サーバ装置221や、他の端末装置241からの指示を受け付ける。
【0253】
そして、端末装置241は、これらの操作や指示に基づいて、端末装置241に記憶されているゲームの状態を更新する。また、必要に応じて、そのゲームの状態のすべてもしくは一部をサーバ装置221や他の端末装置241に知らせる。
【0254】
さらに、現在のゲーム状態に応じて、プレイヤーに提示すべきアイテムの静止画像や、イベント提示に必要な動画像、音声などを記録したマルチメディア情報の識別名を、ゲームのプログラムやゲームのシナリオに基づいて、取得する。ここで、ゲームのシナリオ等のデータは、DVD−ROMやHD 121、ROMカセット等に記録されている。
【0255】
したがって、CPU 101が、情報処理装置100の各部、特に、DVD−ROMやHD 121、ROMカセット等と共働して、識別名取得部603として機能する。
【0256】
一方、復号部604は、取得された識別名に対応付けて鍵記憶部602に復号鍵が記憶されている場合、当該識別名に対応付けて情報記憶部601に記憶されている暗号化情報を、当該復号鍵により復号する。
【0257】
このように復号が可能なのは、当該端末装置241が、以前に復号鍵を獲得している場合のみである。リバース・エンジニアリングによって暗号化情報の復号のアルゴリズムが解読されてしまったとしても、復号鍵を何らかの手段で入手しなければ、暗号化情報からマルチメディア情報を直ちに復元することは不可能である。
【0258】
一方、ある識別名に対する復号鍵が既に取得済みであり、鍵記憶部602に記憶されている場合には、その識別名に対する暗号化情報を復号鍵で解読して、マルチメディア情報を復元することができる。
【0259】
上記のように、暗号化情報は、DVD−ROMやHD 121、ROMカセット等により実現される情報記憶部601に記憶されている。したがって、CPU 101が、DVD−ROMやHD 121、ROMカセット等と共働して、復号部604として機能する。
【0260】
そして、情報提示部605は、復号されたマルチメディア情報を、プレイヤーに提示する。
【0261】
すなわち、アイテムの静止画像等は、適宜モニターの画面内の所定の領域に描画される。また、イベントやエンディング・テロップを表す動画像はモニターの画面に表示され、音声はスピーカやヘッドフォンなどから出力される。これらのマルチメディア情報の提供を受けて、プレイヤーは、さらにゲームを進行させようとするのである。
【0262】
したがって、CPU 101の制御の下、画像処理部107や音声処理部110が動作して、モニター画面に画像を出力したり、スピーカやヘッドホンに音声を出力することにより、情報提示部605が実現される。
【0263】
さらに、要求送信部606は、取得された識別名に対応付けて鍵記憶部602に復号鍵が記憶されていない場合、サーバ装置221に、当該識別名を指定する要求を送信する。
【0264】
当該端末装置241が、暗号化情報を復号するための復号鍵をまだ獲得していない場合には、サーバに問い合わせを行うのである。
【0265】
したがって、CPU 101の制御の下、NIC 109が要求送信部606として機能する。
【0266】
このようにして要求が送信されると、上述のサービス処理におけるステップS502〜ステップS511が実行され、サーバ装置221から応答が送信されることになる。応答受信部607は、この応答を受信する。
【0267】
上記のように、プレイヤーが正当にゲームをプレイしている場合には、この応答には、サーバ装置221から送信された復号鍵が指定されている。
【0268】
したがって、CPU 101の制御の下、NIC 109が、応答受信部607として機能する。
【0269】
そして、更新部608は、送信された要求に指定された識別名と、当該要求に呼応して受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、鍵記憶部602を更新する。
【0270】
上記のように、要求が送信されるのは、鍵記憶部602に復号鍵が記憶されていない場合である。取得された復号鍵が更新部608によって鍵記憶部602に追加されると、復号部604が動作を開始するための条件が満たされる。
【0271】
すなわち、更新部608による更新を契機に、復号部604が暗号化情報からマルチメディア情報を復号し、情報提示部605が復号されたマルチメディア情報をプレイヤーに提示することとなる。
【0272】
したがって、CPU 101が、HD 121や外部メモリ106等と共働して、更新部608として機能する。
【0273】
図7は、端末装置241にて実行される端末処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0274】
なお、上記のように、情報処理装置100の各部が、端末装置241の各部として機能するから、以下では、理解を容易にするため、各処理を実行する主体を、情報処理装置100の各部であるものとして説明する。
【0275】
端末処理は、DVD−ROMやHD 121、ROMカセット等に記録された端末用プログラムをRAM 103に読み出して、CPU 101が実行することを契機に開始される。なお、当該DVD−ROMやHD 121、ROMカセット等には、暗号化情報も記録されている。
【0276】
端末処理が開始されると、CPU 101は、各種の初期化を行う(ステップS701)。この初期化には、たとえば、プレイヤーの名前を設定したり、プレイヤーのゲームの進行状況を外部メモリ106からRAM 103内にロードしたりする処理が含まれる。
【0277】
このほか、RAM 103内には、一時的に記憶すべき各種の情報が記憶される。そこで、CPU 101は、初期化の際に、当該情報が記憶される領域をクリアする。
【0278】
ついで、CPU 101は、RAM 103内に記録されるゲームの進行状況に基づいて、プレイヤーに提示すべき画像や音声を生成するのに必要なマルチメディア情報の識別名を取得する(ステップS702)。これらの識別名は、端末用プログラムの処理や、DVD−ROM等に記録されるシナリオなどの定義に基づいて、定められる。
【0279】
次に、CPU 101は、ステップS702において取得されたマルチメディア情報の識別名のすべてについて、復号鍵が取得済みであるか否かを調べる(ステップS703)。
【0280】
すべてについて取得済みであれば(ステップS703;Yes)、当該マルチメディア情報をそれぞれの復号鍵で復号して(ステップS704)、プレイヤーに対して提示する(ステップS705)。
【0281】
なお、プレイヤーに静止画像を提示するには、垂直同期割込が生じるごとに、RAM 103内に展開された静止画像をモニターに転送すれば良い。
【0282】
この際に、マルチメディア情報を適宜クリッピングしたり、ゲーム世界を構成する仮想空間内に配置されたオブジェクトの定義情報として利用したり等、マルチメディア情報に対して各種の変換や処理を行うことで、プレイヤーに提示する画像を得ることとするのが典型的である。
【0283】
動画像を提示するには、垂直同期割込が生じるごとに、動画の各コマをRAM 103内に展開して、これをモニターに展開する。これらの処理は、CPU 101の制御の下、画像処理部107が、並列処理で実行するのが一般的である。
【0284】
また、プレイヤーに音声を提示するには、CPU 101の制御の下、音声処理部110が、RAM 103内に展開された音声情報をスピーカやヘッドホンに転送する。音声処理部110による処理も、並列に実行されるのが一般的である。
【0285】
ついで、CPU 101は、コントローラ105等の操作状況を調べ(ステップS706)、他の端末装置241やサーバ装置221からゲームの進行に対する指示パケットが到着しているか否かを調べる(ステップS707)。指示パケットが到着していなければ(ステップS707;No)、ステップS709に進む。
【0286】
一方、指示パケットが到着していることが検知された場合(ステップS707;Yes)、指示パケットを受信してRAM 103内に展開する(ステップS708)。
【0287】
そして、時間の経過や、当該端末装置241のプレイヤーの操作の他、ステップS708において展開されている場合には、他の端末装置241やサーバ装置221からのゲームの進行に対する指示等に基づいて、RAM 103内に記録されるゲームの進行状況を更新する(ステップS709)。
【0288】
さらに、必要があれば、当該ゲームの進行状況を指定する報告パケットをサーバ装置221に送信したり(ステップS710)、他の端末装置241にゲームに関する指示を指定する指示パケットを送信したりして(ステップS711)、ステップS702に戻る。なお、ステップS710、S711の処理は、ゲームの態様によっては省略が可能である。また、毎回報告パケットや指示パケットを送信するのではなく、適宜間引いて送信を行うのでも良い。
【0289】
一方、復号鍵が取得済みでないマルチメディア情報が存在する場合には(ステップS703;No)、当該識別名を指定する要求パケットをサーバ装置221に送信する(ステップS712)。
【0290】
そして、所定のタイムアウト時間が経過するまで、サーバ装置221から送信される応答パケットの受信を試行する(ステップS713)。そして、応答パケットが受信できた場合(ステップS714;受信)、当該応答パケットに復号鍵が指定されていれば(ステップS715;あり)、CPU 101は、当該復号鍵と当該識別名とを対応付けて、HD 121や外部メモリ106に追加記憶する(ステップS716)。そして、ステップS704に進む。これによって、復号鍵が取得されるごとに、その内容が随時、鍵記憶部602に記録されることとなる。
【0291】
一方、応答パケットが受信できなかった場合(ステップS714;不達)や、受信できても復号鍵が指定されていなかった場合(ステップS715;なし)、マルチメディア情報の復元に失敗した旨を、モニター画面に表示したり、スピーカ等の音声出力してプレイヤーに警告した後(ステップS717)、ステップS706に戻る。
【0292】
上記のように、サーバ装置221において、決定部402がマルチメディア情報をプレイヤーに提供しない旨を決定した場合は、当該プレイヤーがリバースエンジニアリング等の不正行為を行っている可能性が高いと考えられる。
【0293】
このような場合に、サーバ装置221は、端末装置241に対して復号鍵を提供しない旨を表す応答を直ちに送信するという手法を採用しても良いし、端末装置241に対して、応答を送信しない、という手法を採用しても良い。
【0294】
端末装置241では、タイムアウト時間が経過しても応答パケットが受信できなかったり、応答パケットに復号鍵が指定されていなかった場合に、マルチメディア情報の復号鍵が取得できなかったことが判明する。
【0295】
特にタイムアウトを利用する場合には、各種のリバースエンジニアリングには、より時間と労力が必要となるので、各種のマルチメディア情報が不用意に流出してしまう危険性を、できるだけ抑制することができるようになる。
【0296】
このように、本発明においては、プレイヤーに提供されるゲームソフトウェアが記憶されたDVD−ROMやROMカセット、ダウンロード販売されたゲームソフトウェアが記録されたハードディスク等には、暗号化されたマルチメディア情報のみが記録される。したがって、これらの情報記録媒体と端末装置241のみでは、マルチメディア情報を復元することはできない。
【0297】
そして、復号鍵は、サーバ装置221にて管理され、端末装置241からの問い合わせに応じて、適切に提供される。端末装置241が入手した復号鍵は、識別名に対応付けて、HD 121やメモリカード105など、読み書きが可能な不揮発性の記憶装置に保存される。
【0298】
したがって、本実施形態では、各種の情報を種々の情報記録媒体や記憶装置に適切に記録、記憶することによって、ゲームソフトウェアの販売や提供を容易にしつつ、マルチメディア情報の解禁時期を適切に制御して、不用意な流出を抑制することができるようになる。
【0299】
なお、上記の説明では、理解を容易にするため、ゲーム内で提示されるすべてのマルチメディア情報が暗号化されているものとして説明したが、たとえば、イベント画像やレアアイテム画像、エンディングテロップ等、一部の情報についてのみ暗号化を適用し、頻繁に提示されるマルチメディア情報については、暗号化を施さない態様を採用することも可能である。
【実施例2】
【0300】
上記の実施例では、端末装置241からの要求があってから、サーバ装置221が応答を返すデマンドドリブン型の形態を採用しているが、以下に述べるような、報知型の形態を採用しても良い。
【0301】
図8は、報知型の実施形態において、サーバ装置221と端末装置241とが通信して、復号鍵をやりとりする様子を示すセッション図である。以下、本図を参照して説明する。
【0302】
図3と同様に、端末装置241aからサーバ装置221へ要求301が送信され、サーバ装置221が未提示を検知し(302)、不正と判断した場合(303)、サーバ装置221から端末装置241aに送信される応答304には、復号鍵が提供できない旨が指定されて、警告が表示される(305)。
【0303】
ついで、端末装置241bからサーバ装置221へ要求311が送信され、サーバ装置221が未提示を検知し(312)、正当と判断した場合(313)、サーバ装置221から端末装置241bに送信される応答304には、復号鍵が指定されて、端末装置241bでは、復号ならびに情報の提示が行われる(315)。
【0304】
さらに、本実施形態では、この時点でサーバ装置221に通信可能に接続されている他の端末装置241a、241cに対しても、復号鍵を指定した報知801がされる。報知801には、対応するマルチメディア情報の識別名が指定されている。
【0305】
報知801を受信した他の端末装置241a、241cにおいては、当該報知801に指定された識別名を有するマルチメディア情報を、当該報知801に指定された復号鍵で復号する(805)。
【0306】
なお、本図には示していないが、報知801を送信できなかった端末装置241、すなわち、サーバ装置221が未提示を検知し(312)、正当と判断した時点(313)で、サーバ装置221に接続されていなかった端末装置241については、図3に示す態様と同様に、デマンドドリブンで復号鍵が提供されることとしても良いし、当該端末装置241がログインしてきた時点で報知801を送信することとしても良い。
【0307】
本実施形態では、デマンドドリブンで復号鍵を得るのではなく、先行して復号鍵をできるだけ多くの端末装置241に配布することで、端末装置241における復号処理の計算時間分だけ、ユーザの待ち時間を減らすことが可能となる。
【産業上の利用可能性】
【0308】
以上説明したように、本発明によれば、ゲーム内でプレイヤーに提示されるべきマルチメディア情報の、当該提示の解禁時期を適切に制御するのに好適なゲームシステム、サーバ装置、ゲーム制御方法、サービス方法、これらをコンピュータにて実現するゲームシステム用プログラム、ならびに、サーバ用プログラムを提供することができる。
【符号の説明】
【0309】
100 情報処理装置
101 CPU
102 ROM
103 RAM
104 インターフェース
105 コントローラ
106 外部メモリ
107 画像処理部
108 DVD−ROMドライブ
109 NIC
110 音声処理部
111 マイク
121 HD
201 ゲームシステム
221 サーバ装置
241 端末装置
261 コンピュータ通信網
301 要求
302 検知
303 判断
304 応答
305 警告
311 要求
312 検知
313 判断
314 応答
315 復号・提示
321 要求
322 検知
323 判断
324 応答
325 復号・提示
601 情報記憶部
602 鍵記憶部
603 識別名取得部
604 復号部
605 情報提示部
606 要求送信部
607 応答受信部
608 更新部
801 報知
805 復号

【特許請求の範囲】
【請求項1】
複数の端末装置と、サーバ装置と、を備えるゲームシステムであって、
(a)前記複数の端末装置のそれぞれは、
当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される情報記憶部、
前記識別名のいずれかと、復号鍵と、が対応付けて記憶される鍵記憶部、
前記プレイヤーの操作ならびに前記ゲームの進行に基づいて、前記プレイヤーに提示すべきマルチメディア情報の識別名を取得する識別名取得部、
前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて前記情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する復号部、
前記復号されたマルチメディア情報を、前記プレイヤーに提示する情報提示部、
前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されていない場合、前記サーバ装置に、当該識別名を指定する要求を送信する要求送信部
を備え、
(b)前記サーバ装置は、
前記複数の端末装置のいずれかから送信された要求を受信する要求受信部、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信部
を備え、
(c)前記複数の端末装置のそれぞれは、
前記サーバ装置から送信された応答を受信する応答受信部、
前記送信された要求に指定された識別名と、当該要求に呼応して前記受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、前記鍵記憶部を更新する更新部
をさらに備える
ことを特徴とするゲームシステム。
【請求項2】
請求項1に記載のゲームシステムであって、
前記情報記憶部において、前記暗号化情報は、コンピュータ読取可能な情報記録媒体に記憶され、
前記鍵記憶部において、前記識別名と、前記復号鍵と、は、不揮発性記憶装置に記憶される
ことを特徴とするゲームシステム。
【請求項3】
請求項1または2に記載のゲームシステムであって、
前記鍵取得部は、前記識別名を種として、所定のアルゴリズムにより生成される乱数を、前記復号鍵として取得し、
前記複数の暗号化情報のそれぞれは、当該暗号化情報に対応付けられる識別名を種として、所定のアルゴリズムにより生成される乱数を復号鍵とするように、暗号化される
ことを特徴とするゲームシステム。
【請求項4】
請求項1から3のいずれか1項に記載のゲームシステムであって、
前記識別名を指定する要求が送信されてから所定の時間内に前記復号鍵を指定する応答が受信されなかった場合、前記提示部は、当該マルチメディア情報を復号できない旨の警告を、前記プレイヤーに提示する
ことを特徴とするゲームシステム。
【請求項5】
複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現するためのサーバ装置であって、
当該サーバ装置は、当該複数の端末装置と通信し、
前記複数の端末装置のいずれかから送信された要求であって、マルチメディア情報の識別名が指定された要求を受信する要求受信部、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信部
を備えることを特徴とするサーバ装置。
【請求項6】
複数の端末装置と、サーバ装置と、を備えるゲームシステムを制御するゲーム制御方法であって、
前記複数の端末装置のそれぞれは、情報記憶部、鍵記憶部、識別名取得部、復号部、情報提示部、要求送信部、応答受信部、更新部を備え、
前記情報記憶部には、当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶され、
前記鍵記憶部には、前記識別名のいずれかと、復号鍵と、が対応付けて記憶され、
前記サーバ装置は、要求受信部、決定部、鍵取得部、応答送信部を備え、
前記ゲーム制御方法は、
(a)前記複数の端末装置のそれぞれにおいて、
前記識別名取得部が、前記プレイヤーの操作ならびに前記ゲームの進行に基づいて、前記プレイヤーに提示すべきマルチメディア情報の識別名を取得する識別名取得工程、
前記復号部が、前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて前記情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する復号工程、
前記情報提示部が、前記復号されたマルチメディア情報を、前記プレイヤーに提示する情報提示工程、
前記要求送信部が、前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されていない場合、前記サーバ装置に、当該識別名を指定する要求を送信する要求送信工程、
を備え、
(b)前記サーバ装置において、
前記要求受信部が、前記複数の端末装置のいずれかから送信された要求を受信する要求受信工程、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、前記決定部が、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定工程、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記鍵取得部が、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得工程、
前記応答送信部が、前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信工程
を備え、
(c)前記複数の端末装置のそれぞれにおいて、
前記応答受信部が、前記サーバ装置から送信された応答を受信する応答受信工程、
前記更新部が、前記送信された要求に指定された識別名と、当該要求に呼応して前記受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、前記鍵記憶部を更新する更新工程
をさらに備えることを特徴とするゲーム制御方法。
【請求項7】
複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現するためのサーバ装置を制御するサービス方法であって、
当該サーバ装置は、当該複数の端末装置と通信し、要求受信部、決定部、鍵取得部、応答送信部を備え、
前記要求受信部が、前記複数の端末装置のいずれかから送信された要求であって、マルチメディア情報の識別名が指定された要求を受信する要求受信工程、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、前記決定部が、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定工程、
前記鍵取得部が、前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得工程、
前記応答送信部が、前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信工程
を備える
ことを特徴とするサービス方法。
【請求項8】
複数の端末用コンピュータのそれぞれを端末装置として機能させる端末用プログラムと、サーバ用コンピュータをサーバ装置として機能させるサーバ用プログラムと、を備えるゲームシステム用プログラムであって、
(a)前記端末用プログラムは、前記複数の端末用コンピュータのそれぞれを、
当該端末装置を操作するプレイヤーがゲームの進行中に遭遇する可能性のある複数のマルチメディア情報のそれぞれの識別名に対応付けて、当該マルチメディア情報を暗号化した暗号化情報が記憶される情報記憶部、
前記識別名のいずれかと、復号鍵と、が対応付けて記憶される鍵記憶部、
前記プレイヤーの操作ならびに前記ゲームの進行に基づいて、前記プレイヤーに提示すべきマルチメディア情報の識別名を取得する識別名取得部、
前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されている場合、当該識別名に対応付けて前記情報記憶部に記憶されている暗号化情報を、当該復号鍵により復号する復号部、
前記復号されたマルチメディア情報を、前記プレイヤーに提示する情報提示部、
前記取得された識別名に対応付けて前記鍵記憶部に復号鍵が記憶されていない場合、前記サーバ装置に、当該識別名を指定する要求を送信する要求送信部
として機能させ、
(b)前記サーバ用プログラムは、前記サーバ用コンピュータを、
前記複数の端末装置のいずれかから送信された要求を受信する要求受信部、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信部
として機能させ、
(c)前記端末用プログラムは、前記複数の端末用コンピュータのそれぞれを、
前記サーバ装置から送信された応答を受信する応答受信部、
前記送信された要求に指定された識別名と、当該要求に呼応して前記受信された応答に指定された復号鍵と、を対応付けて記憶させることにより、前記鍵記憶部を更新する更新部
としてさらに機能させる
ことを特徴とするゲームシステム用プログラム。
【請求項9】
サーバ用コンピュータを、複数の端末装置のそれぞれをプレイヤーが操作することにより進行するゲームを実現するためのサーバ装置として機能させるサーバ用プログラムであって、
前記サーバ用プログラムは、前記サーバ用コンピュータを、
前記複数の端末装置のいずれかから送信された要求を受信する要求受信部、
前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれにも提示されていない場合、当該要求を送信した端末装置を操作するプレイヤーの操作ならびにゲームの進行に基づいて、当該マルチメディア情報を当該プレイヤーに提示するか否かを決定する決定部、
前記指定された識別名に係るマルチメディア情報を前記プレイヤーに提示する旨が、前記決定部により決定された場合、もしくは、前記受信された要求に指定された識別名に係るマルチメディア情報が前記複数の端末装置を操作するプレイヤーのいずれかに既に提示されている場合、前記指定された識別名に対応付けられる復号鍵を取得する鍵取得部、
前記要求を送信した端末装置に、当該要求に呼応して前記取得された復号鍵を指定する応答を送信する応答送信部
として機能させる
ことを特徴とするサーバ用プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−14333(P2012−14333A)
【公開日】平成24年1月19日(2012.1.19)
【国際特許分類】
【出願番号】特願2010−148939(P2010−148939)
【出願日】平成22年6月30日(2010.6.30)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】