以下に添付図面を参照して、本発明にかかる遊技機であるぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムに好適な実施の形態を詳細に説明する。
[実施例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は、ぱちんこ遊技機100の遊技にかかる基本動作を制御する。中間部202Aは、主制御部201から演出制御部202Bへの通信中継部として、主制御部201と演出制御部202Bとの間に介在し、主制御部201から受信したデータを演出制御部202Bに送信する。中間部202Aは、主制御部201の認証を行い、その認証結果を演出制御部202Bに送信する。そして、演出制御部202Bは、遊戯中の演出動作を制御する。賞球制御部203は、払い出す賞球数を制御する。
主制御部201は、CPU211と、ROM212と、RAM213と、インタフェース(I/F)214と、を有している。CPU211は、ROM212に記憶されたプログラムデータに基づき、遊技内容の進行に伴う基本処理を実行する。ROM212は、プログラムデータ等を記憶する記憶領域を有している。RAM213は、CPU211の演算処理時におけるデータのワークエリアとして機能する。I/F214は、各検出部221〜224から各種データを受信するとともに、演出制御部202B及び賞球制御部203への各種データの送信を行う。主制御部201は、例えばいわゆる主制御基板によってその機能を実現する。
この主制御部201の入力側には、始動入賞口105に入賞した入賞球を検出する始動入賞口検出部221と、入賞ゲート106を通過した遊技球を検出するゲート検出部222と、普通入賞口107に入賞した遊技球を検出する普通入賞口検出部223と、大入賞口109に入賞した入賞球を検出する大入賞口検出部224と、がI/F214を介して電気的に接続されている。これらの検出部としては、近接スイッチなどを用いて構成できる。
この主制御部201の出力側には、大入賞口開閉部225が電気的に接続されており、主制御部201はこの大入賞口開閉部225の開閉を制御する。大入賞口開閉部225は、大当たり時に大入賞口109を一定期間開放する機能であり、ソレノイドなどを用いて構成できる。この大当たりは、生成した乱数(大当たり判定用乱数)に基づいて、所定の確率(例えば300分の1など)で発生するよう予めプログラムされている。
中間部202Aは、CPU231と、ROM232と、RAM233と、インタフェース(I/F)234と、を有している。CPU231は、ROM232に記憶されたプログラムデータに基づき、主制御部201の認証に伴う処理を行う。ROM232は、前記プログラムデータ等を記憶する記憶領域を有している。RAM233は、CPU211の演算処理時におけるデータのワークエリアとして機能する。I/F234は、主制御部201から各種データを受信するとともに、演出制御部202Bへの各種データの送信を行う。
演出制御部202Bは、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいて、ROM242に記憶されたプログラムデータを実行して遊技中における演出制御を行う。この演出制御部202Bは、CPU241と、ROM242と、RAM243と、VRAM244と、インタフェース(I/F)245と、を有している。CPU241は、ぱちんこ遊技機100に対応した演出処理を実行する。RAM243は、CPU241の演出処理時におけるデータのワークエリアとして機能する。VRAM244は、図柄表示部104に表示させる画像データ等を記憶する。I/F245は、中間部202Aからの各種データの受信およびランプ制御部251や音声制御部252への各種データの送信を行う。そして、演出制御部202Bは、中間部202Aとともに同一の周辺基板で実現している。また、演出制御部202Bの出力側には、上述した図柄表示部(LCD)104、ランプ制御部251、音声制御部252がI/F245を介して電気的に接続されている。ランプ制御部251はランプ261の点灯を制御する。また、音声制御部252はスピーカ262の音声等の出力を制御する。
賞球制御部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、第1検査値生成部314、第2検査値生成部315、第1認証用データ生成部316、第2認証用データ生成部317、暗号化処理部318、主制御側送信部319を有して構成している。そして、主制御基板310は、周辺基板330とは別の基板で形成されており、周辺基板330の中間部202Aと通信可能なように電気的に接続されている。
変動値生成部311は、本発明の変動値生成手段に相当し、主制御基板310の動作に応じて変化する変動値と、他の手段と独立して予め定められた計数方式で計数手段215が計数した計数値と、周辺基板330との通信の連続性を確認するための同期検査値と、を有する複数種類の変動値のうち、少なくとも2種類の変動値を選択的に切り替えて生成する。
本実施形態の変動値生成部311は、図3に示すように、動作値取得手段311aと、計数値取得手段311bと、同期検査値生成手段311cと、を有して構成している。変動値生成部311は、動作値取得手段311aと計数値取得手段311bと同期検査値生成手段311cとの複数の手段の中から1つの手段を、任意のタイミングでランダムに選択して切り替える。
なお、変動値生成部311は、動作値取得手段311aと計数値取得手段311bと同期検査値生成手段311cとのうちの2つの手段のみを備えた構成や、それらの3つの手段に他の変動値を生成する手段を加えた4つ以上の手段を備えた構成とすることもできる。そして、他の変動値としては、上述した値とは異なる所定の法則でカウントするカウント値等が挙げられる。
動作値取得手段311aは、予め定められたプログラムデータを実行した主制御部201の動作に対応して変化する動作値をデータ記憶部312等から取得して前記変動値を生成する。そして、動作値は、主制御基板310が予め定められた動作中であるかを周辺基板330側で認証することが可能な値となっており、データ記憶部312等に記憶されている。動作値の一例としては、認証処理の回数、プログラム機能の処理番号、等が挙げられる。詳細には、認証処理の回数を動作値とする場合、1回目の認証処理から10回目の認証処理を1周期とすれば、1,2,・・・,10が1周期として順次変化し、11回目の認証処理から20回目の認証処理までは、1,2,・・・,10と順次変化する。このように1〜10の値のみを繰り返し用いることで、動作値は小さな値とすることができるが、これに代えて、例えば動作値を通し番号等とすることもできる。
また、プログラム機能の処理番号を動作値とする場合、処理1→処理3→処理4→処理2→処理5が正規の遷移とすれば、その遷移番号は1,3,4,2,5となり、その番号を動作値としたり、所定回数分の複数の遷移番号を動作値としたり、所定回数分の複数の遷移番号を演算した演算値を動作値とするなど種々異なる実施形態とすることができる。そして、本実施形態では、上記動作値を初期処理等で生成してデータ記憶部312に記憶し、該動作値を主制御基板310の動作に応じて更新する機能を上記プログラムデータによってCPU211が実現するようにしている。
例えば、ぱちんこ遊技機100が、はずれ処理、大当たりリーチ処理、大当たり開始処理、大当たりラウンド処理、大当たり終了処理、はずれ処理というように一連の処理を行う場合、上述した遷移番号1をはずれ処理、遷移番号3を大当たりリーチ処理、遷移番号4を大当たり開始処理、遷移番号2を大当たりラウンド処理、遷移番号5を大当たり終了処理にそれぞれ割り付けることで、遷移番号は1,3,4,2,5と変化することになる。よって、該遷移番号を動作値として用いる場合、動作値が正規の順番で遷移しているか否かを検査することで、主制御部201不正な処理が行われたか否かを検査することができる。
次に、計数値取得手段311bは、計数手段215から前記計数値を取得して前記変動値を生成する。そして、計数手段215は、主制御部201に設けられている。計数手段215は、主制御部201の処理とは独立して予め定められた計数方式で計数を行い、その計数値を出力する。本実施形態の計数手段215は、主制御部201のデバイスであるリアルタイムクロック(RTC)とした場合について説明するが、これに代えて、例えばCPU241の時計機能、カウンタ回路、等を用いることもできる。なお、RTC、時計機能は、カウント(計数)精度が高いので、不規則な周期を実現する場合、通常のカウンタ回路を改造して用いる、新たなカウンタ回路を設計することができるカウンタ回路が好適である。
計数手段215は、例えば電源投入時、リセット時など、ぱちんこ遊技機100の動作開始時をトリガとして計数を開始する。そして、計数手段215は、不規則な周期で連続して計数を行うことで、所望の計数方式であっても計数値が不規則となるようにしている。よって、計数手段215が計数した計数値を、時系列的に取得しても、その規則性を解析するのを困難としている。また、計数方式の一例としては、増加または減少するカウンタ値を計数する方式、計数開始からの時間を計数する方式、等の各種方式が挙げられる。さらに、計数手段215を不規則な周期で計数する場合、例えば乱数等によって周期を変化させて計数を行う電子回路、コンデンサと抵抗を組んだCR発振回路の出力をクロック入力とする不規則カウンタ回路、等で実現することができる。そして、不規則カウンタ回路の原理は、CR発振回路の出力が、コンデンサや抵抗の精度や温度特定が低い場合に、発振精度が悪くなる(CRの時定数で発振するため)という特性を利用して、クロック入力を不規則とする。
計数値取得手段311bが計数値を取得するタイミングとしては、例えば、はずれ、大当たりリーチ、大当たり開始、大当たりラウンド、大当たり終了、等の各種処理に対応した複数種類の制御コマンドの各々が発生したタイミング、予め定められた取得タイミング(例えば、所定の動作終了時、所定の動作開始持、等)で取得するなど種々異なる実施形態とすることができる。そして、複数種類の制御コマンドの各々は、相異なるタイミングで発生するため、この発生を取得タイミングとすることで、時間軸上で取得タイミングを不規則とすることができる。
次に、同期検査値生成手段311cは、予め定められた同期方式で、周辺基板330との通信の連続性を確認するための同期検査値を生成して前記変動値とする。同期検査値生成手段311cは、生成した変動値をデータ記憶部312に時系列的に記憶する。そして、同期方式は、例えば、連続する同期検査値同士、又は、所定の間隔の同期検査値同士、等の差分を規定している。また、同期方式によって規定される差分は予め定められた所定の相関関係を規定する。該所定の相関関係の一例としては、連続する複数の同期検査値の変化パターンを規定するなどが挙げられ、今回と前回の2つの同期検査値の差分が「+2」を相関条件としたり、今回と前回の2つの同期検査値の差分が「−5」を相関条件とする。
同期検査値生成手段311cは、同期方式の相関条件が「+2」の場合、データ記憶部312から前回の同期検査値を取得し、該前回の同期検査値との差分が「+2」となる今回の同期検査値を生成し、該今回の同期検査値をデータ記憶部312に時系列的に記憶する。また、同期検査値生成手段311cは、同期方式の相関条件が「−5」の場合、データ記憶部312から前回の同期検査値を取得し、該前回の同期検査値との差分が「−5」となる今回の同期検査値を生成し、該今回の同期検査値をデータ記憶部312に時系列的に記憶する。
なお、同期方式の相関条件の他の例としては、今回と前々回の同期検査値の差分、今回と前回と前々回の同期検査値の変化パターン、所定個数受信した複数の同期検査値を差分や変化パターン、等を相関条件とすることができる。
データ記憶部312は、本発明の個体認証値記憶手段に相当し、複数種類の個体認証値、上述した動作値、計数値、同期検査値、第1検査値、第2検査値、第1認証用データ、第2認証用データ、等の各種データを記憶している。データ記憶部312としては、例えば、主制御部201のROM212、RAM213(図2参照)の一部を用いることができる。
複数種類の個体認証値は、上述した変動値の複数種類の各々を示す変動値識別データと一対一に対応付けられてデータ記憶部312に記憶されている。例えば、変動値の種類が上述した動作値、計数値、同期検査値の3種類の場合、個体認証値Caに「動作値」、個体認証値Cbに「計数値」、固体認証値Ccに「同期検査値」がそれぞれ対応付けられる。そして、固体認証値Ca〜cの各々には、予め定められた認証コード、識別コード、識別コマンド、等が任意に割り当てられる。そして、データ記憶部312は、変動値生成部311が次回選択する変動値の種類を示す変動値選択データを記憶している。該変動値選択データは、変動値生成部311が次回の変動値の種類を決定した後に、その変動値の種類が変動値生成部311によって設定される。
固体認証値取得部313は、本発明の固体認証値取得手段に相当し、変動値生成部311が次回選択する前記変動値の種類に対応した前記個体認証値Ca〜cをデータ記憶部312(個体認証値記憶手段)から取得する。例えば、固体認証値取得部313は、変動値生成部311が設定したデータ記憶部312の変動値選択データを参照して変動値の種類を検出し、該種類に対応した固体認証値Ca〜cを抽出してRAM43等に記憶する。
第1検査値生成部314は、本発明の第1検査値生成手段に相当し、個体認証値取得部313が抽出した個体認証値Ca〜cを検査する第1検査値を第1認証方式で生成してデータ記憶部312に記憶する。そして、第1認証方式としては、例えばチェックサム、パリティチェック、ハミングコードチェック、CRC(巡回冗長検査)、等の公知の誤り検出方法を用いることができる。即ち、第1検査値は、個体認証値を第1認証方式で演算した値となっているため、不正解析者は第1認証方式が判明しない限り、第1検査値を解析することはできない。また、第1検査値生成部314は、個体認証値取得部313が個体認証値Ca〜cを取得していない場合、即ち、固体認証値の種類に変更がない場合は、それまでに取得された個体認証値や任意の個体認証値を検査する第1検査値を第1認証方式で生成してデータ記憶部312に記憶することもできる。
第2検査値生成部315は、本発明の第2検査値生成手段に相当し、変動値生成部311が生成した変動値を検査する第2検査値を第2認証方式で生成してデータ記憶部312に記憶する。第2認証方式としては、上述した第1認証方式と同様に、例えばチェックサム、パリティチェック、ハミングコードチェック、CRC(巡回冗長検査)、等の公知の誤り検出方法を用いることができる。即ち、第2検査値は、上記変動値を第2認証方式で演算した値となっているため、不正解析者は第2認証方式が判明しない限り、第2検査値を解析することはできない。また、第1認証方式と第2認証方式は、異なる認証方式を設定してもよいし、同一の認証方式を設定してもよい。
このように第1検査値及び第2検査値は、異なる2つの第1認証方式、第2認証方式を採用する。そして、第1,2認証方式は、主制御部201と周辺部との相互間で予め取り決めしておく。また、処理負荷(生成持の負荷)が軽い第1,2認証方式を用いることで、被認証者(主制御部)が高度な処理能力を有していなくても、セキュリティ強度の向上を図ることができる。
第1認証用データ生成部316は、本発明の第1認証用データ生成手段に相当し、第1検査値又は第2検査値の何れか一方の検査値を予め定められた第1演算方式で演算して第1認証用データを生成する。第1認証用データ生成部316は、例えば、第1演算方式が示す演算を一方の検査値に施して第1認証用データを生成するものであり、該第1認証用データを周辺基板330に送信することで、一方の検査値が周辺基板330にそのままのデータで送信されるのを防止している。そして、第1演算方式の一例としては、一方の検査値と定数や付加データとの加算、減算、積算、除算、排他的論理和を演算する演算方式や、一方の検査値から予め定められた関数式に基づいて演算する演算方式等を用いることができる。
第2認証用データ生成部317は、本発明の第2認証用データ生成手段に相当し、前記一方の検査値とは異なる前記第1検査値又は前記第2検査値の他方の検査値と前記一方の検査値の全て又は一部とを予め定められた第2演算方式で演算して第2認証用データを生成する。第2認証用データ生成部317は、例えば、第2演算方式が示す演算を前記他方の検査値に施して第2認証用データを生成するものであり、該第2認証用データを周辺基板330に送信することで、他方の検査値が周辺基板330にそのままのデータで送信されるのを防止している。第2演算方式は、上記第1演算方式で説明した各種演算方式を用いることができる。なお、第2演算方式は、第1演算方式と同一の演算方式を設定する、各々に異なる演算方式を設定するなど種々異なる実施形態とすることができる。
本実施形態では、第1認証用データ及び第2認証用データは第1,2検査値をもとに生成し、第1,2検査値と予め定めた期待値との照合により主制御部201の認証の成立/不成立を判断する。また、この実施形態に代えて、第1,2検査値そのものを第1,2認証用データとしてもよい。
暗号化処理部318は、本発明の暗号化手段に相当し、上述した第1認証用データ及び第2認証用データを、周辺基板330との間で予め定められた暗号化方法で暗号化する。なお、主制御基板310と周辺基板330との間で暗号化が不要な場合は、主制御基板310の構成から暗号化処理部318を削除して、第1認証用データ及び第2認証用データをそのまま送信部319から周辺基板330に送信する。
主制御側送信部319は、本発明の主制御側送信手段に相当し、第1認証用データ生成部316で生成した第1認証用データ及び第2認証用データ生成部317で生成した第2認証用データを周辺基板330の中間部202Aに送信する。そして、主制御側送信部319は、例えば、主制御基板310から周辺基板330の中間部202Aに送信される制御信号に第1認証用データ及び第2認証用データを付加することにより、第1,2認証用データを中間部202Aに送信する。
本発明のぱちんこ遊技機100は、2つの認証要素として、主制御部201の正当性を認証するための第1検査値と、主制御部201の動作継続性、主制御部201との通信の連続性を選択的に認証するための第2検査値とを採用している。ぱちんこ遊技機100は、主制御部201が正規のものであるか否かを検証するのに第1検査値を用いる。ぱちんこ遊技機100は、その動作中に、なりすましのための不正な切り替えが発生したか否かを検証するのに第2検査値を用いる。そして、ぱちんこ遊技機100は、2つの認証要素を組み合わせて認証することで、セキュリティの向上を図るとともに、主制御部201から周辺部に送信する第1,2認証用データが再利用されるのを防止している。
続いて、上述した演出制御部202Bなどの周辺部としての機能を有する周辺基板330の機能的構成について説明する。図3に示すように、周辺基板330は、中間部202Aと、周辺部(演出制御部)202Bと、を有して構成している。そして、周辺基板330は、中間部202Aと周辺部202Bとが通信可能に構成されている。なお、本実施例では、中間部202Aと演出制御部202Bを有する周辺基板330とした場合について説明するが、これに代えて、中間部202Aと賞球制御部203を有する周辺基板とすることもできる。
次に、中間部202Aは、中間側受信部331、中間側記憶部332、復号化処理部333、検査値抽出部334、第1判定部335、第2判定部336、中間認証結果データ生成部337、中間側送信部338、決定部339を有して構成している。
中間側受信部331は、本発明の中間側受信手段に相当し、主制御基板310によって送信された第1,2認証用データ等を受信する。本実施形態の中間側受信部331は、例えば、第1,2認証用データが付加された制御信号を受信することによって、第1,2認証用データを主制御基板310から受信する。
中間側記憶部332は、本発明の期待値データ記憶手段に相当している。中間側記憶部332は、上述した主制御基板310から受信すべき第1検査値に対応した第1期待値を記憶している。即ち、周辺側記憶部322は、正規の主制御基板310が個体認証値に基づいて生成する第1検査値を第1期待値として予め記憶しており、その第1期待値と第1検査値が一致していれば、正規の第1検査値を受信したと判定できる。また、その第1期待値と第1検査値が一致していなければ、不正な第1検査値を受信したと判定できる。
中間側記憶部332は、上述した個体認証値Ca〜cに対応した複数の第1期待値の各々に、上述した変動値の複数種類の各々を一対一に対応付けて記憶している。詳細には、中間側記憶部332は、第1期待値と変動値の種類を識別するための変動値識別データを記憶している。そして、中間側記憶部332は、変動値の複数種類の各々に対応した複数種類の変動条件を示す変動条件情報を記憶している。なお、変動条件情報は、動作値の変化等を判定するための動作条件、計数値が計数方式で変化しているか否かを判定する計数条件、同期検査値が同期方式で変化しているか否かを判定する相関条件、等に必要な各種データを有して構成している。
中間側記憶部332は、主制御基板310から受信した第1検査値及び第2検査値を関連付けて時系列的に記憶している。即ち、中間側記憶部332は、主制御基板310から受信した個体認証値と変動値を関連付けて記憶している。なお、変動値については、その種類毎に分けて記憶する、受信した順番で記憶するなどの実施形態とすることができる。中間側記憶部332は、次回の主制御部201から受信する変動値の種類を示す次回種類データを記憶しており、後述する決定部338によって更新される。
復号化処理部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検査値に対応して予め定められた中間側記憶部322の第1期待値と前記抽出した第1検査値とが一致するか否かを比較して、前記第1検査値である主制御基板310の個体認証値の正当性を判定する。第1判定部335は、判定結果をRAM243等に記憶する。
第2判定部336は、本発明の第2判定手段に相当し、中間側記憶部332に記憶している第2検査値に基づいて、今回抽出した第2検査値(変動値)の種類に対応した予め定められた変動条件を当該第2検査値が満たしているか否かを判定する。そして、第2判定部336は、動作値判定手段336aと、計数値判定手段336bと、同期検査値判定手段336cと、を有して構成している。
動作値判定手段336aは、動作値に対応して予め定められた動作期待値と前記動作値が一致するか否かを判定する。そして、変動条件情報の動作条件としては、上述したように認証処理の回数を動作値とする場合、1回目の認証処理から10回目の認証処理を1周期とすれば、1,2,・・・,10が設定されていると、動作値判定手段336aは今回抽出した第2検査値(動作値)が動作条件を満たしているか否かを判定する。また、プログラム機能の処理番号を動作値とする場合、処理1→処理3→処理4→処理2→処理5が正規の遷移とすれば、その遷移番号は1,3,4,2,5が変動条件情報の動作条件として設定されると、動作値判定手段336aは今回抽出した第2検査値(動作値)が正しく遷移しているか否かを判定し、該判定結果に基づいて動作条件を満たしているか否かを判定する。
計数値判定手段336bは、抽出した第2検査値の計数値が予め定められた計数方式で変化しているか否かを判定する。例えば、計数方式がカウンタ値をインクリメント(増加)又はデクリメント(減少)させる計数方式である場合、計数値判定手段336bは前回の計数値と今回の計数値との差分を演算し、この差分が増加又は減少しているか否かに基づいて正当性を判定する。このように計数値判定手段336bは、加算または減算しているか否かの予め定められた計数条件を判定するだけなので、簡単な処理で主制御基板310の動作継続性、及び、認証用データを正しい順序で受信しているか否かを判定することができる。即ち、計数値が増加しなければならないところで、計数値が減少したり、計数値が変化していない場合は、計数値が不正利用されたと判定することができる。
同期検査値判定手段336cは、前記抽出した第2検査値から同期検査値を中間側記憶部332等から時系列的に取得し、今回取得した同期検査値が同期方式に対応して予め定められた相関条件を満たしているか否かを判定する。例えば、同期方式の相関条件が前後する同期検査値の差分である場合、同期検査値判定手段336cは、今回の同期検査値と前回の同期検査値との差分を算出し、該差分が予め定められた判定値となっているか否かの判定結果に基づいて、主制御基板310との通信の連続性を判定する。このように同期検査値判定手段336cは、複数の同期検査値の差分を判定するだけなので、簡単な処理で主制御基板310の通信の連続性を判定することができる。即ち、同期方式の相関条件を満たしていない場合は、同期検査値が不正利用されたと判定することができる。
中間認証結果データ生成部337は、本発明の中間認証結果データ生成手段に相当し、第1判定部335及び第2判定部336の判定結果に基づいて、主制御基板310の認証を行う。中間認証結果データ生成部337は、第1判定部335及び第2判定部336の双方が正当であると判定している場合に主制御基板310の認証を成立させ、また、正当ではないと判定している場合に認証を不成立とする。中間認証結果データ生成部337は、主制御基板310(主制御部)の認証が成立したか否かを示す中間認証結果データを生成する。即ち、中間認証結果データは、中間部202Aが主制御部201を認証したか否かの認証結果を示している。
中間側送信部338は、本発明の中間側送信手段に相当し、中間認証結果データ生成部337が生成した中間認証結果データを周辺部202Bに送信する。そして、中間側送信部338は、例えば、周辺部202Bに送信する制御信号に中間認証結果データを付加することにより、中間認証結果データを周辺部202Bに送信する。
決定部339は、本発明の決定手段に相当し、今回抽出した個体認証値と一致した前記期待値データに対応した変動値の種類を次回の変動値の種類として決定する。決定部338は、第1判定部335によって認証された第1検査値である個体認証値に対応付けられた変動値の種類を次回の変動値の種類として決定すると、その種類を中間側記憶部332の次回種類データに設定する。
次に、周辺部202Bは、周辺側受信部351と、処理部352と、を有して構成している。
周辺側受信部351は、本発明の周辺側受信手段に相当し、周辺基板330の中間部202Aによって送信された中間認証結果データ等を受信する。本実施形態の周辺側受信部351は、例えば、中間認証結果データが付加された制御信号を受信することによって、中間認証結果データを中間部202Aから受信する。
処理部352は、本発明の処理手段に相当し、中間部202Aから受信した中間認証結果データに応じてぱちんこ遊技機100における所定の処理を行う。処理部352は、前記中間認証結果データが認証成立を示している場合に前記所定の処理を行い、また、認証不成立を示している場合は報知を行う。なお、前記所定の処理は、ぱちんこ遊技機100における主制御部201からの制御コマンドに応じて行う、例えば、はずれ処理、大当たりリーチ処理、大当たり開始処理、大当たりラウンド処理、大当たり終了処理、等の処理が挙げられる。
なお、本実施形態では、中間部202Aと周辺部202Bとの間で通信されるデータを暗号化せずに送信する構成で説明するが、上述した主制御基板310と中間部202Aで説明したように、中間部202Aと周辺部202Bとの間でもデータを暗号化して送信する構成とすることもできる。
また、本実施形態では、主制御基板310のCPU211が請求項中の第1コンピュータ、周辺基板330の中間部202AのCPU231が請求項中の第2コンピュータ、周辺基板330の演出制御部202BのCPU241が請求項中の第3コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の変動値生成手段、個体認証値取得手段、第1検査値生成手段、第2検査値生成手段、第1認証用データ生成手段、第2認証用データ生成手段、主制御側送信手段、暗号化手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板330の中間部202AのROM232は、前記第2コンピュータを請求項中の中間側受信手段と、検査値抽出手段と、第1判定手段と、第2判定手段と、中間認証結果データ生成手段と、中間側送信手段と、決定手段、復号化手段、等の各種手段として機能させるための中間側認証プログラムを記憶している。また、周辺基板330の周辺部202BのROM242は、前記第3コンピュータを請求項中の周辺側受信手段、処理手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。即ち、主制御側認証プログラムと中間側認証プログラムと周辺側認証プログラムによって本発明の認証プログラムを構成している。
(ぱちんこ遊技機の基本動作)
上記構成によるぱちんこ遊技機100の基本動作の一例を説明する。主制御部201は、各入賞口に対する遊技球の入賞状況を制御コマンドとして賞球制御部203に出力する。賞球制御部203は、主制御部201から出力された制御コマンドに応じて、入賞状況に対応した賞球数の払い出しを行う。
また、主制御部201は、始動入賞口105に遊技球が入賞するごとに、対応する制御コマンドを中間部202Aを介して演出制御部202Bに出力し、演出制御部202Bは、図柄表示部104の図柄を変動表示させ、停止させることを繰り返す。そして、主制御部201は、大当たりの発生が決定しているときには、対応する制御コマンドを演出制御部202Bに出力し、演出制御部202Bは、所定の図柄で揃えて変動表示を停止させるとともに、大入賞口109を開放する制御を行う。演出制御部202Bは、大当たり発生期間中、および大当たり発生までの間のリーチ時や、リーチ予告時などには、図柄表示部104に対して、図柄の変動表示に加えて各種の演出表示を行う。このほか、各種役物に対して特定の駆動を行ったり、ランプ261の表示状態を補正するなどの演出を行う。
そして、主制御部201は、大当たり発生期間中に、大入賞口109を複数回開放させる。1回の開放が1ラウンドとして、例えば15回のラウンドが繰り返し実行される。1ラウンドの期間は、遊技球が大入賞口109に例えば10個入賞するまでの期間、あるいは所定期間(例えば30秒)とされている。この際、賞球制御部203は、大入賞口109に対する遊技球1個の入賞当たり、例えば15個の賞球数で払い出しを行う。ぱちんこ遊技機100は、大当たり終了後、この大当たり状態を解除し、通常の遊技状態に復帰する。
(各制御部による処理の詳細)
次に、各制御部が行う各種処理の詳細について説明する。まず、主制御部201による演出制御部202Bの制御処理について説明する。なお、図4〜図9においては、演出制御部202Bの制御処理の手順を明確にするため、認証データおよび付随データについては考慮しないものとする。即ち、図4〜図9の説明において、「コマンドを送信する」とは、「当該コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」との意味であり、例えば認証データや付随データの有無は考慮しないものとする。
主制御部201は、図4に示すステップS401において、ぱちんこ遊技機100の電源がオンされたか否かを判定する。主制御部201は、電源がオンされていないと判定した場合(S401:No)、この判定処理を繰り返すことで、ぱちんこ遊技機100の電源がオンされるまで待機する。一方、主制御部201は、電源がオンされたと判定した場合(S401:Yes)、ステップS402の処理に移行する。
主制御部201は、ステップS402において、演出制御部202Bや賞球制御部203などの各周辺部に対して電源オンコマンドを送信し、ステップS403の処理に移行する。この処理によって電源オンコマンドが送信されると、演出制御部202Bは、ランプ制御部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において、演出制御部202Bに客待ちデモコマンドを送信し、ステップ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において、演出制御部202Bに大当たりリーチコマンド(図柄変動コマンド)を送信する。そして、主制御部201は、ステップS414において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S414:No)、この判定処理を繰り返すことで、図柄変動時間が経過するのを待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S414:Yes)、ステップS415において、演出制御部202Bに図柄停止コマンドを送信し、ステップS416の処理に移行する。
主制御部201は、ステップS416において、演出制御部202Bに大当たり開始コマンドを送信し、続けて、ステップS417において、大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を演出制御部202Bに順次送信する。そして、主制御部201は、全てのラウンドの大当たりコマンドの送信が終了すると、ステップS418において、大当たり終了コマンドを演出制御部202Bに送信し、ステップS422の処理に移行する。
また、主制御部201は、ステップS412において、大当たり乱数ではないと判定した場合(S412:No)、ステップS419において、はずれリーチコマンド(図柄変動コマンド)を演出制御部202Bに送信し、ステップS420の処理に移行する。そして、主制御部201は、ステップS420において、図柄変動時間が経過したか否かを判定する。主制御部201は、図柄変動時間が経過していないと判定した場合(S420:No)、この判定処理を繰り返すことで、図柄変動時間の経過を待つ。一方、主制御部201は、図柄変動時間が経過したと判定した場合(S420:Yes)、ステップS421において、図柄停止コマンドを演出制御部202Bに送信し、ステップS422の処理に移行する。
主制御部201は、ステップS422において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。主制御部201は、電源がオフされていないと判定した場合(S422:No)、図4に示すステップS403の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S422:Yes)、ステップS423において、終了処理コマンドを演出制御部202Bに送信し、本フローチャートによる処理を終了する。
次に、ぱちんこ遊技機100における大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の主制御部201から演出制御部202Bに対する送信タイミングの一例を、図6の図面を参照して説明する。
大当たりリーチコマンドは、実際に大当たりが発生するよりも頻繁に、且つランダムに送信される。また、大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。また、大当たりコマンドは、大当たり状態に移行した後、ラウンド毎に継続的に送信される。また、大当たり終了コマンドは、大当たり状態の全てのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。
以下では、図柄変動時(大当たりリーチコマンド(図5のステップS413を参照)または、はずれリーチコマンド(図5のステップS419を参照)を受信した場合)及び、大当たり時の処理を説明する。
まず、演出制御部202Bによる図柄変動処理について、図7に示すフローチャートを参照して説明する。なお、図柄変動処理は、演出制御部(周辺部)202Bにおける所定の処理の一つである。
演出制御部202Bは、図7に示すステップS701において、主制御部201から図柄変動コマンドを受信したか否かを判定する。演出制御部202Bは、図柄変動コマンドを受信していないと判定した場合(S701:No)、この判定処理を繰り返すことで、図柄変動コマンドの受信を待つ。一方、演出制御部202Bは、図柄変動コマンドを受信したと判定した場合(S701:Yes)、ステップS702において、変動演出選択用乱数を取得し、ステップS703において、取得した乱数に基づいて変動演出の種類を選択し、ステップS704の処理に移行する。そして、演出制御部202Bは、ステップS704において、ランプ制御部251や音声制御部252に対して変動演出別の演出開始コマンドを送信し、ステップS705の処理に移行する。
演出制御部202Bは、ステップS705において、演出時間が経過したか否かを判定する。演出制御部202Bは、演出時間が経過したと判定した場合(S705:Yes)、ステップS707の処理に移行する。一方、演出制御部202Bは、演出時間が経過していないと判定した場合(S705:No)、ステップS706において、主制御部201から図柄停止コマンドを受信したか否かを判定する。そして、演出制御部202Bは、図柄停止コマンドを受信していないと判定した場合(S706:No)、ステップS705の処理に戻り、一連の処理を繰り返す。一方、演出制御部202Bは、図柄停止コマンドを受信したと判定した場合(S706:Yes)、ステップS707において、ランプ制御部251や音声制御部252に対して演出停止コマンドを送信し、本フローチャートによる処理を終了する。
続いて、演出制御部202Bによる大当たり時処理について、図8に示すフローチャートを参照して説明する。なお、大当たり時処理は、演出制御部(周辺部)202Bにおける所定の処理の一つである。
演出制御部202Bは、図8に示すステップS801において、主制御部201から大当たり開始コマンド(図5のステップS416を参照)を受信したか否かを判定する。演出制御部202Bは、大当たり開始コマンドを受信していないと判定した場合(S801:No)、この判定処理を繰り返すことで、大当たり開始コマンドの受信を待つ。一方、演出制御部202Bは、大当たり開始コマンドを受信したと判定した場合(S801:Yes)、ステップS802において、ランプ制御部251や音声制御部252に対して大当たり開始処理コマンドを送信し、ステップS803の処理に移行する。
演出制御部202Bは、ステップS803において、主制御部201からラウンド別の大当たりコマンド(図5のステップS417を参照)を受信したか否かを判定する。演出制御部202Bは、大当たりコマンドを受信していないと判定した場合(S803:No)、この判定処理を繰り返すことで、大当たりコマンドの受信を待つ。一方、演出制御部202Bは、大当たりコマンドを受信したと判定した場合(S803:Yes)、ステップS804において、ランプ制御部251や音声制御部252に対して受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信し、ステップS805の処理に移行する。
演出制御部202Bは、ステップS805において、主制御部201から大当たり終了コマンド(図5のステップS418を参照)を受信したか否かを判定する。演出制御部202Bは、大当たり終了コマンドを受信していないと判定した場合(S805:No)、この判定処理を繰り返すことで、大当たり終了コマンドの受信を待つ。一方、演出制御部202Bは、大当たり終了コマンドを受信したと判定した場合(S805:Yes)、ステップS806において、ランプ制御部251や音声制御部252に対して大当たり終了処理コマンドを送信し、本フローチャートによる処理を終了する。
続いて、ランプ制御部251によるランプ制御処理について、図9に示すフローチャートを参照して説明する。ここでは、演出制御部202Bから演出開始コマンドを受信した場合(図柄変動時)の処理について説明する。そして、ランプ制御部251は、図9に示すステップS901において、演出制御部202Bから演出開始コマンドを受信したか否かを判定する。ランプ制御部251は、演出開始コマンドを受信していないと判定した場合(S901:No)、この判定処理を繰り返すことで、演出開始コマンドの受信を待つ。一方、ランプ制御部251は、演出開始コマンドを受信したと判定した場合(S901:Yes)、ステップS902において、コマンド別に予め用意されているコマンド別データを読み出し、ステップS903の処理に移行する。
ランプ制御部251は、ステップS903において、コマンド別の選択ルーチンを実行し、ステップS904において、受信した演出開始コマンドに対応したランプデータをセットし、ステップS905において、ランプ261に対してランプデータを出力し、ステップS906の処理に移行する。そして、この処理によってランプ261は、ランプデータに基づいて点灯又は消灯する。
ランプ制御部251は、ステップS906において、演出制御部202Bから演出停止コマンドを受信したか否かを判定する。ランプ制御部251は、演出停止コマンドを受信していないと判定した場合(S906:No)、この判定処理を繰り返すことで、演出停止コマンドの受信を待つ。一方、ランプ制御部251は、演出停止コマンドを受信したと判定した場合(S906:Yes)、ステップS907において、ランプデータの出力を停止し、本フローチャートによる処理を終了する。
なお、図9にはランプ制御部251の処理を記載したが、音声制御部252による音声制御も、図9の処理とほぼ同様である。音声制御部252による音声制御処理は、例えば、図9の処理において、ステップS904、S905、S907の「ランプデータ」を「音声データ」と読み替えればよい。
(制御信号のデータフォーマット)
次に、主制御部201が中間部202Aに出力する通常の制御信号及び認証用データ付制御信号と、中間部202Aが周辺部(演出制御部)202Bに出力する中間認証結果付制御信号と、の一例を説明する。
図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の個体認証値(例えばチェックサム)を周辺部で検査する検査値であり、上述した第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は予め定められた逆演算可能な関数式とすることもできる。
よって、中間部202Aは、主制御部201が用いる演算式(方式)H1,H2と付加データCとを予め記憶しておくことで、これらのデータと主制御部201から受信した第1認証用データV1及び第2認証用データV2を逆演算して第1検査値A及び第2検査値Bを抽出することができる。
なお、本実施形態では、説明を簡単化するために、演算式(方式)H1,H2が2つのパラメータを用いて演算する場合について説明するが、これに代えて、例えば2つの検査値と付加データ等の3つ以上のパラメータを用いる演算式(方式)とすることもできる。そして、3つ以上のパラメータを使用する場合、演算及び逆演算の方式等は、主制御部201と中間部202Aとの間で予め取り決めをしておくことで実現することができる。
また、上述した(式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認証用データV1s=H1s(B,C)、(式2)’の場合は第2認証用データV2c=H2c(A,B)と定義する。また、変動値が計数値の場合、第1,2認証用データV1,2t、演算方式H1,2tと定義でき、変動値が同期検査値の場合、第1,2認証用データV1,2d、演算方式H1,2dと定義できる。
(変動値が動作値である場合の認証方法の具体例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回目の認証を行う例
中間部202Aが第1検査値Aの第1期待値aが0x80、第2検査値Bの第2期待値bが0x01を記憶している場合、抽出した第1検査値A’と第1期待値aは0x80、第2検査値B’と第2期待値bは0x01で一致する場合、中間部202Aは主制御部201の認証を成立と判定する。また、抽出した第1検査値aと第2検査値bの何れか一方でも一致しない場合、中間部202Aは主制御部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回目の認証を行う例
中間部202Aが第1検査値Aの第1期待値aが0x80、第2検査値Bの第2期待値bが0x02と更新して記憶している場合、抽出した第1検査値A’と第1期待値aは0x80、第2検査値B’と第2期待値bは0x02で一致する場合、中間部202Aは主制御部201の認証を成立と判定する。また、抽出した第1検査値aと第2検査値bの何れか一方でも一致しない場合、中間部202Aは主制御部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回目の認証を行う例
中間部202Aが第1検査値Aの第1期待値aが0x80、第2検査値Bの第2期待値bが0x02と更新して記憶している場合、抽出した第1検査値A’と第1期待値aは0x80、第2検査値B’と第2期待値bは0x02で一致する場合、中間部202Aは主制御部201の認証を成立と判定する。また、抽出した第1検査値Aと第2検査値Bの何れか一方でも一致しない場合、中間部202Aは主制御部201の認証を不成立と判定する。
この具体例2によれば、付加データCをそのまま用いないことで、第1認証用データV1cの値をかく乱することができるため、セキュリティをより一層向上させることができる。
(変動値が計数値である場合の認証方法の具体例)
続いて、上述した(式1)、(式2)の演算方式を用いて第1,2認証用データV1c,V2tを生成して認証を行う具体例を以下に説明する。なお、第1検査値Aは個体認証値(チェックサム:0x80)、第2検査値Bは計数値(0x01)、付加データCは定数(0x10)としている。
・被認証者が1回目の認証用データを生成する例
第1認証用データV1c=第1検査値(0x80)+付加データ(0x10)=0x90
第2認証用データV2t=第2検査値(0x01)+第1検査値(0x80)=0x81
・認証者が1回目の認証用データから検査値を抽出する例
抽出した第1検査値A’=第1認証用データV1c(0x90)−付加データ(0x10)=0x80
抽出した第2検査値B’=第2認証用データV2t(0x81)−第1検査値(0x80)=0x01
・認証者が1回目の認証を行う例
中間部202Aが第1検査値Aの第1期待値aが0x80、第2検査値Bの計数方式が「増加」である場合、抽出した第1検査値A’と第1期待値aは0x80dで一致し、且つ、第2検査値B’が前回から増加している場合、中間部202Aは主制御部201の認証を成立と判定する。また、抽出した第1検査値aと第2検査値bの何れか一方でも一致しない場合、中間部202Aは主制御部201の認証を不成立と判定する。
・被認証者が2回目の認証用データを生成する例
第1認証用データV1c=第1検査値(0x80)+付加データ(0x10)=0x90
第2認証用データV2t=第2検査値(0x05)+第1検査値(0x80)=0x85
・認証者が2回目の認証用データから検査値を抽出する例
抽出した第1検査値A’=第1認証用データV1c(0x90)−付加データ(0x10)=0x80
抽出した第2検査値B’=第2認証用データV2s(0x85)−第1検査値(0x80)=0x05
・認証者が2回目の認証を行う例
中間部202Aが第1検査値Aの第1期待値aが0x80、第2検査値Bの前回の値が0x01と記憶している場合、抽出した第1検査値A’と第1期待値aは0x80で一致し、且つ、第2検査値B’から前回の値を差し引いた値が0x04で増加している場合、中間部202Aは主制御部201の認証を成立とする。また、抽出した第1検査値aと第2検査値bの何れか一方でも正当ではない場合、中間部202Aは主制御部201の認証を不成立と判定する。
(変動値が同期検査値である場合の認証方法の具体例)
続いて、上述した(式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回目の認証を行う例
中間部202Aが第1検査値Aの第1期待値aが0x80、第2検査値Bの上記相関条件が「+2」である場合、抽出した第1検査値A’と第1期待値aは0x80dで一致し、且つ、第2検査値B’が前回から増加している場合、中間部202Aは主制御部201の認証を成立と判定する。また、抽出した第1検査値aと第2検査値bの何れか一方でも一致しない場合、中間部202Aは主制御部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回目の認証を行う例
中間部202Aが第1検査値Aの第1期待値aが0x80、第2検査値Bの前回の値が0x01と記憶している場合、抽出した第1検査値A’と第1期待値aは0x80で一致し、且つ、第2検査値B’から前回の値を差し引いた値が0x02で前回から+2増加している場合、中間部202Aは主制御部201の認証を成立とする。また、抽出した第1検査値aと第2検査値bの何れか一方でも正当ではない場合、中間部202Aは主制御部201の認証を不成立と判定する。
なお、本実施例では、上述した第2認証用データV2の生成に、第1検査値A又は第2検査値Bをそのまま一方の検査値として用いる場合について説明するが、これに代えて、第1検査値A又は第2検査値Bの一部を一方の検査値として用いることもできる。この検査値の一部を用いる例としては、検査値の上位の4ビットや下位の4ビットを検査値の一部として用いるなどで実現することができる。
続いて、図10において、中間認証結果付制御信号1030は、上述した制御コマンドデータ1001及び付随データ1002と、上述した中間認証結果データ1004と、を有している。中間認証結果付制御信号1030は、中間部202Aが主制御部201から上述した認証用データ付制御信号1020を受信した場合に、その認証用データ1003に基づいた主制御部201の認証処理に応じて中間部202Aによって生成される。そして、中間認証結果付制御信号1030は、周辺基板330において中間部202Aから周辺部202Bに、認証用データ付制御信号1020の代わりに送信される。即ち、中間認証結果付制御信号1030の制御コマンドデータ1001及び付随データ1002は、認証用データ付制御信号1020の制御コマンドデータ1001及び付随データ1002が用いられ、認証用データ1003の代わりに中間認証結果データ1004が付加される。そして、中間認証結果データ1004は、主制御基板310の認証結果を示すデータが設定される。中間認証結果データ1004は、例えば、「認証成立」、「認証不成立」、等を示すデータである。
(制御信号の送受信に関する処理)
以下に、主制御部201と中間部202Aとの間で行う制御信号の通信例を説明する。まず、主制御201のCPU211(第1コンピュータ)による制御信号の送信手順の一例を、図11のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は、ステップS1201において、制御コマンドを送信するか否かを判定する。なお、判定方法の一例としては、主制御部201から周辺部に送信する制御コマンドデータ1001が発生しているか否かに基づいて判定する。そして、主制御部201は、制御コマンドを送信しないと判定した場合(S1201:No)、ステップS1215の処理に進む。一方、主制御部201は、制御コマンドを送信すると判定した場合(S1201:Yes)、ステップS1202の処理に進む。
主制御部201は、ステップS1202において、データ記憶部312の変動値選択データに基づいて、今回生成する変動値が動作値であるか否かを判定する。主制御部201は、変動値が動作値であると判定した場合(S1202:Yes)、ステップS1203において、データ記憶部312に記憶している動作値を取得し、該動作値に基づいて変動値を生成してデータ記憶部312に時系列的に記憶し、その後ステップS1207の処理に進む。
一方、主制御部201は、変動値が動作値ではないと判定した場合(S1202:No)、ステップS1204において、その変動値が計数値であるか否かを判定する。主制御部201は、変動値が計数値であると判定した場合(S1204:Yes)、ステップS1205において、上述した計数部215から計数値を取得し、該計数値に基づいて動作値を生成してデータ記憶部312に時系列的に記憶し、その後ステップS1207の処理に進む。
一方、主制御部201は、変動値が計数値ではないと判定した場合(S1204:No)、ステップS1206において、予め定められた同期方式の上記相関条件を満たす同期検査値を生成してデータ記憶部312に時系列的に記憶し、その後ステップS1207の処理に進む。なお、同期検査値の生成方法の一例としては、同期方式が前後の同期検査値を対象とする場合、前回の同期検査値と相関条件(例えば+2)とに基づいて同期検査値を生成する。
主制御部201は、ステップS1207において、次回の変動値の種類を予め定められた複数種類の中からランダムに決定し、ステップS1208において、該決定した変動値の種類に対応付けられた個体認証値をデータ記憶部312から取得してRAM213等に記憶し、該決定した変動値の種類をデータ記憶部312の変動値選択データに設定し、その後ステップS1209の処理に進む。
主制御部201は、ステップS1209において、前記取得した主制御部201の個体認証値から第1認証方式の第1検査値Aを生成してRAM213等に記憶し、ステップS1210において、前記生成した変動値から第2認証方式の第2検査値Bを生成してRAM213等に記憶し、その後ステップS1211の処理に進む。
主制御部201は、ステップS1211において、上述した第1検査値Aと付加データCとを第1演算方式である上記(式1)で演算して第1認証用データV1を求めてRAM213等に記憶し、その後ステップS1212の処理に進む。そして、主制御部201は、ステップS1212において、上述した第2検査値Bと第1検査値Aとを第2演算方式である上記(式2)で演算して第2認証用データV2を求めてRAM213等に記憶し、その後ステップS1213の処理に進む。
主制御部201は、ステップS1213において、前記生成した第1認証用データV1及び第2認証用データV2を予め定められた暗号化方法で暗号化し、ステップS1214において、該第1認証用データV1及び第2認証用データV2と制御コマンドデータ1001に基づいて認証用データ付制御信号1020を生成して周辺部に対して送信し、その後ステップS1215の処理に進む。
主制御部201は、ステップS1215において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S1215:No)、ステップS1201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S1215:Yes)、本フローチャートによる処理を終了する。
続いて、中間部202AのCPU231(第2コンピュータ)による制御信号1010及び認証用データ付制御信号1020の受信処理の手順を、図12のフローチャートを参照して説明する。
中間部202Aは、ステップS1301において、主制御部201から制御信号を受信したか否かを判定する。中間部202Aは、制御信号を受信していないと判定した場合(S1301:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、中間部202Aは、制御信号を受信したと判定した場合(S1301:Yes)、ステップS1302の処理に移行する。
中間部202Aは、ステップS1302において、受信した制御信号に認証用データ1003が含まれているか否かを判定する。そして、中間部202Aは、認証用データ1003が含まれていないと判定した場合(S1302:No)、ステップS1303において、主制御部201から受信した通常の制御信号1010をそのまま周辺部202Bに対して送信し、その後ステップS1314の処理に進む。
一方、中間部202Aは、ステップ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から抽出し、その後ステップS1305の処理に進む。中間部202Aは、ステップS1305において、抽出した第1検査値A’と第2検査値B’を関連付けて中間側記憶部332に時系列的に記憶し、その後ステップS1306の処理に進む。
中間部202Aは、ステップS1306において、抽出した第1検査値A’と予め定められた第1期待値とが一致しているか否かに基づいて、第1検査値A’の認証が成立するか否かを判定する。中間部202Aは、認証が成立しないと判定した場合(S1306:No)、ステップS1311の処理に進む。一方、中間部202Aは、認証が成立すると判定した場合(S1306:Yes)、即ち第1検査値A’の認証が成立した場合、ステップS1307の処理に進む。そして、中間部202Aは、ステップS1307において、中間側記憶部332の次回種類データが示す変動値の種類に対応した変動条件をセットし、その後ステップS1308の処理に進む。この処理により、上述した動作条件、計数条件、相関条件、等の何れかが変動条件としてセットされる。
中間部202Aは、ステップS1308において、今回抽出した第2検査値B’が変動条件を満たしているか否かに基づいて、第2検査値B’の認証が成立するか否かを判定する。そして、中間部202Aは、認証が成立すると判定した場合(S1308:Yes)、第2検査値B’が変動条件を満足していることから、ステップS1309において、主制御部201に対する認証を成立させ、認証成立を示す中間認証結果データ1004を生成してRAM233等に記憶し、その後ステップS1310の処理に進む。そして、中間部202Aは、ステップS1310において、次回の変動値の種類を複数種類の変動値の種類の中から決定し、該決定した変動値の種類を中間側記憶部332の次回種類データに設定し、その後ステップS1312の処理に進む。
一方、中間部202Aは、ステップS1308で第2検査値B’の認証が成立しないと判定した場合(S1308:No)、ステップS1311において、主制御部201に対する認証を不成立とし、認証不成立を示す中間認証結果データ1004を生成してRAM233等に記憶し、その後ステップS1312の処理に進む。
中間部202Aは、ステップS1312において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した中間認証結果データ1004を付加して中間認証結果付制御信号1030を生成し、ステップS1313において、該生成した中間認証結果付制御信号1030を周辺部202Bに対して送信し、その後ステップS1314の処理に進む。
中間部202Aは、ステップS1314において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、中間部202Aは、電源がオフされていないと判定した場合(S1314:No)、ステップS1301の処理に戻り、一連の処理を繰り返す。一方、中間部202Aは、電源がオフされたと判定した場合(S1314:Yes)、本フローチャートによる処理を終了する。
続いて、周辺部202BのCPU241(第3コンピュータ)による各種制御信号の受信処理の手順を、図13のフローチャートを参照して説明する。
周辺部202Bは、ステップS1401において、中間部202Aから制御信号を受信したか否かを判定する。周辺部202Bは、制御信号を受信していないと判定した場合(S1401:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、周辺部202Bは、制御信号を受信したと判定した場合(S1401:Yes)、ステップS1402の処理に移行する。
周辺部202Bは、ステップS1402において、受信した制御信号に中間認証結果データ1004が含まれているか否かを判定する。そして、周辺部202Bは、中間認証結果データ1004が含まれていないと判定した場合(S1402:No)、受信した制御信号は通常の制御信号1010であることから、ステップS1404の処理に進む。
一方、周辺部202Bは、中間認証結果データ1004が含まれていると判定した場合(S1402:Yes)、受信した制御信号は中間認証結果付制御信号1030であることから、ステップS1403において、中間認証結果付制御信号1030の中間認証結果データ1004が認証成立を示しているか否かを判定する。そして、周辺部202Bは、認証成立を示していると判定した場合(S1403:Yes)、正規の主制御部201から受信した制御信号であったことから、ステップS1404において、受信した制御信号1002又は中間認証結果付制御信号1030に含まれている制御コマンドデータ1001および付随データ1002に基づく所定の処理を行い、その後ステップS1405の処理に進む。
周辺部202Bは、ステップS1405において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部202Bは、電源がオフされていないと判定した場合(S1405:No)、ステップS1401の処理に戻り、一連の処理を繰り返す。一方、周辺部202Bは、電源がオフされたと判定した場合(S1405:Yes)、本フローチャートによる処理を終了する。
一方、周辺部202Bは、ステップS1403で認証成立を示していない、つまり認証不成立をしめしていると判定した場合(S1403:No)、ステップS1406において、制御コマンドデータ1001及び付随データ1002を破棄するとともに、例えばスピーカ262(図2参照)等から報知信号を出力して、本フローチャートによる処理を終了する。
(認証用データを用いた認証処理手順例)
次に、固体認証値Ca,Cb,Ccを用いて3種類の変動値を切り替えて認証処理を行う場合の手順の一例を、図14〜図16の図面を参照して説明する。なお、固体認証値Caには「動作値」、固体認証値Cbには「計数値」、固体認証値Ccには「同期検査値」が対応付けられていることを前提とする。
図14において、被認証者である主制御基板310は、予め定められた変動値の種類として前記変動値選択データに「動作値」が設定されていると、データ記憶部312に記憶している動作値を取得して変動値を生成する(S1501)。主制御基板310は、次回の変動値の種類として「計数値」を複数種類の中から選択し、その種類を前記変動値選択データに設定する(S1502)。主制御基板310は、その選択した種類「計数値」に対応した固体認証値Cbをデータ記憶部312から取得する(S1503)。
主制御基板310は、正規のCPU211の個体認証値Cbである第1検査値A1を生成し(S1504)、正規のCPU211の動作値である第2検査値B1を生成する(S1505)。主制御基板310は、第1検査値A1と付加データC1とに基づいて1回目の第1認証用データV1c1=H1c(A1,C1)を生成して周辺基板330に送信する(S1506)。そして、主制御基板310は、第2検査値B1と第1検査値A1とに基づいて1回目の第2認証用データV2s1=H2s(B1,A1)を生成して周辺基板330の中間部202Aに送信する(S1507)。
このように認証処理手順例では、第1検査値はAn、第2検査値はBn、第1演算方式はH1c、第1認証用データはV1cn、第2演算方式はH2s、第2認証用データはV2snとそれぞれ表しており、nは認証回数を示している(n=1,2,3・・・)。なお、nについては、変動値の種類毎の認証回数としてもよい。
一方、周辺基板330の中間部202Aは、主制御基板310から受信した第1認証用データV1c1から演算方式H1cと付加データC1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1511)。そして、中間部202Aは、第2認証用データV2s1から演算方式H2sと第1検査値A1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と中間側記憶部332の次回種類データが示す今回の変動値の種類「動作値」(初期値)に対応した前記動作条件を満たしているか否かを判定して認証を行う(S1512)。中間部202Aは、主制御基板310の認証結果を示す中間認証結果データ1004を生成し、該中間認証結果データ1004を有する中間認証結果付制御信号1030を周辺基板330の周辺部202Bに送信する(S1513)。そして、中間部202Aは、この1回目の認証が成立した場合、次回の変動値の種類を、第1検査値A1の固体認証値Cbと一致した期待値データに対応付けられた「計数値」と決定し、該「計数値」を中間側記憶部332の次回種類データに設定する(S1514)。
周辺基板330の周辺部202Bは、中間部202Aから受信した中間認証結果付制御信号1030の中間認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1521)。
このように周辺基板330は、中間部202Aが第1検査値A1(個体認証値)及び第2検査値B1(動作値)に基づいた主制御基板310に対する1回目の認証処理を行い、周辺部202Bが中間部202Aの認証結果に応じて所定の処理を行う。そして、1回目の認証が成立した場合は、2回目以降の認証処理を行う。
続いて、図15において、主制御基板310は、予め定められた変動値の種類として前記変動値選択データに「計数値」が設定されていると、計数手段215から計数値を取得して変動値を生成する(S1531)。主制御基板310は、次回の変動値の種類として「同期検査値」を複数種類の中から選択し、その種類を前記変動値選択データに設定する(S1532)。主制御基板310は、その選択した種類「同期検査値」に対応した固体認証値Ccをデータ記憶部312から取得する(S1533)。
主制御基板310は、正規のCPU211の個体認証値Ccである第1検査値A2を生成し(S1534)、正規のCPU211の計数値である第2検査値B2を生成する(S1535)。主制御基板310は、第1検査値A2と付加データC2とに基づいて2回目の第1認証用データV1c2=H1c(A2,C2)を生成して周辺基板330に送信する(S1536)。そして、主制御基板310は、第2検査値B2と第1検査値A2とに基づいて2回目の第2認証用データV2t2=H2t(B2,A2)を生成して周辺基板330に送信する(S1537)。
一方、周辺基板330の中間部202Aは、主制御基板310から受信した第1認証用データV1c2から演算方式H1cと付加データC2とを用いて逆演算を行って第1検査値A2を抽出し、該第1検査値A2と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1541)。中間部202Aは、第2認証用データV2t2から演算方式H2tと第1検査値A2とを用いて逆演算を行って第2検査値B2を抽出し、該第2検査値B2と中間側記憶部332の次回種類データが示す今回の変動値の種類「計数値」に対応した前記計数条件を満たしているか否かを判定して認証を行う(S1542)。中間部202Aは、主制御基板310の認証結果を示す中間認証結果データ1004を生成し、該中間認証結果データ1004を有する中間認証結果付制御信号1030を周辺基板330の周辺部202Bに送信する(S1543)。そして、中間部202Aは、認証が成立している場合、次回の変動値の種類を、第1検査値A2の固体認証値Ccと一致した期待値データに対応付けられた「同期検査値」と決定し、該「同期検査値」を中間側記憶部332の次回種類データに設定する(S1544)。
周辺基板330の周辺部202Bは、中間部202Aから受信した中間認証結果付制御信号1030の中間認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1551)。
このように周辺基板330は、中間部202Aが第1検査値A2(個体認証値)及び第2検査値B2(計数値)に基づいた主制御基板310に対する2回目の認証処理を行い、周辺部202Bが中間部202Aの認証結果に応じて所定の処理を行う。そして、2回目の認証が成立した場合は、3回目以降の認証処理を行う。
続いて、図16において、主制御基板310は、予め定められた変動値の種類として前記変動値選択データに「同期検査値」が設定されていると、同期方式と前回の同期検査値に基づいて同期検査値を生成して変動値とする(S1561)。主制御基板310は、次回の変動値の種類として「動作値」を複数種類の中から選択し、その種類を前記変動値選択データに設定する(S1562)。主制御基板310は、その選択した種類「動作値」に対応した固体認証値Caをデータ記憶部312から取得する(S1563)。
主制御基板310は、正規のCPU211の個体認証値Caである第1検査値A3を生成し(S1564)、正規のCPU211の計数値である第2検査値B3を生成する(S1565)。主制御基板310は、第1検査値A3と付加データC3とに基づいて3回目の第1認証用データV1c3=H1c(A3,C3)を生成して周辺基板330の中間部202Aに送信する(S1566)。そして、主制御基板310は、第2検査値B3と第1検査値A3とに基づいて3回目の第2認証用データV2d3=H2d(B3,A3)を生成して周辺基板330の中間部202Aに送信する(S1567)。
一方、周辺基板330の中間部202Aは、主制御基板310から受信した第1認証用データV1c3から演算方式H1cと付加データC3とを用いて逆演算を行って第1検査値A3を抽出し、該第1検査値A3と予め定められた第1期待値とが一致しているか否かを判定して認証を行う(S1571)。中間部202Aは、第2認証用データV2d3から演算方式H2dと第1検査値A3とを用いて逆演算を行って第2検査値B3を抽出し、該第2検査値B3と中間側記憶部332の次回種類データが示す今回の変動値の種類「同期検査値」に対応した前記相関条件を満たしているか否かを判定して認証を行う(S1572)。中間部202Aは、主制御基板310の認証結果を示す中間認証結果データ1004を生成し、該中間認証結果データ1004を有する中間認証結果付制御信号1030を周辺基板330の周辺部202Bに送信する(S1573)。そして、中間部202Aは、認証が成立している場合、次回の変動値の種類を、第1検査値A3の固体認証値Caと一致した期待値データに対応付けられた「動作値」と決定し、該「動作値」を中間側記憶部332の次回種類データに設定する(S1574)。
周辺基板330の周辺部202Bは、中間部202Aから受信した中間認証結果付制御信号1030の中間認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う(S1581)。
このように周辺基板330は、中間部202Aが第1検査値A3(個体認証値)及び第2検査値B3(同期検査値)に基づいた主制御基板310に対する3回目の認証処理を行い、周辺部202Bが中間部202Aの認証結果に応じて所定の処理を行う。そして、3回目の認証が成立した場合は、4回目以降の認証処理を継続する。
上述した認証処理手順例の場合、第2認証用データV2には、第1認証用データV1の生成に用いた第1検査値(個体認証値)Anが含まれているため、第2認証用データV2から第2検査値Bnを抽出するには、第1検査値Anの抽出及び認証が必須となるため、不正解析者が第2認証用データV2を解析して再利用することを困難とすることができる。
なお、上述した認証処理手順では、3回の認証処理で3種類の変動値を順次切り替える場合について説明したが、これに代えて、3種類の変動値を順序不同で切り替える、同一種類の変動値を連続させて切り替える、等の種々異なる実施形態とすることができる。
以上説明したぱちんこ遊技機100によれば、主制御部201が複数種類の変動値を選択的に切り替えて変動値を生成するようにしたことから、不正解析者はその変動値の規則性等を解析することは困難であるため、中間部202Aが変動値の不正利用を高確率で検知することができる。また、主制御部201が個体認証値を検査する第1検査値Aと変動値を検査する第2検査値Bの何れか一方の検査値を用いて第1認証用データV1を生成すると、該一方の検査値の全て又は一部と他方の検査値を用いて第2認証用データV2を生成して中間部202Aに送信するようにしたことから、第1認証用データV1と第2認証用データV2の生成方法を不正解析者が解析するのは困難であるため、第1検査値Aと第2検査値Bを抽出することはできず、主制御部201から中間部202Aに送信するデータの不正利用を防止することができる。一方、中間部202Aは相異なる2つの認証方式で生成された第1検査値Aから主制御部201の個体認証を行うことができると共に、第2検査値Bと今回の同期方式から通信の連続性を判定することができるため、不正解析者によってデータが不正に利用されたことを中間部202Aで検知することができる。さらに、中間部202Aが主制御部201に対する認証処理を行い、その中間認証結果を周辺部202Bに送信するようにしたことから、周辺部202Bは認証処理を行わずに中間認証結果を参照するだけで良いため、周辺部202BのCPUの処理付加を軽減することができる。よって、認証処理の複雑化を図っても、周辺部202Bによる演出処理に影響することはないため、セキュリティーの向上及び遊技の興趣向上の双方を図ることができる。さらに、被認証者である主制御部201Aが高度な処理能力を有していない場合においては、処理負荷の軽い認証方式、演算方式を複数用いることができるため、組み合わせ方法と数によって認証強度を高めることができる。
また、主制御部201が変動値を動作値に基づいて生成するようにしたことから、第1検査値Aから主制御部201の個体認証を行うことができると共に、第2検査値Bから主制御部201の動作状態、動作継続性、等を検査することができるため、不正解析者によってデータが不正に利用されたことを周辺部202Bで検知することができる。
さらに、主制御部201が変動値を計数値に基づいて生成するようにしたことから、計数値は計数方式で独立して計数した値であり、主制御部201の処理に関する情報ではないため、例え不正解析者に傍受されたとしても、主制御部201の処理内容を解析する糸口となることを防止できる。
また、主制御部201が変動値を同期検査値に基づいて生成するようにしたことから、変動値から通信の連続性を中間部202Aが判定することができるため、不正解析者によってデータが不正に利用されたことを検知することができる。また、変動値を構成する値は選択的に切り替えられることから、同期検査値がどのタイミングで用いられるかを不正解析者が解析することは困難であるため、同期検査値が通信の連続性を示す値であるにもかかわらず、例え不正解析者に傍受されたとしても、主制御部201の処理内容を解析する糸口となることを防止できる。
さらに、主制御部201が一方の検査値と付加データCを組み合わせて第1認証用データV1を生成して中間部202Aに送信することで、第1,2認証用データV1,V2の生成方法をより複雑化することができるため、主制御部201から中間部202Aに送信するデータの不正利用を防止することができる。
また、主制御部201は第1認証用データV1及び第2認証用データV2を制御コマンドデータ1001に付加して送信することができることから、それらを単体で中間部202Aに送信する場合と比較して、主制御部201と中間部202Aとの間の通信負荷の増大を抑えることができるため、不正解析者による送信タイミングの検出を困難とすることができる。
さらに、主制御部201は第1,2認証用データV1,V2を暗号化して主制御部201から中間部202Aに送信することができることから、不正解析者による第1,2認証用データV1,V2の解析をより一層困難にすることができるため、主制御部201から中間部202Aに送信するデータの不正利用を防止することができる。
[実施例2]
以下に、上述したぱちんこ遊技機100の実施例2を説明する。なお、上述した構成と同一部分については、同一の符号を付して異なる部分のみを詳細に説明する。
(主制御基板および周辺基板の機能的構成)
まず、ぱちんこ遊技機100は、上述した図2に示す制御部200を備えている。制御部200は、主制御部201と、中間部202Aと、演出制御部202Bと、賞球制御部203と、を有している。そして、ぱちんこ遊技機100は、図17に示すように、主制御部201としての機能を有する主制御基板310と、上述した中間部202Aと演出制御部202Bを有する周辺基板330と、を有して構成している。そして、主制御基板310は周辺基板330と通信可能なように電気的に接続されている。
主制御基板310は、上述した変動値生成部311、データ記憶部312、固体認証値取得部313、第1検査値生成部314、第2検査値生成部315、第1認証用データ生成部316、第2認証用データ生成部317、暗号化処理部318、送信部319と、次回演算方式決定部320と、を有して構成している。
データ記憶部312はさらに、上述した第1演算方式及び第2演算方式の次回演算方式を示す次回演算情報、ぱちんこ遊技機100に対して予め定められた相異なる複数種類の演算方式と該複数種類の演算方式と一対一に対応付けられた複数種類の暗号化方式を示す演算方式テーブル情報、等を記憶している。なお、複数種類の暗号化方式は、同一の認証用データを暗号化したときに、異なる値となるものを用いる。
次回演算情報は、次回演算方式を識別することが可能な識別データ等を有し、相異なる複数種類の演算方式の中から前記次回演算方式決定部320が決定した次回演算方式に逐次設定が更新される。本実施形態では、次回演算情報が第1,2演算方式の双方の次回演算方式を示す場合について説明するが、これに代えて、第1,2演算方式の各々に対応させる構成とすることもできる。
次回演算方式決定部320は、本発明の次回演算方式決定手段に相当し、前記複数種類の演算方式の中から次回の第1,2認証用データの生成に用いる次回演算方式を決定すると、該次回演算方式を前記次回演算情報に設定する。次回演算方式決定部320は、任意のタイミングで次回演算方式を決定することが可能であり、例えば、第1,2認証用データを生成するとき、予め定められた制御コマンドデータ1001を送信するとき、等が挙げられる。
前記暗号化処理部318は、次回演算方式決定部320が次回演算方式を決定すると、該決定した次回演算方式に対応した暗号化方式を前記演算方式テーブル情報に基づいて特定し、該特定した暗号化方式で第1認証用データ及び第2認証用データを暗号化する。そして、前記主制御側送信部319は、その暗号化された第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の中間部202Aは、上述した中間側受信部331、中間側記憶部332、復号化処理部333、検査値抽出部334、第1判定部335、第2判定部336、中間認証結果データ生成部337、中間側送信部338、決定部339と、特定部340と、を有して構成している。
中間側記憶部332は、本発明の演算方式用期待値記憶手段に相当し、上述した主制御基板310から受信すべき第1検査値に対応した第1期待値の期待値データと、該第1,2期待値から生成される第1,2認証用データを前記複数種類の暗号化方式の各々で生成される演算方式用期待値データと、を複数記憶する。即ち、演算方式用期待値データは、正規の主制御基板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のCPU231が請求項中の第2コンピュータ、周辺基板330の周辺部202BのCPU241が請求項中の第3コンピュータとして機能させる場合について説明する。そして、主制御基板310のROM212は、前記第1コンピュータを請求項中の変動値生成手段、個体認証値取得手段、第1検査値生成手段、第2検査値生成手段、第1認証用データ生成手段、第2認証用データ生成手段、送信手段、次回演算方式決定手段、等の各種手段として機能させるための主制御側認証プログラムを記憶している。また、周辺基板330の中間部202AのROM232は、前記第2コンピュータを請求項中の中間側受信手段と、検査値抽出手段と、第1判定手段と、第2判定手段と、中間認証結果データ生成手段と、中間側送信手段と、決定手段、特定手段、等の各種手段として機能させるための中間側認証プログラムを記憶している。また、周辺基板330の周辺部202BのROM242は、前記第3コンピュータを請求項中の周辺側受信手段、処理手段、等の各種手段として機能させるための周辺側認証プログラムを記憶している。即ち、主制御側認証プログラムと中間側認証プログラムと周辺側認証プログラムによって本発明の認証プログラムを構成している。
(第1,2演算方式と暗号化方式の対応関係例)
まず、ぱちんこ遊技機100において、第1演算方式H1A、H1B、H1Cと第2演算方式H2A、H2B、H2Cのそれぞれ異なる3種類の演算方式を用いることを前提に説明する。なお、3種類の演算方式としては、例えば、加算、減算、積算、除算、排他的論理和等の各種演算方式が任意に用いられる。そして、主制御部201が3種類の演算方式を切り替えて第1,2認証用データを生成する場合について説明する。なお、説明を簡単化するために、第1検査値を請求項中の一方の検査値とする。
主制御部201では、図18に示すように、次回の3種類の第1演算方式H1A、H1B、H1Cの各々には3種類の暗号化方式M1A、M1B、M1Cの各々を対応させている。そして、中間部202Aでは、第1検査値に対して次回第1演算方式H1A、H1B、H1Cの各々で第1認証用データV1を演算したときの値を予め演算し、該演算した値を暗号化方式M1A、M1B、M1Cで暗号化したときの値をそれぞれ演算方式用期待値G1A、G1B、G1Cとして中間側記憶部332に記憶している。中間部202Aは、それらの演算方式用期待値G1A、G1B、G1Cの各々に対応する暗号化方式M1A、M1B、M1Cとその復号化方式N1A、N1B、N1Cと次回第1演算方式H1A、H1B、H1Cとを関連付けて記憶している。
これにより、中間部202Aは、暗号化された第1認証用データV1と一致する演算方式用期待値G1A〜G1Cを特定することで、該特定した演算方式用期待値G1A〜G1Cに関連付けられた次回第1演算方式H1A〜C、復号化方式N1A〜Cを特定することができる。
また、第2認証用データV2の次回第2演算方式H2A、H2B、H2Cに対しては、上述した第1認証用データV1に対応する演算方式用期待値G1A、G1B、G1Cを流用する場合について説明する。
主制御部201及び中間部202Aでは、演算方式用期待値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との各々を同一とした場合について説明するが、これに代えて、それぞれ異なる演算方式や暗号化方式を設定することもできる。
これにより、中間部202Aは、暗号化された第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と中間部202Aとの間で行う制御信号の通信例を説明する。まず、主制御201のCPU211(第1コンピュータ)による制御信号の送信手順2の一例を、図19のフローチャートを参照して説明する。
ぱちんこ遊技機100の電源がON(投入)されると、主制御部201は、ステップS2201において、制御コマンドを送信するか否かを判定する。なお、判定方法の一例としては、主制御部201から周辺部に送信する制御コマンドデータ1001が発生しているか否かに基づいて判定する。そして、主制御部201は、制御コマンドを送信しないと判定した場合(S2201:No)、ステップS1216の処理に進む。一方、主制御部201は、制御コマンドを送信すると判定した場合(S2201:Yes)、ステップS2202の処理に進む。
主制御部201は、ステップS2202において、データ記憶部312の変動値選択データに基づいて、今回生成する変動値が動作値であるか否かを判定する。主制御部201は、変動値が動作値であると判定した場合(S2202:Yes)、ステップS2203において、データ記憶部312に記憶している動作値を取得し、該動作値に基づいて変動値を生成してデータ記憶部312に時系列的に記憶し、その後ステップS2207の処理に進む。
一方、主制御部201は、変動値が動作値ではないと判定した場合(S2202:No)、ステップS2204において、その変動値が計数値であるか否かを判定する。主制御部201は、変動値が計数値であると判定した場合(S2204:Yes)、ステップS2205において、上述した計数部215から計数値を取得し、該計数値に基づいて動作値を生成してデータ記憶部312に時系列的に記憶し、その後ステップS2207の処理に進む。
一方、主制御部201は、変動値が計数値ではないと判定した場合(S2204:No)、ステップS2206において、予め定められた同期方式の上記相関条件を満たす同期検査値を生成してデータ記憶部312に時系列的に記憶し、その後ステップS2207の処理に進む。なお、同期検査値の生成方法の一例としては、同期方式が前後の同期検査値を対象とする場合、前回の同期検査値と相関条件(例えば+2)とに基づいて同期検査値を生成する。
主制御部201は、ステップS2207において、次回の変動値の種類を予め定められた複数種類の中からランダムに決定し、ステップS2208において、該決定した変動値の種類に対応付けられた個体認証値をデータ記憶部312から取得してRAM213等に記憶し、該決定した変動値の種類をデータ記憶部312の変動値選択データに設定し、その後ステップS2209の処理に進む。
主制御部201は、ステップS2209において、前記取得した主制御部201の個体認証値から第1認証方式の第1検査値Aを生成してRAM213等に記憶し、ステップS2210において、前記生成した変動値から第2認証方式の第2検査値Bを生成してRAM213等に記憶し、その後ステップS2211の処理に進む。
主制御部201は、ステップS2211において、上述した第1検査値Aと付加データCとを第1演算方式である上記(式1)で演算して第1認証用データV1を求めてRAM213等に記憶し、その後ステップS2212の処理に進む。そして、主制御部201は、ステップS2212において、上述した第2検査値Bと第1検査値Aとを第2演算方式である上記(式2)で演算して第2認証用データV2を求めてRAM213等に記憶し、その後ステップS2213の処理に進む。
主制御部201は、ステップS2213において、3種類の第1演算方式H1A〜Cの中から次回の第1演算方式を規則的又は不規則に決定し、3種類の第2演算方式H2A〜Cの中から次回の第2演算方式を規則的又は不規則に決定し、これらの特定した次回演算方式となるように前記次回演算情報を更新し、その後ステップS2214の処理に進む。
主制御部201は、ステップS2214において、前記決定した次回演算方式に対応した1つの暗号化方式を3種類の暗号化方式M1A〜Cの中から特定し、該特定した暗号化方式で前記生成した第1認証用データV1及び第2認証用データV2を暗号化し、その後ステップS2215の処理に進む。そして、主制御部201は、ステップS2215において、該第1認証用データV1及び第2認証用データV2と制御コマンドデータ1001に基づいて認証用データ付制御信号1020を生成して中間部202Aに対して送信し、その後ステップS2216の処理に進む。
主制御部201は、ステップS2216において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、主制御部201は、電源がオフされていないと判定した場合(S2216:No)、ステップS2201の処理に戻り、一連の処理を繰り返す。一方、主制御部201は、電源がオフされたと判定した場合(S2216:Yes)、本フローチャートによる処理を終了する。
続いて、中間部202AのCPU231(第2コンピュータ)による各種制御信号の受信処理の手順2を、図20のフローチャートを参照して説明する。
中間部202Aは、ステップS2301において、主制御部201から制御信号を受信したか否かを判定する。周辺部は、制御信号を受信していないと判定した場合(S2301:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、中間部202Aは、制御信号を受信したと判定した場合(S2301:Yes)、ステップS2302の処理に移行する。
中間部202Aは、ステップS2302において、受信した制御信号に認証用データ1003が含まれているか否かを判定する。そして、中間部202Aは、認証用データ1003が含まれていないと判定した場合(S2302:No)、受信したのは通常の制御信号1010であることから、ステップS2303において、受信した制御信号1010をそのまま周辺部202Bに対して送信し、その後ステップS2317の処理に進む。一方、中間部202Aは、認証用データ1003が含まれていると判定した場合(S2302:Yes)、受信したのは認証用データ付制御信号1020であることから、ステップS2304の処理に進む。
中間部202Aは、ステップS2304において、認証用データ1003の前記第1認証用データV1と前記演算方式用期待値とが一致するか否かを判定する。中間部202Aは、前記演算方式用期待値と一致しないと判定した場合(S2304:No)、ステップS2314の処理に進む。一方、中間部202Aは、前記演算方式用期待値と一致すると判定した場合(S2304:Yes)、ステップS2305において、一致した演算方式用期待値に対応した復号化方式で前記第1認証用データV1及び第2認証用データV2を復号化してRAM233等に記憶し、その後ステップS2306の処理に進む。
中間部202Aは、ステップS2306において、前記復号化した前記第1認証用データV1及び第2認証用データV2と前回の処理で定められた、又は、初期値として定められた(初回のみ)第1演算方式及び第2演算方式と付加データCとに基づいて上述したように逆演算を行い、第1検査値A’と第2検査値B’とを前記第1認証用データV1及び第2認証用データV2から抽出し、ステップS2307において、抽出した第1検査値A’と第2検査値B’を関連付けて中間側記憶部332に時系列的に記憶し、その後ステップS2308の処理に進む。
中間部202Aは、ステップS2308において、前記抽出した第1検査値A’と予め定められた第1期待値とが一致しているか否かに基づいて、第1検査値A’の認証が成立するか否かを判定する。中間部202Aは、認証が成立しないと判定した場合(S2308:No)、ステップS2314の処理に進む。一方、中間部202Aは、認証が成立すると判定した場合(S2308:Yes)、即ち第1検査値A’の認証が成立した場合、ステップS2309の処理に進む。そして、中間部202Aは、ステップS2309において、中間側記憶部332の次回種類データが示す変動値の種類に対応した変動条件をセットし、その後ステップS2310の処理に進む。この処理により、上述した動作条件、計数条件、相関条件、等の何れかが変動条件としてセットされる。
中間部202Aは、ステップS2310において、今回抽出した第2検査値B’が変動条件を満たしているか否かに基づいて、第2検査値B’の認証が成立するか否かを判定する。そして、中間部202Aは、認証が成立すると判定した場合(S2310:Yes)、第2検査値B’が変動条件を満足していることから、ステップS2311において、主制御部201に対する認証を成立させ、認証成立を示す中間認証結果データ1004を生成してRAM233等に記憶し、その後ステップS2312の処理に進む。
中間部202Aは、ステップS2312において、次回の変動値の種類を複数種類の変動値の種類の中から決定し、該決定した変動値の種類を中間側記憶部332の次回種類データに設定し、その後ステップS2313の処理に進む。中間部202Aは、ステップS2313において、ステップS2303で一致した演算方式用期待値に対応した次回演算方式を次回の第1演算方式及び次回の第2演算方式として特定してRAM233等に記憶し、その後ステップS2315の処理に進む。
一方、中間部202Aは、ステップS2310で第2検査値B’の認証が成立しないと判定した場合(S2310:No)、ステップS2314において、主制御部201に対する認証を不成立とし、認証不成立を示す中間認証結果データ1004を生成してRAM233等に記憶し、その後ステップS2315の処理に進む。
中間部202Aは、ステップS2315において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した中間認証結果データ1004を付加して中間認証結果付制御信号1030を生成し、ステップS2316において、該生成した中間認証結果付制御信号1030を周辺部202Bに対して送信し、その後ステップS1317の処理に進む。
中間部202Aは、ステップS2317において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部は、電源がオフされていないと判定した場合(S2317:No)、ステップS2301の処理に戻り、一連の処理を繰り返す。一方、中間部202Aは、電源がオフされたと判定した場合(S2317:Yes)、本フローチャートによる処理を終了する。
続いて、周辺部202BのCPU241(第3コンピュータ)による中間部202Aからの各種制御信号の受信処理としては、上述した実施例1で説明した図13に示すフローチャートと同一であるため、説明は省略する。
(認証用データを用いた認証処理手順例)
ここでは、説明を簡単化するために、上述した変動値の種類として動作値を連続させた状態で、演算方式を切り替える場合の一例を以下に説明する。
被認証者である主制御基板310は、次回の変動値の種類「動作値」を示し且つ正規のCPU211の個体認証値Caである第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認証用データV2As1=H2As(B1,A1)を生成し、該第2認証用データV2As1を次回の第2演算方式H2Bに対応した暗号化方式M2Bで暗号化して周辺基板330の中間部202Aに送信する。
一方、周辺基板330の中間部202Aは、主制御基板310から受信した第1認証用データV1Ac1と一致する演算方式用期待値G1B、及び、主制御基板310から受信した第2認証用データV2As1と一致する演算方式用期待値G2Bを特定する。これにより、周辺基板330は、該演算方式用期待値G1Bに対応する復号化方式N1Bと次回の第1演算方式H1Bを特定すると共に、該演算方式用期待値G2Bに対応する復号化方式N2Bと次回の第2演算方式H2Bを特定する。
中間部202Aは、前記特定した復号化方式N1Bで第1認証用データV1Ac1を復号化し、該第1認証用データV1Ac1から予め定められた第1演算方式H1Aと付加データC1とを用いて逆演算を行って第1検査値A1を抽出し、該第1検査値A1と予め定められた第1期待値とが一致しているか否かを判定して認証を行う。そして、中間部202Aは、前記特定した復号化方式N2Bで第2認証用データV2As1を復号化し、該第2認証用データV2As1から予め定められた第2演算方式H2Aと第1検査値A1とを用いて逆演算を行って第2検査値B1を抽出し、該第2検査値B1と変動値の「動作値」に対応した動作条件を満たしているか否かを判定して主制御基板310の認証を行う。そして、中間部202Aは、第1検査値A1、第2検査値B1の双方に対する認証に基づいた主制御基板310の認証結果を示す中間認証結果データ1004を生成し、該中間認証結果データ1004を有する中間認証結果付制御信号1030を周辺基板330の周辺部202Bに送信する。そして、中間部202Aは、第1検査値A1、第2検査値B1の双方に対する認証が成立した場合に次回の認証処理を継続し、個体認証値Caに基づいて次回の変動値を「動作値」と決定する。
一方、周辺基板330の周辺部202Bは、中間部202Aから受信した中間認証結果付制御信号1030の中間認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う。
このように1回目の認証処理区間では、今回の演算方式として第1演算方式H1A、第2演算方式H2Aを用い、次回(2回目)の認証処理区間で第1演算方式H1B、第2演算方式H2Bに次回演算方式を切り替えて用いることを、周辺基板330は主制御基板310から受信した第1認証用データV1Ac1及び第2認証用データV2As1を解析して認識している。なお、次回演算方式を継続する場合、次回演算方式を第1演算方式H1A、第2演算方式H2Aと決定すればよい。
続いて、主制御基板310は、次回の変動値の種類「動作値」を示し且つ正規のCPU211の個体認証値Caである第1検査値A2を生成し、正規のCPU211の動作値である第2検査値B2を生成する。主制御基板310は、3種類の第1演算方式H1A、H1B、H1C及び第2演算方式H2A、H2B、H2Cの中から次回演算方式を第1演算方式H1C及び第2演算方式H2Cと決定する。そして、主制御基板310は、前回の認証処理の中で次回認証方式として決定された第1演算方式H1Bと第2検査値B2と付加データC2とに基づいて2回目の第1認証用データV1Bc2=H1Bc(A2,C2)を生成し、該第1認証用データV1Bc2を次回の第1演算方式H1Cに対応した暗号化方式M1Cで暗号化して周辺基板330の中間部202Aに送信する。そして、主制御基板310は、第2検査値B2と第1検査値A2と予め定められた今回の演算方式である第2演算方式H2Bに基づいて2回目の第2認証用データV2Bs2=H2Bs(B2,A2)を生成し、該第2認証用データV2Bs2を次回の第2演算方式H2Cに対応した暗号化方式M2Cで暗号化して周辺基板330の中間部202Aに送信する。
一方、周辺基板330の中間部202Aは、主制御基板310から受信した第1認証用データV1Bc2と一致する演算方式用期待値G1C、及び、主制御基板310から受信した第2認証用データV2Bs2と一致する演算方式用期待値G2Cを特定する。これにより、周辺基板330は、該演算方式用期待値G1Cに対応する復号化方式N1Cと次回の第1演算方式H1Cを特定すると共に、該演算方式用期待値G2Cに対応する復号化方式N2Cと次回の第2演算方式H2Cを特定する。
中間部202Aは、前記特定した復号化方式N1Cで第1認証用データV1Bc2を復号化し、該第1認証用データV1Bc2から予め定められた第1演算方式H1Bと付加データC1とを用いて逆演算を行って第1検査値A2を抽出し、該第1検査値A2と予め定められた第1期待値とが一致しているか否かを判定して認証を行う。そして、中間部202Aは、前記特定した復号化方式N2Cで第2認証用データV2Bs2を復号化し、該第2認証用データV2Bs2から予め定められた第2演算方式H2Bと第1検査値A2とを用いて逆演算を行って第2検査値B2を抽出し、該第2検査値B2と変動値の「動作値」に対応した動作条件を満たしているか否かを判定して主制御基板310の認証を行う。そして、中間部202Aは、第1検査値A1、第2検査値B1の双方に対する認証に基づいた主制御基板310の認証結果を示す中間認証結果データ1004を生成し、該中間認証結果データ1004を有する中間認証結果付制御信号1030を周辺基板330の周辺部202Bに送信する。そして、周辺基板330は、第1検査値A2、第2検査値B2の双方に対する認証が成立した場合に次回の認証処理を継続し、個体認証値Caに基づいて次回の変動値を「動作値」と決定する。
一方、周辺基板330の周辺部202Bは、中間部202Aから受信した中間認証結果付制御信号1030の中間認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う。
このような認証処理手順例の場合、第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を解析して再利用することをより一層困難とすることができる。
以上説明したぱちんこ遊技機100によれば、主制御部201が複数種類の変動値を選択的に切り替えて変動値を生成するようにしたことから、不正解析者はその変動値の規則性等を解析することは困難であるため、中間部202Aが変動値の不正利用を高確率で検知することができる。また、主制御部201が個体認証値を検査する第1検査値Aと変動値を検査する第2検査値Bの何れか一方の検査値を用いて第1認証用データV1を生成すると、該一方の検査値の全て又は一部と他方の検査値を用いて第2認証用データV2を生成して中間部202Aに送信するようにしたことから、第1認証用データV1と第2認証用データV2の生成方法を不正解析者が解析するのは困難であるため、第1検査値Aと第2検査値Bを抽出することはできず、主制御部201から中間部202Aに送信するデータの不正利用を防止することができる。一方、中間部202Aは相異なる2つの認証方式で生成された第1検査値Aから主制御部201の個体認証を行うことができると共に、第2検査値Bと今回の同期方式から通信の連続性を判定することができるため、不正解析者によってデータが不正に利用されたことを中間部202Aで検知することができる。さらに、中間部202Aが主制御部201に対する認証処理を行い、その中間認証結果を周辺部202Bに送信するようにしたことから、周辺部202Bは認証処理を行わずに中間認証結果を参照するだけで良いため、周辺部202BのCPUの処理付加を軽減することができる。よって、認証処理の複雑化を図っても、周辺部202Bによる演出処理に影響することはないため、セキュリティーの向上及び遊技の興趣向上の双方を図ることができる。さらに、被認証者である主制御部201Aが高度な処理能力を有していない場合においては、処理負荷の軽い認証方式、演算方式を複数用いることができるため、組み合わせ方法と数によって認証強度を高めることができる。
また、変動値を動作値に基づいて生成するようにしたことから、第1検査値Aから主制御部201の個体認証を行うことができると共に、第2検査値Bから主制御部201の動作状態、動作継続性、等を検査することができるため、不正解析者によってデータが不正に利用されたことを周辺部202Bで検知することができる。
さらに、変動値を計数値に基づいて生成するようにしたことから、計数値は計数方式で独立して計数した値であり、主制御部201の処理に関する情報ではないため、例え不正解析者に傍受されたとしても、主制御部201の処理内容を解析する糸口となることを防止できる。
また、変動値を同期検査値に基づいて生成するようにしたことから、変動値から通信の連続性を中間部202Aが判定することができるため、不正解析者によってデータが不正に利用されたことを検知することができる。また、変動値を構成する値は選択的に切り替えられることから、同期検査値がどのタイミングで用いられるかを不正解析者が解析することは困難であるため、同期検査値が通信の連続性を示す値であるにもかかわらず、例え不正解析者に傍受されたとしても、主制御部201の処理内容を解析する糸口となることを防止できる。
さらに、一方の検査値と付加データCを組み合わせて第1認証用データV1を生成して中間部202Aに送信することで、第1,2認証用データV1,V2の生成方法をより複雑化することができるため、主制御部201から中間部202Aに送信するデータの不正利用を防止することができる。
また、第1認証用データV1及び第2認証用データV2を制御コマンドデータ1001に付加して送信することができることから、それらを単体で中間部202Aに送信する場合と比較して、主制御部201と中間部202Aとの間の通信負荷の増大を抑えることができるため、不正解析者による送信タイミングの検出を困難とすることができる。
さらに、第1,2認証用データV1,V2を暗号化して主制御部201から中間部202Aに送信することができることから、不正解析者による第1,2認証用データV1,V2の解析をより一層困難にすることができるため、主制御部201から中間部202Aに送信するデータの不正利用を防止することができる。
また、主制御部201のみが知っている暗号化方式を用いて第1,2認証用データV1,V2を生成すると共に、該暗号化方式に次回の第1,2演算方式を割り当てることで、第1,2認証用データV1,V2は複数種類の暗号化方式によって変化するため、不正解析者は複数種類の暗号化方式を解析できない限り、暗号化方式に対応した次回の第1,2演算方式を解析することができない。また、主制御部201は第1,2認証用データの生成に用いる第1,2演算方式を任意に切り替えることができるため、不正解析者による不正な解析をより一層困難となり、主制御部201から中間部202Aに送信するデータの不正利用をより一層困難にすることができる。
(中間部における次回演算方式の他の特定方法)
次に、上述したぱちんこ遊技機100では、図17に示す周辺基板330の中間側記憶部332に、個体認証値Ca,Cbに対応した期待値データDa,Dbと、第1,2認証用データに対応した演算方式用期待と、を予め記憶していたが、該他の特定方式では、中間側記憶部332に期待値データDa,Dbに対応した期待値のみを記憶するだけでよい。そして、該期待値データDa,Dbの各々に相異なる次回演算方式H1A,B、H2A,Bを対応付ける。
復号化処理部333は、主制御基板310から受信した第1認証用データ及び第2認証用データを複数種類の暗号化方式の各々に対応する複数種類の復号化方式の全てで復号化する。なお、複数種類の復号化方式は、説明を簡単化するために、上述した図18に示す復号化方式N1A,B、N2A,Bの場合について説明するが、3種類以上の復号化方式を用いる構成としても良い。また、他の特定方法では、上述したように図18中の演算方式用期待値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によって特定された次回演算方式で次回の抽出処理を行う。
続いて、中間部202AのCPU231(第2コンピュータ)による各種制御信号の受信処理の手順2’を、図21のフローチャートを参照して説明する。
中間部202Aは、ステップS2601において、主制御部201から制御信号を受信したか否かを判定する。中間部202Aは、制御信号を受信していないと判定した場合(S2601:No)、この判定処理を繰り返すことで、制御信号の受信を待つ。一方、中間部202Aは、制御信号を受信したと判定した場合(S2601:Yes)、ステップS2602の処理に移行する。
中間部202Aは、ステップS2602において、受信した制御信号に認証用データ1003が含まれているか否かを判定する。そして、中間部202Aは、認証用データ1003が含まれていないと判定した場合(S2602:No)、受信したのは通常の制御信号1010であることから、ステップS2603において、受信した制御信号1010をそのまま周辺部202Bに対して送信し、その後ステップS2616の処理に進む。一方、中間部202Aは、認証用データ1003が含まれていると判定した場合(S2602:Yes)、受信したのは認証用データ付制御信号1020であることから、ステップS2604の処理に進む。
中間部202Aは、ステップS2604において、認証用データ付制御信号1020に含まれた認証用データ1003を取得し、相異なる複数種類の復号化方式N1A,B、N2A,Bの各々で前記第1認証用データV1及び第2認証用データV2を復号化してRAM233等に暗号化方式及び復号化方式の識別が可能なように記憶し、その後ステップS2605の処理に進む。なお、復号化方式が2種類の場合は、2種類の第1認証用データV1cが記憶されることになる。
中間部202Aは、ステップS2605において、前記復号化された複数の前記第1認証用データV1及び第2認証用データV2の各々と前回の処理で定められた、又は、初期値として定められた(初回のみ)第1演算方式及び第2演算方式と付加データCとに基づいて逆演算を行い、第1検査値A’と第2検査値B’とを抽出し、ステップS2606において、抽出した第1検査値A’と第2検査値B’を関連付けて中間側記憶部332に時系列的に記憶し、その後ステップS2607の処理に進む。
中間部202Aは、ステップS2607において、抽出した複数の第1検査値A’の各々と中間側記憶部332の前記期待値と一致するものが存在するか否かを判定する。そして、中間部202Aは、前記期待値と一致する第1検査値A’が存在しないと判定した場合(S2607:No)、前記期待値と一致していないことから、ステップS2613の処理に進む。一方、中間部202Aは、認証が成立すると判定した場合(S2607:Yes)、即ち第1検査値A’の認証が成立した場合、ステップS2608において、中間側記憶部332の次回種類データが示す変動値の種類に対応した変動条件をセットし、その後ステップS2609の処理に進む。この処理により、上述した動作条件、計数条件、相関条件、等の何れかが変動条件としてセットされる。
中間部202Aは、ステップS2609において、今回抽出した第2検査値B’が変動条件を満たしているか否かに基づいて、第2検査値B’の認証が成立するか否かを判定する。そして、周辺部は、認証が成立すると判定した場合(S2609:Yes)、第2検査値B’が変動条件を満足していることから、ステップS2610において、主制御部201に対する認証を成立させ、認証成立を示す中間認証結果データ1004を生成してRAM233等に記憶し、その後ステップS2611の処理に進む。
中間部202Aは、ステップS2611において、次回の変動値の種類を複数種類の変動値の種類の中から決定し、該決定した変動値の種類を中間側記憶部332の次回種類データに設定し、その後ステップS2612の処理に進む。そして、中間部202Aは、ステップS2611において、第1検査値A’と一致した前記期待値に関連付けられた暗号化方式を特定し、該暗号化方式に対応する次回演算方式(図18参照)を次回の第1演算方式及び次回の第2演算方式として特定してRAM233等に記憶し、その後ステップS2614の処理に進む。
一方、中間部202Aは、ステップS2609で第2検査値B’の認証が成立しないと判定した場合(S2609:No)、ステップS2613において、主制御部201に対する認証を不成立とし、認証不成立を示す中間認証結果データ1004を生成してRAM233等に記憶し、その後ステップS2614の処理に進む。
中間部202Aは、ステップS2614において、前記受信した認証用データ付制御信号1020から抽出した制御コマンドデータ1001及び付随データ1002に、前記生成した中間認証結果データ1004を付加して中間認証結果付制御信号1030を生成し、ステップS2615において、該生成した中間認証結果付制御信号1030を周辺部202Bに対して送信し、その後ステップS2616の処理に進む。
中間部202Aは、ステップS2616において、ぱちんこ遊技機100の電源がオフされたか否かを判定する。そして、周辺部は、電源がオフされていないと判定した場合(S2616:No)、ステップS2601の処理に戻り、一連の処理を繰り返す。一方、中間部202Aは、電源がオフされたと判定した場合(S2616:Yes)、本フローチャートによる処理を終了する。
このように構成した周辺部を上述した周辺基板330に適用すると、その認証処理手順は以下のようになる。なお、図18中の2種類の暗号化方式M1A,B、M2A,B、及び、復号化方式N1A,B、N2A,Bを用いることを前提とする。
被認証者である主制御基板310は、今回の変動値である同期検査値を前記同期方式で生成して第2検査値B1とし、次回の変動値の種類「計数値」を選択して個体認証値Cbをデータ記憶部312から抽出して第1検査値A1を生成する。主制御基板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認証用データV1As1及び第2認証用データV2Ad1を2種類の復号化方式N1A,B、N2A,Bで復号化してそれぞれ2つの復号化済み第1認証用データV1Ac1及び第2認証用データV2Ad1を求める。中間部202Aは、各第1認証用データV1Ac1及び第2認証用データV2Ad1から第1検査値及び第2検査値を抽出し、それらの第1検査値(個体認証値Cb)と前記期待値データとを比較する。中間部202Aは、前記第期待値データと一致する第1検査値を特定すると、主制御基板310の認証を成立させると共に、その一致した第1検査値に対応する暗号化方式を2種類の暗号化方式M1A,B、M2A,Bの中から特定する。例えば、暗号化方式M1B、M2Bを特定した場合、中間部202Aは、第1演算方式H1B、H2Bを次回演算方式として特定する。そして、中間部202Aは、今回と前回の第2検査値との差分を算出し、該差分が今回の同期方式Paの相関条件を満たすか否かの判定結果に基づいて認証を行う。中間部202Aは、第1検査値A1、第2検査値B1の双方に対する認証に基づいた主制御基板310の認証結果を示す中間認証結果データ1004を生成し、該中間認証結果データ1004を有する中間認証結果付制御信号1030を周辺基板330の周辺部202Bに送信する。
一方、周辺基板330の周辺部202Bは、中間部202Aから受信した中間認証結果付制御信号1030の中間認証結果データ1004が認証成立を示していると、制御コマンドデータ1001及び付随データ1002に対応した所定の処理を行う。
このように周辺基板330の中間部202Aは、第1検査値A1(個体認証値)及び第2検査値B1(同期検査値)に基づいた主制御基板310に対する1回目の認証処理を終了する。そして、この1回目の認証が成立した場合、周辺基板330は、固体認証値Cbに対応した変動値の種類「計数値」を次回の変動値の種類として決定し、2回目の認証処理を行う。
このように周辺基板330を構成しても、ぱちんこ遊技機100は上述した実施例2と同様の作用効果を得ることができる。また、実施例2についても、実施例1と同様に、複数種類の暗号化方式を切り替えて第1,2認証用データを主制御部201から周辺部に送信する実施形態とすることができる。
なお、本実施形態で説明した主制御部及び周辺部の制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、CD−ROM、MO、DVD、等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布することが可能な電送媒体であってもよい。