JP3912514B2 - Communication game system, server and client - Google Patents

Communication game system, server and client Download PDF

Info

Publication number
JP3912514B2
JP3912514B2 JP2002196887A JP2002196887A JP3912514B2 JP 3912514 B2 JP3912514 B2 JP 3912514B2 JP 2002196887 A JP2002196887 A JP 2002196887A JP 2002196887 A JP2002196887 A JP 2002196887A JP 3912514 B2 JP3912514 B2 JP 3912514B2
Authority
JP
Japan
Prior art keywords
game
server
client
data
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002196887A
Other languages
Japanese (ja)
Other versions
JP2003144753A (en
Inventor
武 船橋
善弘 塚村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002196887A priority Critical patent/JP3912514B2/en
Publication of JP2003144753A publication Critical patent/JP2003144753A/en
Application granted granted Critical
Publication of JP3912514B2 publication Critical patent/JP3912514B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、通信を介してゲームを行う通信ゲームシステム、サーバおよびクライアントに関する。
【0002】
【従来の技術】
サーバと複数のクライアントとがインターネットを介して接続されたシステムにおいて、前記サーバと各クライアントの間でゲームを行う技術が既に実用化されている。
近い将来、このようなシステムを用いてギャンブルを行うことが予想されている。
【0003】
【発明が解決しようとする課題】
ところが、このようなインターネットを介してゲームを行うシステムでは、プレーヤが互いに離れた場所にいる状態でゲームを行うため、インターネットを介して情報を授受する過程で、情報の伝達時間を利用するなどしてデータを改竄するなどして不正行為(いかさま)を行うチャンスがある。
また、このようなゲームを行なう際、情報管理装置と複数の情報処理装置が通信回線を介して情報の通信を行なう構成において、前記複数の情報処理装置と情報管理装置の間で情報が伝達されることで情報処理を行なう場合、前記情報の改ざんがなされた場合にこの改ざんを確実に発見することが要請されている。
本発明はこのような事情に鑑みてなされたものであり、その目的は、ゲームを行うプレーヤの不正行為を防止することができ、ゲームをギャンブルとして行う場合に有利な通信ゲームシステム、サーバおよびクライアントを提供することにある。
【0004】
【課題を解決するための手段】
本発明は、前記目的を達成するため、サーバと複数のクライアントとが通信回線を介して接続され、前記サーバと各クライアントとの間で情報の授受を行う通信ゲームシステムであって、前記サーバは、前記通信回線を介して通信を行うサーバ通信手段と、ゲームを実行するゲーム手段と、サーバ制御手段とを有し、前記各クライアントは、情報の表示を行う表示手段と、前記通信回線を介して通信を行うクライアント通信手段と、乱数を発生する乱数生成手段と、前記乱数のハッシュデータを生成するハッシュデータ生成手段と、前記乱数を所定ビット数毎に区切ってゲーム用データを生成するゲーム用データ生成手段と、クライアント制御手段とを有し、前記サーバのゲーム手段によるゲームの実行は、前記各クライアント通信手段から前記サーバ通信手段に送信される前記ゲーム用データを用いて行なわれ、前記各クライアント通信手段は、前記ハッシュデータを前記サーバに送信するように構成され、前記サーバ制御手段は、前記サーバ通信手段で全ての前記ハッシュデータを受信すると、全ての前記ハッシュデータを前記各クライアント通信手段に送信するように構成され、前記各クライアント制御手段は、前記クライアント通信手段で受信した全ての前記ハッシュデータを前記表示手段によって表示させた後、前記クライアント通信手段によって前記ゲーム用データを前記サーバに送信させるように構成され、前記サーバの前記ゲーム手段によって実行される前記ゲームは、前記各クライアントの送信手段から送信される前記ゲーム用データの全てを用いた演算を行うことでなされることを特徴とする。
【0005】
また、本発明は、複数のクライアントと通信回線を介して接続されるサーバであって、前記サーバは、前記通信回線を介して通信を行うサーバ通信手段と、ゲームを実行するゲーム手段と、サーバ制御手段とを有し、前記ゲーム手段は、前記各クライアントから前記サーバ通信手段に送信されるゲーム用データを用いてゲームを行なうように構成され、前記サーバ制御手段は、前記各クライアントが乱数から生成したハッシュデータの全てを前記サーバ通信手段で受信すると、全ての前記ハッシュデータを前記各クライアントに送信するように構成され、前記サーバ通信手段は、前記各クライアントが、受信した全ての前記ハッシュデータを表示させた後、前記乱数を所定ビット数毎に区切ることで生成したゲーム用データを前記クライアントから受信するように構成され、前記ゲーム手段による前記ゲームの実行は、前記各クライアントの送信手段から送信されるゲーム用データの全てを用いた演算を行うことでなされることを特徴とする。
【0006】
また、本発明は、サーバと通信回線を介して接続されるクライアントであって、前記クライアントは、情報の表示を行う表示手段と、前記通信回線を介して通信を行うクライアント通信手段と、乱数を発生する乱数生成手段と、前記乱数のハッシュデータを生成するハッシュデータ生成手段と、前記乱数を所定ビット数毎に区切ってゲーム用データを生成するゲーム用データ生成手段と、クライアント制御手段とを有し、前記クライアント通信手段は、前記ハッシュデータを前記サーバに送信するように構成され、前記クライアント制御手段は、前記サーバが該サーバに接続されている全てのクライアントから全ての前記ハッシュデータを受信したことをもって全ての前記ハッシュデータを前記クライアント通信手段に送信すると、前記クライアント通信手段で受信した全ての前記ハッシュデータを前記表示手段によって表示させた後、前記クライアント通信手段によって前記ゲーム用データを前記サーバに送信させるように構成され、前記クライアント通信手段によって前記サーバに送信される前記ゲーム用データは、それらゲーム用データの全てを用いた演算が前記サーバのゲーム手段で行われることでゲームが実行されるものであることを特徴とする。
【0007】
そのため、前記ハッシュデータが前記表示手段によって表示された後、前記ゲーム用データが前記サーバに送信される。前記ゲーム用データに対する改竄などの不正行為があると、前記ハッシュ用データと前記ゲーム用データとの関係が矛盾することになり、不正行為を発見することが可能となる。
【0008】
【発明の実施の形態】
本発明の通信ゲームシステム、サーバおよびクライアントの実施の形態について説明する前に、第1乃至第3の参考例について説明する。
なお、以下に説明する第1乃至第3の参考例および実施の形態では、ゲームをギャンブルとして行う場合について説明する。
図2は、通信ゲームシステムの概略構成を示す構成図である。
情報処理システムとしての通信ゲームシステム100は、情報管理装置としてのサーバ装置10と、情報処理装置を構成する複数のクライアント装置20(20−1〜20−m)と、前記サーバ装置10と各クライアント装置20とを接続する通信回線としてのインターネット30とを備えて構成されている。
そして、前記サーバ装置10と各クライアント装置20の情報の授受を公開鍵暗号化方式に基づいて行うことが可能に構成されている。すなわち、前記サーバ装置10と各クライアント装置20によって公開鍵基盤:PKI(Public Key infrastructure)が構成されている。
【0009】
図1は、前記サーバ装置10およびクライアント装置20の概略構成を示すブロック図である。
図1に示すように、前記サーバ装置10は、コンピュータによって構成され、サーバ通信手段1002、サーバ制御手段1004、表示手段1006、入力手段1008、ゲーム手段1010などを備えて構成されている。
前記サーバ通信手段1002は、前記インターネット30を介して前記各クライアント装置20との通信を行うように構成されている。
前記サーバ制御手段1004は、前記各部の制御を司るものである。
前記表示手段1006は、モニタ装置などから構成され、ゲームを行う上で必要な画像を画面に表示するように構成されている。
前記入力手段1008は、マウスやキーボードなどから構成され、ゲームを行う上で必要な操作や情報の入力を行うように構成されている。
前記ゲーム手段1010は、ゲームを実行するものであり、ゲームのソフトウェアをCPUが実行することによって実現されるものである。
なお、前記ゲーム手段1010が行うゲームの細かい処理内容は、本発明の要旨と直接関連しないので説明を省き、後述する動作説明の中で必要な処理内容について簡単に説明することにする。
また、前記サーバ装置10は、前記コンピュータに設けられた記憶手段であるハードディスク装置にインストールされたサーバ用プログラムをCPUが実行することによって前記各手段を機能させるように構成されている。
なお、前記サーバ用プログラムのサーバ装置10に対するインストールは、前記インターネットを介したダウンロードで行なわれてもよいし、CD−ROMなどの記録媒体に記録されたサーバ用プログラムをCD−ROMドライブ装置を介して読み取ることによって行なわれてもよい。
また、前記サーバ装置10に前記サーバ用プログラムがプリインストールされていてもかまわない。
また、前記サーバ装置10を構成する前記各手段をハードウェアによって実現してもよいことは勿論である。
【0010】
前記クライアント装置20は、後述する個人認証装置22と接続可能に構成されている
記クライアント装置20は、コンピュータによって構成され、クライアント通信手段2002、クライアント制御手段2004、表示手段2006、入力手段2008を備えている。
前記クライアント通信手段2002は、前記インターネット30を介して前記サーバ装置10との通信を行うように構成されている。
前記クライアント制御手段2004は、前記各部の制御を司るものである。
前記表示手段2006は、モニタ装置などから構成され、ゲームを行う上で必要な画像を画面に表示するように構成されている。
前記入力手段2008は、マウスやキーボードなどから構成され、ゲームを行う上で必要な操作や情報の入力を行うように構成されている。
また、前記クライアント装置20は、前記コンピュータに設けられた記憶手段であるハードディスク装置にインストールされたクライアント用プログラムをCPUが実行することによって動作するように構成されている。
なお、前記クライアント用プログラムのクライアント装置20に対するインストールは、前記インターネットを介したダウンロードで行なわれてもよいし、CD−ROMなどの記録媒体に記録されたクライアント用プログラムをCD−ROMドライブ装置を介して読み取ることによって行なわれてもよい。
また、前記クライアント装置20に前記サーバ用プログラムがプリインストールされていてもかまわない。
また、前記クライアント装置20を構成する前記各手段をハードウェアによって実現してもよいことは勿論である。
【0011】
前記クライアント装置20には、個人認証装置22が接続可能に設けられている。
前記個人認証装置22は、各クライアント装置20を操作するプレーヤが予め登録された人であることを認証するものである。プレーヤの個人認証は、未成年者がギャンブルをすることを防止するために必要である。
図3に示すように、前記個人認証装置20は、筐体2001の外側に面した箇所に指紋照合センサ2202が設けられており、ケーブル2203を介してクライアント装置20と情報の授受が可能に構成されている。前記情報の授受は例えばUSB規格に基づいて行なわれる。
【0012】
図4に示すように、前記個人認証装置22は、前記指紋照合センサ2202の他に、A/Dコンバータ2204、指紋照合用LSI2206、PKIエンジン2208(ゲーム用データ生成手段)、フラッシュメモリ2210、プログラム用ROMおよびRAM2212、CPU2214、USBコントローラ2216などを備えている。
また、前記指紋照合用LSI2206、PKIエンジン2208、フラッシュメモリ2210、プログラム用ROMおよびRAM2212、CPU2214、USBコントローラ2216は、バスによって共通に接続されている。
前記指紋照合センサ2202は、該指紋照合センサ2202上におかれた指先から指紋を読み取って指紋データ(グレースケールデータ)を出力するものである。
前記A/Dコンバータ2204は、前記指紋データをアナログ信号からデジタル信号に変換するものである。
前記指紋照合用LSI2206は、前記デジタルデータから特徴部分のテンプレートデータを生成して前記フラッシュメモリ2210に保存するものである。
前記PKIエンジン2208は、公開鍵暗号化方式に基づく通信を行うために必要な公開鍵、秘密鍵を生成するともに、これら公開鍵と秘密鍵に基づいて暗号化/複合化を行うものである。なお、公開鍵、秘密鍵の生成については後で説明する。
前記フラッシュメモリ2210は、前記テンプレートデータと、賭け金と引き換えにプレーヤに与えられるチップデータとを記憶するように構成されている。
前記プログラム用ROMおよびRAM2212は、この個人認証装置20の制御用プログラムを格納するものである。
前記USBコントローラ2216は、前記クライアント装置20との間で情報を送受信するためのインターフェースである。
前記CPU2214は、前記制御プログラムに基づいて、前記各部を制御するものである。
【0013】
次に、前記個人認証装置22の動作について説明する。
まず、前記クライアント装置20を使用するプレーヤを登録する登録動作について説明する。
プレーヤは、指を前記個人認証装置22の前記指紋照合センサ2202上におく。これにより、指紋データが前記A/Dコンバータ2204を介して前記指紋照合用LSI2206に読み取られ、前記テンプレートデータが前記フラッシュメモリ2210に保存される。これによりプレーヤの指紋データが登録される。
次に、プレーヤを認証する認証動作について説明する。
プレーヤは、指を前記個人認証装置22の前記指紋照合センサ2202上におく。これにより、指紋データが前記A/Dコンバータ2204を介して前記指紋照合用LSI2206に読み取られ、前記フラッシュメモリ2210に保存されているテンプレートデータと照合される。その結果が前記CPU2214に通知される。
前記CPU2214は、前記照合結果が合格ならば認証が正常に行われた旨をクライアント装置20に通知する。これにより、クライアント装置20の使用が可能となる。一方、前記照合結果が不合格ならば認証が行なわれなった旨をクライアント装置20に通知する。これにより、クライアント装置20の使用は不能となる。
【0014】
次に、前記PKIエンジン2208によるRAS方式に基づく公開鍵、秘密鍵の生成動作について説明する。
前記クライアント装置20から前記個人認証装置22に公開鍵、秘密鍵の生成を指示するコマンドが送信される。
前記PKIエンジン2208は、前記コマンドに応じて乱数を生成する。前記乱数の生成は、非素数が得られるまで繰り返して行なわれる。
前記PKIエンジン2208は、非素数の乱数が得られたら、式(1)に示すように、この乱数を合成数nとし、合成数nをその積で示す2つの素数、すなわち第1素数p、第2素数qに分解する。前記合成数nはモジュラスともいう。言い替えると、前記合成数nは、前記第1素数pと第2素数qに基づき不可逆的かつ一意に生成されることになる。
n=p・q (1)
次に、式(2)に基づいてyを求める。
(p−1)・(q−1)+1=y (2)
次に、式(3)に基づいてyを積で示す公開鍵eと秘密鍵dを求める。
e・d=y (3)
例えば、合成数n=33とすれば、式(1)、式(2)、式(3)は次のとおりとなる。
33=3・11 (1)
(3−1)・(11−1)+1=21 (2)
3・7=21 (3)
すなわち、
合成数n:33
公開鍵e:3
秘密鍵d:7
となる。
【0015】
次に、ゲームを行う際の動作について図5のフローチャートを参照して説明する。なお、第1の参考例では、ゲームがクラップスである場合について説明する。
ゲームを行なうプレーヤは、ゲームの進行を司る役割を有する1人の親プレーヤと、親プレーヤの進行にしたがってゲームに参加する1人以上の子プレーヤとからなる。
参考例では、親プレーヤがクライアント装置10を介してサーバ装置10を操作し、子プレーヤがクライアント装置20を操作するものとして説明する。
【0016】
まず、各子プレーヤは、ギャンブルを提供するサービス提供会社の登録場所に出向いて、自らの年齢証明を行って前記個人認証装置22に指紋データを登録して個人登録を行う(ステップS10)。次に、各子プレーヤは賭け金を支払うことにより、その賭け金に見合う前記チップデータを前記フラッシュメモリ2210に保存してもらう(ステップS12)。
なお、前記チップデータには前記サービス提供会社によるデジタルサインが施されている。
その後、各子プレーヤに前記個人認証装置22が貸与される(ステップS14)。
各子プレーヤは、貸与された個人認証装置22を前記クライアント装置20に接続して、個人認証動作を行う(ステップS16)。個人認証動作が正常に行われることにより、ゲームに参加する準備が完了する。
【0017】
ゲーム参加準備が完了することによって、図6に示すように、クライアント装置20の表示手段2006の画面には、ゲーム選択を行うためのメニューG1が表示される(ステップS18)。
クラップスを選択してクライアント装置20の入力手段2008のキーボードの実行キーを押すことで、図7に示すように、クラップスを行うための画面が表示される(ステップS20)。
前記画面には、クラップスを行うテーブルの画像G2(詳細な画面内容は省略する)が表示されるとともに、ゲームに参加している全ての子プレーヤのクライアント装置20から送信される前記合成数n(n1〜nx)、第1素数p(p1〜px)、第2素数q(q1〜qx)が表示されるようになっている。
また、ダイスを振るためのダイスボタンB1、合成数nを送信するためのn送信ボタンB2、第1素数pを送信するためのp送信ボタンB3、第2素数qを送信するためのq送信ボタンB4も表示されている。
これらのボタンは、初期状態では操作が不能な状態に設定されている。なお、各ボタンは、操作が可能な状態(レディ状態)か否かに応じて異なる色で表示されるようになっており、例えば操作が可能な状態では緑色に、操作が不能な状態では赤色になるように構成されている。
【0018】
子プレーヤは、前記テーブルの画像を見ながらチップを賭ける(ステップS22)。すなわち、前記入力手段2008のマウスを操作することにより画像のテーブル上の所望の場所に画像のチップをドラッグアンドドロップする。この画像はリアルタイムで各クライアントのモニタ装置に表示される。なお、前記チップを賭けるということは、前記各クライアント装置20により賭け金に相当する賭けデータが前記サーバ装置10に対してビットされること、すなわち提示されることになる。
なお、このようなチップをテーブル上に置くなどの操作とその操作に対応する表示は、前記サーバ装置10のゲーム手段1010およびサーバ制御手段1004の制御によって前記サーバ装置10と各クライアント装置20との間でインターネット30を介して情報が相互に通信されることによって実現されるものである。
【0019】
子プレーヤ全員がチップを賭け終わると、親プレーヤは、子プレーヤのクライアント装置20の全てをダイスレディ状態にするための操作を親プレーヤのクライアント装置20の入力手段1008に対して行なう。この操作情報は、インターネット30を介して前記サーバ装置10に送信され、前記操作情報を認識したサーバ制御手段1004によって、ダイスレディ状態にする旨の指示が前記サーバ制御手段1004からサーバ通信手段1002を介して子プレーヤの各クライアント装置20に送信され、各クライアント装置20のクライアント制御手段1004は、前記表示手段2006のダイスボタンB1の色が操作不能を示す赤色から可能を示す緑色に変化させる(ステップS24)。
これに応じて、各子プレーヤがダイスボタンB1をクリックすると、前記各クライアント装置20のクライアント制御手段2004は、前記個人認証装置22に公開鍵、秘密鍵の生成を指示する(ステップS26)。
前記個人認証装置22は、前述した動作に従って前記合成数n、第1素数p、第2素数qを生成してクライアント制御手段2004に与える(ステップS28)
前記クライアント制御手段2004は、まず、前記n送信ボタンB2を操作可能な状態にする。例えば、このボタンの色を赤色から緑色に変化させる(ステップS30)。
各子プレーヤが前記n送信ボタンB2を操作することで、前記サーバ装置10に全ての合成数nが送信されると、前記サーバ装置10のゲーム手段1010は前記全ての合成数nを各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全ての合成数nが表示される(ステップS32)
したがって、各子プレーヤは自らの合成数nと、他の子プレーヤの合成数nとを視認することができる。
【0020】
次に、前記全ての合成数nが各クライアント装置20に送信された後、前記サーバ装置10のゲーム手段1010は、第1素数p、第2素数qを送信するためのボタンを操作可能な状態にする旨の指示を各クライアント装置20に送信する。
これにより、前記クライアント制御手段2004は、前記p送信ボタンB3、q送信ボタンB4を操作可能な状態にする。例えば、これらボタンB3、B4の色を赤色から緑色に変化させる(ステップS34)。
各子プレーヤがp送信ボタンB3とq送信ボタンB4の双方を操作することで、前記サーバ装置10に全クライアント装置20における第1素数pおよび第2素数qがゲーム用データとして送信される(ステップS36)。
次いで、前記サーバ装置10のゲーム手段1010は、前記全ての第1素数pおよび第2素数qを各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全ての第1素数pおよび第2素数qが表示される(ステップS38)
したがって、各子プレーヤは自らの第1素数pおよび第2素数qと、他の子プレーヤの第1素数pおよび第2素数qとを視認することができる。
そして、このステップS38において、前記各クライアント制御手段2004は、前記クライアント通信手段2002で受信した前記全ての合成数nと、前記クライアント通信手段2002で受信した全ての第1、第2素数p、qとをベリファイ、すなわち比較して前記第1、第2素数p、qが改ざんされているか否かを判定する(ステップS39)。この確認結果で改ざんなしと判定されば次ステップに移行し、改ざんが判明した場合にはその旨をサーバ装置10に伝達し、該サーバ装置10によって各クライアント装置20に対してゲームの中止を指示する(ステップS41)。
【0021】
そして、前記サーバ装置10のゲーム手段1010は、受信したこれらの素数に基づいて2つのダイスの目(1〜6までのいずれかの数)を決定する
すなわち、前記サーバ装置10のゲーム手段1010が受信した第1素数pがp1〜px、第2素数がq1〜qxであったとする。
まず、第1、第2素数のLSB(最下位ビット)側から所定ビットを削除する。これは素数が必ず奇数から構成されているためである。
次いで、式(4)のように各第1素数p1〜px(所定ビットの削除後)の排他的論理和p0を演算する。
p0=p1*p2*p3*……*px (4)
(本明細書において*は排他的論理和の演算記号を示すものとする)
次に、p0を6で割ってその余りを1つめのダイスの目とする(ただし余り0はダイスの目6とする)。
そして、前記サーバ装置10のゲーム手段1010は、1つめのダイスの目のデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006に1つめのダイスの目を表示させる(ステップS40)。
【0022】
同様に、式(5)のように各第2素数q1〜qx(所定ビットの削除後)の排他的論理和q0を演算する。
q0=q1*q2*q3*……*qx (5)
次に、q0を6で割ってその余りを2つめのダイスの目とする(ただし余り0はダイスの目を6とする)。
そして、前記サーバ装置10のゲーム手段1010は、2つめのダイスの目のデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006に2つめのダイスの目を表示させる(ステップS42)。
【0023】
このように2つのダイスの目が決定してクラップスの勝敗が決定すると(ステップS44で“Y”)、賭け金の配当などの処理が実行される(ステップS46)。
クラップスの勝敗が決定しないと(ステップS44で“N”)、ステップS34に戻る。
ゲームを続行するか否かの選択を行い(ステップS48)、続行する場合(ステップS48で“Y”)にはステップS22に移行し、続行しない場合(ステップS48で“N”)には終了する。
【0024】
以上説明したように、第1の参考例によれば、前記合成数nが前記各クライアント装置20の表示手段2006によって表示された後、前記第1、第2素数p、qの双方が前記ゲーム用データとして前記サーバ装置10に送信される。前記第1、第2素数p、qに対する改竄などの不正行為があると、前記合成数nと前記第1、第2素数p、qとの関係が矛盾することになり、すなわち、n=p・qが不成立となり、これにより不正行為を発見することが可能となる。
【0025】
また、ダイスの目を決定するための演算の過程で各クライアント装置20の個人認証装置22で生成された第1素数p、第2素数qの全てが使用されるため、各プレーヤに対して公平性を保つことができる。
また、前記個人認証装置22を用いてプレーヤの認証を行うことにより、ギャンブルを行うプレーヤの制限(年齢制限)を容易に行うことができる。
【0026】
また、ステップS40、S42の動作において、各クライアント装置20の表示手段2006においてダイスが転がる様子を示す画像を表示すれば、視覚的な効果を向上させる上で好ましい。
なお、第1の参考例では、前記合成数nに基づく第1、第2素数p、qの生成を前記PKIエンジン2208で行ったが、この動作は前記CPU2214で行っても、あるいは前記クライアント制御手段2004で行ってもかまわない。
また、上述の説明では、前記第1、第2素数p、q全てを使用したが、これらの最上位ビットから8ビット分でダイスの目を決定するようにしてもよい。このようにすることで、合成数nを1度生成しただけで、複数回ダイスを転がした分のダイスの目を得ることができる利点がある。
【0027】
次に、第2の参考例について説明する。
第2の参考例では、ゲームがルーレットであるものとして説明する。
第2の参考例が第1の参考例と異なる部分は、前記各クライアント装置20の表示手段2006に表示される画面と、前記第1、第2素数p、qを用いてルーレットで出る目を決定する演算内容である。
図8は、ルーレットが選択されたときにクライアント装置20の表示手段2006に表示される画面の説明図である。
図8に示すように、前記表示手段2006の画面には、ルーレットを行うテーブルの画像が表示されるとともに、ゲームに参加している全ての子プレーヤのクライアント装置20から送信される前記合成数n(n1〜nx)、第1素数p(p1〜px)、第2素数q(q1〜qx)が表示されるようになっている。
また、各子プレーヤが操作するレディボタンB11、合成数nを送信するためのn送信ボタンB2、第1素数pを送信するためのp送信ボタンB3、第2素数qを送信するためのq送信ボタンB4も表示されている。
これらのボタンは、初期状態では操作が不能な状態に設定されている。なお、各ボタンは、操作が可能な状態(レディ状態)か否かに応じて異なる色で表示されるようになっており、例えば操作が可能な状態では緑色に、操作が不能な状態では赤色になるように構成されている。
【0028】
図9は、第2の参考例の動作を示すフローチャートである。
なお、図9において図5と同一動作のステップについては、同一のステップ番号を付してその説明を省略する。
ステップS10乃至S18までは第1の参考例と同様である。
ステップS20でルーレットを選択することにより、図8に示すルーレット用の画面G3(詳細な画面内容は省略する)が表示される。
子プレーヤは、前記テーブルの画像を見ながらチップを賭ける(ステップS22)。すなわち、前記入力手段2008のマウスを操作することにより画像のテーブル上の所望の場所に画像のチップをドラッグアンドドロップする。この画像はリアルタイムで各クライアントのモニタ装置に表示される。本参考例においても、前記チップを賭けるということは、前記各クライアント装置20により賭け金に相当する賭けデータが前記サーバ装置10に対してビットされること、すなわち提示されることになる。
【0029】
子プレーヤ全員がチップを賭け終わると、親プレーヤは、子プレーヤのクライアント装置20の全てのレディボタンB11をレディ状態にするための操作を親プレーヤのクライアント装置20の入力手段1008に対して行なう。この操作情報は、インターネット30を介して前記サーバ装置10に送信され、前記操作情報を認識したサーバ制御手段1004によって、レディボタンB11をレディ状態にする旨の指示が前記サーバ制御手段1004かサーバ通信手段1002を介して各クライアント装置20に送信され、各クライアント装置20のクライアント制御手段1004は、前記表示手段2006のレディボタンB11の色を操作不能を示す赤色から可能を示す緑色に変化させる(ステップS124)。
これに応じて、各子プレーヤがレディボタンB11をクリックすると、前記各クライアント装置20のクライアント制御手段2004は、前記個人認証装置22に公開鍵、秘密鍵の生成を指示する(ステップS126)。
以下、前記個人認証装置22による前記合成数n、第1素数p、第2素数qの生成、表示の動作は、図5におけるステップS28乃至S41と同様である。
【0030】
そして、ルーレットの目を決定する演算は次のような手順で行われる。
すなわち、前記サーバ装置10のゲーム手段1010が受信した第1素数pがp1〜px、第2素数がq1〜qxであったとする。
次いで、式(6)のように各第1素数p1〜px、第2素数がq1〜qxの排他的論理和pq0を演算する。
pq0=p1*p2*p3*……*px
*q1*q2*q3*……*qx (6)
次に、pq0を38で割ってその余り(1乃至36)をルーレットの目とする(合成情報生成ステップ)。ただし余り0はルーレットの目を0、余り37はルーレットの目を00とする
そして、前記サーバ装置10のゲーム手段1010は、ルーレットのデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006にルーレットの目を表示させる(ステップS140)。
【0031】
このようにルーレットの目が決定することで、ルーレットの勝敗が決定すると(ステップS142で“Y”)と、賭け金の配当などの処理が実行される(ステップS144)。
次いで、ゲームを続行するか否かの選択を行い(ステップS146)、続行する場合(ステップS46で“Y”)にはステップS22に移行し、続行しない場合(ステップS46で“N”)には終了する。
【0032】
以上説明したように、第2の参考例によれば、前記合成数nが前記各クライアント装置20の表示手段2006によって表示された後、前記第1、第2素数p、qの双方が前記ゲーム用データとして前記サーバ装置10に送信される。前記第1、第2素数p、qに対する改竄などの不正行為があると、前記合成数nと前記第1、第2素数p、qとの関係が矛盾することになり、すなわち、n=p・qが不成立となり、これにより不正行為を発見することが可能となる。
【0033】
また、ルーレットの目を決定するための演算の過程で各クライアント装置20の個人認証装置22で生成された第1素数p、第2素数qの全てが使用されるため、各プレーヤに対して公平性を保つことができる。
また、前記個人認証装置22を用いてプレーヤの認証を行うことにより、ギャンブルを行うプレーヤの制限(年齢制限)を容易に行うことができることは第1の参考例と同様である。
【0034】
また、ステップS140の動作において、各クライアント装置20の表示手段2006においてルーレットが回転する様子を示す画像を表示すれば、視覚的な効果を向上させる上で好ましい。
また、上述の説明では、前記第1、第2素数p、q全てを使用したが、これらの最上位ビットから8ビット分でルーレットの目を決定するようにしてもよい。このようにすることで、合成数nを1度生成しただけで、複数回ルーレットを回転させた分のルーレットの目を得ることができる利点がある。
【0035】
次に、第3の参考例について説明する。
第3の参考例では、ゲームがカードゲームの1つであるブラックジャックであるものとして説明する。
第3の参考例が第1の参考例と異なる部分は、前記各クライアント装置20の表示手段2006に表示される画面と、前記第1、第2素数p、qを用いてカードの数字を決定する演算内容である。
図10は、ブラックジャックが選択されたときにクライアント装置20の表示手段2006に表示される画面の説明図である。
図10に示すように、前記表示手段2006の画面には、ブラックジャックを行うテーブルの画像が表示されるとともに、ゲームに参加している全ての子プレーヤのクライアント装置20から送信される前記合成数n(n1〜nx)、第1素数p(p1〜px)、第2素数q(q1〜qx)が表示されるようになっている。
また、各子プレーヤが操作するスタートボタンB21、合成数nを送信するためのn送信ボタンB2、第1素数pを送信するためのp送信ボタンB3、第2素数qを送信するためのq送信ボタンB4も表示されている。
これらのボタンは、初期状態では操作が不能な状態に設定されている。なお、各ボタンは、操作が可能な状態(レディ状態)か否かに応じて異なる色で表示されるようになっており、例えば操作が可能な状態では緑色に、操作が不能な状態では赤色になるように構成されている。
【0036】
図11は、第3の参考例の動作を示すフローチャートである。
なお、図11において図5と同一動作のステップについては、同一のステップ番号を付してその説明を省略する。
ステップS10乃至S18までは第1の参考例と同様である。
ステップS20でブラックジャックを選択することにより、図10に示すブラックジャック用の画面G4(詳細な画面内容は省略する)が表示される。
子プレーヤは、前記テーブルの画像を見ながらチップを賭ける(ステップS22)。すなわち、前記入力手段2008のマウスを操作することにより画像のテーブル上の所望の場所に画像のチップをドラッグアンドドロップする。この画像はリアルタイムで各クライアントのモニタ装置に表示される。なお、前記チップを賭けるということは、前記各クライアント装置20により賭け金に相当する賭けデータが前記サーバ装置10に対してビットされること、すなわち提示されることになる。
【0037】
子プレーヤ全員がチップを賭け終わると、親プレーヤは、子プレーヤのクライアント装置20の全ての前記スタートボタンB21をレディ状態にするための操作を親プレーヤのクライアント装置20の入力手段1008に対して行なう。この操作情報は、インターネット30を介して前記サーバ装置10に送信され、前記操作情報を認識したサーバ制御手段1004によって、スタートボタンB21をレディ状態にする旨の指示前記サーバ制御手段1004からサーバ通信手段1002を介して子プレーヤの各クライアント装置20に送信され、各クライアント装置20のクライアント制御手段1004は、前記表示手段2006のスタートボタンB21の色を操作不能を示す赤色から可能を示す緑色に変化させる(ステップS224)。
これに応じて、各子プレーヤがレディボタンB11をクリックすると、前記各クライアント装置20のクライアント制御手段2004は、前記個人認証装置22に公開鍵、秘密鍵の生成を指示する(ステップS226)。
以下、前記個人認証装置22による前記合成数n、第1素数p、第2素数qの生成と、合成数n表示の動作は、図5におけるステップS28乃至S32と同様である。なお、本例では、第1素数p、第2素数qの桁数を512ビットとして説明する。
【0038】
次に、前記全ての合成数nが各クライアント装置20に送信された後、前記サーバ装置10のゲーム手段1010は、第1素数p、第2素数qを送信するためのボタンを操作可能な状態にする旨の指示を各クライアント装置20に送信する。
これにより、前記クライアント制御手段2004は、前記p送信ボタンB3、q送信ボタンB4を操作可能な状態にする。例えば、これらボタンB3、B4の色を赤色から緑色に変化させる(ステップS234)。
各子プレーヤがp送信ボタンB3とq送信ボタンB4の双方を操作することで、前記サーバ装置10に全クライアント装置20における第1素数pおよび第2素数qが送信される(ステップS236)。
本例では、カードを4組使用するものとする。したがって、カードの総枚数は、52×4=208枚となり、各カードの絵柄と数字を識別するために必要な数字は208以上あればよい。このため、1回のプレーで必要な第1素数pおよび第2素数qのビット数は8ビット(十進数で表現すると、0〜255までの数字)となる。
したがって、第1、第2素数p、qは、1枚のカードの決定毎(1回のプレー毎)に最上位ビットから8ビットずつ送信される。
なお、第1、第2素数p、qはその最下位ビット(LSB)を不使用にする必要がある。この理由は、生成された512ビットの第1、第2素数p、qが奇数であり、その最下位ビット(LSB)が必ず1となるため、最下位ビットを含んだ状態で送信すると、後述するカードの数字を決定する演算結果が子プレーヤ数に応じて決定されてしまう不都合を回避するためである。
第1、第2素数p、qの最下位ビット側から所定ビットを除く処理方法は任意であるが、例えば、第1、第2素数p、qを構成する512ビットのうち、下位ビット半分を除いてもよい。
【0039】
次いで、前記サーバ装置10のゲーム手段1010は、8ビット分の前記第1素数pおよび第2素数qを各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全ての第1素数pおよび第2素数qが表示される(ステップS238)。
したがって、各子プレーヤは自らの第1素数pおよび第2素数qと、他の子プレーヤの第1素数pおよび第2素数qとを視認することができる。
そして、このステップS238において、前記各クライアント制御手段2004は、前記クライアント通信手段2002で受信した前記全ての合成数nと、前記クライアント通信手段2002で受信した全ての第1、第2素数p、qとをベリファイ、すなわち比較して前記第1、第2素数p、qが改ざんされているか否かを判定する(ステップS239)。この確認結果で改ざんなしと判定されば次ステップに移行し、改ざんが判明した場合にはその旨をサーバ装置10に伝達し、該サーバ装置10によって各クライアント装置20に対してゲームの中止を指示する(ステップS241)。
【0040】
そして、前記サーバ装置10のゲーム手段1010は、受信したこれらの素数に基づいてカードの数字を決定する
カードの数字を決定する演算は次のような手順で行われる。
すなわち、前記サーバ装置10のゲーム手段1010が受信した第1素数pがp1〜px、第2素数がq1〜qxであったとする。
式(7)のように各第1素数p1〜px(所定ビットの削除後)の排他的論理和p0を演算する。
p0=p1*p2*p3*……*px (7)
次に、p0を208で割ってその余りによりカードの数または絵柄を特定する。
同様に、式(8)のように各第2素数q1〜qx(所定ビットの削除後)の排他的論理和q0を演算する。
q0=q1*q2*q3*……*qx (8)
次に、q0を208で割ってその余りによりカードの数または絵柄を特定する。
したがって、親プレーヤは、排他的論理和p0、q0の数字で特定されるカードをブラックジャックのルールに基づいて各操作者(クライアント装置20)に対応して所定枚数ずつ配る。このルール自体は本発明の要旨と直接関連しないので説明を省略する。
すなわち、カードの数字および絵柄に対応するデータが前記サーバ装置10のゲーム手段1010から各クライアント装置20に送信される。そのデータに基づいて、各クライアント装置20の表示手段2006に配られたカードの画像(絵柄と数字を含む)が表示される(ステップS240)。
【0041】
このようにカードの絵柄と数字が決定することで、ブラックジャックの勝敗が決定すると(ステップS242で“Y”)、賭け金の配当などの処理が実行される(ステップS244)。
ブラックジャックの勝敗が決定しないと(ステップS242で“N”)、ステップS234に戻る。
ゲームを続行するか否かの選択を行い(ステップS246)、続行する場合(ステップS246で“Y”)にはステップS22に移行し、続行しない場合(ステップS246で“N”)には終了する。
【0042】
以上説明したように、第3の参考例によれば、前記合成数nが前記各クライアント装置20の表示手段2006によって表示された後、前記第1、第2素数p、qの双方が前記ゲーム用データとして前記サーバ装置10に送信される。前記第1、第2素数p、qに対する改竄などの不正行為があると、前記合成数nと前記第1、第2素数p、qとの関係が矛盾することになり、すなわち、n=p・qが不成立となり、これにより不正行為を発見することが可能となる。
【0043】
また、カードの絵柄と数字を決定するための演算の過程で各クライアント装置20の個人認証装置22で生成された第1素数p、第2素数qの全てが使用されるため、各子プレーヤに対して公平性を保つことができる。
また、前記個人認証装置22を用いて子プレーヤの認証を行うことにより、ギャンブルを行う子プレーヤの制限(年齢制限)を容易に行うことができることは第1の参考例と同様である。
【0044】
また、ステップS240の動作において、各クライアント装置20の表示手段2006においてカードがシャッフルされるなどの様子を示す画像を表示すれば、視覚的な効果を向上させる上で好ましい。
【0045】
なお、第1乃至第3の参考例は、クラップス、ルーレット、ブラックジャックに限定されるものでない。例えば、カードを用いるポーカーに適用することができる。
また、第1乃至第3の参考例は、ダイスやカードを用いるゲームに限定されるものではなく、前記第1、第2素数p、qをゲーム用データとして用いることができるゲームであれば適用可能である。
また、第1、第2素数p、qのビット長を長くするほど、前記合成数nから第1、第2の素数を算出することを困難にすることができ不正行為を防止する上で有利である。例えば、前記ビット長を500ビット以上に設定すれば、事実上、第1、第2素数の解読は不可能であるといえる。
また、前記サーバ装置10とクライアント装置20を接続する通信回線は、VPN(Vertual Private Network)を用いることによって暗号化通信が保証されるので好ましい。また、前記通信回線としてインターネット以外の通信回線を使用することは任意である。
【0046】
なお、第1乃至第3の参考例で説明したゲームは、親プレーヤが専らゲームの進行を司るのみであり、自ら賭け金をベッドすることができないものであったが、親プレーヤが子プレーヤと同様に賭け金をベッドすることが可能なゲームにおいても同様に適用できることは勿論である。
【0047】
また、前記各クライアント装置10が前記合成数を前記サーバ装置10に送信するにあたって、前記合成数に対して各プレーヤのタイムスタンプ付のデジタルサインを行なうように構成すれば、合成数の送信元、送信日時を特定することが可能となる。
この場合には、前記合成数を送信したこと自体を否定したり、送信した合成数の送信日時を偽ったりすることを防止することができ、不正行為を抑制する上で有利である。
また、前記各クライアント装置10が前記賭けデータを前記サーバ装置10に送信するにあたって、前記賭けデータに対して各プレーヤのデジタルサインを行ない、サーバ装置で前記賭けデータにタイムスタンプが付されるように構成すれば、前記賭けデータの送信元、送信日時を特定することが可能となる。
この場合には、前記賭けデータを送信したこと自体を否定したり、送信した賭けデータの送信日時を偽ったりすることを防止することができ、不正行為を抑制する上で有利である。
【0048】
次に、本発明の実施の形態について説明する。
実施の形態が第1乃至第3の参考例と異なるのはゲーム用データの生成動作である。
第1乃至第3の参考例と同様に、前記クライアント装置20から前記個人認証装置22に公開鍵、秘密鍵の生成を指示するコマンドが送信される。
前記PKIエンジン2208(ゲーム用データ生成手段)は、前記コマンドに応じてnビットの乱数Mを生成する。実施の形態では、前記乱数Mは、素数であっても非素数であってもかまわない。
M=a……a (9)
(a乃至aは各ビットを示す)
前記PKIエンジン2208は、前記乱数Mが得られたら式(10)に示すように乱数Mをハッシュ関数に入力してハッシュデータHを求める。
H=Hash(M) (10)
このハッシュデータHは、そのデータから乱数Mを逆算して求めることができないものであり、乱数Mのビット数よりも少ないビット数の数字から構成されるものである。言い替えると、前記ハッシュデータHは、前記乱数Mに基づき不可逆的かつ一意に生成されることになる。
そして、前記ハッシュデータHに対して各プレーヤのタイムスタンプ付のデジタルサインがなされる。
【0049】
次に、上述のようなゲーム用データの生成方法を用いたクラップスゲームについて、図12のフローチャートを用いて説明する。また、図12において図5のフローチャートと同様の処理については同一のステップ番号を付してその説明を省略する。
なお、実施の形態のおける通信ゲームシステムの構成は第1の参考例と同様であるため、以下の動作においては図1乃至図4を流用して説明する。また、本実施の形態では、前記クライアント装置20と個人認証装置22によって本発明のクライアントおよび情報処理装置が構成されている。
【0050】
まず、ステップS10乃至S18までは図5のフローチャートと同様であるためその説明を省略する。
図13に示すように、ステップS20において、前記画面には、クラップスを行うテーブルの画像G2(詳細な画面内容は省略する)が表示されるとともに、ゲームに参加している全ての子プレーヤのクライアント装置20から送信される前記ハッシュデータH(H1〜Hx)、ゲームデータm1(m1(1)〜m1(x))、ゲームデータm2(m2(1)〜m2(x))が表示されるようになっている。
また、ダイスを振るためのダイスボタンB1、ハッシュデータHを送信するためのH送信ボタンB21、ゲームデータm1、m2を送信するためのm1、m2送信ボタンB31、B41も表示されている。
これらのボタンは、初期状態では操作が不能な状態に設定されている。なお、各ボタンは、操作が可能な状態(レディ状態)か否かに応じて異なる色で表示されるようになっており、例えば操作が可能な状態では緑色に、操作が不能な状態では赤色になるように構成されている。
以下ステップS22、S24は第1の参考例と同様の動作である。
【0051】
ステップS26でダイスボタンが操作されると、前記クライアント装置20のクライアント制御手段22は、前述した動作に従って乱数Mを生成し(ステップS282:種情報生成ステップ)、この乱数MのハッシュデータHを生成する(ステップS284:認証情報生成ステップ)。
さらに、前記乱数Mを所定ビット数(例えば8ビット)ずつ区切ってゲーム用データm(m1、m2、m3、……)を生成する(ステップS286)
前述したように、
M=a……a (9)
とすれば、m1、m2、m3は以下の式(11)、(12)、(13)、……のように示される。
m1=a (11)
m2=a101112131415 (12)
m3=a1617181920212223 (13)
【0052】
そして、前記クライアント制御手段2004は、まず、H送信ボタンB21を操作可能な状態にする。例えば、このボタンの色を赤色から緑色に変化させる(ステップS302)。
各子プレーヤが前記H送信ボタンB2を操作することで、前記サーバ装置10に全てのハッシュデータHが送信されると、前記サーバ装置10のゲーム手段1010は前記ハッシュデータHを各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全てのハッシュデータHが表示される(ステップS322:認証情報送信ステップ、認証情報受信ステップ)。
したがって、各子プレーヤは自らのハッシュデータHと、他の子プレーヤのハッシュデータHとを視認することができる。
【0053】
次に、前記全てのハッシュデータHが各クライアント装置20に送信された後、前記サーバ装置10のゲーム手段1010は、ゲーム用データm1、m2を送信するためのボタンを操作可能な状態にする旨の指示を各クライアント装置20に送信する。
これにより、前記クライアント制御手段2004は、前記m1、m2送信ボタンB31、B41を操作可能な状態にする。例えば、前記m1、m2送信ボタンB31、B41の色を赤色から緑色に変化させる(ステップS342)。
各子プレーヤがm1送信ボタンB31とm2送信ボタンB41の双方を操作することで、前記サーバ装置10に全クライアント装置20におけるゲーム用データm1(1)〜m1(x)とm2(1)〜m2(x)が送信される(ステップS362)。
次いで、前記サーバ装置10のゲーム手段1010は、前記全てのクライアント装置20におけるゲーム用データm1(1)〜m1(x)とm2(1)〜m2(x)を各クライアント装置20に送信する。これにより、各クライアント装置20の表示手段2006に前記全てのクライアント装置20におけるゲーム用データが表示される(ステップS382:種情報送信ステップ)。
したがって、各子プレーヤは自らのゲーム用データm1、m2と、他の子プレーヤのゲーム用データm1、m2とを視認することができる。
そして、このステップS382において、前記各クライアント制御手段2004は、前記クライアント通信手段2002で受信した前記全てのハッシュデータHと、前記クライアント通信手段2002で受信した全てのゲーム用データm1、m2とをベリファイ、すなわち比較して前記ゲーム用データm1、m2が改ざんされているか否かを判定する(ステップS384)。この確認結果で改ざんなしと判定されば次ステップに移行し、改ざんが判明した場合にはその旨をサーバ装置10に伝達し、該サーバ装置10によって各クライアント装置20に対してゲームの中止を指示する(ステップS386)。
【0054】
そして、前記サーバ装置10のゲーム手段1010は、受信したこれらのゲーム用データに基づいて2つのダイスの目(1〜6までのいずれかの数)を決定する
なわち、前記サーバ装置10のゲーム手段1010が受信したゲーム用データm1がm1(1)〜m1(x)であったとする。
次いで、式(14)のように各ゲーム用データm1の排他的論理和m1(0)を演算する。
m1(0)=m1(1)*m1(2)*m1(3)*……
*m1(x) (14)
次に、m1(0)を6で割ってその余りを1つめのダイスの目とする(ただし余り0はダイスの目6とする)。
そして、前記サーバ装置10のゲーム手段1010は、1つめのダイスの目のデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006に1つめのダイスの目を表示させる(ステップS40)。
【0055】
同様に、式(5)のように各ゲーム用データm2(1)〜m2(x)(所定ビットの削除後)の排他的論理和m2(0)を演算する。
m2(0)=m2(1)*m2(2)*m2(3)*……
*m2(x) (15)
次に、m2(0)を6で割ってその余りを2つめのダイスの目とする(ただし余り0はダイスの目を6とする)。
そして、前記サーバ装置10のゲーム手段1010は、2つめのダイスの目のデータを各クライアント装置20に送信することにより、各クライアント装置20の表示手段2006に2つめのダイスの目を表示させる(ステップS42)。
【0056】
このように2つのダイスの目が決定することで、クラップスの勝敗が決定すると(ステップS44で“Y”)、賭け金の配当などの処理が実行される(ステップS46)。
クラップスの勝敗が決定しないと(ステップS44で“N”)ステップS342に戻る。
ゲームを続行するか否かの選択を行い(ステップS48)、続行する場合(ステップS48で“Y”)にはステップS22に移行し、続行しない場合(ステップS48で“N”)には終了する。
【0057】
以上説明したように、実施の形態によれば、前記ハッシュデータHが前記各クライアント装置20の表示手段2006によって表示された後、前記ゲーム用データm1、m2の双方が前記ゲーム用データとして前記サーバ装置10に送信される。前記ゲーム用データm1、m2に対する改竄などの不正行為があると、前記ハッシュデータHと前記ゲーム用データm1、m2との関係が矛盾することになり、不正行為を発見することが可能となる。
また、実施の形態では、第1乃至第3の参考例に比較して、乱数Mからゲーム用データを生成する際に素数を選択する処理が必要ないため、この処理に要する時間を短縮することができ、処理を高速化する上で有利である。
また、実施の形態においても、前記乱数Mのビット長を長くするほど、ハッシュデータなどからゲーム用データを算出することを困難にでき、前記ビット長を500ビット以上にすれば、事実上ゲーム用データを算出することが不可能であるといえる。
【0058】
また、前記ハッシュデータHに対して、前述したようにタイムスタンプ付のデジタルサインがなされることによって、ハッシュデータHの送信元、送信日時を特定することが可能となる。
したがって、あるハッシュデータHを送信したこと自体を否定したり、送信したハッシュデータHの送信日時を偽ったりすることを防止することができ、不正行為を抑制する上で有利である。
また、実施の形態においても、前記各クライアント装置10が前記賭けデータを前記サーバ装置10に送信するにあたって、前記賭けデータに対して各プレーヤのデジタルサインを行ない、サーバ装置で前記賭けデータにタイムスタンプが付されるように構成すれば、前記賭けデータの送信元、送信日時を特定することが可能となる。
この場合には、前記賭けデータを送信したこと自体を否定したり、送信した賭けデータの送信日時を偽ったりすることを防止することができ、不正行為を抑制する上で有利である。
【0059】
また、ダイスの目を決定するための演算の過程で各クライアント装置20の個人認証装置22で生成されたゲーム用データm1、m2の全てが使用されるため、各プレーヤに対して公平性を保つことができる。
また、前記個人認証装置22を用いてプレーヤの認証を行うことにより、ギャンブルを行うプレーヤの制限(年齢制限)を容易に行うことができる。
【0060】
また、ステップS40、S42の動作において、各クライアント装置20の表示手段2006においてダイスが転がる様子を示す画像を表示すれば、視覚的な効果を向上させる上で好ましい。
【0061】
なお、本例では、乱数Mの最上位ビットから所定ビット毎に区切って、初めの2つのデータをゲーム用データm1、m2として生成し、これらを1回のゲームを行うためのデータとして使用した。
しかしながら、乱数Mの最上位ビットから所定ビット毎に区切ることによって、前記m1、m2に続くデータm3、m4、……を生成することにより、これらm3以降のデータを2回目以降のゲーム、すなわち2回目以降のゲームにおけるダイスの目として使用してもよい。
【0062】
また、実施の形態は、本発明をダイスの目が1乃至6となるゲームであるクラップスに適用した場合について説明したが、ゲーム用データとして必要な数値の範囲を変えることによって、第2、第3の参考例と同様に、ルーレットやブラックジャック、その他のゲームに広く適用することが可能である。
すなわち、ゲーム用データとして必要な数値の範囲を1〜kとすれば、ゲームデータの排他的論理和をkで割った余りの値が0〜(k−1)となる。したがって、このkの値を任意に設定すればよい。
また、前記乱数Mを、乱数Mの最上位ビットから所定ビット毎に区切ることによって得た複数のデータを2回目以降のゲームに使用できることはゲームの種類に関係しない。例えば、前記ゲームがカードを用いるものならば前記各データを2回目以降のゲームにおけるカードの数とマークを特定するために使用し、前記ゲームがルーレットならば前記各データを2回目以降のルーレットの目を特定するために使用すればよい。
【0063】
なお、実施の形態では、前記乱数Mに基づくハッシュデータHの生成と、該ハッシュデータHに対するタイムスタンプ付デジタルサインの付加を前記PKIエンジン2208で行ったが、この2つの動作は、前記CPU2214あるいは前記クライアント制御手段2004で行ってもかまわない。
【0064】
また、実施の形態においても、第1の参考例と同様に、前記種情報が改竄された場合、その不正を発見できる。したがって、各情報処理装置は種情報を同時に送り必要はなく、異なった時刻に情報管理装置に送信できる利点がある。
【0065】
なお、第1乃至第3の参考例では、各子プレーヤのクライアント装置20においてのみ第1、第2素数、合成数を生成し、これら第1、第2素数、合成数をサーバ装置10に送信することでゲーム用データを構成するものとして説明した。
しかしながら、親プレーヤのクライアント装置20においても該親プレーヤに対応する第1、第2素数、合成数を生成してサーバ装置10に送信し、この親プレーヤに対応する第1、第2素数、合成数と、各子プレーヤのクライアント装置20からサーバ装置10に送信された第1、第2素数、合成数とに基づいてサーバ装置10がゲーム用データを作成するようにしてもよい。
この場合には、親プレーヤを除く子プレーヤの全てが共謀して第1、第2素数、合成数を生成したとしても、親プレーヤの第1、第2素数、合成数がゲーム用データを構成するために用いられるため、該ゲーム用データが共謀した子プレーヤの意図に関わらず無作為なものとなり、不正行為を防止することができる。
【0066】
また、実施の形態では、前記各クライアント装置20においてのみ前記乱数、ハッシュデータを生成し、これら乱数、ハッシュデータをサーバ装置10に送信することでゲーム用データを構成するものとして説明した。
しかしながら、親プレーヤのクライアント装置20においても該親プレーヤに対応する乱数、ハッシュデータを生成してサーバ装置10に送信し、この親プレーヤに対応する乱数、ハッシュデータと、各子プレーヤのクライアント装置20からサーバ装置10に送信された乱数、ハッシュデータとに基づいてサーバ装置10がゲーム用データを作成するようにしてもよい。
この場合において、子プレーヤの全てが共謀して乱数、ハッシュデータを生成したとしても、親プレーヤの乱数、ハッシュデータがゲーム用データを構成するために用いられるため、該ゲーム用データが共謀した子プレーヤの意図に関わらず無作為なものとなり、不正行為を防止することができる。
【0067】
【発明の効果】
以上説明したように本発明によれば、ゲームを行うプレーヤの不正行為を防止することができ、ゲームをギャンブルとして行う場合に有利である
【図面の簡単な説明】
【図1】 第1乃至第3の参考例および本発明の実施の形態におけるサーバ装置およびクライアント装置の概略構成を示すブロック図である。
【図2】 第1乃至第3の参考例および本発明の実施の形態における通信ゲームシステムの概略構成を示す構成図である。
【図3】 個人認証装置の外観図である。
【図4】 個人認証装置の構成を示すブロック図である。
【図5】 第1の参考例の動作を示すフローチャートである。
【図6】 メニュー画面の説明図である。
【図7】 クラップスを選択した際の表示手段の画面の説明図である。
【図8】 ルーレットを選択した際の表示手段の画面の説明図である。
【図9】 第2の参考例の動作を示すフローチャートである。
【図10】 ブラックジャックを選択した際の表示手段の画面の説明図である。
【図11】 第3の参考例の動作を示すフローチャートである。
【図12】 実施の形態の動作を示すフローチャートである。
【図13】 クラップスを選択した際の表示手段の画面の説明図である。
【符号の説明】
100……通信ゲームシステム、10……サーバ装置、1002……サーバ通信手段、1004……サーバ制御手段、1006……表示手段、1010……ゲーム手段、20……クライアント装置、2002……クライアント通信手段、2004……クライアント制御手段、2006……表示手段、22……個人認証装置。
[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to a communication game system for playing a game via communication,Server and clientAbout.
[0002]
[Prior art]
  In a system in which a server and a plurality of clients are connected via the Internet, a technique for playing a game between the server and each client has already been put into practical use.
  In the near future, it is expected that such a system will be used for gambling.
[0003]
[Problems to be solved by the invention]
  However, in such a system for playing a game via the Internet, the player plays the game in a state where they are separated from each other. Therefore, the information transmission time is used in the process of transferring information via the Internet. There is a chance to perform fraud (cheat) by falsifying data.
  Further, when such a game is played, in the configuration in which the information management apparatus and the plurality of information processing apparatuses communicate information via a communication line, information is transmitted between the plurality of information processing apparatuses and the information management apparatus. Therefore, when information processing is performed, it is required to detect the alteration with certainty when the information is altered.
  The present invention has been made in view of such circumstances, and an object of the present invention is to provide a communication game system that can prevent an illegal act of a player who plays a game and is advantageous when the game is played as a gamble.To provide servers and clients.
[0004]
[Means for Solving the Problems]
  In order to achieve the above object, the present invention is a communication game system in which a server and a plurality of clients are connected via a communication line, and information is exchanged between the server and each client. A server communication means for performing communication via the communication line, a game means for executing a game, and a server control means, wherein each of the clients is provided with a display means for displaying information and via the communication line. Client communication means for communicating with each other, random number generation means for generating random numbers, hash data generation means for generating hash data of the random numbers, and game data for generating game data by dividing the random numbers every predetermined number of bits A data generation unit and a client control unit, and execution of the game by the game unit of the server is performed by each client communication unit. The client communication means is configured to transmit the hash data to the server, and the server control means is the server communication means. When all the hash data is received, all the hash data is transmitted to each client communication unit, and each client control unit displays all the hash data received by the client communication unit. The game communication data is transmitted to the server by the client communication means after being displayed by the means.The game executed by the game means of the server is performed by performing an operation using all of the game data transmitted from the transmission means of each client.It is characterized by that.
[0005]
  Further, the present invention is a server connected to a plurality of clients via a communication line, the server including server communication means for performing communication via the communication line, game means for executing a game, and server Control means, and the game means is configured to play a game using game data transmitted from each client to the server communication means, and the server control means is configured such that each client uses a random number. When all of the generated hash data is received by the server communication unit, all the hash data is transmitted to each client, and the server communication unit is configured to transmit all the hash data received by each client. Is displayed, and then the game data generated by dividing the random number every predetermined number of bits is stored in the client. It is configured to receive fromThe execution of the game by the game means is performed by performing an operation using all the game data transmitted from the transmission means of each client.It is characterized by that.
[0006]
  Further, the present invention is a client connected to a server via a communication line, the client including a display means for displaying information, a client communication means for communicating via the communication line, and a random number. A random number generating means for generating, a hash data generating means for generating hash data of the random number, a game data generating means for generating game data by dividing the random number into predetermined bit numbers, and a client control means. The client communication unit is configured to transmit the hash data to the server, and the client control unit receives all the hash data from all clients connected to the server. If all the hash data is transmitted to the client communication means, the class After all of the hash data received by ant communication means is displayed by said display means, it is configured to transmit the game data to the server by the client communication meansThe game data transmitted to the server by the client communication means is a game that is executed by the game means of the server performing an operation using all of the game data.It is characterized by that.
[0007]
  Therefore, after the hash data is displayed by the display means, the game data is transmitted to the server. If there is an illegal act such as tampering with the game data, the relationship between the hash data and the game data becomes inconsistent, and an illegal act can be found.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
  Before describing embodiments of the communication game system, server, and client of the present invention, first to third reference examples will be described.
  In addition, the 1st thru | or 3rd demonstrated belowReference examples and embodimentsThen, the case where a game is performed as gambling will be described.
  FIG. 2 is a configuration diagram showing a schematic configuration of the communication game system.
  The communication game system 100 as an information processing system includes a server device 10 as an information management device, a plurality of client devices 20 (20-1 to 20-m) constituting the information processing device, the server device 10 and each client. An Internet 30 serving as a communication line connecting the apparatus 20 is provided.
  Information is exchanged between the server device 10 and each client device 20 based on a public key encryption method. That is, the server device 10 and each client device 20 constitute a public key infrastructure (PKI).
[0009]
  FIG. 1 is a block diagram showing a schematic configuration of the server device 10 and the client device 20.
  As shown in FIG. 1, the server device 10 is configured by a computer, and includes server communication means 1002, server control means 1004, display means 1006, input means 1008, game means 1010, and the like.
  The server communication unit 1002 is configured to communicate with each client device 20 via the Internet 30.
  The server control unit 1004 manages the control of each unit.
  The display unit 1006 includes a monitor device and the like, and is configured to display an image necessary for playing a game on a screen.
  The input unit 1008 includes a mouse, a keyboard, and the like, and is configured to input operations and information necessary for playing a game.
  The game means 1010 executes a game and is realized by the CPU executing game software.
  Note that the detailed processing contents of the game performed by the game means 1010 are not directly related to the gist of the present invention, so the description thereof will be omitted, and the necessary processing contents will be briefly described in the operation description to be described later.
  In addition, the server device 10 is configured to cause each of the units to function when the CPU executes a server program installed in a hard disk device that is a storage unit provided in the computer.
  The installation of the server program in the server device 10 may be performed by downloading via the Internet, or the server program recorded on a recording medium such as a CD-ROM may be downloaded via the CD-ROM drive device. It may be performed by reading.
  The server program may be preinstalled in the server device 10.
  Needless to say, each of the units constituting the server device 10 may be realized by hardware.
[0010]
  The client device 20 is configured to be connectable to a personal authentication device 22 described later..
  in frontThe client device 20 is configured by a computer and includes client communication means 2002, client control means 2004, display means 2006, and input means 2008.
  The client communication unit 2002 is configured to communicate with the server device 10 via the Internet 30.
  The client control unit 2004 controls the respective units.
  The display means 2006 is composed of a monitor device or the like, and is configured to display an image necessary for playing a game on the screen.
  The input unit 2008 includes a mouse, a keyboard, and the like, and is configured to input operations and information necessary for playing a game.
  The client device 20 is configured to operate when the CPU executes a client program installed in a hard disk device that is storage means provided in the computer.
  The installation of the client program on the client device 20 may be performed by downloading via the Internet, or the client program recorded on a recording medium such as a CD-ROM may be downloaded via the CD-ROM drive device. It may be performed by reading.
  The server program may be preinstalled in the client device 20.
  Of course, each of the means constituting the client device 20 may be realized by hardware.
[0011]
  The client device 20 is provided with a personal authentication device 22 so as to be connectable.
  The personal authentication device 22 authenticates that the player who operates each client device 20 is a person registered in advance. Player personal authentication is necessary to prevent minors from gambling.
  As shown in FIG. 3, the personal authentication device 20 is provided with a fingerprint collation sensor 2202 at a location facing the outside of the casing 2001, and is configured to be able to exchange information with the client device 20 via a cable 2203. Has been. The exchange of information is performed based on the USB standard, for example.
[0012]
  As shown in FIG. 4, in addition to the fingerprint verification sensor 2202, the personal authentication device 22 includes an A / D converter 2204, a fingerprint verification LSI 2206, a PKI engine 2208 (game data generation means), a flash memory 2210, a program ROM and RAM 2212, CPU 2214, USB controller 2216, and the like.
  The fingerprint verification LSI 2206, PKI engine 2208, flash memory 2210, program ROM and RAM 2212, CPU 2214, and USB controller 2216 are commonly connected by a bus.
  The fingerprint collation sensor 2202 reads a fingerprint from a fingertip placed on the fingerprint collation sensor 2202 and outputs fingerprint data (grayscale data).
  The A / D converter 2204 converts the fingerprint data from an analog signal to a digital signal.
  The fingerprint collating LSI 2206 generates template data of a characteristic portion from the digital data and stores it in the flash memory 2210.
  The PKI engine 2208 generates a public key and a secret key necessary for communication based on the public key encryption method, and performs encryption / decryption based on the public key and the secret key. The generation of the public key and secret key will be described later.
  The flash memory 2210 is configured to store the template data and chip data given to the player in exchange for a wager.
  The program ROM and RAM 2212 store a control program for the personal authentication device 20.
  The USB controller 2216 is an interface for transmitting / receiving information to / from the client device 20.
  The CPU 2214 controls the units based on the control program.
[0013]
  Next, the operation of the personal authentication device 22 will be described.
  First, a registration operation for registering a player using the client device 20 will be described.
  The player places a finger on the fingerprint collation sensor 2202 of the personal authentication device 22. As a result, fingerprint data is read by the fingerprint verification LSI 2206 via the A / D converter 2204, and the template data is stored in the flash memory 2210. Thereby, the fingerprint data of the player is registered.
  Next, an authentication operation for authenticating the player will be described.
  The player places a finger on the fingerprint collation sensor 2202 of the personal authentication device 22. As a result, fingerprint data is read by the fingerprint verification LSI 2206 via the A / D converter 2204 and verified with the template data stored in the flash memory 2210. The result is notified to the CPU 2214.
  The CPU 2214 notifies the client device 20 that the authentication has been normally performed if the collation result is acceptable. Thereby, the client device 20 can be used. On the other hand, if the verification result is unsuccessful, the client device 20 is notified that the authentication has not been performed. As a result, the client device 20 cannot be used.
[0014]
  Next, the operation of generating a public key and a secret key based on the RAS scheme by the PKI engine 2208 will be described.
  A command instructing generation of a public key and a secret key is transmitted from the client device 20 to the personal authentication device 22.
  The PKI engine 2208 generates a random number in response to the command. The generation of the random number is repeated until a non-prime number is obtained.
  When a non-prime random number is obtained, the PKI engine 2208 converts this random number into a composite number as shown in Equation (1).n andAnd two primes indicating the composite number n as the productnumber,That is, it is decomposed into a first prime number p and a second prime number q. The composite number n is also called modulus. In other words, the composite number n is irreversibly and uniquely generated based on the first prime number p and the second prime number q.
  n = p · q (1)
  Next, y is obtained based on the equation (2).
  (P-1). (Q-1) + 1 = y (2)
  Next, a public key e and a secret key d, which show y as a product, are obtained based on the equation (3).
  e ・ d = y (3)
  For example, if the composite number n = 33, the formulas (1), (2), and (3) are as follows.
  33 = 3.11 (1)
  (3-1) · (11-1) + 1 = 21 (2)
  3 · 7 = 21 (3)
  That is,
  Number of synthesis n: 33
  Public key e: 3
  Private key d: 7
  It becomes.
[0015]
  Next, the operation at the time of playing the game will be described with reference to the flowchart of FIG. The firstReference exampleNow, a case where the game is craps will be described.
  A player who plays a game includes one parent player who plays a role in controlling the progress of the game, and one or more child players who participate in the game according to the progress of the parent player.
  BookReference exampleIn the following description, it is assumed that the parent player operates the server device 10 via the client device 10 and the child player operates the client device 20.
[0016]
  First, each child player goes to a registration place of a service provider that provides gambling, performs his / her age verification, registers fingerprint data in the personal authentication device 22 and performs personal registration (step S10). Next, each child player pays a wager to have the chip data corresponding to the wager stored in the flash memory 2210 (step S12).
  The chip data is digitally signed by the service provider.
  Thereafter, the personal authentication device 22 is lent to each child player (step S14).
  Each child player connects the lent personal authentication device 22 to the client device 20 and performs a personal authentication operation (step S16). When the personal authentication operation is normally performed, preparation for participating in the game is completed.
[0017]
  When the game participation preparation is completed, as shown in FIG. 6, a menu G1 for selecting a game is displayed on the screen of the display means 2006 of the client device 20 (step S18).
  By selecting craps and pressing an execution key on the keyboard of the input unit 2008 of the client device 20, a screen for performing craps is displayed as shown in FIG. 7 (step S20).
  On the screen, an image G2 of a table for performing craps (detailed screen contents are omitted) is displayed, and the composite number n (from the client devices 20 of all child players participating in the game) n1-nx), the first prime number p (p1-px), and the second prime number q (q1-qx) are displayed.
  Also, a dice button B1 for dicing, an n transmission button B2 for transmitting the composite number n, a p transmission button B3 for transmitting the first prime number p, and a q transmission button for transmitting the second prime number q B4 is also displayed.
  These buttons are set in an inoperable state in the initial state. Each button is displayed in a different color depending on whether or not operation is possible (ready state), for example, green when operation is possible and red when operation is not possible. It is configured to be.
[0018]
  The child player bets chips while watching the image on the table (step S22). That is, by operating the mouse of the input unit 2008, the image chip is dragged and dropped to a desired location on the image table. This image is displayed on the monitor device of each client in real time. The betting of the chip means that betting data corresponding to the betting amount is bitted, that is, presented to the server device 10 by each client device 20.
  Note that an operation such as placing such a chip on the table and a display corresponding to the operation are performed between the server device 10 and each client device 20 under the control of the game unit 1010 and the server control unit 1004 of the server device 10. This is realized by communicating information with each other via the Internet 30.
[0019]
  When all of the child players have bet chips, the parent player performs an operation on the input unit 1008 of the client device 20 of the parent player to make all of the client devices 20 of the child player into the die ready state. This operation information is transmitted to the server device 10 via the Internet 30, and the server control unit 1004 that recognizes the operation information instructs the server communication unit 1002 from the server control unit 1004 to enter the die ready state. The client control unit 1004 of each client device 20 changes the color of the dice button B1 of the display unit 2006 from red indicating inoperability to green indicating possible (step). S24).
  In response to this, when each child player clicks the dice button B1, the client control unit 2004 of each client device 20 instructs the personal authentication device 22 to generate a public key and a secret key (step S26).
  The personal authentication device 22 generates the composite number n, the first prime number p, and the second prime number q in accordance with the above-described operation, and gives them to the client control unit 2004 (step S2).8).
  The client control unit 2004 first makes the n send button B2 operable. For example, the color of this button is changed from red to green (step S30).
  When each child player operates the n transmission button B2, and all the composite numbers n are transmitted to the server device 10, the game means 1010 of the server device 10 sets all the composite numbers n to each client device. 20 to send. As a result, all the composite numbers n are displayed on the display means 2006 of each client device 20 (step S3).2).
  Therefore, each child player can visually recognize his / her composite number n and the composite number n of other child players.
[0020]
  Next, after all the composite numbers n are transmitted to each client device 20, the game means 1010 of the server device 10 can operate buttons for transmitting the first prime number p and the second prime number q. An instruction to do so is transmitted to each client device 20.
Accordingly, the client control unit 2004 puts the p transmission button B3 and the q transmission button B4 into an operable state. For example, the color of these buttons B3 and B4 is changed from red to green (step S34).
  When each child player operates both the p transmission button B3 and the q transmission button B4, the first prime number p and the second prime number q in all the client apparatuses 20 are transmitted to the server apparatus 10 as game data (step). S36).
  Next, the game means 1010 of the server device 10 transmits all the first prime numbers p and second prime numbers q to each client device 20. As a result, all the first prime numbers p and second prime numbers q are displayed on the display means 2006 of each client device 20 (step S3).8).
  Therefore, each child player can visually recognize his / her first prime number p and second prime number q and the first prime number p and second prime number q of other child players.
  In step S38, each client control unit 2004 determines that all the composite numbers n received by the client communication unit 2002 and all the first and second prime numbers p, q received by the client communication unit 2002 are obtained. Are verified, that is, compared to determine whether or not the first and second prime numbers p and q are falsified (step S39). If it is determined that there is no falsification based on the confirmation result, the process proceeds to the next step. If falsification is found, the fact is notified to the server device 10, and the server device 10 instructs each client device 20 to stop the game. (Step S41).
[0021]
  Then, the game means 1010 of the server device 10 determines two dice eyes (any number from 1 to 6) based on the received prime numbers..
  That is, it is assumed that the first prime number p received by the game means 1010 of the server device 10 is p1 to px, and the second prime number is q1 to qx.
  First, a predetermined bit is deleted from the LSB (least significant bit) side of the first and second prime numbers. This is because the prime number is always composed of an odd number.
  Next, an exclusive OR p0 of each first prime number p1 to px (after deletion of a predetermined bit) is calculated as in Expression (4).
  p0 = p1 * p2 * p3 * ...... * px (4)
(In this specification, * indicates an operation symbol of exclusive OR)
  Next, p0 is divided by 6, and the remainder is used as the first die eye (however, the remainder 0 is the die eye 6).
  Then, the game means 1010 of the server device 10 transmits the first dice eye data to each client device 20 to display the first dice eye on the display means 2006 of each client device 20 ( Step S40).
[0022]
  Similarly, an exclusive OR q0 of each second prime number q1 to qx (after deletion of a predetermined bit) is calculated as in Expression (5).
  q0 = q1 * q2 * q3 * ...... * qx (5)
  Next, divide q0 by 6 to make the remainder of the second die eye (however, the remainder of 0 makes the die eye 6).
  Then, the game means 1010 of the server device 10 transmits the second die eye data to each client device 20 to display the second die eye on the display means 2006 of each client device 20 ( Step S42).
[0023]
  When the eyes of the two dice are determined in this manner and the winning / losing of craps is determined (“Y” in step S44), processing such as a payout of a wager is executed (step S46).
  If the winning / losing of craps is not determined ("N" in step S44), the process returns to step S34.
  It is selected whether or not to continue the game (step S48). If the game is to be continued ("Y" in step S48), the process proceeds to step S22, and if not continued ("N" in step S48), the process is terminated. .
[0024]
  As explained above, the firstReference exampleAccording to the above, after the composite number n is displayed by the display means 2006 of each client device 20, both the first and second prime numbers p and q are transmitted to the server device 10 as the game data. . If there is an illegal act such as tampering with the first and second prime numbers p and q, the relationship between the composite number n and the first and second prime numbers p and q is inconsistent, that is, n = p Q becomes unsatisfied, which makes it possible to detect fraud.
[0025]
  In addition, since all of the first prime number p and the second prime number q generated by the personal authentication device 22 of each client device 20 in the process of calculating the dice roll are used, it is fair to each player. Can keep sex.
  Further, by authenticating the player using the personal authentication device 22, it is possible to easily limit the player who performs gambling (age limitation).
[0026]
  In the operations of steps S40 and S42, it is preferable to display an image showing how the dice rolls on the display means 2006 of each client device 20 in order to improve the visual effect.
  The firstReference exampleThen, the first and second prime numbers p and q based on the composite number n are generated by the PKI engine 2208, but this operation may be performed by the CPU 2214 or the client control unit 2004. Absent.
  In the above description, all of the first and second prime numbers p and q are used. However, the dice roll may be determined by 8 bits from these most significant bits. By doing in this way, there exists an advantage which can obtain the eyes of the dice | dies by having rolled the dice several times only by producing | generating the synthetic | combination number n once.
[0027]
  next,Second reference exampleWill be described.
  SecondReference exampleNow, description will be made assuming that the game is roulette.
  SecondReference exampleIs the firstReference exampleThe difference from the above is the contents of the operation for determining the eyes appearing in roulette using the screen displayed on the display means 2006 of each client device 20 and the first and second prime numbers p and q.
  FIG. 8 is an explanatory diagram of a screen displayed on the display unit 2006 of the client device 20 when the roulette is selected.
  As shown in FIG. 8, on the screen of the display means 2006, an image of a table for roulette is displayed, and the composite number n transmitted from the client devices 20 of all the child players participating in the game. (N1 to nx), the first prime number p (p1 to px), and the second prime number q (q1 to qx) are displayed.
  Also, a ready button B11 operated by each child player, an n transmission button B2 for transmitting the composite number n, a p transmission button B3 for transmitting the first prime number p, and a q transmission for transmitting the second prime number q. Button B4 is also displayed.
  These buttons are set in an inoperable state in the initial state. Each button is displayed in a different color depending on whether or not operation is possible (ready state), for example, green when operation is possible and red when operation is not possible. It is configured to be.
[0028]
  FIG. 9 shows the secondReference exampleIt is a flowchart which shows this operation | movement.
  In FIG. 9, steps having the same operations as those in FIG. 5 are denoted by the same step numbers and description thereof is omitted.
  Steps S10 to S18 are the firstReference exampleIt is the same.
  By selecting a roulette in step S20, a roulette screen G3 (detailed screen content is omitted) shown in FIG. 8 is displayed.
  The child player bets chips while watching the image on the table (step S22). That is, by operating the mouse of the input unit 2008, the image chip is dragged and dropped to a desired location on the image table. This image is displayed on the monitor device of each client in real time. BookReference exampleThe betting of the chip means that betting data corresponding to the betting amount is bitted to the server device 10 by each client device 20, that is, presented.
[0029]
  When all of the child players have bet chips, the parent player performs an operation on the input means 1008 of the client device 20 of the parent player to make all the ready buttons B11 of the client device 20 of the child player ready. This operation information is transmitted to the server device 10 via the Internet 30, and the server control unit 1004 that has recognized the operation information instructs the server control unit 1004 to set the ready button B11 in the ready state. The client control means 1004 of each client apparatus 20 changes the color of the ready button B11 of the display means 2006 from red indicating inoperability to green indicating possible (step). S124).
  In response to this, when each child player clicks the ready button B11, the client control means 2004 of each client device 20 instructs the personal authentication device 22 to generate a public key and a secret key (step S126).
  Hereinafter, the operations of generating and displaying the composite number n, the first prime number p, and the second prime number q by the personal authentication device 22 are the same as steps S28 to S41 in FIG.
[0030]
  The calculation for determining the roulette eye is performed in the following procedure.
  That is, it is assumed that the first prime number p received by the game means 1010 of the server device 10 is p1 to px and the second prime number is q1 to qx.
  Next, an exclusive logical sum pq0 of the first prime numbers p1 to px and the second prime numbers q1 to qx is calculated as in Expression (6).
  pq0 = p1 * p2 * p3 * …… * px
          * Q1 * q2 * q3 * …… * qx (6)
  Next, pq0 is divided by 38 and the remainder (1 to 36) is used as roulette eyes (synthesis information generation step). However, the remainder is 0 for the roulette eye and the remainder 37 is the roulette eye for 00..
  Then, the game means 1010 of the server device 10 displays roulette eyes on the display means 2006 of each client device 20 by transmitting roulette data to each client device 20 (step S140).
[0031]
  When the roulette eyes are determined in this way and the roulette wins or loses are determined ("Y" in step S142), processing such as payout of a wager is executed (step S144).
  Next, it is selected whether or not to continue the game (step S146). If the game is to be continued ("Y" in step S46), the process proceeds to step S22, and if not continued ("N" in step S46). finish.
[0032]
  As explained above, the secondReference exampleAccording to the above, after the composite number n is displayed by the display means 2006 of each client device 20, both the first and second prime numbers p and q are transmitted to the server device 10 as the game data. . If there is an illegal act such as tampering with the first and second prime numbers p and q, the relationship between the composite number n and the first and second prime numbers p and q is inconsistent, that is, n = p Q becomes unsatisfied, which makes it possible to detect fraud.
[0033]
  Further, since all of the first prime number p and the second prime number q generated by the personal authentication device 22 of each client device 20 in the process of determining the roulette eye are used, it is fair to each player. Can keep sex.
  In addition, firstly, by performing player authentication using the personal authentication device 22, it is possible to easily limit the player who performs gambling (age limitation).Reference exampleIt is the same.
[0034]
  In the operation of step S140, it is preferable to display an image showing the roulette rotating on the display unit 2006 of each client device 20 in order to improve the visual effect.
  In the above description, all of the first and second prime numbers p and q are used. However, the roulette eye may be determined by 8 bits from these most significant bits. By doing in this way, there exists an advantage which can obtain the roulette eyes for the part which rotated the roulette several times only by producing | generating the synthetic | combination number n once.
[0035]
  next,Third reference exampleWill be described.
  ThirdReference exampleNow, description will be made assuming that the game is blackjack, which is one of card games.
  ThirdReference exampleIs the firstReference exampleThe difference from the above is the calculation content for determining the card number using the screen displayed on the display means 2006 of each client device 20 and the first and second prime numbers p and q.
  FIG. 10 is an explanatory diagram of a screen displayed on the display unit 2006 of the client device 20 when blackjack is selected.
  As shown in FIG. 10, on the screen of the display means 2006, an image of a table for performing blackjack is displayed, and the composite number transmitted from the client devices 20 of all the child players participating in the game. n (n1 to nx), the first prime number p (p1 to px), and the second prime number q (q1 to qx) are displayed.
  Also, a start button B21 operated by each child player, an n transmission button B2 for transmitting the composite number n, a p transmission button B3 for transmitting the first prime number p, and a q transmission for transmitting the second prime number q. Button B4 is also displayed.
  These buttons are set in an inoperable state in the initial state. Each button is displayed in a different color depending on whether or not operation is possible (ready state), for example, green when operation is possible and red when operation is not possible. It is configured to be.
[0036]
  FIG. 11 shows the thirdReference exampleIt is a flowchart which shows this operation | movement.
  In FIG. 11, steps having the same operations as those in FIG. 5 are denoted by the same step numbers and description thereof is omitted.
  Steps S10 to S18 are the firstReference exampleIt is the same.
  By selecting blackjack in step S20, a blackjack screen G4 (detailed screen content is omitted) shown in FIG. 10 is displayed.
  The child player bets chips while watching the image on the table (step S22). That is, by operating the mouse of the input unit 2008, the image chip is dragged and dropped to a desired location on the image table. This image is displayed on the monitor device of each client in real time. The betting of the chip means that betting data corresponding to the betting amount is bitted, that is, presented to the server device 10 by each client device 20.
[0037]
  When all of the child players have bet chips, the parent player performs an operation on the input unit 1008 of the client device 20 of the parent player to make all the start buttons B21 of the client device 20 of the child player ready. . This operation information is transmitted to the server device 10 via the Internet 30, and the server control means 1004 that has recognized the operation information instructs the start button B21 to be ready.ButIt is transmitted from the server control means 1004 to each client device 20 of the child player via the server communication means 1002, and the client control means 1004 of each client device 20 indicates that the color of the start button B21 of the display means 2006 cannot be operated. The color is changed from red to green indicating possible (step S224).
  In response to this, when each child player clicks the ready button B11, the client control unit 2004 of each client device 20 instructs the personal authentication device 22 to generate a public key and a secret key (step S226).
  Hereinafter, the generation of the composite number n, the first prime number p, the second prime number q and the operation of displaying the composite number n by the personal authentication device 22 are the same as steps S28 to S32 in FIG. In this example, the number of digits of the first prime number p and the second prime number q is assumed to be 512 bits.
[0038]
  Next, after all the composite numbers n are transmitted to each client device 20, the game means 1010 of the server device 10 can operate buttons for transmitting the first prime number p and the second prime number q. An instruction to do so is transmitted to each client device 20.
  Accordingly, the client control unit 2004 puts the p transmission button B3 and the q transmission button B4 into an operable state. For example, the color of these buttons B3 and B4 is changed from red to green (step S234).
  When each child player operates both the p transmission button B3 and the q transmission button B4, the first prime number p and the second prime number q in all the client devices 20 are transmitted to the server device 10 (step S236).
  In this example, four sets of cards are used. Therefore, the total number of cards is 52 × 4 = 208, and it is sufficient that the number necessary for identifying the pattern and number of each card is 208 or more. For this reason, the number of bits of the first prime number p and the second prime number q necessary for one play is 8 bits (a number from 0 to 255 in decimal number).
  Accordingly, the first and second prime numbers p and q are transmitted 8 bits from the most significant bit every time one card is determined (for each play).
  The first and second prime numbers p and q need not use the least significant bit (LSB). The reason for this is that the generated 512-bit first and second prime numbers p and q are odd numbers, and the least significant bit (LSB) is always 1. Therefore, if transmission is performed including the least significant bit, it will be described later. This is to avoid the disadvantage that the calculation result for determining the number of cards to be played is determined according to the number of child players.
  The processing method of excluding the predetermined bits from the least significant bit side of the first and second prime numbers p and q is arbitrary. For example, of the 512 bits constituting the first and second prime numbers p and q, the lower bit half is calculated. May be omitted.
[0039]
  Next, the game means 1010 of the server device 10 transmits the first prime number p and the second prime number q for 8 bits to each client device 20. Thereby, all the first prime numbers p and second prime numbers q are displayed on the display means 2006 of each client device 20 (step S238).
  Therefore, each child player can visually recognize his / her first prime number p and second prime number q and the first prime number p and second prime number q of other child players.
  In step S238, each client control unit 2004 determines that all the composite numbers n received by the client communication unit 2002 and all the first and second prime numbers p, q received by the client communication unit 2002 are obtained. Are compared, that is, compared to determine whether the first and second prime numbers p and q have been tampered with (step S239). If it is determined that there is no falsification based on the confirmation result, the process proceeds to the next step. If falsification is found, the fact is notified to the server device 10, and the server device 10 instructs each client device 20 to stop the game. (Step S241).
[0040]
  And the game means 1010 of the said server apparatus 10 determines the number of a card | curd based on these received prime numbers..
  The calculation for determining the card number is performed in the following procedure.
  That is, it is assumed that the first prime number p received by the game means 1010 of the server device 10 is p1 to px and the second prime number is q1 to qx.
  As in Expression (7), the exclusive OR p0 of the first prime numbers p1 to px (after deletion of predetermined bits) is calculated.
  p0 = p1 * p2 * p3 * ...... * px (7)
  Next, p0 is divided by 208, and the number or pattern of cards is specified by the remainder.
  Similarly, an exclusive OR q0 of each second prime number q1 to qx (after deletion of a predetermined bit) is calculated as in Expression (8).
  q0 = q1 * q2 * q3 * ...... * qx (8)
  Next, q0 is divided by 208, and the number or pattern of cards is specified by the remainder.
  Accordingly, the parent player distributes a predetermined number of cards specified by the numbers of the exclusive ORs p0 and q0 to each operator (client device 20) based on the blackjack rule. Since this rule itself is not directly related to the gist of the present invention, description thereof is omitted.
  That is, data corresponding to the card numbers and pictures is transmitted from the game means 1010 of the server device 10 to each client device 20. Based on the data, a card image (including a pattern and a number) distributed to the display unit 2006 of each client device 20 is displayed (step S240).
[0041]
  Thus, by determining the picture and number of the card, if the winning or losing of the blackjack is determined (“Y” in step S242), processing such as payout of a wager is executed (step S244).
  If the winning / losing of the blackjack is not determined (“N” in step S242), the process returns to step S234.
  It is selected whether or not to continue the game (step S246). If the game is to be continued ("Y" in step S246), the process proceeds to step S22, and if not continued ("N" in step S246), the process is terminated. .
[0042]
  As explained above, the thirdReference exampleAccording to the above, after the composite number n is displayed by the display means 2006 of each client device 20, both the first and second prime numbers p and q are transmitted to the server device 10 as the game data. . If there is an illegal act such as tampering with the first and second prime numbers p and q, the relationship between the composite number n and the first and second prime numbers p and q is inconsistent, that is, n = p Q becomes unsatisfied, which makes it possible to detect fraud.
[0043]
  In addition, since all of the first prime number p and the second prime number q generated by the personal authentication device 22 of each client device 20 in the process of calculation for determining the picture and number of the card are used, each child player It is possible to maintain fairness.
  In addition, the authentication of the child player using the personal authentication device 22 makes it possible to easily limit the child player who performs gambling (age restriction).Reference exampleIt is the same.
[0044]
  In the operation of step S240, it is preferable to display an image indicating that the card is shuffled on the display unit 2006 of each client device 20 in order to improve the visual effect.
[0045]
  In addition,First to third reference examplesIs not limited to craps, roulette, or blackjack. For example, it can be applied to poker using a card.
  Also,First to third reference examplesIs not limited to games using dice or cards, but can be applied to any game that can use the first and second prime numbers p and q as game data.
  Further, the longer the bit length of the first and second prime numbers p and q, the more difficult it is to calculate the first and second prime numbers from the composite number n, which is advantageous in preventing fraud. It is. For example, if the bit length is set to 500 bits or more, it can be said that the first and second prime numbers cannot be practically decoded.
  The communication line connecting the server apparatus 10 and the client apparatus 20 is preferable because encrypted communication is ensured by using a VPN (Virtual Private Network). Moreover, it is arbitrary to use a communication line other than the Internet as the communication line.
[0046]
  In addition,First to third reference examplesIn the game described in the above, the parent player is solely responsible for the progress of the game and cannot bet his / her own bet, but the parent player can bet the bet as well as the child player. In a nasty gameSameOf course, it can be applied in the same manner.
[0047]
  Further, when each client device 10 transmits the composite number to the server device 10, if the digital signature with the time stamp of each player is performed on the composite number, the transmission source of the composite number, It becomes possible to specify the transmission date and time.
  In this case, it is possible to prevent denying that the composite number has been transmitted, or to forge the transmission date and time of the transmitted composite number, which is advantageous in suppressing fraud.
  Further, when each client device 10 transmits the bet data to the server device 10, a digital signature of each player is given to the bet data, and the bet data is time-stamped by the server device. If configured, it becomes possible to specify the transmission source and the transmission date and time of the betting data.
  In this case, it is possible to prevent denying the fact that the betting data has been transmitted or to forge the transmission date and time of the transmitted betting data, which is advantageous in suppressing fraud.
[0048]
  next,Of the present inventionEmbodiments will be described.
  BookThe first to third embodimentsReference exampleThis is different from the generation operation of game data.
  First to third reference examplesSimilarly, a command instructing generation of a public key and a secret key is transmitted from the client device 20 to the personal authentication device 22.
  The PKI engine 2208 (game data generating means) generates an n-bit random number in response to the command.MGenerate.BookIn the embodiment, the random number M may be a prime number or a non-prime number.
  M = a1a2a3a4a5a6a7a8...... an                (9)
  (A1Thru anIndicates each bit)
  When the random number M is obtained, the PKI engine 2208 inputs the random number M into a hash function as shown in the equation (10) to obtain hash data.HAsk.
  H = Hash (M) (10)
  The hash data H cannot be obtained by back-calculating the random number M from the data, and is composed of numbers having a smaller number of bits than the number of bits of the random number M. In other words, the hash data H is irreversibly and uniquely generated based on the random number M.
  A digital signature with a time stamp of each player is made to the hash data H.
[0049]
  Next, a crap game using the game data generation method as described above will be described with reference to the flowchart of FIG. In FIG. 12, the same steps as those in the flowchart of FIG. 5 are denoted by the same step numbers and the description thereof is omitted.
  In addition,BookThe configuration of the communication game system in the embodiment is the firstReference exampleTherefore, the following operation will be described with reference to FIGS.In the present embodiment, the client device 20 and the personal authentication device 22 constitute the client and the information processing device of the present invention.
[0050]
  First, steps S10 to S18 are the same as those in the flowchart of FIG.
  As shown in FIG. 13, in step S20, an image G2 of a table for craps (detailed screen content is omitted) is displayed on the screen, and clients of all child players participating in the game are displayed. The hash data H (H1 to Hx) transmitted from the device 20, game data m1 (m1 (1) to m1 (x)), and game data m2 (m2 (1) to m2 (x)) are displayed. It has become.
  Also displayed are a dice button B1 for shaking dice, an H transmission button B21 for transmitting hash data H, and m1, m2 transmission buttons B31, B41 for transmitting game data m1, m2.
  These buttons are set in an inoperable state in the initial state. Each button is displayed in a different color depending on whether or not operation is possible (ready state), for example, green when operation is possible and red when operation is not possible. It is configured to be.
  Steps S22 and S24 are the first stepsReference exampleIs the same operation.
[0051]
  When the dice button is operated in step S26, the client control means 22 of the client device 20 generates a random number M according to the above-described operation (step S282: seed information generation step), and generates hash data H of the random number M. (Step S284: Authentication information generation step).
  Further, the random number M is divided by a predetermined number of bits (for example, 8 bits) to generate game data m (m1, m2, m3,...) (Step S286)..
  As previously mentioned,
  M = a1a2a3a4a5a6a7a8...... an            (9)
Then, m1, m2, and m3 are expressed as the following formulas (11), (12), (13),.
  m1 = a1a2a3a4a5a6a7a8                (11)
  m2 = a9a10a11a12a13a14a15            (12)
  m3 = a16a17a18a19a20a21a22a23      (13)
[0052]
  The client control unit 2004 first sets the H transmission button B21 to an operable state. For example, the button color is changed from red to green (step S302).
  When each child player operates the H transmission button B2 to transmit all hash data H to the server device 10, the game means 1010 of the server device 10 sends the hash data H to each client device 20. Send. Thereby, all the hash data H are displayed on the display means 2006 of each client device 20 (step S322: authentication information transmission step, authentication information reception step).
  Therefore, each child player can view his / her own hash data H and the hash data H of other child players.
[0053]
  Next, after all the hash data H is transmitted to each client device 20, the game means 1010 of the server device 10 sets the buttons for transmitting the game data m1 and m2 to an operable state. Is transmitted to each client device 20.
As a result, the client control unit 2004 makes the m1 and m2 transmission buttons B31 and B41 operable. For example, the color of the m1, m2 transmission buttons B31, B41 is changed from red to green (step S342).
  When each child player operates both the m1 transmission button B31 and the m2 transmission button B41, the game data m1 (1) to m1 (x) and m2 (1) to m2 in all the client devices 20 are stored in the server device 10. (X) is transmitted (step S362).
  Next, the game means 1010 of the server device 10 transmits game data m1 (1) to m1 (x) and m2 (1) to m2 (x) in all the client devices 20 to each client device 20. Thereby, the game data in all the client devices 20 is displayed on the display means 2006 of each client device 20 (step S382: seed information transmission step).
  Accordingly, each child player can visually recognize his / her game data m1 and m2 and the game data m1 and m2 of other child players.
  In step S382, each client control unit 2004 verifies all the hash data H received by the client communication unit 2002 and all game data m1 and m2 received by the client communication unit 2002. That is, it is determined whether or not the game data m1 and m2 have been falsified (step S384). If it is determined that there is no falsification based on the confirmation result, the process proceeds to the next step. If falsification is found, the fact is notified to the server device 10, and the server device 10 instructs each client device 20 to stop the game. (Step S386).
[0054]
  Then, the game means 1010 of the server device 10 determines two dice eyes (any number from 1 to 6) based on the received game data..
  YouThat is, it is assumed that the game data m1 received by the game means 1010 of the server device 10 is m1 (1) to m1 (x).
  Next, an exclusive OR m1 (0) of each game data m1 is calculated as in Expression (14).
  m1 (0) = m1 (1) * m1 (2) * m1 (3) * ……
              * M1 (x) (14)
  Next, divide m1 (0) by 6 to make the remainder of the first die (note that the remainder 0 is the die eye 6).
  Then, the game means 1010 of the server device 10 transmits the first dice eye data to each client device 20 to display the first dice eye on the display means 2006 of each client device 20 ( Step S40).
[0055]
  Similarly, an exclusive logical sum m2 (0) of each game data m2 (1) to m2 (x) (after deletion of a predetermined bit) is calculated as in Expression (5).
  m2 (0) = m2 (1) * m2 (2) * m2 (3) * ……
              * M2 (x) (15)
  Next, m2 (0) is divided by 6 to make the remainder of the second die eye (however, the remainder 0 is the die eye 6).
  Then, the game means 1010 of the server device 10 transmits the second die eye data to each client device 20 to display the second die eye on the display means 2006 of each client device 20 ( Step S42).
[0056]
  When the two dice rolls are determined in this manner and the winning / losing of craps is determined (“Y” in step S44), processing such as a payout of bet is executed (step S46).
  If the winning / losing of craps is not determined ("N" in step S44), the process returns to step S342.
  It is selected whether or not to continue the game (step S48). If the game is to be continued ("Y" in step S48), the process proceeds to step S22, and if not continued ("N" in step S48), the process is terminated. .
[0057]
  As explained above,BookAccording to the embodiment, after the hash data H is displayed by the display means 2006 of each client device 20, both the game data m1 and m2 are transmitted to the server device 10 as the game data. . If there is an illegal act such as falsification with respect to the game data m1 and m2, the relationship between the hash data H and the game data m1 and m2 becomes contradictory, and it becomes possible to find an illegal act.
  Also,BookIn the embodiment, the first to thirdReference exampleCompared to the above, since it is not necessary to select a prime number when generating game data from the random number M, the time required for this process can be shortened, which is advantageous in speeding up the process.
  Also,BookAlso in the embodiment, the longer the bit length of the random number M, the more difficult it is to calculate the game data from the hash data or the like. If the bit length is 500 bits or more, the game data is practically reduced. It can be said that it is impossible to calculate.
[0058]
  Further, as described above, a digital signature with a time stamp is made on the hash data H, whereby the transmission source and the transmission date and time of the hash data H can be specified.
  Therefore, it is possible to prevent denying the fact that a certain hash data H has been transmitted or to forge the transmission date and time of the transmitted hash data H, which is advantageous in suppressing fraud.
  Also,BookAlso in the embodiment, when each client device 10 transmits the bet data to the server device 10, each player device performs a digital signature of each player on the bet data, and the server device attaches a time stamp to the bet data. If configured so, it becomes possible to specify the transmission source and the transmission date and time of the betting data.
  In this case, it is possible to prevent denying the fact that the betting data has been transmitted or to forge the transmission date and time of the transmitted betting data, which is advantageous in suppressing fraud.
[0059]
  In addition, since all of the game data m1 and m2 generated by the personal authentication device 22 of each client device 20 is used in the process of calculating the dice roll, fairness is maintained for each player. be able to.
  Further, by authenticating the player using the personal authentication device 22, it is possible to easily limit the player who performs gambling (age limitation).
[0060]
  In the operations of steps S40 and S42, it is preferable to display an image showing how the dice rolls on the display means 2006 of each client device 20 in order to improve the visual effect.
[0061]
  In this example, the first two pieces of data are generated as game data m1 and m2 from the most significant bit of the random number M every predetermined bit, and these are used as data for one game. .
  However, by generating the data m3, m4,... Following the m1, m2 by dividing the most significant bit of the random number M into predetermined bits, the data after the m3 is converted into the second and subsequent games, that is, 2 It may be used as a die roll in the game after the first round.
[0062]
  Also,BookIn the embodiment, the case where the present invention is applied to craps, which is a game with dice eyes 1 to 6, has been described. By changing the range of numerical values necessary for game data, the second and thirdReference exampleAs with, it can be widely applied to roulette, blackjack, and other games.
  That is, if the range of numerical values required for game data is 1 to k, the remainder of dividing the exclusive OR of the game data by k is 0 to (k-1). Therefore, the value of k may be set arbitrarily.
  It is not related to the type of game that a plurality of data obtained by dividing the random number M from the most significant bit of the random number M every predetermined bit can be used for the second and subsequent games. For example, if the game uses cards, the data is used to specify the number and marks of cards in the second and subsequent games. If the game is roulette, the data is used for the second and subsequent roulettes. It can be used to identify the eyes.
[0063]
  In addition,BookIn the embodiment, generation of the hash data H based on the random number M and addition of a digital signature with a time stamp to the hash data H are performed by the PKI engine 2208. These two operations are performed by the CPU 2214 or the client. The control means 2004 may be used.
[0064]
  Also,BookAlso in the embodiment, the firstReference exampleSimilarly, if the species information is falsified, the fraud can be detected. Therefore, each information processing apparatus does not need to send the seed information at the same time, and has an advantage that it can be transmitted to the information management apparatus at different times.
[0065]
  In addition,First to third reference examplesThen, only the client device 20 of each child player generates the first and second prime numbers and the composite number, and transmits the first and second prime numbers and the composite number to the server device 10 to constitute the game data. As explained.
  However, the client device 20 of the parent player also generates first and second prime numbers and composite numbers corresponding to the parent player and transmits them to the server device 10, and the first and second prime numbers and composite corresponding to the parent player. The server device 10 may create game data based on the number and the first and second prime numbers and the composite number transmitted from the client device 20 of each child player to the server device 10.
  In this case, even if all of the child players except the parent player conspire to generate the first, second prime numbers, and composite numbers, the first, second prime numbers, and composite numbers of the parent player constitute game data. Therefore, the game data becomes random regardless of the intention of the conspiring child player, and illegal acts can be prevented.
[0066]
  Also,BookIn the embodiment, it has been described that the random number and the hash data are generated only in each client device 20 and the random number and the hash data are transmitted to the server device 10 to constitute the game data.
  However, the client device 20 of the parent player also generates a random number and hash data corresponding to the parent player and transmits it to the server device 10, and the random number and hash data corresponding to the parent player and the client device 20 of each child player. The server device 10 may create the game data based on the random number and the hash data transmitted from the server device 10 to the server device 10.
  In this case, even if all of the child players conspire to generate random numbers and hash data, the random numbers and hash data of the parent player are used to construct game data. Regardless of the player's intention, it becomes random and can prevent fraud.
[0067]
【The invention's effect】
  As described above, according to the present invention, it is possible to prevent cheating of a player who plays a game, which is advantageous when the game is played as gambling..
[Brief description of the drawings]
[Figure 1]First to third reference examples andOf the present inventionBookIt is a block diagram which shows schematic structure of the server apparatus and client apparatus in embodiment.
[Figure 2]First to third reference examples andThe present inventionThe fruitIt is a block diagram which shows schematic structure of the communication game system in embodiment.
FIG. 3 is an external view of a personal authentication device.
FIG. 4 is a block diagram showing a configuration of a personal authentication device.
FIG. 5 shows the firstReference exampleIt is a flowchart which shows this operation | movement.
FIG. 6 is an explanatory diagram of a menu screen.
FIG. 7 is an explanatory diagram of a screen of display means when craps is selected.
FIG. 8 is an explanatory diagram of a screen of display means when a roulette is selected.
FIG. 9 shows the secondReference exampleIt is a flowchart which shows this operation | movement.
FIG. 10 is an explanatory diagram of a screen of display means when blackjack is selected.
FIG. 11 shows the thirdReference exampleIt is a flowchart which shows this operation | movement.
FIG.BookIt is a flowchart which shows operation | movement of embodiment.
FIG. 13 is an explanatory diagram of a screen of display means when craps is selected.
[Explanation of symbols]
  DESCRIPTION OF SYMBOLS 100 ... Communication game system, 10 ... Server apparatus, 1002 ... Server communication means, 1004 ... Server control means, 1006 ... Display means, 1010 ... Game means, 20 ... Client apparatus, 2002 ... Client communication Means 2004... Client control means 2006... Display means 22.

Claims (17)

サーバと複数のクライアントとが通信回線を介して接続され、前記サーバと各クライアントとの間で情報の授受を行う通信ゲームシステムであって、
前記サーバは、前記通信回線を介して通信を行うサーバ通信手段と、ゲームを実行するゲーム手段と、サーバ制御手段とを有し、
前記各クライアントは、情報の表示を行う表示手段と、前記通信回線を介して通信を行うクライアント通信手段と、
乱数を発生する乱数生成手段と、
前記乱数のハッシュデータを生成するハッシュデータ生成手段と、
前記乱数を所定ビット数毎に区切ってゲーム用データを生成するゲーム用データ生成手段と、
クライアント制御手段とを有し、
前記サーバのゲーム手段によるゲームの実行は、前記各クライアント通信手段から前記サーバ通信手段に送信される前記ゲーム用データを用いて行なわれ、
前記各クライアント通信手段は、前記ハッシュデータを前記サーバに送信するように構成され、
前記サーバ制御手段は、前記サーバ通信手段で全ての前記ハッシュデータを受信すると、全ての前記ハッシュデータを前記各クライアント通信手段に送信するように構成され、
前記各クライアント制御手段は、前記クライアント通信手段で受信した全ての前記ハッシュデータを前記表示手段によって表示させた後、前記クライアント通信手段によって前記ゲーム用データを前記サーバに送信させるように構成され
前記サーバの前記ゲーム手段によって実行される前記ゲームは、前記各クライアントの送信手段から送信される前記ゲーム用データの全てを用いた演算を行うことでなされる、
ことを特徴とする通信ゲームシステム。
A communication game system in which a server and a plurality of clients are connected via a communication line, and exchanges information between the server and each client,
The server includes server communication means for performing communication via the communication line, game means for executing a game, and server control means.
Each of the clients includes display means for displaying information, client communication means for performing communication via the communication line,
Random number generating means for generating random numbers;
Hash data generating means for generating hash data of the random number;
Game data generating means for generating game data by dividing the random number into a predetermined number of bits;
Client control means,
The execution of the game by the game means of the server is performed using the game data transmitted from the client communication means to the server communication means,
Each of the client communication means is configured to transmit the hash data to the server,
The server control means is configured to transmit all the hash data to the respective client communication means when receiving all the hash data by the server communication means,
Each of the client control units is configured to cause the client communication unit to transmit the game data to the server after displaying all the hash data received by the client communication unit by the display unit .
The game executed by the game means of the server is performed by performing an operation using all of the game data transmitted from the transmission means of each client.
A communication game system characterized by the above.
複数のクライアントと通信回線を介して接続されるサーバであって、
前記サーバは、前記通信回線を介して通信を行うサーバ通信手段と、ゲームを実行するゲーム手段と、サーバ制御手段とを有し、
前記ゲーム手段は、前記各クライアントから前記サーバ通信手段に送信されるゲーム用データを用いてゲームを行なうように構成され、
前記サーバ制御手段は、前記各クライアントが乱数から生成したハッシュデータの全てを前記サーバ通信手段で受信すると、全ての前記ハッシュデータを前記各クライアントに送信するように構成され、
前記サーバ通信手段は、前記各クライアントが、受信した全ての前記ハッシュデータを表示させた後、前記乱数を所定ビット数毎に区切ることで生成したゲーム用データを前記クライアントから受信するように構成され
前記ゲーム手段による前記ゲームの実行は、前記各クライアントの送信手段から送信されるゲーム用データの全てを用いた演算を行うことでなされる、
ことを特徴とするサーバ。
A server connected to a plurality of clients via a communication line,
The server includes server communication means for performing communication via the communication line, game means for executing a game, and server control means.
The game means is configured to play a game using game data transmitted from the clients to the server communication means,
The server control unit is configured to transmit all the hash data to each client when the server communication unit receives all of the hash data generated from random numbers by each client.
The server communication means is configured such that after each client displays all the received hash data, game data generated by dividing the random number every predetermined number of bits is received from the client. ,
The execution of the game by the game means is performed by performing an operation using all of the game data transmitted from the transmission means of each client.
A server characterized by that.
前記サーバと複数のクライアントの情報の授受は公開鍵暗号化方式に基づいて行われ、前記各クライアントのゲーム用データ生成手段は、前記公開鍵暗号化方式に基づいて公開鍵および秘密鍵を生成する鍵生成手段を有し、前記ゲーム用データ生成手段による前記乱数の生成は、前記各クライアントの前記鍵生成手段による前記公開鍵および秘密鍵の生成過程で行なわれることを特徴とする請求項2記載のサーバ。  Information exchange between the server and a plurality of clients is performed based on a public key encryption method, and the game data generation means of each client generates a public key and a secret key based on the public key encryption method. 3. The method according to claim 2, further comprising key generation means, wherein the random number generation by the game data generation means is performed in the process of generating the public key and the secret key by the key generation means of each client. Server. 前記サーバ制御手段は、サーバ通信手段によって、前記各クライアント通信手段から受信した前記ゲーム用データの全てを前記各クライアントに送信させるように構成され、前記各クライアントの表示手段によって前記サーバ通信手段から受信した前記ゲーム用データの全てが表示されることを特徴とする請求項2記載のサーバ。  The server control means is configured to cause the server communication means to transmit all of the game data received from the client communication means to the clients, and to receive from the server communication means by the display means of each client. 3. The server according to claim 2, wherein all of the game data is displayed. 前記ゲームは、前記各クライアントにより賭け金に相当する賭けデータが前記サーバに対してビットされること、すなわち提示されることによって進行するものであり、前記サーバ通信手段が前記クライアントから前記ゲーム用データを受信するに先立って前記各クライアントが前記サーバに前記賭けデータを送信し、前記サーバは、前記ゲームの結果に基づいて前記賭けデータの処理を行なうように構成されていることを特徴とする請求項2記載のサーバ。  The game progresses when betting data corresponding to a bet amount is bitted, that is, presented to the server by each client, and the server communication means sends the game data from the client to the server. Each of the clients transmits the betting data to the server prior to receiving the game, and the server is configured to process the betting data based on a result of the game. Item 3. The server according to item 2. 前記サーバのゲーム手段によって実行されるゲームは、ダイスを用いたゲームであり、前記ゲーム用データの全てを用いた演算は、ダイスの目の数を決定するために行なわれることを特徴とする請求項記載のサーバ。The game executed by the game means of the server is a game using dice, and the calculation using all of the game data is performed to determine the number of dice eyes. Item 3. The server according to item 2 . 前記サーバのゲーム手段によって実行されるゲームは、カードを用いたゲームであり、前記ゲーム用データの全てを用いた演算は、カードの絵柄および数字を決定するために行なわれることを特徴とする請求項記載のサーバ。The game executed by the game means of the server is a game using a card, and an operation using all of the game data is performed to determine a picture and a number of the card. Item 3. The server according to item 2 . 前記サーバのゲーム手段によって実行されるゲームは、ルーレットであり、前記ゲーム用データの全てを用いた演算は、ルーレットで決定される数を決定するために行なわれることを特徴とする請求項記載のサーバ。Game executed by the game device of the server is roulette, the calculation using all the game data according to claim 2, characterized in that it is performed to determine the number determined in the roulette Server. 前記通信回線はインターネットを含むことを特徴とする請求項2記載のサーバ。  The server according to claim 2, wherein the communication line includes the Internet. 前記ハッシュデータ生成手段によるハッシュデータの生成時に、前記ハッシュデータに対するタイムスタンプ付のデジタルサインがなされるように構成されていることを特徴とする請求項2記載のサーバ。  3. The server according to claim 2, wherein when the hash data is generated by the hash data generation means, a digital signature with a time stamp is made on the hash data. サーバと通信回線を介して接続されるクライアントであって、
前記クライアントは、情報の表示を行う表示手段と、前記通信回線を介して通信を行うクライアント通信手段と、
乱数を発生する乱数生成手段と、
前記乱数のハッシュデータを生成するハッシュデータ生成手段と、
前記乱数を所定ビット数毎に区切ってゲーム用データを生成するゲーム用データ生成手段と、
クライアント制御手段とを有し、
前記クライアント通信手段は、前記ハッシュデータを前記サーバに送信するように構成され、
前記クライアント制御手段は、前記サーバが該サーバに接続されている全てのクライアントから全ての前記ハッシュデータを受信したことをもって全ての前記ハッシュデータを前記クライアント通信手段に送信すると、前記クライアント通信手段で受信した全ての前記ハッシュデータを前記表示手段によって表示させた後、前記クライアント通信手段によって前記ゲーム用データを前記サーバに送信させるように構成され
前記クライアント通信手段によって前記サーバに送信される前記ゲーム用データは、それらゲーム用データの全てを用いた演算が前記サーバのゲーム手段で行われることでゲームが実行されるものである、
ことを特徴とするクライアント。
A client connected to a server via a communication line,
The client includes display means for displaying information, client communication means for communicating via the communication line,
Random number generating means for generating random numbers;
Hash data generating means for generating hash data of the random number;
Game data generating means for generating game data by dividing the random number into a predetermined number of bits;
Client control means,
The client communication means is configured to transmit the hash data to the server;
The client control unit receives all the hash data from all the clients connected to the server and transmits all the hash data to the client communication unit. After all the hash data has been displayed by the display means, the client communication means is configured to send the game data to the server ,
The game data transmitted to the server by the client communication means is one in which a game is executed by performing calculation using all of the game data by the game means of the server.
A client characterized by that.
前記サーバと複数のクライアントの情報の授受は公開鍵暗号化方式に基づいて行われ、前記各クライアントのゲーム用データ生成手段は、前記公開鍵暗号化方式に基づいて公開鍵および秘密鍵を生成する鍵生成手段を有し、前記ゲーム用データ生成手段による前記乱数の生成は、前記各クライアントの前記鍵生成手段による前記公開鍵および秘密鍵の生成過程で行なわれることを特徴とする請求項11記載のクライアント。Information exchange between the server and a plurality of clients is performed based on a public key encryption method, and the game data generation means of each client generates a public key and a secret key based on the public key encryption method. 12. The system according to claim 11 , further comprising a key generation unit, wherein the random number generation by the game data generation unit is performed in the process of generating the public key and the secret key by the key generation unit of each client. Client. 前記サーバが前記各クライアント通信手段から受信した前記ゲーム用データの全てを前記サーバから受信して前記各クライアントの表示手段によって表示することを特徴とする請求項11記載のクライアント。12. The client according to claim 11 , wherein the server receives all the game data received from the client communication means from the server and displays the data by the display means of each client. 前記各クライアント制御手段は、前記クライアント通信手段で受信した前記全てのハッシュデータと、前記クライアント通信手段で受信した全てのゲーム用データとを比較して前記ゲーム用データが改ざんされているか否かを判定するように構成されていることを特徴とする請求項11記載のクライアント。Each of the client control means compares all the hash data received by the client communication means with all the game data received by the client communication means to determine whether or not the game data has been tampered with. The client of claim 11 , wherein the client is configured to determine. 前記ゲームは、前記各クライアントにより賭け金に相当する賭けデータが前記サーバに対してビットされること、すなわち提示されることによって進行するものであり、前記サーバ通信手段が前記クライアントから前記ゲーム用データを受信するに先立って前記各クライアントが前記サーバに前記賭けデータを送信し、前記サーバは、前記ゲームの結果に基づいて前記賭けデータの処理を行なうように構成されていることを特徴とする請求項11記載のクライアント。The game progresses when betting data corresponding to a bet amount is bitted, that is, presented to the server by each client, and the server communication means sends the game data from the client to the server. Each of the clients transmits the betting data to the server prior to receiving the game, and the server is configured to process the betting data based on a result of the game. Item 11. The client according to Item 11 . 前記通信回線はインターネットを含むことを特徴とする請求項11記載のクライアント。12. The client according to claim 11, wherein the communication line includes the Internet. 前記ハッシュデータ生成手段によるハッシュデータの生成時に、前記ハッシュデータに対するタイムスタンプ付のデジタルサインがなされるように構成されていることを特徴とする請求項11記載のクライアント。12. The client according to claim 11 , wherein when the hash data is generated by the hash data generation means, a digital signature with a time stamp is given to the hash data.
JP2002196887A 2001-07-05 2002-07-05 Communication game system, server and client Expired - Fee Related JP3912514B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002196887A JP3912514B2 (en) 2001-07-05 2002-07-05 Communication game system, server and client

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001204745 2001-07-05
JP2001-204745 2001-07-05
JP2002196887A JP3912514B2 (en) 2001-07-05 2002-07-05 Communication game system, server and client

Publications (2)

Publication Number Publication Date
JP2003144753A JP2003144753A (en) 2003-05-20
JP3912514B2 true JP3912514B2 (en) 2007-05-09

Family

ID=26618203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002196887A Expired - Fee Related JP3912514B2 (en) 2001-07-05 2002-07-05 Communication game system, server and client

Country Status (1)

Country Link
JP (1) JP3912514B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4980578B2 (en) * 2005-04-05 2012-07-18 富士通株式会社 Authentication processing method and apparatus
JP5458784B2 (en) * 2009-10-05 2014-04-02 日本電気株式会社 ENCRYPTED COMMUNICATION TERMINAL DEVICE, ENCRYPTED COMMUNICATION SYSTEM, ENCRYPTED COMMUNICATION METHOD, AND PROGRAM
JP2012143517A (en) * 2011-01-06 2012-08-02 Hiroo Otaka Method for preventing falsification/change of tile (card) in nondisclosure state in computer program
JP5108156B1 (en) * 2012-01-30 2012-12-26 ジニアス・ソノリティ株式会社 Video game processing program, video game processing method, and video game processing apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4575621A (en) * 1984-03-07 1986-03-11 Corpra Research, Inc. Portable electronic transaction device and system therefor
US6099408A (en) * 1996-12-31 2000-08-08 Walker Digital, Llc Method and apparatus for securing electronic games
US6030288A (en) * 1997-09-02 2000-02-29 Quixotic Solutions Inc. Apparatus and process for verifying honest gaming transactions over a communications network
US6038666A (en) * 1997-12-22 2000-03-14 Trw Inc. Remote identity verification technique using a personal identification device
JP3917330B2 (en) * 1999-04-06 2007-05-23 三菱電機株式会社 Common key sharing method
JP2000322253A (en) * 1999-05-14 2000-11-24 Namco Ltd Security system
JP2001060944A (en) * 1999-08-24 2001-03-06 Hitachi Ltd Cipher communication system

Also Published As

Publication number Publication date
JP2003144753A (en) 2003-05-20

Similar Documents

Publication Publication Date Title
US10593157B2 (en) Customized betting using a distributed multi-ledger gambling architecture
US7294056B2 (en) Enhanced gaming system
US20180025578A1 (en) Wireless gaming environment
JP3887551B2 (en) Net casino system, game control method of the system, and server
US20020103029A1 (en) Multiplayer gaming
JP6049118B1 (en) Management system and game table
JP2001321569A (en) Game machine and network system for setting game environment thereof
JP6080145B1 (en) Game table and management system
US11830318B2 (en) Method of authenticating a consumer or user in virtual reality, thereby enabling access to controlled environments
AU2017202827A1 (en) Electronic Wagering System Employing Machine-Readable Optical Codes
JP2017211971A (en) Management system and game table
JP3912514B2 (en) Communication game system, server and client
US7516324B2 (en) Information processing system, information management apparatus, and information processing apparatus
JP2006163513A (en) Game content delivery method and game content delivery system
WO2020003724A1 (en) Network matchup-type puzzle game management system
JP3842595B2 (en) NET CASINO SYSTEM, GAME CONTROL METHOD FOR THE SYSTEM, STORAGE MEDIUM STORING PROGRAM EXECUTABLE FOR THE METHOD, AND SERVER
MXPA03009952A (en) Method and system for computer-based game.
KR20010067871A (en) The method and system for offering cyber casino game of emboding real time identically in remote site, actual game of the casino
JP2005118104A (en) Game system, game machine to be used for the system and game method thereof
JP2003053041A (en) Net casino system, method for controlling game of the system, storage medium with program for implementing the method stored therein, and server
US8917869B2 (en) Creation and monitoring of “fair play” online gaming
US20070105608A1 (en) System and method for managing a game
KR20190119911A (en) Ticket Selling System Based on Blockchain
JP4081252B2 (en) Net casino system and game control method for the system
JP3859143B2 (en) Communication game system, server and client

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060619

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061005

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070123

LAPS Cancellation because of no payment of annual fees