JP5181361B2 - Game machine, intermediate part, peripheral board, authentication method and authentication program - Google Patents
Game machine, intermediate part, peripheral board, authentication method and authentication program Download PDFInfo
- Publication number
- JP5181361B2 JP5181361B2 JP2010016850A JP2010016850A JP5181361B2 JP 5181361 B2 JP5181361 B2 JP 5181361B2 JP 2010016850 A JP2010016850 A JP 2010016850A JP 2010016850 A JP2010016850 A JP 2010016850A JP 5181361 B2 JP5181361 B2 JP 5181361B2
- Authority
- JP
- Japan
- Prior art keywords
- control unit
- main control
- authentication
- code
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Description
本発明は、パチンコ店等の遊技店に設置されるパチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機、上記各遊技機に設けられた中間部、この中間部が搭載された周辺基板、上記各遊技機で行われる認証方法及び認証プログラムに関する。 The present invention, pachinko machines to be installed in a game store of pachinko parlors, etc., Suzumedama gaming machines, pinball game machine such as a ball arranging, game machine, the upper Symbol each game, such as a reel-type gaming machine such as a slot machine The present invention relates to an intermediate portion provided in a machine, a peripheral board on which the intermediate portion is mounted, an authentication method and an authentication program performed in each gaming machine.
遊技機に対し行われる、メダルや遊技球など(以下、遊技媒体という)を遊技とは無関係に強制的に払い出させる不正行為のうち、主制御部が搭載された主制御基板や周辺部が搭載された周辺基板に関するものとして、例えば以下に示すものがある。
(1)正規な主制御基板と不正な主制御基板との交換
(2)主制御基板に搭載されたCPUが実行する正規なプログラムが記憶されたROMと上記プログラムを改ざんした不正なプログラムが記憶されたROMとの交換
(3)主制御基板と周辺基板との間に不正な基板(なりすまし基板)を設け、かつ上記(2)のROMの交換
Of the fraudulent acts that are performed on gaming machines and forcibly pay out medals, game balls, etc. (hereinafter referred to as game media) regardless of the game, the main control board on which the main control unit is mounted or the peripheral part For example, the followings are related to the mounted peripheral board.
(1) Replacing an authorized main control board with an unauthorized main control board (2) A ROM storing a legitimate program executed by the CPU mounted on the main control board and an unauthorized program obtained by falsifying the above program are stored. (3) An illegal board (impersonated board) is provided between the main control board and the peripheral board, and the ROM of (2) above is replaced.
このような不正行為を防止するため、従来の遊技機には、以下に示すものがあった。すなわち、この遊技機には、特典付与の可否を決定するとともに第3識別情報を記憶しているメイン制御部(主制御部)と、主制御部に接続され、第1識別情報を記憶している第1サブ制御部(第1周辺部)と、主制御部に接続され、第2識別情報を記憶している第2サブ制御部(第2周辺部)とを備えたものがある。この遊技機では、主制御部から第1周辺部に向けてのみ情報の出力が可能であり、主制御部と第2周辺部は、相互に情報の入出力が可能である。第2周辺部は、第2識別情報を主制御部に出力する手段を有している。一方、主制御部は、第2識別情報と第3識別情報を第1周辺部に出力する手段を有している。第1周辺部は、第1識別情報と第2識別情報と第3識別情報を用いて所定演算を行う演算手段と、演算手段の演算結果に基づいて遊技機に不正な改造が行われたか否かを判別する手段を有している(例えば、特許文献1参照。)。以下、この技術を第1の従来例と呼ぶ。 In order to prevent such illegal acts, there are the following conventional gaming machines. That is, this gaming machine is connected to the main control unit (main control unit) that determines whether or not the privilege can be granted and stores the third identification information, and stores the first identification information. A first sub-control unit (first peripheral unit), and a second sub-control unit (second peripheral unit) connected to the main control unit and storing second identification information. In this gaming machine, information can be output only from the main control unit toward the first peripheral part, and the main control part and the second peripheral part can mutually input and output information. The second peripheral part has means for outputting the second identification information to the main control part. On the other hand, the main control unit has means for outputting the second identification information and the third identification information to the first peripheral portion. The first peripheral portion includes a computing unit that performs a predetermined computation using the first identification information, the second identification information, and the third identification information, and whether or not the gaming machine has been illegally modified based on a computation result of the computing unit. Means for determining whether or not (see, for example, Patent Document 1). Hereinafter, this technique is referred to as a first conventional example.
また、従来の遊技機には、大当たり図柄を表示する図柄表示装置と、遊技状況に応じて図柄制御部へデータを送信する主制御装置(主制御部)と、遊技状況に応じ主制御部から受信する制御データに基づいて図柄表示装置を制御する図柄制御部(周辺部)とを備えているものもある。このパチンコ遊技機では、主制御部は、第1鍵データを記憶する第1の記憶手段と、図柄制御部の動作を制御するための制御データに対し第1鍵データに対応する暗号化を行う暗号化手段と、遊技状況に対応する制御データに暗号化を施したデータを周辺部へ送信する送信手段と、予め定めたタイミングに、第1鍵データを変更する第1鍵変更手段とを備えている。周辺部は、第2鍵データを記憶する第2の記憶手段と、主制御部から受信した暗号データに対し第2鍵データに対応する処理を行うことにより、該受信した暗号データの正当性を判定し、正当である場合に該暗号データを認証する認証手段と、受信した暗号データが認証された場合に該暗号データに対応する動作を図柄表示装置に行わせる動作制御手段と、第1鍵データの変更タイミングに合致するように予め定められたタイミングに、第2鍵データを第1鍵データに対応するように変更する第2鍵変更手段とを備えている(例えば、特許文献2参照。)。以下、この技術を第2の従来例と呼ぶ。 In addition, the conventional gaming machine includes a symbol display device that displays a jackpot symbol, a main control device (main control unit) that transmits data to the symbol control unit according to the game situation, and a main control unit that responds to the game situation. Some include a symbol control unit (peripheral unit) that controls the symbol display device based on received control data. In this pachinko gaming machine, the main control unit performs encryption corresponding to the first key data on the first storage means for storing the first key data and the control data for controlling the operation of the symbol control unit. An encryption unit; a transmission unit that transmits data obtained by encrypting control data corresponding to a game situation to the peripheral unit; and a first key change unit that changes the first key data at a predetermined timing. ing. The peripheral unit performs the processing corresponding to the second key data on the second storage means for storing the second key data and the encrypted data received from the main control unit, thereby verifying the validity of the received encrypted data. An authentication means for determining and authenticating the encrypted data if it is valid, an operation control means for causing the symbol display device to perform an operation corresponding to the encrypted data when the received encrypted data is authenticated, and a first key Second key change means for changing the second key data so as to correspond to the first key data at a predetermined timing so as to coincide with the data change timing (see, for example, Patent Document 2). ). Hereinafter, this technique is referred to as a second conventional example.
また、従来のパチンコ遊技機には、主制御基板(主制御部)と、主制御部によって送信された制御コマンドに基づいて所定の処理を行う周辺基板(周辺部)とを備えるものもある。このパチンコ遊技機では、主制御部は、周辺部に送信する制御コマンドが所定の制御コマンドである場合、主制御部を認証するための認証データを所定の制御コマンドに付加して周辺部に送信する。そして、周辺部は、所定の制御コマンドを受信すると、この所定の制御コマンドに付加して送信された認証データに基づいて主制御部を認証する(例えば、特許文献3参照。)。以下、この技術を第3の従来例と呼ぶ。 In addition, some conventional pachinko gaming machines include a main control board (main control unit) and a peripheral board (peripheral part) that performs predetermined processing based on a control command transmitted by the main control unit. In this pachinko gaming machine, when the control command to be transmitted to the peripheral unit is a predetermined control command, the main control unit adds authentication data for authenticating the main control unit to the predetermined control command and transmits it to the peripheral unit. To do. When the peripheral unit receives a predetermined control command, the peripheral unit authenticates the main control unit based on the authentication data transmitted in addition to the predetermined control command (see, for example, Patent Document 3). Hereinafter, this technique is referred to as a third conventional example.
第1の従来例では、ランプやスピーカ等を制御する第1周辺部に搭載されているCPUが第1識別情報と第2識別情報と第3識別情報を用いて所定演算を行い、表示を制御する第2周辺部に搭載されているCPUが上記演算結果に基づいて遊技機に不正な改造が行われたか否かを判別している。 In the first conventional example, the CPU mounted on the first peripheral part that controls the lamp, the speaker, etc. performs a predetermined calculation using the first identification information, the second identification information, and the third identification information to control the display. The CPU mounted on the second peripheral portion determines whether or not the gaming machine has been illegally modified based on the calculation result.
このように、CPUに既存の処理(例えば、演出処理)以外に認証処理を実行させるためには、既存の処理に認証機能及び認証タイミングなどの処理を追加する必要がある。このため、認証機能を追加するための認証タイミングの設計、認証機能の実現化、動作のシミュレーション及び所望の機能が得られるか否かを確認する検証(ベリフィケーション)に多大の時間と労力を要し、これにより、遊技機の開発に時間と手間が大幅にかかってしまうという問題がある。このような問題は、特に、遊技機の機種変更をする際に顕著に現れる。さらに、最近の遊技機の演出の多様化に伴って、CPUが実行すべきプログラムのコードサイズも膨大になる傾向にあるため、認証機能の追加により上記の問題は益々増大する。 As described above, in order to cause the CPU to execute the authentication process in addition to the existing process (for example, the effect process), it is necessary to add processes such as an authentication function and an authentication timing to the existing process. For this reason, a great deal of time and effort is spent on the design of the authentication timing for adding the authentication function, the realization of the authentication function, the simulation of the operation, and the verification (verification) to confirm whether the desired function can be obtained. Therefore, there is a problem that it takes a lot of time and effort to develop a gaming machine. Such a problem particularly appears when changing the model of a gaming machine. Furthermore, with the recent diversification of the effects of gaming machines, the code size of programs to be executed by the CPU tends to become enormous, so that the above problem increases with the addition of the authentication function.
また、CPUに既存の処理の他に認証処理を実行させる場合、CPUの処理負荷が増大するため、処理速度が低下し、演出のための表示がスムーズに行われなかったり、最悪の場合には、認証処理自体を追加できなかったりするなどの問題があった。特に最近では、遊技の興趣向上を図るために、リーチや大当たり等の際に遊技者の視覚や聴覚に訴える演出が多様となる傾向にあり、上記問題が発生するおそれが増大する。 In addition, when the CPU performs authentication processing in addition to the existing processing, the processing load of the CPU increases, so the processing speed decreases, display for production is not performed smoothly, or in the worst case There was a problem that the authentication process itself could not be added. In particular, in recent years, in order to improve the interest of the game, there is a tendency that the effects of appealing to the visual and auditory senses of the player at the time of reach, jackpot, etc. tend to be diverse, and the possibility that the above problem will occur increases.
また、第1の従来例では、周辺部を構成する1つのCPUが1回の認証処理(IDの加算処理)を行っているだけである。さらに、周辺部を構成するCPUに既存の処理の他に認証処理を実行させることにより周辺部を構成するCPUの処理負荷が増大する。それゆえ、周辺部を構成するCPUにセキュリティをより強化するために、今まで以上に複雑な演算による認証処理や複数回の認証処理を実行させることは困難である。 In the first conventional example, one CPU constituting the peripheral part performs only one authentication process (ID addition process). Further, by causing the CPU configuring the peripheral portion to execute the authentication process in addition to the existing processing, the processing load of the CPU configuring the peripheral portion increases. Therefore, it is difficult to cause the CPU configuring the peripheral portion to execute authentication processing by a more complicated calculation and authentication processing multiple times than ever in order to further enhance security.
一方、第2の従来例では、主制御部では、暗号化手段が図柄制御部の動作を制御するための制御データに対し第1鍵データに対応する暗号化を行い、第1鍵変更手段が予め定めたタイミングに、第1鍵データを変更している。周辺部では、認証手段が主制御部から受信した暗号データに対し第2鍵データに対応する処理を行うことにより、受信した暗号データの正当性を判定し、正当である場合に該暗号データを認証し、第2鍵変更手段が第1鍵データの変更タイミングに合致するように予め定められたタイミングに、第2鍵データを第1鍵データに対応するように変更している。つまり、主制御部も周辺部も高度で複雑な暗号化処理及び認証処理を行っている。したがって、第2の従来例では、主制御部を構成するCPUも周辺部を構成するCPUもそれぞれの処理負荷が増大するため、処理速度が低下し、遊技内容の進行に伴う基本処理や演出処理という本来の処理がスムーズに行われないおそれがある。 On the other hand, in the second conventional example, in the main control unit, the encryption unit performs encryption corresponding to the first key data on the control data for controlling the operation of the symbol control unit, and the first key change unit The first key data is changed at a predetermined timing. In the peripheral unit, the authenticating unit performs processing corresponding to the second key data on the encrypted data received from the main control unit, thereby determining the validity of the received encrypted data. Authentication is performed, and the second key data is changed to correspond to the first key data at a predetermined timing so that the second key changing means matches the change timing of the first key data. That is, the main control unit and the peripheral unit perform sophisticated and complicated encryption processing and authentication processing. Therefore, in the second conventional example, since the processing load of both the CPU constituting the main control unit and the CPU constituting the peripheral part increases, the processing speed decreases, and the basic process and the effect process accompanying the progress of the game content. The original process may not be performed smoothly.
また、第3の従来例では、第1の従来例と同様に、周辺部のCPUに既存のゲーム処理の他に、認証処理を実行させる場合、所定の制御コマンドに認証データを付加して周辺部に送信しても、周辺部のCPUの処理負荷が増大するため、処理速度が低下し、演出のための表示がスムーズに行われなかったり、認証処理自体の追加が難しくなったりする設計上の制約が生じることが考えられる。特に最近では、遊技の興趣向上を図るために、図柄の変動の制御について遊技者の視覚や聴覚に訴える演出が多様となる傾向にある。したがって、各種の演出制御を行う周辺部(画像制御部)に対して認証処理を行う負荷を低減させるような認証手段を設けた遊技機を構築することが望ましい。 Further, in the third conventional example, as in the first conventional example, when the peripheral CPU executes an authentication process in addition to the existing game process, authentication data is added to a predetermined control command and the peripheral process is performed. Even if it is transmitted to the part, the processing load on the CPU in the peripheral part increases, so the processing speed decreases, the display for presentation is not performed smoothly, or it is difficult to add the authentication process itself It is conceivable that there will be restrictions. In recent years, in particular, in order to improve the interest of the game, there is a tendency for various effects to appeal to the visual and auditory sense of the player regarding the control of the variation of the pattern. Therefore, it is desirable to construct a gaming machine provided with an authentication unit that reduces the load of performing an authentication process on a peripheral part (image control part) that performs various effects control.
さらに、周辺部を構成するCPUに既存の処理の他に認証処理を実行させることにより周辺部を構成するCPUの処理負荷やプログラム容量が増大する。それゆえ、周辺部を構成するCPUにセキュリティをより強化するために、今まで以上に複雑な演算による認証処理や複数回の認証処理を実行させることは困難である。 Further, by causing the CPU constituting the peripheral portion to execute the authentication process in addition to the existing processing, the processing load and program capacity of the CPU constituting the peripheral portion are increased. Therefore, it is difficult to cause the CPU configuring the peripheral portion to execute authentication processing by a more complicated calculation and authentication processing multiple times than ever in order to further enhance security.
ところで、遊技機は、外部から電気的な雑音や機械的な振動等が加えられた場合、誤動作する場合がある。例えば、主制御部から周辺部に制御コマンドが送信されている際に、電磁波や静電気などの雑音が遊技機外部から加えられると、この雑音の影響により制御コマンドデータにビットエラーが発生し、制御コマンドが変更されてしまうという誤動作が生じる。この場合、本来周辺部に送信されるべき制御コマンドが大当たりコマンド以外の制御コマンドであるにも関わらず、ビットエラーが発生して当該制御コマンドが大当たりコマンドに変更されてしまうと、不正行為が行われた場合でなくても、遊技者に不当に多くの遊技媒体が払い出され、遊技店が多大な損害を被ってしまう。ところが、第1〜第3の従来例では、このような誤動作に起因した問題について何ら対策を施していないので、遊技店が多大な損害を被るという問題を解決することができない。 By the way, a gaming machine may malfunction when external electrical noise or mechanical vibration is applied. For example, when a control command is transmitted from the main control unit to the peripheral part, if noise such as electromagnetic waves or static electricity is added from the outside of the gaming machine, a bit error occurs in the control command data due to the influence of the noise, and control is performed. A malfunction occurs that the command is changed. In this case, if a bit error occurs and the control command is changed to a jackpot command even though the control command that should be transmitted to the peripheral part is a control command other than the jackpot command, an illegal action is performed. Even if this is not the case, an unreasonable amount of game media is paid out to the player, and the game store suffers a great deal of damage. However, in the first to third conventional examples, no countermeasures are taken for the problem caused by such a malfunction, so that the problem that the game shop suffers a great deal of damage cannot be solved.
本発明は、上記事情に鑑みてなされたものであり、遊技機の正規の主制御基板と不正な主制御基板との交換等による不正行為や遊技機の誤動作を検知でき、周辺部のCPUの処理負荷を軽減することができる遊技機、主制御部、主制御基板、中間部、周辺基板、認証方法及び認証プログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and can detect fraudulent acts and malfunctions of gaming machines due to replacement of a regular main control board and an unauthorized main control board of a gaming machine. It is an object of the present invention to provide a gaming machine, a main control unit, a main control board, an intermediate part, a peripheral board, an authentication method, and an authentication program that can reduce the processing load.
上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、前記主制御部に接続される中間部と、前記中間部に接続され前記制御コマンドに応じた処理を行う周辺部とを備える遊技機であって、前記主制御部は、所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割されたデータに対して結合法則を満たす一又は複数の2項演算のうちの1個の2項演算を行って検査値を生成する検査値生成手段と、前記主制御部の動作の継続性を示す情報を含むコードを生成するコード生成手段とを備え、前記検査値及び前記コードを前記制御コマンドに付加して前記中間部に送信し、前記中間部は、前記データ記憶手段に記憶されている前記所定のデータと同一のデータに、前記一又は複数の2項演算と同一の2項演算を行って得られた一又は複数の演算値を記憶する演算値記憶手段と、前記制御コマンドに付加された前記検査値に前記検査値生成手段で用いられた前記2項演算を行い、この演算結果と演算値記憶手段に記憶されている前記一又は複数の演算値のうち前記2項演算に対応する演算値とが一致するか否かに基づいて前記主制御部の個体認証を行う個体認証手段と、前記個体認証手段によって前記主制御部の個体認証が成功した際に、前記制御コマンドに付加された前記コードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行う動作認証手段とを備え、前記個体認証手段が得た認証結果及び前記動作認証手段が得た認証結果を前記主制御部から送信された制御コマンドに付加して前記周辺部に送信することを特徴とする。 The present invention in order to solve the above problems, the peripheral portion that performs a main control unit for outputting a control command, and an intermediate portion connected to the main control unit, a process corresponding to the connected to the intermediate portion and the control command The main control unit divides the predetermined data stored in the data storage means and data storage means storing predetermined data into divided data A test value generating means for generating a test value by performing one binary operation of one or a plurality of binary operations satisfying the coupling law, and information indicating continuity of the operation of the main control unit Code generating means for generating a code, adding the inspection value and the code to the control command and transmitting the code to the intermediate section, wherein the intermediate section stores the predetermined data stored in the data storage means Same data as , Operation value storage means for storing one or more operation values obtained by performing the same binary operation as the one or more binary operations, and the inspection value added to the control command The binary operation used in the generation unit is performed, and whether or not the calculation result and the calculation value corresponding to the binary operation among the one or more calculation values stored in the calculation value storage unit match Based on the individual authentication means for performing individual authentication of the main control unit, and when the individual authentication of the main control unit is successful by the individual authentication means, the main control unit includes the main authentication unit included in the code added to the control command. An operation authentication unit that performs operation authentication of the main control unit based on whether information indicating continuity of operation of the control unit satisfies a predetermined condition, and an authentication result obtained by the individual authentication unit and the operation before the authentication result that the authentication means is obtained In addition to the control command transmitted from the main control unit and transmits to the peripheral unit.
さらにまた、上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、前記主制御部に接続される中間部と、前記中間部に接続され前記制御コマンドに応じた処理を行う周辺部とを備える遊技機に設けられた前記中間部であって、前記主制御部に記憶されている所定のデータと同一のデータに、結合法則を満たす一又は複数の2項演算を行って得られた一又は複数の演算値を記憶する演算値記憶手段と、前記所定のデータを分割して得られたデータに前記一又は複数の2項演算のうち1個の2項演算を行うことによって前記主制御部にて生成され前記制御コマンドに付加して送信された検査値に対して、前記2項演算を行い、この演算結果と演算値記憶手段に記憶されている前記一又は複数の演算値のうち前記2項演算に対応する演算値とが一致するか否かに基づいて前記主制御部の個体認証を行う個体認証手段と、前記個体認証手段によって前記主制御部の個体認証が成功した際に、前記主制御部から送信された前記制御コマンドに付加されたコードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行う動作認証手段とを備え、前記個体認証手段が得た認証結果及び前記動作認証手段が得た認証結果を、前記主制御部から送信された制御コマンドに付加して前記周辺部に送信することを特徴とする。 Furthermore, in order to solve the above problems, the present invention provides a main control unit that outputs a control command, an intermediate unit connected to the main control unit, and a process connected to the intermediate unit and corresponding to the control command. a the middle part provided in the gaming machine and a peripheral portion, the same data as the predetermined data stored in the main control unit, one or more binary operations satisfying the associative law went to perform A calculation value storage means for storing one or a plurality of calculation values obtained in this manner, and one binary operation among the one or a plurality of binary operations is performed on the data obtained by dividing the predetermined data Accordingly, the binary calculation is performed on the inspection value generated by the main control unit and added to the control command, and the calculation result and the one or more stored in the calculation value storage means are stored. Corresponds to the above binary calculation among the calculated values An individual authentication unit that performs individual authentication of the main control unit based on whether or not the calculated value matches, and when the individual authentication of the main control unit is successful by the individual authentication unit, from the main control unit Operation authentication means for performing operation authentication of the main control unit based on whether information indicating continuity of operation of the main control unit included in a code added to the transmitted control command satisfies a predetermined condition The authentication result obtained by the individual authentication unit and the authentication result obtained by the operation authentication unit are added to the control command transmitted from the main control unit and transmitted to the peripheral unit. .
さらにまた、上記課題を解決するために本発明の遊技機の周辺基板は、本発明の前記中間部及び前記周辺部が搭載されていることを特徴とする。 Furthermore, in order to solve the above problems, the peripheral board of the gaming machine of the present invention is characterized in that the intermediate part and the peripheral part of the present invention are mounted.
さらにまた、上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、前記主制御部に接続される中間部と、前記中間部に接続され前記制御コマンドに応じた処理を行う周辺部とを備える遊技機で用いられる認証方法であって、前記主制御部が制御コマンドを出力する場合に、前記主制御部のデータ記憶手段に記憶されている所定のデータを分割し、分割されたデータに対して結合法則を満たす一又は複数の2項演算のうちの1個の2項演算を行って検査値を生成し、前記主制御部の動作の継続性を示す情報を含むコードを生成し、前記検査値及び前記コードを前記制御コマンドに付加して前記中間部に送信する第1のステップと、前記中間部が、前記制御コマンドに付加された前記検査値に該検査値が生成された際の前記2項演算を行い、この演算結果と前記データ記憶手段に記憶されている前記所定のデータと同一のデータに、前記一又は複数の2項演算と同一の2項演算を行って得られた一又は複数の演算値のうち前記2項演算に対応する演算値とが一致するか否かに基づいて前記主制御部の個体認証を行い、前記主制御部の個体認証が成功した際に、前記制御コマンドに付加された前記コードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行い、個体認証の認証結果及び動作認証の認証結果を前記主制御部から送信された制御コマンドに付加して前記周辺部に送信する第2のステップとを有することを特徴とする。 Furthermore, the present invention in order to solve the above problems, a main control unit for outputting a control command, and an intermediate portion connected to the main control unit, a process corresponding to the connected to the intermediate portion and the control command An authentication method used in a gaming machine including a peripheral unit to perform, when the main control unit outputs a control command, divides predetermined data stored in data storage means of the main control unit, It includes information indicating the continuity of the operation of the main control unit by generating one inspection value by performing one binary operation of one or a plurality of binary operations satisfying the combining law on the divided data. A first step of generating a code, adding the test value and the code to the control command and transmitting the code to the intermediate unit; and the intermediate unit adds the test value to the test value added to the control command. When the is generated One or more obtained by performing a term operation, and performing the same binary operation as the one or plural binary operations on the same data as the calculation result and the predetermined data stored in the data storage means When the individual authentication of the main control unit is performed based on whether or not a calculation value corresponding to the two-term calculation among a plurality of calculation values matches, and when the individual authentication of the main control unit is successful, the control Based on whether the information indicating the continuity of the operation of the main control unit included in the code added to the command satisfies a predetermined condition, the operation authentication of the main control unit is performed, the authentication result of the individual authentication, and A second step of adding an authentication result of the operation authentication to the control command transmitted from the main control unit and transmitting the result to the peripheral unit.
さらにまた、上記課題を解決するために本発明のコンピュータ読み取り可能な認証プログラムは、制御コマンドを出力する主制御部と、前記主制御部に接続される中間部と、前記中間部に接続され前記制御コマンドに応じた処理を行う周辺部とを備える遊技機に搭載されるコンピュータに、前記主制御部が制御コマンドを出力する場合に、前記主制御部のデータ記憶手段に記憶されている所定のデータを分割し、分割されたデータに対して結合法則を満たす一又は複数の2項演算のうちの1個の2項演算を行って検査値を生成し、前記主制御部の動作の継続性を示す情報を含むコードを生成し、前記検査値及び前記コードを前記制御コマンドに付加して前記中間部に送信する第1の機能と、前記中間部が、前記制御コマンドに付加された前記検査値に該検査値が生成された際の前記2項演算を行い、この演算結果と前記データ記憶手段に記憶されている前記所定のデータと同一のデータに、前記一又は複数の2項演算と同一の2項演算を行って得られた一又は複数の演算値のうち前記2項演算に対応する演算値とが一致するか否かに基づいて前記主制御部の個体認証を行い、前記主制御部の個体認証が成功した際に、前記制御コマンドに付加された前記コードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行い、個体認証の認証結果及び動作認証の認証結果を前記主制御部から送信された制御コマンドに付加して前記周辺部に送信する第2の機能とを実現させることを特徴とする。 Furthermore, computer-readable authentication program of the present invention in order to solve the above problems, a main control unit for outputting a control command, and an intermediate portion connected to the main control unit, connected to the intermediate portion and the When the main control unit outputs a control command to a computer mounted on a gaming machine that includes a peripheral unit that performs processing according to the control command, a predetermined storage stored in the data storage unit of the main control unit Continuation of the operation of the main control unit by dividing the data, performing one binary operation of one or more binary operations that satisfy the combining law on the divided data, and generating a test value generates code that contains information indicating a first function of transmitting to the intermediate portion by adding the check value and the code to the control command, wherein the intermediate portion is added to the control command the The binary operation when the inspection value is generated as the inspection value is performed, and the calculation result and the same data as the predetermined data stored in the data storage means are added to the one or more binary operations. And performing individual authentication of the main control unit based on whether or not the calculation value corresponding to the two-term calculation out of one or a plurality of calculation values obtained by performing the same two-term calculation, When the individual authentication of the main control unit is successful, the main control unit includes information indicating the continuity of operation of the main control unit included in the code added to the control command based on whether or not a predetermined condition is satisfied. Performing the operation authentication of the control unit , and realizing the second function of adding the authentication result of the individual authentication and the authentication result of the operation authentication to the control command transmitted from the main control unit and transmitting to the peripheral unit Features.
本発明によれば、遊技機の正規の主制御基板と不正な主制御基板との交換等による不正行為や遊技機の誤動作を検知でき、周辺部のCPUの処理負荷を軽減することができる。 According to the present invention, it is possible to detect fraudulent acts due to replacement of a regular main control board and an unauthorized main control board of a gaming machine or malfunction of the gaming machine, and to reduce the processing load on the peripheral CPU.
このように、主制御部の個体の正当性及び動作の継続性の双方を認証することにより、上記不正行為や遊技機の誤動作の検知を確実にすることができ、遊技者に不当に多くの遊技媒体が払い出され、遊技店が多大な損害を被ることを防止することができる。また、動作の継続性を認証するための複数種類のコードを切り替えて認証させることにより、動作の継続性を1つのコードで認証する場合と比較して、認証の強度をより向上させることが可能となる。 In this way, by authenticating both the legitimacy of the individual of the main control unit and the continuity of the operation, it is possible to ensure the detection of the fraudulent act and the malfunction of the gaming machine, and unreasonably many players The game medium is paid out, and it is possible to prevent the game store from being damaged greatly. Also, by switching and authenticating multiple types of codes for authenticating continuity of operation, it is possible to improve the strength of authentication compared to the case of authenticating continuity of operation with one code It becomes.
また、本発明によれば、認証処理は、中間部のみが実行するので、周辺部を構成するCPUの処理負荷の増大を抑制することができる。このため、周辺部の処理速度が低下し、演出のための表示がスムーズに行われないなどの問題の発生を防止することができる。 Further, according to the present invention, since the authentication process is executed only by the intermediate part, it is possible to suppress an increase in the processing load of the CPU constituting the peripheral part. For this reason, it is possible to prevent the occurrence of problems such as the processing speed of the peripheral portion being reduced and the display for production not being performed smoothly.
さらに、本発明によれば、認証処理を実行する中間部と、所定の処理を行う周辺部とが別個独立しているため、認証用のプログラムと所定の処理用のプログラムとは別個に設計することができる。これにより、所定の処理を行う周辺部の演出処理に認証機能を追加する場合と比較して、認証機能を追加するタイミングの設計・機能の実装・機能の検証などをより簡単に、少ない作業工数で実現することができる。また、認証用のプログラム及び所定の処理用のプログラムの構成が比較的簡単となるため、他の機能と整合性を保つことが容易となる。 Furthermore, according to the present invention, since the intermediate unit that executes the authentication process and the peripheral unit that performs the predetermined process are independent of each other, the authentication program and the predetermined process program are designed separately. be able to. This makes it easier to design the timing for adding the authentication function, implement the function, verify the function, etc., compared to the case where the authentication function is added to the peripheral processing that performs the predetermined process Can be realized. In addition, since the configuration of the authentication program and the predetermined processing program is relatively simple, it is easy to maintain consistency with other functions.
さらにまた、本発明によれば、遊技機の機種ごとに所定の処理が異なる場合であっても、認証処理は共通化が可能であるため、遊技機の機種ごとのプログラム設計が容易であり、設計時間の短縮化を図ることができるとともに、作業効率が向上する。 Furthermore, according to the present invention, even if the predetermined processing is different for each gaming machine model, the authentication process can be shared, so that the program design for each gaming machine model is easy, Design time can be shortened and work efficiency can be improved.
さらにまた、本発明によれば、認証用の認証アルゴリズムを変更する場合、所定の処理を行う周辺部を変更しなくても、中間部の認証用プログラムのみを変更すればよく、これにより、少ない作業工数で認証アルゴリズムの変更などを実現することができる。 Furthermore, according to the present invention, when the authentication algorithm for authentication is changed, it is only necessary to change the authentication program in the intermediate part without changing the peripheral part for performing the predetermined processing, thereby reducing the number of authentication algorithms. The authentication algorithm can be changed by man-hours.
さらにまた、本発明によれば、主制御部は、検査値を生成するために所定のデータを分割し、分割された各データの数(分割数)に基づいて、動作認証に関する処理の際の同期コードを生成するために生成するコードの種類を選択する。また、中間部は、主制御部に対する個体認証が成功した際に2項演算の対象となった認証データの数(結合数)に基づいて、動作認証に関する処理の際に同期コードを生成するために生成したとして認識するコードの種類を特定する。分割数は主制御部だけが知り得る値であり、結合数は個体認証が成功して初めて中間部が知り得る値であるため、不正行為者は、同期コードの生成に用いられたコードの種類を特定することができない。このため、不正行為者が同期コードを不正に生成することを防止して、主制御部と中間部との間の認証処理の強度を向上させることができるとともに、上記不正行為及び遊技機の誤動作を検知することができ、これらに起因する不正な制御コマンドの実行を防止することができる。 Furthermore, according to the present invention, the main control unit divides predetermined data in order to generate a test value, and performs processing related to operation authentication based on the number of divided data (number of divisions). Select the type of code to generate to generate the synchronization code. In addition, the intermediate unit generates a synchronization code during the process related to the operation authentication based on the number of authentication data (the number of combinations) subjected to the binary operation when the individual authentication to the main control unit is successful. Identify the type of code that is recognized as generated. Since the number of divisions is a value that only the main control unit can know, and the number of connections is the value that the intermediate part can know only after successful individual authentication, the fraudster is responsible for the type of code used to generate the synchronization code. Cannot be specified. For this reason, it is possible to prevent unauthorized persons from generating the synchronization code illegally, and to improve the strength of the authentication process between the main control unit and the intermediate unit. Can be detected, and execution of unauthorized control commands due to these can be prevented.
さらにまた、本発明によれば、中間部は、個体認証データと動作認証データの2種類の認証データを用いて主制御部を個体の正当性と動作順序の継続性の観点から検証する。このように2種類の認証データを用いて二重に認証処理を行うことにより、中間部による認証処理の強度を向上させることができるとともに、主制御部の動作順序を検証することによって、主制御部の動作の連続性を認証することができ、例えば信号切替回路などを搭載した不正な制御基板を検知することができる。 Furthermore, according to the present invention, the intermediate unit verifies the main control unit from the viewpoint of the validity of the individual and the continuity of the operation order by using two types of authentication data of the individual authentication data and the operation authentication data. By performing authentication processing twice using two types of authentication data in this way, the strength of authentication processing by the intermediate unit can be improved, and the main control unit can be verified by verifying the operation sequence of the main control unit. The continuity of the operation of the unit can be authenticated, and for example, an unauthorized control board equipped with a signal switching circuit or the like can be detected.
<実施の形態1>
以下、図面を参照して本発明を実施するための形態である実施の形態1について説明する。
図1は、本発明の実施の形態1に係る遊技機1の構成を示すブロック図である。この遊技機1は、主制御部10と、中間部20と、周辺部30とを備えている。
<
Hereinafter,
FIG. 1 is a block diagram showing a configuration of a
主制御部10は、データ記憶手段11と、決定手段12と、検査値生成手段13と、コード生成手段14とを備えている。データ記憶手段11には、主制御部10で用いられるプログラム等のデータが記憶されている。決定手段12は、データ記憶手段11に記憶されているデータのうち所定のデータを分割する数である分割数を決定する。ここで、所定のデータとは、データ記憶手段11に記憶されているデータの全部又は一部である。検査値生成手段13は、主制御部10の正当性を認証するために用いる検査値を生成する。具体的には、検査値生成手段13は、結合法則を満たす複数の2項演算(例えば、加算、乗算、排他的論理和)の中から1個の2項演算を選択し、データ記憶手段11に記憶されている所定のデータを決定手段12が決定した分割数で分割し、分割された各データに対して選択した2項演算を行って、分割数分(分割数と同数)の検査値を生成する。コード生成手段14は、主制御部10の動作の継続性を示す情報を含む3種類のコード(主制御部10の動作順序を示す情報を用いて構成される動作コード、指定されたタイミングでフリーランに動く計時機器から取得した計時時間から設定される基準値に対する相対時間情報を用いて構成される相対時間コード、制御コマンド送信時の主制御部10から出力されるパケット情報を用いて構成される同期コード)の少なくともいずれか1つのコードを生成する。そして、主制御部10は、生成された分割数分の検査値に暗号化処理を施して得られた分割数分の検査値及び生成されたコードを認証データとして、出力する制御コマンドに付加して中間部20に送信する。
The
一方、中間部20は、演算値記憶手段21と、個体認証手段22と、動作認証手段23とを備えている。演算値記憶手段21には、主制御部10を構成するデータ記憶手段11に記憶されている所定のデータと同一のデータを用いて複数の2項演算をそれぞれ行って得られた複数の演算値(以下、期待値という)が予め記憶されている。個体認証手段22は、上記結合法則を満たす複数の2項演算の中から1個の2項演算を予め選択し、制御コマンドに付加されて送信された複数の検査値に対して予め選択した2項演算を行い、この演算結果と、演算値記憶手段21に記憶されている複数の期待値のうち選択された2項演算に対応する期待値とが一致するか否かに基づいて主制御部10を個体認証する。動作認証手段23は、個体認証手段22による認証が成立した際に2項演算の対象となった個体認証データの数に基づいて、動作認証手段23でいずれのコードが用いられているかを特定し、特定したコードに対応した方法で認証処理を行い主制御部10を動作認証する。「個体認証手段22による認証が成立した際に2項演算の対象となった個体認証データの数」とは、すなわち結合数(分割数と同数)である。そして、中間部20は、個体認証手段22及び動作認証手段23が得た認証結果を制御コマンドに付加して周辺部30に送信する。そして、周辺部30は、制御コマンドに付加された認証結果に応じた処理を行う。
On the other hand, the
図2は、本発明の実施の形態1に係る遊技機の1つであるパチンコ遊技機1の外観構成を示す正面図である。また、図3は、図2に示すパチンコ遊技機1の電気的構成を示すブロック図である。
FIG. 2 is a front view showing an external configuration of the
本実施の形態1に係るパチンコ遊技機1は、遊技盤101を備えている。遊技盤101の図2において右下方であって、枠部材110の右下部には、遊技者によって操作され、発射部292(図3参照)を作動させるための操作ハンドル113が設けられている。操作ハンドル113は、遊技者側に突出する形状を呈している。操作ハンドル113は、発射部292を作動させて遊技球を発射させる発射指示部材114を備えている。発射指示部材114は、操作ハンドル113の外周部において、遊技者から見て右回りに回転可能に設けられている。発射部292は、発射指示部材114が遊技者によって直接操作されている場合に、遊技球を発射させる。公知の技術であるため説明を省略するが、操作ハンドル113には、遊技者が発射指示部材114を直接操作していることを検出するセンサなどが設けられている。
The
発射部292の作動によって発射された遊技球は、レール102a,102b間を上昇して遊技盤101の上部位置に達した後、遊技領域103内を落下する。遊技領域103には、複数の釘(図示略)や、遊技球の落下方向を変化させる風車(図示略)や、入球口が配設されており、遊技球を各種の方向に向けて落下させるようにしている。ここで、「入球口」は、いずれも後述する第1始動口105、第2始動口120、普通入賞口107、第1大入賞口109c、第2大入賞口129cの総称である。
The game ball launched by the operation of the
遊技盤101の略中央部分には、図柄表示部104が配置されている。図柄表示部104は、例えば、液晶ディスプレイ(LCD)やプラズマディスプレイパネル(PDP)等のディスプレイを有している。図柄表示部104の下方には、遊技領域103に向けて打ち込まれた遊技球を受入れ可能な第1始動口105が配置されている。第1始動口105の下方には、第2始動口120が配置されている。第2始動口120は、一対の可動片(図示略)が閉状態であるときは遊技球を受け入れることが不可能又は受け入れ困難となっており、この一対の可動片が開状態であるときは、第1始動口105よりも遊技球の受け入れが容易となる。
A
また、図柄表示部104の左側には、入賞ゲート106が配設されている。入賞ゲート106は、遊技球の通過を検出し、第2始動口120を一定時間だけ開放させる普通図柄の抽選を行うために設けられている。図柄表示部104の左側部や下方等には、複数の普通入賞口107が配設されている。各普通入賞口107に遊技球が入球すると、所定の賞球数(例えば、10個)の払い出しが行われる。遊技領域103の最下部には、どの入球口にも入球しなかった遊技球を回収する回収口108が設けられている。
A winning
図柄表示部104は、後述する演出制御部203(図3参照)から第1始動口105又は第2始動口120に遊技球が入球したことが報知されたときに、複数の装飾図柄の変動表示を開始し、所定時間経過後に当該装飾図柄の変動を停止させる。この停止時に特定図柄(例えば、「777」)が揃うと、遊技者は第1大当たり遊技(長当たり遊技)を実行する権利を獲得したこととなり、その後、第1大当たり遊技(長当たり遊技)が開始される。第1大当たり遊技(長当たり遊技)が開始されると、遊技領域103の下方に位置する第1大入賞口開閉装置109における第1大入賞口開閉扉109aが、一定の期間開放する動作を所定回数(例えば、15回)繰り返し、入球した遊技球に対応する賞球が払い出される。
When the
一方、図柄表示部104における上記装飾図柄の停止時に上記特定図柄とは別の特定図柄(例えば、「737」)が揃うと、遊技者は第2大当たり遊技(短当たり遊技)を実行する権利を獲得したこととなり、その後、第2大当たり遊技(短当たり遊技)が開始される。第2大当たり遊技(短当たり遊技)が開始されると、第1大入賞口開閉装置109の右斜め上方に位置する第2大入賞口開閉装置129における第2大入賞口開閉扉129aが、第1大入賞口開閉扉109aの開閉動作に比して短い時間にて一定の期間開放する動作を所定回数(例えば、15回)繰り返し、入球した遊技球がある場合、これに対応する賞球が払い出される。
On the other hand, when the specific symbol (for example, “737”) different from the specific symbol is prepared when the decorative symbol is stopped in the
また、遊技盤101の遊技領域103の外周には、枠部材110が設けられ、開口部から遊技領域103が遊技者側に露出している。枠部材110は、遊技者側に突出する形状を呈している。枠部材110において、遊技領域103の左上部及び右下部には、演出ライト(ランプユニット)111a及び111bがそれぞれ設けられている。各演出ライト111a及び111bは、複数のライト112を備えている。各演出ライト111a及び111bは、上下駆動モータ(図示略)でそれぞれ駆動されることにより、それぞれが備える複数のライト112から照射される光の方向を上下方向、すなわち、パチンコ遊技機1の正面にいる遊技者の頭部と腹部を結ぶ方向に平行な方向に変更可能に構成されている。
A
また、各ライト112は、各演出ライト111a及び111bを構成する回転駆動モータ(図示略)で駆動されることにより、それぞれ所定半径を有する円の円周方向に移動する。上記構成により、各ライト112から照射された光を回転移動させつつ、各演出ライト111a及び111b全体から照射された光を上下移動させる演出を行うことができる。さらに、枠部材110の下部には、遊技球が供給される受け皿ユニット119が設けられている。この受け皿ユニット119には、貸し玉装置(図示略)から貸し出される遊技球が供給される。
Each light 112 is driven by a rotational drive motor (not shown) constituting each
図2において、図柄表示部104の右側には、演出用の役物(以下、「演出役物」という)115が設けられている。演出役物115は、キャラクターとして人間の上半身(特に頭部)を模式的に表している。演出役物115は、キャラクターの瞼部116を開閉して、キャラクターが瞬きをするが如くに、瞼部116を上下方向に沿って移動可能に設けられている。また、演出役物115は、キャラクターの頭部を左右方向に移動可能に設けられている。
In FIG. 2, on the right side of the
また、枠部材110において、操作ハンドル113の左側には、遊技者により操作されるチャンスボタン117が設けられている。チャンスボタン117の操作は、例えば、遊技中における特定のリーチ演出に際し、チャンスボタン117の操作を促すガイダンスが表示されている間だけ有効となる。
In the
加えて、枠部材110には、演出効果音又は不正を知らしめる音響を出力するスピーカ277(図3参照)が組み込まれている。このスピーカ277は、高音・中音・低音の領域を出力できるタイプのものであり、通常演出時は高音・中音・低音をバランスよく出力するが、例えば、特別演出時又は不正等があった場合には、周りによく聞こえるように高音領域を高く出力するように制御される。
In addition, the
次に、本発明の実施の形態1に係るパチンコ遊技機1の電気的構成について、図3に示すブロック図を参照して説明する。パチンコ遊技機1は、電気的な構成上は、制御手段200に、第1始動口検出部221等の各種検出手段や、図柄表示部104等の各種演出手段、役物作動装置231、払出部291、発射部292などが接続されて構成されている。制御手段200は、図3に示す例では、主制御部10と、中間部20と、演出制御部203と、賞球制御部204と、ランプ制御部205とから構成されている。
Next, the electrical configuration of the
(主制御部)
主制御部10は、CPU10aと、ROM10bと、RAM10cと、カウンタ回路(タイマ)(図示略)等を備えている。CPU10aは、パチンコ遊技機1の遊技に係る基本動作を制御し、ROM10bに予め記憶されているプログラム(プログラムコード)に基づき、遊技内容の進行に伴う基本処理を実行する。ROM10bには、CPU10aがパチンコ遊技機1の遊技内容の進行に伴う基本処理を実行するためのプログラムコードが予め記憶されている。ROM10bの全部又は一部は、例えば、図1に示すデータ記憶手段11に対応させることができる。RAM10cは、CPU10aがパチンコ遊技機1の遊技内容の進行に伴う基本処理を実行する際に行う演算処理において、データ等のワークエリアとして機能する。カウンタ回路(タイマ)は、経過時間をカウントする。
この主制御部10では、第1始動口105又は第2始動口120への遊技球の入球を契機として、大当たりの抽選を行うとともに、この抽選結果に基づいて、ROM10bに記憶されている演出に係わるコマンドの選択を行う。
(Main control unit)
The
The
主制御部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に送信する。上記各検出部は、例えば、近接スイッチなどを用いて構成することができる。
On the input side of the
また、この主制御部10の出力側には、役物作動装置231が接続されている。本実施の形態1では、役物作動装置231は、第1大入賞口開閉扉109a及び第2大入賞口開閉扉129aをそれぞれ開閉させる第1大入賞口開閉ソレノイド109b及び第2大入賞口開閉ソレノイド129bと、第2始動口120を開閉させる第2始動口開閉ソレノイド120bとから構成されている。
Further, an
役物作動装置231は、主制御部10によって制御され、長当たり遊技時に、第1大入賞口開閉ソレノイド109bを通電して第1大入賞口開閉扉109aを開放したり、短当たり遊技及び小当たり遊技時に、第2大入賞口開閉ソレノイド129bを通電して第2大入賞口開閉扉129aを開放したり、また、上記普通図柄の当選によって第2始動口開閉ソレノイド120bを通電して第2始動口120を開閉したりする。
The
また、主制御部10は、以上概略説明した、パチンコ遊技機1の遊技に係る基本動作制御の他、本実施の形態1の特徴である、不正防止のために主制御部10の認証に関する処理を実行する手段を備えている。この認証に関する処理を実行する手段は、CPU10aがROM10bに予め記憶されているプログラム(プログラムコード)を実行することにより実現される。この認証に関する処理は、以下に示す[1]〜[7]の通りであるが、[3]及び[5]における暗号化処理については必要に応じて実行される。
In addition to the basic operation control related to the game of the
[1]分割数の決定
主制御部10は、ROM10bに予め記憶されている所定のデータ、例えば、所定のプログラムコード(命令コードや固定データ)を分割する数である分割数を決定する。以下、所定のデータの一例として、所定のプログラムコードを用いて説明する。主制御部10は、例えば、乱数生成回路(図示略)や上記プログラムコードを構成する乱数生成プログラムによって生成された値を分割数としたり、主制御部10の他の処理において生成される値を所定のタイミングで参照し、その値を分割数としたりすることができる。この場合、分割数の上限を予め設定しておいてもよい。上記分割数を決定する処理を実行する手段は、例えば、図1に示す決定手段12に対応させることができる。本実施の形態1では、主制御部10は乱数を用いて分割数を決定しているが、これは分割数を決定するための一実施例であって、乱数を用いないで分割数を決定するようにしてもよい。例えば、主制御部10にあらかじめ分割数を決定するためのテーブルを保持させておき、分割数を決定するタイミング等で主制御部10がそのテーブルから予め定めた規則に応じて分割数を取得するようにしてもよい。
[1] Determination of the number of divisions The
[2]検査値の生成
次に、主制御部10は、ROM10b内の所定のプログラムコードが予め記憶されている記憶領域を[1]の処理において決定された分割数で分割する。そして、主制御部10は、ROM10bの分割された各記憶領域に記憶されているプログラムコードに対して2項演算を行って、主制御部10を認証するための分割数分の検査値を生成する。なお、検査値の生成方式(例えば、検査値の生成に用いる結合法則を満たす2項演算の種類等)については、前回の認証データ付制御信号送信時に決定されている。
[2] Generation of Inspection Value Next, the
「結合法則を満たす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項演算を以下では半群演算と呼ぶことにする。半群演算としては、例えば、加算、乗算、排他的論理和がある。
“Binary operation satisfying the join rule” means that among the binary operations that perform operations between two terms, if the operator is § and any number is a, b, c, formula (1) holds Binary operation.
(A§b) §c = a§ (b§c) = a§b§c (1)
In other words, “binary operation satisfying the combination rule” is a case where the operation objects a, b, and c are divided as operation objects to be subjected to binary operation at a time and are operated by the operator §. Is also a binary operation in which the obtained calculation results have the same value. However, an operator ♪ whose operation result of a ♪ b is always 0 for any number a and b is excluded from the operator §. Since a defined set of binary operations that satisfy the above-mentioned combination rule is generally called a semigroup, such a binary operation is hereinafter referred to as a semigroup operation. Examples of the semi-group operation include addition, multiplication, and exclusive OR.
以下、半群演算の簡単な具体例を2つ挙げる。
まず、所定のプログラムコードを分割して得られた各データブロックを構成する各データをD0,D1,D2,・・・,DN(Nは各データブロックの最終アドレス)とする。
(A)半群演算として加算(演算子+)が選択されている場合は、式(2)を計算する。
D0+D1+D2+・・・+DN …(2)
(B)半群演算として排他的論理和(演算子XOR)が選択されている場合は、式(3)を計算する。
D0 XOR D1 XOR D2 XOR ・・・ DN …(3)
Hereafter, two simple specific examples of the semigroup operation will be given.
First, each data constituting each data block obtained by dividing a predetermined program code is defined as D0, D1, D2,..., DN (N is the final address of each data block).
(A) If addition (operator +) is selected as the semi-group operation, equation (2) is calculated.
D0 + D1 + D2 + ... + DN (2)
(B) When an exclusive OR (operator XOR) is selected as the semi-group operation, Equation (3) is calculated.
D0 XOR D1 XOR D2 XOR ... DN (3)
各検査値の生成方法について、図4を参照して説明する。
図4は、主制御部10における検査値の生成方法を模式的に示す説明図である。検査値は、主制御部10がROM10bに予め記憶されている所定のデータを用いて生成する。より詳細には、主制御部10は、ROM10bの所定の記憶領域を任意の分割数で分割した上で、分割した記憶領域にそれぞれ記憶されたプログラムコードに対して結合法則を満たす2項演算(半群演算)を行って検査値を算出する。半群演算としては、上記のように、例えば、加算、乗算や排他的論理和演算などが挙げられる。
A method of generating each inspection value will be described with reference to FIG.
FIG. 4 is an explanatory diagram schematically showing a method for generating inspection values in the
≪検査値生成の計算例≫
検査値生成の計算の一例を以下に示す。
図4に示すプログラムコード記憶領域400には、12個のプログラムコード(「0x01」〜「0x09」,「0x0A」〜「0x0C」)が記憶されている。分割数を3とした場合、プログラムコード記憶領域400は、例えば、4個のプログラムコードを含む第1ブロック400a、3個のプログラムコードを含む第2ブロック400b、5個のプログラムコードを含む第3ブロック400cに分割できる。主制御部10は、これらの各ブロックに記憶されたプログラムコードに対してそれぞれ半群演算を行って検査値を算出する。なお、上記ブロック内のプログラムコード数は例示である。分割したブロック内のプログラムコード数は固定値としてもよいし、ランダムに決定してもよい。
≪Example of inspection value generation calculation≫
An example of the calculation for inspection value generation is shown below.
In the program
例えば、半群演算として式(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」がそれぞれ得られる。
For example, if the method using the addition of Expression (2) as the semi-group operation is Method A, the four program codes “0x01”, “0x02”, “0x03”, “0x04” stored in the
また、例えば、半群演算として式(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」がそれぞれ得られる。
Further, for example, if the method using the exclusive OR operation of Expression (3) as the semi-group operation is method B, the four program codes “0x01”, “0x02”, “0x03” stored in the
本実施の形態1では、主制御部10は、後述するように、出力する制御コマンドが所定の制御コマンドである場合に、主制御部10を認証するためのデータを所定の制御コマンドを示すデータ(制御コマンドデータ)に付加して中間部20に送信する。ここでは、制御コマンドデータに付加される主制御部10を認証するためのデータを総称して「認証データ」と呼ぶことにする。すなわち、認証データは、各検査値、又はこれら検査値に対して暗号化処理を施すことにより得られたデータ(個体認証データ)と、動作コード、相対時間コード及び同期コードの各コード又はこれらの各コードに対して暗号化処理を施すことにより得られたデータ(動作認証データ)である。以下、本実施形態では、認証データは、検査値に暗号化処理を施して得られたデータと、各コード又はこれらの各コードに対して暗号化処理を施すことにより得られたデータとして説明するが、本発明はこれに限定されず、検査値及び各コードそのものを認証データとして認証に関する処理を行ってもよい。この場合、主制御部10において検査値に暗号化処理を施す必要がなく、中間部20で検査値及び各コードを抽出する際に各認証データの復号化処理を施す必要がないため、認証に関する処理を簡易化することができ、処理負荷の増大を抑制することができる。
In the first embodiment, as will be described later, when the output control command is a predetermined control command, the
ここで、所定の制御コマンドとは、パチンコ遊技機1の通電中において、パチンコ遊技機1の動作(例えば、初期化動作や演出動作あるいは客待ちデモンストレーションなど)を指示するために、各種の制御コマンドの中から任意に選定した特定の制御コマンドをいう。所定の制御コマンドとは、より具体的に例を挙げれば、大当たり状態の継続中に送信される大当たりコマンド、大当たり状態の処理を開始させるための大当たり開始コマンド、大当たり状態の処理を終了させるための大当たり終了コマンド、周辺部に大当たり前のリーチ状態の処理を実行させるための大当たりリーチコマンド、周辺部に電源投入時の処理を実行させるための電源投入コマンド、周辺部に非遊技状態におけるデモ表示を実行させるための客待ちデモコマンド、周辺部に非遊技状態におけるデモ表示を停止させるための客待ちデモ停止コマンド、周辺部に抽選時の抽選結果がはずれの場合の処理を実行させるためのはずれコマンド、普通電動役物(電動チューリップ)の開放抽選やいわゆるフェイクと呼ばれる大当たりと同様に特別電動役物が短時間だけ開放するような小当たり状態の継続中に送信される小当たりコマンドなどをいう。所定の制御コマンドとしては、上記のものの他、例えば、電源オフコマンド、はずれリーチコマンド、はずれ非リーチコマンド、ラウンド開始コマンド、ラウンド終了コマンドなどがある。
Here, the predetermined control command refers to various control commands for instructing the operation of the pachinko gaming machine 1 (for example, initialization operation, performance operation, customer waiting demonstration, etc.) while the
上記検査値を生成する処理を実行する手段は、例えば、図1に示す検査値生成手段13に対応させることができる。 The means for executing the process for generating the inspection value can correspond to, for example, the inspection value generation means 13 shown in FIG.
[3]個体認証データの生成
主制御部10は、上記[2]の処理で生成した各検査値に対して暗号化処理を施し、制御コマンド(制御コマンドデータ及び付随データ)に付加する個体認証データを生成する。ここで、暗号化方式としては、例えば、シーザー暗号、単一換字暗号、エニグマなど、比較的簡易なものを採用することができる。以下において用いる暗号化方式についても同様である。シーザー暗号は、メッセージ(平文)を構成する文字を一定の文字数だけずらすことによって暗号化する暗号化方式である。単一換字暗号は、平文を構成する文字を別の文字に変換することによって暗号化する暗号化方式である。エニグマは、鍵暗号鍵を用いたエニグマの設定、エニグマを用いた通信鍵の暗号化、通信鍵を用いたエニグマの再設定、平文の暗号化及び、暗号化された通信鍵と暗号化された平文の結合による通信文の生成という過程を経る暗号化方式である。
[3] Generation of Individual Authentication Data The
主制御部10において、各検査値に対して暗号化処理を施すことにより得た各個体認証データを中間部20に送信した場合には、何らの処理も施していない各検査値をそのまま中間部20に送信する場合と比較して、各検査値を不正行為者により分析される可能性を低減することができる。なお、主制御部10は、各検査値に対して異なる暗号化処理を施してもよい。
In the
なお、上記暗号化処理に対して、更に所定の加工処理を加えてもよい。所定の加工処理としては、例えば、暗号化処理が施された各検査値を用いた四則演算又は論理演算等を行って所定のデータ長を有する演算データを得る処理、これらの四則演算又は論理演算等により得られた演算データのビット配列を並び変える処理、上記演算データのビットをシフト又はロテイト(rotate)する処理、暗号化処理が施された各検査値を構成する複数のビットを取り出して所定の規則に従って並べて1つのデータを生成する処理などが考えられる。 A predetermined processing process may be further added to the encryption process. As the predetermined processing, for example, a process of obtaining arithmetic data having a predetermined data length by performing four arithmetic operations or logical operations using each inspection value subjected to encryption processing, these four arithmetic operations or logical operations A process for rearranging the bit arrangement of the operation data obtained by the above, a process for shifting or rotating the bits of the operation data, and a plurality of bits constituting each inspection value subjected to the encryption process For example, a process of generating one piece of data in accordance with the above rule can be considered.
また、主制御部10は、暗号化処理等の方式を予め複数用意しておき、[1]の処理において決定された今回の分割数(データブロックの数)に基づいて、複数の暗号化処理の中から次回の認証データの生成に用いる1個の暗号化処理を選択するようにしてもよい。具体的には、主制御部10は、例えば、今回の分割数が奇数の場合は次回の暗号化処理を今回用いた暗号化処理と異なるものを選択し、今回の分割数が偶数の場合は次回の暗号化処理を今回用いた暗号化処理と同一のものを選択する。
Further, the
≪個体認証データ生成の計算例≫
個体認証データ生成の計算の一例を以下に示す。
図4に示す第1検査値「0x0A」から個体認証データを生成することを例にとって説明する。上記の暗号化処理として、検査値に制御コマンドデータを加算し、次に、得られたデータから「0x03」を減算する処理を採用する。主制御部10は、第1の検査値に上記の暗号化処理を施して個体認証データを生成する。
≪Calculation example for generating individual authentication data≫
An example of calculation for generating individual authentication data is shown below.
An example of generating individual authentication data from the first inspection value “0x0A” shown in FIG. 4 will be described. As the encryption process, a process of adding control command data to the inspection value and then subtracting “0x03” from the obtained data is employed. The
この個体認証データを付加する制御コマンドデータ及び付随データの値を仮に「0xEE」、及び「0x01」とする。暗号化処理では、第1検査値「0x0A」に制御コマンドデータの値「0xEE」を加算するので、「0xF8」が得られる。次に、この「0xF8」から「0x03」を減算すると、個体認証データの値「0xF5」が得られる。
同様に、図4に示すプログラムコード記憶領域400に記録された、第2検査値「0x12」から個体認証データを生成すると「0xF2」の値、第3検査値「0x32」から個体認証データを生成すると「0x1D」の値となる。
The values of the control command data and the accompanying data to which the individual authentication data is added are assumed to be “0xEE” and “0x01”. In the encryption process, since the value “0xEE” of the control command data is added to the first inspection value “0x0A”, “0xF8” is obtained. Next, by subtracting “0x03” from this “0xF8”, the value “0xF5” of the individual authentication data is obtained.
Similarly, when individual authentication data is generated from the second inspection value “0x12” recorded in the program
なお、個体認証データとともに送信される制御コマンドデータ又はその付随データの少なくともいずれか一方のデータと検査値とを併せたデータに暗号化処理を施すことにより個体認証データを生成してもよい。また、個体認証データには、個体認証データとともに送信される制御コマンドデータや付随データに関するデータを含ませてもよい。制御コマンドデータや付随データに関するデータとは、制御コマンドデータや付随データに対して上記加工処理や、ハッシュ関数による演算やパリティチェック、巡回冗長検査(Cyclic Redundancy Check:CRC)、チェックサムなどの演算を行って得られた値などである。 Note that the individual authentication data may be generated by performing an encryption process on the data including the inspection value and the control command data transmitted along with the individual authentication data or at least one of the accompanying data. The individual authentication data may include control command data transmitted along with the individual authentication data and data related to the accompanying data. Data related to control command data and accompanying data is the above processing, control using a hash function, parity check, cyclic redundancy check (CRC), checksum, etc. for control command data and accompanying data. It is the value obtained by going.
個体認証データとともに送信する制御コマンドデータや付随データを用いて個体認証データを生成することにより、不正な制御部によって個体認証データを再利用された場合であっても、個体認証データと制御コマンドの整合がとれず、不正を検知することができる。また、誤動作により制御コマンドデータが変更された場合であっても、認証は成功しないため、上記雑音等に起因して変更された制御コマンドデータに対応した制御コマンドの実行を防止することもできる。 By generating the individual authentication data using the control command data and accompanying data transmitted together with the individual authentication data, even if the individual authentication data is reused by an unauthorized control unit, the individual authentication data and the control command Mismatch is not possible and fraud can be detected. Further, even if the control command data is changed due to a malfunction, since the authentication is not successful, execution of the control command corresponding to the control command data changed due to the noise or the like can be prevented.
また、個体認証データに制御コマンドデータや付随データに関するデータを含ませる場合、主制御部10は制御コマンドデータや付随データに関するデータと検査値とを合わせて暗号化処理を施して、個体認証データを生成する処理を行ってもよい。
Further, when including data related to control command data and accompanying data in the individual authentication data, the
なお、主制御部10が、各検査値を生成するタイミングと、各検査値を用いて個体認証データを生成するタイミングとは、特に制限はなく、主制御部の制御プログラム中に、各検査値を生成する処理と、各検査値を用いて個体認証データを生成する処理とを行うプログラムを組み込んでおけばよい。
The timing at which the
[4]コードの決定
主制御部10は、主制御部10の動作の継続性を示す情報を含む3種類のコード(動作コード、相対時間コード、同期コード)のうち動作認証データを生成するために使用されるコードを決定する。
そこで、主制御部10において主制御部10による制御コマンドの送信が継続して実行されていることを確認するための情報である動作認証データとして生成される動作コード、相対時間コード及び同期コードについて説明する。
[4] Code Determination The
Therefore, the operation code, the relative time code, and the synchronization code that are generated as the operation authentication data, which is information for confirming that the
≪動作コード≫
動作コードは、例えば、プログラム機能の処理番号(機能番号)、個体認証データの検査値生成処理の実行回数(認証回数)、所定の法則で変動する値などによって構成されたコードである。中間部20は、この動作コードを参照することにより、主制御部10の動作(ここでは、制御コマンドの送信)順序が連続して行われているか否かを判断することができる。以下では、動作コードの一例として機能番号と認証回数によって構成されるコードを説明する。
≪Operation code≫
The operation code is, for example, a code composed of a program function process number (function number), an individual authentication data test value generation process execution number (authentication number), a value that varies according to a predetermined rule, and the like. The
まず、機能番号を用いて動作コードを生成する場合について説明する。主制御部10では、実行される各種のプログラム(例えば、大当たりコマンド等)において所定の機能を実行するための処理毎に機能番号が予め重複なく割り当てられている。主制御部10は、機能番号が割り当てられたプログラムを実行すると、所定の機能を実行する毎に機能番号を取得する。そして、主制御部10は、取得した機能番号をRAM10cの所定の領域に、取得した順番が判別可能な状態で記憶する。例えば、主制御部10は、取得した複数の機能番号を、取得した順番に並べて記憶する。このようにして取得された順番に並べられて記憶された複数の動作コードは、主制御部10が各種のプログラムを実行した際の動作順序を示しており、主制御部10の動作の継続性を示す情報となっている。
First, a case where an operation code is generated using a function number will be described. In the
ここで、上記機能番号の割り当て方の具体例について説明する。機能番号は、例えば、大当たりリーチコマンド、大当たり開始コマンド及びそれに続く大当たりコマンド(例えば、15ラウンド分)等の連続して生成される制御コマンドに対して割り当てることができる。この場合、大当たりリーチコマンドに機能番号1を割り当てる。また、大当たり開始コマンドに機能番号2を割り当てる。そして、15ラウンドの大当たりコマンドの各コマンドのそれぞれに機能番号3〜18を割り当てる。このように、時系列的に連続して発生する制御コマンドに連続する機能番号を割り当てて、連続して発生する機能番号の連続性を検査することにより、主制御部10の動作順序の連続性を認証することができる。なお、機能番号は、連続して実行されるプログラムの所定の機能毎に割り当てればよく、そのプログラムの所定の機能の粒度(granularity)については特に制限されない。
Here, a specific example of how to assign the function numbers will be described. The function number can be assigned to control commands generated in succession such as a jackpot reach command, a jackpot start command, and a subsequent jackpot command (for example, for 15 rounds). In this case,
次に、認証回数を用いて動作コードを生成する場合について説明する。認証回数とはパチンコ遊技機1の電源がオンになってからの認証処理の総回数であり、認証処理とは個体認証処理と動作認証処理を併せた処理の総称である。すなわち、認証回数とは、主制御部10が個体認証値の生成処理を行った回数である。主制御部10は、この認証回数を動作コードとしてRAM10cの所定の領域に記憶している。主制御部10は、認証処理が行われる度にRAM10cに記憶された認証回数の値に+1して、新たな認証回数の値、すなわち新たな動作コードを生成し、この動作コードをRAM10cに記憶する。このようにして生成された認証回数を用いた動作コードは、主制御部10の動作の継続性を示す情報となっている。
Next, a case where an operation code is generated using the number of authentications will be described. The number of times of authentication is the total number of authentication processes since the power of the
なお、動作コードは、主制御部10による制御コマンド送信の動作順序に関する情報以外にも、動作を行うための制御コマンドの実行プログラムの動作手順に対応して設定されている機能番号などの情報を含んでいてもよい。このとき、動作順序に関する複数の情報をそのまま含んでもよいし、これらの情報に所定の演算を施して暗号化した値を含んでもよい。
The operation code includes information such as a function number set in accordance with the operation procedure of the control command execution program for performing the operation in addition to the information regarding the operation sequence of the control command transmission by the
上述したように、所定の制御コマンドを出力した際の主制御部10がどのような動作中であるかを認証する動作コード(例えば、機能番号や認証回数等)を用いることによって、動作コードによって認証した動作順序が連続していなければ、主制御部10から送信された制御コマンド以外の不正な制御基板から送信された制御コマンドであると判断し、不正制御を検知することができる。
As described above, by using an operation code (for example, a function number, the number of times of authentication, etc.) for authenticating what operation the
≪相対時間コード≫
相対時間コードは、例えば、計時情報からある基準値を設定し、この基準値からの差分値や累積値などによって表されるコードである。主制御部10は、予め指定されたタイミングで取得した計時情報を含んだ複数の相対時間コードを生成する。なお、主制御部10のコード生成手段14における、計時情報の取得タイミングは、時間軸上では固定されない。例えば、賞球すべき事象が発生したタイミングをトリガに計時情報を取得すると設定した場合、いつ賞球事象が発生するかはわからないため、時間情報の取得タイミングを時間軸上で規定することはできない。
≪Relative time code≫
The relative time code is, for example, a code that sets a certain reference value from the time measurement information and is represented by a difference value or a cumulative value from the reference value. The
また、主制御部10のコード生成手段14の計時機能は、電源投入時やリセット時など、遊技動作開始時をトリガとして計時を開始するというシンプルなものでよい。コード生成手段14の場合、例えば、計時を開始する際のリセット処理やクリア処理などの初期値の固定、或いは設定を目的とする初期化処理機能を備えておく必要がない。また、計時開始後は、賞球すべき事象が発生した場合など、ランダムに起きる特定の事象をトリガとして計時情報を出力すればよい。したがって、非常に簡素な構成で実現することができ、処理負荷が軽いという特徴を備えている。
In addition, the clocking function of the code generation means 14 of the
≪同期コード≫
主制御部10は、制御コマンドの送信に伴って連続して出力されるパケット情報(連続パケット情報)と、制御コマンドの送信に伴って所定の間隔ごとに出力されるパケット情報(間欠パケット情報)のいずれかを用いて同期コードを生成する。
<< Synchronization code >>
The
連続パケット情報とは、主制御部10によって生成される少なくとも2つの(2回分の)連続するタイミングによって出力されたパケット情報である。ここで述べている出力のタイミングとは、主制御部10の処理速度に応じた出力タイミングである。すなわち、1クロックタイミングごとにパケット情報の出力が可能であれば1クロックタイミングごとが出力タイミングとなり、4クロックタイミングごとにパケット情報の出力が可能であれば、4クロックタイミングごとが出力タイミングとなる。
The continuous packet information is packet information output by at least two (two times) continuous timings generated by the
連続パケット情報を用いて同期コードを生成する場合、それぞれのパケット情報は所定間隔の相関関係を有している。このため、動作認証手段23では、複数のパケット情報同士の相関関係を求めることによって主制御部10の動作の継続性を認証することができる。
When a synchronization code is generated using continuous packet information, each packet information has a correlation of a predetermined interval. Therefore, the
また、間欠パケット情報とは、主制御部10によって生成されるパケット情報のうち少なくとも2つの(2回分の)出力タイミング(あらかじめ設定された任意の間隔ごとの出力タイミング)によって出力されたパケット情報である。ここで述べているあらかじめ設定された任意の間隔ごとのタイミングとは、例えば、間欠的に連続したタイミングを意味している。例えば、1クロックタイミングごとや4クロックタイミングごとといったクロックタイミングを基準としてもよいし、1秒ごとや0.5秒ごとなどの時間を基準としてもよい。
The intermittent packet information is packet information output at least two (two times) output timings (output timings at predetermined intervals) among the packet information generated by the
間欠パケット情報を用いて同期コードを生成する場合、それぞれのパケット情報は、主制御部10の制御コマンドの送信に伴って、任意の間隔、例えば、所定の時間間隔や所定のクロック数間隔、又は命令実行数間隔などに設定された出力タイミングで出力される。このため連続した出力タイミングのパケット情報を比較した場合に、パケット情報同士の相関関係を求めることによって主制御部10の動作の継続性を認証する。なお、同期コードは、パケット情報として取得した値をそのまま利用してもよいし、これらの値に所定の演算を施して暗号化した値を利用してもよい。
When generating a synchronization code using intermittent packet information, each packet information is transmitted at an arbitrary interval, for example, a predetermined time interval, a predetermined clock number interval, or the like, along with transmission of a control command of the
次に、上述した3種類のコードの中から動作認証データを生成するために使用されるコードの決定方法(選択方法)について説明する。図5は、主制御部10におけるコードの決定方法を模式的に示す説明図である。分割数に基づいてコードを選択する方法としては、例えば、図5に示すような方法が挙げられる。
Next, a code determination method (selection method) used for generating operation authentication data from the above-described three types of codes will be described. FIG. 5 is an explanatory diagram schematically showing a code determination method in the
≪選択例1:分割数/Xの余り値≫
選択例1では、分割数として決定された値を特定値Xで除算した際の余り値に基づいて、コードを選択する。例えば、特定値X=4、分割数=7であれば余り値=3となり、図5の選択例1では動作認証のためのコードとして同期コードが選択(決定)される。
<< Selection example 1: Number of divisions / Remainder value of X >>
In selection example 1, a code is selected based on a remainder value obtained by dividing a value determined as the number of divisions by a specific value X. For example, if the specific value X = 4 and the number of divisions = 7, the remainder value = 3, and in the selection example 1 in FIG. 5, the synchronization code is selected (determined) as the code for operation authentication.
≪選択例2:前回の分割数−今回の分割数の絶対値≫
選択例2では、前回決定された分割数から今回決定された分割数を減算した際の余り値に基づいて、コードを選択する。例えば、前回の分割数=3、今回の分割数=4であれば、絶対値|−1|=1となり、図5の選択例2では動作認証のためのコードとして相対時間コードが選択(決定)される。
≪Selection example 2: previous division number−absolute value of current division number≫
In selection example 2, a code is selected based on a remainder value obtained by subtracting the currently determined number of divisions from the previously determined number of divisions. For example, if the previous division number = 3 and the current division number = 4, the absolute value | −1 | = 1, and in the selection example 2 in FIG. 5, the relative time code is selected (determined) as the code for operation authentication. )
なお、上述した選択方法はあくまで一例であって、動作認証データを生成するために使用されるコードの選択方法はこれだけに限られない。 Note that the selection method described above is merely an example, and the method for selecting a code used to generate the operation authentication data is not limited to this.
[5]動作認証データの生成
主制御部10は、上記[4]の処理で選択したコードに対して暗号化処理を施し、所定の制御コマンドデータ及び付随データに付加する動作認証データを生成する。ここで、暗号化方式としては、上記[3]の個体認証データの生成の際に用いた方式と同様のものが考えられる。なお、主制御部10は、各コードに対して異なる暗号化処理を施してもよい。
[5] Generation of operation authentication data The
また、主制御部10は、暗号化処理等の方式を予め複数用意しておき、[1]の処理において決定された今回の分割数(データブロックの数)に基づいて、複数の暗号化処理の中から次回の動作認証データの生成に用いる1個の暗号化処理を選択するようにしてもよい。具体的には、主制御部10は、例えば、今回の分割数が奇数の場合は次回の暗号化処理を今回用いた暗号化処理と異なるものを選択し、今回の分割数が偶数の場合は次回の暗号化処理を今回用いた暗号化処理と同一のものを選択する。
Further, the
[6]制御信号への認証データの付加
主制御部10は、中間部20を介して演出制御部203に送信される制御コマンドデータ及び付随データへ、個体認証データ及び動作認証データを付加して認証データ付制御信号を生成する。
[6] Addition of authentication data to control signal The
[7]制御信号の送信
主制御部10は、認証データ付制御信号を中間部20に送信する。
[7] Transmission of control signal The
ここで、主制御部10が中間部20に送信する制御信号のデータフォーマットの一例について、図6に示す模式図を参照して説明する。図6(1)に示すように、主制御部10が出力する通常の制御信号300には、制御コマンドデータ301及び付随データ302が含まれている。なお、制御コマンドデータ301は、制御コマンド固有のデータである。また、付随データ302は、制御コマンドデータ301に付随するデータであり、例えば、現在の遊技状態を示すデータなど制御コマンドデータ301に対応する処理を実行するために必要な制御データである。
Here, an example of a data format of a control signal transmitted from the
また、本実施の形態1では、説明の簡単化のため、主制御部10は、中間部20に認証データを送信する場合、図6(2)に示すように、制御コマンドデータ301及び付随データ302に加え、個体認証データ303及び動作認証データ304を含んだ認証データ付制御信号310を生成して出力するものとして説明する。なお、主制御部10は、中間部20に認証データを送信する場合、図6(3)に示すように制御コマンドデータ301及び付随データ302に加え、個体認証データ303を含んだ個体認証データ付制御信号311を生成して出力する、或いは、図6(4)に示すように制御コマンドデータ301及び付随データ302に加え、動作認証データ304を含んだ動作認証データ付信号312を生成して出力するようにしてもよい。
In the first embodiment, for simplification of description, when the
また、図6には示していないが、通常の制御信号300及び認証データ付制御信号310には、一般的なデータ通信で伝送される制御信号と同様に、BCC(Block Check Character)等が含まれている場合もある。BCCは、データ伝送の過程で発生するデータ誤りなどをチェックするために、伝送ブロックごとに付加される誤り検出符号である。個体認証データ付制御信号311、動作認証データ付制御信号312、後述する図7に示す通常の制御信号320、及び中間処理情報付制御信号321、322、323についても同様である。
Although not shown in FIG. 6, the
なお、認証データ付制御信号は、図6に示す順番に限らず、例えば個体認証データ303又は動作認証データ304を制御信号の先頭にしたり、制御コマンドデータ301と付随データ302との間に個体認証データ303、又は動作認証データ304を挿入してもよい。
Note that the control signal with authentication data is not limited to the order shown in FIG. 6. For example, the
また、制御コマンドデータ301及び付随データ302とは別個に認証データを出力することとしてもよい。例えば、大当たりコマンドデータを含む制御信号を送信した後、3回目の制御信号送信時に認証データを付加する、などとしてもよい。
Further, the authentication data may be output separately from the
さらに、認証データ付制御信号において個体認証データ303と、動作認証データ304は必ずしも隣り合う必要はなく、各認証データの間に制御コマンドデータ301及び付随データ302を配置させてもよい。
Further, in the control signal with authentication data, the
このように、認証データを制御信号に含めることによって、認証データ単体で送信する場合と比較して、主制御部10と演出制御部203との間の通信負荷の増大を抑えることができる。また、認証データを制御信号に含めることによって、認証データを単体で送信する場合と比較して、通信データ中から認証データが抽出され、解析されてしまう危険性を低減することができる。
As described above, by including the authentication data in the control signal, an increase in communication load between the
(中間部)
中間部20は、CPU20aと、ROM20bと、RAM20c等を備えている。CPU20aは、ROM20bに予め記憶されているプログラム(プログラムコード)に基づき処理(以下、中間処理という)を実行する。ROM20bには、CPU20aが中間処理を実行するためのプログラムコードと、主制御部10を構成するROM10bに予め記憶されている分割対象の所定のプログラムコードを用いて、複数の半群演算をそれぞれ行って得られた複数の期待値とが予め記憶されている。ROM20bの記憶領域のうち、上記複数の期待値が予め記憶されている記憶領域は、例えば、図1に示す演算値記憶手段21に対応させることができる。RAM20cは、CPU20aが中間処理を実行する際に行う演算のワークエリアとして機能する。
(Middle part)
The
本実施の形態1の中間部20は、上述した構成によって、不正防止のために主制御部10の認証に関する処理を実行する。この認証に関する処理は、以下に示す[1]〜[7]の通りである。
The
[1]制御信号の受信
中間部20は、主制御部10から、制御コマンドデータ301及び付随データ302のみからなる通常の制御信号300、又は、制御コマンドデータ301、付随データ302、個体認証データ303及び動作認証データ304からなる認証データ付制御信号310を受信する。なお、前述したように、制御コマンドデータ301、付随データ302及び個体認証データ303からなる個体認証データ付制御信号311や、制御コマンドデータ301、付随データ302及び動作認証データ304からなる動作認証データ付制御信号312を受信してもよい。なお中間部20は、通常の制御信号300を受信した場合には、演出制御部203にそのまま送信する。
[1] Reception of Control Signal The
[2]検査値及びコードの抽出
中間部20は、認証データ付制御信号310から個体認証データ303及び動作認証データ304を抽出する。次に、中間部20は、各認証データ生成時に使用した暗号化処理に対応する復号化処理を抽出した個体認証データ303及び動作認証データ304に施し、検査値及びコードを抽出する。そして、中間部20は、抽出した検査値及びコードをRAM20cの所定の記憶領域(検査値用メモリ及びコード用メモリ)に記憶する。
[2] Extraction of Test Value and Code The
[3]個体認証
中間部20は、検査値用メモリ内に記憶されているすべての検査値に対して、以下に示す順序で半群演算を行うことにより、主制御部10が正規の主制御部であるか否かについて個体認証を行う。
{1}中間部20は、上記検査値用メモリ内に記憶されているすべての検査値を用いて半群演算(以下、結合処理という)を行う。
{2}中間部20は、演算値記憶手段21に予め記憶されている複数の期待値から予め定められたルールに従って決定される半群演算に対応する期待値をROM20bの所定の記憶領域から読み出す。
[3] Individual authentication The
The {1}
{2} The
{3}中間部20は、上記{1}の処理における演算結果(以下、結合結果という)と、上記{2}の処理で読み出した期待値が一致するか否か判断する(以下、照合処理という)。
中間部20は、結合結果と期待値が一致した場合には、個体認証に成功したと判断する。
半群演算は上記結合法則を満たしているため、主制御部10のROM10bに予め記憶されている所定のプログラムコードのすべてに対して半群演算を行って得られた結果である期待値と、所定のプログラムコードから生成された分割数分の検査値に対して半群演算を行って得られた結合結果とは一致する。これにより、中間部20は、主制御部10の正当性を認証する。
一方、中間部20は、結合結果と期待値が一致しなかった場合には、個体認証に成功しなかったと判断する。
The {3}
The
Since the semi-group operation satisfies the above combination rule, an expected value that is a result obtained by performing the semi-group operation on all of the predetermined program codes stored in advance in the
On the other hand, if the combined result and the expected value do not match, the
{4}{3}の処理で個体認証に成功した場合、中間部20は、個体認証が成功したことを示す認証結果を生成する。
{5}中間部20は、上記検査値用メモリ内に記憶されているすべての検査値を消去する。
When the individual authentication is successful in the processing of {4} {3}, the
{5} The
{6}{3}の処理で個体認証が成功しなかった場合、中間部20は、主制御部10から受信した個体認証データの数が所定数以上か否かを判断する。なお、所定数とは、今回の分割数以上かつプログラムコード記憶領域400(図4参照)に記憶されているプログラムコードを分割可能な数(最大分割数)以下の範囲内の任意の数である。
{6−1}受信した個体認証データの数が所定数未満の場合、中間部20は、まだ個体認証が行える段階ではないと判断して認証結果に換えて、認証中途データとして、例えば、認証結果のデータ長と同一のデータ長を有する任意の値(例えば、オール0又はオール1)を生成する。
{6−2}受信した個体認証データの数が所定数以上の場合、中間部20は、個体認証が成功しなかったと判断して、個体認証が成功しなかったことを示す認証結果を生成する。
If the individual authentication is not successful in the process of {6} {3}, the
{6-1} If the number of received individual authentication data is less than the predetermined number, the
{6-2} If the number of received individual authentication data is a predetermined number or more, the
≪期待値生成の計算例≫
期待値の生成方法について、図4を参照して説明する。
中間部20は、プログラムコード記憶領域400に記憶された分割対象の所定のプログラムコード全体に対して半群演算を行った値を期待値として保持している。例えば、方式Aの場合の期待値は「0x01」〜「0x0C」の和である「0x4E」となる。また、方式Bの場合の期待値は「0x01」〜「0x0C」の排他的論理和である「0x0C」となる。中間部20では、主制御部10による検査値生成方法である半群演算の数と同数の期待値を保持している。
≪Example of expected value generation calculation≫
An expected value generation method will be described with reference to FIG.
The
中間部20が照合に用いる期待値は、例えば、製造時など、予め中間部20を構成するROM20bの所定の記憶領域に記憶させてもよいが、これに限定されず他の構成部から中間部20に送信することとしてもよい。他の構成部としては、例えば、賞球制御部204や期待値を生成するための専用の処理部(以下、期待値算出部という)などがある。なお、期待値算出部は、予め記憶されている期待値を中間部20に送信してもよい。また、外部接続用インターフェイス(図示略)を介して、外部の機器から中間部20や期待値算出部に期待値を算出するために必要な係数などを送信してもよい。このように、中間部20を構成するROM20bの所定の記憶領域に、予め期待値を記憶させずに、他の構成部から取得することとすれば、検査値を事後的に変更することが可能となる。
The expected value used by the
[4]動作認証
中間部20は、抽出したコードに対して、主制御部10が正規の主制御部であるか否かについて動作認証を行う。実施の形態1においては、中間部20は、認証成功時において結合処理の対象となった検査値の数(結合数)に基づいて、動作認証データとして利用されているコードが動作コード、相対時間コード又は同期コードのいずれであるかを特定し、特定したコードを用いて主制御部10を動作認証するものとする。
[4] Operation Authentication The
≪動作コードの認証≫
実施の形態1において動作コードは、前述のように、例えば、プログラム機能の処理番号(機能番号)、個体認証データの検査値生成処理の実行回数(認証回数)、所定の法則で変動する値などによって構成されたコードである。
≪Operation code authentication≫
As described above, the operation code in the first embodiment is, for example, a program function process number (function number), an individual authentication data test value generation process execution number (authentication number), a value that varies according to a predetermined rule, and the like. Is a code constructed by
例えば、動作コードが機能番号を用いて生成されている場合、中間部20は、複数の機能番号が正規の順序で配列されているかを判断する照合処理を行う。照合処理の結果、複数の機能番号が正規の順序で配列されていた場合には、中間部20は、動作認証に成功したと判断する。一方、複数の機能番号が正規の順序で配列されていなかった場合には、中間部20は、動作認証に成功しなかったと判断する。
For example, when the operation code is generated using a function number, the
また、動作コードが認証回数を用いて生成されている場合、中間部20は、例えば、認証回数に施した暗号化処理と同じ暗号化処理を施した値である動作認証用期待値とが一致するか否かを判断する照合処理を行う。照合処理の結果、動作認証データと動作認証用期待値とが一致した場合には、中間部20は、動作認証に成功したと判断する。一方、動作認証データと動作認証用期待値とが一致しなかった場合には、中間部20は、動作認証に成功しなかったと判断する。
When the operation code is generated using the number of authentications, the
なお、動作認証に成功した場合、中間部20は、動作認証が成功したことを示す認証結果を生成して、コード用メモリに記憶されているすべての動作コードを消去する。一方、動作認証に成功しなかった場合、中間部20は、動作認証が成功しなかったことを示す認証結果を生成する。
When the operation authentication is successful, the
≪相対時間コードの認証≫
実施の形態1では、中間部20は、コード用メモリに記憶された相対時間コードに含まれる計時情報同士が連続性を有するか否かに基づいて主制御部10の動作の継続性を認証する。まず、主制御部10では、計時情報からある基準値を設定し、この基準値からの差分値又は累積値として複数の相対時間コードが生成され、中間部20に送信される。そして、中間部20は、受信した相対時間コードの値が時系列的に増加しているか否かにより、主制御部10の動作の継続性を認証する。その結果、中間部20は、相対時間コードの値が時系列的に増加している場合は計時情報同士が連続性を有していると判断し、主制御部10の動作が継続性を有する正しい順序の動作であると認証する。また、中間部20は、相対時間コードによって認証した動作順序が継続した動作であると判定されなかった場合、不正な制御コマンドが送信されている可能性があると判断することができる。
≪Authentication of relative time code≫
In the first embodiment, the
このように、中間部20では、相対時間コードを参照することによって、主制御部10にて実行されている動作が継続して行われているか否かを簡易的に判定することができる。したがって、遊技機への不正行為や誤作動への対策を講じることができる。
As described above, the
なお、主制御部10において相対時間コードに所定の演算が施されている場合、中間部20は、主制御部10の演算処理の内容に応じて所定の演算を行って相対時間コードを生成する。そして、この相対時間コードが、主制御部10の動作が継続していることを表すコードであった場合、主制御部10の動作が正しい順序の動作であると認証する。また、中間部20は、直接相対時間コードを受信した場合には、この相対時間コードを用いて主制御部10の動作順序の認証を行う。
When a predetermined calculation is performed on the relative time code in the
なお、認証が成功した後、中間部20は、コード用メモリに記憶された相対時間コードを消去する。
Note that after the authentication is successful, the
≪同期コードの認証≫
実施の形態1において、同期コードの認証処理では、連続したタイミングで主制御部10が出力した2つのパケット情報同士の相関関係から同期状態を検証する。例えば、1回目のパケット(以下、「パケット1」という)の基本値=0x03、2回目のパケット(以下「パケット2」という)の基本値=0x05の場合、パケット1とパケット2との相関条件(認証成立条件)は「+2」となる。そして、主制御部10から送信するパケット1の検査値は基本値のまま0x03となり、パケット2の検査値はパケット1とパケット2の和、すなわち0x03+0x05となり、「0x08」が中間部20に送信される。
≪Authentication of synchronization code≫
In the first embodiment, in the synchronization code authentication process, the synchronization state is verified from the correlation between two pieces of packet information output by the
次に、中間部20において受信するパケット1は、基本値のまま0x03となり、パケット2の検査値は0x08となる。そして、中間部20では、パケット2の基本値を算出するために、受信したパケット2からパケット1を減算し、0x08−0x03=0x05を求める。
Next, the
パケット1とパケット2との双方の基本値が求まると、2つのパケットの相関関係は、パケット2の基本値とパケット1の基本値の差分、すなわち0x05−0x03となり、相関値は0x02となる。この値は、パケット1の基本値とパケット2の基本値との相関条件(+2であること)を満たすので、中間部20は認証成立と判断する。
When the basic values of both
なお、パケット1とパケット2を用いた演算処理において、演算結果が桁あふれしないように桁数を調整してもよい。また、桁あふれしない数値範囲でパケット1とパケット2の基本値を選定してもよい。さらに、パケット1とパケット2を用いた演算処理において、符号なし演算として計算してもよい。さらにまた、認証強度を上げるために、認証処理ごとに相関条件を変更してもよい。例えば、1回目の相関条件は「+2」、2回目の相関条件は「+5」、3回目の相関条件は「+1」などとしてもよい。但し、上述のような相関関係の変更ルールを適用する場合には、あらかじめ主制御部10と中間部20との相互で共有しておくか、通知する手段や工程を用意しておくようにする。
In the arithmetic
また、単純に連続するパケット情報を主制御部10から中間部20に送信しただけでは、第三者にパケット情報の差分を解析されてしまう可能性もある。したがって、解析を防ぐために基本値に前処理を施してもよい。例えば、パケット情報の基本値に排他的論理和演算などの各種演算処理を施してもよい。また、基本値への前処理は、パケット1とパケット2のような任意の間隔ごとにあらかじめ設定された出力タイミングによって出力された2つのパケット情報のうちのいずれか一方にのみ施してもよいし、双方に施してもよい。
In addition, simply transmitting continuous packet information from the
実施の形態1では、中間部20は、前述のように、主制御部10における検査値生成方法が切り替えられた場合は、結合数に基づいて期待値を切り替えるようにする。例えば、分割数及び結合数が奇数の場合には、主制御部10は検査値生成方法を、中間部20は個体認証に使用する期待値を検査値生成時に使用される半群演算に対応した期待値に切り替え、分割数及び結合数が偶数の場合には、主制御部10の検査値生成方法及び中間部20の期待値は前回使用したものを継続して使用するようにする。分割数は主制御部10のみが知る値であり中間部20は認証が成功した時に初めてその値を結合数として知ることができる。よって不正行為者は、分割数及び結合数を知ることができず、検査値生成方法や期待値の切り替えタイミングを知ることができない。これにより、不正行為者によって検査値が不正に生成されることを防止することができる。
In the first embodiment, the
動作認証処理を実行する手段は、例えば、図1に示す動作認証手段23に対応させることができる。 The means for executing the operation authentication process can correspond to, for example, the action authentication means 23 shown in FIG.
[5]中間処理情報の生成
中間部20は、[3]、[4]の認証処理で得られた認証結果、又は認証結果に対して主制御部10で認証データを生成した際と同様に暗号化処理を施されたものを、中間処理情報として生成する。
[5] Generation of intermediate processing information The
≪中間処理情報生成の計算例≫
中間処理情報305の生成の計算の一例を以下に示す。
中間部20は、すべての値の出現確率が等しい一様乱数(uniform random numbers)により1バイト長の乱数(範囲「0x00」〜「0xFF」)を発生させる。例えば、一様乱数により乱数「0x4B」を発生させたとする。中間部20は、認証に成功した場合、一様乱数により発生させた乱数「0x4B」の最下位ビットの値を「1」としたデータ「0x4B」を中間処理情報305とする。一方、中間部20は、認証に成功しなかった場合、一様乱数により発生させた乱数「0x4B」の最下位ビットの値を「0」としたデータ「0x4A」を中間処理情報305とする。
≪Calculation example of intermediate processing information generation≫
An example of calculation for generating the
The
[6]中間処理情報付制御信号の生成
中間部20は、中間処理情報305を制御コマンドデータ301及び付随データ302を含む通常の制御信号に付加し、中間処理情報付制御信号321を生成する。
[6] Generation of control signal with intermediate processing information The
[7]制御信号の送信
中間部20は、中間処理情報付制御信号321を演出制御部203に送信する。なお、中間処理情報付制御信号に関連する処理の詳細については後述する。
[7] Transmission of control signal The
ここで、中間部20が演出制御部203に送信する制御信号のデータフォーマットの一例について、図7に示す模式図を参照して説明する。主制御部10から図6(1)に示す通常の制御信号300が送信された場合には、中間部20は、図7(1)に示すように、制御コマンドデータ301及び付随データ302が含まれる通常の制御信号320をそのまま演出制御部203に送信する。また、主制御部10から図6(2)〜(4)に示す各認証データ付制御信号310〜312が送信された場合には、中間部20は、各認証データに対して認証等の中間処理を行って、中間処理情報305を生成し、例えば、図7(2)に示す中間処理情報付制御信号321を生成して演出制御部203に送信する。なお、図7(2)に示す順序で構成された中間処理情報付制御信号321だけでなく、図7(3)、(4)に示すように、中間処理情報305を制御信号の先頭にしたり、制御コマンドデータ301と付随データ302との間に挿入するようにしてもよい。
Here, an example of a data format of a control signal transmitted from the
このように、中間処理情報305を制御信号に含めることによって、中間処理情報305単体で送信する場合と比較して、中間部20と演出制御部203との間の通信負荷の増大を抑えることができる。また、中間処理情報305を制御信号に含めることによって、中間処理情報305を単体で送信する場合と比較して、通信データ中から中間処理情報305が抽出され、解析されてしまう危険性を低減することができる。
In this way, by including the
また、所定の制御コマンドにのみ中間処理情報305を付加するようにしてもよい。この場合、演出制御部203が実行するプログラムには所定の制御コマンドに関する認証処理を追加するだけでよい。したがって、演出制御部203が実行するプログラム全体にわたる新たなタイミングの設計する必要がないので、すべての制御コマンドに中間処理情報305が付加される場合と比較して、認証機能を追加するタイミングの設計、機能の実装、機能の検証など、より簡単に、少ない作業工数で実現することができる。
Further, the
(演出制御部)
演出制御部203は、CPU203aと、ROM203bと、RAM203cと、VRAM203d等を備えている。CPU203aは、主に遊技中における演出を制御し、ROM203bに予め記憶されているプログラム(プログラムコード)に基づき、主制御部10より中間部20を介して送信される制御コマンドに基づいて演出の抽選及び演出処理を実行する。ROM203bには、CPU203aが演出の抽選及び演出処理を実行するためのプログラムコードと、過去の演出パターンとが予め記憶されている。RAM203cは、CPU203aが演出の抽選及び演出処理を実行する際に行う演算処理において、データ等のワークエリアとして機能する。VRAM203dには、図柄表示部104に表示させるための画像データが書き込まれる。
(Production control unit)
The
この演出制御部203は、主制御部10より中間部20を介して送信される演出に係る制御コマンドを受信すると、この制御コマンドに基づいて抽選を行い、演出背景パターン、リーチ演出パターン、登場キャラクター等の演出を確定するとともに、当該確定した演出の制御を行う。
また、演出制御部203の出力側には、図柄表示部104が接続されており、抽選によって決定された内容のとおりに、図柄表示部104に、例えば、図柄変動の演出表示を展開する。
When the
In addition, the
そして通常、CPU203aがROM203bに記憶されたプログラムを読み込んで、背景画像表示処理、図柄画像表示及び変動処理、キャラクター画像表示処理など各種画像処理を実行し、必要な画像データをROM203bから読み出してVRAM203dに書き込む。背景画像、図柄画像、キャラクター画像は、表示画面上において図柄表示部104に重畳表示される。
すなわち、図柄画像やキャラクター画像は背景画像よりも手前に見えるように表示される。このとき、同一位置に背景画像と図柄画像が重なる場合、Zバッファ法など周知の陰面消去法により各画像データのZバッファのZ値を参照することで、図柄画像を優先してVRAM203dに記憶させる。
Usually, the CPU 203a reads a program stored in the
That is, the design image and the character image are displayed so as to be seen in front of the background image. At this time, if the background image and the design image overlap at the same position, the design image is preferentially stored in the
また、演出制御部203は、以上概略説明した処理の他に、中間処理情報付制御信号を受信した場合には、ROM203bに予め記憶されているプログラムに基づき、以下に示す認証に関する処理を実行する。
In addition to the processing outlined above, the
演出制御部203は、中間処理情報付制御信号から中間処理情報を抽出し、中間処理情報に復号化処理を施し、認証結果を取り出す。演出制御部203は、認証結果が認証の成功を示す場合には、制御コマンドに基づく処理を行う。認証結果が認証の不成功を示す場合には、その旨の報知等を行う。
The
演出制御部203の入力側には、上記チャンスボタン117が操作されたことを検出するチャンスボタン検出部220が接続されている。また演出制御部203の出力側には、スピーカ277が接続されており、演出制御部203において確定したとおりに、音声が出力されるようにしている。
また演出制御部203の出力側には、ランプ制御部205を備えている。
A chance
A
(その他の制御部)
ランプ制御部205は、演出制御部203より送信された制御コマンドに基づきROM205bから読み込んだプログラムを作動させて演出処理を実行するCPU205aと、上記プログラム及び各種演出パターンデータを記憶するROM205bと、CPU205aの演算処理時におけるデータのワークエリアとして機能するRAM205c等を備えている。ランプ制御部205は、ランプ262、演出ライト111a及び111b、演出役物作動装置254を制御する。演出役物作動装置254は、演出役物115等の、演出用の役物を作動させるモータやソレノイド等によって構成されている。
(Other control units)
The
ランプ制御部205は、遊技盤101や台枠等に設けられている各種ランプ262に対する点灯制御等を行い、また、演出ライト111a及び111bをそれぞれ構成する複数のライト112に対する点灯制御等を行い、各ライト112からの光の照射方向を変更するためにモータに対する駆動制御等を行う。
また、ランプ制御部205は、演出制御部203より送信された制御コマンドに基づき、演出役物115を動作させる演出役物作動装置254のソレノイドや、瞼部116を動作させる演出役物作動装置254のモータに対する駆動制御等を行う。
The
Further, the
賞球制御部204は、主制御部10と送受信可能に接続されている。賞球制御部204は、ROM204bに記憶されたプログラムに基づき、賞球制御を行う。この賞球制御部204は、ROM204bに記憶されたプログラムを作動して賞球制御の処理を実行するCPU204aと、CPU204aの演算処理時におけるデータのワークエリアとして機能するRAM204c等を備えている。
The prize
賞球制御部204は、接続される払出部291に対して、各入球口(第1始動口105、第2始動口120、普通入賞口107、第1大入賞口109c、第2大入賞口129c)に入球した遊技球に対応した賞球数を払い出す制御を行う。また、賞球制御部204は、発射部292に対する遊技球の発射の操作を検出し、遊技球の発射を制御する。発射部292は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサ(図示略)と、遊技球を発射させるソレノイド等(図示略)を備えている。賞球制御部204は、発射部292のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイド等を駆動させて遊技球を間欠的に発射させ、遊技盤101の遊技領域103に遊技球を送り出す。
払出部291は、遊技球の貯留部から所定数を払い出すためのモータ等からなる。
The winning
The
上記構成の主制御部10と、中間部20と、演出制御部203と、賞球制御部204と、ランプ制御部205とは、それぞれ異なるプリント基板(例えば、主制御部10は主制御基板、中間部20は中間基板、演出制御部203は演出制御基板、賞球制御部204は賞球制御基板、ランプ制御部205はランプ制御基板)に搭載されている。これらのうち、中間基板、演出制御基板、賞球制御基板及びランプ制御基板の総称として、「周辺基板」を用いる。なお、例えば、中間部20は、演出制御部203と同一のプリント基板上に搭載することもできる。また、賞球制御部204は、主制御部10と同一のプリント基板上に搭載することもできる。
The
次に、上記構成のパチンコ遊技機1の動作について、図面を参照して説明する。なお、以下の説明において、「制御コマンドを送信する」とは、「当該制御コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」という意味であり、例えば、図6に示す個体認証データ、動作認証データ、付随データの有無は考慮しないものとする。
Next, the operation of the
主制御部10による中間部20及び賞球制御部204への制御コマンド送信を含む処理について、図8及び図9に示すフローチャートを参照して説明する。
まず、主制御部10は、パチンコ遊技機1の電源投入に伴う初期設定処理を実行(ステップS1)した後、ステップS2へ進む。なお、パチンコ遊技機1に電源が投入された際には、周辺基板が主制御基板から受信する制御コマンドを確実に取り込むために、周辺基板が立ち上がってRAM領域の初期化処理を行い、待機状態となった後、主制御基板が立ち上がるように構成されている。主制御部10は、初期設定処理として、例えば、スタックポインタに予め決められた所定値を設定するとともに、中間部20、演出制御部203及び賞球制御部204が待機状態になることを待つために、所定時間(例えば、約1秒間)だけ待機する。
Processing including control command transmission by the
First, the
ステップS2では、主制御部10は、中間部20及び賞球制御部204に電源投入コマンドを送信した後、ステップS3へ進む。電源投入コマンドを受信すると、中間部20は、当該電源投入コマンドを演出制御部203に送信する。電源投入コマンドを受信すると、演出制御部203は、図柄表示部104やランプ制御部205のそれぞれに対して電源投入時の演出用の制御コマンド、具体的には、遊技機が非遊技状態における客待ちのデモ画面を表示するための客待ちデモコマンド、あるいは、ランプの点灯等を行うための制御コマンドを送信する。
In step S2, the
なお、電源投入コマンドは、電源投入後に電源投入に伴う処理を実行させるための制御コマンドを示し、各制御基板が立ち上がった後に、主制御部10が中間部20、中間部20を介して演出制御部203、及び賞球制御部204に送信する制御コマンドであって、電源投入後の立ち上げ時における遊技を制御するための初期制御情報、例えば、制御モード、バックアップデータ等を送信するための制御コマンド、あるいは初期演出表示の制御を行うための制御コマンド、例えば、客待ちデモ等の各種のデモ表示を開始させるための制御コマンドである。また、この電源投入コマンドは遊技機のリセットボタンを押圧したときに実行される、上記制御モード、バックアップデータ等を送信するための制御コマンドも含む。
The power-on command indicates a control command for executing processing associated with power-on after power-on. After each control board is started up, the
ステップS3では、主制御部10は、RAM10cに記憶されている未抽選入賞回数データを参照して、未抽選入賞回数が0回であるか否かを判断する。ここで、未抽選入賞回数とは、第1始動口検出部221又は第2始動口検出部225で検出された遊技球の数(入賞回数)から、当該遊技球の入球に対応する抽選が行われた回数(既抽選回数)を減じた数である。ステップS3の判断結果が「NO」の場合、すなわち、未抽選入賞回数が0回でない場合には、主制御部10は、後述するステップS10へ進む。一方、ステップS3の判断結果が「YES」の場合、すなわち、未抽選入賞回数が0回である場合には、主制御部10は、ステップS4へ進む。
In step S <b> 3, the
ステップS4では、主制御部10は、電源投入時のデモが開始されてから経過した時間を計測した後、ステップS5へ進む。ステップS5では、主制御部10は、電源投入時のデモが開始されてから所定時間が経過したか否かを判断する。ステップS5の判断結果が「YES」の場合、すなわち、電源投入時のデモが開始されてから所定時間が経過した場合には、主制御部10は、ステップS6へ進む。なお、上記電源投入時のデモを開始するための制御コマンドは、客待ちデモコマンドとしてもよい。
In step S4, the
ステップS6では、主制御部10は、中間部20に客待ちデモコマンドを送信した後、ステップS7へ進む。客待ちデモコマンドを受信すると、中間部20は、当該客待ちデモコマンドを演出制御部203に送信する。客待ちデモコマンドを受信すると、演出制御部203は、図柄表示部104やランプ制御部205のそれぞれに対して客待ちデモ用の制御信号を送信する。
In step S6, the
一方、ステップ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へ進む。
On the other hand, if the determination result in step S5 is “NO”, that is, if a predetermined time has not elapsed since the start of the power-on demonstration (or the customer waiting demo), the
一方、ステップS7の判断結果が「NO」の場合、すなわち、第1始動口検出部221で第1始動口105への遊技球の入球が検出されず、かつ、第2始動口検出部225で第2始動口120への遊技球の入球が検出されない場合には、主制御部は、ステップS4へ戻り、ステップS4以降の処理を繰り返す。
On the other hand, if the determination result in step S7 is “NO”, that is, the first
ステップS8では、主制御部10は、客待ちデモ(又は電源投入時のデモ)が開始されてから計測していた時間をクリアした後、ステップS9へ進む。ステップS9では、主制御部10は、未抽選入賞回数に1を加算する。なお、第1始動口検出部221又は第2始動口検出部225で複数の遊技球の入球が検出された場合、このステップS9では、主制御部10は、未抽選入賞回数に入球に相当する数を加算する。そして、主制御部10は、ステップS10へ進む。ステップS10では、主制御部10は、予め用意された乱数カウンタ(例えば、0〜250をカウント)から1つの大当たり判定用乱数を無作為に取得した後、ステップS11へ進む。ステップS11では、主制御部10は、未抽選入賞回数から1を減算した後、ステップS12へ進む。
In step S8, the
ステップS12では、主制御部10は、例えば、予めROM10bに記憶されている大当り判定データテーブルを参照して、ステップS10の処理で取得した大当たり判定用乱数が、この大当り判定データテーブルに記憶されている大当たりの乱数値であるか否かを判断する。また、ステップS12では、主制御部10は、取得した大当たり判定用乱数がはずれの乱数の場合には、例えば、大当り判定データテーブルを参照して、さらに「リーチ有りのはずれ」又は「リーチ無しのはずれ」であるかについても判断する。ステップS12の判断結果が「YES」の場合、すなわち、ステップS10で取得した大当たり判定用乱数が予め定められた大当たり乱数である場合には、主制御部10は、ステップS13へ進む。
In step S12, for example, the
ステップS13では、主制御部10は、中間部20に、例えば、大当たりの種別コード(通常当りか確率変動当りか等)、リーチ有り、図柄変動時間、等の制御データ(付随データ)を含む大当たりリーチコマンド(図柄変動コマンド)を送信した後、ステップS14へ進む。大当たりリーチコマンド(図柄変動コマンド)を受信すると、中間部20は、当該大当たりリーチコマンド(図柄変動コマンド)を演出制御部203に送信する。ステップS14では、主制御部10は、図柄変動時間が経過したか否かを判断する。ステップS14の判断結果が「NO」の場合、すなわち、図柄変動時間が経過していない場合には、主制御部10は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップS14の判断結果が「YES」となり、主制御部10は、ステップS15へ進む。
In step S13, the
ステップS15では、主制御部10は、中間部20に図柄停止コマンドを送信した後、ステップS16へ進む。図柄停止コマンドを受信すると、中間部20は、当該図柄停止コマンドを演出制御部203に送信する。ステップS16では、主制御部10は、中間部20に大当たり開始コマンドを送信した後、ステップS17へ進む。大当たり開始コマンドを受信すると、中間部20は、当該大当たり開始コマンドを演出制御部203に送信する。ステップS17では、主制御部10は、中間部20に大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を順次送信し、すべてのラウンドの大当たりコマンドの送信を終了した後、ステップS18へ進む。各ラウンドに対応する大当たりコマンドを順次受信すると、中間部20は、各ラウンドに対応する大当たりコマンドを演出制御部203に順次送信する。ステップS18では、主制御部10は、中間部20に大当たり終了コマンドを送信した後、ステップS22へ進む。大当たり終了コマンドを受信すると、中間部20は、当該大当たり終了コマンドを演出制御部203に送信する。
In step S15, the
一方、ステップS12の判断結果が「NO」の場合、すなわち、ステップS10の処理で取得した大当たり判定用乱数が予め定められた大当たり乱数でない場合には、主制御部10は、ステップS19へ進む。ステップS19では、主制御部10は、「リーチ有りのはずれ」の場合には「はずれリーチコマンド(図柄変動コマンド)」を、「リーチ無しのはずれ」の場合には「はずれコマンド(図柄変動コマンド)」を中間部20に送信した後、ステップS20へ進む。はずれリーチコマンド又ははずれコマンドを受信すると、中間部20は、当該制御コマンド(図柄変動コマンド)を演出制御部203に送信する。
On the other hand, if the determination result in step S12 is “NO”, that is, if the jackpot determination random number obtained in the process of step S10 is not a predetermined jackpot random number, the
ステップS20では、主制御部10は、図柄変動時間が経過したか否かを判断する。ステップS20の判断結果が「NO」の場合、すなわち、図柄変動時間が経過していない場合には、主制御部10は、同判断を繰り返す。そして、図柄変動時間が経過すると、ステップS20の判断結果が「YES」となり、主制御部10は、ステップS21へ進む。ステップS21では、主制御部10は、中間部20に図柄停止コマンドを送信した後、ステップS22へ進む。図柄停止コマンドを受信すると、中間部20は、当該図柄停止コマンドを演出制御部203に送信する。
In step S20, the
ステップS22では、主制御部10は、パチンコ遊技機1の電源がオフにされたか否かを判断する。ステップS22の判断結果が「NO」の場合、すなわち、パチンコ遊技機1の電源がオフにされていない場合には、主制御部10は、図8に示すステップS3へ戻り、ステップS3以降の処理を繰り返す。
In step S22, the
一方、ステップS22の判断結果が「YES」の場合、すなわち、パチンコ遊技機1の電源がオフにされた場合には、主制御部10は、ステップS23へ進む。ステップS23では、主制御部10は、中間部20に終了処理コマンドを送信した後、一連の処理を終了する。終了処理コマンドを受信すると、中間部20は、当該終了処理コマンドを演出制御部203に送信する。
On the other hand, when the determination result of step S22 is “YES”, that is, when the power of the
ここで、図10に、大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の送信タイミングの一例であるタイミングチャートを示す。図10(1)に示す大当たりリーチコマンドは、ランダムに送信される。また、図10(2)に示す大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。さらに、図10(3)に示す大当たりコマンドは、大当たり状態に移行した後、ラウンドごとに継続的に送信される。また、図10(4)に示す大当たり終了コマンドは、大当たり状態のすべてのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。 Here, FIG. 10 shows a timing chart as an example of the transmission timing of the jackpot related command (the jackpot reach command, jackpot start command, jackpot command, jackpot end command). The jackpot reach command shown in FIG. 10 (1) is transmitted at random. Also, the jackpot start command shown in FIG. 10 (2) is transmitted only once when shifting to the jackpot state when a jackpot has actually occurred. Furthermore, the jackpot command shown in FIG. 10 (3) is continuously transmitted for each round after shifting to the jackpot state. Also, the jackpot end command shown in FIG. 10 (4) is transmitted only once when all rounds of the jackpot state are completed and the normal state is entered.
次に、演出制御部203による処理について説明する。以下では、図柄変動時(大当たりリーチコマンド(図9に示すステップS13参照)又は、はずれリーチコマンド(図9に示すステップS19参照)を受信した場合)及び、大当たり時の演出制御部203の処理について説明する。
Next, processing by the
まず、演出制御部203による図柄変動処理について、図11に示すフローチャートを参照して説明する。
演出制御部203は、主制御部10から中間部20を介して、図柄変動コマンドである大当たりリーチコマンド(図9に示すステップS13参照)又ははずれリーチコマンド(図9に示すステップS19参照)のいずれかを受信したか否かを判断する(図11のステップS31参照)。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、大当たりリーチコマンド又ははずれリーチコマンドのいずれかを受信すると、ステップS31の判断結果が「YES」となり、演出制御部203は、ステップS32へ進む。
First, the symbol variation process by the
The
ステップS32では、演出制御部203は、予め用意された乱数(例えば、0〜250)から1つの変動演出選択用乱数を無作為に取得した後、ステップS33へ進む。ステップS33では、演出制御部203は、ステップS32の処理で取得した変動演出選択用乱数に基づいて変動演出の種類を選択した後、ステップS34へ進む。
In step S32, the
ステップS34では、演出制御部203は、図柄表示部104やランプ制御部205に変動演出別の演出開始コマンドを送信した後、ステップS35へ進む。ステップS35では、演出制御部203は、変動演出の演出時間が経過したか否かを判断する。ステップS35の判断結果が「NO」の場合、すなわち、変動演出の演出時間が経過していない場合には、演出制御部203は、ステップS36へ進む。
In step S34, the
ステップS36では、演出制御部203は、主制御部10から中間部20を介して図柄停止コマンド(図9に示すステップS15及びS21参照)を受信したか否かを判断する。ステップS36の判断結果が「NO」の場合、すなわち、図柄停止コマンドを受信していない場合には、演出制御部203は、ステップS35へ戻り、ステップS35以降の処理を繰り返す。
In step S36, the
一方、ステップS36の判断結果が「YES」の場合、すなわち、図柄停止コマンドを受信した場合には、演出制御部203は、ステップS37へ進む。また、ステップS35の判断結果が「YES」の場合、すなわち、変動演出の演出時間が経過した場合にも、演出制御部203は、ステップS37へ進む。ステップS37では、演出制御部203は、図柄表示部104やランプ制御部205に演出停止コマンドを送信した後、一連の処理を終了する。
On the other hand, if the determination result in step S36 is “YES”, that is, if a symbol stop command is received, the
次に、演出制御部203による大当たり時の処理について、図12に示すフローチャートを参照して説明する。
まず、演出制御部203は、主制御部10から中間部20を介して大当たり開始コマンド(図9に示すステップS16参照)を受信したか否かを判断する(図12のステップS41参照)。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、大当たり開始コマンドを受信すると、ステップS41の判断結果が「YES」となり、演出制御部203は、ステップS42へ進む。
Next, the process at the time of the big hit by the production |
First, the
ステップS42では、演出制御部203は、図柄表示部104やランプ制御部205に大当たり開始処理コマンドを送信した後、ステップS43へ進む。ステップS43では、演出制御部203は、主制御部10から中間部20を介してラウンド別の大当たりコマンド(図9に示すステップS17参照)を受信したか否かを判断する。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、ラウンド別の大当たりコマンドを受信すると、ステップS43の判断結果が「YES」となり、演出制御部203は、ステップS44へ進む。
In step S42, the
ステップS44では、演出制御部203は、図柄表示部104やランプ制御部205に受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信した後、ステップS45へ進む。ステップS45では、主制御部10から中間部20を介して大当たり終了コマンド(図9に示すステップS18参照)を受信したか否かを判断する。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、大当たり終了コマンドを受信すると、ステップS45の判断結果が「YES」となり、演出制御部203は、ステップS46へ進む。ステップS46では、演出制御部203は、図柄表示部104やランプ制御部205に、受信した大当たり終了コマンドを送信した後、一連の処理を終了する。
In step S44, the
次に、ランプ制御部205によるランプ制御処理について説明する。ここでは、演出制御部203から図柄変動コマンドを受信した場合(図柄変動時)の処理について、図13に示すフローチャートを参照して説明する。
まず、ランプ制御部205は、演出制御部203から演出開始コマンド(図11に示すステップS34参照)を受信したか否かを判断する(図13のステップS51参照)。この判断結果が「NO」の場合には、ランプ制御部205は、同判断を繰り返す。そして、演出開始コマンドを受信すると、ステップS51の判断結果が「YES」となり、ランプ制御部205は、ステップS52へ進む。
Next, lamp control processing by the
First, the
ステップS52では、ランプ制御部205は、例えば、ROM205bから予めコマンド別に記憶されているデータを読み出した後、ステップS53へ進む。ステップS53では、ランプ制御部205は、コマンド別の選択ルーチンを実行した後、ステップS54へ進む。ステップS54では、ランプ制御部205は、ランプデータをセットした後、ステップS55へ進む。
In step S52, the
ステップS55では、ランプ制御部205は、ランプ262にランプデータを出力した後、ステップS56へ進む。これにより、ランプ262は、ランプ制御部205から出力されたランプデータに基づいて、点灯又は消灯する。ステップS56では、ランプ制御部205は、演出制御部203から演出停止コマンド(図11に示すステップS37参照)を受信したか否かを判断する。この判断結果が「NO」の場合には、ランプ制御部205は、ステップS55へ戻り、ステップS55以降の処理を繰り返す。一方、ステップS56の判断結果が「YES」の場合、すなわち、演出制御部203から演出停止コマンドを受信した場合には、ランプ制御部205は、ステップS57へ進む。ステップS57では、ランプ制御部205は、ランプデータの出力を停止した後、一連の処理を終了する。
In step S55, the
以上説明したように、演出制御部203及びランプ制御部205は、主制御部10から送信される制御コマンドに基づいて各種の処理を行っている。賞球制御部204についても同様である。以下、演出制御部203、賞球制御部204及びランプ制御部205の総称として、「周辺部」を用いる。従って、図1に示す本実施の形態1に係る遊技機1の周辺部30は、演出制御部203の機能を有する演出制御手段、賞球制御部204の機能を有する賞球制御手段及びランプ制御部205の機能を有するランプ制御手段を備えている。
As described above, the
ところで、上記のように、遊技機に対し行われる不正行為や、雑音等に起因する遊技機の誤動作により、遊技とは無関係に遊技媒体が払い出され遊技店が多大な損害を被ってしまうことがある。そこで、上記不正行為及び雑音等に起因する遊技機の誤動作を防止するため、本実施の形態1に係るパチンコ遊技機1では、主制御部10と演出制御部203との間に中間部20を設けている。
そして、本実施の形態1においては、主制御部10は、出力する制御コマンドが所定の制御コマンドである場合、所定のプログラムコードを用いて分割数分の個体認証データ、及び動作認証データを生成し、これら各認証データを制御コマンドに付加して中間部20に送信する。
By the way, as described above, gaming media are paid out regardless of the game due to fraudulent acts performed on the gaming machine or malfunction of the gaming machine due to noise or the like, and the gaming store suffers a great deal of damage. There is. Therefore, in order to prevent malfunctions of the gaming machine due to the above-described fraud and noise, in the
In the first embodiment, when the output control command is a predetermined control command, the
中間部20は、主制御部10から受信した各認証データから得られた検査値、各コードを用いて主制御部10が正規の主制御部であるか否かの認証を行う。次に、中間部20は、上記認証処理で得られた認証結果について暗号化処理を施して得た中間処理情報を演出制御部203に送信する。そして、演出制御部203は、中間部20から受信した中間処理情報から得られた認証結果に応じた処理を行う。このように、中間部20を認証者、主制御部10を被認証者とした認証処理を行い、主制御部10から送信される制御コマンドの正当性を認証する。この認証処理によって、上記不正行為を検知して、パチンコ遊技機1への不正を防止することができるとともに、外部から加えられる電気的な雑音や機械的な振動等に起因するパチンコ遊技機1の誤動作を低減することもできる。
The
以下、主制御部10と中間部20及び周辺部30との間で行う認証に関する処理について説明する。以下、主制御部10と中間部20との間の認証に関する処理について、図14及び図15に示すフローチャートを参照して説明するが、主制御部10と賞球制御部204との間の認証に関する処理も同様の手順で行われる。
Hereinafter, processing related to authentication performed between the
図14は、主制御部10による認証に関する処理の一例を示すフローチャートである。主制御部10は、通常の制御信号の送信を行いながら(ステップS61)、認証データ付制御信号の送信タイミングを待つ(ステップS62)。そして、認証データ付制御信号の送信タイミングになると(ステップS62:YES)、主制御部10は、分割数を決定する(ステップS63)。なお、分割数の決定方法は任意である。また、分割数は認証データ付制御信号の送信タイミング前に決定されていてもよい。
FIG. 14 is a flowchart illustrating an example of processing related to authentication by the
次に、主制御部10は、決定した分割数で所定のプログラムコードを分割し、分割された各データそれぞれに対して半群演算を行って検査値を算出し(ステップS64)、検査値に対して暗号化処理を施して個体認証データを生成する(ステップS65)。この処理により、分割数分の検査値及び個体認証データが生成される。なお、検査値の生成は、認証データ付制御信号の送信タイミング前に行っていてもよい。ここで、検査値の生成方法(生成に用いる演算の種類など)は、前回の認証データ送信時に決定されている。また、初回の検査値の生成方法は初期値として予め決定しておく。
Next, the
続いて、主制御部10は、ステップS63で決められた分割数に基づいて、動作コード、相対時間コード、及び同期コードの中から動作認証データとして利用するコードを決定する(ステップS66)。そして決定したコードを生成し、そのコードをもとにして動作認証データを生成する(ステップS67)。なお、ステップS66とステップS67とを入れ替えて、動作コード、相対時間コード及び同期コードをすべて生成しておき、その中から動作認証データとして用いると決定されたコードのみを選択して利用するようにしてもよい。
Subsequently, the
次に、主制御部10は、生成した個体認証データ及び動作認証データを制御コマンドデータに付加して認証データ付制御信号を生成し(ステップS68)、中間部20に当該認証データ付制御信号を送信する(ステップS69)。なお、認証データを付加する制御コマンドは特に制限されず任意の制御コマンドでよい。また、認証データ付制御信号は連続して送信してもよいし、通常の制御信号に混ぜて送信してもよい。また、認証データの送信順序も任意である。主制御部10は、ステップS65、及びステップS67で生成した認証データをすべて送信するまで(ステップS70:NO)、ステップS69に戻り、認証データ付制御信号の送信を継続する。そして、認証データをすべて送信すると(ステップS70:YES)、本フローチャートによる処理を終了する。
Next, the
なお、主制御部10は、中間部20に所定の制御コマンドを送信する場合のみ、制御コマンドに個体認証データや動作認証データを付加するようにしてもよい。この場合、認証処理が行われるのは所定の制御コマンドの送信時のみであるので、主制御部10や演出制御部203の処理負荷が認証処理によって増大する割合を抑えることができる。所定の制御コマンドが大当たりコマンドである場合、大当たりコマンドは大当たり中のラウンドごとに送信されるため、大当たり状態にある一定期間中に複数回の認証処理を行うこととなり、認証処理の確度を向上させることができる。
The
また、所定の制御コマンドが大当たり開始コマンドや大当たり終了コマンドである場合、大当たり開始コマンドや大当たり終了コマンドは、大当たり状態を開始又は終了させる制御コマンドであり、他の制御コマンドと比較して、送信頻度が低い。したがって、制御信号の中から個体認証データや動作認証データが抽出される可能性を低減することができる。また、制御信号の中から個体認証データや動作認証データが抽出されても、取得できるサンプル数が少ないため、個体認証データや動作認証データが解析される危険性を低減することができる。 Also, when the predetermined control command is a jackpot start command or jackpot end command, the jackpot start command or jackpot end command is a control command for starting or ending the jackpot state, and compared with other control commands, the transmission frequency Is low. Therefore, it is possible to reduce the possibility that individual authentication data and operation authentication data are extracted from the control signal. Further, even if individual authentication data or operation authentication data is extracted from the control signal, the number of samples that can be acquired is small, so that the risk of analyzing individual authentication data or operation authentication data can be reduced.
また、所定の制御コマンドが大当たりリーチコマンドである場合、大当たりリーチは、大当たりと比較して発生頻度が高い。また、大当たりリーチの発生タイミングはランダム性を有する。したがって、大当たりリーチコマンドデータを送信する際に認証処理を行うことにより、時間軸上における認証処理の実施位置が分散される。そして、このように時間軸上における認証処理の実施位置を分散することによって、認証処理の信頼性を向上させることができる。これは、認証データの通信不具合や認証データの改ざんが一定の期間行われた場合であっても、時間をおいてランダムに認証処理が行われるので、通信不具合や改ざんの影響を回避できる可能性が高くなるためである。 When the predetermined control command is a jackpot reach command, the jackpot reach is generated more frequently than the jackpot reach. Moreover, the occurrence timing of jackpot reach has randomness. Therefore, by performing the authentication process when transmitting the jackpot reach command data, the execution positions of the authentication process on the time axis are distributed. And the reliability of an authentication process can be improved by distributing the implementation position of the authentication process on a time axis in this way. This is because even if authentication data communication failure or authentication data tampering is performed for a certain period, authentication processing is performed at random time, so the possibility of avoiding communication failure and tampering may be avoided This is because of the increase.
さらに、所定の制御コマンドが電源投入コマンドである場合、電源投入コマンドは、パチンコ遊技機1の電源の投入時やリセット時など、パチンコ遊技機1の初期化処理を行う際に送信される。初期化処理は、パチンコ遊技機1のメインの処理である遊技(ゲーム進行)関連処理とは異なる処理区分に分類される。したがって、本発明のように、初期化処理中に認証処理を組み込めば、遊技関連処理中に認証処理を組み込む場合と比較して、プログラム設計やテストにかかる工程(工数)が増加する割合を低減することができる。すなわち、初期化処理中に認証処理を組み込むことによって、開発コストの低減や品質管理上のメリットを得ることができる。また、初期化処理中に認証処理を組み込めば、パチンコ遊技機1の起動直後に認証処理を行うため、遊技店が閉店した後に不正が行われた場合などであっても、顧客が入店する前に不正を検出することができる。よって、不正による被害が発生する危険性を低減することができる。
Further, when the predetermined control command is a power-on command, the power-on command is transmitted when the
また、所定の制御コマンドが客待ちデモコマンド又は客待ちデモ停止コマンドである場合、客待ちデモコマンド又は客待ちデモ停止コマンドは、パチンコ遊技機1が非遊技状態、すなわち、パチンコ遊技機1のメインの処理である遊技(ゲーム進行)関連処理が行われていない場合に送信されるので、認証処理による処理負荷の増大が遊技関連処理に影響を与えることがない。このため、主制御部10や演出制御部203が高度な処理能力を有していない場合や、遊技関連処理の処理負荷が大きいパチンコ遊技機1であっても、認証処理機能を追加することができる。また、客待ちデモコマンド及び客待ちデモ停止コマンドは、顧客がパチンコ遊技機1を操作する前に発行されるコマンドであるので、顧客がパチンコ遊技機1を操作する前に不正行為を検出することができる。
When the predetermined control command is a customer waiting demo command or a customer waiting demo stop command, the customer waiting demo command or the customer waiting demo stop command indicates that the
さらに、所定の制御コマンドがはずれコマンドである場合、「はずれ」は、抽選時の抽選結果として最も発生頻度が高いので、はずれコマンドデータの送信時に制御コマンドに個体認証データや動作認証データを付加することとすれば、抽選から認証処理への流れをパチンコ遊技機1の処理の基本形とみなすことができる。一方、大当たりリーチ時や大当たり時の処理は、パチンコ遊技機1の機種ごとに演出方法が変更されるなど、特殊な処理に区分されるが、はずれ時の処理はパチンコ遊技機1の機種ごとの差異が少ない。このため、本実施の形態1のように、はずれ時の処理に認証処理を組み込めば、認証処理の流れに大きな変更を加えることなく、パチンコ遊技機1の本体を他の機種に再利用することが可能となる。
Furthermore, when the predetermined control command is a loss command, “out of” occurs most frequently as a lottery result at the time of lottery, so individual authentication data or operation authentication data is added to the control command when sending the loss command data. If so, the flow from the lottery to the authentication process can be regarded as a basic form of the process of the
次に、中間部20による主制御部10の認証処理について説明する。なお、以下では、一例として、図6(2)に示すような個体認証データ303及び動作認証データ304が含まれた認証データ付制御信号310が主制御部10から送信される例について説明する。図15は、中間部20による主制御部10の認証に関する処理の一例を示すフローチャートである。図15のフローチャートにおいて、中間部20は、まず、主制御部10から通常の制御信号を受信した場合はそのまま演出制御部203に送信しつつ、主制御部10から認証データ付制御信号を受信するまで待機する(ステップS71)。ここで、制御信号に認証データが含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ301又は付随データ302を構成する任意のビット又は別個に設けられている識別データ(図示略)が認証データが含まれていることを示しているか否かを判断することによって行う。
Next, the authentication process of the
主制御部10から認証データ付制御信号を受信すると(ステップS71:YES)、中間部20は、受信した認証データ付制御信号に含まれている認証データを抽出して復号化処理を行って検査値及びコードを生成する(ステップS72)。中間部20は、生成した検査値を検査値用メモリに記憶するとともに、生成したコードをコード用メモリに記憶する(ステップS73)。
When the control signal with authentication data is received from the main control unit 10 (step S71: YES), the
次に、中間部20は、検査値用メモリ内のすべての検査値に対して半群演算(結合処理)を行う(ステップS74)。ここで、ステップS74で行う半群演算の種類は、前回の認証データ受信時に決定されている。また、初回の半群演算の種類は初期値として予め決定しておく。なお、検査値用メモリ内の検査値が1つの場合は、結合処理を行わずにそのままステップS75に移行する。
Next, the
そして、中間部20は、演算結果(結合結果)と保持している検査値の期待値と照合して、結合結果と期待値とが一致するか否かを判断する(ステップS75)。その結果、結合結果と期待値が一致する場合(ステップ75:YES)、中間部20は、主制御部10の個体に対する認証を成功させる(ステップS76)。そして、主制御部10の個体の認証が成功すると、中間部20は、認証結果に基づいて分割数(結合数)を特定する(ステップS77)。
Then, the
続いて、中間部20は、認証成功時において結合処理の対象となった検査値の数(結合数)に基づいて、動作認証データとして利用されているコードを特定する(ステップS78)。そして、中間部20は、特定したコードに含まれる主制御部10の動作の継続性を示す情報が所定の条件を満たすか否かで主制御部10の動作認証を行う(ステップS79)。具体的には、動作コードを用いた認証として、動作コードが機能番号を用いて生成されている場合は、複数の動作認証データが正規の順序で配列されているかを判断する照合処理を行う。また、動作コードが認証回数を用いて生成されている場合は、認証回数に施した暗号化処理と同じ暗号化処理を施した値である動作認証用期待値とが一致するか否かを判断する照合処理を行う。一方、相対時間コードを用いた認証では、受信した相対時間コードの値が時系列的に増加しているか否かを判断することにより行う。また、同期コードを用いた認証は、同期コードに含まれるパケット情報の相関関係がパケット情報の種類に応じた所定の相関関係であるか否かを判断することにより行う。
Subsequently, the
このようにして、中間部20は、主制御部10に対する動作認証が成功した場合(ステップS80:YES)、当該主制御部10を正規の主制御部であると認証し(ステップS81)、検査値用メモリ内及びコード用メモリ内のデータを削除する(ステップS82)。また、中間部20は、主制御部10に対する動作認証が成功しなかった場合(ステップS80:NO)、ステップS86に移行する。
In this way, when the operation authentication for the
ステップS82の処理の後、中間部20は、認証結果から中間処理情報305を生成する(ステップS83)。次に、中間部20は、制御信号に含まれている制御コマンドデータ301、付随データ302と、ステップS83の処理で得られた中間処理情報305とを含む制御信号(中間処理情報付制御信号)を生成し、演出制御部203に送信し(ステップS84)、本フローチャートによる処理を終了する。
After the processing in step S82, the
また、ステップS75において、検査値の演算結果と期待値が一致しない場合(ステップS75:NO)、中間部20は、所定数以上の個体認証データを受信するまで(ステップS85:NO)、ステップS71に戻り、結合処理を繰り返す。所定数以上の認証データを受信すると(ステップS85:YES)、中間部20は、主制御部10に対する認証を不成功とし(ステップS86)、ステップS83に移行する。ここで、所定数とは、今回の分割数以上かつプログラムコード記憶領域400(図4参照)に記憶されているプログラムコードを分割可能な数(最大分割数)以下の範囲内の任意の数である。
Further, in step S75, when the calculation result of the test value does not match the expected value (step S75: NO), the
上述したように、中間部20において、個体認証データと動作認証データの2種類の認証データを用いて二重に認証処理を行うことにより、認証の強度を向上させ、不正な制御コマンドによる不正な処理が実行されるのを防止することができる。また、主制御部10の動作順序を認証することによって、主制御部の動作の連続性を認証することができ、例えば信号切替回路などを搭載した不正な制御基板を検知することができる。
As described above, the
なお、本実施の形態1では、認証処理が成功した後、ステップS82において各メモリ内のデータを削除しているが、これに限定されない。例えば、各メモリ内に最後に記憶された、すなわち主制御部10で最後に生成された同期コード及び動作コードを残してメモリ内のデータを削除し、今回の認証に関する処理の最後に生成された同期コード及び動作コードと、次回の認証に関する処理で生成される同期コード及び動作コードとを用いて、主制御部10の動作認証を行ってもよい。これにより、今回の認証に関する処理と次回の認証に関する処理との間で動作認証を行うことができる。
In the first embodiment, after the authentication process is successful, the data in each memory is deleted in step S82. However, the present invention is not limited to this. For example, the last data stored in each memory, that is, the data in the memory is deleted while leaving the synchronization code and the operation code last generated by the
ここで、中間部20は、演出制御部203に所定の制御コマンドを送信する場合のみ、制御コマンドに中間処理情報305を付加するようにしてもよい。この場合、主制御部10又は中間部20の認証処理が行われるのは所定の制御コマンドの送信時のみであるので、演出制御部203の処理負荷が認証処理によって増大する割合を抑えることができる。
Here, the
また、認証データの復号化及び検査値と期待値との照合、各コードの認証といった認証処理は、中間部20のみが実行するので、演出制御部203を構成するCPU203aの処理負荷が増大することはない。このため、演出制御部203の処理速度が低下し、演出のための表示がスムーズに行われないなどの問題が発生することを防止することができる。
Further, since only the
なお、図6(3)に示すような動作認証データ304が付加されていない個体認証データ付制御信号311を新たに受信した場合には、中間部20は、ステップS72でコードを生成したり、ステップS78でコードを特定することができない。そこで、例えば、ステップS78でコードが特定できない場合は、ステップS71に戻るようにする。そして、次回以降の動作認証データの処理を行うにあたっては、ステップS72〜S77の個体認証データに関する処理を省略するようにしてもよい。
When the
また、図6(4)に示すような個体認証データ303が付加されていない動作認証データ付制御信号312を新たに受信した場合には、中間部20は、ステップS72で検査値を生成したり、ステップS76で期待値と一致させることができない。そこで、例えば、ステップS85を介してステップS71に移行するとともに、ステップS72でコードを生成し、ステップS73でそれをコード用メモリに格納しておくようにする。そして、次回以降の処理を行うにあたっては、ステップS72〜S73の動作認証データに関する処理を省略するようにしてもよい。
When the
次に、演出制御部203による認証に関する処理について説明する。図16は、演出制御部203による認証に関する処理の一例を示すフローチャートである。まず、演出制御部203は、中間部20から制御信号を受信したか否かを判断する(ステップS91)。この判断結果が「NO」の場合には、演出制御部203は、同判断を繰り返す。そして、中間部20から制御信号を受信すると、ステップS91の判断結果が「YES」となり、演出制御部203は、ステップS92へ進む。
Next, processing related to authentication by the
ステップS92では、演出制御部203は、受信した制御信号に中間処理情報305が含まれているか否かを判断する。ステップS92の判断結果が「YES」の場合、すなわち、受信した制御信号に中間処理情報305が含まれている場合には、演出制御部203は、ステップS93へ進む。ここで、制御信号に中間処理情報305が含まれているか否かの判断は、例えば、制御信号のデータ量が通常の制御信号よりも多いか否かや、制御信号において、制御コマンドデータ301又は付随データ302を構成する任意のビット又は別個に設けられている識別データ(図示略)が、中間処理情報305が含まれていることを示しているか否かを判断するか、あるいは、制御信号に含まれる制御コマンドデータ301が、認証処理を行うために予め設定した所定の制御コマンドの制御コマンドデータであるか否かを判断してもよい。
In step S92, the
ステップS93では、演出制御部203は、制御信号から中間処理情報305を取り出し、この中間処理情報305から認証結果を抽出した後、ステップS94へ進む。
In step S93, the
ステップS94では、演出制御部203は、抽出した認証結果が認証に成功したことを示しているか否かを判断する。ステップS94の判断結果が「YES」の場合、すなわち、抽出した認証結果が認証に成功したことを示している場合には、演出制御部203は、ステップS95へ進む。また、ステップS92の判断結果が「NO」の場合、すなわち、受信した制御信号に中間処理情報305が含まれていない場合、つまり、通常の制御信号である場合にも、演出制御部203は、ステップS95へ進む。
In step S94, the
ステップS95では、演出制御部203は、制御コマンドデータ301及び付随データ302に基づく処理を行った後、一連の処理を終了する。一方、ステップS94の判断結果が「NO」の場合、すなわち、抽出した認証結果が認証に成功したことを示していない場合には、演出制御部203は、ステップS96へ進む。ステップS96では、演出制御部203は、制御コマンドデータ301及び付随データ302を破棄するとともに、不正行為を報知するための報知信号を図柄表示部104やランプ制御部205、あるいはパチンコ遊技機1を管理するセンター制御装置などに送信した後、一連の処理を終了する。なお、ステップS96の処理では、演出制御部203は、データの破棄と報知のいずれか一方のみを行うようにしてもよい。
In step S95, the
図柄表示部104やランプ制御部205等は、受信した報知信号に基づいて、主制御部10に不正が行われたおそれがある旨を報知する演出を実行する。この演出は、例えば、図柄表示部104に通常出現しないキャラクターを出現させたり、通常出現するキャラクターを通常とは異なる方法で出現させるなどである。また、図柄表示部104の輝度を変えたり、色を変えたり、ランプ制御部205に対して所定のランプを表示制御するようにしてもよい。いずれにせよ、遊技店の従業員が当該パチンコ遊技機1の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。
Based on the received notification signal, the
また、報知信号に「大当たり中」や「確率変動中」などのパチンコ遊技機1の遊技状態に関する情報を含めてもよい。これらの遊技状態に関する情報に基づいて、パチンコ遊技機1を管理するセンター制御装置などによって不正行為が行われているか否かの判断を行ってもよい。例えば、大当たり中や確率変動中は入賞が集中していても正常である場合がある。よって、大当たり中や確率変動中は、その他の状態とは異なる条件で不正行為のおそれがあるか否かについて判断するのがよい。また、遊技状態に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態に関する情報の両方に基づいて、不正行為のおそれがあるか否かについて判断する。
Further, the notification signal may include information on the gaming state of the
次に、図14及び図15に示す処理のうち、動作認証データ304として用いるコードの選択・特定処理の具体例について説明する。図17は、主制御部10(被認証者)及び中間部20(認証者)がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。図17では、分割数に基づいたコードの選択例として、図5に示した選択例1(ここでは、X=3とする)によって利用するコードを選択するものとする。
Next, a specific example of the process of selecting and specifying the code used as the
まず、主制御部10は、ステップS101の処理へ進み、任意の方法で今回の認証処理に用いる分割数を決定した後、ステップS102へ進む。主制御部10は、例えば、デフォルトとして、今回の分割数を3と決定する。ステップS102では、主制御部10は、ROM10bの記憶領域に予め記憶されている所定のプログラムコードを3個のブロック(記憶領域)に分割し、各ブロックに記憶されているプログラムコードを用いて検査値を生成した後、ステップS103へ進む。
First, the
ステップS103では、主制御部10は、検査値に対して暗号化処理を施すことにより個体認証データ303を生成した後、ステップS104へ進む。ステップS104では、分割数に基づいて動作認証データ304として用いるコードを決定した後、ステップS105に進む。具体的には、分割数(この場合「3」)をXの値(この場合「3」)で割り、その余りの値によってコードを決定する。この場合、3を3で割った余りは0であるため、主制御部10は動作コードを動作認証用のコードとして決定(選択)する。
In step S103, the
そして、ステップS104で選択された動作コードに対して暗号化処理を施すことによって動作認証データ304を生成し(ステップS105)、ステップS106に移行する。ステップS106では、主制御部10は、個体認証データ303及び動作認証データ304を含む認証データ付制御信号310を中間部20に送信した後、ステップS107に進む。
Then, the
これにより、中間部20は、主制御部10から送信された認証データ付制御信号310を受信した(ステップS107)後、ステップS108へ進む。ステップS108では、中間部20は、認証データ付制御信号310から個体認証データ303及び動作認証データ304を抽出した後、ステップS109へ進む。ステップS109では、中間部20は、個体認証データ303及び動作認証データ304に対して、復号化処理を施すことにより検査値及びコードを取得し、検査値用メモリ及びコード用メモリに記憶した後、ステップS110へ進む。
Thereby, the
ステップS110では、中間部20は、取得した検査値に対して結合処理を行った後、ステップS111へ進む。ステップS111では、中間部20は、結合結果を期待値と照合し、結合結果と期待値が一致した場合には認証に成功したと判断し、結合結果と期待値が一致しなかった場合には認証に成功しなかったと判断した後、ステップS112へ進む。今回の場合、3個の検査値を用いて結合処理を行った際に結合結果と期待値は一致するはずである(結合数=3)。
In step S110, the
ステップS112では、中間部20は、結合数に基づいて動作認証データとして用いられているコードの種類を特定し、ステップS113に進む。今回の場合は結合数である3をXである3で割った余りは0であるため、動作認証データ304は動作コードであると特定する(図5参照)。ステップS113では、動作コードに対応する認証方法で主制御部10の動作順序を認証する。ここまでがコード選択・特定処理の流れである。
In step S112, the
次に、2回目の認証処理において、主制御部10は、ステップS114の処理へ進み、再び任意の方法で今回の認証処理に用いる分割数を決定した後、ステップS115へ進む。主制御部10は、例えば、今回の分割数を4と決定する。ステップS115では、主制御部10は、ROM10bの記憶領域に予め記憶されている所定のプログラムコードを4個のブロック(記憶領域)に分割し、各ブロックに記憶されているプログラムコードを用いて検査値を生成した後、ステップS116へ進む。
Next, in the second authentication process, the
ステップS116では、主制御部10は、検査値に対して暗号化処理を施すことにより個体認証データ303を生成した後、ステップS117へ進む。ステップS117では、分割数に基づいて動作認証データ304として用いるコードを決定(選択)した後、ステップS118に進む。具体的には、分割数(この場合「4」)をXの値(この場合「3」)で割る。この余りの値は1であるため、主制御部10は相対時間コードを動作認証用のコードとして決定(選択)する。そして、ステップS118では決定したコードに対して暗号化処理を施すことにより動作認証データ304を生成した後、ステップS119に進む。ステップS119では、主制御部10は、個体認証データ303及び動作認証データ304を含む認証データ付制御信号310を中間部20に送信した後、ステップS120に進む。
In step S116, the
これにより、中間部20は、主制御部10から送信された認証データ付制御信号310を受信した(ステップS120)後、ステップS121へ進む。ステップS121では、中間部20は、認証データ付制御信号310から個体認証データ303及び動作認証データ304を抽出した後、ステップS122へ進む。ステップS122では、中間部20は、個体認証データ303及び動作認証データ304に対して、復号化処理を施すことにより検査値及びコードを取得し、検査値用メモリ及びコード用メモリに記憶した後、ステップS123へ進む。
Thereby, the
ステップS123では、中間部20は、取得した検査値及びコードに対して結合処理を行った後、ステップS124へ進む。ステップS124では、中間部20は、結合結果を期待値と照合し、結合結果と期待値が一致した場合には認証に成功したと判断し、結合結果と期待値が一致しなかった場合には認証に成功しなかったと判断した後、ステップS125へ進む。今回の場合、4個の検査値を用いて結合処理を行った際に結合結果と期待値は一致するはずである(結合数=4)。ステップS125では、中間部20は、結合数に基づいて動作認証データ304として用いられているコードの種類を特定し、ステップS126に進む。今回の場合は結合数である4をXである3で割った余りは1であるため、動作認証データ304は相対時間コードであると特定する(図5参照)。ステップS113では、動作コードに対応する認証方法で主制御部10の動作順序を認証する。
In step S123, the
この場合、主制御部10は、ROM10bに記憶された所定のプログラムコードを分割し、その分割数に基づいて次回の認証時において認証データの生成方式(動作認証データ304の選択方法及び暗号化方法等)を変更する。分割数は主制御部10のみが知る値であるので、不正行為者は、認証データの選択の切り替えタイミングを知ることができない。このため、上記不正行為及び遊技機の誤動作を検知することができる。なお、分割数に基づいて検査値の生成方式を切り替えずに、暗号化方法のみを切り替えるようにしてもよい。
In this case, the
なお、中間部20は、個体認証データ303を用いた認証処理について、認証データを受信する度に行うのではなく、複数の認証データを受信した時点で行うこととしてもよい。この場合、中間部20は、例えば、第1の制御コマンドの第1の制御コマンドデータ及び第1の付随データとともに第1の認証データを受信した場合、認証処理を行わずに、制御コマンドの第1の制御コマンドデータ及び第1の付随データに基づく処理を行う。そして、中間部20は、第2の制御コマンドの第2の制御コマンドデータ及び第2の付随データとともに第2の認証データを受信した場合、第2の制御コマンドの第2の制御コマンドデータ及び第2の付随データに基づく処理を行う前に、第1の認証データを用いた認証処理を行う。このとき、中間部20は、第1の認証データと第2の認証データの両方を用いて認証処理を行ってもよい。
また、今回送信する制御コマンドデータ301や付随データ302を含めて認証データを生成してもよい。これにより、不正な主制御部による認証データの再利用を防止して、より確実に不正行為や誤動作を検知することができ、不正行為や誤動作に起因する不正な制御コマンドの実行を防止することができる。
Note that the
Further, the authentication data may be generated including the
上述したように、本実施の形態1に係るパチンコ遊技機1では、制御コマンドを送信するタイミングで、主制御部10の正当性を認証するための認証データを生成し、生成した認証データを用いて認証処理を行った。このような認証処理を行うことによれば、主制御部10や演出制御部203の処理負荷が増大するのは、制御コマンドを受信している期間のみであり、主制御部10や演出制御部203の処理負荷が増大する割合を抑えることができる。
As described above, in the
また、認証処理を実行する中間部20と、主として演出処理を実行する演出制御部203とが別個独立しているため、認証用のプログラムと演出用のプログラムとは別個に設計することができる。これにより、演出制御部203の演出処理に認証機能を追加する場合と比較して、認証機能を追加するタイミングの設計・機能の実装・機能の検証などより簡単に、少ない作業工数で実現することができる。
また、従来のように、演出制御部203が認証処理と演出処理の両方を行う構成において、上記いずれか一方のプログラムの設計変更を行う必要が生じた場合に生じる以下の(a)〜(c)に示すような問題が発生することはない。
In addition, since the
Further, in the configuration in which the
(a)プログラムが複雑になってしまうため、他の機能と整合性を保つことが難しくなる(この場合、予期せぬエラーが生じる虞がある)。
(b)認証処理はパチンコ遊技機1の機種が異なっても共通にすることはできるが、演出処理はパチンコ遊技機1の機種ごとに異なる場合が多い。したがって、共通化可能な認証処理を含めた演出制御部203が実行する処理のプログラム全体の設計をパチンコ遊技機1の機種ごとに行う必要があり、設計に多大な時間がかかるとともに、作業効率が悪い。
(c)認証用の認証アルゴリズムを変更する場合、所定の処理を行う周辺部30での処理を変更しなくてはならない。この変更により、所望の認証機能が得られるか否かを確認する検証に多大の時間と労力を要し、遊技機の開発に時間と手間が大幅にかかってしまうという問題があり、認証アルゴリズムの変更は簡単にできない。
(A) Since the program becomes complicated, it becomes difficult to maintain consistency with other functions (in this case, an unexpected error may occur).
(B) Although the authentication process can be made common even if the model of the
(C) When changing the authentication algorithm for authentication, the process in the
さらに、本実施の形態1では、主制御部10と演出制御部203との間に中間部20を設けているので、主制御部10を構成するCPU10aと演出制御部203を構成するCPU203aとの間の処理能力の差異や、主制御部10を構成するROM10bと演出制御部203を構成するROM203bとの間の記憶容量の差異を、中間部20において吸収することができる。これにより、主制御部10と演出制御部203との間で処理能力や記憶容量に差異があるにもかかわらず、主制御部10と演出制御部203との間のセキュリティレベルを維持することができる。
Furthermore, in this
例えば、主制御部10を構成するCPU10aの処理能力や主制御部10を構成するROM10b及びRAM10cの記憶容量が演出制御部203を構成するCPU203aの処理能力や演出制御部203を構成するROM203b及びRAM203cの記憶容量と比較して余裕がある場合、主制御部10は検査値及びコードに対して複雑又は高度な暗号化処理を施して得られた認証データ(個体認証データ及び動作認証データ)を中間部20に送信し、中間部20は受信した認証データから得られた検査値及びコードを用いて主制御部10を認証した認証結果に対して比較的簡易又は低度な暗号化処理を施して得られた中間処理情報305を演出制御部203に送信する。そして、演出制御部203で中間処理情報305から得られた認証結果に応じた処理を行う。このように構成することにより、複雑又は高度な認証方式を採用しなくても、比較的簡易な認証方式を採用した認証処理を行えば、主制御部10と中間部20との間及び中間部20と演出制御部203との間において、高度のセキュリティレベルを維持することができる。
For example, the processing capacity of the
また、演出制御部203を構成するCPU203aの処理能力や演出制御部203を構成するROM203b及びRAM203cの記憶容量が主制御部10を構成するCPU10aの処理能力や主制御部10を構成するROM10b及びRAM10cの記憶容量と比較して余裕がある場合、主制御部10は各検査値及び各コードをそれぞれ個体認証データ及び動作認証データとしてそのまま、あるいは比較的簡易又は低度な暗号化処理を施して得られた個体認証データ及び動作認証データを中間部20に送信し、中間部20は受信した上記個体認証データ及び動作認証データから得られた各検査値及び各コードを用いて主制御部10を認証した認証結果に対して複雑又は高度な再暗号処理を施したり、上記個体認証データ及び動作認証データから得られた各検査値及び各コードに対して復号化処理等を施した後により複雑又は高度な再暗号化処理を施したりする中間演算を行って得られた中間処理情報305を演出制御部203に送信する。そして、演出制御部203で中間処理情報305から得られた認証結果に応じた処理を行う。このように構成することにより、複雑又は高度な認証方式を採用しなくても、比較的簡易な認証方式を採用した認証処理を行えば、主制御部10と中間部20との間及び中間部20と演出制御部203との間において、可能な限りセキュリティレベルを維持することができる。
Further, the processing capacity of the CPU 203a constituting the
このようなことは、主制御部10及び演出制御部203をそれぞれ構成するCPU10a及び203aの処理能力やROM10b及び203b、RAM10c及びRAM203cの記憶容量における余裕に差異がある場合だけでなく、このような差異はないが、主制御部10を構成するCPU10a又は演出制御部203を構成するCPU203aがそれぞれ実行するプログラムの一方の全部又は一部が変更された場合(バージョンアップなど)や、各検査値又は中間演算結果等のデータ構造等において、主制御部10と演出制御部203との間で形式的な差異が発生した場合についても同様に当てはまる。
This is not only the case where there is a difference in the processing capacity of the
<実施の形態2>
以下、本発明の実施の形態2に係るパチンコ遊技機について説明する。本実施の形態2のパチンコ遊技機は、主制御部10においてROM10bに予め記憶されている所定のデータを分割する方法が、実施の形態1のパチンコ遊技機と異なる。これ以外の点は、基本的に実施の形態1のパチンコ遊技機と同様である。以下、実施の形態1のパチンコ遊技機と同一の部材には同一の符号を付してその詳細な説明は省略し、異なる点について重点的に説明する。
<
Hereinafter, a pachinko gaming machine according to
以下、主制御部10における所定のデータの分割方法について詳細に説明する。
主制御部10は、検査値生成の対象となる各データブロックを構成するデータの量(以下、データ量という)を決定する。データ量の決定方法は、例えば、乱数生成回路(図示略)や上記プログラムコードを構成する乱数生成プログラムによって生成された値をデータ量とする方法であったり、主制御部10の他の処理において生成される値を所定のタイミングで参照し、その値をデータ量としたりする方法が考えられる。主制御部10は、例えば、ROM10bに記憶されている所定のプログラムコードのすべてを用いて検査値を生成するまで、データ量を決定する。上記データ量を決定する処理を実行する手段は、例えば、図1に示す決定手段12に対応させることができる。
Hereinafter, a predetermined data dividing method in the
The
次に、主制御部10は、ROM10b内の所定のプログラムコードを、決定手段12で決定したデータ量で分割する。そして、主制御部10は、各データブロック毎に半群演算を行って、主制御部10を認証するための分割したデータブロック数分の検査値を生成する。すなわち、本実施の形態2では、分割して得られたデータブロックの数が分割数になる。
Next, the
主制御部10は、例えば、1つの検査値を生成するごとに、その生成に用いるデータ量を決定する。この場合、主制御部10は、ROM10bの所定領域内のすべてのプログラムコードを用いた検査値の生成が完了するまで、データ量の決定と検査値の生成とを繰り返す。このため、本実施の形態2では、いくつの検査値が生成されるか(すなわち、分割数がいくつになるか)は、ROM10bの所定領域内のすべてのプログラムコードを用いた検査値の生成が完了するまでわからない。
For example, every time one inspection value is generated, the
なお、1つの検査値を生成するごとにデータ量を決定するのではなく、予め検査値の生成に用いるデータ量を決定しておいてもよい。また、すべての検査値の生成に用いるデータ量を等しくするようにしてもよい。この場合、データ量を決定した時点で分割数が予測可能となる。 Instead of determining the amount of data every time one inspection value is generated, the amount of data used for generating the inspection value may be determined in advance. Further, the data amount used for generation of all inspection values may be made equal. In this case, the number of divisions can be predicted when the data amount is determined.
半群演算として加算を用いる方式Aにより検査値を生成する一例を図4を用いて説明する。図4に示すプログラムコード記憶領域400には、12個のプログラムコード(「0x01」〜「0x09」,「0x0A」〜「0x0C」、1つのプログラムコードのデータ量は1バイト)が記憶されている。
まず、1つ目の検査値の生成に用いるデータ量を4バイトと決定した場合、プログラムコード記憶領域400に記憶されたプログラムコードから、4バイト分のプログラムコード(「0x01」,「0x02」,「0x03」,「0x04」)を分割し、第1ブロック400aとする。次に、第1ブロック400aに記憶されたプログラムコード「0x01」,「0x02」,「0x03」,「0x04」を加算して第1検査値「0x0A」が得られる。
An example in which the test value is generated by the method A using addition as the semi-group operation will be described with reference to FIG. The program
First, when the amount of data used for generating the first inspection value is determined to be 4 bytes, 4 bytes of program code (“0x01”, “0x02”, “0x03”, “0x04”) are divided into
続いて、2つ目の検査値の生成に用いるデータ量を3バイトと決定した場合、プログラムコード記憶領域400に記憶されたプログラムコードのうち第1ブロック400aに記憶されたプログラムコードを除いたプログラムコードから、3バイト分のプログラムコード(「0x05」,「0x06」,「0x07」)を分割し、第2ブロック400bとする。次に、第2ブロック400bに記憶されたプログラムコード「0x05」,「0x06」,「0x07」を加算して第2検査値「0x12」が得られる。
Subsequently, when it is determined that the data amount used for generating the second inspection value is 3 bytes, the program code stored in the program
続いて、3つ目の検査値の生成に用いるデータ量を7バイトと決定した場合、プログラムコード記憶領域400に記憶されたプログラムコードのうち第1ブロック400a及び第2ブロック400bに記憶されたプログラムコードを除いたプログラムコードは、5バイト分しかないので、5バイト分(「0x08」,「0x09」,「0x0A」,「0x0B」,「0x0C」)のプログラムコードを第3ブロック400cとする。次に第3ブロック400cに記憶されたプログラムコード「0x08」,「0x09」,「0x0A」,「0x0B」,「0x0C」を加算して第3検査値「0x32」が得られる。主制御部は、プログラムコード記憶領域400に記憶された12個のプログラムコードすべてを用いて検査値を生成したので検査値の生成を終了する。
Subsequently, when it is determined that the amount of data used for generating the third inspection value is 7 bytes, among the program codes stored in the program
以下、主制御部10における認証に関する処理について説明する。図18は、主制御部10による認証に関する処理の一例を示すフローチャートである。本フローチャートでは、検査値を生成する毎にデータ量を決定し、所定のプログラムコードを分割する場合の処理について説明する。
Hereinafter, a process related to authentication in the
主制御部10は、通常の制御信号の送信を行いながら(ステップS130)、認証データ付制御信号の送信タイミングを待つ(ステップS131)。そして、認証データ付制御信号の送信タイミングになると(ステップS131:YES)、主制御部10は、検査値及びコードの生成に用いるプログラムコードのデータ量を決定する(ステップS132)。なお、データ量の決定方法は任意である。また、データ量は認証データ付制御信号の送信タイミング前に決定されていてもよい。
The
次に、主制御部10は、例えば、プログラムコード記憶領域400の先頭から、ステップS132で決定したデータ量のプログラムコードを読み出し、半群演算を行って検査値を算出し(ステップS133)、検査値に対して暗号化処理を施して個体認証データを生成する(ステップS134)。この処理により、分割数分の検査値及び個体認証データが生成される。なお、検査値の生成は、認証データ付制御信号の送信タイミング前に行っていてもよい。ここで、検査値の生成方法(生成に用いる演算の種類など)は、前回の認証データ送信時に決定されている。また、初回の検査値の生成方法は初期値として予め決定しておく。
Next, the
次に、主制御部10は、プログラムコード記憶領域400内のすべてのデータを用いて検査値を生成するまで(ステップS135:NO)、ステップS132に戻り、上記処理を繰り返す。ここで、「プログラムコード記憶領域400内のすべてのデータを用いて」とは、プログラムコード記憶領域400内のデータを漏れなく、かつ重複なく用いて、という意味である。主制御部10は、例えばプログラムコード記憶領域400の先頭から順番にデータを読み出して検査値の生成に用いる。2つ目以降の検査値を生成する場合は、前の検査値の生成に用いたプログラムコードの次の領域に書き込まれたデータを、ステップS132で決定した量だけ読み出して検査値を生成する。なお、最後の検査値を生成する際は、ステップS132で決定したデータ量に足りない可能性があるが、主制御部10は、取得できる分のプログラムデータのみを用いて検査値を生成する。
Next, the
プログラムコード記憶領域400内のすべてのデータを用いて検査値を生成すると(ステップS135:YES)、主制御部10は、ステップS134で生成した個体認証データの個数、すなわち分割数に基づいて、動作コード、相対時間コード、及び同期コードの中から動作認証データとして利用するコードを決定する(ステップS136)。そして決定したコードを元にして動作認証データを生成する(ステップS137)。なお、ステップS136とステップS137とを入れ替えて、動作コード、相対時間コード及び同期コードをすべて生成しておき、動作認証データとして用いると決定されたコードのみを利用するようにしてもよい。
When the test value is generated using all the data in the program code storage area 400 (step S135: YES), the
次に、主制御部10は、生成した個体認証データ及び動作認証データを制御コマンドデータに付加して(ステップS138)、認証データ付制御信号を中間部20に送信する(ステップS139)。そして、主制御部10は、すべての個体認証データ及び動作認証データを送信するまで(ステップS140:NO)、ステップS139に戻り、認証データ付制御信号の送信を繰り返す。そして、すべての認証データを送信すると(ステップS140:YES)、本フローチャートによる処理を終了する。
Next, the
ここで、認証データを付加する制御コマンドは特に制限されず任意の制御コマンドでよい。また、認証データ付制御信号は連続して送信してもよいし、通常の制御信号に混ぜて送信してもよい。また、認証データを生成した直後に送信するのではなく、すべての認証データを生成した後(すなわち、プログラムコード記憶領域400内のすべてのプログラムコードを用いて認証データを生成した後)に、認証データの送信を開始してもよい。 Here, the control command for adding the authentication data is not particularly limited and may be an arbitrary control command. The control signal with authentication data may be transmitted continuously, or may be transmitted by mixing with a normal control signal. In addition, the authentication data is not transmitted immediately after it is generated, but is generated after all the authentication data is generated (that is, after the authentication data is generated using all the program codes in the program code storage area 400). Data transmission may be started.
中間部20及び演出制御部203における認証に関する処理は、実施の形態1と同様である。すなわち、中間部20は、主制御部10から送信された認証データ付制御信号から認証データを抽出し、認証データを用いて認証処理を行い、認証結果を用いて中間処理情報を生成し、中間処理情報付制御信号を演出制御部203に送信する。演出制御部203は、中間部20から送信された中間処理情報付制御信号から中間処理情報を抽出し、中間処理情報から認証結果を復元し、認証結果に応じて各種処理を行う。
Processing related to authentication in the
次に、図18及び図15に示す処理のうち、コード選択・特定処理の具体例について説明する。図19は、主制御部10(被認証者)及び中間部20(認証者)がそれぞれ実行する処理の相互関係の一例を示す処理シーケンスである。図19においては、分割数に基づいたコードの選択例として、図5に示した選択例1(ここでは、X=3とする)によって利用するコードを選択するものとする。本シーケンス図では、説明の便宜上、検査値の生成に用いるデータ量を一括して決定するように表記しているが、検査値を生成するごとにデータ量を決定してもよい。 Next, a specific example of the code selection / specification process among the processes shown in FIGS. 18 and 15 will be described. FIG. 19 is a processing sequence illustrating an example of a mutual relationship between processes executed by the main control unit 10 (authenticated person) and the intermediate unit 20 (authenticated person). In FIG. 19, as a code selection example based on the number of divisions, a code to be used is selected according to selection example 1 (X = 3 in this example) shown in FIG. In this sequence diagram, for convenience of explanation, the data amount used for generating the inspection value is collectively determined. However, the data amount may be determined every time the inspection value is generated.
まず、主制御部10は、任意の方法で認証データの生成に用いるデータ量を決定する。例えば、全データ量が12バイトあり、検査値の生成に用いるデータ量を、それぞれ4バイト、3バイト、5バイトとすると、3つの検査値を生成することになり、分割数=3となる(ステップS140)。主制御部10は、プログラムコード記憶領域400の先頭から順に4バイト、3バイト、5バイトのプログラムコードを読み出し、それぞれのプログラムコードを用いて、検査値を生成する(ステップS142)。主制御部10は、検査値に暗号化処理を施して個体認証データを生成する(ステップS143)。さらに、分割数によってコードを選択し(ステップS144)、選択されたコードに暗号化処理を施して動作認証データを生成する(ステップS145)。その後、個体認証データ及び動作認証データからなる認証データ付制御信号を中間部20に送信する(ステップS146)。
First, the
続いて、中間部20における処理について説明する。中間部20は、主制御部10から送信された認証データ付制御信号を受信する(ステップS147)。そして、認証データ付制御信号から個体認証データ及び動作認証データを抽出し(ステップS148)、復号化処理を施して検査値及びコードを取得する(ステップS149)。中間部20は、取得した検査値に対して結合処理を行い(ステップS150)、結合結果を期待値と照合する。期待値と一致すると、中間部20は主制御部10との認証を成功させる(ステップS151)。今回の場合は、3つの検査値を用いて結合処理を行った際に期待値と一致するはずである(結合数=3)。
Next, processing in the
中間部20は、結合数に基づいて動作認証データとして用いられているコードの種類を特定し(ステップS152)、特定されたコードに対応する認証方法で主制御部10の動作順序を認証する(ステップS153)。ここまでがコード選択・特定処理の流れである。
The
続いて2回目の処理において、主制御部10は、再び任意の方法で認証データの生成に用いるデータ量を決定する。例えば、検査値の生成に用いるデータ量を、それぞれ4バイト、2バイト、3バイト、3バイトとすると、4つの検査値を生成することになり、分割数=4となる(ステップS154)。主制御部10は、プログラムコード記憶領域400の先頭から順に4バイト、2バイト、3バイト、3バイトのプログラムコードを読み出し、それぞれのプログラムコードを用いて、検査値を生成する(ステップS155)。主制御部10は、検査値に暗号化処理を施して個体認証データを生成する(ステップS156)。さらに、分割数によってコードを選択し(ステップS157)、選択されたコードに暗号化処理を施して動作認証データを生成する(ステップS158)。その後、個体認証データ及び動作認証データからなる認証データ付制御信号を中間部20に送信する(ステップS159)。
Subsequently, in the second processing, the
続いて、中間部20は、主制御部10から送信された認証データ付制御信号を受信し(ステップS160)、個体認証データ及び動作認証データを抽出する(ステップS161)。そして、復号化処理を施して検査値及びコードを取得し(ステップS162)、取得した検査値に対して結合処理を行う(ステップS163)。結合結果が期待値と一致すると、中間部20は主制御部10との認証を成功させる(ステップS164)。今回の場合は、4つの検査値を用いて結合処理を行った際に期待値と一致するはずである(結合数=4)。さらに、中間部20は、結合数に基づいて動作認証データとして用いられているコードの種類を特定し(ステップS165)、特定されたコードに対応する認証方法で主制御部10の動作順序を認証する(ステップS166)。
Subsequently, the
以上説明したように、本実施の形態2にかかるパチンコ遊技機は、主制御部10において、分割数そのものを決定するのではなく、認証データの生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減することができる。本実施の形態2においては、本実施の形態1により得られる効果も当然に得られる。
As described above, in the pachinko gaming machine according to the second embodiment, the
<実施の形態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において、ある記憶領域から他の記憶領域へのデータの複写や参照すべきアドレスの書き換えなどにより実現することができる。
<
In the said
For example, with respect to the first embodiment, one CPU has the functions of the
但し、上記のような場合、1個のCPUが2個のCPUの機能を備えることになるので、一般的には処理負荷が増大する。そこで、例えば、デュアルCPUの構成により中間部20の処理を行う、などが考えられる。
However, in the above case, since one CPU has the functions of two CPUs, the processing load generally increases. Thus, for example, the processing of the
本実施の形態3のパチンコ遊技機は中間部20と演出制御部203とを1個のソフトウェアで構成したので、実施の形態1及び2において得られる効果の他に、さらに以下に示す効果が得られる。
In the pachinko gaming machine of the third embodiment, the
1.並行開発及び情報セキュリティ向上
演出制御部203と中間部20とがソフトウェア構成上分離独立している場合は、演出制御部203及び中間部20をそれぞれ並行して個別に開発することが可能であり、これにより、例えば、以下に示す効果が得られる。
1. Parallel development and information security improvement When the
[1]演出制御部203と中間部20とについて同時に設計、開発を行うことができるため、並行開発できない場合と比較して、製品の開発期間を短縮することができる。
[2]演出制御部203と中間部20とについてそれぞれ独立した開発体制をとることができるため、演出制御部203と中間部20の設計製造検証を行う際の業務上の機密情報(例えば、認証処理の方式など、遊技に関する処理など)を、それぞれの開発体制外に流出させる可能性を減らすことができる。
[1] Since the
[2] Because the
2.認証機能の導入容易性及び他の機種へ移植容易性
中間部20の認証処理は既存の遊技処理と独立しているため、中間部20の認証処理と既存の遊技処理との間の認証情報の送信は、既存の遊技処理のために設けられているインターフェイスを用いて行うことができる。したがって、認証機能を導入することが容易になる。
2. Ease of introduction of authentication function and portability to other models Since the authentication process of the
また、パチンコ遊技機の新機種を設計開発検証する際に、パチンコ遊技機の新機種の機能と以前の機種の機能との差異が中間部20の実装とは余り関連しない可能性が高い。したがって、中間部20に関して以前の機種から新機種への移行を行う際に、設計変更が軽微なもので済む可能性が高い。
Further, when designing and developing a new model of a pachinko gaming machine, there is a high possibility that the difference between the function of the new model of the pachinko gaming machine and the function of the previous model is not so much related to the implementation of the
3.検証の容易性
演出制御部203と中間部20とがソフトウェア構成上分離独立している場合は、演出制御部203及び中間部20に対しそれぞれ個別に検証を行うことが可能である。したがって、演出制御部203と中間部20とが分離されていないものに対する検証を行う場合と比較し、それぞれの機能が狭い機能で閉じているため、短期間かつ少人数で検証を行うことができる。
3. Ease of Verification When the
4.認証方式の変更容易性
認証方式を変更したり、認証アルゴリズムをバージョンアップしたりする場合、主制御部10及び中間部20だけで変更又はバージョンアップを図ればよく、演出制御部203の認証に関する処理を変更しなくて済む。
4). Changeability of authentication method When the authentication method is changed or the authentication algorithm is upgraded, only the
5.認証用のハードウェアとして、演出制御部203とは別個のCPU又は専用集積回路などを設けることができない場合であっても、ソフトウェアで容易に認証機能を追加することができる。
5. Even if it is not possible to provide a CPU or dedicated integrated circuit separate from the
6.演出制御部203の処理負荷軽減
中間部20に実装する認証機能を演出制御部203のソフトウェアで実装する場合、演出制御部203の既存の遊技処理に認証機能を追加することにより、演出制御部203の処理負荷が増大することになる。そこで、演出制御部203を構成するCPUとしてデュアルコアCPUを用いることが考えられる。認証処理を実現するための処理負荷をデュアルコアCPUを利用することによって、処理の分散を図ることが可能になるため、演出制御部203の既存の遊技処理をできる限り影響しないように、認証機能を追加することができ、認証機能の実現が容易になる。
6). Reduction of processing load of the
<その他の実施の形態>
本発明の具体的な構成は上記各実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計の変更等があっても本発明に含まれる。
例えば、実施の形態1では、主制御部10と演出制御部203との間に中間部20を設ける例を示したが、これに限定されず、主制御部10と賞球制御部204との間に中間部を設けてもよい。この場合、賞球制御部204は報知手段を備えていないが、主制御部10と賞球制御部204との間は双方向通信が可能であるので、認証が不成功となった場合には、賞球制御部204から主制御部10に対して、制御コマンドデータ301及び付随データ302とともに認証が不成功となった旨のデータを送信するように構成してもよい。そして、主制御部10は、上記不成功となった旨のデータを中間部20を介して演出制御部203に送信し、演出制御部203において、不成功となった旨のデータに基づいて、不正行為が行われたことを報知させる。
また、上記各実施の形態では、中間部20をCPU、ROM、RAM等を備えて構成しているが、同様の機能を持たせたLSI等の集積回路として実現するようにしてもよい。
<Other embodiments>
The specific configuration of the present invention is not limited to the above-described embodiments, and any design change or the like within a range not departing from the gist of the present invention is included in the present invention.
For example, in
In each of the above embodiments, the
また、実施の形態1〜3に係るパチンコ遊技機においては、所定の生成方式を用いて動作コード、相対時間コード及び同期コードを生成するとし、各コード内の具体的な情報についての切り替えについては特に言及していないが、各コードの切り替えと同様に、各コードを生成するための情報(例えば、動作コードの場合は機能番号や認証回数等)を分割数等によって切り替えるようにしてもよい。分割数は主制御部10のみが知る値であり、中間部20は個体認証が成功した時に初めてその値を結合数として知ることができる。よって、不正行為者は分割数及び結合数を知ることができず、動作コード生成方式の切り替えタイミングを知ることができない。これにより、不正行為者によって検査値が不正に生成されることを防止することができる。
In addition, in the pachinko gaming machines according to the first to third embodiments, it is assumed that an operation code, a relative time code, and a synchronization code are generated using a predetermined generation method, and about switching about specific information in each code Although not mentioned in particular, information for generating each code (for example, in the case of an operation code, a function number, the number of authentications, etc.) may be switched depending on the number of divisions, etc. The number of divisions is a value that only the
また、実施の形態1〜3に係るパチンコ遊技機において、例えば、動作コードとして機能番号を用いる場合、機能番号を主制御部10によって実行されるプログラムの所定の機能を実行するための処理毎に実行される順番に従って連続して増加又は減少する番号を重複なく割り当てておいてもよい。このように機能番号を割り当てることにより、中間部20は、受信した動作認証データから動作コードを復元し、受信した順に動作コードの値が連続しているか否かを判定することで動作認証を行うことができる。すなわち、中間部20は、動作認証を行うために、予め動作コード用期待値を記憶しておいたり、動作コードと動作コード用期待値とを用いて照合処理を行ったりする必要がない。これにより、中間部20の動作認証による処理負荷や、中間部20の記憶領域を占める動作コードによる動作認証に関するデータ量を低減することができる。
Moreover, in the pachinko gaming machine according to the first to third embodiments, for example, when a function number is used as an operation code, the function number is used for each process for executing a predetermined function of a program executed by the
また、実施の形態1〜3に係るパチンコ遊技機は、制御コマンドを送信する際に、個体認証データ又は動作認証データの少なくともいずれか一方を制御コマンドに付加すると説明したが、本発明に係る遊技機はこれに限定されない。例えば、認証データだけで構成された制御信号を生成してそれを所定のタイミングで出力するようにしてもよい。 Moreover, although the pachinko gaming machine according to the first to third embodiments has been described as adding at least one of individual authentication data and operation authentication data to the control command when transmitting the control command, the game according to the present invention The machine is not limited to this. For example, a control signal composed only of authentication data may be generated and output at a predetermined timing.
さらに、主制御部10における検査値生成方法を例えば分割数に応じて切り替えるようにしてもよい。この場合、主制御部10は、分割数に基づいて、複数の半群演算の中から次回の検査値の生成に用いる1個の半群演算を選択するように構成することができる。一方、中間部20は、主制御部10における検査値生成方法が切り替えられた場合、結合数に基づいて期待値を切り替える。具体的には、主制御部10は、例えば、今回の分割数が奇数の場合は次回の半群演算を今回用いた半群演算と異なるものを選択し、今回の分割数が偶数の場合は次回の半群演算を今回用いた半群演算と同一のものを選択する。なお、初回の半群演算については、主制御部10と中間部20との間で同一の方式を利用するものと予め設定しておく。ここで、分割数は主制御部10のみが知る値であり、中間部20は認証が成功した時に初めてその値を結合数として知ることができる。したがって不正行為者は、分割数及び結合数を知ることができず、検査値生成方法の切り替えタイミングを知ることができない。これにより、不正行為者によって検査値が不正に生成されることを防止することができる。
Furthermore, the inspection value generation method in the
また、上記各実施の形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、上記各実施の形態と同様に構成することにより、上記各実施の形態と同様の効果を得ることができる。
また、上記各実施の形態は、その目的及び構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。
In each of the above embodiments, the present invention is applied to a pachinko gaming machine. However, the present invention is not limited to this, and the present invention is not limited to a pachinko gaming machine such as a sparrow ball gaming machine or an arrangement ball. The present invention can also be applied to other gaming machines such as a revolving type gaming machine such as a gaming machine or a slot machine. Even in these gaming machines, the same effects as those of the above-described embodiments can be obtained by configuring similarly to the above-described embodiments.
In addition, each of the above embodiments can utilize each other's technology as long as there is no particular contradiction or problem in the purpose, configuration, or the like.
1 パチンコ遊技機
10 主制御部
10a,20a,203a,204a CPU
10b,20b,203b,204b ROM
10c,20c,203c,204c RAM
11 データ記憶手段
12 決定手段
13 検査値生成手段
14 コード生成手段
20 中間部
21 演算値記憶手段
22 個体認証手段
23 動作認証手段
203 演出制御部
203d VRAM
204 賞球制御部
301 制御コマンドデータ
302 付随データ
303 個体認証データ
304 動作認証データ
305 中間処理情報
310 認証データ付制御信号
311 個体認証データ付制御信号
312 動作認証データ付制御信号
321,322,323 中間処理情報付制御信号
1
10b, 20b, 203b, 204b ROM
10c, 20c, 203c, 204c RAM
DESCRIPTION OF
204 Prize
Claims (22)
前記主制御部は、
所定のデータが記憶されているデータ記憶手段と、前記データ記憶手段に記憶されている前記所定のデータを分割し、分割されたデータに対して結合法則を満たす一又は複数の2項演算のうちの1個の2項演算を行って検査値を生成する検査値生成手段と、前記主制御部の動作の継続性を示す情報を含むコードを生成するコード生成手段とを備え、
前記検査値及び前記コードを前記制御コマンドに付加して前記中間部に送信し、
前記中間部は、
前記データ記憶手段に記憶されている前記所定のデータと同一のデータに、前記一又は複数の2項演算と同一の2項演算を行って得られた一又は複数の演算値を記憶する演算値記憶手段と、前記制御コマンドに付加された前記検査値に前記検査値生成手段で用いられた前記2項演算を行い、この演算結果と演算値記憶手段に記憶されている前記一又は複数の演算値のうち前記2項演算に対応する演算値とが一致するか否かに基づいて前記主制御部の個体認証を行う個体認証手段と、前記個体認証手段によって前記主制御部の個体認証が成功した際に、前記制御コマンドに付加された前記コードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行う動作認証手段とを備え、
前記個体認証手段が得た認証結果及び前記動作認証手段が得た認証結果を前記主制御部から送信された制御コマンドに付加して前記周辺部に送信する
ことを特徴とする遊技機。 A main control unit for outputting a control command, a said main and intermediate portions connected to the control unit, a gaming machine and a peripheral portion which performs connected to said intermediate portion corresponding to the control command processing,
The main control unit
Data storage means storing predetermined data, and the predetermined data stored in the data storage means are divided, and one or a plurality of binary operations satisfying a combining law for the divided data A test value generating means for generating a test value by performing one binary operation of the above, and a code generating means for generating a code including information indicating continuity of the operation of the main control unit,
The inspection value and the code are added to the control command and transmitted to the intermediate unit,
The intermediate part is
An operation value for storing one or more operation values obtained by performing the same binary operation as the one or more binary operations on the same data as the predetermined data stored in the data storage means One or a plurality of operations stored in the storage means and the inspection value added to the control command are performed on the inspection value used in the inspection value generation means, and the operation result and the operation value storage means are stored. Individual authentication means for performing individual authentication of the main control unit based on whether or not the operation value corresponding to the binary operation of the values matches, and individual authentication of the main control unit succeeded by the individual authentication means An operation for authenticating the operation of the main control unit based on whether or not the information indicating the continuity of the operation of the main control unit included in the code added to the control command satisfies a predetermined condition An authentication means,
The gaming machine, wherein the authentication result obtained by the individual authentication unit and the authentication result obtained by the operation authentication unit are added to the control command transmitted from the main control unit and transmitted to the peripheral unit.
前記コード生成手段は、前記コードを第2の暗号化方式で暗号化し、
前記個体認証手段は、前記検査値生成手段で暗号化された前記検査値を前記第1の暗号化方式に対応する復号化方式で復号化して前記個体認証を行い、
前記動作認証手段は、前記コード生成手段で暗号化された前記コードを前記第2の暗号化方式に対応する復号化方式で復号化して前記動作認証を行う
ことを特徴とする請求項1に記載の遊技機。 The inspection value generation means encrypts the inspection value with a first encryption method,
The code generation means encrypts the code using a second encryption method,
The individual authentication means performs the individual authentication by decrypting the inspection value encrypted by the inspection value generation means by a decryption method corresponding to the first encryption method,
The operation authentication unit performs the operation authentication by decrypting the code encrypted by the code generation unit using a decryption method corresponding to the second encryption method. Game machines.
前記個体認証手段は、前記主制御部の個体認証が成功した際の前記2項演算の対象となった検査値の数に基づいて、前記一又は複数の2項演算の中から次回の前記主制御部の個体認証に用いる2項演算を選択するとともに、次回の個体認証においては前記演算値記憶手段に記憶された演算値のうち前記検査値生成手段によって選択された前記2項演算と同一の2項演算に対応する演算値を使用する
ことを特徴とする請求項3に記載の遊技機。 The inspection value generation means selects a binary operation used for generation of a next inspection value from the one or a plurality of binary operations based on the number of divisions,
The individual authentication unit is configured to select the next main operation from among the one or a plurality of binary operations based on the number of test values subjected to the binary operation when the individual authentication of the main control unit is successful. The binary operation used for the individual authentication of the control unit is selected, and in the next individual authentication, the same operation as the binary operation selected by the test value generation unit among the operation values stored in the operation value storage unit is selected. The game machine according to claim 3, wherein a calculation value corresponding to the binary calculation is used.
前記動作認証手段は、前記主制御部に対する前記個体認証が成功した際の前記検査値の数に基づいて、前記動作コード、前記相対時間コード、又は前記同期コードの中から特定された1つのコードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行う
ことを特徴とする請求項3又は4に記載の遊技機。 The code generation means is configured using an operation code configured using information indicating an operation order of the main control unit based on the number of divisions, and relative time information with respect to a reference value set from timekeeping information. One of the synchronization codes configured using the relative time code or the packet information output with the transmission of the control command from the main control unit indicates the continuity of the operation of the main control unit Generated as code containing information,
The operation authentication means is one code specified from the operation code, the relative time code, or the synchronization code based on the number of the inspection values when the individual authentication to the main control unit is successful. The game according to claim 3 or 4, wherein operation authentication of the main control unit is performed based on whether information indicating continuity of operation of the main control unit included in the condition satisfies a predetermined condition. Machine.
前記コード生成手段は、前記コードを第2の暗号化方式で暗号化し、
前記個体認証手段は、前記検査値生成手段で暗号化された前記検査値を前記第1の暗号化方式に対応する復号化方式で復号化して前記個体認証を行い、
前記動作認証手段は、前記コード生成手段で暗号化された前記コードを前記第2の暗号化方式に対応する復号化方式で復号化して前記動作認証を行う
ことを特徴とする請求項4又は5に記載の遊技機。 The inspection value generation means encrypts the inspection value with a first encryption method,
The code generation means encrypts the code using a second encryption method,
The individual authentication means performs the individual authentication by decrypting the inspection value encrypted by the inspection value generation means by a decryption method corresponding to the first encryption method,
6. The operation authentication unit performs the operation authentication by decrypting the code encrypted by the code generation unit by a decryption method corresponding to the second encryption method. The gaming machine described in 1.
前記個体認証手段及び前記動作認証手段は、前記主制御部の個体認証が成功した際の前記2項演算の対象となった検査値の数に基づいて、暗号化された前記検査値及び前記コードの復号化方式を変更する
ことを特徴とする請求項6に記載の遊技機。 The inspection value generation means and the code generation means change the inspection value and the code encryption method based on the number of divisions,
The individual authentication unit and the operation authentication unit are configured to encrypt the inspection value and the code based on the number of inspection values subjected to the binary operation when the individual authentication of the main control unit is successful. The game machine according to claim 6, wherein the decoding method is changed.
前記個体認証手段は、前記主制御部の個体認証が成功した際の前記2項演算の対象となった検査値の数に基づいて、前記一又は複数の2項演算から次回の前記主制御部の個体認証に用いる2項演算を選択するとともに、次回の個体認証において前記演算値記憶手段に記憶された演算値のうち前記検査値生成手段によって選択された前記2項演算と同一の2項演算に対応する演算値を使用する
ことを特徴とする請求項7に記載の遊技機。 The test value generation means is configured to perform the one or more binary operations based on the number of blocks of the predetermined data obtained by dividing the predetermined data to be subject to individual authentication by the data amount. Select the binary operation used to generate the next test value from
Based on the number of test values subjected to the binary operation when the individual authentication of the main control unit is successful, the individual authentication unit is configured to perform the next main control unit from the one or more binary operations. The binary operation used for the individual authentication is selected, and the same binary operation as the binary operation selected by the test value generation unit among the operation values stored in the calculation value storage unit in the next individual authentication is selected. The game machine according to claim 7, wherein a calculated value corresponding to is used.
前記動作認証手段は、前記主制御部に対する前記個体認証が成功した際の前記検査値の数に基づいて、前記動作コード、前記相対時間コード、又は前記同期コードの中から特定された1つのコードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行う
ことを特徴とする請求項8又は9に記載の遊技機。 The code generation means indicates an operation order of the main control unit based on the number of blocks of the predetermined data obtained by dividing the predetermined data to be subjected to the individual authentication by the data amount. An operation code configured using information, a relative time code configured using relative time information with respect to a reference value set from timekeeping information, or output when the control command is transmitted from the main control unit Generating one code as a code including information indicating continuity of the operation of the main control unit from among synchronization codes configured using packet information;
The operation authentication means is one code specified from the operation code, the relative time code, or the synchronization code based on the number of the inspection values when the individual authentication to the main control unit is successful. 10. The game according to claim 8, wherein operation authentication of the main control unit is performed based on whether information indicating continuity of operation of the main control unit included in the information satisfies a predetermined condition. Machine.
前記コード生成手段は、前記コードを第2の暗号化方式で暗号化し、
前記個体認証手段は、前記検査値生成手段で暗号化された前記検査値を前記第1の暗号化方式に対応する復号化方式で復号化して前記個体認証を行い、
前記動作認証手段は、前記コード生成手段で暗号化された前記コードを前記第2の暗号化方式に対応する復号化方式で復号化して前記動作認証を行う
ことを特徴とする請求項8乃至10のいずれかに記載の遊技機。 The inspection value generation means encrypts the inspection value with a first encryption method,
The code generation means encrypts the code using a second encryption method,
The individual authentication means performs the individual authentication by decrypting the inspection value encrypted by the inspection value generation means by a decryption method corresponding to the first encryption method,
11. The operation authentication unit performs the operation authentication by decrypting the code encrypted by the code generation unit by a decryption method corresponding to the second encryption method. A gaming machine according to any one of the above.
前記個体認証手段及び前記動作認証手段は、前記主制御部の個体認証が成功した際の前記2項演算の対象となった検査値の数に基づいて、暗号化された前記検査値及び前記コードの復号化方式を変更する
ことを特徴とする請求項10に記載の遊技機。 The inspection value generation means and the code generation means change the inspection value and the code encryption method based on the number of blocks of the predetermined data ,
The individual authentication unit and the operation authentication unit are configured to encrypt the inspection value and the code based on the number of inspection values subjected to the binary operation when the individual authentication of the main control unit is successful. The game machine according to claim 10, wherein the decoding method is changed.
前記コード生成手段は、前記コードが付加される前記制御コマンドを示すデータ又は該データの付随データの少なくともいずれか一方のデータと、前記コードとを併せたデータを暗号化する
ことを特徴とする請求項2、6又は11のいずれかに記載の遊技機。 The inspection value generation means encrypts data combining the inspection value with at least one of data indicating the control command to which the inspection value is added or accompanying data of the data,
The code generation means encrypts data combining at least one of the data indicating the control command to which the code is added or the accompanying data of the data and the code. Item 12. A gaming machine according to any one of Items 2, 6 and 11.
前記動作認証手段は、前記主制御部の個体認証が成功した際の前記2項演算の対象となった前記検査値の数を特定値で割った時の余りの数に基づいて前記コードの種類を特定することを特徴とする請求項1乃至13のいずれかに記載の遊技機。 The code generation means selects the type of code based on the number of remainders when the number of each divided data is divided by a specific value,
The operation authentication unit is configured to determine the type of the code based on the number of remainders when the number of the inspection values subjected to the binary operation when the individual authentication of the main control unit is successful is divided by a specific value. The game machine according to claim 1, wherein the game machine is specified.
前記動作認証手段は、前記主制御部の個体認証が成功した際の前記2項演算の対象となった前記検査値の数と、前回の前記主制御部の個体の認証が成功した際の前記2項演算の対象となった前記検査値の数との差分値に基づいて前記コードの種類を特定することを特徴とする請求項1乃至13のいずれかに記載の遊技機。 The code generation means selects the type of the code based on a difference value between the number of each divided data and the number of each divided data at the time of the previous test value generation,
The operation authentication means includes the number of the inspection values that are the targets of the two-term operation when the individual authentication of the main control unit is successful, and the previous authentication of the individual of the main control unit. The game machine according to any one of claims 1 to 13, wherein the type of the code is specified based on a difference value with respect to the number of inspection values subjected to binary operation.
大当たり中の各ラウンドに対応する大当たりコマンド、
大当たり状態の処理を開始させるための大当たり開始コマンド、
大当たり状態の処理を終了させるための大当たり終了コマンド、
前記周辺部に大当たり前のリーチ状態の処理を実行させるための大当たりリーチコマンド、
前記周辺部に電源投入時の処理を実行させるための電源投入コマンド、
前記周辺部に非遊技状態におけるデモ表示を実行させるための客待ちデモコマンド、
前記周辺部に非遊技状態におけるデモ表示を停止させるための客待ちデモ停止コマンド、
前記周辺部に抽選時の抽選結果がはずれの場合の処理を実行させるためのはずれコマンド、
小当たり中の各ラウンドに対応する小当たりコマンドのいずれかであることを特徴とする請求項1乃至16のいずれかに記載の遊技機。 Before Symbol control command,
Jackpot command corresponding to each round of jackpot,
Jackpot start command to start the jackpot processing,
Jackpot end command to end jackpot processing,
A jackpot reach command for causing the peripheral portion to execute a process of reaching a jackpot reach state,
A power-on command for causing the peripheral portion to execute processing at power-on,
A customer-waiting demo command for executing a demonstration display in a non-game state in the peripheral portion,
A customer waiting demo stop command for stopping the demonstration display in the non-gaming state in the peripheral portion,
An off command for causing the peripheral portion to execute processing when the lottery result at the time of the lottery is off,
The gaming machine according to any one of claims 1 to 16, wherein the gaming machine is any one of the small hit commands corresponding to each round in the small hit.
前記主制御部に記憶されている所定のデータと同一のデータに、結合法則を満たす一又は複数の2項演算を行って得られた一又は複数の演算値を記憶する演算値記憶手段と、
前記所定のデータを分割して得られたデータに前記一又は複数の2項演算のうち1個の2項演算を行うことによって前記主制御部にて生成され前記制御コマンドに付加して送信された検査値に対して、前記2項演算を行い、この演算結果と演算値記憶手段に記憶されている前記一又は複数の演算値のうち前記2項演算に対応する演算値とが一致するか否かに基づいて前記主制御部の個体認証を行う個体認証手段と、
前記個体認証手段によって前記主制御部の個体認証が成功した際に、前記主制御部から送信された前記制御コマンドに付加されたコードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行う動作認証手段とを備え、
前記個体認証手段が得た認証結果及び前記動作認証手段が得た認証結果を、前記主制御部から送信された制御コマンドに付加して前記周辺部に送信する
ことを特徴とする中間部。 A main control unit for outputting a control command, and an intermediate portion connected to the main control unit, the intermediate provided in the gaming machine and a peripheral portion which performs connected to said intermediate portion corresponding to the control command processing Part,
The predetermined data and the same data stored in the main control unit, a calculation value storage means for storing one or more calculated values obtained by performing one or more of 2 Ko演calculation satisfies the associative law ,
The data obtained by dividing the predetermined data is generated by the main control unit by performing one binary operation among the one or more binary operations, and is transmitted in addition to the control command. The binary calculation is performed on the inspection value, and whether the calculation result matches the calculation value corresponding to the binary calculation among the one or more calculation values stored in the calculation value storage means. Individual authentication means for performing individual authentication of the main control unit based on whether or not,
When the individual authentication of the main control unit is successful by the individual authentication unit, information indicating the continuity of the operation of the main control unit included in the code added to the control command transmitted from the main control unit is Operation authentication means for performing operation authentication of the main control unit based on whether or not a predetermined condition is satisfied,
The intermediate unit , wherein the authentication result obtained by the individual authentication unit and the authentication result obtained by the operation authentication unit are added to the control command transmitted from the main control unit and transmitted to the peripheral unit.
前記主制御部が制御コマンドを出力する場合に、
前記主制御部のデータ記憶手段に記憶されている所定のデータを分割し、分割されたデータに対して結合法則を満たす一又は複数の2項演算のうちの1個の2項演算を行って検査値を生成し、前記主制御部の動作の継続性を示す情報を含むコードを生成し、前記検査値及び前記コードを前記制御コマンドに付加して前記中間部に送信する第1のステップと、
前記中間部が、前記制御コマンドに付加された前記検査値に該検査値が生成された際の前記2項演算を行い、この演算結果と前記データ記憶手段に記憶されている前記所定のデータと同一のデータに、前記一又は複数の2項演算と同一の2項演算を行って得られた一又は複数の演算値のうち前記2項演算に対応する演算値とが一致するか否かに基づいて前記主制御部の個体認証を行い、前記主制御部の個体認証が成功した際に、前記制御コマンドに付加された前記コードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行い、個体認証の認証結果及び動作認証の認証結果を前記主制御部から送信された制御コマンドに付加して前記周辺部に送信する第2のステップと
を有することを特徴とする認証方法。 A main control unit for outputting control commands, the main and intermediate portions connected to the control unit, the peripheral portion and the authentication method for use in a gaming machine comprising a performing a process corresponding to the control command is connected to the intermediate portion There,
When the main control unit outputs a control command,
Dividing predetermined data stored in the data storage means of the main control unit, and performing one binary operation of one or a plurality of binary operations satisfying a coupling law on the divided data A first step of generating a test value, generating a code including information indicating continuity of operation of the main control unit, adding the test value and the code to the control command and transmitting the code to the intermediate unit; ,
The intermediate unit performs the binary operation when the inspection value is generated for the inspection value added to the control command, and the operation result and the predetermined data stored in the data storage means Whether the calculation value corresponding to the two-term operation among the one or a plurality of calculation values obtained by performing the same binary operation as the one or more binary operations on the same data Based on the individual authentication of the main control unit based on, when the individual authentication of the main control unit is successful, information indicating the continuity of the operation of the main control unit included in the code added to the control command is Performing operation authentication of the main control unit based on whether or not a predetermined condition is satisfied, and adding the authentication result of individual authentication and the authentication result of operation authentication to the control command transmitted from the main control unit A second step of transmitting to An authentication method characterized by that.
前記主制御部が制御コマンドを出力する場合に、
前記主制御部のデータ記憶手段に記憶されている所定のデータを分割し、分割されたデータに対して結合法則を満たす一又は複数の2項演算のうちの1個の2項演算を行って検査値を生成し、前記主制御部の動作の継続性を示す情報を含むコードを生成し、前記検査値及び前記コードを前記制御コマンドに付加して前記中間部に送信する第1の機能と、
前記中間部が、前記制御コマンドに付加された前記検査値に該検査値が生成された際の前記2項演算を行い、この演算結果と前記データ記憶手段に記憶されている前記所定のデータと同一のデータに、前記一又は複数の2項演算と同一の2項演算を行って得られた一又は複数の演算値のうち前記2項演算に対応する演算値とが一致するか否かに基づいて前記主制御部の個体認証を行い、前記主制御部の個体認証が成功した際に、前記制御コマンドに付加された前記コードに含まれる前記主制御部の動作の継続性を示す情報が所定の条件を満たすか否かに基づいて該主制御部の動作認証を行い、個体認証の認証結果及び動作認証の認証結果を前記主制御部から送信された制御コマンドに付加して前記周辺部に送信する第2の機能と
を実現させるためのコンピュータ読み取り可能な認証プログラム。 A main control unit for outputting a control command, and an intermediate portion connected to the main control unit, a computer mounted on a game machine and a peripheral portion which performs connected to said intermediate portion corresponding to the control command processing ,
When the main control unit outputs a control command,
Dividing predetermined data stored in the data storage means of the main control unit, and performing one binary operation of one or a plurality of binary operations satisfying a coupling law on the divided data A first function that generates a test value, generates a code including information indicating continuity of operation of the main control unit, adds the test value and the code to the control command, and transmits the code to the intermediate unit; ,
The intermediate unit performs the binary operation when the inspection value is generated for the inspection value added to the control command, and the operation result and the predetermined data stored in the data storage means Whether the calculation value corresponding to the two-term operation among the one or a plurality of calculation values obtained by performing the same binary operation as the one or more binary operations on the same data Based on the individual authentication of the main control unit based on, when the individual authentication of the main control unit is successful, information indicating the continuity of the operation of the main control unit included in the code added to the control command is Performing operation authentication of the main control unit based on whether or not a predetermined condition is satisfied, and adding the authentication result of individual authentication and the authentication result of operation authentication to the control command transmitted from the main control unit To achieve the second function to send to Computer-readable authentication program for.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010016850A JP5181361B2 (en) | 2010-01-28 | 2010-01-28 | Game machine, intermediate part, peripheral board, authentication method and authentication program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010016850A JP5181361B2 (en) | 2010-01-28 | 2010-01-28 | Game machine, intermediate part, peripheral board, authentication method and authentication program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011152338A JP2011152338A (en) | 2011-08-11 |
JP5181361B2 true JP5181361B2 (en) | 2013-04-10 |
Family
ID=44538730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010016850A Expired - Fee Related JP5181361B2 (en) | 2010-01-28 | 2010-01-28 | Game machine, intermediate part, peripheral board, authentication method and authentication program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5181361B2 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5067966B2 (en) * | 2007-07-20 | 2012-11-07 | 株式会社ピーエーネット技術研究所 | One-chip microcomputer for gaming machine and gaming machine |
-
2010
- 2010-01-28 JP JP2010016850A patent/JP5181361B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011152338A (en) | 2011-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5096450B2 (en) | Game machine, rear stage, peripheral board, authentication method and authentication program | |
JP5002663B2 (en) | Game machine, main control unit, main control board, rear stage part, peripheral board, authentication method and authentication program | |
JP5322902B2 (en) | Game machine and authentication method | |
JP5322903B2 (en) | Game machine and authentication method | |
JP5067742B2 (en) | Game machine, rear stage, peripheral board, authentication method and authentication program | |
JP5182723B2 (en) | Game machine, rear stage, peripheral board, authentication method and authentication program | |
JP5182720B2 (en) | Game machine, intermediate part, peripheral board, authentication method and authentication program | |
JP5153820B2 (en) | Game machine, main control unit, main control board, intermediate part, peripheral board, authentication method and authentication program | |
JP5142408B2 (en) | Game machine, main control unit, main control board, rear stage part, peripheral board, authentication method and authentication program | |
JP5182721B2 (en) | Game machine, rear stage, peripheral board, authentication method and authentication program | |
JP5182716B2 (en) | Game machine, intermediate part, peripheral board, authentication method and authentication program | |
JP5182719B2 (en) | Game machine, rear stage, peripheral board, authentication method and authentication program | |
JP5114623B2 (en) | Game machine, intermediate part, peripheral board, authentication method and authentication program | |
JP5181361B2 (en) | Game machine, intermediate part, peripheral board, authentication method and authentication program | |
JP5181362B2 (en) | Game machine, rear stage, peripheral board, authentication method and authentication program | |
JP5182722B2 (en) | Game machine, intermediate part, peripheral board, authentication method and authentication program | |
JP5002661B2 (en) | Game machine, main control unit, main control board, intermediate part, peripheral board, authentication method and authentication program | |
JP5002660B2 (en) | Game machine, main control unit, main control board, intermediate part, peripheral board, authentication method and authentication program | |
JP5002662B2 (en) | Game machine, main control unit, main control board, rear stage part, peripheral board, authentication method and authentication program | |
JP5322905B2 (en) | Game machine and authentication method | |
JP5322904B2 (en) | Game machine and authentication method | |
JP5096448B2 (en) | Game machine, intermediate part, peripheral board, authentication method and authentication program | |
JP5181357B2 (en) | Game machine, main control unit, main control board, intermediate part, peripheral board, authentication method and authentication program | |
JP5007330B2 (en) | Game machine, main control unit, main control board, rear stage part, peripheral board, authentication method and authentication program | |
JP5096449B2 (en) | Game machine, intermediate part, peripheral board, authentication method and authentication program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120424 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120622 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20120720 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5181361 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160125 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |