説明

遊技機、主制御部、主制御基板、後段部、周辺基板、認証方法及び認証プログラム

【課題】遊技機の主制御基板に対する不正基板との交換等による不正行為や誤動作を検知すると共に、周辺部の処理負荷を軽減する。
【解決手段】遊技機1の主制御部10は、所定のデータを分割し半群演算を行って個体検査値を生成する個体検査値生成手段13と、パラメータを用いてコードを生成する動作検査値生成手段14とを備え、各検査値をデータ信号に付加して周辺部30を介して後段部20に送信する。後段部20は、受信した動作検査値に含まれる主制御部10の動作順序に関する情報を期待値と照合する中間認証手段22を備え、照合結果と個体検査値とを周辺部30に送信する。周辺部30は、受信した個体検査値に結合処理を施して主制御部10の個体認証を行うとともに、後段部20での照合が成功した時の動作検査値が期待値と一致するか否かに基づいて主制御部10の動作認証を行う認証手段32を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機、これら遊技機に設けられた主制御部、この主制御部が搭載された主制御基板、上記各遊技機に設けられた後段部、この後段部が搭載された周辺基板、上記各遊技機で行われる認証方法及び認証プログラムに関する。
【背景技術】
【0002】
遊技機に対し行われる、メダルや遊技球など(以下、遊技媒体という)を遊技とは無関係に強制的に払い出させる不正行為のうち、主制御部が搭載された主制御基板や周辺部が搭載された周辺基板に関するものとして、例えば以下に示すものがある。
(1)正規な主制御基板と不正な主制御基板との交換
(2)主制御基板に搭載されたCPUが実行する正規なプログラムが記憶されたROMと上記プログラムを改ざんした不正なプログラムが記憶されたROMとの交換
(3)主制御基板と周辺基板との間に不正な基板(なりすまし基板)を設け、かつ上記(2)のROMの交換
【0003】
このような不正行為を防止するため、従来の遊技機には、以下に示すものがあった。すなわち、この遊技機には、特典付与の可否を決定するとともに第3識別情報を記憶しているメイン制御部(主制御部)と、主制御部に接続され、第1識別情報を記憶している第1サブ制御部(第1周辺部)と、主制御部に接続され、第2識別情報を記憶している第2サブ制御部(第2周辺部)とを備えたものがある。この遊技機では、主制御部から第1周辺部に向けてのみ情報の出力が可能であり、主制御部と第2周辺部は、相互に情報の入出力が可能である。第2周辺部は、第2識別情報を主制御部に出力する手段を有している。一方、主制御部は、第2識別情報と第3識別情報を第1周辺部に出力する手段を有している。第1周辺部は、第1識別情報と第2識別情報と第3識別情報を用いて所定演算を行う演算手段と、演算手段の演算結果に基づいて遊技機に不正な改造が行われたか否かを判別する手段を有している(例えば、特許文献1参照。)。以下、この技術を第1の従来例と呼ぶ。
【0004】
また、従来の遊技機には、大当たり図柄を表示する図柄表示装置と、遊技状況に応じて図柄制御部へデータを送信する主制御装置(主制御部)と、遊技状況に応じ主制御部から受信する制御データに基づいて図柄表示装置を制御する図柄制御部(周辺部)とを備えているものもある。このパチンコ遊技機では、主制御部は、第1鍵データを記憶する第1の記憶手段と、図柄制御部の動作を制御するための制御データに対し第1鍵データに対応する暗号化を行う暗号化手段と、遊技状況に対応する制御データに暗号化を施したデータを周辺部へ送信する送信手段と、予め定めたタイミングに、第1鍵データを変更する第1鍵変更手段とを備えている。周辺部は、第2鍵データを記憶する第2の記憶手段と、主制御部から受信した暗号データに対し第2鍵データに対応する処理を行うことにより、該受信した暗号データの正当性を判定し、正当である場合に該暗号データを認証する認証手段と、受信した暗号データが認証された場合に該暗号データに対応する動作を図柄表示装置に行わせる動作制御手段と、第1鍵データの変更タイミングに合致するように予め定められたタイミングに、第2鍵データを第1鍵データに対応するように変更する第2鍵変更手段とを備えている(例えば、特許文献2参照。)。以下、この技術を第2の従来例と呼ぶ。
【0005】
また、従来のパチンコ遊技機には、主制御基板(主制御部)と、主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺基板(周辺部)とを備えるものもある。このパチンコ遊技機では、主制御部は、周辺部に送信する制御コマンドが所定の制御コマンドである場合、主制御部を認証するための認証データを所定の制御コマンドに付加して周辺部に送信する。そして、周辺部は、所定の制御コマンドを受信すると、この所定の制御コマンドに付加して送信された認証データに基づいて主制御部を認証する(例えば、特許文献3参照。)。以下、この技術を第3の従来例と呼ぶ。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−21330号公報
【特許文献2】特開2002−210194号公報
【特許文献3】特開2008−279037号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
第1の従来例では、ランプやスピーカ等を制御する第1周辺部に搭載されているCPUが第1識別情報と第2識別情報と第3識別情報を用いて所定演算を行い、表示を制御する第2周辺部に搭載されているCPUが上記演算結果に基づいて遊技機に不正な改造が行われたか否かを判別している。
【0008】
このように、CPUに既存の処理(例えば、演出処理)以外に認証処理を実行させるためには、既存の処理に認証機能及び認証タイミングなどの処理を追加する必要がある。このため、認証機能を追加するための認証タイミングの設計、認証機能の実現化、動作のシミュレーション及び所望の機能が得られるか否かを確認する検証(ベリフィケーション)に多大の時間と労力を要し、これにより、遊技機の開発に時間と手間が大幅にかかってしまうという問題がある。このような問題は、特に、遊技機の機種変更をする際に顕著に現れる。さらに、最近の遊技機の演出の多様化に伴って、CPUが実行すべきプログラムのコードサイズも膨大になる傾向にあるため、認証機能の追加により上記の問題は益々増大する。
【0009】
また、CPUに既存の処理の他に認証処理を実行させる場合、CPUの処理負荷が増大するため、処理速度が低下し、演出のための表示がスムーズに行われなかったり、最悪の場合には、認証処理自体を追加できなかったりするなどの問題があった。特に最近では、遊技の興趣向上を図るために、リーチや大当たり等の際に遊技者の視覚や聴覚に訴える演出が多様となる傾向にあり、上記問題が発生するおそれが増大する。
【0010】
また、第1の従来例では、周辺部を構成する1つのCPUが1回の認証処理(IDの加算処理)を行っているだけである。さらに、周辺部を構成するCPUに既存の処理の他に認証処理を実行させることにより周辺部を構成するCPUの処理負荷が増大する。それゆえ、周辺部を構成するCPUにセキュリティをより強化するために、今まで以上に複雑な演算による認証処理や複数回の認証処理を実行させることは困難である。
【0011】
一方、第2の従来例では、主制御部では、暗号化手段が図柄制御部の動作を制御するための制御データに対し第1鍵データに対応する暗号化を行い、第1鍵変更手段が予め定めたタイミングに、第1鍵データを変更している。周辺部では、認証手段が主制御部から受信した暗号データに対し第2鍵データに対応する処理を行うことにより、受信した暗号データの正当性を判定し、正当である場合に該暗号データを認証し、第2鍵変更手段が第1鍵データの変更タイミングに合致するように予め定められたタイミングに、第2鍵データを第1鍵データに対応するように変更している。つまり、主制御部も周辺部も高度で複雑な暗号化処理及び認証処理を行っている。したがって、第2の従来例では、主制御部を構成するCPUも周辺部を構成するCPUもそれぞれの処理負荷が増大するため、処理速度が低下し、遊技内容の進行に伴う基本処理や演出処理という本来の処理がスムーズに行われないおそれがある。
【0012】
また、第3の従来例では、第1の従来例と同様に、周辺部のCPUに既存のゲーム処理の他に、認証処理を実行させる場合、所定の制御コマンドに認証データを付加して周辺部に送信しても、周辺部のCPUの処理負荷が増大するため、処理速度が低下し、演出のための表示がスムーズに行われなかったり、認証処理自体の追加が難しくなったりする設計上の制約が生じることが考えられる。特に最近では、遊技の興趣向上を図るために、図柄の変動の制御について遊技者の視覚や聴覚に訴える演出が多様となる傾向にある。したがって、各種の演出制御を行う周辺部(画像制御部)に対して認証処理を行う負荷を低減させるような認証手段を設けた遊技機を構築することが望ましい。
【0013】
さらに、周辺部を構成するCPUに既存の処理の他に認証処理を実行させることにより周辺部を構成するCPUの処理負荷やプログラム容量が増大する。それゆえ、周辺部を構成するCPUにセキュリティをより強化するために、今まで以上に複雑な演算による認証処理や複数回の認証処理を実行させることは困難である。
【0014】
ところで、遊技機は、外部から電気的な雑音や機械的な振動等が加えられた場合、誤動作する場合がある。例えば、主制御部から周辺部に制御コマンドが送信されている際に、電磁波や静電気などの雑音が遊技機外部から加えられると、この雑音の影響により制御コマンドデータにビットエラーが発生し、制御コマンドが変更されてしまうという誤動作が生じる。この場合、本来周辺部に送信されるべき制御コマンドが大当たりコマンド以外の制御コマンドであるにも関わらず、ビットエラーが発生して当該制御コマンドが大当たりコマンドに変更されてしまうと、不正行為が行われた場合でなくても、遊技者に不当に多くの遊技媒体が払い出され、遊技店が多大な損害を被ってしまう。ところが、第1〜第3の従来例では、このような誤動作に起因した問題について何ら対策を施していないので、遊技店が多大な損害を被るという問題を解決することができない。
【0015】
本発明は、上記事情に鑑みてなされたものであり、遊技機の正規の主制御基板と不正な主制御基板との交換等による不正行為や遊技機の誤動作を検知でき、周辺部のCPUの処理負荷を軽減することができる遊技機、主制御部、主制御基板、後段部、周辺基板、認証方法及び認証プログラムを提供することを目的とする。
【課題を解決するための手段】
【0016】
上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機であって、前記主制御部は、所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する個体検査値生成手段と、前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する動作検査値生成手段とを備え、前記個体検査値と前記動作検査値とを前記周辺部に送信し、前記後段部は、前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、前記主制御部より前記周辺部を介して送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第1の動作認証手段を備え、前記第1の動作認証手段が得た認証結果と特定された前記動作検査値を前記周辺部に送信し、前記周辺部は、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と、前記主制御部より送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段と、前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段と、前記後段部より送信された前記第1の動作認証手段が得た認証結果と、前記第1の動作認証手段で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果とから、前記主制御部の動作の継続性を認証する第2の動作認証手段とを備え、前記個体認証手段が得た認証結果及び前記第2の動作認証手段が得た認証結果に基づいた処理を行うことを特徴とする。
【0017】
また、上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機であって、前記主制御部は、所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する個体検査値生成手段と、前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する動作検査値生成手段とを備え、前記個体検査値と前記動作検査値とを前記周辺部に送信し、前記後段部は、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と、前記主制御部より前記周辺部を介して送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段とを備え、前記個体認証手段が得た認証結果を前記周辺部に送信し、前記周辺部は、前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段と、前記主制御部より送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第1の動作認証手段と、前記第1の動作認証手段で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果から前記主制御部の動作の継続性を認証する第2の動作認証手段を備え、前記個体認証手段が得た認証結果及び前記第2の動作認証手段が得た認証結果に基づいた処理を行うことを特徴とする。
【0018】
さらに、上記課題を解決するために本発明は、後段部又は周辺部によって認証され、前記後段部を介して接続された周辺部に所定の処理を行わせるための制御コマンドを前記周辺部を介して前記後段部に送信する遊技機の主制御部であって、所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する個体検査値生成手段と、前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する動作検査値生成手段とを備え、前記個体検査値と前記動作検査値とを前記後段部に送信することを特徴とする。
【0019】
さらにまた、上記課題を解決するために本発明の遊技機の主制御基板は、本発明の主制御部が搭載されていることを特徴とする。
【0020】
さらにまた、上記課題を解決するために本発明は、周辺部に所定の処理を行わせるための制御コマンドを出力する主制御部と周辺部とを備えた遊技機に設けられた後段部であって、前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、前記主制御部より前記周辺部を介して送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第1の動作認証手段とを備え、前記第1の動作認証手段が得た認証結果と特定された前記動作検査値を前記周辺部に送信することを特徴とする。
【0021】
さらにまた、上記課題を解決するために本発明は、周辺部に所定の処理を行わせるための制御コマンドを出力する主制御部と周辺部とを備えた遊技機に設けられた後段部であって、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と、前記主制御部より前記周辺部を介して送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段とを備え、前記個体認証手段が得た認証結果を前記周辺部に送信することを特徴とする。
【0022】
さらにまた、上記課題を解決するために本発明の遊技機の周辺基板は、本発明の後段部及び前記周辺部が搭載されていることを特徴とする。
【0023】
さらにまた、上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機における認証方法であって、所定のデータが記憶されているデータ記憶手段を備えた前記主制御部が、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する第1のステップと、前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する第2のステップと、前記個体検査値と前記動作検査値とを前記周辺部に送信する第3のステップを実行し、前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段を備えた前記後段部が、前記主制御部より前記周辺部を介して送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第4のステップと、前記第4のステップで得た認証結果を前記周辺部に送信する第5のステップを実行し、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段とを備えた前記周辺部が、前記主制御部より送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第6のステップと、前記後段部より送信された前記第1の動作認証手段が得た認証結果と、前記第1の動作認証手段で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果とから、前記主制御部の動作の継続性を認証する第7のステップと、前記第6のステップが得た認証結果及び前記第7のステップが得た認証結果に基づいた処理を行う第8のステップを実行することを特徴とする。
【0024】
さらにまた、上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部を備える遊技機における認証方法であって、所定のデータが記憶されているデータ記憶手段を備えた前記主制御部が、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する第1のステップと、前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する第2のステップと、前記個体検査値と前記動作検査値とを前記周辺部に送信する第3のステップを実行し、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段を備えた前記後段部が、前記主制御部より前記周辺部を介して送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第4のステップと、前記第4のステップで得た認証結果と前記動作検査値とを前記周辺部に送信する第5のステップを実行し、前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段とを備えた前記周辺部が、前記主制御部より送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第6のステップと、前記第6のステップで特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果から前記主制御部の動作の継続性を認証する第7のステップと、前記個体認証手段が得た認証結果及び前記第2の動作認証手段が得た認証結果に基づいた処理を行う第8のステップを実行することを特徴とする。
【0025】
さらにまた、上記課題を解決するために本発明のコンピュータ読み取り可能な認証プログラムは、制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機に搭載されるコンピュータに、所定のデータが記憶されているデータ記憶手段を備えた前記主制御部が、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する第1の機能と、前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する第2の機能と、前記個体検査値と前記動作検査値とを前記周辺部を介して前記後段部に送信する第3の機能を実現させ、前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段を備えた前記後段部が、前記主制御部より前記周辺部を介して送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第4の機能と、前記第4の機能で得た認証結果と特定された前記動作検査値を前記周辺部に送信する第5の機能を実現させ、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段とを備えた前記周辺部が、前記主制御部より送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第6の機能と、前記後段部より送信された前記第1の動作認証手段が得た認証結果と、前記第1の動作認証手段で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果とから、前記主制御部の動作の継続性を認証する第7の機能と、前記第6の機能で得た認証結果及び前記第7の機能で得た認証結果に基づいた処理を行う第8の機能を実現させることを特徴とする。
【0026】
さらにまた、上記課題を解決するために本発明のコンピュータ読み取り可能な認証プログラムは、制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機に搭載されるコンピュータに、所定のデータが記憶されているデータ記憶手段を備えた前記主制御部が、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する第1の機能と、前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する第2の機能と、前記個体検査値と前記動作検査値とを前記周辺部を介して前記後段部に送信する第3の機能を実現させ、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段を備えた前記後段部が、前記主制御部より前記周辺部を介して送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第4の機能と、
前記第4の機能で得た認証結果を前記周辺部に送信する第5の機能を実現させ、前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段とを備えた前記周辺部が、前記主制御部より送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第6の機能と、前記第6の機能で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果から前記主制御部の動作の継続性を認証する第7の機能と、前記第6の機能で得た認証結果及び前記第7の機能で得た認証結果に基づいた処理を行う第8の機能を実現させることを特徴とする。
【発明の効果】
【0027】
本発明によれば、遊技機の正規の主制御基板と不正な主制御基板との交換等による不正行為や遊技機の誤動作を検知でき、周辺部のCPUの処理負荷を軽減することができる。
【0028】
また、本発明によれば、遊技機の主制御基板の個体の正当性を個体検査値を用いて認証するとともに、遊技機の主制御基板の正しい動作の継続性を動作検査値を用いて認証し、この動作認証においては複数種類の認証用の動作検査値を切り替えて行うので、上記不正行為や遊技機の誤動作をより適切に検知することができ、遊技者に不当に多くの遊技媒体が払い出され、遊技店が多大な損害を被ることを防止できる。
【0029】
また、本発明によれば、認証処理の一部を後段部が実行するので、周辺部を構成するCPUの処理負荷の増大を抑制することができる。このため、周辺部の処理速度が低下し、演出のための表示がスムーズに行われないなどの問題の発生を防止することができる。
【0030】
また、本発明によれば、遊技機の認証処理を後段部と周辺部の両方で行っているので、主制御部に対する上記不正行為及び雑音等に起因する遊技機の誤作動の他、後段部に対する不正行為及び誤動作を検知することができる。
【図面の簡単な説明】
【0031】
【図1】本発明の実施の形態1に係るパチンコ遊技機の機能構成を示すブロック図である。
【図2】本発明の実施の形態1に係るパチンコ遊技機の外観構成を示す正面図である。
【図3】本発明の実施の形態1に係るパチンコ遊技機の電気的構成を示すブロック図である。
【図4】本発明の実施の形態1に係るパチンコ遊技機を構成する主制御部における検査値の生成方法を模式的に示す説明図である。
【図5】主制御部におけるコードの決定方法を模式的に示す説明図である。
【図6】本発明の実施の形態1に係るパチンコ遊技機を構成する主制御部が出力する制御信号のデータフォーマットの一例を模式的に示す図である。
【図7】本発明の実施の形態1に係るパチンコ遊技機を構成する主制御部による後段部及び賞球制御部へのコマンド送信を含む処理を示すフローチャートである。
【図8】本発明の実施の形態1に係るパチンコ遊技機を構成する主制御部による後段部及び賞球制御部へのコマンド送信を含む処理を示すフローチャートである。
【図9】大当たり関連コマンドの送信タイミングの一例を示すタイミングチャートである。
【図10】本発明の実施の形態1に係るパチンコ遊技機を構成する演出制御部による図柄変動処理を示すフローチャートである。
【図11】本発明の実施の形態1に係るパチンコ遊技機を構成する演出制御部による大当たり時の処理を示すフローチャートである。
【図12】本発明の実施の形態1に係るパチンコ遊技機を構成するランプ制御部によるランプ制御処理を示すフローチャートである。
【図13】本発明の実施の形態1に係るパチンコ遊技機を構成する主制御部による認証に関する処理の一例を示すフローチャートである。
【図14】本発明の実施の形態1に係るパチンコ遊技機を構成する後段部による認証に関する処理の一例を示すフローチャートである。
【図15】本発明の実施の形態1に係るパチンコ遊技機を構成する演出制御部による認証に関する処理の一例を示すフローチャートである。
【図16−A】本発明の実施の形態1に係るパチンコ遊技機を構成する主制御部(被認証者)、後段部及び周辺部(認証者)がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図16−B】本発明の実施の形態1に係るパチンコ遊技機を構成する主制御部(被認証者)、後段部及び周辺部(認証者)がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図16−C】本発明の実施の形態1に係るパチンコ遊技機を構成する主制御部(被認証者)、後段部及び周辺部(認証者)がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図17】本発明の実施の形態2に係るパチンコ遊技機を構成する後段部による認証に関する処理の一例を示すフローチャートである。
【図18】本発明の実施の形態2に係るパチンコ遊技機を構成する演出制御部による認証に関する処理の一例を示すフローチャートである。
【図19−A】本発明の実施の形態2に係るパチンコ遊技機を構成する主制御部(被認証者)、後段部及び周辺部(認証者)がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図19−B】本発明の実施の形態2に係るパチンコ遊技機を構成する主制御部(被認証者)、後段部及び周辺部(認証者)がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【図19−C】本発明の実施の形態2に係るパチンコ遊技機を構成する主制御部(被認証者)、後段部及び周辺部(認証者)がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。
【発明を実施するための形態】
【0032】
<<実施の形態1>>
以下、図面を参照して本発明を実施するための形態である実施の形態1について説明する。
図1は、本発明の実施の形態1に係る遊技機の一つであるパチンコ遊技機1の機能構成を示すブロック図である。このパチンコ遊技機1は、主制御部10と、後段部20と、周辺部30とを備えている。主制御部10は、データ記憶手段11と、決定手段12と、個体検査値生成手段13と、動作検査値生成手段14とを備えている。データ記憶手段11には、主制御部10で用いられるプログラム等のデータが記憶されている。決定手段12は、データ記憶手段11に記憶されているデータのうち所定のデータを分割する数である分割数を決定する。ここで、所定のデータとは、データ記憶手段11に記憶されているデータの全部又は一部である。
【0033】
個体検査値生成手段13は、主制御部10の個体としての正当性(アイデンティティ)を認証(以下、個体認証という)するために用いる個体検査値を生成する。具体的には、個体検査値生成手段13は、データ記憶手段11に記憶されている所定のデータを決定手段12が決定した分割数で分割し、分割された各データに対して結合法則を満たす2項演算(例えば、加算、乗算、排他的論理和)を行って、分割数分(分割数と同数)の個体検査値を生成する。
【0034】
一方、動作検査値生成手段14は、後段部20及び周辺部30へ信号が正規のプロセスで連続的に送信されているか(パチンコ遊技機1の動作が継続性を有しているか)を認証(以下、動作認証という)するために用いる動作検査値として、主制御部10の動作の継続性を示す情報を含む3種類のコード(主制御部10の動作順序を示す情報を用いて構成される動作コード、指定されたタイミングでフリーランに動く計時機器から取得した計時時間から設定される基準値に対する相対時間情報を用いて構成される相対時間コード、制御コマンド送信時の主制御部10から出力されるパケット情報を用いて構成される同期コード)の少なくともいずれか1つのコードを生成する。
【0035】
その後、主制御部10は、生成された分割数分の個体検査値に暗号化処理を施して得られた分割数分の個体認証データのそれぞれと、生成されたコードからなる動作検査値に暗号化処理を施して得られた動作認証データとを、出力する制御コマンドに付加して周辺部30に送信する。
【0036】
一方、後段部20は、期待値記憶手段21と、中間認証手段22を備えている。期待値記憶手段21は、主制御部10を構成する動作検査値生成手段14で生成されたコードに基づいて動作認証を行う際の照合処理等に用いる各コードに対応する動作の継続性を示す情報を期待値(以下、中間動作認証期待値という)として予め記憶している。中間認証手段22は、主制御部10から周辺部30を介して送信された動作認証データを用いた中間動作認証の結果を用いて、周辺部30にて個体認証及び動作認証の両面から最終的な認証判断を行う際に用いる中間認証情報を生成する。
【0037】
具体的には、中間認証手段22は、まず、主制御部10から周辺部30を介して送信された動作認証データを用いて、主制御部10の処理動作に対する中間動作認証を行う。この中間動作認証では、主制御部10より送信された動作認証データからコードを抽出し、抽出したコードを用いて主制御部10の動作の継続性を示す情報を含む3種類のコードに対応した方法で認証処理を行って、期待値記憶手段21に記憶されているいずれの中間動作認証期待値と同一であるかを照合する。そして、後段部20は、同一であると照合された中間動作認証期待値が存在した場合には認証成功を示す情報と、その際の中間動作認証期待値に対応するコードの種類を中間動作認証結果として保持する。
【0038】
その後、後段部20は、中間動作認証結果に暗号化処理を施して中間認証情報として周辺部30へ送信する。
【0039】
周辺部30は、期待値記憶手段31と、認証手段32とを備えている。期待値記憶手段31は、主制御部10を構成するデータ記憶手段11に記憶されている所定のデータを用いて2項演算を行って得られた演算値を期待値(以下、個体認証期待値という)として予め記憶している。認証手段32は、主制御部10から送信された個体認証データを用いて個体認証を行うとともに、後段部20から送信された中間認証情報に含まれる中間動作認証結果を用いて最終的な動作認証を行い、個体認証及び動作認証の両認証処理(以下、認証処理という)の結果からパチンコ遊技機1の正規性を認証する。
【0040】
具体的には、認証手段32は、まず、主制御部10から送信された個体認証データを用いて個体認証を行う。より詳細には、認証手段32は、主制御部10から制御コマンドに付加されて送信された個体認証データ及び動作認証データのうち、個体認証データから個体検査値を抽出し、抽出した個体検査値に対して、上記結合法則を満たす2項演算を行った演算結果と、期待値記憶手段31に記憶されている個体期待値とが一致するか否かによって個体認証が成功したか否かを判断する。
【0041】
次に、認証手段32は、後段部20から送信された中間認証情報に含まれる中間動作認証結果が動作認証の成功を示しており、かつ、当該結果に含まれているコードの種類が前回の認証に関する処理で決定されたパラメータを用いて生成される動作認証期待値(コード)と同じである場合に主制御部10の動作認証を成功とみなす。
【0042】
その後、周辺部30は、認証手段32の個体認証及び動作認証のいずれもが成功した場合に、パチンコ遊技機1の正規性を認証し、認証結果に応じた処理を行う。
【0043】
図2は、本発明の実施の形態1に係る遊技機の1つであるパチンコ遊技機1の外観構成を示す正面図である。また、図3は、図2に示すパチンコ遊技機1の電気的構成を示すブロック図である。
【0044】
本実施の形態1に係るパチンコ遊技機1は、遊技盤101を備えている。遊技盤101の図2において右下方であって、枠部材110の右下部には、遊技者によって操作され、発射部292(図3参照)を作動させるための操作ハンドル113が設けられている。操作ハンドル113は、遊技者側に突出する形状を呈している。操作ハンドル113は、発射部292を作動させて遊技球を発射させる発射指示部材114を備えている。発射指示部材114は、操作ハンドル113の外周部において、遊技者から見て右回りに回転可能に設けられている。発射部292は、発射指示部材114が遊技者によって直接操作されている場合に、遊技球を発射させる。公知の技術であるため説明を省略するが、操作ハンドル113には、遊技者が発射指示部材114を直接操作していることを検出するセンサなどが設けられている。
【0045】
発射部292の作動によって発射された遊技球は、レール102a,102b間を上昇して遊技盤101の上部位置に達した後、遊技領域103内を落下する。遊技領域103には、複数の釘(図示略)や、遊技球の落下方向を変化させる風車(図示略)や、入球口が配設されており、遊技球を各種の方向に向けて落下させるようにしている。ここで、「入球口」は、いずれも後述する第1始動口105、第2始動口120、普通入賞口107、第1大入賞口109c、第2大入賞口129cの総称である。
【0046】
遊技盤101の略中央部分には、図柄表示部104が配置されている。図柄表示部104は、例えば、液晶ディスプレイ(LCD)やプラズマディスプレイパネル(PDP)等のディスプレイを有している。図柄表示部104の下方には、遊技領域103に向けて打ち込まれた遊技球を受入れ可能な第1始動口105が配置されている。第1始動口105の下方には、第2始動口120が配置されている。第2始動口120は、一対の可動片(図示略)が閉状態であるときは遊技球を受け入れることが不可能又は受け入れ困難となっており、この一対の可動片が開状態であるときは、第1始動口105よりも遊技球の受け入れが容易となる。
【0047】
また、図柄表示部104の左側には、入賞ゲート106が配設されている。入賞ゲート106は、遊技球の通過を検出し、第2始動口120を一定時間だけ開放させる普通図柄の抽選を行うために設けられている。図柄表示部104の左側部や下方等には、複数の普通入賞口107が配設されている。各普通入賞口107に遊技球が入球すると、所定の賞球数(例えば、10個)の払い出しが行われる。遊技領域103の最下部には、どの入球口にも入球しなかった遊技球を回収する回収口108が設けられている。
【0048】
図柄表示部104は、後述する演出制御部203(図3参照)から第1始動口105又は第2始動口120に遊技球が入球したことが報知されたときに、複数の装飾図柄の変動表示を開始し、所定時間経過後に当該装飾図柄の変動を停止させる。この停止時に特定図柄(例えば、「777」)が揃うと、遊技者は第1大当たり遊技(長当たり遊技)を実行する権利を獲得したこととなり、その後、第1大当たり遊技(長当たり遊技)が開始される。第1大当たり遊技(長当たり遊技)が開始されると、遊技領域103の下方に位置する第1大入賞口開閉装置109における第1大入賞口開閉扉109aが、一定の期間開放する動作を所定回数(例えば、15回)繰り返し、入球した遊技球に対応する賞球が払い出される。
【0049】
一方、図柄表示部104における上記装飾図柄の停止時に上記特定図柄とは別の特定図柄(例えば、「737」)が揃うと、遊技者は第2大当たり遊技(短当たり遊技)を実行する権利を獲得したこととなり、その後、第2大当たり遊技(短当たり遊技)が開始される。第2大当たり遊技(短当たり遊技)が開始されると、第1大入賞口開閉装置109の右斜め上方に位置する第2大入賞口開閉装置129における第2大入賞口開閉扉129aが、第1大入賞口開閉扉109aの開閉動作に比して短い時間にて一定の期間開放する動作を所定回数(例えば、15回)繰り返し、入球した遊技球がある場合、これに対応する賞球が払い出される。
【0050】
また、遊技盤101の遊技領域103の外周には、枠部材110が設けられ、開口部から遊技領域103が遊技者側に露出している。枠部材110は、遊技者側に突出する形状を呈している。枠部材110において、遊技領域103の左上部及び右下部には、演出ライト(ランプユニット)111a及び111bがそれぞれ設けられている。各演出ライト111a及び111bは、複数のライト112を備えている。各演出ライト111a及び111bは、上下駆動モータ(図示略)でそれぞれ駆動されることにより、それぞれが備える複数のライト112から照射される光の方向を上下方向、すなわち、パチンコ遊技機1の正面にいる遊技者の頭部と腹部を結ぶ方向に平行な方向に変更可能に構成されている。
【0051】
また、各ライト112は、各演出ライト111a及び111bを構成する回転駆動モータ(図示略)で駆動されることにより、それぞれ所定半径を有する円の円周方向に移動する。上記構成により、各ライト112から照射された光を回転移動させつつ、各演出ライト111a及び111b全体から照射された光を上下移動させる演出を行うことができる。さらに、枠部材110の下部には、遊技球が供給される受け皿ユニット119が設けられている。この受け皿ユニット119には、貸し玉装置(図示略)から貸し出される遊技球が供給される。
【0052】
図2において、図柄表示部104の右側には、演出用の役物(以下、「演出役物」という)115が設けられている。演出役物115は、キャラクターとして人間の上半身(特に頭部)を模式的に表している。演出役物115は、キャラクターの瞼部116を開閉して、キャラクターが瞬きをするが如くに、瞼部116を上下方向に沿って移動可能に設けられている。また、演出役物115は、キャラクターの頭部を左右方向に移動可能に設けられている。
【0053】
また、枠部材110において、操作ハンドル113の左側には、遊技者により操作されるチャンスボタン117が設けられている。チャンスボタン117の操作は、例えば、遊技中における特定のリーチ演出に際し、チャンスボタン117の操作を促すガイダンスが表示されている間だけ有効となる。
【0054】
加えて、枠部材110には、演出効果音又は不正を知らしめる音響を出力するスピーカ277(図3参照)が組み込まれている。このスピーカ277は、高音・中音・低音の領域を出力できるタイプのものであり、通常演出時は高音・中音・低音をバランスよく出力するが、例えば、特別演出時又は不正等があった場合には、周りによく聞こえるように高音領域を高く出力するように制御される。
【0055】
次に、本発明の実施の形態1に係るパチンコ遊技機1の電気的構成について、図3に示すブロック図を参照して説明する。パチンコ遊技機1は、電気的な構成上は、制御手段200に、第1始動口検出部221等の各種検出手段や、図柄表示部104等の各種演出手段、役物作動装置231、払出部291、発射部292などが接続されて構成されている。制御手段200は、図3に示す例では、主制御部10と、後段部20と、演出制御部203と、賞球制御部204と、ランプ制御部205とから構成されている。
【0056】
<主制御部>
主制御部10は、CPU10aと、ROM10bと、RAM10cと、カウンタ回路(タイマ)(図示略)等を備えている。CPU10aは、パチンコ遊技機1の遊技に係る基本動作を制御し、ROM10bに予め記憶されているプログラム(プログラムコード)に基づき、遊技内容の進行に伴う基本処理を実行する。ROM10bには、CPU10aがパチンコ遊技機1の遊技内容の進行に伴う基本処理を実行するためのプログラムコードが予め記憶されている。ROM10bの全部又は一部は、例えば、図1に示すデータ記憶手段11に対応させることができる。RAM10cは、CPU10aがパチンコ遊技機1の遊技内容の進行に伴う基本処理を実行する際に行う演算処理において、データ等のワークエリアとして機能する。カウンタ回路(タイマ)は、経過時間をカウントする。
この主制御部10では、第1始動口105又は第2始動口120への遊技球の入球を契機として、大当たりの抽選を行うとともに、この抽選結果に基づいて、ROM10bに記憶されている演出に係わるコマンドの選択を行う。
【0057】
主制御部10の入力側には、第1始動口検出部221と、第2始動口検出部225と、ゲート検出部222と、普通入賞口検出部223と、第1大入賞口検出部214と、第2大入賞口検出部224とが接続されている。第1始動口検出部221は、第1始動口105に遊技球が入球したことを検出して検出結果を主制御部10に送信する。第2始動口検出部225は、第2始動口120に遊技球が入球したことを検出して検出結果を主制御部10に送信する。ゲート検出部222は、入賞ゲート106を遊技球が通過したことを検出して検出結果を主制御部10に送信する。普通入賞口検出部223は、普通入賞口107に入球した遊技球を検出して検出結果を主制御部10に送信する。第1大入賞口検出部214は、第1大入賞口109cに入球した遊技球を検出して検出結果を主制御部10に送信する。第2大入賞口検出部224は、第2大入賞口129cに入球した遊技球を検出して検出結果を主制御部10に送信する。上記各検出部は、例えば、近接スイッチなどを用いて構成することができる。
【0058】
また、この主制御部10の出力側には、役物作動装置231が接続されている。本実施の形態1では、役物作動装置231は、第1大入賞口開閉扉109a及び第2大入賞口開閉扉129aをそれぞれ開閉させる第1大入賞口開閉ソレノイド109b及び第2大入賞口開閉ソレノイド129bと、第2始動口120を開閉させる第2始動口開閉ソレノイド120bとから構成されている。
【0059】
役物作動装置231は、主制御部10によって制御され、長当たり遊技時に、第1大入賞口開閉ソレノイド109bを通電して第1大入賞口開閉扉109aを開放したり、短当たり遊技及び小当たり遊技時に、第2大入賞口開閉ソレノイド129bを通電して第2大入賞口開閉扉129aを開放したり、また、上記普通図柄の当選によって第2始動口開閉ソレノイド120bを通電して第2始動口120を開閉したりする。
【0060】
また、主制御部10は、以上概略説明した、パチンコ遊技機1の遊技に係る基本動作制御の他、本実施の形態1の特徴である、不正防止のために主制御部10の認証に関する処理を実行する手段を備えている。この認証に関する処理を実行する手段は、CPU10aがROM10bに予め記憶されているプログラム(プログラムコード)を実行することにより実現される。この認証に関する処理は、以下に示す[1]〜[7]の通りであるが、[3]に示す暗号化処理については必要に応じて実行される。
【0061】
[1]分割数の決定
主制御部10は、ROM10bに予め記憶されている所定のデータ、例えば、所定のプログラムコード(命令コードや固定データ)を分割する数である分割数を決定する。以下、所定のデータの一例として、所定のプログラムコードを用いて説明する。主制御部10は、例えば、乱数生成回路(図示略)や上記プログラムコードを構成する乱数生成プログラムによって生成された値を分割数としたり、主制御部10の他の処理において生成される値を所定のタイミングで参照し、その値を分割数としたりすることができる。この場合、分割数の上限を予め設定しておいてもよい。上記分割数を決定する処理を実行する手段は、例えば、図1に示す決定手段12に対応させることができる。本実施の形態1では、主制御部10は乱数を用いて分割数を決定しているが、これは分割数を決定するための一実施例であって、乱数を用いないで分割数を決定するようにしてもよい。例えば、主制御部10に予め分割数を決定するためのテーブルを保持させておき、分割数を決定するタイミング等で主制御部10がそのテーブルから予め定めた規則に応じて分割数を取得するようにしてもよい。
【0062】
[2]個体検査値の生成
次に、主制御部10は、ROM10b内の所定のプログラムコードが予め記憶されている記憶領域を[1]の処理において決定された分割数で分割する。そして、主制御部10は、ROM10bの分割された各記憶領域に記憶されているプログラムコードに対して2項演算を行って、主制御部10を個体認証するための分割数分の個体検査値を生成する。なお、個体検査値の生成方式(例えば、個体検査値の生成に用いる結合法則を満たす2項演算の種類等)については、主制御部10と演出制御部203との間で同一のものを予め設定しておけばよい。
【0063】
「結合法則を満たす2項演算」とは、2項間の演算を行う2項演算のうち、演算子を§とし、任意の数をa,b,cとした場合、式(1)が成立する2項演算をいう。
(a§b)§c=a§(b§c)=a§b§c ・・・(1)
すなわち、「結合法則を満たす2項演算」とは、演算対象a,b,cについて、1度に2項演算を行う演算対象としてどのように分割して演算子§により演算した場合であっても、得られる演算結果が同一値となるような2項演算をいう。ただし、任意の数a,bに対してa♪bの演算結果が常に0になるような演算子♪は、演算子§から除く。上記結合法則を満たす2項演算の定義された集合を一般に半群と呼ぶことから、このような2項演算を以下では半群演算と呼ぶことにする。半群演算としては、例えば、加算、乗算、排他的論理和がある。
【0064】
以下、半群演算の簡単な具体例を2つ挙げる。
まず、所定のプログラムコードを分割して得られた各データブロックを構成する各データをD0,D1,D2,・・・,DN(Nは各データブロックの最終アドレス)とする。
(A)半群演算として加算(演算子+)が選択されている場合は、式(2)を計算する。
D0+D1+D2+・・・+DN …(2)
(B)半群演算として排他的論理和(演算子XOR)が選択されている場合は、式(3)を計算する。
D0 XOR D1 XOR D2 XOR ・・・ DN …(3)
【0065】
各個体検査値の生成方法について、図4を参照して説明する。
図4は、主制御部10における個体検査値の生成方法を模式的に示す説明図である。個体検査値は、主制御部10がROM10bに予め記憶されている所定のデータを用いて生成する。より詳細には、主制御部10は、ROM10bの所定の記憶領域を任意の分割数で分割した上で、分割した記憶領域にそれぞれ記憶されたプログラムコードに対して結合法則を満たす2項演算(半群演算)を行って個体検査値を算出する。半群演算としては、上記のように、例えば、加算、乗算や排他的論理和演算などが挙げられる。
【0066】
(個体検査値生成の計算例)
個体検査値生成の計算の一例を以下に示す。
図4に示すプログラムコード記憶領域400には、12個のプログラムコード(「0x01」〜「0x09」,「0x0A」〜「0x0C」)が記憶されている。分割数を3とした場合、プログラムコード記憶領域400は、例えば、4個のプログラムコードを含む第1ブロック400a、3個のプログラムコードを含む第2ブロック400b、5個のプログラムコードを含む第3ブロック400cに分割できる。主制御部10は、これらの各ブロックに記憶されたプログラムコードに対してそれぞれ半群演算を行って個体検査値を算出する。なお、上記ブロック内のプログラムコード数は例示である。分割したブロック内のプログラムコード数は固定値としてもよいし、ランダムに決定してもよい。
【0067】
例えば、半群演算として式(2)の加算を用いる方法を方式Aとすると、第1ブロック400aに記憶された4個のプログラムコード「0x01」、「0x02」、「0x03」、「0x04」を加算して第1個体検査値「0x0A」が得られる。同様に、第2ブロック400bに記憶された3個のプログラムコード「0x05」、「0x06」、「0x07」を加算して第2個体検査値「0x12」が、第3ブロック400cに記憶された5個のプログラムコード「0x08」、「0x09」、「0x0A」、「0x0B」、「0x0C」を加算して第3個体検査値「0x32」がそれぞれ得られる。
【0068】
また、例えば、半群演算として式(3)の排他的論理和演算を用いる方法を方式Bとすると、第1ブロック400aに記憶された4個のプログラムコード「0x01」、「0x02」、「0x03」、「0x04」に排他的論理和演算を行い第1個体検査値「0x04」が得られる。同様に、第2ブロック400bに記憶された3個のプログラムコード「0x05」、「0x06」、「0x07」に排他的論理和演算を行い第2個体検査値「0x04」が、第3ブロック400cに記憶された5個のプログラムコード「0x08」、「0x09」、「0x0A」、「0x0B」、「0x0C」に排他的論理和演算を行い第3個体検査値「0x0C」がそれぞれ得られる。
【0069】
本実施の形態1では、主制御部10は、後述するように、パチンコ遊技機1の正規性を認証するためのデータを生成し、生成したデータを制御コマンドに付加して後段部20又は演出制御部203に送信する。ここでは、制御コマンドに付加される主制御部10の個体としての正当性を認証するためのデータを総称して「個体認証データ」と呼ぶことにする。個体認証データは、各個体検査値、又はこれら個体検査値に対して暗号化処理を施すことにより得られたデータである。また、制御コマンドに付加されるパチンコ遊技機1の動作の継続性を認証するためのデータを総称して「動作認証データ」と呼ぶことにする。動作認証データは、各動作検査値、又はこれら動作検査値に対して暗号化処理を施すことにより得られたデータである。以下、本実施の形態1では、個体認証データ又は動作認証データは、個体検査値又は動作検査値に暗号化処理を施して得られたデータとして説明するが、本発明はこれに限定されず、個体検査値又は動作検査値そのものを個体認証データ又は動作認証データとして認証に関する処理を行ってもよい。この場合、主制御部10において個体検査値又は動作検査値に暗号化処理を施す必要がなく、後段部20又は演出制御部203で個体検査値又は動作検査値を抽出する際に個体認証データ又は動作認証データの復号化処理を施す必要がないため、認証に関する処理を簡易化することができ、処理負荷の増大を抑制することができる。
なお、上記個体検査値を生成する処理を実行する手段は、例えば、図1に示す個体検査値生成手段13に対応させることができる。また、上記動作検査値を生成する処理を実行する手段は、例えば、図1に示す動作検査値生成手段14に対応させることができる。
【0070】
[3]個体認証データの生成
主制御部10は、上記[2]の処理で生成した各個体検査値に対して暗号化処理を施し、制御コマンド(制御コマンドデータ及び付随データ)に付加する個体認証データを生成する。ここで、暗号化方式としては、例えば、シーザー暗号、単一換字暗号、エニグマなど、比較的簡易なものを採用することができる。以下において用いる暗号化方式についても同様である。シーザー暗号は、メッセージ(平文)を構成する文字を一定の文字数だけずらすことによって暗号化する暗号化方式である。単一換字暗号は、平文を構成する文字を別の文字に変換することによって暗号化する暗号化方式である。エニグマは、鍵暗号鍵を用いたエニグマの設定、エニグマを用いた通信鍵の暗号化、通信鍵を用いたエニグマの再設定、平文の暗号化及び、暗号化された通信鍵と暗号化された平文の結合による通信文の生成という過程を経る暗号化方式である。
【0071】
主制御部10において、各個体検査値に対して暗号化処理を施すことにより得た各個体認証データを演出制御部203に送信した場合には、何らの処理も施していない各個体検査値をそのまま演出制御部203に送信する場合と比較して、各個体検査値を不正行為者により分析される可能性を低減することができる。なお、主制御部10は、個体検査値ごとで異なる暗号化処理を施してもよい。
【0072】
上記暗号化処理に対して、更に所定の加工処理を加えてもよい。所定の加工処理としては、例えば、暗号化処理が施された各個体検査値を用いた四則演算又は論理演算等を行って所定のデータ長を有する演算データを得る処理、これらの四則演算又は論理演算等により得られた演算データのビット配列を並び変える処理、上記演算データのビットをシフト又はロテイト(rotate)する処理、暗号化処理が施された各個体検査値を構成する複数のビットを取り出して所定の規則に従って並べて1つのデータを生成する処理などが考えられる。
【0073】
また、主制御部10は、暗号化処理等の方式を予め複数用意しておき、[1]の処理において決定された今回の分割数(データブロックの数)に基づいて、複数の暗号化処理の中から次回の個体認証データの生成に用いる1個の暗号化処理を選択するようにしてもよい。具体的には、主制御部10は、例えば、今回の分割数が奇数の場合は次回の暗号化処理を今回用いた暗号化処理と異なるものを選択し、今回の分割数が偶数の場合は次回の暗号化処理を今回用いた暗号化処理と同一のものを選択する。このとき、復号化方式の選択方法については、主制御部10と後段部20及び演出制御部203との間で予め取り決めておけばよい。
【0074】
(個体認証データ生成の計算例)
個体認証データ生成の計算の一例を以下に示す。
図4に示す第1個体検査値「0x0A」から個体認証データを生成することを例にとって説明する。上記の暗号化処理として、個体検査値に制御コマンドデータを加算し、次に、得られたデータから「0x03」を減算する処理を採用する。主制御部10は、第1の個体検査値に上記の暗号化処理を施して個体認証データを生成する。
【0075】
この個体認証データを付加する制御コマンドデータ及び付随データの値を仮に「0xEE」、及び「0x01」とする。暗号化処理では、第1個体検査値「0x0A」に制御コマンドデータの値「0xEE」を加算するので、「0xF8」が得られる。次に、この「0xF8」から「0x03」を減算すると、個体認証データの値「0xF5」が得られる。
同様に、図4に示すプログラムコード記憶領域400に記録された、第2個体検査値「0x12」から個体認証データを生成すると「0xF2」の値、第3個体検査値「0x32」から個体認証データを生成すると「0x1D」の値となる。
【0076】
なお、個体認証データとともに送信される制御コマンドデータ又はその付随データの少なくともいずれか一方のデータと個体検査値とを併せたデータに暗号化処理を施すことにより個体認証データを生成してもよい。また、個体認証データには、個体認証データとともに送信される制御コマンドデータや付随データに関するデータを含ませてもよい。制御コマンドデータや付随データに関するデータとは、制御コマンドデータや付随データに対して上記加工処理や、ハッシュ関数による演算やパリティチェック、巡回冗長検査(Cyclic Redundancy Check:CRC)、チェックサムなどの演算を行って得られた値などである。
【0077】
個体認証データとともに送信する制御コマンドデータや付随データを用いて個体認証データを生成することにより、不正な制御部によって個体認証データを再利用された場合であっても、個体認証データと制御コマンドの整合がとれず、不正を検知することができる。また、誤動作により制御コマンドデータが変更された場合であっても、認証は成功しないため、上記雑音等に起因して変更された制御コマンドデータに対応した制御コマンドの実行を防止することもできる。
【0078】
また、個体認証データに制御コマンドデータや付随データに関するデータを含ませる場合、主制御部10は制御コマンドデータや付随データに関するデータと個体検査値とを合わせて暗号化処理を施して、個体認証データを生成する処理を行ってもよい。
【0079】
なお、主制御部10が、各個体検査値を生成するタイミングと、各個体検査値を用いて個体認証データを生成するタイミングとは、特に制限はなく、主制御部10の制御プログラム中に、各個体検査値を生成する処理と、各個体検査値を用いて個体認証データを生成する処理とを行うプログラムを組み込んでおけばよい。
【0080】
[4]動作検査値の生成
主制御部10は、主制御部10の動作の継続性を示す情報を含む3種類のコード(動作コード、相対時間コード、同期コード)のうち動作認証データを生成するために使用されるコードを決定する。以下では、主制御部10において主制御部10による制御コマンドの送信が継続して実行されていることを確認するための情報である動作認証データとして生成される動作コード、相対時間コード及び同期コードについて説明する。
【0081】
{1}動作コード
動作コードは、例えば、プログラム機能の処理番号(機能番号)、個体認証データの検査値生成処理の実行回数(認証回数)、所定の法則で変動する値などによって構成されたコードである。後段部20は、この動作コードを参照することにより、主制御部10の動作(本実施形態では、制御コマンドの送信)順序が連続して行われているか否かを判断することができる。以下では、動作コードの一例として機能番号と認証回数によって構成されるコードを説明する。
【0082】
まず、機能番号を用いて動作コードを生成する場合について説明する。主制御部10では、実行される各種のプログラム(例えば、大当たりコマンド等)において所定の機能を実行するための処理毎に機能番号が予め重複なく割り当てられている。主制御部10は、機能番号が割り当てられたプログラムを実行すると、所定の機能を実行する毎に機能番号を取得する。そして、主制御部10は、取得した機能番号をRAM10cの所定の領域に、取得した順番が判別可能な状態で記憶する。例えば、主制御部10は、取得した複数の機能番号を、取得した順番に並べて記憶する。このようにして取得された順番に並べられて記憶された複数の動作コードは、主制御部10が各種のプログラムを実行した際の動作順序を示しており、主制御部10の動作の継続性を示す情報となっている。
【0083】
ここで、上記機能番号の割り当て方の具体例について説明する。機能番号は、例えば、大当たりリーチコマンド、大当たり開始コマンド及びそれに続く大当たりコマンド(例えば、15ラウンド分)等の連続して生成される制御コマンドに対して割り当てることができる。この場合、大当たりリーチコマンドに機能番号1を割り当てる。また、大当たり開始コマンドに機能番号2を割り当てる。そして、15ラウンドの大当たりコマンドの各コマンドのそれぞれに機能番号3〜18を割り当てる。このように、時系列的に連続して発生する制御コマンドに連続する機能番号を割り当てて、連続して発生する機能番号の連続性を検査することにより、主制御部10の動作順序の連続性を認証することができる。なお、機能番号は、連続して実行されるプログラムの所定の機能毎に割り当てればよく、そのプログラムの所定の機能の粒度(granularity)については特に制限されない。
【0084】
次に、認証回数を用いて動作コードを生成する場合について説明する。認証回数とはパチンコ遊技機1の電源がオンになってからの認証処理の総回数であり、認証処理とは個体認証処理と動作認証処理を併せた処理の総称である。すなわち、認証回数とは、主制御部10が個体認証値の生成処理を行った回数である。主制御部10は、この認証回数を動作コードとしてRAM10cの所定の領域に記憶している。主制御部10は、認証処理が行われる度にRAM10cに記憶された認証回数の値に+1して、新たな認証回数の値、すなわち新たな動作コードを生成し、この動作コードをRAM10cに記憶する。このようにして生成された認証回数を用いた動作コードは、主制御部10の動作の継続性を示す情報となっている。
【0085】
なお、動作コードは、主制御部10による制御コマンド送信の動作順序に関する情報以外にも、動作を行うための制御コマンドの実行プログラムの動作手順に対応して設定されている機能番号などの情報を含んでいてもよい。このとき、動作順序に関する複数の情報をそのまま含んでもよいし、これらの情報に所定の演算を施して暗号化した値を含んでもよい。
【0086】
上述したように、所定の制御コマンドを出力した際の主制御部10がどのような動作中であるかを認証する動作コード(例えば、機能番号や認証回数等)を用いることによって、動作コードによって認証した動作順序が連続していなければ、主制御部10から送信された制御コマンド以外の不正な制御基板から送信された制御コマンドであると判断し、不正制御を検知することができる。
【0087】
{2}相対時間コード
相対時間コードは、例えば、計時情報からある基準値を設定し、この基準値からの差分値や累積値などによって表されるコードである。主制御部10は、予め指定されたタイミングで取得した計時情報を含んだ複数の相対時間コードを生成する。なお、主制御部10のコード生成手段14における、計時情報の取得タイミングは、時間軸上では固定されない。例えば、賞球すべき事象が発生したタイミングをトリガに計時情報を取得すると設定した場合、いつ賞球事象が発生するかはわからないため、時間情報の取得タイミングを時間軸上で規定することはできない。
【0088】
また、主制御部10のコード生成手段14の計時機能は、電源投入時やリセット時など、遊技動作開始時をトリガとして計時を開始するというシンプルなものでよい。コード生成手段14の場合、例えば、計時を開始する際のリセット処理やクリア処理などの初期値の固定、或いは設定を目的とする初期化処理機能を備えておく必要がない。また、計時開始後は、賞球すべき事象が発生した場合など、ランダムに起きる特定の事象をトリガとして計時情報を出力すればよい。したがって、非常に簡素な構成で実現することができ、処理負荷が軽いという特徴を備えている。
【0089】
{3}同期コード
主制御部10は、制御コマンドの送信に伴って連続して出力されるパケット情報(連続パケット情報)と、制御コマンドの送信に伴って所定の間隔ごとに出力されるパケット情報(間欠パケット情報)のいずれかを用いて同期コードを生成する。
【0090】
連続パケット情報とは、主制御部10によって生成される少なくとも2つの(2回分の)連続するタイミングによって出力されたパケット情報である。ここで述べている出力のタイミングとは、主制御部10の処理速度に応じた出力タイミングである。すなわち、1クロックタイミングごとにパケット情報の出力が可能であれば1クロックタイミングごとが出力タイミングとなり、4クロックタイミングごとにパケット情報の出力が可能であれば、4クロックタイミングごとが出力タイミングとなる。
【0091】
連続パケット情報を用いて同期コードを生成する場合、それぞれのパケット情報は所定間隔の相関関係を有している。このため、動作認証手段23では、複数のパケット情報同士の相関関係を求めることによって主制御部10の動作の継続性を認証することができる。
【0092】
また、間欠パケット情報とは、主制御部10によって生成されるパケット情報のうち少なくとも2つの(2回分の)出力タイミング(あらかじめ設定された任意の間隔ごとの出力タイミング)によって出力されたパケット情報である。ここで述べているあらかじめ設定された任意の間隔ごとのタイミングとは、例えば、間欠的に連続したタイミングを意味している。例えば、1クロックタイミングごとや4クロックタイミングごとといったクロックタイミングを基準としてもよいし、1秒ごとや0.5秒ごとなどの時間を基準としてもよい。
【0093】
間欠パケット情報を用いて同期コードを生成する場合、それぞれのパケット情報は、主制御部10の制御コマンドの送信に伴って、任意の間隔、例えば、所定の時間間隔や所定のクロック数間隔、又は命令実行数間隔などに設定された出力タイミングで出力される。このため連続した出力タイミングのパケット情報を比較した場合に、パケット情報同士の相関関係を求めることによって主制御部10の動作の継続性を認証する。なお、同期コードは、パケット情報として取得した値をそのまま利用してもよいし、これらの値に所定の演算を施して暗号化した値を利用してもよい。
【0094】
次に、上述した3種類のコードの中から動作認証データを生成するために使用されるコードの決定方法(選択方法)について説明する。図5は、主制御部10におけるコードの決定方法を模式的に示す説明図である。分割数に基づいてコードを選択する方法としては、例えば、図5に示すような方法が挙げられる。
【0095】
A.選択例1:パラメータ/Xの余り値
選択例1では、パラメータとして決定された値を特定値Xで除算した際の余り値に基づいて、コードを選択する。例えば、特定値X=4、パラメータ=7であれば余り値=3となり、図5の選択例1では動作認証のためのコードとして同期コードが選択(決定)される。なお、パラメータの決定方法は任意であるが、本実施形態では後述するように、前回の認証に関する処理で決められる。また、初回は主制御部10と周辺部30との間で決めておくようにする。
【0096】
B.選択例2:前回のパラメータ−今回のパラメータの絶対値
選択例2では、前回決定されたパラメータから今回決定されたパラメータを減算した際の余り値に基づいて、コードを選択する。例えば、前回のパラメータ=3、今回のパラメータ=4であれば、絶対値|−1|=1となり、図5の選択例2では動作認証のためのコードとして相対時間コードが選択(決定)される。
【0097】
なお、上述した選択方法はあくまで一例であって、動作認証データを生成するために使用されるコードの選択方法はこれだけに限られない。
【0098】
[5]動作認証データの生成
主制御部10は、上記[4]の処理で生成したコードに対して暗号化処理を施してもよい。ここで、暗号化方式としては、個体認証データの生成の際に用いた方式と同様のものが考えられる。なお、個体認証データの生成の際に施す暗号化処理と、動作認証データの生成の際に施す暗号化処理とは、同じ暗号化処理でもよく、それぞれ異なる暗号化処理でもよい。また、コードごとで異なる暗号化処理を施してもよい。
【0099】
主制御部10において暗号化処理を施された各コードを演出制御部203を介して後段部20に送信した場合には、何らの処理も施していない各コードをそのまま演出制御部203を介して後段部20に送信する場合と比較して、各コードを不正行為者により分析される可能性を低減することができる。なお、上記暗号化処理に対し、個体認証データの生成の際と同様、更に所定の加工処理を加えてもよい。これら暗号化処理全般のことについては、後段部20や演出制御部203での認証に関するデータや情報の生成処理にも同様に当てはまる。
【0100】
また、コードとともに送信される制御コマンドデータ又はその付随データの少なくともいずれか一方のデータとコードとを併せたデータに暗号化処理を施してもよい。また、コードには、これらとともに送信される制御コマンドデータや付随データに関するデータを含ませてもよい。
【0101】
なお、主制御部10は、暗号化処理等の方式を予め複数用意しておき、[1]の処理において決定された今回の分割数(データブロックの数)に基づいて、複数の暗号化処理の中から次回の動作認証データの生成に用いる1個の暗号化処理を選択するようにしてもよい。具体的には、主制御部10は、例えば、今回の分割数が奇数の場合は次回の暗号化処理を今回用いた暗号化処理と異なるものを選択し、今回の分割数が偶数の場合は次回の暗号化処理を今回用いた暗号化処理と同一のものを選択する。
【0102】
また、復号化方式については、主制御部10と後段部20及び演出制御部203との間で予め取り決めておけばよい。例えば、主制御部10で第1の暗号化方式を用いて動作検査値を暗号化し動作認証データを生成した場合、後段部20は、第1の暗号化方式に対応する復号化方式で復号化し、動作検査値を抽出して認証に関する処理を行う。その後、後段部20は、得られた結果に対して第2の暗号化方式を用いて暗号化し、後述する中間認証情報を生成する。演出制御部203は、第2の暗号化方式に対応する復号化方式で復号化し、後段部20で得られた結果を抽出し認証に関する処理を行う。このことは、個体認証データの生成及び個体検査値の抽出の場合も同様である。
【0103】
[6]制御信号へのデータ付加
主制御部10は、演出制御部203に送信される制御コマンドデータ及び付随データへ、個体認証データ及び動作認証データを付加して認証データ付制御信号を生成する。以下では、個体認証データ及び動作認証データを併せて認証データという。
【0104】
[7]制御信号の送信
主制御部10は、認証データ付制御信号を演出制御部203、及び演出制御部203を介して後段部20に送信する。
【0105】
ここで、主制御部10が演出制御部203を介して後段部20に送信する制御信号のデータフォーマットの一例について、図6に示す模式図を参照して説明する。図6(1)には、制御コマンドデータ301及び付随データ302が含まれる通常の制御信号310を示す。制御コマンドデータ301は、制御コマンド固有のデータである。また、付随データ302は、制御コマンドデータ301に付随するデータであり、例えば、現在の遊技状態を示すデータなど制御コマンドデータ301に対応する処理を実行するために必要な制御データである。
【0106】
一方、主制御部10は、演出制御部203に認証データを送信する場合、図6(2)に示すように、制御コマンドデータ301及び付随データ302に認証データを加え、個体認証データ303及び動作認証データ304を含んだ認証データ付制御信号320を生成して出力する。個体認証データ303には個体検査値が含まれ、動作認証データ304には、前述した動作コード、相対時間コード、又は、同期コードのいずれかのコード304aが含まれている。
【0107】
なお、図6には示していないが、通常の制御信号310及び認証データ付制御信号320には、一般的なデータ通信で伝送される制御信号と同様に、BCC(Block Check Character)等が含まれている場合もある。BCCは、データ伝送の過程で発生するデータ誤りなどをチェックするために、伝送ブロックごとに付加される誤り検出符号である。
【0108】
なお、認証データ付制御信号320は、図6(2)に示すような制御コマンドデータ301、付随データ302、個体認証データ303、動作認証データ304の順で配置された認証データ付制御信号320に限らず、これらを任意の順番で配置してもよい。例えば、個体認証データ303又は動作認証データ304を制御信号の先頭に設けたり、制御コマンドデータ301と付随データ302との間に個体認証データ303又は動作認証データ304を挿入したりしてもよい。
【0109】
このように、個体認証データ303及び動作認証データ304を制御信号に含めることによって、個体認証データ303又は動作認証データ304を単体で送信する場合と比較して、主制御部10と後段部20及び演出制御部203との間の通信負荷の増大を抑えることができる。また、個体認証データ303及び動作認証データ304を制御信号に含めることによって、個体認証データ303及び動作認証データ304を単体で送信する場合と比較して、通信データ中から個体認証データ303及び動作認証データ304が抽出され、解析されてしまう危険性を低減することができる。
【0110】
<後段部>
後段部20は、CPU20aと、ROM20bと、RAM20c等を備えている。CPU20aは、ROM20bに予め記憶されているプログラム(プログラムコード)に基づき処理を行う。ROM20bには、CPU20aが処理を実行するためのプログラムコードと、主制御部10を構成する動作検査値生成手段14で生成されたコードに基づいて動作認証を行う際の照合処理等に用いる各コードに対応する動作の継続性を示す情報である期待値(中間動作認証期待値)とが予め記憶されている。ROM20bの記憶領域のうち、上記中間動作認証期待値が予め記憶されている記憶領域は、例えば、図1に示す期待値記憶手段21に対応させることができる。RAM20cは、CPU20aが処理を実行する際に行う演算のワークエリアとして機能する。
【0111】
本実施の形態1において、この後段部20の認証に関する処理は、以下の[1]〜[4]の通りである。
[1]制御信号の受信
後段部20は、主制御部10から送信された認証データ付制御信号のうち、演出制御部203で認証に使用しない動作認証データに個体認証データ、制御コマンドデータ及び付随データが付加した動作認証データ付制御信号を演出制御部203を介して受信する。なお、後段部20は、制御コマンドデータ及び付随データのみからなる通常の制御信号を受信した場合には、認証に関する処理は行わずに受信した制御コマンドデータ及び付随データを破棄する。
【0112】
[2]動作認証データの抽出
後段部20は、動作認証データ付制御信号から動作認証データを抽出する。次に後段部20は、抽出した動作認証データからコードを抽出し、RAM20cの所定の記憶領域である動作検査値用メモリに、制御コマンドの出力順など主制御部10の動作順序が判別可能なように関連付けてコードを記憶する。なお、コードに主制御部10において暗号化処理が施されている場合、後段部20は、施された暗号化処理に対応する復号化処理を抽出したコードに施す。
【0113】
ここで、本実施の形態1において、例えば、主制御部10の動作検査値生成の際に使用するRAM10cの動作検査値用メモリと、後段部20の動作検査値抽出の際に使用するRAM20cの動作検査値用メモリなど、メモリの所属元は、特に明記しなくても混乱なく識別することができる。よってこれ以降特筆しない限り、メモリの所属元の区別なく同一の名称を使用する(この例では、「動作検査値用メモリ」を使用する)。このことは、個体検査値用メモリも同様とする。
【0114】
[3]中間動作認証
実施の形態1において、後段部20は、主制御部10の動作の継続性を示す情報を含む3種類のコード(動作コード、相対時間コード、同期コード)のそれぞれに対応した方法で、主制御部10から送信された動作認証データから抽出したコードを用いた動作認証を行って、いずれかのコードに対応した動作認証が成功したか否かを判断するとともに、認証が成功した場合のコードを特定する。
以下では、主制御部10において主制御部10による制御コマンドの送信が継続して実行されていることを確認するための情報である動作認証について動作コードの認証、相対時間コードの認証及び同期コードの認証に分けて説明する。
【0115】
(動作コードの認証)
実施の形態1において動作コードは、前述のように、例えば、プログラム機能の処理番号(機能番号)、個体認証データの検査値生成処理の実行回数(認証回数)、所定の法則で変動する値などによって構成されたコードである。
【0116】
例えば、動作コードが機能番号を用いて生成されている場合の認証では、後段部20は、複数の機能番号が正規の順序で配列されているかを判断する照合処理を行う。照合処理の結果、複数の機能番号が正規の順序で配列されていた場合には、後段部20は、動作認証に成功したと判断する。一方、複数の機能番号が正規の順序で配列されていなかった場合には、後段部20は、動作認証に成功しなかったと判断する。
【0117】
また、動作コードが認証回数を用いて生成されている場合の認証では、後段部20は、例えば、認証回数に施した暗号化処理と同じ暗号化処理を施した値である動作認証用期待値とが一致するか否かを判断する照合処理を行う。照合処理の結果、動作認証データと動作認証用期待値とが一致した場合には、後段部20は、動作認証に成功したと判断する。一方、動作認証データと動作認証用期待値とが一致しなかった場合には、後段部20は、動作認証に成功しなかったと判断する。
【0118】
なお、動作認証に成功した場合、後段部20は、動作認証が成功したことを示す認証結果を生成して、コード用メモリに記憶されているすべての動作コードを消去する。一方、動作認証に成功しなかった場合、後段部20は、動作認証が成功しなかったことを示す認証結果を生成する。
【0119】
(相対時間コードの認証)
実施の形態1では、後段部20は、コード用メモリに記憶された相対時間コードに含まれる計時情報同士が連続性を有するか否かに基づいて主制御部10の動作の継続性を認証する。まず、主制御部10では、計時情報からある基準値を設定し、この基準値からの差分値又は累積値として複数の相対時間コードが生成され、後段部20に送信される。そして、後段部20は、受信した相対時間コードの値が時系列的に増加しているか否かにより、主制御部10の動作の継続性を認証する。その結果、後段部20は、相対時間コードの値が時系列的に増加している場合は計時情報同士が連続性を有していると判断し、主制御部10の動作が継続性を有する正しい順序の動作であると認証する。また、後段部20は、相対時間コードによって認証した動作順序が継続した動作であると判定されなかった場合、不正な制御コマンドが送信されている可能性があると判断することができる。
【0120】
このように、後段部20では、相対時間コードを参照することによって、主制御部10にて実行されている動作が継続して行われているか否かを簡易的に判定することができる。したがって、遊技機への不正行為や誤作動への対策を講じることができる。
【0121】
なお、主制御部10において相対時間コードに所定の演算が施されている場合、後段部20は、主制御部10の演算処理の内容に応じて所定の演算を行って相対時間コードを生成する。そして、この相対時間コードが、主制御部10の動作が継続していることを表すコードであった場合、主制御部10の動作が正しい順序の動作であると認証する。また、後段部20は、直接相対時間コードを受信した場合には、この相対時間コードを用いて主制御部10の動作順序の認証を行う。
【0122】
なお、認証が成功した後、後段部20は、コード用メモリに記憶された相対時間コードを消去する。
【0123】
(同期コードの認証)
実施の形態1において、同期コードの認証処理では、連続したタイミングで主制御部10が出力した2つのパケット情報同士の相関関係から同期状態を検証する。例えば、1回目のパケット(以下、「パケット1」という)の基本値=0x03、2回目のパケット(以下「パケット2」という)の基本値=0x05の場合、パケット1とパケット2との相関条件(認証成立条件)は「+2」となる。そして、主制御部10から送信するパケット1の検査値は基本値のまま0x03となり、パケット2の検査値はパケット1とパケット2の和、すなわち0x03+0x05となり、「0x08」が後段部20に送信される。
【0124】
次に、後段部20において受信するパケット1は、基本値のまま0x03となり、パケット2の検査値は0x08となる。そして、後段部20では、パケット2の基本値を算出するために、受信したパケット2からパケット1を減算し、0x08−0x03=0x05を求める。
【0125】
パケット1とパケット2との双方の基本値が求まると、2つのパケットの相関関係は、パケット2の基本値とパケット1の基本値の差分、すなわち0x05−0x03となり、相関値は0x02となる。この値は、パケット1の基本値とパケット2の基本値との相関条件(+2であること)を満たすので、後段部20は認証成立と判断する。
【0126】
なお、パケット1とパケット2を用いた演算処理において、演算結果が桁あふれしないように桁数を調整してもよい。また、桁あふれしない数値範囲でパケット1とパケット2の基本値を選定してもよい。さらに、パケット1とパケット2を用いた演算処理において、符号なし演算として計算してもよい。さらにまた、認証強度を上げるために、認証処理ごとに相関条件を変更してもよい。例えば、1回目の相関条件は「+2」、2回目の相関条件は「+5」、3回目の相関条件は「+1」などとしてもよい。但し、上述のような相関関係の変更ルールを適用する場合には、あらかじめ主制御部10と後段部20との相互で共有しておくか、通知する手段や工程を用意しておくようにする。
【0127】
また、単純に連続するパケット情報を主制御部10から後段部20に送信しただけでは、第三者にパケット情報の差分を解析されてしまう可能性もある。したがって、解析を防ぐために基本値に前処理を施してもよい。例えば、パケット情報の基本値に排他的論理和演算などの各種演算処理を施してもよい。また、基本値への前処理は、パケット1とパケット2のような任意の間隔ごとにあらかじめ設定された出力タイミングによって出力された2つのパケット情報のうちのいずれか一方にのみ施してもよいし、双方に施してもよい。
【0128】
後段部20は、上述した中間的な動作認証を行った後、以下のようにして中間動作認証結果を生成する。
まず、後段部20は、すべての値の出現確率が等しい一様乱数(uniform random numbers)により1バイト長の乱数(範囲「0x00」〜「0xFF」)を発生させる。例えば、一様乱数により乱数「0x4B」を発生させたとする。そして、後段部20は、動作認証が成功したことを示す中間動作認証結果を生成する場合、一様乱数により発生させた乱数「0x4B」の最下位ビットの値を「1」としたデータ「0x4B」を中間動作認証結果として生成する。一方、後段部20は、動作認証に成功しなかったことを示す中間動作認証結果を生成する場合、一様乱数により発生させた乱数「0x4B」の最下位ビットの値を「0」としたデータ「0x4A」を中間動作認証結果として生成する。なお、後段部20は、動作認証が成功した場合には、その中間動作認証結果に成功した際のコードの種類を示す情報を含めておく。
【0129】
[4]中間認証情報信号の生成・送信
後段部20は、[3]の処理で得られた中間動作認証結果に対して主制御部10で認証データを生成した際と同様の暗号化処理を施したものを用いて、中間認証情報を生成する。そして、後段部20は、中間認証情報の内容に従って中間認証情報信号を生成する。さらに、後段部20は、中間認証情報信号を演出制御部203に送信するとともに、動作検査値用メモリに記憶されているデータを消去する。なお、これらの後段部20の認証に関する処理([1]〜[4]の処理)の詳細については、後述する。また、上記の中間動作認証期待値を予め記憶する手段、及び中間動作認証を実行する手段は、例えば、図1に示す期待値記憶手段21、及び中間認証手段22に対応させることができる。
【0130】
<演出制御部>
演出制御部203は、CPU203aと、ROM203bと、RAM203cと、VRAM203d等を備えている。CPU203aは、主に遊技中における演出を制御し、ROM203bに予め記憶されているプログラム(プログラムコード)に基づき、主制御部10より送信される制御コマンドに基づいて演出の抽選及び演出処理を実行する。ROM203bには、CPU203aが演出の抽選及び演出処理を実行するためのプログラムコードと、過去の演出パターンとが予め記憶されていることに加え、主制御部10を構成するROM10bに予め記憶されている分割対象の所定のプログラムコードと同一のデータを用いて、複数の半群演算をそれぞれ行って得られた複数の個体認証期待値とが予め記憶されている。ROM203bの記憶領域のうち、上記複数の個体認証期待値が予め記憶されている記憶領域は、例えば、図1に示す期待値記憶手段31に対応させることができる。RAM203cは、CPU203aが演出の抽選及び演出処理を実行する際に行う演算処理や認証に関する処理を実行する際に行う演算処理において、データ等のワークエリアとして機能する。VRAM203dには、図柄表示部104に表示させるための画像データが書き込まれる。
【0131】
この演出制御部203は、主制御部10より送信される演出に係る制御コマンドを受信すると、この制御コマンドに基づいて抽選を行い、演出背景パターン、リーチ演出パターン、登場キャラクター等の演出を確定するとともに、当該確定した演出の制御を行う。
また、演出制御部203の出力側には、図柄表示部104が接続されており、抽選によって決定された内容のとおりに、図柄表示部104に、例えば、図柄変動の演出表示を展開する。
【0132】
そして通常、CPU203aがROM203bに記憶されたプログラムを読み込んで、背景画像表示処理、図柄画像表示及び変動処理、キャラクター画像表示処理など各種画像処理を実行し、必要な画像データをROM203bから読み出してVRAM203dに書き込む。背景画像、図柄画像、キャラクター画像は、表示画面上において図柄表示部104に重畳表示される。
すなわち、図柄画像やキャラクター画像は背景画像よりも手前に見えるように表示される。このとき、同一位置に背景画像と図柄画像が重なる場合、Zバッファ法など周知の陰面消去法により各画像データのZバッファのZ値を参照することで、図柄画像を優先してVRAM203dに記憶させる。
【0133】
また、演出制御部203は、以上概略説明した演出に関する処理の他に、認証データ付制御信号を受信した場合には、ROM203bに予め記憶されているプログラムに基づき、以下の[1]〜[6]に示す認証に関する処理を実行する。演出制御部203の認証処理によって個体認証及び動作認証の両面から最終的な認証判断を行う。なお、当該動作認証を実行する手段は、例えば、図1に示す認証手段32に対応させることができる。
【0134】
[1]制御信号の受信
演出制御部203は、主制御部10から送信された制御信号が、制御コマンドデータ及び付随データのみからなる通常の制御信号か、制御コマンドデータ及び付随データに加えて、個体認証データ及び動作認証データを含む認証データが付加された認証データ付制御信号かを判断する。受信した制御信号が通常の制御信号である場合、演出制御部203は、制御コマンドデータ及び付随データに基づいて上記演出に関する処理を行い、認証に関する処理を終了する。一方、受信した制御信号が認証データ付制御信号である場合、演出制御部203は、認証に関する処理を継続するとして下記[2]〜[6]の処理を実行する。
【0135】
[2]個体検査値及び動作認証データの抽出
演出制御部203は、認証データ付制御信号から個体認証データ、及び動作認証データを抽出する。次に、演出制御部203は、個体認証データ生成時に使用した暗号化処理に対応する復号化処理を抽出した個体認証データに施して個体検査値を抽出し、RAM203cの所定の記憶領域である個体検査値用メモリに記憶する。また、演出制御部203は、抽出した動作認証データを、RAM203cの所定の記憶領域である動作検査値用メモリに記憶する。次に、動作検査値用メモリ内の動作認証データに制御コマンド及び付随データを付加して動作認証データ付制御信号を生成し、動作認証データ付制御信号を後段部20へ送信する。なお、演出制御部203は、主制御部10から送信された認証データ付制御信号から個体認証データのみを抽出し、その直後に個体認証データを動作認証データ付制御信号として後段部20へ送信してもよい。或いは、演出制御部203は、個体認証データ及び動作認証データを含む認証データ付制御信号を後段部20へ送信してもよい。
【0136】
[3]個体認証
演出制御部203は、個体検査値用メモリ内に記憶されているすべての個体検査値に対して、以下に示す順序で半群演算を行うことによって、主制御部10の個体認証処理を行う。
{1}演出制御部203は、上記個体検査値用メモリ内に記憶されているすべての個体検査値を用いて半群演算(以下、結合処理という)を行う。
{2}演出制御部203は、予め記憶されている個体認証期待値をROM203bの所定の記憶領域から読み出す。
【0137】
{3}演出制御部203は、上記{1}の処理における演算結果(以下、結合結果という)と、上記{2}の処理で読み出した個体認証期待値が一致するか否か判断する。
演出制御部203は、結合結果と個体認証期待値が一致した場合には、個体認証に成功したと判断する。
半群演算は上記結合法則を満たしているため、主制御部10のROM10bに予め記憶されている所定のプログラムコードと同一のデータのすべてに対して半群演算を行って得られた結果である個体認証期待値と、所定のプログラムコードから生成された分割数分の個体検査値に対して半群演算を行って得られた結合結果とは一致する。このとき、すなわち主制御部10に対する個体認証が成功したときは、結合処理の対象となった個体検査値の数(以下、結合数という)と、分割数とは当然に一致する。これにより、演出制御部203は、主制御部10の正当性を認証する。
一方、演出制御部203は、結合結果と個体認証期待値が一致しなかった場合には、個体認証に成功しなかったと判断する。
【0138】
{4}{3}の処理で個体認証に成功した場合、演出制御部203は、個体認証が成功したことを示す個体認証結果を生成する。
{5}{3}の処理で個体認証が成功しなかった場合、演出制御部203は、主制御部10から受信した個体認証データの数が所定数以上か否かを判断する。所定数は、今回の結合数(分割数)以上かつプログラムコード記憶領域400(図4参照)に記憶されているプログラムコードを分割可能な数(最大分割数)以下の範囲内の任意の数である。
{5−1}受信した個体認証データの数が所定数未満の場合、演出制御部203は、まだ個体認証が行える段階ではないと判断して個体認証結果に換えて、認証中途データとして、例えば、個体認証結果のデータ長と同一のデータ長を有する任意の値(例えば、オール0又はオール1)を生成する。
{5−2}受信した個体認証データの数が所定数以上の場合、演出制御部203は、個体認証が成功しなかったと判断して、個体認証が成功しなかったことを示す個体認証結果を生成する。
【0139】
(個体認証期待値生成の計算例)
個体認証期待値の生成方法について、図4を参照して説明する。
演出制御部203は、プログラムコード記憶領域400に記憶された分割対象の所定のプログラムコードと同一のデータ全体に対して半群演算を行った値を個体認証期待値として保持している。例えば、方式Aの場合の個体認証期待値は「0x01」〜「0x0C」の和である「0x4E」となる。また、方式Bの場合の個体認証期待値は「0x01」〜「0x0C」の排他的論理和である「0x0C」となる。演出制御部203では、主制御部10による個体検査値生成方法である半群演算の数と同数の個体認証期待値を保持している。
【0140】
個体認証期待値は、例えば、製造時などに予め演出制御部203を構成するROM203bの所定の記憶領域に記憶させてもよいが、これに限定されず他の構成部から演出制御部203に送信することとしてもよい。他の構成部としては、例えば、賞球制御部204や個体認証期待値を生成するための専用の処理部(以下、個体認証期待値算出部という)などがある。なお、個体認証期待値算出部は、予め記憶されている個体認証期待値を演出制御部203に送信してもよい。また、外部接続用インターフェイス(図示略)を介して、外部の機器から演出制御部203や個体認証期待値算出部に個体認証期待値を算出するために必要な係数などを送信してもよい。このように、演出制御部203を構成するROM203bの所定の記憶領域に、予め個体認証期待値を記憶させずに、他の構成部から取得することとすれば、個体検査値を事後的に変更することが可能となる。このことは、中間動作認証期待値や動作認証期待値にも同様に当てはまる。
【0141】
[4]中間認証情報の受信、中間動作認証結果の抽出
演出制御部203は、後段部2より送信された中間認証情報信号が示す中間認証情報に対して、後段部20での中間認証情報を生成した際に用いた暗号化方式に対応する復号化方式で復号化処理を施し、中間動作認証結果を抽出する。次に、演出制御部203は、抽出した中間動作認証結果をRAM203cの所定の記憶領域である動作検査値用メモリに記憶するとともに、後段部20での中間動作認証の結果を確認する。なお、演出制御部203は、中間認証情報信号を受信するまで以下の認証に関する処理を保留する。
【0142】
[5]動作認証
演出制御部203は、動作検査値用メモリ内に記憶されている中間動作認証結果と、個体認証が成功した際の結合処理の対象となった個体検査値の数(結合数)とを用いて、後段部20における動作認証データとして用いられるべきコードが、動作コード、相対時間コード又は同期コードのいずれであるかを特定し、特定したコードが後段部20における動作認証で用いられたコードと同じであり、かつ、動作認証が成功したと判断されたことをもって主制御部10を動作認証するものとする。
【0143】
[6]認証結果に基づく処理
演出制御部203は、[3]の処理である個体認証で得られた個体認証結果、及び[5]の処理である動作認証で得られた動作認証結果を用いて、パチンコ遊技機1の正規性を個体認証と動作認証の両面から認証し、最終的な認証判断を行う。[3]の処理である個体認証で得られた個体認証結果、及び[5]の処理である動作認証で得られた動作認証結果のいずれもが、認証成功を示す結果であった場合、演出制御部203は、中間認証情報付制御信号に含まれた制御コマンドデータ及び付随データに基づく処理を実行するとともに、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去し、認証に関する処理を終了する。一方、[3]の処理である個体認証で得られた個体認証結果、又は[5]の処理である動作認証で得られた動作認証結果のいずれかが、認証不成功を示す結果であった場合、制御コマンドデータ及び付随データを破棄するとともに、不正行為を検知したとする報知等の処理を行い、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去し、認証に関する処理を終了する。
【0144】
演出制御部203の入力側には、上記チャンスボタン117が操作されたことを検出するチャンスボタン検出部220が接続されている。また演出制御部203の出力側には、スピーカ277が接続されており、演出制御部203において確定したとおりに、音声が出力されるようにしている。
また演出制御部203の出力側には、ランプ制御部205を備えている。
【0145】
<その他の制御部>
ランプ制御部205は、演出制御部203より送信された制御コマンドに基づきROM205bから読み込んだプログラムを作動させて演出処理を実行するCPU205aと、上記プログラム及び各種演出パターンデータを記憶するROM205bと、CPU205aの演算処理時におけるデータのワークエリアとして機能するRAM205c等を備えている。ランプ制御部205は、ランプ262、演出ライト111a及び111b、演出役物作動装置254を制御する。演出役物作動装置254は、演出役物115等の、演出用の役物を作動させるモータやソレノイド等によって構成されている。
【0146】
ランプ制御部205は、遊技盤101や台枠等に設けられている各種ランプ262に対する点灯制御等を行い、また、演出ライト111a及び111bをそれぞれ構成する複数のライト112に対する点灯制御等を行い、各ライト112からの光の照射方向を変更するためにモータに対する駆動制御等を行う。
また、ランプ制御部205は、演出制御部203より送信された制御コマンドに基づき、演出役物115を動作させる演出役物作動装置254のソレノイドや、瞼部116を動作させる演出役物作動装置254のモータに対する駆動制御等を行う。
【0147】
賞球制御部204は、主制御部10と送受信可能に接続されている。賞球制御部204は、ROM204bに記憶されたプログラムに基づき、賞球制御を行う。この賞球制御部204は、ROM204bに記憶されたプログラムを作動して賞球制御の処理を実行するCPU204aと、CPU204aの演算処理時におけるデータのワークエリアとして機能するRAM204c等を備えている。
【0148】
賞球制御部204は、接続される払出部291に対して、各入球口(第1始動口105、第2始動口120、普通入賞口107、第1大入賞口109c、第2大入賞口129c)に入球した遊技球に対応した賞球数を払い出す制御を行う。また、賞球制御部204は、発射部292に対する遊技球の発射の操作を検出し、遊技球の発射を制御する。発射部292は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサ(図示略)と、遊技球を発射させるソレノイド等(図示略)を備えている。賞球制御部204は、発射部292のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイド等を駆動させて遊技球を間欠的に発射させ、遊技盤101の遊技領域103に遊技球を送り出す。
払出部291は、遊技球の貯留部から所定数を払い出すためのモータ等からなる。
【0149】
上記構成の主制御部10と、後段部20と、演出制御部203と、賞球制御部204と、ランプ制御部205とは、それぞれ異なるプリント基板(例えば、主制御部10は主制御基板、後段部20は中間基板、演出制御部203は演出制御基板、賞球制御部204は賞球制御基板、ランプ制御部205はランプ制御基板)に搭載されている。これらのうち、中間基板、演出制御基板、賞球制御基板及びランプ制御基板の総称として、「周辺基板」を用いる。なお、例えば、後段部20は、演出制御部203と同一のプリント基板上に搭載することもできる。また、賞球制御部204は、主制御部10と同一のプリント基板上に搭載することもできる。
【0150】
次に、上記構成のパチンコ遊技機1の動作について、図面を参照して説明する。なお、以下の説明において、「制御コマンドを送信する」とは、「当該制御コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」という意味であり、例えば、図6に示す個体認証データや動作認証データや付随データの有無は考慮しないものとする。
【0151】
主制御部10による後段部20及び賞球制御部204への制御コマンド送信を含む処理について、図7及び図8に示すフローチャートを参照して説明する。
まず、主制御部10は、パチンコ遊技機1の電源投入に伴う初期設定処理を実行(ステップS1)した後、ステップS2へ進む。なお、パチンコ遊技機1に電源が投入された際には、周辺基板が主制御基板から受信する制御コマンドを確実に取り込むために、周辺基板が立ち上がってRAM領域の初期化処理を行い、待機状態となった後、主制御基板が立ち上がるように構成されている。主制御部10は、初期設定処理として、例えば、スタックポインタに予め決められた所定値を設定するとともに、後段部20、演出制御部203及び賞球制御部204が待機状態になることを待つために、所定時間(例えば、約1秒間)だけ待機する。
【0152】
ステップS2では、主制御部10は、後段部20及び賞球制御部204に電源投入コマンドを送信した後、ステップS3へ進む。電源投入コマンドを受信すると、後段部20は、当該電源投入コマンドを演出制御部203に送信する。電源投入コマンドを受信すると、演出制御部203は、図柄表示部104やランプ制御部205のそれぞれに対して電源投入時の演出用の制御コマンド、具体的には、遊技機が非遊技状態における客待ちのデモ画面を表示するための客待ちデモコマンド、あるいは、ランプの点灯等を行うための制御コマンドを送信する。
【0153】
なお、電源投入コマンドは、電源投入後に電源投入に伴う処理を実行させるための制御コマンドを示し、各制御基板が立ち上がった後に、主制御部10が後段部20、後段部20を介して演出制御部203、及び賞球制御部204に送信する制御コマンドであって、電源投入後の立ち上げ時における遊技を制御するための初期制御情報、例えば、制御モード、バックアップデータ等を送信するための制御コマンド、あるいは初期演出表示の制御を行うための制御コマンド、例えば、客待ちデモ等の各種のデモ表示を開始させるための制御コマンドである。また、この電源投入コマンドは遊技機のリセットボタンを押圧したときに実行される、上記制御モード、バックアップデータ等を送信するための制御コマンドも含む。
【0154】
ステップS3では、主制御部10は、RAM10cに記憶されている未抽選入賞回数データを参照して、未抽選入賞回数が0回であるか否かを判断する。ここで、未抽選入賞回数とは、第1始動口検出部221又は第2始動口検出部225で検出された遊技球の数(入賞回数)から、当該遊技球の入球に対応する抽選が行われた回数(既抽選回数)を減じた数である。ステップS3の判断結果が「NO」の場合、すなわち、未抽選入賞回数が0回でない場合には、主制御部10は、後述するステップS10へ進む。一方、ステップS3の判断結果が「YES」の場合、すなわち、未抽選入賞回数が0回である場合には、主制御部10は、ステップS4へ進む。
【0155】
ステップS4では、主制御部10は、電源投入時のデモが開始されてから経過した時間を計測した後、ステップS5へ進む。ステップS5では、主制御部10は、電源投入時のデモが開始されてから所定時間が経過したか否かを判断する。ステップS5の判断結果が「YES」の場合、すなわち、電源投入時のデモが開始されてから所定時間が経過した場合には、主制御部10は、ステップS6へ進む。なお、上記電源投入時のデモを開始するための制御コマンドは、客待ちデモコマンドとしてもよい。
【0156】
ステップS6では、主制御部10は、演出制御部203に客待ちデモコマンドを送信した後、ステップS7へ進む。客待ちデモコマンドを受信すると、演出制御部203は、図柄表示部104やランプ制御部205のそれぞれに対して客待ちデモ用の制御信号を送信する。
【0157】
一方、ステップS5の判断結果が「NO」の場合、すなわち、電源投入時のデモ(又は客待ちデモ)が開始されてから所定時間が経過していない場合には、主制御部10は、ステップS7へ進む。ステップS7では、主制御部10は、第1始動口検出部221で第1始動口105への遊技球の入球が検出されたか又は第2始動口検出部225で第2始動口120への遊技球の入球が検出されたか否かを判断する。ステップS7の判断結果が「YES」の場合、すなわち、第1始動口検出部221で第1始動口105への遊技球の入球が検出されたか又は第2始動口検出部225で第2始動口120への遊技球の入球が検出された場合には、主制御部は、ステップS8へ進む。
【0158】
一方、ステップS7の判断結果が「NO」の場合、すなわち、第1始動口検出部221で第1始動口105への遊技球の入球が検出されず、かつ、第2始動口検出部225で第2始動口120への遊技球の入球が検出されない場合には、主制御部は、ステップS4へ戻り、ステップS4以降の処理を繰り返す。
【0159】
ステップS8では、主制御部10は、客待ちデモ(又は電源投入時のデモ)が開始されてから計測していた時間をクリアした後、ステップS9へ進む。ステップS9では、主制御部10は、未抽選入賞回数に1を加算する。なお、第1始動口検出部221又は第2始動口検出部225で複数の遊技球の入球が検出された場合、このステップS9では、主制御部10は、未抽選入賞回数に入球に相当する数を加算する。そして、主制御部10は、ステップS10へ進む。ステップS10では、主制御部10は、予め用意された乱数カウンタ(例えば、0〜250をカウント)から1つの大当たり判定用乱数を無作為に取得した後、ステップS11へ進む。ステップS11では、主制御部10は、未抽選入賞回数から1を減算した後、ステップS12へ進む。
【0160】
ステップS12では、主制御部10は、例えば、予めROM10bに記憶されている大当り判定データテーブルを参照して、ステップS10の処理で取得した大当たり判定用乱数が、この大当り判定データテーブルに記憶されている大当たりの乱数値であるか否かを判断する。また、ステップS12では、主制御部10は、取得した大当たり判定用乱数がはずれの乱数の場合には、例えば、大当り判定データテーブルを参照して、さらに「リーチ有りのはずれ」又は「リーチ無しのはずれ」であるかについても判断する。ステップS12の判断結果が「YES」の場合、すなわち、ステップS10で取得した大当たり判定用乱数が予め定められた大当たり乱数である場合には、主制御部10は、ステップS13へ進む。
【0161】
ステップS13では、主制御部10は、演出制御部203に、例えば、大当たりの種別コード(通常当りか確率変動当りか等)、リーチ有り、図柄変動時間、等の制御データ(付随データ)を含む大当たりリーチコマンド(図柄変動コマンド)を送信した後、ステップS14へ進む。ステップS14では、主制御部10は、図柄変動時間が経過したか否かを判断する。ステップS14の判断結果が「NO」の場合、すなわち、図柄変動時間が経過していない場合には、主制御部10は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップS14の判断結果が「YES」となり、主制御部10は、ステップS15へ進む。
【0162】
ステップS15では、主制御部10は、演出制御部203に図柄停止コマンドを送信した後、ステップS16へ進む。ステップS16では、主制御部10は、演出制御部203に大当たり開始コマンドを送信した後、ステップS17へ進む。ステップS17では、主制御部10は、演出制御部203に大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を順次送信し、すべてのラウンドの大当たりコマンドの送信を終了した後、ステップS18へ進む。ステップS18では、主制御部10は、演出制御部203に大当たり終了コマンドを送信した後、ステップS22へ進む。
【0163】
一方、ステップS12の判断結果が「NO」の場合、すなわち、ステップS10の処理で取得した大当たり判定用乱数が予め定められた大当たり乱数でない場合には、主制御部10は、ステップS19へ進む。ステップS19では、主制御部10は、「リーチ有りのはずれ」の場合には「はずれリーチコマンド(図柄変動コマンド)」を、「リーチ無しのはずれ」の場合には「はずれコマンド(図柄変動コマンド)」を演出制御部203に送信した後、ステップS20へ進む。
【0164】
ステップS20では、主制御部10は、図柄変動時間が経過したか否かを判断する。ステップS20の判断結果が「NO」の場合、すなわち、図柄変動時間が経過していない場合には、主制御部10は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップS20の判断結果が「YES」となり、主制御部10は、ステップS21へ進む。ステップS21では、主制御部10は、演出制御部203に図柄停止コマンドを送信した後、ステップS22へ進む。
【0165】
ステップS22では、主制御部10は、パチンコ遊技機1の電源がオフにされたか否かを判断する。ステップS22の判断結果が「NO」の場合、すなわち、パチンコ遊技機1の電源がオフにされていない場合には、主制御部10は、図8に示すステップS3へ戻り、ステップS3以降の処理を繰り返す。
【0166】
一方、ステップS22の判断結果が「YES」の場合、すなわち、パチンコ遊技機1の電源がオフにされた場合には、主制御部10は、ステップS23へ進む。ステップS23では、主制御部10は、演出制御部203に終了処理コマンドを送信した後、一連の処理を終了する。
【0167】
ここで、図9に、大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の送信タイミングの一例であるタイミングチャートを示す。図9(1)に示す大当たりリーチコマンドは、ランダムに送信される。また、図9(2)に示す大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。さらに、図9(3)に示す大当たりコマンドは、大当たり状態に移行した後、ラウンドごとに継続的に送信される。また、図9(4)に示す大当たり終了コマンドは、大当たり状態のすべてのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。
【0168】
次に、演出制御部203による処理について説明する。以下では、図柄変動時(大当たりリーチコマンド(図8に示すステップS13参照)又は、はずれリーチコマンド(図8に示すステップS19参照)を受信した場合)及び、大当たり時の演出制御部203の処理について説明する。
【0169】
まず、演出制御部203による図柄変動処理について、図10に示すフローチャートを参照して説明する。
演出制御部203は、主制御部10から図柄変動コマンドである大当たりリーチコマンド(図8に示すステップS13参照)又ははずれリーチコマンド(図8に示すステップS19参照)のいずれかを受信したか否かを判断する(図10のステップS31参照)。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、大当たりリーチコマンド又ははずれリーチコマンドのいずれかを受信すると、ステップS31の判断結果が「YES」となり、演出制御部203は、ステップS32へ進む。
【0170】
ステップS32では、演出制御部203は、予め用意された乱数(例えば、0〜250)から1つの変動演出選択用乱数を無作為に取得した後、ステップS33へ進む。ステップS33では、演出制御部203は、ステップS32の処理で取得した変動演出選択用乱数に基づいて変動演出の種類を選択した後、ステップS34へ進む。
【0171】
ステップS34では、演出制御部203は、図柄表示部104やランプ制御部205に変動演出別の演出開始コマンドを送信した後、ステップS35へ進む。ステップS35では、演出制御部203は、変動演出の演出時間が経過したか否かを判断する。ステップS35の判断結果が「NO」の場合、すなわち、変動演出の演出時間が経過していない場合には、演出制御部203は、ステップS36へ進む。
【0172】
ステップS36では、演出制御部203は、主制御部10から図柄停止コマンド(図8に示すステップS15及びS21参照)を受信したか否かを判断する。ステップS36の判断結果が「NO」の場合、すなわち、図柄停止コマンドを受信していない場合には、演出制御部203は、ステップS35へ戻り、ステップS35以降の処理を繰り返す。
【0173】
一方、ステップS36の判断結果が「YES」の場合、すなわち、図柄停止コマンドを受信した場合には、演出制御部203は、ステップS37へ進む。また、ステップS35の判断結果が「YES」の場合、すなわち、変動演出の演出時間が経過した場合にも、演出制御部203は、ステップS37へ進む。ステップS37では、演出制御部203は、図柄表示部104やランプ制御部205に演出停止コマンドを送信した後、一連の処理を終了する。
【0174】
次に、演出制御部203による大当たり時の処理について、図11に示すフローチャートを参照して説明する。
まず、演出制御部203は、主制御部10から大当たり開始コマンド(図8に示すステップS16参照)を受信したか否かを判断する(図11のステップS41参照)。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、大当たり開始コマンドを受信すると、ステップS41の判断結果が「YES」となり、演出制御部203は、ステップS42へ進む。
【0175】
ステップS42では、演出制御部203は、図柄表示部104やランプ制御部205に大当たり開始処理コマンドを送信した後、ステップS43へ進む。ステップS43では、演出制御部203は、主制御部10からラウンド別の大当たりコマンド(図8に示すステップS17参照)を受信したか否かを判断する。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、ラウンド別の大当たりコマンドを受信すると、ステップS43の判断結果が「YES」となり、演出制御部203は、ステップS44へ進む。
【0176】
ステップS44では、演出制御部203は、図柄表示部104やランプ制御部205に受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信した後、ステップS45へ進む。ステップS45では、主制御部10から大当たり終了コマンド(図8に示すステップS18参照)を受信したか否かを判断する。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、大当たり終了コマンドを受信すると、ステップS45の判断結果が「YES」となり、演出制御部203は、ステップS46へ進む。ステップS46では、演出制御部203は、図柄表示部104やランプ制御部205に、受信した大当たり終了コマンドを送信した後、一連の処理を終了する。
【0177】
次に、ランプ制御部205によるランプ制御処理について説明する。ここでは、演出制御部203から図柄変動コマンドを受信した場合(図柄変動時)の処理について、図12に示すフローチャートを参照して説明する。
まず、ランプ制御部205は、演出制御部203から演出開始コマンド(図10に示すステップS34参照)を受信したか否かを判断する(図12のステップS51参照)。この判断結果が「NO」の場合には、ランプ制御部205は、同判断を繰り返す。そして、演出開始コマンドを受信すると、ステップS51の判断結果が「YES」となり、ランプ制御部205は、ステップS52へ進む。
【0178】
ステップS52では、ランプ制御部205は、例えば、ROM205bから予めコマンド別に記憶されているデータを読み出した後、ステップS53へ進む。ステップS53では、ランプ制御部205は、コマンド別の選択ルーチンを実行した後、ステップS54へ進む。ステップS54では、ランプ制御部205は、ランプデータをセットした後、ステップS55へ進む。
【0179】
ステップS55では、ランプ制御部205は、ランプ262にランプデータを出力した後、ステップS56へ進む。これにより、ランプ262は、ランプ制御部205から出力されたランプデータに基づいて、点灯又は消灯する。ステップS56では、ランプ制御部205は、演出制御部203から演出停止コマンド(図10に示すステップS37参照)を受信したか否かを判断する。この判断結果が「NO」の場合には、ランプ制御部205は、ステップS55へ戻り、ステップS55以降の処理を繰り返す。一方、ステップS56の判断結果が「YES」の場合、すなわち、演出制御部203から演出停止コマンドを受信した場合には、ランプ制御部205は、ステップS57へ進む。ステップS57では、ランプ制御部205は、ランプデータの出力を停止した後、一連の処理を終了する。
【0180】
以上説明したように、演出制御部203及びランプ制御部205は、主制御部10から送信される制御コマンドに基づいて各種の処理を行っている。賞球制御部204についても同様である。以下、演出制御部203、賞球制御部204及びランプ制御部205の総称として、「周辺部」を用いる。従って、図1に示す本実施の形態1に係る遊技機1の周辺部30は、演出制御部203の機能を有する演出制御手段、賞球制御部204の機能を有する賞球制御手段及びランプ制御部205の機能を有するランプ制御手段を備えている。
【0181】
ところで、上記のように、遊技機に対し行われる不正行為や、雑音等に起因する遊技機の誤動作により、遊技とは無関係に遊技媒体が払い出され遊技店が多大な損害を被ってしまうことがある。そこで、上記不正行為及び雑音等に起因する遊技機の誤動作を防止するため、本実施の形態1に係るパチンコ遊技機1では、演出制御部203の後段に後段部20を設けている。
そして、本実施の形態1においては、主制御部10は、所定のプログラムコードを用いて分割数分の個体認証データを生成するとともに、動作認証データを生成し、これら個体認証データ、動作認証データを制御コマンドに付加して後段部20又は演出制御部203に送信する。
【0182】
後段部20は、動作認証データから各動作検査値(コード)を用いて中間動作認証を行い、得られた中間動作認証結果と主制御部10より送信された個体認証データとに対して暗号化処理を施して得た中間認証情報を演出制御部203に送信する。そして、演出制御部203は、後段部20から受信した中間認証情報から得られた中間動作認証結果を用いて動作認証を行うとともに個体認証データを用いて個体認証を行って最終的な認証結果を得る。このように、後段部20及び演出制御部203を認証者、主制御部10を被認証者とした認証処理を行い、パチンコ遊技機1の正規性を認証する。この認証処理によって、上記不正行為を検知して、パチンコ遊技機1への不正を防止することができるとともに、外部から加えられる電気的な雑音や機械的な振動等に起因するパチンコ遊技機1の誤動作を低減することができる。
【0183】
以下、主制御部10と後段部20及び演出制御部203との間で行う認証に関する処理について説明する。以下、主制御部10及び後段部20の認証に関する処理について、図13及び図14に示すフローチャートを参照して説明するが、主制御部10と賞球制御部204との間の認証に関する処理も同様の手順で行われる。
【0184】
図13は、主制御部10による認証に関する処理の手順の一例を示すフローチャートである。主制御部10は通常の制御信号の送信を行いながら(ステップS61)、認証データの送信タイミングであるか否かを判断する(ステップS62)。この判断結果がNOの場合には、主制御部10は、ステップS61に戻り、再びステップS62の判断を行う。認証データの送信タイミングになると、すなわち、出力する制御コマンドが所定の制御コマンドとなると、ステップS62の判断結果が「YES」となり、主制御部10はステップS63に進み分割数を決定する。分割数の決定方法は任意である。また、分割数は認証データの送信タイミングとなる前に決定されてもよい。
【0185】
次に、主制御部10は、決定した分割数で所定のプログラムコードを分割し、分割された各データそれぞれに対して半群演算を行って個体検査値を算出し(ステップS64)、個体検査値に対して暗号化処理を施して個体認証データを生成する(ステップS65)。この処理により、分割数分の個体検査値及び個体認証データが生成される。なお、個体検査値の生成は、認証データの送信タイミングとなる前に行っておいてもよい。
【0186】
次に、主制御部10は、コードの生成に用いるパラメータを読み出して、読み出されたパラメータを用いてコードを生成する(ステップS66)。当該パラメータは前回の認証に関する処理の際に決められており、主制御部10と演出制御部203との間で予め決められた取り決めに従って変更されるものである。なお、初回のパラメータについては、予め主制御部10と演出制御部203との間で決められている。そして、主制御部10は、生成されたコードに対して暗号化処理を施し、動作認証データを生成する(ステップS67)。
【0187】
続いて、主制御部10は、個体検査値(個体認証データ)、コード(動作認証データ)を制御コマンドデータに付加して、演出制御部203に認証データ付制御信号を送信する(ステップS68)。認証データ付制御信号は連続して送信してもよいし、通常の制御信号に混ぜて送信してもよい。主制御部10は、全ての認証データ(個体認証データ及び動作認証データ)を送信するまで(ステップS69:NO)、ステップS68に戻り、認証データ付制御信号の送信を繰り返す。なお、主制御部10は、生成した認証データのうち未送信の認証データがある場合(ステップS69:NO)、新たに認証データを生成せず、必ずステップS68に戻り認証データ付制御信号の送信を行う。また、認証データを付加する制御コマンドは特に制限されず任意の制御コマンドでよい。そして、全ての認証データを送信すると(ステップS69:YES)、ステップS70へ進む。
【0188】
続いて、主制御部10は、ステップS63で決定した分割数が所定の値か否かを判断する(ステップS70)。所定の値は、本実施の形態1では奇数である。分割数が所定の値である場合(ステップS70:YES)、主制御部10は、次回の認証に関する処理の際にコードの生成に用いるパラメータを変更し(ステップS71)、一連の処理を終了する。一方、分割数が所定の値でない場合は(ステップS70:NO)、次回の認証に関する処理の際にコードの生成に用いるパラメータを変更せずに、そのまま一連の処理を終了する。
【0189】
次に、後段部20による認証に関する処理について説明する。図14は、後段部20による認証に関する処理の手順の一例を示すフローチャートである。まず、後段部20は、主制御部10から演出制御部203を介して送信された図6に示すような制御信号を受信したか否かを判断する(ステップS81)。この判断結果が「NO」の場合には、後段部20は、同判断を繰り返す。そして、主制御部10から送信された制御信号を受信すると(ステップS81:YES)、後段部20は、ステップS82へ進む。
【0190】
ステップS82では、後段部20は、受信した制御信号に動作認証データが含まれているか否かを判断する。受信した制御信号に動作認証データが含まれている場合(ステップS82:YES)、後段部20は、ステップS83へ進む。ここで、制御信号に動作認証データが含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ又は付随データを構成する任意のビット又は別個に設けられている識別データ(図示略)が各認証データが含まれていることを示しているか否かを判断することによって行う。なお、ステップS82の処理において、後段部20は、受信した制御信号に動作認証データが含まれているか否かを判断するのではなく、制御信号に含まれる制御コマンドデータが所定の制御コマンドの制御コマンドデータであるか否かを判断してもよい。
【0191】
受信した制御信号に動作認証データが含まれている場合(ステップS82:YES)、すなわち、受信した制御信号が動作認証データ付制御信号の場合、後段部20は、受信した動作認証データ付制御信号に含まれている動作認証データを抽出して復号化処理を行ってコードを抽出する(ステップS83)。後段部20は、抽出したコードを動作検査値用メモリに記憶して、ステップS84に進む。
【0192】
続いて、後段部20は、中間動作認証として、主制御部10から演出制御部203を介して送信された動作認証データから抽出したコードを用いた動作認証を行って、いずれかのコードに対応した動作認証が成功したか否かの認証結果と、認証が成功した場合のコードの種類を特定する(ステップS84)。そして後段部20は、動作認証が成功したか否かの認証結果と成功した際のコードの種類とを中間動作認証結果として生成する(ステップS85)。そして、後段部20は、生成した中間動作認証結果に暗号化処理を施して中間認証情報を生成する(ステップS86)。
【0193】
その後、後段部20は、生成した中間認証情報を含む中間認証情報信号を生成し、演出制御部203へ送信する(ステップS87)と共に、受信した制御コマンドデータ及び付随データを破棄した後(ステップS88)、一連の処理を終了する。
【0194】
また、ステップS82で、受信した制御信号に動作認証データが含まれていない場合、すなわち、受信した制御信号が通常の制御信号である場合(ステップS82:NO)、後段部20は、認証処理を行わず、受信した制御コマンドデータ及び付随データを破棄した後(ステップS88)、一連の処理を終了する。
【0195】
次に、演出制御部203による認証に関する処理について説明する。図15は、演出制御部203による認証に関する処理の手順の一例を示すフローチャートである。まず、演出制御部203は、主制御部10から制御信号を受信したか否かを判断する(ステップS101)。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、主制御部10から制御信号を受信すると、ステップS101の判断結果が「YES」となり、演出制御部203は、ステップS102へ進む。
【0196】
ステップS102では、演出制御部203は、受信した制御信号に各認証データが含まれているか否かを判断する。ステップS102の判断結果が「YES」の場合、すなわち、受信した制御信号に各認証データが含まれている場合、演出制御部203は、ステップS103へ進む。ここで、制御信号に各認証データが含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ又は付随データを構成する任意のビット又は別個に設けられている識別データ(図示略)が、各認証データが含まれていることを示しているか否かを判断するか、あるいは、制御信号に含まれる制御コマンドデータが、認証処理を行うために予め設定した所定の制御コマンドの制御コマンドデータであるか否かを判断してもよい。
【0197】
受信した制御信号に各認証データが含まれている場合(ステップS102:YES)、すなわち、受信した制御信号が認証データ付制御信号の場合、演出制御部203は、受信した認証データ付制御信号に含まれている個体認証データ及び動作認証データを抽出するとともに、個体認証データに復号化処理を行って個体検査値を抽出する(ステップS103)。演出制御部203は、抽出した個体検査値を個体検査値用メモリに、抽出した動作認証データを動作検査値用メモリに記憶して、ステップS104に進む。また、ステップS102で、受信した制御信号に認証データが含まれていない場合、すなわち、受信した制御信号が通常の制御信号である場合(ステップS102:NO)、演出制御部203は、認証処理を行わず、ステップS115へ進む。次に、演出制御部203は、動作検査値用メモリに記憶された動作認証データに制御コマンドデータ及び付随データを付加して動作認証データ付制御信号を生成し、動作認証データ付制御信号を後段部20へ送信し(ステップS104)、ステップS105へ進む。
【0198】
次に、演出制御部203は、個体認証処理として、個体検査値用メモリ内の全ての個体検査値に対して半群演算(結合処理)を行う(ステップS105)。個体検査値用メモリ内の検査値が1つの場合は、結合処理を行わずにそのままステップS106に進む。そして、演出制御部203は、結合処理の演算結果(結合結果)と保持している個体認証期待値とを照合して、結合結果と個体認証期待値とが一致するか否かを判断する(ステップS106)。結合結果と個体認証期待値とが一致する場合(ステップS106:YES)、演出制御部203は、主制御部10の個体認証が成功したと判断する(ステップS107)。
【0199】
次に、演出制御部203は、後段部20から送信される中間認証情報信号を受信したか否かを判断し(ステップS108)、受信するまで同判断を繰り返す。後段部20から送信された中間認証情報信号を受信すると(ステップS108:YES),演出制御部203は、中間認証情報信号が示す後段部20での中間認証情報信号を抽出し、動作検査値用メモリに記憶する。その後、演出制御部203は、動作認証処理として、動作検査値用メモリに記憶されている取得した中間動作認証結果を参照し、後段部20での中間動作認証結果が、動作認証の成功を示している場合には、特定したコードを確認する(ステップS109)。
【0200】
そして、演出制御部203は、予め期待値として保持していた動作認証期待値を読み出し、中間動作認証結果の後段部20で特定されたコードと動作認証期待値とが一致するか否かを照合する(ステップS110)。中間動作認証結果の後段部20で特定されたコードと動作認証期待値とが一致する場合(ステップS110:YES)、演出制御部203は、主制御部10及び後段部20の動作認証を成功とし(ステップS111)、ステップS107での個体認証結果と併せて、今回のパチンコ遊技機1の認証処理が成功したと判断し(ステップS112)、ステップS113へ進む。一方、中間動作認証結果が認証不成功の情報を有している場合、又は中間動作認証結果が認証成功の情報を有しているが特定されたコードと動作認証期待値とが一致しない場合(ステップS110:NO)、演出制御部203は、主制御部10及び後段部20の動作認証を不成功とし、今回のパチンコ遊技機1の認証処理が成功しなかったと判断し(ステップS117)、ステップS118へ進む。
【0201】
続いて、演出制御部203は、ステップS104で判明した結合数が所定の値か否かを判断する(ステップS113)。所定の値は、主制御部10での処理と同様、本実施の形態1では奇数である。結合数が所定の値である場合(ステップS113:YES)、演出制御部203は、次回の認証に関する処理の際に使用する動作認証期待値を変更し(ステップS114)、ステップS115へ進む。ステップS114では、動作認証期待値であるコードを特定するためのパラメータを変更することによって動作認証期待値を変更する。当該パラメータの変更の規則(ルール)及び初回のパラメータについては、前述したように主制御部10との間で決めておいたルールに従って行うものとする。そして、変更されたパラメータを用いて図5で示したような方法でコードを選択し、その種類を動作認証期待値として次回の認証に関する処理が行われるまで記憶させておく。
一方、結合数が所定の値でない場合は(ステップS113:NO)、次回の認証に関する処理の際に使用する動作認証期待値を変更せずに、ステップS115へ進む。ステップS115では、演出制御部203は、個体検査値用メモリ及び動作検査値用メモリに記憶されているデータを消去するとともに制御コマンドデータ及び付随データに基づく処理を行った後、一連の処理を終了する。
【0202】
一方、ステップS106において、結合結果と個体認証期待値が一致しない場合(ステップS106:NO)、演出制御部203は、所定数以上の個体認証データを受信するまで(ステップS116:NO)、ステップS101に戻り、個体認証データの受信及び個体検査値の結合処理を繰り返す。所定数以上の個体認証データを受信すると(ステップS116:YES)、演出制御部203は、主制御部10の個体認証を不成功とし、今回のパチンコ遊技機1の認証処理が成功しなかったと判断し(ステップS117)、ステップS118に進む。ステップS118では、演出制御部203は、制御コマンドデータ及び付随データに基づく処理を中断し、これらのデータを破棄するとともに、不正行為を報知するための報知信号を図柄表示部104やランプ制御部205、あるいはパチンコ遊技機1を管理するセンター制御装置などに送信した後、一連の処理を終了する。なお、ステップS118の処理では、演出制御部203は、データの破棄と報知のいずれか一方のみを行うようにしてもよい。
【0203】
図柄表示部104やランプ制御部205等は、受信した報知信号に基づいて、主制御部10に不正が行われたおそれがある旨を報知する演出を実行する。この演出は、例えば、図柄表示部104に通常出現しないキャラクターを出現させたり、通常出現するキャラクターを通常とは異なる方法で出現させるなどである。また、図柄表示部104の輝度を変えたり、色を変えたり、ランプ制御部205に対して所定のランプを表示制御するようにしてもよい。いずれにせよ、遊技店の従業員が当該パチンコ遊技機1の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
【0204】
また、報知信号に「大当たり中」や「確率変動中」などのパチンコ遊技機1の遊技状態に関する情報を含めてもよい。これらの遊技状態に関する情報に基づいて、パチンコ遊技機1を管理するセンター制御装置などによって不正行為が行われているか否かの判断を行ってもよい。例えば、大当たり中や確率変動中は入賞が集中していても正常である場合がある。よって、大当たり中や確率変動中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
【0205】
次に、図13、図14及び図15に示す処理のうち、主制御部10、後段部20及び演出制御部203での個体認証及び動作認証の具体例について説明する。図16−A〜Cは、主制御部10、演出制御部203及び後段部20の間のデータの流れの一例を示すシーケンス図である。
【0206】
まず、主制御部10は、ステップS121の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップS122へ進む。主制御部10は、例えば、今回の分割数を3と決定する。ステップS122では、主制御部10は、ROM10bの記憶領域に予め記憶されている所定のプログラムコードを3個のブロック(記憶領域)に分割し、各ブロックに記憶されているプログラムコードを用いて3つの個体検査値を生成し(ステップS122)、これらの個体検査値に暗号化処理を施し個体認証データを生成する(ステップS123)。
【0207】
次に、主制御部10は、コードの生成に用いるパラメータを読み出して当該パラメータに基づいて、コードを生成する(ステップS124)。具体的には、動作コード、相対時間コード又は同期コードのいずれかのコードであるが、当該コードを生成するためのパラメータは前回の認証に関する処理の際に決められている。なお、初回は予め後段部20及び演出制御部203との間で決められており、例えば3と決めておく。したがって、図5の選択例1に基づく生成方法の場合は余りが0となって動作コードとなる。そして、主制御部10は、生成された動作コードに対して暗号化処理を施し、動作認証データを生成し(ステップS125)、個体認証データと併せて認証データ付制御信号を生成し、演出制御部203に送信する(ステップS126)。その後、主制御部10は、ステップS121で決定した分割数に基づいて、次回の認証に関する処理の際にコードの生成に用いるパラメータを変更する(ステップS127)。ここでは、分割数=3であり奇数のため、次回用いるパラメータを例えば+1だけインクリメントして4に変更する。
【0208】
続いて、演出制御部203における処理について説明する。演出制御部203は、主制御部10から送信された認証データ付制御信号を受信すると(ステップS128)、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、個体認証データから個体検査値を抽出する(ステップS129)。そして、演出制御部203は、動作認証データに制御コマンドデータ及び付随データを付加して動作認証データ付制御信号を生成し、動作認証データ付制御信号を後段部20へ送信する(ステップS130)。その後、演出制御部203は、個体認証処理として、抽出した個体検査値に対して主制御部10と同一の半群演算を用いて結合処理を施す(ステップS131)。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、演出制御部203は、主制御部10の個体認証が成功したと判断する(ステップS132)。ここでは、3つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数=3と判明する。そして、演出制御部203は、後段部20より送信される中間認証情報信号を受信するまで認証に関する処理を保留する。
【0209】
次に、後段部20における処理について説明する。後段部20は、演出制御部203から送信された動作認証データ付制御信号を受信すると(ステップS133)、動作認証データ付制御信号から動作認証データを抽出するとともに、動作認証データからコードを抽出する(ステップS134)。そして、後段部20は、中間動作認証処理として、抽出したコードを用いて動作認証を行うとともに、認証が成功した際のコードを特定する(ステップS135)。
【0210】
続いて、後段部20は、動作認証が成功したことを示す情報と特定されたコード(ここでは動作コード)の情報とを用いて中間動作認証結果を生成し、この内容を含む中間認証情報を生成し(ステップS136)、中間認証情報を含む中間認証情報信号を演出制御部203に送信する(ステップS137)。なお、中間認証情報信号を演出制御部203に送信した後、後段部20は、メモリ内のデータを消去する。
【0211】
再び、演出制御部203における処理について説明する。演出制御部203は、後段部20から送信された中間認証情報信号を受信すると(ステップS138)、中間認証情報信号が示す後段部20での中間動作認証結果を抽出する。そして、演出制御部203は、動作認証処理として、抽出した中間動作認証結果を参照し、予め期待値として保持していた動作認証期待値と照合する(ステップS139)。動作認証期待値は、主制御部10でのパラメータからコードを生成するルールと同じルールで生成されたコードの種類を示す情報である。また、動作認証期待値であるコードは、前回の認証に関する処理の際にそれを生成するパラメータが決められていることによって予め記憶されている。なお、初回は予め主制御部10及び演出制御部203との間で決められており、例えば3とする。したがって、初回の動作認証期待値としては図5の選択例1のルールで決定される余りが0の動作コードを示す情報が記憶されている。今回は、後段部20より送信された中間動作認証結果及び動作認証期待値とも、動作コードを示す情報であるので両者は一致する結果となる(ステップS139)。演出制御部203は、中間動作認証結果と動作認証期待値とが一致すると、主制御部10及び後段部20の動作認証が成功したと判断し(ステップS139)、ステップS139での個体認証結果と併せて、パチンコ遊技機1の認証処理が成功したと判断する(ステップS140)。
【0212】
その後、演出制御部203は、ステップS131で判明した結合数に基づいて、次回の認証に関する処理の際に動作認証期待値として読み出す情報の種類を決定する。(ステップS141)。ここでは、結合数=3であり奇数のため、次回用いる動作認証期待値を、+1だけインクリメントとして4に変更し、その結果として余りが1の相対時間コードとする。ここまでが一連の選択処理の流れである。
【0213】
2回目の処理の説明に移る。
まず、主制御部10は、ステップS142の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップS143へ進む。主制御部10は、例えば、今回の分割数を4と決定する。ステップS143では、主制御部10は、ROM10bの記憶領域に予め記憶されている所定のプログラムコードを4個のブロック(記憶領域)に分割し、各ブロックに記憶されているプログラムコードを用いて4つの個体検査値を生成し(ステップS143)、これらの個体検査値に暗号化処理を施し個体認証データを生成する(ステップS144)。
【0214】
次に、主制御部10は、コードの生成に用いるパラメータを読み出して当該パラメータに基づいて、コードを生成する(ステップS145)。具体的には、動作コード、相対時間コード又は同期コードのいずれかのコードであるが、当該コードを生成するためのパラメータは前回の認証に関する処理の際に決められている。今回は、前回の認証処理で主制御部10及び演出制御部203との間で4と決められている。したがって、図5の選択例1に基づく生成方法の場合は余りが1となって相対時間コードとなる。そして、主制御部10は、生成された相対時間コードに対して暗号化処理を施し、動作認証データを生成し(ステップS146)、個体認証データと併せて認証データ付制御信号を生成し、後段部20に送信する(ステップS147)。その後、主制御部10は、ステップS142で決定した分割数に基づいて、次回の認証に関する処理の際のコードの生成に用いるパラメータを変更する(ステップS148)。ここでは、分割数=4であり偶数のため、次回用いるパラメータはそのまま4を維持する。
【0215】
続いて、演出制御部203における処理について説明する。演出制御部203は、主制御部10から送信された認証データ付制御信号を受信すると(ステップS149)、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、個体認証データから個体検査値を抽出する(ステップS150)。そして、演出制御部203は、動作認証データに制御コマンドデータ及び付随データを付加して動作認証データ付制御信号を生成し、動作認証データ付制御信号を後段部20へ送信する(ステップS151)。その後、演出制御部203は、個体認証処理として、抽出した個体検査値に対して主制御部10と同一の半群演算を用いて結合処理を施す(ステップS152)。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、演出制御部203は、主制御部10の個体認証が成功したと判断する(ステップS153)。ここでは、4つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数=4と判明する。その後、演出制御部203は、後段部20より送信される中間認証情報信号を受信するまで認証に関する処理を保留する。
【0216】
次に、後段部20における処理について説明する。後段部20は、演出制御部203から送信された動作認証データ付制御信号を受信すると(ステップS154)、動作認証データ付制御信号から操作認証データを抽出するとともに、動作認証データからコードを抽出する(ステップS155)。そして、後段部20は、中間動作認証処理として、抽出したコードを用いて動作認証を行うとともに、認証が成功した際のコードを特定する(ステップS156)。そして、後段部20は、動作認証が成功したことを示す情報と特定されたコード(ここでは相対時間コード)の情報とを用いて中間動作認証結果を生成し、この内容を含む中間認証情報を生成し(ステップS157)、中間認証情報を含む中間認証情報信号を演出制御部203に送信する(ステップS158)。なお、中間認証情報信号を演出制御部203に送信した後、後段部20は、メモリ内のデータを消去する。
【0217】
再び、演出制御部203における処理について説明する。演出制御部203は、後段部20から送信された中間認証情報信号を受信すると(ステップS159)、中間認証情報信号が示す後段部20での中間動作認証結果を抽出する。そして、演出制御部203は、動作認証処理として、抽出した中間動作認証結果を参照し、予め期待値として保持していた動作認証期待値と照合する(ステップS160)。動作認証期待値は、主制御部10でのパラメータからコードを生成するルールと同じルールで生成されたコードの種類を示す情報である。また、動作認証期待値であるコードは、前回の認証に関する処理の際にそれを生成するパラメータが決められていることによって予め記憶されている。今回は、前回の認証に関する処理で4と決められている。したがって、動作認証期待値としては図5の選択例1のルールで決定される余りが1の相対時間コードを示す情報が記憶されている。今回は、後段部20より送信された中間動作認証結果及び動作認証期待値とも、相対時間コードを示す情報であるので両者は一致する結果となる(ステップS160)。
【0218】
演出制御部203は、中間動作認証結果と動作認証期待値とが一致すると、主制御部10及び後段部20の動作認証が成功したと判断し(ステップS161)、ステップS153での個体認証結果と併せて、パチンコ遊技機1の認証処理が成功したと判断する(ステップS161)。その後、演出制御部203は、ステップS152で判明した結合数に基づいて、次回の認証に関する処理の際に動作認証期待値として読み出す情報の種類を決定する。(ステップS162)。ここでは、結合数=4であり偶数のため、次回用いる動作認証期待値は、パラメータを変更せずそのまま4を用いて、その結果として余りが1の相対時間コードとする。ここまでが一連の選択処理の流れである。
【0219】
3回目の処理の説明に移る。
まず、主制御部10は、ステップS163の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップS164へ進む。主制御部10は、例えば、今回の分割数を5と決定する。ステップS164では、主制御部10は、ROM10bの記憶領域に予め記憶されている所定のプログラムコードを5個のブロック(記憶領域)に分割し、各ブロックに記憶されているプログラムコードを用いて5つの個体検査値を生成し(ステップS164)、これらの個体検査値に暗号化処理を施し個体認証データを生成する(ステップS165)。
【0220】
次に、主制御部10は、コードの生成に用いるパラメータを読み出して当該パラメータに基づいて、コードを生成する(ステップS166)。具体的には、動作コード、相対時間コード又は同期コードのいずれかのコードであるが、当該コードを生成するためのパラメータは前回の認証に関する処理の際に決められている。今回は、前回の認証処理で後段部20及び演出制御部203との間で4と決められている。したがって、図5の選択例1に基づく生成方法の場合は余りが1となって相対時間コードとなる。そして、主制御部10は、生成された相対時間コードに対して暗号化処理を施し、動作認証データを生成し(ステップS167)、個体認証データと併せて認証データ付制御信号を生成し、演出制御部203に送信する(ステップS168)。その後、主制御部10は、ステップS163で決定した分割数に基づいて、次回の認証に関する処理の際のコードの生成に用いるパラメータを変更する(ステップS169)。ここでは、分割数=5であり奇数のため、次回用いるパラメータは+1だけインクリメントして5に変更する。
【0221】
続いて、演出制御部203における処理について説明する。後段部20は、主制御部10から送信された認証データ付制御信号を受信すると(ステップS170)、個体認証データから個体検査値を抽出する(ステップS171)。そして、演出制御部203は、動作認証データに制御コマンドデータ及び付随データを付加して動作認証データ付制御信号を生成し、動作認証データ付制御信号を後段部20へ送信する(ステップS172)。その後、演出制御部203は、個体認証処理として、抽出した個体検査値に対して主制御部10と同一の半群演算を用いて結合処理を施す(ステップS173)。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、演出制御部203は、主制御部10の個体認証が成功したと判断する(ステップS174)。ここでは、5つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数=5と判明する。その後、演出制御部203は、後段部20より送信される中間認証情報信号を受信するまで認証に関する処理を保留する。
【0222】
次に、後段部20における処理について説明する。後段部20は、演出制御部203から送信された動作認証データ付制御信号を受信すると(ステップS175)、動作認証データ付制御信号から動作認証データを抽出するとともに、動作認証データからコードを抽出する(ステップS176)。そして、後段部20は、中間動作認証処理として、抽出したコードを用いて動作認証を行うとともに、認証が成功した際のコードを特定する(ステップS177)。そして、後段部20は、動作認証が成功したことを示す情報と特定されたコード(ここでは相対時間コード)の情報とを用いて中間動作認証結果を生成し、これを含む中間認証情報を生成し(ステップS178)、中間認証情報を含む中間認証情報信号を演出制御部203に送信する(ステップS179)。なお、中間認証情報信号を演出制御部203に送信した後、後段部20は、メモリ内のデータを消去する。
【0223】
再び、演出制御部203における処理について説明する。演出制御部203は、後段部20から送信された中間認証情報信号を受信すると(ステップS180)、中間認証情報信号が示す後段部20での中間動作認証結果を抽出する。そして、演出制御部203は、動作認証処理として、抽出した中間動作認証結果を参照し、予め期待値として保持していた動作認証期待値と照合する(ステップS181)。動作認証期待値は、主制御部10でのパラメータからコードを生成するルールと同じルールで生成されたコードの種類を示す情報である。また、動作認証期待値であるコードは、前回の認証に関する処理の際にそれを生成するパラメータが決められていることによって予め記憶されている。今回は、前回の認証に関する処理で4と決められている。したがって、動作認証期待値としては図5の選択例1のルールで決定される余りが1の相対時間コードを示す情報が記憶されている。今回は、後段部20より送信された中間動作認証結果及び動作認証期待値とも、相対時間コードを示す情報であるので両者は一致する結果となる(ステップS181)。
【0224】
演出制御部203は、中間動作認証結果と動作認証期待値とが一致すると、主制御部10及び後段部20の動作認証が成功したと判断し(ステップS182)、ステップS174での個体認証結果と併せて、パチンコ遊技機1の認証処理が成功したと判断する(ステップS182)。その後、演出制御部203は、ステップS173で判明した結合数に基づいて、次回の認証に関する処理の際に動作認証期待値として読み出す情報の種類を決定する。(ステップS183)。ここでは、結合数=5であり奇数のため、次回用いる動作認証期待値は、パラメータを+1だけインクリメントして5に変更し、その結果として余りが2の同期コードとする。以上が一連の選択処理の流れである。
【0225】
なお、演出制御部203は、個体認証データを用いた個体認証処理について、個体認証データを受信する度に行うのではなく、複数の個体認証データを受信した時点で行うこととしてもよい。この場合、演出制御部203は、例えば、第1の制御コマンドの第1の制御コマンドデータ及び第1の付随データとともに第1の個体認証データを受信した場合、認証処理を行わずに、制御コマンドの第1の制御コマンドデータ及び第1の付随データに基づく処理を行う。そして、演出制御部203は、第2の制御コマンドの第2の制御コマンドデータ及び第2の付随データとともに第2の個体認証データを受信した場合、第2の制御コマンドの第2の制御コマンドデータ及び第2の付随データに基づく処理を行う前に、第1の個体認証データを用いた個体認証処理を行う。このとき、演出制御部203は、第1の個体認証データと第2の個体認証データの両方を用いて個体認証処理を行ってもよい。
【0226】
また、後段部20は、認証に関する処理を終了するごとに各メモリ内のデータを全て消去するのではなく、各メモリ内に最後に記憶された、すなわち主制御部10において最後に生成された動作検査値は消去せずに記憶させたままとし、メモリ内の他のデータは消去することとしてもよい。そして、今回の認証に関する処理の最後に生成された動作検査値と、次回の認証に関する処理で最初に生成される動作検査値とを用いて、中間動作認証を行う。これにより、今回の認証に関する処理と次回の認証に関する処理との間においても、パチンコ遊技機1の動作の継続性を認証することができるため、動作認証における認証強度を向上させることができる。
【0227】
また、本実施の形態1では、パチンコ遊技機1の認証処理として、演出制御部203で主制御10の個体認証を行うとともに、後段部20と演出制御部203の両方で動作認証を行っているので、主制御部10に対する上記不正行為及び雑音等に起因するパチンコ遊技機1の誤作動の他、後段部20に対する不正行為及び誤動作を検知することができる。例えば、後段部20と演出制御部203との間に、信号切替回路等が搭載された不正な制御部が介在した場合であっても、不正な制御部は、結合数に基づく演出制御部203での動作認証期待値の切り替えタイミングを知ることができないため、演出制御部203で不正行為を検知することができ、パチンコ遊技機1全体としてのセキュリティ強度を向上させることができる。
【0228】
また、本実施の形態1では、パチンコ遊技機1の認証処理として、個体認証を演出制御部203で行い、動作認証を後段部20と演出制御部203で行っている。つまり、認証処理の一部を後段部20が実行するので、演出制御部203を構成するCPUの処理負荷の増大を抑制することができる。このため、演出制御部203の処理速度が低下し、演出のための表示がスムーズに行われないなどの問題の発生を防止することができる。
【0229】
さらに、本実施の形態1では、主制御部10と演出制御部203との間に後段部20を設けているので、主制御部10を構成するCPU10aと演出制御部203を構成するCPU203aとの間の処理能力の差異や、主制御部10を構成するROM10bやRAM10cと演出制御部203を構成するROM203bやRAM203cとの間の記憶容量の差異を、後段部20において吸収することができる。これにより、主制御部10と演出制御部203との間で処理能力や記憶容量に差異があるにもかかわらず、主制御部10と演出制御部203との間のセキュリティレベルを維持することができる。
【0230】
例えば、主制御部10を構成するCPU10aの処理能力や主制御部10を構成するROM10bやRAM10cの記憶容量が、演出制御部203を構成するCPU203aの処理能力や演出制御部203を構成するROM203bやRAM203cの記憶容量と比較して余裕がある場合、主制御部10は、各検査値に対して複雑又は高度な暗号化処理を施して得られた認証データを後段部20に送信し、後段部20は、受信した上記認証データを用いて認証に関する処理を行い、得られた結果等に対して比較的簡易又は低度な暗号化処理を施して中間認証情報を生成し、演出制御部203に送信する。そして、演出制御部203は、中間認証情報を用いて認証に関する処理を行う。このように構成することにより、演出制御部203において複雑又は高度な復号化方式を採用しなくても、パチンコ遊技機1として高度のセキュリティレベルを維持することができる。
【0231】
また、演出制御部203を構成するCPU203aの処理能力や演出制御部203を構成するROM203bやRAM203bの記憶容量が、主制御部10を構成するCPU10aの処理能力や主制御部10を構成するROM10bやRAM10cの記憶容量と比較して余裕がある場合、主制御部10は、各検査値を認証データとしてそのままあるいは比較的簡易又は低度な暗号化処理を施して得られた認証データを後段部20に送信し、後段部20は、受信した上記認証データを用いて認証に関する処理を行い、得られた結果等に対して複雑又は高度な暗号処理を施して、中間認証情報を生成し、演出制御部203に送信する。そして、演出制御部203は、中間認証情報を用いて認証に関する処理を行う。このように構成することにより、主制御部10において複雑又は高度な暗号化方式を採用しなくても、パチンコ遊技機1として高度のセキュリティレベルを維持することができる。
【0232】
このようなことは、主制御部10及び演出制御部203をそれぞれ構成するCPU10a及び203aの処理能力や、ROM10b及び203b並びにRAM10c及び203cの記憶容量における余裕に差異がある場合だけでなく、このような差異はないが、主制御部10を構成するCPU10a又は演出制御部203を構成するCPU203aが、それぞれ実行するプログラムの一方の全部又は一部が変更された場合(バージョンアップなど)や、各検査値又は中間認証情報等のデータ構造等において、主制御部10と演出制御部203との間で形式的な差異が発生した場合についても同様に当てはまる。
【0233】
<<実施の形態2>>
以下、本発明の実施の形態2に係るパチンコ遊技機1について説明する。本実施の形態2のパチンコ遊技機1は、後段部20及び周辺部30(演出制御部203)での認証に関する処理が、実施の形態1のパチンコ遊技機1と異なる。具体的には、実施の形態1では、後段部20で中間的な動作認証を行い、周辺部30(演出制御部203)で個体認証及び最終的な動作認証を行っていたのに対し、実施の形態2では、後段部20で個体認証を行い、周辺部30(演出制御部203)で動作認証を行う。これ以外の点は、主制御部10での認証に関する処理を含め、基本的に実施の形態1のパチンコ遊技機1と同様である。以下、実施の形態1のパチンコ遊技機と同一の部材には同一の符号を付してその詳細な説明は省略し、異なる点について重点的に説明する。
【0234】
主制御部10は、基本的に前述した実施の形態1と同様の動作を行う。
【0235】
後段部20は、期待値記憶手段21と、中間認証手段22を備えている。期待値記憶手段21は、主制御部10を構成するデータ記憶手段11に記憶されている所定のデータを用いて2項演算を行って得られた演算値を個体認証期待値として予め記憶している。中間認証手段22は、主制御部10から送信された個体認証データを用いた個体認証の結果と後述する切替情報を用いて、周辺部30にて個体認証及び動作認証の両面から最終的な認証判断を行う際に用いる中間認証情報を生成する。
【0236】
具体的には、中間認証手段22は、まず、主制御部10から送信された個体認証データを用いて個体認証を行う。より詳細には、制御コマンドに付加されて主制御部10から送信された個体認証データから個体検査値を抽出し、抽出した個体検査値に対して、主制御部10と同一の結合法則を満たす2項演算を行った演算結果と、期待値記憶手段21に記憶されている個体認証期待値とが一致するか否かによって個体認証が成功したか否かを判断する。また、中間認証手段22は、個体認証が成功したときの個体検査値の数(結合数)に基づいて、次回の演出制御部203で行われる動作認証において使用する動作認証期待値の種類を、今回の動作認証で使用している動作認証期待値から切り替えるか否かの情報(以下、切替情報という)を生成する。
【0237】
その後、後段部20は、個体認証結果と切替情報とを併せて中間認証情報として周辺部30へ送信する。
【0238】
一方、周辺部30は、期待値記憶手段31と、認証手段32とを備えている。期待値記憶手段31は、主制御部10で生成されるコードに基づいて動作認証を行う際の照合処理等に用いる各コードに対応する動作の継続性を示す情報を特定するための情報を動作認証期待値として予め記憶している。認証手段32は、主制御部10から送信された認証データ付制御信号に含まれる動作認証データを用いて動作認証を行うとともに、後段部20から送信された中間認証情報に含まれる個体認証結果とを併せて、個体認証及び動作認証の両面から最終的なパチンコ遊技機1の正規性を認証する。
【0239】
具体的には、認証手段32は、まず、主制御部10から送信された動作認証データを用いて動作認証を行う。より詳細には、主制御部10より送信された動作認証データからコードを抽出し、抽出したコードに含まれる主制御部10の動作の継続性を示す情報が所定の条件を満たすか否かで主制御部10の動作認証を行う。具体的には、動作コードを用いた認証として、動作コードが機能番号を用いて生成されている場合は、複数の動作認証データが正規の順序で配列されているかを判断する照合処理を行う。また、動作コードが認証回数を用いて生成されている場合は、認証回数に施した暗号化処理と同じ暗号化処理を施した値である動作認証用期待値とが一致するか否かを判断する照合処理を行う。一方、相対時間コードを用いた認証では、受信した相対時間コードの値が時系列的に増加しているか否かを判断することにより行う。また、同期コードを用いた認証は、同期コードに含まれるパケット情報の相関関係がパケット情報の種類に応じた所定の相関関係であるか否かを判断することにより動作認証が成功した否かを判断する。また、認証手段32は、後段部20より送信された切替情報に基づいて、次回の動作認証において使用する動作認証期待値の種類を選択する。
【0240】
その後、周辺部30は、後段部20より送信された中間認証情報に含まれる個体認証結果、及び認証手段32での動作認証結果のいずれもが成功であった場合に、パチンコ遊技機1の正規性を認証し、認証結果に応じた処理を行う。
【0241】
<後段部>
以下、後段部20における認証に関する処理について詳細に説明し、それ以外の処理は実施の形態1と同様であるため、説明を省略する。
[1]制御信号の受信
後段部20は、主制御部10から、制御コマンドデータ及び付随データのみからなる通常の制御信号、又は、制御コマンドデータ及び付随データに加え個体認証データが含まれている個体認証データ付制御信号を受信する。この際、動作認証データも含めた認証データ付制御信号を受信するようにしてもよい。なお、後段部20は、通常の制御信号を受信した場合には、制御コマンドデータ及びその付随データを破棄する。
[2]個体認証データの抽出
後段部20は、個体認証データ付制御信号から個体認証データを抽出する。次に後段部20は、抽出した個体認証データから個体検査値を抽出し、RAM20cの所定の記憶領域である個体検査値用メモリに記憶する。
【0242】
[3]個体認証
後段部20は、個体検査値用メモリ内に記憶されているすべての個体検査値に対して、実施の形態1の周辺部30で行った個体認証処理を同様の半群演算を行うことによって、主制御部10の個体認証処理を行う。当該個体認証の細部については実施の形態1における周辺部30で行われた個体認証と同様であるため、ここでの説明は省略する。
【0243】
[4]切替情報の生成
後段部20は、個体認証が成功したときの結合数に基づく所定の取り決めに従って、演出制御部203が保持する動作認証期待値に対する切替情報を生成する。切替情報は、次回の演出制御部203で行われる動作認証において使用する動作認証期待値の種類を、今回の動作認証で使用している動作認証期待値からどのように変更するかを示した情報である。ここで、所定の取り決めとは、実施の形態1と同様に、結合数が奇数の場合は動作認証期待値の種類を変更するとする切替情報を生成し、結合数が偶数の場合は現在用いている動作認証期待値の種類を継続するとする切替情報を生成するものである。なお、切替情報に対し所定の演算を施して暗号化した値を利用してもよいし、切替情報の代わりに結合数そのものや結合数に所定の演算を施して暗号化した値を利用してもよい。
【0244】
[5]中間認証情報の生成
後段部20は、[3]の処理で得られた個体認証結果、[4]の処理で得られた切替情報、又はこれらに対して主制御部10で認証データを生成した際と同様の暗号化処理を施したものを用いて、中間認証情報を生成する。後段部20は、[3]の処理において、個体認証が成功を示す結果を生成した場合は、その旨を示す中間認証情報を生成し、個体認証が成功しなかったことを示す結果を生成した場合は、その旨を示す中間認証情報を生成する。
【0245】
[6]中間認証情報信号の送信
後段部20は、中間認証情報の内容を示す中間認証情報信号を演出制御部203に送信するとともに、個体検査値用メモリに記憶されている各データを消去する。なお、上記の個体認証期待値を予め記憶する手段、及び個体認証を実行する手段は、例えば、図1に示す期待値記憶手段21、及び中間認証手段22に対応させることができる。
【0246】
<演出制御部>
以下、周辺部30の一つである演出制御部203が認証に関する処理を行う場合について詳細に説明する。それ以外は実施の形態1と同様であるため、説明を省略する。
[1]制御信号の受信
演出制御部203は、主制御部10から送信された制御信号が、制御コマンドデータ及び付随データのみからなる通常の制御信号か、制御コマンドデータ及び付随データに加えて、中間認証情報が付加された中間認証情報付制御信号かを判断する。受信した制御信号が通常の制御信号である場合、演出制御部203は、制御コマンドデータ及び付随データに基づいて、実施の形態1と同様に、演出に関する処理を行い、認証に関する処理を終了する。一方、受信した制御信号が中間認証情報付制御信号である場合、演出制御部203は、認証に関する処理を継続するとして下記[2]〜[4]の処理を実行する。
【0247】
[2]個体認証結果、動作認証データの抽出
演出制御部203は、主制御部10から送信された認証データ付制御信号から個体認証データ及び動作認証データを抽出する。次に、演出制御部203は、抽出した個体認証データを、RAM203cの所定の記憶領域である個体検査値用メモリに記憶する。また、演出制御部203は、動作認証データ生成時に使用した暗号化処理に対応する復号化処理を抽出した動作認証データに施してコードを抽出し、RAM203cの所定の記憶領域である動作検査値用メモリに記憶する。また、演出制御部203は、個体検査値用メモリ内の個体認証データに制御コマンドデータ及び付随データを付加して個体認証データ付制御信号を生成し、個体認証データ付制御信号を後段部20へ送信する。なお、演出制御部203は、主制御部10から送信された認証データ付制御信号から動作認証データのみを抽出し、その直後に動作認証データ以外を個体認証データ付制御信号として後段部20へ送信してもよい。
【0248】
[3]動作認証
演出制御部203は、動作検査値用メモリに記憶されているコードを用いて、主制御部10の制御コマンド出力に対する動作認証を行う。当該動作認証の細部については実施の形態1における後段部20で行われた動作認証と同様である。
【0249】
[4]中間認証情報信号の受信、動作認証期待値の変更
演出制御部203は、後段部20より送信された中間認証情報信号から個体認証結果を抽出し、後段部20での個体認証結果を確認する。また、演出制御部203は、中間認証情報信号に含まれる切替情報に従って、次回の認証に関する処理の際に読み出す動作認証期待値の種類を変更する。本実施の形態2における切替情報は、結合数が奇数の場合は動作認証期待値の種類を変更し、結合数が偶数の場合は現在用いている動作認証期待値の種類を継続するものである。
【0250】
[5]認証結果に基づく処理
演出制御部203は、 [3]の処理で得られた動作認証結果、及び[4]の処理で得られた個体認証結果を用いて、パチンコ遊技機1の正規性を個体認証と動作認証の両面から認証し、最終的な認証判断を行う。[3]の処理で得られた動作認証結果、及び[4]の処理で得られた個体認証結果のいずれもが、認証成功を示す結果であった場合、演出制御部203は、主制御部10から受信した認証データ付制御信号に含まれた制御コマンドデータ及び付随データに基づく処理を実行するとともに、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去し、認証に関する処理を終了する。一方、[3]の処理で得られた動作認証結果、又は[4]の処理得られた個体認証結果のいずれかが、認証不成功を示す結果であった場合、制御コマンドデータ及び付随データに基づく処理を中断し、これらのデータを破棄するとともに、不正行為を検知したとする報知等の処理を行い、個体検査値用メモリ及び動作検査値用メモリに記憶されている各データを消去し、認証に関する処理を終了する。なお、上記の動作認証期待値を予め記憶する手段、及び動作認証を実行する手段は、例えば、図1に示す期待値記憶手段31、及び認証手段32に対応させることができる。
【0251】
次に、後段部20による認証に関する処理について説明する。図17は、後段部20による認証に関する処理の手順の一例を示すフローチャートである。まず、後段部20は、主制御部10から演出制御部203を介して送信された図6に示すような制御信号を受信したか否かを判断する(ステップS191)。この判断結果が「NO」の場合には、後段部20は、同判断を繰り返す。そして、主制御部10から演出制御部203を介して送信された制御信号を受信すると(ステップS191:YES)、後段部20は、ステップS192へ進む。
【0252】
ステップS192では、後段部20は、受信した制御信号に個体認証データが含まれているか否かを判断する。受信した制御信号に個体認証データが含まれている場合(ステップS192:YES)、後段部20は、ステップS193へ進む。ここで、制御信号に個体認証データが含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ又は付随データを構成する任意のビット又は別個に設けられている識別データ(図示略)が個体認証データが含まれていることを示しているか否かを判断することによって行う。なお、ステップS192の処理において、後段部20は、受信した制御信号に個体認証データが含まれているか否かを判断するのではなく、制御信号に含まれる制御コマンドデータが所定の制御コマンドの制御コマンドデータであるか否かを判断してもよい。
【0253】
受信した制御信号に個体認証データが含まれている場合(ステップS192:YES)、すなわち、受信した制御信号が個体認証データ付制御信号の場合、後段部20は、受信した個体認証データ付制御信号に含まれている個体認証データを抽出して復号化処理を行って個体検査値を抽出する(ステップS193)。後段部20は、抽出した個体検査値を個体検査値用メモリに記憶して、ステップS194に進む。
【0254】
次に、後段部20は、個体認証処理として、個体検査値用メモリ内の全ての個体検査値に対して半群演算(結合処理)を行う(ステップS194)。個体検査値用メモリ内の検査値が1つの場合は、結合処理を行わずにそのままステップS195へ進む。そして、後段部20は、結合処理の演算結果(結合結果)と保持している個体認証期待値とを照合して、結合結果と個体認証期待値とが一致するか否かを判断する(ステップS195)。結合結果と個体認証期待値とが一致する場合(ステップS195:YES)、後段部20は、主制御部10の個体認証が成功したと判断し、個体認証が成功したことを示す個体認証結果を生成する(ステップS196)。
【0255】
続いて、後段部20は、ステップS194で判明した結合数が所定の値か否かを判断する(ステップS197)。所定の値は、実施の形態1と同様、奇数である。結合数が所定の値である場合(ステップS197:YES)、後段部20は、次回の演出制御部203で行われる動作認証において使用する動作認証期待値の種類を変更することを示す切替情報を生成し(ステップS198)、ステップS200へ進む。一方、結合数が所定の値でない場合は(ステップS197:NO)、次回の演出制御部203で行われる動作認証において使用する動作認証期待値の種類を変更せず継続することを示す切替情報を生成し(ステップS199)、ステップS200へ進む。
【0256】
一方、ステップS195において、結合結果と個体認証期待値が一致しない場合(ステップS195:NO)、後段部20は、所定数以上の個体認証データを受信するまで(ステップS202:NO)、ステップS191に戻り、個体認証データの受信及び個体検査値の結合処理を繰り返す。所定数以上の個体認証データを受信すると(ステップS202:YES)、後段部20は、主制御部10の個体認証が不成功と判断し、個体認証が不成功を示す個体認証結果を生成した後(ステップS203)、ステップS200へ進む。
【0257】
後段部20は、生成した個体認証結果と、変更又は継続を示す切替情報とを併せて、中間認証情報を生成する(ステップS200)。その後、後段部20は、生成した中間認証情報の内容を示す中間認証情報信号を生成し、演出制御部203へ送信する(ステップS201)と共に、個体検査値用メモリに記憶されているデータを消去するとともに、受信した制御コマンドデータ及び付随データを破棄した後(ステップS204)、一連の処理を終了する。
【0258】
また、ステップS192で、受信した制御信号に個体認証データが含まれていない場合、すなわち、受信した制御信号が通常の制御信号である場合(ステップS192:NO)、後段部20は、認証処理を行わずにステップS204に進んで上述した処理を行って、一連の処理を終了する。
【0259】
次に、演出制御部203による認証に関する処理について説明する。図18は、演出制御部203による認証に関する処理の手順の一例を示すフローチャートである。まず、演出制御部203は、主制御部10から制御信号を受信したか否かを判断する(ステップS211)。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、主制御部10から制御信号を受信すると、ステップS211の判断結果が「YES」となり、演出制御部203は、ステップS212へ進む。
【0260】
ステップS212では、演出制御部203は、受信した制御信号に認証データが含まれているか否かを判断する。ステップS212の判断結果が「YES」の場合、すなわち、受信した制御信号に認証データが含まれている場合、演出制御部203は、ステップS213へ進む。ここで、制御信号に認証データが含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ又は付随データを構成する任意のビット又は別個に設けられている識別データ(図示略)が、認証データが含まれていることを示しているか否かを判断するか、あるいは、制御信号に含まれる制御コマンドデータが、認証処理を行うために予め設定した所定の制御コマンドの制御コマンドデータであるか否かを判断してもよい。
【0261】
受信した制御信号に認証データが含まれている場合(ステップS212:YES)、すなわち、受信した制御信号が認証データ付制御信号の場合、演出制御部203は、受信した認証データ付制御信号に含まれている個体認証結果及び動作認証データを抽出するとともに、動作認証データに対して復号化処理を行ってコードを抽出する(ステップS213)。演出制御部203は、抽出した個体認証データを個体検査値用メモリに、抽出したコードを動作検査値用メモリに記憶して、ステップS214へ進む。そして、演出制御部203は、個体検査値用メモリに記憶された個体認証データに制御コマンド及び付随データを付加して個体認証データ付制御信号を生成し、個体認証データ付制御信号を後段部20へ送信し(ステップS214)、ステップS215に進む。また、ステップS212で、受信した制御信号に認証データが含まれていない場合、すなわち、受信した制御信号が通常の制御信号ある場合(ステップS212:NO)、演出制御部203は、認証処理を行わず、ステップS224へ進む。
【0262】
ステップS215では、演出制御部203は、動作認証処理として、動作検査値用メモリに記憶されているコードを用いた動作認証を行い、認証が成功した際のコードを特定する。そして演出制御部203は、予め期待値として保持していた動作認証期待値であるコードの種類に関する情報を読み出し、特定されたコードの種類を示す情報と一致するか否かを判断する(ステップS216)。その結果、特定されたコードを示す情報と動作認証期待値とが一致する場合(ステップS216:YES)、演出制御部203は、動作認証に成功したと判断する(ステップS217)。
【0263】
次に、演出制御部203は、後段部20から送信される中間認証情報信号を受信したか否かを判断し(ステップS218)、受信するまで同判断を繰り返す。後段部20から送信された中間認証情報信号を受信すると(ステップS218:YES)、演出制御部203は、中間認証情報信号が示す後段部20での中間認証情報信号を抽出し、個体検査値用メモリに記憶する。その後、演出制御部203は、個体認証処理として、個体検査値用メモリに記憶されている取得した中間認証結果を参照し、後段部20での中間認証結果が、個体認証の成功を示しているかどうかを判断する(ステップS219)。その結果、個体認証が成功の場合には(ステップS219:YES)、ステップS217での動作認証結果と併せて、今回のパチンコ遊技機1の認証処理が成功したと判断して、ステップS220へ進む。
【0264】
続いて、演出制御部203は、動作検査値用メモリに記憶されている切替情報を参照し(ステップS220)、切替情報が、次回の動作認証において使用する動作認証期待値の種類を変更する情報か否かを判断する(ステップS222)。切替情報が変更を示すものである場合(ステップS222:YES)、演出制御部203は、次回の動作認証において使用する動作認証期待値の種類を実施の形態1で説明したようにパラメータを変更し(ステップS223)、ステップS224へ進む。一方、切替情報が変更を示すものでない場合(ステップS222:NO)、演出制御部203は、次回の動作認証において使用する動作認証期待値の種類を変更せず、ステップS224へ進む。ステップS224では、演出制御部203は、個体検査値用メモリ及び動作検査値用メモリに記憶されているデータを消去するとともに制御コマンドデータ及び付随データに基づく処理を行った後、一連の処理を終了する。
【0265】
一方、ステップS216において、受信したコードを用いた動作認証が成功した際に特定されたコードを示す情報と動作認証期待値が一致しない場合(ステップS216:NO)、演出制御部203は、動作認証を不成功とし、今回のパチンコ遊技機1の認証処理が成功しなかったと判断し(ステップS225)、ステップS226へ進む。また、ステップS219において、個体認証が不成功で会った場合(ステップS219:NO)も、今回のパチンコ遊技機1の認証処理が成功しなかったと判断し(ステップS225)、ステップS226へ進む。ステップS226では、演出制御部203は、制御コマンドデータ及び付随データに基づく処理を中断し、これらのデータを破棄するとともに、不正行為を報知するための報知信号を図柄表示部104やランプ制御部205、あるいはパチンコ遊技機1を管理するセンター制御装置などに送信した後、一連の処理を終了する。なお、ステップS225の処理では、演出制御部203は、データの破棄と報知のいずれか一方のみを行うようにしてもよい。
【0266】
次に、図13、図17及び図18に示す処理のうち、主制御部10、後段部20及び演出制御部203での個体認証及び動作認証の具体例について説明する。図19−A〜Cは、主制御部10、後段部20、及び演出制御部203の間のデータの流れの一例を示すシーケンス図である。
【0267】
まず、主制御部10は、ステップS231の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップS232へ進む。主制御部10は、例えば、今回の分割数を3と決定する。ステップS232では、主制御部10は、ROM10bの記憶領域に予め記憶されている所定のプログラムコードを3個のブロック(記憶領域)に分割し、各ブロックに記憶されているプログラムコードを用いて3つの個体検査値を生成し(ステップS232)、これらの個体検査値に暗号化処理を施し個体認証データを生成する(ステップS233)。
【0268】
次に、主制御部10は、コードの生成に用いるパラメータを読み出して当該パラメータに基づいて、コードを生成する(ステップS234)。具体的には、動作コード、相対時間コード又は同期コードのいずれかのコードであるが、当該コードを生成するためのパラメータは前回の認証に関する処理の際に決められている。なお、初回は予め主制御部10及び演出制御部203との間で決められており、例えば3と決めておく。したがって、図5の選択例1に基づく生成方法の場合は余りが0となって動作コードとなる。そして、主制御部10は、生成された動作コードに対して暗号化処理を施し、動作認証データを生成し(ステップS235)、個体認証データと併せて認証データ付制御信号を生成し、演出制御部203に送信する(ステップS236)。その後、主制御部10は、ステップS231で決定した分割数に基づいて、次回の認証に関する処理の際にコードの生成に用いるパラメータを変更する(ステップS237)。ここでは、分割数=3であり奇数のため、次回用いるパラメータを例えば+1だけインクリメントして4に変更する。
【0269】
続いて、演出制御部203における処理について説明する。演出制御部203は、主制御部10から送信された認証データ付制御信号を受信すると(ステップS238)、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、動作認証データからコードを抽出する(ステップS239)。そして、演出制御部203は、個体認証データに制御コマンドデータ及び付随データを付加して個体認証データ付制御信号を生成し、個体認証データ付制御信号を後段部20へ送信する(ステップS240)。
【0270】
そして、演出制御部203は、動作認証処理として、抽出したコードを用いて動作認証を行って認証が成功した際のコードを特定する(ステップS241)。その後、特定したコードと予め保持する動作認証期待値とを照合する(ステップS242)。動作認証期待値は、主制御部10でのパラメータからコードを生成するルールと同じルールで生成されたコードの種類を示す情報である。また、動作認証期待値であるコードは、前回の認証に関する処理の際にそれを生成するパラメータが決められていることによって予め記憶されている。なお、初回のパラメータは3と決められている。したがって、動作認証期待値としては図5の選択例1のルールで決定される余りが0の動作コードを示す情報が記憶されている。今回は、後段部20より送信されたコードを用いて行った動作認証のうち認証が成功した際に特定されたコード及び動作認証期待値とも、動作コード示すものであるので両者は一致する結果となる(ステップS242)。そして、演出制御部203は、後段部20より送信される中間認証情報信号を受信するまで認証に関する処理を保留する。
【0271】
続いて、後段部20における処理について説明する。後段部20は、演出制御部203から送信された個体認証データ付制御信号を受信すると(ステップS243)、個体認証データから個体検査値を抽出する(ステップS244)。そして、後段部20は、個体認証処理として、抽出した個体検査値対して主制御部10と同一の半群演算を用いて結合処理を施す(ステップS245)。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、後段部20は、主制御部10の個体認証が成功したと判断する(ステップS246)。ここでは、3つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数=3と判明する。
【0272】
次に、後段部20は、ステップS240で判明した結合数に基づいて、次回の演出制御部203で行われる動作認証において使用する動作認証期待値の種類を選択する切替情報を生成する(ステップS247)。ここでは、結合数=3であり奇数のため、次回用いる動作認証期待値の種類を変更することを示す切替情報を生成する。そして、後段部20は、個体認証結果と切替情報とを併せて中間認証情報を生成し(ステップS248)、中間認証情報の内容を示す中間認証情報信号を演出制御部203に送信する(ステップS249)。
【0273】
再び、演出制御部203における処理について説明する。演出制御部203は、後段部20から送信された中間認証情報信号を受信すると(ステップS250)、中間認証情報信号から個体認証結果と切替情報を抽出する(ステップS251)。そして、演出制御部203は、個体認証結果が成功を示すことを確認すると、後段部20での個体認証は成功であり、ステップS241で得られた動作認証結果とあわせて、今回のパチンコ遊技機1の認証処理が成功したと判断する(ステップS252)。そして、後段部20より送信された切替情報を参照し、切替情報が、次回の動作認証において使用する動作認証期待値の種類を変更する情報か否かを判断する。そして、今回は、動作認証期待値は動作コードを示す情報であり、切替情報は変更を示すものを受信したため、ここでは、次回用いる動作認証期待値を、+1だけインクリメントとして4に変更し、その結果として余りが1の相対時間コードとする。すなわち、次回用いる動作認証期待値の種類を動作コードから相対時間コードに変更する(ステップS253)。ここまでが一連の選択処理の流れである。
【0274】
2回目の処理の説明に移る。まず、主制御部10は、ステップS261の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップS262へ進む。主制御部10は、例えば、今回の分割数を4と決定する。ステップS262では、主制御部10は、ROM10bの記憶領域に予め記憶されている所定のプログラムコードを4個のブロック(記憶領域)に分割し、各ブロックに記憶されているプログラムコードを用いて4つの個体検査値を生成し(ステップS262)、これらの個体検査値に暗号化処理を施し個体認証データを生成する(ステップS263)。
【0275】
次に、主制御部10は、コードの生成に用いるパラメータを読み出して当該パラメータに基づいて、コードを生成する(ステップS264)。具体的には、動作コード、相対時間コード又は同期コードのいずれかのコードであるが、当該コードを生成するためのパラメータは前回の認証に関する処理の際に決められている。今回は、前回の認証処理で主制御部10及び演出制御部203との間で4と決められている。したがって、図5の選択例1に基づく生成方法の場合は余りが1となって相対時間コードとなる。そして、主制御部10は、生成された相対時間コードに対して暗号化処理を施し、動作認証データを生成し(ステップS265)、個体認証データと併せて認証データ付制御信号を生成し、演出制御部203に送信する(ステップS266)。その後、主制御部10は、ステップS261で決定した分割数に基づいて、次回の認証に関する処理の際のコードの生成に用いるパラメータを変更する(ステップS267)。ここでは、分割数=4であり偶数のため、次回用いるパラメータはそのまま4を維持する。
【0276】
続いて、演出制御部203における処理について説明する。演出制御部203は、主制御部10から送信された認証データ付制御信号を受信すると(ステップS268)、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、動作認証データからコードを抽出する(ステップS269)。そして、演出制御部203は、個体認証データに制御コマンドデータ及び付随データを付加して個体認証データ付制御信号を生成し、個体認証データ付制御信号を後段部20へ送信する(ステップS270)。
【0277】
そして、演出制御部203は、動作認証処理として、抽出したコードを用いて動作認証を行って認証が成功した際のコードを特定する(ステップS271)。その後、特定したコードと予め保持する動作認証期待値とを照合する(ステップS272)。動作認証期待値は、主制御部10でのパラメータからコードを生成するルールと同じルールで生成されたコードの種類を示す情報である。また、動作認証期待値であるコードは、前回の認証に関する処理の際にそれを生成するパラメータが決められていることによって予め記憶されている。なお、今回は、前回の認証処理で主制御部10及び演出制御部203との間で4と決められている。したがって、動作認証期待値としては図5の選択例1のルールで決定される余りが1の相対時間コードを示す情報が記憶されている。今回は、後段部20より送信されたコードを用いて行った動作認証のうち認証が成功した際に特定されたコード及び動作認証期待値とも、相対時間コード示すものであるので両者は一致する結果となる(ステップS272)。そして、演出制御部203は、後段部20より送信される中間認証情報信号を受信するまで認証に関する処理を保留する。
【0278】
続いて、後段部20における処理について説明する。後段部20は、演出制御部203から送信された個体認証データ付制御信号を受信すると(ステップS273)、個体認証データから個体検査値を抽出する(ステップS274)。そして、後段部20は、個体認証処理として、抽出した個体検査値対して主制御部10と同一の半群演算を用いて結合処理を施す(ステップS275)。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、後段部20は、主制御部10の個体認証が成功したと判断する(ステップS276)。ここでは、4つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数=4と判明する。
【0279】
次に、後段部20は、ステップS270で判明した結合数に基づいて、次回の演出制御部203で行われる動作認証において使用する動作認証期待値の種類を選択する切替情報を生成する(ステップS277)。ここでは、結合数=4であり偶数のため、次回用いる動作認証期待値の種類を変更しない(継続する)ことを示す切替情報を生成する。そして、後段部20は、個体認証結果と切替情報とを併せて中間認証情報を生成し(ステップS278)、中間認証情報の内容を示す中間認証情報信号を演出制御部203に送信する(ステップS279)。
【0280】
再び、演出制御部203における処理について説明する。演出制御部203は、後段部20から送信された中間認証情報信号を受信すると(ステップS280)、中間認証情報信号から個体認証結果と切替情報を抽出する(ステップS281)。そして、演出制御部203は、個体認証結果が成功を示すことを確認すると、後段部20での個体認証は成功であり、ステップS271で得られた動作認証結果とあわせて、今回のパチンコ遊技機1の認証処理が成功したと判断する(ステップS282)。そして、後段部20より送信された切替情報を参照し、切替情報が、次回の動作認証において使用する動作認証期待値の種類を変更する情報か否かを判断する。そして、今回は、動作認証期待値は相対時間コードを示す情報であり、切替情報は継続を示すものを受信したため、ここでは、次回用いる動作認証期待値を、そのまま継続して4とし、その結果として余りが1の相対時間コードとする。すなわち、次回用いる動作認証期待値の種類を相対時間コードのまま継続する(ステップS283)。ここまでが一連の選択処理の流れである。
【0281】
3回目の処理の説明に移る。まず、主制御部10は、ステップS291の処理へ進み、任意の方法で今回の個体認証処理に用いる分割数を決定した後、ステップS292へ進む。主制御部10は、例えば、今回の分割数を5と決定する。ステップS292では、主制御部10は、ROM10bの記憶領域に予め記憶されている所定のプログラムコードを5個のブロック(記憶領域)に分割し、各ブロックに記憶されているプログラムコードを用いて5つの個体検査値を生成し(ステップS292)、これらの個体検査値に暗号化処理を施し個体認証データを生成する(ステップS293)。
【0282】
次に、主制御部10は、コードの生成に用いるパラメータを読み出して当該パラメータに基づいて、コードを生成する(ステップS294)。具体的には、動作コード、相対時間コード又は同期コードのいずれかのコードであるが、当該コードを生成するためのパラメータは前回の認証に関する処理の際に決められている。なお、今回は前回の認証に関する処理において4と決められている。したがって、図5の選択例1に基づく生成方法の場合は余りが1となって相対時間コードとなる。そして、主制御部10は、生成された相対時間コードに対して暗号化処理を施し、動作認証データを生成し(ステップS295)、個体認証データと併せて認証データ付制御信号を生成し、演出制御部203に送信する(ステップS296)。その後、主制御部10は、ステップS291で決定した分割数に基づいて、次回の認証に関する処理の際にコードの生成に用いるパラメータを変更する(ステップS297)。ここでは、分割数=5であり奇数のため、次回用いるパラメータを例えば+1だけインクリメントして5に変更する。
【0283】
続いて、演出制御部203における処理について説明する。演出制御部203は、主制御部10から送信された認証データ付制御信号を受信すると(ステップS298)、認証データ付制御信号から個体認証データ及び動作認証データを抽出するとともに、動作認証データからコードを抽出する(ステップS299)。そして、演出制御部203は、個体認証データに制御コマンドデータ及び付随データを付加して個体認証データ付制御信号を生成し、個体認証データ付制御信号を後段部20へ送信する(ステップS300)。
【0284】
そして、演出制御部203は、動作認証処理として、抽出したコードを用いて動作認証を行って認証が成功した際のコードを特定する(ステップS301)。その後、特定したコードと予め保持する動作認証期待値とを照合する(ステップS302)。動作認証期待値は、主制御部10でのパラメータからコードを生成するルールと同じルールで生成されたコードの種類を示す情報である。また、動作認証期待値であるコードは、前回の認証に関する処理の際にそれを生成するパラメータが決められていることによって予め記憶されている。なお、今回は、前回の認証処理で主制御部10及び演出制御部203との間で5と決められている。したがって、動作認証期待値としては図5の選択例1のルールで決定される余りが1の相対時間コードを示す情報が記憶されている。今回は、後段部20より送信されたコードを用いて行った動作認証のうち認証が成功した際に特定されたコード及び動作認証期待値とも、相対時間コード示すものであるので両者は一致する結果となる(ステップS302)。そして、演出制御部203は、後段部20より送信される中間認証情報信号を受信するまで認証に関する処理を保留する。
【0285】
続いて、後段部20における処理について説明する。後段部20は、演出制御部203から送信された個体認証データ付制御信号を受信すると(ステップS303)、個体認証データから個体検査値を抽出する(ステップS304)。そして、後段部20は、個体認証処理として、抽出した個体検査値対して主制御部10と同一の半群演算を用いて結合処理を施す(ステップS305)。その後、結合結果を予め保持していた個体認証期待値と照合し、個体認証期待値と一致すると、後段部20は、主制御部10の個体認証が成功したと判断する(ステップS306)。ここでは、5つの個体検査値を用いて結合処理を行った際に個体認証期待値と一致し、今回の結合数=5と判明する。
【0286】
次に、後段部20は、ステップS300で判明した結合数に基づいて、次回の演出制御部203で行われる動作認証において使用する動作認証期待値の種類を選択する切替情報を生成する(ステップS307)。ここでは、結合数=5であり奇数のため、次回用いる動作認証期待値の種類を変更することを示す切替情報を生成する。そして、後段部20は、個体認証結果と切替情報とを併せて中間認証情報を生成し(ステップS308)、中間認証情報の内容を示す中間認証情報信号を演出制御部203に送信する(ステップS309)。
【0287】
再び、演出制御部203における処理について説明する。演出制御部203は、後段部20から送信された中間認証情報信号を受信すると(ステップS310)、中間認証情報信号から個体認証結果と切替情報を抽出する(ステップS311)。そして、演出制御部203は、個体認証結果が成功を示すことを確認すると、後段部20での個体認証は成功であり、ステップS301で得られた動作認証結果とあわせて、今回のパチンコ遊技機1の認証処理が成功したと判断する(ステップS312)。そして、後段部20より送信された切替情報を参照し、切替情報が、次回の動作認証において使用する動作認証期待値の種類を変更する情報か否かを判断する。そして、今回は、動作認証期待値は相対時間コードを示す情報であり、切替情報は変更を示すものを受信したため、ここでは、次回用いる動作認証期待値を、+1だけインクリメントして5に変更し、その結果として余りが2の同期コードとする。すなわち、次回用いる動作認証期待値の種類を相対時間コードから同期コードに変更する(ステップS313)。以上が一連の選択処理の流れである。
【0288】
以上説明したように、本実施の形態2のパチンコ遊技機1は、後段部20及び周辺部30(演出制御部203)での認証に関する処理が、実施の形態1のパチンコ遊技機1と異なり、後段部20で個体認証、周辺部30(演出制御部203)で動作認証を行うものであり、本実施の形態1と同様の効果を得ることができる。
【0289】
<<実施の形態3>>
上記実施の形態1,2では、後段部20と演出制御部203とは別個のハードウェア構成とする例を示したが、これに限定されない。
例えば、実施の形態1に関していえば、後段部20を構成するCPU20aが有する機能と演出制御部203を構成するCPU203aが有する機能を1個のCPUが有するように構成するとともに、後段部20を構成するROM20bに記憶されているプログラムコードやそれ以外の固定データと演出制御部203を構成するROM203bに記憶されているプログラムコードやそれ以外の固定データを1個のROMに記憶するように構成してもよい。この場合、後段部20と演出制御部203との間におけるデータの送受信は、例えば、後段部20を構成するRAM20cのワークエリアとして機能するとともに、演出制御部203を構成するRAM203cのワークエリアとして機能する1個のRAMにおいて、ある記憶領域から他の記憶領域へのデータの複写や参照すべきアドレスの書き換えなどにより実現することができる。
【0290】
但し、上記のような場合、1個のCPUが2個のCPUの機能を備えることになるので、一般的には処理負荷が増大する。そこで、例えば、デュアルCPUの構成により後段部20の処理を行う、などが考えられる。
【0291】
本実施の形態3のパチンコ遊技機1は後段部20と演出制御部203とを1個のソフトウェアで構成したので、実施の形態1及び2において得られる効果の他に、さらに以下に示す効果が得られる。
【0292】
1.並行開発及び情報セキュリティ向上
演出制御部と後段部とがソフトウェア構成上分離独立している場合は、演出制御部及び後段部をそれぞれ並行して個別に開発することが可能であり、これにより、例えば、以下に示す効果が得られる。
【0293】
[1]演出制御部と後段部とについて同時に設計、開発を行うことができるため、並行開発できない場合と比較して、製品の開発期間を短縮することができる。
[2]演出制御部と後段部とについてそれぞれ独立した開発体制をとることができるため、演出制御部と後段部の設計製造検証を行う際の業務上の機密情報(例えば、認証処理の方式など、遊技に関する処理など)を、それぞれの開発体制外に流出させる可能性を減らすことができる。
【0294】
2.検証の容易性
演出制御部と後段部とがソフトウェア構成上分離独立している場合は、演出制御部及び後段部に対しそれぞれ個別に検証を行うことが可能である。したがって、演出制御部と後段部とが分離されていないものに対する検証を行う場合と比較し、それぞれの機能が狭い機能で閉じているため、短期間かつ少人数で検証を行うことができる。
【0295】
3.認証用のハードウェアとして、演出制御部とは別個のCPU又は専用集積回路などを設けることができない場合であっても、ソフトウェアで容易に認証機能を追加することができる。
【0296】
4.演出制御部の処理負荷軽減
後段部に実装する認証機能を演出制御部のソフトウェアで実装する場合、演出制御部の処理負荷が増大することになる。そこで、演出制御部を構成するCPUとしてデュアルコアCPUを用いることが考えられる。認証処理を実現するための処理負荷をデュアルコアCPUを利用することによって、処理の分散を図ることが可能になるため、演出制御部の既存の遊技処理をできる限り影響しないように、認証機能を追加することができ、認証機能の実現が容易になる。
【0297】
<<その他の実施の形態>>
本発明の具体的な構成は上記各実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても本発明に含まれる。
例えば、実施の形態1では、演出制御部203の後段に後段部20を設ける例を示したが、これに限定されず、賞球制御部204の後段に後段部20を設けてもよい。この場合、賞球制御部204は報知手段を備えていないが、主制御部10と賞球制御部204との間は双方向通信が可能であるので、認証が不成功となった場合には、賞球制御部204から主制御部10に対して、認証が不成功となった旨のデータを送信するように構成してもよい。そして、主制御部10は、上記不成功となった旨のデータを演出制御部203に送信し、演出制御部203において、不成功となった旨のデータに基づいて、不正行為が行われたことを報知させる。
また、実施の形態1〜3に係るパチンコ遊技機1では、後段部20をCPU、ROM、RAM等を備えて構成しているが、同様の機能を持たせたLSI等の集積回路として実現するようにしてもよい。
【0298】
また、実施の形態1〜3に係るパチンコ遊技機1では、主制御部10と、後段部20及び周辺部30は少なくとも別個のCPU、ROM、RAM等を備えて構成され、各部の機能は別個のプログラム上で実現されているが、一つのミドルウェアで、各部の機能を実現するように構成してもよい。これにより、遊技機の新機種開発において、汎用性の高いミドルウェアとして認証機能を付加させることができ、他機種への水平展開が容易となり機種ごとの設計変更は軽微なもので済むため、低コスト化の実現に貢献することができる。
【0299】
また、実施の形態1〜3に係るパチンコ遊技機1において、主制御部10は、個体検査値を生成するための所定のデータの分割方法として、乱数生成回路や乱数生成プログラムなどによって生成された値を分割数として決定し、所定のデータを決定された分割数の個数に分割していたが、これに限定されない。主制御部10は、個体検査値生成の対象となる各データブロックを構成するデータの量(以下、データ量という)を決定し、主制御部10は、所定の記憶領域内の所定のデータを、決定したデータ量の分だけ分割する。そして、主制御部10は、データ量で分割されたそれぞれのデータブロックごとに半群演算を行って、主制御部10を認証するための分割したデータブロック数分の個体検査値を生成する。すなわち、分割して得られたデータブロックの数が分割数になる。データ量の決定方法は、乱数生成回路や乱数生成プログラムの他、主制御部10の他の処理において生成される値を所定のタイミングで参照し、その値をデータ量としたりする方法が考えられる。
【0300】
この場合、主制御部10は、1つの個体検査値を生成するごとに、その生成に用いるデータ量を決定すると、主制御部10の所定の記憶領域内の所定のデータの全てを用いて、個体検査値の生成が完了するまで、データ量の決定と個体検査値の生成とを繰り返すこととなる。このとき、いくつの個体検査値が生成されるか(すなわち、分割数がいくつになるか)は、所定の記憶領域内の所定のデータの全てを用いて個体検査値を生成するまで判明しない。このように、分割数そのものを決定するのではなく、個体検査値の生成に用いるデータ量を決定することで、分割数が不正に窃取される可能性を低減することができる。なお、主制御部10は、1つの個体検査値を生成するごとにデータ量を決定するのではなく、予め個体検査値の生成に用いるデータ量を決定しておいてもよい。また、全ての個体検査値の生成に用いるデータ量を等しくするようにしてもよく、このときはデータ量を決定した時点で分割数が予測可能となる。
【0301】
また、実施の形態1〜3に係るパチンコ遊技機1は、所定の半群演算を用いて個体検査値を生成し、所定の個体認証期待値を用いて個体認証処理を行うとしたが、これに限定されない。主制御部10は、複数の半群演算を予め用意しておき、今回の分割数に基づいて、複数の半群演算の中から次回の個体検査値の生成に用いる1個の半群演算を選択するように構成し、後段部20又は周辺部30は、主制御部10における半群演算の切り替えに対応して、今回の結合数に基づいて、次回の結合処理時に用いる半群演算及び個体認証期待値を切り替えるように構成してもよい。具体的には、主制御部10は、例えば、今回の分割数が奇数の場合は次回の半群演算を今回用いたものと異なるものを選択し、今回の分割数が偶数の場合は次回の半群演算を今回用いたものと同一のものを選択する。また、後段部20又は周辺部30は、今回の結合数が奇数の場合には次回の結合処理時の半群演算及び個体認証期待値を今回用いたものと異なるものを選択し、今回の結合数が偶数の場合には次回の結合処理時に用いる半群演算及び個体認証期待値を今回用いたものと同一のものを選択する。この場合、初回の半群演算については、主制御部10と後段部20又は周辺部30との間で同一の方式を利用するものと予め設定しておく。分割数は主制御部10のみが知り得る値であり、結合数は個体認証が成功して初めて後段部20又は周辺部30が知り得る値である。よって、不正行為者は、主制御部10における半群演算や後段部20又は周辺部30における個体認証期待値などの切り替えタイミングを知ることができない。これにより、主制御部10、後段部20又は周辺部30の間の処理に対する認証強度を向上させることができる。
【0302】
また、本実施の形態1〜3に係るパチンコ遊技機1では、所定のタイミング、例えば、所定の制御コマンドを送信する場合にのみ個体認証データ及び動作認証データを付加するようにしてもよい。この場合、主制御部10は、制御コマンドが所定の制御コマンドか否かを判断し、所定の制御コマンドの場合に個体認証データ及び動作認証データを生成する。主制御部10は、生成した個体認証データ及び動作認証データを制御コマンドに付加した認証データ付制御信号を後段部20又は周辺部30に送信する。なお、主制御部10は、生成した個体認証データ及び動作認証データの全てを送信するまでは、所定のタイミング(例えば、所定の制御コマンドの送信タイミング)になっても新たに個体認証データ及び動作認証データを生成せずに認証データ付制御信号の送信を行う。このように、所定のタイミングのときにのみ個体認証データ及び動作認証データを生成することにより、認証データの生成回数を制限することができ、認証処理による処理負荷を低減することができる。
【0303】
ここで、所定の制御コマンドとは、パチンコ遊技機1の通電中において、パチンコ遊技機1の動作(例えば、初期化動作や演出動作あるいは客待ちデモンストレーションなど)を指示するために、各種の制御コマンドの中から任意に選定した特定の制御コマンドをいう。所定の制御コマンドとは、より具体的に例を挙げれば、大当たり状態の継続中に送信される大当たりコマンド、大当たり状態の処理を開始させるための大当たり開始コマンド、大当たり状態の処理を終了させるための大当たり終了コマンド、周辺部30に大当たり前のリーチ状態の処理を実行させるための大当たりリーチコマンド、周辺部30に電源投入時の処理を実行させるための電源投入コマンド、周辺部30に非遊技状態におけるデモ表示を実行させるための客待ちデモコマンド、周辺部30に非遊技状態におけるデモ表示を停止させるための客待ちデモ停止コマンド、周辺部30に抽選時の抽選結果がはずれの場合の処理を実行させるためのはずれコマンド、普通電動役物(電動チューリップ)の開放抽選やいわゆるフェイクと呼ばれる大当たりと同様に特別電動役物が短時間だけ開放するような小当たり状態の継続中に送信される小当たりコマンドなどをいう。所定の制御コマンドとしては、上記のものの他、例えば、電源オフコマンド、はずれリーチコマンド、はずれ非リーチコマンド、ラウンド開始コマンド、ラウンド終了コマンドなどがある。
【0304】
このように構成されるパチンコ遊技機1では、所定の制御コマンドを送信するタイミングで、主制御部10の正当性を認証するための認証データを用いて認証処理を行う。認証処理を行うことによって主制御部10や周辺部30の処理負荷が増大するのは、所定の制御コマンドの制御コマンドデータ301を受信している期間のみであり、主制御部10や周辺部30の処理負荷が増大する割合を抑えることができる。
【0305】
また、所定の制御コマンドの制御コマンドデータにのみ認証データが付加されるので、周辺部30が実行するプログラムには所定の制御コマンドに関する認証処理を追加するだけでよい。したがって、周辺部30が実行するプログラム全体にわたる新たなタイミングの設計する必要がないので、すべての制御コマンドの制御コマンドデータに認証データが付加される場合と比較して、認証機能を追加するタイミングの設計、機能の実装、機能の検証など、より簡単に、少ない作業工数で実現することができる。
【0306】
また、主制御部10は、後段部20に所定の制御コマンドを送信する場合のみ、制御コマンドデータに個体認証データ又は動作認証データの少なくともいずれかを付加する場合、認証処理が行われるのは所定の制御コマンドの制御コマンドデータの送信時のみであるので、主制御部10や周辺部30の処理負荷が認証処理によって増大する割合を抑えることができる。所定の制御コマンドが大当たりコマンドである場合、大当たりコマンドは大当たり中のラウンドごとに送信されるため、大当たり状態にある一定期間中に複数回の認証処理を行うこととなり、認証処理の確度を向上させることができる。
【0307】
また、所定の制御コマンドが大当たり開始コマンドや大当たり終了コマンドである場合、大当たり開始コマンドや大当たり終了コマンドは、大当たり状態を開始又は終了させる制御コマンドであり、他の制御コマンドと比較して、送信頻度が低い。したがって、制御信号の中から認証データが抽出される可能性を低減することができる。また、制御信号の中から認証データが抽出されても、取得できるサンプル数が少ないため、認証データが解析される危険性を低減することができる。
【0308】
また、所定の制御コマンドが大当たりリーチコマンドである場合、大当たりリーチは、大当たりと比較して発生頻度が高い。また、大当たりリーチの発生タイミングはランダム性を有する。したがって、大当たりリーチコマンドデータを送信する際に認証処理を行うことにより、時間軸上における認証処理の実施位置が分散される。そして、このように時間軸上における認証処理の実施位置を分散することによって、認証処理の信頼性を向上させることができる。これは、認証データの通信不具合や認証データの改ざんが一定の期間行われた場合であっても、時間をおいてランダムに認証処理が行われるので、通信不具合や改ざんの影響を回避できる可能性が高くなるためである。
【0309】
さらに、所定の制御コマンドが電源投入コマンドである場合、電源投入コマンドは、パチンコ遊技機1の電源の投入時やリセット時など、パチンコ遊技機1の初期化処理を行う際に送信される。初期化処理は、パチンコ遊技機1のメインの処理である遊技(ゲーム進行)関連処理とは異なる処理区分に分類される。したがって、本発明のように、初期化処理中に認証処理を組み込めば、遊技関連処理中に認証処理を組み込む場合と比較して、プログラム設計やテストにかかる工程(工数)が増加する割合を低減することができる。すなわち、初期化処理中に認証処理を組み込むことによって、開発コストの低減や品質管理上のメリットを得ることができる。また、初期化処理中に認証処理を組み込めば、パチンコ遊技機1の起動直後に認証処理を行うため、遊技店が閉店した後に不正が行われた場合などであっても、顧客が入店する前に不正を検出することができる。よって、不正による被害が発生する危険性を低減することができる。
【0310】
また、所定の制御コマンドが客待ちデモコマンド又は客待ちデモ停止コマンドである場合、客待ちデモコマンド又は客待ちデモ停止コマンドは、パチンコ遊技機1が非遊技状態、すなわち、パチンコ遊技機1のメインの処理である遊技(ゲーム進行)関連処理が行われていない場合に送信されるので、認証処理による処理負荷の増大が遊技関連処理に影響を与えることがない。このため、主制御部10や周辺部30(演出制御部203)が高度な処理能力を有していない場合や、遊技関連処理の処理負荷が大きいパチンコ遊技機1であっても、認証処理機能を追加することができる。また、客待ちデモコマンド及び客待ちデモ停止コマンドは、顧客がパチンコ遊技機1を操作する前に発行されるコマンドであるので、顧客がパチンコ遊技機1を操作する前に不正行為を検出することができる。
【0311】
さらに、所定の制御コマンドがはずれコマンドである場合、「はずれ」は、抽選時の抽選結果として最も発生頻度が高いので、はずれコマンドデータの送信時に制御コマンドに認証データ303を付加することとすれば、抽選から認証処理への流れをパチンコ遊技機1の処理の基本形とみなすことができる。一方、大当たりリーチ時や大当たり時の処理は、パチンコ遊技機1の機種ごとに演出方法が変更されるなど、特殊な処理に区分されるが、はずれ時の処理はパチンコ遊技機1の機種ごとの差異が少ない。このため、本実施の形態1のように、はずれ時の処理に認証処理を組み込めば、認証処理の流れに大きな変更を加えることなく、パチンコ遊技機1の本体を他の機種に再利用することが可能となる。
【0312】
また、周辺部30は、後段部20に所定の制御コマンドを送信する場合のみ、制御コマンドに個体認証データ又は動作認証データを付加するようにしてもよい。この場合、後段部20の認証処理が行われるのは所定の制御コマンドの送信時のみであるので、周辺部30の処理負荷が認証処理によって増大する割合を抑えることができる。また、この場合、後段部20が実行するプログラムには所定の制御コマンドに関する認証処理を追加するだけでよい。したがって、後段部20が実行するプログラム全体にわたる新たなタイミングの設計する必要がないので、すべての制御コマンドに個体認証データ又は動作認証データが付加される場合と比較して、認証機能を追加するタイミングの設計、機能の実装、機能の検証など、より簡単に、少ない作業工数で実現することができる。
【0313】
また、実施の形態1〜3に係るパチンコ遊技機1は、主制御部10は、個体認証データ及び動作認証データが付加された認証データ付制御信号の他に、制御コマンドデータ及び付随データに個体認証データのみを付加した個体認証データ付制御信号や、制御コマンドデータ及び付随データに動作認証データのみを付加した動作認証データ付制御信号を各々後段部20又は周辺部30に送信するようにしてもよい。また、後段部20又は周辺部30は、中間認証情報を構成する各種認証結果や各種認証データを別の制御信号に付加し、それぞれ別々に送信してもよい。
【0314】
また、実施の形態1〜3に係るパチンコ遊技機1は、制御コマンドを送信する際に、個体認証データ及び動作認証データを制御コマンドに付加すると説明したが、本発明に係る遊技機はこれに限定されない。主制御部10は、制御コマンドとは異なるデータ信号に認証データを付加して後段部20又は周辺部30に送信してもよい。例えば、任意のデータ信号に対して所定時間毎に認証データを付加して送信するなど、主制御部10と後段部20又は周辺部30との間で認証データを送受信するタイミングを予め設定しておけばよい。また、主制御部10は、認証データが付加されたデータ信号を、その旨が分かるような、制御コマンドとは異なるデータ構造となるように出力すればよい。
また、主制御部10は、認証データをデータ信号に付加せずに、認証データそのものをデータ信号として送信してもよい。
【0315】
また、上記各実施の形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、上記各実施の形態と同様に構成することにより、上記各実施の形態と同様の効果を得ることができる。
また、上記各実施の形態は、その目的及び構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
【符号の説明】
【0316】
1 パチンコ遊技機
10 主制御部
10a,20a,203a,204a CPU
10b,20b,203b,204b ROM
10c,20c,203c,204c RAM
11 データ記憶手段
12 決定手段
13 個体検査値生成手段
14 動作検査値生成手段
20 後段部
21 期待値記憶手段
22 中間認証手段
30 周辺部
31 期待値記憶手段
32 認証手段
203 演出制御部
203d VRAM
204 賞球制御部
301 制御コマンドデータ
302 付随データ
303 個体認証データ
304 動作認証データ
304a コード
305 中間認証情報
310 通常の制御信号
320 認証データ付制御信号
330 中間認証情報付制御信号

【特許請求の範囲】
【請求項1】
制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機であって、
前記主制御部は、
所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する個体検査値生成手段と、前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する動作検査値生成手段とを備え、
前記個体検査値と前記動作検査値とを前記周辺部に送信し、
前記後段部は、
前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、前記主制御部より前記周辺部を介して送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第1の動作認証手段を備え、
前記第1の動作認証手段が得た認証結果と特定された前記動作検査値を前記周辺部に送信し、
前記周辺部は、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と、前記主制御部より送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段と、前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段と、前記後段部より送信された前記第1の動作認証手段が得た認証結果と、前記第1の動作認証手段で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果とから、前記主制御部の動作の継続性を認証する第2の動作認証手段とを備え、
前記個体認証手段が得た認証結果及び前記第2の動作認証手段が得た認証結果に基づいた処理を行う
ことを特徴とする遊技機。
【請求項2】
制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機であって、
前記主制御部は、
所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する個体検査値生成手段と、前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する動作検査値生成手段とを備え、
前記個体検査値と前記動作検査値とを前記周辺部に送信し、
前記後段部は、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と、前記主制御部より前記周辺部を介して送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段とを備え、
前記個体認証手段が得た認証結果を前記周辺部に送信し、
前記周辺部は、
前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段と、前記主制御部より送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第1の動作認証手段と、前記第1の動作認証手段で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果から前記主制御部の動作の継続性を認証する第2の動作認証手段を備え、
前記個体認証手段が得た認証結果及び前記第2の動作認証手段が得た認証結果に基づいた処理を行う
ことを特徴とする遊技機。
【請求項3】
前記動作検査値生成手段は、前記主制御部の動作順序を示す情報を用いて構成される動作コード、計時情報から設定される基準値に対する相対時間情報を用いて構成される相対時間コード、又は前記主制御部からの前記制御コマンドの送信に伴って出力されるパケット情報を用いて構成される同期コードを含む前記複数種類の動作検査値の中から、所定のパラメータを用いた演算を行って一の動作検査値を生成することを特徴とする請求項1又は2に記載の遊技機。
【請求項4】
前記動作検査値生成手段は、前回の認証に関する処理において決定された前記分割数に基づいて決定される前記所定のパラメータを用いて前記一の動作検査値を生成し、
前記第2の記憶手段は、前記2項演算の演算結果に基づいて決定される所定のパラメータを用いて生成される動作検査値を記憶する
ことを特徴とする請求項1乃至3のいずれかに記載の遊技機。
【請求項5】
前記主制御部は、前記データ記憶手段に記憶されている前記所定のデータを分割する分割数を決定する決定手段をさらに備えることを特徴とする請求項1乃至4のいずれかに記載の遊技機。
【請求項6】
前記個体検査値生成手段は、複数の2項演算が実行可能であり、前記分割数に基づいて、前記複数の2項演算の中から次回の前記個体検査値の生成に用いる2項演算を選択し、
前記演算値記憶手段は、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記複数の2項演算をそれぞれ行って得られた複数の演算値を記憶し、
前記個体認証手段は、複数の2項演算が実行可能であり、前記主制御部の個体の認証が成功した際に前記選択した2項演算の対象となった前記個体検査値の数に基づいて、前記複数の2項演算から次回の前記主制御部の個体の正当性を認証する際に用いる2項演算を選択する
ことを特徴とする請求項5に記載の遊技機。
【請求項7】
前記主制御部は、前記データ記憶手段に記憶されている前記所定のデータを分割するデータ量を決定する決定手段をさらに備えることを特徴とする請求項1乃至4のいずれかに記載の遊技機。
【請求項8】
前記個体検査値生成手段は、複数の2項演算が実行可能であり、前記所定のデータを前記データ量で分割して得られた前記所定のデータのブロックの数に基づいて、前記複数の2項演算の中から次回の前記個体検査値の生成に用いる2項演算を選択し、
前記演算値記憶手段は、前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記複数の2項演算をそれぞれ行って得られた複数の演算値を記憶し、
前記個体認証手段は、複数の2項演算が実行可能であり、前記主制御部の個体の認証が成功した際に前記選択した2項演算の対象となった前記個体検査値の数に基づいて、前記複数の2項演算から次回の前記主制御部の個体の正当性を認証する際に用いる2項演算を選択する
ことを特徴とする請求項7に記載の遊技機。
【請求項9】
前記個体検査値、前記動作検査値、前記個体認証手段が得た認証結果、又は前記第1の動作認証手段が得た認証結果の少なくともいずれか一つを、前記制御コマンド又は前記主制御部が出力する該制御コマンド以外のデータ信号に付加して、前記主制御部から前記後段部へ、又は前記後段部から前記周辺部へ送信することを特徴とする請求項1乃至8のいずれかに記載の遊技機。
【請求項10】
前記個体検査値生成手段は、前記個体検査値を第1の暗号化方式で暗号化し、
前記動作検査値生成手段は、前記動作検査値を第2の暗号化方式で暗号化し、
前記個体認証手段は、前記個体検査値生成手段で暗号化された前記個体検査値を前記第1の暗号化方式に対応する復号化方式で復号化して前記主制御部の個体の正当性を認証し、
前記第1の動作認証手段は、前記動作検査値生成手段で暗号化された前記動作検査値を前記第2の暗号化方式に対応する復号化方式で復号化して前記主制御部の動作の継続性を認証し、得らえた認証結果を前記第3の暗号化方式で暗号化し、
前記第2の動作認証手段は、前記第1の動作認証手段で暗号化された前記第1の動作認証手段が得た前記認証結果を前記第3の暗号化方式に対応する復号化方式で復号化して前記主制御部の動作の継続性を認証し、
前記動作認証手段は、前記動作検査値生成手段で暗号化された前記動作検査値を前記第2の暗号化方式に対応する復号化方式で復号化して前記主制御部の動作の継続性を認証する
ことを特徴とする請求項1乃至9のいずれかに記載の遊技機。
【請求項11】
前記個体検査値生成手段は、前記個体検査値が前記制御コマンドに付加されて前記後段部に送信される場合に、前記制御コマンドを示すデータ又は該データの付随データの少なくともいずれか一方のデータと、前記個体検査値とを併せたデータを暗号化することを特徴とする請求項10に記載の遊技機。
【請求項12】
前記動作検査値生成手段は、前記動作検査値が前記制御コマンドに付加されて前記後段部に送信される場合に、前記制御コマンドを示すデータ又は該データの付随データの少なくともいずれか一方のデータと、前記動作検査値とを併せたデータを暗号化することを特徴とする請求項10に記載の遊技機。
【請求項13】
前記所定のデータは、前記主制御部が実行する処理を表す所定のプログラムコードを含むことを特徴とする請求項1乃至12のいずれかに記載の遊技機。
【請求項14】
前記制御コマンドが、
大当たり中の各ラウンドに対応する大当たりコマンド、
大当たり状態の処理を開始させるための大当たり開始コマンド、
大当たり状態の処理を終了させるための大当たり終了コマンド、
前記周辺部に大当たり前のリーチ状態の処理を実行させるための大当たりリーチコマンド、
前記周辺部に電源投入時の処理を実行させるための電源投入コマンド、
前記周辺部に非遊技状態におけるデモ表示を実行させるための客待ちデモコマンド、
前記周辺部に非遊技状態におけるデモ表示を停止させるための客待ちデモ停止コマンド、
前記周辺部に抽選時の抽選結果がはずれの場合の処理を実行させるためのはずれコマンド、
小当たり中の各ラウンドに対応する小当たりコマンドのいずれかであることを特徴とする請求項1乃至13のいずれかに記載の遊技機。
【請求項15】
前記周辺部は、前記認証結果が前記主制御部の認証不成功を示す場合には、その旨を報知する報知信号を出力することを特徴とする請求項1乃至14のいずれかに記載の遊技機。
【請求項16】
後段部又は周辺部によって認証され、前記後段部を介して接続された周辺部に所定の処理を行わせるための制御コマンドを前記周辺部を介して前記後段部に送信する遊技機の主制御部であって、
所定のデータが記憶されているデータ記憶手段と、
前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する個体検査値生成手段と、
前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する動作検査値生成手段とを備え、
前記個体検査値と前記動作検査値とを前記後段部に送信する
ことを特徴とする主制御部。
【請求項17】
請求項16に記載の主制御部が搭載されていることを特徴とする遊技機の主制御基板。
【請求項18】
周辺部に所定の処理を行わせるための制御コマンドを出力する主制御部と周辺部とを備えた遊技機に設けられた後段部であって、
前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、
前記主制御部より前記周辺部を介して送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第1の動作認証手段とを備え、
前記第1の動作認証手段が得た認証結果と特定された前記動作検査値を前記周辺部に送信する
ことを特徴とする後段部。
【請求項19】
周辺部に所定の処理を行わせるための制御コマンドを出力する主制御部と周辺部とを備えた遊技機に設けられた後段部であって、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と、
前記主制御部より前記周辺部を介して送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する個体認証手段とを備え、
前記個体認証手段が得た認証結果を前記周辺部に送信する
ことを特徴とする後段部。
【請求項20】
請求項18又は19に記載の後段部及び前記周辺部が搭載されていることを特徴とする遊技機の周辺基板。
【請求項21】
制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機における認証方法であって、
所定のデータが記憶されているデータ記憶手段を備えた前記主制御部が、
前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する第1のステップと、
前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する第2のステップと、
前記個体検査値と前記動作検査値とを前記周辺部に送信する第3のステップを実行し、
前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段を備えた前記後段部が、
前記主制御部より前記周辺部を介して送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第4のステップと、
前記第4のステップで得た認証結果を前記周辺部に送信する第5のステップを実行し、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段とを備えた前記周辺部が、
前記主制御部より送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第6のステップと、
前記後段部より送信された前記第1の動作認証手段が得た認証結果と、前記第1の動作認証手段で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果とから、前記主制御部の動作の継続性を認証する第7のステップと、
前記第6のステップが得た認証結果及び前記第7のステップが得た認証結果に基づいた処理を行う第8のステップを実行する
ことを特徴とする認証方法。
【請求項22】
制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部を備える遊技機における認証方法であって、
所定のデータが記憶されているデータ記憶手段を備えた前記主制御部が、
前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する第1のステップと、
前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する第2のステップと、
前記個体検査値と前記動作検査値とを前記周辺部に送信する第3のステップを実行し、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段を備えた前記後段部が、
前記主制御部より前記周辺部を介して送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第4のステップと、
前記第4のステップで得た認証結果と前記動作検査値とを前記周辺部に送信する第5のステップを実行し、
前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段とを備えた前記周辺部が、
前記主制御部より送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第6のステップと、
前記第6のステップで特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果から前記主制御部の動作の継続性を認証する第7のステップと、
前記個体認証手段が得た認証結果及び前記第2の動作認証手段が得た認証結果に基づいた処理を行う第8のステップを実行する
ことを特徴とする認証方法。
【請求項23】
制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機に搭載されるコンピュータに、
所定のデータが記憶されているデータ記憶手段を備えた前記主制御部が、
前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する第1の機能と、
前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する第2の機能と、
前記個体検査値と前記動作検査値とを前記周辺部を介して前記後段部に送信する第3の機能を実現させ、
前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段を備えた前記後段部が、
前記主制御部より前記周辺部を介して送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第4の機能と、
前記第4の機能で得た認証結果と特定された前記動作検査値を前記周辺部に送信する第5の機能を実現させ、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段と前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段とを備えた前記周辺部が、
前記主制御部より送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第6の機能と、
前記後段部より送信された前記第1の動作認証手段が得た認証結果と、前記第1の動作認証手段で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果とから、前記主制御部の動作の継続性を認証する第7の機能と、
前記第6の機能で得た認証結果及び前記第7の機能で得た認証結果に基づいた処理を行う第8の機能を実現させる
ためのコンピュータ読み取り可能な認証プログラム。
【請求項24】
制御コマンドを出力する主制御部と、前記制御コマンドに応じた処理を行う周辺部と、後段部とを備える遊技機に搭載されるコンピュータに、
所定のデータが記憶されているデータ記憶手段を備えた前記主制御部が、
前記データ記憶手段に記憶されている前記所定のデータを分割し、分割された各データを用いて結合法則を満たす2項演算を行って個体検査値を生成する第1の機能と、
前記主制御部の動作順序に関する複数種類の情報をそれぞれ含む複数種類の動作検査値のうちのいずれかの動作検査値を生成する第2の機能と、
前記個体検査値と前記動作検査値とを前記周辺部を介して前記後段部に送信する第3の機能を実現させ、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータを用いて前記2項演算を行って得られた演算値が記憶されている演算値記憶手段を備えた前記後段部が、
前記主制御部より前記周辺部を介して送信された前記個体検査値を用いて前記2項演算を行い、この演算結果と、前記演算値記憶手段に記憶されている前記演算値とが一致するか否かに基づいて前記主制御部の個体の正当性を認証する第4の機能と、
前記第4の機能で得た認証結果を前記周辺部に送信する第5の機能を実現させ、
前記主制御部の動作順序に関する複数種類の情報と該複数種類の情報のそれぞれに対応する複数種類の動作検査値を対応付けて記憶する第1の記憶手段と、前記主制御部とは独立させて動作検査値を記憶する第2の記憶手段とを備えた前記周辺部が、
前記主制御部より送信された前記動作検査値に含まれる前記主制御部の動作順序に関する情報と前記第1の記憶手段に記憶されている前記主制御部の動作順序に関する複数種類の情報とを照合して前記主制御部の動作の継続性を認証するとともに、動作の継続性が認証された際の前記主制御部の動作順序に関する情報に対応する動作検査値を特定する第6の機能と、
前記第6の機能で特定された前記動作検査値と前記第2の記憶手段が記憶する前記動作検査値との照合結果から前記主制御部の動作の継続性を認証する第7の機能と、
前記第6の機能で得た認証結果及び前記第7の機能で得た認証結果に基づいた処理を行う第8の機能を実現させる
ためのコンピュータ読み取り可能な認証プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16−A】
image rotate

【図16−B】
image rotate

【図16−C】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19−A】
image rotate

【図19−B】
image rotate

【図19−C】
image rotate