JP5164372B2 - 遊技機制御用チップ及びそのromライタ - Google Patents

遊技機制御用チップ及びそのromライタ Download PDF

Info

Publication number
JP5164372B2
JP5164372B2 JP2006338623A JP2006338623A JP5164372B2 JP 5164372 B2 JP5164372 B2 JP 5164372B2 JP 2006338623 A JP2006338623 A JP 2006338623A JP 2006338623 A JP2006338623 A JP 2006338623A JP 5164372 B2 JP5164372 B2 JP 5164372B2
Authority
JP
Japan
Prior art keywords
encryption
chip
code
rom
circuit
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
JP2006338623A
Other languages
English (en)
Other versions
JP2008148851A (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.)
L E Tech CO Ltd
Original Assignee
L E Tech 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 L E Tech CO Ltd filed Critical L E Tech CO Ltd
Priority to JP2006338623A priority Critical patent/JP5164372B2/ja
Publication of JP2008148851A publication Critical patent/JP2008148851A/ja
Application granted granted Critical
Publication of JP5164372B2 publication Critical patent/JP5164372B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Pinball Game Machines (AREA)

Description

本発明は、パチンコ、パチスロ等の遊技機制御基板に組み込まれる各開発メーカーが開発し、検査機関で認証されたプログラムが書き込まれた遊技機制御用のチップ及び当該認証ROMの書き込み装置(ROMライタ)に関するものである。
書き換え可能なROMを内蔵しており、前記ROMに記憶されたプログラムデータに基づいて遊技機を制御する遊技機用チップにおいて、前記ROMのについてプログラムデータの書き換えの要求があった場合に当該書き換えを許可するか否かを判断し、当該書き換えを許可するときに前記ROMの状態を書き換え可能な状態に遷移させる書換認証手段を内部に設けた遊技機制御用チップと、遊技機用CPUに対してプログラムデータの書き換えの要求を送ると共に、前記書換認証手段から書き換えを許可する旨の認証を受けたときにプログラムデータの書き換えを行うROMライターが発明されている。
この先行発明の目的とするところは、遊技機用CPUは高価であるので、廃棄された遊技機から遊技機制御用チップを回収し、それを再利用(リサイクル)することが望まれる。かかるリサイクルを行うときには、ROMに記憶された遊技プログラムを新しい遊技機向けのプログラムに書き換える必要がある。このため、リサイクルの対象となるのは、書き換え可能なROMが内蔵された遊技機制御用チップとなっている。
しかし、かかる発明では遊技機制御用チップに組み込まれているROMが書換可能なもので構成されていることが条件となること、また正規のROMライタを用いればいかなる制御用チップのROMでも書き換えを行うことが可能となると共に第三者であっても正規のROMライタを所有しているものは既に書き込まれた遊技機制御用チップの制御用プログラムの内容を読み込みこれを解析されてしまうおそれがある。
遊技機の偽造を行う者は、本物と機能が同じでセキュリティチェック機能を持たない偽造チップを作成し、その中へ正規プログラムを一部改造した偽造プログラムとして入れ込み偽造チップを作成している。遊技プログラムを本物そっくりに作るためには時間と労力が必要で、しかもノウハウ等が判らないと作成できない。偽造者は大当たりを決定するプログラムの改変することを目的としていることからその他の部分は元のプログラムのままで良い。従って遊技プログラムが読めないと偽造チップの製作が困難となる。
開発メーカーが制御用プログラムの作成に多数の時間及び費用を要していることから、安易に第三者が制御用プログラムの作成をすることが容易になる等ノウハウの流出のおそれがある。
特開2003−186560号
これまでの正規のROMライタは各開発メーカに対して同一のものが提供されていたが、正規のROMライタは開発メーカにより管理保管されるマスターチップから入手するメーカコード、通信暗号鍵番号を入手し格納することにより開発メーカ専用のROMライタとすることが可能にすると共にプログラムを書き込んだセキュリティチップの読み込みに際して開発メーカコードを認証した後でなければ読み込みができないものを提供することにより遊技機に組み込まれ市販されたもののセキュリティチップにアクセスしてもプログラムの読み込み及び解析されにくいシステムを提供することを目的とする。
尚、第三者検査機関で認証付与される遊技機制御用のマスターチップは唯一一つであるために開発メーカーは、第三者に盗まれないように安全に保管される。他方でマスターチップに基づき複写される量産用のチップ(セキュリティチップ)は、遊技機に組み込まれて市場に出されるために開発メーカーは機密性を保持する必要性があった。
すなわち請求項1の本発明は、検査機関にて認証を受けたユーザプログラム並びにメーカ名コード、ユーザプログラムのセキュリティコード、パスワード、拡散値及びチェックコードが公開鍵暗号化アルゴリズムに基づき個人鍵で暗号化された暗号化情報が格納されたユーザROMと、通信暗号鍵が格納された通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路、及びチップコードが格納されたチップコード等格納回路を有するチップにおいて、ROMライタとのマスター認証プロトコルにおいて、前記通信暗号格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路で暗号化した後に双方向暗号化通信を行いマスターチップと同様の通信暗号鍵が格納された通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路を有するROMライターから送信されたチップコードの暗号化通信において双方で認証できない場合にはユーザROMの暗号化情報の読み込みステップに移行することができず、読み込みステップでユーザROMの前記暗号化情報が公開鍵に基づき復号化され、かつ復号化されたパスワードとROMライタに手入力されたパスワードとが一致しない場合には、マスターチップの読み込みステップに移行しないように設定されていることを特徴とする遊技機制御用のマスターチップである。
ROMライタに関する本発明は、正本の遊技機制御用マスターチップのユーザーROMに書き込まれたユーザープログラム及び暗号情報を読み込んでこれを量産タイプのセキュリティチップの遊技機制御用のワンタイムユーザROMに書き込むROMライタにおいて、
マスターチップが通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路、チップコード等格納回路及びユーザーROMとを有し、前記ユーザーROMには認証されたユーザープログラム及びユーザープログラム領域外の所定のアドレスに少なくともメーカ名コード、セキュリティコード、パスワード、拡散値及びチェックコードが公開鍵暗号化アルゴリズムに基づき個人鍵で暗号化された状態で格納されているもので構成され、
セキュリティチップが、通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路、チップコード等格納回路及びユーザーROMとを有し、前記ユーザーROMには認証されたユーザープログラム及びユーザープログラム領域外の所定のアドレスに少なくともメーカ名コード、セキュリティコードが書き込み可能に構成され、
前記ROMライタが通信暗号鍵が格納された通信用共通暗号鍵格納回路と、マスターチップの暗号情報の暗号化に使用された個人鍵に対応する公開鍵が格納された公開鍵格納回路と、乱数発生回路から取り出した乱数値が格納される乱数格納回路と、チップコード等格納回路と、共通通信鍵に基づきデータの暗号化・復号化を行う共通鍵暗号/復号回路と、マスターチップから送信された個人鍵に基づき暗号化された暗号情報を前記公開鍵格納回路の公開鍵を用いて復号化する公開鍵復号回路と、マスターチップとの送受信を行うマスターチップ送受信回路と、前記セキュリティチップとの送受信を行うセキュリティチップ送受信回路と、前記格納された公開鍵、通信鍵又は共通通信鍵に基づき共通鍵暗号/復号回路又は公開鍵復号回路を介してマスターチップ送受信回路及びセキュリティチップ送受信回路との送受信を制御する制御用CPUとで構成され、
前記マスターチップに格納されたユーザープログラムの読み込みに際してROMライタとマスターチップとはマスターチップのチップコード等格納回路に格納されたチップコードの暗号鍵に基づくROMライタへの暗号化通信及びROMライタで復号化されたチップコードをマスターチップへの暗号鍵に基づく暗号化通信により相互認証を行い、さらにマスターチップのユーザROMに格納された個人鍵に基づき暗号化されたメーカ名コード、セキュリティコード、パスワード、拡散値及びチェックコードをマスターチップからROMライタに対して暗号鍵及び暗号/復号回路で暗号化通信を行い、ROMライタは暗号鍵及び共通鍵暗号/復号回路で復号化した後、公開鍵及び公開鍵復号回路で復号化することによりメーカ名コード、セキュリティコード、拡散値及びチェックコードを得た後に、ユーザーROMに格納された認証されたユーザープログラムを読み込むように構成されていることを特徴とする遊技機制御用チップのROMライタにより本目的を達成する。
本発明にかかるROMライタの場合は、マスターチップから共通暗号鍵で送信されたチップコードの相互認証の後に、乱数値1及び乱数値2で作成された通信鍵に基づき暗号化された暗号情報を公開鍵と公開鍵復号化回路で復号化された暗号情報中のチェックコードにて検査を行い、検査結果が一致した時にマスターチップの暗号情報中の復号化されたパスワードとROMライタからキー入力されたパスワードとが一致した場合にのみマスターチップに書き込まれたユーザROMデータの読み込みを行い、また前述同様にROMライタとセキュリティチップとの認証確認(書き込み)でチップコードが同一のものか否を確認した後にセキュリティチップのユーザROMへのROMデータの書き込みを行うように構成し、ROMライタとセキュリティチップとの読込認証においては、チップコードの確認認証及びメーカ名コードの確認認証終了した後でなければユーザROMの内容を読み込むことができない構成となっているので、誤って異なる開発メーカ同士のROMライタとマスターチップ・セキュリティチップ相互間のROMデータの読み込みが行われるのを防ぐと共にROM内に書き込まれたデータの送受信が事前に防げるのでプログラムの解析されるのを防ぐこともできる。
以下に本発明の実施形態について図面を参照して説明する。
図1は、本発明の第1実施例にかかるROMライタ3の斜視図であり、当該ROMライタ3のソケットには認証済みのマスターチップ1a及び遊技機に組み込まれる書き込み対象のセキュリティチップ1bが、差し込まれている。図中3aは、パスワード等の数値を入力するためのキーであり、3bはROMライタ3による認証結果を表示するディスプレイである。
図2は本発明の第2実施例にかかるメモリーカード方式のROMライタ3の斜視図であり、前記第1実施例の装置において、メモリーカードMの挿入部を有する。
図3に示すものはユーザー用の通信暗号鍵を一個持つ場合の本発明に使用する遊技機制御用マスターチップの概略を示すメモリー構成図及び図4は量産用のセキュリティチップの概略を示すメモリー構成図である。
図3のマスターチップ1aのROMには遊技機制御用のユーザープログラムと、開発メーカ名のコード、ユーザープログラムをセキュリティチェックした結果のセキュリティコード、パスワードPM、拡散値R及びチェックコードが第三者管理機関の個人鍵Kpsで公開鍵暗号化アルゴリズムに基づき事前に暗号化された状態でユーザROM36の情報格納領域に格納されている。またマスターチップ1aにはユーザー用の共通通信暗号鍵K0及び検査機関用通信暗号鍵Ksを格納した通信暗号鍵格納回路60と、図5に示すようにチップの種別コードと量産用か開発用かを識別するためのチップ区分を示すコードが記載されたチップコード等格納回路とを有する。尚、メーカ名コードの読み出し等は共通暗号鍵に基づく暗号通信で行うよう設定されている。
拡散値Rとは、暗号化通信においてデータのかく乱を目的としてデータ中に挿入される乱数値等の任意のデータをいう。
図4のセキュリティチップ1bには、未記録のユーザープログラム書き込み領域と、メーカ名のコード及びセキュリティコードが格納される領域とからなるユーザROMと、ユーザー用の共通通信暗号鍵K0及び検査機関用通信暗号鍵Ksを格納した通信暗号鍵格納回路と、図5に示すようにチップの種別コードと量産用か開発用かを識別するためのチップ区分を示すコードが記載されたチップコード等格納回路とを有する。尚、確認コードは、チップコードを設定しない場合の照合用のコードであり、チップコード等格納回路56に格納される。
図6に示すものはユーザー用の共通通信暗号鍵を複数持つ場合(第2実施例)の本発明に使用する遊技機制御用マスターチップ1a’の第2実施例の概略を示すメモリー構成図及び図7は同じく共通通信暗号鍵を複数持つ場合の量産用のセキュリティチップ1b’の概略を示すメモリー構成図である。
マスターチップ1a’のユーザROMには遊技機制御用のユーザープログラムと、開発メーカ名コード、ROMライタとの通信において使用する通信暗号鍵の番号Knx、ユーザープログラムをセキュリティチェックした結果のセキュリティコード、パスワードPM、拡散値R及びチェックコードが第三者管理機関の個人鍵Kpsに基づき事前に所定の公開鍵暗号化アルゴリズムで暗号化された暗号情報が情報格納領域に格納されている。またマスターチップ1a’では複数のユーザー用の共通通信暗号鍵K0〜nと検査機関用暗号鍵Ksを格納した通信暗号鍵格納回路60と、図5に示すようなチップの種別コードと量産用か開発用かを識別するためのチップ区分を示すチップコードが記載されたチップコード等格納回路56とを有する。尚、暗号鍵K0乃至Knと検査機関が使用する暗号鍵Ksは、外部からは読み込めない構造としており、メーカ名コードの読み出し等は共通暗号鍵に基づく暗号通信で行うよう設定されている。
セキュリティチップ1b’には、未記録のユーザープログラム書き込み領域と、メーカ名のコード、ROMライタから送信されて書き込まれる復号化されたメーカ名コード、通信暗号鍵番号Knx及びセキュリティコードが格納される情報格納領域とからなるユーザROM36と、複数のユーザー用の共通通信暗号鍵K0〜nと検査機関用暗号鍵Ksを格納した通信暗号鍵格納回路60と、図5に示すチップの種別コードと量産用か開発用かを識別するためのチップ区分を示すコードが格納されたチップコード等格納回路56とを有する。
図8に示すものは本発明の実施例に使用するROMライタ3の回路図であり、ROMライタ3はクロック回路4からのクロック信号に基づき作動する制御用CPU5、該CPU5が行う認証・制御用プログラムが書き込まれた制御ROM6、各種計算処理を行う作業用RAM7、乱数値を発生させる乱数発生回路8,通信監視タイマー9、図5のチップの種別コードと量産用か開発用かを識別するためのチップ区分を示すコードが記載されたチップコード等格納回路10、キー入力装置11の入力に基づきCPU5に指令を出すキー入力回路12、CPU5の指示に基づき表示装置14に表示するための表示回路13及び通信ドライバ15に基づき外部通信を行う外部通信回路16とが並列接続されている。17はソケットに挿入されたセキュリティチップ1b、1b’とのデータのやり取りを行うためのセキュリティチップ送受信回路であり、18はその制御を行うセキュリティチップアクセス制御回路18である。19は、マスターチップ1a、1a’とのデータやり取りを行うマスターチップ送受信回路、20はその制御を行うマスターチップアクセス制御回路20である。21は、通信鍵が1個の場合はK0、通信鍵が複数の場合はK0乃至Kn及びKsの共通通信暗号鍵に基づきデータの暗号化又は復号化を行う共通鍵暗号/復号回路、22は公開鍵Kosに基づきデータの復号化を行う公開鍵復号回路、23は前記通信用の共通暗号鍵(K0乃至Kn)が格納された通信用共通暗号鍵格納回路、24はマスターチップ1a,1a’の暗号情報の暗号化に用いた個人鍵Kpsに対応する公開鍵Kosが格納された公開鍵格納回路であり、これらは前述制御用CPU5と並列接続されている。28は、乱数値発生回路8から取り出した拡散の為の乱数値を格納するための乱数値等格納回路である。また29はリセット回路である。63は、マスターチップとの認証においてパスワードPWを入力した直後に使用者にしか判らない任意のキーワードを入力しなければ作動しない方式にするためのキーワード記憶回路であり、不揮発性ROMで構成される。
図8中波線で示すものは本発明のROMライタ3の第3実施例を示すもので、前述の通信用共通暗号鍵格納回路23の代わりに共通通信暗号鍵K0乃至Kn、ROMライタID番号、メーカ名のコード、メモリーカードアクセス用のパスワードPM、拡散値R及びチェックコードが公開鍵暗号化アルゴリズムに基づき個人鍵Kpsで暗号化された状態で格納されたメモリーカードM(26)のデータ読み込みを行うメモリーカードアクセス回路25及びメモリーカード26が増設されたもので、これらは前記CPU5とは並列接続されている。
図9に示すものは本発明に使用する実施例のマスターチップ1a,1a’及びセキュリティチップ1bの回路図である。32はクロック回路30からのクロック信号に基づき作動する遊技機制御用CPUであり、該制御用CPU32は従前のセキュリティチップ同様にウォッチドッグタイマー回路33、不正アドレス実行禁止回路34、タイマー回路35、ユーザープログラムが内蔵されたユーザROM36のプログラムが正規のものか否かをチェックするセキュリティチェック回路37、プログラム実行用のユーザRAM38、ブートRAM39、ブートROM40、チップ1a,1bのモードを制御するモード制御回路43と並列接続されている。42はROMライタ3との認証を行う認証回路であり、詳細には図10で説明する。
SW1(44)は、チップ1a、1bの内部バスとROM周辺回路の接続を切り替える第1スイッチ回路である。
SW2(46)は、SW1(44)がOFFの時、ROMアクセス回路45に接続されたユーザROM36をROM読み書き回路47を介して書き込み用に使用する(ROM書込みモード)か、外部バスバッファ48を介して読み出し用に使用する(ROM読出しモード)かに切り替えるための第2スイッチ回路であり、ROM読み書き回路47と外部バスバッファ48は外部端子49を介してROMライタ3と接続される。
又、チップのユーザーモード時はSW1(44)はONとなり、SW2(46)は外部バスバッファ48に接続され、チップの内部バスを外部端子を接続する。
上記、SW1(44)、SW2(46)はモード制御回路43により切りかえられる。尚、50はセキュリティチップ及びマスターチップがユーザーモードでのプログラム実行をリセットするためとチップ全体をリセットするためのリセット回路である。
図10に示すものはセキュリティチップ1b,1b’内又はマスターチップ1a,1a’内に設けられた認証回路42の詳細な回路ブロック図である。
この認証回路42は、前記クロック回路30からのクロック信号に基づき作動する認証通信制御回路51、モード制御回路43に対して指令するモード制御出力回路52、乱数発生回路53、当該乱数値を格納する乱数値等格納回路54、ユーザROM36と接続されたユーザROMアクセス回路55、チップの種別コードと量産用か開発用かを識別するためのチップ区分を示すコードが記載されたチップコード等格納回路56、ROMライタ3との送受信を行う送受信回路57、送受信データバッファ58、共通の通信鍵K0乃至Knに基づきデータの暗号化又は復号化を行う共通鍵暗号/復号回路59、乱数発生回路53及び乱数発生回路8で作成された乱数値1及び乱数値2により作成される暗号鍵Kt及び暗号鍵番号Knxにより選択された共通通信暗号鍵Kxが格納された通信暗号鍵格納回路60、暗号通信の状況を観察する通信監視タイマー61及び第2実施例の複数の暗号鍵が格納されたタイプのチップ1a’,1b’における共通通信暗号鍵K0乃至Kn及びKsが格納された鍵テーブル格納回路62であり、これらは互いに並列に接続されている。
以上述べた構成において本発明にかかる図1の実施例にかかるマスターチップ1a及びセキュリティチップ1bの構成では、以下に述べる方式で相互認証を行った後にマスターチップからユーザーROM36に書き込まれたプログラムを読み込むと共にセキュリティチップ1bのユーザROM36にプログラム及び暗号情報を書き込むことになる。
<セキュリティチップのモード遷移>
図11の流れ図に示すようにシステムリセットされた状態からスタートした時PRG端子の操作で”L”の時にセキュリティモード、”H”の時にプログラムモード認証フェーズとなる。セキュリティモードでは、従来より知られているセキュリティシステムにおいてセキュリティチェック回路37が作動してユーザーROM36に書き込まれたユーザープログラムが第三者機関において認証されたものであるか否かのセキュリティチェックが行われ、セキュリティチェックの結果不適合と判定された場合にはチップ作動停止となり、セキュリティチェックの結果正規と判定された場合にはユーザープログラムモードに移行する。
次にPRG端子が”H”の時はプログラムモード認証フェーズとなり、ROMライタ3から書き込み要求又は読み込み要求の信号が送信されると認証回路42が相互認証することにより読み込み又は書き込み行程が決定される。ROMライタ3が任意のモードを選択し、チップがこれを認証した時点でチップの外部端子49とROM読み書き回路47を介し、書き込みモードではROMライタ3から送信されるユーザープログラム及び暗号情報を順次セキュリティチップのユーザROM36に書き込んで行き、ROMライタ3が書き込み終了した時点で停止する。
また読み込みモードでは、ユーザROM36に書き込まれたユーザープログラム等を順次ROMライタ3に送信し、ROMライタ3が読み込みを終了した時点で停止する。
ROMライタ3の動作については図12に示すフローチャートに示すようにマスターチップ・セキュリティチップとの通信のやり取りがなされる。
すなわち電源を立ち上げた状態でROMライタ3のハードウェアは初期化され、それぞれの回路が正常に作動するか否についてセルフチェックがなされる。
尚、メモリーカードM方式の実施例の場合はメモリーカードMが差し込まれた状態で個人鍵Kpsで暗号化された共通通信暗号鍵K0乃至Kn、ROMライタID番号、メーカ名のコード、メモリーカードアクセス用のパスワード、拡散値及びチェックコード等の暗号情報を公開鍵Kosと公開鍵復号回路22で復号化を行い、復号化が正常に行われた否かのチェックが行われ正常と判断された場合には、ユーザーはキー3aに所定のパスワードWを入力することにより復号化されたパスワードPWとの照合が行われ一致した場合にはキーワードチェックに移行する。ユーザーはキー3aからユーザーが事前に登録したキーワード入力すると、ROMライタ3はキーワード格納回路63に格納されたキーワードと一致するか否かの照合が行われ、一致した場合にチップ1a,1bの読み込みモードに移行する。
そこで、マスターチップのデータ読み込み、セキュリティチップへのデータ書き込み、セキュリティチップのデータの読み込み、セキュリティチップのデータの認証、外部通信によるデータのダウンロード、データ通信によるデータの初期化等の作業が履行される。ただチップとの通信において、暗号化しないで読み込み・書き込みを行うことはセキュリティの面において極めて危険であることから、マスターチップ・ROMライタ間、セキュリティチップ・ROMライタ間の通信は、使用するマスターチップ及びセキュリティチップの種類に並びにロムライタの種類により以下の図13に示す表の示されるステップ1乃至ステップ9の通信プロトコルにより行われる。
ステップ1:マスターチップ方式1(共通通信暗号鍵が一個の場合)
図14に示すデータフロー及び図15に示すフローチャートにより説明する。
ROMライタ3にマスターチップ1aを接続した後にROMライタ3からマスターチップ1aに対してマスター認証要求信号を送信する。するとマスターチップからチップコード等格納回路56に格納されたチップコード及び乱数発生回路53より発生した乱数値1を通信暗号鍵格納回路60に格納された共通通信暗号鍵K0を用いて暗号/復号回路59で暗号化を行い、ROMライタ3に送信する。
ROMライタ3は、受信したデータを通信用共通暗号鍵格納回路23に格納された暗号鍵K0に基づき共通鍵暗号/復号回路21で復号化を行いチップコードと乱数値1を得る。チップコードは例えば図7に示すようにチップ種別コード及びチップが量産用か開発用かを示すチップ区分が記載されており、これにより接続したマスターチップが適合したものであるか否を確認することができる。
次に、ROMライタ3からは、チップコードと乱数値発生回路8により発生した乱数値2を前記共通通信暗号鍵K0に基づき共通鍵暗号/復号回路21で暗号化を行い、マスターチップ1aに対して送信する。
この結果マスターチップ1aは、受信したデータを通信暗号鍵格納回路60に格納された共通通信暗号鍵K0を用いて暗号/復号回路59で復号化を行いチップコードと乱数値2を得る。送信されたチップコードと自己のチップコードとが一致した場合には乱数値2を乱数値等格納回路54に格納し、ROMライタ3に対してマスターチップの認証応答を行う。
ROMライタ3は格納された乱数値1及び乱数値2で暗号鍵Ktを作成すると共にマスターチップ1aに対してパラメータ要求信号を発する。パラメータ要求信号を受信したマスターチップ1aはROMライタ同様に乱数値1及び乱数値2で暗号鍵Ktを作成し、これを用いてユーザROM36に格納された事前に個人鍵Kpsで暗号化されたメーカー名コード、セキュリティコード、パスワードPM、拡散値R及びチェックコード等の暗号情報を暗号/復号回路59で暗号化を行い、ROMライタ3に送信する。ROMライタ3は、まず前述乱数値1及び乱数値2に基づき作成された暗号鍵Ktに基づき受信した暗号化された暗号情報を共通鍵暗号/復号回路21で復号化することにより、個人鍵Kpsで暗号化された暗号化情報を得る。次にこの暗号化情報を公開鍵格納回路24に格納された公開鍵Kosと公開鍵復号回路22で、メーカー名コード、セキュリティコード、パスワードPM、拡散値R及びチェックコードを復号化する。復号化したチェックコード等により暗号化情報が正規のものか否かを確認すると共に当該暗号化情報を一時記憶する。そしてマスターチップ1aに対してマスター認証終了信号を送信する。次にROMライター3のキー3aを介してマスターチップのパスワードを入力する。すると事前に復号化されたマスタチップのユーザROMに格納されたパスワードPMとの照合が行われ、一致した場合に正規のユーザーと判断され、次のステップに移行することが可能となる。
その後ROMライタ3からマスターチップ1aに対してマスターチップに格納されたROM読み込み開始要求信号が送信され、マスターチップ1aのスイッチSW2が作動してROM読み書き回路47とユーザーROM36とを接続した状態とする。スイッチ切り替え後にROM読み込み準備完了の応答信号をROMライタ3に送信し、ROMライタ3はユーザーROM36に書き込まれたプログラム等をマスタチップアクセス制御回路20を介して読み込み、これらデータを作業用RAM7に一時記憶する。読み込みが終了するとROMライタ3はROM読み込み終了要求をマスターチップ1aに対して行い、マスターチップ1aは読み込み終了応答をROMライタ3に対して行い、ROMライタ3はマスターチップ1aに対して接続終了要求の信号を送信することでマスターチップ1aのスイッチSW2が切り替わり、ユーザーROM36の読み込みができない状態に切り替え、接続終了応答をROMライタ3に送信して通信が終了する。
ステップ2:セキュリティチップとROMライタ間の相互認証
図16に示すデータフロー及び図17に示すフローチャートにより説明する。
セキュリティチップをROMライタ3に接続した状態でROMライタ3はセキュリティチップに対してチップ認証要求(書き込み)を行う。するとセキュリティチップ1bからチップコード及び乱数発生回路56で生成された乱数値1を共通通信鍵K0及び暗号/復号回路59で暗号化したデータをROMライタ3に送信する。ROMライタ3は、同じく共通暗号鍵K0と共通鍵暗号/復号回路21で復号化を行い乱数値1とチップコードを得る。このチップコードにより当該チップが量産用か、チップの種類について確認を行うと共に乱数値1を乱数値格納回路28に格納し、乱数発生回路8で発生した乱数値2と受信したチップコードを共通暗号鍵K0を用いて共通鍵暗号/復号回路21で暗号した状態でセキュリティチップ1bに送信する。
セキュリティチップ1bは受信したデータを共通暗号鍵K0と暗号/復号回路59で復号化を行い、乱数値2を得ると共に復号化したチップコードを自己のチップコードとを比較し、一致したならROMライタ3の認証の結果正しいとして、チップ認証応答(書き込み)の信号をROMライタ3に送信する。
ROMライタ3はセキュリティチップ1bに対してROM書き込み要求信号を送信すると、セキュリティチップ1bはスイッチSW2を操作してROM読み書き回路47とユーザーROMとを通電状態に切り替え、ROM読み込み応答信号をROMライタ3に対して送信する。するとROMライタ3は、作業用RAM7に一時記憶したユーザープログラムをユーザーROMのユーザープログラム領域に書き込むと共にメーカー名コード、及びセキュリティコード等の暗号化されていない情報をユーザROM36に書き込む。次にROMライタ3は当該書き込みを行ったセキュリティチップ1bに対してユーザROM36の読み込み要求を行い、ROMに書き込まれたユーザープログラム及びデータが正確に書き込まれたた否かのベリファイ(検査)を行い、一致していることが確認された場合にはROM読み込み終了要求をセキュリティチップ1bに対して行い、セキュリティチップ1bは読み込み終了応答をROMライタ3に対して行うことにより読み込みが終了する。そしてROMライタ3はセキュリティチップに対して接続終了信号を送信し、セキュリティチップ1bはユーザROMを書き込み禁止処理を施して接続終了する。以上の結果セキュリティチップ1bのユーザーROM36には正規のユーザープログラムとメーカー名コード及びセキュリティコードが書き込まれた状態となる。
ステップ3:セキュリティチップ・ROMライタ3間のチップデータ読み込みのプロトコルについて(通信暗号鍵が1個の場合)
図18に示すデータフロー及び図19に示すフローチャートにより説明する。
このステップでは、一旦セキュリティチップ1bにユーザープログラム及びメーカコード並びにセキュリティコードが書き込まれた後に、ROMライタ3によりセキュリティチップの内容が不用意に読み込まれないようにするための通信プロトコルである。
すなわち、ROMライタ3にセキュリティチップ1bを接続した状態で、ROMライタ3からセキュリティチップ1bに対して認証要求(読み込み)が送信される。これを受信したセキュリティチップ1bは共通暗号鍵K0を用いて暗号/復号回路59でチップコード等格納回路56に格納されたチップコードと乱数発生回路53で発生した乱数値1を暗号化しROMライタ3に対して送信する。するとROMライタ3は、共通暗号鍵K0と共通鍵暗号/復号回路21でこれらを復号化し、チップコードと乱数値1を得る。そしてマスターチップ1aから読み込んだチップコードと一致するか否を確認し、一致した場合には乱数発生回路8で発生した乱数値2とチップコードとを共通暗号鍵K0に基づき共通鍵暗号/復号回路21で暗号化を行いこれらデータをセキュリティチップ1bに対して送信すると共に乱数値格納回路28に前記乱数値1及び乱数値2を格納する。
データを受信したセキュリティチップ1bは、共通暗号鍵K0と暗号/復号回路59を用いて復号化を行いチップコードと乱数値2とを得る。その結果セキュリティチップ1bは、ROMライタ3の持つチップコードの確認を行い一致した場合にチップ認証確認応答(読み込み)を送信する。
セキュリティチップ1bは前記乱数値1及び乱数値2に基づき暗号鍵Ktを作成すると共にユーザROM36に格納されたメーカーコード及び乱数発生回路53で生成された乱数値3を暗号鍵Ktと暗号/復号回路59で暗号化を行い、これらをROMライタ3に送信する。
受信したデータは、乱数値格納回路28に格納された乱数値1及び乱数値2に基づき作成される暗号鍵Ktに基づき共通鍵暗号/復号回路21で復号化を行いセキュリティチップ1bのメーカーコードを得る。得たメーカーコードが事前にマスターチップから読み込んだメーカーコードとの比較を行い一致した場合には、暗号鍵Ktと共通鍵暗号/復号回路21に基づき暗号化されたメーカーコード及び乱数発生回路8で生成された乱数値4をセキュリティチップ1bに送信する。 データを受信したセキュリティチップ1bは前述同様暗号鍵Kt及び暗号/復号回路59を用いてメーカーコードを復号化を行い、ユーザROM36に格納されたメーカ名コードとを比較し、一致しているか否を確認する。これによりROMライタ3及びセキュリティチップのメーカ名コードに基づく相互認証が行われ、双方が一致した場合にチップ読み込みを許容するチップ読み込み認証応答を、セキュリティチップ1bからROMライタ3に対して送信が行われ、ROMライタ3によりセキュリティチップ1bの読み込み処理可能な状況となる。
そしてROMライタ3からセキュリティチップ1bに対してユーザROM36の読み込み要求がなされるとスイッチSW2が切り替わり、ユーザROM36が読み込める状況となる。ユーザROM36の読み込みが終了するとROM読み込み終了要求がセキュリティチップ1bに対してなされ、セキュリティチップ1bは読み込み終了応答を行うと共にROM読み込みモードを終了する。
ステップ4:マスターチップ方式1(共通通信暗号鍵が複数の場合)
図20に示すデータフロー及び図21に示すフローチャートにより説明する。
この通信プロトコルは、共通暗号鍵を複数有する場合のマスターチップ1aとROMライタ3との通信プロトコルを示すもので、図14及び図15で説明したステップ1と同様の手順にてマスター認証応答及びパラメータ応答が行われ、そのやり取りにより得られる暗号情報としてメーカー名コード、セキュリティコード、パスワードPM、拡散値R及びチェックコード以外に通信暗号鍵番号Knxを入手し、この通信暗号鍵番号Knxを暗号鍵Ktと共通鍵暗号/復号回路21で暗号化を行いマスターチップ1aに送信する。すると受信したマスターチップ1aは、その暗号/復号回路59と暗号鍵Ktで復号化を行い、得られた暗号鍵番号Knxに該当する共通通信暗号鍵Kxを鍵テーブル格納回路62から取り出し、さらに暗号鍵Kt及び暗号/復号回路59で暗号し、ROMライタ3に送信する。ROMライタ3は暗号鍵Kt及び共通鍵暗号/復号回路21で復号化することにより暗号鍵Kxを得る。そしてマスター認証を終了し、共通通信暗号鍵Kxが通信暗号鍵格納回路60に格納される。次にROMライター3のキー3aを介してマスターチップのパスワードを入力する。すると事前に復号化されたマスタチップのユーザROMに格納されたパスワードPMとの照合が行われ、一致した場合に正規のユーザーと判断され、次のステップに移行することが可能となる。
後は前述ステップ1と同じ方法でROMライタ3はマスターチップ1aのユーザROM36に格納されたユーザープログラムの読み込みを行う。
その後ROMライタ3はセキュリティチップ1bと接続され、図16及び図17で説明したステップ2のセキュリティチップ1bのユーザーROM36への書き込み処理が施される。
ステップ5: マスターチップ方式1(共通通信暗号鍵複数の場合)
図22に示すデータフロー及び図23に示すフローチャートにより説明する。
この通信プロトコルは、共通鍵を複数有する場合のセキュリティチップ1bとROMライタ3間の相互認証プロトコルを示すもので、前述したステップ3(共通通信暗号鍵1個)の場合とはチップコードの相互認証までとメーカー名コードの相互認証後の通信プロトコルは全て同じである為説明を省略し、メーカー名コードの相互認証プロトコルについて説明する。
既にデータが書き込まれたセキュリティチップ1bのユーザROM36及びROMライタ3には、共通通信暗号鍵番号knxが事前に読み込まれている為、当該共通通信暗号鍵番号Knxに該当する共通通信暗号鍵Kxが通信暗号鍵格納回路60から抽出され、セキュリティチップ1bはユーザROM36に格納されたメーカ名コードが通信暗号鍵Kxと暗号/復号回路59で暗号化された状態でROMライタ3に送信することによりメーカ名コードの認証要求がなされる。
するとROMライタ3は、マスターチップ1aから事前に送信された共通通信暗号鍵Kxと共通鍵暗号/復号回路21に基づき復号化される。復号化されたメーカ名コードと事前にマスターチップ1aから取得したメーカ名コードと比較照合し、一致した場合には、マスターチップ1aから取得したメーカ名コードを共通暗号鍵Kxと共通鍵暗号/復号回路21で暗号化し、セキュリティチップ1bに送信する。暗号化メーカ名コードを受信したセキュリティチップ1bは、通信暗号鍵Kxと暗号/復号回路59とで復号化を行い、送信されたメーカ名コードと自己のメーカ名コードとが一致するか否について照合を行い一致した場合にはROMライタ3に対してチップ読み込み認証確認の応答信号を発信することによりメーカ名コードの相互認証が終了する。
ステップ6:メモリーカード方式(通信暗号鍵複数)の場合におけるROMライタ・マスターチップとの相互認証プロトコルを示すものである。
図24に示すデータフロー及び図25に示すフローチャートにより説明する。
この通信方式は、最初のマスター認証要求(読み込み)、チップコード認証要求、パラメータ要求までは、前述したステップ4と同様であるため説明を省略する。
この実施例では、ROMライタ3にはメモリーカードアクセス回路25がCPU5と並列に接続されており、このメモリーカードアクセス回路25にメモリーカード26が接続挿入されている。またメモリーカード26には、ROMライタID番号、複数の共通通信暗号鍵、メーカ名コード、パスワード、拡散値R及びチェックコードが公開鍵暗号化アルゴリズムに基づき個人鍵Kpsで暗号化された状態で格納されており、該メモリーカード26をROMライタ3のメモリーカードアクセス回路25に差し込むことによりROMライタ3は、個性を有するROMライタとなる。
このメモリーカード方式の相互認証では、ROMライタ3からマスターチップ1aに対してマスターチップ認証要求信号(読み込み)が送信される。するとマスターチップ1aはチップコード等格納回路56に格納されたチップの種類、チップの性質がコード化されたチップコード及び乱数発生回路53で生成された乱数値1を共通暗号鍵K0と暗号/復号回路59で暗号化されたデータとして送受信回路57を介してROMライタ3に送信する。受信したROMライタ3は、共通暗号鍵K0と共通鍵暗号/復号回路21で復号化を行い、チップコード及び乱数値1を得る。入手したチップコードに関してチップコード等格納回路に格納されたチップコードとの照合認証した後、このチップコードと乱数発生回路8で生成された乱数値2を共通暗号鍵K0と共通鍵暗号/復号回路21で暗号化を行った後にマスターチップ1aに送信する。受信したマスターチップは、暗号化チップコード及び乱数値2を共通暗号鍵K0及び暗号/復号回路59で復号化を行い、既に所有するチップコードとの認証を行い、一致している場合にはチップコード認証の信号をROMライタ3に送信する。
次にROMライタ3及びマスターチップ1aは既に入手した乱数発生回路53で生成された乱数値1及び乱数発生回路8で生成された乱数値2に基づき通信鍵Ktを作成しており、ROMライタ3からパラメータ要求がなされた場合に、前述ステップ4同様に事前に個人鍵Kpsで作成された暗号情報を通信鍵Ktと暗号/復号回路59で暗号化し、ROMライタ3に送信する。
ROMライタ3は、送信された暗号情報を同じく通信鍵Ktと共通鍵暗号/復号回路21で復号化を行い、さらに得られた暗号情報を公開鍵Kosと公開鍵復号回路22で復号化を行い、マスターチップ1aのメーカ名コード、通信暗号鍵番号Knx、セキュリティコード、パスワードPM、拡散値R及びチェックコードを得る。次にROMライター3のキー3aを介してマスターチップのパスワードを入力する。すると事前に復号化されたマスタチップのユーザROMに格納されたパスワードPMとの照合が行われ、一致した場合に正規のユーザーと判断され、次のステップに移行することが可能となる。
パスワードPMが一致した場合にはマスターチップ1aに対してマスタ認証終了信号をマスターチップ1aに送信し、前述したステップ4同様にマスターチップ3のユーザROM36に格納されたユーザープログラムの読み込み処理を行うことになる。その後ROMライタ3はセキュリティチップ1bと接続され、図16及び図17で説明したステップ2のセキュリティチップ1bのユーザーROM36への書き込み処理が施される。
ステップ7:メモリーカード方式(通信暗号鍵複数)の場合におけるROMライタと既に書き込みされたセキュリティチップとの相互認証プロトコルを示すものである。
図26に示すデータフロー及び図27に示すフローチャートにより説明する。
このメモリーカード方式の相互認証では、ROMライタ3からセキュリティチップ1bに対してチップ認証要求信号(読込み)が送信される。するとセキュリティチップ1bはチップコード等格納回路56に格納されたチップの種類、チップの性質がコード化されたチップコード及び乱数発生回路53で生成された乱数値1を共通暗号鍵K0と暗号/復号回路59で暗号化されたデータとしてROMライタ3に送信する。受信したROMライタ3は、共通暗号鍵K0と共通鍵暗号/復号回路21で復号化を行い、チップコード及び乱数値1を得る。入手したチップコードと乱数発生回路8で生成された乱数値2を共通暗号鍵K0と共通鍵暗号/復号回路21で暗号化を行った後にセキュリティチップ1bに送信する。送信と同時にROMライタ3は、受信した乱数値1及び生成した乱数値2をそれぞれ乱数格納回路28に格納している。
受信したセキュリティチップは、暗号化チップコード及び乱数値2を共通暗号鍵K0及び暗号/復号回路59で復号化を行い、既に所有するチップコードとの認証を行い、一致している場合にはチップコード認証の信号をROMライタ3に送信する。セキュリティチップ1bは、乱数発生回路53で生成した乱数値1及びROMライタ3から送信された乱数値2をそれぞれ乱数値格納回路54へ格納しておく。
次にROMライタ3及びセキュリティチップ1bは既に入手した乱数値1及び乱数値2に基づき通信鍵Ktを作成するように構成されており、ROMライタ3はセキュリティチップ1bに対して通信暗号鍵番号を要求する。
するとセキュリティチップ1bはユーザーROM36に格納された通信暗号鍵番号Knx及び乱数発生回路53で生成された乱数値3を乱数値1及び乱数値2に基づき生成された通信鍵Kt及び暗号/復号回路59で暗号化した後にROMライタ3へ送信する。ROMライタ3は受信した暗号化通信鍵番号Knxを乱数値1及び乱数値2に基づき生成された通信鍵Kt及び共通鍵暗号/復号回路21で復号化を行い通信鍵番号Knxから得られた情報に基づき通信用共通暗号鍵格納回路23から通信暗号鍵Kxを選択する。
セキュリティチップ1bは、通信暗号鍵番号Knxに基づき鍵テーブル格納回路62に格納された暗号鍵K0乃至Knから採択し暗号鍵Kxを得た後に、ROMライタ3に対してメーカ名コード確認要求としてユーザーROM36に格納されたメーカ名コードを該暗号鍵Kxと乱数発生回路53で生成された乱数値4を暗号/復号回路59で暗号化して送信することによりメーカ名コードを要求する。
暗号化メーカ名コードを受信したROMライタ3は、前記暗号鍵Kxと共通鍵暗号/復号回路21に基づき復号化を行い、既にマスターチップ1aから入手したメーカ名コードと比較し、一致したならば当該メーカ名コード及び乱数発生回路8で生成された乱数値5を暗号鍵Kx及び共通鍵暗号/復号回路21で暗号した情報としてセキュリティチップ1bに送信する。受信したデータをセキュリティチップ1bは、暗号鍵Kxと暗号/復号回路59で復号化を行い、これが自己が保有するメーカ名コードと一致した場合には、ROMライタ3が正規のものでかつ同一開発メーカに関するものであるとの確認を行う。ROMライタ3に対してチップ読込認証応答を送信する。
以降のROMライタ3によるセキュリティチップのユーザROM36の読み込みプロトコルはステップ3と同様に行われることになる。
ステップ8:検査機関用のROMライタによるセキュリティチップのROM読み込み通信プロトコル
図28に示すデータフロー及び図29に示すフローチャートにより説明する。
本実施例は、セキュリティチップにユーザプログラムが書き込まれた後のプログラムの検査機関が使用するROMライタによる認証応答(読み込み)を行うための通信プロトコルである。
かかる場合においてセキュリティチップ1bには検査機関用ROMライタ3からそのユーザーROM36にメーカ名コード及びセキュリティコード等のデータが書き込まれていることを前提とする。
検査機関用ROMライタ3とセキュリティチップ1bとを接続した状態においてROMライタ3から、セキュリティチップ1bに対して検査機関用チップ認証要求(読み込み)がなされる。
するとセキュリティチップ1bは検査機関ROMライタ3との通信鍵として共通通信鍵Ksを採択し、これを用いてチップコード等格納回路56に格納されたチップコード及び乱数発生回路53で発生した乱数値1を暗号/復号回路59で暗号化し、送受信回路57を介してROMライタ3に送信する。
受信した検査機関用ROMライタ3は、暗号鍵Ks及び共通鍵暗号/復号回路21でこれら暗号電文を復号化を行い、チップコード及び乱数値1を得る。入手したチップコードがセキュリティチップ1bから入手したチップコードと一致するか否により正規性の判断を行う。
次にチップコード及び乱数発生回路8で発生した乱数値2を暗号鍵Ks及び共通鍵暗号/復号回路21で暗号化したものをセキュリティチップ送受信回路17を介してセキュリティチップ1bに送信する。セキュリティチップ1bは送信された暗号データを暗号鍵Ks及び暗号/復号回路59で復号化を行いチップコードを入手する。そして自己の持つチップコードとの一致/不一致により検査機関用ROMライタ3が正規のものかを確認し、ROMライタ3に対してチップ認証応答(読み込み)を行う。
双方の認証が終了した後検査機関用ROMライタ3からセキュリティチップに対してROM読み込み要求がなされると、セキュリティチップ1bは、スイッチ44をOFF、スイッチ46をユーザROM36とROM読み書き回路47とを導通させるべく切り替わり、ユーザROM36が読み込み可能状態となる。
そしてROMライタ3はユーザーROM36に書き込まれたユーザプログラムを読み込み、読み込み作業を終了する。
ステップ9:ROMライタとセキュリティチップのチップ相互認証(チップコード無し)
図30に示すデータフローにより説明する。
本通信プロトコルは、ROMライタ3とセキュリティチップ間の相互認証プロトコルにおいて、チップコードが設定されていない場合の他の実施例を示すもので、セキュリティチップには事前にチップコードの代わりに確認コードがチップコード等格納回路56に格納されている。ROMライターでは、チップコード等格納回路10に格納されている。
かかる状況でまずROMライタ3からセキュリティチップ1bに対してチップ認証要求が送信される。この要求信号を受信したセキュリティチップは、確認コードと乱数発生回路53で発生した乱数値1を共通暗号鍵K0及び暗号/復号回路59で暗号化した暗号情報をROMライタ3に送信する。ROMライタ3は受信したデータを自己が所有する共通暗号鍵K0と共通鍵暗号/復号回路21で復号化を行い、乱数値1及び確認コードを得た後ROMライタのチップコード等格納回路10に格納した確認コードと比較して一致したならば、入手した確認コードと乱数発生回路8で発生した乱数値2を再度共通鍵暗号/復号回路21及び共通通信鍵K0を用いて暗号化を行いセキュリティチップ1bに送信する。
これを受信したセキュリティチップ1bは共通通信鍵K0と暗号/復号回路59で復号化を行い、乱数値2と確認コードを得る。そして得られた確認コードを照合することにより正規のROMライタ3であるか否かの認証を行い、正規のものである場合には認証終了信号をROMライタ3に対して発信する。
これは、セキュリティチップ1bとROMライタ3の双方が、同一の共通通信鍵K0及び暗号/復号回路を有することにより確認コードが正しく認識されるものであり、もし共通通信鍵K0又は暗号/復号回路のいずれかが一致しない場合には異なる確認コードに変換されるために相互認証が可能となるわけである。
確認コード認証後の各認証ステップは図14及び図20に示されたステップ1及びステップ4のプロトコルに従い処理されることになるためにその説明を省略する。
以上説明したステップ1乃至ステップ9のプロトコルに基づきマスターチップ・ROMライター相互間及びセキュリティチップ・ROMライター間の相互認証が行われる結果、共通通信鍵が1個の場合には図31に示すようにマスターチップ1aのユーザROM36のユーザプログラム及び個人鍵Kpsで暗号化されたメーカ名コード、セキュリティコード、拡散値R、チェックコードの暗号情報が、ROMライタ3に送信され、ROMライタ3で復号化された状態でセキュリティチップ1bのユーザROM36に書き込まれる。
また共通通信鍵が複数の場合には、図32に示すようにマスターチップ1a’のユーザROM36のユーザプログラム及び個人鍵Kpsで暗号化されたメーカ名コード、セキュリティコード、拡散値R、チェックコード及び暗号鍵番号の暗号情報が、ROMライタ3に送信され、ROMライタ3で復号化された状態でセキュリティチップ1b’のユーザROM36に書き込まれる。
さらに図33に示すようなメモリーカードMを挿入するタイプのROMライタでは、メモリーカードには事前に公開鍵暗号化アルゴリズムに基づき個人鍵Kpsで暗号化されたROMライタID、パスワード、メーカ名コード、拡散値R、チェックコード及び暗号鍵番号が書き込まれており、ROMライタ3の電源立ち上げ時にメモリーカード26の暗号情報を公開鍵Kos及び公開鍵復号回路22で復号化される。復号化された暗号化情報はROMライタ3の作業用RAM7に格納される。次にROMライタ3はチップコード等格納回路10に事前に格納されたROMライタIDと比較し、挿入されメモリーカード26がROMライタ3に適合したものか否の判定を行い。一致しない場合には不適合なメモリーカードとして取り扱われる。
次にROMライタIDが一致した場合には図24に示されたデータフロー従いマスターチップ認証行った後に読み込み状態に移行すし、マスターチップ1a”のユーザROM36のユーザプログラム及び個人鍵Kpsで暗号化されたメーカ名コード、セキュリティコード、拡散値R、パスワードPM、チェックコード及び暗号鍵番号の暗号情報が、ROMライタ3に送信され、ROMライタ3で公開鍵Kos及び公開鍵復号回路22で復号化され、さらにセキュリティチップ1b”のユーザROM36にユーザプログラム及び復号化されたメーカ名コード、セキュリティコード及び暗号鍵番号の暗号情報が書き込まれる。
以上述べたように本実施例にかかるROMライタ・マスターチップ及びセキュリティチップの通信プロトコルでは、マスターチップ1aにチップコード、個人鍵Kpsで暗号化されたメーカ名コード、セキュリティコード、パスワードPM、拡散値R及びチェックコード又は通信暗号鍵番号Knxが格納されており、マスターチップ及びROMライタに共通暗号鍵K0及び暗号化プロトコルが共通化された暗号/復号回路が設置され、他方ROMライタ3には個人鍵Kpsに対応する公開鍵Kosと公開鍵復号回路が組み込まれていることによりマスターチップのメーカ名コード、セキュリティコード、パスワードPM、拡散値R及びチェック又は通信暗号鍵番号Knxの暗号情報を復号化することにより初めてマスターチップ内のユーザROM36の内容を読み込むように構成し、セキュリティチップの読み込みに際しては、ROMライタ3とセキュリティチップ1bが同一のメーカ名コードを有する場合にのみ、読み込みできないような方式を採用していることから、第三者が正規のROMライタを有していてもメーカ名コード(開発メーカ)が異なれば、ユーザプログラムの内容を確認することができない。その結果プログラムの無用な開示を防ぐことができる。従って、市場に出てプログラムの解析などの危険に晒されるセキュリティチップのセキュリティ面からいっても従来のROMライタではなし得なかった機密保持性が担保される。
ROMライタとマスターチップが両方ないとセキュリティチップのアクセス(書込み/読出し)はできない。ROMライタ、マスターチップ、セキュリティチップの相互認証が成立しないとセキュリティチップにアクセスできない。
万が一マスターチップが盗難等に会い、不正を行うものの手にわたって、分解等でデータを読出したとしても暗号情報を復号化できないため、セキュリティ性が高い。
メモリーカード内の暗号情報自体は公開鍵暗号化アルゴリズムに基づく個人鍵で暗号化されているため、公開鍵の内蔵されたROMライタを持たない第三者へ渡っても解読は困難なためオンラインで暗号情報をダウンロードして使用することも可能である。
第1実施例にかかるROMライタの斜視図である。 第2実施例にかかるROMライタの斜視図である。 本発明に使用するマスターチップのメモリー構成図である。 本発明に使用するセキュリティチップのメモリー構成図である。 チップコードの内容を示す概念図である。 本発明に使用するマスターチップの第2実施例のメモリー構成図である。 本発明に使用するセキュリティチップの第2実施例のメモリー構成図である。 ROMライタのブロック図である。 セキュリティチップのブロック図である。 セキュリティチップの認証回路の詳細ブロック図である。 セキュリティチップのモード遷移を示すフローチャートである。 ROMライタのメインフローチャートである。 マスターチップ・セキュリティチップとROMライタ間の通信プロトコルステップを示す表である。 第1実施例にかかるマスターチップ・ROMライタ間の通信プロトコルを示すデータフローである。 第1実施例にかかるマスターチップ・ROMライタ間の通信プロトコルを示すフローチャートである。 ROMライタからセキュリティチップへの書き込み処理の通信プロトコルを示すデータフローである。 ROMライタからセキュリティチップへの書き込み処理の通信プロトコルを示すフローチャートである。 第1実施例にかかるセキュリティチップ・ROMライタ間の読込処理の通信プロトコルを示すデータフローである。 第1実施例にかかるセキュリティチップ・ROMライタ間の読込処理の通信プロトコルを示すフローチャートである。 第2実施例にかかるマスターチップ・ROMライタ間の通信プロトコルを示すデータフローである。 第2実施例にかかるマスターチップ・ROMライタ間の通信プロトコルを示すフローチャートである。 第2実施例にかかるセキュリティチップ・ROMライタ間の読込処理の通信プロトコルを示すデータフローである。 第2実施例にかかるセキュリティチップ・ROMライタ間の読込処理の通信プロトコルを示すフローチャートである。 第3実施例にかかるマスターチップ・ROMライタ間の通信プロトコルを示すデータフローである。 第3実施例にかかるマスターチップ・ROMライタ間の通信プロトコルを示すフローチャートである。 第3実施例にかかるセキュリティチップ・ROMライタ間の読込処理の通信プロトコルを示すデータフローである。 第3実施例にかかるセキュリティチップ・ROMライタ間の読込処理の通信プロトコルを示すフローチャートである。 検査機関用ROMライタとセキュリティチップ間の読込処理の通信プロトコルを示すデータフローである。 検査機関用ROMライタとセキュリティチップ間の読込処理の通信プロトコルを示すフローチャートである。 チップコードを有しないセキュリティチップ・ROMライタ間のチップ認証手順を示すデータフローである。 共通通信鍵が1個の場合(第1実施例)にかかるマスターチップ、ROMライタ、セキュリティチップへのデータの流れを示す概略ブロック図である。 共通通信鍵が複数の場合(第2実施例)にかかるマスターチップ、ROMライタ、セキュリティチップへのデータの流れを示す概略ブロック図である。 ROMライタにメモリーカードが装着される場合(第3実施例)にかかるROMライタ、セキュリティチップへのデータの流れを示す概略ブロック図である。
1a,1a’,1a” マスターチップ
1b,1b’,1b” セキュリティチップ
3 ROMライタ
4 クロック回路
5 制御用CPU
6 認証・制御用プログラム
7 作業用RAM
8 乱数発生回路
9 通信監視タイマー
10 チップコード等格納回路
11 キー入力装置
12 キー入力回路
13 表示回路
14 表示装置
15 通信ドライバ
16 外部通信回路
17 セキュリティチップ送受信回路
18 セキュリティチップアクセス制御回路
19 マスターチップ送受信回路
20 マスターチップアクセス制御回路
21 共通鍵暗号/復号回路
22 公開鍵復号回路
23 通信用共通鍵格納回路
24 公開鍵格納回路
25 メモリーカードアクセス回路
26 メモリーカード
28 乱数値等格納回路
29 リセット回路
30 クロック回路
32 遊技機制御用CPU
33 ウォッチドッグタイマー回路
34 不正アドレス実行禁止回路
35 タイマー回路
36 ユーザーROM
37 セキュリティチェック回路
38 ユーザRAM
39 ブートRAM
40 ブートROM
42 認証回路
43 モード制御回路
44 SW1
45 ROMアクセス制御回路
46 SW2
47 ROM読み書き回路
48 外部バスバッファ
49 外部端子
50 リセット回路
51 認証通信制御回路
52 モード制御通信回路
53 乱数発生回路
54 乱数値等格納回路
55 ユーザROMアクセス回路
56 チップコード等格納回路
57 送受信回路
58 通信データバッファ
59 暗号/復号回路
60 通信暗号鍵格納回路
61 通信監視タイマー
62 鍵テーブル格納回路

Claims (7)

  1. 検査機関にて認証を受けたユーザプログラム並びにメーカ名コード、ユーザプログラムのセキュリティコード、パスワード及びチェックコードが所定の暗号化アルゴリズムで暗号化された暗号化情報が格納されたユーザROMと、通信暗号鍵が格納された通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路、及びチップコードが格納されたチップコード等格納回路を有するマスターチップにおいて、
    該チップがROMライタと接続された場合に、マスターチップに格納されたチップコードを前記通信暗号格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路で暗号化した後にROMライタに対して双方向暗号化通信を行い、マスターチップと同様の通信暗号鍵が格納された通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路を有するROMライターから送信されたチップコードが一致しない場合にはユーザROMの暗号化情報の読み込みステップに移行することができず、
    読み込みステップでユーザROMの前記暗号化情報が所定の暗号化アルゴリズムでROMライタ内で復号化され、かつ復号化されたパスワードとROMライタに入力されたパスワードとが一致しない場合には、マスターチップの読み込みを行わないように構成されていることを特徴とする遊技機制御用のマスターチップ。
  2. 検査機関にて認証を受けたユーザプログラム並びにメーカ名コード、ユーザプログラムのセキュリティコード、通信暗号鍵番号、パスワード及びチェックコードが所定の暗号化アルゴリズムに基づき暗号化された暗号化情報が格納されたユーザROMと、複数の通信暗号鍵が格納された通信暗号鍵テーブル格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路、及びチップコードが格納されたチップコード等格納回路を有するマスターチップにおいて、
    該チップがROMライタと接続された場合に、マスターチップに格納されたチップコードを前記通信暗号格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路で暗号化した後にROMライタに対して双方向暗号化通信を行い、マスターチップと同様の通信暗号鍵が格納された通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路を有するROMライターから送信されたチップコードが一致しない場合にはユーザROMの暗号化情報の読み込みステップに移行することができず、
    一致した場合にユーザROMの前記暗号化情報が所定の暗号化アルゴリズムでROMライタ内で復号化され、復号化された通信暗号鍵番号がROMライタから送信された場合にマスターチップの通信暗号鍵テーブル格納回路から当該通信暗号鍵番号に相当する通信暗号鍵をROMライターに送信するように構成され、
    読み込みステップでユーザROMの前記暗号化情報が所定の暗号化アルゴリズムに基づきROMライタ内で復号化され、かつ復号化されたパスワードとROMライタに入力されたパスワードとが一致しない場合には、マスターチップの読み込みを行わないように構成されていることを特徴とする遊技機制御用のマスターチップ。
  3. 正本の遊技機制御用マスターチップのユーザーROMに書き込まれたユーザープログラム及び暗号情報を読み込んでこれを量産タイプのセキュリティチップの遊技機制御用のワンタイムユーザROMに書き込むROMライタにおいて、
    マスターチップが通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路、チップコード等格納回路及びユーザーROMとを有し、前記ユーザーROMには認証されたユーザープログラム及びユーザープログラム領域外の所定のアドレスに少なくともメーカ名コード、セキュリティコード、パスワード及びチェックコードが所定の暗号化アルゴリズムに基づき暗号された状態で格納されているもので構成され、
    セキュリティチップが、通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路、チップコード等格納回路及びユーザーROMとを有し、前記ユーザーROMには認証されたユーザープログラム及びユーザープログラム領域外の所定のアドレスに少なくともメーカ名コード、セキュリティコードが書き込み可能に構成され、
    前記ROMライタが通信暗号鍵が格納された通信用共通暗号鍵格納回路と、マスターチップの暗号化に使用された暗号化鍵格納回路と、乱数発生回路から取り出した乱数値が格納される乱数格納回路と、チップコード等格納回路と、共通通信鍵に基づきデータの暗号化・復号化を行う共通鍵暗号/復号回路と、マスターチップから送信された所定の暗号化アルゴリズムに基づき暗号化された暗号情報を復号化する復号回路と、マスターチップとの送受信を行うマスターチップ送受信回路と、前記セキュリティチップとの送受信を行うセキュリティチップ送受信回路と、前記マスターチップ送受信回路及びセキュリティチップ送受信回路との送受信を制御する制御用CPUとで構成され、
    前記マスターチップに格納されたユーザープログラムの読み込みに際してROMライタとマスターチップとはマスターチップのチップコード等格納回路に格納されたチップコードを前記通信暗号格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路で暗号化した後のROMライタへ暗号化通信及びROMライタの通信暗号鍵格納回路、該格納回路に格納された通信暗号鍵に基づき暗号化及び復号化を行う暗号/復号回路で復号化されたチップコードのマスターチップへの暗号化通信により相互認証を行い、さらにマスターチップのユーザROMに格納された所定の暗号化アルゴリズムに基づき暗号化されたメーカ名コード、セキュリティコード、パスワード及びチェックコードをマスターチップからROMライタに対して暗号鍵及び暗号/復号回路で暗号化通信を行い、ROMライタは暗号鍵及び共通鍵暗号/復号回路で復号化した後、所定の暗号化アルゴリズムで復号化することによりメーカ名コード、セキュリティコード、パスワード及びチェックコードを得た後に、ユーザーが入力したパスワードと復号化されたパスワードとが一致した場合にユーザーROMに格納されたユーザープログラムを読み込むように構成されていることを特徴とする遊技機制御用チップのROMライタ。
  4. 前記ROMライタによるセキュリティチップへのユーザープログラムの書き込みが、セキュリティチップから共通暗号鍵及び暗号/復号回路で暗号化されたチップコードを受信し、これを共通暗号鍵及び共通鍵暗号/復号回路で復号化し、復号化したチップコードを再度共通鍵及び共通鍵暗号/復号回路で復号化してセキュリティチップに送信し、受信したセキュリティチップが共通暗号鍵及び暗号/復号回路でこれを復号化して送信前のチップコードと比較することによりチップ認証終了した後にユーザーROMにユーザープログラムと所定の暗号化アルゴリズムでマスターチップから復号化したメーカ名コード及びセキュリティコードを書き込むように構成されていることを特徴とする請求項3記載の遊技機制御用チップのROMライタ。
  5. 書き込み終了後のセキュリティチップのROMライタの読込みが、共通暗号鍵及び暗号/復号回路に基づくチップコード及び乱数値1の暗号化通信と、ROMライタから復号化されたチップコード及び乱数値2の共通暗号鍵及び暗号/復号回路による暗号化通信による認証終了後に、前記セキュリティチップで生成された乱数値1とROMライタで生成された乱数値2に基づき作成された暗号鍵Ktと暗号/復号回路でメーカ名コードを暗号化したものをセキュリティチップからROMライタに送信し、乱数値1及び乱数値2で作成された暗号鍵Kt及び暗号/復号回路で復号化したメーカ名コードとマスターチップから読み込んだメーカ名コードとの比較を行い一致した場合に、再度メーカ名コードを暗号鍵Kt及び暗号/復号回路で暗号化してセキュリティチップへ送信し、セキュリティチップが暗号鍵Kt及び暗号/復号回路で復号化したメーカ名コードとが一致した場合にROMライタにユーザROMの読込みを認めるように構成されていることを特徴とする請求項1又は2記載の遊技機制御用チップのROMライタ。
  6. 前記マスターチップ及びセキュリティチップが、複数の暗号鍵を格納する鍵テーブル格納回路を有し、マスターチップのユーザROMに所定の暗号化アルゴリムで暗号化された鍵テーブル格納回路に格納された複数鍵の選択番号となる通信暗号鍵番号が格納されていることを特徴とする請求項3又は4記載のROMライタ。
  7. ROMライタにメモリーカードアクセス回路がCPUと並列に接続され、該メモリーカードアクセス回路に装着されるメモリーカードに所定の暗号化アルゴリムにに基づき暗号化されたROMライタID番号、通信暗号鍵テーブル、メーカ名コード、パスワード、乱数値及びチェックコードの暗号情報が格納されており、該暗号情報をROMライタ内の前記所定の暗号化アルゴリズムの復号回路により復号化するように構成され、該復号化したROMライタID番号と事前に書き込まれたROMライタID番号とを比較し不一致の場合には動作させず、一致する場合に通信暗号鍵テーブル、メーカ名コード、パスワード、乱数値及びチェックコードに基づきマスターチップ及びセキュリティチップと相互通信するように構成されていることを特徴とする請求項3又は4記載のROMライタ。
JP2006338623A 2006-12-15 2006-12-15 遊技機制御用チップ及びそのromライタ Expired - Fee Related JP5164372B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006338623A JP5164372B2 (ja) 2006-12-15 2006-12-15 遊技機制御用チップ及びそのromライタ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006338623A JP5164372B2 (ja) 2006-12-15 2006-12-15 遊技機制御用チップ及びそのromライタ

Publications (2)

Publication Number Publication Date
JP2008148851A JP2008148851A (ja) 2008-07-03
JP5164372B2 true JP5164372B2 (ja) 2013-03-21

Family

ID=39651718

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006338623A Expired - Fee Related JP5164372B2 (ja) 2006-12-15 2006-12-15 遊技機制御用チップ及びそのromライタ

Country Status (1)

Country Link
JP (1) JP5164372B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5951235B2 (ja) * 2011-11-18 2016-07-13 株式会社三共 遊技機および記録媒体
JP6270101B2 (ja) * 2013-08-14 2018-01-31 株式会社エルイーテック 暗号回路のための切替手段を有するコンピュータチップ
JP2015136456A (ja) * 2014-01-21 2015-07-30 株式会社大一商会 封入球式遊技機
JP7101970B2 (ja) * 2018-05-17 2022-07-19 株式会社エルイーテック 遊技機用の半導体装置にパスワードを登録するパスワード登録装置及びパスワードが登録された遊技機用の半導体装置
JP2018183642A (ja) * 2018-07-30 2018-11-22 株式会社大一商会 遊技機
JP2018161569A (ja) * 2018-07-30 2018-10-18 株式会社大一商会 遊技機
CN111803916B (zh) * 2020-06-11 2024-07-19 深圳市谷粒科技有限公司 一种游戏手柄的自动学习和数据读写方法及其装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0997215A (ja) * 1995-10-02 1997-04-08 Fujitsu Ltd 秘匿情報通信システム
JP2918838B2 (ja) * 1996-03-18 1999-07-12 株式会社エルイーテック 遊技機制御用マイクロコンピュータ
JPH11212791A (ja) * 1998-01-23 1999-08-06 Brother Ind Ltd データ書換装置
JP4451503B2 (ja) * 1998-03-09 2010-04-14 株式会社トッパンTdkレーベル ゲーム機用icカードシステム
JP3644579B2 (ja) * 1998-10-29 2005-04-27 富士通株式会社 セキュリティ強化方法及び装置
JP2001202694A (ja) * 1999-06-23 2001-07-27 Mitsubishi Chemicals Corp 記録媒体、記録媒体の初期化方法並びに記録媒体上での暗号化方法及び暗号化装置並びに復号化装置並びに音響・映像・データ装置
JP2001216482A (ja) * 1999-11-10 2001-08-10 Matsushita Electric Ind Co Ltd 電気機器及び可搬型記録媒体
JP4064101B2 (ja) * 2000-12-22 2008-03-19 株式会社リコー 画像形成装置、暗号化データ処理方法及び暗号化データ処理システム
JP2003263471A (ja) * 2002-03-07 2003-09-19 Progress Interactive Inc 携帯情報端末を用いた印刷用データ送信・管理システム
JP2004312267A (ja) * 2003-04-04 2004-11-04 Sony Corp 画像伝送システム,撮像装置,撮像装置ユニット,鍵生成装置,およびプログラム
JP4093170B2 (ja) * 2003-10-28 2008-06-04 株式会社デンソーウェーブ アクセス認証装置及びその認証方法
JP4590203B2 (ja) * 2004-04-30 2010-12-01 株式会社エルイーテック 遊技機制御用チップセット及び遊技機制御用チップ間の通信方法
JP2005346401A (ja) * 2004-06-03 2005-12-15 Sharp Corp データ通信システム及びデータ通信装置
JP2006331125A (ja) * 2005-05-26 2006-12-07 Sharp Corp 認証装置及び認証システム
JP2006228240A (ja) * 2006-03-16 2006-08-31 Bank Of Tokyo-Mitsubishi Ufj Ltd 認証システム

Also Published As

Publication number Publication date
JP2008148851A (ja) 2008-07-03

Similar Documents

Publication Publication Date Title
JP4118092B2 (ja) 記憶装置および情報処理装置
JP3754004B2 (ja) データ更新方法
US7032240B1 (en) Portable authorization device for authorizing use of protected information and associated method
CN103415855B (zh) 大容量存储设备存储器加密方法、系统及装置
JP4550050B2 (ja) 利用認証方法、利用認証プログラム、情報処理装置および記録媒体
JP5164372B2 (ja) 遊技機制御用チップ及びそのromライタ
JP2009524880A (ja) データセキュリティシステム
JP2004040717A (ja) 機器認証システム
JPH04143881A (ja) 相互認証方式
JPH01500932A (ja) 外部からの許可データをメモリカードなどの携帯可能物体により確認する方法
JP2004295271A (ja) カード及びパスコード生成器
JP2009100394A (ja) 情報処理装置および方法、記録媒体、プログラム、並びに情報処理システム
JPH11306088A (ja) Icカードおよびicカードシステム
US20090187770A1 (en) Data Security Including Real-Time Key Generation
JPWO2006075355A1 (ja) プログラマブルロジックコントローラの周辺装置
CA2393543C (en) Portable authorization device for authorizing use of protected information and associated method
JP3824297B2 (ja) 外部記憶装置とシステム装置との間でなされる認証方法、認証システム、および外部記憶装置
JP4226582B2 (ja) データ更新システム
JP4998314B2 (ja) 通信制御方法および通信制御プログラム
JP6738636B2 (ja) 紡績機の装置機能の許可方法
JP2003076611A (ja) セキュリティ機能を有するメモリカード
JPH10108963A (ja) 遊技機制御基板の照合判定情報及び遊技機情報の暗号化通信システム
TWI651624B (zh) 智慧型硬體安全載具
JP2003186560A (ja) 遊技機用cpu及びromライター
JP2019134288A (ja) 情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120330

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121009

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121218

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

Free format text: PAYMENT UNTIL: 20151228

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5164372

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees