(57)【要約】【課題】  汎用ＲＯＭの不正使用を防止するために用いられるＲＯＭ不正使用防止装置を提供する。【解決手段】  アドレス領域ごとにあらかじめ設定された変換回数で逆変換されたデータが記録されたＲＯＭ３のデータの不正使用を防止する装置であって、マイクロプロセッサ２から要求されたＲＯＭデータの要求アドレスをデコードしてＲＯＭ３に送信するとともにこの要求アドレスに基づいてアドレス領域を判定しこのアドレス領域に対応する変換回数を特定するデータ変換回数特定部１３と、マイクロプロセッサ２に送信した要求アドレスに応答してＲＯＭ３から得られたＲＯＭデータをデータ変換回数特定部１３で特定された変換回数分変換して復号し、マイクロプロセッサ２に送信することにより正常にＲＯＭデータを使用することを可能にし、ＲＯＭデータの不正使用を防止する。【選択図】  図１
2006164163.tif 000002
【特許請求の範囲】
【請求項１】
アドレス領域ごとにあらかじめ設定された変換方法および変換回数で逆変換されたデータが記録されたＲＯＭデータの不正使用を防止する装置であって、
読み出し元から要求された前記ＲＯＭデータのアドレスを前記ＲＯＭに送信するとともに、このアドレスに基づいてアドレス領域を判定しこのアドレス領域に対応する変換方法および変換回数を特定するデータ変換回数特定手段と、
前記ＲＯＭへアドレスを送信したことに応答して前記ＲＯＭから得られた前記ＲＯＭデータを、前記データ変換回数特定手段で特定した前記変換方法および変換回数で変換して復号し、前記読み出し元に送信するデータ復号手段と、
を備えることを特徴とするＲＯＭ不正使用防止装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＯＭデータの不正使用を防止するために、設定された方式で逆変換されたＲＯＭデータを変換することにより使用可能な状態に復号するＲＯＭ不正使用防止装置に関する。
【背景技術】
【０００２】
一般に、コンピュータを動作させるためのプログラムの記憶媒体としてＲＯＭが多く使われている。このＲＯＭに記憶されたプログラムはＲＯＭライター等によって容易にコピーして使用することが可能であり、その容易性から不正コピーが横行しているのが実情である。これらの不正コピーを防止するため、下記の特許文献１および２に記載されている技術がある。
【０００３】
この特許文献１および２に記載の技術は、ＲＯＭデータを出力するときに行う変換の逆変換を施したデータをあらかじめＲＯＭに記録しておき、アドレス領域ごとに所定の変換を行って出力することで正常なデータを読み出すことができるというものである。
【特許文献１】特開平０９−２８２２３４号公報
【特許文献２】特許第３４６４７３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、これらはコピー防止機能を含むＬＳＩによりＲＯＭを製造することで不正コピーを防止していたため汎用ＲＯＭには適用することができず、使用範囲が限られるという問題があった。
【０００５】
本発明は上記事情に鑑みてなされたものであり、汎用ＲＯＭの不正コピー使用を防止するために用いられるＲＯＭ不正使用防止装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための本発明のＲＯＭ不正使用防止装置は、アドレス領域ごとにあらかじめ設定された変換方法および変換回数で逆変換されたデータが記録されたＲＯＭデータの不正使用を防止する装置であって、読み出し元から要求されたＲＯＭデータのアドレスをＲＯＭに送信するとともに、このアドレスに基づいてアドレス領域を判定しこのアドレス領域に対応する変換方法および変換回数を特定するデータ変換回数特定手段と、ＲＯＭへアドレスを送信したことに応答してＲＯＭから得られたＲＯＭデータを、データ変換回数特定手段で特定した変換方法および変換回数で変換して復号し、読み出し元に送信するデータ復号手段とを備えることを特徴とする。
【発明の効果】
【０００７】
本発明のＲＯＭ不正使用防止装置は、汎用ＲＯＭと、汎用ＣＰＵ等のマイクロプロセッサとの間に設けるため、コピー防止機能が搭載されていない汎用ＲＯＭに対しても不正使用を防止することができる。
【発明を実施するための最良の形態】
【０００８】
〈ＲＯＭ不正使用防止装置１の構成〉
本発明の第一実施形態を、図１〜図５を用いて説明する。
【０００９】
図１は本実施形態によるＲＯＭ不正使用防止装置１の動作を示すブロック図である。本実施形態のＲＯＭ不正使用防止装置１は、読み出し元の汎用のマイクロプロセッサであるＣＰＵ２と、あらかじめ設定された変換方法および変換回数で逆演算されることにより得られたデータが書き込まれているＲＯＭ３とに接続されている。この変換方法は逆演算により一義的にデータが算出されることが可能であればよく、変換回数はアドレス領域ごとに設定される。
【００１０】
ＲＯＭ不正使用防止装置１は、ＣＰＵ２からＲＯＭ３のデータの取得を要求する要求アドレス信号を受信してＲＯＭ３に送信し、要求アドレス信号を送信したことに応答してＲＯＭ３から得られたＲＯＭデータ信号を変換して使用可能な状態に復号してＣＰＵ２に送信する。
【００１１】
本実施形態によるＲＯＭ不正使用防止装置１は、アドレスデコード部１１と、基準アドレス信号記憶部１２と、データ変換回数特定部１３と、３個のデータ変換部１４、１５、１６と、データ選択部１７とを備える。
【００１２】
アドレスデコード部１１は、ＣＰＵ２から送信されるアドレス信号を受信してデコードし、このアドレスがＲＯＭ３のアドレス領域を分割する基準アドレス値を特定するための特定アドレスの場合は基準アドレス信号記憶部１２へ、ＲＯＭデータの取得を要求するための要求アドレスの場合はデータ変換回数特定部１３およびＲＯＭ３へ送信する。
【００１３】
基準アドレス信号記憶部１２には、あらかじめ設定された複数の特定アドレスに、アドレス信号として使用可能なビット数を有するアドレスデータ信号が入力されている。この複数の特定アドレスから、アドレスデコード部１１にてデコードされた特定アドレスが検出されたときは、検出された特定アドレスに入力されているアドレスデータ信号を基準アドレス信号としてレジスタに記憶する。基準アドレス信号記憶部１２は、記憶した基準アドレス信号をデータ変換回数特定部１３に送信する。
【００１４】
データ変換回数特定部１３は、基準アドレス信号記憶部１２から受信した複数の基準アドレス信号を基にＲＯＭのアドレス領域を分割する。さらに、分割された領域ごとに、ＲＯＭ３から取得するＲＯＭデータ信号の変換回数を設定する。そして、要求アドレス信号をアドレスデコード部１１から受信したときは、この要求アドレス信号が該当するアドレス領域を判定し、それにより変換回数を特定し、データ選択部１７に送信する。
【００１５】
データ変換部１４、１５、および１６は、ＲＯＭ３から取得したＲＯＭデータ信号を、あらかじめ設定された変換方法に従って変換する。
【００１６】
データ選択部１７は、ＲＯＭ３で呼び出されそのまま変換されていないＲＯＭデータ信号と、データ変換部１６で１回変換されたＲＯＭデータ信号と、データ変換部１６および１７で２回変換されたＲＯＭデータ信号と、データ変換部１６、１７および１８で３回変換されたＲＯＭデータ信号とを受信し、それらの中からデータ変換回数特定部１３で特定された変換回数分変換されたＲＯＭデータ信号を選択し、ＣＰＵ２に送信する。
【００１７】
〈第一実施形態による動作〉
以下、本発明の第一実施形態の動作について図２および図３を用いて説明する。図２は本実施形態の動作を示すシーケンス図であり、図３は基準アドレスの設定例を示す説明図である。
【００１８】
まず、使用者の操作によりＲＯＭ３のアドレス領域を分割する基準アドレス値を特定するための特定アドレス6759信号が、ＣＰＵ２からＲＯＭ不正使用防止装置１に送信される（Ｓ１）。
【００１９】
ＲＯＭ不正使用防止装置１のアドレスデコード部１１で特定アドレス6759信号が受信され（Ｓ２）、デコードされて基準アドレス信号記憶部１２に送信される（Ｓ３）。基準アドレス信号記憶部１２では、あらかじめ設定されている複数の特定アドレスから、アドレスデコード部１１でデコードされたアドレス6759が検出され、この特定アドレス6759に入力されているアドレスデータ信号8192が要求アドレス信号と比較するための基準アドレス信号としてレジスタＸに記憶される（Ｓ４）。
【００２０】
同様にして、ＣＰＵ２から送信された特定アドレス7311信号がＲＯＭ不正使用防止装置１のアドレスデコード部１１でデコードされ、基準アドレス信号記憶部１２の特定アドレス7311に入力されているアドレスデータ16384信号が基準アドレスとしてレジスタＹに記憶される。
【００２１】
基準アドレス信号が基準アドレス信号記憶部１２に記憶されている前提で、ＣＰＵ２からＲＯＭ３へデータの取得を要求するための要求アドレス信号がＲＯＭ不正使用防止装置１に送信される（Ｓ５）。ＲＯＭ不正使用防止装置１のアドレスデコード部１１で受信された要求アドレス信号は、デコードされてＲＯＭ３に送信されるとともにデータ変換回数特定部１３に送信される（Ｓ６、Ｓ７）。
【００２２】
データ変換回数特定部１３で要求アドレス信号が受信されると、基準アドレス信号記憶部１２から基準アドレス信号が取得され、それを基にＲＯＭ３のアドレス領域が分割され、分割されたアドレス領域ごとにデータ変換回数が設定される（Ｓ８）。
【００２３】
データ変換回数の設定について説明する。図４は基準アドレス信号からデータの変換回数を設定するアドレス領域判定部の動作の一実施形態を示すフローチャートである。
【００２４】
まず、基準アドレス信号記憶部１２で取得されたレジスタＸの値およびレジスタＹの値が０であるかどうか判別される（Ｓ２１）。どちらも０ではない（Ｓ２１の「ＹＥＳ」）場合、領域判定処理が行われる（Ｓ２２）。要求アドレスをＡとすると、Ａ値＜Ｘ値のときは変換なし（Ｓ２３）、Ｘ値≦Ａ値≦Ｙ値のときは変換１回（Ｓ２４）、Ａ値≧Ｙ値のときは変換２回（Ｓ２５）に設定される。（ＲＯＭ３には、あらかじめＡ値＜Ｘ値のときはそのまま、Ｘ値≦Ａ値≦Ｙ値のときは１回、Ａ値≧Ｙ値のときは２回の逆演算を施したデータが書き込まれている。）Ｘ、Ｙのいずれかが０であった場合はエラーとなる（Ｓ２６）。
【００２５】
図２のステップＳ７でＲＯＭ不正使用防止装置１のアドレスデコード部１１からＲＯＭ３にデコードされた要求アドレスが送信されたことに応答して、ＲＯＭ３から該当するＲＯＭデータ信号が送信され（Ｓ９、Ｓ１０）、ＲＯＭ不正使用防止装置１でＲＯＭデータ信号が取得される（Ｓ１１）。ＲＯＭ不正使用防止装置１では、受信したままのＲＯＭデータ信号と、データ変換部１４で変換が行われた１回変換済みのＲＯＭデータ信号と、さらにデータ変換部１５で変換が行われた２回変換済みのＲＯＭデータ信号と、さらにデータ変換部１６で変換が行われた３回変換済みのＲＯＭデータ信号とがデータ選択部１７に送信される（Ｓ１２）。
【００２６】
本実施形態におけるデータ変換部１４、１５、および１６における変換方法の一実施形態を図５を用いて説明する。
【００２７】
変換前のデータをａ０〜ａ７の８ビットで表し、変換後のデータをｂ０〜ｂ７の８ビットで表す。この変換方法は、任意のビットを入れ替えることと、任意のビットの論理否定とを組み合わせることで行われる。図５ではａ０→ｂ１、ａ１→ｂ２・・・に順次入れ替えられ、ａ７は論理否定により反転されたビットがｂ０に入れ替えられる。
【００２８】
この変換方法では、任意に入力される８ビットに対して出力される８ビットが一義的に決定されるため、その逆演算は容易に算出される。よって、ＲＯＭ３にはあらかじめ所定の回数逆演算により変換されたデータが保存される。
【００２９】
データ選択部１７では、受信されたそれぞれのＲＯＭデータ信号の中から、データ変換回数特定部１３にて判定された変換回数分だけ変換されたＲＯＭデータ信号が選択され（Ｓ１３）、ＣＰＵ２に送信される（Ｓ１４）。ＣＰＵ２では、このアドレス領域ごとの変換により復号されたデータを受信することによってＲＯＭデータを正常に使用することが可能になる（Ｓ１５）。
【００３０】
本実施形態によれば、ＲＯＭ不正使用防止装置１を使用する際、アドレス領域を設定するための特定のアドレス値が固定であってもその固定のアドレス値は第三者には容易に類推することはできず、不正に使用されることを防止することができる。
【００３１】
〈第二実施形態による動作〉
図６は第二実施形態による変換方法である。変換前のデータをｃ０〜ｃ７の８ビットで表し、変換後のデータをｄ０〜ｄ７の８ビットで表す。変換方法２は、任意のビットを入れ替えることと、排他的論理和とを組み合わせることと、ガロア体ＧＦ（２８）の根αを利用することにより行われる。図６では、ｃ０→ｄ１、ｃ１→ｄ２・・・に順次入れ替えられ、ｃ７はｄ０に入れ替えられるとともにｃ１、ｃ２、ｃ３との排他的論理和が求められ、ｄ２、ｄ３、ｄ４に入れ替えられる。さらにｄ０〜ｄ７の８ビットをガロア体ＧＦ（２８）の解αとして乗算して変換される。この変換が算出される変換回数分行われてもよく、２回目以降で乗算が利用されることにより行われてもよい。これらはハードウェア量によりあらかじめデータ変換演算を決定しておくことができる。
【００３２】
この第二実施形態による変換方法でも、任意に入力される８ビットに対して出力される８ビットが一義的に決定されるため、その逆演算の算出が可能である。よって、ＲＯＭ３にはあらかじめ所定の回数逆演算により変換されたデータを保存することができる。これにより、第一実施形態と同様の効果を得ることができる。
【００３３】
〈その他の実施形態〉
基準アドレス信号と要求アドレス信号とのビット数は異なってもよく、例えばレジスタＸまたはＹの値が１６ビットで、要求アドレス信号が８ビットの場合は、基準アドレス信号ＸまたはＹは８ビット毎に０であるかどうかを判断することが可能である。
【００３４】
また、ＲＯＭ３を販売用に大量に製造する場合、特定アドレス信号に対応するアドレスデータ信号をセット毎に変更することが可能である。その場合、使用者の操作によりＣＰＵ２からＲＯＭ不正使用防止１の基準アドレス信号記憶部１２にリセット信号が送信され、記憶されていたアドレスデータが消去されることにより新たなアドレスデータ信号を入力し記憶させることができる。アドレスデータ信号をセット毎に変更することにより、特定のセットのアドレスデータ信号が第三者に判明しても他のセットではそのアドレスデータ信号を正常に使用することができず、ＲＯＭデータの不正使用は不可能である。
【００３５】
また、同一セットの製造についても、製造年月日等により設定する特定アドレス信号を変更することが可能である。
【００３６】
さらに、特定アドレス信号に対応するデータの任意の２ビットを利用し、それぞれの領域でのデータ変換回数、変換内容、および変換方式等を選択するように設定することも可能であり、より確実に不正使用を防止することができる。
【図面の簡単な説明】
【００３７】
【図１】本発明のＲＯＭ不正使用防止装置の第一実施形態を示すブロック図である。
【図２】本発明のＲＯＭ不正使用防止装置の第一実施形態による動作を示すシーケンス図である。
【図３】本発明のＲＯＭ不正使用防止装置の第一実施形態による基準アドレスの設定例を示す説明図である。
【図４】本発明のＲＯＭ不正使用防止装置の第一実施形態によるアドレス領域判定部の動作を示すフローチャートである。
【図５】本発明のＲＯＭ不正使用防止装置の第一実施形態による変換部における変換方法を示す説明図である。
【図６】本発明のＲＯＭ不正使用防止装置の第二実施形態による変換部における変換方法を示す説明図である。
【符号の説明】
【００３８】
１  ＲＯＭ不正使用防止装置
２  ＣＰＵ
３  ＲＯＭ
１１  アドレスデコード部
１２  基準アドレス信号記憶部
１３  データ変換回数特定部
１４、１５、１６  データ変換部
１７  データ選択部
【図１】
2006164163.tif 000003
【図２】
2006164163.tif 000004
【図３】
2006164163.tif 000005
【図４】
2006164163.tif 000006
【図５】
2006164163.tif 000007
【図６】
2006164163.tif 000008