JP3598350B2 - メモリアクセス制御装置 - Google Patents
メモリアクセス制御装置 Download PDFInfo
- Publication number
- JP3598350B2 JP3598350B2 JP18489093A JP18489093A JP3598350B2 JP 3598350 B2 JP3598350 B2 JP 3598350B2 JP 18489093 A JP18489093 A JP 18489093A JP 18489093 A JP18489093 A JP 18489093A JP 3598350 B2 JP3598350 B2 JP 3598350B2
- Authority
- JP
- Japan
- Prior art keywords
- gate
- state
- program
- open state
- switching
- 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 - Lifetime
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
【産業上の利用分野】
本発明は不正なメモリアクセスを禁止するメモリアクセス制御装置に関し、特に、メモリ上の不正プログラムの起動防止に関する。
【0002】
【従来の技術】
通常のアプリケーションプログラムでは、そのアプリケーションプログラムが実行できれば良く、アプリケーションプログラムそのものの正当性が問題となる場合はほとんどない。
【0003】
ところが、ある種のアプリケーションプログラムでは、何等かの審査基準(法律,法令等に規定,規制されている基準)をパスして許可を受ける必要があるものがある。そして、このような審査基準をパスした正規なアプリケーションプログラムだけでプログラム処理装置を動作させることが望まれる場合、そのプログラム処理装置に装着されているアプリケーションプログラムの正当性が問題になる。
【0004】
【発明が解決しようとする課題】
従来では、上記のような正当性が問題となる特殊な場合に十分対応しきれておらず、例えば、不正の業者がマシンのアプリケーションプログラム(ROM)を不正なものと交換した場合、それをチェックすることができなかった。
【0005】
従って、プログラムが不正なものとして交換された場合でも、そのプログラムをそのまま起動することができたものであった。
本発明の課題は、不正なメモリアクセスを禁止することであり、また、メモリ上の不正なプログラムの起動を防止することである。
【0006】
【課題を解決するための手段】
請求項1の発明の手段は次の通りである。
所定メモリに対するアクセスが許可されたオープン状態と該所定メモリに対するアクセスが禁止されたクローズ状態とを指示に応じて相互に切り換えることのできるゲートを有するメモリアクセス制御装置であって、
前記ゲートをオープン状態からクローズ状態への切り換えはできるがクローズ状態からオープン状態への切り換えができない不可逆状態にする切換制限手段と、
前記切換制限手段により前記ゲートを不可逆状態にし、且つ、前記ゲートをオープン状態に切り換えた状態で前記所定メモリに対してアクセスを行う処理の実行を開始する開始手段と、
前記開始手段により開始された前記所定メモリに対してアクセスを行う処理の実行中における異常の発生を監視する監視手段と、
前記監視手段により異常が検出された場合に前記ゲートをクローズ状態に切り換える異常対応手段と、
を具備したことを特徴としている。
【0008】
【実施例】
以下、本発明の一実施例を図1及び図2を参照して説明する。
図2は本発明の一実施例のプログラムの起動方法の適用されたプログラム処理装置のブロック構成図であり、同図に於いて、参照番号10は、アドレス/データバス12を通じて各部を制御するCPUである。14は電源投入直後にCPU10で実行される初期プログラムローディングソフトウェアプログラム(以降、IPLソフトと称す)を記憶しているIPLソフトROMであり、16は上記IPLソフトに従って初期化ソフトウェアプログラム(以降、初期化ソフトと称す)ローダ18により外部からインストールされた初期化ソフトを記憶する初期化ソフト用RAMである。
【0009】
20は上記初期化ソフトに従って起動されるオペレーティングシステムプログラム(以降、OSと称す)を記憶しているOSROMであり、22は上記OSに従って起動されるアプリケーションプログラムを記憶しているアプリROM、24は上記OS及びアプリケーションプログラムの処理に於いて利用されるワークRAMである。26は入力制御部28により制御されるキーボードやマウス等を含む入力部であり、30は表示制御部32により制御されるCRT等を含む表示部である。
【0010】
34はアドレス/データバス12上に設けられたゲート回路である。このゲート回路34は、CPU10とOSROM20及びアプリROM22とを分離,接続するために設けられている。36は上記ゲート回路34の開閉を制御するゲート制御部であり、38はゲート制御部36からゲート回路34へのゲートオープン信号ラインに設けられた特殊なヒューズである。このヒューズ38は、ゲート回路34を開いた後、焼き切られる。従って、以降は、ゲート回路34を開く信号は伝わらない。
【0011】
以下、上記の構成に於ける動作を説明する。
図1の(A)は、電源オンによるシステム立上げ時の動作を示すフローチャートである。
【0012】
即ち、電源がオンされると、CPU10は、IPLソフトROM14のIPLソフトを起動して、まず初期化ソフトローダ18により初期化ソフトを外部より初期化ソフト用RAM16にインストールする(ステップS11)。そして、この初期化ソフト用RAM16に記憶された初期化ソフトを起動して(ステップS12)、処理を終える。
【0013】
上記ステップS12で起動された初期化ソフトに従って、CPU10は、同図の(B)に示すような処理を実行する。この初期化ソフトは、ゲート回路34を開くためのソフトウェアプログラムである。
【0014】
まず、ゲート回路34をオープンさせるための所定のキーデータを所定の順番で順次発生して、ゲート制御部36に供給する(ステップS21)。ゲート制御部36は、このキーデータの正当性をチェックする(ステップS22)。例えば、ゲート制御部36は、上記所定のキーデータが上記所定の順番で供給されたかどうかチェックするために、それらを記憶しており、一致判定によりキーデータの正当性をチェックする。あるいは、所定のキーデータが所定の順番で供給された時に開くようなゲート回路をハードウェア的に構成するようにしても良い。
【0015】
上記チェックの結果、全てのキーデータが一致しないときには(ステップS23)、ゲート回路34にクローズ指示を出す(ステップS24)。また、上記ステップS23に於いて、全キーデータが一致したと判断された時には、ゲート回路34にオープン指示を出し(ステップS25)、ヒューズ38を焼き切る(ステップS26)。
【0016】
その後、初期化ソフト用RAM16に記憶されている初期化ソフト内のキーデータ部(あるいは初期化ソフト)を全て消去した後(ステップS27)、OSROM20に記憶されているOSを起動する(ステップS28)。
【0017】
従って、正規の初期化ソフトがインストールされない限り、ゲート回路34は開かず、以降の処理は行われないこととなる。
ゲート回路34がオープンされた場合には、CPU10は、上記ステップS28で起動されたOSに従って、同図の(C)に示すような処理を実行する。
【0018】
まず、アプリROM22に記憶されたアプリケーションプログラムの正当性をチェックする(ステップS31)。これは、例えば、工場出荷時や設置後の最初の起動後の所定の時点で、アプリケーションプログラムのチェックサムやアプリROM22の空き容量を求めてワークRAM24等に記憶しておき、このステップS31の時点で再度それらを求めて比較することにより行うことができる。
【0019】
そして、この正当性チェックの結果、正当でないと判断された場合には(ステップS32)、ゲート制御部36にゲートクローズを指示してゲート回路34を閉じる(ステップS33)。
【0020】
また、上記ステップS32に於いて、正当であると判断された場合には、アプリROM22に記憶されたアプリケーションプログラムを起動して、当該アプリケーションプログラムに従った処理を実行する(ステップS34)。そして、このアプリケーションプログラムに従った処理の実行中に、例えば割り込みなどにより、所定のタイミングで異常のチェックを行い、異常が有った場合には(ステップS35)、上記ステップS33に進んで、ゲート制御部36にゲートクローズを指示してゲート回路34を閉じる。なおここで、異常とは、電池の消耗や、ROMが外されたといった何等かの異常を指すものであり、CPU10自体で検出しても良いし、CPU以外の機器(センサ)が検出しても良い。
【0021】
以上のように、CPU10とプログラムメモリ(OSROM20,アプリROM22)とを結ぶゲート回路34を初期化ソフトに従った所定の初期化処理のみによってオープンさせ、電池の消耗や、ROMが外されたといった何等かの異常(プログラム処理装置のCPU自体で検出しても、CPU以外の機器が検出しても良い)があった場合には、このゲート回路34を閉じるようにしているので、正規に初期化しない限り、プログラムメモリに従ったプログラム処理は不可能となる。
【0022】
そして、再度ゲート回路34を開くには、初期化ソフトを用意しなければならず、また上記特殊なヒューズ38を取り替えなければならないため、正規な者でない限りそれらを用意できないので、不正使用者はプログラム処理装置を動作させることができない。
【0023】
なお、上記実施例では、OSによりゲート制御部36にゲートクローズを指示してゲート回路34を閉じさせるようにしているが、異常を検出するセンサ出力を直接ゲート回路34のリセット信号として与え、異常検出に応じて即ゲート回路34を閉じるようにしても良い。
【0024】
【発明の効果】
本発明によれば、所定のメモリへのアクセス中において、例えばプログラムやデータの不正な書き換え等が原因で異常が発生した場合に、このメモリへのアクセスを自動的に禁止し、再度アクセスを許可するための正規の手続きを知らない利用者による継続した不正使用を防止することができる。
【図面の簡単な説明】
【図1】本発明の一実施例のプログラムの起動方法を説明するためのフローチャートで、(A)はシステム立上げ時の処理、(B)は初期化ソフトウェアプログラムに従った処理、(C)はOSプログラムに従った処理をそれぞれ示す。
【図2】本発明の一実施例のプログラムの起動方法の適用されたプログラム処理装置のブロック構成図である。
【符号の説明】
10…CPU、12…アドレス/データバス、14…IPLソフトROM、16…初期化ソフト用RAM、18…初期化ソフトローダ、20…OSROM、22…アプリROM、24…ワークRAM、26…入力部、28…入力制御部、30…表示部、32…表示制御部、34…ゲート回路、36…ゲート制御部、38…ヒューズ
Claims (4)
- 所定メモリに対するアクセスが許可されたオープン状態と該所定メモリに対するアクセスが禁止されたクローズ状態とを指示に応じて相互に切り換えることのできるゲートを有するメモリアクセス制御装置であって、
前記ゲートをオープン状態からクローズ状態への切り換えはできるがクローズ状態からオープン状態への切り換えができない不可逆状態にする切換制限手段と、
前記切換制限手段により前記ゲートを不可逆状態にし、且つ、前記ゲートをオープン状態に切り換えた状態で前記所定メモリに対してアクセスを行う処理の実行を開始する開始手段と、
前記開始手段により開始された前記所定メモリに対してアクセスを行う処理の実行中における異常の発生を監視する監視手段と、
前記監視手段により異常が検出された場合に前記ゲートをクローズ状態に切り換える異常対応手段と、
を具備したことを特徴とするメモリアクセス制御装置。 - 前記ゲートは、前記不可逆状態でない場合には、前記オープン状態と前記クローズ状態との切換をプログラムからの指示によって行うことが可能であり、前記不可逆状態である場合には、プログラムからの指示によるクローズ状態からオープン状態への切り換えをできないようにしたことを特徴とする請求項1記載のメモリアクセス制御装置。
- 前記オープン状態と前記クローズ状態との切換を行うプログラムは、前記ゲートをクローズ状態からオープン状態に切り換えるために必要な所定のキーデータとともに外部よりインストールされ、該所定のキーデータに基づいて前記ゲートをクローズ状態からオープン状態に切り換えた後に該所定のキーデータを消去することを特徴とする請求項2記載のメモリアクセス制御装置。
- 前記不可逆状態となった場合に、再度前記ゲートをクローズ状態からオープン状態に切り換えるためには、部品の交換を行う必要があることを特徴とする請求項2記載のメモリアクセス制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18489093A JP3598350B2 (ja) | 1993-07-27 | 1993-07-27 | メモリアクセス制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18489093A JP3598350B2 (ja) | 1993-07-27 | 1993-07-27 | メモリアクセス制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0744259A JPH0744259A (ja) | 1995-02-14 |
JP3598350B2 true JP3598350B2 (ja) | 2004-12-08 |
Family
ID=16161109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18489093A Expired - Lifetime JP3598350B2 (ja) | 1993-07-27 | 1993-07-27 | メモリアクセス制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3598350B2 (ja) |
-
1993
- 1993-07-27 JP JP18489093A patent/JP3598350B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0744259A (ja) | 1995-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7039779B2 (en) | Access monitor and access monitoring method for monitoring access between programs | |
RU2220443C2 (ru) | Способ контроля выполнения компьютерных программ в соответствии с их назначением | |
US5894550A (en) | Method of implementing a secure program in a microprocessor card, and a microprocessor card including a secure program | |
JP2003022218A (ja) | マイクロコンピュータシステムのメモリ装置に格納されたデータの少なくとも一部分を活性化又は不活性化するための方法及びマイクロコンピュータシステム | |
US5878210A (en) | Personal computer having a security function, a method of implementing the security function, and methods of installing and detaching a security device to/from a computer | |
JP2009505304A (ja) | 埋設式メモリのアクセス制御 | |
US7228569B2 (en) | Programmable unit | |
IE980483A1 (en) | Method and System for Preventing Unauthorised Access to a Computer Program. | |
JP2019185575A (ja) | 制御装置および制御方法 | |
JP3598350B2 (ja) | メモリアクセス制御装置 | |
JP4833417B2 (ja) | マイクロコンピュータシステムの保護方法,メモリ装置,マイクロコンピュータシステム | |
US7689874B2 (en) | Data processing device and method for monitoring correct operation of a data processing device | |
US7293148B2 (en) | Method for reliably verifying a memory area of a microcontroller in a control unit and control unit having a protected microcontroller | |
US6487129B2 (en) | Semiconductor apparatus | |
JP4563644B2 (ja) | メモリ装置に格納されているデータの操作に対してマイクロコンピュータシステムを保護する方法 | |
JPH1027035A (ja) | 情報処理装置 | |
TWI836901B (zh) | 保持系統安全性之韌體切換方法以及其使用之電子設備 | |
KR0160688B1 (ko) | 컴퓨터 시스템의 이이피롬 쓰기 방지장치 및 방법 | |
JP3785844B2 (ja) | プログラマブルコントローラ、及びその起動方法 | |
JP2000163274A (ja) | 電子機器およびromデータ監視プログラムを記録した記録媒体 | |
JPH1011325A (ja) | プログラマブルコントローラ | |
KR200298474Y1 (ko) | 플래쉬 메모리 갱신 중의 프로그램 보호 장치 | |
JP2978658B2 (ja) | プログラム開発支援装置 | |
JPH1055290A (ja) | エミュレータによるプログラムの不具合検出方法 | |
JP2978841B2 (ja) | インサーキットエミュレータにおけるエミュレーション方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040420 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040506 |
|
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: 20040810 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040823 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070924 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110924 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120924 Year of fee payment: 8 |