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
Application number
JP8283131A
Other languages
English (en)
Other versions
JP4312272B2 (ja
Inventor
A Daussei Donald
ドナルド・エー・ドーセイ
M Hansen Joseph
ジョセフ・エム・ハンセン
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.)
Motorola Solutions Inc
Original Assignee
Motorola Inc
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 Motorola Inc filed Critical Motorola Inc
Publication of JPH09171488A publication Critical patent/JPH09171488A/ja
Application granted granted Critical
Publication of JP4312272B2 publication Critical patent/JP4312272B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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/1433Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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/1441Protection 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)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 【課題】 内部ROM110およびEEPROM109
ならびに外部拡張バスを含む、外部ポート112を具備
するマイクロコントローラを提供する。 【解決手段】 マイクロコントローラ内部のEEPRO
Mは、CPU102が内部ROM内の命令を実行中にの
みプログラム可能である。さらに、内部ROMに格納さ
れた、機密動作に関連する命令は、まず機密動作の開始
命令を実行せずにアクセスできない。有効エントリ・ア
ドレス以外のポイントで機密動作の実行を開始する試み
は、内部ROM110をディセーブルさせる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ・プロセッサに
関し、さらに詳しくは、外部アクセス・ポートを有する
マイクロコントローラ用のセキュリティ機能に関する。
【0002】
【従来の技術】マイクロコントローラとは、中央処理装
置(CPU),ランダム・アクセス・メモリ(RA
M),リード・オンリ・メモリ(ROM)および周辺装
置を含む、コンピュータ・システムに関連するいくつか
の要素をオンチップで内蔵する集積回路のことである。
CPUのオペレーティング・システムを格納するため不
揮発性メモリが用いられる。多くの場合、オンチップ不
揮発性メモリは、マイクロコントローラのプログラムの
すべてを内蔵する十分な大きさである。この場合、マイ
クロコントローラは、動作するためにオフチップ・メモ
リにアクセスする必要はない。しかし、プログラムが大
きすぎて、オンチップ不揮発性メモリに収まりきらない
場合があり、マイクロコントローラはプログラムの一部
をオフチップでフェッチできなければならない。この可
能性に対処するため、一般的なマイクロコントローラ
は、拡張バスとして知られるものを有し、この拡張バス
とは、外部メモリまたはメモリ・マップド周辺装置をア
クセス可能にする、データ・ラインおよびアドレス・ラ
インを具備するバスのことである。
【0003】
【発明が解決しようとする課題】「ハッカー」がオンチ
ップ・プログラムの知見を得ることを防ぐため、マイク
ロコントローラにセキュリティ機能を内蔵することが望
ましい場合が多い。例えば、Wilkieらによって発明さ
れ、本明細書の譲受人に譲渡された米国特許第4,69
8,750号は、セキュリティ・モードになると不揮発
性メモリの内容を外部ソースによって読み出すことを防
ぐ、セキュリティ・モードを具備するマイクロコンピュ
ータについて教示する。Sibigtrothらによって発明さ
れ、本明細書の譲受人に譲渡された米国特許第5,25
1,304号によって教示される別の方法は、マイクロ
コントローラが拡張バスと動作する場合に有用である。
米国特許第5,251,304号は、オフチップ命令ア
クセスがディセーブルされる機密モードを具備するマイ
クロコントローラについて教示する。この教示は、オン
チップ不揮発性メモリがオペレーティング・プログラム
のすべてを格納するのに十分大きい場合に有用である。
しかし、オペレーティング・プログラムが大きすぎて、
実際的大きさのオンチップ不揮発性メモリに格納できな
い場合、新たな問題が生じる。例えば、ハッカーであれ
ば、プログラムの外部部分のセグメントを書き直して、
CPUに内部不揮発性メモリの内容を読み出させること
ができる。
【0004】
【課題を解決するための手段】従って、改善されたセキ
ュリティを具備するマイクロコントローラが望ましい。
【0005】
【実施例】マイクロコントローラは、拡張バスに結合さ
れた拡張ポートを有する。マイクロコントローラは、内
部ROM,RAMおよびEEPROM(electronically
erasable read only memory)ならびに拡張バスに結合さ
れた外部拡張ポートを含む。内部EEPROMは、CP
Uが内部ROM内で命令を実行している場合にのみ、プ
ログラム可能である。さらに、内部ROMに格納された
機密動作に関連する命令は、まず機密動作の開始命令を
実行しないとアクセスできない。有効なエントリ・アド
レス以外のポイントで機密動作の実行を開始する試み、
例えば、他のポイントで機密動作にJMP,JSR,R
TSまたはRTを行う試みは、内部ROMをディセーブ
ルさせる。
【0006】マイクロコントローラ100(図1)は、
アドレス信号をアドレス・バス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からコー
ドを実行する場合にのみマイクロコントローラによって
読み出すことができる。
【0007】外部ポート112は、マイクロコントロー
ラ100を外部拡張バス114に接続することを可能に
する。マイクロコントローラ100を外部バスに接続す
ることが望ましい状況の一つとして、オペレーティング
・プログラムを格納するためにEEPROM109また
はROM110を十分に大きくできない場合がある。例
えば、マイクロコントローラ上のEEPROMは、32
〜48キロバイト(Kbyte)の範囲にサイズが一般
に制限されるが、高度なアプリケーション・プログラム
には100Kbyteを越えるサイズを必要とするもの
がある。これらの大きなサイズのプログラムは、利用可
能な技術を利用してオンチップで実施することはほぼ不
可能である。
【0008】EEPROM109および内部ROM11
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に対して外部の回路
を利用することによって、構成できる。
【0009】動作時に、CPU102が内部ROM11
0に対して外部のコードまたはマイクロコントローラ1
10に対して外部のコードを実行中に、EEPROMを
プログラムすることを試みるとき、セキュリティ論理1
16はEEPROM109へのアクセスをディセーブル
する。また、セキュリティ論理116は、CPU102
が開始アドレスにおいて命令を実行せずに、機密動作に
関連するROM110内のコードを実行することを試み
るとき、内部ROM110へのアクセスをディセーブル
する。さらに、内部ROM110以外の場所でコードが
実行されるときにはいつでも、内部ROM110へのア
クセスはディセーブルされる。
【0010】これらのセキュリティ動作を実行するた
め、セキュリティ論理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のアドレス・レンジ全体でもよいこ
とが理解される。
【0011】前回アドレス比較器(previous address co
mparator) 210は、バス205を介して機密アドレス
・レンジ・レジスタ206と、バス214を介して前回
プログラム・カウンタ・アドレス・レジスタ212とに
結合される。前回プログラム・カウンタ・アドレス・レ
ジスタ212は、一つのアドレス、すなわち、前回のプ
ログラム・カウンタ・アドレスを格納するメモリであ
る。前回プログラム・カウンタ・アドレス・レジスタ2
12は、バス203を介してプログラム・カウンタ20
4に結合される。プログラム・カウンタが旧アドレスか
ら新アドレスに変化する毎に、プログラム・カウンタか
らの旧アドレスは前回プログラム・カウンタ・アドレス
・レジスタ212に格納される。前回プログラム・カウ
ンタ・アドレスが機密アドレス・レンジ内の場合、前回
アドレス比較器210は、高論理レベル信号を出力す
る。それ以外の場合には、前回アドレス比較器210は
低論理レベル信号を出力する。前回アドレス比較器21
0は、カレント・アドレス比較器202がプログラム・
カウンタ・アドレスを機密アドレス・レンジと比較する
のと同じように、前回プログラム・カウンタ・アドレス
・レジスタ212におけるアドレスを機密アドレス・レ
ンジと比較し、そのためこれについては説明しない。
【0012】第1アドレス比較器216は、バス220
を介して第1アドレス・レジスタ218と、バス203
を介してプログラム・カウンタ204とに結合される。
第1アドレス・レジスタ218は、ROM110に格納
される各機密動作の第1アドレスを格納する。第1アド
レス比較器216は、プログラム・カウンタ・アドレス
を、第1アドレス・レジスタ218に格納されたアドレ
スと比較する。プログラム・カウンタ204のアドレス
が第1アドレス・レジスタ218におけるアドレスと一
致した場合、第1アドレス比較器216は高論理レベル
を出力する。それ以外の場合には、第1アドレス比較器
は低論理レベルを出力する。
【0013】論理回路230は、コンダクタ224を介
して前回アドレス比較器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の動作はディセーブルされる。
【0014】ROMセキュリティ論理の別の実施例を図
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の出力は
高論理レベルである。
【0015】電源回路302(図3)は、コンダクタ3
06によって第1アドレス比較器216の出力と、コン
ダクタ304によってカレント・アドレス比較器202
の出力とに結合される。電源回路302は、コンダクタ
318によって内部ROM110の電源入力に接続さ
れ、比較器202,212の出力に応じてコンダクタ3
10,318をROM110の電源に選択的に接続す
る。
【0016】電源回路302は、RSフリップフロップ
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
との間に接続される。
【0017】動作時に、RSフリップフロップ402
は、機密状態と非機密状態との間でトグルする。コンダ
クタ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のゲートに送
られる。
【0018】コンダクタ306が高論理レベルに変化せ
ずに、コンダクタ304上の信号が高論理レベルに変化
して、最初に開始アドレス命令を実行せずに機密アドレ
スを実行することを示すと、S入力は値0を有し、R入
力は値0を有する。RSフリップフロップの出力は、状
態を変化しない(図5参照)。さらに、ANDゲート4
08の出力は0に変化する。そのため、ORゲート41
0の出力は低論理レベルを有し、MOSFETは非導通
状態となり、ROMへの電源供給を遮断する。従って、
ROMはディセーブルされる。
【0019】ORゲート410の出力は、図2の論理回
路230の出力の場合と同様に、ROMをイネーブルお
よびディセーブルするためにROM110に接続できる
ことがわかる。あるいは、図2における論理回路230
の出力は、MOSFET426のゲートを駆動できる。
また、ANDゲート408およびORゲート410は、
図4の回路から省くことができ、この場合、機密アドレ
ス・レンジはROMの全アドレス・レンジとなることが
わかる。この実施例では、RSフリップフロップ402
のQ出力は、ROM110に格納されていないコードが
実行されるときにはいつでもROMがディセーブルされ
るように、MOSFET426のゲートを駆動する。
【0020】EEPROMセキュリティ回路600(図
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が読み出されたり、書き込まれるこ
とを防ぐ。
【0021】ROMおよびEEPROMセキュリティ論
理について、ディスクリート回路を利用して構成される
ものとして説明してきたが、当業者であれば、この論理
は好ましくはマイクロコントローラ・チップ内に集積さ
れることが理解される。また、セキュリティ論理116
は、デジタル・プロセッサを利用して構成できることも
想定される。デジタル・プロセッサを利用した場合、デ
ジタル・プロセッサは、図7のブロック700に示すよ
うに、プログラム・カウンタ204のアドレスが機密動
作レンジ内であるかどうかを判定する。プログラム・カ
ウンタが機密アドレス・レンジ内でない場合、プロセッ
サはブロック703に示すように内部ROM110をイ
ネーブルする。これは、ROM110がディセーブルさ
れた後にマイクロコントローラ100が非機密アドレス
・レンジに戻った場合に、ROM110がイネーブルさ
れることを保証する。次に、デジタル・プロセッサは、
ブロック702に示すように、次のプログラム・カウン
タ(PC)アドレスにて命令を入力する。プログラム・
カウンタが機密アドレス・レンジ内にない場合、デジタ
ル・プロセッサは、判定ブロック704に示すように、
プログラム・カウンタ・アドレスが機密アドレス・レン
ジの開始アドレス内にあるかどうかを判定する。開始ア
ドレス内にない場合には、プロセッサはブロック706
に示すようにROMをディセーブルする。アドレスが第
1アドレスである場合、プロセッサは、プログラム・カ
ウンタが機密動作のままである限り、ブロック708に
示すようにアドレスを入力し、プログラム・カウンタ・
アドレスが機密アドレス・レンジ内であるかどうかを判
定することにより、ROMをイネーブルし続ける。プロ
グラム・カウンタ・アドレスが機密アドレス・レンジ内
でなくなると、プロセッサはブロック702に進む。
【0022】図8は、デジタル・プロセッサを利用し
て、内部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をディセーブルす
る。
【0023】以上、マイクロコントローラ用の改善され
たセキュリティが開示されることがわかる。改善された
セキュリティは、マイクロコントローラの複雑性または
コストを実質的に増加せずに、マイクロコントローラに
格納された情報について提供される。
【図面の簡単な説明】
【図1】拡張バスを有するマイクロコントローラを示
す、ブロック図形式の回路図である。
【図2】図1によるマイクロコントローラ用のセキュリ
ティ論理を示す、ブロック図形式の回路図である。
【図3】セキュリティ論理の別の実施例を示す、ブロッ
ク図形式の回路図である。
【図4】図3による回路用の電源回路を示す回路図であ
る。
【図5】図4のRSフリップフロップの論理テーブルで
ある。
【図6】図2のセキュリティ論理における別の回路を示
す、ブロック図形式の回路図である。
【図7】プロセッサ実施セキュリティ論理(processor i
mplemented security logic)を採用する別の実施例を示
すフローチャートである。
【図8】プロセッサ実施セキュリティ論理を採用する別
の実施例を示すフローチャートである。
【符号の説明】
100 マイクロコントローラ 102 中央処理装置(CPU) 104 アドレス・バス 106 データ・バス 108 RAM 109 EEPROM 110 ROM 112 外部ポート 114 外部拡張バス 116 セキュリティ論理 118,120 コンダクタ 119 内部コントローラ 202 カレント・アドレス比較器 203,205 バス 204 プログラム・カウンタ 206 機密アドレス・レンジ・レジスタ 210 前回アドレス比較器 212 前回プログラム・カウンタ・アドレス・レジス
タ 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. 【請求項1】 アドレス・バス;データ・バス;前記ア
    ドレス・バスと、前記データ・バストに接続され、外部
    メモリに結合する外部アドレス・ポート;関連アドレス
    ・レンジにて機密動作のための命令を格納する内部RO
    Mであって、前記関連アドレス・レンジは開始アドレス
    を含む、内部ROM;および前記データ・バス,前記ア
    ドレス・バスおよび前記内部ROMに結合された内部コ
    ントローラであって、前記内部コントローラは、前記命
    令を実行することによって前記機密動作の実行を制御
    し、前記コントローラは、前記開始アドレスに関連する
    命令を実行することにより前記機密動作が開始されない
    場合、前記命令の実行を阻止する内部コントローラ;に
    よって構成されることを特徴とするマイクロコントロー
    ラ。
  2. 【請求項2】 前記内部コントローラは、機密論理と、
    前記機密論理に結合されたCPUとを含むことを特徴と
    する請求項1記載のマイクロコントローラ。
  3. 【請求項3】 前記CPUは、プログラム・カウンタを
    含み、前記セキュリティ論理は、前記プログラム・カウ
    ンタに結合され、前記CPUを監視し、前記プログラム
    ・カウンタのカレント・アドレスが前記関連アドレス・
    レンジ内にあるかどうかを判定することを特徴とする請
    求項2記載のマイクロコントローラ。
  4. 【請求項4】 前記セキュリティ論理は、前記プログラ
    ム・カウンタの前回アドレスを前記関連アドレス・レン
    ジと比較する回路と、前記カレント・アドレスを前記開
    始アドレスと比較する回路とを含み、前記カレント・ア
    ドレスが前記関連アドレス・レンジ内の場合に、前記前
    回アドレスは前記関連アドレス・レンジ内ではなく、か
    つ前記カレント・アドレスは前記開始アドレスではな
    く、前記内部コントローラは、前記関連アドレス・レン
    ジ内の命令を実行しないことを特徴とする請求項3記載
    のマイクロコントローラ。
  5. 【請求項5】 前記セキュリティ論理は、ROMセキュ
    リティ論理およびEEPROMセキュリティ論理を含む
    ことを特徴とする請求項2記載のマイクロコントロー
    ラ。
  6. 【請求項6】 前記マイクロコントローラは内部EEP
    ROMを含み、前記CPUはプログラム・カウンタを含
    み、前記EEPROMセキュリティ論理は、前記プログ
    ラム・カウンタのカレント・アドレスを前記内部ROM
    に関連するアドレス・レンジと比較する回路とを含み、
    前記CPUが前記内部ROM内のコードを実行していな
    い場合に前記内部EEPROMのプログラミングをディ
    セーブルすることを特徴とする請求項5記載のマイクロ
    コントローラ。
  7. 【請求項7】 電源と前記内部ROMとの間に接続され
    たスイッチであって、前記スイッチは、前記内部コント
    ローラに結合され、前記内部コントローラによって制御
    されて、電源を前記内部ROMに選択的に供給し、前記
    スイッチは前記内部コントローラ,前記電源および前記
    内部ROMに結合され、前記スイッチは前記内部ROM
    から前記電源を遮断して前記内部ROMをディセーブル
    するスイッチをさらに含んで構成されることを特徴とす
    る請求項1記載のマイクロコントローラ。
  8. 【請求項8】前記内部コントローラ,電源および前記内
    部ROMに結合されたスイッチをさらに含んで構成さ
    れ、前記内部ROMは前記スイッチを介して給電され、
    前記スイッチは前記内部ROMから前記電源を遮断して
    前記内部ROMをディセーブルすることを特徴とする請
    求項1記載のマイクロコントローラ。
  9. 【請求項9】 マイクロコントローラであって:アドレ
    ス・バス;データ・バス;前記データ・バスおよび前記
    アドレス・バスに接続され、外部デバイスと交信する外
    部ポート;内部EEPROM;内部ROM;および前記
    データ・バス,前記アドレス・バス,前記内部ROMお
    よび前記内部EEPROMに結合され、前記マイクロコ
    ントローラが前記内部ROM内のプログラムを実行中の
    ときにのみ、前記内部EEPROMのプログラミングを
    イネーブルする内部コントローラ;によって構成される
    ことを特徴とするマイクロコントローラ。
  10. 【請求項10】 前記内部コントローラは、CPUおよ
    びセキュリティ論理を含み、前記CPUは、プログラム
    ・カウンタ・アドレスを有するプログラム・カウンタを
    含み、前記セキュリティ論理は、前記プログラム・カウ
    ンタ・アドレスが前記内部ROMに関連するアドレス・
    レンジ内にない場合に、前記内部EEPROMのプログ
    ラミングをディセーブルすることを特徴とする請求項9
    記載のマイクロコントローラ。
JP28313196A 1995-10-06 1996-10-04 内部メモリへのアクセスを制限するマイクロコントローラ Expired - Fee Related JP4312272B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69738450T2 (de) * 1996-11-15 2009-01-08 Nxp B.V. Verfahren und Vorrichtung zur zeitlichen Nachführung eines Signals
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
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
WO2000010074A1 (en) * 1998-08-14 2000-02-24 Silicon Storage Technology, Inc. Microcontroller having allocation circuitry to selectively allocate and/or hide 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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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
US4590552A (en) Security bit for designating the security status of information stored in a nonvolatile memory
JP3023425B2 (ja) データ処理装置
US5640542A (en) On-chip in-circuit-emulator memory mapping and breakpoint register modules
US5446864A (en) System and method for protecting contents of microcontroller memory by providing scrambled data in response to an unauthorized read access without alteration of the memory contents
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
JP2001256460A (ja) 1チップマイクロコンピュータ及びそれを用いたicカード
US11675526B2 (en) Memory-access control
WO2006093618A2 (en) Integrated microcontroller and memory with secure interface between system program and user operating system and application
JP4945053B2 (ja) 半導体装置、バスインターフェース装置、およびコンピュータシステム
JPH07191903A (ja) データ処理システムおよび動作方法
US7613928B2 (en) Flash device security method utilizing a check register
US8060929B2 (en) Method and system for providing security to processors
US20080034150A1 (en) Data processing circuit
JPH11184724A (ja) インサーキットエミュレータ及び半導体集積回路
JPH07319569A (ja) コンピュータシステム
KR100392453B1 (ko) 컴퓨터 및 그 제어방법
KR200170154Y1 (ko) 플래시 메모리의 제어 장치
JP4236808B2 (ja) 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法
JP2903601B2 (ja) Rom内蔵マイクロコンピュータ
JP2004078996A (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