(57)【要約】【課題】電力解析のようなサイドチャネル攻撃によるプログラム解析を困難にする必要性が存在している。【解決手段】遊技機用プロセッサ装置において、第１のメモリが第１のデータを所定のアドレスに記憶し、第２のメモリが前記第１のデータを反転させた第２のデータを前記所定のアドレスに記憶し、プロセッサコアの命令に基づいて、前記第１のメモリが前記第１のデータを第１のデータバスに送信し、前記第２のメモリが前記第２のデータを第２のデータバスに送信する。【選択図】図２
2017209432.tif 000002
【特許請求の範囲】
【請求項１】
遊技機用プロセッサ装置であって、
プロセッサコアと、
第１のデータバスに接続され、第１のデータを所定のアドレスに記憶した第１のメモリと、
第２のデータバスに接続され、前記第１のデータを反転させた第２のデータを前記所定のアドレスに記憶した第２のメモリと、
を備え、
前記プロセッサコアの命令に基づいて、前記第１のメモリが前記第１のデータを前記第１のデータバスに送信し、前記第２のメモリが前記第２のデータを前記第２のデータバスに送信する、遊技機用プロセッサ装置。
【請求項２】
前記第１のデータバスは、前記第１のメモリ及び前記プロセッサコアに接続され、前記第２のデータバスは、前記第２のメモリ及びダミー回路に接続され、前記プロセッサコア及び前記ダミー回路の電力及び／又は電流の消費量が同程度である、請求項１に記載の遊技機用プロセッサ装置。
【請求項３】
前記第１のメモリ及び前記第２のメモリは、一つのメモリである、請求項１又は２に記載の遊技機用プロセッサ装置。
【請求項４】
請求項１ないし３にいずれか一つに記載の遊技機用プロセッサ装置がチップである。
【請求項５】
請求項４に記載のチップがワンチップである。
【請求項６】
請求項４又は５に記載のチップを有する基板。
【請求項７】
請求項６に記載の基板を有する遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技機用プロセッサ装置に関する。
【背景技術】
【０００２】
従来、パチンコ機や、回胴式遊技機とも称されるパチスロ機などの遊技機に用いられるプロセッサ装置において、外部バスへのデータの出力が制御されてきた。具体的には、外部メモリや外部Ｉ／Ｏが外部バスにアクセスを行ったときのみ、外部バスへのデータの出力が行われる。
【０００３】
したがって、外部メモリや外部Ｉ／Ｏへのアクセスではない内部メモリや内部レジスタへのアクセスの場合、データは、外部バスへ出力されない。これにより、第三者は、外部バスを介したアドレス、データ、プロセッサ、制御信号などの情報を取得することができない。第三者が外部バスを介した情報を取得できないことから、外部バスを介した情報に基づいて遊技機のコンピュータプログラムを解析する第三者による行為を行えないようにしてきた。
【０００４】
一方で、プロセッサ装置内のバスを流れるデータに対して行われる電力解析のようなサイドチャネル攻撃には、従来の技術は対応できていなかった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電力解析のようなサイドチャネル攻撃によるプログラム解析を困難にする必要性が存在している。
【課題を解決するための手段】
【０００６】
本発明の実施例において、遊技機用プロセッサ装置は、プロセッサコアと、第１のデータバスに接続され、第１のデータを所定のアドレスに記憶した第１のメモリと、第２のデータバスに接続され、第１のデータを反転させた第２のデータを所定のアドレスに記憶した第２のメモリと、を備え、プロセッサコアの命令に基づいて、第１のメモリが第１のデータを第１のデータバスに送信し、第２のメモリが第２のデータを第２のデータバスに送信することができる。
【０００７】
遊技機用プロセッサ装置において、第１のメモリが第１のデータを所定のアドレスに記憶し、第２のメモリが前記第１のデータを反転させた第２のデータを前記所定のアドレスに記憶し、プロセッサコアの命令に基づいて、前記第１のメモリが前記第１のデータを第１のデータバスに送信し、前記第２のメモリが前記第２のデータを第２のデータバスに送信する。
【図面の簡単な説明】
【０００８】
【図１】従来のプロセッサ装置を示す。
【図２】本発明の実施例によるプロセッサ装置を示す。
【図３】メモリがRAMであるプロセッサ装置の例を示す。
【発明を実施するための形態】
【０００９】
従来技術
図１は、従来のプロセッサ装置を示す。プロセッサ装置１００は、少なくともプロセッサコア１０５及びメモリ１１０を有する。プロセッサコア１１０とメモリ１１０とは、バスを介して接続されており、バスの一例としては、アドレスバス１１５、制御信号バス１２０、及び、メモリデータバス１２５を有する。
【００１０】
このような構成において、メモリデータバス１２５を流れるデータ信号の電力や、その電力による磁場などの値を解析することによって、第三者がデータ信号やその動作パターンを解析できる可能性が存在している。そして、第三者がデータ信号を解析することによって、メモリ１１０に記憶されているプログラムデータが取得される可能性があった。
【００１１】
本発明の実施例
図２は、本発明の実施例によるプロセッサ装置を示す。プロセッサ装置２００は、少なくともプロセッサコア２０５、並びに、ROMである第１のメモリ２１０及び第２のメモリ２１５を有する。プロセッサコア２０５と第１のメモリ２１０及び第２のメモリ２１５とは、バスを介して接続されており、バスの一例として、装置２００は、アドレスバス２２０、制御信号バス２３０、第１のメモリデータバス２４０、及び第２のメモリデータバス２４５を有する。
【００１２】
プロセッサコア２０５は、アドレスバス２２０、制御信号バス２３０、第１のメモリデータバス２４０を介して第１のメモリ２１０に接続されている。また、プロセッサコア２０５は、アドレスバス２２０、制御信号バス２３０、第２のメモリデータバス２４５を介して第２のメモリ２１５に接続されている。第１のメモリ２１０及び第２のメモリ２１５は、アドレスバス２２０及び制御信号バス２３０を共有する。この時、アドレスバスにはアドレスデコード回路も含む。これにより、第１のメモリ２１０及び第２のメモリ２１５は、アドレス及び制御信号に関する同じ情報を取得することができる。
【００１３】
他の実施例において、第１のメモリ２１０及び第２のメモリ２１５は、それぞれ、個別のアドレスバス及び制御信号バスを有していてもよい。この場合、プロセッサコア２０５は、アドレス及び制御信号に関する同じ情報を、第１のメモリ２１０及び第２のメモリ２１５に、それぞれの個別のアドレスバス及び制御信号バスを介して送信する。
【００１４】
本実施例において、第２のメモリデータバス２４５における第２のメモリ２１５の反対側の終端は、他の回路や装置に接続されていなくてもよい。一実施例において、第２のメモリデータバス２４５における第２のメモリ２１５の反対側の終端は、例えば、ダミー回路などの他の回路や装置などに接続されていてもよい。
【００１５】
本実施例において、第１のメモリ２１０及び第２のメモリ２１５は、同じアドレスバスが接続されている。また、両メモリは、メモリマップ上でも同じアドレス領域に配置される。また、第２のメモリ２１５は、第１のメモリ２１０が記憶する情報の内容を反転させて情報を記憶する。例えば、第１のメモリ２１０が記憶する情報の内容が、ビット表現で「０１０１」である場合、第２のメモリ２１５が記憶する情報の内容は、「１０１０」となる。すなわち、第２のメモリ２１５は、第１のメモリ２１０が記憶するデータの反転データを記憶している。
【００１６】
プロセッサコア２０５は、メモリから情報を取得するとき、アドレスの情報をアドレスバス２２０を介して第１のメモリ２１０及び第２のメモリ２１５に送信し、制御信号の情報（本実施例では、メモリへのリード命令）を制御信号バス２３０を介して第１のメモリ２１０及び第２のメモリ２１５に送信する。
【００１７】
第１のメモリ２１０及び第２のメモリ２１５は、それぞれが受信した同じアドレスの情報及び制御信号の情報に基づいて、当該アドレスの情報に該当するメモリに記憶されたデータを第１のメモリデータバス２４０及び第２のメモリデータバス２４５に送出する。プロセッサコア２０５は、第１のメモリ２１０から情報を取得する。
【００１８】
同じアドレスの情報及び制御信号の情報に基づいて、第１のメモリの情報が第１のメモリデータバス２４０を介して第１のメモリからプロセッサコア２０５に送信され、第２のメモリの情報が第２のメモリデータバス２４５を介して第２のメモリからプロセッサコア２０５に送信されることから、第１のメモリデータバス２４０に第１のメモリの情報が送信されるタイミングで、第２のメモリデータバス２４５に第２のメモリの情報が送信される。第２のメモリ２１５の情報の内容は、第１のメモリ２１０の情報の内容を反転させたものであるから、バスに流れている情報に関し、第１のメモリデータバス２４０と第２のメモリデータバス２４５とでそれぞれのデータバスの同じビット位置には必ず“0”又は“1”が存在する（すなわち、第１のメモリデータバス２４０に流れている情報が“0”である場合、第２のメモリデータバス２４５に流れている情報は“1”であり、第１のメモリデータバス２４０に流れている情報が“1”である場合、第２のメモリデータバス２４５に流れている情報は“0”である）ため、第１のメモリデータバス２４０と第２のメモリデータバス２４５の電力量を足すと各ビットにおける電力量の差異はなくなる。したがって、電力解析を行えないようにすることができる。
【００１９】
本実施例において、例えば、第１のメモリデータバス２４０に流れている情報（データ）が”１”、”０”、”１”、”０”、”０”、”０”、”０”、”１”である場合、第２のメモリデータバス２４０に流れている情報（データ）は”０”、”１”、”０”、”１”、”１”、”１”、”１”、”０”である。
【００２０】
本実施例において、第２のメモリデータバス２４５における第２のメモリ２１５の反対側の終端が、例えば、ダミー回路などの他の回路や装置などに接続されていてもよい。この場合、ダミー回路を、プロセッサコア２０５と同程度の電力量及び／又は電流量を消費する回路とする、すなわち、ダミー回路及びプロセッサコア２０５の電気的負荷を同程度にすることによって、第１のメモリデータバス２４０及び第２のメモリデータバス２４５における信号の電流量や電力量がより正確に同じ量となることから、より電力解析などを困難にすることができる。
【００２１】
他の実施例において、プロセッサ装置２００は、論理回路的には第２のメモリ２１５を持たず、メモリバス２４５にメモリバス２４０の反転データを出力する回路を実装すれば実現できる。この場合、反転データを出力する回路は、第一のメモリ２１０の出力データを反転して出力し、メモリバス２４０の各ビットの反転データを各ビットごとに同じタイミングでメモリバス２４５に出力しなければならない。また、消費電力においても各ビットの“１”と“０”を足した消費電力がそれぞれのビットで一致させなければならないので実現は非常に難しい。しかしながら、第一のメモリ２１０と同一電気特性を持った第２のメモリ２１５を実装することによって、プロセッサ装置２００は、第２のメモリ２１５を持たない構成と比べて、より簡単に実現できる。
【００２２】
メモリがRAMである場合の実施例
上記の実施例において、第１のメモリ２１０及び第２のメモリ２１５は、ROMとして説明したが、RAMでもよい。図３は、メモリがRAMであるプロセッサ装置の例を示す。装置３００は、少なくともプロセッサコア３０５、並びに、RAMである第１のRAM３１０、第２のRAM３１５及びデータ反転回路３５０を有する。データ反転回路３５０は、入力で受けたデータを反転して出力する。プロセッサコア３０５と第１のRAM３１０及び第２のRAM３１５とは、バスを介して接続されており、バスの一例として、装置３００は、アドレスバス３２０、制御信号バス３３０、第１のRAMリードデータバス３４０、第２のRAMリードデータバス３４５、第１のRAMライトデータバス３６０及び第２のRAMライトデータバス３６５を有する。
【００２３】
本実施例において、プロセッサコア３０５は、第２のRAMリードデータバス３４５を介して第２のRAM３１５に接続されており、第２のRAMリードデータバス３４５の途中にデータ反転回路３５０が設けられている。プロセッサコア３０５は、アドレスの情報及び制御信号を、それぞれ、アドレスバス３２０及び制御信号バス３３０を介して第１のRAM３１０及び第２のRAM３１５に送信するとともに、RAMへの書込みデータを第１のRAMライトデータバス３６０を介して送信する。
【００２４】
プロセッサコア３０５は、第１のRAMライトデータバス３６０を介して第１のRAM３１０に接続されていることから、RAMへの書込みデータは、プロセッサコア３０５から第１のRAM３１０に送信され記憶される。プロセッサコア３０５は、第１のRAMライトデータバス３６０、データ反転回路３５０及び第２のRAMライトデータバス３６５を介して第２のRAM３１５に接続されていることから、プロセッサコア３０５からのRAMへの書込みデータは、反転され、反転されたデータが第２のRAM３１５に送信され記憶される。したがって、第２のRAM３１５に記憶されているデータは、第１のRAM３１０に記憶されているデータを反転させたものである。
【００２５】
プロセッサコア３０５は、第１のRAM３１０及び第２のRAM３１５から情報を取得するとき、アドレスの情報をアドレスバス３２０を介して第１のRAM３１０及び第２のRAM３１５に送信し、制御信号の情報（本実施例では、RAMへのリード命令）を制御信号バス３３０を介して第３のRAM３１０及び第２のRAM３１５に送信する。これにより、プロセッサコア２０５がRAMのデータを取得する際に、第１のRAMリードデータバス３４０及び第２のRAMリードデータバス３４５それぞれのデータバスの同じビット位置には必ず“0”又は“1”が存在することから、電力解析をより困難にすることができる。
【００２６】
本発明の実施例において、第１のメモリ２１０及び第２のメモリ２１５は、それぞれ、一つのハードウエアとして記載されているが、２以上のメモリで実現されていてもよい。プロセッサコア２０５は、複数のプロセッサコアの内の一つであってもよい。
【００２７】
一実施例において、プロセッサ装置２００は遊技機用とすることができる。一実施例において、プロセッサ装置２００は、一つのチップ上で実装されていてもよい。そのような一つのチップは、マイクロコンピュータ、マイコン、ワンチップマイコン、プロセッサチップなどと称される。他の実施例において、プロセッサ装置２００は、それ自体でプロセッサとして提供されてもよい。遊技機において、プロセッサ装置２００を有する基板を主基板及び／又はサブ基板として用いた遊技機が構成されていてもよい。遊技機において、主基板は、主に遊技機の抽選を制御し、サブ基板は、遊技機の払出し及び／又は演出を制御する。
【００２８】
一実施例において、第１のメモリ２１０と第２のメモリ２１５は、それぞれ別のメモリとして記載されているが、一つのメモリで実現されてもよい。例えば第１、第２のメモリのデータビット幅が８ビットであった場合、１６ビットのデータビット幅のメモリであれば、８ビットずつに分けて、下位８ビットを第１のメモリのデータとして、上位８ビットを第２のメモリのデータとして使用することができる。
【００２９】
以上に説明してきた各実施例に関し、各実施例の一部又は全部を組み合わせて一つの実施例として実現されてもよい。
【００３０】
以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【符号の説明】
【００３１】
２００  プロセッサ装置
２０５  プロセッサコア
２１０  第１のメモリ
２１５  第２のメモリ
２２０  アドレスバス
２３０  制御信号バス
２４０  第１のメモリデータバス
２４５  第２のメモリデータバス
【図１】
2017209432.tif 000003
【図２】
2017209432.tif 000004
【図３】
2017209432.tif 000005