JPH09171488A - 内部メモリへのアクセスを制限するマイクロコントローラ - Google Patents
内部メモリへのアクセスを制限するマイクロコントローラInfo
- Publication number
- JPH09171488A JPH09171488A JP8283131A JP28313196A JPH09171488A JP H09171488 A JPH09171488 A JP H09171488A JP 8283131 A JP8283131 A JP 8283131A JP 28313196 A JP28313196 A JP 28313196A JP H09171488 A JPH09171488 A JP H09171488A
- Authority
- JP
- Japan
- Prior art keywords
- address
- internal
- rom
- microcontroller
- program counter
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1433—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
- G06F12/1441—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Microcomputers (AREA)
Abstract
ならびに外部拡張バスを含む、外部ポート112を具備
するマイクロコントローラを提供する。 【解決手段】 マイクロコントローラ内部のEEPRO
Mは、CPU102が内部ROM内の命令を実行中にの
みプログラム可能である。さらに、内部ROMに格納さ
れた、機密動作に関連する命令は、まず機密動作の開始
命令を実行せずにアクセスできない。有効エントリ・ア
ドレス以外のポイントで機密動作の実行を開始する試み
は、内部ROM110をディセーブルさせる。
Description
関し、さらに詳しくは、外部アクセス・ポートを有する
マイクロコントローラ用のセキュリティ機能に関する。
置(CPU),ランダム・アクセス・メモリ(RA
M),リード・オンリ・メモリ(ROM)および周辺装
置を含む、コンピュータ・システムに関連するいくつか
の要素をオンチップで内蔵する集積回路のことである。
CPUのオペレーティング・システムを格納するため不
揮発性メモリが用いられる。多くの場合、オンチップ不
揮発性メモリは、マイクロコントローラのプログラムの
すべてを内蔵する十分な大きさである。この場合、マイ
クロコントローラは、動作するためにオフチップ・メモ
リにアクセスする必要はない。しかし、プログラムが大
きすぎて、オンチップ不揮発性メモリに収まりきらない
場合があり、マイクロコントローラはプログラムの一部
をオフチップでフェッチできなければならない。この可
能性に対処するため、一般的なマイクロコントローラ
は、拡張バスとして知られるものを有し、この拡張バス
とは、外部メモリまたはメモリ・マップド周辺装置をア
クセス可能にする、データ・ラインおよびアドレス・ラ
インを具備するバスのことである。
ップ・プログラムの知見を得ることを防ぐため、マイク
ロコントローラにセキュリティ機能を内蔵することが望
ましい場合が多い。例えば、Wilkieらによって発明さ
れ、本明細書の譲受人に譲渡された米国特許第4,69
8,750号は、セキュリティ・モードになると不揮発
性メモリの内容を外部ソースによって読み出すことを防
ぐ、セキュリティ・モードを具備するマイクロコンピュ
ータについて教示する。Sibigtrothらによって発明さ
れ、本明細書の譲受人に譲渡された米国特許第5,25
1,304号によって教示される別の方法は、マイクロ
コントローラが拡張バスと動作する場合に有用である。
米国特許第5,251,304号は、オフチップ命令ア
クセスがディセーブルされる機密モードを具備するマイ
クロコントローラについて教示する。この教示は、オン
チップ不揮発性メモリがオペレーティング・プログラム
のすべてを格納するのに十分大きい場合に有用である。
しかし、オペレーティング・プログラムが大きすぎて、
実際的大きさのオンチップ不揮発性メモリに格納できな
い場合、新たな問題が生じる。例えば、ハッカーであれ
ば、プログラムの外部部分のセグメントを書き直して、
CPUに内部不揮発性メモリの内容を読み出させること
ができる。
ュリティを具備するマイクロコントローラが望ましい。
れた拡張ポートを有する。マイクロコントローラは、内
部ROM,RAMおよびEEPROM(electronically
erasable read only memory)ならびに拡張バスに結合さ
れた外部拡張ポートを含む。内部EEPROMは、CP
Uが内部ROM内で命令を実行している場合にのみ、プ
ログラム可能である。さらに、内部ROMに格納された
機密動作に関連する命令は、まず機密動作の開始命令を
実行しないとアクセスできない。有効なエントリ・アド
レス以外のポイントで機密動作の実行を開始する試み、
例えば、他のポイントで機密動作にJMP,JSR,R
TSまたはRTを行う試みは、内部ROMをディセーブ
ルさせる。
アドレス信号をアドレス・バス104に与え、データ・
バス106を介してデータを双方向に交信する中央処理
装置(CPU)102を含むシングル・チップ・マイク
ロコントローラである。メモリ108,109,110
は、アドレス・バス104およびデータ・バス106に
接続される。これらのメモリは、ランダム・アクセス・
メモリ(RAM)108,EEPROM109およびR
OM110を含む。CPU,RAM,ROMおよびEE
PROMの動作は一般に当業者に周知であり、ここでは
詳しく説明しない。本発明では、EEPROM109に
格納される情報の一部は、ある状況下で変更できる機密
データを含み、内部ROM110は、機密な固定オペレ
ーティング命令を格納する。例えば、機密EEPROM
は、マイクロコントローラが内部ROMからコードを実
行する際にのみ読み出すことができ、機密内部ROM
は、以下で詳しく説明するように、内部ROMからコー
ドを実行する場合にのみマイクロコントローラによって
読み出すことができる。
ラ100を外部拡張バス114に接続することを可能に
する。マイクロコントローラ100を外部バスに接続す
ることが望ましい状況の一つとして、オペレーティング
・プログラムを格納するためにEEPROM109また
はROM110を十分に大きくできない場合がある。例
えば、マイクロコントローラ上のEEPROMは、32
〜48キロバイト(Kbyte)の範囲にサイズが一般
に制限されるが、高度なアプリケーション・プログラム
には100Kbyteを越えるサイズを必要とするもの
がある。これらの大きなサイズのプログラムは、利用可
能な技術を利用してオンチップで実施することはほぼ不
可能である。
0内のデータの健全性を保護しつつ、外部バス114に
接続された外部メモリに対するプログラム・アクセスを
可能にするため、マイクロコントローラ100はセキュ
リティ論理(security logic)116を内蔵する。セキュ
リティ論理116は、バス117上でCPU102から
いくつかの制御信号を受ける。セキュリティ論理は、R
OM110に結合されたコンダクタ118上でROM制
御信号を出力し、EEPROM109に結合されたコン
ダクタ120上でEEPROM制御信号を出力する。R
OMおよびEEPROM制御信号は、ROM110およ
びEEPROM109をそれぞれ選択的にイネーブルま
たはディセーブルする。CPU102およびセキュリテ
ィ論理116は、マイクロコントローラの内部コントロ
ーラ119を形成する。セキュリティ論理116は、ソ
フトウェアにより、あるいはCPUに対して外部の回路
を利用することによって、構成できる。
0に対して外部のコードまたはマイクロコントローラ1
10に対して外部のコードを実行中に、EEPROMを
プログラムすることを試みるとき、セキュリティ論理1
16はEEPROM109へのアクセスをディセーブル
する。また、セキュリティ論理116は、CPU102
が開始アドレスにおいて命令を実行せずに、機密動作に
関連するROM110内のコードを実行することを試み
るとき、内部ROM110へのアクセスをディセーブル
する。さらに、内部ROM110以外の場所でコードが
実行されるときにはいつでも、内部ROM110へのア
クセスはディセーブルされる。
め、セキュリティ論理116は、図2ないし図5に示す
ROMセキュリティ論理と、図6に示すEEPROMセ
キュリティ論理とを含む。ROMセキュリティ論理は、
カレント・アドレス比較器202(図2)を含む。カレ
ント・アドレス比較器は、バス203を介してプログラ
ム・カウンタ204と、バス205を介して機密アドレ
ス・レンジ・レジスタ(secured address range registe
r)206とに結合される。プログラム・カウンタ204
は、現在実行中の命令のアドレスを格納する、市販のマ
イクロコントローラにおけるレジスタである。機密アド
レス・レンジ・レジスタ206は、機密動作のアドレス
・レンジを格納する。例えば、機密アドレス・レンジ・
レジスタ206は、機密レンジの開始アドレスより1だ
け小さい第1アドレスと、機密動作の終了アドレスより
1だけ高い第2アドレスとを格納し、ここで機密動作は
内部ROM110の順次アドレス番地に格納される。カ
レント・アドレス比較器202は、プログラム・カウン
タ204におけるカレント・アドレスを機密アドレス・
レンジ・レジスタにおける第1アドレスおよび第2アド
レスと比較する。プログラム・カウンタ・アドレスが第
1アドレスよりも大きく、かつ第2アドレスよりも小さ
い場合、カレント・アドレスは機密アドレス・レンジ内
にあると判断される。カレント・アドレス比較器202
は、カレント・アドレスが機密アドレス・レンジ内の場
合に高論理レベル信号を出力し、機密アドレス・レンジ
内でない場合に低論理レベル信号を出力する。複数のア
ドレス・レンジを採用する場合、各レンジについてそれ
ぞれ比較器が設けられる。当業者であれば、カレント・
アドレス比較器202は2つの大きさ比較回路(magnitu
de comparator circuit)と、これらの大きさ比較回路の
出力を論理的に合成するANDゲートとを利用して構成
できることが理解される。また、機密アドレス・レンジ
は内部ROM110のアドレス・レンジ全体でもよいこ
とが理解される。
mparator) 210は、バス205を介して機密アドレス
・レンジ・レジスタ206と、バス214を介して前回
プログラム・カウンタ・アドレス・レジスタ212とに
結合される。前回プログラム・カウンタ・アドレス・レ
ジスタ212は、一つのアドレス、すなわち、前回のプ
ログラム・カウンタ・アドレスを格納するメモリであ
る。前回プログラム・カウンタ・アドレス・レジスタ2
12は、バス203を介してプログラム・カウンタ20
4に結合される。プログラム・カウンタが旧アドレスか
ら新アドレスに変化する毎に、プログラム・カウンタか
らの旧アドレスは前回プログラム・カウンタ・アドレス
・レジスタ212に格納される。前回プログラム・カウ
ンタ・アドレスが機密アドレス・レンジ内の場合、前回
アドレス比較器210は、高論理レベル信号を出力す
る。それ以外の場合には、前回アドレス比較器210は
低論理レベル信号を出力する。前回アドレス比較器21
0は、カレント・アドレス比較器202がプログラム・
カウンタ・アドレスを機密アドレス・レンジと比較する
のと同じように、前回プログラム・カウンタ・アドレス
・レジスタ212におけるアドレスを機密アドレス・レ
ンジと比較し、そのためこれについては説明しない。
を介して第1アドレス・レジスタ218と、バス203
を介してプログラム・カウンタ204とに結合される。
第1アドレス・レジスタ218は、ROM110に格納
される各機密動作の第1アドレスを格納する。第1アド
レス比較器216は、プログラム・カウンタ・アドレス
を、第1アドレス・レジスタ218に格納されたアドレ
スと比較する。プログラム・カウンタ204のアドレス
が第1アドレス・レジスタ218におけるアドレスと一
致した場合、第1アドレス比較器216は高論理レベル
を出力する。それ以外の場合には、第1アドレス比較器
は低論理レベルを出力する。
して前回アドレス比較器210の出力と、コンダクタ2
26を介してカレント・アドレス比較器202の出力
と、コンダクタ228を介して第1アドレス比較器21
6の出力とに結合される。論理回路230の出力は、論
理回路230がROM110の動作をイネーブルするよ
うに、ROMのチップ・イネーブル入力に接続される。
カレント・アドレス比較器202の出力が低論理レベル
で、カレント命令が機密アドレス・レンジ内でないこと
を示すと、論理回路230の出力は低論理レベルを有
し、ROM110の動作をイネーブルする。内部ROM
110のチップ・イネーブル入力上のこの低レベル信号
は、内部ROMをイネーブルする。カレント・アドレス
比較器202の出力が高論理レベルで、カレント命令が
機密アドレス・レンジ内であることを示すと、ROMを
イネーブルするためには、以下の2つの状態のうちいず
れか一方を満たさなければならない。すなわち、前回ア
ドレス比較器210が高論理レベルを出力して、前回プ
ログラム・カウンタ・アドレスが機密アドレス・レンジ
内であることを示すか、あるいは第1アドレス比較器2
16が高論理レベルを有して、プログラム・カウンタ2
04におけるカレント命令アドレスが機密動作の第1ア
ドレスであることを示さなければならない。それ以外の
場合には、ROM110の動作はディセーブルされる。
3ないし図5に示す。セキュリティ論理は、バス220
を介して第1アドレス・レジスタ218と、バス203
を介してプログラム・カウンタ204とに結合された第
1アドレス比較器216(図3)を含む。第1アドレス
・レジスタは、各機密動作の第1アドレスを格納する。
第1アドレス比較器216は、上で説明したようにプロ
グラム・カウンタ・アドレスが第1アドレス・レジスタ
に格納された第1アドレスと一致した場合に、高論理レ
ベルを出力する。カレント・アドレス比較器202は、
バス205を介して機密アドレス・レンジ・レジスタ2
06と、バス203を介してプログラム・カウンタ20
4とに結合される。カレント・アドレス比較器202
は、プログラム・カウンタ・アドレスをレジスタ206
に格納された機密アドレス・レンジと比較する。アドレ
スが機密アドレス・レンジ外の場合、カレント・アドレ
ス比較器202の出力は低論理レベルである。それ以外
の場合には、カレント・アドレス比較器202の出力は
高論理レベルである。
06によって第1アドレス比較器216の出力と、コン
ダクタ304によってカレント・アドレス比較器202
の出力とに結合される。電源回路302は、コンダクタ
318によって内部ROM110の電源入力に接続さ
れ、比較器202,212の出力に応じてコンダクタ3
10,318をROM110の電源に選択的に接続す
る。
402(図4)を含む。RSフリップフロップ402の
S入力は、コンダクタ306に接続される。RSフリッ
プフロップ402のR入力は、インバータ404を介し
てコンダクタ304に接続される。RSフリップフロッ
プ402の反転Q出力は、ANDゲート408の一方の
入力に接続される。ANDゲート408の他方の入力
は、インバータ404の出力に接続される。RSフリッ
プフロップ402のQ出力およびANDゲート408の
出力は、ORゲート410のそれぞれの入力に接続され
る。ORゲートの出力は、MOSFETスイッチ426
のゲートに接続される。MOSFETスイッチ426の
ソースおよびドレインは、ROM110の電源Vsと、
ROM110の電源入力に接続されたコンダクタ318
との間に接続される。
は、機密状態と非機密状態との間でトグルする。コンダ
クタ306上の信号が高論理レベルを有し、プログラム
・カウンタ・アドレスが機密動作の開始アドレスである
ことを示すと、コンダクタ304上の信号も高論理レベ
ルを有し、プログラム・カウンタ・アドレスが機密アド
レス・レンジ内であることを示す。従って、S入力は1
で、R入力は0であり、これは図5に示すようにQ出力
を高論理レベルに設定する。ORゲート410は、この
高論理レベルをMOSFETゲートまで通過させ、MO
SFETを導通状態に保持する。Q出力は、フリップフ
ロップがリセットされるまでこの高論理レベルのままで
ある。フリップフロップ402は、コンダクタ306,
304上の信号がともに低レベル信号の場合にリセット
され、これはプログラム・カウンタが機密アドレス・レ
ンジ内の信号を有していない場合に生じる。次に、S入
力は値0を有し、R入力は値1を有する。これは、Q出
力を値0にし、反転Q出力を値1にし、インバータ40
4の出力を値1にする。その結果、ANDゲート408
の出力は高論理レベルを有し、この信号はORゲート4
10を介してMOSFETスイッチ426のゲートに送
られる。
ずに、コンダクタ304上の信号が高論理レベルに変化
して、最初に開始アドレス命令を実行せずに機密アドレ
スを実行することを示すと、S入力は値0を有し、R入
力は値0を有する。RSフリップフロップの出力は、状
態を変化しない(図5参照)。さらに、ANDゲート4
08の出力は0に変化する。そのため、ORゲート41
0の出力は低論理レベルを有し、MOSFETは非導通
状態となり、ROMへの電源供給を遮断する。従って、
ROMはディセーブルされる。
路230の出力の場合と同様に、ROMをイネーブルお
よびディセーブルするためにROM110に接続できる
ことがわかる。あるいは、図2における論理回路230
の出力は、MOSFET426のゲートを駆動できる。
また、ANDゲート408およびORゲート410は、
図4の回路から省くことができ、この場合、機密アドレ
ス・レンジはROMの全アドレス・レンジとなることが
わかる。この実施例では、RSフリップフロップ402
のQ出力は、ROM110に格納されていないコードが
実行されるときにはいつでもROMがディセーブルされ
るように、MOSFET426のゲートを駆動する。
6)は、EEPROM109の動作を選択的にイネーブ
ルする。この回路は、バス203を介してプログラム・
カウンタ204に接続された比較器601を含む。この
比較器は、プログラム・カウンタ・アドレスをROM1
10(図1)のアドレス・レンジと比較する。プログラ
ム・カウンタ・アドレスがROMアドレス・レンジ内の
場合、比較器の出力は高論理レベルを有する。比較器の
出力は、コンダクタ604を介して論理回路606に接
続される。また、論理回路は、コンダクタ602上でE
EPROMリード/ライト(R/W)信号を受ける。E
EPROM R/W信号は、マイクロコントローラによ
って内部生成され、CPUがEEPROMから読み出し
中か書き込み中であることを示す。論理回路606の出
力は、コンダクタ120を介してEEPROM109に
接続される。論理回路は、プログラム・カウンタが内部
ROM110のアドレスのレンジ内の場合に、ライト・
サイクルについてのみEEPROMをイネーブルする。
そのため、EEPROMは、内部ROM110に格納さ
れた命令を実行中の際にのみプログラムできる。あるい
は、論理回路606は、プログラム・カウンタ204が
ROMアドレス・レンジ内でない場合には必ずEEPR
OMをディセーブルできる。これは、マイクロコントロ
ーラがROM110内のプログラムを実行していないと
きに、EEPROMが読み出されたり、書き込まれるこ
とを防ぐ。
理について、ディスクリート回路を利用して構成される
ものとして説明してきたが、当業者であれば、この論理
は好ましくはマイクロコントローラ・チップ内に集積さ
れることが理解される。また、セキュリティ論理116
は、デジタル・プロセッサを利用して構成できることも
想定される。デジタル・プロセッサを利用した場合、デ
ジタル・プロセッサは、図7のブロック700に示すよ
うに、プログラム・カウンタ204のアドレスが機密動
作レンジ内であるかどうかを判定する。プログラム・カ
ウンタが機密アドレス・レンジ内でない場合、プロセッ
サはブロック703に示すように内部ROM110をイ
ネーブルする。これは、ROM110がディセーブルさ
れた後にマイクロコントローラ100が非機密アドレス
・レンジに戻った場合に、ROM110がイネーブルさ
れることを保証する。次に、デジタル・プロセッサは、
ブロック702に示すように、次のプログラム・カウン
タ(PC)アドレスにて命令を入力する。プログラム・
カウンタが機密アドレス・レンジ内にない場合、デジタ
ル・プロセッサは、判定ブロック704に示すように、
プログラム・カウンタ・アドレスが機密アドレス・レン
ジの開始アドレス内にあるかどうかを判定する。開始ア
ドレス内にない場合には、プロセッサはブロック706
に示すようにROMをディセーブルする。アドレスが第
1アドレスである場合、プロセッサは、プログラム・カ
ウンタが機密動作のままである限り、ブロック708に
示すようにアドレスを入力し、プログラム・カウンタ・
アドレスが機密アドレス・レンジ内であるかどうかを判
定することにより、ROMをイネーブルし続ける。プロ
グラム・カウンタ・アドレスが機密アドレス・レンジ内
でなくなると、プロセッサはブロック702に進む。
て、内部ROM命令が実行されないときに必ず内部RO
M110をディセーブルするように構成されるセキュリ
ティ論理116のプログラムを示す。ブロック800に
おいて判定されるように、プログラム・カウンタ204
のアドレスが機密アドレス・レンジ内にない場合、プロ
セッサはブロック802に示すようにROM110をデ
ィセーブルする。プロセッサは、ブロック804に示す
ように、プログラム・カウンタ204の次のアドレスを
入力する。プロセッサは、プログラム・カウンタがRO
Mアドレス・レンジ内になるまで、ROM110をディ
セーブルしたまま動作し続ける。プログラム・カウンタ
204のアドレスがROMアドレス・レンジ内であると
判定されると、判定ブロック806に示すように、プロ
セッサは、プログラム・カウンタ・アドレスが機密動作
の開始アドレスであるかどうかを判定する。開始アドレ
スでない場合、デジタル・プロセッサは判定ブロック8
00に戻る。プログラム・カウンタ204のアドレスが
機密動作の開始アドレスである場合、プロセッサはブロ
ック808に示すようにROM110をイネーブルす
る。プロセッサは、ブロック810においてアドレスを
入力し、かつ判定ブロック812においてプログラム・
カウンタ・アドレスが機密アドレス・レンジ内であるか
どうかを判定することによって判定されるように、プロ
グラム・カウンタが機密動作のままである限り、ROM
をイネーブルし続ける。プログラム・カウンタ・アドレ
スが機密アドレス・レンジ内でなくなると、プロセッサ
はブロック802で示すようにROMをディセーブルす
る。
たセキュリティが開示されることがわかる。改善された
セキュリティは、マイクロコントローラの複雑性または
コストを実質的に増加せずに、マイクロコントローラに
格納された情報について提供される。
す、ブロック図形式の回路図である。
ティ論理を示す、ブロック図形式の回路図である。
ク図形式の回路図である。
る。
ある。
す、ブロック図形式の回路図である。
mplemented security logic)を採用する別の実施例を示
すフローチャートである。
の実施例を示すフローチャートである。
タ 214,220 バス 216 第1アドレス比較器 218 第1アドレス・レジスタ 224,226,228 コンダクタ 230 論理回路 302 電源回路 304,306 コンダクタ 310 コンダクタ 318 コンダクタ 402 RSフリップフロップ 404 インバータ 408 ANDゲート 410 ORゲート 426 MOSFETスイッチ 600 EEPROMセキュリティ回路 601 プログラム・カウンタ 602,604 コンダクタ 606 論理回路
Claims (10)
- 【請求項1】 アドレス・バス;データ・バス;前記ア
ドレス・バスと、前記データ・バストに接続され、外部
メモリに結合する外部アドレス・ポート;関連アドレス
・レンジにて機密動作のための命令を格納する内部RO
Mであって、前記関連アドレス・レンジは開始アドレス
を含む、内部ROM;および前記データ・バス,前記ア
ドレス・バスおよび前記内部ROMに結合された内部コ
ントローラであって、前記内部コントローラは、前記命
令を実行することによって前記機密動作の実行を制御
し、前記コントローラは、前記開始アドレスに関連する
命令を実行することにより前記機密動作が開始されない
場合、前記命令の実行を阻止する内部コントローラ;に
よって構成されることを特徴とするマイクロコントロー
ラ。 - 【請求項2】 前記内部コントローラは、機密論理と、
前記機密論理に結合されたCPUとを含むことを特徴と
する請求項1記載のマイクロコントローラ。 - 【請求項3】 前記CPUは、プログラム・カウンタを
含み、前記セキュリティ論理は、前記プログラム・カウ
ンタに結合され、前記CPUを監視し、前記プログラム
・カウンタのカレント・アドレスが前記関連アドレス・
レンジ内にあるかどうかを判定することを特徴とする請
求項2記載のマイクロコントローラ。 - 【請求項4】 前記セキュリティ論理は、前記プログラ
ム・カウンタの前回アドレスを前記関連アドレス・レン
ジと比較する回路と、前記カレント・アドレスを前記開
始アドレスと比較する回路とを含み、前記カレント・ア
ドレスが前記関連アドレス・レンジ内の場合に、前記前
回アドレスは前記関連アドレス・レンジ内ではなく、か
つ前記カレント・アドレスは前記開始アドレスではな
く、前記内部コントローラは、前記関連アドレス・レン
ジ内の命令を実行しないことを特徴とする請求項3記載
のマイクロコントローラ。 - 【請求項5】 前記セキュリティ論理は、ROMセキュ
リティ論理およびEEPROMセキュリティ論理を含む
ことを特徴とする請求項2記載のマイクロコントロー
ラ。 - 【請求項6】 前記マイクロコントローラは内部EEP
ROMを含み、前記CPUはプログラム・カウンタを含
み、前記EEPROMセキュリティ論理は、前記プログ
ラム・カウンタのカレント・アドレスを前記内部ROM
に関連するアドレス・レンジと比較する回路とを含み、
前記CPUが前記内部ROM内のコードを実行していな
い場合に前記内部EEPROMのプログラミングをディ
セーブルすることを特徴とする請求項5記載のマイクロ
コントローラ。 - 【請求項7】 電源と前記内部ROMとの間に接続され
たスイッチであって、前記スイッチは、前記内部コント
ローラに結合され、前記内部コントローラによって制御
されて、電源を前記内部ROMに選択的に供給し、前記
スイッチは前記内部コントローラ,前記電源および前記
内部ROMに結合され、前記スイッチは前記内部ROM
から前記電源を遮断して前記内部ROMをディセーブル
するスイッチをさらに含んで構成されることを特徴とす
る請求項1記載のマイクロコントローラ。 - 【請求項8】前記内部コントローラ,電源および前記内
部ROMに結合されたスイッチをさらに含んで構成さ
れ、前記内部ROMは前記スイッチを介して給電され、
前記スイッチは前記内部ROMから前記電源を遮断して
前記内部ROMをディセーブルすることを特徴とする請
求項1記載のマイクロコントローラ。 - 【請求項9】 マイクロコントローラであって:アドレ
ス・バス;データ・バス;前記データ・バスおよび前記
アドレス・バスに接続され、外部デバイスと交信する外
部ポート;内部EEPROM;内部ROM;および前記
データ・バス,前記アドレス・バス,前記内部ROMお
よび前記内部EEPROMに結合され、前記マイクロコ
ントローラが前記内部ROM内のプログラムを実行中の
ときにのみ、前記内部EEPROMのプログラミングを
イネーブルする内部コントローラ;によって構成される
ことを特徴とするマイクロコントローラ。 - 【請求項10】 前記内部コントローラは、CPUおよ
びセキュリティ論理を含み、前記CPUは、プログラム
・カウンタ・アドレスを有するプログラム・カウンタを
含み、前記セキュリティ論理は、前記プログラム・カウ
ンタ・アドレスが前記内部ROMに関連するアドレス・
レンジ内にない場合に、前記内部EEPROMのプログ
ラミングをディセーブルすることを特徴とする請求項9
記載のマイクロコントローラ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US539914 | 1990-06-18 | ||
US53991495A | 1995-10-06 | 1995-10-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09171488A true JPH09171488A (ja) | 1997-06-30 |
JP4312272B2 JP4312272B2 (ja) | 2009-08-12 |
Family
ID=24153176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28313196A Expired - Fee Related JP4312272B2 (ja) | 1995-10-06 | 1996-10-04 | 内部メモリへのアクセスを制限するマイクロコントローラ |
Country Status (2)
Country | Link |
---|---|
US (1) | US5809544A (ja) |
JP (1) | JP4312272B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009294891A (ja) * | 2008-06-05 | 2009-12-17 | Rohm Co Ltd | 記憶装置 |
JP2009294893A (ja) * | 2008-06-05 | 2009-12-17 | Rohm Co Ltd | 記憶装置及びデータ書込装置 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998022879A1 (en) * | 1996-11-15 | 1998-05-28 | Philips Electronics N.V. | A protection method against eeprom-directed intrusion into a mobile communication device that has a processor, and a device having such protection mechanism |
US5954817A (en) * | 1996-12-31 | 1999-09-21 | Motorola, Inc. | Apparatus and method for securing electronic information in a wireless communication device |
US5893923A (en) * | 1997-05-12 | 1999-04-13 | Lexmark International, Inc. | Microcontroller utilizing a circuit to select during reset process an internal or external memory as base memory |
US5987557A (en) * | 1997-06-19 | 1999-11-16 | Sun Microsystems, Inc. | Method and apparatus for implementing hardware protection domains in a system with no memory management unit (MMU) |
US6304970B1 (en) * | 1997-09-02 | 2001-10-16 | International Business Mcahines Corporation | Hardware access control locking |
US6003133A (en) * | 1997-11-17 | 1999-12-14 | Motorola, Inc. | Data processor with a privileged state firewall and method therefore |
US6339815B1 (en) * | 1998-08-14 | 2002-01-15 | Silicon Storage Technology, Inc. | Microcontroller system having allocation circuitry to selectively allocate and/or hide portions of a program memory address space |
EP1031072A1 (en) * | 1998-08-14 | 2000-08-30 | Silicon Storage Technology, Inc. | Microcontroller having allocation circuitry to selectively allocate and/or hide portions of a program memory address space |
US6505279B1 (en) * | 1998-08-14 | 2003-01-07 | Silicon Storage Technology, Inc. | Microcontroller system having security circuitry to selectively lock portions of a program memory address space |
US6615324B1 (en) * | 2000-01-07 | 2003-09-02 | Cygnal Integrated Products, Inc. | Embedded microprocessor multi-level security system in flash memory |
ES2180391B1 (es) * | 2000-09-25 | 2003-12-16 | Telesincro S A | Circuito integrado. |
JP2004013556A (ja) * | 2002-06-07 | 2004-01-15 | Matsushita Electric Ind Co Ltd | プロセッサ装置、コンパイル装置及びその方法 |
US7117398B2 (en) * | 2002-11-22 | 2006-10-03 | Texas Instruments Incorporated | Program counter range comparator with equality, greater than, less than and non-equal detection modes |
EP1783649A1 (fr) * | 2005-10-10 | 2007-05-09 | Nagracard S.A. | Microprocesseur sécurisé avec vérification des sauts |
GB2442023B (en) * | 2006-09-13 | 2011-03-02 | Advanced Risc Mach Ltd | Memory access security management |
JP2010211388A (ja) * | 2009-03-09 | 2010-09-24 | Canon Inc | 検索装置及び検索方法 |
JP5784656B2 (ja) * | 2013-02-22 | 2015-09-24 | 株式会社東芝 | マイクロプロセッサ |
US20160378691A1 (en) * | 2015-06-25 | 2016-12-29 | Intel Corporation | System, apparatus and method for protecting a storage against an attack |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4087856A (en) * | 1976-06-30 | 1978-05-02 | International Business Machines Corporation | Location dependence for assuring the security of system-control operations |
FR2401459A1 (fr) * | 1977-08-26 | 1979-03-23 | Cii Honeywell Bull | Support d'information portatif muni d'un microprocesseur et d'une memoire morte programmable |
JPS5694451A (en) * | 1979-12-27 | 1981-07-30 | Fujitsu Ltd | Microprocessor incorporating memory |
JPS5745636A (en) * | 1980-08-29 | 1982-03-15 | Hitachi Ltd | Control processing system for character pattern |
US4590552A (en) * | 1982-06-30 | 1986-05-20 | Texas Instruments Incorporated | Security bit for designating the security status of information stored in a nonvolatile memory |
JPS6068441A (ja) * | 1983-09-22 | 1985-04-19 | Fujitsu Ltd | ワンチツプ・マイクロ・コンピユ−タ |
JPH0738187B2 (ja) * | 1984-03-23 | 1995-04-26 | 株式会社日立製作所 | Lsiに構成されたマイクロコンピュータ |
US4698750A (en) * | 1984-12-27 | 1987-10-06 | Motorola, Inc. | Security for integrated circuit microcomputer with EEPROM |
JPS6341163A (ja) * | 1986-08-06 | 1988-02-22 | Nec Corp | 印字装置 |
JPS6376095A (ja) * | 1986-09-19 | 1988-04-06 | Matsushita Electric Ind Co Ltd | Icカ−ド |
JP2569514B2 (ja) * | 1986-12-12 | 1997-01-08 | 株式会社日立製作所 | 情報処理装置 |
JPS63163929A (ja) * | 1986-12-26 | 1988-07-07 | Nec Corp | マイクロプロセツサ |
JPH0740244B2 (ja) * | 1987-08-05 | 1995-05-01 | 三菱電機株式会社 | マイクロプロセツサ |
US5134700A (en) * | 1987-09-18 | 1992-07-28 | General Instrument Corporation | Microcomputer with internal ram security during external program mode |
JP3023425B2 (ja) * | 1987-10-09 | 2000-03-21 | 株式会社日立製作所 | データ処理装置 |
JP2589713B2 (ja) * | 1987-11-20 | 1997-03-12 | 株式会社日立製作所 | データプロセッサ及びデータ処理システム |
JPH0724029B2 (ja) * | 1988-04-13 | 1995-03-15 | 日本電気株式会社 | エミュレーション装置 |
US5014191A (en) * | 1988-05-02 | 1991-05-07 | Padgaonkar Ajay J | Security for digital signal processor program memory |
JPH0758502B2 (ja) * | 1988-06-30 | 1995-06-21 | 三菱電機株式会社 | Icカード |
JP2501874B2 (ja) * | 1988-06-30 | 1996-05-29 | 三菱電機株式会社 | Icカ―ド |
JPH02219149A (ja) * | 1989-02-20 | 1990-08-31 | Nec Corp | マイクロプロセッサ内蔵のメモリカード |
JPH0711793B2 (ja) * | 1989-07-13 | 1995-02-08 | 株式会社東芝 | マイクロプロセッサ |
US5210841A (en) * | 1990-01-30 | 1993-05-11 | Advanced Micro Devices, Inc. | External memory accessing system |
US5379443A (en) * | 1990-02-09 | 1995-01-03 | Intel Corporation | Microprocessor providing encoded information on byte enable lines indicating whether reading code or data, location of code/data on data lines, and bit width of code/data |
US5247621A (en) * | 1990-09-26 | 1993-09-21 | Advanced Micro Devices, Inc. | System and method for processor bus use |
US5251304A (en) * | 1990-09-28 | 1993-10-05 | Motorola, Inc. | Integrated circuit microcontroller with on-chip memory and external bus interface and programmable mechanism for securing the contents of on-chip memory |
US5276839A (en) * | 1991-03-07 | 1994-01-04 | United States Of America As Represented By The Secretary Of The Air Force | System for programming EEPROM with data loaded in ROM by sending switch signal to isolate EEPROM from host system |
US5333295A (en) * | 1991-04-11 | 1994-07-26 | Dallas Semiconductor Corp. | Memory control system |
GB9109301D0 (en) * | 1991-04-30 | 1991-06-19 | Motorola Israel Ltd | Electronic equipment |
DE4115152C2 (de) * | 1991-05-08 | 2003-04-24 | Gao Ges Automation Org | Kartenförmiger Datenträger mit einer datenschützenden Mikroprozessorschaltung |
JPH0546473A (ja) * | 1991-08-13 | 1993-02-26 | Oki Electric Ind Co Ltd | マイクロプロセツサにおけるメモリ空間拡張回路 |
FR2683357A1 (fr) * | 1991-10-30 | 1993-05-07 | Philips Composants | Microcircuit pour carte a puce a memoire programmable protegee. |
JPH0612321A (ja) * | 1992-06-26 | 1994-01-21 | Oki Electric Ind Co Ltd | 書換可能メモリのオンボード書換回路 |
US5557743A (en) * | 1994-04-05 | 1996-09-17 | Motorola, Inc. | Protection circuit for a microprocessor |
-
1996
- 1996-10-04 JP JP28313196A patent/JP4312272B2/ja not_active Expired - Fee Related
- 1996-10-15 US US08/730,188 patent/US5809544A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009294891A (ja) * | 2008-06-05 | 2009-12-17 | Rohm Co Ltd | 記憶装置 |
JP2009294893A (ja) * | 2008-06-05 | 2009-12-17 | Rohm Co Ltd | 記憶装置及びデータ書込装置 |
Also Published As
Publication number | Publication date |
---|---|
US5809544A (en) | 1998-09-15 |
JP4312272B2 (ja) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4312272B2 (ja) | 内部メモリへのアクセスを制限するマイクロコントローラ | |
US5737760A (en) | Microcontroller with security logic circuit which prevents reading of internal memory by external program | |
JP3023425B2 (ja) | データ処理装置 | |
US5640542A (en) | On-chip in-circuit-emulator memory mapping and breakpoint register modules | |
US5892826A (en) | Data processor with flexible data encryption | |
US5251304A (en) | Integrated circuit microcontroller with on-chip memory and external bus interface and programmable mechanism for securing the contents of on-chip memory | |
EP2013809B1 (en) | Method and apparatus for secure context switching in a system including a processor and cached virtual memory | |
EP0851358B1 (en) | Processing system security | |
JP3710671B2 (ja) | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 | |
US11675526B2 (en) | Memory-access control | |
US7752427B2 (en) | Stack underflow debug with sticky base | |
US20080046762A1 (en) | Protecting system control registers in a data processing apparatus | |
EP0702297B1 (en) | A data processor with breakpoint circuit | |
US20100023780A1 (en) | Flash device security method utilizing a check register | |
JPH07191903A (ja) | データ処理システムおよび動作方法 | |
WO2006093618A2 (en) | Integrated microcontroller and memory with secure interface between system program and user operating system and application | |
JP4945053B2 (ja) | 半導体装置、バスインターフェース装置、およびコンピュータシステム | |
US8060929B2 (en) | Method and system for providing security to processors | |
US20080034150A1 (en) | Data processing circuit | |
JPH11184724A (ja) | インサーキットエミュレータ及び半導体集積回路 | |
JPH07319569A (ja) | コンピュータシステム | |
JPH09114743A (ja) | シングルチップ・マイクロコンピュータ | |
KR100392453B1 (ko) | 컴퓨터 및 그 제어방법 | |
KR200170154Y1 (ko) | 플래시 메모리의 제어 장치 | |
JPH09167117A (ja) | マイクロコンピュータおよびこれを用いたリアルタイムシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070925 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20071225 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20071228 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080125 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080201 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080325 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080402 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20080708 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090225 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20090317 |
|
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: 20090414 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090513 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
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: 20120522 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |