説明

セキュリティ性の高い遊技機の通信装置

【課題】遊技機、特にパチンコ機におけるメイン基板とサブ基板との間の通信において、通信データの機密性及び完全性を確保し、さらに、そのサブ基板における処理内容の完全性を確保する。
【解決手段】本発明は、メイン基板とサブ基板との間で通信される制御コマンドに制御コマンド以外のデータを含ませ、制御コマンドの抽出を困難にすることで、通信されているデータの第三者による解読を困難にする。また、本発明は、メイン基板とサブ基板との間の通信路において、通信路の信頼性を確立させ、通信されているデータの完全性を確保する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遊技機の通信装置に関する。より詳細には、遊技機のセキュリティを確保した遊技機の通信装置に関する。
【背景技術】
【0002】
従来技術において、遊技機の主な制御を実行するメイン基板は、遊技機制御用マイクロコンピュータを搭載し、さらに、遊技球の払い出しを制御する払い出し基板や液晶画面などの図柄表示を制御する図柄表示基板等のサブ基板に対して、処理内容が定義されている制御コマンドを送信する。そのサブ基板はメイン基板から送信された制御コマンドに基づいて動作する。
【0003】
それらメイン基板とサブ基板との通信路において、制御コマンドは、暗号化などが施されておらず、第三者が読み取り可能な状態で送信され、また、他のデータが含まれずに制御コマンドのみが単独で利用されている。したがって、容易に制御コマンドの抽出及び解読が行われることから、第三者によって制御コマンドが解析されるという問題があった。また、制御コマンドが解読されることで、遊技機への不正を行う者が制御コマンドを改ざんして、不正に賞球を得るなどのおそれもあった。
【0004】
さらに、それらメイン基板とサブ基板との通信路は、ノイズ等の影響を含め、その通信路の信頼性が確立されることなく利用されているため、従来の通信方法において、通信路の信頼性を得るためには複数回同一データを送信し、合致した場合にデータを信頼する等の手法で使用されていた。また、遊技機への不正を行う者が不正改造されたメイン基板を通信路に接続し、その不正改造されたメイン基板によって制御コマンドが発行された場合、サブ基板側はこのような不正を検出することができなかった。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、遊技機、特にパチンコ機におけるメイン基板とサブ基板との間における通信路の信頼性を確保するとともに、その通信路において流れるデータを複雑化させ制御コマンドの解読を困難にすることで、制御コマンドの不正送信や改ざんなどの可能性を検出し、基板間の通信で用いられるデータの機密性及び完全性を確保することを目的とする。
【課題を解決するための手段】
【0006】
本発明による遊技機における通信装置は、第1基板と、通信路を介して第1基板に接続されている第2基板とを備え、第1基板は、ダミーデータを連続して生成するダミーデータ生成器と、ダミーデータにチェックデータ生成規則を適用してチェックデータを生成し、ダミーデータとチェックデータとからなるダミーデータ列を生成するとともに、少なくともダミーデータのみからなるダミーデータ列をさらに生成し、第2基板に実行させる処理内容が定義されている制御コマンドデータとダミーデータ列とからデータストリームを生成するストリームデータ生成器と、データストリームを第2基板に送信する送信モジュールとを備え、第2基板は、データストリームを受信する受信モジュールと、受信したデータストリームからダミーデータ列と制御コマンドデータとを取得するとともに、ダミーデータ列におけるチェックデータがチェックデータ生成規則に基づいて生成されているか否かを確認し、さらに、データストリームが正常であるか否かを確認するストリームデータ解析器とを備え、ストリームデータ解析器は、チェックデータがチェックデータ生成規則に基づいて生成されている場合、通信路の信頼性を確立し、さらに、ストリームデータ解析器は、受信したデータストリームが正常であるか否かを確認し、データストリームが正常ではない場合、通信路の信頼性を否定することができる。
【0007】
本発明による遊技機における通信装置において、データストリームが正常であるか否かの確認は、通信路の信頼性が確立した後、データストリームが連続しているか否かを確認することによって行うことができる。
【0008】
本発明による遊技機における通信装置において、ダミーデータ列にチェックデータが含まれている場合、データストリームが正常であるか否かの確認は、通信路の信頼性が確立した後、ダミーデータ列のチェックデータがチェックデータ生成規則に基づいて生成されているか否かを確認することによって行うことができる。
【0009】
本発明による遊技機における通信装置において、第2基板は、通信路データレジスタをさらに備え、ストリームデータ生成器は、各基板ごとの固有の値に基づいて生成されるキーデータをダミーデータ列に含めてデータストリームを生成するよう構成されており、ストリームデータ解析器は、通信路の信頼性を確立するときにダミーデータ列からキーデータを取得し、通信路データレジスタに保存するよう構成されており、データストリームが正常であるか否かの確認は、通信路の信頼性が確立した後、ストリームデータ解析器が、ダミーデータ列からキーデータを取得し、取得したキーデータと通信路データレジスタに保存されているキーデータとを比較することによって行うことができる。
【0010】
本発明による遊技機における通信装置において、ストリームデータ解析器は、制御コマンドデータを取得した後、取得した制御コマンドデータ以後に送信されるデータストリームにおいて、データストリームが正常であるか否かの確認を行うことができる。
【0011】
本発明による遊技機における通信装置において、第1基板は、暗号化回路を備え、第2基板は、暗号化回路によって暗号化されたデータを復号化することができる復号化回路を備える。
【0012】
本発明による遊技機における通信装置において、キーデータ及び/又はチェックデータは、所定のダミーデータ列のみに含めることができる。
【発明の効果】
【0013】
本発明によれば、通信路の信頼性が確立されていない場合、通信路を流れるデータについてノイズ等の影響を含め、不正送信や改ざんなどによる信頼性の低いデータを検出し、排除することができる。これにより、データの送信を行う基板は同一データを複数回送信する必要がなくなる。
【0014】
また、基板間における通信路の信頼性が常に確認されることから、遊技機の開発者は通信路の信頼性を考慮した設計を行うことができる。例えば、通信路の信頼性が確立された後に信頼性が否定された場合、遊技機の液晶画面や遊技機を管理するコンピュータにその旨を通知したり、通信路の信頼性が確立されるまで受信側基板は受信データを廃棄するなどの処理を考慮して設計することが可能となる。
【0015】
さらに、第三者によるメイン基板とサブ基板との間の通信内容の解読を困難にし、第三者による通信内容の改ざんを防止する。これらにより、図柄の表示の制御、そして、遊技機において最も重要である払い出し処理などについて常に正常な動作が行われるようにすることができる。
【図面の簡単な説明】
【0016】
【図1】本発明の実施の一形態に係る遊技機の概略を示したブロック図である。
【図2】本発明の実施の一形態に係るメイン基板の概要を示したブロック図である。
【図3】本発明によるデータストリームの送信側動作の一実施例について説明するフローチャートである。
【図4】本発明によるデータストリームの生成過程のイメージを示した概要図である。
【図5】本発明によるデータストリームの受信側動作の一実施例について説明するフローチャートである。
【発明を実施するための形態】
【0017】
図1は、本発明の実施の一形態に係る遊技機100の概略を示したブロック図である。遊技機100は、メイン基板120、サブ基板である図柄表示基板130及び払い出し基板140、電源150、並びに、システムバス110を備える。電源150は、各基板120乃至140に電源を供給する。各基板120乃至140は、システムバス110を介して接続されている。図柄表示基板130は、遊技機に表示される図柄を制御する。払い出し基板140は、遊技機の払い出しについての処理を制御する。メイン基板120は、通信路となるシステムバス110を介して図柄表示基板130や、払い出し基板140などと通信し、それらを制御する。システムバス110は、シリアル通信用のバスとすることができ、必要に応じてパラレル通信用のバスとすることもできる。なお、遊技機100には、図柄表示基板130及び払い出し基板140以外の他の機能の基板が含まれるよう構成することもできる。そして、各基板は、制御コマンドを送受信することができ、その制御コマンドを受信した基板は、制御コマンドに基づいて処理を実行する。
【0018】
図2は、本発明の実施の一形態に係るメイン基板120の概要を示したブロック図である。メイン基板120は、CPU205、RAM210、送信モジュール215、受信モジュール220、送信制御コマンドデータレジスタ225、受信制御コマンドデータレジスタ230、通信路データレジスタ235、ダミーデータ生成器240、ストリームデータ生成器245、暗号化回路250、復号化回路255、ストリームデータ解析器260、及び、ROM265を備える。
【0019】
CPU205は、CPUバス265を介して、RAM210、ROM265、送信制御コマンドデータレジスタ225、受信制御コマンドデータレジスタ230、通信路データレジスタ235に接続されている。また、送信モジュール215及び受信モジュール220は、通信路であるシステムバス110に接続されており、メイン基板120は、そのシステムバス110を介して他のサブ基板130及び140と通信することができる。復号化回路255は、暗号化回路250が暗号化したデータを復号化することができる。
【0020】
上記のメイン基板120の構成は一つの実施例である。異なる構成のメイン基板120を採用することは、当業者であれば理解されるだろう。例えば、送信制御コマンドデータレジスタ225、受信制御コマンドデータレジスタ230、通信路データレジスタ235は、一又は二以上のレジスタに統合することができる。また、他の実施例として、各レジスタ225、230、及び、235の代わりとしてRAM210を用いることもできる。さらに他の実施例として、ダミーデータ生成器240、ストリームデータ生成器245、暗号化回路250、復号化回路255、及び、ストリームデータ解析器260それぞれが行う処理は、ROM265に格納されているプログラムに基づいてCPU205によって実行されるようにすることもできる。
【0021】
本実施例において、サブ基板130及び140は、メイン基板120と全く同一の構成を備えることができる。本実施例では、メイン基板120とサブ基板130及び140とは、双方向でデータストリームの送受信を行うことができる。
【0022】
他の実施例として、サブ基板130及び140の一方又は両方を、メイン基板120とは異なる構成とすることもできる。例えば、サブ基板130及び140に、図2に示されていない他の部品を追加することができ、また、図2に図示されているある構成のうち一部を省いた基板とすることもできる。
【0023】
また、他の実施例として、メイン基板120は、データストリームを送信するための構成のみを備えることができる。例えば、その構成は、CPU205、RAM210、ROM265、送信モジュール215、送信制御コマンドデータレジスタ225、ダミーデータ生成器240、ストリームデータ生成器245、暗号化回路250、及び、CPUバス265の内の一部又は全部を含む。
【0024】
そして、サブ基板130及び140は、データストリームを受信するための構成のみを備えることができる。例えば、その構成は、CPU205、RAM210、ROM265、受信モジュール220、受信制御コマンドデータレジスタ230、通信路データレジスタ235、復号化回路255、ストリームデータ解析器260、及び、CPUバス265の内の一部又は全部を含む。本実施例では、データストリームは、メイン基板120からサブ基板130及び140への一方向のみに送信される。
【0025】
図3は、本発明によるデータストリームの送信側動作の一実施例について説明するフローチャートである。
【0026】
最初に、ストリームデータ生成器245は、キーデータを生成する(ステップ305)。キーデータは、各基板に固有の情報であることが望ましい。本実施例において、各基板が固有のID(CPU毎に割り振られているIDなど)を有する場合、キーデータは、その固有のID自体、又は、その固有のIDに基づいて生成されたデータとすることができる。また、キーデータとして、他の異なる規則にしたがって生成された値(例えば、固定値)を用いることもできる。その後、ストリームデータ生成器245は、ダミーデータ生成器240が生成したダミーデータを用いてダミーデータ列を生成する(ステップ310)。
【0027】
暗号化回路250は、生成されたダミーデータ列を暗号化する(ステップ315)。ただし、データを秘匿にする重要性が低い場合は、ダミーデータ列を暗号化するステップを省略することができる。ストリームデータ生成器245は、制御コマンドが生成されたか否かを確認する(ステップ320)。本実施例において、CPU205は、制御コマンドを生成し送信制御コマンドデータレジスタ225に保存する。この場合、ストリームデータ生成器245は、送信制御コマンドデータレジスタ225に定期的にアクセスし、保存されている制御コマンドを取得することで、制御コマンドが生成されたか否かを確認することができる。他の実施例では、CPU205が、制御コマンドをストリームデータ生成器245に送信するようにすることができる。この場合、ストリームデータ生成器245は、CPU205から制御コマンドを受信することによって制御コマンドが生成されたことを確認する。
【0028】
制御コマンドが生成されていた場合(ステップ320)、ストリームデータ生成器245は、暗号化されているダミーデータ列に制御コマンドを付加する(ステップ325)。他の実施例として、ダミーデータ列を最初に生成するときのみ、ストリームデータ生成器245が、ダミーデータ列の先頭に先頭ストリームデータを付加するようにすることができる。例えば、その先頭ストリームデータは、通常の通信では使われないデータ(例えば、"00000000"、"11111111"、又は、それらの組み合わせ)とすることができる。これにより、受信側の基板は、先頭ストリームデータを検出することで、受信したデータがデータストリームの先頭データであるか否かを容易に判断することができる。
【0029】
ストリームデータ生成器245は、ステップ315及び325において生成されたデータ列をデータストリームに変換する(ステップ330)。この場合に、ストリームデータ生成器245は、データ列をデータストリームに変換するときに、エラー検出訂正用のデータをデータストリームに付加して送信するようにしてもよい。これにより、通信路において通信エラーが発生した場合であっても、受信側の基板でエラー訂正を行うことができ、通信路の利便性が向上する。その後、送信モジュール215は、生成されたデータストリームを他の基板に送信する(ステップ335)。
【0030】
図3の処理フローから理解されるように、送信側の基板の処理は正常に動作する限り、データストリームの生成に関して中断又は休止することがないことから、送信側の基板は、連続した途切れがないデータストリームを生成することができる。
【0031】
図4は、本発明によるデータストリームの生成過程のイメージを示した概要図である。この図では、1フレーム分のデータを8ビットと仮定する。したがって、1フレームには、28通りの数が表現される(つまり、10進数で表現すると、その数は0乃至255となる)。図4(a)に示すデータストリームの状態405は、5フレーム分のデータからなるダミーデータ455が生成されていることを示す。図4(b)に示すデータストリームの状態410は、キーデータ460がダミーデータ455に付加されていることを示す。その後、図4(c)に示すデータストリームの状態415は、ダミーデータ455及びキーデータ460にチェックデータ465が付加され、ダミーデータ列480が生成されていることを示す(図3のステップ310)。
【0032】
本実施例において、ダミーデータ列は、一定のフレーム数のデータとすることができる。本実施例では、ダミーデータ列は、5フレーム分のダミーデータ455と2フレーム分のキーデータ460からなる7フレーム分のデータの後ろに、1フレーム分のチェックデータ465が付加された8フレーム分のデータ列である。他の実施例として、ダミーデータ列はキーデータを含めず生成することもできる。この場合、7フレーム分のデータ全てがダミーデータとなる。
【0033】
ダミーデータ生成器240によって生成されるダミーデータ455は、所定のダミーデータ生成規則によって生成されたデータ(例えば、生成されるデータは常に"11110000"など)、又は、ランダムに生成されたデータとすることができる。ここで、ダミーデータは、固定値又は一定値ではないランダムに生成されたデータであるほうが好ましい。なぜならば、後述するチェックデータは、ダミーデータに基づくことから、ダミーデータが変化するとチェックデータも値が変化するからである。これにより、ダミーデータが生成されるたびに、ダミーデータ値が変化することによって、第三者によるダミーデータ及びチェックデータの解読は、より困難なものとなる。
【0034】
チェックデータ460は、送信側の基板と受信側の基板との間で定められた所定のチェックデータ生成規則によって得られるデータとすることができる。本実施例において、チェックデータ生成規則によって得られるチェックデータは、常に一定の値とすることができる。他の実施例として、チェックデータ生成規則によって得られるチェックデータは、チェックデータ計算によって得られた結果とすることができる。チェックデータ計算については後述する。
【0035】
図4(d)に示すデータストリームの状態420は、生成されたダミーデータ列が暗号化されていること示す(図3のステップ315)。暗号化方式には、DESや、トリプルDES、AES、RSAなどの既知の暗号化方式を用いることができる。
【0036】
その後、制御コマンドが生成されていない場合、新たに暗号化されたダミーデータ列が生成される(図3のステップ310及び315)。図4(e)に示すデータストリームの状態425は、新たに生成された暗号化ダミーデータ列485が、状態420のデータストリームに付加されていることを示す。
【0037】
その後、制御コマンドが生成された場合、制御コマンドが付加される(図3のステップ325)。図4(f)に示すデータストリームの状態430は、状態425のデータストリームに制御コマンド490が付加されていることを示す。
【0038】
さらに、この後の処理によって、制御コマンド490に後続して、新たなダミーデータ列又は制御コマンドがさらに付加される(図示せず)。これにより、データストリームは連続した途切れがないストリームとなり、第三者による通信路中における制御コマンドの特定は困難となる。
【0039】
他の実施例として、データストリーム中のダミーデータ列と制御コマンドとの間に制御コマンド開始データを含むことができる。制御コマンド開始データは、通常の通信では使われないデータ(例えば、"00000000"、"11111111"、又は、それらの組み合わせ)とすることができる。これにより、データストリームの受信側の基板において、制御コマンドを容易に検出することができる。
【0040】
他の実施例として、暗号化回路250は、ダミーデータ列だけではなく、制御コマンドも暗号化するようにすることができる。さらに他の実施例として、暗号化回路250は、データストリーム全てを暗号化するようにすることができる。これらにより、制御コマンドなどが暗号化されることから、第三者による制御コマンドの特定はさらに困難となる。
【0041】
ダミーデータ列の他の実施例として、チェックデータ465及び/又はキーデータ460は、セキュリティの向上に関して関連性が強い所定のダミーデータ列のみに付加させるようにしてもよい。所定のダミーデータ列の例としては、最初に送信される所定の数のダミーデータ列、制御コマンドが送信された後のダミーデータ列などが考えられる。これにより、ダミーデータ列にチェックデータ及びキーデータを付加する処理を削減することができることから、CPU205に余分な負担をかけずにすむ。この実施例では、送信側基板及び受信側基板において、チェックデータ及び/又はキーデータが含まれるダミーデータ列を事前に定義する必要がある。
【0042】
上述のチェックデータ計算の例としては、ダミーデータ列におけるチェックデータ以外の所定のデータを用いて論理積計算を行うことによって求めてもよい。例えば、チェックデータ計算で用いられるデータが1フレーム及び2フレーム目のデータであり、1フレーム及び2フレーム目のデータが、それぞれ、"11000011"、"10011110"である場合、論理積計算によるチェックデータ計算の結果は、"10000010"となる。また、チェックデータ計算で用いられるデータは、チェックデータ以外のフレームのデータ全てとすることもできる。
【0043】
チェックデータ計算の他の実施例としては、ダミーデータ列におけるチェックデータ以外である7フレーム分のデータを1フレームごとに10進数で表現し、それらを用いて所定の計算を行う。所定の計算の例としては、得られた10進数の値を順に乗算する(具体的には、1フレーム目と2フレーム目とのデータから得られた10進数の値を乗算し、その乗算結果の値と3フレーム目のデータから得られた10進数の値とを乗算する。このような計算を7フレーム目まで繰り返す)。そして、順に乗算して得られた値を数値"255"で剰余演算し(順に乗算して得られた値を数値"255"で除算し、余りを求める)、剰余演算結果を2進数表現にした値をチェックデータとすることができる。所定の計算の他の例としては、得られた10進数の値の総和を計算し、総和値を2進数表現にし、下位の1オクテット(8ビット)の値をチェックデータとすることができる。なお、当業者であれば明らかなように、チェックデータ計算には、他の異なる計算方法を用いることができる。
【0044】
図5は、本発明によるデータストリームの受信側動作の一実施例について説明するフローチャートである。
【0045】
最初に、データストリームを送信した基板とは異なる基板の受信モジュール220は、データストリームを受信する(ステップ505)。復号化回路255は、ストリームデータ解析器260によって取得された暗号化されているダミーデータ列の先頭部分(例えば、図4におけるデータストリームの状態430の先頭の8フレーム分のデータ)を復号する(ステップ510)。他の実施例として、データストリームに先頭ストリームデータが付加されている場合、ストリームデータ解析器260は、先頭ストリームデータを用いることによって、あるデータがデータストリームの先頭であるか否かを容易に判断することができる。また、データストリームの送信が停止され、再度送信が開始される場合、ストリームデータ解析器260は、先頭ストリームデータを用いることによって、再度送信されるデータストリームの先頭を容易に検出することができる。そして、ストリームデータ解析器260は、復号したダミーデータ列からデータを取得する(ステップ515)。
【0046】
ストリームデータ解析器260は、取得されたデータにおけるチェックデータがチェックデータ生成規則に基づいて生成されているか否かを確認する(ステップ520)。チェックデータがチェックデータ生成規則に基づいて生成されている場合(ステップ520)、通信路の信頼性が確立される(ステップ525)。
【0047】
他の実施例として、チェックデータがチェックデータ生成規則に基づいて生成されているか否かの確認は、先頭のダミーデータ列を判定するだけではなく、後続するダミーデータ列の一又は二以上を判定することによって実行することもできる。これにより、チェックデータの確認が複数回行われることから、通信路の信頼性をさらに向上させることができる。一実施例において、通信路データレジスタ235は、通信路信頼フラグのための領域を有することができる。本実施例では、通信路の信頼性が確立されると、ストリームデータ解析器260又はCPU205は、通信路信頼フラグをオンにする。これにより、通信路の信頼性が確立された後、CPU205などは、通信路データレジスタ235の通信路信頼フラグを参照し、通信路信頼フラグがオンであることを確認することによって、通信路の信頼性が確立されていることを容易に確認することができる。
【0048】
他の実施例として、ダミーデータ列にキーデータが含まれている場合、通信路の信頼性を確立するステップは、ストリームデータ解析器260又はCPU205が、キーデータを通信路データレジスタ235に保存するステップを含むことができる。
【0049】
チェックデータがチェックデータ生成規則に基づいて生成されていなかった場合(ステップ520)、通信路の信頼性が確立されずに処理は終了する(ステップ560)。他の実施例として、チェックデータがチェックデータ生成規則に基づいて生成されていなかった場合(ステップ520)、受信先基板は送信元基板へエラー通知を行うことができる。
【0050】
通信路の信頼性が確立された後(ステップ525)、ストリームデータ解析器260は、データストリーム中の次のデータのセットを取得する(ステップ530)。ストリームデータ解析器260は、取得したデータストリームのデータが正常であるか否かを確認する(ステップ535)。
【0051】
本実施例では、データストリームが正常であるか否かの確認は、データストリーム中に所定のエラー通知データが含まれているか否かを確認することによって行うことができる。
【0052】
他の実施例として、データストリームが正常であるか否かの確認は、データストリームが連続していることを確認することによって行うことができる。この場合、受信したデータストリーム中に連続せずに途切れている箇所が確認されたときは、データストリームに異常があると判断される。すなわち、通信路の切断、又は、送信元基板の差し替えなどが行われた場合、データストリームが途切れるため、即座にデータストリームの異常が検出される。したがって、この異常検出処理は、暗号化されているダミーデータ列を復号化するなどの処理負担が大きい処理を行うことなく、データストリームが連続しているか否かという簡単な判定処理のみが実行されるため、CPU205などに余分な負担をかけずにすむ。
【0053】
他の実施例として、ステップ530において取得した次のデータセットがダミーデータ列である場合、データストリームが正常であるか否かの確認は、ストリームデータ解析器260が、復号化回路255を用いて次のデータセットにおける暗号化されているダミーデータ列を復号化し、そのダミーデータ列のチェックデータがチェックデータ生成規則に基づいて生成されているか否かを確認することによって行うことができる(ステップ510乃至ステップ520と同じ処理を行う)。本実施例では、チェックデータがチェックデータ生成規則に基づいて生成されていないと確認された場合、データストリームに異常があると判断される。
【0054】
さらに他の実施例として、ステップ530において取得した次のデータセットがダミーデータ列であり、ダミーデータ列にキーデータが含まれている場合、データストリームが正常であるか否かの確認は、ストリームデータ解析器260が、復号化回路255を用いて次のデータセットにおける暗号化されているダミーデータ列を復号化してキーデータを取得し、取得したキーデータと通信路データレジスタ235に保存されているキーデータとを比較することによって行うことができる。本実施例では、取得したキーデータと通信路データレジスタ235に保存されているキーデータとが異なると確認された場合、データストリームに異常があると判断される。
【0055】
さらに、データストリームが正常であるか否かの確認は、これら実施例の一又は二以上の組み合わせによって行うこともできる。
【0056】
データストリームが正常であると判断された場合(ステップ535)、ストリームデータ解析器260は、取得したデータ中に制御コマンドが存在するか否かを確認する(ステップ540)。制御コマンドが存在しない場合、データストリーム中の次のデータのセットが取得される(ステップ530)。本実施例では、制御コマンドの存在は、制御コマンド開始データを用いて判定される。
【0057】
制御コマンドが存在する場合、ストリームデータ解析器260は、制御コマンドを取得し、受信制御コマンドデータレジスタ235に保存する(ステップ545)。これにより、CPU205において、その基板特有の処理を実行するための制御コマンドの利用が可能になる。他の実施例として、ストリームデータ解析器260は、取得した制御コマンドをCPU205に送信するようにすることもできる。
【0058】
他の実施例として、ストリームデータ解析器260は、制御コマンドが取得をした後、さらに、取得された制御コマンド以後のデータストリームが正常であると確認(ステップ530及び535と同じ処理)した後に、その制御コマンドを受信制御コマンドデータレジスタ230に保存することができる。これにより、不正である可能性が高い制御コマンドの利用を回避し、制御コマンドの完全性をより向上させることができる。なぜならば、制御コマンド検出後にデータストリームの異常が検出された場合、その制御コマンドは不正に送信された可能性又は改ざんされている可能性が高いからである。
【0059】
また、他の実施例として、データストリームが正常であるか否かの確認(ステップ520)は、制御コマンドの取得(ステップ545)後のみ実行するよう構成されていてもよい。これにより、不正を検出する可能性が高い時点でのみ、データストリームの異常検出処理が行われることから、異常検出処理の実行回数が削減できるため、CPU205に余分な負担をかけずにすむ。
【0060】
制御コマンドの取得後、次のデータのセットが取得され(ステップ530)、データストリームが正常ではないと判断された場合(ステップ535)、ストリームデータ解析器260又はCPU205は通信路の信頼性を否定する(ステップ555)。通信路信頼フラグが用いられている場合、通信路の信頼性が否定されると、ストリームデータ解析器260又はCPU205は通信路信頼フラグをオフにする。その後、処理を終了する(ステップ560)。これにより、通信路の信頼性が否定された後、CPU205などは、通信路データレジスタ235の通信路信頼フラグを参照し、通信路信頼フラグがオフであることを確認することによって、通信路の信頼性が確立されていないことを容易に確認することができる。また、通信路の信頼性が確立されていない間に送信された制御コマンドは不正送信又は改ざんされている可能性が高いことから、CPU205などは、その制御コマンドが利用されないよう制御することができる。
【0061】
本発明によって、メイン基板120とサブ基板130及び/又は140との間の一方向又は双方向の通信路において、途切れなくデータストリームが送信されるため、第三者による制御コマンドの検出をより困難にすることができる。また、そのデータストリームを用いることによって、通信路の信頼性を容易に確保することができ、さらに、制御コマンドの不正送信又は改ざんを検出することができる。
【0062】
本発明は、遊技機内における通信について説明したが、インターネットや一般的なピアツーピア通信などの他のデータ通信にも用いることができる。
【0063】
なお、以上に説明した処理フローにおける、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの動作上の矛盾が生じない限りにおいて、処理フローを自由に変更することができる。
【0064】
以上に説明してきた各実施形態は、本発明を説明するための例示であり、本発明はこれらの実施形態に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。

【特許請求の範囲】
【請求項1】
遊技機内の複数の基板間でデータ通信する通信装置であって、
第1基板と、
通信路を介して前記第1基板に接続されている第2基板と、
を備え、
前記第1基板は、
ダミーデータを連続して生成するダミーデータ生成器と、
前記ダミーデータにチェックデータ生成規則を適用してチェックデータを生成し、当該ダミーデータと当該チェックデータとからなるダミーデータ列を生成するとともに、少なくとも当該ダミーデータのみからなるダミーデータ列をさらに生成し、前記第2基板に実行させる処理内容が定義されている制御コマンドデータと当該ダミーデータ列とからデータストリームを生成するストリームデータ生成器と、
前記データストリームを前記第2基板に送信する送信モジュールと、
を備え、
前記第2基板は、
前記データストリームを受信する受信モジュールと、
受信した前記データストリームから前記ダミーデータ列と前記制御コマンドデータとを取得するとともに、当該ダミーデータ列における前記チェックデータが前記チェックデータ生成規則に基づいて生成されているか否かを確認し、その後、当該データストリームが正常であるか否かを確認するストリームデータ解析器と、
を備え、
前記ストリームデータ解析器は、前記チェックデータが前記チェックデータ生成規則に基づいて生成されている場合、前記通信路の信頼性を確立し、さらに、当該ストリームデータ解析器は、受信した前記データストリームが正常であるか否かを確認し、前記データストリームが正常ではない場合、当該通信路の信頼性を否定することを特徴とする遊技機における通信装置。
【請求項2】
前記データストリームが正常であるか否かの確認は、前記通信路の信頼性が確立した後、前記ストリームデータ解析器において、当該データストリームが連続しているか否かを確認することによって行われることを特徴とする請求項1に記載の通信装置。
【請求項3】
前記ダミーデータ列に前記チェックデータが含まれている場合、前記データストリームが正常である否かの確認は、前記通信路の信頼性が確立した後、前記ストリームデータ解析器において、前記ダミーデータ列の前記チェックデータが前記チェックデータ生成規則に基づいて生成されているか否かを確認することによって行われることを特徴とする請求項1に記載の通信装置。
【請求項4】
前記第2基板は、通信路データレジスタをさらに備え、
前記ストリームデータ生成器は、各基板ごとの固有の値に基づいて生成されるキーデータを前記ダミーデータ列に含めて前記データストリームを生成するよう構成されており、
前記ストリームデータ解析器は、前記通信路の信頼性を確立するときに前記ダミーデータ列から前記キーデータを取得し、前記通信路データレジスタに保存するよう構成されており、
前記データストリームが正常であるか否かの確認は、前記通信路の信頼性が確立した後、前記ストリームデータ解析器が、前記ダミーデータ列から前記キーデータを取得し、当該取得したキーデータと前記通信路データレジスタに保存されているキーデータとを比較することによって行われることを特徴とする請求項1に記載の通信装置。
【請求項5】
前記ストリームデータ解析器は、前記制御コマンドデータを取得した後、取得した当該制御コマンドデータ以後に送信されるデータストリームにおいて、前記データストリームが正常であるか否かの確認を行うことを特徴とする請求項1乃至4に記載の通信装置。
【請求項6】
さらに、前記第1基板は、暗号化回路を備え、前記第2基板は、当該暗号化回路によって暗号化されたデータを復号化することができる復号化回路を備えることを特徴とする請求項1乃至5に記載の通信装置。
【請求項7】
前記キーデータ及び/又は前記チェックデータは、所定のダミーデータ列のみに含まれていることを特徴とする請求項3乃至6に記載の通信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate