JP2005523668A - 暗号化コンピュータ化ゲームシステムにおける認証 - Google Patents

暗号化コンピュータ化ゲームシステムにおける認証 Download PDF

Info

Publication number
JP2005523668A
JP2005523668A JP2003587509A JP2003587509A JP2005523668A JP 2005523668 A JP2005523668 A JP 2005523668A JP 2003587509 A JP2003587509 A JP 2003587509A JP 2003587509 A JP2003587509 A JP 2003587509A JP 2005523668 A JP2005523668 A JP 2005523668A
Authority
JP
Japan
Prior art keywords
game
computerized
data
random
zero knowledge
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.)
Pending
Application number
JP2003587509A
Other languages
English (en)
Inventor
ジャクソン,マーク・ディー
Original Assignee
アイジーティー
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 アイジーティー filed Critical アイジーティー
Publication of JP2005523668A publication Critical patent/JP2005523668A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3202Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3241Security aspects of a gaming system, e.g. detecting cheating, device integrity, surveillance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs

Abstract

本発明は、ゲーム特定プラットフォームのためのアーキテクチャ(100)及び方法を提供し、ゲームコード及びその他のデータの安全な格納及び検証を特徴とし、コンピュータ化賭博ゲームシステム及び/又はネットワークシステムと安全にデータを交換することができ、更に、単純かつ容易に管理できるようにこれを行う。本発明は、Nevada Gaming Regulations Commission又はその他の規制監督官庁による等して、プルーフ又は承認されたゲームプログラムコードを特定することができる。本発明は、これら及びその他の機能を設けるに当たり、乱数を暗号化し、暗号化した乱数を格納し、乱数及びカジノゲームデータ集合をハッシュして第1ビットストリングを発生し、第1ビットストリングを格納する。

Description

本発明は、一般的には、コンピュータ化した賭博ゲームシステムに関し、更に特定すれば、コンピュータ化した賭博ゲームシステムにおいてセキュリティを確保するための基本として、ゼロ知識プルーフ(zero knowledge proofs:ここではZKPとも呼ぶ)を用いた認証技法の使用に関する。
運任せのゲーム(game of chance)は、何千年もの間人々によって楽しまれており、最近その人気が高まりかつ広がっている。殆どの娯楽の形態と同様、プレーヤは、多種多様のゲーム及び新たなゲームを行って楽しむ。新たなゲームを行うことが、「ゲーム(賭博)」の興奮に加わる。当技術分野では周知であり、ここでも用いるのであるが、「ゲーム」及び「ゲームデバイス」という用語は、ある形態の賭博を伴い、プレーヤは実際の通貨であれ、あるいは対価(value)の何らかの等価物、例えば、トークン又はクレジットであれ、対価の賭けを行わなければならないことを示す。
運任せのゲームの1つにスロットマシンがある。従来、スロットマシンは、プレーヤが、何らかの対価、例えば、通貨、ハウストークン(house token)、認められた与信(established credit)、あるいは通貨又はクレジットのその他の表示を賭けるように構成されている。賭けが行われた後、プレーヤはスロットマシンを作動させ、ランダム事象を起こさせる。プレーヤが、特定のランダム事象が起こることに賭けた場合、プレーヤには対価が払い戻される。標準的なデバイスでは、複数のリールを回転させ、最終的に停止させて、ある形態の指標、例えば、数値又はシンボルのランダムな組み合わせを表示する。この表示が、予め選択されている複数の当たりの組み合わせ(winning combination)の1つを含む場合、機械は金を払い戻し通路に放出するか、又はプレーヤが勝った額だけ与信額(credit meter)を増分させる。例えば、あるプレーヤが最初に特定の額面のコインを2つ賭け、そのプレーヤが払い戻しを得た場合、このプレーヤは、賭けたのと同じ額面のコインで、賭けた額と同じ数又はその倍数を受けることができる。
賭博デバイスにおいて払い戻しを決定するために行うことができる事象のランダムな表示を生成するには、多くの異なるフォーマットがある。標準的又は本来のフォーマットは、3つのリールを用い、リールの面上にシンボルを分散させていた。3つのリールを回転させたとき、これらは最終的に1つずつ順番に停止し、3つのシンボルの組み合わせを表示する(例えば、3つのリール、及び単一の払い戻しラインを、シンボルが表示されるエリアの中央における行として用いる)。リールの各々の上にシンボルをしかるべく分散し変化させることにより、所定の当たりの組み合わせを、数学的に所定の確率で、ランダムに発生することができる。予め選択した当たりの結果の各々に特定の確率を明確に規定することによって、あらゆる個々の組み合わせに対する払い戻し額、及び胴元(house)に対する賭博の戻り率(percentage return)を管理する正確なオッズを容易に制御することができる。
3つのリールを有する純粋なスロットマシンから徐々に発展した他のフォーマットのゲーム装置は、ビデオゲーム装置の開発によって、劇的に増大した。回転したり停止したりしてランダムにシンボルを表示するホイール又はリールのような機械的要素だけを有する代わりに、ビデオゲーム装置、ならびにハードウェア及びソフトウェアにおいて急速に高められた洗練性により、新たな刺激的なゲーム装置の急増が可能となった。初期のビデオ装置は、プレーヤが同じゲームしかプレイしたがらないであろうとの考えから、単に機械式スロットマシンを真似たり又は模擬したに過ぎなかった。ドローポーカーやケノー(Keno)のような新たなゲームをプレイするビデオゲーム装置の使用により、ゲーム装置には未開発の多くのフォーマットが未だ存在することが認識され始めた。今日のカジノは、数百もの異なる種類のゲーム装置を有する場合もあり、プレイにも等しい数だけの大きな違いがある。装置は、単一の払い戻しラインを備えた伝統的な3リールのスロットマシン、3リールビデオスロットマシンのビデオシミュレーションから、ランダムに配したライン、分散支払い(scatter pays)、又は単一画像払い戻し(single image payout)を含む、20以上の異なる支払いラインの選択がある、5リール、5列のシミュレーションスロットマシンまで、様々なものが考えられる。ゲームのプレイにおけるフォーマットの多様性に加えて、ボーナスプレイ、ボーナス賞、及び先送り積み立て(progressive jackpot)が導入され、大きな成功を収めている。ボーナスは、本来のゲームのプレイとは全く異なるゲームのプレイに付随する場合もあり、競馬のビデオディスプレイにおいてボーナスの資格があるプレーヤにランダムに割り当てられる個々の馬に対する賭け、ホイール(又はそのシミュレーション)上に固定額のボーナス払い戻しを設けたランダムホイールの回転、又は仮想ディーラの代わりに開いたカードよりも値が高いランダムなカードを選択する試み等がある。
このような、別個のボーナスという特徴を有するゲーム装置の例には、米国特許第5,823,874号、5,848,932号、5,863,041号、英国特許第2201821A号、第2202984A号、及び第2072395A号、ならびにドイツ国特許第DE4014477A1号が含まれる。これらの特許の各々は、ボーナスラウンドをプレイする際、かなり微妙な違いがある。英国特許第2201821A号、及びドイツ国特許第DE3700861A1号に記載されているゲーム装置では、リール形式のゲームセグメントにおいて勝利の結果を最初に達成した後に、与えられる金額又は追加のゲームを決定するために第2のセグメントが約束されている。第2セグメントのゲームプレイは、賞が表面にリストアップされている回転ホイール(例えば、コインの数又は追加のゲーム回数)、及び賞の値が付いたホイールのセグメントを指し示す回転矢を用いる。プレーヤは、停止ボタンを押し、矢は値の1つを指し示す。明細書は、ホイール及び矢(複数の矢)を停止させる際に恐らく習熟度が関係すること、そして連動するコンピュータが回転可能な数値のランダムな選択を行い、追加の勝利ゲーム(winning game)における結果を判定することの双方を示し、第2ゲームセグメントにおけるランダムな選択のあるレベルを示す。米国特許第5,823,874号及び第5,848,932号は、ゲームデバイスについて記載しており、これは、ランダムに選択した指標の組み合わせを表示するための第1の標準的ゲームユニットであって、前記表示される指標は、リール、リールの指標、プレイングカードの指標、及びその組み合わせから成る群から選択される、第1の標準的ゲームユニットと、前記第1の標準的ゲームユニットによる指標の少なくとも1つの選択表示に対応して、少なくとも1つの信号を発生する手段と、機械的ボーナスインディケータの少なくとも1つの認識可能な指標を与える手段であって、前記認識可能な指標が、複数の可能なボーナスの内少なくとも1つを示す、手段とを備えており、前記与える手段が、前記第1の標準的ゲームユニットに動作的に接続され、前記信号に応答して作動可能となる。実際、第2ゲームイベントは、ルーレットホイール、又はポインティングエレメントを有するホイールのような、機械的なボーナスインディケータを模擬する。
ビデオ端末は、ゲームデバイスの別の形態である。ビデオ端末は、直ちに払い戻しが受けられるのではなく、償還チケットが発行されることを除いて、従来のスロットマシン又はビデオマシンと同様に動作する。
大量の市販の電子ビデオゲーム装置は、業界内において標準化されておらず、また単一の製造業者から入手可能な装置の販売ライン(commercial line)においてでさえも必ずしも標準化されていない。この均一化又は標準化の欠如に対する理由の1つに、今日まで業界で用いられていたオペレーティングシステムが原始的であることがあげられる。その結果、プログラマは、多くの場合、個々の各装置が実行する各機能毎に、コードを作成しなければならない。今日まで、本発明の譲受人の前には、少なくとも部分的に使用中のオペレーティングシステムの実用性及び互換性の制限のために、既存の機器(再利用可能なコードのモジュールのような機構を含む)を変換する万能的なオペレーティングシステムを作成することに成功した製造業者は知られていない。新たなゲームが作成されると、通常では最初から新たなハードウェア及びソフトウェアが作成される。
乱数発生に伴うコードと、コードのバランスから乱数ストリングに適用されるアルゴリズムとを分離する万能ゲームエンジンを作成する試みが、少なくとも1回なされている。Carlsonの米国特許第5,707,286号はこのような装置について記載している。この特許権者は、モジュラーコードが有効であることは認めていたが、RNG及び転送アルゴリズムをモジュール状にすることしか想起しなかった。
標準的なオペレーティングシステムがないために、市場においてシステムの価格が作為的に高止まりする要因となっている。様々に製造されたビデオゲームシステムにおいて、標準化されていない独自のハードウェアインターフェースを用いることが、これを助長する要因である。異なるハードウェア、異なるアクセスコード、異なるピン結合、ピンの結合のための異なるハーネス、種々のピンから得られる異なる機能、ならびにシステム内にあるその他の種々の異なる構成のために、当技術分野においてどの標準も作成の進展が妨げられてきた。これは、装置の製造業者にとっては不利である。何故なら、各システムに合うゲームは単一の製造業者によってのみ提供され、システム全体は直ぐに時代遅れとなる可能性があるので、市場は、単なる交換用ソフトウェア及びハードウェアではなく、ユニット全体を購入しなければならないからである。また、競合は、異なるハードウェア上でプレイできる1つのゲームを容易に提供することができない。この問題に対する解決策が、1999年9月24日に出願され、連番第09/405,921号を割り当てられた、Video Gaming Apparatus for Wagering with Universal Computerized Controller and I/O Interface for Unique Architecture(独自のアーキテクチャのための万能コンピュータ化コントローラ及びI/Oインターフェースを有する賭博用ビデオゲーム装置)という本出願人の同時係属中の特許出願にて提示されている。その内容は、ここで引用したことにより、本願明細書にも含まれることとする。
コンピュータ化したゲームシステムの発明において、共通の即ち万能のビデオ賭博ゲームコントローラを含み、このゲームコントローラに殆ど変更を加えることなく広範囲のビデオゲーム装置に設置することができる場合、ゲームシステム内部にある多くの構成要素及び対応するゲームソフトウェアの標準化が可能となる。このようなシステムは、種々のゲーム及びゲーム装置の種類に対応するという唯一の要求に合わせて特定的に作成した機能及び機構を有することが望ましく、更に、効率的に、確実に、そしてコスト効率的にこれを行うことが望ましい。
万能オペレーティングシステムと、コインホッパ(coin hopper)、モニタ、紙幣確認装置(bill validator)等の非標準機械デバイスとの間で通信を可能にすることに加えて、セキュリティ機構を設けて、オペレーティングシステムが、ゲームコード及びその他のデータが動作中に変化しなかったことを検証できるようにすることが望ましい。
Alcorn et al.の米国特許第5,643,086号は、ハッシング及び暗号化技法を用いて、DC−ROM、RAM、ROM、又はその他のデバイスのような大容量記憶装置に格納されているアプリケーション又はゲームプログラムを認証可能なゲームシステムについて記載している。大容量記憶装置は、ゲームマシン内に配置することができ、あるいはゲームマシン外部にあってもよい。この検証技法は、したがって、実行中のコードにおいて生じた変化は全く検出しない。何故なら、これは、RAMにロードされる前の、大容量記憶装置内にあるコードを検査するからである。認証システムは、ディジタル署名の使用を拠り所とし、暗号化及び解読プロセスの前にデータ集合全体のハッシングを行うことを示唆する。また、Alcorn et al.の米国特許第6,106,396号及びAlcorn et al.の米国特許第6,149,522号も参照のこと。
2001年9月7日に出願され、"ENCRYPTION IN A SECURE COMPUTERIZED GAMING SYSTEM"(安全なコンピュータ化ゲームシステムにおける暗号化)と題する米国特許出願第09/949,021号は、暗号化/認証システムを開示しており、コンピュータ化ゲームコントローラが、プロセッサと、メモリ、と不揮発性記憶装置とを有し、コンピュータ化賭博ゲームを制御するように動作可能であり、不揮発性記憶装置にゲームデータが格納されており、不揮発性記憶装置に格納されているゲームデータを動作中に検証する。加えて、ゲームシステムが開示されており、不揮発性メモリと、不揮発性メモリに格納されている暗号化制御ファイルであって、順序情報を与える1組のプログラムファイルネームと、各プログラムファイルに一意のメッセージ認証コードと、メッセージ認証コードキーとを含む、暗号化制御ファイルと、ゲームコントローラであって、ゲームシステムの動作中に、暗号化制御ファイルを解読し、ゲームプログラムファイルを認証するように動作する、ゲームコントローラと、ゲームシステムインターフェースを介して、ゲームコントローラと通信状態にあるゲームシステムデバイスとを備えている。
このシステムは、更に、メッセージ認証コードプロセスがメモリに格納されており、ゲームコントローラは、1組のプログラムファイルを認証する際、1組のプログラムファイル及びメッセージ認証コードキーを用いてメッセージ認証プロセスを適用し、1組の相補メッセージ認証コードを供給し、制御ファイルからのメッセージ認証コードを相補メッセージ認証コードと比較する。加えて、このシステムは、リードオンリメモリに格納されているメッセージ認証プロセスを有することもできる。また、認証が可能なゲームデータ集合を準備する方法を実行するためのコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体も開示されており、ゲームデータ集合を供給し、このゲームデータ集合に一意のメッセージ認証コードを決定し、ゲームデータ集合及びメッセージ認証コードを格納することから成る。更に、ゲームシステムにおいて用いられるゲームを認証する方法を実行するコンピュータ実行可能命令を有するコンピュータ読み取り可能媒体も開示されており、暗号化された制御ファイルを受け取り、この暗号化された制御ファイルを解読して制御ファイルを供給し、制御ファイルは、順序付け情報を与える1組のプログラムファイルネームと、各プログラムファイルに一意のメッセージ認証コードを含む1組のメッセージ認証コードと、メッセージ認証コードキーとを含み、元の制御ファイルを用いて、ゲームの認証を検証することから成る。
なおも望まれているのは、ゲームコード及びその他のデータの安全な格納及び検証を特徴とし、コンピュータ化賭博ゲームシステム上で安全にゲームコードを変更することができ、ゲームマシンの動作中にコードが変化していないことを検証することができる、ゲーム特定プラットフォームを提供する代替アーキテクチャ及び方法である。
ゲーム装置のセキュリティの分野では、更に、Nevada Gaming Regulation Commission、New Jersey Gaming Regulations Commission又はその他の規制監督官庁のような、種々のゲーム規制委員会等によって、ゲームプログラムコードが特定可能であることを、プルーフ又は承認されることが望まれている。
ここに論ずる本発明は、ゲームコード及びその他のデータの安全な格納及び検証を特徴とし、コンピュータ化賭博ゲームシステム及び/又はネットワークシステムと安全にデータを交換することができ、更に、単純かつ容易に管理できるようにこれを行う、賭博ゲーム特定プラットフォームのためのアーキテクチャ及び方法を提供する。本発明の実施形態の中には、州のゲーム規制委員会又はその他の規制監督官庁によってプルーフ又は承認されたゲームプログラムコードを特定できるものもある。本発明は、これら及びその他の機能を設けるにあたって、暗号化、モジュロ算術(modulo arithmetic)、ハッシュ関数、及びその他の暗号方法を用いる。これらの暗号構築ブロックは、対話的に適用されたときには、識別を行う方法を作成する際に共に用いられ、非対話的に適用されたときには、ゲームデータ集合に対する認証を行う方法を作成する際に用いられる。
数学的システムでは、対話式プルーフは、非公式に2者間のプロトコルとして認められており、一方を「プルーフ側」(prover)と呼び、他者にある事実をプルーフしようとする。他方のことを「検証側」(verifier)と呼ぶ。対話式プルーフは、大抵の場合、質問−応答プロトコルの形態を取り、プルーフ側及び検証側がメッセージを交換し、検証側が、プロトコルの最後で「受け入れ」又は「拒絶」のいずれかを出力する。その理論的関心の他に、対話式プルーフは、暗号及びコンピュータセキュリティにおいて、特定や認証のような応用も多少行われている。これらの状況では、プルーフする事実は、常にではないが大抵の場合、プルーフ側の秘密キーのようなプルーフ側の同一性に関する。
対話式プルーフでは、以下の特性を有することが、特に暗号に応用する場合には有用である。
・完全性−検証側は、事実が真であり、プルーフ側及び検証側双方がプロトコルにしたがう場合、プルーフを受け入れる。
・健全性−検証側は、事実が偽であり、検証側がプロトコルに従う限り、プルーフを拒絶する。
・ゼロ知識−検証側は、検証側がプロトコルに従わなくても(プルーフ側が行う限り)、プルーフ側なしではもはや学習することはできないという、プルーフ側からプルーフされる事実に関して、何も学習しない(それが正しいことを除く)。対話式ゼロ知識プルーフでは、検証側は、後になっても、事実を誰にもプルーフすることはできない。(全ての対話式プルーフがこの特性を有する訳ではない。)
ゼロ知識プルーフにおける典型的なラウンド又は構築ブロックは、プルーフ側からの「コミットメント」(commitment)メッセージ、それに続く検証側からの質問、次いでプルーフ側からの質問に対する応答で構成されている。プロトコルは、多くのラウンドの度に繰り返すことができる。全てのラウンドにおけるプルーフ側の応答に基づいて、検証側は、プルーフを受け入れるか又は拒絶するか判断する。
好適な実施形態では、本発明は、ゲーム装置に格納されているゲームデータ集合を認証する方法を提供する。対話式プルーフ方法を、ゲームデータ集合及びプルーフ側からのコミットメントメッセージ(複数のメッセージ)双方の一方向ハッシュと組み合わせて適用することにより、ゲームデータ集合は、プルーフ側から発したものであることを認証することができる。これを行うには、ハッシュ値をプルーフ側への1組のランダムな質問と解釈し、これらを用いて、対話式プルーフを完成させる。検証側が居合わせる必要はない。これを非対話式ゼロ知識プルーフと呼ぶ。これは、対話式プルーフの要素全てを含み、それに加えて、このように解釈したハッシュ値も含む。各質問/応答対を、ゲームデータ集合と共に記録し格納して、ディジタル「認証検印」を備える。
以下の記載では、"Applied Cryptography"(応用暗号法)、 Second Edition. John Wiley & Sons, Inc. 1996. ISBN 0-471-12845-7において、Bruce Schneierがどのようにゼロ知識プルーフを説明しているかについて、簡潔に述べる。ゼロ知識プルーフの機能は、通常、応答イベントに関して論じられ、図6に示すような洞穴図(cave diagram)が論述には有用なツールである。C及びDで示す2点間の扉は、秘密キー又は合い言葉を用いなければ開錠できないと仮定する。ある者(プルーフ側)が扉を開錠するための秘密を知っており、彼らは、ゼロ知識プルーフを用いることによって観察者に秘密を実際に暴露する必要なく、彼らがこの秘密を知っていることを観察者(検証側)に説得できると仮定しなければならない。(ゼロ知識という言葉は、プルーフを行うことによって秘密の知識を漏らすことはできず、したがって理論上単一の繰り返しは永遠に続き得るという事実から来ている。)
単一のゼロ知識プルーフは、以下のように進めることができる。観察者及び扉の開錠に対する秘密を有する人が、図の地点Aにて開始する。秘密を有する人は、洞穴に入り図の地点C又は地点Dに達する。秘密を有する人が適所に収まった後、彼らは観察者に、図における地点Bに移動するように要求する。
次いで、観察者は、1又は0のいずれかをランダムに選択する。観察者が0を選択すると、秘密を有する人は図の左側から出てきて、観察者が1を選択すると、その人は図の右側から出てくるように、予め手配されている。観察者は、秘密を有する人が地点C又は地点Dに落ちついた後、数値をランダムに選択する。その結果、観察者は、100%の確率で結果が成功となり得る唯一の方法は、秘密を知っていると主張する人が本当にどのようにして扉を開くかを知っているか否かであることがわかる。
尚、人が実際には秘密を知らない場合、観察者が乱数を選択した後に、彼らがなおも正しい経路で洞穴から出てくることができる確率は、正に50%であることを注意しておく。したがって、ゼロ知識プルーフをn回繰り返すことによって、人が実際には秘密を知らない場合に、正しい結果を有し続ける確率は1/(2n)である。ゼロ知識プルーフを10回繰り返す場合、人がプロトコルを「騙す」ことができる確率は、1/1024となる。
注意すべき第2点は、何回プロトコルを繰り返しても、観察者は、ドアを開く秘密は何かについて正確な本質の知識を得られないということである。秘密を知っている人は、プロトコルを十分な回数だけ単に繰り返すことによって、彼らが本当に秘密をいずれかのレベルの確信度で知っていることを、観察者にプルーフすることができる。
したがって、ゼロ知識プルーフに対する主要な要素は、1)正確な値又は本質を暴露することなく実証することができる秘密、2)特定の選択又は問題に対するコミットメント(commitment)、3)コミットメント後に選択したランダムビット、及び4)どのビットが選択されたかには係わらずプロトコルを完成させることができる能力、である。コミットメントが選択されたランダムビットと一致しない場合、秘密が知られていないならば、100%の確率でプロトコルを完成するのに成功するのは不可能でなければならない。ゼロ知識プルーフの多数回の繰り返しを互いに連鎖することによって、秘密を知らない者が、ランダムビットが選択される前に、正しい選択を憶測する(明言する)確率を低下させることができる。
例1:ゼロ知識プルーフプロトコルのグラフを用いた実施態様
数学を用いてゼロ知識プルーフを実施するには、解くことが困難な既知の問題に基づいてプルーフを行わなければならない。ここでは、2つの別個の実施態様を示すが、ZKPに基づくプロトコルを設計するには多くの方法が可能である。
ゼロ知識プルーフプロトコルの1つの可能な実施態様は、グラフ理論の数学分野に基づいている。図3に示すようなグラフは、エッジ(図における線)によって接続された頂点(図における円)の集合である。各エッジ(図における線)は2つの頂点(図における円)を接続する。
特定のグラフにおいて、経路に沿ってグラフの頂点全てを1回だけ接続し、元の頂点にて終了する経路が存在する場合、その経路は「ハミルトニアンサイクル」として知られている。図では、経路2−4−6−5−1−9−8−3−10−7−2がハミルトニアンサイクルである。ハミルトニアンサイクルは、過度に大きなグラフでは、解くのが難しい問題である。パスが既にわかっていなければ、過度に大きなグラフにおいてハミルトンサイクルを発見するために要する時間は、数学的に、グラフ内の頂点の数の二乗となる。
非常に大きなグラフについて解く場合の別の難しい問題は、頂点及びエッジの数が同一の2つのグラフは、同一か又は同形かをプルーフすることである。即ち、グラフをランダムに再配列し、グラフの全ての頂点に異なる連番を付けた場合、予め両グラフの頂点間のマッピングを知らなければ、得られた2つのグラフは、頂点の付番だけが異なることをプルーフするのは非常に難しい。
特定の過度に大きなグラフに対するハミルトンサイクルがわかっている(グラフを最初から作成する場合、最も可能性が高い)と仮定する。これは秘密である。その秘密のゼロ知識プルーフの単一の繰り返しは次のようになる。
1)プルーフ側は元のグラフを公開する。プルーフ側は、ハミルトニアンサイクルを知っており、それをプルーフできると述べる。
2)プルーフ側は、グラフをランダムに再配列し、全ての頂点に番号をふりなおす。
3)プルーフ側は、新たなグラフの解にコミットする。対称暗号、公開キー暗号化、又は一方向ハッシュ関数を用いても、秘密を暴露することなく、秘密にコミットする暗号方法がいくつかある。新たなグラフにコミットするという所望の目標がこのステップで達成されるのである限り、このステップでどれを用いるかは問題ではない。
4)検証側は、ランダムビット0又は1を選択する。
a)選択したビットが0であった場合、プルーフ側は、新たなグラフは古いグラフの同形であることを示す。
b)選択したビットが1であった場合、プルーフ側は、新たなグラフのハミルトンサイクルを示す。
尚、このプロトコルのラウンド毎に、詐欺師(cheater)が元のグラフのハミルトンサイクルを本当に知らなかった場合、彼らは、検証側が、ステップ2においてコミットする前に、ステップ4において0又は1のどちらを選択しようとするか、予測しようとしなければならない。詐欺師が、0が選択されると予期した場合、彼らはランダムに元のグラフを再配列するが、1が代わりに選択された場合、新たなグラフにおいてハミルトンサイクルを発見することはできない。何故なら、彼らは元の秘密を知らなかったからである。詐欺師が、1が選択されると予測した場合、彼らは、元のグラフと同じ数の頂点及びエッジを有し、ハミルトンサイクルを含む新たなグラフを生成することができるが、彼らは、0が代わりに選択されると、2つのグラフが同形であることをプルーフするために、頂点のマッピングを行うことはできない。加えて、新たなグラフは元のグラフに対してランダムであり、2つの解の内1つのみがゼロ知識プルーフの繰り返し毎に与えられるので、元の秘密について漏れる情報はない。プロトコルは何回でも繰り返すことができ、繰り返す毎に、誰かが全ての段階についてランダムビットの推測に成功することができる確率が低下する。
例2:因数分解、二乗、及びモジュロ算法を用いたゼロ知識プルーフプロトコル
このプロトコルは、San Diegoのカリフォルニア大学からBennett Yeeによって公開された、ゼロ知識プルーフに関する、インターネットに公開された論文に基づいている。
2つの大きな素数があり、その積を仮にnと呼ぶと仮定する。2つの素数に対して十分大きな値が選択された場合、この数を因数分解することは、計算上実行不可能になる。加えて、いずれの数値にしても、nを法とするその数値の二乗根を求めることは、等しく計算上実行不可能である。nを因数分解することは、nを法とする数値の二乗根を取ることと同等であることが示されている。
この実施態様では、プルーフ側は乱数sを選択する。数値sは、秘密となる。以下のステップは、この実施態様のためのゼロ知識プルーフプロトコルを記述する。
プルーフ側は、v=s2 mod nの値を公開する。nを法とするこの値の二乗根(上を参照)を計算するのは数学的に非常に難しいので、秘密は安全であり続ける。
プルーフ側は乱数rを取り上げる。
プルーフ側は、値x=r2 mod nにコミットし、この値を検証側に送る。検証側は、乱数0又は1のいずれかを選択する。
a)選択したビットが0であった場合、プルーフ側はy=rを検証側に送り、検証側は、nを法とするy2が、プルーフ側がステップ3においてコミットした値v=r2 mod nに一致するか否か確認する。
b)選択したビットが1であった場合、プルーフ側はy=rを検証側に送り、検証側は、nを法とするy2がxvの値に一致するか否か確認するためにチェックする。
尚、詐欺師が秘密を知らなかった場合、彼らがプロトコルを完成するのに成功できる確率は50%に過ぎない。詐欺師が、0が選択されることを予測した場合、1が実際に選択されなかったならば、彼らはプロトコルに従い、成功することができる。1が選択された場合には、秘密sは知られていないので、y=rsを検証側に供給することはできない。一方、詐欺師が、1が選択されることを予測した場合、実際に0が選択されなかったならば、いずれかの乱数tを選択し、x=t2/vを検証側に送ることができる。0が選択された場合、分母においてnを法とするrの二乗根を計算することはできない。
この場合でも、秘密を検証側に暴露することなく、このゼロ知識プルーフプロトコルを何回でも繰り返すことができる。繰り返し毎に、秘密を知らない誰かがプロトコルを騙すことに成功できる確率は低下する。
ここに、128ビットの数値を用いて、このプロトコルがどのようなものであるかという一例を示す。

Secret=f9cf9d9c913ff1e9e4016b82d8adb982
n=8a6e1cb89987536b69489be07d1dbaed
v=3350297dae721eb9b0349a9077b8eb4a

Random=packet 1:5d01ccb060927e1ef668eca2102f4b17
Random=packet 2:272ebbdda90aac88eeb2d65ff7057b8f
Random=packet 3:c4316e0269f7b70b6706402be50c528
Random=packet 4:63bd6f7e8df0cc73bc579a5b35384f17
Random=packet 5:3700b3e7260d44706ecdb97eaeec21a2:

Solution to packet 1:2ad979b57773d541e7cbe71e0125fa63 (Random bit=0)
Solution to packet 2:710f20caa81dfdchb7db7b33ba1aa4d9 (Random bit=1)
Solution to packet 3:cfcd56096c6a3a8d3badeab7fc6861f (Random bit=0)
Solution to packet 4:798222fa75a54d9679718109f16b93bf (Random bit=1)
Solution to packet 5:75b088975c0e7c920f0fac9d84880f7b (Random bit=0)


そして、パケットはこのように永遠に続き、ラウンド毎に、外部のペテン師(impostor)が人工的にパケットを生成できる確率が低下していく。
ここまでの説明の要点は、ゼロ知識プルーフが何を意味するかについて説明し、ZKPに基づくプロトコルがどのようなものかという例をいくつか示すことであった。以下に続く章では、どのようにゼロ知識プルーフプロトコルを適応させれば、カジノゲームデータ集合及びゲームデータの認証ならびにゲームプログラムに使用することが可能になるかについて説明する。
ハッシュ関数とは、可変長ビットストリングを取り、それから、より短い、固定長の指紋ビットストリング(fingerprint bit string)を計算する関数である。このハッシュ値は、コンピュータサイエンスにおいて多くの目的に用いることができる。
一方向ハッシュ関数は、特殊なハッシュ関数であり、特定の入力に対する結果を予測できないような方法で、可変長ビットストリングからハッシュを計算する。ビットのストリングを発生し変更することは非常に難しいので、所望の値にハッシュする。
一方向ハッシュ関数の出力を用いることによって、いずれのゼロ知識プルーフアルゴリズムでも、認証を実行するように適応させることができる。これをどのように行うかを確認するために、あらゆるゼロ知識プルーフに基づくアルゴリズムは、繰り返し毎に、1)正確な値や本質を暴露することなく実証することができる秘密、2)特定の選択又は問題(ランダム順列)に対するコミットメント、3)コミットメントの後に選択したランダムビット、及び4)どのビットが選択されたかには関係なく、プロトコルを完成することができる能力を含むことを思い出すこと。先に挙げた例の1つにおいて、秘密は、ハミルトンサイクル問題に対するグラフの頂点の付番であり、2番目の例では選択したビットストリングであった。双方の場合において、秘密は、各ゼロ知識プルーフの前にランダム順列を発生することによって、不明瞭になった。各例におけるゼロ知識プルーフの一部は、検証側によって適切なランダムビットが選択された場合に、プルーフ側がランダムな順序を解明するためにある。
図5を参照すると、データ集合を一方向ハッシュ関数の入力として、秘密の存在のプルーフ、及びゼロ知識プルーフの各ラウンドからのランダム順列と共に用いられた場合、生成されるハッシュ値は、データ集合だけでなく、ZKPの困難な問題に対するランダムなコミットメント(元の問題のランダム順列と記述することもできる)にも依存することがわかる。次に、このハッシュ値は、その入力から得られるランダムビットストリングとして用いることができる。言い換えると、ゼロ知識プルーフを検証側のランダムな1又は0の選択と対話的に行う代わりに、一方向ハッシュ関数からこのハッシュ値を構成する1及び0のパターンを用いて、ZKPプロトコルを非対話的に完成することができる。ハッシュ値の結果を予測することは不可能であるので、プルーフ側は、ゼロ知識プルーフ毎に困難な問題を解く準備をしなければならず、彼らがこれを100%確実に行うことができる唯一の方法は、彼らが秘密を知ることである。
このようにランダムハッシュ値が用意されていれば、秘密の知識を有する者だけが、ゼロ知識プルーフに対する答えを生成できることを示すことができる。ZKPラウンドを完了すると、データ集合は、秘密を所有するソースから来たものとして認証されたことになる。
加えて、この一連のステップに続いて得られる結果は、入力の信憑性の指示を与える点では同様であるが、当技術分野においてディジタル署名として知られているものとは実質的に異なる。最低でも、ZKPシーケンスに従う又は実行するために暗号化(大抵の場合、署名の固有部分)は不要である(しかし、秘密の存在の初期プルーフを公開してこの技法の柔軟性を高めるために、選択肢として暗号化を用いることはできる)。暗号化ハッシュ値から成る伝統的なディジタル署名は、ビットアレイ全体におけるビットの順序を拠り所とする。ZKPシーケンス及びプロセスでは、知識の繰り返しのランダム順列/プルーフを再配置し、除去し、あるいはシーケンスのどこにでも、知識又はビットの追加のランダム順列/プルーフを補充することができ、列全体の完全性は同一のままである。(実際、これは、手順を完了した後に行うことができ、秘密を知る必要なく、繰り返しを除去することができる。)対照的に、典型的な署名は、ビットパターンが並べ替えられたり、シーケンスのいずれかの部分で追加のビットが加えられたり、除去されると、無効になる。ZKPと伝統的なディジタル署名との間の別の違いは、伝統的なディジタル署名では一意のハッシュ値/署名関係が標準であるのに対して、ZKPにおいて用いられているランダム順列では、無限数の等しく有効なビットパターンが可能であることである。
ゲームマシン上でのゼロ知識プルーフ認証の実施態様
この章は、ゲームシステムの提供業者及びゲームの提供業者がどのようにしてゼロ知識プルーフを用いて、ゲームマシン上で認証を実施できるのかについて示す。例2からの数学的実施態様を用いると、プルーフ側は、vを秘密キーで暗号化することによって、又は、OS EPROM上等で、ゲームデータ集合から別個にそれを放出することによって、値v=s2 mod nを公開する。公開キーを用いることによってこれを解読することができるが、nを法とする二乗根を解くことが数学的に難しいために、秘密は安全に保持されることを注記しておく。以前に述べたように、暗号化は、この技法に対して偶発的であり、この場合、書き込み可能な媒体に格納されたときに、値vを変更できないようにするためにのみ用いられる。
ZKPシリーズを発生するときが来たなら、ゲームデータ集合を、値v及び多数のランダム順列と共にハッシュする。直前の章において説明したように、一旦ランダムなハッシュ値を計算したなら、ハッシュ値のビットを、ゼロ知識プルーフに対する解のためのランダムな選択として用いる。解は、暗号化されないで、ランダムなコミットメント(commitment)と並んで格納される。尚、認証はファイル毎に行うことができ、あるいは個々のゲームデータ集合各々からのハッシュの排他的論理和を取れば空間を節約でき、その場合、ファイルの集合全体を直ちにハッシュし検証できることを注記しておく。別の実施形態では、各個々のゲームデータ集合からのハッシュ値を組み合わせ、新たなデータ集合を形成し、ZKPプロセスを用いて認証できるようにすることも可能である。
ゲームにおいてゲームデータ集合を認証するときが来たなら、vの値を、解読によって再現する。次いで、ランダムなコミットメント及びvの値を含めて、ゲームデータ集合(複数の集合)のハッシュを実行する。次に、ランダムビット毎にゼロ知識プルーフが正しいことを検証することによって、ZKP解をチェックする。ハッシュ値におけるビット毎に解が正しい場合、ゲームデータ集合(複数の集合)は本物であると見なされる。
ZKP認証方法の変形
この方法には、述べるに値する2つの重要な変形がある。第1に、別個のハードウェアによってハッシングを容易に行うことができ、その場合、ハッシングは非常に素早く行われる。一旦ハッシングが完了したなら、ZKPプロトコルの残りは、ソフトウェアシステムによって完成する。
第2に、ゲームデータ集合を、例えば、サーバからダウンロードする場合、ZKPプロトコルは、対話式プロトコルとして用いることができる。この場合、ハッシュ値は乱数源として用いられず、ランダムハッシュ値には不要となる。何故なら、ZKPプルーフのステップは、検証側が1又は0をランダムに選択する例で説明したように進められるからである。
3番目の変形は、メッセージ認証コードを一方向ハッシュ関数の代わりに用いることである。メッセージ認証コードは、キーに依存する一方向ハッシュ関数である。この変形は、プロトコルと共に動作すると、柔軟性を高める異なる方法で用いることができる、ランダムビットストリングに、ハッシュ値を付加的に依存させる。この変形は、本願と同一日に出願し、弁理士の整理番号PA0670.ap.USを付した同時係属中の米国特許出願に記載されている。この出願の内容は、この引用により、そしてこの中で引用された参照事項により、本願にも含まれることとする。
以下に続く本発明の実施形態の詳細な説明では、一部をなす添付図面を参照する。図面には、例示の意味で、本発明を実施可能な具体的な見本の実施形態が示されている。これらの実施形態は、当業者が本発明を実施できるように、十分詳細に記載されており、その他の実施形態も利用することができ、論理的、機械的、電気的、及びその他の変更は、本発明の精神又は範囲から逸脱することなく可能であることは言うまでもない。したがって、以下の詳細な説明は、限定的な意味で解釈するのではなく、本発明の範囲は、添付した特許請求の範囲によってのみ規定されることとする。
種々の実施形態において、本発明は、万能オペレーティングシステムのためのアーキテクチャ及び方法を提供する。これらは、ゲームコード及びその他のデータの安全な格納及び検証を特徴とし、コンピュータ化賭博ゲームシステムと安全にデータを交換することができ、しかも単純かつ簡単に管理できるように、それを行うことができる。本発明の実施形態の中には、Nevada Gaming Commission, New Jersey Gaming Commission又はその他の規制監督官庁等により、プルーフ又は承認されたものとして、ゲームプログラムコードを特定することができるものもある。本発明は、暗号化、乱数、及びハッシュ関数、ならびにここで紹介し論ずるその他の暗号方法の使用によって、これら及びその他の機能を提供する。
この開示の目的上「ハッシュ関数」とは、可変のキャラクタ又はテキストストリングから、通常では固定長の一意のデータストリングを発生する種類の関数のことである。発生するデータストリングは、通常、テキストストリングよりは遥かに短いが、異なるテキストストリングからハッシュ関数によって同じ数値が生成されることがあり得ない程度の長さである。又はッシュ関数において用いられる式は、異なるテキストストリングが同じハッシュ値を生成することがあり得ないように選択されなければならない。
ハッシュデータストリングは、一般には「メッセージダイジェスト」と呼ばれている。メッセージダイジェストは、今後の使用のために格納することができ、又は、暗号化してから、例えば、不揮発性メモリに格納することもできる。
ハッシュ関数は、多くの場合、データレコードをハッシュして、データベース内の各データレコードに対応する一意の数値を生成する際に用いられ、ハッシュ値を再生するために、サーチストリングに適用することができる。次いで、ハッシュ値はインデックスキーとして用いることができ、データベース全体を探索して、要求されたデータを求める必要性を廃することができる。ハッシュ関数の一部は、一方向ハッシュ関数として知られており、このような関数では、所与のハッシュ値を生成するテキストストリングを導出するのは非常に難しいが、テキストストリングからハッシュ値を生成するのは比較的容易であることを意味する。これによって、テキストストリングの内容を修正し、同じハッシュ値を生成する現実可能性を確実になくす。適した一方向ハッシュ関数の一例は、160ビットSHAハッシュ(セキュアハッシングアルゴリズム)である。ファイルサイズには関係なく、ハッシュ値の長さは160ビットとなる。
このような関数は、所与のキャラクタストリングをハッシュし、第1ハッシュ値を生成するために用いることができる。第1ハッシュ値は、後に、同じキャラクタストリングから導出した第2ハッシュ値と比較し、キャラクタストリングが変わっていないことの確証を得ることができる。キャラクタストリングが改変されている場合、同じハッシュ関数によって生成されたハッシュ値は異なる。第1ハッシュ値の完全性は、ディジタル署名の使用というような、他の暗号方法の使用によって、改変から保護することができる。
ディジタル署名は、電子文書又はキャラクタストリングに署名するために用いられ、ストリングキャラクタが署名以来改変されていないことの確証を得る。ディジタル署名は、通常では、キャラクタストリングに、別の文書には再使用できない、忘れ得ない署名を意図的に署名したこと、及び署名した文書は改変不可能であることを示すために用いられる。ディジタル署名機構又は方法は、これらの基準を満たすように、通常では、複雑な数学的暗号技法を用いることによって、設計されている。
一例は、公開キー/秘密キー暗号システムを用いて文書に署名することである。公開キー/秘密キーシステムでは、ユーザは1対のキーを有し、文書を暗号化又は解読するために交互に用いることができる。公開キーは、そのキーが実際にキー所有者に属することを正当に保証するように公開又は分配され、秘密キーは厳格に秘密に保持される。ある者が、ある種の人でなければ読めないキャラクタストリングを送りたい場合、キャラクタストリングを暗号化し、その後、意図した読み手の公開キーを用いて送る。こうして、キャラクタストリングは、意図した読み手の秘密キーを用いてキャラクタストリングを解読することによってのみ、目視可能となる。
しかしながら、文書が発信元によって作成された本物の文書であることを事実上保証するが、本質的にだれでもそれを読むことができるように、ユーザがキャラクタストリングを送りたい場合、ユーザは、彼の秘密キーでこれを暗号化することによって文章に署名してから送ることができる。こうすると、通常では広く流通している署名者の公開キーで、誰でも文書を解読でき、これによって、キャラクタストリングがキー対の所有者によって署名されたことを検証することができる。この実施形態の例は、ディジタル署名の要件を満たしており、キャラクタストリングに、他の文書では再使用できない、忘れ得ない署名で意図的に署名し、署名した文書が改変できないことの確証が得られる。
大きなコンピュータプログラム又は長いテキスト文書のような大きなキャラクタストリングの暗号化では、暗号化及び解読にかなりの時間量が必要となり得るので、ディジタル署名の実施形態の中には、一方向ハッシュ関数を実施するものもある。このような実施形態の1つでは、署名者は、公知の一方向ハッシュアルゴリズムを用いて、キャラクタストリングのためにハッシュ値を作成し、彼の秘密キーを用いてこのハッシュ値を暗号化する。次に、文書及び署名したハッシュ値は受信側に送られ、受信側では、同じハッシュ関数をキャラクタストリング上で実行し、得られたハッシュ値と、署名したハッシュ値を署名者の公開キーで解読することによって生成したハッシュ値とを比較する。かかる方法では、用いるハッシュ関数及び暗号化アルゴリズムが適当な強さであれば、非常に優れたセキュリティが得られる。
公開キー/秘密キーシステムによるデータの暗号化は、ディジタル署名の生成ばかりではなく、送信又は格納に先立つデータの暗号化にも有用であり、あるいは他の用途においてデータを安全又は秘密に保持するにも有用である。同様に、対称暗号化技法は、同じ単一の秘密キーの暗号化及び解読を拠り所とし、このような用途に適用することができる。例えば、ネットワークサーバとコンピュータ化賭博ゲーム装置との間でのプログラムデータの送信は、対称暗号化技法によって確保することができ、一方ゲーム装置において受信したプログラムデータは、実行前にハッシュ関数及び公開キー暗号法を採用したディジタル署名によって、規制監督官庁によって承認されたものとして、検証することができる。
その他の暗号化方法及び方式も存在し、同様に本発明にしたがって使用可能である。DES(データ暗号化標準)のような一部の対称暗号化方法及び単一キーの秘匿性を拠り所とするその変種は、ここに記載する方法が公開キーとのキー対を必要とするために、適応させることができない場合もある。RSA及びDiffie-Hellmanのようなその他の種々の暗号化方法は、公開/秘密キー方法に準じおり、これらの方法に使用可能である。MD5又はSHAのような種々のハッシュ関数を用いることもでき、これらが十分に非可逆性であり一方向ハッシュ関数とみなせる限り、本発明に係る多くの態様において有用である。種々の暗号化方法も様々な程度のセキュリティを備えており、突破が比較的容易なものから、突破が非常に難しいものまである。これら種々の程度のセキュリティは、種々の確率度で暗号化したデータを忘れられないように、読み出しできないように、などとすることができる種々の程度のセキュリティを含み、本願に係る暗号化方法の範囲にはいると見なすこととする。種々の暗号化方法が存在し、今後も開発されることが予期され、それらの全ては、本発明に係る態様の一部で採用可能な可能性があり、本発明の範囲に該当するものとする。
図1は、ゲームシステムにおいて通常見られる種々の構成要素、及び本発明に応じてこれらをどのように用いるかについて例示する、ゲームシステム1010の一例を示す。このゲームシステムにおけるユーザインターフェースデバイスは、押しボタン101、ジョイスティック102、及びプルアーム(pull arm)103を含む。賭博に対する掛け金(credit)は、コイン又はトークンスロット104、紙幣受取器やカードリーダのようなデバイス105、又はその他の掛け金入力デバイスによって確立することができる。カードリーダ105が、ユーザがゲームを完了したときに、ユーザのカードに掛け金情報を記録する機能を設けることもでき、掛け金はコイントレイ106又はその他の掛け金返却デバイスによって戻すこともできる。ビデオ画面107のようなデバイスによって、ユーザに情報を提供する。ビデオ画面107は、陰極線管(CRT)、液晶表示(LDC)パネル、プラズマディスプレイ、発行ダイオード(LED)ディスプレイ、又はコンピュータ化ゲームコントローラの制御の下で視覚画像を生成するその他の表示装置とすることができる。また、ボタン101をプルーフすると、ゲームのいずれの時点においてもゲームシステムに有効な入力を供給するために用いたのはどのボタンかを示すことができる。更に別の光又は他の視覚インディケータも、ゲーム情報を示したり、ゲームユーザになりそうな人の注意を引く等の他の目的のために設けることができる。サウンドはスピーカ108によって供給され、更にゲームステータスを示すため、ゲームユーザになりそうな人の注意を引くため、又はその他の目的のために、コンピュータ化ゲームコントローラの制御の下で用いることができる。
更に、ゲームシステム100は、コンピュータ化ゲームコントローラ111及び配線ハーネス113を通じて接続されているI/Oインターフェース112を備えている。万能ゲームコントローラ111は、種々のゲームシステムユーザインターフェースアセンブリのインターフェース要件に準拠するようにそのハードウェアやソフトウェアを設計する必要はなく、一旦設計すれば、種々のゲームシステムをI/Oインターフェース112を介して制御することができる。I/Oインターフェース112は、万能コンピュータ化ゲームコントローラの入力/出力を、種々のゲームシステム内部にあるインターフェースアセンブリに適正にインターフェースするように設計されている。
実施形態の中には、万能ゲームコントローラ111は、標準的なIBMパーソナルコンピュータと互換性のある(PC互換)コンピュータとしたものもある。万能ゲームコントローラの更に別の実施形態は、埋め込みコントローラボード又はモジュラーコンピュータシステムのような汎用コンピュータシステムから成る。このような実施形態の例は、PC/104バスを有するPC互換コンピュータを含む。これは、モジュラーコンピュータシステムの一例であり、PCのソフトウェア及びハードウェアの互換性を保持しつつ、小型サイズ及び低消費電力を特徴としている。万能ゲームコントローラは、種々のプログラムコードを万能コントローラにロードすることによって、多種多様なゲームを実施するために必要な機能を全て備え、ゲーム開発、及び種々のゲームシステムにおいて用いるために顧客に配送する共通のプラットフォームを提供する。本発明に係る他の万能コンピュータ化ゲームコントローラは、種々のゲームシステムソフトウェアに対応可能ないずれかの汎用コンピュータを含むことができ、ゲームアプリケーションにおいてコスト効率性のために最適化した万能コントローラや、種々のゲームソフトウェアをロードし実行する機能を保持しつつ、他の特殊目的エレメントを含むものがある。
更に別の実施形態では、セキュリティ機構を有する万能コントローラは、進行型コントローラやプレーヤ追跡システムのようなネットワーク状インラインシステムを含む、他の用途にも用いることができる。また、本発明は、キオスクディスプレイや、ビデオディスプレイ上にピクチャインピクチャ構造を作成するために用いることもできる。
実施形態の中には、万能コンピュータ化ゲームコントローラを、カスタム化したLinuxカーネルのようなゲーム特定用途カーネルを有するオペレーティングシステムを実行するコンピュータとしたものもある。別の実施形態では、コードのシステムハンドラアプリケーションレイヤがカーネル内で実行し、共通ゲーム機能性を更にプログラマに提供する。このような実施形態におけるゲームプログラムは、したがって、全てのコードの一部に過ぎず、システムハンドラアプリケーションレイヤ及びカーネルを拠り所として、共通に用いられる賭博機能を提供する。更に別の実施形態は、種々のレベルのアプリケーションコードを有し、数層のゲーム特定コード層を含む実施形態から、オペレーティングシステムやカーネルが無くても実行し、それ自体のコンピュータシステム管理機能を提供する単一層のゲームソフトウェアまでの範囲がある。
図2は、本発明の種々の実施形態において用いるような、コンピュータ化賭博ゲーム装置の一部をなす、選択した品目に接続されているネットワーク状コンピュータを示す。コンピュータ化ゲームコントローラ201は、プロセッサ202、メモリ203、及び不揮発性メモリ204を有する。不揮発性メモリの一例は、大容量フラッシュデバイス(以後、「フラッシュディスク」)である。フラッシュディスクは、読み書きしつつ、電源を落とした後でもディスクに格納した情報を保持するという利点がある。実施形態の一部のコンピュータ化ゲームコントローラに取り付けられているのは、大容量記憶デバイス205、及びネットワークインターフェースアダプタ206である。ネットワークインターフェースアダプタは、ネットワーク接続部208を介して、ネットワーク状コンピュータ207に取り付けられている。図2の種々の構成要素は、本発明の実施形態の範囲内に存在し、種々の構成要素が連動する様子を示すために図示した。
本発明のコンピュータ化賭博ゲームコントローラは、コンピュータ化賭博ゲームを制御するように動作可能であり、更に、種々の実施形態では暗号化を用いてデータセキュリティを設けるように動作可能である。実施形態の一部におけるコンピュータ化ゲームコントローラ201は、IBM PC互換コンピュータのような汎用コンピュータである。ゲームコントローラは、Linux又はMicrosoft Windows(登録商標)のようなオペレーティングシステムを実行し、更に別の実施形態では、オペレーティングシステムを修正して、コンピュータ化ゲーム装置内で実行するようにしている。また、コンピュータ化ゲームコントローラは、ゲームコードも実行する。これは、実行の前に、ハードディスクドライブのような大容量記憶装置、あるいはフラッシュメモリ又はEPROMメモリのような不揮発性メモリ204のいずれかからメモリ203にロードすることができるゲームコードも実行する。実施形態の中には、コンピュータ化ゲームコントローラ201は、暗号化機能をメモリ203にロードし、これらの機能は後に実行され、他のゲームシステムデータを大容量記憶装置205から安全にロードする。
更に別の実施形態では、コンピュータ化ゲームコントローラは、ネットワーク接続部208及びネットワークインターフェースアダプタ206を介して、ネットワーク状コンピュータ207とデータを交換する。ネットワーク接続部を介して交換されるデータは、本発明の実施形態の一部では暗号化されており、交換されるデータのセキュリティを確保する。種々の実施形態において交換されるデータは、ゲームプログラムデータ、コンピュータ化ゲーム装置報告データ、コンピュータ化ゲーム装置の動作を制御するコマンドを備えたデータ、及びその他のコンピュータ化ゲーム装置データから成る。このようなデータの交換において暗号化を採用したことにより、ある程度のセキュリティが得られ、このようなデータが改変されたり、改竄されないことの確証を得る。
本発明は、暗号法を採用し、種々の実施形態において、ハッシュ関数、対称暗号化、及び公開キー/秘密キー暗号化を含み、これによって、コンピュータ化ゲームシステムが利用し、本発明にしたがって暗号化によって保護されたデータが改変や改竄されないというある程度の信頼度が得られる。本発明の範囲内に入るデータは、オペレーティングシステム又はゲームプログラムデータのようなプログラム、掛け金又はその他のゲーム状態データのようなコンピュータ化ゲームマシンステータスデータ、コンピュータ化ゲーム装置の動作を制御する制御命令データ、及びその他のコンピュータ化ゲームマシンデータを含むが、これらに限定されるのではない。
認証プログラムの本質的な目的は、メモリ内に格納されているデータが、転化(corrupt)、侵害(violate)、改変(alter)、又はその他の方法でメモリ内に置かれた元のデータから変化されていないことについて、ほぼ絶対的な保証を与えることである。したがって、認証プログラムの全ては、第1組のカジノゲームデータ情報を供給し、これと現在の1組のカジノゲームデータを比較することができるように動作しなければならない。種々の公知の認証プログラムにおける変形では、元のデータに異なる扱いをしたり、異なる形態のデータを比較したり、異なる暗号化技法を用いたり、カジノゲームデータ集合を表す、異なる格納データ形式(例えば、署名、省略ビットストリング等)を形成したり、別のステップを実行したり他の機構を用いるが、基盤となる目的は同一のままである。情報の元のキャッシュは、後に元のデータ(その内容及び/又は状態)の証拠(データ)を現在の状態及び/又はデータの内容に関するデータと比較することによって、同一であり続けていることを示さなければならない。これら比較の方法の変形が望ましいのは、変形はセキュリティの侵害を思いとどまらせるのに役立ち、異なるプログラムであれば、それらを回避するために異なる努力や技法を必要とするからである。多種多様の異なる認証システムを設けることによって、いずれの単一システムの侵害も複雑化する。
一実施形態では、連番第09/520,405を有し、2000年3月8日に出願された、Computerized Gaming System, Method and Apparatusの同時係属中の出願に記載されているオペレーティングシステムが、ゲームアプリケーションに特定した「供給オブジェクト」のライブラリと協動する。この開示の目的上、「共有オブジェクト」とは、ゲームのための特定の機構集合又は動作シーケンスを定義するゲームの自立機能ユニットとして定義する。本発明のゲームマシンの個性(personality)及び挙動は、オペレーティングシステムがコールし実行する特定の共有オブジェクト集合によって定義される。単一のゲームの中では、多数の共有オブジェクトが動的にロードされ、実行される場合がある。この定義は、通常APIを多数のプログラムに供給する、従来の共有オブジェクトの意味とは対照的である。APIとは、アプリケーションプログラミングインターフェースであり、機能のライブラリを含む。
一実施形態では、特定のアプリケーションのための共有オオブジェクト及びそれらの対応する署名が、フラッシュメモリ又はEPROMに格納される。共有オブジェクトがコールされると、これらはRAM内にコピーされ、頻度の高い周期でハッシュされる。共有オブジェクトはフラッシュメモリからハッシュされ、RAMにロードされ、次いでRAMからハッシュされてもよい。Linux、Unix(登録商標)又はその他の同様のシステムを利用すると、RAM内におけるデータの位置を突き止められるという利点がある。RAMにおけるデータ検証には、データがロード又は再ロードされるときではなく、エラーが発生したときにそれを捕獲できるという別の利点がある。このため、機械の誤動作に基づくジャックポット等の払い戻しを回避することによって、カジノはばく大な金額を支払わなくて済む。ハッシングはバッチプロセスであるので、プロセスは連続的ではない。しかしながら、ハッシングが、例えば、10秒というような、比較的短い時間しか要さない場合、プロセスはそれ自体を繰り返し、RAM内のデータ検証を実際に連続的にすることができる。2001年9月10日に出願した米国特許出願第10/318,369号(既に引用したことによって本願に含まれることとした)の主題と同様であり、この明細書においても記載した内部検証デバイスは、ハッシング速度を高める機構を設け、そのデバイスは、本発明の実施に用いることができる。
ゲームプログラム共有オブジェクトのコード検証について以上詳しく説明したが、ハッシュ関数及び署名を利用したコード検証は、Linuxカーネルの認証、カーネルに対するモジュール状変更、オペレーティングシステム、ゲーム状態データ、乱数発生データ等の検証にも適用することができる。
種々の実施形態において、選択したデータに、当該データの完全性を確保するために検証されるディジタル署名で署名することによって、暗号化で保護することが余り好ましくない場合もある。実施形態の中には、データ署名は、選択したデータに署名者の秘密キーで署名し、データが、対応する公開キーを用いてでないと解読できないようにすることから成るものもある。意図した署名者のみが彼の秘密キーを知っており、他の秘密キーで暗号化した文書は、意図した署名者の公開キーでは解読できないので、意図した署名者の公開キーでデータの解読に成功すると、データが署名されていた、即ち、意図した署名者によって暗号化されていたことに、ある程度の確信度が得られる。
しかし、公開キー/秘密キー暗号化アルゴリズムは、通常、大量のデータを暗号化するために比較的長い時間を要するので、実施形態によっては、暗号化アルゴリズムを更に効率を高めて用い、一方向ハッシュ関数からのハッシュ値のようなデータの一意の特性を暗号化することもある。このような実施形態では、署名者は、署名するデータのために、一方向ハッシュ関数によって参照ハッシュ値を導出し、得られたハッシュ値を彼の公開キーで暗号化する。一方向ハッシュ関数は、通常、公開キー/秘密キーアルゴリズムよりもはるかに素早くデータに適用することができ、そのため、データ全体を処理するには、公開キー/秘密キーアルゴリズムよりもハッシュ関数を用いる方が望ましい。本発明の実施形態によっては、乱数とカジノゲームデータ集合とを組み合わせたビットストリングの暗号化を用いる場合、ハッシュ値のみを公開キー/秘密キー暗号化によって暗号化すればよく、大量のデータに署名し検証するために必要となる時間を大幅に短縮することができる。署名を検証するには、意図する署名者の公開キーによってハッシュ値を解読し、解読した基準ハッシュ値を、同じデータの新たに計算したハッシュ値と比較する。基準ハッシュ値が新たに計算したハッシュ値と一致した場合、署名したデータは、それに署名されて以来、改変されていないことに、ある程度の確信度が存在する。
ディジタル署名を用いる実施形態の中には、秘密キーが、コンピュータ化賭博ゲームシステムにおけるデータの完全性を確保する責務がある規制監督官庁又はその他の機関のそれである場合がある。例えば、Nevada Gaming Regulations Commissionは、彼らの秘密キーを用いて、このようなゲームシステムにおいて用いられるデータに署名を適用し、署名したデータを承認したことを保証する場合がある。このような実施形態は、これらのシステムにおいて実行するゲームコードが承認され、承認以来改変されていないことの確証を得るのに有用であり、ゲーム運営者即ち所有者及び規制委員会双方にセキュリティを与えることになる。他の実施形態では、ディジタル署名は、ゲームコード製造業者又は設計者のそれであり、ゲームコードは、署名以来、その元の状態から改変されていないことを保証する。
前述のシステムにおける基準ハッシュ値又は公開キーの安全な格納は重要である。何故なら、データの完全性を検証するために用いられる基準ハッシュ値又は公開キーも改変できる場合、データは一層簡単に改竄できるからである。この理由のために、基準ハッシュ値、公開キー、又はその他の暗号化キーデータを書き込み不可のメモリに格納する。実施形態によっては、不揮発性メモリは、改変できないプログラマブルメモリであり、新たな暗号化キーデータを必要とする毎に、不揮発性メモリの交換が必要となる。このような実施形態では、データを改変するためには、不揮発性メモリ204を物理的に取り外して交換しなければならず、ある程度のアクセスセキュリティが得られ、不揮発性メモリ及びその内容の同一性の視覚的検証が可能となる。
更に別の実施形態では、暗号化キーデータを大容量記憶装置に格納する。別の実施形態では、暗号化関数に埋め込まれた暗号化キーデータの格納、ハードディスクドライブ大容量記憶装置の安全な区域への格納、又は暗号化キーデータを保護するための他のセキュリティ方法の使用を含む。
本発明の実施形態の中には、これらの認証及び暗号化方法は、ネットワークを通じたコンピュータ化ゲームシステムの通信にも適用されるものもある。ネットワークを通じて伝達されるデータは、本発明の種々の実施形態では、ハッシュ関数によって検証され、公開キー/秘密キー暗号化の使用によって検証され、対称暗号化の使用によって検証され、前述の乱数暗号化手順の使用と類似した又はこれと同一のプロセスによって検証され、あるいはディジタル署名又はチャフィング(chaffing)のようなその他の暗号技法の使用によって検証される。また、種々のキー交換又はキーネゴシエーション(key negotiation)が存在し、本発明の実施形態の中には、ネットワーク状のコンピュータ化ゲームシステムに、暗号化キーについて他のネットワーク状コンピュータシステムと公開状態で同意し、その後ネットワーク上で安全に通信するためにこの暗号化キーを用いることができるようにする機能を設ける。
このようなネットワーク通信方法は、本発明において、コンピュータ化賭博ゲームシステムと他のネットワーク化コンピュータシステムとの間における安全なデータ交換を行うために利用される。例えば、本発明の実施形態の中には、コンピュータ化賭博ゲームの動作のある態様を制御する制御コマンドをネットワークを通じて安全に送る場合がある。このようなコマンドは、選択したコンピュータ化賭博ゲームシステム上で払い戻しのオッズを増加させること、又は選択した日時において選択したコンピュータ化賭博ゲームシステム上で実行するゲームプログラムを変更することを含む場合がある。実施形態の中には、コンピュータ化賭博ゲームが、会計データのようなゲームデータを、暗号化によって、ネットワーク状コンピュータに安全に報告する場合もある。本発明の更に別の実施形態では、賭博ゲームプログラムデータを、ネットワークを通じてコンピュータ化賭博ゲームシステムに安全に送信することによって、物理的に各コンピュータ化賭博ゲームシステムにアクセスせずに、新たな賭博ゲームをシステムに供給する安全な方法を提供する。
認証及び暗号化方法が提供するセキュリティの度合いは、通常、ハッカーが暗号を破るために費やそうとする手間や費用に依存するので、本発明の実施形態の中には、暗号化キーの交換を採用する場合もある。25、50、60、80、100、120、128、156、180又はそれ以上のキャラクタによる乱数発生を用いることによって、ハッカーがコードにアクセスする能力を超える容量を備えることは明らかである。これは、特に、乱数発生が個々のマシンに対し一意であり、ゲームの各プレイ又は立ち上げ(boot-up)に対しても一意とすることができる場合に当てはまる。実施形態の中には、所定の時間期間だけディジタル署名を有効とするものもあり、更に別の実施形態では有効期限を関連付け、その後はもはや用いることができないようにするものもある。このような方法は、ある時間期間だけゲームの使用許諾を与え、その後は、データ検証に用いられる暗号化キーの期限切れのために、適正に検証されないようにする、本発明の種々の実施形態においても用いることができる。ハッシュ関数が生成するハッシュ値は、通常、ハッシュされるデータに全面的に依存するので、基準ハッシュ値の期限切れ及び交換を組み込んだ本発明の実施形態では、修正データの再発行により異なるハッシュ値を生成することも必要となる。例えば、細かいバグの修正、新たな機構の追加、又はゲームプログラムを構成するデータのその他の小さな変更で、編集したプログラムデータをハッシュする際に異なる基準ハッシュ値を生成するには十分であり、更新したデータに対応する更新した基準ハッシュ値が得られる。
別の実施形態は、種々のコンピュータ化ゲーム及びゲーム製作者間で種々のキーを用い、暗号化キーを破るのに成功することの危険性、したがってその価値を低下させる。例えば、一実施形態では、ゲーム製作者はそのコンピュータ化賭博ゲームの顧客毎に異なるディジタル署名を採用することによって、単一のゲームシステム上において暗号化キーを破っても、その影響は限られた数のゲームにしか及ばないことを保証する。別の実施形態では、規制監督官庁が、周期的に、ゲームに署名する際に用いるキーを変更し、データに署名するために用いるキーのハッキングに成功しても、限られた特定可能な数のゲームだけに、くい止められるようにする。キーの交換及び期限切れという方針には多くの変形が存在し、その全てが本発明の範囲内に該当するものと見なすことは、当業者には自明であろう。
本発明は、ゲームコード及びその他のデータの安全な格納及び検証を特徴とし、コンピュータ化賭博ゲームシステム及び/又はネットワークシステムと安全にデータを交換することができ、更に、単純かつ容易に管理できるようにこれを行う、賭博ゲーム特定プラットフォームのためのアーキテクチャ及び方法を提供する。本発明の実施形態の中には、Nevada Gaming Commission又はその他の規制監督官庁によってプルーフ又は承認されたゲームプログラムコードを特定できるものもある。本発明は、これら及びその他の機能を設けるにあたって、暗号化、ハッシュ関数、及びその他の暗号方法を用いる。
図8は、本発明の実施形態の一例を示すブロック図である。この図を参照すると、背景が強調された四角で囲まれた要素は、ZKPを使用する前に公開され、認証のためにZKPを用いるときにゲームデータ集合と共に格納され、又は対話的にZKPを行うときにネットワークを通じて転送されたものを示す。べた塗りの四角は、ゼロ知識プルーフの質問フェーズよりも前に発生した情報から成る。右側の模様付四角は、ランダムな質問に基づくプルーフを完了する情報を取り囲み、図では、段階毎にランダムビットとして示されている。
対話的にZKPを行う場合、各ランダム順列を受信した後にランダムビットを選択する。非対話的にZKPを行う場合、ゲームデータ集合、ならびにランダム順列及び秘密の存在のプルーフの何らかの組み合わせからランダムビットを導出する。
準備シーケンスの一部として、繰り返しを実行する前に、
1)秘密、及び秘密の存在のプルーフを生成する。これは1回行う。秘密は、1回生成したなら、変更できない。秘密の存在のプルーフは、次の特性を有する。これは秘密に一意であり、その存在のプルーフから秘密を解明することは非常に難しい。秘密は、書き込み不可の媒体上のOS EPROM上に格納しなければならないが、あるいは公開/秘密キーを用いて暗号化し、秘密キーがわからなければ、秘密を変更できないようにしてもよい。このステップは、対話式及び非対話式ZKPプロトコル双方に共通である。尚、PKIを用いた暗号化は、本方法の必要な部分ではないことを注記しておく。
対話式ZKPを実行する場合:
この手順は、ネットワークを通じて、又は「生の」データ交換が頻繁に行われるその他の種類の環境において実行することができる。
2)乱数を発生し、これから、秘密の存在のプルーフのランダム順列を発生する。秘密の存在のプルーフのランダム順列は、ランダム順列から用いられた乱数を再現することが非常に困難であるようでなければならない。
3)ランダム順列を検証側に与える(コミットする)。(検証側も秘密の存在のプルーフを有しているはずである)。
4)検証側は1又は0を選択する。
5)1又は0のどちらが選択されたかに応じて、次の内の1つを実行する。
a.0が選択された場合、ランダム順列を生成した際に用いた乱数を明示する。
b.1が選択された場合、乱数と秘密とを組み合わせることによって動作は秘密を知っていることを暴露し、ランダム順列が乱数にどのように関係するかを、秘密の存在のプルーフが元の秘密にどのように関係するかに関連付けられることを示すことができるようにする。
6)ステップ2ないし5を、必要な回数繰り返す。ステップ毎に、ごまかしの確率が1/2ずつ低下する。
非対話式ZKPにおいて、データ集合Dを認証する準備のために行われる、1つのデータ(D)の認証では、ステップ1におけるように秘密を準備した後に、以下のステップを実行する。
2)何回繰り返しを行うのか決定する。この数値をNと呼ぶ。
3)N個の乱数を発生する。これらの数から、秘密の存在のプルーフのN個のランダム順列を発生する。
4)秘密の存在のプルーフ、N個のランダム順列、及びデータD(例えば、カジノゲームデータ、カジノゲームデータ集合等)を、一方向ハッシュ関数にかけて、1及び0のランダムシーケンスを得る。
5)ランダムシーケンスの各ビットを、対話式プロトコルのステップ5に適用する。
このステップの結果を、ランダム順列と共に格納する。
ゲームデバイスにおけるデータ集合Dの認証
上記非対話式手順のステップ4及び5を繰り返し、全てのステップが適正に完了し成功したことを検証する。完成したプルーフの存在によって、ハッシュ値(1及び0のランダムシーケンス)を発生する際に用いたデータ集合Dの信憑性を保証する。
ゼロ知識プルーフを用いてゲーム装置においてカジノゲームデータを認証する他の実施形態を記述する別の代替方法は、次の通りである。
a)最初のステップでは、乱数を選択する。このステップは、いずれの方法によっても実行することができ、好ましくは、乱数発生器(通常賭博ゲーム装置と連動する乱数発生プログラムでもよい)又はその他のいずれかの方法を用いる。この乱数は、ZKP「秘密」である(ZKP認証プロセスの他の実施形態の手順において先に説明した「秘密」と同様と考えればよい)。
b)数学的関数(元の数学的関数)を通じて乱数を供給し、第2の異なる数又は値を生成する。第2の異なる数又は値を発生する際、第2の異なる数を挿入して、その結果乱数が得られる一意の数式、アルゴリズム又はプロセスが得られないようにする。このような関数の一例がr2 mod nであり、rは乱数、nは2つの素数の積である。得られた値を計算することは非常に容易であるが、結果から元の値rにさかのぼることは非常に難しい。
c)第2の数をゲーム装置のプロセッサに保存する。この数は誰にでも配布することができる。何故なら、これを逆に辿っていっても秘密を得ることはできないからである。
d)検証システムを用いて処理を行うには追加の情報が必要となる。とりわけ必要なのは、元の数学的関数にかけることによって「種々の第2の数」を生成する多数の乱数である。多数のこれら「種々の第2の数」(処理済みの数)は、装置上に格納してもよく、あるいはZKPプルーフを用意する時点で発生してもよい。これらは、装置内のメモリにゲームデータ集合と共に格納される。格納した数全て(これらは処理済みの数である)とゲームデータ集合とを、ハッシュ関数を通じて供給し、1及び0のランダムパターンのシーケンス(SRP)を生成する(このSRPは、ハッシュ値としては用いないが、一連の1及び0である)。このSRPの最初のビット(0又は1)を取り込み、最初のビットが0であれば、第1の判断を行う。最初のビットが1であれば、第2の判断を行う。判断ビットが0であれば、最初の乱数(次いで、その後関連する判断ビットが0である乱数の各々)を取り込み、最初の処理済み乱数を、その値に導いた乱数と関連付ける(隣り合わせて並べる)という判断が可能である。判断ビットが1の場合、最初の処理済み乱数を元の秘密と乗算し(積を形成する)、次いでこの積を、そのビットと対応する処理済みの乱数と関連付けるという第2の判断が可能である。
これは、処理した乱数の各々に、所望の乱数の数と同じ回数だけ、SRP内のビット数を限度として行う。これは、SRPに加算し、より大きな数を用いるか又は全く新しいランダム順列の集合を生成し、そしてプロセスを繰り返すことによって、できるだけ頻繁にそしてできるだけ長く行うことができる。
その結果、メモリ上に格納されるのは(例えば、コンパクトフラッシュ(登録商標)又はその他のメモリ)、ランダムな処理した数、及びそれらの関連である。続いて、コンピュータ化ゲームデバイスにおいて、1及び0のパターンを再度発生することによって、認証を行うことができる。この再発生は、元のゲームデータ集合及び格納した処理済みの乱数と共に、SRPをハッシュ関数にかけることによって行うことができる。1及び0のパターンを再発生したとき、関連をチェックして、これらが1及び0のパターンとどの程度一致するか確認する。一連のゼロ知識プルーフがNビット全てについて正しく全体的に完了した場合、認証は再度確定する。
本発明の構成要素は、マイクロプロセッサ、プログラマブルロジック、又は状態機械によるハードウェア、ファームウェア、あるいは所与のデバイス内におけるソフトウェアで実現することができる。2001年9月10日に出願した同時係属中の予備出願第10/318,369号に記載されている内部制御検証装置を用いると、ハッシングの速度を高めることもできる。好適な一実施形態では、本発明の1つ以上の構成要素はソフトウェアの形態を取る。本発明の構成要素は、1つ以上のコンピュータ読み取り可能媒体上のソフトウェアとして備えることもできる。ここで用いる場合、コンピュータ読み取り可能媒体という用語は、あらゆる種類のフロッピディスク、ハードディスク、DC−ROM、フラッシュメモリ、リードオンリメモリ(ROM)、及びランダムアクセスメモリ(RAM)を含むと定義する。加えて、ゲームシステム100は、マイクロプロセッサに埋め込まれ、特注の装置ハードウェア及び/又は専用の信号目的ハードウェアを組み込んだシステム/装置を採用することができる。
1つの態様において、ゲームシステムは、ゲーム制御システム、ゲームシステムインターフェース、及びゲームシステムデバイスを含むことができる。ゲーム制御システムは、コンピュータ又はコントローラ、揮発性メモリ、及び不揮発性メモリを含む。コントローラは、メモリ及び不揮発性RAM(NVRAM)を含む。1つの態様では、メモリはランダムアクセスメモリである。1つの態様では、ランダムアクセスメモリはダイナミックランダムアクセスメモリ(DRAM)である。不揮発性ランダムアクセスメモリは、停電時にメモリ内に格納されているデータを保持するバッテリバックアップを含む。一実施形態では、NVRAM308を用いて、スロットマシンのリール設定値、払い戻し率、及び掛け金のような、重要なゲームデータを格納する。
一実施形態では、プログラムメモリは、読み出し/書き込み可能な不揮発性メモリである。1つの態様では、書き込み可能メモリはフラッシュメモリとするとよい。1つの適した不揮発性メモリは、数社の商用供給業者から入手可能な、「コンパクトフラッシュ(登録商標)」という商標で市販されている。本発明との使用に適したその他の不揮発性メモリは、本願を読んだ後には、当業者には明白となろう。
不揮発性メモリは、ゲームデータ集合を格納するために用いることができる。ゲームデータ集合は、ゲーム特定コード又はゲームプログラムファイルを含むと定義する。ゲーム特定コードの例には、ゲームコード、ゲームデータ、ゲームサウンド、ゲームグラフィックス、ゲームコンフィギュレーションファイル、又はその他のゲーム特定ファイルが含まれる。ゲーム特定コード又はプログラムファイルは、ゲームシステム上で実行する特定の種類のゲームを対象とし、ブラックジャック、ポーカ、ビデオスロットマシン、又はリールスロットマシン等がある。一実施形態では、不揮発性メモリは、EEPROMのような読み出し専用メモリ(ROM)である。不揮発性メモリは、ゲームシステムのオペレーティングコードを格納するために用いられる。ゲームシステムの起動又は動作時に、ゲームシステムのオペレーティングコード及びゲームデータ集合はメモリ、好ましくは揮発性メモリに転送され、コントローラが高速でアクセスしてゲームシステムを動作させる。ゲームシステムの動作中には、コントローラは、ゲームシステムの動作のために、ゲームシステムを介してゲームシステムデバイスとインターフェースする。ゲームシステムインターフェースは、ネットワークインターフェース、ネットワークコンピュータ、及びネットワーク接続を含むことができる。これらについては、既にこの中で詳細に述べた。ゲームシステムデバイスは、押しボタン、ジョイスティック、プルアーム、トークン又はスロットデバイス、コイントレイ、ビデオ画面及びスピーカのような、機械的デバイス、電気的デバイス、ハードウェア、ソフトウェア、又はビデオデバイスを含むことができる。これらについては、既にこの中で詳細に述べた。
1つの態様では、本発明において用いるハッシュ関数はSHAハッシュ関数とすることができる。他の適したハッシュ関数には、MD5、SNEFRU、HAVAL及びN−HASHが含まれる。本発明による検証プロセスに用いて好適な他のハッシュ関数は、本願を読んだ後では、当業者には明白となろう。ハッシュ出力又はメッセージ値は、記憶システムに格納される。記憶システムは、RAM又はVRAMに格納されているメッセージダイジェスト、あるいはゲームシステムの一部であるその他の適した記憶システムを含むことができる。
ゲームシステムの動作中、ゲームデータ集合を連続的に検証し、ゲームデータ集合において変化が生じていないことを判断するようにしてもよい。1つの態様では、ゲームデータ集合は、一度に1ファイル又はデータ部分集合ずつ検証する。即ち、ゲームシステムの動作中、プログラムファイルをハッシュ関数に適用する。このハッシュ関数は、ハッシュ関数と同一である。ハッシュ関数のハッシュ出力を、システムに格納されている対応のハッシュ出力と比較する。一致しない場合、ゲームはエラーモードに入り、終了するか、これに加えて/あるいはゲーム担当者に通知する。一致した場合、ゲームデータ集合の次のプログラムファイルを同様に検証する。このように、ゲームシステムの動作中、ゲームデータ集合を連続的に検証する。別の態様では、ゲームデータ集合の検証は、本発明の検証プロセスを用い、所望の時間間隔で、又はゲームシステム上でプレイされる各ゲームの開始というような、所望のイベントの開始時に行うこともできる。
本発明によるゲームシステムは、認証可能なゲームデータ集合を用意し、ゲームシステムにおいて用いられるゲームを認証する、他に例を見ないシステム及び方法を提供する。ゲームシステムは、プログラムファイルを含むゲーム集合が、意図的又は意図せずに、改変されていないことを確実に検証するプロセスを含む。改変されていた場合、ゲームシステム上でプレイするゲームの結果が変わってしまう。1つの態様では、本発明は、ゲームシステムの動作中にゲームシステムの連続的な検証を行う。
以上特定的な実施形態について例示し説明したが、同じ目的を達成すると考えられるいずれの構成でも、ここに示した特定的な実施形態の代わりに採用できることは当業者には認められよう。本願は、本発明のあらゆる改造や変形も、その範囲に含むこととする。本発明は、特許請求の範囲、及びその均等物の最大範囲によってのみ限定されることとする。
本発明の数個の実施形態を実施する際に用いることができるような、コンピュータ化賭博ゲーム装置を示す図である。 本発明の数個の実施形態に係る、コンピュータ化賭博ゲーム装置の一部を構成するある構成要素に接続された、ネットワーク状コンピュータの図を示す。 例の1つの説明に用いるグラフを示す。 ゼロ知識プルーフプロセスの説明において補助する尖塔図(pinnacle)を示す。 ゼロ知識プルーフの多数の実施形態の1つを試験するフローチャートを示す。 ゼロ知識プルーフ定理を説明するための洞穴図を示す。

Claims (37)

  1. コンピュータ化賭博ゲーム装置であって、
    プロセッサと、メモリと、乱数発生器と、不揮発性記憶装置とを有し、前記コンピュータ化賭博ゲームを制御するように動作可能なコンピュータ化ゲームコントローラと、
    格納されているゲームデータと、
    認証プログラムと、
    を備え、
    前記認証プログラムがゼロ知識プルーフシーケンスを検証可能である
    ことを特徴とするコンピュータ化賭博ゲーム装置。
  2. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記ゼロ知識プルーフシーケンスは、ゲーム制御を認証することを特徴とするコンピュータ化賭博ゲーム装置。
  3. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記ゼロ知識プルーフシーケンスは、格納されているゲームデータを検証することを特徴とするコンピュータ化賭博ゲーム装置。
  4. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記ゼロ知識プルーフシーケンスは、格納されているゲームデータを調べて、格納されているカジノゲームデータを認証することを特徴とするコンピュータ化賭博ゲーム装置。
  5. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記ゼロ知識プルーフシーケンスは、格納されているゲームデータを認証する際、a)秘密を与え、b)N回の繰り返しを行い、c)N個の乱数を発生し、d)前記乱数を数学的関数を用いて処理することによって、秘密の存在のプルーフのN個のランダム順列を、前記乱数から発生し、e)関数V=S2 mod Nとして秘密の存在のプルーフを実行し、N個のランダム順列及びゲームデータDを一方向ハッシュ関数にかけて、1及び0のランダムシーケンスを得て、f)各ビットを用いて判断を行い、各判断が異なる関連付けに至り、前記ランダムシーケンスの各ビットが前記一方向ハッシュ関数によって生成され、g)このステップの結果を、前記ランダム順列における対応する要素と共に格納し、
    前記手順のステップd)及びe)を繰り返すことによって、全てのステップを適正に完了し、正常に実行することによって、前記ゲーム装置におけるデータ集合Dを認証する、
    ことを特徴とするコンピュータ化賭博ゲーム装置。
  6. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記ゲームデータを不揮発性記憶装置に格納し、1組のランダム順列と共にハッシュし、得られた値を用いてゼロ知識プルーフシーケンスを完了することを特徴とするコンピュータ化賭博ゲーム装置。
  7. 請求項6記載のコンピュータ化賭博ゲーム装置において、前記得られた値は、前記ゲームデータ及び前記ランダム順列を一方向ハッシュ関数によってハッシュした結果であることを特徴とするコンピュータ化賭博ゲーム装置。
  8. 請求項6記載のコンピュータ化賭博ゲーム装置において、ハッシュは、回路内有効性判断部において行われることを特徴とするコンピュータ化賭博ゲーム装置。
  9. 請求項4記載のコンピュータ化賭博ゲーム装置において、前記プログラムは、i)前記ゼロ知識プルーフシーケンスに対する前記格納されている応答が正しい場合、前記カジノゲームデータ集合を確認し、ii)前記ゼロ知識プルーフシーケンスに対する前記格納されている応答が正しくない場合、前記カジノゲームデータ集合を不良と識別する、ことを特徴とするコンピュータ化賭博ゲーム装置。
  10. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記カジノゲームデータ集合及び少なくとも1つのランダム順列を、キー依存ハッシュ関数でハッシュする、ことを特徴とするコンピュータ化賭博ゲーム装置。
  11. 請求項4記載のコンピュータ化賭博ゲーム装置において、前記カジノゲームデータ集合及び少なくとも1つのランダム順列を、キー依存ハッシュ関数でハッシュする、ことを特徴とするコンピュータ化賭博ゲーム装置。
  12. 請求項4記載のコンピュータ化賭博ゲーム装置において、前記コンピュータ化されたゲームコントローラ上で実行する連続実行プログラムスレッドにおいて、前記ゲームプログラムをランダムアクセスメモリにロードした後に、前記ゲームデータを乱数でハッシュし、ゼロ知識応答を、ゼロ知識プルーフ応答に関する格納されているデータと比較する、ことを特徴とするコンピュータ化賭博ゲーム装置。
  13. 請求項4記載のコンピュータ化賭博ゲーム装置において、ゼロ知識プルーフシーケンスにおいて少なくとも1つの応答が正しくない場合、前記コンピュータ化賭博ゲームシステムをチルト状態にすることを特徴とするコンピュータ化賭博ゲーム装置。
  14. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記コンピュータ化賭博ゲーム装置の一部をなす不揮発性メモリに前記ゲームデータを格納することを特徴とするコンピュータ化賭博ゲーム装置。
  15. 請求項4記載のコンピュータ化賭博ゲーム装置において、システムハンドラアプリケーションが、暗号関数をロードし実行し、続いて該暗号関数を用いて、他のゲームデータを不揮発性記憶装置から安全にロードするようにしたことを特徴とするコンピュータ化賭博ゲーム装置。
  16. 請求項4記載のコンピュータ化賭博ゲーム装置において、該装置は更に、非対話式ZKP認証手順の情報を暗号化する際に用いられる秘密キーに対応する公開キーを格納する不揮発性メモリを備えていることを特徴とするコンピュータ化賭博ゲーム装置。
  17. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記コンピュータ化されたゲームコントローラは、汎用コンピュータであることを特徴とするコンピュータ化賭博ゲーム装置。
  18. 請求項1記載のコンピュータ化賭博ゲーム装置において、該装置は更に、前記コンピュータ化賭博ゲーム装置をネットワーク状コンピュータに接続するネットワークインターフェースを備えていることを特徴とするコンピュータ化賭博ゲーム装置。
  19. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記ゲームをプレイするプロセスにおいて、検証は、ゼロ知識プルーフプロセスが正しく完了したことを検証することから成ることを特徴とするコンピュータ化賭博ゲーム装置。
  20. 請求項1記載のコンピュータ化賭博ゲーム装置において、前記認証プログラムは、ゼロ知識プルーフシーケンスの検証部分のみを含み、ネットワークを通じて、離れたプルーフ側と対話することを特徴とするコンピュータ化賭博ゲーム装置。
  21. 請求項19記載のコンピュータ化賭博ゲーム装置において、前記ゼロ知識プルーフシーケンスは、前記格納されているゲームデータを認証することを特徴とするコンピュータ化賭博ゲーム装置。
  22. 請求項20記載のコンピュータ化賭博ゲーム装置において、前記ゼロ知識プルーフシーケンスは、ネットワークを通じて得た応答を検証することによって、前記格納されているゲームデータを認証することを特徴とするコンピュータ化賭博ゲーム装置。
  23. 請求項20記載のコンピュータ化賭博ゲーム装置において、前記ゼロ知識プルーフシーケンスは、ネットワークを通じて離れた検証側を特定することを特徴とするコンピュータ化賭博ゲーム装置。
  24. コンピュータ化賭博ゲーム装置上でデータを保護する方法であって、
    ゼロ知識プルーフを用いて、メモリに格納されているゲームデータを検証することから成るプロセスによって、コンピュータ化ゲーム装置の動作中にゲームデータを検証する
    ことから成ることを特徴とする方法。
  25. 請求項23記載の方法において、前記ゲームデータが認証されることを特徴とする方法。
  26. 請求項24記載の方法において、前記ゲームデータは、カジノゲームデータから成ることを特徴とする方法。
  27. 請求項24記載の方法において、検証中に送信されるデータに対してハッシングを実行することを特徴とする方法。
  28. 請求項24記載の方法において、キー依存ハッシュ関数を用いてハッシングを行うことを特徴とする方法。
  29. 請求項24記載の方法において、送信又は格納する前に、ZKPプロトコルにおいて用いられるデータに対して暗号化を実行することを特徴とする方法。
  30. 請求項24記載の方法において、回路内有効性判断部においてハッシングを行うことを特徴とする方法。
  31. 命令が格納されている機械読み取り可能媒体であって、前記命令を実行すると、コンピュータ化賭博ゲーム装置に、
    乱数を発生させ、
    前記乱数を数学的関数で処理して、得られた値を供給させ、
    前記得られた値をカジノゲームデータ集合でハッシュして、第1の得られた積を生成させ、
    前記得られた値及び前記得られた積を格納させる、
    ように動作可能であることを特徴とする機械読み取り可能媒体。
  32. 請求項31記載の機械読み取り可能媒体において、該媒体は更に、前記乱数及び前記得られた積を関連付ける命令を備えていることを特徴とする機械読み取り可能媒体。
  33. 請求項31記載の機械読み取り可能媒体において、一方向ハッシュ関数を用いてハッシングを行うことを特徴とする機械読み取り可能媒体。
  34. 請求項32記載の機械読み取り可能媒体において、一方向ハッシュ関数を用いてハッシングを行うことを特徴とする機械読み取り可能媒体。
  35. 請求項32記載の機械読み取り可能媒体において、一方向ハッシュ関数を用いてハッシングを行うことを特徴とする機械読み取り可能媒体。
  36. コンピュータ化賭博ゲーム装置であって、
    プロセッサと、メモリ及び不揮発性記憶装置と、乱数発生器と、ゲームプログラムコードとを有し、前記不揮発性記憶装置に、乱数の数学的処理によって得られた値と、得られた積、又は対応する乱数と関連する前記得られた値を格納した、コンピュータ化ゲームコントローラと、
    不揮発性記憶装置に格納されている認証プログラムであって、実行すると、前記得られた積、又は対応する乱数に関連付けられた前記得られた値の関連を生成する手段によって、不揮発性記憶装置内にある前記ゲームプログラムが変化していないことを検証し、前記関連が同一であることを検証する、認証プログラムと、
    を備えていることを特徴とするコンピュータ化賭博ゲーム装置。
  37. 請求項36記載の方法において、前記ハッシングは、一方向ハッシュ関数であるハッシュ関数を用いて実行することを特徴とする方法。
JP2003587509A 2002-04-25 2003-04-09 暗号化コンピュータ化ゲームシステムにおける認証 Pending JP2005523668A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/134,663 US6962530B2 (en) 2002-04-25 2002-04-25 Authentication in a secure computerized gaming system
PCT/US2003/010969 WO2003090886A1 (en) 2002-04-25 2003-04-09 Authentication in a secure computerized gaming system

Publications (1)

Publication Number Publication Date
JP2005523668A true JP2005523668A (ja) 2005-08-04

Family

ID=29249272

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003587509A Pending JP2005523668A (ja) 2002-04-25 2003-04-09 暗号化コンピュータ化ゲームシステムにおける認証

Country Status (8)

Country Link
US (1) US6962530B2 (ja)
EP (1) EP1497006B1 (ja)
JP (1) JP2005523668A (ja)
CA (1) CA2479093C (ja)
NO (1) NO20045069L (ja)
RU (1) RU2302276C2 (ja)
WO (1) WO2003090886A1 (ja)
ZA (1) ZA200409472B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528376A (ja) * 2007-05-25 2010-08-19 マイクロソフト コーポレーション クローズドシステム用のプログラミングフレームワーク
JP2010258993A (ja) * 2009-04-28 2010-11-11 Mitsubishi Electric Corp データ処理装置

Families Citing this family (200)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2421701A (en) * 1999-06-03 2001-04-17 Igt Method and device for implementing a downloadable software delivery system
US8033913B2 (en) * 1999-06-03 2011-10-11 Igt Gaming machine update and mass storage management
US7682245B2 (en) 2000-02-29 2010-03-23 Igt Name your prize game playing methodology
US7988559B2 (en) 2001-03-08 2011-08-02 Igt Computerized gaming system, method and apparatus
US7043641B1 (en) * 2000-03-08 2006-05-09 Igt Encryption in a secure computerized gaming system
US7951002B1 (en) 2000-06-16 2011-05-31 Igt Using a gaming machine as a server
US6804763B1 (en) * 2000-10-17 2004-10-12 Igt High performance battery backed ram interface
US7111141B2 (en) * 2000-10-17 2006-09-19 Igt Dynamic NV-RAM
US8550922B2 (en) 2006-03-03 2013-10-08 Igt Game removal with game history
US7972214B2 (en) 2000-12-07 2011-07-05 Igt Methods and devices for downloading games of chance
US7722453B2 (en) * 2001-03-27 2010-05-25 Igt Interactive game playing preferences
US7918738B2 (en) 2001-03-27 2011-04-05 Igt Interactive game playing preferences
US8480466B2 (en) 2001-03-27 2013-07-09 Igt Method and apparatus for previewing a game
WO2002102484A1 (en) 2001-06-15 2002-12-27 Walker Digital, Llc Method and apparatus for planning and customizing a gaming experience
US7162036B2 (en) 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics
US6685567B2 (en) 2001-08-08 2004-02-03 Igt Process verification
US7699703B2 (en) * 2001-09-20 2010-04-20 Igt Method and apparatus for registering a mobile device with a gaming machine
US7611409B2 (en) * 2001-09-20 2009-11-03 Igt Method and apparatus for registering a mobile device with a gaming machine
US6902481B2 (en) 2001-09-28 2005-06-07 Igt Decoupling of the graphical presentation of a game from the presentation logic
US7931533B2 (en) 2001-09-28 2011-04-26 Igt Game development architecture that decouples the game logic from the graphics logics
US8708828B2 (en) 2001-09-28 2014-04-29 Igt Pluggable modular gaming modifiers and configuration templates for gaming environments
WO2003045519A1 (en) 2001-11-26 2003-06-05 Igt Pass-through live validation device and method
GB0128495D0 (en) * 2001-11-28 2002-01-23 Waterleaf Ltd Gaming system and method of operation thereof
US8360838B2 (en) * 2006-07-03 2013-01-29 Igt Detecting and preventing bots and cheating in online gaming
US6997803B2 (en) 2002-03-12 2006-02-14 Igt Virtual gaming peripherals for a gaming machine
US8597116B2 (en) 2002-03-12 2013-12-03 Igt Virtual player tracking and related services
AU2003252901A1 (en) * 2002-04-18 2003-12-11 Walker Digital, Llc Method and Apparatus for Authenticating Data Relating to Usage of a Gaming Device
US8608548B2 (en) * 2002-06-12 2013-12-17 Igt Intelligent wagering token and wagering token tracking techniques
US8616984B2 (en) * 2002-06-12 2013-12-31 Igt Intelligent player tracking card and wagering token tracking techniques
US7909699B2 (en) * 2002-06-27 2011-03-22 Igt Scan based configuration control in a gaming environment
US20090131151A1 (en) * 2006-09-01 2009-05-21 Igt Automated Techniques for Table Game State Tracking
US7815507B2 (en) 2004-06-18 2010-10-19 Igt Game machine user interface using a non-contact eye motion recognition device
US8333652B2 (en) * 2006-09-01 2012-12-18 Igt Intelligent casino gaming table and systems thereof
US8460103B2 (en) 2004-06-18 2013-06-11 Igt Gesture controlled casino gaming system
US8795061B2 (en) 2006-11-10 2014-08-05 Igt Automated data collection system for casino table game environments
US7104889B2 (en) * 2002-09-13 2006-09-12 Igt Method of using a rule based script to describe gaming machine payout
US7347778B2 (en) * 2003-03-03 2008-03-25 Wms Gaming Inc. Gaming machine system having automatic reporting feature
US8784195B1 (en) 2003-03-05 2014-07-22 Bally Gaming, Inc. Authentication system for gaming machines
US20040259640A1 (en) * 2003-04-16 2004-12-23 Gentles Thomas A. Layered security methods and apparatus in a gaming system environment
US7491122B2 (en) * 2003-07-09 2009-02-17 Wms Gaming Inc. Gaming machine having targeted run-time software authentication
US7794323B2 (en) * 2003-07-25 2010-09-14 Igt Gaming apparatus with encryption and method
US8512144B2 (en) 2003-10-20 2013-08-20 Tipping Point Group, Llc Method and apparatus for providing secondary gaming machine functionality
US8287380B2 (en) * 2006-09-01 2012-10-16 Igt Intelligent wireless mobile device for use with casino gaming table systems
US8684839B2 (en) 2004-06-18 2014-04-01 Igt Control of wager-based game using gesture recognition
US7942744B2 (en) * 2004-08-19 2011-05-17 Igt Virtual input system
US7467404B2 (en) * 2004-09-27 2008-12-16 Bally Garning, Inc. System and method for distributing software licenses
US7862427B2 (en) 2004-10-04 2011-01-04 Igt Wide area progressive jackpot system and methods
US8602882B2 (en) 2004-10-04 2013-12-10 Igt Jackpot interfaces and services on a gaming machine
US8210920B2 (en) 2005-01-24 2012-07-03 Jay Chun Methods and systems for playing baccarat jackpot
US7922587B2 (en) 2005-01-24 2011-04-12 Jay Chun Betting terminal and system
US20060166726A1 (en) 2005-01-24 2006-07-27 Jay Chun Methods and systems for playing baccarat jackpot
US7914368B2 (en) 2005-08-05 2011-03-29 Jay Chun Methods and systems for playing baccarat jackpot with an option for insurance betting
US9940778B2 (en) 2005-01-24 2018-04-10 Igt System for monitoring and playing a plurality of live casino table games
US8308559B2 (en) 2007-05-07 2012-11-13 Jay Chun Paradise box gaming system
US8920238B2 (en) 2005-01-24 2014-12-30 Jay Chun Gaming center allowing switching between games based upon historical results
US8038530B2 (en) 2005-02-28 2011-10-18 Wms Gaming Inc. Method and apparatus for filtering wagering game content
US20060287111A1 (en) * 2005-05-23 2006-12-21 Bally Gaming, Inc. High efficiency gaming machine
US20070060302A1 (en) * 2005-08-17 2007-03-15 Igt Scan based configuration control in a gaming environment
WO2007027427A2 (en) * 2005-08-29 2007-03-08 Wms Gaming Inc. On-the-fly encryption on a gaming machine
US7887420B2 (en) 2005-09-12 2011-02-15 Igt Method and system for instant-on game download
US8287379B2 (en) 2005-09-12 2012-10-16 Igt Distributed game services
US8702502B2 (en) 2005-11-10 2014-04-22 Wms Gaming Inc. Authenticating files in wagering game machines
US8485881B2 (en) * 2005-11-17 2013-07-16 Igt Gaming machine with movable display
WO2007078654A2 (en) * 2005-12-20 2007-07-12 Wms Gaming Inc. Wagering game machine having image copied file system
US20080318669A1 (en) * 2005-12-22 2008-12-25 Wms Gaming Inc. Wagering Game Content Approval and Dissemination System
US7951008B2 (en) * 2006-03-03 2011-05-31 Igt Non-volatile memory management technique implemented in a gaming machine
US8366109B2 (en) 2006-04-12 2013-02-05 Bally Gaming, Inc. System and method to handle playing cards, employing elevator mechanism
US7967682B2 (en) 2006-04-12 2011-06-28 Bally Gaming, Inc. Wireless gaming environment
US8992304B2 (en) 2006-04-13 2015-03-31 Igt Methods and systems for tracking an event of an externally controlled interface
US10026255B2 (en) 2006-04-13 2018-07-17 Igt Presentation of remotely-hosted and locally rendered content for gaming systems
US8784196B2 (en) 2006-04-13 2014-07-22 Igt Remote content management and resource sharing on a gaming machine and method of implementing same
US9028329B2 (en) 2006-04-13 2015-05-12 Igt Integrating remotely-hosted and locally rendered content on a gaming device
US8052519B2 (en) 2006-06-08 2011-11-08 Bally Gaming, Inc. Systems, methods and articles to facilitate lockout of selectable odds/advantage in playing card games
US20080009337A1 (en) * 2006-07-08 2008-01-10 Jackson Mark D Self-authenticating file system in an embedded gaming device
US7963839B2 (en) * 2006-09-19 2011-06-21 Mudalla Technology, Inc. Regulated gaming exchange
US7896741B2 (en) * 2006-10-16 2011-03-01 Igt Progressive controller
US7934993B2 (en) * 2006-10-16 2011-05-03 Igt Secure progressive controller
US20080108435A1 (en) * 2006-11-03 2008-05-08 Igt Monitoring and controlling gaming-environments
US8277314B2 (en) * 2006-11-10 2012-10-02 Igt Flat rate wager-based game play techniques for casino table game environments
US8195826B2 (en) 2006-11-10 2012-06-05 Bally Gaming, Inc. UDP broadcast for user interface in a download and configuration gaming method
US9311774B2 (en) 2006-11-10 2016-04-12 Igt Gaming machine with externally controlled content display
US20090156303A1 (en) 2006-11-10 2009-06-18 Igt Bonusing Architectures in a Gaming Environment
US8191121B2 (en) 2006-11-10 2012-05-29 Bally Gaming, Inc. Methods and systems for controlling access to resources in a gaming network
US9111078B2 (en) 2006-11-10 2015-08-18 Bally Gaming, Inc. Package manager service in gaming system
US8631501B2 (en) 2006-11-10 2014-01-14 Bally Gaming, Inc. Reporting function in gaming system environment
US8920233B2 (en) 2006-11-10 2014-12-30 Bally Gaming, Inc. Assignment template and assignment bundle in a gaming configuration and download system
US8784212B2 (en) 2006-11-10 2014-07-22 Bally Gaming, Inc. Networked gaming environment employing different classes of gaming machines
US8478833B2 (en) 2006-11-10 2013-07-02 Bally Gaming, Inc. UDP broadcast for user interface in a download and configuration gaming system
US9275512B2 (en) 2006-11-10 2016-03-01 Bally Gaming, Inc. Secure communications in gaming system
US7712045B2 (en) * 2006-11-10 2010-05-04 Igt Displaying content for various aspect ratios
US8347280B2 (en) 2006-11-13 2013-01-01 Bally Gaming, Inc. System and method for validating download or configuration assignment for an EGM or EGM collection
US8930461B2 (en) 2006-11-13 2015-01-06 Bally Gaming, Inc. Download and configuration management engine for gaming system
US9082258B2 (en) 2006-11-13 2015-07-14 Bally Gaming, Inc. Method and system for providing download and configuration job progress tracking and display via host user interface
US8131829B2 (en) 2006-11-13 2012-03-06 Bally Gaming, Inc. Gaming machine collection and management
US7942742B2 (en) 2006-11-15 2011-05-17 Cfph, Llc Accessing identification information to verify a gaming device is in communications with a server
US10068421B2 (en) * 2006-11-16 2018-09-04 Cfph, Llc Using a first device to verify whether a second device is communicating with a server
US8012015B2 (en) * 2006-11-15 2011-09-06 Cfph, Llc Verifying whether a gaming device is communicating with a gaming server
US7942740B2 (en) * 2006-11-15 2011-05-17 Cfph, Llc Verifying a first device is in communications with a server by storing a value from the first device and accessing the value from a second device
US7942739B2 (en) 2006-11-15 2011-05-17 Cfph, Llc Storing information from a verification device and accessing the information from a gaming device to verify that the gaming device is communicating with a server
US7942741B2 (en) 2006-11-15 2011-05-17 Cfph, Llc Verifying whether a device is communicating with a server
CA3106530A1 (en) * 2006-11-15 2008-05-22 Cfph, L.L.C. Systems and methods for determining that a gaming device is communicating with a gaming server
US7942738B2 (en) 2006-11-15 2011-05-17 Cfph, Llc Verifying a gaming device is in communications with a gaming server
US7980948B2 (en) * 2006-12-19 2011-07-19 Igt Dynamic side wagering system for use with electronic gaming devices
US9292996B2 (en) 2006-12-19 2016-03-22 Igt Distributed side wagering methods and systems
US20080242426A1 (en) * 2007-03-28 2008-10-02 Kraft David W Gaming machine critical data memory system and method
US8118681B2 (en) * 2007-04-12 2012-02-21 Igt Gaming system having retractable gaming unit
US7949998B2 (en) * 2007-04-20 2011-05-24 Microsoft Corporation Programming framework for closed systems
US8330764B2 (en) * 2007-04-20 2012-12-11 Microsoft Corporation Programming framework for closed systems
WO2009020843A1 (en) * 2007-08-03 2009-02-12 Wms Gaming, Inc. Wagering game history features
US9039515B2 (en) 2007-10-25 2015-05-26 Igt Server based gaming system providing multiple side bet awards
US8616958B2 (en) 2007-11-12 2013-12-31 Bally Gaming, Inc. Discovery method and system for dynamically locating networked gaming components and resources
US8201229B2 (en) 2007-11-12 2012-06-12 Bally Gaming, Inc. User authorization system and methods
US8721431B2 (en) 2008-04-30 2014-05-13 Bally Gaming, Inc. Systems, methods, and devices for providing instances of a secondary game
US9483911B2 (en) 2008-04-30 2016-11-01 Bally Gaming, Inc. Information distribution in gaming networks
US8366542B2 (en) 2008-05-24 2013-02-05 Bally Gaming, Inc. Networked gaming system with enterprise accounting methods and apparatus
US9443377B2 (en) 2008-05-30 2016-09-13 Bally Gaming, Inc. Web pages for gaming devices
US9424712B2 (en) 2008-06-27 2016-08-23 Bally Gaming, Inc. Authenticating components in wagering game systems
US8412768B2 (en) 2008-07-11 2013-04-02 Ball Gaming, Inc. Integration gateway
US8422683B2 (en) * 2008-07-15 2013-04-16 The Mitre Corporation Appraising systems with zero knowledge proofs
US20100075762A1 (en) * 2008-09-24 2010-03-25 Incredible Technologies Segmented Memory Control System for Gaming Devices
US10235832B2 (en) 2008-10-17 2019-03-19 Igt Post certification metering for diverse game machines
US8266213B2 (en) 2008-11-14 2012-09-11 Bally Gaming, Inc. Apparatus, method, and system to provide a multiple processor architecture for server-based gaming
US8347303B2 (en) 2008-11-14 2013-01-01 Bally Gaming, Inc. Apparatus, method, and system to provide a multi-core processor for an electronic gaming machine (EGM)
US8423790B2 (en) 2008-11-18 2013-04-16 Bally Gaming, Inc. Module validation
US8192283B2 (en) 2009-03-10 2012-06-05 Bally Gaming, Inc. Networked gaming system including a live floor view module
EP2406768A4 (en) * 2009-06-12 2014-08-20 Sony Corp DISTRIBUTION BACKBONE
US10817851B2 (en) 2009-12-23 2020-10-27 Aristocrat Technologies Australia Pty Limited System and method for cashless gaming
US8781119B2 (en) * 2010-12-14 2014-07-15 Nxp, B.V. User-controlled Random-ID generation function for smartcards
US9092608B2 (en) 2010-12-14 2015-07-28 Nxp B.V. Random-ID function for smartcards
US9098970B2 (en) 2011-06-17 2015-08-04 Wms Gaming Inc. Wagering game machine hibernation
US9875607B2 (en) 2011-07-13 2018-01-23 Igt Methods and apparatus for providing secure logon to a gaming machine using a mobile device
US8517824B2 (en) 2011-08-30 2013-08-27 Igt Gaming system, gaming device, and method for side wagering on occurrences of bonus events
US8628412B2 (en) 2011-08-30 2014-01-14 Igt Gaming system, gaming device, and method for side wagering on bonus event outcomes generated in bonus events
US10297105B2 (en) 2011-09-09 2019-05-21 Igt Redemption of virtual tickets using a portable electronic device
US10121318B2 (en) 2011-09-09 2018-11-06 Igt Bill acceptors and printers for providing virtual ticket-in and ticket-out on a gaming machine
US9367835B2 (en) 2011-09-09 2016-06-14 Igt Retrofit devices for providing virtual ticket-in and ticket-out on a gaming machine
US8613659B2 (en) 2011-09-09 2013-12-24 Igt Virtual ticket-in and ticket-out on a gaming machine
US20190272704A1 (en) 2011-09-09 2019-09-05 Igt Redemption of virtual tickets using a portable electronic device
US8540567B2 (en) 2011-09-28 2013-09-24 Igt Gaming system, gaming device and method for moderating remote host initiated features for multiple concurrently played games
US9293000B2 (en) 2011-09-28 2016-03-22 Igt Gaming system, gaming device and method for moderating remote host initiated features for multiple concurrently played games
US8672750B2 (en) 2011-09-28 2014-03-18 Igt Gaming system, gaming device and method for reporting for multiple concurrently played games
US8777738B2 (en) * 2011-09-30 2014-07-15 Igt System and method for an extensible boot image for electronic gaming machines
US9524609B2 (en) 2011-09-30 2016-12-20 Igt Gaming system, gaming device and method for utilizing mobile devices at a gaming establishment
US8613668B2 (en) 2011-12-22 2013-12-24 Igt Directional wireless communication
US9120007B2 (en) 2012-01-18 2015-09-01 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8974305B2 (en) 2012-01-18 2015-03-10 Bally Gaming, Inc. Network gaming architecture, gaming systems, and related methods
US8876596B2 (en) 2012-02-29 2014-11-04 Igt Virtualized magnetic player card
US9311769B2 (en) 2012-03-28 2016-04-12 Igt Emailing or texting as communication between mobile device and EGM
US9412227B2 (en) 2012-07-11 2016-08-09 Igt Method and apparatus for offering a mobile device version of an electronic gaming machine game at the electronic gaming machine
AU2013327323B2 (en) 2012-10-02 2017-03-30 Igt System and method for providing remote wagering games in live table game system
US9489801B2 (en) 2012-12-06 2016-11-08 Igt Community gaming experience
US9098973B2 (en) 2013-03-08 2015-08-04 Igt Gaming system and method for providing a game including roaming wild symbols
US9098847B2 (en) 2013-03-08 2015-08-04 Igt Gaming system and method for providing a game including roaming wild symbols
US9070251B2 (en) 2013-03-08 2015-06-30 Igt Multi-tiered static chain of trust
WO2014197071A1 (en) * 2013-03-13 2014-12-11 Willow, Inc. Secured embedded data encryption systems
US8821239B1 (en) 2013-07-22 2014-09-02 Novel Tech International Limited Gaming table system allowing player choices and multiple outcomes thereby for a single game
US9336650B2 (en) 2013-08-29 2016-05-10 Igt Conducting a side bet in a game
US8684830B1 (en) 2013-09-03 2014-04-01 Novel Tech International Limited Individually paced table game tournaments
US9208648B2 (en) 2013-09-12 2015-12-08 Igt Gaming system and method for triggering a random secondary game in association with multiple concurrently played primary games
US9595159B2 (en) 2013-10-01 2017-03-14 Igt System and method for multi-game, multi-play of live dealer games
US9875618B2 (en) 2014-07-24 2018-01-23 Igt Gaming system and method employing multi-directional interaction between multiple concurrently played games
US9578004B2 (en) * 2014-09-12 2017-02-21 Ca, Inc. Authentication of API-based endpoints
US10706689B2 (en) 2014-09-26 2020-07-07 Igt Gaming system and method employing multiple symbol generators utilized for multiple concurrently played games
USD780201S1 (en) 2014-09-26 2017-02-28 Igt Gaming system display with graphical user interface
US10255763B2 (en) 2014-12-12 2019-04-09 Synergy Blue, Llc Interactive event outcome reveal techniques implemented in wager-based video games and non wager-based video games
US10255765B2 (en) 2015-08-20 2019-04-09 Synergy Blue, Llc Gaming aspects relating to multiplayer/tournament hybrid arcade/wager-based games
US10311679B2 (en) 2014-12-12 2019-06-04 Synergy Blue, Llc First person shooter, RPG and sports themed hybrid arcade-type, wager-based gaming techniques
US10032337B2 (en) 2014-12-12 2018-07-24 Synergy Blue, Llc Achievement-based payout schedule unlock techniques implemented in wager-based gaming networks
US10909809B2 (en) 2014-12-12 2021-02-02 Synergy Blue Llc Graphical user interface and computer processing techniques for facilitating user interaction with electronic gaming devices
US10255761B2 (en) 2015-03-17 2019-04-09 Igt Gaming system and method for converting primary game outcomes to secondary game outcomes
US9916735B2 (en) 2015-07-22 2018-03-13 Igt Remote gaming cash voucher printing system
US10055930B2 (en) 2015-08-11 2018-08-21 Igt Gaming system and method for placing and redeeming sports bets
US10417867B2 (en) 2015-09-25 2019-09-17 Igt Gaming system and method for automatically transferring funds to a mobile device
US20170092054A1 (en) 2015-09-25 2017-03-30 Igt Gaming system and method for utilizing a mobile device to fund a gaming session
CN110383352A (zh) * 2015-11-19 2019-10-25 斯尼吉布兰有限公司 与基于技巧的游戏有关的游戏以及筹码技术
AU2017286898A1 (en) 2016-06-29 2019-01-03 Synergy Blue, Llc Dynamic placement of in-game ads, in-game product placement, and in-game promotions in wager-based game environments
US10163302B2 (en) 2016-08-08 2018-12-25 Double Down Interactive Llc Gaming system and method for providing a variable award in association with a virtual currency purchase
US10217317B2 (en) 2016-08-09 2019-02-26 Igt Gaming system and method for providing incentives for transferring funds to and from a mobile device
US10916090B2 (en) 2016-08-23 2021-02-09 Igt System and method for transferring funds from a financial institution device to a cashless wagering account accessible via a mobile device
US10621824B2 (en) 2016-09-23 2020-04-14 Igt Gaming system player identification device
WO2018093416A1 (en) 2016-11-21 2018-05-24 Synergy Blue, Llc Achievement-based payout schedule unlock techniques implemented in wager-based gaming networks
US10362016B2 (en) * 2017-01-18 2019-07-23 International Business Machines Corporation Dynamic knowledge-based authentication
US10332344B2 (en) 2017-07-24 2019-06-25 Igt System and method for controlling electronic gaming machine/electronic gaming machine component bezel lighting to indicate different wireless connection statuses
US10360763B2 (en) 2017-08-03 2019-07-23 Igt System and method for utilizing a mobile device to facilitate fund transfers between a cashless wagering account and a gaming establishment retail account
US10373430B2 (en) 2017-08-03 2019-08-06 Igt System and method for tracking fund transfers between an electronic gaming machine and a plurality of funding sources
US10360761B2 (en) 2017-08-03 2019-07-23 Igt System and method for providing a gaming establishment account pre-approved access to funds
US10380843B2 (en) 2017-08-03 2019-08-13 Igt System and method for tracking funds from a plurality of funding sources
US10903997B2 (en) 2017-10-19 2021-01-26 Autnhive Corporation Generating keys using controlled corruption in computer networks
CN111630811A (zh) 2017-10-19 2020-09-04 奥特海威公司 生成和寄存用于多点认证的密钥的系统和方法
US10469490B2 (en) * 2017-10-19 2019-11-05 Mastercard International Incorporated Methods and systems for providing FIDO authentication services
US11341817B2 (en) 2017-12-18 2022-05-24 Igt System and method for providing awards for utilizing a mobile device in association with a gaming establishment retail account
US10643426B2 (en) 2017-12-18 2020-05-05 Igt System and method for providing a gaming establishment account automatic access to funds
US11922765B2 (en) 2017-12-18 2024-03-05 Igt System and method employing virtual tickets
US10950088B2 (en) 2017-12-21 2021-03-16 Igt System and method for utilizing virtual ticket vouchers
US11043066B2 (en) 2017-12-21 2021-06-22 Igt System and method for centralizing funds to a primary gaming establishment account
US10970968B2 (en) 2018-04-18 2021-04-06 Igt System and method for incentivizing the maintenance of funds in a gaming establishment account
US11100758B2 (en) * 2019-05-22 2021-08-24 Igt System and method for implementing a lottery game
US11027197B2 (en) * 2019-09-30 2021-06-08 Sony Interactive Entertainment Inc. Serverless gaming through zero-knowledge proofs
US11854348B2 (en) 2019-11-21 2023-12-26 Igt System and method for lottery and skill games
AU2020244440A1 (en) 2020-03-04 2021-09-23 Aristocrat Technologies Australia Pty Limited Gaming device with dynamic awards based on symbol position state

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1512857A (en) 1974-09-13 1978-06-01 Bally Mfg Corp Monitoring system for use with amusement game devices
GB2072395B (en) 1980-03-13 1984-05-02 Kennedy R J Gaming or amusement machine
US4525599A (en) 1982-05-21 1985-06-25 General Computer Corporation Software protection methods and apparatus
US4582324A (en) 1984-01-04 1986-04-15 Bally Manufacturing Corporation Illusion of skill game machine for a gaming system
US4727544A (en) 1986-06-05 1988-02-23 Bally Manufacturing Corporation Memory integrity checking system for a gaming device
DE8700597U1 (ja) 1987-01-14 1987-12-10 Nsm-Apparatebau Gmbh & Co Kg, 6530 Bingen, De
US4871171A (en) 1987-03-30 1989-10-03 Recreativus Franco, S.A. Game device including means simulating release of a ball
US5140634A (en) * 1987-09-07 1992-08-18 U.S Philips Corporation Method and apparatus for authenticating accreditations and for authenticating and signing messages
DE3817484A1 (de) 1988-05-21 1989-11-30 Thomas Prof Beth Verfahren und schaltungsanordnung zur identifikation und echtheitspruefung aller arten von spezifischen merkmalen
US4932056A (en) * 1989-03-16 1990-06-05 Yeda Research And Development Company Limited Method and apparatus for user identification based on permuted kernels
US5004232A (en) 1989-10-13 1991-04-02 Macronix, Inc. Computer game cartridge security circuit
DE4014477A1 (de) 1990-01-22 1991-07-25 Bergmann & Co Th Rouletteartiges geldspielgeraet
JP2560124B2 (ja) 1990-03-16 1996-12-04 株式会社セガ・エンタープライゼス ビデオゲームシステム及び情報処理装置
US5326104A (en) 1992-02-07 1994-07-05 Igt Secure automated electronic casino gaming system
US5489095A (en) 1992-07-01 1996-02-06 U.S. Philips Corporation Device for protecting the validity of time sensitive information
FR2697653B1 (fr) 1992-11-04 1995-01-20 Info Telecom Dispositif électronique de jeu de hasard.
US5954583A (en) 1992-11-05 1999-09-21 Com21 Limited Secure access control system
US6298441B1 (en) * 1994-03-10 2001-10-02 News Datacom Ltd. Secure document access system
US5848932A (en) 1994-09-23 1998-12-15 Anchor Gaming Method of playing game and gaming games with an additional payout indicator
US5823874A (en) 1994-09-23 1998-10-20 Anchor Gaming Method of playing game and gaming device with an additional payout indicator
US5707286A (en) 1994-12-19 1998-01-13 Mikohn Gaming Corporation Universal gaming engine
US5604801A (en) 1995-02-03 1997-02-18 International Business Machines Corporation Public key data communications system under control of a portable security device
US5643086A (en) 1995-06-29 1997-07-01 Silicon Gaming, Inc. Electronic casino gaming apparatus with improved play capacity, authentication and security
JP2002515765A (ja) * 1995-06-29 2002-05-28 シリコン・ゲーミング・インコーポレーテッド 優れた遊技機能と認証およびセキュリティを有する電子的カジノゲームシステム
US5633929A (en) * 1995-09-15 1997-05-27 Rsa Data Security, Inc Cryptographic key escrow system having reduced vulnerability to harvesting attacks
US5800268A (en) 1995-10-20 1998-09-01 Molnick; Melvin Method of participating in a live casino game from a remote location
US5758875A (en) 1996-01-11 1998-06-02 Silicon Gaming, Inc. Dynamic rate control method and apparatus for electronically played games and gaming machines
FR2747257B1 (fr) * 1996-04-09 1998-09-11 Gilbert Henri Procede d'identification et/ou de signature
US5871400A (en) 1996-06-18 1999-02-16 Silicon Gaming, Inc. Random number generator for electronic applications
CN1212101A (zh) * 1996-10-23 1999-03-24 皇家菲利浦电子有限公司 移动通信业务的付费方案
US5971851A (en) 1996-12-27 1999-10-26 Silicon Gaming, Inc. Method and apparatus for managing faults and exceptions
US6099408A (en) 1996-12-31 2000-08-08 Walker Digital, Llc Method and apparatus for securing electronic games
US6071190A (en) 1997-05-21 2000-06-06 Casino Data Systems Gaming device security system: apparatus and method
US6203427B1 (en) 1997-07-03 2001-03-20 Walker Digital, Llc Method and apparatus for securing a computer-based game of chance
EP0895149B1 (en) * 1997-07-31 2003-09-17 Siemens Aktiengesellschaft Computer system for protecting a file and a method for protecting a file
US5879234A (en) 1997-10-01 1999-03-09 Universal De Desarrollos Electronicos, S.A. (Unidesa) Security system for reel type slot machine with physical mapping to control the win odds
US5863041A (en) 1997-12-11 1999-01-26 Bet Technology, Inc. Pai gow poker with auxiliary game
US6501390B1 (en) * 1999-01-11 2002-12-31 International Business Machines Corporation Method and apparatus for securely determining aspects of the history of a good
US8226473B2 (en) * 2002-04-10 2012-07-24 Wms Gaming Inc. Gaming software authentication

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010528376A (ja) * 2007-05-25 2010-08-19 マイクロソフト コーポレーション クローズドシステム用のプログラミングフレームワーク
JP2010258993A (ja) * 2009-04-28 2010-11-11 Mitsubishi Electric Corp データ処理装置

Also Published As

Publication number Publication date
EP1497006B1 (en) 2013-09-18
ZA200409472B (en) 2006-04-26
US20030203756A1 (en) 2003-10-30
EP1497006A4 (en) 2009-07-22
EP1497006A1 (en) 2005-01-19
RU2302276C2 (ru) 2007-07-10
NO20045069L (no) 2004-12-28
RU2004134356A (ru) 2005-05-27
CA2479093A1 (en) 2003-11-06
AU2003223536A1 (en) 2003-11-10
US6962530B2 (en) 2005-11-08
CA2479093C (en) 2011-06-14
WO2003090886A1 (en) 2003-11-06

Similar Documents

Publication Publication Date Title
EP1497006B1 (en) Authentication in a secure computerized gaming system
US7783040B2 (en) Encryption in a secure computerized gaming system
US7203841B2 (en) Encryption in a secure computerized gaming system
US7179170B2 (en) Pass-through live validation device and method
US20030203755A1 (en) Encryption in a secure computerized gaming system
EP2775418B1 (en) Multi-tiered static chain of trust
US20080009337A1 (en) Self-authenticating file system in an embedded gaming device
WO2006121933A2 (en) Trusted computing in a wagering game machine
AU2003223536B2 (en) Authentication in a secure computerized gaming system
AU2001245518B2 (en) Encryption in a secure computerized gaming system
AU2001245518A1 (en) Encryption in a secure computerized gaming system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090303

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090602

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090609

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20091102