JPH05265866A - 外部romのセキュリティシステム - Google Patents
外部romのセキュリティシステムInfo
- Publication number
- JPH05265866A JPH05265866A JP4063964A JP6396492A JPH05265866A JP H05265866 A JPH05265866 A JP H05265866A JP 4063964 A JP4063964 A JP 4063964A JP 6396492 A JP6396492 A JP 6396492A JP H05265866 A JPH05265866 A JP H05265866A
- Authority
- JP
- Japan
- Prior art keywords
- rom
- external rom
- fixed data
- data
- external
- 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.)
- Pending
Links
Landscapes
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Microcomputers (AREA)
Abstract
(57)【要約】
【目的】 ROM内蔵型の1チップCPUに外付けする
外部ROMのセキュリティを高める為になされたもので
あり、外部ROMに固定データ領域を設け、1チップC
PUのROMのチェック手段で前記固定データ領域のデ
ータをチェックすることによってデータのセキュリティ
を確保した外部ROMのセキュリティシステムを提供す
ることである。 【構成】 1チップCPUに内蔵され外部から読出し出
来ないように構成した内蔵ROMと、前記1チップCP
Uに接続され予め設定された固定データ領域を有する外
部ROMとを具備すると共に前記内蔵ROMには前記外
部ROMの固定データ領域のチェック手段を設けた外部
ROMのセキュリティシステム。
外部ROMのセキュリティを高める為になされたもので
あり、外部ROMに固定データ領域を設け、1チップC
PUのROMのチェック手段で前記固定データ領域のデ
ータをチェックすることによってデータのセキュリティ
を確保した外部ROMのセキュリティシステムを提供す
ることである。 【構成】 1チップCPUに内蔵され外部から読出し出
来ないように構成した内蔵ROMと、前記1チップCP
Uに接続され予め設定された固定データ領域を有する外
部ROMとを具備すると共に前記内蔵ROMには前記外
部ROMの固定データ領域のチェック手段を設けた外部
ROMのセキュリティシステム。
Description
【0001】
【産業上の利用分野】本発明は、外部ROMを外付けし
たROM内蔵型1チップCPU(マイクロコンピュー
タ)における、外部ROMの機密性、安全性を高めた外
部ROMのセキュリティシステムに関するものである。
たROM内蔵型1チップCPU(マイクロコンピュー
タ)における、外部ROMの機密性、安全性を高めた外
部ROMのセキュリティシステムに関するものである。
【0002】
【従来の技術】近年、マイクロコンピュータ(MPU又
はCPU)を用いたコンピュータシステムにおいては、
CPU本体自身に各種の機能(通信用LSI、パラレル
I/OLSI、ROM、RAM等)を内蔵したいわゆる
1チップCPUが盛んに用いられている。特に、ROM
内蔵型の1チップCPUは小規模のシステムを組む際に
回路の小型化が計れるというメリットを活かして用いら
れている。そして、この1チップCPUに内蔵されるR
OMには各種のものが有って、例えば、マスクROMの
ように製造時に書き込まれたデータを書き換えることは
できず汎用的なプログラム内容に用いられるもの、1タ
イムROMのようにユーザにより1回だけプログラムが
行なえるもの、EPROM、E2 PROM、フラッシュ
メモリ等のようにデータを自由に書き換えることができ
るものがそれぞれの用途に応じて使用されている。しか
もこれらは何れのものもCPUに接続される外部バスを
経てROM内容を読み出すことは不可能なプロテクト機
能を有しており、機密性、安全性といったセキュリティ
の面でも有用であった。従って、このようなROM内蔵
型の1チップCPUだけを用いてシステム全体を制御す
るプログラムを構築することも不可能ではなかったが、
プログラムの宿命としてプログラムの規模(ステップ数
で示される)が大きくなればなるほど潜在的な不具合
(プログラムエラーを発生させるバグの存在)の可能性
も高くなり、しかもプログラムの運用を進めて行く上で
必ず起こる部分変更の際にも高価なROM内蔵型の1チ
ップCPU自体を交換しなければならずコスト的にも問
題があった。このような事情から、一般的には書換が可
能な外部ROM(1タイムROM、EPROM、E2 P
ROM、フラッシュメモリ等)を1チップCPUに外付
けして使用していた。しかしながら、1チップCPU内
蔵のROMのようにプロテクト機能がないので、外部か
らのデータ変造等に対して無防備状態であり、データの
秘匿性、安全性の低下といったセキュリティ上の問題が
生じており何らかの解決策が求められていた。
はCPU)を用いたコンピュータシステムにおいては、
CPU本体自身に各種の機能(通信用LSI、パラレル
I/OLSI、ROM、RAM等)を内蔵したいわゆる
1チップCPUが盛んに用いられている。特に、ROM
内蔵型の1チップCPUは小規模のシステムを組む際に
回路の小型化が計れるというメリットを活かして用いら
れている。そして、この1チップCPUに内蔵されるR
OMには各種のものが有って、例えば、マスクROMの
ように製造時に書き込まれたデータを書き換えることは
できず汎用的なプログラム内容に用いられるもの、1タ
イムROMのようにユーザにより1回だけプログラムが
行なえるもの、EPROM、E2 PROM、フラッシュ
メモリ等のようにデータを自由に書き換えることができ
るものがそれぞれの用途に応じて使用されている。しか
もこれらは何れのものもCPUに接続される外部バスを
経てROM内容を読み出すことは不可能なプロテクト機
能を有しており、機密性、安全性といったセキュリティ
の面でも有用であった。従って、このようなROM内蔵
型の1チップCPUだけを用いてシステム全体を制御す
るプログラムを構築することも不可能ではなかったが、
プログラムの宿命としてプログラムの規模(ステップ数
で示される)が大きくなればなるほど潜在的な不具合
(プログラムエラーを発生させるバグの存在)の可能性
も高くなり、しかもプログラムの運用を進めて行く上で
必ず起こる部分変更の際にも高価なROM内蔵型の1チ
ップCPU自体を交換しなければならずコスト的にも問
題があった。このような事情から、一般的には書換が可
能な外部ROM(1タイムROM、EPROM、E2 P
ROM、フラッシュメモリ等)を1チップCPUに外付
けして使用していた。しかしながら、1チップCPU内
蔵のROMのようにプロテクト機能がないので、外部か
らのデータ変造等に対して無防備状態であり、データの
秘匿性、安全性の低下といったセキュリティ上の問題が
生じており何らかの解決策が求められていた。
【0003】
【発明が解決しようとする課題】本発明は以上のような
問題点を解決するためのものであり、その目的は、RO
M内蔵型の1チップCPUに外付けする外部ROMのセ
キュリティを高める為になされたものであり、外部RO
Mに固定データ領域を設け、1チップCPU内蔵のRO
Mのチェック手段で前記固定データ領域のデータをチェ
ックすることによってデータのセキュリティを確保した
外部ROMのセキュリティシステムを提供することであ
る。
問題点を解決するためのものであり、その目的は、RO
M内蔵型の1チップCPUに外付けする外部ROMのセ
キュリティを高める為になされたものであり、外部RO
Mに固定データ領域を設け、1チップCPU内蔵のRO
Mのチェック手段で前記固定データ領域のデータをチェ
ックすることによってデータのセキュリティを確保した
外部ROMのセキュリティシステムを提供することであ
る。
【0004】
【発明の開示】上記本発明の目的は、1チップCPUに
内蔵され外部から読出し出来ないように構成した内蔵R
OMと、前記1チップCPUに接続され予め設定された
固定データ領域を有する外部ROMとを具備すると共に
前記内蔵ROMには前記外部ROMの固定データ領域の
チェック手段(プログラム)を設けたことを特徴とする
外部ROMのセキュリティシステムによって達成され
る。
内蔵され外部から読出し出来ないように構成した内蔵R
OMと、前記1チップCPUに接続され予め設定された
固定データ領域を有する外部ROMとを具備すると共に
前記内蔵ROMには前記外部ROMの固定データ領域の
チェック手段(プログラム)を設けたことを特徴とする
外部ROMのセキュリティシステムによって達成され
る。
【0005】又、前記外部ROMの固定データ領域に、
予め設定された内蔵ROMのデータとの比較を行う為の
固定アドレスに固定データを格納した構成とすることが
望ましい。又、前記外部ROMの固定データ領域に、当
該外部ROMが有する予備領域に格納する固定データを
格納した構成とすることが望ましい。
予め設定された内蔵ROMのデータとの比較を行う為の
固定アドレスに固定データを格納した構成とすることが
望ましい。又、前記外部ROMの固定データ領域に、当
該外部ROMが有する予備領域に格納する固定データを
格納した構成とすることが望ましい。
【0006】又、前記外部ROMの固定データ領域に、
当該外部ROMが有する予備領域のバイト数のカウント
数データを格納した構成とすることが望ましい。又、前
記外部ROMの固定データ領域に、当該外部ROMが有
する全ての領域に対するエラー検出符号を格納した構成
とすることが望ましい。
当該外部ROMが有する予備領域のバイト数のカウント
数データを格納した構成とすることが望ましい。又、前
記外部ROMの固定データ領域に、当該外部ROMが有
する全ての領域に対するエラー検出符号を格納した構成
とすることが望ましい。
【0007】
【作用】即ち、上記の如く構成させた外部ROMのセキ
ュリティシステムにあっては、プログラムの実行中に、
1チップCPU側が認識している外部ROMの固定デー
タ領域の固定データが予め設定された固定データである
か否かをチェック手段によってチェック操作、即ち固定
アドレスの固定データ、予備領域に格納する固定デー
タ、予備領域のバイト数のカウント数データ及び外部R
OMが有する全ての領域に対するエラー検出符号のチェ
ック操作を行い、この内1つでも不一致であるならば1
チップCPUはホールド状態となり、プログラム全体の
動作が停止する。
ュリティシステムにあっては、プログラムの実行中に、
1チップCPU側が認識している外部ROMの固定デー
タ領域の固定データが予め設定された固定データである
か否かをチェック手段によってチェック操作、即ち固定
アドレスの固定データ、予備領域に格納する固定デー
タ、予備領域のバイト数のカウント数データ及び外部R
OMが有する全ての領域に対するエラー検出符号のチェ
ック操作を行い、この内1つでも不一致であるならば1
チップCPUはホールド状態となり、プログラム全体の
動作が停止する。
【0008】このようにデータを書換えたり、変造され
たり或いは内容が覗かれる可能性のある外部ROMに対
してはプログラムの実行中であっても常に1チップCP
U側のチェック手段によってチェックがなされ、(具体
的には外部ROM側のプログラムがある処理を実行する
際には必ず1チップCPU側にアクセスし、各固定デー
タの一致が確認されなければ実行に移れないようにして
おくものである)その結果、秘密データの秘匿化、セキ
ュリティの確保が達成できる等総合的なデータやシステ
ム管理が行なえる。
たり或いは内容が覗かれる可能性のある外部ROMに対
してはプログラムの実行中であっても常に1チップCP
U側のチェック手段によってチェックがなされ、(具体
的には外部ROM側のプログラムがある処理を実行する
際には必ず1チップCPU側にアクセスし、各固定デー
タの一致が確認されなければ実行に移れないようにして
おくものである)その結果、秘密データの秘匿化、セキ
ュリティの確保が達成できる等総合的なデータやシステ
ム管理が行なえる。
【0009】即ち、プロテクト機能のない外部ROMに
おいてもデータ内容のチェック管理を1チップCPU側
のチェック手段を用いて行うように構成しているので、
万一、チェックに掛かった場合即ち内容の変造等の可能
性が有る場合にはプログラム自体がストップしてしまう
のでデータの安全性は保たれるものである。
おいてもデータ内容のチェック管理を1チップCPU側
のチェック手段を用いて行うように構成しているので、
万一、チェックに掛かった場合即ち内容の変造等の可能
性が有る場合にはプログラム自体がストップしてしまう
のでデータの安全性は保たれるものである。
【0010】
【実施例】図1乃至図4は、本発明に係る外部ROMの
セキュリティシステムの一実施例を示すもので、図1は
本システムの概略構成図、図2はメモリマップの構成
図、図3は本システムに用いられる外部ROMの各領域
に格納される内容を説明した説明図、図4は処理の流れ
を示すフロー図である。
セキュリティシステムの一実施例を示すもので、図1は
本システムの概略構成図、図2はメモリマップの構成
図、図3は本システムに用いられる外部ROMの各領域
に格納される内容を説明した説明図、図4は処理の流れ
を示すフロー図である。
【0011】図1中、1は1チップCPUであり、デー
タ変造に対するプロテクト機能を有する内蔵ROM2が
内蔵されるものである。そしてこの内蔵ROM2には後
述する如くチェック手段(プログラム)3を有し、外部
ROM内に格納される固定データと内蔵ROM2内のデ
ータとを比較し一致、不一致であるかをチェックするも
のである。
タ変造に対するプロテクト機能を有する内蔵ROM2が
内蔵されるものである。そしてこの内蔵ROM2には後
述する如くチェック手段(プログラム)3を有し、外部
ROM内に格納される固定データと内蔵ROM2内のデ
ータとを比較し一致、不一致であるかをチェックするも
のである。
【0012】4は、この1チップCPU1に外部バスに
よってアクセスされる外部ROMであり、プログラムメ
モリ5とデータメモリ6により構成されている。(尚、
このデータメモリ6がプログラムメモリ5内に設けられ
ているものもある。)そして、このプログラムメモリ5
及びデータメモリ6はそれぞれ必要に応じて書換が可能
な外部ROM例えば、1タイムROM、EPROM、E
2 PROM、フラッシュメモリ等を使用するものであ
る。
よってアクセスされる外部ROMであり、プログラムメ
モリ5とデータメモリ6により構成されている。(尚、
このデータメモリ6がプログラムメモリ5内に設けられ
ているものもある。)そして、このプログラムメモリ5
及びデータメモリ6はそれぞれ必要に応じて書換が可能
な外部ROM例えば、1タイムROM、EPROM、E
2 PROM、フラッシュメモリ等を使用するものであ
る。
【0013】7は同様に1チップCPU1に外部バスに
よって接続される外部RAMによって構成されるデータ
メモリであり、具体的には例えばS−RAM、D−RA
M、擬似S−RAM等によって構成されるものである。
8は同様にプリンタ、9は表示器、10は電話回線等と
接続する通信に用いられる装置、11はカレンダ/時計
機能、12はテンキー等で構成される入力部、13は1
チップCPU1が直接的に駆動するモータードライブで
ある。
よって接続される外部RAMによって構成されるデータ
メモリであり、具体的には例えばS−RAM、D−RA
M、擬似S−RAM等によって構成されるものである。
8は同様にプリンタ、9は表示器、10は電話回線等と
接続する通信に用いられる装置、11はカレンダ/時計
機能、12はテンキー等で構成される入力部、13は1
チップCPU1が直接的に駆動するモータードライブで
ある。
【0014】尚、前作業として、1チップCPUに内蔵
されるROMのプログラムは市販のROMライタを用い
て書き込まれるものである。この時点ではROMの内容
の読込、外部からの内容へのアクセスは可能である。
又、内容が正しく書き込まれているか否かがベリファイ
機能又は、チェック機能を用いてチェックされ、その
後、特定のコマンド、データを固定アドレスに書き込む
ことによってROM内容を読出し不可能なモードにして
おくものである。
されるROMのプログラムは市販のROMライタを用い
て書き込まれるものである。この時点ではROMの内容
の読込、外部からの内容へのアクセスは可能である。
又、内容が正しく書き込まれているか否かがベリファイ
機能又は、チェック機能を用いてチェックされ、その
後、特定のコマンド、データを固定アドレスに書き込む
ことによってROM内容を読出し不可能なモードにして
おくものである。
【0015】以下、図2のメモリマップについて説明す
る。即ち、図に示すように内蔵ROM2は前述した如く
ROMライタによってプログラムが書き込まれた後に外
部バスから内容のアクセスができないように構成されて
おり、その内容としては1チップCPU1の初期化(具
体的にはI/Oマップ、各ポートのビットコントロール
方法、タイマーのカウント値等のデータ)、固定デー
タ、チェックルーチン(内蔵ROM側の前記固定データ
と外部ROM側の固定データとを比較し一致、不一致の
判断を行う為のプログラム)、文字フォント(字体)、
外部ROM内に格納しておき第三者に覗かれては困る例
えば変換テーブル等のルーチンが格納されている。
る。即ち、図に示すように内蔵ROM2は前述した如く
ROMライタによってプログラムが書き込まれた後に外
部バスから内容のアクセスができないように構成されて
おり、その内容としては1チップCPU1の初期化(具
体的にはI/Oマップ、各ポートのビットコントロール
方法、タイマーのカウント値等のデータ)、固定デー
タ、チェックルーチン(内蔵ROM側の前記固定データ
と外部ROM側の固定データとを比較し一致、不一致の
判断を行う為のプログラム)、文字フォント(字体)、
外部ROM内に格納しておき第三者に覗かれては困る例
えば変換テーブル等のルーチンが格納されている。
【0016】又、外部ROMにはメインプログラム、固
定データ(前記内蔵ROM側の固定データと比較される
もの)、予備領域(例えば全てFF等の固定データでも
って埋め尽くしておいて内蔵ROM側のチェックルーチ
ンで一致、不一致の判断を行う為に用いても良い)、予
備領域の数をカウントした値を格納する場所、外部RO
M全領域に対するチェックデジット(例えばCRCやチ
ェックサム)の値等が格納されている。
定データ(前記内蔵ROM側の固定データと比較される
もの)、予備領域(例えば全てFF等の固定データでも
って埋め尽くしておいて内蔵ROM側のチェックルーチ
ンで一致、不一致の判断を行う為に用いても良い)、予
備領域の数をカウントした値を格納する場所、外部RO
M全領域に対するチェックデジット(例えばCRCやチ
ェックサム)の値等が格納されている。
【0017】次に図3を用いて外部ROMの各領域に格
納される内容を説明する。即ち、(1)、(3)、
(5)、(7)、(9)の領域には内蔵ROM側のチェ
ックルーチンがアクセスして内蔵ROM側の固定データ
と比較(一致又は不一致)する固定データが格納され
る。(2)、(4)、(6)、(8)、(10)の領域
にはメインプログラムが格納される。
納される内容を説明する。即ち、(1)、(3)、
(5)、(7)、(9)の領域には内蔵ROM側のチェ
ックルーチンがアクセスして内蔵ROM側の固定データ
と比較(一致又は不一致)する固定データが格納され
る。(2)、(4)、(6)、(8)、(10)の領域
にはメインプログラムが格納される。
【0018】(11)の領域にはメインプログラムの余
った予備領域であって、予め決められたFF等のパター
ンによって埋められる。(12)の領域には(11)の
予備領域のバイト数を格納する。(例えば200バイト
とするとC8Hとなる)(13)の領域には外部ROM
全領域に対するチェックデジットであるCRC値が格納
される。
った予備領域であって、予め決められたFF等のパター
ンによって埋められる。(12)の領域には(11)の
予備領域のバイト数を格納する。(例えば200バイト
とするとC8Hとなる)(13)の領域には外部ROM
全領域に対するチェックデジットであるCRC値が格納
される。
【0019】以下、図4のフロー図を用いて具体的な動
作処理の説明をする。 (1)パワーオンの後、外部ROMを1バイト又は2バ
イト読み込む(ステップ1) (2)1チップCPUの初期化が終わっているか否か。
(ステップ2) (3)ステップ2がNOの場合、初期化パラメータは外
部ROMか否か。
作処理の説明をする。 (1)パワーオンの後、外部ROMを1バイト又は2バ
イト読み込む(ステップ1) (2)1チップCPUの初期化が終わっているか否か。
(ステップ2) (3)ステップ2がNOの場合、初期化パラメータは外
部ROMか否か。
【0020】(ステップ3) (4)ステップ3がNOの場合、内蔵ROMが参照さ
れ、内蔵ROMが持っている初期化パラメータでもって
1チップCPUの初期化が実行され、(ステップ4)次
いで初期化フラグがセットされて(ステップ5)、1チ
ップCPUの初期化終了状態に戻る。 (5)ステップ3がYESの場合、外部ROMが参照さ
れ、パラメータがセットされ、(ステップ6)パラメー
タ数がカウントされる。(ステップ7) 尚、外部ROMのパラメータは暗号化されているものと
し随時解読しながら初期化するものとする。 (6)パラメータ数のカウント終了か否か。
(ステップ8) (7)ステップ8がNOの場合、ステップ10に移行す
る。 (8)ステップ8がYESの場合、初期化フラグがセッ
トされて(ステップ9)、1チップCPUの初期化終了
状態に戻る。 (9)ステップ2がYESの場合、外部ROMアクセス
終了か否か。
れ、内蔵ROMが持っている初期化パラメータでもって
1チップCPUの初期化が実行され、(ステップ4)次
いで初期化フラグがセットされて(ステップ5)、1チ
ップCPUの初期化終了状態に戻る。 (5)ステップ3がYESの場合、外部ROMが参照さ
れ、パラメータがセットされ、(ステップ6)パラメー
タ数がカウントされる。(ステップ7) 尚、外部ROMのパラメータは暗号化されているものと
し随時解読しながら初期化するものとする。 (6)パラメータ数のカウント終了か否か。
(ステップ8) (7)ステップ8がNOの場合、ステップ10に移行す
る。 (8)ステップ8がYESの場合、初期化フラグがセッ
トされて(ステップ9)、1チップCPUの初期化終了
状態に戻る。 (9)ステップ2がYESの場合、外部ROMアクセス
終了か否か。
【0021】(ステップ10) (10)ステップ10がNOの場合、チェックサム、C
RC値を計算する。尚、他の誤り検出符号を用いた方法
を用いても良い。 (ステップ11) (11)固定データをチェックするか否か。
(ステップ12) (12)ステップ12がNOの場合、ステップ15の前
段へ入る。 (13)ステップ12がYESの場合、データが正しい
か否か。
RC値を計算する。尚、他の誤り検出符号を用いた方法
を用いても良い。 (ステップ11) (11)固定データをチェックするか否か。
(ステップ12) (12)ステップ12がNOの場合、ステップ15の前
段へ入る。 (13)ステップ12がYESの場合、データが正しい
か否か。
【0022】(ステップ13) (14)ステップ13がNOの場合、データ異常NG1
=1をセットしステップ15の前段へ入る。尚、外部R
OMの予め知り得るアドレスの固定データが正しいか否
かをチェックした結果であり、NG1=0が正常、NG
1=1が異常。 (ス
テップ14) (15)ステップ13がYESの場合、FF値チェック
するか否か。
=1をセットしステップ15の前段へ入る。尚、外部R
OMの予め知り得るアドレスの固定データが正しいか否
かをチェックした結果であり、NG1=0が正常、NG
1=1が異常。 (ス
テップ14) (15)ステップ13がYESの場合、FF値チェック
するか否か。
【0023】(ステップ15) (16)ステップ15がNOの場合、ステップ20前段
へ入る。 (17)ステップ15がYESの場合、FFか否か。
(ステップ16) (18)ステップ16がNOの場合、FF以外である
(異常)のでNG2=1セットし、ステップ20前段へ
入る。尚、外部ROMの予備領域(例えばFFが格納さ
れている)の固定データが正しいか否かチェックした結
果であり、NG2=0が正常、NG2=1が異常とな
る。
へ入る。 (17)ステップ15がYESの場合、FFか否か。
(ステップ16) (18)ステップ16がNOの場合、FF以外である
(異常)のでNG2=1セットし、ステップ20前段へ
入る。尚、外部ROMの予備領域(例えばFFが格納さ
れている)の固定データが正しいか否かチェックした結
果であり、NG2=0が正常、NG2=1が異常とな
る。
【0024】(ステップ17) (19)ステップ16がYESの場合、FFの数(バイ
ト数)OKか否か。(ステップ18) (20)ステップ18がNOの場合、FFの数(バイト
数)が異なり異常と判断され、NG3=1セットし、ス
テップ20前段へ入る。尚、外部ROMの予備領域(例
えばFF値の総数(バイト数)が格納されている)の固
定データが正しいか否かチェックした結果であり、NG
3=0が正常、NG3=1が異常を示す。
(ステップ19) (21)ステップ18がYESの場合、外部ROMのア
ドレスを+1、又は+2して、(ステップ20)その後
ステップ1の前段に戻る。 (22)ステップ10がYESの場合、チェックサム値
又はCRC値(他の誤り検出符号を用いても良い。はO
Kか否か。 (ステップ21) (23)ステップ21がNOの場合、エラー状態の表示
を行う。
ト数)OKか否か。(ステップ18) (20)ステップ18がNOの場合、FFの数(バイト
数)が異なり異常と判断され、NG3=1セットし、ス
テップ20前段へ入る。尚、外部ROMの予備領域(例
えばFF値の総数(バイト数)が格納されている)の固
定データが正しいか否かチェックした結果であり、NG
3=0が正常、NG3=1が異常を示す。
(ステップ19) (21)ステップ18がYESの場合、外部ROMのア
ドレスを+1、又は+2して、(ステップ20)その後
ステップ1の前段に戻る。 (22)ステップ10がYESの場合、チェックサム値
又はCRC値(他の誤り検出符号を用いても良い。はO
Kか否か。 (ステップ21) (23)ステップ21がNOの場合、エラー状態の表示
を行う。
【0025】(ステップ22) (24)ステップ21がYESの場合、NG1=0か
(OKか)否か。尚、外部ROMの予め知り得るアドレ
スの固定データが正しいか否かをチェックした結果であ
り、NG1=0が正常、NG1=1が異常となる。
(ステップ
23) (25)ステップ23がNOの場合、エラー状態の表示
を行う。
(OKか)否か。尚、外部ROMの予め知り得るアドレ
スの固定データが正しいか否かをチェックした結果であ
り、NG1=0が正常、NG1=1が異常となる。
(ステップ
23) (25)ステップ23がNOの場合、エラー状態の表示
を行う。
【0026】(ステップ22) (26)ステップ23がYESの場合、NG2=0か
(OKか)否か。尚、外部ROMの予備領域(例えばF
Fが格納されている)の固定データが正しいか否かチェ
ックした結果であり、NG2=0が正常、NG2=1が
異常となる。 (ステップ
24) (27)ステップ24がNOの場合、エラー状態の表示
を行う。
(OKか)否か。尚、外部ROMの予備領域(例えばF
Fが格納されている)の固定データが正しいか否かチェ
ックした結果であり、NG2=0が正常、NG2=1が
異常となる。 (ステップ
24) (27)ステップ24がNOの場合、エラー状態の表示
を行う。
【0027】(ステップ22) (28)ステップ24がYESの場合、NG3=0か
(OKか)否か。尚、外部ROMの予備領域(例えばF
F値の総数(バイト数)が格納されている)の固定デー
タが正しいか否かチェックした結果であり、NG3=0
が正常、NG3=1が異常を示す。 (ステップ
25) (29)ステップ25がNOの場合、エラー状態の表示
を行う。
(OKか)否か。尚、外部ROMの予備領域(例えばF
F値の総数(バイト数)が格納されている)の固定デー
タが正しいか否かチェックした結果であり、NG3=0
が正常、NG3=1が異常を示す。 (ステップ
25) (29)ステップ25がNOの場合、エラー状態の表示
を行う。
【0028】(ステップ22) 尚、前記した(23)、(25)、(27)も同様にエ
ラー状態の表示の後CPUI/Oのリセットがなされ
(ステップ27)、その後CPUはホールド状態とな
る。 (ステップ28) 尚、ステップ21、23、24、25の各々のチェック
の結果がNG(異常)であるなら、CPUはCPU自身
のI/O(例えば、パラレルI/Oの各ビットを初期
化)をリセットし、CPUのパワーオン直後の状態にす
る。例えばモータードライブ回路をリセットし、モータ
が回りっぱなしの状態にならないようにして回路の安全
性を保つ。そして、以後CPUはCPU自身をホールド
状態にする。これ以後このマイクロコンピュータシステ
ムは動作停止となる。 (30)ステップ25がYESの場合、即ち、ステップ
21、23、24、25の全てのチェックの結果が正常
である場合には、外部ROMのメインプログラムへジャ
ンプする。 (ステップ26) 尚、内蔵ROMのプログラムの実行中に前記ステップ1
2、13、15、16、18の何れかのステップに異常
があっても外部ROMの最終アドレスまで実行(ロー
ド)は続けられる。なぜならば、異常で直ちにアクセス
を停止させてしまうとそのアドレスがチェック対象であ
ると判断されてしまう為ステップ10で最後のアドレス
まで実行させるように構成するものである。
ラー状態の表示の後CPUI/Oのリセットがなされ
(ステップ27)、その後CPUはホールド状態とな
る。 (ステップ28) 尚、ステップ21、23、24、25の各々のチェック
の結果がNG(異常)であるなら、CPUはCPU自身
のI/O(例えば、パラレルI/Oの各ビットを初期
化)をリセットし、CPUのパワーオン直後の状態にす
る。例えばモータードライブ回路をリセットし、モータ
が回りっぱなしの状態にならないようにして回路の安全
性を保つ。そして、以後CPUはCPU自身をホールド
状態にする。これ以後このマイクロコンピュータシステ
ムは動作停止となる。 (30)ステップ25がYESの場合、即ち、ステップ
21、23、24、25の全てのチェックの結果が正常
である場合には、外部ROMのメインプログラムへジャ
ンプする。 (ステップ26) 尚、内蔵ROMのプログラムの実行中に前記ステップ1
2、13、15、16、18の何れかのステップに異常
があっても外部ROMの最終アドレスまで実行(ロー
ド)は続けられる。なぜならば、異常で直ちにアクセス
を停止させてしまうとそのアドレスがチェック対象であ
ると判断されてしまう為ステップ10で最後のアドレス
まで実行させるように構成するものである。
【0029】このように、内蔵ROMのプログラムの実
行中に前記ステップ12、13、15、16、18の全
てのチェック即ち、1チップCPU側が認識している外
部ROMの固定データ領域の固定データが予め設定され
た固定データ(ステップ13)、(外部ROMが有する
全ての領域に対するエラー検出符号のチェック操作(ス
テップ11)、固定アドレスの固定データ(ステップ1
3)、予備領域に格納するFF値の固定データ(ステッ
プ16)、予備領域のバイト数のカウント数データ(ス
テップ18))であるか否かのチェックを順次行い、外
部ROMの全領域を読んだ後、ステップ14、ステップ
17、ステップ19での結果であるNG1、NG2、N
G3の1つでも不一致であるならば1チップCPUはホ
ールド状態となり、プログラム全体の動作が停止する。
行中に前記ステップ12、13、15、16、18の全
てのチェック即ち、1チップCPU側が認識している外
部ROMの固定データ領域の固定データが予め設定され
た固定データ(ステップ13)、(外部ROMが有する
全ての領域に対するエラー検出符号のチェック操作(ス
テップ11)、固定アドレスの固定データ(ステップ1
3)、予備領域に格納するFF値の固定データ(ステッ
プ16)、予備領域のバイト数のカウント数データ(ス
テップ18))であるか否かのチェックを順次行い、外
部ROMの全領域を読んだ後、ステップ14、ステップ
17、ステップ19での結果であるNG1、NG2、N
G3の1つでも不一致であるならば1チップCPUはホ
ールド状態となり、プログラム全体の動作が停止する。
【0030】外部ROMには、1チップCPU内蔵のR
OMから引続いて処理を受け継いで、システム全体を制
御するプログラムが書かれているので、外部ROMを逆
アセンブルすれば大まかなプログラムの流れを第三者に
も掴めるが、この第三者が外部ROMのプログラムにパ
ッチを当てて、他の追加プログラムを書き加えたとして
も予め設定した内蔵ROMと外部ROMとの固定データ
の不一致が判明する為に1チップCPUはホールド状態
即ちプログラム動作の停止となる。
OMから引続いて処理を受け継いで、システム全体を制
御するプログラムが書かれているので、外部ROMを逆
アセンブルすれば大まかなプログラムの流れを第三者に
も掴めるが、この第三者が外部ROMのプログラムにパ
ッチを当てて、他の追加プログラムを書き加えたとして
も予め設定した内蔵ROMと外部ROMとの固定データ
の不一致が判明する為に1チップCPUはホールド状態
即ちプログラム動作の停止となる。
【0031】その結果、秘密データの秘匿化、セキュリ
ティの確保が達成できる等総合的なデータやシステム管
理が行なえる。又、第三者が外部ROMを解析して、1
チップCPUから引き継ぐアドレス(ステップ26)を
見つけた場合、考えられることは、先ず1チップCPU
を外し、ICE(インサーキットエミュレータ)や同一
メーカーの1チップCPUをROM無しモードで用いる
ことである。この場合にあっても、1チップCPUの初
期化方法(例えば、I/Oマップ、各ポートのビットコ
ントロール方法、タイマーのカウント値等ステップ3
…)を知ることができない為にシステムの動作が不定と
なり正常に作動することはない。
ティの確保が達成できる等総合的なデータやシステム管
理が行なえる。又、第三者が外部ROMを解析して、1
チップCPUから引き継ぐアドレス(ステップ26)を
見つけた場合、考えられることは、先ず1チップCPU
を外し、ICE(インサーキットエミュレータ)や同一
メーカーの1チップCPUをROM無しモードで用いる
ことである。この場合にあっても、1チップCPUの初
期化方法(例えば、I/Oマップ、各ポートのビットコ
ントロール方法、タイマーのカウント値等ステップ3
…)を知ることができない為にシステムの動作が不定と
なり正常に作動することはない。
【0032】又、外部ROMに格納し、第三者に覗かれ
ては不都合があるデータや変換テーブル等の重要な処理
ルーチン等は1チップCPU内に格納するように設計す
ることによって、外部ROMのプログラムがある処理を
実行するとき必ず1チップCPU内にアクセスしなけれ
ばならないように設計しておけば外部ROMのプログラ
ム内容が第三者によって覗かれても何ら支障は起きな
い。
ては不都合があるデータや変換テーブル等の重要な処理
ルーチン等は1チップCPU内に格納するように設計す
ることによって、外部ROMのプログラムがある処理を
実行するとき必ず1チップCPU内にアクセスしなけれ
ばならないように設計しておけば外部ROMのプログラ
ム内容が第三者によって覗かれても何ら支障は起きな
い。
【0033】即ち、プロテクト機能のない外部ROMに
おいてもデータ内容のチェック管理を1チップCPU側
のチェック手段を用いて行うように構成しているので、
万一、チェックに掛かった場合即ち内容の変造等の可能
性が有る場合にはプログラム自体がストップしてしまう
のでデータの安全性は保たれるものである。
おいてもデータ内容のチェック管理を1チップCPU側
のチェック手段を用いて行うように構成しているので、
万一、チェックに掛かった場合即ち内容の変造等の可能
性が有る場合にはプログラム自体がストップしてしまう
のでデータの安全性は保たれるものである。
【0034】
【効果】本発明に係る外部ROMのセキュリティシステ
ムは、1チップCPUの内蔵ROMに設けられたチェッ
ク手段によって外部ROMの固定データ領域に格納され
る固定データをチェックするように構成しているので、
プログラムの実行中に、1チップCPU側が認識してい
る外部ROMの固定データ領域の固定データが予め設定
された固定データであるか否かをチェック手段によって
チェック操作、即ち固定アドレスの固定データ、予備領
域に格納する固定データ、予備領域のバイト数のカウン
ト数データ及び外部ROMが有する全ての領域に対する
エラー検出符号のチェック操作を行い、この内1つでも
不一致であるならば1チップCPUはホールド状態とな
り、プログラム全体の動作が停止する。
ムは、1チップCPUの内蔵ROMに設けられたチェッ
ク手段によって外部ROMの固定データ領域に格納され
る固定データをチェックするように構成しているので、
プログラムの実行中に、1チップCPU側が認識してい
る外部ROMの固定データ領域の固定データが予め設定
された固定データであるか否かをチェック手段によって
チェック操作、即ち固定アドレスの固定データ、予備領
域に格納する固定データ、予備領域のバイト数のカウン
ト数データ及び外部ROMが有する全ての領域に対する
エラー検出符号のチェック操作を行い、この内1つでも
不一致であるならば1チップCPUはホールド状態とな
り、プログラム全体の動作が停止する。
【0035】このようにデータを書換えたり、変造され
たり或いは内容を覗こうとする可能性のある外部ROM
に対してはプログラムの実行中であっても常に1チップ
CPU側のチェック手段によってチェックがなされ、
(具体的には外部ROM側のプログラムがある処理を実
行する際には必ず1チップCPU側にアクセスし、各固
定データの一致が確認されなければ実行に移れないよう
にしておくものである)その結果、秘密データの秘匿
化、セキュリティの確保が達成できる等総合的なデータ
やシステム管理が行なえる。
たり或いは内容を覗こうとする可能性のある外部ROM
に対してはプログラムの実行中であっても常に1チップ
CPU側のチェック手段によってチェックがなされ、
(具体的には外部ROM側のプログラムがある処理を実
行する際には必ず1チップCPU側にアクセスし、各固
定データの一致が確認されなければ実行に移れないよう
にしておくものである)その結果、秘密データの秘匿
化、セキュリティの確保が達成できる等総合的なデータ
やシステム管理が行なえる。
【0036】即ち、プロテクト機能のない外部ROMに
おいてもデータ内容のチェック管理を1チップCPU側
のチェック手段を用いて行うように構成しているので、
万一、固定データの比較によって不一致が判明した場
合、即ち内容の変造等の可能性が有る場合にはプログラ
ム自体がストップしてしまうのでデータの安全性は保た
れる等種々の特長を有する。
おいてもデータ内容のチェック管理を1チップCPU側
のチェック手段を用いて行うように構成しているので、
万一、固定データの比較によって不一致が判明した場
合、即ち内容の変造等の可能性が有る場合にはプログラ
ム自体がストップしてしまうのでデータの安全性は保た
れる等種々の特長を有する。
【図1】本発明に係る外部ROMのセキュリティシステ
ムの概略構成図である。
ムの概略構成図である。
【図2】本発明に係る外部ROMのセキュリティシステ
ムのメモリマップの構成図である。
ムのメモリマップの構成図である。
【図3】本発明に係る外部ROMのセキュリティシステ
ムに用いられる外部ROMの各領域に格納される内容を
説明した説明図である。
ムに用いられる外部ROMの各領域に格納される内容を
説明した説明図である。
【図4】本発明に係る外部ROMのセキュリティシステ
ムにおける処理の流れを示すフロー図である。
ムにおける処理の流れを示すフロー図である。
1 1チップCPU 2 内蔵ROM 3 チェック手段 4 外部ROM 5 プログラムメモリ 6 データメモリ
Claims (5)
- 【請求項1】 1チップCPUに内蔵され外部から読出
し出来ないように構成した内蔵ROMと、前記1チップ
CPUに接続され予め設定された固定データ領域を有す
る外部ROMとを具備すると共に前記内蔵ROMには前
記外部ROMの固定データ領域のチェック手段を設けた
ことを特徴とする外部ROMのセキュリティシステム。 - 【請求項2】 前記外部ROMの固定データ領域に、予
め設定された内蔵ROMのデータとの比較を行う為の固
定アドレスの固定データを格納したことを特徴とする請
求項1記載の外部ROMのセキュリティシステム。 - 【請求項3】 前記外部ROMの固定データ領域に、当
該外部ROMが有する予備領域に格納する固定データを
格納したことを特徴とする請求項1乃至2記載の外部R
OMのセキュリティシステム。 - 【請求項4】 前記外部ROMの固定データ領域に、当
該外部ROMが有する予備領域のバイト数のカウント数
データを格納したことを特徴とする請求項1乃至3記載
の外部ROMのセキュリティシステム。 - 【請求項5】 前記外部ROMの固定データ領域に、当
該外部ROMが有する全ての領域に対するエラー検出符
号を格納したことを特徴とする請求項1乃至4記載の外
部ROMのセキュリティシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4063964A JPH05265866A (ja) | 1992-03-19 | 1992-03-19 | 外部romのセキュリティシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4063964A JPH05265866A (ja) | 1992-03-19 | 1992-03-19 | 外部romのセキュリティシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05265866A true JPH05265866A (ja) | 1993-10-15 |
Family
ID=13244497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4063964A Pending JPH05265866A (ja) | 1992-03-19 | 1992-03-19 | 外部romのセキュリティシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05265866A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002023349A1 (fr) * | 2000-09-18 | 2002-03-21 | Kabushiki Kaisha Toshiba | Support electronique portable |
WO2004003838A1 (en) | 2002-06-28 | 2004-01-08 | Koninklijke Philips Electronics N.V. | Data carrier with detection means for detecting a change made of information stored with storing means |
JP2006505841A (ja) * | 2002-11-07 | 2006-02-16 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 制御装置内のマイクロコントローラのメモリ領域を確実に検査する方法および保護されたマイクロコントローラを有する制御装置 |
JP2008112443A (ja) * | 1996-09-05 | 2008-05-15 | Ericsson Inc | 電子メモリ改竄防止システム |
JP2009059303A (ja) * | 2007-09-03 | 2009-03-19 | Kyoraku Sangyo Kk | アクセス制御装置、アクセス制御方法およびアクセス制御プログラム |
-
1992
- 1992-03-19 JP JP4063964A patent/JPH05265866A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008112443A (ja) * | 1996-09-05 | 2008-05-15 | Ericsson Inc | 電子メモリ改竄防止システム |
JP2011238246A (ja) * | 1996-09-05 | 2011-11-24 | Ericsson Inc | 電子メモリ改竄防止システム |
WO2002023349A1 (fr) * | 2000-09-18 | 2002-03-21 | Kabushiki Kaisha Toshiba | Support electronique portable |
US6490667B1 (en) | 2000-09-18 | 2002-12-03 | Kabushiki Kaisha Toshiba | Portable electronic medium |
WO2004003838A1 (en) | 2002-06-28 | 2004-01-08 | Koninklijke Philips Electronics N.V. | Data carrier with detection means for detecting a change made of information stored with storing means |
US7539588B2 (en) * | 2002-06-28 | 2009-05-26 | Nxp B.V. | Data carrier with detection means for detecting a change made of information stored with storing means |
JP2006505841A (ja) * | 2002-11-07 | 2006-02-16 | ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング | 制御装置内のマイクロコントローラのメモリ領域を確実に検査する方法および保護されたマイクロコントローラを有する制御装置 |
JP2009059303A (ja) * | 2007-09-03 | 2009-03-19 | Kyoraku Sangyo Kk | アクセス制御装置、アクセス制御方法およびアクセス制御プログラム |
JP4562759B2 (ja) * | 2007-09-03 | 2010-10-13 | 京楽産業.株式会社 | アクセス制御装置、アクセス制御方法およびアクセス制御プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4523271A (en) | Software protection method and apparatus | |
US5224160A (en) | Process for securing and for checking the integrity of the secured programs | |
US6453417B1 (en) | Microcontroller with secure signature extraction | |
US8225101B2 (en) | Cross validation of data using multiple subsystems | |
KR100929870B1 (ko) | 컴퓨터 시스템의 바이오스 보안 유지방법 | |
EP1296214B1 (de) | Verfahren zur Aktivierung einer in einem Gehäuse angeordneten Steuereinheit, die gegen ein Ausspähen von Daten geschützt ist | |
US20020099950A1 (en) | Method of maintaining integrity of an instruction or data set | |
US6934887B1 (en) | Method for protecting a program flow | |
US20060101310A1 (en) | Device, system and method for verifying integrity of software programs | |
WO2006024903A1 (en) | Application code integrity check during virtual machine runtime | |
US20130091394A1 (en) | Data processing apparatus and validity verification method | |
EP3454216B1 (en) | Method for protecting unauthorized data access from a memory | |
CN107688756B (zh) | 硬盘控制方法、设备及可读存储介质 | |
US5561767A (en) | Safety critical processor and processing method for a data processing system | |
JPH05265866A (ja) | 外部romのセキュリティシステム | |
US5818755A (en) | Storage apparatus having a nonvolatile storage device capable of retaining data after an incomplete write operation and method of accessing same | |
JP4489915B2 (ja) | 暗証コード照合機能をもった携帯型情報処理装置 | |
JPH04219823A (ja) | Romデータの保護方法及び装置 | |
CN116756730A (zh) | SoC芯片多级流程控制的可信启动方法及硬件可信根 | |
US7171563B2 (en) | Method and system for ensuring security of code in a system on a chip | |
JPH086865A (ja) | データ処理装置 | |
EP3929783A1 (en) | Devices and methods to secure a system on a chip | |
JPH03147086A (ja) | Icカード | |
WO2005029272A2 (en) | Method and device for data protection and security in a gaming machine | |
US7058980B1 (en) | Device and method for protecting memory data against illicit access |