JP3598350B2 - メモリアクセス制御装置 - Google Patents

メモリアクセス制御装置 Download PDF

Info

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
Application number
JP18489093A
Other languages
English (en)
Other versions
JPH0744259A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP18489093A priority Critical patent/JP3598350B2/ja
Publication of JPH0744259A publication Critical patent/JPH0744259A/ja
Application granted granted Critical
Publication of JP3598350B2 publication Critical patent/JP3598350B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

【0001】
【産業上の利用分野】
本発明は不正なメモリアクセスを禁止するメモリアクセス制御装置に関し、特に、メモリ上の不正プログラムの起動防止に関する。
【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. 前記ゲートは、前記不可逆状態でない場合には、前記オープン状態と前記クローズ状態との切換をプログラムからの指示によって行うことが可能であり、前記不可逆状態である場合には、プログラムからの指示によるクローズ状態からオープン状態への切り換えをできないようにしたことを特徴とする請求項1記載のメモリアクセス制御装置。
  3. 前記オープン状態と前記クローズ状態との切換を行うプログラムは、前記ゲートをクローズ状態からオープン状態に切り換えるために必要な所定のキーデータとともに外部よりインストールされ、該所定のキーデータに基づいて前記ゲートをクローズ状態からオープン状態に切り換えた後に該所定のキーデータを消去することを特徴とする請求項2記載のメモリアクセス制御装置。
  4. 前記不可逆状態となった場合に、再度前記ゲートをクローズ状態からオープン状態に切り換えるためには、部品の交換を行う必要があることを特徴とする請求項2記載のメモリアクセス制御装置。
JP18489093A 1993-07-27 1993-07-27 メモリアクセス制御装置 Expired - Lifetime JP3598350B2 (ja)

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)

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