(57)【要約】【課題】遊技機、特にパチンコ機におけるメイン基板とサブ基板との間の通信において、通信データの機密性及び完全性を確保し、さらに、そのサブ基板における処理内容の完全性を確保する。【解決手段】本発明は、メイン基板とサブ基板との間で通信される制御コマンドに制御コマンド以外のデータを含ませ、制御コマンドの抽出を困難にすることで、通信されているデータの第三者による解読を困難にする。また、本発明は、メイン基板とサブ基板との間の通信路において、通信路の信頼性を確立させ、通信されているデータの完全性を確保する。【選択図】図２
2011147764.tif 000002
【特許請求の範囲】
【請求項１】
遊技機内の複数の基板間でデータ通信する通信装置であって、
第１基板と、
通信路を介して前記第１基板に接続されている第２基板と、
を備え、
前記第１基板は、
ダミーデータを連続して生成するダミーデータ生成器と、
前記ダミーデータにチェックデータ生成規則を適用してチェックデータを生成し、当該ダミーデータと当該チェックデータとからなるダミーデータ列を生成するとともに、少なくとも当該ダミーデータのみからなるダミーデータ列をさらに生成し、前記第２基板に実行させる処理内容が定義されている制御コマンドデータと当該ダミーデータ列とからデータストリームを生成するストリームデータ生成器と、
前記データストリームを前記第２基板に送信する送信モジュールと、
を備え、
前記第２基板は、
前記データストリームを受信する受信モジュールと、
受信した前記データストリームから前記ダミーデータ列と前記制御コマンドデータとを取得するとともに、当該ダミーデータ列における前記チェックデータが前記チェックデータ生成規則に基づいて生成されているか否かを確認し、その後、当該データストリームが正常であるか否かを確認するストリームデータ解析器と、
を備え、
前記ストリームデータ解析器は、前記チェックデータが前記チェックデータ生成規則に基づいて生成されている場合、前記通信路の信頼性を確立し、さらに、当該ストリームデータ解析器は、受信した前記データストリームが正常であるか否かを確認し、前記データストリームが正常ではない場合、当該通信路の信頼性を否定することを特徴とする遊技機における通信装置。
【請求項２】
前記データストリームが正常であるか否かの確認は、前記通信路の信頼性が確立した後、前記ストリームデータ解析器において、当該データストリームが連続しているか否かを確認することによって行われることを特徴とする請求項１に記載の通信装置。
【請求項３】
前記ダミーデータ列に前記チェックデータが含まれている場合、前記データストリームが正常である否かの確認は、前記通信路の信頼性が確立した後、前記ストリームデータ解析器において、前記ダミーデータ列の前記チェックデータが前記チェックデータ生成規則に基づいて生成されているか否かを確認することによって行われることを特徴とする請求項１に記載の通信装置。
【請求項４】
前記第２基板は、通信路データレジスタをさらに備え、
前記ストリームデータ生成器は、各基板ごとの固有の値に基づいて生成されるキーデータを前記ダミーデータ列に含めて前記データストリームを生成するよう構成されており、
前記ストリームデータ解析器は、前記通信路の信頼性を確立するときに前記ダミーデータ列から前記キーデータを取得し、前記通信路データレジスタに保存するよう構成されており、
前記データストリームが正常であるか否かの確認は、前記通信路の信頼性が確立した後、前記ストリームデータ解析器が、前記ダミーデータ列から前記キーデータを取得し、当該取得したキーデータと前記通信路データレジスタに保存されているキーデータとを比較することによって行われることを特徴とする請求項１に記載の通信装置。
【請求項５】
前記ストリームデータ解析器は、前記制御コマンドデータを取得した後、取得した当該制御コマンドデータ以後に送信されるデータストリームにおいて、前記データストリームが正常であるか否かの確認を行うことを特徴とする請求項１乃至４に記載の通信装置。
【請求項６】
さらに、前記第１基板は、暗号化回路を備え、前記第２基板は、当該暗号化回路によって暗号化されたデータを復号化することができる復号化回路を備えることを特徴とする請求項１乃至５に記載の通信装置。
【請求項７】
前記キーデータ及び／又は前記チェックデータは、所定のダミーデータ列のみに含まれていることを特徴とする請求項３乃至６に記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技機の通信装置に関する。より詳細には、遊技機のセキュリティを確保した遊技機の通信装置に関する。
【背景技術】
【０００２】
従来技術において、遊技機の主な制御を実行するメイン基板は、遊技機制御用マイクロコンピュータを搭載し、さらに、遊技球の払い出しを制御する払い出し基板や液晶画面などの図柄表示を制御する図柄表示基板等のサブ基板に対して、処理内容が定義されている制御コマンドを送信する。そのサブ基板はメイン基板から送信された制御コマンドに基づいて動作する。
【０００３】
それらメイン基板とサブ基板との通信路において、制御コマンドは、暗号化などが施されておらず、第三者が読み取り可能な状態で送信され、また、他のデータが含まれずに制御コマンドのみが単独で利用されている。したがって、容易に制御コマンドの抽出及び解読が行われることから、第三者によって制御コマンドが解析されるという問題があった。また、制御コマンドが解読されることで、遊技機への不正を行う者が制御コマンドを改ざんして、不正に賞球を得るなどのおそれもあった。
【０００４】
さらに、それらメイン基板とサブ基板との通信路は、ノイズ等の影響を含め、その通信路の信頼性が確立されることなく利用されているため、従来の通信方法において、通信路の信頼性を得るためには複数回同一データを送信し、合致した場合にデータを信頼する等の手法で使用されていた。また、遊技機への不正を行う者が不正改造されたメイン基板を通信路に接続し、その不正改造されたメイン基板によって制御コマンドが発行された場合、サブ基板側はこのような不正を検出することができなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、遊技機、特にパチンコ機におけるメイン基板とサブ基板との間における通信路の信頼性を確保するとともに、その通信路において流れるデータを複雑化させ制御コマンドの解読を困難にすることで、制御コマンドの不正送信や改ざんなどの可能性を検出し、基板間の通信で用いられるデータの機密性及び完全性を確保することを目的とする。
【課題を解決するための手段】
【０００６】
本発明による遊技機における通信装置は、第１基板と、通信路を介して第１基板に接続されている第２基板とを備え、第１基板は、ダミーデータを連続して生成するダミーデータ生成器と、ダミーデータにチェックデータ生成規則を適用してチェックデータを生成し、ダミーデータとチェックデータとからなるダミーデータ列を生成するとともに、少なくともダミーデータのみからなるダミーデータ列をさらに生成し、第２基板に実行させる処理内容が定義されている制御コマンドデータとダミーデータ列とからデータストリームを生成するストリームデータ生成器と、データストリームを第２基板に送信する送信モジュールとを備え、第２基板は、データストリームを受信する受信モジュールと、受信したデータストリームからダミーデータ列と制御コマンドデータとを取得するとともに、ダミーデータ列におけるチェックデータがチェックデータ生成規則に基づいて生成されているか否かを確認し、さらに、データストリームが正常であるか否かを確認するストリームデータ解析器とを備え、ストリームデータ解析器は、チェックデータがチェックデータ生成規則に基づいて生成されている場合、通信路の信頼性を確立し、さらに、ストリームデータ解析器は、受信したデータストリームが正常であるか否かを確認し、データストリームが正常ではない場合、通信路の信頼性を否定することができる。
【０００７】
本発明による遊技機における通信装置において、データストリームが正常であるか否かの確認は、通信路の信頼性が確立した後、データストリームが連続しているか否かを確認することによって行うことができる。
【０００８】
本発明による遊技機における通信装置において、ダミーデータ列にチェックデータが含まれている場合、データストリームが正常であるか否かの確認は、通信路の信頼性が確立した後、ダミーデータ列のチェックデータがチェックデータ生成規則に基づいて生成されているか否かを確認することによって行うことができる。
【０００９】
本発明による遊技機における通信装置において、第２基板は、通信路データレジスタをさらに備え、ストリームデータ生成器は、各基板ごとの固有の値に基づいて生成されるキーデータをダミーデータ列に含めてデータストリームを生成するよう構成されており、ストリームデータ解析器は、通信路の信頼性を確立するときにダミーデータ列からキーデータを取得し、通信路データレジスタに保存するよう構成されており、データストリームが正常であるか否かの確認は、通信路の信頼性が確立した後、ストリームデータ解析器が、ダミーデータ列からキーデータを取得し、取得したキーデータと通信路データレジスタに保存されているキーデータとを比較することによって行うことができる。
【００１０】
本発明による遊技機における通信装置において、ストリームデータ解析器は、制御コマンドデータを取得した後、取得した制御コマンドデータ以後に送信されるデータストリームにおいて、データストリームが正常であるか否かの確認を行うことができる。
【００１１】
本発明による遊技機における通信装置において、第１基板は、暗号化回路を備え、第２基板は、暗号化回路によって暗号化されたデータを復号化することができる復号化回路を備える。
【００１２】
本発明による遊技機における通信装置において、キーデータ及び／又はチェックデータは、所定のダミーデータ列のみに含めることができる。
【発明の効果】
【００１３】
本発明によれば、通信路の信頼性が確立されていない場合、通信路を流れるデータについてノイズ等の影響を含め、不正送信や改ざんなどによる信頼性の低いデータを検出し、排除することができる。これにより、データの送信を行う基板は同一データを複数回送信する必要がなくなる。
【００１４】
また、基板間における通信路の信頼性が常に確認されることから、遊技機の開発者は通信路の信頼性を考慮した設計を行うことができる。例えば、通信路の信頼性が確立された後に信頼性が否定された場合、遊技機の液晶画面や遊技機を管理するコンピュータにその旨を通知したり、通信路の信頼性が確立されるまで受信側基板は受信データを廃棄するなどの処理を考慮して設計することが可能となる。
【００１５】
さらに、第三者によるメイン基板とサブ基板との間の通信内容の解読を困難にし、第三者による通信内容の改ざんを防止する。これらにより、図柄の表示の制御、そして、遊技機において最も重要である払い出し処理などについて常に正常な動作が行われるようにすることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の実施の一形態に係る遊技機の概略を示したブロック図である。
【図２】本発明の実施の一形態に係るメイン基板の概要を示したブロック図である。
【図３】本発明によるデータストリームの送信側動作の一実施例について説明するフローチャートである。
【図４】本発明によるデータストリームの生成過程のイメージを示した概要図である。
【図５】本発明によるデータストリームの受信側動作の一実施例について説明するフローチャートである。
【発明を実施するための形態】
【００１７】
図１は、本発明の実施の一形態に係る遊技機１００の概略を示したブロック図である。遊技機１００は、メイン基板１２０、サブ基板である図柄表示基板１３０及び払い出し基板１４０、電源１５０、並びに、システムバス１１０を備える。電源１５０は、各基板１２０乃至１４０に電源を供給する。各基板１２０乃至１４０は、システムバス１１０を介して接続されている。図柄表示基板１３０は、遊技機に表示される図柄を制御する。払い出し基板１４０は、遊技機の払い出しについての処理を制御する。メイン基板１２０は、通信路となるシステムバス１１０を介して図柄表示基板１３０や、払い出し基板１４０などと通信し、それらを制御する。システムバス１１０は、シリアル通信用のバスとすることができ、必要に応じてパラレル通信用のバスとすることもできる。なお、遊技機１００には、図柄表示基板１３０及び払い出し基板１４０以外の他の機能の基板が含まれるよう構成することもできる。そして、各基板は、制御コマンドを送受信することができ、その制御コマンドを受信した基板は、制御コマンドに基づいて処理を実行する。
【００１８】
図２は、本発明の実施の一形態に係るメイン基板１２０の概要を示したブロック図である。メイン基板１２０は、ＣＰＵ２０５、ＲＡＭ２１０、送信モジュール２１５、受信モジュール２２０、送信制御コマンドデータレジスタ２２５、受信制御コマンドデータレジスタ２３０、通信路データレジスタ２３５、ダミーデータ生成器２４０、ストリームデータ生成器２４５、暗号化回路２５０、復号化回路２５５、ストリームデータ解析器２６０、及び、ＲＯＭ２６５を備える。
【００１９】
ＣＰＵ２０５は、ＣＰＵバス２６５を介して、ＲＡＭ２１０、ＲＯＭ２６５、送信制御コマンドデータレジスタ２２５、受信制御コマンドデータレジスタ２３０、通信路データレジスタ２３５に接続されている。また、送信モジュール２１５及び受信モジュール２２０は、通信路であるシステムバス１１０に接続されており、メイン基板１２０は、そのシステムバス１１０を介して他のサブ基板１３０及び１４０と通信することができる。復号化回路２５５は、暗号化回路２５０が暗号化したデータを復号化することができる。
【００２０】
上記のメイン基板１２０の構成は一つの実施例である。異なる構成のメイン基板１２０を採用することは、当業者であれば理解されるだろう。例えば、送信制御コマンドデータレジスタ２２５、受信制御コマンドデータレジスタ２３０、通信路データレジスタ２３５は、一又は二以上のレジスタに統合することができる。また、他の実施例として、各レジスタ２２５、２３０、及び、２３５の代わりとしてＲＡＭ２１０を用いることもできる。さらに他の実施例として、ダミーデータ生成器２４０、ストリームデータ生成器２４５、暗号化回路２５０、復号化回路２５５、及び、ストリームデータ解析器２６０それぞれが行う処理は、ＲＯＭ２６５に格納されているプログラムに基づいてＣＰＵ２０５によって実行されるようにすることもできる。
【００２１】
本実施例において、サブ基板１３０及び１４０は、メイン基板１２０と全く同一の構成を備えることができる。本実施例では、メイン基板１２０とサブ基板１３０及び１４０とは、双方向でデータストリームの送受信を行うことができる。
【００２２】
他の実施例として、サブ基板１３０及び１４０の一方又は両方を、メイン基板１２０とは異なる構成とすることもできる。例えば、サブ基板１３０及び１４０に、図２に示されていない他の部品を追加することができ、また、図２に図示されているある構成のうち一部を省いた基板とすることもできる。
【００２３】
また、他の実施例として、メイン基板１２０は、データストリームを送信するための構成のみを備えることができる。例えば、その構成は、ＣＰＵ２０５、ＲＡＭ２１０、ＲＯＭ２６５、送信モジュール２１５、送信制御コマンドデータレジスタ２２５、ダミーデータ生成器２４０、ストリームデータ生成器２４５、暗号化回路２５０、及び、ＣＰＵバス２６５の内の一部又は全部を含む。
【００２４】
そして、サブ基板１３０及び１４０は、データストリームを受信するための構成のみを備えることができる。例えば、その構成は、ＣＰＵ２０５、ＲＡＭ２１０、ＲＯＭ２６５、受信モジュール２２０、受信制御コマンドデータレジスタ２３０、通信路データレジスタ２３５、復号化回路２５５、ストリームデータ解析器２６０、及び、ＣＰＵバス２６５の内の一部又は全部を含む。本実施例では、データストリームは、メイン基板１２０からサブ基板１３０及び１４０への一方向のみに送信される。
【００２５】
図３は、本発明によるデータストリームの送信側動作の一実施例について説明するフローチャートである。
【００２６】
最初に、ストリームデータ生成器２４５は、キーデータを生成する（ステップ３０５）。キーデータは、各基板に固有の情報であることが望ましい。本実施例において、各基板が固有のＩＤ（ＣＰＵ毎に割り振られているＩＤなど）を有する場合、キーデータは、その固有のＩＤ自体、又は、その固有のＩＤに基づいて生成されたデータとすることができる。また、キーデータとして、他の異なる規則にしたがって生成された値（例えば、固定値）を用いることもできる。その後、ストリームデータ生成器２４５は、ダミーデータ生成器２４０が生成したダミーデータを用いてダミーデータ列を生成する（ステップ３１０）。
【００２７】
暗号化回路２５０は、生成されたダミーデータ列を暗号化する（ステップ３１５）。ただし、データを秘匿にする重要性が低い場合は、ダミーデータ列を暗号化するステップを省略することができる。ストリームデータ生成器２４５は、制御コマンドが生成されたか否かを確認する（ステップ３２０）。本実施例において、ＣＰＵ２０５は、制御コマンドを生成し送信制御コマンドデータレジスタ２２５に保存する。この場合、ストリームデータ生成器２４５は、送信制御コマンドデータレジスタ２２５に定期的にアクセスし、保存されている制御コマンドを取得することで、制御コマンドが生成されたか否かを確認することができる。他の実施例では、ＣＰＵ２０５が、制御コマンドをストリームデータ生成器２４５に送信するようにすることができる。この場合、ストリームデータ生成器２４５は、ＣＰＵ２０５から制御コマンドを受信することによって制御コマンドが生成されたことを確認する。
【００２８】
制御コマンドが生成されていた場合（ステップ３２０）、ストリームデータ生成器２４５は、暗号化されているダミーデータ列に制御コマンドを付加する（ステップ３２５）。他の実施例として、ダミーデータ列を最初に生成するときのみ、ストリームデータ生成器２４５が、ダミーデータ列の先頭に先頭ストリームデータを付加するようにすることができる。例えば、その先頭ストリームデータは、通常の通信では使われないデータ（例えば、"００００００００"、"１１１１１１１１"、又は、それらの組み合わせ）とすることができる。これにより、受信側の基板は、先頭ストリームデータを検出することで、受信したデータがデータストリームの先頭データであるか否かを容易に判断することができる。
【００２９】
ストリームデータ生成器２４５は、ステップ３１５及び３２５において生成されたデータ列をデータストリームに変換する（ステップ３３０）。この場合に、ストリームデータ生成器２４５は、データ列をデータストリームに変換するときに、エラー検出訂正用のデータをデータストリームに付加して送信するようにしてもよい。これにより、通信路において通信エラーが発生した場合であっても、受信側の基板でエラー訂正を行うことができ、通信路の利便性が向上する。その後、送信モジュール２１５は、生成されたデータストリームを他の基板に送信する（ステップ３３５）。
【００３０】
図３の処理フローから理解されるように、送信側の基板の処理は正常に動作する限り、データストリームの生成に関して中断又は休止することがないことから、送信側の基板は、連続した途切れがないデータストリームを生成することができる。
【００３１】
図４は、本発明によるデータストリームの生成過程のイメージを示した概要図である。この図では、１フレーム分のデータを８ビットと仮定する。したがって、１フレームには、２8通りの数が表現される（つまり、１０進数で表現すると、その数は０乃至２５５となる）。図４（ａ）に示すデータストリームの状態４０５は、５フレーム分のデータからなるダミーデータ４５５が生成されていることを示す。図４（ｂ）に示すデータストリームの状態４１０は、キーデータ４６０がダミーデータ４５５に付加されていることを示す。その後、図４（ｃ）に示すデータストリームの状態４１５は、ダミーデータ４５５及びキーデータ４６０にチェックデータ４６５が付加され、ダミーデータ列４８０が生成されていることを示す（図３のステップ３１０）。
【００３２】
本実施例において、ダミーデータ列は、一定のフレーム数のデータとすることができる。本実施例では、ダミーデータ列は、５フレーム分のダミーデータ４５５と２フレーム分のキーデータ４６０からなる７フレーム分のデータの後ろに、１フレーム分のチェックデータ４６５が付加された８フレーム分のデータ列である。他の実施例として、ダミーデータ列はキーデータを含めず生成することもできる。この場合、７フレーム分のデータ全てがダミーデータとなる。
【００３３】
ダミーデータ生成器２４０によって生成されるダミーデータ４５５は、所定のダミーデータ生成規則によって生成されたデータ（例えば、生成されるデータは常に"１１１１００００"など）、又は、ランダムに生成されたデータとすることができる。ここで、ダミーデータは、固定値又は一定値ではないランダムに生成されたデータであるほうが好ましい。なぜならば、後述するチェックデータは、ダミーデータに基づくことから、ダミーデータが変化するとチェックデータも値が変化するからである。これにより、ダミーデータが生成されるたびに、ダミーデータ値が変化することによって、第三者によるダミーデータ及びチェックデータの解読は、より困難なものとなる。
【００３４】
チェックデータ４６０は、送信側の基板と受信側の基板との間で定められた所定のチェックデータ生成規則によって得られるデータとすることができる。本実施例において、チェックデータ生成規則によって得られるチェックデータは、常に一定の値とすることができる。他の実施例として、チェックデータ生成規則によって得られるチェックデータは、チェックデータ計算によって得られた結果とすることができる。チェックデータ計算については後述する。
【００３５】
図４（ｄ）に示すデータストリームの状態４２０は、生成されたダミーデータ列が暗号化されていること示す（図３のステップ３１５）。暗号化方式には、ＤＥＳや、トリプルＤＥＳ、ＡＥＳ、ＲＳＡなどの既知の暗号化方式を用いることができる。
【００３６】
その後、制御コマンドが生成されていない場合、新たに暗号化されたダミーデータ列が生成される（図３のステップ３１０及び３１５）。図４（ｅ）に示すデータストリームの状態４２５は、新たに生成された暗号化ダミーデータ列４８５が、状態４２０のデータストリームに付加されていることを示す。
【００３７】
その後、制御コマンドが生成された場合、制御コマンドが付加される（図３のステップ３２５）。図４（ｆ）に示すデータストリームの状態４３０は、状態４２５のデータストリームに制御コマンド４９０が付加されていることを示す。
【００３８】
さらに、この後の処理によって、制御コマンド４９０に後続して、新たなダミーデータ列又は制御コマンドがさらに付加される（図示せず）。これにより、データストリームは連続した途切れがないストリームとなり、第三者による通信路中における制御コマンドの特定は困難となる。
【００３９】
他の実施例として、データストリーム中のダミーデータ列と制御コマンドとの間に制御コマンド開始データを含むことができる。制御コマンド開始データは、通常の通信では使われないデータ（例えば、"００００００００"、"１１１１１１１１"、又は、それらの組み合わせ）とすることができる。これにより、データストリームの受信側の基板において、制御コマンドを容易に検出することができる。
【００４０】
他の実施例として、暗号化回路２５０は、ダミーデータ列だけではなく、制御コマンドも暗号化するようにすることができる。さらに他の実施例として、暗号化回路２５０は、データストリーム全てを暗号化するようにすることができる。これらにより、制御コマンドなどが暗号化されることから、第三者による制御コマンドの特定はさらに困難となる。
【００４１】
ダミーデータ列の他の実施例として、チェックデータ４６５及び／又はキーデータ４６０は、セキュリティの向上に関して関連性が強い所定のダミーデータ列のみに付加させるようにしてもよい。所定のダミーデータ列の例としては、最初に送信される所定の数のダミーデータ列、制御コマンドが送信された後のダミーデータ列などが考えられる。これにより、ダミーデータ列にチェックデータ及びキーデータを付加する処理を削減することができることから、ＣＰＵ２０５に余分な負担をかけずにすむ。この実施例では、送信側基板及び受信側基板において、チェックデータ及び／又はキーデータが含まれるダミーデータ列を事前に定義する必要がある。
【００４２】
上述のチェックデータ計算の例としては、ダミーデータ列におけるチェックデータ以外の所定のデータを用いて論理積計算を行うことによって求めてもよい。例えば、チェックデータ計算で用いられるデータが１フレーム及び２フレーム目のデータであり、１フレーム及び２フレーム目のデータが、それぞれ、"１１００００１１"、"１００１１１１０"である場合、論理積計算によるチェックデータ計算の結果は、"１０００００１０"となる。また、チェックデータ計算で用いられるデータは、チェックデータ以外のフレームのデータ全てとすることもできる。
【００４３】
チェックデータ計算の他の実施例としては、ダミーデータ列におけるチェックデータ以外である７フレーム分のデータを１フレームごとに１０進数で表現し、それらを用いて所定の計算を行う。所定の計算の例としては、得られた１０進数の値を順に乗算する（具体的には、１フレーム目と２フレーム目とのデータから得られた１０進数の値を乗算し、その乗算結果の値と３フレーム目のデータから得られた１０進数の値とを乗算する。このような計算を７フレーム目まで繰り返す）。そして、順に乗算して得られた値を数値"２５５"で剰余演算し（順に乗算して得られた値を数値"２５５"で除算し、余りを求める）、剰余演算結果を２進数表現にした値をチェックデータとすることができる。所定の計算の他の例としては、得られた１０進数の値の総和を計算し、総和値を２進数表現にし、下位の１オクテット（８ビット）の値をチェックデータとすることができる。なお、当業者であれば明らかなように、チェックデータ計算には、他の異なる計算方法を用いることができる。
【００４４】
図５は、本発明によるデータストリームの受信側動作の一実施例について説明するフローチャートである。
【００４５】
最初に、データストリームを送信した基板とは異なる基板の受信モジュール２２０は、データストリームを受信する（ステップ５０５）。復号化回路２５５は、ストリームデータ解析器２６０によって取得された暗号化されているダミーデータ列の先頭部分（例えば、図４におけるデータストリームの状態４３０の先頭の８フレーム分のデータ）を復号する（ステップ５１０）。他の実施例として、データストリームに先頭ストリームデータが付加されている場合、ストリームデータ解析器２６０は、先頭ストリームデータを用いることによって、あるデータがデータストリームの先頭であるか否かを容易に判断することができる。また、データストリームの送信が停止され、再度送信が開始される場合、ストリームデータ解析器２６０は、先頭ストリームデータを用いることによって、再度送信されるデータストリームの先頭を容易に検出することができる。そして、ストリームデータ解析器２６０は、復号したダミーデータ列からデータを取得する（ステップ５１５）。
【００４６】
ストリームデータ解析器２６０は、取得されたデータにおけるチェックデータがチェックデータ生成規則に基づいて生成されているか否かを確認する（ステップ５２０）。チェックデータがチェックデータ生成規則に基づいて生成されている場合（ステップ５２０）、通信路の信頼性が確立される（ステップ５２５）。
【００４７】
他の実施例として、チェックデータがチェックデータ生成規則に基づいて生成されているか否かの確認は、先頭のダミーデータ列を判定するだけではなく、後続するダミーデータ列の一又は二以上を判定することによって実行することもできる。これにより、チェックデータの確認が複数回行われることから、通信路の信頼性をさらに向上させることができる。一実施例において、通信路データレジスタ２３５は、通信路信頼フラグのための領域を有することができる。本実施例では、通信路の信頼性が確立されると、ストリームデータ解析器２６０又はＣＰＵ２０５は、通信路信頼フラグをオンにする。これにより、通信路の信頼性が確立された後、ＣＰＵ２０５などは、通信路データレジスタ２３５の通信路信頼フラグを参照し、通信路信頼フラグがオンであることを確認することによって、通信路の信頼性が確立されていることを容易に確認することができる。
【００４８】
他の実施例として、ダミーデータ列にキーデータが含まれている場合、通信路の信頼性を確立するステップは、ストリームデータ解析器２６０又はＣＰＵ２０５が、キーデータを通信路データレジスタ２３５に保存するステップを含むことができる。
【００４９】
チェックデータがチェックデータ生成規則に基づいて生成されていなかった場合（ステップ５２０）、通信路の信頼性が確立されずに処理は終了する（ステップ５６０）。他の実施例として、チェックデータがチェックデータ生成規則に基づいて生成されていなかった場合（ステップ５２０）、受信先基板は送信元基板へエラー通知を行うことができる。
【００５０】
通信路の信頼性が確立された後（ステップ５２５）、ストリームデータ解析器２６０は、データストリーム中の次のデータのセットを取得する（ステップ５３０）。ストリームデータ解析器２６０は、取得したデータストリームのデータが正常であるか否かを確認する（ステップ５３５）。
【００５１】
本実施例では、データストリームが正常であるか否かの確認は、データストリーム中に所定のエラー通知データが含まれているか否かを確認することによって行うことができる。
【００５２】
他の実施例として、データストリームが正常であるか否かの確認は、データストリームが連続していることを確認することによって行うことができる。この場合、受信したデータストリーム中に連続せずに途切れている箇所が確認されたときは、データストリームに異常があると判断される。すなわち、通信路の切断、又は、送信元基板の差し替えなどが行われた場合、データストリームが途切れるため、即座にデータストリームの異常が検出される。したがって、この異常検出処理は、暗号化されているダミーデータ列を復号化するなどの処理負担が大きい処理を行うことなく、データストリームが連続しているか否かという簡単な判定処理のみが実行されるため、ＣＰＵ２０５などに余分な負担をかけずにすむ。
【００５３】
他の実施例として、ステップ５３０において取得した次のデータセットがダミーデータ列である場合、データストリームが正常であるか否かの確認は、ストリームデータ解析器２６０が、復号化回路２５５を用いて次のデータセットにおける暗号化されているダミーデータ列を復号化し、そのダミーデータ列のチェックデータがチェックデータ生成規則に基づいて生成されているか否かを確認することによって行うことができる（ステップ５１０乃至ステップ５２０と同じ処理を行う）。本実施例では、チェックデータがチェックデータ生成規則に基づいて生成されていないと確認された場合、データストリームに異常があると判断される。
【００５４】
さらに他の実施例として、ステップ５３０において取得した次のデータセットがダミーデータ列であり、ダミーデータ列にキーデータが含まれている場合、データストリームが正常であるか否かの確認は、ストリームデータ解析器２６０が、復号化回路２５５を用いて次のデータセットにおける暗号化されているダミーデータ列を復号化してキーデータを取得し、取得したキーデータと通信路データレジスタ２３５に保存されているキーデータとを比較することによって行うことができる。本実施例では、取得したキーデータと通信路データレジスタ２３５に保存されているキーデータとが異なると確認された場合、データストリームに異常があると判断される。
【００５５】
さらに、データストリームが正常であるか否かの確認は、これら実施例の一又は二以上の組み合わせによって行うこともできる。
【００５６】
データストリームが正常であると判断された場合（ステップ５３５）、ストリームデータ解析器２６０は、取得したデータ中に制御コマンドが存在するか否かを確認する（ステップ５４０）。制御コマンドが存在しない場合、データストリーム中の次のデータのセットが取得される（ステップ５３０）。本実施例では、制御コマンドの存在は、制御コマンド開始データを用いて判定される。
【００５７】
制御コマンドが存在する場合、ストリームデータ解析器２６０は、制御コマンドを取得し、受信制御コマンドデータレジスタ２３５に保存する（ステップ５４５）。これにより、ＣＰＵ２０５において、その基板特有の処理を実行するための制御コマンドの利用が可能になる。他の実施例として、ストリームデータ解析器２６０は、取得した制御コマンドをＣＰＵ２０５に送信するようにすることもできる。
【００５８】
他の実施例として、ストリームデータ解析器２６０は、制御コマンドが取得をした後、さらに、取得された制御コマンド以後のデータストリームが正常であると確認（ステップ５３０及び５３５と同じ処理）した後に、その制御コマンドを受信制御コマンドデータレジスタ２３０に保存することができる。これにより、不正である可能性が高い制御コマンドの利用を回避し、制御コマンドの完全性をより向上させることができる。なぜならば、制御コマンド検出後にデータストリームの異常が検出された場合、その制御コマンドは不正に送信された可能性又は改ざんされている可能性が高いからである。
【００５９】
また、他の実施例として、データストリームが正常であるか否かの確認（ステップ５２０）は、制御コマンドの取得（ステップ５４５）後のみ実行するよう構成されていてもよい。これにより、不正を検出する可能性が高い時点でのみ、データストリームの異常検出処理が行われることから、異常検出処理の実行回数が削減できるため、ＣＰＵ２０５に余分な負担をかけずにすむ。
【００６０】
制御コマンドの取得後、次のデータのセットが取得され（ステップ５３０）、データストリームが正常ではないと判断された場合（ステップ５３５）、ストリームデータ解析器２６０又はＣＰＵ２０５は通信路の信頼性を否定する（ステップ５５５）。通信路信頼フラグが用いられている場合、通信路の信頼性が否定されると、ストリームデータ解析器２６０又はＣＰＵ２０５は通信路信頼フラグをオフにする。その後、処理を終了する（ステップ５６０）。これにより、通信路の信頼性が否定された後、ＣＰＵ２０５などは、通信路データレジスタ２３５の通信路信頼フラグを参照し、通信路信頼フラグがオフであることを確認することによって、通信路の信頼性が確立されていないことを容易に確認することができる。また、通信路の信頼性が確立されていない間に送信された制御コマンドは不正送信又は改ざんされている可能性が高いことから、ＣＰＵ２０５などは、その制御コマンドが利用されないよう制御することができる。
【００６１】
本発明によって、メイン基板１２０とサブ基板１３０及び／又は１４０との間の一方向又は双方向の通信路において、途切れなくデータストリームが送信されるため、第三者による制御コマンドの検出をより困難にすることができる。また、そのデータストリームを用いることによって、通信路の信頼性を容易に確保することができ、さらに、制御コマンドの不正送信又は改ざんを検出することができる。
【００６２】
本発明は、遊技機内における通信について説明したが、インターネットや一般的なピアツーピア通信などの他のデータ通信にも用いることができる。
【００６３】
なお、以上に説明した処理フローにおける、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの動作上の矛盾が生じない限りにおいて、処理フローを自由に変更することができる。
【００６４】
以上に説明してきた各実施形態は、本発明を説明するための例示であり、本発明はこれらの実施形態に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【図１】
2011147764.tif 000003
【図２】
2011147764.tif 000004
【図３】
2011147764.tif 000005
【図４】
2011147764.tif 000006
【図５】
2011147764.tif 000007