以下に添付図面を参照して、本発明にかかる遊技機であるぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムに好適な実施の形態を詳細に説明する。
[実施例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は、周辺基板320を動作させるための制御コマンドを送信する機能部であり、データ記憶部311、第1検査値生成部312、動作値取得部313、第2検査値生成部314、第1認証用データ生成部315、第2認証用データ生成部316、暗号化処理部317、主制御側送信部318を有して構成している。そして、主制御基板310は周辺基板320の周辺部(演出制御部)202Aと通信可能なように電気的に接続されている。
データ記憶部311は、例えば、主制御部201のCPU211の動作を規定するプログラムデータ、後述する個体認証値、該プログラムデータを実行した211の動作に対応して変化する動作値、等の各種データを記憶している。即ち、本実施形態では、データ記憶部311が本発明のプログラムデータ記憶手段として機能している。そして、データ記憶部311としては、例えば、主制御部201のROM212、RAM213(図2参照)の一部を用いることができる。
ここで、動作値は、主制御基板310が予め定められた動作中であるかを周辺基板320側で認証することが可能な値となっている。動作値の一例としては、認証処理の回数、プログラム機能の処理番号、等が挙げられる。詳細には、認証処理の回数を動作値とする場合、1回目の認証処理から10回目の認証処理を1周期とすれば、1,2,・・・,10が1周期として順次変化し、11回目の認証処理から20回目の認証処理までは、1,2,・・・,10と順次変化する。このように1〜10の値のみを繰り返し用いることで、動作値は小さな値とすることができるが、これに代えて、例えば動作値を通し番号等とすることもできる。
また、プログラム機能の処理番号を動作値とする場合、処理1→処理3→処理4→処理2→処理5が正規の遷移とすれば、その遷移番号は1,3,4,2,5となり、その番号を動作値としたり、所定回数分の複数の遷移番号を動作値としたり、所定回数分の複数の遷移番号を演算した演算値を動作値とするなど種々異なる実施形態とすることができる。そして、本実施形態では、上記動作値を初期処理等で生成してデータ記憶部311に記憶し、該動作値を主制御基板310の動作に応じて更新する機能を上記プログラムデータによってCPU211が実現するようにしている。
例えば、ぱちんこ遊技機100が、はずれ処理、大当たりリーチ処理、大当たり開始処理、大当たりラウンド処理、大当たり終了処理、はずれ処理というように一連の処理を行う場合、上述した遷移番号1をはずれ処理、遷移番号3を大当たりリーチ処理、遷移番号4を大当たり開始処理、遷移番号2を大当たりラウンド処理、遷移番号5を大当たり終了処理にそれぞれ割り付けることで、遷移番号は1,3,4,2,5と変化することになる。よって、該遷移番号を動作値として用いる場合、動作値が正規の順番で遷移しているか否かを検査することで、主制御部201不正な処理が行われたか否かを検査することができる。
第1検査値生成部312は、本発明の第1検査値生成手段に相当し、主制御部201の個体認証値を検査する第1検査値を第1認証方式で生成してデータ記憶部311に記憶する。個体認証値の一例としては、予め定められた認証コード、識別コード、識別コマンド、等が挙げられる。そして、第1認証方式としては、例えばチェックサム、パリティチェック、ハミングコードチェック、CRC(巡回冗長検査)、等の公知の誤り検出方法を用いることができる。即ち、第1検査値は、個体認証値を第1認証方式で演算した値となっているため、不正解析者は第1認証方式が判明しない限り、第1検査値を解析することはできない。なお、個体認証値としては、例えば前記プログラムデータから予め定められた抽出パターンで抽出した抽出データに基づいて所望の演算式で演算した演算値とすることもできる。
動作値取得部313は、本発明の動作値取得手段に相当し、上記プログラムデータを実行した主制御部201のCPU211の動作に対応して変化する動作値を前記データ記憶部311から取得する。動作値取得手段313は、後述する第2検査値を生成する場合に動作値を取得する、予め定められた取得タイミング(例えば、所定の動作終了時、所定の動作開始持、等)で取得するなど種々異なる実施形態とすることができる。
第2検査値生成部314は、本発明の第2検査値生成手段に相当し、動作値取得部313によって取得した上記動作値を検査する第2検査値を第2認証方式で生成してデータ記憶部311に記憶する。第2認証方式としては、上述した第1認証方式と同様に、例えばチェックサム、パリティチェック、ハミングコードチェック、CRC(巡回冗長検査)、等の公知の誤り検出方法を用いることができる。即ち、第2検査値は、上記動作値を第2認証方式で演算した値となっているため、不正解析者は第2認証方式が判明しない限り、第2検査値を解析することはできない。また、第1認証方式と第2認証方式は、異なる認証方式を設定してもよいし、同一の認証方式を設定してもよい。
このように第1検査値及び第2検査値は、異なる2つの第1認証方式、第2認証方式を採用する。そして、第1,2認証方式は、主制御部201と周辺部との相互間で予め取り決めしておく。また、処理負荷(生成持の負荷)が軽い第1,2認証方式を用いることで、被認証者(主制御部)が高度な処理能力を有していなくても、セキュリティ強度の向上を図ることができる。
第1認証用データ生成部315は、本発明の第1認証用データ生成手段に相当し、第1検査値又は第2検査値の何れか一方の検査値を予め定められた第1演算方式で演算して第1認証用データを生成する。第1認証用データ生成部315は、例えば、第1演算方式が示す演算を一方の検査値に施して第1認証用データを生成するものであり、該第1認証用データを周辺基板320に送信することで、一方の検査値が周辺基板320にそのままのデータで送信されるのを防止している。そして、第1演算方式の一例としては、一方の検査値と定数や付加データとの加算、減算、積算、除算、排他的論理和を演算する演算方式や、一方の検査値から予め定められた関数式に基づいて演算する演算方式等を用いることができる。
第2認証用データ生成部316は、本発明の第2認証用データ生成手段に相当し、前記一方の検査値とは異なる前記第1検査値又は前記第2検査値の他方の検査値と前記一方の検査値の全て又は一部とを予め定められた第2演算方式で演算して第2認証用データを生成する。第2認証用データ生成部316は、例えば、第2演算方式が示す演算を前記他方の検査値に施して第2認証用データを生成するものであり、該第2認証用データを周辺基板320に送信することで、他方の検査値が周辺基板320にそのままのデータで送信されるのを防止している。第2演算方式は、上記第1演算方式で説明した各種演算方式を用いることができる。なお、第2演算方式は、第1演算方式と同一の演算方式を設定する、各々に異なる演算方式を設定するなど種々異なる実施形態とすることができる。
本実施形態では、第1認証用データ及び第2認証用データは第1,2検査値をもとに生成し、第1,2検査値と予め定めた期待値との照合により主制御部201の認証の成立/不成立を判断する。また、この実施形態に代えて、第1,2検査値そのものを第1,2認証用データとしてもよい。
暗号化処理部317は、第1認証用データ及び第2認証用データを、周辺基板320との間で予め定められた暗号化方法で暗号化する。なお、主制御基板310と周辺基板320との間で暗号化が不要な場合は、主制御基板310の構成から暗号化処理部317を削除して、第1認証用データ及び第2認証用データをそのまま主制御側送信部318から周辺基板320に送信する。
主制御側送信部318は、本発明の送信手段に相当し、第1認証用データ生成部315で生成した第1認証用データ及び第2認証用データ生成部316で生成した第2認証用データを周辺基板320に送信する。そして、主制御側送信部318は、例えば、主制御基板310から周辺基板320に送信される制御信号に第1認証用データ及び第2認証用データを付加することにより、第1,2認証用データを周辺基板320に送信する。
本発明のぱちんこ遊技機100は、2つの認証要素として、主制御部201の正当性を認証するための第1検査値と、主制御部201の動作継続性を認証するための第2検査値とを採用している。ぱちんこ遊技機100は、主制御部201が正規のものであるか否かを検証するのに第1検査値を用いる。ぱちんこ遊技機100は、その動作中に、なりすましのための不正な切り替えが発生したか否かを検証するのに第2検査値を用いる。そして、ぱちんこ遊技機100は、2つの認証要素を組み合わせて認証することで、セキュリティの向上を図るとともに、主制御部201から周辺部に送信する第1,2認証用データが再利用されるのを防止している。
続いて、上述した演出制御部202Aなどの周辺部としての機能を有する周辺基板320の機能的構成について説明する。図3に示すように、周辺基板320は、周辺部(演出制御部)202Aと、後段部202Bと、を有して構成している。そして、周辺基板320は、周辺部(演出制御部)202Aと後段部202Bとの間で双方向通信が可能に構成している。なお、本実施例では、演出制御部202Aと後段部202Bとを有する周辺基板320とした場合について説明するが、これに代えて、賞球制御部203側に後段部202Bを設けた周辺基板とすることもできる。
次に、後段部202Bは、後段側受信部321、期待値記憶部322、復号化処理部323、検査値抽出部324、後段認証結果データ生成部325、後段側送信部326を有して構成している。
後段側受信部321は、本発明の後段側受信手段に相当し、主制御基板310が周辺部202Aに送信し且つ当該周辺部202Aから転送された第1,2認証用データ等を受信する。本実施形態の後段側受信部321は、例えば、第1,2認証用データが付加された制御信号を受信することによって、第1,2認証用データを主制御基板310から周辺部202Aを介して受信する。
期待値記憶部322は、上述した主制御基板310から受信すべき第1検査値及び第2検査値に対応した第1期待値、第2期待値等の複数の期待値データを記憶している。即ち、期待値記憶部322は、正規の主制御基板310が生成する第1,2検査値を第1,2期待値として予め記憶しており、その第1,2期待値と第1,2検査値が一致していれば、正規の第1,2検査値を受信したと判定できる。また、その第1,2期待値と第1,2検査値が一致していなければ、不正な第1,2検査値を受信したと判定できる。
復号化処理部323は、上述した主制御基板310の暗号化処理部317で用いた暗号化方法に対応した復号化方式で、後段側受信部321によって主制御基板310から受信した第1,2認証用データを復号化する。なお、主制御基板310と周辺基板320との間で暗号化が不要な場合は、周辺基板320の構成から復号化処理部323を削除して、後段側受信部321と検査値抽出部324とを直接接続する。
検査値抽出部324は、本発明の検査値抽出手段に相当し、後段側受信部321によって受信した第1認証用データ及び第2認証用データから第1検査値又は第2検査値を第1演算方式及び第2演算方式に基づいて抽出する。詳細には、検査値抽出部324は、予め定められた上記第1,2演算方式を用いて逆演算を行って第1,2認証用データの各々から第1,2検査値を抽出する。
後段認証結果データ生成部325は、本発明の後段認証結果データ生成手段に相当し、前記第1検査値又は前記第2検査値の各々に対応して予め定められた第1期待値及び第2期待値と検査値抽出部324によって抽出した第1検査値及び第2検査値とが一致するか否かを比較し、該比較結果に基づいて主制御基板310(主制御部)の認証が成立したか否かを示す後段認証結果データを生成する。即ち、後段認証結果データは、後段部202Bが主制御部201を認証したか否かの認証結果を示しており、第1,2期待値と第1検査値及び第2検査値とが一致する場合に主制御基板310の認証成立を示し、また、一致しない場合に認証不成立を示している。また、本実施形態では、受信した制御信号に認証用データが付加されていない場合、後段認証結果データに「認証未実施」が設定される。
後段側送信部326は、本発明の後段側送信手段に相当し、後段認証結果データ生成部325が生成した後段認証結果データを周辺部202Aに送信する。そして、後段側送信部326は、例えば、周辺部202Aに送信する認証結果信号に後段認証結果データを付加することにより、後段認証結果データを周辺部202Aに送信する。
次に、周辺部202Aは、転送部331と、周辺側受信部332と、処理部333と、を有して構成している。
転送部331は、本発明の転送手段に相当し、主制御基板310から第1認証用データ及び第2認証用データを受信し且つ該受信した第1認証用データ及び第2認証用データを後段部202Bに転送する。本実施形態の転送部331は、例えば、第1,2認証用データが付加された制御信号を主制御基板310から受信すると、該制御信号を後段部202Bにそのまま送信することで、第1,2認証用データを後段部202Bに転送している。
なお、本実施形態では、転送部331が主制御基板310から受信した通常の制御信号1010及び認証用データ付制御信号1020を周辺部202Aに転送する場合について説明した。本発明はこれに限定するものではなく、例えば、周辺部202Bが認証用データ付制御信号1020のみを後段部202Bに転送し、通常の制御信号1010は転送せずに、該制御信号1010の制御コマンドデータ1001に応じた所定の処理を行うなどの実施形態とすることもできる。
周辺側受信部332は、本発明の周辺側受信手段に相当し、周辺基板320の後段部202Bによって送信された前記後段認証結果データ等を受信する。そして、本実施形態の周辺側受信部332は、例えば後段部202Bが送信した前記認証結果信号を受信することによって、後段認証結果データを後段部202Bから受信する。
処理部333は、本発明の処理手段に相当し、後段部202Bから受信した後段認証結果データに応じて、ぱちんこ遊技機100における所定の処理を行う。処理部333は、前記後段認証結果データが認証成立を示している場合に前記所定の処理を行い、また、認証不成立を示している場合は報知を行う。なお、前記所定の処理は、ぱちんこ遊技機100における主制御部201からの制御コマンドに応じて行う、例えば、はずれ処理、大当たりリーチ処理、大当たり開始処理、大当たりラウンド処理、大当たり終了処理、等の処理が挙げられる。
なお、本実施形態では、後段部202Bから周辺部202Aに向けて送信するデータを暗号化しない構成で説明するが、後段部202Bから周辺部202Aに向けて送信するデータに暗号化する構成とすることもできる。
また、本実施形態では、主制御基板310のCPU211が請求項中の第1コンピュータ、周辺基板320の周辺部(演出制御部)202AのCPU241が請求項中の第2コンピュータ、周辺基板320の後段部202BのCPU21が請求項中の第3コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の第1検査値生成手段、動作値取得手段、第2検査値生成手段、第1認証用データ生成手段、第2認証用データ生成手段、主制御側送信手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板320の周辺部202AのROM242は、前記第2コンピュータを請求項中の転送手段、周辺側受信手段、処理手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。また、周辺基板320の後段部202BのROM22は、前記第3コンピュータを請求項中の後段側受信手段、復号化手段、検査値抽出手段、後段認証結果データ生成手段、後段側送信手段、等の各種手段として機能させるための後段側認証プログラムを記憶している。即ち、主制御側認証プログラムと周辺側認証プログラムと後段側認証プログラムとによって本発明の認証プログラムを構成している。
(ぱちんこ遊技機の基本動作)
上記構成によるぱちんこ遊技機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演算方式で以下のように生成される。
(認証用データの生成方法)
上述したように、第1検査値A及び第2検査値Bと第1演算式(方式)H1及び第2演算式(方式)H2を用いて、第1認証用データV1及び第2認証用データV2を生成する場合の一例を説明する。
まず、第1検査値Aは、主制御部201の個体認証値(例えばチェックサム)を周辺基板320の後段部202Bで検査する検査値であり、上述した第1認証方式で演算して生成されている。そして、第2検査値Bは、主制御部201の動作値を後段部202Bで検査するための検査値であり、上述した第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は予め定められた逆演算可能な関数式とすることもできる。
よって、周辺基板320の後段部202Bは、主制御部201が用いる演算式(方式)H1,H2と付加データCとを予め記憶しておくことで、これらのデータと主制御部201から受信した第1認証用データV1及び第2認証用データV2を逆演算して第1検査値A及び第2検査値Bを抽出することができる。
なお、本実施形態では、説明を簡単化するために、演算式(方式)H1,H2が2つのパラメータを用いて演算する場合について説明するが、これに代えて、例えば2つの検査値と付加データ等の3つ以上のパラメータを用いる演算式(方式)とすることもできる。そして、3つ以上のパラメータを使用する場合、演算及び逆演算の方式等は、主制御部201と周辺部との間で予め取り決めをしておくことで実現することができる。
また、上述した(式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認証用データV2s=H2s(B,A)、(式1)’の場合は第1認証用データV1s=H1s(B,C)、(式2)’の場合は第2認証用データV2c=H2c(A,B)と定義する。
(認証方法の具体例1)
続いて、上述した(式1)、(式2)の演算方式を用いて第1,2認証用データV1c,V2sを生成して認証を行う具体例を以下に説明する。なお、第1検査値Aは個体認証値(チェックサム:0x80)、第2検査値Bは動作値(処理回数:0x01)、付加データCは定数(0x10)としている。
・被認証者が1回目の認証用データを生成する例
第1認証用データV1c=第1検査値(0x80)+付加データ(0x10)=0x90
第2認証用データV2s=第2検査値(0x01)+第1検査値(0x80)=0x81
・認証者が1回目の認証用データから検査値を抽出する例
抽出した第1検査値A’=第1認証用データV1c(0x90)−付加データ(0x10)=0x80
抽出した第2検査値B’=第2認証用データV2s(0x81)−第1検査値(0x80)=0x01
・認証者が1回目の認証を行う例
周辺部が第1検査値Aの第1期待値aが0x80、第2検査値Bの第2期待値bが0x01を記憶している場合、抽出した第1検査値A’と第1期待値aは0x80、第2検査値B’と第2期待値bは0x01で一致する場合、周辺部は主制御部201の認証を成立と判定する。また、抽出した第1検査値aと第2検査値bの何れか一方でも一致しない場合、周辺部は主制御部201の認証を不成立と判定する。
・被認証者が2回目の認証用データを生成する例
第1認証用データV1c=第1検査値(0x80)+付加データ(0x10)=0x90
第2認証用データV2s=第2検査値(0x02)+第1検査値(0x80)=0x82
・認証者が2回目の認証用データから検査値を抽出する例
抽出した第1検査値A’=第1認証用データV1c(0x90)−付加データ(0x10)=0x80
抽出した第2検査値B’=第2認証用データV2s(0x82)−第1検査値(0x80)=0x02
・認証者が2回目の認証を行う例
周辺部が第1検査値Aの第1期待値aが0x80、第2検査値Bの第2期待値bが0x02と更新して記憶している場合、抽出した第1検査値A’と第1期待値aは0x80、第2検査値B’と第2期待値bは0x02で一致する場合、周辺部は主制御部201の認証を成立と判定する。また、抽出した第1検査値aと第2検査値bの何れか一方でも一致しない場合、周辺部は主制御部201の認証を不成立と判定する。
(認証方法の具体例2)
続いて、上述した具体例1を変形させた場合について説明する。詳細には、1回目は同一の認証処理とし、2回目以降において、付加データCを予め定められた法則により変動させる場合について説明する。
・被認証者が2回目の認証用データを生成する例
第1認証用データV1c=第1検査値(0x80)+付加データ(0x20:法則は2倍)=0xA0
第2認証用データV2s=第2検査値(0x02)+第1検査値(0x80)=0x82
・認証者が2回目の認証用データから検査値を抽出する例
抽出した第1検査値A’=第1認証用データV1c(0xA0)−付加データ(0x20)=0x80
抽出した第2検査値B’=第2認証用データV2s(0x82)−第1検査値(0x80)=0x02
・認証者が2回目の認証を行う例
周辺部が第1検査値Aの第1期待値aが0x80、第2検査値Bの第2期待値bが0x02と更新して記憶している場合、抽出した第1検査値A’と第1期待値aは0x80、第2検査値B’と第2期待値bは0x02で一致する場合、周辺部は主制御部201の認証を成立と判定する。また、抽出した第1検査値aと第2検査値bの何れか一方でも一致しない場合、周辺部は主制御部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は、周辺基板320において後段部202Bから周辺部202Aに、認証用データ付制御信号1020の代わりに送信される。即ち、認証結果信号1030の制御コマンドデータ1001及び付随データ1002は、周辺部202Aから転送された制御信号の制御コマンドデータ1001及び付随データ1002と同一のデータであり、それらに後段認証結果データ1004が付加される。そして、後段認証結果データ1004は、主制御基板310の認証結果を示すデータ、主制御基板310の認証が未実施であることを示すデータ、等が設定される。後段認証結果データ1004は、例えば、「認証成立」、「認証不成立」、「認証未実施」、等を示すデータである。
(制御信号の送受信に関する処理)
以下に、主制御部201と周辺部との間で行う制御信号の通信例を説明する。まず、主制御201のCPU211(第1コンピュータ)による制御信号の送信手順の一例を、図11のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は、ステップS1201において、制御コマンドを送信するか否かを判定する。なお、判定方法の一例としては、主制御部201から周辺部に送信する制御コマンドデータ1001が発生しているか否かに基づいて判定する。そして、主制御部201は、制御コマンドを送信しないと判定した場合(S1201:No)、ステップS1209の処理に進む。一方、主制御部201は、制御コマンドを送信すると判定した場合(S1201:Yes)、ステップS1202の処理に進む。
主制御部201は、ステップS1202において、主制御部201の個体認証値から第1認証方式の第1検査値Aを生成してRAM213等に記憶し、その後ステップS1203の処理に進む。そして、主制御部201は、ステップS1203において、上述したデータ記憶部311(図3参照)から主制御部201の動作値を取得してRAM213等に記憶し、ステップS1204において、該取得した動作値から第2認証方式の第2検査値Bを生成してRAM213等に記憶し、その後ステップS1205の処理に進む。
主制御部201は、ステップS1205において、上述した第1検査値Aと付加データCとを第1演算方式である上記(式1)で演算して第1認証用データV1cを求めてRAM213等に記憶し、その後ステップS1206の処理に進む。そして、主制御部201は、ステップS1206において、上述した第2検査値Bと第1検査値Aとを第2演算方式である上記(式2)で演算して第2認証用データV2sを求めてRAM213等に記憶し、その後ステップS1207の処理に進む。
主制御部201は、ステップS1207において、前記生成した第1認証用データV1c及び第2認証用データV2sを予め定められた暗号化方法で暗号化し、ステップS1208において、該第1認証用データV1c及び第2認証用データV2sと制御コマンドデータ1001に基づいて認証用データ付制御信号1020を生成して周辺部202Aに対して送信し、その後ステップS1209の処理に進む。
主制御部201は、ステップS1209において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1209:No)、ステップS1201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1209: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等に記憶し、その後ステップS1309の処理に進む。
一方、後段部202Bは、ステップS1302で認証用データ1003が含まれていると判定した場合(S1302:Yes)、ステップS1304において、認証用データ付制御信号1020に含まれた認証用データ1003を取得し、該認証用データ1003である第1認証用データV1c及び第2認証用データV2sを前記暗号化方式に対応した復号化方式で復号化し、該第1認証用データV1c及び第2認証用データV2sと第1演算方式及び第2演算方式と付加データCとに基づいて逆演算を行い、第1検査値A’と第2検査値B’とを第1認証用データV1c及び第2認証用データV2sから抽出してRAM23等に記憶し、その後ステップS1305の処理に進む。
後段部202Bは、ステップS1305において、抽出した、第1検査値A’及び第2検査値B’の双方と予め定められた第1,2期待値とが一致しているか否かを判定する。そして、後段部202Bは、両方とも第1,2期待値の各々と一致していると判定した場合(S1305:Yes)、ステップS1306において、主制御部201に対する認証を成立させ、認証成立を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS1307の処理に進む。
後段部202Bは、ステップS1307において、前記動作値である第2検査値B’は、主制御部201の動作に応じて変化することから、変化に対応するように期待値記憶部322の第2期待値を更新し、その後S1309の処理に進む。なお、第2期待値の更新例としては、前記動作値が処理回数でインクリメントする場合、第2期待値をインクリメントして更新することになる。
一方、後段部202Bは、ステップS1305で第1検査値A’及び第2検査値B’の双方と予め定められた第1,2期待値との両方が一致していないと判定した場合(S1305:No)、ステップS1308において、主制御部201に対する認証を不成立とし、認証不成立を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS1309の処理に進む。
後段部202Bは、ステップS1309において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した後段認証結果データ1004を付加して認証結果信号1030を生成し、ステップS1310において、該生成した認証結果信号1030を周辺部202Aに対して送信し、その後ステップS1311の処理に進む。
後段部202Bは、ステップS1311において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部は、電源がオフされていないと判定した場合(S1311:No)、ステップS1301の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(S1311: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で認証成立を示していない、つまり認証不成立をしめしていると判定した場合(S1405:No)、ステップS1408において、制御コマンドデータ1001及び付随データ1002を破棄するとともに、例えばスピーカ262(図2参照)等から報知信号を出力して、本フローチャートによる処理を終了する。
(認証用データを用いた認証処理手順例1)
図14において、被認証者である主制御基板310は、正規のCPU211の動作値である第2検査値B1を生成し(S1501)、正規のCPU211の個体認証値である第1検査値A1を生成する(S1502)。主制御基板310は、第2検査値B1と付加データC1とに基づいて1回目の第1認証用データV1s1=H1s(B1,C1)を生成して周辺基板320に送信する(S1503)。そして、主制御基板310は、第1検査値A1と第2検査値B1とに基づいて1回目の第2認証用データV2c1=H2c(A1,B1)を生成して周辺基板320の後段部202Bに送信する(S1504)。
このように認証処理手順例1では、第2検査値はBn、第1検査値はAn、第1演算方式はH1s、第1認証用データはV1sn、第2演算方式はH2c、第2認証用データはV2cnとそれぞれ表しており、nは認証回数を示している(n=1,2,3・・・)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1s1を後段部202Bに転送する(S1511)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2c1を後段部202Bに転送する(S1512)。
一方、周辺基板320の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1s1から、演算方式H1sと付加データC1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1521)。そして、後段部202Bは、同様に、第2認証用データV2c1から演算方式H2cと第2検査値B1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1522)。そして、後段部202Bは、主制御基板201の認証結果、又は、認証未実施を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S1523)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1513)。
このように周辺基板320は、後段部202Bが第1検査値A1(個体認証値)及び第2検査値B1(動作値)に基づいた主制御基板310に対する1回目の認証処理を行い、周辺部202Aが後段部202Bの認証結果に応じて所定の処理を行う。そして、1回目の認証が成立した場合は、2回目の認証処理を行う。
続いて、図15において、主制御基板310は、正規のCPU211の動作値である第2検査値B2を生成し(S1531)、正規のCPU211の個体認証値である第1検査値A2を生成する(S1532)。主制御基板310は、第2検査値B2と付加データC2とに基づいて2回目の第1認証用データV1s2=H1s(B2,C2)を生成して周辺基板320に送信する(S1533)。そして、主制御基板310は、第1検査値A2と第2検査値B2とに基づいて2回目の第2認証用データV2c2=H2c(A2,B2)を生成して周辺基板320に送信する(S1534)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1s2を後段部202Bに転送する(S1541)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2c2を後段部202Bに転送する(S1542)。
一方、周辺基板320の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1s2から、演算方式H1sと付加データC2とを用いて逆演算を行って第2検査値B2を抽出し、該第2検査値B2と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1551)。そして、周辺基板320は、同様に、第2認証用データV2c2から演算方式H2cと第2検査値B2とを用いて逆演算を行って第1検査値A2を抽出し、該第1検査値A2と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1552)。そして、後段部202Bは、主制御基板201の認証結果、又は、認証未実施を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S1553)。
周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1543)。
このように周辺基板320は、後段部202Bが第1検査値A2(個体認証値)及び第2検査値B2(動作値)に基づいた主制御基板310に対する2回目の認証処理を行い、周辺部202Aが後段部202Bの認証結果に応じて所定の処理を行う。そして、2回目の認証が成立した場合は、上述したように3回目以降の認証処理を行う。
このように認証処理手順例1の場合、第2認証用データV2cnには、第1認証用データV1snの生成に用いた第2検査値(動作値)Bnが含まれているため、第2認証用データV2cnから第1検査値Anを抽出するには、第2検査値Bnの抽出及び認証が必須となるため、不正解析者が第2認証用データV2cnを解析して再利用することを困難とすることができる。そして、この認証処理を後段部202Bが行うため、周辺部202Aは認証処理を行わずに、後段部202Bの認証結果を参照するだけなので、周辺部202AのCPU241の処理負荷を軽減することができる。
(認証用データを用いた認証処理手順例2)
図16において、被認証者である主制御基板310は、正規のCPU211の個体認証値である第1検査値A1を生成し(S1601)、正規のCPU211の動作値である第2検査値B1を生成する(S1602)。主制御基板310は、第1検査値A1と付加データC1とに基づいて1回目の第1認証用データV1c1=H1c(A1,C1)を生成して周辺基板320に送信する(S1603)。そして、主制御基板310は、第2検査値B1と第1検査値A1とに基づいて1回目の第2認証用データV2s1=H2s(B1,A1)を生成して周辺基板320に送信する(S1604)。
このように認証処理手順例2では、第1検査値はAn、第2検査値はBn、第1演算方式はH1c、第1認証用データはV1cn、第2演算方式はH2s、第2認証用データはV2snとそれぞれ表しており、nは認証回数を示している(n=1,2,3・・・)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1c1を後段部202Bに転送する(S1611)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2s1を後段部202Bに転送する(S1612)。
一方、周辺基板320の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1c1から、演算方式H1cと付加データC1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1621)。そして、後段部202Bは、同様に、第2認証用データV2s1から演算方式H2sと第1検査値A1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1622)。そして、後段部202Bは、主制御基板201の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S1623)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1613)。
このように周辺基板320は、後段部202Bが第1検査値A1(個体認証値)及び第2検査値B1(動作値)に基づいた主制御基板310に対する1回目の認証処理を行い、周辺部202Aが後段部202Bの認証結果に応じて所定の処理を行う。そして、1回目の認証が成立した場合は、2回目以降の認証処理を行う。
続いて、図17において、主制御基板310は、正規のCPU211の個体認証値である第1検査値A2を生成し(S1631)、正規のCPU211の動作値である第2検査値B2を生成する(S1632)。主制御基板310は、第1検査値A2と付加データC2とに基づいて2回目の第1認証用データV1c2=H1c(A2,C2)を生成して周辺基板320に送信する(S1633)。そして、主制御基板310は、第2検査値B2と第1検査値A2とに基づいて2回目の第2認証用データV2s2=H2s(B2,A2)を生成して周辺基板320に送信する(S1634)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1c2を後段部202Bに転送する(S1641)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2s2を後段部202Bに転送する(S1642)。
一方、周辺基板320の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1c2から、演算方式H1cと付加データC2とを用いて逆演算を行って第1検査値A2を抽出し、該第1検査値A2と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1651)。そして、周辺基板320は、同様に、第2認証用データV2s2から演算方式H2sと第1検査値A2とを用いて逆演算を行って第2検査値B2を抽出し、該第2検査値B2と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1652)。そして、後段部202Bは、主制御基板201の認証結果、又は、認証未実施を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S1653)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1643)。
このように周辺基板320は、後段部202Bが第1検査値A2(個体認証値)及び第2検査値B2(動作値)に基づいた主制御基板310に対する2回目の認証処理を行い、周辺部202Aが後段部202Bの認証結果に応じて所定の処理を行う。そして、2回目の認証が成立した場合は、3回目以降の認証処理を行う。
このように認証処理手順例2の場合、第2認証用データV2snには、第1認証用データV1snの生成に用いた第2検査値(動作値)Bnが含まれているため、第2認証用データV2cnから第1検査値Anを抽出するには、第2検査値Bnの抽出及び認証が必須となるため、不正解析者が第2認証用データV2cnを解析して再利用することを困難とすることができる。そして、この認証処理を後段部202Bが行うため、周辺部202Aは認証処理を行わずに、後段部202Bの認証結果を参照するだけなので、周辺部202AのCPU241の処理負荷を軽減することができる。
(認証用データを用いた認証処理手順例3)
図18において、被認証者である主制御基板310は、正規のCPU211の動作値である第2検査値B1を生成し(S1701)、第2検査値B1と付加データC1とに基づいて1回目の第1認証用データV1s1=H1s(B1,C1)を生成して周辺基板320に送信する(S1702)。一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1s1を後段部202Bに転送する(S1711)。そして、後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1s1から、演算方式H1sと付加データC1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1721)。この認証が成立した場合は、認証処理を継続する。
主制御基板310は、正規のCPU211の動作値である第2検査値B2を生成し(S1731)、正規のCPU211の個体認証値である第1検査値A1を生成する(S1732)。主制御基板310は、第2検査値B2と付加データC2とに基づいて2回目の第1認証用データV1s2=H1s(B2,C2)を生成して周辺基板320に送信する(S1733)。そして、主制御基板310は、第1検査値A1と前回生成した第2検査値B1とに基づいて1回目の第2認証用データV2c1=H2c(A1,B1)を生成して周辺基板320に送信する(S1734)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1s2を後段部202Bに転送する(S1741)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2c1を後段部202Bに転送する(S1742)。
一方、周辺基板320の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1s2から、演算方式H1sと付加データC2とを用いて逆演算を行って第2検査値B2を抽出し、該第2検査値B2と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1751)。そして、後段部202Bは、同様に、第2認証用データV2c1から演算方式H2cと前回の第2検査値B1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1752)。そして、後段部202Bは、主制御基板201の認証結果、又は、認証未実施を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S1753)。
周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1761)。
このように周辺基板320は、後段部202Bが第1検査値A1(個体認証値)及び第2検査値B1,2(動作値)に基づいた主制御基板310に対する1回目の認証処理を行い、周辺部202Aが後段部202Bの認証結果に応じて所定の処理を行う。そして、今回の認証が成立した場合は、次回の認証処理を継続して行う。
このように認証処理手順例3の場合、第2認証用データV2cnには、第1認証用データV1snの生成に用いた第2検査値(動作値)Bnが含まれているため、第2認証用データV2cnから第1検査値Anを抽出するには、第2検査値Bnの抽出及び認証が必須となるため、不正解析者が第2認証用データV2cnを解析して再利用することを困難とすることができる。また、認証処理手順3では、主制御基板310が1回の認証処理に対して第2検査値Bn,B(n+1)を生成して第1認証用データV1sn,V1s(n+1)を周辺基板320に送信していることから、不正解析者による解析をより一層困難にすることができる。なお、第1認証用データV1snと第2認証用データV2cnとの送信回数の比率は一定としたり、変化させるなど任意に定めることができる。また、この認証処理を後段部202Bが行うため、周辺部202Aは認証処理を行わずに、後段部202Bの認証結果を参照するだけなので、周辺部202AのCPU241の処理負荷を軽減することができる。
(認証用データを用いた認証処理手順例4)
図19において、被認証者である主制御基板310は、正規のCPU211の個体認証値である第1検査値A1を生成し(S1801)、第1検査値A1と付加データC1とに基づいて1回目の第1認証用データV1c1=H1c(A1,C1)を生成して周辺基板320に送信する(S1802)。一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1c1を後段部202Bに転送する(S1811)。そして、後段部202Bは、周辺部202Aを介して主制御基板310から受信した第1認証用データV1c1から演算方式H1cと付加データC1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1821)。この認証が成立した場合は、認証処理を継続する。
主制御基板310は、正規のCPU211の個体認証値である第1検査値A2を生成し(S1831)、正規のCPU211の動作値である第2検査値B1を生成する(S1832)。主制御基板310は、第1検査値A2と付加データC2とに基づいて2回目の第1認証用データV1c2=H1c(A2,C2)を生成して周辺基板320に送信する(S1833)。そして、主制御基板310は、第2検査値B1と前回生成した第1検査値A1とに基づいて1回目の第2認証用データV2s1=H2s(B1,A1)を生成して周辺基板320に送信する(S1834)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1c2を後段部202Bに転送する(S1841)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2s1を後段部202Bに転送する(S1842)。
一方、周辺基板320の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1c2から、演算方式H1cと付加データC2とを用いて逆演算を行って第1検査値A2を抽出し、該第1検査値A2と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1851)。そして、周辺基板320は、同様に、第2認証用データV2s1から演算方式H2sと前回の第1検査値A1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1852)。そして、後段部202Bは、主制御基板201の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S1853)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1861)。
このように周辺基板320は、後段部202Bが第1検査値A1(個体認証値)及び第2検査値B1,2(動作値)に基づいた主制御基板310に対する1回目の認証処理を行い、周辺部202Aが後段部202Bの認証結果に応じて所定の処理を行う。そして、今回の認証が成立した場合は、次回の認証処理を継続して行う。
このように認証処理手順例4の場合、第2認証用データV2snには、第1認証用データV1cnの生成に用いた第1検査値(個体認証値)Anが含まれているため、第2認証用データV2snから第2検査値Bnを抽出するには、第1検査値Anの抽出及び認証が必須となるため、不正解析者が第2認証用データV2snを解析して再利用することをより困難とすることができる。また、認証処理手順4では、主制御基板310が1回の認証処理に対して第1検査値An,A(n+1)を生成して第1認証用データV1cn,V1c(n+1)を周辺基板320に送信していることから、不正解析者による解析をより一層困難にすることができる。なお、第1認証用データV1cnと第2認証用データV2snとの送信回数の比率は一定としたり、変化させるなど任意に定めることができる。また、この認証処理を後段部202Bが行うため、周辺部202Aは認証処理を行わずに、後段部202Bの認証結果を参照するだけなので、周辺部202AのCPU241の処理負荷を軽減することができる。
(認証用データを用いた認証処理手順例5)
図20において、被認証者である主制御基板310は、正規のCPU211の動作値である第2検査値B1を生成し(S1901)、第2検査値B1と付加データC1とに基づいて1回目の第1認証用データV1s1=H1s(B1,C1)を生成して周辺基板320に送信する(S1902)。一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1s1を後段部202Bに転送する(S1911)。
一方、主制御基板310は、その後、例えば動作値が変化するタイミング等で、主制御基板310は、正規のCPU211の動作値である第2検査値B2を生成し(S1903)、正規のCPU211の個体認証値である第1検査値A1を生成する(S1904)。主制御基板310は、第2検査値B2と付加データC2とに基づいて2回目の第1認証用データV1s2=H1s(B2,C2)を生成して周辺基板320に送信する(S1905)。そして、主制御基板310は、第1検査値A1と前回生成した第2検査値B1とに基づいて1回目の第2認証用データV2c1=H2c(A1,B1)を生成して周辺基板320に送信する(S1906)。なお、第1認証用データV1s2と第2認証用データV2c1の送信順序は順不同とすることができる。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1s2を後段部202Bに転送する(S1912)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2c1を後段部202Bに転送する(S1913)。
一方、周辺基板320の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1s1から演算方式H1sと付加データC1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1921)。周辺基板320は、主制御基板310から受信した第1認証用データV1s2から演算方式H1sと付加データC2とを用いて逆演算を行って第2検査値B2を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1922)。周辺基板320は、第2認証用データV2c1から演算方式H2cと前回の第2検査値B1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1923)。そして、後段部202Bは、主制御基板201の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S1924)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1914)。そして、周辺基板320は、第1検査値A1(個体認証値)及び第2検査値B1,2(動作値)の認証が全て成立した場合、次回の認証処理を継続して行う。
このように認証処理手順例5の場合、第2認証用データV2cnには、第1認証用データV1snの生成に用いた第2検査値(動作値)Bnが含まれているため、第2認証用データV2cnから第1検査値Anを抽出するには、第2検査値Bnの抽出及び認証が必須となるため、不正解析者が第2認証用データV2cnを解析して再利用することを困難とすることができる。また、認証処理手順例5は、認証処理手順3と同様に、主制御基板310が1回の認証処理に対して第2検査値Bn,B(n+1)を生成して第1認証用データV1sn,V1s(n+1)を周辺基板320に送信していることから、不正解析者による解析をより一層困難にすることができる。なお、第1認証用データV1snと第2認証用データV2cnとの送信回数の比率は一定としたり、変化させるなど任意に定めることができる。また、この認証処理を後段部202Bが行うため、周辺部202Aは認証処理を行わずに、後段部202Bの認証結果を参照するだけなので、周辺部202AのCPU241の処理負荷を軽減することができる。
(認証用データを用いた認証処理手順例6)
図21において、被認証者である主制御基板310は、正規のCPU211の個体認証値である第1検査値A1を生成し(S2001)、第1検査値A1と付加データC1とに基づいて1回目の第1認証用データV1c1=H1c(A1,C1)を生成して周辺基板320に送信する(S2002)。一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1c1を後段部202Bに転送する(S2011)。
一方、主制御基板310は、その後、例えば制御コマンドデータ1001の発生時等に、主制御基板310は、正規のCPU211の第1検査値A2を生成する(S2003)。このように個体認証値を1回の認証処理の中で複数個生成する場合は、例えば個体認証値をプログラムデータを用いたチェックサムとすることで、プログラムデータに対する不正の検出を期待できる。そして、主制御基板310は、正規のCPU211の動作値である第2検査値B1を生成する(S2004)。
主制御基板310は、前記生成した第1検査値A2と付加データC2とに基づいて2回目の第1認証用データV1c2=H1c(A2,C2)を生成して周辺基板320に送信する(S2005)。そして、主制御基板310は、第2検査値B1と前回生成した第1検査値A1とに基づいて1回目の第2認証用データV2s1=H2s(B1,A1)を生成して周辺基板320に送信する(S2006)。なお、第1認証用データV1c2と第2認証用データV2s1の送信順序は順不同とすることができる。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1c2を後段部202Bに転送する(S2012)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2s1を後段部202Bに転送する(S2013)。
一方、周辺基板320の後段部202Bは、主制御基板310から受信した第1認証用データV1c1から演算方式H1cと付加データC1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S2021)。周辺基板320は、主制御基板310から受信した第1認証用データV1c2から演算方式H1cと付加データC2とを用いて逆演算を行って第1検査値A2を抽出し、該第1検査値A2と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S2022)。周辺基板320は、第2認証用データV2s1から演算方式H2sと前回の第1検査値A1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S2023)。そして、後段部202Bは、主制御基板201の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S2024)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S2014)。そして、周辺基板320は、第1検査値A1,A2(個体認証値)及び第2検査値B1(動作値)の認証が全て成立した場合、次回の認証処理を継続して行う。
このように認証処理手順例6の場合、第2認証用データV2snには、第1認証用データV1cnの生成に用いた第1検査値(個体認証値)Anが含まれているため、第2認証用データV2snから第2検査値Bnを抽出するには、第1検査値Anの抽出及び認証が必須となるため、不正解析者が第2認証用データV2snを解析して再利用することを困難とすることができる。また、認証処理手順例6は、認証処理手順4と同様に、主制御基板310が1回の認証処理に対して第1検査値An,A(n+1)を生成して第1認証用データV1cn,V1c(n+1)を周辺基板320に送信していることから、不正解析者による解析をより一層困難にすることができる。なお、第1認証用データV1cnと第2認証用データV2snとの送信回数の比率は一定としたり、変化させるなど任意に定めることができる。また、この認証処理を後段部202Bが行うため、周辺部202Aは認証処理を行わずに、後段部202Bの認証結果を参照するだけなので、周辺部202AのCPU241の処理負荷を軽減することができる。
以上説明したぱちんこ遊技機100によれば、主制御部201が個体認証値を検査する第1検査値Aと動作値を検査する第2検査値Bの何れか一方の検査値を用いて第1認証用データを生成すると、該一方の検査値の全て又は一部と他方の検査値を用いて第2認証用データを生成して周辺部に送信するようにしたことから、第1認証用データと第2認証用データの生成方法を不正解析者が解析するのは困難であるため、第1検査値Aと第2検査値Bを抽出することはできず、主制御部201から周辺部に送信するデータの不正利用を防止することができる。また、後段部202Bは相異なる2つの認証方式で生成された第1検査値Aから主制御側の個体認証を行うことができると共に、第2検査値Bから主制御側の動作状態、動作継続性、等を検査することができるため、不正解析者によってデータが不正に利用されたことを後段部202Bは検知することができる。さらに、後段部202Bが主制御基板310に対する認証処理を行い、その後段認証結果を周辺部202Aに送信するようにしたことから、周辺部202Aは認証処理は行わずに後段認証結果を参照するだけで良いため、周辺部(演出制御部)202AのCPU241の処理付加を軽減することができる。よって、認証処理の複雑化を図っても、周辺部202Aによる演出処理に影響することはないため、セキュリティーの向上及び遊技の興趣向上の双方を図ることができる。さらに、被認証者である主制御側が高度な処理能力を有していない場合においては、処理負荷の軽い認証方式、演算方式を複数用いることができるため、組み合わせ方法と数によって認証強度を高めることができる。
また、一方の検査値と付加データ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に送信するデータの不正利用を防止することができる。
(複数種類の個体認証値を用いる場合の認証例)
次に、上述したぱちんこ遊技機100において、相異なる複数種類の個体認証値を切り替えて用いて主制御部201の認証を行う一例を説明する。
上述した図3に示す主制御基板310では、データ記憶部311を請求項中の個体認証値記憶手段としてさらに機能させる。そして、データ記憶部311は、相異なる複数種類の暗号化方式の中から次回の暗号化方式を特定するための複数種類の個体認証値を記憶する。例えば、図22に示すように、3種類の暗号化方式Ha、Hb、Hcを用いる場合、それらの各々と3つの個体認証値Fa、Fb、Fcとを関連付けてデータ記憶部311に記憶する。そして、暗号化処理部317は、3種類の暗号化方式Ha、Hb、Hcを切り替えて第1,2認証用データV1,V2を暗号化するように構成する。なお、複数種類の暗号化方式の一例としては、複数種類の暗号キーを用いて暗号化する方法や、複数種類の変換アルゴリズムを用いて暗号化する方法、等が挙げられる。
周辺基板320では、上述した期待値記憶部322を請求項中の期待値データ記憶手段としてさらに機能させる。そして、期待値記憶部322は、複数種類の個体認証値の各々に対応し且つ複数種類の暗号化方式の各々が対応した期待値データを複数記憶する。例えば、期待値記憶部322は、図22に示すように、3つの個体認証値Fa、Fb、Fcの各々に対応した期待値データDa、Db、Dcを、暗号化方式Ha、Hb、Hcに対応する復号化方式Na、Nb、Ncを関連付け且つ上述した第1期待値として記憶する。
なお、個体認証値Fa、Fb、Fcに暗号化方式Ha、Hb、Hcを対応させる方法に代えて、例えば、個体認証値Fa、Fb、Fcの各々に「継続」、「切り替え」を関連付けると共に、複数種類の暗号化方式を予め定められた切り替え順番で切り替えるなど種々異なる実施形態とすることができる。
周辺基板320の後段認証結果データ生成部325は、第1検査値Aと期待値記憶部322が記憶している期待値データDa、Db、Dcとを比較し、該比較結果に基づいて前記主制御部の認証、即ち個体認証値Fa、Fb、Fcの認証を行う。また、後段認証結果データ生成部325は、前記期待値データDa、Db、Dcと一致する第1検査値A(個体認証値)を特定し、該個体認証値から前記次回の暗号化方式を特定する次回暗号化方式特定手段として機能する。そして、前記期待値データDa、Db、Dcの中に個体認証値と一致するものがない場合、後段認証結果データ生成部325は不正が生じていると判断する。また、復号化処理部323は、後段認証結果データ生成部325が特定した次回の暗号化方式Ha、Hb、Hcに対応した復号化方式Na、Nb、Ncで次回の復号化を行う。
続いて、複数種類の暗号化方式を切り替えて主制御部201と後段部202Bとの間で行う制御信号の通信例を説明する。なお、周辺部202Aの処理については、上述した図13で示す処理を流用することができる。
まず、主制御201のCPU211(第1コンピュータ)による制御信号の送信手順の一例を、図23のフローチャートを参照して説明する。なお、基本処理は、上述した図11のフローチャートと同一である。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は、ステップST1201において、制御コマンドを送信するか否かを判定する。なお、判定方法の一例としては、主制御部201から周辺部に送信する制御コマンドデータ1001が発生しているか否かに基づいて判定する。そして、主制御部201は、制御コマンドを送信しないと判定した場合(ST1201:No)、ステップST1210の処理に進む。一方、主制御部201は、制御コマンドを送信すると判定した場合(ST1201:Yes)、ステップST1202の処理に進む。
主制御部201は、ステップST1202において、データ記憶部311(図3参照)の複数種類の個体認証値Fa〜cの中から1つの個体認証値を選択し、該個体認証値から第1認証方式の第1検査値Aを生成してRAM213等に記憶し、その後ステップS1203の処理に進む。なお、複数種類の個体認証値Fa〜cの中から1つの個体認証値を選択する方法としては、例えば、予め定められた選択方法、ランダム、等を任意に用いることができる。
主制御部201は、ステップST1203において、上述したデータ記憶部311から主制御部201の動作値を取得してRAM213等に記憶し、ステップST1204において、該取得した動作値から第2認証方式の第2検査値Bを生成してRAM213等に記憶し、その後ステップST1205の処理に進む。
主制御部201は、ステップST1205において、上述した第1検査値Aと付加データCとを第1演算方式である上記(式1)で演算して第1認証用データV1cを求めてRAM213等に記憶し、その後ステップST1206の処理に進む。そして、主制御部201は、ステップST1206において、上述した第2検査値Bと第1検査値Aとを第2演算方式である上記(式2)で演算して第2認証用データV2sを求めてRAM213等に記憶し、その後ステップST1207の処理に進む。
主制御部201は、ステップST1207において、前記生成した第1認証用データV1c及び第2認証用データV2sを、前回の処理で次回の暗号方式と設定された今回の暗号方式で暗号化し、ステップST1208において、該第1認証用データV1c及び第2認証用データV2sと制御コマンドデータ1001に基づいて認証用データ付制御信号1020を生成して周辺部に対して送信し、その後ステップST1209の処理に進む。そして、主制御部201は、前記選択した個体認証値Fa〜cに対応した暗号化方式Ha〜cを新たに次回の暗号化方式として設定し、その後ステップST1210の処理に進む。
主制御部201は、ステップST1210において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(ST1210:No)、ステップST1201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(ST1210:Yes)、本フローチャートによる処理を終了する。
続いて、後段部202BのCPU21(第3コンピュータ)による各種制御信号の受信処理の手順を、図24のフローチャートを参照して説明する。なお、基本処理は、上述した図12のフローチャートと同一である。
後段部202Bは、ステップST1301において、主制御部201から制御信号を受信したか否かを判定する。後段部202Bは、制御信号を受信していないと判定した場合(ST1301:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、後段部202Bは、制御信号を受信したと判定した場合(ST1301:Yes)、ステップST1302の処理に移行する。
後段部202Bは、ステップST1302において、受信した制御信号に認証用データ1003が含まれているか否かを判定する。そして、後段部202Bは、認証用データ1003が含まれていないと判定した場合(ST1302:No)、ステップST1303において、主制御基板310に対する認証未実施を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップST1311の処理に進む。
一方、後段部202Bは、ステップST1302で認証用データ1003が含まれていると判定した場合(ST1302:Yes)、ステップST1304において、認証用データ付制御信号1020に含まれた認証用データ1003を取得し、該認証用データ1003である第1認証用データV1c及び第2認証用データV2sを前回の処理で設定された今回の復号化方式で復号化し、ステップST1305の処理に進む。そして、後段部202Bは、ステップST1305において、該復号化した第1認証用データV1c及び第2認証用データV2sと第1演算方式及び第2演算方式と付加データCとに基づいて逆演算を行い、第1検査値A’と第2検査値B’とを第1認証用データV1c及び第2認証用データV2sから抽出してRAM23等に記憶し、その後ステップST1306の処理に進む。
後段部202Bは、ステップST1306において、抽出した、第1検査値A’及び第2検査値B’の双方と予め定められた第1,2期待値とが一致しているか否かを判定する。そして、後段部202Bは、両方とも第1,2期待値の各々と一致していると判定した場合(ST1306:Yes)、ステップST1307において、主制御部201に対する認証を成立させ、認証成立を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップST1308の処理に進む。
後段部202Bは、ステップST1308において、前記動作値である第2検査値B’は、主制御部201の動作に応じて変化することから、変化に対応するように期待値記憶部322の第2期待値を更新し、その後ST1309の処理に進む。なお、第2期待値の更新例としては、前記動作値が処理回数でインクリメントする場合、第2期待値をインクリメントして更新することになる。そして、後段部202Bは、ステップST1309において、第1検査値A(個体認証値)と一致した期待値データDa〜cに対応する復号化方式Na〜cを次回の復号化方式としてRAM23等に記憶し、その後ステップST1311の処理に進む。
一方、後段部202Bは、ステップTS1306で第1検査値A’及び第2検査値B’の双方と予め定められた第1,2期待値との両方が一致していないと判定した場合(ST1306:No)、ステップST1310において、主制御部201に対する認証を不成立とし、認証不成立を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップST1311の処理に進む。
後段部202Bは、ステップST1311において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した後段認証結果データ1004を付加して認証結果信号1030を生成し、ステップST1312において、該生成した認証結果信号1030を周辺部202Aに対して送信し、その後ステップST1313の処理に進む。
後段部202Bは、ステップST1313において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部は、電源がオフされていないと判定した場合(ST1313:No)、ステップST1301の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(ST1313:Yes)、本フローチャートによる処理を終了する。
次に、複数種類の暗号化方式を切り替えて暗号化した認証用データを用いた認証処理手順例を説明する。なお、基本動作は、上述した図14と同一であることから、図面は図14及び図22を用いて説明する。
図14において、被認証者である主制御基板310は、正規のCPU211の動作値である第2検査値B1を生成し(S1501)、データ記憶部311の3種類の個体認証値Fa〜cの中から個体認証値Fbを選択して第1検査値A1を生成する(S1502)。これにより、個体認証値Fbには次回暗号化方式Hbが関連付けられていることから、主制御基板310は次回暗号化方式Hbを次回暗号化方式と設定する。そして、主制御基板310は、第2検査値B1と付加データC1とに基づいて1回目の第1認証用データV1s1=H1s(B1,C1)を生成し、今回の暗号化方式として設定されている暗号化方式Haで暗号化して周辺基板320に送信する(S1503)。そして、主制御基板310は、第1検査値A1と第2検査値B1とに基づいて1回目の第2認証用データV2c1=H2c(A1,B1)を生成し、前記暗号化方式Haで暗号化して周辺基板320の後段部202Bに送信する(S1504)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1s1を後段部202Bに転送する(S1511)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2c1を後段部202Bに転送する(S1512)。
一方、周辺基板320の後段部202Bは、主制御基板310から周辺部202Aを介して受信した第1認証用データV1s1を、今回の復号化方式Naで復号化し、その第1認証用データV1s1から演算方式H1sと付加データC1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S1521)。そして、後段部202Bは、同様に、第2認証用データV2c1を今回の復号化方式Naで復号化し、その第2認証用データV2c1から演算方式H2cと第2検査値B1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1522)。そして、後段部202Bは、主制御基板201の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S1523)。なお、第1検査値A1は個体認証値Fbであることから、一致したのは期待値データDbであり、該期待値データDbには復号化方式Nbが関連付けられていることから、該復号化方式Nbを次回復号化方式として周辺基板320の後段部202Bは設定する。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1513)。
このようにぱちんこ遊技機100を構成しても、上述した実施例1と同様の作用効果を得ることができる。さらに、主制御部201のみが知っている次回暗号化方式Ha〜cに対応した複数種類の個体認証値Fa〜cを切り替えて用いて第1,2認証用データV1,V2を生成し、周辺部はその第1,2認証用データV1,V2から抽出した個体認証値Fa〜cと複数種類の期待値データDa〜cとを比較して主制御部201の認証を行うようにしたことから、選択した個体認証値Fa〜cによって第1,2認証用データV1,V2の暗号化方式も変化するため、不正解析者は個体認証値Fa〜cを特定できない限り、第1,2認証用データV1,V2の復号化方式Na〜cや個体認証値Fa〜cを特定できず、主制御部201から周辺部202Aに送信するデータの不正利用をより一層困難にすることができる。また、後段部202Bは複数種類の暗号化方式に対応した期待値データDa〜cを記憶しておくだけで、個体認証値Fa〜cの認証ができ、しかも、次回暗号化方式Ha〜cを特定することもできるため、周辺部202Aの処理の複雑化を防止できる。
[実施例2]
以下に、上述したぱちんこ遊技機100の実施例2を説明する。なお、上述した構成と同一部分については、同一の符号を付して異なる部分のみを詳細に説明する。
(主制御基板および周辺基板の機能的構成)
まず、ぱちんこ遊技機100は、上述した図2に示す制御部200を備えている。制御部200は、主制御部201と、演出制御部(周辺部)202Aと、後段部202Bと、賞球制御部203と、を有している。そして、ぱちんこ遊技機100は、図25に示すように、主制御部201としての機能を有する主制御基板310と、上述した後段部202Bと演出制御部202Bを有する周辺基板320と、を有して構成している。そして、主制御基板310は周辺基板320と通信可能なように電気的に接続されている。
主制御基板310は、上述したデータ記憶部311、第1検査値生成部312、動作値取得部313、第2検査値生成部314、第1認証用データ生成部315、第2認証用データ生成部316、暗号化処理部317、主制御側送信部318と、次回演算方式決定部319と、を有して構成している。
データ記憶部311は、例えば、主制御部201のCPU211の動作を規定するプログラムデータ、後述する個体認証値、該プログラムデータを実行した211の動作に対応して変化する動作値、上述した第1,2期待値、等の各種データを記憶している。さらに、データ記憶部311は、上述した第1演算方式及び第2演算方式の次回演算方式を示す次回演算情報、ぱちんこ遊技機100に対して予め定められた相異なる複数種類の演算方式と該複数種類の演算方式と一対一に対応付けられた複数種類の暗号化方式を示す演算方式テーブル情報、等を記憶している。なお、複数種類の暗号化方式は、同一の認証用データを暗号化したときに、異なる値となるものを用いる。
次回演算情報は、次回演算方式を識別することが可能な識別データ等を有し、相異なる複数種類の演算方式の中から前記次回演算方式決定部319が決定した次回演算方式に逐次設定更新される。本実施形態では、次回演算情報が第1,2演算方式の双方の次回演算方式を示す場合について説明するが、これに代えて、第1,2演算方式の各々に対応させる構成とすることもできる。
次回演算方式決定部319は、本発明の次回演算方式決定手段に相当し、前記複数種類の演算方式の中から次回の第1,2認証用データの生成に用いる次回演算方式を決定すると、該次回演算方式を前記次回演算情報に設定する。次回演算方式決定部319は、任意のタイミングで次回演算方式を決定することが可能であり、例えば、第1,2認証用データを生成するとき、予め定められた制御コマンドデータ1001を送信するとき、等が挙げられる。
前記暗号化処理部317は、次回演算方式決定部319が次回演算方式を決定すると、該決定した次回演算方式に対応した暗号化方式を前記演算方式テーブル情報に基づいて特定し、該特定した暗号化方式で第1認証用データ及び第2認証用データを暗号化する。そして、前記主制御側送信部318は、その暗号化された第1認証用データ及び第2認証用データを周辺基板320に送信する。
実施例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認証用データの暗号化方法によって周辺基板320の後段部202Bに解析させることから、不正解析者が次回演算方式を解析するのは困難であるため、主制御基板310から周辺基板320に送信するデータの不正利用をより一層困難にすることができる。
続いて、周辺基板320の後段部202Bは、上述した後段側受信部321、期待値記憶部322、復号化処理部323、検査値抽出部324、後段認証結果データ生成部325、後段側送信部326と、特定部327と、を有して構成している。
期待値記憶部322はさらに、本発明の演算方式用期待値記憶手段に相当し、上述した主制御基板310から受信すべき第1検査値及び第2検査値に対応した第1期待値、第2期待値等の複数の期待値データと、該第1,2期待値から生成される第1,2認証用データを前記複数種類の暗号化方式の各々で生成される演算方式用期待値データと、を複数記憶する。即ち、演算方式用期待値データは、正規の主制御基板310が生成し得る第1,2認証用データを複数種類の暗号化方式毎に予め演算し、該演算した値を演算方式用期待値データとして記憶している。よって、正規の主制御基板310から受信した第1,2認証用データであれば、複数の演算方式用期待値データの中に必ず一致するはずであり、一致しない場合は、第1,2認証用データが不正なデータであると判断することができる。
特定部327は、本発明の特定手段に相当し、期待値記憶部322に記憶している前記複数の演算方式用期待値の中から、後段側受信部321で受信した第1認証用データ及び第2認証用データと一致する前記演算方式用期待値を特定し、該一致する演算方式用期待値に対応する前記暗号化方式及び前記次回演算方式を特定する。
そして、前記復号化処理部323は、特定部327が特定した暗号化方式に対応する復号化方式で、後段側受信部321が受信した第1認証用データ及び第2認証用データを復号化する。また、前記検査値抽出部324は、特定部327が特定した次回演算方式に基づいて第1演算方式及び第2演算方式を特定して、後段側受信部321が受信した第1認証用データ及び第2認証用データから第1検査値又は第2検査値を抽出する。
また、実施例2においても、主制御基板310のCPU211が請求項中の第1コンピュータ、周辺基板320のCPU241が請求項中の第2コンピュータ、周辺基板320のCPU21が請求項中の第3コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の第1検査値生成手段、動作値取得手段、第2検査値生成手段、第1認証用データ生成手段、第2認証用データ生成手段、主制御側送信手段、次回演算方式決定手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板320の後段部202BのROM232は、前記第2コンピュータを請求項中の後段側受信手段、復号化手段、検査値抽出手段、後段認証結果データ生成手段、後段側送信手段、特定手段、等の各種手段として機能させるための後段側認証プログラムを記憶している。また、周辺基板320の周辺部202AのROM242は、前記第3コンピュータを請求項中の周辺側受信手段、処理手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。即ち、主制御側認証プログラムと後段側認証プログラムと周辺側認証プログラムによって本発明の認証プログラムを構成している。
(第1,2演算方式と暗号化方式の対応関係例)
まず、ぱちんこ遊技機100において、第1演算方式H1A、H1B、H1Cと第2演算方式H2A、H2B、H2Cのそれぞれ異なる3種類の演算方式を用いることを前提に説明する。なお、3種類の演算方式としては、例えば、加算、減算、積算、除算、排他的論理和等の各種演算方式が任意に用いられる。そして、主制御部201が3種類の演算方式を切り替えて第1,2認証用データを生成する場合について説明する。
主制御部201では、図26に示すように、次回の3種類の第1演算方式H1A、H1B、H1Cの各々には3種類の暗号化方式M1A、M1B、M1Cの各々を対応させ、かつ、次回の3種類の第2演算方式H2A、H2B、H2Cの各々には3種類の暗号化方式M2A、M2B、M2Cの各々を対応させている。なお、本実施形態では、説明を簡単化するために、第1演算方式H1A、H1B、H1Cと第2演算方式H2A、H2B、H2Cとの各々を同一とする共に、暗号化方式M1A、M1B、M1Cと暗号化方式M2A、M2B、M2Cとの各々を同一とした場合について説明するが、これに代えて、それぞれ異なる演算方式や暗号化方式を設定することもできる。
後段部202Bでは、第1検査値に対して次回第1演算方式H1A、H1B、H1Cで演算したときの値を演算し、該演算した値を暗号化方式M1A、M1B、M1Cで暗号化したときの値をそれぞれ演算方式用期待値G1A、G1B、G1Cとして期待値記憶部322に記憶している。そして、後段部202Bは、それらの演算方式用期待値G1A、G1B、G1Cの各々に対応する暗号化方式M1A、M1B、M1Cとその復号化方式N1A、N1B、N1Cと次回第1演算方式H1A、H1B、H1Cとを関連付けて記憶している。
後段部202Bは同様に、第2検査値に対して次回第2演算方式H2A、H2B、H2Cで演算したときの値を演算し、該演算した値を暗号化方式M2A、M2B、M2Cで暗号化したときの値をそれぞれ演算方式用期待値G2A、G2B、G2Cとして期待値記憶部322に記憶している。そして、後段部202Bは、それらの演算方式用期待値G2A、G2B、G2Cの各々に対応する暗号化方式M2A、M2B、M2Cとその復号化方式N2A、N2B、N2Cと次回第2演算方式H2A、H2B、H2Cとを関連付けて記憶している。
なお、暗号化方式M1A〜C、M2A〜C及び復号化方式N1A〜C、N2A〜Cの一例としては、異なるキーを用いて暗号化及び復号化する方式などの種々異なる方式を用いることができる。
(制御信号の送受信に関する処理)
以下に、主制御部201と後段部202Bとの間で行う制御信号の通信例を説明する。まず、主制御201のCPU211(第1コンピュータ)による制御信号の送信手順2の一例を、図27のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は、ステップS2201において、制御コマンドを送信するか否かを判定する。なお、判定方法の一例としては、主制御部201から周辺部に送信する制御コマンドデータ1001が発生しているか否かに基づいて判定する。そして、主制御部201は、制御コマンドを送信しないと判定した場合(S2201:No)、ステップS2210の処理に進む。一方、主制御部201は、制御コマンドを送信すると判定した場合(S2201:Yes)、ステップS2202の処理に進む。
主制御部201は、ステップS2202において、主制御部201の個体認証値から第1認証方式の第1検査値Aを生成してRAM213等に記憶し、その後ステップS2203の処理に進む。そして、主制御部201は、ステップS2203において、上述したデータ記憶部311(図25参照)から主制御部201の動作値を取得してRAM213等に記憶し、ステップS2204において、該取得した動作値から第2認証方式の第2検査値Bを生成してRAM213等に記憶し、その後ステップS2205の処理に進む。
主制御部201は、ステップS2205において、前記次回演算情報に設定された次回の第1演算方式又は初回は初期演算方式として設定された初期の第1演算方式を取得し、該取得した第1演算方式に対応した上記(式1)で上述した第1検査値Aと付加データCとを演算して第1認証用データV1cを求めてRAM213等に記憶し、その後ステップS2206の処理に進む。
主制御部201は、ステップS2206において、前記次回演算情報に設定された次回の第2演算方式又は初回は初期演算方式として設定された初期の第2演算方式を取得し、該取得した第2演算方式に対応した上記(式2)で上述した第2検査値Bと前記第1検査値Aとを演算して第2認証用データV2sを求めてRAM213等に記憶し、その後ステップS2207の処理に進む。
主制御部201は、ステップS2207において、3種類の第1演算方式H1A〜Cの中から次回の第1演算方式を規則的又は不規則に決定し、3種類の第2演算方式H2A〜Cの中から次回の第2演算方式を規則的又は不規則に決定し、これらの特定した次回演算方式となるように前記次回演算情報を更新し、その後ステップS2208の処理に進む。
主制御部201は、ステップS2208において、前記決定した次回演算方式に対応した1つの暗号化方式を3種類の暗号化方式M1A〜Cの中から特定し、該特定した暗号化方式で前記生成した第1認証用データV1c及び第2認証用データV2sを暗号化し、その後ステップS2209の処理に進む。そして、主制御部201は、ステップS2209において、該第1認証用データV1c及び第2認証用データV2sと制御コマンドデータ1001に基づいて認証用データ付制御信号1020を生成して周辺部に対して送信し、その後ステップS2210の処理に進む。
主制御部201は、ステップS2210において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S2210:No)、ステップS2201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S2210:Yes)、本フローチャートによる処理を終了する。
続いて、後段部202BのCPU21(第3コンピュータ)による各種制御信号の受信処理の手順2を、図28のフローチャートを参照して説明する。
後段部202Bは、図28に示すステップS2301において、主制御部201から制御信号を受信したか否かを判定する。周辺部は、制御信号を受信していないと判定した場合(S2301:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、周辺部は、制御信号を受信したと判定した場合(S2301:Yes)、ステップS2302の処理に移行する。
後段部202Bは、ステップS2302において、受信した制御信号に認証用データ1003が含まれているか否かを判定する。そして、後段部202Bは、認証用データ1003が含まれていないと判定した場合(S2302:No)、ステップS2303において、主制御基板310に対する認証未実施を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS2312の処理に進む。一方、後段部202Bは、認証用データ1003が含まれていると判定した場合(S2302:Yes)、ステップS2304の処理に進む。
後段部202Bは、ステップS2304において、認証用データ1003の前記第1認証用データV1c及び第2認証用データV2sと前記演算方式用期待値とが一致するか否かを判定する。後段部202Bは、前記演算方式用期待値と一致しないと判定した場合(S2204:No)、ステップS2311の処理に進む。一方、後段部202Bは、前記演算方式用期待値と一致すると判定した場合(S2304:Yes)、ステップS2305において、一致した演算方式用期待値に対応した復号化方式で前記第1認証用データV1c及び第2認証用データV2sを復号化してRAM23等に記憶し、その後ステップS2306の処理に進む。
後段部202Bは、ステップS2306において、認証用データ付制御信号1020に含まれた認証用データ1003を取得し、上述したように該認証用データ1003と前回の処理で定められた、又は、初期値として定められた(初回のみ)第1演算方式及び第2演算方式と付加データCとに基づいて逆演算を行い、第1検査値A’と第2検査値B’とを認証用データ1003から抽出してRAM23等に記憶し、その後ステップS2307の処理に進む。
後段部202Bは、ステップS2307において、ステップS2304で一致した演算方式用期待値に対応した次回演算方式を次回の第1演算方式及び次回の第2演算方式として特定してRAM23等に記憶し、その後ステップS2308の処理に進む。
後段部202Bは、ステップS2308において、抽出した第1検査値A’及び第2検査値B’の双方と予め定められた第1,2期待値とが一致しているか否かを判定する。そして、後段部202Bは、両方とも第1,2期待値の各々と一致していると判定した場合(S2308:Yes)、ステップS2309において、主制御部201に対する認証を成立させ、認証成立を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS2310の処理に進む。
後段部202Bは、ステップS2310において、前記動作値である第2検査値B’は、主制御部201の動作に応じて変化することから、変化に対応するように期待値記憶部322の第2期待値を更新し、その後S2312の処理に進む。なお、第2期待値の更新例としては、前記動作値が処理回数でインクリメントする場合、第2期待値をインクリメントして更新することになる。
また、後段部202Bは、ステップS2308で第1検査値A’及び第2検査値B’の双方と予め定められた第1,2期待値との両方が一致していないと判定した場合(S2308:No)、ステップS2311において、主制御部201に対する認証を不成立とし、認証不成立を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS2312の処理に進む。
後段部202Bは、ステップS2312において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した後段認証結果データ1004を付加して認証結果信号1030を生成し、ステップS2313において、該生成した認証結果信号1030を周辺部202Aに対して送信し、その後ステップS1314の処理に進む。
後段部202Bは、ステップS2314において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部は、電源がオフされていないと判定した場合(S2314:No)、ステップS2301の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(S2314:Yes)、本フローチャートによる処理を終了する。
続いて、周辺部202AのCPU241(第3コンピュータ)による後段部202Bからの各種制御信号の受信処理としては、上述した実施例1で説明した図13に示すフローチャートと同一であるため、説明は省略する。
(認証用データを用いた認証処理手順例11)
図29において、被認証者である主制御基板310は、正規のCPU211の動作値である第2検査値B1を生成し(S2401)、正規のCPU211の個体認証値である第1検査値A1を生成する(S2402)。主制御基板310は、3種類の第1演算方式H1A、H1B、H1C及び第2演算方式H2A、H2B、H2Cの中から次回演算方式を第1演算方式H1B及び第2演算方式H2Bと決定する(S2403)。そして、主制御基板310は、予め定められた今回の演算方式である第1演算方式H1Aと第2検査値B1と付加データC1とに基づいて1回目の第1認証用データV1As1=H1As(B1,C1)を生成し、該第1認証用データV1As1を次回の第1演算方式H1Bに対応した暗号化方式M1Bで暗号化して周辺基板320に送信する(S2404)。そして、主制御基板310は、第1検査値A1と第2検査値B1と予め定められた今回の演算方式である第2演算方式H2Aに基づいて1回目の第2認証用データV2Ac1=H2Ac(A1,B1)を生成し、該第2認証用データV2Ac1を次回の第2演算方式H2Bに対応した暗号化方式M2Bで暗号化して周辺基板320に送信する(S2405)。
このように認証処理手順例11では、第2検査値はBn、第1検査値はAn、第1演算方式はH1As、第1認証用データはV1Asn、第2演算方式はH2Ac、第2認証用データはV2Acnとそれぞれ表しており、nは通しの認証回数を示している(n=1,2,3・・・)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1As1を後段部202Bに転送する(S2411)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2Ac1を後段部202Bに転送する(S2412)。
一方、周辺基板320の後段部202Bは、周辺部202Aを介して主制御基板310から受信した第1認証用データV1As1と一致する演算方式用期待値G1B、及び、周辺部202Aを介して主制御基板310から受信した第2認証用データV2Ac1と一致する演算方式用期待値G2Bを特定する。これにより、後段部202Bは、該演算方式用期待値G1Bに対応する復号化方式N1Bと次回の第1演算方式H1Bを特定すると共に、該演算方式用期待値G2Bに対応する復号化方式N2Bと次回の第2演算方式H2Bを特定する(S2421)。
後段部202Bは、前記特定した復号化方式N1Bで第1認証用データV1As1を復号化し、該第1認証用データV1As1から予め定められた第1演算方式H1Aと付加データC1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して認証を行う(S2422)。そして、後段部202Bは、前記特定した復号化方式N2Bで第2認証用データV2Ac1を復号化し、該第2認証用データV2Ac1から予め定められた第2演算方式H2Aと第2検査値B1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して主制御基板310の認証を行う(S2423)。そして、後段部202Bは、第1検査値A1、第2検査値B1の双方に対する認証に基づいた主制御基板201の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S2424)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S2413)。そして、周辺基板320は、第1検査値A1、第2検査値B1の双方に対する認証が成立した場合に次回の認証処理を継続する。
このように1回目の認証処理区間では、今回の演算方式として第1演算方式H1A、第2演算方式H2Aを用い、次回(2回目)の認証処理区間で第1演算方式H1B、第2演算方式H2Bに次回演算方式を切り替えて用いることを、周辺基板320は主制御基板310から受信した第1認証用データV1As1及び第2認証用データV2Ac1を解析して認識している。なお、次回演算方式を継続する場合、次回演算方式を第1演算方式H1A、第2演算方式H2Aと決定すればよい。
続いて、図30において、主制御基板310は、正規のCPU211の動作値である第2検査値B2を生成し(S2431)、正規のCPU211の個体認証値である第1検査値A2を生成する(S2432)。主制御基板310は、3種類の第1演算方式H1A、H1B、H1C及び第2演算方式H2A、H2B、H2Cの中から次回演算方式を第1演算方式H1C及び第2演算方式H2Cと決定する(S2433)。そして、主制御基板310は、前回(1回目)の認証処理の中で次回認証方式として決定された第1演算方式H1Bと第2検査値B2と付加データC2とに基づいて2回目の第1認証用データV1Bs2=H1Bs(B2,C2)を生成し、該第1認証用データV1Bs2を次回の第1演算方式H1Cに対応した暗号化方式M1Cで暗号化して周辺基板320の後段部202Bに送信する(S2434)。そして、主制御基板310は、第1検査値A2と第2検査値B2と前回(1回目)の認証処理の中で次回認証方式として決定された第2演算方式H2Bに基づいて2回目の第2認証用データV2Bc2=H2Bc(A2,B2)を生成し、該第2認証用データV2Bc2を次回の第2演算方式H2Cに対応した暗号化方式M2Cで暗号化して周辺基板320に送信する(S2435)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1Bs2を後段部202Bに転送する(S2441)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2Bc2を後段部202Bに転送する(S2442)。
一方、周辺基板320の後段部202Bは、主制御基板310から受信した第1認証用データV1Bs2と一致する演算方式用期待値G1C、及び、主制御基板310から受信した第2認証用データV2Bc2と一致する演算方式用期待値G2Cを特定する。これにより、後段部202Bは、該演算方式用期待値G1Cに対応する復号化方式N1Cと次回の第1演算方式H1Cを特定すると共に、該演算方式用期待値G2Cに対応する復号化方式N2Cと次回の第2演算方式H2Cを特定する(S2451)。
後段部202Bは、前記特定した復号化方式N1Cで第1認証用データV1Bs2を復号化し、該第1認証用データV1Bs2から今回の第1演算方式H1Bと付加データC2とを用いて逆演算を行って第2検査値B2を抽出し、該第2検査値B2と予め定められた第2期待値とが一致しているか否かを判定して主制御基板310の認証を行う(S2452)。そして、後段部202Bは、前記特定した復号化方式N2Cで第2認証用データV2Bc2を復号化し、該第2認証用データV2Bc2から今回の第2演算方式H2Bと第2検査値B2とを用いて逆演算を行って第1検査値A2を抽出し、該第1検査値A2と予め定められた第1期待値とが一致しているか否かを判定して主制御基板310の認証を行う(S2453)。そして、後段部202Bは、第1検査値A2、第2検査値B2の双方に対する認証に基づいた主制御基板201の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S2454)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S2443)。そして、周辺基板320は、第1検査値A2、第2検査値B2の双方に対する認証が成立した場合に次回の認証処理を継続する。
このように認証処理手順例11の場合、第2認証用データV2Ac1、V2Bc2には、第1認証用データV1As1、V1Bs2の生成に用いた第2検査値(動作値)Bnが含まれているため、第2認証用データV2Ac1、V2Bc2から第1検査値Anを抽出するには、第2検査値Bnの抽出及び認証が必須となるため、不正解析者が第2認証用データV2Ac1、V2Bc2を解析して再利用することを困難とすることができる。しかも、第2認証用データV2Ac1、V2Bc2は異なる第2演算方式H2A,H2B、第1認証用データV1As1、V1Bs2は異なる第1演算方式H1A,H1Bを切り替えて演算していることから、不正解析者が第1認証用データV1As1、V1Bs2及び第2認証用データV2Ac1、V2Bc2を解析して再利用することをより一層困難とすることができる。
(認証用データを用いた認証処理手順例12)
図31において、被認証者である主制御基板310は、正規のCPU211の個体認証値である第1検査値A1を生成し(S2501)、正規のCPU211の動作値である第2検査値B1を生成する(S2502)。主制御基板310は、3種類の第1演算方式H1A、H1B、H1C及び第2演算方式H2A、H2B、H2Cの中から次回演算方式を第1演算方式H1B及び第2演算方式H2Bと決定する(S2503)。そして、主制御基板310は、予め定められた今回の演算方式である第1演算方式H1Aと第1検査値A1と付加データC1とに基づいて1回目の第1認証用データV1Ac1=H1Ac(A1,C1)を生成し、該第1認証用データV1Ac1を次回の第1演算方式H1Bに対応した暗号化方式M1Bで暗号化して周辺基板320の後段部202Bに送信する(S2504)。そして、主制御基板310は、第2検査値B1と第1検査値A1と予め定められた今回の演算方式である第2演算方式H2Aに基づいて1回目の第2認証用データV2As1=H2As(B1,A1)を生成し、該第2認証用データV2As1を次回の第2演算方式H2Bに対応した暗号化方式M2Bで暗号化して周辺基板320の後段部202Bに送信する(S2505)。
このように認証処理手順例12では、第1検査値はAn、第2検査値はBn、第1演算方式はH1Ac、第1認証用データはV1Acn、第2演算方式はH2As、第2認証用データはV2Asnとそれぞれ表しており、nは通しの認証回数を示している(n=1,2,3・・・)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1Ac1を後段部202Bに転送する(S2511)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2As1を後段部202Bに転送する(S2512)。
一方、周辺基板320の後段部202Bは、主制御基板310から受信した第1認証用データV1Ac1と一致する演算方式用期待値G1B、及び、主制御基板310から受信した第2認証用データV2As1と一致する演算方式用期待値G2Bを特定する。これにより、後段部202Bは、該演算方式用期待値G1Bに対応する復号化方式N1Bと次回の第1演算方式H1Bを特定すると共に、該演算方式用期待値G2Bに対応する復号化方式N2Bと次回の第2演算方式H2Bを特定する(S2521)。
後段部202Bは、前記特定した復号化方式N1Bで第1認証用データV1Ac1を復号化し、該第1認証用データV1Ac1から予め定められた第1演算方式H1Aと付加データC1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S2522)。そして、後段部202Bは、前記特定した復号化方式N2Bで第2認証用データV2As1を復号化し、該第2認証用データV2As1から予め定められた第2演算方式H2Aと第1検査値A1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と予め定められた第2期待値とが一致しているか否かを判定して主制御基板310の認証を行う(S2523)。そして、後段部202Bは、第1検査値A1、第2検査値B1の双方に対する認証に基づいた主制御基板201の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S2524)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S2513)。そして、周辺基板320は、第1検査値A1、第2検査値B1の双方に対する認証が成立した場合に次回の認証処理を継続する。
このように1回目の認証処理区間では、今回の演算方式として第1演算方式H1A、第2演算方式H2Aを用い、次回(2回目)の認証処理区間で第1演算方式H1B、第2演算方式H2Bに次回演算方式を切り替えて用いることを、周辺基板320は主制御基板310から受信した第1認証用データV1Ac1及び第2認証用データV2As1を解析して認識している。なお、次回演算方式を継続する場合、次回演算方式を第1演算方式H1A、第2演算方式H2Aと決定すればよい。
続いて、図32において、主制御基板310は、正規のCPU211の個体認証値である第1検査値A2を生成し(S2531)、正規のCPU211の動作値である第2検査値B2を生成する(S2532)。主制御基板310は、3種類の第1演算方式H1A、H1B、H1C及び第2演算方式H2A、H2B、H2Cの中から次回演算方式を第1演算方式H1C及び第2演算方式H2Cと決定する(S2533)。そして、主制御基板310は、前回の認証処理の中で次回認証方式として決定された第1演算方式H1Bと第2検査値B2と付加データC2とに基づいて2回目の第1認証用データV1Bc2=H1Bc(A2,C2)を生成し、該第1認証用データV1Bc2を次回の第1演算方式H1Cに対応した暗号化方式M1Cで暗号化して周辺基板320の後段部202Bに送信する(S2534)。そして、主制御基板310は、第2検査値B2と第1検査値A2と予め定められた今回の演算方式である第2演算方式H2Bに基づいて2回目の第2認証用データV2Bs2=H2Bs(B2,A2)を生成し、該第2認証用データV2Bs2を次回の第2演算方式H2Cに対応した暗号化方式M2Cで暗号化して周辺基板320の後段部202Bに送信する(S2535)。
一方、周辺基板320の周辺部202Aは、主制御基板310から受信した第1認証用データV1Bc2を後段部202Bに転送する(S2541)。そして、周辺部202Aは、主制御基板310から受信した第2認証用データV2Bs2を後段部202Bに転送する(S2542)。
一方、周辺基板320の後段部202Bは、主制御基板310から受信した第1認証用データV1Bc2と一致する演算方式用期待値G1C、及び、主制御基板310から受信した第2認証用データV2Bs2と一致する演算方式用期待値G2Cを特定する。これにより、後段部202Bは、該演算方式用期待値G1Cに対応する復号化方式N1Cと次回の第1演算方式H1Cを特定すると共に、該演算方式用期待値G2Cに対応する復号化方式N2Cと次回の第2演算方式H2Cを特定する(S2551)。
後段部202Bは、前記特定した復号化方式N1Cで第1認証用データV1Bc2を復号化し、該第1認証用データV1Bc2から予め定められた第1演算方式H1Bと付加データC1とを用いて逆演算を行って第1検査値A2を抽出し、該第1検査値A2と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S2552)。そして、後段部202Bは、前記特定した復号化方式N2Cで第2認証用データV2Bs2を復号化し、該第2認証用データV2Bs2から予め定められた第2演算方式H2Bと第1検査値A2とを用いて逆演算を行って第2検査値B2を抽出し、該第2検査値B2と予め定められた第2期待値とが一致しているか否かを判定して主制御基板310の認証を行う(S2553)。そして、後段部202Bは、第1検査値A1、第2検査値B1の双方に対する認証に基づいた主制御基板201の認証結果を示す後段認証結果データ1004を生成し、該後段認証結果データ1004を有する認証結果信号1030を周辺基板320の周辺部202Aに送信する(S2554)。
一方、周辺基板320の周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S2543)。そして、周辺基板320は、第1検査値A2、第2検査値B2の双方に対する認証が成立した場合に次回の認証処理を継続する。
このように認証処理手順例12の場合、第2認証用データV2As1、V2Bs2には、第1認証用データV1Ac1、V1Bc2の生成に用いた第1検査値(個体認証値)Anが含まれているため、第2認証用データV2As1、V2Bs2から第2検査値(動作値)Bnを抽出するには、第1検査値Anの抽出及び認証が必須となるため、不正解析者が第2認証用データV2As1、V2Bs2を解析して再利用することを困難とすることができる。しかも、第2認証用データV2As1、V2Bs2は異なる第2演算方式H2A,H2B、第1認証用データV1Ac1、V1Bc2は異なる第1演算方式H1A,H1Bを切り替えて演算していることから、不正解析者が第1認証用データV1Ac1、V1Bc2及び第2認証用データV2As1、V2Bs2を解析して再利用することをより一層困難とすることができる。
なお、実施例1の認証処理手順3〜6についても、上述した認証処理手順11,12と同様に、主制御基板310に次回演算方式を決定する処理を追加して認証用データの生成・送信処理を修正すると共に、周辺基板320後段部202Bに演算方式用期待値を特定する処理を追加して第1,2検査値の抽出・認証処理を修正することで、複数種類の暗号化方式を用いて第1,2演算方式を切り替える実施形態とすることができる。
以上説明したぱちんこ遊技機100によれば、主制御部201が個体認証値を検査する第1検査値Aと動作値を検査する第2検査値Bの何れか一方の検査値を用いて第1認証用データを生成すると、該一方の検査値の全て又は一部と他方の検査値を用いて第2認証用データを生成して周辺部に送信するようにしたことから、第1認証用データと第2認証用データの生成方法を不正解析者が解析するのは困難であるため、第1検査値Aと第2検査値Bを抽出することはできず、主制御部201から周辺部に送信するデータの不正利用を防止することができる。また、後段部202Bは相異なる2つの認証方式で生成された第1検査値Aから主制御側の個体認証を行うことができると共に、第2検査値Bから主制御側の動作状態、動作継続性、等を検査することができるため、不正解析者によってデータが不正に利用されたことを後段部202Bは検知することができる。さらに、後段部202Bが主制御基板310に対する認証処理を行い、その後段認証結果を周辺部202Aに送信するようにしたことから、周辺部202Aは認証処理は行わずに後段認証結果を参照するだけで良いため、周辺部(演出制御部)202AのCPU241の処理付加を軽減することができる。よって、認証処理の複雑化を図っても、周辺部202Aによる演出処理に影響することはないため、セキュリティーの向上及び遊技の興趣向上の双方を図ることができる。さらに、被認証者である主制御側が高度な処理能力を有していない場合においては、処理負荷の軽い認証方式、演算方式を複数用いることができるため、組み合わせ方法と数によって認証強度を高めることができる。
また、一方の検査値と付加データCを組み合わせて第1認証用データV1を生成して後段部202Bに送信することで、第1,2認証用データV1,V2の生成方法をより複雑化することができるため、主制御部201から周辺部202A及び後段部202Bに送信するデータの不正利用を防止することができる。
さらに、第1認証用データV1及び第2認証用データV2を制御コマンドデータ1001に付加して送信することができることから、それらを単体で後段部202Bに送信する場合と比較して、主制御部201と周辺部202Aとの間の通信負荷の増大を抑えることができるため、不正解析者による送信タイミングの検出を困難とすることができる。
また、第1,2認証用データV1,V2を暗号化して主制御部201から後段部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では、図25に示す周辺基板320の期待値記憶部322に、第1,2検査値に対応した期待値と、第1,2認証用データに対応した演算方式用期待と、を予め記憶していたが、該他の特定方式では、期待値記憶部322に第1,2検査値に対応した期待値のみを記憶するだけでよい。
復号化処理部323は、主制御基板310から受信した第1認証用データ及び第2認証用データを複数種類の暗号化方式の各々に対応する複数種類の復号化方式の全てで復号化する。なお、複数種類の復号化方式は、説明を簡単化するために、上述した図26に示す復号化方式N1A〜C、N2A〜Cの場合について説明するが、4種類以上の復号化方式を用いる構成としても良い。また、他の特定方法では、上述したように図26中の演算方式用期待値G1A〜C、G2A〜Cは不要である。
検査値抽出部324は、復号化処理部323によって復号された全ての第1認証用データ及び第2認証用データから第1検査値及び第2検査値を暗号化方式M1A〜C、M2A〜Cに関連付けて抽出する。詳細には、検査値抽出部324は、第1認証用データ及び第2認証用データの復号化に用いた復号化方式N1A〜C、N2A〜Cに対応する暗号化方式M1A〜C、M2A〜Cを特定し、それを抽出した第1検査値及び第2検査値に関連付ける。
特定部327は、検査値抽出部324によって抽出された全ての第1検査値及び第2検査値の中から期待値記憶部322に記憶している期待値と一致する前記第1検査値及び前記第2検査値を特定し、該特定した第1検査値及び第2検査値に関連付けられた暗号化方式M1A〜C、M2A〜Cに基づいて検査値抽出部(手段)324の次回演算方式を複数種類の演算方式H1A〜C、H2A〜C(図20参照)の中から特定する。そして、検査値抽出部324は、特定部327によって特定された次回演算方式で次回の抽出処理を行う。
続いて、後段部202BのCPU21(第3コンピュータ)による各種制御信号の受信処理の手順2’を、図33のフローチャートを参照して説明する。
後段部202Bは、ステップS2601において、主制御部201から制御信号を受信したか否かを判定する。後段部202Bは、制御信号を受信していないと判定した場合(S2601:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、後段部202Bは、制御信号を受信したと判定した場合(S2601:Yes)、ステップS2602の処理に移行する。
後段部202Bは、ステップS2602において、受信した制御信号に認証用データ1003が含まれているか否かを判定する。そして、後段部202Bは、認証用データ1003が含まれていないと判定した場合(S2602:No)、受信したのは通常の制御信号1010であることから、ステップS2603において、主制御基板310に対する認証未実施を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS2611の処理に進む。一方、後段部202Bは、認証用データ1003が含まれていると判定した場合(S2602:Yes)、ステップS2604の処理に進む。
後段部202Bは、ステップS2604において、認証用データ付制御信号1020に含まれた認証用データ1003を取得し、相異なる複数種類の復号化方式N1A〜C、N2A〜Cの各々で、前記第1認証用データV1c及び第2認証用データV2sを復号化してRAM23等に暗号化方式及び復号化方式の識別が可能なように記憶し、その後ステップS2605の処理に進む。なお、復号化方式が3種類の場合は、3種類の第1認証用データV1cが記憶されることになる。
後段部202Bは、ステップS2605において、前記復号化された複数の前記第1認証用データV1c及び第2認証用データV2sの各々と前回の処理で定められた、又は、初期値として定められた(初回のみ)第1演算方式及び第2演算方式と付加データCとに基づいて逆演算を行い、第1検査値A’と第2検査値B’とを抽出してRAM23等に暗号化方式及び復号化方式の識別が可能なように記憶し、その後ステップS2606の処理に進む。
後段部202Bは、ステップS2606において、抽出した複数の第1検査値A’及び第2検査値B’の各々と期待値記憶部322の前記期待値と一致するものが存在するか否かを判定する。そして、後段部202Bは、前記期待値と一致する第1検査値A’及び第2検査値B’が存在すると判定した場合(S2606:Yes)、前記期待値と一致していることから、ステップS2607において、主制御部201に対する認証を成立させ、認証成立を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS2608の処理に進む。
後段部202Bは、ステップS2608において、前記期待値と一致した第1検査値A’及び第2検査値B’に関連付けられた暗号化方式を特定し、該暗号化方式に対応する次回演算方式(図21参照)を次回の第1演算方式及び次回の第2演算方式として特定してRAM23等に記憶し、その後ステップS2609の処理に進む。
後段部202Bは、ステップS2609において、前記動作値である第2検査値B’は、主制御部201の動作に応じて変化することから、変化に対応するように期待値記憶部322の第2期待値を更新し、その後S2611の処理に進む。なお、第2期待値の更新例としては、前記動作値が処理回数でインクリメントする場合、第2期待値をインクリメントして更新することになる。
一方、後段部202Bは、ステップS2606で前記期待値と一致する第1検査値A’及び第2検査値B’が存在しないと判定した場合(S2606:No)、前記期待値と一致していないことから、ステップS2610において、主制御部201に対する認証を不成立とし、認証不成立を示す後段認証結果データ1004を生成してRAM23等に記憶し、その後ステップS2611の処理に進む。
後段部202Bは、ステップS2611において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した後段認証結果データ1004を付加して認証結果信号1030を生成し、ステップS2612において、該生成した認証結果信号1030を周辺部202Aに対して送信し、その後ステップS2613の処理に進む。
後段部202Bは、ステップS2613において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、後段部202Bは、電源がオフされていないと判定した場合(S2613:No)、ステップS2601の処理に戻り、一連の処理を繰り返す。一方、後段部202Bは、電源がオフされたと判定した場合(S2613:Yes)、本フローチャートによる処理を終了する。
このように構成した後段部202Bを上述した周辺基板320に適用すると、その認証処理手順は以下のようになる。なお、図21に示すように3種類の暗号化方式M1A〜C、M2A〜C、及び、復号化方式N1A〜C、N2A〜Cを用いることを前提とする。
被認証者である主制御基板310は、上述した図29のステップS2401〜S2405と同様に、正規のCPU211の動作値である第2検査値B1を生成し、正規のCPU211の個体認証値である第1検査値A1を生成する。主制御基板310は、3種類の第1演算方式H1A、H1B、H1C及び第2演算方式H2A、H2B、H2Cの中から次回演算方式を第1演算方式H1B及び第2演算方式H2Bと決定する。そして、主制御基板310は、予め定められた今回の演算方式である第1演算方式H1Aと第2検査値B1と付加データC1とに基づいて1回目の第1認証用データV1As1=H1As(B1,C1)を生成し、該第1認証用データV1As1を次回の第1演算方式H1Bに対応した暗号化方式M1Bで暗号化して周辺基板320に送信する。そして、主制御基板310は、第1検査値A1と第2検査値B1と予め定められた今回の演算方式である第2演算方式H2Aに基づいて1回目の第2認証用データV2Ac1=H2Ac(A1,B1)を生成し、該第2認証用データV2Ac1を次回の第2演算方式H2Bに対応した暗号化方式M2Bで暗号化して周辺基板320に送信する。
一方、周辺基板320の後段部202Bは、主制御基板310から受信した第1認証用データV1As1及び第2認証用データV2Ac1を3種類の復号化方式N1A〜C、N2A〜Cで復号化してそれぞれ3つの復号化済み第1認証用データV1As1及び第2認証用データV2Ac1を求める。後段部202Bは、各第1認証用データV1As1及び第2認証用データV2Ac1から第1検査値及び第2検査値を抽出し、それらと前記第1,2期待値とを比較する。後段部202Bは、前記第1,2期待値と一致する第1検査値及び第2検査値を特定すると、主制御基板310の認証を成立させると共に、その一致した第1検査値及び第2検査値に対応する暗号化方式を3種類の暗号化方式M1A〜C、M2A〜Cの中から特定する。例えば、暗号化方式M1B、M2Bを特定した場合、周辺基板320は、第1演算方式H1B、H2Bを次回演算方式として特定する。そして、後段部202Bは、主制御部201の認証結果を示す後段認証結果データ1004を生成し、認証結果信号1030によって周辺部202Aに送信する。
一方、周辺部202Aは、後段部202Bから受信した認証結果信号1030の後段認証結果データ1004が認証成立を示していると、ぱちんこ遊技機100における制御コマンドデータ1001に対応した所定の処理を行う。また、周辺部202Aは、受信した後段認証結果データ1004が認証不成立を示していると、例えばスピーカ262(図2参照)等から報知信号を出力する。そして、周辺基板320は、第1検査値A1、第2検査値B1の双方に対する認証が成立した場合に次回の認証処理を継続する。
このように周辺基板320を構成しても、ぱちんこ遊技機100は上述した実施例2と同様の作用効果を得ることができる。
なお、本実施形態で説明した主制御部及び周辺部の制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、CD−ROM、MO、DVD、等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布することが可能な電送媒体であってもよい。