JP4995241B2 - 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム - Google Patents

電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム Download PDF

Info

Publication number
JP4995241B2
JP4995241B2 JP2009177082A JP2009177082A JP4995241B2 JP 4995241 B2 JP4995241 B2 JP 4995241B2 JP 2009177082 A JP2009177082 A JP 2009177082A JP 2009177082 A JP2009177082 A JP 2009177082A JP 4995241 B2 JP4995241 B2 JP 4995241B2
Authority
JP
Japan
Prior art keywords
authentication
main control
data
control unit
individual
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
Application number
JP2009177082A
Other languages
English (en)
Other versions
JP2011030608A (ja
Inventor
直幸 渡辺
浩 水上
元成 横島
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.)
Kyoraku Industrial Co Ltd
Original Assignee
Kyoraku Industrial Co Ltd
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 Kyoraku Industrial Co Ltd filed Critical Kyoraku Industrial Co Ltd
Priority to JP2009177082A priority Critical patent/JP4995241B2/ja
Publication of JP2011030608A publication Critical patent/JP2011030608A/ja
Application granted granted Critical
Publication of JP4995241B2 publication Critical patent/JP4995241B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Description

この発明は、複数の基板を備え、これらの基板間の通信の認証をおこなう電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラムに関する。
従来、複数の基板を備えた電子機器において、これら各基板に対する不正を防止するための様々な技術が提案されている。複数の基板を備えた電子機器としては、たとえば、ぱちんこ遊技機などがある。ぱちんこ遊技機には、電子機器全体の動作を司る主制御基板と、電子機器の各部の動作をおこなう被制御基板(周辺部)とを備えている。この主制御基板は、周辺部に制御コマンドを含む制御信号を出力し、その他の周辺部は、主制御基板から送信された制御信号にしたがって動作を実行する機能を備えている。
主制御基板に対する不正には、たとえば、正規の主制御基板を不正な制御基板に取り替えたり、主制御基板がおこなう処理を規定したプログラムコードを改ざんしたりするなどの方法がある。このような不正を防止するため、たとえば、主制御基板内に搭載されたROMに記録されているプログラムデータをROMチェッカによってチェックして、ROMの不正交換などを防止する技術が提案されている(たとえば、下記特許文献1参照。)。
特開平11−333108号公報
しかしながら、上述した特許文献1の技術によれば、プログラムデータの改ざんは検知できるが、正規な主制御基板と被制御基板との間に不正な制御基板が接続されてしまうのを防止することができない。このため、不正な制御基板から出力される制御信号によって、被制御基板が不正な制御をおこなってしまうという問題がある。
ここで、図17および図18を用いて、従来技術による不正防止技術について説明する。図17は、従来技術による不正防止技術の概要を示す説明図である。また、図18は、不正な制御基板の挿入例を示す説明図である。図17に示すように、正規の主制御基板1701は、周辺基板1702に対して正規の制御信号RSを出力して、周辺基板1702の動作を制御する。正規の主制御基板1701には、検査用ポート1703が設けられている。この検査用ポート1703から正規の主制御基板1701の内部に設けられたROMなどに記録されたプログラムデータを検査して、正規の主制御基板1701に不正がおこなわれていないかを検査する。
ところが、図18に示すように、正規の主制御基板1701と周辺基板1702との間に、不正な制御基板1801が挿入されてしまう場合がある。不正な制御基板1801は、正規の主制御基板1701から出力された正規の制御信号RSを破棄または無視し、替わりに不正な制御信号FSを周辺基板1702に出力する。ここで、周辺基板1702は、入力された信号が、正規の制御信号RSであるか不正な制御信号FSであるかを判別することができない。このため、周辺基板1702は、不正な制御信号FSにしたがって動作してしまうという問題がある。
また、検査用ポート1703は正規の主制御基板1701上に設けられているため、検査用ポート1703を用いた検査をおこなっても、正規の主制御基板1701内の処理に対する検査結果が返ってしまう。このため、検査用ポート1703を用いた検査をおこなっても、不正な制御基板1801による不正制御を検知することができないという問題がある。
この発明は、上述した従来技術による問題点を解消するため、正規な主制御基板と周辺部との間に不正な制御基板が接続されるのを防止して、ぱちんこ遊技機などの電子機器に対する不正を防止することができる電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、請求項1の発明にかかる電子機器は、主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器であって、前記主制御部は、所定のデータを記憶するデータ記憶手段と、前記主制御部の個体を認証するための個体認証値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定手段と、前記データ記憶手段内の前記データを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記個体認証値を生成する個体認証値生成手段と、前記主制御部の動作順序を認証するための動作認証値として、前記主制御部の動作順序を認証するための動作コードと、指定されたタイミングでフリーランに動く計時機器から取得した計時時間を含んだ相対時間コードと、前記制御コマンド送信時の前記主制御部の動作検査値として出力されたパケット情報を含んだ同期コードとを生成する動作認証値生成手段と、前記分割数に基づいて前記動作認証値生成手段によって生成された動作認証値のうちいずれか1つを選択する選択手段と、前記選択手段によって選択された動作認証値と前記個体認証値生成手段によって生成された前記分割数分の前記個体認証値とを前記周辺部に送信する送信手段と、を備え、前記周辺部は、前記分割数分の前記個体認証値および前記動作認証値を受信する受信手段と、前記分割数分の前記個体認証値に対して前記2項演算をおこなった演算結果と、前記データ記憶手段内の全ての前記データに対して前記2項演算をおこなった値とが一致するか否かに基づいて前記主制御部の個体を認証する個体認証手段と、前記個体認証手段による前記認証が成立した際に前記2項演算の対象となった前記個体認証値の数に基づいて前記動作認証値の種類を特定し、前記主制御部の動作順序を認証する動作認証手段と、前記個体認証手段による認証および前記動作認証手段による認証の双方が成立した場合に、前記主制御部が正しい制御コマンドを出力していると認証するコマンド認証手段と、を備えることを特徴とする。
この請求項1の発明によれば、主制御部は、データ記憶手段内のデータの分割数に基づいて、複数種類のコードの中から動作認証値として利用するコードを選択する。分割数は主制御部のみが知る値なので、不正解析者は、動作認証値として利用するコードの種類を知ることができない。これにより、主制御部と周辺部との間に不正な制御部が挿入された場合に、動作認証値の種類を照合することによって不正を検知することができる。
また、請求項1の発明によれば、周辺部は、2種類の認証値による認証が成立しなければ、主制御部から送信された制御コマンドを正しいものと判断しない。したがって、1種類の認証値による認証と比較して、認証の強度を向上させることができる。
また、請求項1の発明によれば、分割数そのものを決定するのではなく、認証値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減させることができる。
また、請求項2の発明にかかる電子機器は、請求項1に記載の発明において、前記決定手段は、それぞれの前記個体認証値ごとに前記データ量を決定し、前記個体認証値生成手段は、前記個体認証値ごとにそれぞれ決定された前記データ量分の前記データを用いて当該個体認証値を生成する。
この請求項2の発明によれば、それぞれの個体認証値を生成するごとにデータ量を決定することができる。これにより、あらかじめデータ量を決定しておく場合と比較して、分割数が不正に窃取される可能性をさらに低減することができる。
また、請求項3の発明にかかる電子機器は、請求項1または2に記載の発明において、前記送信手段は、前記制御コマンドに前記認証値を付加して前記周辺部に送信することを特徴とする。
この請求項3の発明によれば、認証値を単体で送信する場合と比較して、主制御部と周辺部との間の通信負荷の増大を抑えることができる。また、請求項3の発明によれば、認証値を単体で送信する場合と比較して、通信データ中から認証値が抽出され、解析されてしまう可能性を低減することができる。
また、請求項4の発明にかかる電子機器は、請求項3に記載の発明において、前記個体認証値および前記動作認証値の少なくともいずれかは、前記制御コマンドの少なくとも一部を用いて生成されることを特徴とする。
この請求項4の発明によれば、認証値の生成方法が解析されたり、認証値が再利用されたりする可能性を低減することができる。
また、請求項5の発明にかかる電子機器は、請求項1〜4のいずれか一つに記載の発明において、前記主制御部は、前記個体認証値および前記動作認証値を所定の暗号化方法で暗号化する暗号化手段をさらに備え、前記送信手段は、前記暗号化手段によって暗号化された前記個体認証値および前記動作認証値を送信し、前記周辺部は、前記暗号化された前記個体認証値および前記動作認証値を前記暗号化方法に対応する復号化方法で復号化する復号化手段をさらに備え、前記個体認証手段および前記動作認証手段は、前記復号化手段によって復号化された前記個体認証値および前記動作認証値を用いて認証をおこなうことを特徴とする。
この請求項5の発明によれば、不正解析者によって認証値が不正に盗取された場合に、認証値の生成方法が解析されたり、認証値が再利用される可能性を低減させることができる。
また、請求項6の発明にかかる電子機器は、請求項5に記載の発明において、前記暗号化手段は、前記分割数に基づいて前記暗号化方法を変更し、前記復号化手段は、前記主制御部の個体が認証された際に前記2項演算の対象となった前記個体認証値の数に基づいて前記復号化方法を変更することを特徴とする。
この請求項6の発明によれば、不正解析者は、認証値の暗号化方法の切り替えタイミングを知ることができず、認証値の生成方法が解析されたり、認証値が再利用される可能性をさらに低減させることができる。
また、請求項7の発明にかかる電子機器は請求項1〜6のいずれか一つに記載の発明において、前記選択手段は、前記分割数を特定値で割った時の余りの数に基づいて前記動作認証値を特定し、前記動作認証手段は、前記個体認証値の数を特定値で割った時の余りの数に基づいて前記動作認証値を特定することを特徴とする。
また、請求項8の発明にかかる電子機器は請求項1〜6のいずれか一つに記載の発明において、前記選択手段は、前回の分割数と今回の分割数との差分に基づいて前記動作認証値を選択し、前記動作認証手段は、前回の認証時における前記個体認証値の数と今回の認証時における前記個体認証値の数との差分に基づいて、前記動作認証値を特定することを特徴とする。
この請求項7および8の発明によれば、分割数に基づいて動作認証値として利用するコードを選択する際に演算処理をおこなうので分割数と利用するコードとの対応関係が複雑になる。したがって、不正解析者による解析がより困難な認証値を送信することができる。
また、請求項9の発明にかかる電子機器は請求項1〜8のいずれか一つに記載の発明において、前記データ記憶手段は、前記主制御部で用いられるプログラムデータを記憶することを特徴とする。
この請求項9の発明によれば、主制御部に記録されたプログラムコードの不正な書き換えや、主制御部のデータ記憶手段の不正な取り替えなどを検出することができる。
また、請求項10の発明にかかる電子機器は、請求項1〜9のいずれか一つに記載の発明において、前記2項演算は、加算または排他的論理和演算であることを特徴とする。
この請求項10の発明によれば、個体認証値の生成に用いる2項演算として、加算または排他的論理和演算を切り替えて用いることができる。
また、請求項11の発明にかかる遊技機は、請求項1〜10のいずれか一つに記載の電子機器を備え、前記主制御部は主制御基板であり、前記周辺部は周辺基板であることを特徴とする。
この請求項11の発明によれば、主制御部は、データ記憶手段内のデータの分割数に基づいて、複数種類のコードの中から動作認証値として利用するコードを選択する。分割数は主制御部のみが知る値なので、不正解析者は、動作認証値として利用するコードの種類を知ることができない。これにより、主制御部と周辺部との間に不正な制御部が挿入された場合に、動作認証値の種類を照合することによって不正を検知することができる。
また、請求項11の発明によれば、周辺部は、2種類の認証値による認証が成立しなければ、主制御部から送信された制御コマンドを正しいものと判断しない。したがって、1種類の認証値による認証と比較して、認証の強度を向上させることができる。
また、請求項11の発明によれば、分割数そのものを決定するのではなく、認証値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減させることができる。
また、請求項12の発明にかかる主制御基板は、電子機器に搭載され、周辺基板に所定の処理をおこなわせる制御コマンドを送信する主制御基板であって、所定のデータを記憶するデータ記憶手段と、前記主制御部の個体を認証するための個体認証値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定手段と、前記データ記憶手段内の前記データを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記個体認証値を生成する個体認証値生成手段と、前記主制御部の動作順序を認証するための動作認証値として、前記主制御部の動作順序を認証するための動作コードと、指定されたタイミングでフリーランに動く計時機器から取得した計時時間を含んだ相対時間コードと、前記制御コマンド送信時の前記主制御部の動作検査値として出力されたパケット情報を含んだ同期コードとを生成する動作認証値生成手段と、前記分割数に基づいて前記動作認証値生成手段によって生成された動作認証値のうちいずれか1つを選択する選択手段と、前記選択手段によって選択された動作認証値と前記個体認証値生成手段によって生成された前記分割数分の前記個体認証値とを前記周辺部に送信する送信手段と、を備えることを特徴とする。
この請求項12の発明によれば、主制御基板は、データ記憶手段内のデータの分割数に基づいて、複数種類のコードの中から動作認証値として利用するコードを選択する。分割数は主制御基板のみが知る値なので、不正解析者は、動作認証値として利用するコードの種類を知ることができない。これにより、主制御基板と周辺基板との間に不正な制御部が挿入された場合に、動作認証値の種類を照合することによって不正を検知することができる。
また、請求項12の発明によれば、分割数そのものを決定するのではなく、認証値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減させることができる。
また、請求項13の発明にかかる周辺基板は、電子機器に搭載され、主制御基板によって送信された制御コマンドに基づいて所定の処理をおこなう周辺基板であって、前記主制御基板によって送信された前記主制御基板の個体を認証するための複数の個体認証値と、前記主制御基板の動作順序を認証するための動作認証値を受信する受信手段と、前記複数の前記個体認証値に対して前記2項演算をおこなった演算結果と、前記2項演算の期待値とが一致するか否かに基づいて前記主制御部の個体を認証する個体認証手段と、前記個体認証値による前記認証が成立した際に前記2項演算の対象となった前記個体認証値の数に基づいて前記動作認証値の種類を特定し、前記主制御部の動作順序を認証する動作認証手段と、前記個体認証手段による認証および前記動作認証手段による認証の双方が成立した場合に、前記主制御部が正しい制御コマンドを出力していると認証するコマンド認証手段と、を備えることを特徴とする。
この請求項13の発明によれば、個体認証が成立した際の個体認証値の数、すなわち分割数に基づいて、動作認証値として利用されているコードを特定する。不正解析者は、動作認証値として利用されたコードの種類を知ることができないため、主制御基板と周辺基板との間に不正な制御部が挿入された場合に、動作認証値の種類を照合することによって不正を検知することができる。
また、請求項13の発明によれば、2種類の認証値による認証が成立しなければ、主制御基板から送信された制御コマンドを正しいものと判断しない。したがって、1種類の認証値による認証と比較して、認証の強度を向上させることができる。
また、請求項13の発明によれば、分割数そのものを決定するのではなく、認証値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減させることができる。
また、請求項14の発明にかかる認証方法は、主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器における認証方法であって、前記主制御部において、前記主制御部の個体を認証するための個体認証値の生成に用いるデータの量(以下、「データ量」という)を決定する決定工程と、前記主制御部に記憶されている所定のデータを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記個体認証値を生成する個体認証値生成工程と、前記主制御部の動作順序を認証するための動作認証値として、前記主制御部の動作順序を認証するための動作コードと、指定されたタイミングでフリーランに動く計時機器から取得した計時時間を含んだ相対時間コードと、前記制御コマンド送信時の前記主制御部の動作検査値として出力されたパケット情報を含んだ同期コードとを生成する動作認証値生成工程と、前記分割数に基づいて前記動作認証値生成工程で生成された動作認証値のうちいずれか1つを選択する選択工程と、前記選択工程で選択された動作認証値と前記個体認証値生成工程で生成された前記分割数分の前記個体認証値とを前記周辺部に送信する送信工程と、を含み、前記周辺部において、前記分割数分の前記個体認証値および前記動作認証値を受信する受信工程と、前記分割数分の前記個体認証値に対して前記2項演算をおこなった演算結果と、前記データ記憶手段内の全ての前記データに対して前記2項演算をおこなった値とが一致するか否かに基づいて前記主制御部の個体を認証する個体認証工程と、前記個体認証工程での前記認証が成立した際に前記2項演算の対象となった前記個体認証値の数に基づいて前記動作認証値の種類を特定し、前記主制御部の動作順序を認証する動作認証工程と、前記個体認証工程での認証および前記動作認証工程での認証の双方が成立した場合に、前記主制御部が正しい制御コマンドを出力していると認証するコマンド認証工程と、を含んだことを特徴とする。
この請求項14の発明によれば、主制御部は、データ記憶手段内のデータの分割数に基づいて、複数種類のコードの中から動作認証値として利用するコードを選択する。分割数は主制御部のみが知る値なので、不正解析者は、動作認証値として利用するコードの種類を知ることができない。これにより、主制御部と周辺部との間に不正な制御部が挿入された場合に、動作認証値の種類を照合することによって不正を検知することができる。
また、請求項14の発明によれば、周辺部は、2種類の認証値による認証が成立しなければ、主制御部から送信された制御コマンドを正しいものと判断しない。したがって、1種類の認証値による認証と比較して、認証の強度を向上させることができる。
また、請求項14の発明によれば、分割数そのものを決定するのではなく、認証値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減させることができる。
また、請求項15の発明にかかる認証プログラムは、請求項14に記載の認証方法をコンピュータに実行させることを特徴とする。
この請求項15の発明によれば、請求項14に記載の認証方法をコンピュータに実行させることができる。
本発明にかかる電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラムによれば、正規な主制御基板と周辺部との間に不正な制御基板が接続されるのを防止して、ぱちんこ遊技機などの電子機器に対する不正を防止することができる。
本発明のぱちんこ遊技機の遊技盤の一例を示す正面図である。 ぱちんこ遊技機の制御部の内部構成を示すブロック図である。 主制御基板および周辺基板の機能的構成を示すブロック図である。 主制御部による演出制御部の制御処理の手順を示すフローチャートである。 主制御部による演出制御部の制御処理の手順を示すフローチャートである。 大当たり関連コマンドの送信タイミングを示すタイムチャートである。 演出制御部による図柄変動処理の手順を示すフローチャートである。 演出制御部による大当たり時の処理の手順を示すフローチャートである。 ランプ制御部による図柄変動時のランプ制御処理の手順を示すフローチャートである。 主制御部が出力する制御信号のデータフォーマットを模式的に示す説明図である。 主制御部における個体認証データ(個体検査値)の生成方法を模式的に示す説明図である。 主制御部における動作認証データの選択方法を模式的に示す説明図である。 主制御部による制御信号の送信処理の手順を示すフローチャートである。 周辺部による制御信号の受信処理の手順を示すフローチャートである。 周辺部による個体認証処理の手順を示すフローチャートである。 制御部間のデータの流れの一例を示すシーケンス図である。 従来技術による不正防止技術の概要を示す説明図である。 不正な制御基板の挿入例を示す説明図である。
(実施の形態)
以下に添付図面を参照して、この発明にかかる電子機器の機能を有したぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムの好適な実施の形態を詳細に説明する。
(ぱちんこ遊技機の基本構成)
図1は、本発明のぱちんこ遊技機の遊技盤の一例を示す正面図である。遊技盤101の下部位置に配置された発射部(図2参照)の駆動によって発射された遊技球は、レール102a,102b間を上昇して遊技盤101の上部位置に達した後、遊技領域103内を落下する。遊技領域103には、図示を省略する複数の釘が設けられ、遊技球を各種の方向に向けて落下させるとともに、落下途中の位置には、遊技球の落下方向を変化させる風車や、入賞口が配設されている。
遊技盤101の遊技領域103の中央部分には、図柄表示部104が配置されている。図柄表示部104としては、たとえば液晶表示器(LCD)が用いられる。なお、図柄表示部104としては、LCDに限らずCRTなどを用いることもできる。図柄表示部104の下方には、始動入賞させるための始動入賞口105が配設されている。図柄表示部104の左右には、それぞれ入賞ゲート106が配設されている。
入賞ゲート106は、遊技球の通過を検出し、始動入賞口105を一定時間だけ開放させる抽選をおこなうために設けられる。図柄表示部104の側部や下方などには普通入賞口107が配設されている。普通入賞口107に遊技球が入賞すると、普通入賞時の賞球数(たとえば10個)の払い出しをおこなう。遊技領域103の最下部には、どの入賞口にも入賞しなかった遊技球を回収する回収口108が設けられている。
上述した図柄表示部104は、特定の入賞口に遊技球が入賞したとき(始動入賞時)に、複数の図柄の表示の変動を開始させ、所定時間後に図柄が停止する。この停止時に特定図柄(たとえば「777」)に揃ったとき、大当たり状態となる。大当たり状態のとき、下方に位置する大入賞口109が一定の期間開放を所定ラウンド(たとえば15ラウンド)繰り返し、入賞した遊技球に対応した賞球数を払い出す。
図2は、ぱちんこ遊技機の制御部の内部構成を示すブロック図である。制御部200は、複数の制御部により構成されている。図示の例では、主制御部201と、周辺部(演出制御部202、賞球制御部203)とを有する。主制御部201は、ぱちんこ遊技機の遊技にかかる基本動作を制御する。演出制御部202は、遊技中の演出動作を制御する。賞球制御部203は、払い出す賞球数を制御する。
主制御部201は、ROM212に記憶されたプログラムデータに基づき、遊技内容の進行に伴う基本処理を実行するCPU211と、CPU211の演算処理時におけるデータのワークエリアとして機能するRAM213、各検出部221〜224から各種データを受信するとともに、演出制御部202および賞球制御部203への各種データの送信をおこなうインタフェース(I/F)214などを備えて構成される。主制御部201は、たとえばいわゆる主制御基板によってその機能を実現する。
この主制御部201の入力側には、始動入賞口105に入賞した入賞球を検出する始動入賞口検出部221と、入賞ゲート106を通過した遊技球を検出するゲート検出部222と、普通入賞口107に入賞した遊技球を検出する普通入賞口検出部223と、大入賞口109に入賞した入賞球を検出する大入賞口検出部224とがI/F214を介して接続されている。これらの検出部としては、近接スイッチなどを用いて構成できる。
この主制御部201の出力側には、大入賞口開閉部231が接続され、この大入賞口開閉部231の開閉を制御する。大入賞口開閉部231は、大当たり時に大入賞口109を一定期間開放する機能であり、ソレノイドなどを用いて構成される。この大当たりは、生成した乱数(大当たり判定用乱数)に基づいて所定の確率(たとえば300分の1など)で発生するようあらかじめプログラムされている。
演出制御部202は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいてROM242に記憶されたプログラムデータを実行して遊技中における演出制御をおこなう。この演出制御部202は、演出処理を実行するCPU241と、CPU241の演算処理時におけるデータのワークエリアとして機能するRAM243、図柄表示部104に表示させる画像データを書き込むVRAM244、主制御部201からの各種データの受信およびランプ制御部251や音声制御部252への各種データの送信をおこなうインタフェース(I/F)245などを備えて構成される。演出制御部202は、たとえばいわゆる演出基板によってその機能を実現する。また、演出制御部202の出力側には、上述した図柄表示部(LCD)104、ランプ制御部251、音声制御部252がI/F245を介して接続されている。ランプ制御部251はランプ261の点灯を制御する。また、音声制御部252はスピーカ262から出力される音声を制御する。
賞球制御部203は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいてROM282に記憶されたプログラムデータを実行して賞球制御をおこなう。この賞球制御部203は、賞球制御の処理を実行するCPU281と、CPU281の演算処理時におけるデータのワークエリアとして機能するRAM283、主制御部201からの各種データの受信および発射部292との各種データの送受信をおこなうインタフェース(I/F)284などを備えて構成される。賞球制御部203は、たとえばいわゆる賞球基板によってその機能を実現する。
賞球制御部203は、接続される払出部291に対して入賞時の賞球数を払い出す制御をおこなう。また、発射部292に対する遊技球の発射の操作を検出し、遊技球の発射を制御する。払出部291は、遊技球の貯留部から所定数を払い出すためのモータなどからなる。賞球制御部203は、この払出部291に対して、各入賞口(始動入賞口105、普通入賞口107、大入賞口109)に入賞した遊技球に対応した賞球数を払い出す制御をおこなう。
発射部292は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサと、遊技球を発射させるソレノイドなどを備える。賞球制御部203は、発射部292のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイドなどを駆動させて遊技球を間欠的に発射させ、遊技盤101の遊技領域103に遊技球を送り出す。
上記構成の主制御部201と、演出制御部202と、賞球制御部203は、それぞれ異なるプリント基板(主制御基板、演出基板、賞球基板)に設けられる。これに限らず、たとえば、賞球制御部203は、主制御部201と同一のプリント基板上に設けることもできる。
(主制御基板および周辺基板の機能的構成)
図3は、主制御基板(主制御部)および周辺基板(演出制御部、賞球制御部)の機能的構成を示すブロック図である。まず、主制御部201としての機能を有する主制御基板310の機能的構成について説明する。図3に示すように、主制御基板310は、周辺基板320を動作させるための制御コマンドを送信する機能部であり、データ記憶部311、決定部312、個体認証値生成部313、動作認証値生成部314、選択部315、暗号化部316、送信部317によって構成される。
データ記憶部311は、所定のデータを記憶する。所定のデータとは、たとえば主制御基板310で用いられるプログラムデータである。データ記憶部311としては、たとえば、主制御部201のROM212(図2参照)の一部を用いることができる。
決定部312は、主制御基板310の個体を認証するための個体認証データ(個体認証値)の生成に用いるデータの量(以下、「データ量」という)を決定する。決定部312は、たとえば、乱数生成回路や乱数生成プログラムによって生成された値をデータ量として決定したり、主制御基板310の他の処理において生成される値を所定のタイミングで参照し、その値をデータ量として決定したりする。
個体認証値生成部313は、データ記憶部311内のデータを、決定部312によって決定されたデータ量に分割し、分割したデータに対してそれぞれ結合法則を満たす2項演算をおこなって、主制御基板310の個体を認証するための個体認証データを、分割したデータの数(以下、「分割数」という)だけ生成する。
結合法則を満たす2項演算とは、たとえば加算または排他的論理和演算である。個体認証値生成部313は、分割されたデータのそれぞれに対して加算または排他的論理和演算をおこなって、分割数分の個体認証データを生成する。個体認証値生成部313が個体認証データの生成に用いた2項演算を、以下「個体認証値生成用演算」という。個体認証値生成部313は、個体認証データを生成する際、データ記憶部311に記憶された全てのデータを、重複なく用いるようにする。具体的には、たとえば、決定部312によって決定された量のデータを、データ記憶部311内のアドレスの先頭から順番に読み出して、個体認証データを生成する。
ここで、個体認証データは、主制御部201(すなわち主制御基板310)の個体を認証するために用いる認証値である。個体を認証するとは、主制御基板310を物理的(ハードウェア的)に認証する、という意味であり、主制御基板310が不正な基板に付け替えられていないことを認証することを意味する。不正な基板では、個体認証データを生成するのは非常に困難である。したがって、主制御基板310の個体認証データによる認証が失敗した場合には、不正な基板による制御がおこなわれようとしていることが検知できる。
動作認証値生成部314は、主制御基板310の動作順序を認証するための動作認証データとして、主制御基板310の動作順序を認証するための動作コードと、指定されたタイミングでフリーランに動く計時機器から取得した計時時間を含んだ相対時間コードと、制御コマンド送信時の主制御基板310の動作検査値として出力されたパケット情報を含んだ同期コードとの3種類のコードを生成する。
ここで、認証値生成部314において作成される各コードについて以下に説明する。
<動作コード>
動作コードは、主制御基板310による制御コマンドの送信が継続して実行されていることを確認するための情報である。具体的には、たとえば、プログラム機能の処理番号、認証コードなどの認証値生成処理の実行回数、所定の法則で変動する値などによって構成された検査値である。周辺基板320では、この動作コードを参照することにより、主制御基板310の動作(ここでは、制御コマンドの送信)順序が連続しておこなわれているか否かを判断することができる。
なお、動作コードは、主制御基板310による制御コマンド送信の動作順序に関する情報以外にも、動作をおこなうための制御コマンドの実行プログラムの動作手順に対応して設定されている機能番号などの情報を含んでいてもよい。このとき、動作順序に関する複数の情報をそのまま含んでもよいし、これらの情報に所定の演算を施して暗号化した値を含んでもよい。
このように、所定の制御コマンドを出力した際の主制御基板310がどのような動作中であるかを認証する動作コードを用いることによって、動作コードによって認証した動作順序が連続していなければ、主制御基板310から送信された制御コマンド以外の不正な制御基板から送信された制御コマンドであると判断し、不正制御を検知することができる。
<相対時間コード>
相対時間コードは、フリーランに動作している計時機器から取得された計時情報から生成される。したがって、相対時間コードは、主制御基板310による制御コマンドの送信が継続して実行されていることを確認するための情報である。具体的には、たとえば、計時情報からある基準値を設定し、この基準値からの差分値や、累積値などによってあらわされる。なお、相対時間コードは、計時情報に基づいて設定した情報をそのまま含んでもよいし、これらの情報に所定の演算を施して暗号化した値を含んでもよい。
このように、所定の制御コマンドが出力された際に相対時間コードを参照することによって、主制御基板310にて実行されている動作が継続しておこなわれているか否かを簡易的に判定できる。また、相対時間コードによって認証した動作順序が継続した動作であると判定されなかった場合、主制御基板310から送信された制御コマンド以外の不正な制御基板から送信された制御コマンドであると判断し、不正制御が検知される。
<同期コード>
同期コードは、主制御基板310による制御コマンドの送信が継続して実行されていることを確認するための情報である。上述したように、同期コードは、主制御基板310の制御コマンドの生成に伴って、連続した出力タイミングで出力されたパケット情報が含まれている。この連続したタイミングで出力されたパケット情報は、所定の間隔の相関関係を有している。したがって、後述する動作認証部323では、この複数のパケット情報同士の相関関係を求めることによって主制御基板310の動作の継続性を認証する。なお、同期コードは、パケット情報として取得した値をそのまま利用してもよいし、これらの値に所定の演算を施して暗号化した値を利用してもよい。
このように、所定の制御コマンドが出力された際に同期コードを参照することによって、主制御基板310にて実行されている動作が継続しておこなわれているか否かを簡易的に判定できる。また、同期コードによって認証した動作順序が継続した動作であると判定できなければ、主制御基板310から送信された制御コマンド以外の不正な制御基板から送信された制御コマンドであると判断し、不正制御を検知することができる。
選択部315は、決定部312によって決定された分割数に基づいて、動作認証値生成部314によって生成されたコードのうちいずれか1つを選択する。なお、コードを選択する手法としては、たとえば、分割数2の場合は動作コード、分割数3の場合は相対時間コード・・というように、選択するコードを分割数ごとに決めておく方法がある。また、分割数に対して各種演算を施した値に基づいてコードを選択してもよい。
他の手法として、たとえば、選択部315は、分割数を特定値で割った時の余りの数に応じて、動作コード、相対時間コードおよび同期コードのうちいずれか1つを選択してもよい。さらに、他の手法として、たとえば、選択部315は、前回の分割数と今回の分割数との差分に応じて、動作コード、相対時間コードおよび同期コードのうちいずれか1つを選択してもよい。
暗号化部316は、個体認証データおよび同期コードを所定の暗号化方法で暗号化する。暗号化部316による暗号化方法は任意であるが、暗号化部316において複数の暗号化方法を用いることができる場合、分割数に基づいて暗号化方法を変更してもよい。たとえば、暗号化部316で2つの暗号化方法を用いることができる場合、分割数が偶数の場合は第1の方法、奇数の場合は第2の方法、というように変更する。また、暗号化部316は、後述する制御信号内の制御コマンドを用いて個体認証データおよび動作認証データを暗号化するようにしてもよい。
なお、個体認証値生成部313は、個体認証データを生成する際に、動作認証データの一部もしくは全てを用いるようにしてもよい。この場合、たとえば、分割されたデータのうち1つに、動作認証データの一部もしくは全てを付加して2項演算をおこなって個体認証データを生成する。また、暗号化部316において個体認証データを暗号化する際に、動作認証データの一部もしくは全てを用いるようにしてもよい。同様に、動作認証値生成部314は、動作認証データを生成する際に、個体認証データの一部もしくは全てを用いるようにしてもよい。また、暗号化部365において動作認証値を暗号化する際に、個体認証データの一部もしくは全てを用いるようにしてもよい。
送信部317は、選択部315によって選択された動作認証データと個体認証値生成部313によって生成された分割数分の個体認証データとを周辺基板320に送信する。送信部317は、たとえば、主制御基板310から周辺基板320に送信される制御信号に認証データを付加することにより、周辺基板320に認証データを送信する。
つぎに、演出制御部202や賞球制御部203などの周辺部としての機能を有する周辺基板320の機能的構成について説明する。図3に示すように、周辺基板320は、受信部321、復号化部322、個体認証部323、動作認証部324、コマンド認証部325によって構成される。
受信部321は、主制御基板310によって送信された分割数分の個体認証データおよび動作認証データを受信する。受信部321は、たとえば、認証データが付加された制御信号を受信することによって、認証データを受信する。
復号化部322は、暗号化部316による暗号化方法に対応する復号化方法で個体認証データおよび動作認証データを復号化する。復号化部322は、暗号化部316による暗号化方法が分割数に基づいて変更される場合、主制御基板310の個体に対する認証が成立した際に、個体認証部323による演算の対象となった個体認証データの数に基づいて復号化方法を変更する。
個体認証部323は、分割数分の個体認証データに対して、個体認証値生成用演算をおこない、その演算結果と、演算結果の期待値とが一致するか否かに基づいて主制御基板310の個体を認証する。演算結果の期待値とは、データ記憶部311内の全てのデータに対して、個体認証値生成用演算をおこなった値である。個体認証値生成用演算は結合法則を満たすため、データ記憶部311内の全てのデータから生成された期待値と、分割したデータから生成された個体認証データに対して同じ演算をおこなった値とは一致するはずである。これにより、個体認証部323は、主制御基板310に記憶されているデータが変化していないことを確認し、主制御基板310の個体の正当性を認証する。
なお、個体認証データが、動作認証データの一部もしくは全てと、分割されたデータとを用いて生成されている場合、個体認証部323は、動作認証データの一部もしくは全てと、データ記憶部311内の全てのデータに対して個体認証値生成用演算をおこなった値とを用いて生成された期待値を用いて、主制御部201の個体を認証する。
動作認証部324は、個体認証部323による認証が成立した際に2項演算の対象となった個体認証データの数に基づいて動作認証データの種類を特定し、主制御基板310の動作順序を認証する。「個体認証部323による認証が成立した際に2項演算の対象となった個体認証データの数」とは、すなわち分割数である。動作認証部324は、まず、分割数に基づいて、動作認証データとしていずれのコードが用いられているかを特定する。なお、分割数からコードを特定する方法は、主制御基板310の選択部315による選択方法に対応している。そして、特定したコードに対応した方法で認証処理をおこない、主制御基板310の動作順序を認証する。
コマンド認証部325は、個体認証部323による認証および動作認証部324による認証の双方が成立した場合に、主制御基板310が正しい制御コマンドを出力していると認証する。周辺基板320は、コマンド認証部325によって認証された制御コマンドに基づく処理をおこなう。コマンド認証部325は、どちらか一方の認証が失敗した場合には、不正な制御基板から不正制御をおこなうための不正な制御コマンド(不正な制御信号)が出力されていると判断して、制御コマンドを破棄するとともに、ユーザに不正を報知するようにしてもよい。
(ぱちんこ遊技機の基本動作)
上記構成によるぱちんこ遊技機の基本動作の一例を説明する。主制御部201は、各入賞口に対する遊技球の入賞状況を制御コマンドとして賞球制御部203に出力する。賞球制御部203は、主制御部201から出力された制御コマンドに応じて、入賞状況に対応した賞球数の払い出しをおこなう。
また、主制御部201は、始動入賞口105に遊技球が入賞するごとに、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、図柄表示部104の図柄を変動表示させ、停止させることを繰り返す。大当たりの発生が決定しているときには、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、所定の図柄で揃えて停止させる。このとき同時に、大入賞口109を開放する制御をおこなう。演出制御部202は、大当たり発生期間中、および大当たり発生までの間のリーチ時や、リーチ予告時などには、図柄表示部104に対して、図柄の変動表示に加えて各種の演出表示をおこなう。このほか、各種役物に対して特定の駆動をおこなったり、ランプ261の表示状態を変更するなどの演出をおこなう。
そして、大当たり発生時には、大入賞口109が複数回開放される。1回の開放が1ラウンドとして、たとえば15回のラウンドが繰り返し実行される。1ラウンドの期間は、遊技球がたとえば10個入賞したとき、あるいは所定期間(たとえば30秒)とされている。この際、賞球制御部203は、大入賞口109に対する遊技球1個の入賞あたり、たとえば15個の賞球数で払い出しをおこなう。大当たり終了後は、この大当たり状態が解除され、通常の遊技状態に復帰する。
(各制御部による処理の詳細)
つぎに、各制御部がおこなう各種処理の詳細について説明する。はじめに、主制御部201による演出制御部202の制御処理について説明する。図4および図5は、主制御部による演出制御部の制御処理の手順を示すフローチャートである。なお、図4〜図9においては、演出制御部202の制御処理の手順を明確にするため、補正データ、認証データおよび付随データについては考慮しないものとする。すなわち、図4〜図9の説明において、「コマンドを送信する」とは、「当該コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」との意味であり、たとえば補正データや認証データや付随データ(図10参照)の有無は考慮しないものとする。
図4および図5のフローチャートにおいて、主制御部201は、まず、ぱちんこ遊技機の電源がオンにされるまで待機する(ステップS401:Noのループ)。ぱちんこ遊技機の電源がオンにされると(ステップS401:Yes)、主制御部201は、演出制御部202や賞球制御部203などの周辺部に対して電源オンコマンドを送信する(ステップS402)。電源オンコマンドが送信されると、演出制御部202は、ランプ制御部251や音声制御部252、図柄表示部104のそれぞれに対して電源オン時の演出用の制御コマンド(具体的には、ランプの点灯や音声の出力、デモ画面の表示などを指示する制御コマンド)を送信する。
つぎに、主制御部201は、ROM212またはRAM213に記録されている未抽選入賞回数データを参照して、未抽選入賞回数が0回か否かを判断する(ステップS403)。未抽選入賞回数とは、始動入賞口に検出された入賞球の数(入賞回数)から、入賞球に対応する抽選がおこなわれた回数(既抽選回数)を減じた数である。未抽選入賞回数が0回の場合(ステップS403:Yes)、主制御部201は、デモが開始されてから経過した時間を計測する(ステップS404)。
デモが開始されてから所定時間が経過すると(ステップS405:Yes)、主制御部201は、演出制御部202に客待ちデモコマンドを送信して(ステップS406)、ステップS407に移行する。デモが開始されてから所定時間が経過しない場合は(ステップS405:No)、そのままステップS407に移行する。ステップS406で客待ちデモコマンドが送信されると、演出制御部202は、ランプ制御部251や音声制御部252、図柄表示部104に対して客待ちデモ用の制御信号を送信する。また、ステップS403で、未抽選入賞回数が0回ではない場合は(ステップS403:No)、ステップS410に移行する。
つぎに、主制御部201は、始動入賞口検出部221によって始動入賞口への入賞球が検出されたか否か判断する(ステップS407)。始動入賞口への入賞球が検出されると(ステップS407:Yes)、主制御部201は、デモが開始されてから計測していた時間をクリアして(ステップS408)、未抽選入賞回数に1を加える(ステップS409)。つづいて、主制御部201は、大当たり判定用乱数を取得して(ステップS410)、未抽選入賞回数から1を減算し(ステップS411)、図5のステップS412に移行する。また、ステップS407で、始動入賞口への入賞球が検出されない場合は(ステップS407:No)、ステップS404に戻り、以降の処理を継続する。
つぎに、主制御部201は、ステップS410で取得した大当たり判定用乱数が、あらかじめ定められた大当たり乱数であるか否かを判断する(ステップS412)。大当たり判定用乱数が大当たり乱数である場合(ステップS412:Yes)、主制御部201は、演出制御部202に大当たりリーチコマンド(図柄変動コマンド)を送信する(ステップS413)。主制御部201は、図柄変動時間が経過するまで待機して(ステップS414:Noのループ)、図柄変動時間が経過すると(ステップS414:Yes)、演出制御部202に図柄停止コマンドを送信する(ステップS415)。
つぎに、主制御部201は、演出制御部202に大当たり開始コマンドを送信し(ステップS416)、つづけて、大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を順次送信する(ステップS417)。そして、主制御部201は、全てのラウンドの大当たりコマンドの送信が終わると、大当たり終了コマンドを送信して(ステップS418)、ステップS422に移行する。
一方、ステップS412で、大当たり判定用乱数が大当たり乱数でなかった場合(ステップS412:No)、主制御部201は、演出制御部202にはずれリーチコマンド(図柄変動コマンド)を送信する(ステップS419)。主制御部201は、図柄変動時間が経過するまで待機して(ステップS420:Noのループ)、図柄変動時間が経過すると(ステップS420:Yes)、演出制御部202に図柄停止コマンドを送信する(ステップS421)。
主制御部201は、ぱちんこ遊技機の電源がオフにされるまでは(ステップS422:No)、図4のステップS403に戻り、以降の処理を繰り返す。そして、ぱちんこ遊技機の電源がオフにされると(ステップS422:Yes)、主制御部201は、演出制御部202に終了処理コマンドを送信して(ステップS423)、本フローチャートによる処理を終了する。
図6は、大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の送信タイミングを示すタイムチャートである。大当たりリーチコマンドは、実際に大当たりが発生するよりも頻繁に、かつランダムに送信される。また、大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。また、大当たりコマンドは、大当たり状態に移行した後、ラウンドごとに継続的に送信される。また、大当たり終了コマンドは、大当たり状態の全てのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。
つぎに、演出制御部202による処理について説明する。以下では、図柄変動時(大当たりリーチコマンド(図5のステップS413参照)または、はずれリーチコマンド(図5のステップS419参照)を受信した場合)および、大当たり時の演出制御部202の処理について説明する。
図7は、演出制御部による図柄変動処理の手順を示すフローチャートである。図7のフローチャートにおいて、演出制御部202は、まず、図柄変動コマンドである大当たりリーチコマンド(図5のステップS413参照)、または、はずれリーチコマンド(図5のステップS419参照)を受信するまで待機する(ステップS701:Noのループ)。図柄変動コマンドを受信すると(ステップS701:Yes)、演出制御部202は、変動演出選択用の乱数を取得して(ステップS702)、取得した乱数に基づいて変動演出の種類を選択する(ステップS703)。そして、演出制御部202は、ランプ制御部251や音声制御部252に対して変動演出別の演出開始コマンドを送信する(ステップS704)。
演出制御部202は、変動演出の演出時間が経過したか否かや(ステップS705)、主制御部201から図柄停止コマンド(図5のステップS415,S421参照)を受信したか否かを判断する(ステップS706)。演出時間が経過した場合(ステップS705:Yes)、または、図柄停止コマンドを受信した場合(ステップS706:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して演出停止コマンドを送信する(ステップS707)。また、演出時間が経過せず(ステップS705:No)、かつ図柄停止コマンドを受信しない場合は(ステップS706:No)、ステップS705に戻り、以降の処理を繰り返す。
つぎに、演出制御部202の大当たり時の処理について説明する。図8は、演出制御部による大当たり時の処理の手順を示すフローチャートである。図8のフローチャートにおいて、演出制御部202は、まず、主制御部201から大当たり開始コマンド(図5のステップS416参照)を受信するまで待機する(ステップS801:Noのループ)。大当たり開始コマンドを受信すると(ステップS801:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して大当たり開始処理コマンドを送信する(ステップS802)。
つぎに、演出制御部202は、主制御部201からラウンド別の大当たりコマンド(図5のステップS417参照)を受信するまで待機する(ステップS803:Noのループ)。大当たりコマンドを受信すると(ステップS803:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信する(ステップS804)。
つづいて、演出制御部202は、主制御部201から大当たり終了コマンド(図5のステップS418参照)を受信するまで待機する(ステップS805:Noのループ)。大当たり終了コマンドを受信すると(ステップS805:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して大当たり終了処理コマンドを送信して(ステップS806)、本フローチャートによる処理を終了する。
つづいて、ランプ制御部251によるランプ制御処理について説明する。ここでは、演出制御部202から図柄変動コマンドを受信した場合(図柄変動時)の処理について説明する。図9は、ランプ制御部による図柄変動時のランプ制御処理の手順を示すフローチャートである。図9のフローチャートにおいて、ランプ制御部251は、まず、演出制御部202から演出開始コマンドを受信するまで待機する(ステップS901:Noのループ)。
演出制御部202から演出開始コマンドを受信すると(ステップS901:Yes)、ランプ制御部251は、コマンド別に用意されているデータを読み出して(ステップS902)、コマンド別の選択ルーチンを実行し(ステップS903)、ランプデータをセットする(ステップS904)。そして、ランプ制御部251は、ランプ261に対してランプデータを出力する(ステップS905)。ランプ制御部251から出力されたランプデータに基づいて、ランプ261は点灯または消灯する。
ランプ制御部251は、演出制御部202から演出停止コマンドを受信するまでは(ステップS906:No)、ステップS905に戻り、ランプデータの出力を継続する。演出停止コマンドを受信すると(ステップS906:Yes)、ランプ制御部251は、ランプデータの出力を停止して(ステップS907)、本フローチャートによる処理を終了する。
なお、図9にはランプ制御部251の処理を記載したが、音声制御部252による音声制御も、図9の処理とほぼ同様である。音声制御部252による音声制御処理は、図9の処理において、ステップS904,S905,S907の「ランプデータ」を「音声データ」と読み替えればよい。
このように、演出制御部202や賞球制御部203などの周辺部は、主制御部201によって出力された制御コマンドに基づいて各種の処理をおこなう。一方、たとえば、主制御部201と周辺部との間に不正な制御基板が接続された場合(図15参照)などのように、制御コマンドの出力元が正規の主制御部201ではない場合、周辺部は不正な制御基板から出力された不正な制御コマンドによって不正な動作をおこなってしまう。
これを防止するため、本実施の形態にかかるぱちんこ遊技機では、主制御部201と周辺部との間で認証処理をおこなう。より詳細には、周辺部を認証者、主制御部201を被認証者とした認証処理をおこない、主制御部201から送信される制御信号の正当性を認証する。この認証処理に用いる認証値(認証データ)は、主制御部201に記録されているプログラムデータを任意に分割したデータを元に生成されている。この認証処理によって、主制御部201が不正な制御基板に交換されたり、主制御部201と周辺部との間に不正な制御基板が取り付けられるなどの不正を検知して、ぱちんこ遊技機への不正を防止することができる。
本実施の形態では、認証データを制御コマンドデータに付加して送信する。認証データを制御コマンドデータに付加することによって、認証データ単体で送信する場合と比較して、主制御部201と周辺部との間の通信負荷の増大を抑えることができる。また、認証データを制御コマンドデータに付加することによって、認証データを単体で送信する場合と比較して、通信データ中から認証データが抽出され、解析されてしまう可能性を低減することができる。以下に認証データと制御コマンドデータを含む制御信号のフォーマットについて説明する。
(制御信号のデータフォーマット)
図10は、主制御部が出力する制御信号のデータフォーマットを模式的に示す説明図である。図10には、主制御部201が出力する通常の制御信号1010および認証データ付制御信号1020が示されている。
通常の制御信号1010は、制御コマンドデータ1001および付随データ1002を含んでいる。制御コマンドデータ1001は、たとえばリーチコマンドや大当たり開始コマンド、ラウンド別コマンドなどの各コマンド固有のデータである。また、付随データ1002は、制御コマンドデータ1001に付随するデータであり、たとえば、入賞した遊技球の数など制御コマンドデータ1001に基づく処理に必要なデータである。
一方、認証データ付制御信号1020は、制御コマンドデータ1001および付随データ1002に加え、認証データ1003を含んでいる。認証データ1003には、個体認証データ1003aおよび動作認証データ1003bの2種類の認証データが含まれている。個体認証データ1003aは、上述したように制御コマンドデータ1001および付随データ1002を送信した主制御部201の個体を認証するためのデータである。個体認証データ1003aは、具体的には以下のように生成される。
(個体認証データ(個体検査値)の生成方法)
図11は、主制御部における個体認証データ(個体検査値)の生成方法を模式的に示す説明図である。個体認証データは、主制御部201のROM212などに記録されたデータを用いて生成する。より詳細には、ROM212の所定の領域に格納されたデータを、任意のデータ量に分割した上で、分割した領域にそれぞれ格納されたデータに対して結合法則を満たす2項演算(半群演算)をおこなって個体検査値を算出する。半群演算としては、たとえば、加算や排他的論理和演算などが挙げられる。そして、個体検査値に対して所定の演算(たとえば、暗号化処理)をおこなって得られた値を認証データとする。なお、個体検査値を暗号化するか否かは任意であるが、不正防止の観点から暗号化することが望ましい。
個体検査値に対して所定の演算をおこなう際に、個体検査値が付加される制御コマンドを用いてもよい。一般に、不正な制御部は、正規の主制御部と異なる制御コマンドを送信することによって、周辺部に不正な動作をおこなわせようとする。今回送信する制御コマンドを用いて個体認証データ1003aを生成すれば、不正な制御部によって認証値が再利用された場合であっても、認証値と制御コマンドの整合がとれず、不正を検知することができる。
また、個体検査値に対して所定の演算をおこなう際に、一緒に送信される動作認証データ1003b(またはパケット情報)の一部または全てを用いてもよい。前述のように、周辺部では、個体認証データ1003aおよび動作認証データ1003bの2つの認証データを用いて認証をおこなう。片方の認証データをもう一方の認証データを用いて生成することにより、認証データに対して不正がおこなわれた場合に不正を検知しやすくなり、認証強度を向上させることができる。
主制御部201は、たとえば、1つの個体検査値を生成するごとに、その生成に用いるデータの量(データ量)を決定する。この場合、主制御部201は、ROM212の所定領域内の全てのデータを用いて個体検査値を生成するまで、データ量の決定と個体検査値の生成とをくり返す。このため、いくつの個体検査値が生成されるか(すなわち、分割数がいくつになるか)は、ROM212の所定領域内の全てのデータを用いて個体検査値を生成するまでわからない。
なお、1つの個体検査値を生成するごとにデータ量を決定するのではなく、あらかじめ個体検査値の生成に用いるデータの量を決定しておいてもよい。また、全ての個体検査値の生成に用いるデータ量を等しくするようにしてもよい。この場合、データ量を決定した時点で分割数が予測可能となる。
個体検査値を算出するために用いるデータの種類は任意であるが、たとえば、主制御部201のROM212に記録されたプログラムデータ(命令コードや固定データ)を用いることができる。主制御部201のROM212に記録されたプログラムデータを用いることによって、プログラムコードの不正な書き換えや、主制御部201のROM212の不正な取り替えなどを検出することができる。
たとえば、図11に示すプログラムデータ格納部1100には、12個のデータ(0x01〜0x09,0x0A〜0x0C、1つのデータのデータ量は1バイト)が格納されている。検査値の生成に用いるデータ量を4バイト、3バイト、5バイトとする場合、プログラムデータ格納部1100は、たとえば4バイト分のデータを含む第1ブロック1100a、3バイト分のデータを含む第2ブロック1100b、5バイト分のデータを含む第3ブロック1100c、の3つに分割できる。すなわち、分割数は3となる。主制御部201は、これらの各ブロックに格納されたデータに対してそれぞれ半群演算をおこなって個体検査値を算出する。なお、上述したデータ量は例示である。
たとえば、半群演算として加算を用いる方法を方式Aとすると、第1ブロック1100aに格納された4バイト分のデータ0x01,0x02,0x03,0x04を加算して第1検査値0x0Aが得られる。同様に、第2ブロック1100bに格納された3バイト分のデータ0x05,0x06,0x07を加算して第2検査値0x12が、第3ブロック1100cに格納された5バイト分のデータ0x08,0x09,0x0A,0x0B,0x0Cを加算して第3検査値0x32がそれぞれ得られる。
また、たとえば、半群演算として排他的論理和演算を用いる方法を方式Bとすると、第1ブロック1100aに格納された4バイト分のデータ0x01,0x02,0x03,0x04に排他的論理和演算をおこない第1検査値0x04が得られる。同様に、第2ブロック1100bに格納された3バイト分のデータ0x05,0x06,0x07に排他的論理和演算をおこない第2検査値0x04が、第3ブロック1100cに格納された5バイト分のデータ0x08,0x09,0x0A,0x0B,0x0Cに排他的論理和演算をおこない第3検査値0x0Cがそれぞれ得られる。
そして、得られた個体検査値に対して暗号化処理をおこなって個体認証データ1003aとする。この暗号化処理の際、上述のように、制御コマンドデータ1001や付随データ1002、動作認証データ1003bを含めて暗号化処理をおこなってもよい。このとき、これらのデータをそのまま用いてもよいし、これらのデータに対してハッシュ関数による演算やパリティチェック、巡回冗長検査(Cyclic Redundancy Check:CRC)、チェックサムなどの演算をおこなって得た値を用いてもよい。
一方、認証者である周辺部は、プログラムデータ格納部1100に格納されたデータ全体に対して半群演算をおこなった値を期待値として保持している。たとえば、方式Aの場合の期待値は0x01〜0x0Cの和である0x4Eとなる。また、方式Bの場合の期待値は0x01〜0x0Cの排他的論理和である0x0Cとなる。周辺部では、主制御部201による検査値生成方法の数と同じ数の期待値を保持している。
周辺部は、受信した認証データ付制御信号1020から個体検査値を取り出して、個体検査値に対して半群演算をおこなった値を期待値と照合する。個体検査値は半群演算を用いて生成されているので、分割したプログラムデータから生成した個体検査値の全てに対して同じ半群演算をおこなえば、プログラムデータ全体に対して半群演算をおこなった期待値と一致するはずである。個体検査値に対して半群演算をおこなった値と期待値とが一致すると、周辺部は主制御部201を認証する。
なお、周辺部における半群演算処理は、分割したデータから生成した個体検査値を結合する処理に対応するため、「結合処理」と呼ぶ。また、認証が成立した際の結合処理に用いた個体検査値の数を「結合数」という。周辺部における結合数と主制御部201における分割数とは同じ数となる。
図10の説明に戻り、動作認証データ1003bは、主制御部201の動作順序を認証するためのデータである。動作認証データ1003bは、上述のように、動作コード、相対時間コード、同期コードのいずれかである。動作認証データ1003bをいずれのコードとするかは、分割数に基づいて決定される。以下にコードの選択方法の具体例について説明する。
(動作認証データの選択方法)
図12は、主制御部における動作認証データの選択方法を模式的に示す説明図である。分割数に基づいてコードを選択する方法としては、たとえば、図12に示すような方法が挙げられる。
<選択例1:分割数/Xの余り値>
選択例1では、分割数として決定された値を特定値Xで除算した際の余り値に基づいて、動作認証データ1003bとするコードを選択する。たとえば、特定値X=4、分割数=7であれば、余り値=3となり、図12の選択例1では、同期コードを動作認証データ1003bとして選択する。
<選択例2:前回の分割数−今回の分割数の絶対値>
選択例2では、前回決定された分割数から今回決定された分割数を減算した際の絶対値に基づいて、動作認証データ1003bとするコードを選択する。たとえば、前回の分割数=3、今回の分割数=4であれば、絶対値|−1|=1となり図12の選択例2では、相対時間コードを動作認証データ1003bとして選択する。
なお、選択されたコードをそのまま動作認証データ1003bとして利用してもよいし、コードに対して暗号化処理をおこなって動作認証データ1003bとしてもよい。さらに、暗号化処理の際、各コードとともに、同時に送信される制御コマンドデータ1001や付随データ1002に関するデータを含めて暗号化処理をおこなってもよい。制御コマンドデータ1001や付随データ1002に関するデータとは、制御コマンドデータ1001や付随データ1002そのものや、制御コマンドデータ1001や付随データ1002に対してハッシュ関数による演算やパリティチェック、巡回冗長検査(Cyclic Redundancy Check:CRC)、チェックサムなどの演算をおこなって得られた値などである。
一般に、不正な制御基板は、正規の主制御部201と異なる制御コマンドを送信することによって、周辺部に不正な動作をおこなわせようとする。このため、制御コマンドデータ1001や付随データ1002に関する情報を動作認証データ1003bに含めれば、不正な制御基板によって動作認証データ1003bが再利用された場合であっても、動作認証データ1003bと制御コマンドの整合がとれず、不正を検知することができる。
なお、認証データ付制御信号1020を出力するタイミングは任意である。たとえば、所定時間ごとに認証データ付制御信号1020を出力してもよいし、常に認証データ付制御信号1020を出力してもよい。また、たとえば制御信号内の制御コマンドデータ1001が特定の種類のコマンドである場合に、認証データ1003を付加するようにしてもよい。
また、制御コマンドデータ1001、付随データ1002、認証データ1003の並び方は、図10に示す順番に限らず、たとえば認証データ1003を制御信号の先頭にしたり、制御コマンドデータ1001と付随データ1002との間に認証データ1003を挿入してもよい。また、個体認証データ1003aと動作認証データ1003bとを分離して制御信号内に配置してもよい。
(制御信号の送受信処理)
つづいて、主制御部201と周辺部との間でおこなう制御信号の送受信処理について説明する。図13は、主制御部201による制御信号の送信処理の手順を示すフローチャートである。本フローチャートでは、個体検査値(個体認証データ)を生成するごとに、データ量を決定する場合の処理について説明する。主制御部201は、制御コマンドの送信タイミングになるまで待機して(ステップS1301:No)、制御コマンドの送信タイミングになると(ステップS1301:Yes)、個体認証値の生成に用いるデータ量を決定する(ステップS1302)。つぎに、主制御部201は、ステップS1302で決定した量のプログラムデータを読み出し、読み出したデータに対して半群演算をおこなって個体検査値を算出し(ステップS1303)、個体検査値に対して暗号化処理をおこなって個体認証データを生成する(ステップS1304)。
プログラムデータ格納部1100内の全てのデータを用いて個体検査値を生成するまで(ステップS1305:No)、主制御部201は、ステップS1302に戻り、以降の処理をくり返す。ここで、「プログラムデータ格納部1100内の全てのデータを用いて」とは、プログラムデータ格納部1100内のデータをもれなく、かつ重複なく用いて、という意味である。主制御部201は、たとえばプログラムデータ格納部1100の先頭から順番にデータを読み出して個体検査値の生成に用いる。2つ目以降の個体検査値を生成する場合は、前の個体検査値の生成に用いたプログラムデータの次の領域に書き込まれたデータを、ステップS1302で決定した量だけ読み出して検査値を生成する。なお、最後の個体検査値を生成する際は、ステップS1302で決定したデータ量に足りない可能性があるが、主制御部201は、取得できる分のプログラムデータのみを用いて個体検査値を生成する。なお、個体検査値または個体認証データの生成は、制御コマンドの送信タイミングとなる前におこなっておいてもよい。
プログラムデータ格納部1100内の全てのデータを用いて個体検査値を生成すると(ステップS1305:Yes)、主制御部201は、ステップS1304で生成した個体認証データの個数、すなわち分割数に基づいて、動作コード、相対時間コードおよび同期コードの中から動作認証データとして利用するコードを決定する(ステップS1306)。そして、決定したコードを取得または生成し、そのコードを元にして動作認証データを生成する(ステップS1307)。なお、ステップS1306とステップS1307とを入れ替えて、動作コード、相対時間コードおよび同期コードをすべて生成しておき、動作認証データとして用いると決定されたコードのみを利用するようにしてもよい。
つづいて、主制御部201は、個体認証データおよび動作認証データを制御コマンドデータに付加して(ステップS1308)、周辺部に認証データ付制御信号を送信する(ステップS1309)。認証データ付制御信号は連続して送信してもよいし、通常の制御信号に混ぜて送信してもよい。また、認証データの送信順序も任意である。主制御部201は、すべての認証データを送信するまで(ステップS1310:No)、ステップS1309に戻り、認証データ付制御信号の送信を繰り返す。そして、すべての認証データを送信すると(ステップS1310:Yes)、本フローチャートによる処理を終了する。
つぎに、周辺部による主制御部201の認証処理について説明する。図14は、周辺部による主制御部の認証処理の手順を示すフローチャートである。図14のフローチャートにおいて、周辺部は、まず、主制御部201から認証データ付制御信号を受信するまで待機する(ステップS1401:Noのループ)。主制御部201から認証データ付制御信号を受信すると(ステップS1401:Yes)、周辺部は、受信した認証データ付制御信号に含まれている個体認証データを用いて主制御部201の個体を認証する(ステップS1402)。周辺部による個体認証処理の詳細は、図15を用いて詳細に説明する。
主制御部201の個体に対する認証が成立すると(ステップS1403:Yes)、周辺部は、個体に対する認証が成立した際に処理の対象となった個体認証データの数、すなわち結合数に基づいて、動作認証データとして利用されているコードの種類を特定する(ステップS1404)。そして、周辺部は、特定したコードに対応する方法で主制御部201の動作順序を認証する(ステップS1405)。
主制御部201の動作に対する認証が成立すると(ステップS1406:Yes)、周辺部は、受信した制御信号が正しい信号であるとして認証し(ステップS1407)、制御コマンドに基づく処理をおこなって(ステップS1408)、本フローチャートによる処理を終了する。一方、主制御部201の動作に対する認証が成立しなかった場合や(ステップS1406:No)、個体に対する認証が成立しなかった場合(ステップS1403:No)、周辺部は受信した制御信号を不正な制御信号として報知して(ステップS1409)、本フローチャートによる処理を終了する。
つづいて、周辺部による個体認証処理(図14のステップS1402)について説明する。図15は、周辺部による個体認証処理の手順を示すフローチャートである。図15のフローチャートにおいて、周辺部は、個体認証データ(個体認証データを含む制御信号)を受信するまで待機して(ステップS1501:Noのループ)、個体認証データを受信すると(ステップS1501:Yes)、個体認証データに復号化処理をおこなって個体検査値を取得する(ステップS1502)。
周辺部は、取得した個体検査値を個体検査値用メモリに格納して(ステップS1503)、個体検査値用メモリ内の全ての個体検査値に対して半群演算(結合処理)をおこなう(ステップS1504)。個体検査値用メモリ内の検査値が1つの場合は、結合処理をおこなわずにそのままステップS1505に移行する。
そして、周辺部は、演算結果(結合結果)と保持している個体認証用期待値とを照合して、結合結果と個体認証用期待値とが一致するか否かを判断する(ステップS1505)。結合結果と個体認証用期待値とが一致する場合(ステップS1505:Yes)、周辺部は、主制御部201の個体に対する認証を成立させる(ステップS1506)。そして、個体検査値用メモリ内のデータを消去して(ステップS1507)、本フローチャートによる処理を終了する。
一方、ステップS1505において、結合結果と個体認証用期待値が一致しない場合(ステップS1505:No)、周辺部は、所定数以上の個体認証データを受信するまで(ステップS1508:No)、ステップS1501に戻り、個体認証データの受信および結合処理を繰り返す。所定数以上の個体認証データを受信すると(ステップS1508:Yes)、周辺部は、主制御部201に対する認証を不成立として(ステップS1509)、本フローチャートによる処理を終了する。所定数は任意の数であるが、たとえば、プログラムデータ格納部1100に格納可能なデータの数(最大分割数)とすることができる。
(コード選択処理の具体例)
つづいて、図13〜図15に示す処理のうち、動作認証データとして用いるコードの選択処理の具体例について説明する。図16は、制御部間のデータの流れの一例を示すシーケンス図である。図16においては、分割数に基づいたコードの選択例として、図12に示した選択例1(ここでは、X=3とする)によって利用するコードを選択するものとする。図16では、説明の便宜上、個体検査値の生成に用いるデータ量を一括して決定するように示しているが、図13のフローチャートのように、個体検査値を生成するごとにデータ量を決定してもよい。
まず、主制御部201は、任意の方法で個体検査値の生成に用いるデータ量を決定する。たとえば、全データ量が12バイトあり、個体検査値の生成に用いるデータ量を、それぞれ4バイト、3バイト、5バイトとすると、3つの個体検査値を生成することになり、分割数=3となる(ステップS1601)。主制御部201は、プログラムデータ格納部1100の先頭から順に4バイト、3バイト、5バイトのデータを読み出し、それぞれのデータを用いて3つの個体検査値を算出し、さらに所定の演算をおこなって個体認証データを生成する(ステップS1602)。
つぎに、主制御部201は、分割数に基づいて、動作認証データとして用いるコードを決定する(ステップS1603)。具体的には、分割数(この場合「3」)をXの値(この場合「3」)で割り、その余りの値によってコードを決定する。この場合、3を3で割った余りは0であるため、主制御部201は動作コードを動作認証データとして選択する。主制御部201は、動作コードを生成し、さらに動作認証データを生成する(ステップS1604)。そして、主制御部201は、個体認証データおよび動作認証データを含む認証データ付制御信号を周辺部に送信する(ステップS1605)。
つづいて、周辺部における処理について説明する。周辺部は、主制御部201から送信された認証データ付制御信号を受信する(ステップS1606)。そして、認証データ付制御信号から個体認証データを抽出し、復号化をおこなって個体検査値を取得し、取得した個体検査値に対して結合処理をおこない(ステップS1607)、結合結果を個体認証用期待値と照合する。結合結果が個体認証用期待値と一致すると、周辺部は主制御部201の個体に対する認証を成立させる(ステップS1608)。今回の場合は、3つの個体検査値を用いて結合処理をおこなった際に個体認証用期待値と一致するはずである(結合数=3)。
周辺部は、結合数に基づいて動作認証データとして利用されているコードの種類を判別する(ステップS1609)。今回の場合は結合数である3をXである3で割った余りは0であるため、動作認証データは動作コードであると判別し(図12参照)、動作コードに対応する認証方法で主制御部201の動作順序を認証する(ステップS1610)。そして、周辺部は、主制御部201の個体に対する認証および動作に対する認証が成立したので、制御信号内の制御コマンドに基づく処理をおこなう(ステップS1611)。ここまでが一連の切り替え処理の流れである。
2回目の処理の説明に移り、主制御部201は、再び任意の方法で個体検査値の生成に用いるデータ量を決定する。たとえば、個体検査値の生成に用いるデータ量を、それぞれ4バイト、3バイト、2バイト、3バイトとすると、4つの個体検査値を生成することになり、分割数=4となる(ステップS1612)。主制御部201は、プログラムデータ格納部1100の先頭から順に4バイト、3バイト、2バイト、3バイトのデータを読み出し、それぞれのデータを用いて4つの個体検査値を算出し、さらに演算をおこなって個体認証データを生成する(ステップS1613)。
また、主制御部201は、分割数に基づいて、動作認証データとして用いるコードを選択する(ステップS1614)。具体的には、分割数(この場合「4」)をXの値(この場合「3」)で割る。この余りの値は1であるため、主制御部201は相対時間コードを動作認証データとして選択する。主制御部201は、相対時間コードを取得し、動作認証データを生成する(ステップS1615)。そして、主制御部201は、個体認証データおよび動作認証データを含む認証データ付制御信号を周辺部に送信する(ステップS1616)。
つづいて、周辺部は、主制御部201から送信された認証データ付制御信号を受信し(ステップS1617)、個体認証データから個体検査値を取得して、取得した個体検査値に対して結合処理をおこなう(ステップS1618)。結合結果が個体認証用期待値と一致すると、周辺部は主制御部201の個体に対する認証を成立させる(ステップS1619)。今回の場合は、4つの個体検査値を用いて結合処理をおこなった際に期待値と一致するはずである(結合数=4)。
周辺部は、動作認証データとして利用されているコードを判別するため、結合数である4をXである3で割る。この余りは1であるため、周辺部は、動作認証データは相対時間コードであると判別し(ステップS1620)、相対時間コードに対応する認証方法で主制御部201の動作順序を認証する(ステップS1621)。周辺部は、主制御部201の個体に対する認証および動作に対する認証が成立したので、制御信号内の制御コマンドに基づく処理をおこなう(ステップS1622)。
なお、上述した実施の形態では、検査値の暗号化に際して単一の暗号化方法を用いたが、分割数に基づいて複数の暗号化方法を切り替えてもよい。これにより、不正解析者によって認証データが解析される可能性を低減することができる。
以上説明したように、本実施の形態にかかるぱちんこ遊技機は、主制御部201において、個体認証データ生成用のデータの分割数に基づいて、複数種類のコードの中から動作認証データとして利用するコードを選択する。分割数は主制御部201のみが知る値なので、不正解析者は、動作認証データとして利用するコードの種類を知ることができない。これにより、主制御部201と周辺部との間に不正な制御部が挿入された場合に、動作認証データの種類を照合することによって不正を検知することができる。
また、本実施の形態にかかるぱちんこ遊技機によれば、周辺部は、個体認証データおよび動作認証データの2種類の認証値による認証が成立しなければ、主制御部201から送信された制御コマンドを正しいものと判断しない。したがって、1種類の認証値による認証と比較して、認証の強度を向上させることができる。
また、本実施の形態にかかるぱちんこ遊技機によれば、分割数そのものを決定するのではなく、認証データの生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減させることができる。
なお、本実施の形態で説明した主制御部および周辺部の制御方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
以上のように、本発明は、制御部への不正が懸念される電子機器やその電子機器に搭載される制御基板に有用であり、特に、ぱちんこ遊技機、スロット遊技機、その他各種の遊技機に適している。
310 主制御基板
311 データ記憶部
312 決定部
313 個体認証値生成部
314 動作認証値生成部
315 選択部
316 暗号化部
317 送信部
320 周辺基板
321 受信部
322 復号化部
323 個体認証部
324 動作認証部
325 コマンド認証部

Claims (15)

  1. 主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器であって、
    前記主制御部は、
    所定のデータを記憶するデータ記憶手段と、
    前記主制御部の個体を認証するための個体認証値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定手段と、
    前記データ記憶手段内の前記データを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記個体認証値を生成する個体認証値生成手段と、
    前記主制御部の動作順序を認証するための動作認証値として、前記主制御部の動作順序を認証するための動作コードと、指定されたタイミングでフリーランに動く計時機器から取得した計時時間を含んだ相対時間コードと、前記制御コマンド送信時の前記主制御部の動作検査値として出力されたパケット情報を含んだ同期コードとを生成する動作認証値生成手段と、
    前記分割数に基づいて前記動作認証値生成手段によって生成された動作認証値のうちいずれか1つを選択する選択手段と、
    前記選択手段によって選択された動作認証値と前記個体認証値生成手段によって生成された前記分割数分の前記個体認証値とを前記周辺部に送信する送信手段と、を備え、
    前記周辺部は、
    前記分割数分の前記個体認証値および前記動作認証値を受信する受信手段と、
    前記分割数分の前記個体認証値に対して前記2項演算をおこなった演算結果と、前記データ記憶手段内の全ての前記データに対して前記2項演算をおこなった値とが一致するか否かに基づいて前記主制御部の個体を認証する個体認証手段と、
    前記個体認証手段による前記認証が成立した際に前記2項演算の対象となった前記個体認証値の数に基づいて前記動作認証値の種類を特定し、前記主制御部の動作順序を認証する動作認証手段と、
    前記個体認証手段による認証および前記動作認証手段による認証の双方が成立した場合に、前記主制御部が正しい制御コマンドを出力していると認証するコマンド認証手段と、を備えることを特徴とする電子機器。
  2. 前記決定手段は、それぞれの前記個体認証値ごとに前記データ量を決定し、
    前記個体認証値生成手段は、前記個体認証値ごとにそれぞれ決定された前記データ量分の前記データを用いて当該個体認証値を生成することを特徴とする請求項1に記載の電子機器。
  3. 前記送信手段は、前記制御コマンドに前記認証値を付加して前記周辺部に送信することを特徴とする請求項1または2に記載の電子機器。
  4. 前記個体認証値および前記動作認証値の少なくともいずれかは、前記制御コマンドの少なくとも一部を用いて生成されることを特徴とする請求項3に記載の電子機器。
  5. 前記主制御部は、前記個体認証値および前記動作認証値を所定の暗号化方法で暗号化する暗号化手段をさらに備え、前記送信手段は、前記暗号化手段によって暗号化された前記個体認証値および前記動作認証値を送信し、
    前記周辺部は、前記暗号化された前記個体認証値および前記動作認証値を前記暗号化方法に対応する復号化方法で復号化する復号化手段さらに備え、前記個体認証手段および前記動作認証手段は、前記復号化手段によって復号化された前記個体認証値および前記動作認証値を用いて認証をおこなうことを特徴とする請求項1〜4のいずれか一つに記載の電子機器。
  6. 前記暗号化手段は、前記分割数に基づいて前記暗号化方法を変更し、
    前記復号化手段は、前記主制御部の個体が認証された際に前記2項演算の対象となった前記個体認証値の数に基づいて前記復号化方法を変更することを特徴とする請求項5に記載の電子機器。
  7. 前記選択手段は、前記分割数を特定値で割った時の余りの数に基づいて前記動作認証値を特定し、
    前記動作認証手段は、前記個体認証値の数を特定値で割った時の余りの数に基づいて前記動作認証値を特定することを特徴とする請求項1〜6のいずれか一つに記載の電子機器。
  8. 前記選択手段は、前回の分割数と今回の分割数との差分に基づいて前記動作認証値を選択し、
    前記動作認証手段は、前回の認証時における前記個体認証値の数と今回の認証時における前記個体認証値の数との差分に基づいて、前記動作認証値を特定することを特徴とする請求項1〜6のいずれか一つに記載の電子機器。
  9. 前記データ記憶手段は、前記主制御部で用いられるプログラムデータを記憶することを特徴とする請求項1〜8のいずれか一つに記載の電子機器。
  10. 前記2項演算は、加算または排他的論理和演算であることを特徴とする請求項1〜9のいずれか一つに記載の電子機器。
  11. 請求項1〜10のいずれか一つに記載の電子機器を備え、前記主制御部は主制御基板であり、前記周辺部は周辺基板であることを特徴とする遊技機。
  12. 電子機器に搭載され、周辺基板に所定の処理をおこなわせる制御コマンドを送信する主制御基板であって、
    所定のデータを記憶するデータ記憶手段と、
    前記主制御部の個体を認証するための個体認証値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定手段と、
    前記データ記憶手段内の前記データを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記個体認証値を生成する個体認証値生成手段と、
    前記主制御部の動作順序を認証するための動作認証値として、前記主制御部の動作順序を認証するための動作コードと、指定されたタイミングでフリーランに動く計時機器から取得した計時時間を含んだ相対時間コードと、前記制御コマンド送信時の前記主制御部の動作検査値として出力されたパケット情報を含んだ同期コードとを生成する動作認証値生成手段と、
    前記分割数に基づいて前記動作認証値生成手段によって生成された動作認証値のうちいずれか1つを選択する選択手段と、
    前記選択手段によって選択された動作認証値と前記個体認証値生成手段によって生成された前記分割数分の前記個体認証値とを前記周辺部に送信する送信手段と、
    を備えることを特徴とする主制御基板。
  13. 電子機器に搭載され、主制御基板によって送信された制御コマンドに基づいて所定の処理をおこなう周辺基板であって、
    前記主制御基板によって送信された前記主制御基板の個体を認証するための複数の個体認証値と、前記主制御基板の動作順序を認証するための動作認証値を受信する受信手段と、
    前記複数の前記個体認証値に対して前記2項演算をおこなった演算結果と、前記2項演算の期待値とが一致するか否かに基づいて前記主制御部の個体を認証する個体認証手段と、
    前記個体認証値による前記認証が成立した際に前記2項演算の対象となった前記個体認証値の数に基づいて前記動作認証値の種類を特定し、前記主制御部の動作順序を認証する動作認証手段と、
    前記個体認証手段による認証および前記動作認証手段による認証の双方が成立した場合に、前記主制御部が正しい制御コマンドを出力していると認証するコマンド認証手段と、
    を備えることを特徴とする周辺基板。
  14. 主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器における認証方法であって、
    前記主制御部において、
    前記主制御部の個体を認証するための個体認証値の生成に用いるデータの量(以下、「データ量」という)を決定する決定工程と、
    前記主制御部に記憶されている所定のデータを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記個体認証値を生成する個体認証値生成工程と、
    前記主制御部の動作順序を認証するための動作認証値として、前記主制御部の動作順序を認証するための動作コードと、指定されたタイミングでフリーランに動く計時機器から取得した計時時間を含んだ相対時間コードと、前記制御コマンド送信時の前記主制御部の動作検査値として出力されたパケット情報を含んだ同期コードとを生成する動作認証値生成工程と、
    前記分割数に基づいて前記動作認証値生成工程で生成された動作認証値のうちいずれか1つを選択する選択工程と、
    前記選択工程で選択された動作認証値と前記個体認証値生成工程で生成された前記分割数分の前記個体認証値とを前記周辺部に送信する送信工程と、を含み、
    前記周辺部において、
    前記分割数分の前記個体認証値および前記動作認証値を受信する受信工程と、
    前記分割数分の前記個体認証値に対して前記2項演算をおこなった演算結果と、前記データ記憶手段内の全ての前記データに対して前記2項演算をおこなった値とが一致するか否かに基づいて前記主制御部の個体を認証する個体認証工程と、
    前記個体認証工程での前記認証が成立した際に前記2項演算の対象となった前記個体認証値の数に基づいて前記動作認証値の種類を特定し、前記主制御部の動作順序を認証する動作認証工程と、
    前記個体認証工程での認証および前記動作認証工程での認証の双方が成立した場合に、前記主制御部が正しい制御コマンドを出力していると認証するコマンド認証工程と、
    を含んだことを特徴とする認証方法。
  15. 請求項14に記載の認証方法をコンピュータに実行させることを特徴とする認証プログラム。
JP2009177082A 2009-07-29 2009-07-29 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム Expired - Fee Related JP4995241B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009177082A JP4995241B2 (ja) 2009-07-29 2009-07-29 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009177082A JP4995241B2 (ja) 2009-07-29 2009-07-29 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム

Publications (2)

Publication Number Publication Date
JP2011030608A JP2011030608A (ja) 2011-02-17
JP4995241B2 true JP4995241B2 (ja) 2012-08-08

Family

ID=43760296

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009177082A Expired - Fee Related JP4995241B2 (ja) 2009-07-29 2009-07-29 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム

Country Status (1)

Country Link
JP (1) JP4995241B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5236028B2 (ja) * 2011-02-25 2013-07-17 京楽産業.株式会社 遊技機及び遊技機の認証方法
JP5236030B2 (ja) * 2011-02-25 2013-07-17 京楽産業.株式会社 遊技機及び遊技機の認証方法
JP5236029B2 (ja) * 2011-02-25 2013-07-17 京楽産業.株式会社 遊技機及び遊技機の認証方法
JP5186024B2 (ja) * 2011-05-30 2013-04-17 京楽産業.株式会社 遊技機及び遊技機の認証方法
JP5186023B2 (ja) * 2011-05-30 2013-04-17 京楽産業.株式会社 遊技機及び遊技機の認証方法
JP5186022B2 (ja) * 2011-05-30 2013-04-17 京楽産業.株式会社 遊技機及び遊技機の認証方法
JP5990433B2 (ja) 2012-08-31 2016-09-14 株式会社富士通エフサス ネットワーク接続方法および電子機器
JP5946374B2 (ja) 2012-08-31 2016-07-06 株式会社富士通エフサス ネットワーク接続方法および電子機器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2821306B2 (ja) * 1992-03-06 1998-11-05 三菱電機株式会社 Icカードと端末機との間の認証方法およびそのシステム
JP4170466B2 (ja) * 1998-09-18 2008-10-22 富士通株式会社 コマンド認証方法
JP2002095843A (ja) * 2000-09-26 2002-04-02 Heiwa Corp 遊技制御装置
JP2002306786A (ja) * 2001-04-10 2002-10-22 Maruhon Ind Co Ltd パチンコ遊技機の制御回路
US8219813B2 (en) * 2001-10-29 2012-07-10 Seagate Technology Llc System and method for protecting a peripheral device against hot plug attacks
JP5067966B2 (ja) * 2007-07-20 2012-11-07 株式会社ピーエーネット技術研究所 遊技機用ワンチップ・マイクロコンピュータおよび遊技機
JP2009093436A (ja) * 2007-10-09 2009-04-30 Kyoraku Sangyo Kk 電子機器、主制御基板、周辺基板、認証方法および認証プログラム

Also Published As

Publication number Publication date
JP2011030608A (ja) 2011-02-17

Similar Documents

Publication Publication Date Title
JP5017308B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP4995241B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP4995240B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP4876155B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP4995225B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP5228095B2 (ja) 遊技機及び遊技機の認証方法
JP5149365B2 (ja) 遊技機及び遊技機の認証方法
JP5100707B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP5228085B2 (ja) 遊技機及び遊技機の認証方法
JP5228090B2 (ja) 遊技機及び遊技機の認証方法
JP4876156B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP5149867B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP4995224B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP5149866B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP4876154B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP5228086B2 (ja) 遊技機及び遊技機の認証方法
JP4955035B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP4955034B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP4995233B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP5149865B2 (ja) 電子機器、遊技機、周辺基板、認証方法および認証プログラム
JP4955033B2 (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP5226139B1 (ja) 電子機器、遊技機及び電子機器の認証方法
JP5250675B2 (ja) 遊技機及び遊技機の認証方法
JP2010273728A (ja) 電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラム
JP2012093957A (ja) 遊技機及び遊技機の認証方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111101

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: 20120410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120509

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150518

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees