以下に添付図面を参照して、本発明にかかる遊技機であるぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムに好適な実施の形態を詳細に説明する。
[実施例1]
(ぱちんこ遊技機の基本構成)
本発明のぱちんこ遊技機100は、図1に示す遊技盤101を備えている。遊技盤101の下部位置に配置された発射部292(図2参照)の駆動によって発射された遊技球は、レール102a,102b間を上昇して遊技盤101の上部位置に達した後、遊技領域103内を落下する。図示を省略するが、遊技領域103には、遊技球を各種の方向に向けて落下させる複数の釘が設けられている。遊技領域103には、遊技球の落下途中の位置に、遊技球の落下方向を変化させる風車や入賞口が配設されている。
遊技盤101の遊技領域103の中央部分には、図柄表示部104が配置されている。図柄表示部104としては、例えば液晶表示器(LCD)が用いられる。なお、図柄表示部104としては、LCDに限らず、CRT、複数のドラム、などを用いることができる。図柄表示部104の下方には、始動入賞させるための始動入賞口105が配設されている。図柄表示部104の左右には、それぞれ入賞ゲート106が配設されている。
入賞ゲート106は、落下する遊技球の通過を検出し、始動入賞口105を一定時間だけ開放させる抽選を行うために設けられている。図柄表示部104の側部や下方などには普通入賞口107が配設されている。普通入賞口107に遊技球が入賞すると、ぱちんこ遊技機100は普通入賞時の賞球数(例えば10個)の払い出しを行う。遊技領域103の最下部には、どの入賞口にも入賞しなかった遊技球を回収する回収口108が設けられている。
上述した図柄表示部104は、特定の入賞口に遊技球が入賞したとき(始動入賞時)に、複数の図柄の表示の変動を開始し、所定時間後に図柄の表示の変動を停止する。この停止時に特定図柄(例えば「777」など)に揃ったときに、ぱちんこ遊技機100は大当たり状態となる。そして、ぱちんこ遊技機100は、大当たり状態のとき、遊技盤101の下方に位置する大入賞口109を一定の期間開放させ、この期間開放を所定ラウンド(例えば15ラウンドなど)繰り返し、大入賞口109に入賞した遊技球に対応した賞球数を払い出す。
ぱちんこ遊技機100は、図2に示す制御部200を備えている。制御部200は、主制御部201と、演出制御部202Aと、後段部202Bと、賞球制御部203と、を有している。主制御部201は本発明の主制御基板に相当している。演出制御部202Aと後段部202Bは周辺基板に一体に設けられる。そして、主制御部201は、演出制御部202Aと賞球制御部203とに対して送信可能な構成となっている。演出制御部202Aと後段部202Bとの間は双方向通信が可能な構成となっている。即ち、後段部202Bは、演出制御部202Aを介して主制御部201からのデータを受信する構成となっている。
主制御部201は、ぱちんこ遊技機100の遊技にかかる基本動作を制御する。演出制御部202Aは、主制御部201から受信したデータを後段部202Bに転送(送信)する。後段部202Bは、演出制御部202Aから転送されたデータに基づいて主制御部201の認証を行い、その認証結果を演出制御部202Aに送信する、そして、演出制御部202Aは、遊戯中の演出動作を制御する。賞球制御部203は、払い出す賞球数を制御する。
主制御部201は、CPU211と、ROM212と、RAM213と、インタフェース(I/F)214と、を有している。CPU211は、ROM212に記憶されたプログラムデータに基づき、遊技内容の進行に伴う基本処理を実行する。ROM212は、プログラムデータ等を記憶する記憶領域を有している。RAM213は、CPU211の演算処理時におけるデータのワークエリアとして機能する。I/F214は、各検出部221〜224から各種データを受信するとともに、演出制御部202A及び賞球制御部203への各種データの送信を行う。主制御部201は、例えばいわゆる主制御基板によってその機能を実現する。
この主制御部201の入力側には、始動入賞口105に入賞した入賞球を検出する始動入賞口検出部221と、入賞ゲート106を通過した遊技球を検出するゲート検出部222と、普通入賞口107に入賞した遊技球を検出する普通入賞口検出部223と、大入賞口109に入賞した入賞球を検出する大入賞口検出部224と、がI/F214を介して電気的に接続されている。これらの検出部としては、近接スイッチなどを用いて構成できる。
この主制御部201の出力側には、大入賞口開閉部225が電気的に接続されており、主制御部201はこの大入賞口開閉部225の開閉を制御する。大入賞口開閉部225は、大当たり時に大入賞口109を一定期間開放する機能であり、ソレノイドなどを用いて構成できる。この大当たりは、生成した乱数(大当たり判定用乱数)に基づいて、所定の確率(例えば300分の1など)で発生するよう予めプログラムされている。
演出制御部202Aは、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいて、ROM242に記憶されたプログラムデータを実行して遊技中における演出制御を行う。この演出制御部202Aは、CPU241と、ROM242と、RAM243と、VRAM244と、インタフェース(I/F)245と、を有している。CPU241は、ぱちんこ遊技機100に対応した演出処理を実行する。RAM243は、CPU241の演出処理時におけるデータのワークエリアとして機能する。VRAM244は、図柄表示部104に表示させる画像データ等を記憶する。I/F245は、主制御部201及び後段部202Bからの各種データの受信を行い、且つ、後段部202B、ランプ制御部251、音声制御部252への各種データの送信を行う。そして、演出制御部202Aは、後段部202Bとともに同一の周辺基板で実現している。また、演出制御部202Aの出力側には、上述した図柄表示部(LCD)104、ランプ制御部251、音声制御部252がI/F245を介して電気的に接続されている。ランプ制御部251はランプ261の点灯を制御する。また、音声制御部252はスピーカ262の音声等の出力を制御する。
後段部202Bは、CPU21と、ROM22と、RAM23と、インタフェース(I/F)24と、を有している。CPU21は、ROM22に記憶されたプログラムデータに基づき、主制御部201の認証に伴う処理を行う。ROM22は、前記プログラムデータ等を記憶する記憶領域を有している。RAM23は、CPU21の演算処理時におけるデータのワークエリアとして機能する。I/F24は、主制御部201から各種データを演出制御部202A(周辺部)を介して受信するとともに、演出制御部202Aへの各種データの送信を行う。
賞球制御部203は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいて、ROM282に記憶されたプログラムデータを実行して賞球制御を行う。この賞球制御部203は、CPU281と、ROM282と、RAM283と、インタフェース(I/F)284と、を有している。CPU281は、賞球制御の処理を実行する。RAM283は、CPU281の演算処理時におけるデータのワークエリアとして機能する。I/F284は、主制御部201からの各種データの受信および発射部292との各種データの送受信を行う。賞球制御部203は、例えばいわゆる賞球基板によってその機能を実現する。
賞球制御部203は、I/F284を介して接続される払出部291に対して、入賞時の賞球数を払い出す制御を行う。また、賞球制御部203は、発射部292に対する遊技球の発射の操作を検出し、発射部292における遊技球の発射を制御する。払出部291は、遊技球の貯留部から所定数を払い出すためのモータなどからなる。賞球制御部203は、この払出部291に対して、各入賞口(始動入賞口105、普通入賞口107、大入賞口109)に入賞した遊技球に対応した賞球数を払い出す制御を行う。
発射部292は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサと、遊技球を発射させるソレノイドなどを備える。賞球制御部203は、発射部292のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイドなどを駆動させて遊技球を間欠的に発射させ、遊技盤101の遊技領域103に遊技球を送り出す。
上記構成の主制御部201と演出制御部202A及び後段部202Bと賞球制御部203は、それぞれ異なるプリント基板(主制御基板、演出基板、賞球基板)に設けられる。そして、演出基板と賞球基板が本発明の周辺基板に相当している。
なお、ぱちんこ遊技機100の基板の構成は、これに限らず、例えば、賞球制御部203を、主制御部201又は演出制御部202A及び後段部202Bと同一のプリント基板上に設けるなどの種々異なる構成とすることができる。また、演出制御部202Aと後段部202Bは、同一のプリント基板で実現する構成に代えて、一方のプリント基板を他方のプリント基板に実装する構成、別体のプリント基板をケーブル等で電気的に接続する構成、等のように種々異なる実施形態とすることができる。
(主制御基板および周辺基板の機能的構成)
まず、図3を参照して、主制御部201としての機能を有する主制御基板310の機能的構成について説明する。主制御基板310は、周辺基板330を動作させるための制御コマンドを送信する機能部であり、データ記憶部311、同期検査値生成部312、次回同期方式選択部313、個体認証値抽出部314、第1検査値生成部315、第2検査値生成部316、第1認証用データ生成部317、第2認証用データ生成部318、暗号化処理部319、主制御側送信部320を有して構成している。そして、主制御基板310は、周辺基板330とは別の基板で形成されており、周辺基板330の周辺部(演出制御部)202Aと通信可能なように電気的に接続されている。
データ記憶部311は、本発明の個体認証値記憶手段に相当し、複数種類の個体認証値、後述する複数の同期検査値、第1検査値、第2検査値、第1認証用データ、第2認証用データ、等の各種データを記憶している。データ記憶部311としては、例えば、主制御部201のROM212、RAM213(図2参照)の一部を用いることができる。
複数種類の個体認証値は、周辺基板330との通信で用いる相異なる複数種類の同期方式の各々が対応付けられている。例えば、2種類の同期方式Pa,Pbを用いる場合、相異なる2つの個体認証値Ca,Cbが対応付けられてデータ記憶部311に記憶されている。そして、個体認証値の一例としては、予め定められた認証コード、識別コード、識別コマンド、等の主制御基板310を個体認証するための値が挙げられる。
同期検査値生成部312は、本発明の同期検査値生成手段に相当し、複数種類の同期方式の中から選択された今回の同期方式で、周辺基板330との通信の連続性を確認するための同期検査値を生成する。同期検査値生成部312は、生成した同期検査値をデータ記憶部311に時系列的に記憶する。そして、複数種類の同期方式の各々は、例えば、連続する同期検査値同士、又は、所定の間隔の同期検査値同士、等の差分を規定している。なお、本実施形態では、説明を簡単化するために、各同期方式が連続する同期検査値同士の差分を規定する場合について説明する。また、同期方式によって規定される差分は、予め定められた所定の相関関係を規定するようにしても良い。なお、所定の相関関係の一例としては、連続する複数の同期検査値の変化パターンを規定するなどが挙げられる。
ここで、同期方式Paは今回と前回の2つの同期検査値の差分が「+2」を相関条件とし、同期方式Pbは今回と前回の2つの同期検査値の差分が「−5」を相関条件とした場合の同期検査値の生成例を説明する。
同期検査値生成部312は、今回の同期方式が同期方式Paの場合、データ記憶部311から前回の同期検査値を取得し、該前回の同期検査値との差分が「+2」となる今回の同期検査値を生成し、該今回の同期検査値をデータ記憶部311に時系列的に記憶する。また、同期検査値生成部312は、今回の同期方式が同期方式Pbの場合、データ記憶部311から前回の同期検査値を取得し、該前回の同期検査値との差分が「−5」となる今回の同期検査値を生成し、該今回の同期検査値をデータ記憶部311に時系列的に記憶する。
また、同期方式の相関条件の他の例としては、今回と前々回の同期検査値の差分、今回と前回と前々回の同期検査値の変化パターン、所定個数受信した複数の同期検査値を差分や変化パターン、等を相関条件とすることができる。
次回同期方式選択部313は、本発明の次回同期方式選択手段に相当し、上述した複数種類の同期方式の中から今回の同期方式の次に用いる次回の同期方式を選択し、該選択結果を示す次回同期方式データをデータ記憶部311等に記憶する。次回同期方式選択部313は、予め定められた所定の切り替えタイミング、不規則なタイミング、等で、ランダム、又は予め定められた選択方法で複数種類の同期方式を切り替える。
個体認証値抽出部314は、本発明の個体認証値抽出手段に相当し、次回同期方式選択部313が選択した次回の認証方式に対応付けられた個体認証値をデータ記憶部311から抽出する。例えば、個体認証値抽出部314は、上述した同期方式Paが次回の同期方式と選択された場合、同期方式Paに対応付けられた個体認証値Caをデータ記憶部311から抽出する。なお、個体認証値としては、例えば前記プログラムデータから予め定められた抽出パターンで抽出した抽出データに基づいて所望の演算式で演算した演算値とすることもできる。
第1検査値生成部315は、本発明の第1検査値生成手段に相当し、個体認証値抽出部314が抽出した個体認証値を検査する第1検査値を第1認証方式で生成してデータ記憶部311に記憶する。そして、第1認証方式としては、例えばチェックサム、パリティチェック、ハミングコードチェック、CRC(巡回冗長検査)、等の公知の誤り検出方法を用いることができる。即ち、第1検査値は、個体認証値を第1認証方式で演算した値となっているため、不正解析者は第1認証方式が判明しない限り、第1検査値を解析することはできない。また、第1検査値生成部315は、個体認証値抽出部314が個体認証値を抽出していない場合は、それまでに抽出された個体認証値や任意の個体認証値を検査する第1検査値を第1認証方式で生成してデータ記憶部311に記憶する。
第2検査値生成部316は、本発明の第2検査値生成手段に相当し、同期検査値生成部312が生成した同期検査値を検査する第2検査値を第2認証方式で生成してデータ記憶部311に記憶する。第2認証方式としては、上述した第1認証方式と同様に、例えばチェックサム、パリティチェック、ハミングコードチェック、CRC(巡回冗長検査)、等の公知の誤り検出方法を用いることができる。即ち、第2検査値は、上記同期検査値を第2認証方式で演算した値となっているため、不正解析者は第2認証方式が判明しない限り、第2検査値を解析することはできない。また、第1認証方式と第2認証方式は、異なる認証方式を設定してもよいし、同一の認証方式を設定してもよい。
このように第1検査値及び第2検査値は、異なる2つの第1認証方式、第2認証方式を採用する。そして、第1,2認証方式は、主制御部201と周辺部との相互間で予め取り決めしておく。また、処理負荷(生成持の負荷)が軽い第1,2認証方式を用いることで、被認証者(主制御部)が高度な処理能力を有していなくても、セキュリティ強度の向上を図ることができる。
第1認証用データ生成部317は、本発明の第1認証用データ生成手段に相当し、第1検査値又は第2検査値の何れか一方の検査値を予め定められた第1演算方式で演算して第1認証用データを生成する。第1認証用データ生成部317は、例えば、第1演算方式が示す演算を一方の検査値に施して第1認証用データを生成するものであり、該第1認証用データを周辺基板330に送信することで、一方の検査値が周辺基板330にそのままのデータで送信されるのを防止している。そして、第1演算方式の一例としては、一方の検査値と定数や付加データとの加算、減算、積算、除算、排他的論理和を演算する演算方式や、一方の検査値から予め定められた関数式に基づいて演算する演算方式等を用いることができる。
第2認証用データ生成部318は、本発明の第2認証用データ生成手段に相当し、前記一方の検査値とは異なる前記第1検査値又は前記第2検査値の他方の検査値と前記一方の検査値の全て又は一部とを予め定められた第2演算方式で演算して第2認証用データを生成する。第2認証用データ生成部318は、例えば、第2演算方式が示す演算を前記他方の検査値に施して第2認証用データを生成するものであり、該第2認証用データを周辺基板330に送信することで、他方の検査値が周辺基板330にそのままのデータで送信されるのを防止している。第2演算方式は、上記第1演算方式で説明した各種演算方式を用いることができる。なお、第2演算方式は、第1演算方式と同一の演算方式を設定する、各々に異なる演算方式を設定するなど種々異なる実施形態とすることができる。
本実施形態では、第1認証用データ及び第2認証用データは第1,2検査値をもとに生成し、第1,2検査値と予め定めた期待値との照合により主制御部201の認証の成立/不成立を判断する。また、この実施形態に代えて、第1,2検査値そのものを第1,2認証用データとしてもよい。
暗号化処理部319は、第1認証用データ及び第2認証用データを、周辺基板330との間で予め定められた暗号化方法で暗号化する。なお、主制御基板310と周辺基板330との間で暗号化が不要な場合は、主制御基板310の構成から暗号化処理部319を削除して、第1認証用データ及び第2認証用データをそのまま送信部320から周辺基板330に送信する。
主制御側送信部320は、本発明の主制御側送信手段に相当し、第1認証用データ生成部317で生成した第1認証用データ及び第2認証用データ生成部318で生成した第2認証用データを周辺基板330の周辺部202Aに送信する。そして、主制御側送信部320は、例えば、主制御基板310から周辺基板330に送信される制御信号に第1認証用データ及び第2認証用データを付加することにより、第1,2認証用データを周辺基板330の周辺部202Aに送信する。
本発明のぱちんこ遊技機100は、2つの認証要素として、主制御部201の正当性を認証するための第1検査値と、主制御部201との通信の連続性を認証するための第2検査値とを採用している。ぱちんこ遊技機100は、主制御部201が正規のものであるか否かを検証するのに第1検査値を用いる。ぱちんこ遊技機100は、その動作中に、なりすましのための不正な切り替えが発生したか否かを検証するのに第2検査値を用いる。そして、ぱちんこ遊技機100は、2つの認証要素を組み合わせて認証することで、セキュリティの向上を図るとともに、主制御部201から周辺部に送信する第1,2認証用データが再利用されるのを防止している。
続いて、上述した演出制御部202Aなどの周辺部としての機能を有する周辺基板330の機能的構成について説明する。図3に示すように、周辺基板330は、周辺部(演出制御部)202Aと、後段部202Bと、を有して構成している。そして、周辺基板330は、周辺部(演出制御部)202Aと後段部202Bとの間で双方向通信が可能に構成している。なお、本実施例では、演出制御部202Aと後段部202Bとを有する周辺基板330とした場合について説明するが、これに代えて、賞球制御部203側に後段部202Bを設けた周辺基板とすることもできる。
次に、後段部202Bは、後段側受信部331、後段側記憶部332、復号化処理部333、検査値抽出部334、第1判定部335、第2判定部336、後段認証結果データ生成部337、後段側送信部338を有して構成している。
後段側受信部331は、本発明の後段側受信手段に相当し、主制御基板310が周辺部202Aに送信し且つ当該周辺部202Aから転送された第1,2認証用データ等を受信する。本実施形態の後段側受信部331は、例えば、第1,2認証用データが付加された制御信号を受信することによって、第1,2認証用データを主制御基板310から周辺部202Aを介して受信する。
後段側記憶部332は、本発明の期待値データ記憶手段及び検査値記憶手段に相当している。後段側記憶部332は、上述した主制御基板310から受信すべき第1検査値に対応した第1期待値を記憶している。即ち、後段側記憶部332は、正規の主制御基板310が個体認証値に基づいて生成する第1検査値を第1期待値として予め記憶しており、その第1期待値と第1検査値が一致していれば、正規の第1検査値を受信したと判定できる。また、その第1期待値と第1検査値が一致していなければ、不正な第1検査値を受信したと判定できる。
後段側記憶部332は、上述した個体認証値に対応した複数の第1期待値の各々に、上述した複数種類の同期方式の各々を一対一に対応付けて記憶している。詳細には、後段側記憶部332は、第1期待値と同期方式を識別する同期識別データとを関連付けて記憶している。
後段側記憶部332は、主制御基板310から受信した第1検査値及び第2検査値を関連付けて時系列的に記憶している。即ち、後段側記憶部332は、主制御基板310から受信した個体認証値と同期検査値を関連付けて記憶している。そして、後段側記憶部332は、第1,2検査値を上記同期方式の判定に必要な個数分を少なくとも記憶している。
復号化処理部333は、上述した主制御基板310の暗号化処理部319で用いた暗号化方法に対応した復号化方式で、後段側受信部331によって主制御基板310から受信した第1,2認証用データを復号化する。なお、主制御基板310と周辺基板330との間で暗号化が不要な場合は、周辺基板330の構成から復号化処理部333を削除して、後段側受信部331と検査値抽出部334とを直接接続する。
検査値抽出部334は、本発明の検査値抽出手段に相当し、後段側受信部331によって受信した第1認証用データ及び第2認証用データから第1検査値又は第2検査値を第1演算方式及び第2演算方式に基づいて抽出する。詳細には、検査値抽出部334は、予め定められた上記第1,2演算方式を用いて逆演算を行って第1,2認証用データの各々から第1,2検査値を抽出する。
第1判定部335は、本発明の第1判定手段に相当し、第1検査値に対応して予め定められた後段側記憶部332の第1期待値と前記抽出した第1検査値とが一致するか否かを比較して、前記第1検査値である主制御基板310の個体認証値の正当性を判定する。第1判定部335は、判定結果をRAM243等に記憶する。
第2判定部336は、本発明の第2判定手段に相当し、後段側記憶部332に記憶している複数の第2検査値に基づいて、今回抽出した第2検査値である同期検査値が今回の同期方式に対応して予め定められた相関条件を満たしているか否かを判定する。例えば、同期方式の相関条件が前後する同期検査値の差分である場合、第2判定部336は、今回の同期検査値と前回の同期検査値との差分を算出し、該差分が予め定められた判定値となっているか否かの判定結果に基づいて、主制御基板310との通信の連続性を判定する。このように第2判定部336は、複数の同期検査値の差分を判定するだけなので、簡単な処理で主制御基板310の通信の連続性を判定することができる。即ち、同期方式の相関条件を満たしていない場合は、同期検査値が不正利用されたと判定することができる。
後段認証結果データ生成部337は、本発明の後段認証結果データ生成手段に相当し、第1判定部335及び第2判定部336の判定結果に基づいて、主制御基板310の認証を行う。後段認証結果データ生成部337は、第1判定部335及び第2判定部336の双方が正当であると判定している場合に主制御基板310の認証を成立させ、また、何れか一方が正当ではないと判定している場合に認証を不成立とする。後段認証結果データ生成部337は、主制御基板310(主制御部)の認証が成立したか否かを示す後段認証結果データを生成する。即ち、後段認証結果データは、後段部202Bが主制御部201を認証したか否かの認証結果を示している。また、本実施形態では、受信した制御信号に認証用データが付加されていない場合、後段認証結果データに「認証未実施」が設定される。
後段側送信部338は、本発明の後段側送信手段に相当し、後段認証結果データ生成部337が生成した後段認証結果データを周辺部202Aに送信する。そして、後段側送信部338は、例えば、周辺部202Aに送信する制御信号に後段認証結果データを付加することにより、後段認証結果データを周辺部202Aに送信する。
決定部339は、本発明の決定手段に相当し、第2判定部336が前記相関条件を満たしていると判定した場合に、前記同期方式において前記第1検査値と一致した前記期待値データに対応した同期方式を特定して第2判定部336の次回の同期方式と決定する。決定部338は、今回の同期方式の相関条件が満たされていると第2判定部336によって判定される、即ち、今回の同期方式が終了した場合に、第1検査値である個体認証値に対応付けられた同期方式を次回の同期方式として決定する。なお、今回の同期方式において、複数の個体認証値を主制御基板310から受信している場合は、予め定められた順番に受信した個体認証値を用いたり、最後の同期検査値に関連付けられた個体認証値を用いることができる。
次に、周辺部202Aは、転送部351と、周辺側受信部352と、処理部353と、を有して構成している。
転送部351は、本発明の転送手段に相当し、主制御基板310から第1認証用データ及び第2認証用データを受信し且つ該受信した第1認証用データ及び第2認証用データを後段部202Bに転送する。本実施形態の転送部351は、例えば、第1,2認証用データが付加された制御信号を主制御基板310から受信すると、該制御信号を後段部202Bにそのまま送信することで、第1,2認証用データを後段部202Bに転送している。
なお、本実施形態では、転送部351が主制御基板310から受信した通常の制御信号1010及び認証用データ付制御信号1020を後段部202Bに転送する場合について説明した。本発明はこれに限定するものではなく、例えば、周辺部202Aが認証用データ付制御信号1020のみを後段部202Bに転送し、通常の制御信号1010は転送せずに、該制御信号1010の制御コマンドデータ1001に応じた所定の処理を行うなどの実施形態とすることもできる。
周辺側受信部352は、本発明の周辺側受信手段に相当し、周辺基板330の後段部202Bによって送信された前記後段認証結果データ等を受信する。そして、本実施形態の周辺側受信部352は、例えば後段部202Bが送信した後述する認証結果信号を受信することによって、後段認証結果データを後段部202Bから受信する。
処理部353は、本発明の処理手段に相当し、後段部202Bから受信した後段認証結果データに応じて、ぱちんこ遊技機100における所定の処理を行う。処理部353は、前記後段認証結果データが認証成立を示している場合に前記所定の処理を行い、また、認証不成立を示している場合は報知を行う。なお、前記所定の処理は、ぱちんこ遊技機100における主制御部201からの制御コマンドに応じて行う、例えば、はずれ処理、大当たりリーチ処理、大当たり開始処理、大当たりラウンド処理、大当たり終了処理、等の処理が挙げられる。
なお、本実施形態では、周辺部202Aと後段部202Bとの間で通信するデータを暗号化しない構成で説明するが、周辺部202Aと後段部202Bとの間で通信するデータについても暗号化する構成とすることもできる。
また、本実施形態では、主制御基板310のCPU211が請求項中の第1コンピュータ、周辺基板330の周辺部(演出制御部)202AのCPU241が請求項中の第2コンピュータ、周辺基板330の後段部202BのCPU21が請求項中の第3コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の同期検査値生成手段と、次回同期方式選択手段と、個体認証値抽出手段と、第1検査値生成手段と、第2検査値生成手段と、第1認証用データ生成手段と、第2認証用データ生成手段と、主制御側送信手段、、暗号化手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板330の周辺部202AのROM242は、前記第2コンピュータを請求項中の転送手段、周辺側受信手段、処理手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。また、周辺基板330の後段部202BのROM22は、前記第3コンピュータを請求項中の後段側受信手段、復号化手段、検査値抽出手段、第1判定手段、第2判定手段、後段認証結果データ生成手段、後段側送信手段、決定手段、等の各種手段として機能させるための後段側認証プログラムを記憶している。即ち、主制御側認証プログラムと周辺側認証プログラムと後段側認証プログラムとによって本発明の認証プログラムを構成している。
(ぱちんこ遊技機の基本動作)
上記構成によるぱちんこ遊技機100の基本動作の一例を説明する。主制御部201は、各入賞口に対する遊技球の入賞状況を制御コマンドとして賞球制御部203に出力する。賞球制御部203は、主制御部201から出力された制御コマンドに応じて、入賞状況に対応した賞球数の払い出しを行う。
また、主制御部201は、始動入賞口105に遊技球が入賞するごとに、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、図柄表示部104の図柄を変動表示させ、停止させることを繰り返す。そして、主制御部201は、大当たりの発生が決定しているときには、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、所定の図柄で揃えて変動表示を停止させるとともに、大入賞口109を開放する制御を行う。演出制御部202は、大当たり発生期間中、および大当たり発生までの間のリーチ時や、リーチ予告時などには、図柄表示部104に対して、図柄の変動表示に加えて各種の演出表示を行う。このほか、各種役物に対して特定の駆動を行ったり、ランプ261の表示状態を補正するなどの演出を行う。
そして、主制御部201は、大当たり発生期間中に、大入賞口109を複数回開放させる。1回の開放が1ラウンドとして、例えば15回のラウンドが繰り返し実行される。1ラウンドの期間は、遊技球が大入賞口109に例えば10個入賞するまでの期間、あるいは所定期間(例えば30秒)とされている。この際、賞球制御部203は、大入賞口109に対する遊技球1個の入賞当たり、例えば15個の賞球数で払い出しを行う。ぱちんこ遊技機100は、大当たり終了後、この大当たり状態を解除し、通常の遊技状態に復帰する。
(各制御部による処理の詳細)
次に、各制御部が行う各種処理の詳細について説明する。まず、主制御部201による演出制御部202の制御処理について説明する。なお、図4〜図9においては、演出制御部202の制御処理の手順を明確にするため、認証データおよび付随データについては考慮しないものとする。即ち、図4〜図9の説明において、「コマンドを送信する」とは、「当該コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」との意味であり、例えば認証データや付随データの有無は考慮しないものとする。
主制御部201は、図4に示すステップS401において、ぱちんこ遊技機100の電源がオンされたか否かを判定する。主制御部201は、電源がオンされていないと判定した場合(S401:No)、この判定処理を繰り返すことで、ぱちんこ遊技機100の電源がオンされるまで待機する。一方、主制御部201は、電源がオンされたと判定した場合(S401:Yes)、ステップS402の処理に移行する。
主制御部201は、ステップS402において、演出制御部202や賞球制御部203などの各周辺部に対して電源オンコマンドを送信し、ステップS403の処理に移行する。この処理によって電源オンコマンドが送信されると、演出制御部202は、ランプ制御部251や音声制御部252、図柄表示部104のそれぞれに対して電源オン時の演出用の制御コマンド(具体的には、ランプの点灯や音声の出力、デモストレーション(デモ)画面の表示などを指示する制御コマンド)を送信する。
主制御部201は、ステップS403において、ROM212またはRAM213に記憶している未抽選入賞回数データを参照して、未抽選入賞回数が0回か否かを判別する。未抽選入賞回数とは、始動入賞口105に検出された入賞球の数(入賞回数)から、入賞球に対応する抽選が行われた回数(既抽選回数)を減じた数である。そして、主制御部201は、未抽選入賞回数が0回ではないと判定した場合(S403:No)、ステップ410の処理に移行する。一方、主制御部201は、未抽選入賞回数が0回であると判定した場合(S403:Yes)、ステップS404において、デモが開始されてから経過した時間を計測し、ステップS405の処理に移行する。
主制御部201は、デモが開始されてから所定時間が経過したか否かを判定する。主制御部201は、デモが開始されてから所定時間が経過していないと判定した場合(S405:No)、ステップS407の処理に移行する。一方、主制御部201は、デモが開始されてから所定時間が経過したと判定した場合(S405:Yes)、ステップS406において、演出制御部202に客待ちデモコマンドを送信し、ステップS407の処理に移行する。
主制御部201は、ステップS407において、始動入賞口検出部221によって入賞球が検出されたか否かを判定する。主制御部201は、入賞球が検出されていないと判定した場合(S407:No)、ステップS404の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、入賞球が検出されたと判定した場合(S407:Yes)、ステップS408において、デモが開始されてから計測していた時間をクリアし、ステップS409において、未抽選入賞回数に1を加算し、ステップS410の処理に移行する。そして、主制御部201は、ステップS410において、大当たり判定用乱数を取得し、ステップS411において、未抽選入賞回数から1を減算し、図5に示すステップS412の処理に移行する。
主制御部201は、ステップS412において、大当たり判定用乱数が大当たり乱数であるか否かを判定する。主制御部201は、大当たり乱数であると判定した場合(S412:Yes)、ステップS413において、演出制御部202に大当たりリーチコマンド(図柄変動コマンド)を送信する。そして、主制御部201は、ステップS414において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S414:No)、この判定処理を繰り返すことで、図柄変動時間が経過するのを待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S414:Yes)、ステップS415において、演出制御部202に図柄停止コマンドを送信し、ステップS416の処理に移行する。
主制御部201は、ステップS416において、演出制御部202に大当たり開始コマンドを送信し、続けて、ステップS417において、大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を演出制御部202に順次送信する。そして、主制御部201は、全てのラウンドの大当たりコマンドの送信が終了すると、ステップS418において、大当たり終了コマンドを演出制御部202に送信し、ステップS422の処理に移行する。
また、主制御部201は、ステップS412において、大当たり乱数ではないと判定した場合(S412:No)、ステップS419において、はずれリーチコマンド(図柄変動コマンド)を演出制御部202に送信し、ステップS420の処理に移行する。そして、主制御部201は、ステップS420において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S420:No)、この判定処理を繰り返すことで、図柄変動時間の経過を待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S420:Yes)、ステップS421において、図柄停止コマンドを演出制御部202に送信し、ステップS422の処理に移行する。
主制御部201は、ステップS422において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。主制御部201は、電源がオフされていないと判定した場合(S422:No)、図4に示すステップS403の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S422:Yes)、ステップS423において、終了処理コマンドを演出制御部202に送信し、本フローチャートによる処理を終了する。
次に、ぱちんこ遊技機100における大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の主制御部201から演出制御部202に対する送信タイミングの一例を、図6の図面を参照して説明する。
大当たりリーチコマンドは、実際に大当たりが発生するよりも頻繁に、且つランダムに送信される。また、大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。また、大当たりコマンドは、大当たり状態に移行した後、ラウンド毎に継続的に送信される。また、大当たり終了コマンドは、大当たり状態の全てのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。
以下では、図柄変動時(大当たりリーチコマンド(図5のステップS413を参照)または、はずれリーチコマンド(図5のステップS419を参照)を受信した場合)及び、大当たり時の処理を説明する。
まず、演出制御部202による図柄変動処理について、図7に示すフローチャートを参照して説明する。演出制御部202は、図7に示すステップS701において、主制御部201から図柄変動コマンドを受信したか否かを判定する。演出制御部202は、図柄変動コマンドを受信していないと判定した場合(S701:No)、この判定処理を繰り返すことで、図柄変動コマンドの受信を待つ。一方、演出制御部202は、図柄変動コマンドを受信したと判定した場合(S701:Yes)、ステップS702において、変動演出選択用乱数を取得し、ステップS703において、取得した乱数に基づいて変動演出の種類を選択し、ステップS704の処理に移行する。そして、演出制御部202は、ステップS704において、ランプ制御部251や音声制御部252に対して変動演出別の演出開始コマンドを送信し、ステップS705の処理に移行する。
演出制御部202は、ステップS705において、演出時間が経過したか否かを判定する。演出制御部202は、演出時間が経過したと判定した場合(S705:Yes)、ステップS707の処理に移行する。一方、演出制御部202は、演出時間が経過していないと判定した場合(S705:No)、ステップS706において、主制御部201から図柄停止コマンドを受信したか否かを判定する。そして、演出制御部202は、図柄停止コマンドを受信していないと判定した場合(S706:No)、ステップS705の処理に戻り、一連の処理を繰り返す。一方、演出制御部202は、図柄停止コマンドを受信したと判定した場合(S706:Yes)、ステップS707において、ランプ制御部251や音声制御部252に対して演出停止コマンドを送信し、本フローチャートによる処理を終了する。
続いて、演出制御部202による大当たり時処理について、図8に示すフローチャートを参照して説明する。演出制御部202は、図8に示すステップS801において、主制御部201から大当たり開始コマンド(図5のステップS416を参照)を受信したか否かを判定する。演出制御部202は、大当たり開始コマンドを受信していないと判定した場合(S801:No)、この判定処理を繰り返すことで、大当たり開始コマンドの受信を待つ。一方、演出制御部202は、大当たり開始コマンドを受信したと判定した場合(S801:Yes)、ステップS802において、ランプ制御部251や音声制御部252に対して大当たり開始処理コマンドを送信し、ステップS803の処理に移行する。
演出制御部202は、ステップS803において、主制御部201からラウンド別の大当たりコマンド(図5のステップS417を参照)を受信したか否かを判定する。演出制御部202は、大当たりコマンドを受信していないと判定した場合(S803:No)、この判定処理を繰り返すことで、大当たりコマンドの受信を待つ。一方、演出制御部202は、大当たりコマンドを受信したと判定した場合(S803:Yes)、ステップS804において、ランプ制御部251や音声制御部252に対して受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信し、ステップS805の処理に移行する。
演出制御部202は、ステップS805において、主制御部201から大当たり終了コマンド(図5のステップS418を参照)を受信したか否かを判定する。演出制御部202は、大当たり終了コマンドを受信していないと判定した場合(S805:No)、この判定処理を繰り返すことで、大当たり終了コマンドの受信を待つ。一方、演出制御部202は、大当たり終了コマンドを受信したと判定した場合(S805:Yes)、ステップS806において、ランプ制御部251や音声制御部252に対して大当たり終了処理コマンドを送信し、本フローチャートによる処理を終了する。
続いて、ランプ制御部251によるランプ制御処理について、図9に示すフローチャートを参照して説明する。ここでは、演出制御部202から演出開始コマンドを受信した場合(図柄変動時)の処理について説明する。そして、ランプ制御部251は、図9に示すステップS901において、演出制御部202から演出開始コマンドを受信したか否かを判定する。ランプ制御部251は、演出開始コマンドを受信していないと判定した場合(S901:No)、この判定処理を繰り返すことで、演出開始コマンドの受信を待つ。一方、ランプ制御部251は、演出開始コマンドを受信したと判定した場合(S901:Yes)、ステップS902において、コマンド別に予め用意されているコマンド別データを読み出し、ステップS903の処理に移行する。
ランプ制御部251は、ステップS903において、コマンド別の選択ルーチンを実行し、ステップS904において、受信した演出開始コマンドに対応したランプデータをセットし、ステップS905において、ランプ261に対してランプデータを出力し、ステップS906の処理に移行する。そして、この処理によってランプ261は、ランプデータに基づいて点灯又は消灯する。
ランプ制御部251は、ステップS906において、演出制御部202から演出停止コマンドを受信したか否かを判定する。ランプ制御部251は、演出停止コマンドを受信していないと判定した場合(S906:No)、この判定処理を繰り返すことで、演出停止コマンドの受信を待つ。一方、ランプ制御部251は、演出停止コマンドを受信したと判定した場合(S906:Yes)、ステップS907において、ランプデータの出力を停止し、本フローチャートによる処理を終了する。
なお、図9にはランプ制御部251の処理を記載したが、音声制御部252による音声制御も、図9の処理とほぼ同様である。音声制御部252による音声制御処理は、例えば、図9の処理において、ステップS904、S905、S907の「ランプデータ」を「音声データ」と読み替えればよい。
(制御信号のデータフォーマット)
次に、主制御部201が周辺部(演出制御部)202Aに出力する通常の制御信号及び認証用データ付制御信号と、後段部202Bが周辺部(演出制御部)202Aに出力する認証結果信号と、の一例を説明する。
図10において、通常の制御信号1010は、制御コマンドデータ1001と付随データ1002とを有している。制御コマンドデータ1001は、例えばリーチコマンドや大当たり開始コマンド、ラウンド別コマンドなどの各コマンド固有のデータである。また、付随データ1002は、制御コマンドデータ1001に付随するデータであり、例えば、入賞した遊技球の数などの制御コマンドデータ1001に基づく処理に必要なデータである。
認証用データ付制御信号1020は、制御コマンドデータ1001及び付随データ1002に加え、認証用データ1003を有している。そして、認証用データ1003は、上述した本発明の第1認証用データと第2認証用データとなっており、上述した第1演算方式又は第2演算方式で以下のように生成される。なお、認証用データ1003については、上述した本発明の第1認証用データと第2認証用データの何れか一方とし、制御コマンドデータ1001と付随データ1002と認証用データ1003との3つのデータで構成した制御信号とすることもできる。また、認証用データ1003を第1認証用データ又は第2認証用データとし、制御コマンドデータ1001と付随データ1002と認証用データ1003とダミーデータとの4つのデータで構成した制御信号とすることもできる。
(認証用データの生成方法)
上述したように、第1検査値A及び第2検査値Bと第1演算式(方式)H1及び第2演算式(方式)H2を用いて、第1認証用データV1及び第2認証用データV2を生成する場合の一例を説明する。
まず、第1検査値Aは、主制御部201の個体認証値(例えばチェックサム)を周辺基板330の後段部202Bで検査する検査値であり、上述した第1認証方式で演算して生成されている。そして、第2検査値Bは、主制御部201の前記同期検査値を後段部で検査するための検査値であり、上述した第2認証方式で演算して生成されている。このとき、第1認証用データV1及び第2認証用データV2は、演算式(方式)H1,H2を用いて以下のように生成する。
第1検査値Aと付加データCの2つのパラメータを用いる演算式H1は、式1で表すことができる。
第1認証用データV1=H1(A,C) ・・・(式1)
H1():第1認証用データを生成するための演算式
C:付加データ(任意に設定可能な値であり、カウンタ値や乱数などの値)
なお、式1は、第1認証用データV1=H1(A)としても良い。
第2検査値Bと第1検査値Aの2つのパラメータを用いる演算式H2は、式2で表すことができる。
第2認証用データV2=H2(B,A) ・・・(式2)
H2():第2認証用データを生成するための演算式
なお、式2は、第2認証用データV2=H2(B,C)としたり、第2認証用データV2=H2(B,A+C)としても良い。
本実施形態の演算式(方式)H1,H2が加算(+)である場合、第1認証用データV1=A+Cとなり、第2認証用データV2=B+Aとなる。また、演算式(方式)H1,H2が減算(−)である場合、第1認証用データV1=A−Cとなり、第2認証用データV2=B−Aとなる。そして、演算式(方式)H1,H2は他にも、積算、除算、排他的論理和を演算する演算式とすることができる。さらに、演算式(方式)H1,H2は予め定められた逆演算可能な関数式とすることもできる。
よって、周辺基板330の後段部202Bは、主制御部201が用いる演算式(方式)H1,H2と付加データCとを予め記憶しておくことで、これらのデータと主制御部201から受信した第1認証用データV1及び第2認証用データV2を逆演算して第1検査値A及び第2検査値Bを抽出することができる。
なお、本実施形態では、説明を簡単化するために、演算式(方式)H1,H2が2つのパラメータを用いて演算する場合について説明するが、これに代えて、例えば2つの検査値と付加データ等の3つ以上のパラメータを用いる演算式(方式)とすることもできる。そして、3つ以上のパラメータを使用する場合、演算及び逆演算の方式等は、主制御部201と後段部202Bとの間で予め取り決めをしておくことで実現することができる。
また、上述した(式1)、(式2)のパラメータである第1検査値A,第2検査値Bを入れ替えると、以下の演算式(式1)’、(式2)’に変形することもできる。
第1認証用データV1=H1(B,C) ・・・(式1)’
第2認証用データV2=H2(A,B) ・・・(式2)’
よって、第1検査値A,第2検査値Bを用いる順番によって第1認証用データV1と第2認証用データV2に含まれる検査値を変更することができる。以下の説明では、(式1)の場合は第1認証用データV1c=H1c(A,C)、(式2)の場合は第2認証用データV2d=H2d(B,A)、(式1)’の場合は第1認証用データV1d=H1d(B,C)、(式2)’の場合は第2認証用データV2c=H2c(A,B)と定義する。
(認証方法の具体例1)
続いて、上述した(式1)、(式2)の演算方式を用いて第1,2認証用データV1c,V2dを生成して認証を行う具体例を以下に説明する。なお、第1検査値Aは個体認証値(チェックサム:0x80)、第2検査値Bは計数値(処理回数:0x01)、付加データCは定数(0x10)としている。
・被認証者が1回目の認証用データを生成する例
第1認証用データV1c=第1検査値(0x80)+付加データ(0x10)=0x90
第2認証用データV2d=第2検査値(0x01)+第1検査値(0x80)=0x81
・認証者が1回目の認証用データから検査値を抽出する例
抽出した第1検査値A’=第1認証用データV1c(0x90)−付加データ(0x10)=0x80
抽出した第2検査値B’=第2認証用データV2d(0x81)−第1検査値(0x80)=0x01
・認証者が1回目の認証を行う例
後段部202Bにおいて、第1検査値Aの第1期待値aが0x80、第2検査値Bの上記相関条件が「+2」である場合、抽出した第1検査値A’と第1期待値aは0x80dで一致し、且つ、第2検査値B’が前回から+2増加している場合、後段部202Bは主制御部201の認証を成立と判定する。また、抽出した第1検査値A’と第2検査値B’の何れか一方でも正当ではない場合、後段部202Bは主制御部201の認証を不成立と判定する。
・被認証者が2回目の認証用データを生成する例
第1認証用データV1c=第1検査値(0x80)+付加データ(0x10)=0x90
第2認証用データV2d=第2検査値(0x03)+第1検査値(0x80)=0x83
・認証者が2回目の認証用データから検査値を抽出する例
抽出した第1検査値A’=第1認証用データV1c(0x90)−付加データ(0x10)=0x80
抽出した第2検査値B’=第2認証用データV2d(0x83)−第1検査値(0x80)=0x03
・認証者が2回目の認証を行う例
後段部202Bにおいて、第1検査値Aの第1期待値aが0x80、第2検査値Bの前回の値が0x01と記憶している場合、抽出した第1検査値A’と第1期待値aは0x80で一致し、且つ、第2検査値B’から前回の値を差し引いた値が0x02で前回から+2増加している場合、後段部202Bは主制御部201の認証を成立とする。また、抽出した第1検査値A’と第2検査値B’の何れか一方でも正当ではない場合、後段部202Bは主制御部201の認証を不成立と判定する。
(認証方法の具体例2)
続いて、上述した具体例1を変形させた場合について説明する。詳細には、1回目は同一の認証処理とし、2回目以降において、付加データCを予め定められた法則により変動させる場合について説明する。
・被認証者が2回目の認証用データを生成する例
第1認証用データV1c=第1検査値(0x80)+付加データ(0x20:法則は2倍)=0xA0
第2認証用データV2d=第2検査値(0x03)+第1検査値(0x80)=0x83
・認証者が2回目の認証用データから検査値を抽出する例
抽出した第1検査値A’=第1認証用データV1c(0xA0)−付加データ(0x20)=0x80
抽出した第2検査値B’=第2認証用データV2d(0x83)−第1検査値(0x80)=0x03
・認証者が2回目の認証を行う例
後段部202Bにおいて、第1検査値Aの第1期待値aが0x80、第2検査値Bの前回の値が0x01と記憶している場合、抽出した第1検査値A’と第1期待値aは0x80で一致し、且つ、第2検査値B’から前回の値を差し引いた値が0x02で前回から+2増加している場合、後段部202Bは主制御部201の認証を成立とする。また、抽出した第1検査値A’と第2検査値B’の何れか一方でも正当ではない場合、後段部202Bは主制御部201の認証を不成立と判定する。
この具体例2によれば、付加データCをそのまま用いないことで、第1認証用データV1cの値をかく乱することができるため、セキュリティをより一層向上させることができる。
なお、本実施例では、上述した第2認証用データV2の生成に、第1検査値A又は第2検査値Bをそのまま一方の検査値として用いる場合について説明するが、これに代えて、第1検査値A又は第2検査値Bの一部を一方の検査値として用いることもできる。この検査値の一部を用いる例としては、検査値の上位の4ビットや下位の4ビットを検査値の一部として用いるなどで実現することができる。
続いて、図10において、認証結果信号1030は、上述した制御コマンドデータ1001及び付随データ1002と、上述した後段認証結果データ1004と、を有している。認証結果信号1030は、後段部202Bが周辺部202Aを介して主制御部201から上述した認証用データ付制御信号1020を受信した場合に、その認証用データ1003に基づいた主制御部201の認証処理に応じて後段部202Bによって生成される。そして、認証結果信号1030は、周辺基板330において後段部202Bから周辺部202Aに、認証用データ付制御信号1020の代わりに送信される。即ち、認証結果信号1030の制御コマンドデータ1001及び付随データ1002は、周辺部202Aから転送された制御信号の制御コマンドデータ1001及び付随データ1002と同一のデータであり、それらに後段認証結果データ1004が付加される。そして、後段認証結果データ1004は、主制御基板310の認証結果を示すデータ、主制御基板310の認証が未実施であることを示すデータ、等が設定される。後段認証結果データ1004は、例えば、「認証成立」、「認証不成立」、「認証未実施」、等を示すデータである。
(制御信号の送受信に関する処理)
以下に、主制御部201と周辺部202Aとの間で行う制御信号の通信例を説明する。まず、主制御201のCPU211(第1コンピュータ)による制御信号の送信手順の一例を、図11のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は、ステップS1201において、制御コマンドを送信するか否かを判定する。なお、判定方法の一例としては、主制御部201から周辺部に送信する制御コマンドデータ1001が発生しているか否かに基づいて判定する。そして、主制御部201は、制御コマンドを送信しないと判定した場合(S1201:No)、ステップS1211の処理に進む。一方、主制御部201は、制御コマンドを送信すると判定した場合(S1201:Yes)、ステップS1202の処理に進む。
主制御部201は、ステップS1202において、今回の同期方式の上記相関条件を満たす同期検査値を生成してデータ記憶部311に時系列的に記憶し、その後ステップS1203の処理に進む。なお、同期検査値の生成方法の一例としては、同期方式が前後の同期検査値を対象とする場合、前回の同期検査値と相関条件(例えば+2)とに基づいて同期検査値を生成する。そして、主制御部201は、ステップS1203において、次回の同期方式を複数種類の同期方式の中から選択してデータ記憶部311等に記憶し、その後ステップS1204の処理に進む。
主制御部201は、ステップS1204において、前記選択した次回の同期方式に対応付けられた個体認証値を、データ記憶部311に記憶している複数種類の個体認証値の中から抽出してRAM213等に記憶し、その後ステップS1205の処理に進む。そして、主制御部201は、ステップS1205において、前記抽出した主制御部201の個体認証値から第1認証方式の第1検査値Aを生成してRAM213等に記憶し、ステップS1206において、前記生成した同期検査値から第2認証方式の第2検査値Bを生成してRAM213等に記憶し、その後ステップS1207の処理に進む。
主制御部201は、ステップS1207において、上述した第1検査値Aと付加データCとを第1演算方式である上記(式1)で演算して第1認証用データV1cを求めてRAM213等に記憶し、その後ステップS1208の処理に進む。そして、主制御部201は、ステップS1208において、上述した第2検査値Bと第1検査値Aとを第2演算方式である上記(式2)で演算して第2認証用データV2dを求めてRAM213等に記憶し、その後ステップS1209の処理に進む。
主制御部201は、ステップS1209において、前記生成した第1認証用データV1c及び第2認証用データV2dを予め定められた暗号化方法で暗号化し、ステップS1210において、該第1認証用データV1c及び第2認証用データV2dと制御コマンドデータ1001に基づいて認証用データ付制御信号1020を生成して周辺基板330の周辺部202Aに対して送信し、その後ステップS1211の処理に進む。
主制御部201は、ステップS1211において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1211:No)、ステップS1201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1211:Yes)、本フローチャートによる処理を終了する。
続いて、後段部202BのCPU21(第3コンピュータ)による制御信号1010及び認証用データ付制御信号1020の受信処理の手順を、図12のフローチャートを参照して説明する。
後段部202Bは、ステップS1301において、周辺部202Aを介して主制御部201から制御信号を受信したか否かを判定する。後段部202Bは、制御信号を受信していないと判定した場合(S1301:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、後段部202Bは、制御信号を受信したと判定した場合(S1301:Yes)、ステップS1302の処理に移行する。
後段部202Bは、ステップS1302において、受信した制御信号に認証用データ1003が含まれているか否かを判定する。そして、後段部202Bは、認証用データ1003が含まれていないと判定した場合(S1302:No)、ステップS1303において、主制御基板310に対する認証未実施を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS1311の処理に進む。
一方、後段部202Bは、ステップS1302で認証用データ1003が含まれていると判定した場合(S1302:Yes)、ステップS1304において、認証用データ付制御信号1020に含まれた認証用データ1003を取得し、該認証用データ1003である第1認証用データV1c及び第2認証用データV2dを前記暗号化方式に対応した復号化方式で復号化し、該第1認証用データV1c及び第2認証用データV2dと第1演算方式及び第2演算方式と付加データCとに基づいて逆演算を行い、第1検査値A’と第2検査値B’とを第1認証用データV1c及び第2認証用データV2dから抽出してRAM23等に記憶し、その後ステップS1305の処理に進む。後段部202Bは、ステップS1305において、抽出した第1検査値A’と第2検査値B’を関連付けて後段側記憶部332に時系列的に記憶し、その後ステップS1306の処理に進む。
後段部202Bは、ステップS1306において、抽出した第1検査値A’と予め定められた第1期待値とが一致しているか否かに基づいて、第1検査値A’の認証が成立するか否かを判定する。後段部202Bは、認証が成立しないと判定した場合(S1306:No)、ステップS1310の処理に進む。一方、後段部202Bは、認証が成立すると判定した場合(S1306:Yes)、即ち第1検査値A’の認証が成立した場合、ステップS1307の処理に進む。
後段部202Bは、ステップS1307において、今回抽出した第2検査値B’と前回の第2検査値B’との差分を算出し、該差分が予め定められた同期方式の相関条件を満たしているか否かに基づいて、第2検査値B’の認証が成立するか否かを判定する。そして、後段部202Bは、認証が成立すると判定した場合(S1307:Yes)、ステップS1308において、主制御部201に対する認証を成立させ、認証成立を示す後段認証結果データ1004を生成してRAM233等に記憶し、その後ステップS1309の処理に進む。そして、後段部202Bは、ステップS1309において、第2検査値B’(同期検査値)に関連付けられた第1検査値A’(個体認証値)に対応付けられた同期方式を後段側記憶部332に記憶している複数種類の期待値データに基づいて特定し、該特定した同期方式を後段部202Bが用いる次回の同期方式と決定して後段側記憶部332等に記憶し、その後ステップS1311の処理に進む。
一方、後段部202Bは、ステップS1307で第2検査値B’の認証が成立しないと判定した場合(S1307:No)、ステップS1310において、主制御部201に対する認証を不成立とし、認証不成立を示す後段認証結果データ1004を生成してRAM233等に記憶し、その後ステップS1311の処理に進む。
後段部202Bは、ステップS1311において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した後段認証結果データ1004を付加して認証結果信号1030を生成し、ステップS1312において、該生成した認証結果信号1030を周辺部202Aに対して送信し、その後ステップS1313の処理に進む。
後段部202Bは、ステップS1313において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部は、電源がオフされていないと判定した場合(S1313:No)、ステップS1301の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(S1313:Yes)、本フローチャートによる処理を終了する。
続いて、周辺部202AのCPU241(第2コンピュータ)による各種制御信号の受信処理の手順を、図13のフローチャートを参照して説明する。
周辺部202Aは、ステップS1401において、主制御部201から制御信号を受信したか否かを判定する。そして、周辺部202Aは、制御信号を受信したと判定した場合(S1401:Yes)、ステップS1402において、主制御部201から受信した制御信号を後段部202Bに転送(送信)し、その後、ステップS1401に戻り、一連の処理を繰り返す。
一方、周辺部202Aは、ステップS1401で主制御部201から制御信号を受信していないと判定した場合(S1401:No)、ステップS1403の処理に進む。そして、周辺部202Aは、ステップS1403において、後段部202Bから認証結果信号1030を受信したか否かを判定する。そして、周辺部202Aは、認証結果信号1030を受信していないと判定した場合(S1403:No)、ステップS1401に戻り、一連の処理を繰り返す。一方、周辺部202Aは、認証結果信号1030を受信していると判定した場合(S1403:Yes)、ステップS1404の処理に進む。
周辺部202Aは、ステップS1404において、受信した認証結果信号1030に後段認証結果が含まれているか否かを判定する。詳細には、認証結果信号1030の後段認証結果データ1004が認証未実施を示しているか否かを判定する。そして、周辺部202Aは、後段認証結果が含まれていないと判定した場合(S1404:No)、主制御基板310に対する認証は未実施であることから、ステップS1406の処理に進む。
一方、周辺部202Aは、後段認証結果が含まれていると判定した場合(S1404:Yes)、主制御基板310に対する認証が行われていることから、ステップS1405において、認証結果信号1030の後段認証結果データ1003が認証成立を示しているか否かを判定する。そして、周辺部202Aは、認証成立を示していると判定した場合(S1405:Yes)、正規の主制御部201から受信した制御信号であったことから、ステップS1406において、認証結果信号1030に含まれている制御コマンドデータ1001および付随データ1002に基づく所定の処理を行い、その後ステップS1407の処理に進む。
周辺部202Aは、ステップS1407において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部202Aは、電源がオフされていないと判定した場合(S1407:No)、ステップS1401の処理に戻り、一連の処理を繰り返す。一方、周辺部202Aは、電源がオフされたと判定した場合(S1407:Yes)、本フローチャートによる処理を終了する。
一方、周辺部202Aは、ステップS1405で後段認証結果データ1003が認証成立を示していない、つまり認証不成立をしめしていると判定した場合(S1405:No)、ステップS1408において、制御コマンドデータ1001及び付随データ1002を破棄するとともに、例えばスピーカ262(図2参照)等から報知信号を出力して、本フローチャートによる処理を終了する。
(認証用データを用いた認証処理手順例)
次に、上述した同期方式Pa,Pbを固体認証値Ca,Cbで切り替えて認証処理を行う場合の手順の一例を、図14,15を参照して説明する。
図14において、被認証者である主制御基板310は、今回の同期方式Paで同期検査値SY1を生成し(S1501)、次回同期方式として同期方式Pbを選択して記憶し(S1502)、該同期方式Pbに対応した個体認証値Cbをデータ記憶部311から抽出する(S1503)。主制御基板310は、該固体認証値Cbから正規のCPU211の第1検査値A1を生成し(S1504)、前記生成した同期検査値SY1から正規のCPU211の第2検査値B1を生成する(S1505)。主制御基板310は、第1検査値A1と付加データC1とに基づいて1回目の第1認証用データV1c1=H1c(A1,C1)を生成して周辺基板330に送信する(S1506)。そして、主制御基板310は、第2検査値B1と第1検査値A1とに基づいて1回目の第2認証用データV2d1=H2d(B1,A1)を生成して周辺基板330の周辺部202Aに送信する(S1507)。
このように認証処理手順例では、第1検査値はAn、第2検査値はBn、第1演算方式はH1c、第1認証用データはV1cn、第2演算方式はH2d、第2認証用データはV2dnとそれぞれ表しており、nは認証回数を示している(n=1,2,3・・・)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した第1認証用データV1c1を後段部202Bに転送する(S1511)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2d1を後段部202Bに転送する(S1512)。
一方、周辺基板330の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1c1から、演算方式H1cと付加データC1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1521)。そして、後段部202Bは、第2認証用データV2d1から演算方式H2dと第1検査値A1とを用いて逆演算を行って第2検査値B1を抽出し、各第1,2検査値から個体認証値Cbと同期検査値SY1を取得し、それらを関連付けて後段側記憶部332に記憶する。後段部202Bは、該同期検査値SY1と前回の同期検査値SY0(初期値)との差分を算出し、該差分が今回の同期方式Paの相関条件を満たすか否かの判定結果に基づいて認証を行う(S1522)。そして、後段部202Bは、主制御基板310の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板330の周辺部202Aに送信する(S1523)。そして、後段部202Bは、この1回目の認証が成立した場合、今回の同期方式Paにおいて認証が成立した固体認証値Cbに対応した同期方式Pbを次回同期方式として決定する(S1524)。
一方、周辺基板330の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1513)。
このように周辺基板330は、後段部202Bが第1検査値A1(個体認証値)及び第2検査値B1(同期検査値)に基づいた主制御基板310に対する1回目の認証処理を行い、周辺部202Aが後段部202Bの認証結果に応じて所定の処理を行う。そして、1回目の認証が成立した場合は、2回目以降の認証処理を行う。
続いて、図15において、主制御基板310は、今回の同期方式Pbで同期検査値SY2を生成し(S1531)、次回同期方式として同期方式Paを選択して記憶し(S1532)、該同期方式Paに対応した個体認証値Caをデータ記憶部311から抽出する(S1533)。主制御基板310は、該固体認証値Caから正規のCPU211の第1検査値A2を生成し(S1534)、前記生成した同期検査値SY2から正規のCPU211の第2検査値B2を生成する(S1535)。主制御基板310は、第1検査値A2と付加データC2とに基づいて2回目の第1認証用データV1c2=H1c(A2,C2)を生成して周辺基板330に送信する(S1536)。そして、主制御基板310は、第2検査値B2と第1検査値A2とに基づいて2回目の第2認証用データV2d2=H2d(B2,A2)を生成して周辺基板330の周辺部202Aに送信する(S1537)。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した第1認証用データV1c2を後段部202Bに転送する(S1541)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2d2を後段部202Bに転送する(S1542)。
一方、周辺基板330の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1c2から、演算方式H1cと付加データC2とを用いて逆演算を行って第1検査値A2を抽出し、該第1検査値A2と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1551)。そして、後段部202Bは、第2認証用データV2d2から演算方式H2dと第1検査値A2とを用いて逆演算を行って第2検査値B2を抽出し、各第1,2検査値から個体認証値Caと同期検査値SY2を取得し、それらを関連付けて後段側記憶部332に記憶する。後段部202Bは、該同期検査値SY2と前回の同期検査値SY1との差分を算出し、該差分が今回の同期方式Pbの相関条件を満たすか否かの判定結果に基づいて認証を行う(S1552)。そして、後段部202Bは、主制御基板310の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板330の周辺部202Aに送信する(S1553)。そして、後段部202Bは、この2回目の認証が成立した場合、今回の同期方式Paにおいて認証が成立した固体認証値Caに対応した同期方式Paを次回同期方式として決定する(S1554)。
一方、周辺基板330の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1543)。
このように周辺基板330は、後段部202Bが第1検査値A2(個体認証値)及び第2検査値B2(同期検査値)に基づいた主制御基板310に対する2回目の認証処理を行い、周辺部202Aが後段部202Bの認証結果に応じて所定の処理を行う。そして、2回目の認証が成立した場合は、3回目以降の認証処理を行う。
このように認証処理手順例の場合、第2認証用データV2dnには、第1認証用データV1snの生成に用いた第2検査値(計数値)Bnが含まれているため、第2認証用データV2cnから第1検査値Anを抽出するには、第2検査値Bnの抽出及び認証が必須となるため、不正解析者が第2認証用データV2cnを解析して再利用することを困難とすることができる。そして、この認証処理を後段部202Bが行うため、周辺部202Aは認証処理を行わずに、後段部202Bの認証結果を参照するだけなので、周辺部202AのCPU241の処理負荷を軽減することができる。
(後段部の同期方式の切り替え例1)
次に、上述した同期方式Pa,Pbの切り替え方法の例1を説明する。まず、主制御部201では、2つの同期方式Pa,Pbの各々と2つの個体認証値Ca,Cbを対応関係を記憶する。一方、後段部202Bは、図16に示すように、個体認証値Ca,Cbにその期待値データDa,Dbを対応付けると共に、期待値データDa,Dbの各々に同期方式Pa,Pbを対応付けて記憶する。なお、同期方式Ca,Cbの相関条件の各々は「+2」、「−5」とする。また、初回の同期検査値SY0は「5」が設定されており、初回の同期方式は同期方式Paが設定されている。
まず、図17に示すように、後段部202Bは、1回目の通信において、個体認証値Caと同期検査値SY1(値:7)を主制御部201から受信すると、それらの値と通信順序を関連付けて後段側記憶部332に時系列的に記憶する。後段部202Bは、今回の個体認証値Caと一致する期待値データDaが後段側記憶部332に記憶されていることを検出すると、今回の個体認証値Caは正当であると判定する。後段部202Bは、今回の同期検査値SY1から初期の同期検査値SY0を差し引いて差分(+2)を求め、該差分(+2)が今回の同期方式Paの相関条件を満たしているか否かを判定する。後段部202Bは、相関条件を満たしていると判定した場合、同期検査値SY1に関連付けられた個体認証値Caに対応する同期方式Paを特定し、該同期方式Paを第2判定部336の次回の同期方式と決定する。
後段部202Bは、2回目に通信において、個体認証値Cbと同期検査値SY2(値:9)を主制御部201から受信すると、それらの値と通信順序を関連付けて後段側記憶部332に時系列的に記憶する。後段部202Bは、今回の個体認証値Cbと一致する期待値データDbが後段側記憶部332に記憶されていることを検出すると、今回の個体認証値Cbは正当であると判定する。後段部202Bは、今回の同期検査値SY2から前回の同期検査値SY1を差し引いて差分(+2)を求め、該差分(+2)が今回の同期方式Paの相関条件を満たしているか否かを判定する。後段部202Bは、相関条件を満たしていると判定した場合、同期検査値SY2に関連付けられた個体認証値Cbに対応する同期方式Pbを特定し、該同期方式Pbを第2判定部336の次回の同期方式と決定する。即ち、今回の同期方式Paから次回は同期方式Pbに切り替えられる。
後段部202Bは、3回目に通信において、個体認証値Cbと同期検査値SY3(値:4)を主制御部201から受信すると、それらの値と通信順序を関連付けて後段側記憶部332に時系列的に記憶する。後段部202Bは、今回の個体認証値Cbと一致する期待値データDbが後段側記憶部332に記憶されていることを検出すると、今回の個体認証値Cbは正当であると判定する。後段部202Bは、今回の同期検査値SY3から前回の同期検査値SY2を差し引いて差分(−5)を求め、該差分(−5)が今回の同期方式Paの相関条件を満たしているか否かを判定する。後段部202Bは、相関条件を満たしていると判定した場合、同期検査値SY3に関連付けられた個体認証値Cbに対応する同期方式Pbを特定し、該同期方式Pbを第2判定部336の次回の同期方式と決定する。
後段部202Bは、4回目に通信において、個体認証値Caと同期検査値SY4(値:−1)を主制御部201から受信すると、それらの値と通信順序を関連付けて後段側記憶部332に時系列的に記憶する。後段部202Bは、今回の個体認証値Caと一致する期待値データDaが後段側記憶部332に記憶されていることを検出すると、今回の個体認証値Caは正当であると判定する。後段部202Bは、今回の同期検査値SY4から前回の同期検査値SY3を差し引いて差分(−5)を求め、該差分(−5)が今回の同期方式Pbの相関条件を満たしているか否かを判定する。後段部202Bは、相関条件を満たしていると判定した場合、同期検査値SY2に関連付けられた個体認証値Cbに対応する同期方式Pbを特定し、該同期方式Pbを第2判定部336の次回の同期方式と決定する。即ち、今回の同期方式Pbから次回は同期方式Paに切り替えられる。
後段部202Bは、5回目以降の通信に対しても、上述した一連の処理を繰り返す。このように主制御部201が個体認証値Ca,Cbを任意のタイミングで切り替えるだけで、後段部202Bはその切り替えタイミングを受信した個体認証値Ca,Cbから検出し、次回の同期方式を切り替えることができる。よって、不正解析者は同期方式の切り替えタイミングを検出するには困難となるため、後段部202Bに送信するデータが不正に利用されるのを防止できる。
(後段部の同期方式の切り替え例2)
以下に、同期方式において相異なる複数の同期検査値が用いられる場合に、上述した切り替え例1の同期方式Pa,Pbを切り替える一例を説明する。
まず、図18に示すように、後段部202Bは、1回目の通信において、個体認証値Cbと同期検査値SY1(値:5)を主制御部201から受信すると、それらの値と通信順序(1回目)を関連付けて後段側記憶部332に時系列的に記憶する。そして、後段部202Bは、2回目の通信において、個体認証値Ca又は個体認証値Cbと同期検査値SY2(値:7)を主制御部201から受信すると、それらの値と通信順序(2回目)を関連付けて後段側記憶部332に時系列的に記憶する。即ち、後段部202Bは、1回の同期方式Paの時に、それぞれ2つの第1,2検査値を受信し、それらを関連付けて記憶している。そして、本実施形態では、2回目の第2検査値として個体認証値Ca又は個体認証値Cbを受信する場合について説明するが、これに代えて、ダミーデータを受信する実施形態や、第2検査値を受信しない実施形態とすることもできる。
後段部202Bは、1回目の同期方式Paにおける2つ目の同期検査値SY1bの受信が終了すると、該同期検査値SY1bから同期検査値SY1aを差し引いた差分+2が、今回の同期方式Paの相関条件を満たしているか否かを判定する。後段部202Bは、相関条件を満たしていると判定した場合、1回目の通信で受信した個体認証値Cbと一致する期待値データDb(図15参照)に対応付けられた同期方式Pbを、次回同期方式と決定する。そして、後段部202Bは、主制御部201の認証が成立している場合は処理を継続する。
後段部202Bは、3回目の通信において、個体認証値Caと同期検査値SY3(値:2)を主制御部201から受信すると、それらの値と通信順序(3回目)を関連付けて後段側記憶部332に時系列的に記憶する。そして、後段部202Bは、4回目の通信において、個体認証値Ca又は個体認証値Cbと同期検査値SY4(値:7)を主制御部201から受信すると、それらの値と通信順序(4回目)を関連付けて後段側記憶部332に時系列的に記憶する。
後段部202Bは、2回目の同期方式Pbにおける2つ目の同期検査値SY2bの受信が終了すると、該同期検査値SY2bから同期検査値SY2aを差し引いた差分−5が、今回の同期方式Pbの相関条件を満たしているか否かを判定する。後段部202Bは、相関条件を満たしていると判定した場合、1回目の通信で受信した個体認証値Caと一致する期待値データDa(図15参照)に対応付けられた同期方式Paを、次回同期方式と決定する。そして、後段部202Bは、主制御部201の認証が成立している場合は処理を継続する。
以上説明したぱちんこ遊技機100によれば、主制御部201が個体認証値Ca,Cbを検査する第1検査値Aと同期検査値SYnを検査する第2検査値Bの何れか一方の検査値を用いて第1認証用データV1を生成すると、該一方の検査値の全て又は一部と他方の検査値を用いて第2認証用データV2を生成して後段部202Bに送信するようにしたことから、第1認証用データV1と第2認証用データV2の生成方法を不正解析者が解析するのは困難であるため、第1検査値Aと第2検査値Bを抽出することはできず、主制御部201から後段部S02Bに送信するデータの不正利用を防止することができる。また、同期検査値SYnは複数種類の同期方式を切り替えて生成した値であるため、通信の連続性を示す値であるにもかかわらず、例え不正解析者に傍受されたとしても、主制御部201の処理内容を解析する糸口となることを防止できる。一方、後段部202Bは相異なる2つの認証方式で生成された第1検査値Aから主制御部201の個体認証を行うことができると共に、第2検査値Bと今回の同期方式から通信の連続性を判定することができるため、不正解析者によってデータが不正に利用されたことを後段部202Bで検知することができる。さらに、後段部202Bが主制御部201に対する認証処理を行い、その後段認証結果を周辺部202Aに送信するようにしたことから、周辺部202Aは認証処理は行わずに後段認証結果を参照するだけで良いため、周辺部202AのCPU241の処理付加を軽減することができる。よって、認証処理の複雑化を図っても、周辺部202Aによる演出処理に影響することはないため、セキュリティーの向上及び遊技の興趣向上の双方を図ることができる。さらに、被認証者である主制御部201が高度な処理能力を有していない場合においては、処理負荷の軽い認証方式、演算方式を複数用いることができるため、組み合わせ方法と数によって認証強度を高めることができる。
また、後段部202Bは今回の同期方式において主制御部201から受診した連続する複数の第2検査値の差分が相関条件を満たしているか否かを判定するようにしたことから、簡単な処理で通信の連続性を確認することができるため、周辺部202Aの処理に悪影響を及ぼすことを防止できる。
さらに、今回の同期方式において相異なる複数の同期検査値SYnを用いると共に、該複数の同期検査値SYnの各々に対応した複数の第1検査値Aの中から所定の順番の第1検査値Aに次回の同期方式を割り当て、後段部202Bがその第1検査値Aに基づいて次回の同期方式を決定するようにしたことから、次回の同期方式の決定に用いる第1検査値Aの順番を解析できない限り、不正解析者は同期方式の切り替えタイミングを解析することはできない。また、主制御部201と後段部202Bとの間で第1検査値Aの所定の順番を切り替えることで、不正解析者はその順番を解析することがより一層困難となり、不正解析者によってデータが不正に利用されることの防止に貢献することができる。
また、一方の検査値と付加データCを組み合わせて第1認証用データV1を生成して後段部202Bに送信することで、第1,2認証用データV1,V2の生成方法をより複雑化することができるため、主制御部201から周辺部202A及び後段部202Bに送信するデータの不正利用を防止することができる。
さらに、第1認証用データV1及び第2認証用データV2を制御コマンドデータ1001に付加して送信することができることから、それらを単体で後段部202Bに送信する場合と比較して、主制御部201と後段部202Bとの間の通信負荷の増大を抑えることができるため、不正解析者による送信タイミングの検出を困難とすることができる。
また、第1,2認証用データV1,V2を暗号化して主制御部201から周辺部202Aを介して後段部202Bに送信することができることから、不正解析者による第1,2認証用データV1,V2の解析をより一層困難にすることができるため、主制御部201から周辺部202A及び後段部202Bに送信するデータの不正利用を防止することができる。
[実施例2]
以下に、上述したぱちんこ遊技機100の実施例2を説明する。なお、上述した構成と同一部分については、同一の符号を付して異なる部分のみを詳細に説明する。
(主制御基板および周辺基板の機能的構成)
まず、ぱちんこ遊技機100は、上述した図2に示す制御部200を備えている。制御部200は、主制御部201と、演出制御部(周辺部)202Aと、後段部202Bと、賞球制御部203と、を有している。そして、ぱちんこ遊技機100は、図19に示すように、主制御部201としての機能を有する主制御基板310と、上述した演出制御部202Aと後段部202Bを有する周辺基板330と、を有して構成している。そして、主制御基板310は周辺基板330と通信可能なように電気的に接続されている。
主制御基板310は、上述したデータ記憶部311、同期検査値生成部312、次回同期方式選択部313、個体認証値抽出部314、第1検査値生成部315、第2検査値生成部316、第1認証用データ生成部317、第2認証用データ生成部318、暗号化処理部319、送信部320と、次回演算方式決定部321と、を有して構成している。
データ記憶部311はさらに、上述した第1演算方式及び第2演算方式の次回演算方式を示す次回演算情報、ぱちんこ遊技機100に対して予め定められた相異なる複数種類の演算方式と該複数種類の演算方式と一対一に対応付けられた複数種類の暗号化方式を示す演算方式テーブル情報、等を記憶している。なお、複数種類の暗号化方式は、同一の認証用データを暗号化したときに、異なる値となるものを用いる。
次回演算情報は、次回演算方式を識別することが可能な識別データ等を有し、相異なる複数種類の演算方式の中から前記次回演算方式決定部321が決定した次回演算方式に逐次設定が更新される。本実施形態では、次回演算情報が第1,2演算方式の双方の次回演算方式を示す場合について説明するが、これに代えて、第1,2演算方式の各々に対応させる構成とすることもできる。
次回演算方式決定部321は、本発明の次回演算方式決定手段に相当し、前記複数種類の演算方式の中から次回の第1,2認証用データの生成に用いる次回演算方式を決定すると、該次回演算方式を前記次回演算情報に設定する。次回演算方式決定部321は、任意のタイミングで次回演算方式を決定することが可能であり、例えば、第1,2認証用データを生成するとき、予め定められた制御コマンドデータ1001を送信するとき、等が挙げられる。
前記暗号化処理部319は、次回演算方式決定部321が次回演算方式を決定すると、該決定した次回演算方式に対応した暗号化方式を前記演算方式テーブル情報に基づいて特定し、該特定した暗号化方式で第1認証用データ及び第2認証用データを暗号化する。そして、前記送信部320は、その暗号化された第1認証用データ及び第2認証用データを周辺基板330に送信する。
実施例2のぱちんこ遊技機100も、実施例1と同様に、2つの認証要素として、主制御部201の正当性を認証するための第1検査値と、主制御部201の通信の連続性を認証するための第2検査値とを採用している。ぱちんこ遊技機100は、主制御部201が正規のものであるか否かを検証するのに第1検査値を用いる。ぱちんこ遊技機100は、その動作中に、なりすましのための不正な切り替えが発生したか否かを検証するのに第2検査値を用いる。そして、ぱちんこ遊技機100は、2つの認証要素を組み合わせて認証することで、セキュリティの向上を図るとともに、主制御部201から周辺部に送信する第1,2認証用データが再利用されるのを防止している。さらに、実施例2のぱちんこ遊技機100は、第1,2認証用データの生成に用いる第1,2演算方式を任意にタイミングで切り替えることが可能となっている。そして、その次回演算方式の切り替えは、第1,2認証用データの暗号化方法によって周辺基板330に解析させることから、不正解析者が次回演算方式を解析するのは困難であるため、主制御基板310から周辺基板330に送信するデータの不正利用をより一層困難にすることができる。
続いて、周辺基板330の後段部202Bは、上述した後段側受信部331、後段側記憶部332、復号化処理部333、検査値抽出部334、第1判定部335、第2判定部336、後段認証結果データ生成部337、後段側送信部338、決定部339と、特定部340と、を有して構成している。
後段側記憶部332は、本発明の演算方式用期待値記憶手段に相当し、上述した主制御基板310から受信すべき第1検査値(個体認証値)に対応した第1期待値を示す第1期待値データと、該第1期待値から生成される第1認証用データを、前記複数種類の暗号化方式の各々で暗号化したときに生成される演算方式用期待値データと、を複数記憶する。即ち、演算方式用期待値データは、正規の主制御基板310が生成し得る第1,2認証用データを複数種類の暗号化方式毎に予め演算し、該演算した値を演算方式用期待値データとして記憶している。よって、正規の主制御基板310から受信した第1,2認証用データであれば、複数の演算方式用期待値データの中に必ず一致するはずであり、一致しない場合は、第1,2認証用データが不正なデータであると判断することができる。
特定部340は、本発明の特定手段に相当し、後段側記憶部332に記憶している前記複数の演算方式用期待値の中から、後段側受信部331で受信した第1認証用データ及び第2認証用データと一致する前記演算方式用期待値を特定し、該一致する演算方式用期待値に対応する前記暗号化方式及び前記次回演算方式を特定する。
そして、前記復号化処理部333は、特定部340が特定した暗号化方式に対応する復号化方式で、後段側受信部331で受信した第1認証用データ及び第2認証用データを復号化する。また、前記検査値抽出部334は、特定部340が特定した次回演算方式に基づいて第1演算方式及び第2演算方式を特定して、後段側受信部331が受信した第1認証用データ及び第2認証用データから第1検査値又は第2検査値を抽出する。
また、実施例2においても、主制御基板310のCPU211が請求項中の第1コンピュータ、周辺基板330の周辺部(演出制御部)202AのCPU241が請求項中の第2コンピュータ、周辺基板330の後段部202BのCPU21が請求項中の第3コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の同期検査値生成手段と、次回同期方式選択手段と、個体認証値抽出手段と、第1検査値生成手段と、第2検査値生成手段と、第1認証用データ生成手段と、第2認証用データ生成手段と、主制御側送信手段、、暗号化手段、次回演算方式決定手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板330の周辺部202AのROM242は、前記第2コンピュータを請求項中の転送手段、周辺側受信手段、処理手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。また、周辺基板330の後段部202BのROM22は、前記第3コンピュータを請求項中の後段側受信手段、復号化手段、検査値抽出手段、第1判定手段、第2判定手段、後段認証結果データ生成手段、後段側送信手段、決定手段、特定手段、等の各種手段として機能させるための後段側認証プログラムを記憶している。即ち、主制御側認証プログラムと周辺側認証プログラムと後段側認証プログラムとによって本発明の認証プログラムを構成している。
(第1,2演算方式と暗号化方式の対応関係例)
まず、ぱちんこ遊技機100において、第1演算方式H1A、H1B、H1Cと第2演算方式H2A、H2B、H2Cのそれぞれ異なる3種類の演算方式を用いることを前提に説明する。なお、3種類の演算方式としては、例えば、加算、減算、積算、除算、排他的論理和等の各種演算方式が任意に用いられる。そして、主制御部201が3種類の演算方式を切り替えて第1,2認証用データを生成する場合について説明する。なお、説明を簡単化するために、第1検査値を請求項中の一方の検査値とする。
主制御部201では、図20に示すように、次回の3種類の第1演算方式H1A、H1B、H1Cの各々には3種類の暗号化方式M1A、M1B、M1Cの各々を対応させている。そして、後段部202Bでは、第1検査値に対して次回第1演算方式H1A、H1B、H1Cの各々で第1認証用データV1を演算したときの値を予め演算し、該演算した値を暗号化方式M1A、M1B、M1Cで暗号化したときの値をそれぞれ演算方式用期待値G1A、G1B、G1Cとして期待値記憶部322に記憶している。後段部202Bは、それらの演算方式用期待値G1A、G1B、G1Cの各々に対応する暗号化方式M1A、M1B、M1Cとその復号化方式N1A、N1B、N1Cと次回第1演算方式H1A、H1B、H1Cとを関連付けて記憶している。
これにより、後段部202Bは、暗号化された第1認証用データV1と一致する演算方式用期待値G1A〜G1Cを特定することで、該特定した演算方式用期待値G1A〜G1Cに関連付けられた次回第1演算方式H1A〜C、復号化方式N1A〜Cを特定することができる。
また、第2認証用データV2の次回第2演算方式H2A、H2B、H2Cに対しては、上述した第1認証用データV1に対応する演算方式用期待値G1A、G1B、G1Cを流用する場合について説明する。
主制御部201及び後段部202Bでは、演算方式用期待値G1A、G1B、G1Cの各々に対して、暗号化方式M2A、M2B、M2Cと、復号化方式N2A、N2B、N2Cと、次回第2演算方式H2A、H2B、H2Cとを関連付けて記憶している。なお、第1演算方式H1A、H1B、H1Cと第2演算方式H2A、H2B、H2Cとの各々を同一とする共に、暗号化方式M1A、M1B、M1Cと暗号化方式M2A、M2B、M2Cとの各々を同一とした場合について説明するが、これに代えて、それぞれ異なる演算方式や暗号化方式を設定することもできる。
これにより、後段部202Bは、暗号化された第1認証用データV1と一致する演算方式用期待値G1A〜G1Cを特定するだけで、該特定した演算方式用期待値G1A〜G1Cに関連付けられた次回第2演算方式H2A〜C、復号化方式N2A〜Cも特定することができる。
また、暗号化方式M1A〜C、M2A〜C及び復号化方式N1A〜C、N2A〜Cの一例としては、異なるキーを用いて暗号化及び復号化する方式などの種々異なる方式を用いることができる。
なお、本実施形態では、説明を簡単化するために、第1検査値を請求項中の一方の検査値とした場合について説明するが、これに代えて、第2検査値を一方の検査値とすることもできる。その場合は、第2検査値は前記計数方式で変化する値であるため、前回と今回の第2認証用データV2の差に対応した相異なる変動範囲を、演算方式用期待範囲として設定することで対応することができる。
(制御信号の送受信に関する処理)
以下に、主制御部201と後段部202Bとの間で行う制御信号の通信例を説明する。まず、主制御201のCPU211(第1コンピュータ)による制御信号の送信手順2の一例を、図21のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は、ステップS2201において、制御コマンドを送信するか否かを判定する。なお、判定方法の一例としては、主制御部201から周辺部に送信する制御コマンドデータ1001が発生しているか否かに基づいて判定する。そして、主制御部201は、制御コマンドを送信しないと判定した場合(S2201:No)、ステップS2212の処理に進む。一方、主制御部201は、制御コマンドを送信すると判定した場合(S2201:Yes)、ステップS2202の処理に進む。
主制御部201は、ステップS2202において、今回の同期方式の上記相関条件を満たす同期検査値を生成してデータ記憶部311に時系列的に記憶し、その後ステップS2203の処理に進む。なお、同期検査値の生成方法の一例としては、同期方式が前後の同期検査値を対象とする場合、前回の同期検査値と相関条件(例えば+2)とに基づいて同期検査値を生成する。そして、主制御部201は、ステップS2203において、次回の同期方式を複数種類の同期方式の中から選択してデータ記憶部311等に記憶し、その後ステップS2204の処理に進む。
主制御部201は、ステップS2204において、前記選択した次回の同期方式に対応付けられた個体認証値を、データ記憶部311に記憶している複数種類の個体認証値の中から抽出してRAM213等に記憶し、その後ステップS2205の処理に進む。そして、主制御部201は、ステップS2205において、前記抽出した主制御部201の個体認証値から第1認証方式の第1検査値Aを生成してRAM213等に記憶し、ステップS2206において、前記生成した同期検査値から第2認証方式の第2検査値Bを生成してRAM213等に記憶し、その後ステップS2207の処理に進む。
主制御部201は、ステップS2207において、前記次回演算情報に設定された次回の第1演算方式又は初回は初期演算方式として設定された初期の第1演算方式を取得し、該取得した第1演算方式に対応した上記(式1)で上述した第1検査値Aと付加データCとを演算して第1認証用データV1cを求めてRAM213等に記憶し、その後ステップS2208の処理に進む。
主制御部201は、ステップS2208において、前記次回演算情報に設定された次回の第2演算方式又は初回は初期演算方式として設定された初期の第2演算方式を取得し、該取得した第2演算方式に対応した上記(式2)で上述した第2検査値Bと前記第1検査値Aとを演算して第2認証用データV2dを求めてRAM213等に記憶し、その後ステップS2209の処理に進む。
主制御部201は、ステップS2209において、3種類の第1演算方式H1A〜Cの中から次回の第1演算方式を規則的又は不規則に決定し、3種類の第2演算方式H2A〜Cの中から次回の第2演算方式を規則的又は不規則に決定し、これらの特定した次回演算方式となるように前記次回演算情報を更新し、その後ステップS2210の処理に進む。
主制御部201は、ステップS2210において、前記決定した次回演算方式に対応した1つの暗号化方式を3種類の暗号化方式M1A〜Cの中から特定し、該特定した暗号化方式で前記生成した第1認証用データV1c及び第2認証用データV2dを暗号化し、その後ステップS2211の処理に進む。そして、主制御部201は、ステップS2211において、該第1認証用データV1c及び第2認証用データV2dと制御コマンドデータ1001に基づいて認証用データ付制御信号1020を生成して周辺部に対して送信し、その後ステップS2212の処理に進む。
主制御部201は、ステップS2212において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S2212:No)、ステップS2201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S2212:Yes)、本フローチャートによる処理を終了する。
続いて、後段部202BのCPU21(第3コンピュータ)による各種制御信号の受信処理の手順2を、図22のフローチャートを参照して説明する。
後段部202Bは、図28に示すステップS2301において、主制御部201から制御信号を受信したか否かを判定する。周辺部は、制御信号を受信していないと判定した場合(S2301:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、周辺部は、制御信号を受信したと判定した場合(S2301:Yes)、ステップS2302の処理に移行する。
後段部202Bは、ステップS2302において、受信した制御信号に認証用データ1003が含まれているか否かを判定する。そして、後段部202Bは、認証用データ1003が含まれていないと判定した場合(S2302:No)、ステップS2303において、主制御基板310に対する認証未実施を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS2314の処理に進む。一方、後段部202Bは、認証用データ1003が含まれていると判定した場合(S2302:Yes)、ステップS2304の処理に進む。
後段部202Bは、ステップS2304において、認証用データ1003の前記第1認証用データV1cと前記演算方式用期待値とが一致するか否かを判定する。後段部202Bは、前記演算方式用期待値と一致しないと判定した場合(S2304:No)、ステップS2313の処理に進む。一方、後段部202Bは、前記演算方式用期待値と一致すると判定した場合(S2304:Yes)、ステップS2305において、一致した演算方式用期待値に対応した復号化方式で前記第1認証用データV1c及び第2認証用データV2dを復号化してRAM233等に記憶し、その後ステップS2306の処理に進む。
後段部202Bは、ステップS2306において、前記復号化した前記第1認証用データV1c及び第2認証用データV2dと前回の処理で定められた、又は、初期値として定められた(初回のみ)第1演算方式及び第2演算方式と付加データCとに基づいて上述したように逆演算を行い、第1検査値A’と第2検査値B’とを前記第1認証用データV1c及び第2認証用データV2dから抽出し、ステップS2307において、抽出した第1検査値A’と第2検査値B’を関連付けて後段側記憶部332に時系列的に記憶し、その後ステップS2308の処理に進む。
後段部202Bは、ステップS2308において、前記抽出した第1検査値A’と予め定められた第1期待値とが一致しているか否かに基づいて、第1検査値A’の認証が成立するか否かを判定する。後段部202Bは、認証が成立しないと判定した場合(S2308:No)、ステップS2313の処理に進む。一方、後段部202Bは、認証が成立すると判定した場合(S2308:Yes)、即ち第1検査値A’の認証が成立した場合、ステップS2309の処理に進む。
後段部202Bは、ステップS2309において、今回抽出した第2検査値B’と前回の第2検査値B’との差分を算出し、該差分が今回の同期方式の相関条件を満たしているか否かに基づいて、第2検査値B’の認証が成立するか否かを判定する。そして、後段部202Bは、認証が成立すると判定した場合(S2309:Yes)、ステップS2310において、主制御部201に対する認証を成立させ、認証成立を示す後段認証結果データ1004を生成してRAM233等に記憶し、その後ステップS2311の処理に進む。
後段部202Bは、ステップS2311において、第2検査値B’(同期検査値)に関連付けられた第1検査値A’(個体認証値)に対応付けられた同期方式を、後段側記憶部332に記憶している前記期待値データに基づいて複数種類の同期方式の中から特定し、該特定した同期方式を周辺部が用いる次回の同期方式と決定して後段側記憶部332等に記憶し、その後ステップS2312の処理に進む。後段部202Bは、ステップS2312において、前記ステップS2304で一致した演算方式用期待値に対応した次回演算方式を次回の第1演算方式及び次回の第2演算方式として特定してRAM233等に記憶し、その後ステップS2314の処理に進む。
後段部202Bは、ステップS2314において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した後段認証結果データ1004を付加して認証結果信号1030を生成し、ステップS2315において、該生成した認証結果信号1030を周辺部202Aに対して送信し、その後ステップS1316の処理に進む。
後段部202Bは、ステップS2316において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部は、電源がオフされていないと判定した場合(S2316:No)、ステップS2301の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(S2316:Yes)、本フローチャートによる処理を終了する。
続いて、周辺部202AのCPU241(第2コンピュータ)による後段部202Bからの各種制御信号の受信処理としては、上述した実施例1で説明した図13に示すフローチャートと同一であるため、説明は省略する。
(認証用データを用いた認証処理手順例)
次に、上述した同期方式Pa,Pbを固体認証値Ca,Cbを用いて切り替えて認証処理を行う場合の手順の一例を説明する。なお、同期方式Pa,Pbの相関条件等は、上述した実施例1の(認証用データを用いた認証処理手順例)と同一であることを前提とする。
被認証者である主制御基板310は、今回の同期方式Paで同期検査値SY1を生成し、次回同期方式として同期方式Pbを選択して記憶し、該同期方式Pbに対応した個体認証値Cbをデータ記憶部311から抽出する。主制御基板310は、正規のCPU211の個体認証値である第1検査値A1を生成し、正規のCPU211の同期検査値である第2検査値B1を生成する。主制御基板310は、3種類の第1演算方式H1A、H1B、H1C及び第2演算方式H2A、H2B、H2Cの中から次回演算方式を第1演算方式H1B及び第2演算方式H2Bと決定する。そして、主制御基板310は、予め定められた今回の演算方式である第1演算方式H1Aと第1検査値A1と付加データC1とに基づいて1回目の第1認証用データV1Ac1=H1Ac(A1,C1)を生成し、該第1認証用データV1Ac1を次回の第1演算方式H1Bに対応した暗号化方式M1Bで暗号化して周辺基板330の周辺部202Aに送信する。そして、主制御基板310は、第2検査値B1と第1検査値A1と予め定められた今回の演算方式である第2演算方式H2Aに基づいて1回目の第2認証用データV2Ad1=H2Ad(B1,A1)を生成し、該第2認証用データV2Ad1を次回の第2演算方式H2Bに対応した暗号化方式M2Bで暗号化して周辺基板330の周辺部202Aに送信する。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した第1認証用データV1Ac1を後段部202Bに転送する。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2Ad1を後段部202Bに転送する。
一方、周辺基板330の後段部202Bは、主制御基板310から受信した第1認証用データV1Ac1と一致する演算方式用期待値G1B、及び、主制御基板310から受信した第2認証用データV2Ad1と一致する演算方式用期待値G2Bを特定する。これにより、周辺基板330は、該演算方式用期待値G1Bに対応する復号化方式N1Bと次回の第1演算方式H1Bを特定すると共に、該演算方式用期待値G2Bに対応する復号化方式N2Bと次回の第2演算方式H2Bを特定する。
後段部202Bは、前記特定した復号化方式N1Bで第1認証用データV1Ac1を復号化し、該第1認証用データV1Ac1から予め定められた第1演算方式H1Aと付加データC1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う。そして、後段部202Bは、第2認証用データV2Ad1から演算方式H2dと第1検査値A1とを用いて逆演算を行って第2検査値B1を抽出し、各第1,2検査値から個体認証値Cbと同期検査値SY1を取得し、それらを関連付けて後段側記憶部332に記憶する。そして、周辺基板330は、該第2検査値B1と前回の第2検査値B0(初期値)との差分を算出し、該差分が今回の同期方式Paの相関条件を満たすか否かの判定結果に基づいて認証を行う。後段部202Bは、第1検査値A1、第2検査値B1の双方に対する認証に基づいた主制御基板310の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板330の周辺部202Aに送信する。
一方、周辺基板330の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う。そして、周辺基板330は、第1検査値A1、第2検査値B1の双方に対する認証が成立した場合に次回の認証処理を継続する。
このように1回目の認証処理区間では、今回の演算方式として第1演算方式H1A、第2演算方式H2Aを用い、次回(2回目)の認証処理区間で第1演算方式H1B、第2演算方式H2Bに次回演算方式を切り替えて用いることを、周辺基板330は主制御基板310から受信した第1認証用データV1Ac1及び第2認証用データV2Ad1を解析して認識している。なお、次回演算方式を継続する場合、次回演算方式を第1演算方式H1A、第2演算方式H2Aと決定すればよい。
以上説明したぱちんこ遊技機100によれば、主制御部201が個体認証値Ca,Cbを検査する第1検査値Aと同期検査値SYnを検査する第2検査値Bの何れか一方の検査値を用いて第1認証用データV1を生成すると、該一方の検査値の全て又は一部と他方の検査値を用いて第2認証用データV2を生成して後段部202Bに送信するようにしたことから、第1認証用データV1と第2認証用データV2の生成方法を不正解析者が解析するのは困難であるため、第1検査値Aと第2検査値Bを抽出することはできず、主制御部201から後段部S02Bに送信するデータの不正利用を防止することができる。また、同期検査値SYnは複数種類の同期方式を切り替えて生成した値であるため、通信の連続性を示す値であるにもかかわらず、例え不正解析者に傍受されたとしても、主制御部201の処理内容を解析する糸口となることを防止できる。一方、後段部202Bは相異なる2つの認証方式で生成された第1検査値Aから主制御部201の個体認証を行うことができると共に、第2検査値Bと今回の同期方式から通信の連続性を判定することができるため、不正解析者によってデータが不正に利用されたことを後段部202Bで検知することができる。さらに、後段部202Bが主制御部201に対する認証処理を行い、その後段認証結果を周辺部202Aに送信するようにしたことから、周辺部202Aは認証処理は行わずに後段認証結果を参照するだけで良いため、周辺部202AのCPU21の処理付加を軽減することができる。よって、認証処理の複雑化を図っても、周辺部202Aによる演出処理に影響することはないため、セキュリティーの向上及び遊技の興趣向上の双方を図ることができる。さらに、被認証者である主制御部201が高度な処理能力を有していない場合においては、処理負荷の軽い認証方式、演算方式を複数用いることができるため、組み合わせ方法と数によって認証強度を高めることができる。
また、後段部202Bは今回の同期方式において主制御部201から受診した連続する複数の第2検査値の差分が相関条件を満たしているか否かを判定するようにしたことから、簡単な処理で通信の連続性を確認することができるため、周辺部202Aの処理に悪影響を及ぼすことを防止できる。
さらに、今回の同期方式において相異なる複数の同期検査値SYnを用いると共に、該複数の同期検査値SYnの各々に対応した複数の第1検査値Aの中から所定の順番の第1検査値Aに次回の同期方式を割り当て、後段部202Bがその第1検査値Aに基づいて次回の同期方式を決定するようにしたことから、次回の同期方式の決定に用いる第1検査値Aの順番を解析できない限り、不正解析者は同期方式の切り替えタイミングを解析することはできない。また、主制御部201と後段部202Bとの間で第1検査値Aの所定の順番を切り替えることで、不正解析者はその順番を解析することがより一層困難となり、不正解析者によってデータが不正に利用されることの防止に貢献することができる。
また、一方の検査値と付加データCを組み合わせて第1認証用データV1を生成して後段部202Bに送信することで、第1,2認証用データV1,V2の生成方法をより複雑化することができるため、主制御部201から周辺部202A及び後段部202Bに送信するデータの不正利用を防止することができる。
さらに、第1認証用データV1及び第2認証用データV2を制御コマンドデータ1001に付加して送信することができることから、それらを単体で後段部202Bに送信する場合と比較して、主制御部201と後段部202Bとの間の通信負荷の増大を抑えることができるため、不正解析者による送信タイミングの検出を困難とすることができる。
また、第1,2認証用データV1,V2を暗号化して主制御部201から周辺部202Aを介して後段部202Bに送信することができることから、不正解析者による第1,2認証用データV1,V2の解析をより一層困難にすることができるため、主制御部201から周辺部202A及び後段部202Bに送信するデータの不正利用を防止することができる。
さらに、主制御部201のみが知っている暗号化方式を用いて第1,2認証用データV1,V2を生成すると共に、該暗号化方式に次回の第1,2演算方式を割り当てることで、第1,2認証用データV1,V2は複数種類の暗号化方式によって変化するため、不正解析者は複数種類の暗号化方式を解析できない限り、暗号化方式に対応した次回の第1,2演算方式を解析することができない。また、主制御部201は第1,2認証用データの生成に用いる第1,2演算方式を任意に切り替えることができるため、不正解析者による不正な解析をより一層困難となり、主制御部201から周辺部202A及び後段部202Bに送信するデータの不正利用をより一層困難にすることができる。
(後段部における次回演算方式の他の特定方法)
次に、上述したぱちんこ遊技機100では、図19に示す周辺基板330の後段側記憶部332に、個体認証値Ca,Cbに対応した期待値データDa,Dbと、第1,2認証用データに対応した演算方式用期待と、を予め記憶していたが、該他の特定方式では、後段側記憶部332に期待値データDa,Dbに対応した期待値のみを記憶するだけでよい。そして、該期待値データDa,Dbの各々に相異なる次回演算方式H1A,B、H2A,Bを対応付ける。
復号化処理部333は、主制御基板310から受信した第1認証用データ及び第2認証用データを複数種類の暗号化方式の各々に対応する複数種類の復号化方式の全てで復号化する。なお、複数種類の復号化方式は、説明を簡単化するために、上述した図19に示す復号化方式N1A,B、N2A,Bの場合について説明するが、3種類以上の復号化方式を用いる構成としても良い。また、他の特定方法では、上述したように図19中の演算方式用期待値G1A〜C、G2A〜Cは不要である。
検査値抽出部334は、復号化処理部333によって復号化された全ての第1認証用データ及び第2認証用データから第1検査値及び第2検査値を暗号化方式M1A〜C、M2A〜Cに関連付けて抽出する。詳細には、検査値抽出部334は、第1認証用データ及び第2認証用データの復号化に用いた復号化方式N1A,B、N2A,Bに対応する暗号化方式M1A,B、M2A,Bを特定し、それを抽出した第1検査値及び第2検査値に関連付ける。
特定部340は、検査値抽出部334によって抽出された全ての第1検査値及び第2検査値の中から後段側記憶部332に記憶している期待値と一致する前記第1検査値及び前記第2検査値を特定し、該特定した第1検査値及び第2検査値に関連付けられた暗号化方式M1A,B、M2A,Bに基づいて検査値抽出部(手段)334の次回演算方式を複数種類の演算方式H1A,B、H2A,Bの中から特定する。そして、検査値抽出部334は、特定部340によって特定された次回演算方式で次回の抽出処理を行う。
続いて、後段部202BのCPU21(第3コンピュータ)による各種制御信号の受信処理の手順2’を、図23のフローチャートを参照して説明する。
後段部202Bは、ステップS2601において、主制御部201から制御信号を受信したか否かを判定する。後段部202Bは、制御信号を受信していないと判定した場合(S2601:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、後段部202Bは、制御信号を受信したと判定した場合(S2601:Yes)、ステップS2602の処理に移行する。
後段部202Bは、ステップS2602において、受信した制御信号に認証用データ1003が含まれているか否かを判定する。そして、後段部202Bは、認証用データ1003が含まれていないと判定した場合(S2602:No)、受信したのは通常の制御信号1010であることから、ステップS2603において、主制御基板310に対する認証未実施を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS2613の処理に進む。一方、後段部202Bは、認証用データ1003が含まれていると判定した場合(S2602:Yes)、ステップS2604の処理に進む。
後段部202Bは、ステップS2604において、認証用データ付制御信号1020に含まれた認証用データ1003を取得し、相異なる複数種類の復号化方式N1A,B、N2A,Bの各々で前記第1認証用データV1c及び第2認証用データV2dを復号化してRAM243,283等に暗号化方式及び復号化方式の識別が可能なように記憶し、その後ステップS2605の処理に進む。なお、復号化方式が2種類の場合は、2種類の第1認証用データV1cが記憶されることになる。
後段部202Bは、ステップS2605において、前記復号化された複数の前記第1認証用データV1c及び第2認証用データV2dの各々と前回の処理で定められた、又は、初期値として定められた(初回のみ)第1演算方式及び第2演算方式と付加データCとに基づいて逆演算を行い、第1検査値A’と第2検査値B’とを抽出し、ステップS2606において、抽出した第1検査値A’と第2検査値B’を関連付けて後段側記憶部332に時系列的に記憶し、その後ステップS2607の処理に進む。
後段部202Bは、ステップS2607において、抽出した複数の第1検査値A’の各々と後段側記憶部322の前記期待値と一致するものが存在するか否かを判定する。そして、後段部202Bは、前記期待値と一致する第1検査値A’が存在しないと判定した場合(S2607:No)、前記期待値と一致していないことから、ステップS2612の処理に進む。一方、後段部202Bは、前記期待値と一致する第1検査値A’が存在すると判定した場合(S2607:Yes)、前記期待値と一致していることから、ステップS2608の処理に進む。
後段部202Bは、ステップS2608において、今回抽出した第2検査値B’と前回の第2検査値B’との差分を算出し、該差分が今回の同期方式の相関条件を満たしているか否かに基づいて、第2検査値B’の認証が成立するか否かを判定する。そして、後段部202Bは、認証が成立すると判定した場合(S2608:Yes)、ステップS2609において、主制御部201に対する認証を成立させ、認証成立を示す後段認証結果データ1004を生成してRAM233等に記憶し、その後ステップS2610の処理に進む
後段部202Bは、ステップS2610において、第2検査値B’(同期検査値)に関連付けられた第1検査値A’(個体認証値)に対応付けられた同期方式を後段側記憶部332に記憶している前記期待値データに基づいて複数種類の同期方式の中から特定し、該特定した同期方式を後段部202Bが用いる次回の同期方式と決定して後段側記憶部332等に記憶し、その後ステップS2611の処理に進む。そして、後段部202Bは、ステップS2611において、第1検査値A’と一致した前記期待値に関連付けられた暗号化方式を特定し、該暗号化方式に対応する次回演算方式(図20参照)を次回の第1演算方式及び次回の第2演算方式として特定してRAM233等に記憶し、その後ステップS2613の処理に進む。
一方、後段部202Bは、ステップS2608で第2検査値B’の認証が成立しないと判定した場合(S2608:No)、ステップS2612において、主制御部201に対する認証を不成立とし、認証不成立を示す後段認証結果データ1004を生成してRAM233等に記憶し、その後ステップS2613の処理に進む。
後段部202Bは、ステップS2613において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した後段認証結果データ1004を付加して認証結果信号1030を生成し、ステップS2614において、該生成した認証結果信号1030を周辺部202Aに対して送信し、その後ステップS2615の処理に進む。
後段部202Bは、ステップS2615において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、後段部202Bは、電源がオフされていないと判定した場合(S2615:No)、ステップS2601の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(S2615:Yes)、本フローチャートによる処理を終了する。
このように構成した後段部202Bを上述した周辺基板330に適用すると、その認証処理手順は以下のようになる。なお、図20中の2種類の暗号化方式M1A,B、M2A,B、及び、復号化方式N1A,B、N2A,Bを用いることを前提とする。
被認証者である主制御基板310は、今回の同期方式Paで同期検査値SY1を生成し、次回同期方式として同期方式Pbを選択して記憶し、該同期方式Pbに対応した個体認証値Cbをデータ記憶部311から抽出する。主制御基板310は、個体認証値Cbの期待値データDbに対応した第1演算方式H1B及び第2演算方式H2Bを次回演算方式と決定する。主制御基板310は、予め定められた今回の演算方式である第1演算方式H1Aと第1検査値A1と付加データC1とに基づいて1回目の第1認証用データV1Ac1=H1Ac(A1,C1)を生成し、該第1認証用データV1Ac1を次回の第1演算方式H1Bに対応した暗号化方式M1Bで暗号化して周辺基板330の周辺部202Aに送信する。そして、主制御基板310は、第2検査値B1と第1検査値A1と予め定められた今回の演算方式である第2演算方式H2Aに基づいて1回目の第2認証用データV2Ad1=H2Ad(B1,A1)を生成し、該第2認証用データV2Ad1を次回の第2演算方式H2Bに対応した暗号化方式M2Bで暗号化して周辺基板330の周辺部202Aに送信する。
一方、周辺基板330の周辺部202Aは、主制御基板310から受信した第1認証用データV1Ac1を後段部202Bに転送する。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2Ad1を後段部202Bに転送する。
一方、周辺基板330の後段部202Bは、主制御基板310から受信した第1認証用データV1As1及び第2認証用データV2Ad1を2種類の復号化方式N1A,B、N2A,Bで復号化してそれぞれ2つの復号化済み第1認証用データV1Ac1及び第2認証用データV2Ad1を求める。後段部202Bは、各第1認証用データV1Ac1及び第2認証用データV2Ad1から第1検査値及び第2検査値を抽出し、それらの第1検査値(個体認証値)と前記期待値データとを比較する。後段部202Bは、前記期待値データと一致する第1検査値を特定すると、主制御基板310の認証を成立させると共に、その一致した第1検査値に対応する暗号化方式を2種類の暗号化方式M1A,B、M2A,Bの中から特定する。例えば、暗号化方式M1B、M2Bを特定した場合、周辺基板330は、第1演算方式H1B、H2Bを次回演算方式として特定する。後段部202Bは、今回と前回の第2検査値との差分を算出し、該差分が今回の同期方式Paの相関条件を満たすか否かの判定結果に基づいて認証を行う。後段部202Bは、その認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板330の周辺部202Aに送信する。そして、この1回目の認証が成立した場合、後段部202Bは、今回の同期方式Paにおいて認証が成立した固体認証値Cbに対応した同期方式Pbを次回同期方式として決定し、2回目の認証処理を行う。
一方、周辺基板330の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う。そして、周辺基板330は、第1検査値A1、第2検査値B1の双方に対する認証が成立した場合に次回の認証処理を継続する。
このように周辺基板330を構成しても、ぱちんこ遊技機100は上述した実施例2と同様の作用効果を得ることができる。
なお、本実施形態で説明した主制御部及び周辺部の制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、CD−ROM、MO、DVD、等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布することが可能な電送媒体であってもよい。