JPH06327831A - Microprocessor for game machine - Google Patents

Microprocessor for game machine

Info

Publication number
JPH06327831A
JPH06327831A JP6033106A JP3310694A JPH06327831A JP H06327831 A JPH06327831 A JP H06327831A JP 6033106 A JP6033106 A JP 6033106A JP 3310694 A JP3310694 A JP 3310694A JP H06327831 A JPH06327831 A JP H06327831A
Authority
JP
Japan
Prior art keywords
authentication code
code
storage means
application program
key
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.)
Granted
Application number
JP6033106A
Other languages
Japanese (ja)
Other versions
JP2975522B2 (en
Inventor
Takehiko Misawa
建日子 三澤
Takashi Kawase
隆 川瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
L II TEC KK
Original Assignee
L II TEC KK
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by L II TEC KK filed Critical L II TEC KK
Priority to JP6033106A priority Critical patent/JP2975522B2/en
Publication of JPH06327831A publication Critical patent/JPH06327831A/en
Application granted granted Critical
Publication of JP2975522B2 publication Critical patent/JP2975522B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

PURPOSE:To prevent the unjust action by giving a recognition code to a program given a type qualification, giving a recognition code to a microprocessor for controlling the machine after reading the above-described recognition code, and starting operation after the accordance of the recognition code is confirmed. CONSTITUTION:A work RAM 4 for control is put into a usable state by a mode controller 9 according to the instruction supplied from a CPU 1, and a program for stopping the device according to the algorithm for calculating the type recognition code, key code, existence of the recognition code, or the fact that an application program(AP) address region is within a range or not is read into the CPU 1 from a built-in ROM 10. As for this CPU 1, the recognition code is calculated on the basis of the key code, and compared with the recognition code read-in from a user memory means (outside ROM) 14. If each result of the comparison does not accord with each other, the device is made to stop after the execution time of AP lapses over a prescribed time, and when the result of the comparison accords with each other, AP is executed.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、遊技機械のパチンコ遊
技機、回胴式遊技機、アレンジボール、ジャン球遊技機
等に搭載されその遊技機制御に使用されるアプリケーシ
ョンプログラム(機器制御プログラムやデータ)を起動
するための半導体チップに関するもので、かかる半導体
チップが認定後に法定基準外で作動するようにプログラ
ムが改変されるのを防ぐように構成されたものである。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an application program (equipment control program or equipment control program which is mounted on a pachinko gaming machine, a spinning-type gaming machine, an arrange ball, a jean ball gaming machine, etc. (Data) related to a semiconductor chip for activating, which is configured to prevent the program from being modified so that the semiconductor chip will operate outside the legal standards after being certified.

【0002】パチンコ機械等遊技機は、風俗営業法の規
則に基づく国家公安委員会の規則に従い遊技機の認定及
び型式の検定を受けなければ販売することができない製
品であり、マイクロプロセッサーを使用したものも保安
電子通信技術協会の型式試験に合格しなければならず、
この型式認定を受けたものがパチンコホール等で営業に
供することができる仕組みとなっている。
A gaming machine such as a pachinko machine is a product that cannot be sold unless the gaming machine is certified and the model is certified in accordance with the rules of the National Public Safety Commission based on the rules of the Business Act of Customs, and uses a microprocessor. Things must pass the type test of the Security Electronics and Communication Technology Association,
Those that have obtained this type approval can be used for sales at pachinko halls.

【0003】しかしながら、型式認定を受けた後にメー
カーや、ホール側にて種々の手段を講じてマイクロプロ
セッサーを改造したり、プログラムを改変して、不正遊
技機として使用されるケースが考えられ、型式認定後の
改造を防止することが今日の課題である。
However, it is conceivable that after the model is approved, the manufacturer or the hall side may take various measures to modify the microprocessor or modify the program to use it as an illegal game machine. Preventing post-approval modification is a challenge today.

【0004】[0004]

【従来技術】従来のこの種の遊技機は、マイクロプロセ
ッサーと一体となった回路を組み、電動役物を連続して
作動させる装置や、電動役物等を電気的にコントロール
するものや、回胴式遊技機において回転する回胴の回転
制御するものなどが知られており、これらの回路では保
安電子通信技術協会の型式試験を合格したものは所定の
確率で、利用者に勝利球を放出するように構成されてい
る。また遊技機の場合は、所定のアドレス領域内にプロ
グラム及びデータを格納することが義務付けられてい
る。
2. Description of the Related Art A conventional game machine of this type includes a device that continuously operates an electric accessory, a device that electrically controls the electric accessory, and a circuit that is integrated with a microprocessor. It is known to control the rotation of a rotating drum in a torso-type game machine.In these circuits, those that pass the type test of the Security Electronics and Communication Technology Association emit a winning ball to the user with a certain probability. Is configured to. In the case of gaming machines, it is obligatory to store programs and data in a predetermined address area.

【0005】[0005]

【発明が解決しようとする課題】しかしながら、かかる
従来の回路の場合は、型式認定をとった後に回路内の制
御プログラムやデータを改変した場合には、認定製品と
区別がつきにくく外見だけでは認定製品として取り扱わ
れる可能性が高い。そのためかかる不正を充分に阻止出
来ないといった不都合がある。かかる不正を野放しにす
れば、遊技者が不利益を被ると共に、型式認定製品を取
り扱っている者の信用も毀損されることになり、ひいて
は型式試験を行う意義が薄れてくるおそれがある。そこ
で本発明はかかる従来技術の欠点に鑑みなされたもの
で、遊技機内の不正改造を困難にするための仕組みを設
けると共に、遊技機内のマイクロプロセッサー内にプロ
グラムやデータの改竄等を防止するための機能を持たせ
ることを目的とする。
However, in the case of such a conventional circuit, if the control program and data in the circuit are modified after the type approval is obtained, it is difficult to distinguish it from the approved product, and the product is approved only by appearance. It is likely to be handled as a product. Therefore, there is an inconvenience that such fraud cannot be sufficiently prevented. If such fraud is left unchecked, the player will be at a disadvantage, and the credibility of the person handling the type-approved product will be impaired, and the significance of performing the type test may be diminished. Therefore, the present invention has been made in view of the above-mentioned drawbacks of the prior art. In order to prevent tampering with programs and data in the microprocessor in the gaming machine, a mechanism for making illegal modification in the gaming machine difficult is provided. The purpose is to have a function.

【0006】[0006]

【課題を解決するための手段】すなわち本発明は、所定
の領域に記憶されたアプリケーションプログラム及び該
アプリケーションプログラムから所定のアルゴリズムの
基に暗号化された認証コード等が格納されたユーザー記
憶手段と、前記アプリケーションプログラムから認証コ
ードを算出するアルゴリズム及び認証コード算出用の単
数又は複数のキーコードが格納されたチップ内蔵記憶手
段と、前記ユーザー記憶手段からユーザーデータ等が読
み込まれ格納されるアプリケーションプログラム作業用
記憶手段と、ユーザー記憶手段から入力されるアプリケ
ーションプログラムと、チップ内蔵記憶手段に格納され
た認証コード算出プログラム及びキーコードから認証コ
ードを算出すると共に、該認証コードと予めユーザー記
憶手段から読み込んだ認証コードとを比較する中央処理
装置(CPU)とからなり、中央処理装置が比較した結
果認証コードが一致しなかった時にアプリケーションプ
ログラムの実行アドレスを監視する手段又はアプリケー
ションプログラムの実行時間を監視する手段を作動させ
ると共にアプリケーションプログラムを実行させ、認証
コードが比較により一致した時にアプリケーションプロ
グラムを実行させるように構成された遊技機用マイクロ
プロセッサーにより本目的を達成する。尚、請求項2の
発明は、中央処理装置が比較した結果認証コードが一致
した時にアプリケーションプログラムの実行アドレスを
監視する手段を作動させ、プログラムが所定の領域を越
えた時に装置の作動を停止又はCPUをリセットするよ
うにプログラム実行させるように構成している。
That is, the present invention provides an application program stored in a predetermined area and a user storage means in which an authentication code or the like encrypted from the application program based on a predetermined algorithm is stored. An algorithm for calculating an authentication code from the application program and a chip built-in storage means storing one or more key codes for calculating the authentication code, and an application program work for reading and storing user data etc. from the user storage means An authentication code is calculated from the storage means, the application program input from the user storage means, the authentication code calculation program and the key code stored in the chip built-in storage means, and the authentication code is read from the user storage means in advance. A central processing unit (CPU) for comparing the authentication code with the authentication code, and a means for monitoring the execution address of the application program or the execution time of the application program when the authentication code does not match as a result of the comparison by the central processing unit. This object is achieved by a microprocessor for gaming machines configured to activate the means and to execute the application program and to execute the application program when the authentication codes match by comparison. According to a second aspect of the present invention, the central processing unit activates the means for monitoring the execution address of the application program when the authentication codes match with each other, and stops the operation of the device when the program exceeds a predetermined area. It is configured to execute a program so as to reset the CPU.

【0007】尚、本発明にかかる装置では、ユーザー記
憶手段に格納されたアプリケーションプログラムから算
出される認証コードCを所定の暗号化のキーコードKを
与えた状態で暗号化する手段として日本電信電話株式会
社が、開発した暗号装置及び暗号化方法(通称フィール
特許(特開昭62-109083号、特開昭63-204289号、特開平0
1-147585号))に基づいて算出し、該暗号化方法をチッ
プ内蔵記憶手段に格納させておくようにすると良い。暗
号化方法はこれらの方法に限定されるものでない。
In the device according to the present invention, Nippon Telegraph and Telephone is used as a means for encrypting the authentication code C calculated from the application program stored in the user storage means in the state where the predetermined encryption key code K is given. An encryption device and an encryption method developed by a corporation (commonly known as a field patent (JP-A-62-109083, JP-A-63-204289, JP-A-0-29289).
1-147585))), and the encryption method may be stored in the chip built-in storage means. The encryption method is not limited to these methods.

【0008】認証コードの解読、キーコードの解読によ
る認定後のユーザー記憶手段内のアプリケーションプロ
グラムの改造を防止するためには、以下に示すようにユ
ーザー記憶手段及びチップ内蔵記憶手段にキーコードや
認証コードを次のように格納し、これらから認証コード
を算出して比較するようにすれば、暗号はより複雑にな
り簡単には解読することができなくなる。 ユーザー記憶手段に格納された認証コードが、複数の
キーコードK1,K2,K3,…Ki,…Knに基づきそれぞれ算
出された複数のものC1,C2,C3,…Ci,…Cnからなり、
チップ内蔵記憶手段に格納されたキーコードが前記複数
のキーコードK1,K2,K3,…Ki,…Knの内の任意の1つ
Kiであり、中央処理装置が比較するユーザー記憶手段の
認証コードが、前記キーコードKiに基づき算出された認
証コードCiとする。 ユーザー記憶手段に格納された認証コードが、複数の
第1次キーコードK1,K2,K3,…Ki,…,Knに基づきそ
れぞれ算出された複数の第1次認証コードC1,C2,C3
…Ci,…,Cnと、該第1次認証コードC1,C2,C3,…
Ci,…,Cn及び第2次キーコードKbに基づき算出された
第2次認証コードC20からなり、チップ内蔵記憶手段に
格納されたキーコードが前記複数の第1次キーコード
K1,K2,K3,…Ki,…,Knの内の任意の1つKiと第2次
キーコードKbであり、中央処理装置が比較するユーザー
記憶手段の認証コードが第1次キーコードKiに基づき算
出された任意の第1次認証コードCiと、第2次認証コー
ドC20とする。 ユーザー記憶手段に格納された認証コードが、1つの
中間キーコードK0に基づき算出された中間認証コードC0
及び複数の第1次キーコードK1,K2,K3,…Ki,…,Kn
に基づき暗号化された第1次認証コードC1,C2,C3,…
Ci,…,Cnと、該第1次認証コードC1,C2,C3,…Ci
…,Cn及び第2次キーコードKbに基づき算出された第2
次認証コードC20からなり、チップ内蔵記憶手段に格納
されたキーコードが中間キーコードK0と、前記複数の第
1次キーコードK1,K2,K3,…Ki,…,Knの内の任意の
1つKiと、第2次キーコードKbであり、中央処理装置が
比較するユーザー記憶手段の認証コードが第1次キーコ
ードKiに基づき算出された任意の第1次認証コードC
iと、第2次認証コードC20とする。
In order to prevent the modification of the application program in the user storage means after the authentication code is decrypted and the key code is decrypted, the key code and the authentication are stored in the user storage means and the chip built-in storage means as shown below. If the codes are stored as follows, and the authentication code is calculated from these and compared, the cipher becomes more complicated and cannot be easily deciphered. A plurality of authentication codes stored in the user storage means are calculated based on a plurality of key codes K 1 , K 2 , K 3 , ... K i , ... K n C 1 , C 2 , C 3 ,. It consists of C i , ... C n ,
The key code stored in the chip built-in storage means is any one of the plurality of key codes K 1 , K 2 , K 3 , ... K i , ... K n.
It is K i , and the authentication code of the user storage means that the central processing unit compares is the authentication code C i calculated based on the key code K i . Authentication code stored in the user storage means, a plurality of first primary key code K 1, K 2, K 3 , ... K i, ..., primary authorization code of the plurality which are respectively calculated based on K n C 1 , C 2 , C 3 ,
... C i , ..., C n and the primary authentication codes C 1 , C 2 , C 3 , ...
C i, ..., C n and second consists primary authentication code C 20, primary key code keycode of the plurality stored in the chip built-in storage unit which is calculated on the basis of the secondary key code K b
K 1, K 2, K 3 , ... K i, ..., is any one K i and the secondary key code K b of the K n, the authentication code of the user storage means by the central processing unit compares An arbitrary primary authentication code C i calculated based on the primary key code K i and a secondary authentication code C 20 . Authentication code stored in the user storage unit, an intermediate authentication code C 0 calculated based on one of the intermediate key codes K 0
And a plurality of primary key codes K 1 , K 2 , K 3 , ... K i , ..., K n
Primary authentication code C 1 , C 2 , C 3 , ... Encrypted based on
C i, ..., C n and, said primary authentication code C 1, C 2, C 3 , ... C i,
..., C n and the second calculated based on the secondary key code K b
The next authentication code C 20 is stored, and the key code stored in the chip built-in storage means is the intermediate key code K 0 and the plurality of primary key codes K 1 , K 2 , K 3 , ... K i , ..., K. An arbitrary one of n K i and a secondary key code K b , and the authentication code of the user storage means to be compared by the central processing unit is an arbitrary first key code K i calculated based on the primary key code K i . Primary authentication code C
i and the secondary authentication code C 20 .

【0009】[0009]

【作用】以上述べた構成において、本発明にかかるマイ
クロプロセッサーではユーザー記憶手段に記憶されたア
プリケーションプログラム(APと呼ぶ)及び認証コー
ドを読み込むことにより以下のように装置を制御する。
ユーザー記憶手段に記憶されているデータのパターンと
して次のようなものがある。 プログラムアドレスの領域が正規及び正規の認証コー
ド有り。 ユーザー記憶手段のデータ領域のフォーマット異常あ
り。 プログラムアドレスの領域が正規及び認証コードな
し。 プログラムアドレスの領域が正規でない及び正規の認
証コード有り。 プログラムアドレスの領域が正規でない及び正規の認
証コードなし。
With the above-described structure, the microprocessor according to the present invention controls the apparatus as follows by reading the application program (referred to as AP) and the authentication code stored in the user storage means.
The following are patterns of data stored in the user storage means. There is a regular and regular authentication code in the program address area. There is a format error in the data area of the user storage. Program address area is regular and there is no authentication code. The program address area is not legitimate and there is a legitimate authentication code. The program address area is not legitimate and there is no legitimate authentication code.

【0010】これらのユーザー記憶手段のプログラム管
理データ及び認証コードの一部又は全部は、作業用記憶
手段に格納される。格納されているアプリケーションプ
ログラムのアドレス領域に異常がない場合は、認証コー
ドがユーザー記憶手段に格納されているかを確認し、も
し認証コードが記録されていない場合や、アドレスにフ
ォーマット異常がある場合には正規の装置ではないとし
て停止処理される。
Part or all of the program management data and the authentication code in these user storage means are stored in the work storage means. If there is no error in the address area of the stored application program, check whether the authentication code is stored in the user storage means.If the authentication code is not recorded or there is a format error in the address, Is stopped because it is not a legitimate device.

【0011】次に認証コードCを有する場合には、読み
込んだアプリケーションプログラムから正規の型式検査
と同一の方法(チップ内蔵記憶手段に格納されている認
証コード算出アルゴリズム及び算出用のキーコードK)
にて認証コードcを算出する。その後算出された認証コ
ードcとユーザー記憶手段から読み込んだ認証コードC
とを比較し、読み込んだ認証コードが正規(一致)か否
かを確認する。確認した結果、認証コードが正規と確認
された場合には、実行アドレス監視手段を作動させた状
態又は作動させない状態でアプリケーションプログラム
を実行させる。また認証コードが不一致のときには、実
行時間監視手段又は実行アドレス監視手段を作動させた
状態で、アプリケーションプログラムを実行させる。
Next, in the case of having the authentication code C, the same method as the regular type inspection from the read application program (the authentication code calculation algorithm and the calculation key code K stored in the chip built-in storage means) is used.
Then, the authentication code c is calculated. The authentication code c calculated thereafter and the authentication code C read from the user storage means
Compare with and check whether the read authentication code is legitimate (match). As a result of the confirmation, if the authentication code is confirmed to be authentic, the application program is executed with or without the execution address monitoring means activated. When the authentication codes do not match, the application program is executed while the execution time monitoring means or the execution address monitoring means are activated.

【0012】認証コード一致の状態でアプリケーション
プログラムを実行させた場合においても、実行アドレス
監視手段を作動させた状態ではプログラムが所定のアド
レス領域を越えて実行しようとするときには、装置を停
止するようにトラップするか又はCPUをリセットし、
装置を再起動させる。また、認証コード不一致の状態で
アプリケーションプログラムを実行させた場合は、当該
アプリケーションプログラムがアドレス領域を越えて制
御しようとする時又はアプリケーションプログラムの実
行開始から所定時間経過した後は装置の作動を停止する
ようにトラップする。以上のようにしてユーザー記憶手
段に格納された〜などのケースについてプログラム
の内容を確認し、装置を作動させるのである。以下に本
発明を図示された実施例に従って詳細に説明する。
Even when the application program is executed in a state where the authentication codes match, when the program tries to execute over a predetermined address area while the execution address monitoring means is operating, the device should be stopped. Trap or reset CPU,
Reboot the device. Further, when the application program is executed in a state where the authentication codes do not match, the operation of the device is stopped when the application program tries to control over the address area or after a lapse of a predetermined time from the start of execution of the application program. To trap. As described above, the contents of the program are checked for the cases such as ~ stored in the user storage means, and the device is operated. Hereinafter, the present invention will be described in detail according to the illustrated embodiments.

【0013】[0013]

【実施例】図1は本発明にかかるマイクロプロセッサー
の実施例の概略を表すブロック図であり、本発明にかか
るマイクロプロセッサーでは、システムバスを介して中
央処理装置1(CPU)と接続されたアプリケーション
プログラムの実行アドレスを監視する手段としてのイリ
ーガルアドレストラップジェネレーター2(以下IAT
Gと呼ぶ)、アプリケーションプログラムの実行時間を
監視する手段としてのブート用ウオッチドッグタイマー
3(以下BWDTと呼ぶ)、システム制御作業用記憶手
段としての制御用ワークRAM4、アプリケーションプ
ログラム作業用記憶手段としてのアプリケーションプロ
グラム用ワークRAM5、アプリケーションプログラム
用ワークRAM5をアプリケーションプログラムに対応
させて制限するためのRAMサイズ制限器6、CPU1
への入力を切替るためのプログラムメモリーバンク切替
器7及び、IATG2,BWDT3,制御用ワークRA
M4及び前記プログラムメモリーバンク切替器7並びに
外部バスゲート8に実行モード(Md)を出すモードコン
トローラ9と、前記プログラムメモリーバンク切替器7
と接続された制御用プログラムが格納されたチップ内蔵
記憶手段としての内蔵ROM10及び外部バスゲート8
と、外部バスゲート8及びCPU1と接続されたプログ
ラムメモリ入出力装置12とからなり、前記アプリケー
ションプログラム用ワークRAM5がRAMサイズ制限
器6と接続されたプロセッサー(チップ)Aと、チップ
Aの外部バスゲート8と接続されたアプリケーションプ
ログラムや該アプリケーションプログラムの認証コード
並びにアプリケーションプログラム用のデータ等が格納
されたユーザー記憶手段としての外部ROM14とから
なる。
1 is a block diagram showing an outline of an embodiment of a microprocessor according to the present invention. In the microprocessor according to the present invention, an application connected to a central processing unit 1 (CPU) via a system bus. Illegal address trap generator 2 (hereinafter referred to as IAT) as a means for monitoring the execution address of the program.
G), a boot watchdog timer 3 (hereinafter referred to as BWDT) as a means for monitoring the execution time of the application program, a control work RAM 4 as a system control work storage means, and an application program work storage means. Application program work RAM 5, RAM size limiter 6 for limiting the application program work RAM 5 in correspondence with the application program, CPU 1
Program memory bank switching device 7 for switching the input to IATG2, BWDT3, and control work RA
M4, the program memory bank selector 7, and a mode controller 9 for issuing an execution mode (Md) to the external bus gate 8, and the program memory bank selector 7
Built-in ROM 10 and external bus gate 8 as chip built-in storage means storing a control program connected to
And a program memory input / output device 12 connected to the external bus gate 8 and the CPU 1, and the processor (chip) A in which the work RAM 5 for application program is connected to the RAM size limiter 6 and the external bus of the chip A. It is composed of an application program connected to the gate 8, an authentication code of the application program, and an external ROM 14 as user storage means for storing data for the application program.

【0014】具体的な各手段とCPU1との接続関係及
びモードコントローラから発せられるモードとの関係は
図2に示す通りであり、アプリケーションプログラムの
実行時間監視用のブート用ウオッチドッグタイマー3
は、図4に示すようにモードコントローラ9からモード
信号が発信された場合に作動され、アプリケーションプ
ログラムの作動時間をカウンタ16によりカウントを始
め、CPU1から与えられた時間(所定時間:1〜2
分)とカウンタ16の時間とを比較器18により比較
し、所定時間経過した場合にはCPU1に対して停止信
号を発信する。
The relationship between the concrete connection of each means with the CPU 1 and the mode issued from the mode controller is as shown in FIG. 2, and the boot watchdog timer 3 for monitoring the execution time of the application program.
4 is activated when a mode signal is transmitted from the mode controller 9 as shown in FIG. 4, the operating time of the application program is started to be counted by the counter 16, and the time given by the CPU 1 (predetermined time: 1-2
Minute) and the time of the counter 16 are compared by the comparator 18, and when a predetermined time has elapsed, a stop signal is transmitted to the CPU 1.

【0015】アプリケーションプログラムの実行アドレ
ス監視用のイリーガルアドレストラップジェネレータ2
は、図5に示すようにCPU1から与えられたアドレス
領域の上限の番地及び下限の番地をそれぞれアドレスレ
ジスタ20、21に記憶させておき、モードコントロー
ラ9からモード信号が発信された場合に作動し、CPU
1のプログラムの走行アドレスを比較器23,24で常
時監視し、いずれかにおいてアドレスを越えた時にCP
U1に対して停止命令を発信する。
Illegal address trap generator 2 for monitoring execution addresses of application programs
As shown in FIG. 5, the upper limit address and the lower limit address of the address area given from the CPU 1 are stored in the address registers 20 and 21, respectively, and are activated when a mode signal is transmitted from the mode controller 9. , CPU
The running address of the program of 1 is constantly monitored by the comparators 23 and 24, and when the address is exceeded in either one, the CP
Send a stop command to U1.

【0016】内蔵ROM10には、型式の認証における
アプリケーションプログラムの認証コード(期待値)を
算出するためのアルゴリズム及び算出のためのキーコー
ドが格納されており、このキーコード及びアルゴリズム
は認証機関が実際に使用するものと同一のものを用い
る。また、外部ROM14から読み込まれるアプリケー
ションプログラムのアドレス領域に関するデータ及び認
証コードの有無により作動を停止させるためにROM1
0には制御プログラムが格納されている。
The built-in ROM 10 stores an algorithm for calculating the authentication code (expected value) of the application program in the type authentication and a key code for the calculation. The key code and the algorithm are actually used by the certification body. Use the same one used for. In addition, in order to stop the operation depending on the presence or absence of the data and the authentication code regarding the address area of the application program read from the external ROM 14, the ROM 1
A control program is stored in 0.

【0017】プログラムメモリ入出力装置12は、主に
外部ROM14に格納されたアプリケーションプログラ
ムメモリを外部I/Oとして読み取るものであり、本実
施例ではその他の格納されたデータとして認証コード、
RAMサイズデータ、資源管理データが含まれる。尚、
ユーザー記憶手段としてのROM14をチップAに装着
した場合には、これらプログラムメモリ入出力装置12
や外部バスゲート8を必要とせず、プログラムメモリー
バンク切替器7により切替使用することができることは
いうまでもない。
The program memory input / output device 12 mainly reads an application program memory stored in the external ROM 14 as an external I / O. In this embodiment, other stored data is an authentication code,
RAM size data and resource management data are included. still,
When the ROM 14 as the user storage means is mounted on the chip A, these program memory input / output devices 12
It goes without saying that the program memory bank switching device 7 can be used for switching without the need for the external bus gate 8.

【0018】以上述べた構成において、本発明にかかる
マイクロプロセッサーではCPU1からの指示によりモ
ードコントローラ9がモードを出し制御用ワークRAM
4を使用可能状態とし、内蔵ROM10から型式認証コ
ード(期待値)を算出するためのアルゴリズム及びキー
コード(単数又は複数種類)並びに認証コードの有無又
はアプリケーションプログラムアドレス領域が範囲内か
否かで装置を停止するためのプログラムがCPU1に読
み込まれる。
In the above-described configuration, in the microprocessor according to the present invention, the mode controller 9 outputs a mode in response to an instruction from the CPU 1 and a control work RAM.
No. 4 is in the usable state, and an apparatus for calculating the type authentication code (expected value) and the key code (single or plural) from the built-in ROM 10 and the presence or absence of the authentication code or whether the application program address area is within the range A program for stopping the is read into the CPU 1.

【0019】かかる後、CPU1からの指示によりモー
ドコントローラ9が、プログラムメモリーバンク切替器
7に対するモードを切替え、外部バスゲート8及び入出
力装置12を介して外部ROM14からRAMサイズ等
の資源管理データ及び認証コードを読み込み、CPU1
の指示によりモードコントローラ9がRAMサイズ制限
器6を所定のサイズに切替える。そしてアプリケーショ
ンプログラムのユーザーワークデータは、アプリケーシ
ョンプログラムワーク用RAM5、また認証コードはC
PU1のメモリーに格納される。ちなみにパチンコ用は
256バイトでパチスロ用は512バイトと規定されて
いる。
After that, the mode controller 9 switches the mode for the program memory bank switching unit 7 according to an instruction from the CPU 1, and the resource management data such as the RAM size and the like from the external ROM 14 via the external bus gate 8 and the input / output device 12. Read the authentication code, CPU1
, The mode controller 9 switches the RAM size limiter 6 to a predetermined size. The user work data of the application program is the RAM 5 for application program work, and the authentication code is C
It is stored in the memory of PU1. By the way, for pachinko machines, it is defined as 256 bytes, and for pachislot machines as 512 bytes.

【0020】また一方でCPU1はROM14の全デー
タを読み込んで、アドレス走査を行い、プログラムのア
ドレス領域が所定のものよりも大きいか否か、資源管理
データ以外の認証コードデータの有無についてもチェッ
クしており、プログラムアドレス領域が規定外の時又は
認証コードが格納されていない場合には自動的に装置の
停止指令を出す。さらにCPU1は走査の結果からデー
タアドレス領域を確認し、そのセレクトデータをメモリ
ーする。
On the other hand, the CPU 1 reads all the data in the ROM 14 and performs an address scan to check whether the address area of the program is larger than a predetermined area and whether or not there is any authentication code data other than the resource management data. Therefore, when the program address area is out of regulation or when the authentication code is not stored, a device stop command is automatically issued. Further, the CPU 1 confirms the data address area from the scanning result and stores the selected data in the memory.

【0021】資源管理データ及び認証コードデータの有
無のチェックをクリアした場合には、モードが切り替わ
り、外部ROM14に格納されたアプリケーションプロ
グラムを含む全データと、内蔵ROM10に格納された
認証コード算出用のアルゴリズムと、内蔵ROM10に
格納されたキーコードが読み込まれ、アプリケーション
プログラムの認証コードが算出される。
When the presence / absence of the resource management data and the authentication code data is cleared, the mode is switched and all the data including the application program stored in the external ROM 14 and the authentication code calculation stored in the internal ROM 10 are stored. The algorithm and the key code stored in the built-in ROM 10 are read, and the authentication code of the application program is calculated.

【0022】算出された認証コードと、外部ROM14
から読み込んだ認証コードとはCPU1により照合さ
れ、照合の結果一致する場合は装置のモードを外部バス
8、切替器7、外部ROMに切替えてアプリケーション
プログラム実行モードに移行させる。また照合の結果が
不一致の場合には、実行アドレスのIATG2のアドレ
スのレジスタ20,21に上限及び下限に関するデータ
を与えた後にこれを作動させると共にBWDT3にプロ
グラムの実行時間に関するデータをカウンタ16に与え
てこれを作動させ、さらにアプリケーションプログラム
を実行させる。
The calculated authentication code and the external ROM 14
The CPU 1 collates with the authentication code read from the device, and if they match as a result of the collation, the mode of the device is switched to the external bus 8, the switch 7, and the external ROM to shift to the application program execution mode. If the results of the comparison do not match, the registers 20 and 21 of the address of the execution address IATG2 are provided with data regarding the upper limit and the lower limit, and this is activated, and the data regarding the execution time of the program is provided to the counter 16 to the BWDT3. To activate it and to execute the application program.

【0023】このアプリケーションプログラムが認証コ
ード不適合のものであることから、IATG2及びBW
DT3は常時プログラムの実行状態を監視しており、ア
プリケーションプログラムが作業領域を越えてプログラ
ムを実行しようとする時及び設定された時間を越えてプ
ログラムを実行しようとする時に装置の停止指令がCP
U1に対し発せられ、装置は停止される。尚、本実施例
では正規に認証されたアプリケーションプログラムでも
ごくたまにアドレス領域を越えて作動する不正プログラ
ムがある。かかるプログラムは、たとえ正規のものとは
いえ、不正プログラムであることからアプリケーション
プログラム移行に際して予め走査したアドレス領域をア
ドレスレジスタ20,21に記憶させた状態でIATG
2を作動させている。
Since this application program does not conform to the authentication code, IATG2 and BW
The DT3 constantly monitors the execution state of the program, and when the application program tries to execute the program over the work area and when it tries to execute the program over the set time, the device stop command sends CP.
It is issued to U1 and the device is stopped. In the present embodiment, there is an illegal program that occasionally operates beyond the address area even if it is a properly authenticated application program. Although such a program is a legitimate program even if it is a legitimate program, the IATG is stored in the address registers 20 and 21 with the address area scanned in advance when the application program is transferred.
2 is operating.

【0024】外部ROMへの認証コードの入力及び外部
ROMに入力されたアプリケーションプログラム及び認
証コードに基づく本実施例にかかるマイクロプロセッサ
ーによる認証コードの整合性の判断は、図6に示された
ようなブロック図のように行われる。すなわち、認証コ
ード(セキュリティーコード)発行機B、外部ROM1
4との間において、発行機Bには、予め入力されたフィ
ール8の暗号化プログラム及び暗号化するためのキーコ
ードKが入力されており、外部ROM14が接続された
時点において、アプリケーションプログラムを走査しな
がらキーコードKに基づき認証コードCが算出され、そ
の算出された認証コードCが外部ROM14に書き込ま
れ、検査済み外部ROM14ができあがる。
The input of the authentication code to the external ROM and the determination of the consistency of the authentication code by the microprocessor according to the present embodiment based on the application program and the authentication code input to the external ROM are as shown in FIG. This is done as in the block diagram. That is, the authentication code (security code) issuing machine B, the external ROM 1
4 and the issuer B, the encryption program of the field 8 and the key code K for encryption that have been input in advance are input, and the application program is scanned when the external ROM 14 is connected. However, the authentication code C is calculated on the basis of the key code K, and the calculated authentication code C is written in the external ROM 14 to complete the inspected external ROM 14.

【0025】完成した外部ROM14は、実際に遊技機
に装着して作動させる場合は、プロセッサー(素子)A
に接続される。外部ROM14が接続された場合にプロ
セッサーAは、その内部ROM10に記憶された発行機
Bと同じキーコードK及び暗号化プログラムに基づき、
アプリケーションプログラムを走査して認証コードcを
算出する。そして、外部ROM14に記憶された認証コ
ードCとプロセッサーAで算出した認証コードcとを比
較して一致した時にはアプリケーションプログラムプロ
グラムを実行させ、また一致しなかった時にはアプリケ
ーションプログラムプログラムを実行させないで停止さ
せる。尚、認証コードの発行システム及び認証コードの
算出・比較システムは図8にしめされたものに限定され
るのではなく、図9、図10、図11に示される方式で行う
とより解読が難しくなる。以下にそれぞれの発行システ
ム、比較システムについて説明する。
The completed external ROM 14 is a processor (element) A when actually mounted on a game machine and operated.
Connected to. When the external ROM 14 is connected, the processor A, based on the same key code K and the encryption program as the issuer B stored in the internal ROM 10,
The application program is scanned to calculate the authentication code c. Then, the authentication code C stored in the external ROM 14 is compared with the authentication code c calculated by the processor A, and when they match, the application program program is executed, and when they do not match, the application program program is stopped without being executed. . Note that the authentication code issuing system and the authentication code calculation / comparison system are not limited to those shown in FIG. 8, and it is more difficult to decipher if the system shown in FIGS. 9, 10, and 11 is used. Become. Each issuing system and comparison system will be described below.

【0026】図7に示すものは、第2実施例を示すもの
で、発行機Bには複数の第1次認証キーコードK1、K2
K3、…Ki、Kn及び暗号化プログラムが入力されており、
外部ROM14を接続した場合にそれぞれのキーコード
に基づきアプリケーションプログラムを走査して認証コ
ードC1、C2、C3、…Ci、Cnを算出し、これらを外部RO
M14に書き込むことにより、検査済み外部ROM14
が出来上がる。この外部ROM14をプロセッサーAに
接続した時に、プロセッサーには予め所定のキーコード
Ki及び暗号化プログラムが入力されており、このキーコ
ードKiに基づきアプリケーションプログラムを走査して
認証コードciを算出し、これがi番目に記憶された認証
コードCiと一致しているか否か比較され、前述同様に一
致している場合はアプリケーションプログラムを実行さ
せ、一致していない場合にはアプリケーションプログラ
ムを実行させずに停止させる。
FIG. 7 shows a second embodiment, in which the issuing machine B has a plurality of primary authentication key codes K 1 , K 2 ,
K 3 , ... K i , K n and the encryption program are entered,
When the external ROM 14 is connected, the application programs are scanned based on the respective key codes to calculate the authentication codes C 1 , C 2 , C 3 , ... C i , C n , and these are external RO
Tested external ROM14 by writing to M14
Is completed. When the external ROM 14 is connected to the processor A, a predetermined key code is previously stored in the processor.
K i and the encrypted program is input, whether the key scans the application program based on the code K i is calculated authentication code c i, which is consistent with the stored authentication code C i to i-th If they do not match, the application program is executed, and if they do not match, the application program is stopped without being executed.

【0027】図9に示すものは第3実施例を示すもの
で、発行機Bには複数の第1次認証キーコードK1、K2
K3、…Ki、Kn、第2次認証キーコードKb及び暗号化プロ
グラムが入力されており、外部ROM14を接続した場
合にそれぞれのキーコードに基づきアプリケーションプ
ログラムを走査して認証コードC1、C2、C3、…Ci、Cn
算出し、これらを外部ROM14に書き込み、さらに書
き込んだ認証コードC1、C2、C3、…Ci、Cnを走査しなが
ら、キーコードKbに基づき第2次認証コードC20を算出
し、第2次認証コードC20を外部ROM14に書き込む
ことにより検査済み外部ROMが出来上がる。このこの
外部ROM14をプロセッサーAに接続した時に、プロ
セッサーには予め第1次認証キーコードの一つKi、第2
次認証キーコードKb及び暗号化プログラムが入力されて
おり、第1次認証キーコードKiに基づきアプリケーショ
ンプログラムを走査して第1次認証コードciを算出する
と共に第2次認証キーコードKbに基づき外部ROM14
に書き込まれた第1次認証コードC1、C2、C3、…Ci、Cn
を走査して第2次認証キーコードc20を算出する。そし
て書き込まれたi番目の第1次認証コードCiと算出した
第1次認証コードciおよび書き込まれた第2次認証コー
ドC20と算出した第2次認証コードc20とを比較していず
れもが一致した場合にアプリケーションプログラムを実
行させ、それ以外の時に実行させないで停止させる。
FIG. 9 shows a third embodiment, in which the issuing machine B has a plurality of primary authentication key codes K 1 , K 2 ,
K 3 , ... K i , K n , the secondary authentication key code K b and the encryption program are input, and when the external ROM 14 is connected, the application program is scanned based on each key code and the authentication code C 1 , C 2 , C 3 , ... C i , C n are calculated, these are written in the external ROM 14 , and the written authentication codes C 1 , C 2 , C 3 , ... C i , C n are scanned, An inspected external ROM is completed by calculating the secondary authentication code C 20 based on the key code K b and writing the secondary authentication code C 20 in the external ROM 14. When this external ROM 14 is connected to the processor A, one of the primary authentication key codes K i , the second
Next authentication key code K b and are encrypted program is input, the secondary authentication key code K calculates a first-order authentication code c i scans the application program on the basis of the primary authorization key code K i External ROM 14 based on b
Primary authentication code C 1 , C 2 , C 3 , ... C i , C n written in
To calculate the secondary authentication key code c 20 . Then, the written i-th primary authentication code C i is compared with the calculated primary authentication code c i and the written secondary authentication code C 20 is compared with the calculated secondary authentication code c 20. If both match, the application program is executed, otherwise it is stopped and not executed.

【0028】図9に示すものは第4実施例を示すもの
で、発行機Bには複数の第1次中間キーコードK0と、該
中間キーコードK0に基づき中間認証コードC0を算出する
プログラムと、算出された中間認証コードC0の暗号化を
行うための第1次キーコードK1、K2、K3、…Ki、Knと、
算出された第1次認証コードC1、C2、C3、…Ci、Cnを走
査して暗号化するための第2次認証キーコードKbとが入
力されており、外部ROM14を接続した場合にまずア
プリケーションプログラムを走査しながら中間認証コー
ドC0を算出し、算出された中間認証コードC0と第1次認
証キーコードK1、K2、K3、…Ki、Knに基づき暗号化して
第1次認証コードC1、C2、C3、…Ci、Cnを算出し、これ
らを外部ROM14に書き込むと共に外部ROM14に
書き込まれた第1次認証コードC1、C2、C3、…Ci、Cn
走査しながら第2次認証キーコードKbに基づき認証コー
ドC20を算出して外部ROM14に書き込むことにより
検査済み外部ROMが出来上がる。この外部ROM14
をプロセッサーAに接続した時に、プロセッサーAには
予め第1次認証中間キーコードK0、第1次認証キーコー
ドKi及び第2次認証キーコードKb並びに暗号化プログラ
ムが入力されており、第1次中間認証キーコードK0に基
づきアプリケーションプログラムを走査して第1次認証
コードc0を算出し、さらに第1次認証キーコードKiに基
づき暗号化して第1次認証コードciを算出する。次に第
2次認証キーコードKbに基づき外部ROM14に書き込
まれた第1次認証コードC1、C2、C3、…Ci、Cnを走査す
ることにより第2次認証コードc20を算出する。そして
第1次認証コードと第2次認証コードとが一致している
場合に限り、アプリケーションプログラムを実行させ、
それ以外の時にはプログラムを実行させることなく停止
させる。
FIG. 9 shows a fourth embodiment in which the issuing machine B calculates a plurality of primary intermediate key codes K 0 and an intermediate authentication code C 0 based on the intermediate key codes K 0. And a primary key code K 1 , K 2 , K 3 , ... K i , K n for encrypting the calculated intermediate authentication code C 0 ,
The primary authentication calculated code C 1, C 2, C 3 , ... C i, is input and a secondary authentication key code K b for encrypting by scanning the C n, the external ROM14 When connecting, first the intermediate authentication code C 0 is calculated while scanning the application program, and the calculated intermediate authentication code C 0 and the primary authentication key codes K 1 , K 2 , K 3 , ... K i , K n The primary authentication codes C 1 , C 2 , C 3 , ... C i , C n are calculated by encryption based on the above, and these are written in the external ROM 14 and the primary authentication code C 1 , written in the external ROM 14 , An inspected external ROM is completed by calculating an authentication code C 20 based on the secondary authentication key code K b and writing it in the external ROM 14 while scanning C 2 , C 3 , ... C i , C n . This external ROM 14
When is connected to the processor A, the primary authentication intermediate key code K 0 , the primary authentication key code K i, the secondary authentication key code K b , and the encryption program are input to the processor A in advance. scans the application program on the basis of the primary intermediate keycode K 0 calculates a first-order authentication code c 0, the primary authentication code c i is further encrypted based on a first order keycode K i calculate. Next, the secondary authentication code c 20 is scanned by scanning the primary authentication codes C 1 , C 2 , C 3 , ... C i , C n written in the external ROM 14 based on the secondary authentication key code K b. To calculate. Then, only when the primary authentication code and the secondary authentication code match, execute the application program,
At other times, stop the program without executing it.

【0029】図6〜図9に示したものの暗号化の意義に
ついて説明する。 図6(第1実施例)のものは、暗号化のキーコードが
一つであり、これに基づいて所定のアルゴリズムにて認
証コードを暗号化しているが、プロセッサーのキーコー
ドが解読された場合にはキーコードを変更することが必
要であり、その場合にはユーザーの全てのROMを変更
する必要性が生じる。 図7(第2実施例)のものは、暗号化のキーコードが
複数(n)あり、プロセッサーに使用するキーコードを
任意の1つとしている。このため、一つキーコードが解
読されたとしても、全てのキーコードを解読したことに
はならず、これに一致するようにプログラムを改変する
ことは難しい。 図8(第3実施例)のものは、キーコードを複数用い
て暗号化し、第1次認証コードに基づき第2次認証コー
ドを算出するように構成しているために全てのキーコー
ドを解読すること、かつ解読したキーコードから認証番
号が一致するようにプログラムを改変することは非常に
難しくなる。しかし、発行機で認証コードを作成するた
めにn回暗号化することになり、暗号化に時間がかかり
過ぎる。 図9(第4実施例)に示すものは、暗証化に時間がか
かりすぎないように為されたもので、第1実施例の場合
とほぼ同様の時間で認証コードを算出することができ、
かつ第2、第3実施例のようにキーコードの解読やプロ
グラムの改変が難しいものとなる。次に認証コード作成
のアルゴリズム(16ビット)について簡単に説明す
る。
The significance of encryption of those shown in FIGS. 6 to 9 will be described. In FIG. 6 (first embodiment), there is one encryption key code, and the authentication code is encrypted by a predetermined algorithm based on this, but when the processor key code is decrypted Requires changing the key code, in which case all ROMs of the user need to be changed. In FIG. 7 (second embodiment), there are a plurality of (n) encryption key codes, and any one key code is used for the processor. For this reason, even if one key code is decrypted, it does not mean that all the key codes are decrypted, and it is difficult to modify the program to match this. In FIG. 8 (third embodiment), the key code is encrypted using a plurality of keys, and the secondary authentication code is calculated based on the primary authentication code. Therefore, all the key codes are decrypted. It is very difficult to modify the program so that the authentication number matches from the decrypted key code. However, encryption is performed n times in order to create the authentication code in the issuing machine, and the encryption takes too long. The one shown in FIG. 9 (fourth embodiment) is designed so that the encryption does not take too long, and the authentication code can be calculated in almost the same time as in the case of the first embodiment.
Moreover, it becomes difficult to decipher the key code and modify the program as in the second and third embodiments. Next, an algorithm (16 bits) for creating an authentication code will be briefly described.

【0030】(認証コード作成アルゴリズム1)図10に
示すように外部ROM14に格納されたユーザーエリア
及び制御エリアの各アドレスの16ビットのデータを左
右の8ビットづつのデータ8Ai,8Biに拡散し、図6に示
すようにアドレスの若い方から順に走査し直前の認証コ
ード8A"i-1及び8B"i-1(初期値:格納されたキーコー
ド)をそれぞれ与えた状態で8ビットの認証コード8
A'i,8B'iを算出する。さらに算出した一方の8ビット
のデータ(例8A'i)を他方で算出された8ビットデータ
(例8B'i)をキーコードとして与えて認証コード8A"i
8B"iを算出する。ここで得られた認証コード8A"i,8B"i
を次に走査した8ビットのデータ8Ai+1,8Bi+1を前述の
ようにデータ拡散のためのキーコードとして用い順次拡
散し、最終的に算出された左右の8ビットデータ8A"n
8B"nを融合して16ビットのデータとして最終認証コー
ドとする。
(Authentication code creating algorithm 1) As shown in FIG. 10, 16-bit data of each address of the user area and control area stored in the external ROM 14 is spread to 8-bit data 8A i and 8B i on the left and right. Then, as shown in FIG. 6, scanning is performed in order from the youngest address, and the authentication codes 8A " i-1 and 8B" i-1 (initial value: stored key code) immediately before are given respectively in the state of 8 bits. Authentication code 8
A 'i, 8B' calculates the i. Further, the calculated one 8-bit data (example 8A ' i ) is given to the calculated 8-bit data (example 8B' i ) as the key code, and the authentication code 8A " i ,
Calculate 8B " i . Authentication code 8A" i , 8B " i obtained here
8 bit data 8A i + 1 , 8B i + 1 scanned next is sequentially spread using the key code for data spreading as described above, and finally the left and right 8-bit data 8A " n
8B " n is fused to form a final authentication code as 16-bit data.

【0031】(認証コードアルゴリズム2)図12に示す
ように外部ROM14に格納されたユーザーエリア及び
制御エリアの各アドレスの16ビットのデータを左右の
8ビットづつのデータ8Ai,8Biに拡散し、アドレスの若
い方から順に走査しキーコードKを与えた状態でフィー
ル8にかけ認証コード8'Ai,8'Biを算出し、これらに次
のアドレスの8Ai+1,8Bi+1のデータを排他的論理和(E
X−ORと呼ぶ)回路を通して拡散し、再びキーコード
Kを与えた状態でフィール8にかけ認証コード8'Ai+1
8'Bi+1を算出する操作を繰り返すことにより認証コード
8'An,8'Bn算出する。そして最後に8'An,8'Bnで得られ
た値にそれぞれ8'An又は8'Bnをキーコードとしてフィー
ル8にかけ、認証コード8"An,8"Bnを得る。
(Authentication Code Algorithm 2) As shown in FIG. 12, 16-bit data of each address of the user area and control area stored in the external ROM 14 is spread to 8-bit data 8A i , 8B i on the left and right sides. , The address is scanned in order from the youngest one, and the key 8 is given the key code K, and the authentication code 8'A i , 8'B i is calculated, and the next address 8A i + 1 , 8B i + 1 is calculated. Exclusive OR (E
Called as X-OR), the key code K is given again to the field 8, and the authentication code 8'A i + 1 ,
By repeating the operation of calculating 8'B i + 1 , the authentication code
Calculate 8'A n and 8'B n . Finally, the values obtained with 8'A n and 8'B n are applied to the field 8 with 8'A n or 8'B n as a key code, and authentication codes 8 "A n and 8" B n are obtained.

【0032】(認証コードアルゴリズム3(8ビッ
ト))8ビットの認証コードのアルゴリズムは図11に示
すように、初期値0とした状態で8ビットのデータ81
入力し、EX−OR回路を通して8'1と拡散した後に所
定のキーコードを与えた状態で、認証コード8"1を算出
する。得られた認証コードを次々にデータ拡散のための
EX−OR回路に入力し、認証コードを算出して、最終
的に得られた認証コード8"nを認証コードとする。
(Authentication code algorithm 3 (8 bits)) As shown in FIG. 11, the 8-bit authentication code algorithm inputs 8-bit data 8 1 with an initial value of 0 and passes through the EX-OR circuit. while it is given a predetermined key code after diffusing 8 '1 and calculates the authentication code 8 "1. the resulting input to EX-OR circuit for successive data spreading the authentication code, the authentication code The calculated and finally obtained authentication code 8 " n is used as the authentication code.

【0033】(暗号化アルゴリズム)暗号化アルゴリズ
ムは図12及び図13に示すように、暗号化したいデータ例
えば8An,8Bnに所定のキーコードKを与えた状態でフィ
ール8にかけ認証コード8'An,8'Bnを算出し、さらにこ
れらデータ8'An,8'Bnにキーコードとして8'An又は8'Bn
を与えた状態でさらにフィール8にかけ認証コード8"
An,8"Bnを得る。
(Encryption Algorithm) As shown in FIGS. 12 and 13, the encryption algorithm is the authentication code 8'applied to the field 8 with a predetermined key code K given to the data to be encrypted, for example 8A n , 8B n. a n, to calculate the 8'b n, further these data 8'A n, 8'A n or 8'b n as a key code 8'b n
Feeling 8 and then authenticating code 8 "
Get A n , 8 "B n .

【0034】以上のように型式認定で算出される認識コ
ードは、各アドレスのデータを順次暗号化しながら最終
データの暗号コードを認証コードとするようになってい
るので、各アドレスの殆どのデータが適合していたとし
ても、1ヵ所のデータに間違いがあれば算出される認証
コードが異なることになるため、プログラムの改変は極
めて難しいものとなる。
As described above, the recognition code calculated by the type approval is such that the encryption code of the final data is used as the authentication code while sequentially encrypting the data of each address, so that most of the data of each address is Even if they match, if there is an error in one piece of data, the calculated authentication code will be different, making it extremely difficult to modify the program.

【0035】[0035]

【効果】以上述べたように本発明にかかる遊技機用のマ
イクロプロセッサーは、型式認定を受けたアプリケーシ
ョンプログラムに対して初めてそのプログラム及びデー
タ全体のビットデータを所定のアルゴリズムの基に暗号
化しながら計算して、認証コードを付すようにし、また
これを読み込んで機械を制御するマイクロプロセッサー
にも事前に認証コードを算出させ、一致したときにのみ
正常な作動をするように構成したので、従来のマイクロ
プロセッサーでは起こりがちであったプログラムの改
変、データの改変等の充分に防ぐことができる。またパ
チンコ機械の製造メーカにとっても、一台の装置の型式
申請において認定を受けたアプリケーションプログラム
及び認証コードが格納された不揮発性記憶手段をコピー
するだけで済むために認定機種についてそれぞれ型式認
定を受ける必要がなくなる。
[Effect] As described above, the microprocessor for a gaming machine according to the present invention calculates for the first time an application program that has received type approval, while encrypting the bit data of the program and the entire data based on a predetermined algorithm. Then, the authentication code is added, and the microprocessor that controls the machine by reading it calculates the authentication code in advance, and it is configured to operate normally only when they match. It is possible to sufficiently prevent the modification of the program, the modification of the data, and the like, which often occur in the processor. Also, for the pachinko machine manufacturer, only the non-volatile storage means that stores the application program and the authentication code that have been certified in the model application for one device need only be copied, so each model is certified. There is no need.

【0036】さらにプログラムの改変が防止されるため
に遊技者は、常に健全な遊技機とプレイできることにな
り、遊技者の期待値を裏切ることがない。認証されたも
のでも、チェックからもれ、所定のプログラム領域を越
えて作動する不正プログラムも存在するが、本発明にか
かるマイクロプロセッサーでは、正規のものでもアドレ
ス領域を常時監視するように構成されているので、チェ
ック漏れによる不正をも排除することができる。
Further, since the modification of the program is prevented, the player can always play with a healthy game machine, and the player's expectation value is not betrayed. Although there is an unauthorized program that fails the check even if it is authenticated and operates beyond a predetermined program area, the microprocessor according to the present invention is configured to constantly monitor the address area even if it is a legitimate one. Therefore, it is possible to eliminate fraud caused by omission of checks.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明にかかるマイクロプロセッサーの概略を
表すブロック図である。
FIG. 1 is a block diagram showing an outline of a microprocessor according to the present invention.

【図2】マイクロプロセッサーの作動関係を示すブロッ
ク図である。
FIG. 2 is a block diagram showing an operation relationship of a microprocessor.

【図3】マイクロプロセッサーの作動を示すフローチャ
ートである。
FIG. 3 is a flowchart showing the operation of the microprocessor.

【図4】AP実行時間監視器の構成例を示すブロック図
である。
FIG. 4 is a block diagram showing a configuration example of an AP execution time monitor.

【図5】AP実行アドレス監視器の構成例を示すブロッ
ク図である。
FIG. 5 is a block diagram showing a configuration example of an AP execution address monitor.

【図6】 発行機による外部ROMの暗号化と、APの
適正を判断する場合のプロセッサー作動を示す概略図で
ある。
FIG. 6 is a schematic diagram showing the encryption of the external ROM by the issuing machine and the operation of the processor when determining the suitability of the AP.

【図7】 発行機による外部ROMの暗号化と、APの
適正を判断する場合のプロセッサー作動を示す第2実施
例の概略図である。
FIG. 7 is a schematic diagram of a second embodiment showing the encryption of the external ROM by the issuing machine and the operation of the processor when determining the suitability of the AP.

【図8】 発行機による外部ROMの暗号化と、APの
適正を判断する場合のプロセッサー作動を示す第3実施
例の概略図である。
FIG. 8 is a schematic diagram of a third embodiment showing the encryption of the external ROM by the issuer and the operation of the processor when determining the suitability of the AP.

【図9】 発行機による外部ROMの暗号化と、APの
適正を判断する場合のプロセッサー作動を示す第4実施
例の概略図である。
FIG. 9 is a schematic diagram of a fourth embodiment showing the encryption of the external ROM by the issuing machine and the operation of the processor when determining the suitability of the AP.

【図10】16ビットデータの認証コード算出のアルゴリズ
ム1を示すブロック図である。
FIG. 10 is a block diagram showing an algorithm 1 for calculating an authentication code of 16-bit data.

【図11】8ビットデータの認証コード算出のアルゴリズ
ム2を示すブロック図である。
FIG. 11 is a block diagram showing an algorithm 2 for calculating an authentication code of 8-bit data.

【図12】16ビットデータの認証コード算出のアルゴリズ
ム3を示すブロック図である。
FIG. 12 is a block diagram showing an algorithm 3 for calculating an authentication code of 16-bit data.

【図13】16ビットデータの暗号化アルゴリズムを示すブ
ロック図である。
FIG. 13 is a block diagram showing an encryption algorithm for 16-bit data.

【符号の説明】[Explanation of symbols]

1 CPU 2 AP実行アドレス監視器(IATG) 3 AP実行時間監視器(BWDT) 4 制御用ワークRAM 5 AP用ワークRAM 6 RAMサイズ制限器 7 プログラムメモリーバンク切替器 8 外部バスゲート 9 モードコントローラ 10 内蔵ROM 12 プログラムメモリ入出力装置 14 外部ROM 16 カウンタ 18 比較器 20,21 アドレスレジスタ 23,24 比較器 1 CPU 2 AP execution address monitor (IATG) 3 AP execution time monitor (BWDT) 4 Work RAM for control 5 Work RAM for AP 6 RAM size limiter 7 Program memory bank switch 8 External bus gate 9 Mode controller 10 Built-in ROM 12 Program memory I / O device 14 External ROM 16 Counter 18 Comparator 20, 21 Address register 23, 24 Comparator

Claims (6)

【特許請求の範囲】[Claims] 【請求項1】 所定の領域に記憶されたアプリケーショ
ンプログラム及び該アプリケーションプログラムから所
定のアルゴリズムの基に暗号化された認証コード等が格
納されたユーザー記憶手段と、 前記アプリケーションプログラムから認証コードを算出
するアルゴリズム及び認証コード算出用の単数又は複数
のキーコードが格納されたチップ内蔵記憶手段と、 前記ユーザー記憶手段から入力されるアプリケーション
プログラムと、チップ内蔵記憶手段に格納された認証コ
ード算出プログラム及びキーコードから認証コードを算
出すると共に、該認証コードと予めユーザー記憶手段か
ら読み込んだ認証コードとを比較する中央処理装置(C
PU)とからなり、 中央処理装置が比較した結果認証コードが一致しなかっ
た時にアプリケーションプログラムの実行アドレスを監
視する手段又はアプリケーションプログラムの実行時間
を監視する手段を作動させると共にアプリケーションプ
ログラムを実行させ、プログラムが領域を越えた時又は
プログラム実行時間が所定時間経過した時に装置の作動
を停止させ、認証コードが比較により一致した時にアプ
リケーションプログラムを実行させるように構成された
遊技機用マイクロプロセッサー。
1. A user storage unit storing an application program stored in a predetermined area and an authentication code encrypted from the application program based on a predetermined algorithm, and an authentication code calculated from the application program. A built-in chip storage means in which one or more key codes for algorithm and authentication code calculation are stored, an application program input from the user storage means, an authentication code calculation program and key code stored in the chip built-in storage means A central processing unit (C) for calculating the authentication code from the CPU and comparing the authentication code with the authentication code read in advance from the user storage means.
PU) and activates the means for observing the execution address of the application program or the means for observing the execution time of the application program when the authentication code does not match as a result of comparison by the central processing unit, and executes the application program, A microprocessor for a gaming machine configured to stop the operation of the device when the program exceeds the area or when the program execution time has passed a predetermined time, and execute the application program when the authentication codes match by comparison.
【請求項2】 所定の領域に記憶されたアプリケーショ
ンプログラム及び該アプリケーションプログラムから所
定のアルゴリズムの基に暗号化された認証コード等が格
納されたユーザー記憶手段と、 前記アプリケーションプログラムから認証コードを算出
するアルゴリズム及び認証コード算出用の単数又は複数
のキーコードが格納されたチップ内蔵記憶手段と、ユー
ザー記憶手段から入力されるアプリケーションプログラ
ムと、チップ内蔵記憶手段に格納された認証コード算出
プログラム及びキーコードから認証コードを算出すると
共に、該認証コードと予めユーザー記憶手段から読み込
んだ認証コードとを比較する中央処理装置(CPU)と
からなり、 中央処理装置が比較した結果認証コードが一致しなかっ
た時にアプリケーションプログラムの実行アドレスを監
視する手段又はアプリケーションプログラムの実行時間
を監視する手段を作動させると共にアプリケーションプ
ログラムを実行させ、プログラムが領域を越えた時又は
プログラム実行時間が所定時間経過した時に装置の作動
を停止させ、認証コードが比較により一致した時にアプ
リケーションプログラムの実行アドレスを監視する手段
を作動させ、プログラムが所定の領域を越えた時に装置
の作動を停止又はCPUをリセットすると共にプログラ
ム実行させるように構成された遊技機用マイクロプロセ
ッサー。
2. An application program stored in a predetermined area, a user storage unit storing an authentication code and the like encrypted from the application program based on a predetermined algorithm, and an authentication code calculated from the application program. From the chip built-in storage means that stores the algorithm and one or more key codes for calculating the authentication code, the application program input from the user storage means, and the authentication code calculation program and the key code stored in the chip built-in storage means A central processing unit (CPU) that calculates the authentication code and compares the authentication code with the authentication code read in advance from the user storage means. An application when the authentication code does not match as a result of the comparison by the central processing unit. Prog The system monitors the execution address of the system or the means for monitoring the execution time of the application program and executes the application program, and stops the operation of the device when the program exceeds the area or when the program execution time elapses for a predetermined time. And activating means for monitoring the execution address of the application program when the authentication codes match by comparison, and stopping the operation of the device or resetting the CPU and executing the program when the program exceeds a predetermined area. Microprocessor for gaming machines.
【請求項3】 ユーザー記憶手段に格納された認証コー
ドが、複数のキーコードK1,K2,K3,…Ki,…Knに基づ
きそれぞれ算出された複数のものC1,C2,C3,…Ci,…
Cnからなり、チップ内蔵記憶手段に格納されたキーコー
ドが前記複数のキーコードK1,K2,K3,…Ki,…Knの内
の任意の1つKiであり、中央処理装置が比較するユーザ
ー記憶手段の認証コードが、前記キーコードKiに基づき
算出された認証コードCiであることを特徴とする請求項
1又は請求項2記載の遊技機用マイクロプロセッサー。
3. The plurality of authentication codes stored in the user storage means are C 1 , C 2 calculated based on a plurality of key codes K 1 , K 2 , K 3 , ... K i , ... K n , respectively. , C 3 , ... C i , ...
C n consists, the key code stored in the chip built-in storage means the plurality of key codes K 1, K 2, K 3 , ... K i, ... is any one K i of the K n, the central 3. The microprocessor for gaming machine according to claim 1 or 2, wherein the authentication code of the user storage means to be compared by the processing device is the authentication code C i calculated based on the key code K i .
【請求項4】 ユーザー記憶手段に格納された認証コー
ドが、複数の第1次キーコードK1,K2,K3,…Ki,…,
Knに基づきそれぞれ算出された複数の第1次認証コード
C1,C2,C3,…Ci,…,Cnと、該第1次認証コードC1
C2,C3,…Ci,…,Cn及び第2次キーコードKbに基づき
算出された第2次認証コードC20からなり、チップ内蔵
記憶手段に格納されたキーコードが前記複数の第1次キ
ーコードK1,K2,K3,…Ki,…,Knの内の任意の1つKi
と第2次キーコードKbであり、中央処理装置が比較する
ユーザー記憶手段の認証コードが第1次キーコードKi
基づき算出された任意の第1次認証コードCiと、第2次
認証コードC20であることを特徴とする請求項1又は請
求項2記載の遊技機用マイクロプロセッサー。
4. The authentication code stored in the user storage means, a plurality of first primary key code K 1, K 2, K 3 , ... K i, ...,
Multiple primary authentication codes calculated based on K n
C 1 , C 2 , C 3 , ... C i , ..., C n and the primary authentication code C 1 ,
C 2, C 3, ... C i, ..., C n and consists secondary authentication code C 20, which is calculated based on second-order key code K b, the key code stored in the chip built-in storage means the plurality primary key code K 1, K 2, K 3 of, ... K i, ..., any one of the K n K i
And the secondary key code K b , and the authentication code of the user storage means to be compared by the central processing unit is an arbitrary primary authentication code C i calculated based on the primary key code K i and the secondary key code K b. The gaming machine microprocessor according to claim 1 or 2, wherein the authentication code is C 20 .
【請求項5】 ユーザー記憶手段に格納された認証コー
ドが、1つの中間キーコードK0に基づき算出された中間
認証コードC0及び複数の第1次キーコードK1,K2,K3
…Ki,…,Knに基づき暗号化された第1次認証コード
C1,C2,C3,…Ci,…,Cnと、該第1次認証コードC1
C2,C3,…Ci,…,Cn及び第2次キーコードKbに基づき
算出された第2次認証コードC20からなり、チップ内蔵
記憶手段に格納されたキーコードが中間キーコードK
0と、前記複数の第1次キーコードK1,K2,K3,…Ki
…,Knの内の任意の1つKiと、第2次キーコードKbであ
り、中央処理装置が比較するユーザー記憶手段の認証コ
ードが第1次キーコードKiに基づき算出された任意の第
1次認証コードCiと、第2次認証コードC20であること
を特徴とする請求項1又は請求項2記載の遊技機用マイ
クロプロセッサー。
5. The authentication code stored in the user storage unit, an intermediate authentication code C 0 and a plurality of first primary key code K 1 calculated based on one of the intermediate key codes K 0, K 2, K 3 ,
... K i, ..., the primary authentication code encrypted based on K n
C 1 , C 2 , C 3 , ... C i , ..., C n and the primary authentication code C 1 ,
The secondary authentication code C 20 calculated based on C 2 , C 3 , ... C i , ..., C n and the secondary key code K b , and the key code stored in the chip built-in storage means is the intermediate key. Code K
0, and the plurality of primary key codes K 1 , K 2 , K 3 , ... K i ,
, An arbitrary one of K n , K i , and the secondary key code K b , the authentication code of the user storage means to be compared by the central processing unit was calculated based on the primary key code K i . The microprocessor for gaming machine according to claim 1 or 2, wherein the primary authentication code C i and the secondary authentication code C 20 are arbitrary.
【請求項6】 前記ユーザー記憶手段が読み書き込み可
能な不揮発性の記憶手段であり、チップ内蔵記憶手段が
不揮発性の読み出し専用記憶手段である請求項1又は請
求項2記載の遊技機用マイクロプロセッサー。
6. The microprocessor for a gaming machine according to claim 1, wherein the user storage means is a readable / writable non-volatile storage means, and the chip built-in storage means is a non-volatile read-only storage means. .
JP6033106A 1991-04-22 1994-02-04 Microprocessor microprocessor Expired - Lifetime JP2975522B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6033106A JP2975522B2 (en) 1991-04-22 1994-02-04 Microprocessor microprocessor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11812091 1991-04-22
JP3-118120 1991-04-22
JP6033106A JP2975522B2 (en) 1991-04-22 1994-02-04 Microprocessor microprocessor

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP4129481A Division JP2620020B2 (en) 1991-04-22 1992-04-22 Microprocessor microprocessor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP18105499A Division JP2000070531A (en) 1991-04-22 1999-06-28 Microprocessor for game machine

Publications (2)

Publication Number Publication Date
JPH06327831A true JPH06327831A (en) 1994-11-29
JP2975522B2 JP2975522B2 (en) 1999-11-10

Family

ID=26371746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6033106A Expired - Lifetime JP2975522B2 (en) 1991-04-22 1994-02-04 Microprocessor microprocessor

Country Status (1)

Country Link
JP (1) JP2975522B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999063429A1 (en) * 1998-06-04 1999-12-09 Namco Limited Security device, key device, and program protection system and method
US7063615B2 (en) 1995-06-29 2006-06-20 Igt Electronic gaming apparatus with authentication
USRE39370E1 (en) 1995-06-29 2006-10-31 Igt Electronic casino gaming system with improved play capacity, authentication and security
USRE39369E1 (en) 1995-06-29 2006-10-31 Igt Electronic casino gaming system with improved play capacity, authentication and security
US7267612B2 (en) 1997-05-28 2007-09-11 Igt Gaming apparatus with portrait-mode display
US7520811B2 (en) 2000-08-21 2009-04-21 Igt Method and apparatus for software authentication
JP2015082233A (en) * 2013-10-23 2015-04-27 大日本印刷株式会社 Security token and handler routine execution method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7063615B2 (en) 1995-06-29 2006-06-20 Igt Electronic gaming apparatus with authentication
USRE39370E1 (en) 1995-06-29 2006-10-31 Igt Electronic casino gaming system with improved play capacity, authentication and security
USRE39369E1 (en) 1995-06-29 2006-10-31 Igt Electronic casino gaming system with improved play capacity, authentication and security
USRE39368E1 (en) 1995-06-29 2006-10-31 Igt Electronic casino gaming system with improved play capacity, authentication and security
USRE39400E1 (en) 1995-06-29 2006-11-14 Igt Electronic casino gaming system with improved play capacity, authentication and security
USRE39401E1 (en) 1995-06-29 2006-11-14 Igt Electronic casino gaming system with improved play capacity, authentication and security
US7267612B2 (en) 1997-05-28 2007-09-11 Igt Gaming apparatus with portrait-mode display
WO1999063429A1 (en) * 1998-06-04 1999-12-09 Namco Limited Security device, key device, and program protection system and method
US7520811B2 (en) 2000-08-21 2009-04-21 Igt Method and apparatus for software authentication
JP2015082233A (en) * 2013-10-23 2015-04-27 大日本印刷株式会社 Security token and handler routine execution method

Also Published As

Publication number Publication date
JP2975522B2 (en) 1999-11-10

Similar Documents

Publication Publication Date Title
US7275263B2 (en) Method and system and authenticating a user of a computer system that has a trusted platform module (TPM)
JP3526615B2 (en) Microcomputer chip for controlling a gaming machine and collating device for detecting illegality thereof
KR101502032B1 (en) Processor apparatus having secure performance
US20040128523A1 (en) Information security microcomputer having an information securtiy function and authenticating an external device
JP2003271254A (en) Authentication system, firmware device, electric equipment and authentication method
GB2436046A (en) Method for establishing a trusted running environment in the computer
JP4401468B2 (en) Gaming machine control chip monitoring system
JP2975522B2 (en) Microprocessor microprocessor
JP2620020B2 (en) Microprocessor microprocessor
JP2000233057A5 (en)
JP2918855B2 (en) Microprocessor microprocessor
JP2008148851A (en) Control chip for game machine and rom writer for the same
JPH1040095A (en) Security chip including program execution memory
JP2000070531A (en) Microprocessor for game machine
JP4216910B2 (en) Game machine control chip security system
JP2010172455A (en) Game machine, authentication method, and authentication program
JP2002000885A (en) Microcomputer chip for game machine control
JP2002035384A (en) Method for manufacturing microcomputer chip for final game machine control
JP3581331B2 (en) Microcomputer chip for gaming machine control
US20070266152A1 (en) Computer peripheral device with computer security control mechanism
JP3495409B2 (en) Fraud prevention mechanism of image processing controller
JP3442474B2 (en) Microcomputer chip for gaming machine control
JP3462568B2 (en) Microcomputer chip for gaming machine control
JP2010172458A (en) Game machine, authentication method, and authentication program
JP2010172461A (en) Game machine, authentication method, and authentication program

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120903

Year of fee payment: 13