JP2000076133A - 一度だけ書込み可能なメモリ内のプログラムデ―タのセキュリティ保証方法 - Google Patents
一度だけ書込み可能なメモリ内のプログラムデ―タのセキュリティ保証方法Info
- Publication number
- JP2000076133A JP2000076133A JP15853399A JP15853399A JP2000076133A JP 2000076133 A JP2000076133 A JP 2000076133A JP 15853399 A JP15853399 A JP 15853399A JP 15853399 A JP15853399 A JP 15853399A JP 2000076133 A JP2000076133 A JP 2000076133A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- security
- protection
- array
- block
- 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.)
- Abandoned
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Read Only Memory (AREA)
Abstract
(57)【要約】
【課題】 EPROMアレイ内に記憶されたデータとプ
ログラムコードを海賊行為から保護する方法を得る。 【解決手段】 非揮発性メモリアレイ220の第1のメ
モリアドレスから始まる最初のプログラミングの完了後
に、保護レジスタとして働く最後から2番目のアドレス
208がセットされて、保護ブロック210の番号と対
応する。これは、セクション境界212をセットして、
アレイを分割する。1次セキュリティ・セクション21
4の内容は、保護レジスタのビット7(ブロックプロテ
クト)がイネーブル(ゼロにセット)されると、読取り
不可で書込み不可にされる。保護レジスタは、保護ブロ
ックの番号およびその反転の両方で書き込まれる。これ
は、EPROMが0しか書けないことにより、保護レジ
スタを不正に変更してセクション境界を移動することを
防止する。
ログラムコードを海賊行為から保護する方法を得る。 【解決手段】 非揮発性メモリアレイ220の第1のメ
モリアドレスから始まる最初のプログラミングの完了後
に、保護レジスタとして働く最後から2番目のアドレス
208がセットされて、保護ブロック210の番号と対
応する。これは、セクション境界212をセットして、
アレイを分割する。1次セキュリティ・セクション21
4の内容は、保護レジスタのビット7(ブロックプロテ
クト)がイネーブル(ゼロにセット)されると、読取り
不可で書込み不可にされる。保護レジスタは、保護ブロ
ックの番号およびその反転の両方で書き込まれる。これ
は、EPROMが0しか書けないことにより、保護レジ
スタを不正に変更してセクション境界を移動することを
防止する。
Description
【0001】
【発明の属する技術分野】本発明は、コンピュータ・マ
イクロプロセッサに関し、特に、1度だけ書込み可能な
(OTP)内部メモリを特徴とするマイクロプロセッサ
に関する。
イクロプロセッサに関し、特に、1度だけ書込み可能な
(OTP)内部メモリを特徴とするマイクロプロセッサ
に関する。
【0002】
【従来の技術】コンピュータおよびマイクロコントロー
ラ内のパーマネント・オペレーティング・コード コンピュータまたはマイクロプロセッサは、典型的に
は、電源を切っても符号(コード)が保持されるように
非揮発性メモリ(たとえば、ROM、EPROM、フラ
ッシュメモリ)内に記憶されたそのオペレーティング・
コードの重要部分を有する。しばしば、この符号の全て
または一部は、中央処理装置(CPU)自体として同一
チップ上に常駐するメモリ(内部メモリ)内に記憶され
る。これにより、CPUおよびその基本オペレーティン
グ・コードを単一ユニットとして実装(パッケージ)可
能にしている。単一チップ内での諸機能のこの集積は、
プロセッサを使用するアセンブリの設計を単純化するの
に役立つ。この集積はまた、部品数(part count)を減
少させ、信頼性を向上するのに役立つ。
ラ内のパーマネント・オペレーティング・コード コンピュータまたはマイクロプロセッサは、典型的に
は、電源を切っても符号(コード)が保持されるように
非揮発性メモリ(たとえば、ROM、EPROM、フラ
ッシュメモリ)内に記憶されたそのオペレーティング・
コードの重要部分を有する。しばしば、この符号の全て
または一部は、中央処理装置(CPU)自体として同一
チップ上に常駐するメモリ(内部メモリ)内に記憶され
る。これにより、CPUおよびその基本オペレーティン
グ・コードを単一ユニットとして実装(パッケージ)可
能にしている。単一チップ内での諸機能のこの集積は、
プロセッサを使用するアセンブリの設計を単純化するの
に役立つ。この集積はまた、部品数(part count)を減
少させ、信頼性を向上するのに役立つ。
【0003】OTPメモリに記憶されたパーマネント・
オペレーティング・コード 多くのマイクロプロセッサ、特にマイクロコントローラ
として知られるクラスのマイクロプロセッサは、UV消
去可能EPROM,EEPROM,1度だけプログラム
可能な(OTP)メモリまたはフラッシュメモリのよう
な電気的にプログラム可能な読取り専用メモリ(EPR
OM)のある形で、それらの内部オペレーティング・コ
ードを記憶する。この設計により、ICの製造後にオペ
レーティング・コードをプログラムすることが可能にな
り、ROMに基づく設計よりも遥かに高度な柔軟性をも
たらす。このアーキテクチャーによれば、製造者は、製
造後にオペレーティング・コードを改定し改良したり、
オペレーティング・コードを特別の注文により変更して
複数の顧客の特別なニーズに応えることができる。代り
に、製造者は、EPROMバンクを空白のままにしたり
部分的にプログラムして、顧客がその固有のコードをイ
ンストールできるようにし得る。この設計により、製造
者は一層大量のチップを1度に設定できるようになり、
特殊な手持ち在庫の必要を減少させ、迅速なプロトタイ
ピングを容易にする。
オペレーティング・コード 多くのマイクロプロセッサ、特にマイクロコントローラ
として知られるクラスのマイクロプロセッサは、UV消
去可能EPROM,EEPROM,1度だけプログラム
可能な(OTP)メモリまたはフラッシュメモリのよう
な電気的にプログラム可能な読取り専用メモリ(EPR
OM)のある形で、それらの内部オペレーティング・コ
ードを記憶する。この設計により、ICの製造後にオペ
レーティング・コードをプログラムすることが可能にな
り、ROMに基づく設計よりも遥かに高度な柔軟性をも
たらす。このアーキテクチャーによれば、製造者は、製
造後にオペレーティング・コードを改定し改良したり、
オペレーティング・コードを特別の注文により変更して
複数の顧客の特別なニーズに応えることができる。代り
に、製造者は、EPROMバンクを空白のままにしたり
部分的にプログラムして、顧客がその固有のコードをイ
ンストールできるようにし得る。この設計により、製造
者は一層大量のチップを1度に設定できるようになり、
特殊な手持ち在庫の必要を減少させ、迅速なプロトタイ
ピングを容易にする。
【0004】オンチップ・ソフトウェアのセキュリティ 多くの場合、チップをプログラムする人(製造者または
他のパーティ)は、機密保持のために彼が好ましいと思
うソフトウェア・コードでチップをプログラムする。そ
うした場合、先のプログラマーは、後のプログラマーお
よびユーザを制約して、チップのメモリバンクからの読
取りおよびコピーができないようにするとともに、その
中に記憶されたコードの実行のためのアクセスができる
ようにしておくことを望むであろう。製造者は、チップ
の内部メモリの一部分をプログラムするとともに、内部
メモリの残部を顧客がプログラムするために開放するこ
とを望むかもしれない。そうした場合、プログラマーの
一方または両方は、他のプログラマーおよび第三者から
このコードを保護しようと望むかもしれない。
他のパーティ)は、機密保持のために彼が好ましいと思
うソフトウェア・コードでチップをプログラムする。そ
うした場合、先のプログラマーは、後のプログラマーお
よびユーザを制約して、チップのメモリバンクからの読
取りおよびコピーができないようにするとともに、その
中に記憶されたコードの実行のためのアクセスができる
ようにしておくことを望むであろう。製造者は、チップ
の内部メモリの一部分をプログラムするとともに、内部
メモリの残部を顧客がプログラムするために開放するこ
とを望むかもしれない。そうした場合、プログラマーの
一方または両方は、他のプログラマーおよび第三者から
このコードを保護しようと望むかもしれない。
【0005】許可されてないコピーに対するメモリの保
護は、複雑で困難な課題である。保護つきメモリは、通
常、何かに使用するためにはプロセッサが読めなければ
ならないコードおよびコード関連データを含む。一層問
題なことに、CPUの制御を後のプログラマーおよびユ
ーザへ明け渡さなければならず、彼らの多くが先のプロ
グラマーに対して相反する利害を有するであろう。設計
においてそれらの道を閉ざすために、あらゆる保護方式
は迂回の可能な道を予想しなければならない。
護は、複雑で困難な課題である。保護つきメモリは、通
常、何かに使用するためにはプロセッサが読めなければ
ならないコードおよびコード関連データを含む。一層問
題なことに、CPUの制御を後のプログラマーおよびユ
ーザへ明け渡さなければならず、彼らの多くが先のプロ
グラマーに対して相反する利害を有するであろう。設計
においてそれらの道を閉ざすために、あらゆる保護方式
は迂回の可能な道を予想しなければならない。
【0006】現在のメモリセキュリティ方式は、内部メ
モリバンクを一単位としてロックする。最初のプログラ
マーがメモリの一部分をプログラムするとともに他の部
分を顧客のために残したいと望む場合は、読取りプロテ
クトを機能抑止のままにして、この最初のプログラマー
のソフトウェアが保護されないままにしておかなければ
ならない。装置に精通した人々にとっては、セキュリテ
ィ保護を迂回する道が一つ以上あるのが普通であり、こ
れが主としてたまにしか使用しない人に対してそうした
セキュリティを有効なものにしている。
モリバンクを一単位としてロックする。最初のプログラ
マーがメモリの一部分をプログラムするとともに他の部
分を顧客のために残したいと望む場合は、読取りプロテ
クトを機能抑止のままにして、この最初のプログラマー
のソフトウェアが保護されないままにしておかなければ
ならない。装置に精通した人々にとっては、セキュリテ
ィ保護を迂回する道が一つ以上あるのが普通であり、こ
れが主としてたまにしか使用しない人に対してそうした
セキュリティを有効なものにしている。
【0007】アレイの一つだけのプログラマー定義可能
セクションの保護が可能であり、このアレイの残りの部
分のプログラミングが可能なソフトウェア・セキュリテ
ィ方式は、現在のところ存在しない。
セクションの保護が可能であり、このアレイの残りの部
分のプログラミングが可能なソフトウェア・セキュリテ
ィ方式は、現在のところ存在しない。
【0008】
【発明が解決しようとする課題】ブロック区分されたセ
キュリティ・メモリ 本出願は、各パーティのコードについて完全なセキュリ
ティ保護を有する2つ以上のパーティにより装置をプロ
グラムできる方式を記述する。本発明は、製造者が基本
ルーチンを装置へプログラムすることを可能にし、ま
た、開発者が各プログラマー・コードについて完全なセ
キュリティ保護を有する特定アプリケーション用の装置
を更にプログラムすることを可能にする。一つの代りの
実施の形態において、エンドユーザまたは他の後続のプ
ログラマーが、特定設置に固有な保護つきコードを追加
できる。本出願において開示されるセキュリティ回路お
よび制御は、他のプログラマーとともにあらゆる第三者
からの海賊行為に対して強力な保護を各プログラマーに
提供する。
キュリティ・メモリ 本出願は、各パーティのコードについて完全なセキュリ
ティ保護を有する2つ以上のパーティにより装置をプロ
グラムできる方式を記述する。本発明は、製造者が基本
ルーチンを装置へプログラムすることを可能にし、ま
た、開発者が各プログラマー・コードについて完全なセ
キュリティ保護を有する特定アプリケーション用の装置
を更にプログラムすることを可能にする。一つの代りの
実施の形態において、エンドユーザまたは他の後続のプ
ログラマーが、特定設置に固有な保護つきコードを追加
できる。本出願において開示されるセキュリティ回路お
よび制御は、他のプログラマーとともにあらゆる第三者
からの海賊行為に対して強力な保護を各プログラマーに
提供する。
【0009】
【課題を解決するための手段】好ましい実施の形態で
は、第1のプログラマーが定義可能な2つ以上のセクシ
ョンに非揮発性メモリアレイを分割することにより、セ
キュリティ保護が達成される。一つのセクションがプロ
グラムされロックされると、どのプログラマーもユーザ
もいずれの保護つきセクションへも読取りまたは書込み
のアクセスができず、確立されたセクション境界も変更
できない。命令アドレスと同じメモリセクション内のメ
モリアドレスをCPUが参照する場合には、読取り命令
はCPUによってのみ実行される。異なったセクション
内のアドレスを読むことのCPUへの命令は、単純に無
視される。
は、第1のプログラマーが定義可能な2つ以上のセクシ
ョンに非揮発性メモリアレイを分割することにより、セ
キュリティ保護が達成される。一つのセクションがプロ
グラムされロックされると、どのプログラマーもユーザ
もいずれの保護つきセクションへも読取りまたは書込み
のアクセスができず、確立されたセクション境界も変更
できない。命令アドレスと同じメモリセクション内のメ
モリアドレスをCPUが参照する場合には、読取り命令
はCPUによってのみ実行される。異なったセクション
内のアドレスを読むことのCPUへの命令は、単純に無
視される。
【0010】本出願は、1次セキュリティ方式の迂回を
防止するために設計された多数の他の機能を開示する。
プロセッサは、コードセクション境界自体の値を保護す
る機構を採用し、また、保全されたコードを保護するた
めに種々の新規な方式が採用される。CPUは、その内
蔵テストモードの一つにある。これらの機構を通じて、
競争者や顧客による海賊行為から自分のコードが保全さ
れるという高度の確信をもって、開発者はこのCPU上
に彼のコードをインストールできる。
防止するために設計された多数の他の機能を開示する。
プロセッサは、コードセクション境界自体の値を保護す
る機構を採用し、また、保全されたコードを保護するた
めに種々の新規な方式が採用される。CPUは、その内
蔵テストモードの一つにある。これらの機構を通じて、
競争者や顧客による海賊行為から自分のコードが保全さ
れるという高度の確信をもって、開発者はこのCPU上
に彼のコードをインストールできる。
【0011】開示された方法および構造の一つの利点
は、メモリの一つのセクションのプログラミングおよび
読取りを可能にするとともに、読取りまたはプログラム
の操作から安全なセクションを完全に保護することであ
る。
は、メモリの一つのセクションのプログラミングおよび
読取りを可能にするとともに、読取りまたはプログラム
の操作から安全なセクションを完全に保護することであ
る。
【0012】
【発明の実施の形態】開示される発明は添付図面を参照
して説明されるが、これらは本発明の重要な実施の形態
を示し、また、本明細書に参考として組み込まれたもの
を示す。本発明の多数の技術革新的な教示について、現
在好ましい実施の形態を特別に参照しながら説明する。
しかしながら、このクラスの実施の形態は本明細書の技
術革新的な教示の多くの有利な利用のほんの少しの例を
提供するだけであることを理解すべきである。一般に、
本出願の明細書になされる供述は、必ずしも、本発明の
種々のクレームされた発明のいずれかを限定するもので
はない。その上、いくつかの供述は、本発明のいくつか
の機能に適用できるが、他の機能には適用できない。
して説明されるが、これらは本発明の重要な実施の形態
を示し、また、本明細書に参考として組み込まれたもの
を示す。本発明の多数の技術革新的な教示について、現
在好ましい実施の形態を特別に参照しながら説明する。
しかしながら、このクラスの実施の形態は本明細書の技
術革新的な教示の多くの有利な利用のほんの少しの例を
提供するだけであることを理解すべきである。一般に、
本出願の明細書になされる供述は、必ずしも、本発明の
種々のクレームされた発明のいずれかを限定するもので
はない。その上、いくつかの供述は、本発明のいくつか
の機能に適用できるが、他の機能には適用できない。
【0013】メモリセクション保護の動作 図2を参照すると、非揮発性メモリ220は、その設計
により、2つ以上のブロック202に分割されている。
最初のプログラマーによりプログラムされたコード20
4は、一つ以上のブロック202を占め、第1のメモリ
アドレス206で始まる。初期プログラミングが完了し
た後に、アレイ200(保護レジスタ)の最後から2番
目のアドレス208が保護ブロック210の数に対応し
てセットされる。これにより、セクション境界212を
セットし、このアレイを1次セキュリティ・セクション
214と2次セキュリティ・セクション216とに分割
する。1次セキュリティ・セクション214の内容は、
保護レジスタ(ブロック保護)のビット7が有効化され
る(ゼロにセットされる)と、読出し不能で書込み不能
にされる。
により、2つ以上のブロック202に分割されている。
最初のプログラマーによりプログラムされたコード20
4は、一つ以上のブロック202を占め、第1のメモリ
アドレス206で始まる。初期プログラミングが完了し
た後に、アレイ200(保護レジスタ)の最後から2番
目のアドレス208が保護ブロック210の数に対応し
てセットされる。これにより、セクション境界212を
セットし、このアレイを1次セキュリティ・セクション
214と2次セキュリティ・セクション216とに分割
する。1次セキュリティ・セクション214の内容は、
保護レジスタ(ブロック保護)のビット7が有効化され
る(ゼロにセットされる)と、読出し不能で書込み不能
にされる。
【0014】保護値のセキュリティ 好ましい実施の形態では、保護レジスタのビット9〜1
5は、保護されるブロックの番号を反映する値で書き込
まれるが、ビット0〜6はその値の1の補数(論理反
転)で書き込まれる。たとえば、“1011 100
1”の1の補数は、“0100 0110”である。こ
の反転値検証方式は、第2のプログラマーの制御の下に
あるメモリの部分内に保護レジスタが配置されていると
いう事実により必要とされ、ブロック保護が有効化され
た後でも変更され得る。本発明で採用されるこの反転値
検証方式は、EPROMビットのデフォルト値が1であ
り、プログラミング中に1ビットをクリアできるが1に
戻せない(すなわち、ゼロのみがEPROMセルに書き
込まれ得る)という事実の利点を有する。EPROM内
の8ビット語は製造者では“1111 1111”を登
録する。たとえば、第1のプログラマーは、それを“1
111 0000”にプログラムする。それから、この
語は、“1010 0000”にプログラムできるが、
“1111 0101”にはプログラムできない。
5は、保護されるブロックの番号を反映する値で書き込
まれるが、ビット0〜6はその値の1の補数(論理反
転)で書き込まれる。たとえば、“1011 100
1”の1の補数は、“0100 0110”である。こ
の反転値検証方式は、第2のプログラマーの制御の下に
あるメモリの部分内に保護レジスタが配置されていると
いう事実により必要とされ、ブロック保護が有効化され
た後でも変更され得る。本発明で採用されるこの反転値
検証方式は、EPROMビットのデフォルト値が1であ
り、プログラミング中に1ビットをクリアできるが1に
戻せない(すなわち、ゼロのみがEPROMセルに書き
込まれ得る)という事実の利点を有する。EPROM内
の8ビット語は製造者では“1111 1111”を登
録する。たとえば、第1のプログラマーは、それを“1
111 0000”にプログラムする。それから、この
語は、“1010 0000”にプログラムできるが、
“1111 0101”にはプログラムできない。
【0015】保護値自体だけがインデックスとして使用
される場合には、単に保護コードをクリアするだけで後
続のプログラマーがセキュリティ方式を完全に打ち負か
すことができる。これにより、セクション境界をゼロに
ロールバックして、メモリアレー全体を彼の制御下に置
くことができる。その後、このプログラマーは、第1の
プログラマーのコードを含むアレイの内容全体をプロセ
ッサの出力ポートの一つにコピーすることができる。
される場合には、単に保護コードをクリアするだけで後
続のプログラマーがセキュリティ方式を完全に打ち負か
すことができる。これにより、セクション境界をゼロに
ロールバックして、メモリアレー全体を彼の制御下に置
くことができる。その後、このプログラマーは、第1の
プログラマーのコードを含むアレイの内容全体をプロセ
ッサの出力ポートの一つにコピーすることができる。
【0016】一方、反転値のみが使用される場合には、
保護されてない領域に「トロイの木馬」プログラムを書
き込んだのちに保護値をクリアすることによって、後続
のプログラマ−はこのセキュリティ方式を打ち負かすこ
とができる。これにより、セクション境界をメモリの終
点へ移動する。トロイの木馬プログラムは、元のコード
と同じセクション境界の背後にある。その後、セキュリ
ティ回路は、トロイの木馬がメモリアレイ全体にアクセ
スすることを許容する。その後、このプログラムは、プ
ロセッサの出力ポートにアレイ全体をコピーする。好ま
しい実施の形態で利用される方式によれば、第2のプロ
グラマーは、ビット0〜6を直して、ビット9〜15の
修正値の補数にすることができない。たとえば、元の保
護値が“101 0011”であれば、正しい補数は
“010 1100”である。第2のプログラマ−はこ
の保護値を“000 0000”に変えることができ
る。しかしながら、EPROMに書き込むことができな
いので、この補数を“0101100”から“111
1111”へ変更できない。セキュリティ回路は、この
不一致を検出して、アレイへの全ての読取りおよび書込
みを機能抑止するであろう。
保護されてない領域に「トロイの木馬」プログラムを書
き込んだのちに保護値をクリアすることによって、後続
のプログラマ−はこのセキュリティ方式を打ち負かすこ
とができる。これにより、セクション境界をメモリの終
点へ移動する。トロイの木馬プログラムは、元のコード
と同じセクション境界の背後にある。その後、セキュリ
ティ回路は、トロイの木馬がメモリアレイ全体にアクセ
スすることを許容する。その後、このプログラムは、プ
ロセッサの出力ポートにアレイ全体をコピーする。好ま
しい実施の形態で利用される方式によれば、第2のプロ
グラマーは、ビット0〜6を直して、ビット9〜15の
修正値の補数にすることができない。たとえば、元の保
護値が“101 0011”であれば、正しい補数は
“010 1100”である。第2のプログラマ−はこ
の保護値を“000 0000”に変えることができ
る。しかしながら、EPROMに書き込むことができな
いので、この補数を“0101100”から“111
1111”へ変更できない。セキュリティ回路は、この
不一致を検出して、アレイへの全ての読取りおよび書込
みを機能抑止するであろう。
【0017】メモリ保護回路 いったん保護値がプログラムされ、ブロック保護が使用
可能にされると、調べられる命令アドレスおよびアドレ
スが同一セクション内(すなわち、セクション境界の同
一側)にない限り、CPUはどんなテーブル・ルックア
ップ命令も実行しない。
可能にされると、調べられる命令アドレスおよびアドレ
スが同一セクション内(すなわち、セクション境界の同
一側)にない限り、CPUはどんなテーブル・ルックア
ップ命令も実行しない。
【0018】このセキュリティチェックを行うために、
この装置は、プログラムカウンタ(現に実行される命令
のアドレス)およびデータ・ポインタ(現に作用される
メモリアドレス)の両方を保護値と比較する。両方が、
保護値よりも高いか低くなければならない。ブロック保
護が使用許可になった後で保護値(セクション境界)の
同一側にこの2つのアドレスが存在しないと、テーブル
・ルックアップまたは書込み命令は何も実行されない。
この装置は、プログラムカウンタ(現に実行される命令
のアドレス)およびデータ・ポインタ(現に作用される
メモリアドレス)の両方を保護値と比較する。両方が、
保護値よりも高いか低くなければならない。ブロック保
護が使用許可になった後で保護値(セクション境界)の
同一側にこの2つのアドレスが存在しないと、テーブル
・ルックアップまたは書込み命令は何も実行されない。
【0019】このセキュリティチェックを遂行する回路
を図1に示す。保護レジスタ184のビット9〜15の
内容は、プログラムカウンタ・コンパレータ102およ
びデータポインタ・コンパレータ104の両方の入力B
にロードされる。プロセッサプログラム・カウンタ10
8の最上位7ビット(すなわち、最寄のブロック全体へ
の命令アドレス)のブロック106が、プログラムカウ
ンタ・コンパレータ106の入力Aにロードされる。プ
ロセッサ・データポインタ112の最上位7ビット(す
なわち、最寄のブロック全体への命令オペランドのメモ
リアドレス)のブロック110が、データポインタ・コ
ンパレータ104の入力Bにロードされる。入力Aの値
が入力Bの値よりも大きいか等しければ、各コンパレー
タ出力が論理「真」を出力する。
を図1に示す。保護レジスタ184のビット9〜15の
内容は、プログラムカウンタ・コンパレータ102およ
びデータポインタ・コンパレータ104の両方の入力B
にロードされる。プロセッサプログラム・カウンタ10
8の最上位7ビット(すなわち、最寄のブロック全体へ
の命令アドレス)のブロック106が、プログラムカウ
ンタ・コンパレータ106の入力Aにロードされる。プ
ロセッサ・データポインタ112の最上位7ビット(す
なわち、最寄のブロック全体への命令オペランドのメモ
リアドレス)のブロック110が、データポインタ・コ
ンパレータ104の入力Bにロードされる。入力Aの値
が入力Bの値よりも大きいか等しければ、各コンパレー
タ出力が論理「真」を出力する。
【0020】2つのコンパレータ102,104の出力
114,116は排他的論理和(XOR)ゲート118
に送られる。コンパレータ102,104の出力11
4,116が異なれば(すなわち、アドレスが異なった
セクションにあれば)、XORゲート116の出力12
0は真であるが、さもなければ、偽である。XORゲー
ト118の出力120は、ANDゲート124の1つの
入力122に送られる。ANDゲート124の他の入力
126には、ブロック保護ビット7が供給される。ブロ
ック保護が使用可能にされ、かつ、命令およびオペラン
ド(データ)のアドレスが同一セクション内になけれ
ば、ANDゲート124の出力128は真である。この
出力128は、以下の仕方で回路により使用される。
114,116は排他的論理和(XOR)ゲート118
に送られる。コンパレータ102,104の出力11
4,116が異なれば(すなわち、アドレスが異なった
セクションにあれば)、XORゲート116の出力12
0は真であるが、さもなければ、偽である。XORゲー
ト118の出力120は、ANDゲート124の1つの
入力122に送られる。ANDゲート124の他の入力
126には、ブロック保護ビット7が供給される。ブロ
ック保護が使用可能にされ、かつ、命令およびオペラン
ド(データ)のアドレスが同一セクション内になけれ
ば、ANDゲート124の出力128は真である。この
出力128は、以下の仕方で回路により使用される。
【0021】ブロック保護回路の第2の部分は、保護レ
ジスタ内に記憶された保護値で調整することから保護す
るように設計されている。この回路は、保護値の1の補
数(論理反転)であることを期待されるチェック値と保
護値を比較する。ブロック保護が使用可能にされるとき
にチェック値が保護値の反転でなければ、プロセッサは
全てのルックアップ命令を完全に機能抑止する。
ジスタ内に記憶された保護値で調整することから保護す
るように設計されている。この回路は、保護値の1の補
数(論理反転)であることを期待されるチェック値と保
護値を比較する。ブロック保護が使用可能にされるとき
にチェック値が保護値の反転でなければ、プロセッサは
全てのルックアップ命令を完全に機能抑止する。
【0022】この比較を行うための回路も図1に示され
ている。保護レジスタのビット0〜6は、7ビット排他
的論理和(XOR)ゲート152の一つの入力150に
送られる。保護レジスタのビット9〜15は、同じXO
Rゲート152の他の入力154に送られる。ビット0
〜6の各々がビット9〜15の対応するビットの論理反
転であれば(すなわち、調整(不正な変更)がなけれ
ば)、このゲート152の出力156は偽になる。不一
致があれば(すなわち、保護値またはチェック値が不正
に変更されていれば)、出力156は真である。XOR
ゲート152の出力156はANDゲート158の一つ
の側に送られる。ANDゲート158への他の入力16
0には、保護レジスタ100のブロック保護使用可能ビ
ット7が供給される。反転チェック値に不一致があり、
かつ、ブロック保護が使用可能にされていれば、AND
ゲート158からの出力162は真である。
ている。保護レジスタのビット0〜6は、7ビット排他
的論理和(XOR)ゲート152の一つの入力150に
送られる。保護レジスタのビット9〜15は、同じXO
Rゲート152の他の入力154に送られる。ビット0
〜6の各々がビット9〜15の対応するビットの論理反
転であれば(すなわち、調整(不正な変更)がなけれ
ば)、このゲート152の出力156は偽になる。不一
致があれば(すなわち、保護値またはチェック値が不正
に変更されていれば)、出力156は真である。XOR
ゲート152の出力156はANDゲート158の一つ
の側に送られる。ANDゲート158への他の入力16
0には、保護レジスタ100のブロック保護使用可能ビ
ット7が供給される。反転チェック値に不一致があり、
かつ、ブロック保護が使用可能にされていれば、AND
ゲート158からの出力162は真である。
【0023】その後、セクタ比較回路からの出力128
と保護値セキュリティ回路からの出力162とは、OR
ゲート164に送られる。このゲート164からの出力
166は、他のプロセッサ論理180に送られ、それが
真であるときに全てのルックアップ(すなわち、読取
り)命令を機能抑止する。したがって、ブロック保護が
使用可能にされているときにセクタ境界が突破されるか
保護値が不正に変更されれば、プロセッサは全てのルッ
クアップ命令を機能抑止する。更に、この出力166
は、第2のORゲート168にも送られる。他の入力1
70は、保護レジスタからのグローバル保護ビット8の
状態を反映する。このORゲート168からの出力17
2は、他のプロセッサ論理182に送られ、それが真で
あるときにEPROMアレイへのあらゆる読取りおよび
書込み動作を完全に機能抑止する。
と保護値セキュリティ回路からの出力162とは、OR
ゲート164に送られる。このゲート164からの出力
166は、他のプロセッサ論理180に送られ、それが
真であるときに全てのルックアップ(すなわち、読取
り)命令を機能抑止する。したがって、ブロック保護が
使用可能にされているときにセクタ境界が突破されるか
保護値が不正に変更されれば、プロセッサは全てのルッ
クアップ命令を機能抑止する。更に、この出力166
は、第2のORゲート168にも送られる。他の入力1
70は、保護レジスタからのグローバル保護ビット8の
状態を反映する。このORゲート168からの出力17
2は、他のプロセッサ論理182に送られ、それが真で
あるときにEPROMアレイへのあらゆる読取りおよび
書込み動作を完全に機能抑止する。
【0024】テストモード中のメモリセキュリティ保護 プロセッサのテストモード特にエミュレーションおよび
トレース・テストモードの使用を通じて保護メモリへの
アクセスをプログラマーが得ることを防止するために、
保護の第2の層が装備される。エミュレーション・モー
ドでは、プロセッサは命令を実行しデータレジスタを読
み取るが、これは内部メモリからのように外部メモリか
らメモリ保護値を読み取ることを含む。トレース・モー
ド(トレース1およびトレース2)では、プロセッサ
は、ユーザによって制御されたタイミングおよびブレー
クポイントに従う内部命令を実行する。
トレース・テストモードの使用を通じて保護メモリへの
アクセスをプログラマーが得ることを防止するために、
保護の第2の層が装備される。エミュレーション・モー
ドでは、プロセッサは命令を実行しデータレジスタを読
み取るが、これは内部メモリからのように外部メモリか
らメモリ保護値を読み取ることを含む。トレース・モー
ド(トレース1およびトレース2)では、プロセッサ
は、ユーザによって制御されたタイミングおよびブレー
クポイントに従う内部命令を実行する。
【0025】エミュレーション・モードとトレース・モ
ードとの間を自由に移行できることにより、プログラマ
ーがかなり容易にセキュリティ回路を迂回できる。プロ
グラマーは、異なった保護値(たとえば、“00000
0”)を外部メモリに記憶させて、エミュレーション・
モードを使用して新しい保護値の使用をプロセッサに強
制できる。その後、彼は、トレース・モードに移行し
て、内部メモリ内の既に保護されたプログラムを1度に
1命令ずつウォーク・スルーすることができる。テスト
作業モードがスイッチされる前に装置を初期化するよう
にプログラマーに強制することにより、このプロセッサ
は上記策略をブロックできる。初期化に際して、プロセ
ッサは内部EPROMの最期から2番目のメモリ位置か
ら直接に保護値を読み取る。これにより、贋の保護値の
使用により引き起こされるセキュリティ回路のあらゆる
混乱に対して安全にできる。
ードとの間を自由に移行できることにより、プログラマ
ーがかなり容易にセキュリティ回路を迂回できる。プロ
グラマーは、異なった保護値(たとえば、“00000
0”)を外部メモリに記憶させて、エミュレーション・
モードを使用して新しい保護値の使用をプロセッサに強
制できる。その後、彼は、トレース・モードに移行し
て、内部メモリ内の既に保護されたプログラムを1度に
1命令ずつウォーク・スルーすることができる。テスト
作業モードがスイッチされる前に装置を初期化するよう
にプログラマーに強制することにより、このプロセッサ
は上記策略をブロックできる。初期化に際して、プロセ
ッサは内部EPROMの最期から2番目のメモリ位置か
ら直接に保護値を読み取る。これにより、贋の保護値の
使用により引き起こされるセキュリティ回路のあらゆる
混乱に対して安全にできる。
【0026】MSP5870プロセッサ・アーキテクチ
ャー セキュリティ方式は、本来は、消費者電子製品用に設計
された低コスト混合信号プロセッサへ組み込まれてい
た。混合信号プロセッサのブロック図を図3Aおよび図
3Bに示す。
ャー セキュリティ方式は、本来は、消費者電子製品用に設計
された低コスト混合信号プロセッサへ組み込まれてい
た。混合信号プロセッサのブロック図を図3Aおよび図
3Bに示す。
【0027】好ましい実施の形態によるプロセッサ10
は、プログラムデータメモリブロック11およびデータ
メモリブロック12を含むいくつかの主要サブブロック
を含む。主要サブブロックは、計算ユニット(CU)1
3と、データメモリアドレスユニット(DMAU)14
と、プログラムカウンタ(PCU)15と、命令デコー
ダ16とを含む。その他の機能は、反復または連鎖カウ
ンタレジスタ17とステータスレジスタ18と2つのタ
イマ19,20と割り込み論理21と周辺装置拡張イン
ターフェイス22とによって与えられる。
は、プログラムデータメモリブロック11およびデータ
メモリブロック12を含むいくつかの主要サブブロック
を含む。主要サブブロックは、計算ユニット(CU)1
3と、データメモリアドレスユニット(DMAU)14
と、プログラムカウンタ(PCU)15と、命令デコー
ダ16とを含む。その他の機能は、反復または連鎖カウ
ンタレジスタ17とステータスレジスタ18と2つのタ
イマ19,20と割り込み論理21と周辺装置拡張イン
ターフェイス22とによって与えられる。
【0028】17ビット・データバス(DB)23が、
プロセッサ10内の複数の機能ブロックの間の通信を与
える。プロセッサ10内の複数のレジスタの大部分は、
DB23への読取りおよび書込みアクセスを有する。不
必要な電力消費を避けるために、また、最大の論理伝播
時間を与えるために、複数のバス・ドライバ(不図示)
はスタティック・デバイスである。プロセッサ10の最
小命令周期は約100nsであり、10n Hzのプロ
セッサ・クロック(不図示)が与えられる。
プロセッサ10内の複数の機能ブロックの間の通信を与
える。プロセッサ10内の複数のレジスタの大部分は、
DB23への読取りおよび書込みアクセスを有する。不
必要な電力消費を避けるために、また、最大の論理伝播
時間を与えるために、複数のバス・ドライバ(不図示)
はスタティック・デバイスである。プロセッサ10の最
小命令周期は約100nsであり、10n Hzのプロ
セッサ・クロック(不図示)が与えられる。
【0029】図3Aのデータメモリ12は、複数の17
ビット並列語として編成されている。語の数は、プロセ
ッサ10が適用されるアプリケーションにより異なる
が、たとえば256語から2048語の範囲であり、図
3には1152語が示されている。DMAU14により
与えられる各アドレス51は、17ビットのデータがア
ドレスされるようにする。これらの17ビットは、実行
される命令により異なる多数の方法で作動することがで
きる。大部分の命令について、このデータは16ビット
語フォーマットで解釈される。LACBおよびSACB
のような2バイト命令は、バイトフォーマットとも呼ば
れる8ビット語フォーマットでプロセッサ10がデータ
を読み書きするようにさせる。このバイトフォーマット
・モードは、アドレスされた16ビット語の上位バイト
または下位バイトのどちらかをプロセッサのハードウェ
アが読み書きするようにさせ、取り出されたバイトはD
B23で右寄せされる。
ビット並列語として編成されている。語の数は、プロセ
ッサ10が適用されるアプリケーションにより異なる
が、たとえば256語から2048語の範囲であり、図
3には1152語が示されている。DMAU14により
与えられる各アドレス51は、17ビットのデータがア
ドレスされるようにする。これらの17ビットは、実行
される命令により異なる多数の方法で作動することがで
きる。大部分の命令について、このデータは16ビット
語フォーマットで解釈される。LACBおよびSACB
のような2バイト命令は、バイトフォーマットとも呼ば
れる8ビット語フォーマットでプロセッサ10がデータ
を読み書きするようにさせる。このバイトフォーマット
・モードは、アドレスされた16ビット語の上位バイト
または下位バイトのどちらかをプロセッサのハードウェ
アが読み書きするようにさせ、取り出されたバイトはD
B23で右寄せされる。
【0030】消費者電子製品 このメモリとそれが組み込まれているマイクロプロセッ
サとは、電話応答機械のような消費者電子製品に使用す
るように設計されている。本発明を組み込んだ応答機械
のブロック図を図4に示す。この装置において、プロセ
ッサ402は、電話線インターフェイス404とマイク
ロフォン406とスピーカ408とに接続されている。
マイクロプロセッサ402は、電話線インターフェイス
404経由で電話線410上の音響データを送受信す
る。マイクロプロセッサはまた、スピーカ408経由で
周辺の領域に音響データを送信し、また、マイクロフォ
ン406経由で周辺の領域から音声データを受信でき
る。
サとは、電話応答機械のような消費者電子製品に使用す
るように設計されている。本発明を組み込んだ応答機械
のブロック図を図4に示す。この装置において、プロセ
ッサ402は、電話線インターフェイス404とマイク
ロフォン406とスピーカ408とに接続されている。
マイクロプロセッサ402は、電話線インターフェイス
404経由で電話線410上の音響データを送受信す
る。マイクロプロセッサはまた、スピーカ408経由で
周辺の領域に音響データを送信し、また、マイクロフォ
ン406経由で周辺の領域から音声データを受信でき
る。
【0031】代りの実施の形態 一つの代りの実施の形態では、この方式は、セキュリテ
ィ回路によりブロックされる命令セットが調節される限
りにおいて、符号およびデータの両方を保持するメモリ
アレー(たとえば、フォンノイマン・アーキテクチャ
ー)内に実装できる。このメモリが組み込まれたマイク
ロプロセッサは、符号およびデータ・バンクは互いに隔
離されているハーバード型アキテクチャーに基づいて設
計されているが、本発明はこのアーキテクチャーに全く
限定されない。
ィ回路によりブロックされる命令セットが調節される限
りにおいて、符号およびデータの両方を保持するメモリ
アレー(たとえば、フォンノイマン・アーキテクチャ
ー)内に実装できる。このメモリが組み込まれたマイク
ロプロセッサは、符号およびデータ・バンクは互いに隔
離されているハーバード型アキテクチャーに基づいて設
計されているが、本発明はこのアーキテクチャーに全く
限定されない。
【0032】もう一つの代りの実施の形態では、メモリ
アレイは、二つの保全されたセクションと一つの残りの
保全されないままのセクションとに区分される。2つ以
上の保全されたセクションが同一データへの読取りアク
セスを有することが望ましい場合、または、一つのセク
ションを開いたままにしておいて、機械にICを設置し
た後に計算される最終微調整パラメータのセットを記憶
させるのが望ましい場合に、これは非常に有用である。
アレイは、二つの保全されたセクションと一つの残りの
保全されないままのセクションとに区分される。2つ以
上の保全されたセクションが同一データへの読取りアク
セスを有することが望ましい場合、または、一つのセク
ションを開いたままにしておいて、機械にICを設置し
た後に計算される最終微調整パラメータのセットを記憶
させるのが望ましい場合に、これは非常に有用である。
【0033】好ましい実施の形態に関連して使用するこ
とが考えられる他の機能や詳細は、クレームされた発明
の実施に必ずしも必要でないが、以下の同時係属出願に
開示されている。
とが考えられる他の機能や詳細は、クレームされた発明
の実施に必ずしも必要でないが、以下の同時係属出願に
開示されている。
【0034】代理人ドケット番号TI―24707P,
出願番号60/090,670の「可変語長データメモ
リ」。 代理人ドケット番号TI―24708P,出願番号60
/090,589の「チェイン能力つき低コスト乗算器
ブロック」。 代理人ドケット番号TI―24711P,出願番号60
/090,671の「高性能マイクロプロセッサで使用
するためのフレキシブル・アキュムレータ・レジスタ・
ファイル」。 これら全ては、本出願と共に共通に所有され、本発明の
出願日と同実の有効な出願日を有し、本書で援用され
る。
出願番号60/090,670の「可変語長データメモ
リ」。 代理人ドケット番号TI―24708P,出願番号60
/090,589の「チェイン能力つき低コスト乗算器
ブロック」。 代理人ドケット番号TI―24711P,出願番号60
/090,671の「高性能マイクロプロセッサで使用
するためのフレキシブル・アキュムレータ・レジスタ・
ファイル」。 これら全ては、本出願と共に共通に所有され、本発明の
出願日と同実の有効な出願日を有し、本書で援用され
る。
【0035】修正および変形 当業者に認識されるであろうように、本出願で説明され
る技術革新的な概念は、非常に広い範囲のアプリケーシ
ョンにわたり修正され変更し得る。したがって、特許さ
れる対称物の範囲は、与えられた特定の例示的な教示の
いずれによっても制限されることなく、請求項によって
のみ限定される。
る技術革新的な概念は、非常に広い範囲のアプリケーシ
ョンにわたり修正され変更し得る。したがって、特許さ
れる対称物の範囲は、与えられた特定の例示的な教示の
いずれによっても制限されることなく、請求項によって
のみ限定される。
【0036】本出願に開示された好ましい実施の形態
は、マイクロプロセッサの内部EPROMへ組み込まれ
ていて、2つのセクションに分割されたメモリアレイを
記述するが、発明の性質の中には、2つだけのセクショ
ンに分割したアレイ、内部メモリ、またはメモリのいず
れかの特定のタイプにそのアプリケーションを限定する
ものは何もない。
は、マイクロプロセッサの内部EPROMへ組み込まれ
ていて、2つのセクションに分割されたメモリアレイを
記述するが、発明の性質の中には、2つだけのセクショ
ンに分割したアレイ、内部メモリ、またはメモリのいず
れかの特定のタイプにそのアプリケーションを限定する
ものは何もない。
【0037】この回路は、このセキュリテイ回路を2重
化または多重化して追加のセクション領域を収容できる
限りにおいて、3つ以上の保全されたセクションを可能
にするように修正できる。これは、エンドユーザがメモ
リ内にパラメータを記憶させる必要がある場合、また
は、設置後に最終微調整パラメータをメモリに記憶させ
る必要がある場合に、有用である。
化または多重化して追加のセクション領域を収容できる
限りにおいて、3つ以上の保全されたセクションを可能
にするように修正できる。これは、エンドユーザがメモ
リ内にパラメータを記憶させる必要がある場合、また
は、設置後に最終微調整パラメータをメモリに記憶させ
る必要がある場合に、有用である。
【0038】保全メモリはCPUから独立のIC内にお
くことができる。他の手段を通じてチップの内容に読取
りアクセスするのを防止するために、これは若干の追加
のセキュリティまたは暗号回路を必要とするであろう。
くことができる。他の手段を通じてチップの内容に読取
りアクセスするのを防止するために、これは若干の追加
のセキュリティまたは暗号回路を必要とするであろう。
【0039】このセキュリティ方式はまた他の形式の非
揮発性メモリで実装することもでき、アレイの一部分が
読取り専用メモリまたは揮発性メモリでさえあるアレイ
で実装できる。
揮発性メモリで実装することもでき、アレイの一部分が
読取り専用メモリまたは揮発性メモリでさえあるアレイ
で実装できる。
【0040】以上の説明に関して更に以下の項を開示す
る。 (1)プログラムメモリと、複数のプログラムの少なく
とも2つのクラスの間の前記プログラムメモリの部分の
ためのアクセス特権を指示するセキュリティ・レジスタ
と、前記プログラムメモリの第1の部分から複数のプロ
グラムの第1のクラスを実行し、前記プログラムメモリ
の少なくとも1つの他の部分から複数のプログラムの少
なくとも1つの他のクラスを実行するために接続された
プログラマブル・プロセッサとを含み、前記プログラム
ブル・プロセッサ論理は、前記セキュリティ論理の制御
の下においてのみ、また、前記セキュリティ論理がデー
タ・ポインタとアドレス・ポインタとの間の両立可能な
所有権を指示するときにのみ、前記メモリにアクセスで
きる、集積回路。 (2)前記セキュリティ・アクセス制御論理は、前記セ
キュリティ・レジスタの前記ビットをチェックして、そ
のビットの少なくともいくつかが補数の状態にあること
を保証し、前記セキュリティ・レジスタは1度だけプロ
グラム可能な非揮発性メモリ技術で実装されている、第
1項記載の集積回路。 (3)前記集積回路はまた、エミュレーション・モード
で作動可能であり、他のあらゆるモードで作動する前に
前記エミュレーション・モードを去った後に初期化を起
こらせるハードウェア制約を含む、第1項記載の集積回
路。 (4)前記セキュリティ・レジスタ内の前記補数のフィ
ールドが、前記ブロックの境界を決定する、第1項記載
の集積回路。
る。 (1)プログラムメモリと、複数のプログラムの少なく
とも2つのクラスの間の前記プログラムメモリの部分の
ためのアクセス特権を指示するセキュリティ・レジスタ
と、前記プログラムメモリの第1の部分から複数のプロ
グラムの第1のクラスを実行し、前記プログラムメモリ
の少なくとも1つの他の部分から複数のプログラムの少
なくとも1つの他のクラスを実行するために接続された
プログラマブル・プロセッサとを含み、前記プログラム
ブル・プロセッサ論理は、前記セキュリティ論理の制御
の下においてのみ、また、前記セキュリティ論理がデー
タ・ポインタとアドレス・ポインタとの間の両立可能な
所有権を指示するときにのみ、前記メモリにアクセスで
きる、集積回路。 (2)前記セキュリティ・アクセス制御論理は、前記セ
キュリティ・レジスタの前記ビットをチェックして、そ
のビットの少なくともいくつかが補数の状態にあること
を保証し、前記セキュリティ・レジスタは1度だけプロ
グラム可能な非揮発性メモリ技術で実装されている、第
1項記載の集積回路。 (3)前記集積回路はまた、エミュレーション・モード
で作動可能であり、他のあらゆるモードで作動する前に
前記エミュレーション・モードを去った後に初期化を起
こらせるハードウェア制約を含む、第1項記載の集積回
路。 (4)前記セキュリティ・レジスタ内の前記補数のフィ
ールドが、前記ブロックの境界を決定する、第1項記載
の集積回路。
【0041】(5)メモリアレイであって、複数のセク
ションにグループされた単一のセル・アレイと、前記ア
レイ内のセルのいずれかに書き込むために接続された書
込み回路と、前記アレイ内のセルのいずれかに書き込む
ために接続された書込み回路と、前記アレイ内のセルの
いずれかから読み出すために接続された読出し回路と、
前記読出しおよび書込み回路に接続されたメモリ保護回
路であって、セクション境界を決定し、前記セクション
の1つに記憶されたいずれかの命令により作動すること
から前記読出しおよび読書き回路を機能抑止し、また、
ひとたびメモリ保護回路が使用許可にされれば前記セク
ションの他に配置されたいずれかのメモリセルを作動す
ることから前記読出しおよび読書き回路を機能抑止する
保護レジスタを組み込んでいるメモリ保護回路と、を含
む、メモリアレイ。
ションにグループされた単一のセル・アレイと、前記ア
レイ内のセルのいずれかに書き込むために接続された書
込み回路と、前記アレイ内のセルのいずれかに書き込む
ために接続された書込み回路と、前記アレイ内のセルの
いずれかから読み出すために接続された読出し回路と、
前記読出しおよび書込み回路に接続されたメモリ保護回
路であって、セクション境界を決定し、前記セクション
の1つに記憶されたいずれかの命令により作動すること
から前記読出しおよび読書き回路を機能抑止し、また、
ひとたびメモリ保護回路が使用許可にされれば前記セク
ションの他に配置されたいずれかのメモリセルを作動す
ることから前記読出しおよび読書き回路を機能抑止する
保護レジスタを組み込んでいるメモリ保護回路と、を含
む、メモリアレイ。
【0042】(6)マイクロプロセッサチップであっ
て、再初期化せずにはそのテストモードを変更できない
中央処理装置と、該中央処理装置に接続されたプログラ
ムメモリと、プログラムの少なくとも2つのクラスの間
で前記プログラムされたメモリの部分へのアクセス特権
を指示するセキュリティ・レジスタと、前記メモリに記
憶されたデータについて前記メモリの少なくとも第1の
部分からプログラムの第1のクラスを実行するとともに
第2のクラスを実行するために接続されたプログラマブ
ルプロセッサとを含み、前記セキュリティ論理の制御の
下にのみ、また、前記セキュリティ論理がデータ・ポイ
ンタとアドレス・ポインタとの間の両立し得る所有権を
指示するときにのみ、前記プログラマブルプロセッサ論
理が前記メモリにアクセスできる、マイクロプロセッサ
チップ。
て、再初期化せずにはそのテストモードを変更できない
中央処理装置と、該中央処理装置に接続されたプログラ
ムメモリと、プログラムの少なくとも2つのクラスの間
で前記プログラムされたメモリの部分へのアクセス特権
を指示するセキュリティ・レジスタと、前記メモリに記
憶されたデータについて前記メモリの少なくとも第1の
部分からプログラムの第1のクラスを実行するとともに
第2のクラスを実行するために接続されたプログラマブ
ルプロセッサとを含み、前記セキュリティ論理の制御の
下にのみ、また、前記セキュリティ論理がデータ・ポイ
ンタとアドレス・ポインタとの間の両立し得る所有権を
指示するときにのみ、前記プログラマブルプロセッサ論
理が前記メモリにアクセスできる、マイクロプロセッサ
チップ。
【0043】(7)電話応答機械であって、再初期化せ
ずにはそのテストモードを変更できない中央処理装置
と、該中央処理装置に接続されたプログラムメモリと、
プログラムの少なくとも2つのクラスの間で前記プログ
ラムされたメモリの部分へのアクセス特権を指示するセ
キュリティ・レジスタとを含み、前記セキュリティ論理
の制御の下にのみ、また、前記セキュリティ論理がデー
タ・ポインタとアドレス・ポインタとの間の両立し得る
所有権を指示する場合にのみ、前記中央処理装置が前記
メモリにアクセスでき、メッセージを受信し送信するよ
うな方法で前記中央処理装置を電話線に接続するインタ
ーフェイスと、前記応答機械内の記憶のために音響を記
録するような方法で前記中央処理装置に接続されたマイ
クロフォンと、前記応答機械内に記憶された音響をプレ
イバックするような方法で前記中央処理装置に接続され
たスピーカとをさらに含む、電話応答機械。
ずにはそのテストモードを変更できない中央処理装置
と、該中央処理装置に接続されたプログラムメモリと、
プログラムの少なくとも2つのクラスの間で前記プログ
ラムされたメモリの部分へのアクセス特権を指示するセ
キュリティ・レジスタとを含み、前記セキュリティ論理
の制御の下にのみ、また、前記セキュリティ論理がデー
タ・ポインタとアドレス・ポインタとの間の両立し得る
所有権を指示する場合にのみ、前記中央処理装置が前記
メモリにアクセスでき、メッセージを受信し送信するよ
うな方法で前記中央処理装置を電話線に接続するインタ
ーフェイスと、前記応答機械内の記憶のために音響を記
録するような方法で前記中央処理装置に接続されたマイ
クロフォンと、前記応答機械内に記憶された音響をプレ
イバックするような方法で前記中央処理装置に接続され
たスピーカとをさらに含む、電話応答機械。
【0044】(8)本出願は、EPROMアレイ220
内に記憶されたデータおよびプログラム・コードを海賊
行為から保護する方法を記述する。非揮発性メモリアレ
イ220は、その設計により2つ以上のブロック202
に分割される。最初のプログラマーによりプログラムさ
れたコード204は、1つ以上のブロック202を占
め、第1のメモリアドレスから始まる。最初のプログラ
ミングが完了した後に、保護レジスタとして働く最後か
ら2番目のアドレス208がセットされて保護ブロック
210の番号と対応する。これは、セクション境界21
2をセットして、アレイを1次セキュリティ・セクショ
ン214と2次セキュリティ・セクション216とに分
割する。1次セキュリティ・セクション214の内容
は、保護レジスタのビット7(ブロックプロテクト)が
使用可能になる(ゼロにセットされる)と、読取り不可
で書込み不可にされる。保護レジスタは、保護ブロック
の番号およびその反転の両方で書き込まれる。これは、
EPROMが0しか書けないことにより、保護レジスタ
を不正に変更してセクション境界を移動することを防止
する。
内に記憶されたデータおよびプログラム・コードを海賊
行為から保護する方法を記述する。非揮発性メモリアレ
イ220は、その設計により2つ以上のブロック202
に分割される。最初のプログラマーによりプログラムさ
れたコード204は、1つ以上のブロック202を占
め、第1のメモリアドレスから始まる。最初のプログラ
ミングが完了した後に、保護レジスタとして働く最後か
ら2番目のアドレス208がセットされて保護ブロック
210の番号と対応する。これは、セクション境界21
2をセットして、アレイを1次セキュリティ・セクショ
ン214と2次セキュリティ・セクション216とに分
割する。1次セキュリティ・セクション214の内容
は、保護レジスタのビット7(ブロックプロテクト)が
使用可能になる(ゼロにセットされる)と、読取り不可
で書込み不可にされる。保護レジスタは、保護ブロック
の番号およびその反転の両方で書き込まれる。これは、
EPROMが0しか書けないことにより、保護レジスタ
を不正に変更してセクション境界を移動することを防止
する。
【図1】開示されるセキュリティ方式を図示する回路図
である。
である。
【図2】セキュリティの理由のために2つのセクション
に分割されたメモリアレイを示す図である。
に分割されたメモリアレイを示す図である。
【図3A】混合信号プロセッサのブロック図である。
【図3B】混合信号プロセッサのブロック図である。
【図4】このメモリアレイを使用する電話応答機械を示
す図である。
す図である。
200 アレイ 202 ブロック 204 コード 206 第1のメモリアドレス 208 最後から2番目のアドレス 210 保護ブロック 212 セクション境界 214 1次セキュリティ・セクション 216 2次セキュリティ・セクション
Claims (1)
- 【請求項1】 プログラムメモリと、 複数のプログラムの少なくとも2つのクラスの間の前記
プログラムメモリの部分のためのアクセス特権を指示す
るセキュリティ・レジスタと、 前記プログラムメモリの第1の部分から複数のプログラ
ムの第1のクラスを実行し、前記プログラムメモリの少
なくとも1つの他の部分から複数のプログラムの少なく
とも1つの他のクラスを実行するために接続されたプロ
グラマブル・プロセッサとを含み、 前記プログラムブル・プロセッサ論理は、前記セキュリ
ティ論理の制御の下においてのみ、また、前記セキュリ
ティ論理がデータ・ポインタとアドレス・ポインタとの
間の両立可能な所有権を指示するときにのみ、前記メモ
リにアクセスできる、 集積回路。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8795798P | 1998-06-04 | 1998-06-04 | |
US8957298P | 1998-06-17 | 1998-06-17 | |
US9066898P | 1998-06-25 | 1998-06-25 | |
US089572 | 1998-06-25 | ||
US087957 | 1998-06-25 | ||
US090668 | 1998-06-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000076133A true JP2000076133A (ja) | 2000-03-14 |
JP2000076133A5 JP2000076133A5 (ja) | 2006-07-20 |
Family
ID=27375792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15853399A Abandoned JP2000076133A (ja) | 1998-06-04 | 1999-06-04 | 一度だけ書込み可能なメモリ内のプログラムデ―タのセキュリティ保証方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6160734A (ja) |
JP (1) | JP2000076133A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1193602A2 (en) * | 2000-09-29 | 2002-04-03 | Sony Corporation | Memory and access restriction |
JP2002108713A (ja) * | 2000-09-29 | 2002-04-12 | Sony Corp | メモリ装置およびメモリアクセス制限方法 |
CN100358050C (zh) * | 2005-05-25 | 2007-12-26 | 深圳兆日技术有限公司 | 一种防止存储器攻击的隐藏rom的方法 |
WO2011064208A1 (en) * | 2009-11-24 | 2011-06-03 | Koninklijke Kpn N.V. | Controlling locking state transitions in a terminal |
KR20120098702A (ko) * | 2009-10-21 | 2012-09-05 | 에이알엠 리미티드 | 데이터 처리 시스템 내에서의 하드웨어 리소스 관리 |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8538801B2 (en) | 1999-02-19 | 2013-09-17 | Exxonmobile Research & Engineering Company | System and method for processing financial transactions |
FR2810152A1 (fr) * | 2000-06-13 | 2001-12-14 | St Microelectronics Sa | Memoire eeprom securisee comprenant un circuit de correction d'erreur |
FR2823364B1 (fr) * | 2001-04-05 | 2003-06-27 | St Microelectronics Sa | Dispositif et procede de protection partielle en lecture d'une memoire non volatile |
US20020166065A1 (en) * | 2001-05-04 | 2002-11-07 | Hugo Cheung | Method and system for providing security to processors |
US7526654B2 (en) * | 2001-10-16 | 2009-04-28 | Marc Charbonneau | Method and system for detecting a secure state of a computer system |
US7013384B2 (en) * | 2002-01-15 | 2006-03-14 | Lenovo (Singapore) Pte. Ltd. | Computer system with selectively available immutable boot block code |
AU2003278491A1 (en) | 2002-11-27 | 2004-06-18 | Koninklijke Philips Electronics N.V. | Chip integrated protection means. |
DE10315638A1 (de) * | 2003-04-04 | 2004-10-28 | Infineon Technologies Ag | Programmgesteuerte Einheit |
DE10315637A1 (de) * | 2003-04-04 | 2004-10-28 | Infineon Technologies Ag | Programmgesteuerte Einheit |
DE10315726A1 (de) * | 2003-04-04 | 2004-11-04 | Infineon Technologies Ag | Programmgesteuerte Einheit |
DE10315727A1 (de) * | 2003-04-04 | 2004-10-28 | Infineon Technologies Ag | Programmgesteuerte Einheit |
US6728137B1 (en) * | 2003-04-29 | 2004-04-27 | Ememory Technology Inc. | Method for programming and reading a plurality of one-time programmable memory blocks |
US8122215B1 (en) * | 2003-09-15 | 2012-02-21 | The Directv Group, Inc. | Method and apparatus for verifying memory contents |
US7530108B1 (en) | 2003-09-15 | 2009-05-05 | The Directv Group, Inc. | Multiprocessor conditional access module and method for using the same |
JP4860160B2 (ja) * | 2004-02-10 | 2012-01-25 | 株式会社半導体エネルギー研究所 | 半導体装置 |
EP1686459B1 (en) * | 2005-01-31 | 2008-07-02 | STMicroelectronics S.r.l. | Method and system for controlling access in memory devices, computer program product therefor |
TW200629067A (en) * | 2005-02-04 | 2006-08-16 | Elan Microelectronics Corp | Storage device with separable data protection and method thereof |
US7907486B2 (en) | 2006-06-20 | 2011-03-15 | The Invention Science Fund I, Llc | Rotation responsive disk activation and deactivation mechanisms |
US7916592B2 (en) | 2005-05-09 | 2011-03-29 | The Invention Science Fund I, Llc | Fluid mediated disk activation and deactivation mechanisms |
US9396752B2 (en) | 2005-08-05 | 2016-07-19 | Searete Llc | Memory device activation and deactivation |
US7916615B2 (en) | 2005-06-09 | 2011-03-29 | The Invention Science Fund I, Llc | Method and system for rotational control of data storage devices |
US20110181981A1 (en) * | 2005-05-09 | 2011-07-28 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Method and system for rotational control of data storage devices |
US7512959B2 (en) | 2005-05-09 | 2009-03-31 | Searete Llc | Rotation responsive disk activation and deactivation mechanisms |
US8099608B2 (en) | 2005-05-09 | 2012-01-17 | The Invention Science Fund I, Llc | Limited use data storing device |
US8462605B2 (en) | 2005-05-09 | 2013-06-11 | The Invention Science Fund I, Llc | Method of manufacturing a limited use data storing device |
US7668069B2 (en) | 2005-05-09 | 2010-02-23 | Searete Llc | Limited use memory device with associated information |
US7748012B2 (en) | 2005-05-09 | 2010-06-29 | Searete Llc | Method of manufacturing a limited use data storing device |
WO2006120310A1 (fr) * | 2005-05-09 | 2006-11-16 | Stmicroelectronics Sa | Dispositif de protection d'une memoire contre les attaques par injection d'erreur |
US8218262B2 (en) | 2005-05-09 | 2012-07-10 | The Invention Science Fund I, Llc | Method of manufacturing a limited use data storing device including structured data and primary and secondary read-support information |
US8159925B2 (en) | 2005-08-05 | 2012-04-17 | The Invention Science Fund I, Llc | Limited use memory device with associated information |
US7668068B2 (en) | 2005-06-09 | 2010-02-23 | Searete Llc | Rotation responsive disk activation and deactivation mechanisms |
US7770028B2 (en) | 2005-09-09 | 2010-08-03 | Invention Science Fund 1, Llc | Limited use data storing device |
US7596073B2 (en) | 2005-05-09 | 2009-09-29 | Searete Llc | Method and system for fluid mediated disk activation and deactivation |
US8220014B2 (en) | 2005-05-09 | 2012-07-10 | The Invention Science Fund I, Llc | Modifiable memory devices having limited expected lifetime |
US7565596B2 (en) | 2005-09-09 | 2009-07-21 | Searete Llc | Data recovery systems |
US8140745B2 (en) | 2005-09-09 | 2012-03-20 | The Invention Science Fund I, Llc | Data retrieval methods |
US8121016B2 (en) | 2005-05-09 | 2012-02-21 | The Invention Science Fund I, Llc | Rotation responsive disk activation and deactivation mechanisms |
US7519980B2 (en) | 2005-05-09 | 2009-04-14 | Searete Llc | Fluid mediated disk activation and deactivation mechanisms |
US7694316B2 (en) | 2005-05-09 | 2010-04-06 | The Invention Science Fund I, Llc | Fluid mediated disk activation and deactivation mechanisms |
US8432777B2 (en) * | 2006-06-19 | 2013-04-30 | The Invention Science Fund I, Llc | Method and system for fluid mediated disk activation and deactivation |
US8264928B2 (en) | 2006-06-19 | 2012-09-11 | The Invention Science Fund I, Llc | Method and system for fluid mediated disk activation and deactivation |
TW200807424A (en) * | 2006-07-25 | 2008-02-01 | Fortune Semiconductor Corp | Programming method of one-time programmable memory of integrated circuit |
US7778074B2 (en) * | 2007-03-23 | 2010-08-17 | Sigmatel, Inc. | System and method to control one time programmable memory |
US7895404B2 (en) | 2008-02-14 | 2011-02-22 | Atmel Rousset S.A.S. | Access rights on a memory map |
FR2963455B1 (fr) * | 2010-07-27 | 2013-01-18 | St Microelectronics Rousset | Protection de cles secretes |
EP3175459B1 (en) | 2014-07-30 | 2020-02-12 | Hewlett-Packard Development Company, L.P. | Split memory bank |
CN107180206B (zh) * | 2016-03-11 | 2020-01-14 | 中国电子科技集团公司电子科学研究院 | 一种基于cdma的固态硬盘安全控制方法及装置 |
CN110268392A (zh) * | 2017-01-10 | 2019-09-20 | 瑞萨电子美国有限公司 | 安全架构和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4975878A (en) * | 1988-01-28 | 1990-12-04 | National Semiconductor | Programmable memory data protection scheme |
US5161184A (en) * | 1989-08-09 | 1992-11-03 | Digital Telecommunications Systems, Inc. | Ring-back powered telephone with nonvolatile memory structure |
US5522086A (en) * | 1993-10-29 | 1996-05-28 | Sierra Semiconductor Canada, Inc. | Software configurable ISA bus card interface with security access read and write sequence to upper data bits at addresses used by a game device |
JPH07225727A (ja) * | 1994-02-14 | 1995-08-22 | Fujitsu Ltd | 計算機システム |
US5774545A (en) * | 1996-03-28 | 1998-06-30 | Lucent Technologies Inc. | Method and apparatus for enhancing security in and discouraging theft of VLSI and ULSI devices |
-
1999
- 1999-05-28 US US09/322,800 patent/US6160734A/en not_active Expired - Lifetime
- 1999-06-04 JP JP15853399A patent/JP2000076133A/ja not_active Abandoned
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1193602A2 (en) * | 2000-09-29 | 2002-04-03 | Sony Corporation | Memory and access restriction |
JP2002108714A (ja) * | 2000-09-29 | 2002-04-12 | Sony Corp | メモリ装置およびメモリアクセス制限方法 |
JP2002108713A (ja) * | 2000-09-29 | 2002-04-12 | Sony Corp | メモリ装置およびメモリアクセス制限方法 |
EP1193602A3 (en) * | 2000-09-29 | 2005-10-26 | Sony Corporation | Memory and access restriction |
CN100358050C (zh) * | 2005-05-25 | 2007-12-26 | 深圳兆日技术有限公司 | 一种防止存储器攻击的隐藏rom的方法 |
KR20120098702A (ko) * | 2009-10-21 | 2012-09-05 | 에이알엠 리미티드 | 데이터 처리 시스템 내에서의 하드웨어 리소스 관리 |
JP2013508845A (ja) * | 2009-10-21 | 2013-03-07 | アーム・リミテッド | データ処理システム内のハードウェア資源管理 |
US8949844B2 (en) | 2009-10-21 | 2015-02-03 | Arm Limited | Hardware resource management within a data processing system |
KR101691017B1 (ko) | 2009-10-21 | 2017-01-09 | 에이알엠 리미티드 | 데이터 처리장치 및 데이터 처리방법 |
WO2011064208A1 (en) * | 2009-11-24 | 2011-06-03 | Koninklijke Kpn N.V. | Controlling locking state transitions in a terminal |
US8656457B2 (en) | 2009-11-24 | 2014-02-18 | Koninklijke Kpn N.V. | Controlling locking state transitions in a terminal |
Also Published As
Publication number | Publication date |
---|---|
US6160734A (en) | 2000-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000076133A (ja) | 一度だけ書込み可能なメモリ内のプログラムデ―タのセキュリティ保証方法 | |
US10438023B2 (en) | Pipeline processor data and attribute register, secure emulation logic, gating | |
KR102095614B1 (ko) | 메모리 보호 | |
JP2788590B2 (ja) | メモリの保護装置及びアドレスの発生方法 | |
US8555015B2 (en) | Multi-layer content protecting microcontroller | |
US9135459B2 (en) | Security management unit, host controller interface including same, method operating host controller interface, and devices including host controller interface | |
US20070101158A1 (en) | Security region in a non-volatile memory | |
US7454169B2 (en) | Method and apparatus for use in securing an electronic device such as a cell phone | |
US20080022396A1 (en) | Memory data protection device and IC card LSI | |
EP1126356A2 (en) | Tamper resistant microprocessor | |
JPH10228421A (ja) | メモリアクセス制御回路 | |
US7523279B2 (en) | Information processing apparatus for accessing memory spaces including a user memory space and a secure memory space | |
JPH10228420A (ja) | 処理システム・セキュリティ | |
WO2005116842A1 (en) | Digital signal controller secure memory partitioning | |
WO2006093618A2 (en) | Integrated microcontroller and memory with secure interface between system program and user operating system and application | |
JP3982687B2 (ja) | 分離実行環境での複数の分離メモリへのアクセスの制御 | |
US7657758B2 (en) | Processing apparatus and integrated circuit to prevent illicit access and reverse engineering | |
US20020108045A1 (en) | Preventing unauthorized updates to a non-volatile memory | |
US6240493B1 (en) | Method and apparatus for performing access censorship in a data processing system | |
US7054121B2 (en) | Protection circuit for preventing unauthorized access to the memory device of a processor | |
US7774758B2 (en) | Systems and methods for secure debugging and profiling of a computer system | |
JP2008040585A (ja) | マイクロコンピュータ | |
US9633213B2 (en) | Secure emulation logic between page attribute table and test interface | |
JP2021012679A (ja) | フラッシュエミュレーション機能を有するコントローラ及びコントロール方法 | |
JP2009506416A (ja) | プロセッサハードウェアおよびソフトウェア |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060605 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060605 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20081209 |