JP2739197B2 - 複製防止装置 - Google Patents

複製防止装置

Info

Publication number
JP2739197B2
JP2739197B2 JP7239334A JP23933495A JP2739197B2 JP 2739197 B2 JP2739197 B2 JP 2739197B2 JP 7239334 A JP7239334 A JP 7239334A JP 23933495 A JP23933495 A JP 23933495A JP 2739197 B2 JP2739197 B2 JP 2739197B2
Authority
JP
Japan
Prior art keywords
data
user
memory
address
read
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
JP7239334A
Other languages
English (en)
Other versions
JPH08179992A (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.)
Nintendo Co Ltd
Original Assignee
Nintendo 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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP7239334A priority Critical patent/JP2739197B2/ja
Publication of JPH08179992A publication Critical patent/JPH08179992A/ja
Application granted granted Critical
Publication of JP2739197B2 publication Critical patent/JP2739197B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Storage Device Security (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は複製防止装置に関す
る。より特定的には、この発明は、パーソナルコンピュ
ータやビデオゲーム装置等の情報処理装置に対して着脱
自在に装着される、外部メモリの複製を防止する複製防
止装置に関する。
【0002】
【従来技術】情報処理装置に装着される外部メモリに記
録ないし記憶されている情報は、本来の正常な使用状態
では、その情報処理装置によって自由にアクセスされ得
る。
【0003】
【発明が解決しようとする課題】しかしながら、従来の
いずれの外部メモリにおいても、本来の正常な使用状態
ではない場合、たとえばプログラムの不正複製の目的で
も読み出し可能であった。そのため、プログラムの不正
使用等を防止し、その秘密性を厳格に保持する方法がな
かった。
【0004】すなわち、従来の外部メモリにおいて、そ
の外部メモリが真正なものであるかどうかをチェックす
る方法が、たとえば、昭和61年12月27日,昭和6
2年1月9日,または昭和62年4月16日付でそれぞ
れ出願公開された特開昭61−296433号,特開昭
62−3331号,または特開昭62−82987号公
報等において開示されている。これらの公報に開示され
ている技術では、情報処理装置本体と外部メモリの両方
に同じマイクロプロセサを装着しておき、その2つのマ
イクロプロセサの間で所定の演算を行ないその結果を逐
一比較することによって、外部メモリがその情報処理装
置に対して使用を許可された真正なものであるかどうか
をチェックする。
【0005】しかしながら、このような方法によって
も、なお、外部メモリが本来の使用状態で使用されてい
ない場合のプログラムの読み出しを禁止することはでき
なかった。
【0006】それゆえに、この発明の主たる目的は、外
部メモリの本来の正常な使用状態ではない場合のプログ
ラムの読み出しを有効に防止し得る、複製防止装置を提
供することである。
【0007】
【課題を解決するための手段】この発明に従った複製防
止装置は、ユーザメモリ(42)のからユーザプログラ
ムが進行した場合に得られる所定のデータが読み出され
ているか否かを識別するためのデータを記憶した識別メ
モリ(66,86)、識別メモリに記憶されたデータに
基づいてユーザメモリからユーザプログラムが進行した
場合に得られる所定のデータが読み出されているか否か
を識別する識別手段(66,88)、中央処理手段が所
定のアドレスデータを発生したときに識別手段の識別動
作の開始を指示する信号を発生する開始手段(66,7
6,78)、電源投入或いはリセットを検出する初期状
態検出手段(46)、および初期状態検出手段が初期状
態を検出したときにユーザメモリの所定の部分を中央処
理手段からアクセス可能にし、かつ識別手段によりユー
ザメモリからユーザプログラムが進行した場合に得られ
る所定のデータが読み出されたことが識別されたときに
ユーザメモリの所定の部分以外も中央処理手段からアク
セス可能にする切換手段(40,44,60,62)
備えた複製防止装置である。
【0008】
【作用】開始手段は、中央処理手段の発生するアドレス
が所定のアドレスになったとき識別手段に対して識別動
作の開始を指示する信号を発生する。識別手段は、開始
手段からの信号に応答して識別メモリから与えられるア
ドレスデータ及びデータと、ユーザメモリに与えられる
アドレスデータ及びユーザメモリから読み出されたデー
タとを比較する。この比較により、識別手段は、ユーザ
メモリからユーザプログラムが進行した場合に得られる
所定のデータが読み出されているか否かを識別する。一
方、初期状態検出手段は、電源投入或いはリセットを検
出する。そして、切り換え手段は、初期状態検出手段が
初期状態を検出したときにユーザメモリの所定の部分を
中央処理手段からアクセス可能にし、かつ識別手段によ
り前記ユーザメモリからユーザプログラムが進行した場
合に得られる所定のデータが読み出されたことが識別さ
れた後にユーザメモリの所定の部分以外も中央処理手段
からアクセス可能にする。
【0009】
【発明の効果】この発明によれば、切換手段が、初期状
態検出手段により初期状態が検出されたときにユーザメ
モリの所定の部分が中央処理手段によりアクセスされる
ように切換え、識別手段によりユーザメモリからユーザ
プログラムが進行した場合に得られる所定のデータが読
み出されていることが識別されたときにユーザメモリ
所定の部分以外も中央処理手段によりアクセスされるよ
うに切換えるため、識別手段によりユーザメモリからユ
ーザプログラムが進行した場合に得られる所定のデータ
が読み出されていることが識別されるまで、中央処理手
段はユーザメモリの所定の部分以外にアクセスすること
ができない。
【0010】すなわち、識別手段がユーザメモリからユ
ーザプログラムが進行した場合に得られる所定のデータ
が読み出されないような本来の正常な使用状態でない場
を識別したときは、中央処理手段がユーザメモリの所
定の部分以外をアクセスすることができないので、ユー
ザメモリ内のデータや情報の全てを読み出すことができ
ない。従って、この発明を用いれば、外部メモリの秘密
性が極めて厳格に保持され得る。さらに、本発明とユー
ザメモリとを1チップのICにより構成すれば、より厳
格に秘密性が保持される。
【0011】また、識別手段によって識別すべきデータ
が、ユーザメモリのユーザプログラムの実行ないし進行
に関連するデータであるので、従来の「チェックサム」
などの方法に比べて、非常に高い信頼性がある。すなわ
ち、「チェックサム」は、ユーザプログラムが実際に進
行しなくても可能であり、したがって、この方法では、
その結果は完全には信頼できるものとはならない。これ
に対して、この発明に従えば、識別手段で識別すべきデ
ータとしてユーザメモリから実際に読み出されたデータ
が付与されるので、その結果は非常に具体的でかつ信頼
性が高いものとなる。したがって、この発明によれば、
たとえばゲームのためのプログラムやコンピュータ通信
のためのプログラム等の各種情報の不正複製やデータの
改変を防止できるので、秘密性が要求される部の記憶等
に非常に有利な外部メモリが得られる。
【0012】この発明の上述の目的,その他の目的,特
徴および利点は、図面を参照して行う以下の実施例の詳
細な説明から一層明らかとなろう。
【0013】
【実施例】図1に示す実施例の外部メモリ10は、接続
コネクタ12によって、図2に示す情報処理装置すなわ
ちこの実施例ではゲーム機本体14に装着される。
【0014】図2を参照して、ゲーム機本体14には、
コントローラ16aおよび16bが接続されるととも
に、テレビジョン受像機ないしCRT18が接続され
る。本体14の基板20上には、外部メモリ10に予め
ストアされているプログラムに従ってゲームの進行を制
御するためのマイクロプロセサ22が装着される。この
マイクロプロセサ22に、I/Oインタフェース24を
通して上述のコントローラ16a,16bおよびCRT
18が接続される。基板20上には、さらに、PPU
(Picture Processing Unit:画像処理ユニット)26,
プロテクトプロセサ28およびクロック発振器30が接
続される。このようなゲーム機本体14は、たとえば
「ファミリーコンピュータ」(商標)あるいは「任天堂
エンターテイメントシステム(Nintendo Entertaiment S
ystem:NES」(商標)としてよく知られている。
【0015】マイクロプロセサ22としては、たとえ
ば、任天堂株式会社製の集積回路“2A03”が、PP
U26としては、たとえば、任天堂株式会社製の集積回
路“2C03”がそれぞれ利用され得る。また、プロテ
クトプロセサ28は、たとえば、任天堂株式会社製の集
積回路“10NES”のような4ビットのマイクロプロ
セサによって構成され得る。
【0016】マイクロプロセサ22,PPU26および
プロテクトプロセサ28は、基板20上に形成された導
電パターンを通して、接続コネクタ36のそれぞれの接
続端子に接続される。この接続コネクタ36がおよび前
述の接続コネクタ12によって、本体14に上述の外部
メモリ10が装着されるのである。
【0017】図1を参照して、外部メモリ10には、モ
ニタROM38が設けられ、このモニタROM38は、
たとえば128Kビットの容量を有し、接続コネクタ1
2を介して、14ビットのアドレス端子A0〜A13に
接続されるとともに、8ビットのデータ端子D0〜D7
に接続される。このモニタROM38は、そのイネーブ
ル端子CEにバンクコントローラ40からのイネーブル
信号が与えられることによって、能動化される。そし
て、モニタROM38は、ユーザROM42に記録され
ているユーザプログラムの保護およびそれの管理を行う
とともに、セキュリティ機能を起動し実行するためのモ
ニタモードのためのプログラムを含む。
【0018】ユーザROM42は、たとえば1Mビット
の容量を有し、ユーザモードのための上述のユーザプロ
グラムを含むとともに、本体14(図2)の性質に応じ
て、ゲームデータや通信制御データ等の本来の使用目的
のためのプログラムをストアする。このユーザROM4
2は、上述の14ビットのアドレス端子A0〜A13お
よび8ビットのデータ端子D0〜D7に接続されるとと
もに、バンクコントローラ40からのバンク指定データ
を受けるように、3ビットのアドレス端子A14〜A1
6に接続される。なお、ユーザROM42もまた、その
イネーブル端子CEに与えられるバンクコントローラ4
0からのイネーブル信号によって能動化される。
【0019】図3を参照して、本体14(図2)に含ま
れるマイクロプロセサ22のアドレス空間は、それが8
ビットのマイクロプロセサであるため、“FFFF”〜
“0000”であり、この限られたアドレス空間によっ
て大容量のユーザROM42をアクセスする場合、この
ユーザROM42を複数のバンクに分割して、それぞれ
のバンク毎にアクセスする。そのようなバンクを選択す
るのが上述のバンクコントローラ40である。ユーザR
OM42が128Kビット毎のバンクに分割される場合
には、ユーザROM42はバンク0〜バンク7を含み、
256Kビット毎のバンクに分割される場合には、バン
ク0〜バンク3を含む。バンクコントローラ40はバン
クレジスタ44で保持されたバンクデータに基づいて、
ユーザROM42のバンクを選択的に切り換える。
【0020】ただし、バンクコントローラ40は、リセ
ット検出回路46によってリセット操作がされたことを
検出した場合あるいは電源投入リセットがあった場合に
は、必ず、モニタROM38を本体14のマイクロプロ
セサ22からアクセス可能なバンクとして指定する。
【0021】バンクレジスタ44は、データバスを介し
て与えられるバンクデータの内下位1ビットが“0”の
とき、アドレス空間“C000”〜“FFFF”(ただ
し、16進表示)でモニタROM38のメモリ空間を指
定し、かつ“8000”〜“BFFF”で一時的にユー
ザROM42を指定する。このように、モニタモードに
おいてもアドレス空間“8000”〜“BFFF”で、
一時的または瞬間的にユーザROM42を選択可能にす
るのは、ユーザROM42の或るデータを比較データと
して利用しているためである。また、バンクレジスタ4
4は、バンクデータの下位1ビットが“1”のとき、ア
ドレス空間“8000”〜“FFFF”でユーザROM
42のいずれか1つまたは2つのバンクを定常的に指定
する。
【0022】リセット検出回路46は、図4に示すよう
にD形フリップフロップ(以下「D−FF」)48a〜
48cおよび50a〜50cをそれぞれ3つずつ縦続接
続したシフトレジスタ48および50と、インバータ5
1と、ANDゲート52と、NORゲート53と、OR
ゲート54とを含む。
【0023】そして、シフトレジスタ48および50に
は、たとえば1.778MHzのシステムクロックφ2
がそれぞれのデータ入力Dとして与えられる。各D−F
F48a〜48cおよび50a〜50cには、シフトク
ロックとして、たとえば3.58MHzのクロックCL
Kが直接またはインバータ51を介して与えられる。し
たがって、システムクロックφ2またはその遅延された
データが、クロックCLKの立ち上がりでD−FF48
a〜48cに書き込まれ、クロックCLKの立ち下がり
でD−FF50a〜50cに書き込まれる。
【0024】システムクロックφ2が正常に与えられて
いる場合は、図5(C)ないし(H)に示すようになる
ので、ANDゲート52およびNORゲート53のいず
れも、オール“1”または“0”を検出しない。したが
って、ORゲート54はリセット検出信号を出力しな
い。
【0025】一方、システムクロックφ2が3クロック
期間以上欠落して、たとえばローレベルになると、D−
FF48a〜48cおよび50a〜50cの全ての出力
がローレベルになる。したがって、NORゲート53か
つしたがってORゲート54からハイレベルのリセット
検出信号が出力される。システムクロックφ2が3クロ
ック期間以上欠落してハイレベルになると、図5におい
て2点鎖線で示すように、D−FF48a〜48cおよ
び50a〜50cの全ての出力がハイレベルになる。し
たがって、ANDゲート52かつしたがってORゲート
54からハイレベルのリセット検出信号が出力される。
【0026】このようにして、リセット検出回路46で
は、システムクロックφ2が上述のように3回連続して
欠落すると、リセット操作がかけられた等によって、シ
ステムがリセット状態にあるとして検出する。この検出
出力がORゲート54から出力される。したがって、図
1に示すORゲート56からは、電源投入時のリセット
信号PWRSTまたはリセット検出回路46で検出した
リセット信号を出力する。
【0027】ORゲート56からのリセット信号はプロ
テクトプロセサ58に与えられる。このプロテクトプロ
セサ58は、先に説明した図2のプロテクトプロセサ2
8と同じであり、先に引用した特開昭61−29643
3号,特開昭62−3331号あるいは特開昭62−8
2987号に開示されていると同様の演算ないし計算を
行い、この外部メモリ10がゲーム機本体14に対して
装着が許可された真正なものであるかどうかを判断す
る。しかしながら、この発明においては、この点は重要
ではないので、ここではその詳細な説明は省略する。
【0028】暗号レジスタ60は前述のバンクコントロ
ーラ40を進めるための特定のコードをストアするため
のレジスタであり、そのコードはモニタROM38から
セットされる。
【0029】また、ファンクションレジスタ62は管理
プログラムを実行するモニタモードからユーザプログラ
ムを実行するユーザモードへの切り換えを行うためのレ
ジスタである。このレジスタ62は、たとえば電源投入
時またはリセット検出時にオール“0”が設定され、そ
の下位1ビット(D0)が“0”のときモニタROM3
8を指定し、“1”のときユーザROM42を指定す
る。
【0030】モニタROM38がユーザROM42のワ
ーキングエリアにファンクションレジスタ62およびバ
ンクレジスタ44のレジスタアドレスをセットするの
で、ユーザROM42において、間接的にこの2つのレ
ジスタアドレスを知ることができ、ユーザがこのレジス
タアドレスを自由にセットできる。しかしながら、ユー
ザがユーザROM42をセットしても、ファンクション
レジスタ62によってユーザモードからモニタモードに
切り換えることはできない。すなわち、モニタモードの
実行の後でしか、ユーザモードには移行できない。これ
によって、モニタモードにおける後述のチェックを受け
ないでユーザモードに移行してユーザROM42のユー
ザプログラムを実行することは、不可能である。このこ
とも、セキュリティの一環として有効である。
【0031】なお、前述のバンクレジスタ44,暗号レ
ジスタ60およびファンクションレジスタ62は、とも
に、レジスタアドレスデコーダ64によって能動化され
る。すなわち、レジスタアドレスデコーダ64は、外部
メモリ10の能動化信号ROMSEL(=A15・φ
2)および15ビットのアドレス端子A0〜A14のア
ドレスデータを受け、そのアドレスデータをデコードし
て、それぞれのレジスタ44,60および62を指定
し、そのときモニタROM38から必要なデータないし
コードがその指定されたレジスタにセットされる。
【0032】次に、この実施例の特徴の一つであるアド
レス・データコンパレータ(以下「ADコンパレータ」
と略称する)66について説明する。なお、以下に「A
D」と云うときは、一般的なアナログ/ディジタルの意
味ではなく、アドレス・データを意味するものとして理
解されたい。
【0033】ADコンパレータ66には、14ビットの
アドレス端子A0〜A13および8ビットのデータ端子
D0〜D7が接続されるとともに、1つのアドレス端子
A14ならびに本体14からこの外部メモリ10を能動
化するための信号ROMSELが与えられる。さらに、
このADコンパレータ66には、システムクロックφ2
が与えられる。簡単にいえば、このADコンパレータ6
6は、起動時に、アドレス端子A0〜A13のアドレス
データとデータ端子D0〜D7のデータとを、システム
クロックφ2のn分周のクロックレートでサンプリング
し、そのそれぞれを予めストアしているデータと比較
し、1ビットでも不一致が発生すると上述の各レジスタ
44,60および62の書き換えを禁止するとともに、
プロテクトプロセサ58に不一致の信号を送る。
【0034】図6を参照して、ADコンパレータ66は
アドレス端子A0〜A13およびイネーブル信号ROM
SELを受けるアドレスバスデータラッチ68、および
データ端子D0〜D7からのデータを受けるデータバス
データラッチ70を含む。これらラッチ68および70
は対応のANDケート72および74によってそのラッ
チタイミングが制御される。また、段落番号0033に
上述の通り、ADコンパレータ66はA0〜A13のア
ドレスデータとD0〜D7のデータをシステムクロック
φ2のn分周のクロックレートでサンプリングするた
め、アドレスデータとデータをサンプリングする手段で
あるラッチ68とラッチ70には、特に図6には示され
ていないが、システムクロックφ2のn分周のクロッ
ク、例えばPHIカウンタ80の出力が与えられる。そ
して、アドレスバスデータラッチ68に取り込まれたア
ドレスデータはスタートアドレス比較器76に与えられ
る。
【0035】スタートアドレス比較器76には、さら
に、比較スタートアドレス発生器78から16ビットの
スタートアドレスが与えられる。そして、スタートアド
レス比較器76に含まれる比較器76aによって、アド
レスバスデータラッチ68にラッチされたアドレスがそ
の比較スタートアドレスと一致するかどうかを判断し、
一致すると、フリップフロップ76bがセットされる。
そのため、アドレスバスデータラッチ68にラッチされ
たアドレスデータが比較スタートアドレス発生器78に
予め設定されたスタートアドレスと一致したとき、フリ
ップフロップ76bからカウンタイネーブル信号が出力
される。
【0036】カウンタイネーブル信号はPHI2カウン
タ80に与えられる。このPHI2カウンタ80はシス
テムクロックφ2およびその遅延された信号φ2DLを
そのカウント入力として受け、システムクロックφ2を
ステップデータ発生器82で設定されるステップ数n毎
に分周した信号φ2/nを出力する。そして、このPH
I2カウンタからの分周されたクロック信号φ2/nが
ADメモリアドレスカウンタ84のカウント入力として
与えられる。
【0037】ADメモリ86は、たとえば1K×2ビッ
トの容量を有し、1K×1ビットがアドレス記憶領域8
6aとして、また他の1K×1ビットがデータ記憶領域
86bとしてそれぞれ規定される。このADメモリ86
には、ユーザROM42にストアされるユーザプログラ
ムが実際に進行した場合に得られるステップデータ発生
器82に設定されたステップ数n毎の1024プログラ
ムステップ分のアドレスデータおよびそのアドレス内の
データのそれぞれ1ビットがそれぞれの領域86aおよ
び86bに書き込まれる。このようなアドレスデータお
よびデータは、ユーザROM42にストアされるユーザ
プログラムをたとえばパーソナルコンピュータ等でシュ
ミレートすることによって、ユーザプログラムができた
段階で予め知ることができる。そして、このADメモリ
86のアドレスが、ADメモリアドレスカウンタ84か
らのアドレスデータA0〜A9によって指定される。し
たがって、ADメモリアドレスカウンタ84のアドレス
指定毎に、ADメモリ86からADアドレスおよびAD
データがアドレス・データ比較器88の一方入力Aとし
て与えられる。
【0038】一方、アドレスバスデータセレクタ90が
設けられ、このアドレスバスデータセレクタ90は、ア
ドレスバスデータラッチ68からのアドレスデータを受
けるとともに、アドレスセレクタデータ発生器92から
のセレクタデータを受ける。アドレスセレクタデータ発
生器92は、15ビットのアドレス端子A0〜A14の
いずれのビットを比較ビットとして採用するかを表すセ
レクタデータを発生するものであり、したがってアドレ
スバスデータセレクタ90からは、その指定されたビッ
トのアドレスデータがアドレス・データ比較器88に与
えられる。
【0039】同じように、データバスデータセレクタ9
4が設けられ、このデータバスデータセレクタ94に
は、データセレクタデータ発生器96から、データ端子
D0〜D7のどのビットを比較ビットとして採用するか
を表すデータが与えられる。したがって、データバスデ
ータセレクタ94からは、その指定されたビットのデー
タが出力され、そのデータビットは、先のアドレスバス
データセレクタ90からのアドレスデータビットととも
に、アドレス・データ比較器88の他方入力Bに与えら
れる。
【0040】比較タイミングコントローラ98は、前述
のシステムクロックφ2およびその遅延信号φ2DLを
受け、主に、アドレス・データ比較器88における比較
タイミングを規定する比較ストローブ信号を出力する。
したがって、アドレス・データ比較器88では、比較タ
イミングコントローラ98からの比較ストローブ信号が
与えられる都度、アドレスバスデータセレクタ90から
出力されたアドレスデータビットおよびデータバスデー
タセレクタ94から出力されるデータビットを、ADメ
モリ86に予めストアされていてかつ読み出されたAD
アドレスおよびADデータと比較する。
【0041】アドレス・データ比較器88によって両入
力AおよびBの不一致が検出されると、このアドレス・
データ比較器88から、ADコンパレータ66(図1)
の端子R21を通して、プロテクトプロセサ58(図
1)およびバンクレジスタ44およびファンクションレ
ジスタ62に対して不一致信号が与えられる。応じて、
このプロテクトプロセサ58はその出力端子R12か
ら、本体14に含まれるマイクロプロセサ22にADエ
ラー信号K2Cを出力する。それによって本体14のマ
イクロプロセサ22は、この外部メモリ10を能動化す
るイネーブル信号ROMSELを禁止し、それによって
外部メモリ10が不能動状態に強制される。
【0042】また、ADコンパレータ66からの不一致
信号によって、バンクレジスタ44およびファンクショ
ンレジスタ62が不能動化される。バンクコントローラ
40がユーザROM42のバンクを指定するのが禁止さ
れる。
【0043】なお、図6のADコンパレータ66を示す
ブロック図において、二重枠で示されるブロック78,
82,92および96は、製造段階で設定された値を他
人が解析するのを困難にするために、図1に示す各レジ
スタ44,60および62とともに、イオン注入法によ
って書き込まれたROMまたはいわゆる「ワンタイムR
OM」が用いられる。したがって、これらの回路78,
82,92および96に不正使用者が適当なデータを書
き込むことはできない。
【0044】そして、上述の「ワンタイムROM」への
プリセット値をユーザROM42の種類に応じて適宜設
定することによって、プリセット値の異なる外部メモリ
との互換を禁止し、それによってユーザROM42だけ
を入れ換えて使用するような、不正使用が確実に防止で
きる。
【0045】リセット検出回路46(図1)からのリセ
ット信号がある場合あるいは電源投入リセット信号PW
RSTがある場合に、ORゲート56からリセット信号
が出力され、応じて、図7に示す動作がスタートする。
すなわち、ORゲート56からリセット信号がプロテク
トプロセサ58に与えられ、プロテクトプロセサ58と
本体側のプロテクトプロセサ28との間でデータの授受
(通信)が行われ、その通信が正常であれば、プロテク
トプロセサ58から端子R20を通してADコンパレー
タ66に対してスタート指令が与えられる。この状態で
は、バンクコントローラ40は、モニタROM38を指
定し、したがってマイクロプロセサ22(図2)はモニ
タROM38に予めストアされている管理プログラムを
実行する。
【0046】
【0047】
【0048】
【0049】
【0050】
【0051】
【0052】
【0053】
【0054】
【0055】
【0056】
【0057】なお、正規の外部メモリ10であることが
検出された後であっても、ユーザプログラムの実行中に
外部メモリ10のプロテクトプロセサ58および本体1
4のプロテクトプロセサ28のいずれか一方が演算処理
結果の不一致を検出すると、本体14のプロテクトプロ
セサ28がマイクロプロセサ22の書き込みモードおよ
び/または読み出しモードを禁止する。このように、正
規の外部メモリであることが検出された後に、プロテク
トプロセサ28および58のいずれかが異常を検出する
場合としては、前述のAD比較動作が実行された後に、
ユーザROM42のデータを複製するために、外部メモ
リ10を本体から取り外してプログラムデータを出力
(ダンプ)することが考えられる。しかしながら、この
実施例におけるように、外部メモリ10と本体14との
両方にプロテクトプロセサ58および28を設け、かつ
AD比較動作後も常にそれによるチェックを行うように
すれば、外部メモリ10を本体14から取り外して、た
とえばROMリーダにかけても、ユーザROM42を読
み出すことはできず、したがって、ユーザROM42の
複製が完全に防止できる。
【0058】なお、外部メモリ10は、より好ましく
は、図1に図示の各回路部分が1チップLSIで構成さ
れる。そうすれば、ユーザROM42だけを基板から取
り外して複製したりすることは全く不可能となり、また
接続コネクタ12を別の情報処理装置を用いて直接アク
セスすることもできない。したがって、完全なプロテク
トが実現できる。
【0059】また、上述の実施例では、電源投入時また
はリセット検出時にモニタROM38の管理プロテクト
プロセサに基づいてモニタモードを実行し、モニタモー
ドで、正規の外部メモリ10であることすなわちユーザ
ROM42とモニタROM38およびADコンパレータ
66とが所定の関係にあることを判断した後、ユーザR
OM42に切り換えてより一層完全なセキュリティのた
めにプロテクトプロセサ58および28によるプロテク
ト動作を実行した。しかしながら、この発明は、このよ
うな実施例に限らず、プロテクトプロセサ28および5
8を用いないものにも適用できることはいうまでもな
い。この場合でも、モニタROM42およびADコンパ
レータ66と所定の関係にないユーザROM42に交換
されて接続されても、その不正使用を確実に排除でき
る。
【0060】
【図面の簡単な説明】
【図1】本願発明の一実施例を示すブロック図である。
【図2】図1の実施例の外部メモリが装着され得るゲー
ム機の一例を示すブロック図である。
【図3】本体のマイクロプロセサのアドレス空間と外部
メモリのモニタROMおよびユーザROMのバンクとの
関係を示す図解図である。
【図4】リセット検出回路の一例を示す回路図である。
【図5】図4に図示のリセット検出回路の動作を説明す
るタイミング図である。
【図6】ADコンパレータの一例を示す詳細なブロック
図である。
【符号の説明】
10・・・外部メモリ 14・・・本体 24・・・マイクロプロセサ 28および58・・・プロテクトプロセサ 38・・・モニタROM 40・・・バンクコントローラ 42・・・ユーザROM 66・・・ADコンパレータ

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】中央処理手段を含む情報処理装置に着脱自
    在に装着されかつ前記中央処理手段により実行されるユ
    ーザプログラムを記憶したユーザメモリを含む外部メモ
    リの複製を防止する複製防止装置であって、 前記ユーザメモリから前記ユーザプログラムが進行し
    た場合に得られる所定のデータが読み出されていること
    を識別するためのデータを記憶した識別メモリ 記識別メモリに記憶されたデータに基づいて前記ユー
    ザメモリから前記ユーザプログラムが進行した場合に得
    られる前記所定のデータが読み出されているか否か識別
    する識別手段、 前記中央処理手段が所定のアドレスデータを発生したと
    きに、前記識別手段の識別動作の開始を指示する信号を
    発生する開始手段、 電源投入或いはリセットを検出する初期状態検出手段、
    および記初期状態検出手段が初期状態を検出したときに前記
    ユーザメモリの所定の部分を前記中央処理手段からアク
    セス可能にしかつ前記識別手段により前記ユーザメモ
    リから前記ユーザプログラムが進行した場合に得られる
    所定のデータが読み出されたことが識別されたときに前
    記ユーザメモリの前記所定の部分以外も前記中央処理手
    段からアクセス可能にする切換手段を備えた、複製防止
    装置。
  2. 【請求項2】前記複製防止装置は前記ユーザメモリを
    含む外部メモリと一体的に構成されかつ前記ユーザメモ
    リを含む1チップのICにより成る、請求項1記載の複
    製防止装置。
  3. 【請求項3】前記識別手段が、前記ユーザメモリから前
    記ユーザプログラムが進行した場合に得られる前記所定
    のデータが読み出されなかったことを識別したことに応
    答して、前記中央処理手段による前記ユーザプログラム
    の実行を禁止する禁止手段をさらに備えた、請求項1記
    載の複製防止装置。
  4. 【請求項4】前記識別メモリは、前記ユーザメモリに与
    えられるアドレスデータまたは前記ユーザメモリから読
    み出されたユーザプログラムデータのうち少なくとも一
    方のnステップ毎のデータを記憶した、請求項1記載の
    複製防止装置。
  5. 【請求項5】前記nステップ毎のデータは、前記ユーザ
    メモリのそれぞれ複数ビットから成るアドレスデータま
    たはユーザプログラムデータのうち所定の1つまたは2
    つ以上のビットから成る、請求項4記載の複製防止装
    置。
JP7239334A 1995-07-20 1995-07-20 複製防止装置 Expired - Fee Related JP2739197B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7239334A JP2739197B2 (ja) 1995-07-20 1995-07-20 複製防止装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7239334A JP2739197B2 (ja) 1995-07-20 1995-07-20 複製防止装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP63182694A Division JP2820938B2 (ja) 1988-07-21 1988-07-21 外部メモリとそれを用いる情報処理装置

Publications (2)

Publication Number Publication Date
JPH08179992A JPH08179992A (ja) 1996-07-12
JP2739197B2 true JP2739197B2 (ja) 1998-04-08

Family

ID=17043193

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7239334A Expired - Fee Related JP2739197B2 (ja) 1995-07-20 1995-07-20 複製防止装置

Country Status (1)

Country Link
JP (1) JP2739197B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010033121A (ja) * 2008-07-25 2010-02-12 Rohm Co Ltd 記憶装置

Also Published As

Publication number Publication date
JPH08179992A (ja) 1996-07-12

Similar Documents

Publication Publication Date Title
US5396609A (en) Method of protecting programs and data in a computer against unauthorized access and modification by monitoring address regions
US5012514A (en) Hard drive security system
US5144660A (en) Securing a computer against undesired write operations to or read operations from a mass storage device
US4523271A (en) Software protection method and apparatus
US5610981A (en) Preboot protection for a data security system with anti-intrusion capability
JP2000076133A (ja) 一度だけ書込み可能なメモリ内のプログラムデ―タのセキュリティ保証方法
JPH01296361A (ja) メモリカード
JP3234328B2 (ja) 内部プログラムを実行することが可能なマイクロコンピュータ用pcカード
JPS6267800A (ja) 半導体集積回路装置
US5155829A (en) Memory system and method for protecting the contents of a ROM type memory
JPH0855023A (ja) データ処理システムおよびその方法
EP0602867A1 (en) An apparatus for securing a system platform
US20080127356A1 (en) Embedded systems and methods for securing firmware therein
JP2820938B2 (ja) 外部メモリとそれを用いる情報処理装置
JP2003228521A (ja) 集積回路の動作のブロック
JP2004185536A (ja) マイクロコンピュータとその試験方法
JP2739197B2 (ja) 複製防止装置
JPH0675713A (ja) マイコンのハード・ディスクの読み書きを制御する方法及び装置
WO1993002419A1 (en) Protection system for computers
JP2000148594A (ja) Romデータの読み出しプロテクト回路
US5357467A (en) Security circuit for protecting data stored in memory
JPH07503566A (ja) ドングル
JPH0540836A (ja) シングルチツプマイクロコンピユータ
JPS6329859A (ja) 記憶保護装置
WO1998058305A1 (en) Security device

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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