JP2003521033A - マイクロプロセッサシステムを動作する方法および対応するマイクロプロセッサシステム - Google Patents
マイクロプロセッサシステムを動作する方法および対応するマイクロプロセッサシステムInfo
- Publication number
- JP2003521033A JP2003521033A JP2001554158A JP2001554158A JP2003521033A JP 2003521033 A JP2003521033 A JP 2003521033A JP 2001554158 A JP2001554158 A JP 2001554158A JP 2001554158 A JP2001554158 A JP 2001554158A JP 2003521033 A JP2003521033 A JP 2003521033A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- bus
- signal
- line
- data value
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/073—Special arrangements for circuits, e.g. for protecting identification code in memory
-
- 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/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/067—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
- G06K19/07—Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
- G06K19/073—Special arrangements for circuits, e.g. for protecting identification code in memory
- G06K19/07309—Means for preventing undesired reading or writing from or onto record carriers
- G06K19/07363—Means for preventing undesired reading or writing from or onto record carriers by preventing analysis of the circuit, e.g. dynamic or static power analysis or current analysis
-
- 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/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2123—Dummy operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Microcomputers (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
本発明は、中央制御および処理ユニット(1)、バス状態ライン(21)およびデータ/アドレスライン(22)を有するバス(2)を含み、バス(2)に接続されたユニット(3、4、5)を含むマイクロプロセッサシステムに関する。制御および処理ユニット(1)によってユニット(3、4、5)がどれも作動させられない場合、ランダムデータ値(12)がデータ/アドレスライン(22)に転送される。これにより、マイクロプロセッサシステムの電流のプロフィールが、バス(2)を介して転送されるべき有用な情報に関して隠されることが可能になる。
Description
【0001】
本発明は、第1のユニットおよびさらなるユニットと、ユニットを互いに接続
させ、状態信号に関するラインおよびさらなるバス信号に関するラインを有する
バスと、第1のユニットからさらなるユニットへのアクセスを制御するバス制御
ユニットとを有するマイクロプロセッサ構成を動作する方法に関する。さらに、
本発明は、この方法を実行することに適しているマイクロプロセッサ構成に関す
る。
させ、状態信号に関するラインおよびさらなるバス信号に関するラインを有する
バスと、第1のユニットからさらなるユニットへのアクセスを制御するバス制御
ユニットとを有するマイクロプロセッサ構成を動作する方法に関する。さらに、
本発明は、この方法を実行することに適しているマイクロプロセッサ構成に関す
る。
【0002】
マイクロプロセッサ構成は、中央処理ユニットおよび制御ユニット(CPU)
以外に、信号入力および信号出力に関する、単一のチップ上に一体化される、メ
モリまたは周辺ユニットなどのさらなるユニット(いわゆる、マイクロコントロ
ーラ)を含む。このようなマイクロコントローラは、安全性に関するシステム(
例えば、スマートカード)において使用され得る。この場合、マイクロコントロ
ーラは、特に、読み出しデバイスとスマートカードとの間のデータトラフィック
を暗号化して、アクセス許可をチェックし、他の秘密動作を実行する機能を果た
す。
以外に、信号入力および信号出力に関する、単一のチップ上に一体化される、メ
モリまたは周辺ユニットなどのさらなるユニット(いわゆる、マイクロコントロ
ーラ)を含む。このようなマイクロコントローラは、安全性に関するシステム(
例えば、スマートカード)において使用され得る。この場合、マイクロコントロ
ーラは、特に、読み出しデバイスとスマートカードとの間のデータトラフィック
を暗号化して、アクセス許可をチェックし、他の秘密動作を実行する機能を果た
す。
【0003】
マイクロコントローラによって消費される電流の時間的な列(zeitlic
he Ablauf)を使用して、マイクロコントローラの機能が密かに発見さ
れ得ることは公知である。例えば、トリガポイントが電流プロフィールから取得
されて、その次の測定が正確なタイミング方式で制御され得る。あるいは、プロ
セッサにおいて使用される特定のタイプの計算および暗号化/復号化アルゴリズ
ムに関して結論を出すことが可能である。あるいは、処理された有用な情報の一
部分を決定することさえも可能である。バスアクセスは、特に、特徴的な電流プ
ロフィールを生成する。なぜならば、バスアクセスが、所定の信号プロトコルに
よって先へ進み、スイッチング動作が、駆動されるべき高い容量性の負荷が起因
して、明確な電流プロフィールをもたらすからである。安全性に関して重要な用
途における従来のマイクロコントローラの用途は、従って、問題がある。
he Ablauf)を使用して、マイクロコントローラの機能が密かに発見さ
れ得ることは公知である。例えば、トリガポイントが電流プロフィールから取得
されて、その次の測定が正確なタイミング方式で制御され得る。あるいは、プロ
セッサにおいて使用される特定のタイプの計算および暗号化/復号化アルゴリズ
ムに関して結論を出すことが可能である。あるいは、処理された有用な情報の一
部分を決定することさえも可能である。バスアクセスは、特に、特徴的な電流プ
ロフィールを生成する。なぜならば、バスアクセスが、所定の信号プロトコルに
よって先へ進み、スイッチング動作が、駆動されるべき高い容量性の負荷が起因
して、明確な電流プロフィールをもたらすからである。安全性に関して重要な用
途における従来のマイクロコントローラの用途は、従って、問題がある。
【0004】
本発明の目的は、監視不要の(aborsicher)マイクロプロセッサ構
成を動作する方法を特定することである。
成を動作する方法を特定することである。
【0005】
さらなる目的は、この方法を実行することに適しているマイクロプロセッサ構
成を特定することである。
成を特定することである。
【0006】
本発明によると、本方法に関する目的は、第1のユニットおよびさらなるユニ
ットと、第1のユニットをさらなるユニットに接続させ、バスの動作状態を特定
する状態信号に関するラインと、データ値を特定するさらなるバス信号に関する
ラインとを含むバスと、バスを介して第1のユニットからさらなるユニットへの
アクセスを制御するためのバス制御ユニットとを有するマイクロプロセッサ構成
を動作する方法によって達成される。この方法において、バス制御ユニットが、
第1のユニットからさらなるユニットにアクセスが行われていないという状態信
号に関してラインを介して通知する場合、データ値が、ランダムに制御された方
法で生成され、さらなるバス信号に関するラインに適用される。
ットと、第1のユニットをさらなるユニットに接続させ、バスの動作状態を特定
する状態信号に関するラインと、データ値を特定するさらなるバス信号に関する
ラインとを含むバスと、バスを介して第1のユニットからさらなるユニットへの
アクセスを制御するためのバス制御ユニットとを有するマイクロプロセッサ構成
を動作する方法によって達成される。この方法において、バス制御ユニットが、
第1のユニットからさらなるユニットにアクセスが行われていないという状態信
号に関してラインを介して通知する場合、データ値が、ランダムに制御された方
法で生成され、さらなるバス信号に関するラインに適用される。
【0007】
本発明による方法を実行するためのマイクロプロセッサ構成は、第1のユニッ
トおよびさらなるユニットと、第1のユニットをさらなるユニットに接続させ、
バスの動作状態を特定する状態信号に関するラインおよびデータ値を特定するさ
らなるバス信号に関するラインとを含むバスと、バスを介して第1のユニットか
らさらなるユニットへのアクセスを制御するためのバス制御ユニットを含む。状
態信号が、第1のユニットからさらなるユニットにアクセスが行われていないこ
とを示す場合、さらなるバス信号に関するラインに接続され得るランダム数生成
器。
トおよびさらなるユニットと、第1のユニットをさらなるユニットに接続させ、
バスの動作状態を特定する状態信号に関するラインおよびデータ値を特定するさ
らなるバス信号に関するラインとを含むバスと、バスを介して第1のユニットか
らさらなるユニットへのアクセスを制御するためのバス制御ユニットを含む。状
態信号が、第1のユニットからさらなるユニットにアクセスが行われていないこ
とを示す場合、さらなるバス信号に関するラインに接続され得るランダム数生成
器。
【0008】
バス状態信号は、中央処理ユニットおよび制御ユニット(CPU)によって現
在使用されているバスに関するタスクを示す。バスが実際に、考慮されるクロッ
クセクションにおいてアイドル状態にある場合、バスデータライン上に有効な信
号は存在しない。本発明によると、ランダムに制御された方法で生成された信号
が、次いで、バスのデータラインを介して転送される。これにより、電流プロフ
ィールがランダムに変えられる。電流プロフィールは、従って、バスを介して転
送される有用な情報に関してマスクされて、その結果、電流プロフィールの統計
的な評価に基づく、有用な情報に関する結論は、より著しく困難になるかまたは
不可能にさえなる。
在使用されているバスに関するタスクを示す。バスが実際に、考慮されるクロッ
クセクションにおいてアイドル状態にある場合、バスデータライン上に有効な信
号は存在しない。本発明によると、ランダムに制御された方法で生成された信号
が、次いで、バスのデータラインを介して転送される。これにより、電流プロフ
ィールがランダムに変えられる。電流プロフィールは、従って、バスを介して転
送される有用な情報に関してマスクされて、その結果、電流プロフィールの統計
的な評価に基づく、有用な情報に関する結論は、より著しく困難になるかまたは
不可能にさえなる。
【0009】
バスプロトコルによって、バス状態信号が、1クロックサイクル先のバスライ
ンの状態を特定することが規定され得る。バス状態信号は、同じクロックサイク
ル内の残りのバスラインの状態を特定することも可能である。
ンの状態を特定することが規定され得る。バス状態信号は、同じクロックサイク
ル内の残りのバスラインの状態を特定することも可能である。
【0010】
CPUによって駆動され得るユニットは、アドレスを割り当てる。CPUが、
メモリまたは周辺ユニットに割り当てられたアドレスをバス制御ユニットによっ
て出力する場合、これは、その中に含まれるメモリおよびメモリセルあるいは対
応する周辺ユニットが、バスからデータを受信するまたはバス上にデータを出力
するために起動されることを意味する。本発明の場合、CPUがバスに接続され
たユニットにアクセスしない場合、それにも関わらず、アドレスはバス上に出力
される。しかし、このアドレスは、バスに接続されたユニットに割り当てられた
アドレスではなく、むしろ、任意の他のアドレスである。この結果、接続された
ユニットはどれも起動されない。しかし、それにも関わらず、この任意のアドレ
スはバスを介して転送され、対応する電流プロフィールが生成される。このアド
レスは、ランダムに制御された方法で生成される。電流プロフィールは、従って
、ランダムに変えられる。この場合、ランダム数が、バスに接続されたユニット
の有効なアドレスに対応しないことを確認する必要がある。
メモリまたは周辺ユニットに割り当てられたアドレスをバス制御ユニットによっ
て出力する場合、これは、その中に含まれるメモリおよびメモリセルあるいは対
応する周辺ユニットが、バスからデータを受信するまたはバス上にデータを出力
するために起動されることを意味する。本発明の場合、CPUがバスに接続され
たユニットにアクセスしない場合、それにも関わらず、アドレスはバス上に出力
される。しかし、このアドレスは、バスに接続されたユニットに割り当てられた
アドレスではなく、むしろ、任意の他のアドレスである。この結果、接続された
ユニットはどれも起動されない。しかし、それにも関わらず、この任意のアドレ
スはバスを介して転送され、対応する電流プロフィールが生成される。このアド
レスは、ランダムに制御された方法で生成される。電流プロフィールは、従って
、ランダムに変えられる。この場合、ランダム数が、バスに接続されたユニット
の有効なアドレスに対応しないことを確認する必要がある。
【0011】
この方法によってバス上に出力されるデータ値は、バス状態信号のそれぞれの
状態を介して、アドレスの重みを得る。バス状態信号はさらに、バスのデータラ
インにおいて、アドレスが出力されるか、または、データ項目がアドレス指定さ
れたユニットに出力(書き込み)されるか、または、データ項目がアドレス指定
されたユニットから受信(読み出し)されることを示す。同じバスの信号ライン
は、アドレスおよびデータを読み出すまたは書き込むために使用され得る。これ
は、多重データ/アドレスバスと呼ばれる。用語データ値は、一般的に理解され
るべきであり、アドレスあるいは現在処理されているデータまたはプログラム命
令などを表すデータ値を含む。一旦、バス状態信号が、アイドル状態が存在する
ことを示すと、その次のクロックサイクルにおいてランダム値が転送される。バ
スに接続されたユニットが存在しないアドレスが転送される場合、その次の動作
クロックサイクルにおいて、ランダム値は、有効なアドレスによって既存のユニ
ットが再びアドレス指定されるまで転送される。従来のマイクロプロセッサの場
合、任意の接続されたユニットに割り当てられないアドレスは、プログラミング
エラーを表す。本発明の場合は、対照的に、このようなランダムに制御されたア
ドレスの転送は、存在しない宛先へのアクセスが、他の場合には使用されないバ
スサイクルをマスクするために実行されると理解されるべきである。
状態を介して、アドレスの重みを得る。バス状態信号はさらに、バスのデータラ
インにおいて、アドレスが出力されるか、または、データ項目がアドレス指定さ
れたユニットに出力(書き込み)されるか、または、データ項目がアドレス指定
されたユニットから受信(読み出し)されることを示す。同じバスの信号ライン
は、アドレスおよびデータを読み出すまたは書き込むために使用され得る。これ
は、多重データ/アドレスバスと呼ばれる。用語データ値は、一般的に理解され
るべきであり、アドレスあるいは現在処理されているデータまたはプログラム命
令などを表すデータ値を含む。一旦、バス状態信号が、アイドル状態が存在する
ことを示すと、その次のクロックサイクルにおいてランダム値が転送される。バ
スに接続されたユニットが存在しないアドレスが転送される場合、その次の動作
クロックサイクルにおいて、ランダム値は、有効なアドレスによって既存のユニ
ットが再びアドレス指定されるまで転送される。従来のマイクロプロセッサの場
合、任意の接続されたユニットに割り当てられないアドレスは、プログラミング
エラーを表す。本発明の場合は、対照的に、このようなランダムに制御されたア
ドレスの転送は、存在しない宛先へのアクセスが、他の場合には使用されないバ
スサイクルをマスクするために実行されると理解されるべきである。
【0012】
マイクロプロセッサ構成のバスは、さらに、バスに接続されたさらなるユニッ
トに送られるイネーブル信号に関するラインを含み得る。イネーブル信号は、バ
スを介してアクセスが行われることをこれらのユニットに通知する。イネーブル
ラインもまた、便宜上、バス状態信号によって通知されるアイドル状態の後、ラ
イン値によって駆動される。
トに送られるイネーブル信号に関するラインを含み得る。イネーブル信号は、バ
スを介してアクセスが行われることをこれらのユニットに通知する。イネーブル
ラインもまた、便宜上、バス状態信号によって通知されるアイドル状態の後、ラ
イン値によって駆動される。
【0013】
本発明は、図面に示される例示的な実施形態を用いて、下記により詳細に説明
される。
される。
【0014】
図1に示されるマイクコントローラは、内部動作の列(特に、バス2へのアク
セス)を制御する中央制御および処理ユニット(CPU)1を含む。このため、
CPU1は、バス制御ユニット11を含む。バス自体は、バス状態を特定する少
なくとも1つの信号ライン21と、接続されたユニットのアドレスおよびデータ
値の両方を連続的に転送させる多数のライン(いわゆる、多重データ/アドレス
バス)22とを含む。バス2にメモリ3が接続され、このメモリ3において、処
理されるべきデータ値および/またはプログラム命令が格納される。さらに、第
1の周辺ユニット4が提供され、第2の周辺ユニット5も提供され、これらを介
して、チップ外部で接続された機能ユニットとデータが交換される。マイクロコ
ントローラは、例えば、スマートカードにおいて使用されて、読み出しデバイス
と通信する。バスに接続されるユニット3、4、5のそれぞれは、バスインタフ
ェース31、41、および51をそれぞれ有する。バス制御ユニット11および
インタフェース31、41、51は、マスタースレーブ依存によって協動する。
セス)を制御する中央制御および処理ユニット(CPU)1を含む。このため、
CPU1は、バス制御ユニット11を含む。バス自体は、バス状態を特定する少
なくとも1つの信号ライン21と、接続されたユニットのアドレスおよびデータ
値の両方を連続的に転送させる多数のライン(いわゆる、多重データ/アドレス
バス)22とを含む。バス2にメモリ3が接続され、このメモリ3において、処
理されるべきデータ値および/またはプログラム命令が格納される。さらに、第
1の周辺ユニット4が提供され、第2の周辺ユニット5も提供され、これらを介
して、チップ外部で接続された機能ユニットとデータが交換される。マイクロコ
ントローラは、例えば、スマートカードにおいて使用されて、読み出しデバイス
と通信する。バスに接続されるユニット3、4、5のそれぞれは、バスインタフ
ェース31、41、および51をそれぞれ有する。バス制御ユニット11および
インタフェース31、41、51は、マスタースレーブ依存によって協動する。
【0015】
バス2がアイドル状態にある場合、すなわち、接続されたユニット3、4、5
がどれも、アクセスのためにCPU1によって起動されない場合、バス制御ユニ
ット1は、ランダムに制御された方法で生成されたデータ値の列をデータライン
22上に出力する。マルチプレクサ13を介してバスのデータライン22に接続
されたランダム数生成器12は、ランダムデータ値を生成する機能を果たす。ユ
ニット3、4、5のうちの1つが、CPU1によってアドレス指定される場合、
マルチプレクサ13は、転送または受信されたデータをCPU1のさらなるユニ
ットに転送する他のターミナル14に切り替える。
がどれも、アクセスのためにCPU1によって起動されない場合、バス制御ユニ
ット1は、ランダムに制御された方法で生成されたデータ値の列をデータライン
22上に出力する。マルチプレクサ13を介してバスのデータライン22に接続
されたランダム数生成器12は、ランダムデータ値を生成する機能を果たす。ユ
ニット3、4、5のうちの1つが、CPU1によってアドレス指定される場合、
マルチプレクサ13は、転送または受信されたデータをCPU1のさらなるユニ
ットに転送する他のターミナル14に切り替える。
【0016】
ライン21上で転送されるバス状態信号BSが、データ/アドレスライン22
上で転送されるデータ値Bと共に図2に示される。バスは、クロックサイクルの
ように動作されて、その結果、信号状態のそれぞれは、クロック信号CLKの1
クロック期間の間有効である。バス状態信号BSは、アイドル状態に関して状態
IDLE、アドレスの転送に関する状態ADR、データ項目がCPU1からユニ
ット3、4、5のうちの1つに転送される書き込み動作に関する状態WR、デー
タ値がユニット3、4、5のうちの1つから読み出されCPU1に転送される読
み出し動作に関する状態RDを想定し得る。バスは、第1のクロックサイクルに
おける信号BSの状態が、その次のクロックサイクルにおけるデータ/アドレス
ラインBのデータ値によって想定される状態を特定するような方法で制御される
。これは、アドレス/データライン22を介して転送されるデータ値が、1クロ
ックサイクル前に直接転送されたバス状態信号BSの状態に対応することを意味
する。
上で転送されるデータ値Bと共に図2に示される。バスは、クロックサイクルの
ように動作されて、その結果、信号状態のそれぞれは、クロック信号CLKの1
クロック期間の間有効である。バス状態信号BSは、アイドル状態に関して状態
IDLE、アドレスの転送に関する状態ADR、データ項目がCPU1からユニ
ット3、4、5のうちの1つに転送される書き込み動作に関する状態WR、デー
タ値がユニット3、4、5のうちの1つから読み出されCPU1に転送される読
み出し動作に関する状態RDを想定し得る。バスは、第1のクロックサイクルに
おける信号BSの状態が、その次のクロックサイクルにおけるデータ/アドレス
ラインBのデータ値によって想定される状態を特定するような方法で制御される
。これは、アドレス/データライン22を介して転送されるデータ値が、1クロ
ックサイクル前に直接転送されたバス状態信号BSの状態に対応することを意味
する。
【0017】
第1の3クロックサイクル31は、メモリ3への書き込みアクセスの場合の信
号の列を示す。バスは、第1のクロックサイクルにおいてアイドル状態にあり、
バス状態信号BSは、信号値IDLEを想定する。その次の動作クロックサイク
ルにおいて、ランダム数生成器12によってランダムに制御された方法で生成さ
れたデータ値RNGが、データ/アドレスライン22を介して転送される。その
次のクロックサイクルにおいて、バスマスター11からのバス状態信号BSは、
アドレス転送のために状態ADRに切り替えられる。これは、バスのデータ/ア
ドレス信号ライン22に関して、メモリ3内に含まれるメモリセルの有効なアド
レスMEMが転送されることを意味する。その後、バス状態信号BSは、書き込
み動作WRを通知する。バスライン22は、次いで、以前にクロックサイクル内
で特定されたアドレスMEMと共に、メモリセルにおいてメモリ3内に格納され
るべきデータ値DATAを保有する。
号の列を示す。バスは、第1のクロックサイクルにおいてアイドル状態にあり、
バス状態信号BSは、信号値IDLEを想定する。その次の動作クロックサイク
ルにおいて、ランダム数生成器12によってランダムに制御された方法で生成さ
れたデータ値RNGが、データ/アドレスライン22を介して転送される。その
次のクロックサイクルにおいて、バスマスター11からのバス状態信号BSは、
アドレス転送のために状態ADRに切り替えられる。これは、バスのデータ/ア
ドレス信号ライン22に関して、メモリ3内に含まれるメモリセルの有効なアド
レスMEMが転送されることを意味する。その後、バス状態信号BSは、書き込
み動作WRを通知する。バスライン22は、次いで、以前にクロックサイクル内
で特定されたアドレスMEMと共に、メモリセルにおいてメモリ3内に格納され
るべきデータ値DATAを保有する。
【0018】
その後、CPU1は、5クロックサイクルの間、ユニット3、4、または5の
どれにもアクセスしない。この点において、第1に、バス状態信号BSに関して
1クロックサイクルの間に状態IDLEが転送される。そのすぐ後のクロックサ
イクルにおいて、ランダムデータ値RNGがバスのデータ/アドレスライン22
上に出力される。バス状態信号BSは、引き続いて、状態ADRによってアドレ
スの転送を通知する。ユニット3、4、および5のアドレス空間内のアドレスの
どれにも対応しないデータ値NONが、次いで、データ/アドレスライン22上
に転送される。データ値NONは、ランダム数生成器12において、ランダムに
制御された方法で生成される。プログラミングの観点から、これは、ユニットが
実際のハードウェアには存在しないアドレスNONによってアドレス指定される
ことを意味する。バス状態信号BSは、引き続いて、信号状態RD、WR、およ
びRDを想定する。ランダム数生成器12によって生成されたランダム値RNG
は、アドレス/データ信号ライン22の関連するクロックセクションにおいて転
送される。実際、アドレス/データ信号ライン上のランダム数の値の転送の例と
して示す3クロックセクションよりはるかに多いクロックセクションが存在し得
る。
どれにもアクセスしない。この点において、第1に、バス状態信号BSに関して
1クロックサイクルの間に状態IDLEが転送される。そのすぐ後のクロックサ
イクルにおいて、ランダムデータ値RNGがバスのデータ/アドレスライン22
上に出力される。バス状態信号BSは、引き続いて、状態ADRによってアドレ
スの転送を通知する。ユニット3、4、および5のアドレス空間内のアドレスの
どれにも対応しないデータ値NONが、次いで、データ/アドレスライン22上
に転送される。データ値NONは、ランダム数生成器12において、ランダムに
制御された方法で生成される。プログラミングの観点から、これは、ユニットが
実際のハードウェアには存在しないアドレスNONによってアドレス指定される
ことを意味する。バス状態信号BSは、引き続いて、信号状態RD、WR、およ
びRDを想定する。ランダム数生成器12によって生成されたランダム値RNG
は、アドレス/データ信号ライン22の関連するクロックセクションにおいて転
送される。実際、アドレス/データ信号ライン上のランダム数の値の転送の例と
して示す3クロックセクションよりはるかに多いクロックセクションが存在し得
る。
【0019】
その後、バス状態信号BSは、再び、アイドル状態IDLEに切り替えられ、
ランダム値RNGがアドレス/データライン上に転送される。その後、アドレス
P1によって書き込みアクセスが周辺ユニット4に行われ、アドアレスP2によ
って読み出しアクセスが周辺ユニット5に行われる。
ランダム値RNGがアドレス/データライン上に転送される。その後、アドレス
P1によって書き込みアクセスが周辺ユニット4に行われ、アドアレスP2によ
って読み出しアクセスが周辺ユニット5に行われる。
【0020】
本発明において、CPU1によって、接続された周辺ユニット3、4、または
5のどれにもアクセスがリクエストされない場合、ランダムデータ値が、バス2
のデータ/アドレスライン22上に出力される。これは、バス状態信号BSが、
アイドル状態が存在すること(IDLE)を示す場合、または、ユニットが、接
続されたユニットに割り当てられていないアドレスによってアドレス指定されて
、バス信号状態WRまたはRDの間に、ランダムに制御された方法で生成された
データ値をバス上に出力する場合である。マイクロコントローラの電流プロフィ
ールは、この方法でマスクされる。
5のどれにもアクセスがリクエストされない場合、ランダムデータ値が、バス2
のデータ/アドレスライン22上に出力される。これは、バス状態信号BSが、
アイドル状態が存在すること(IDLE)を示す場合、または、ユニットが、接
続されたユニットに割り当てられていないアドレスによってアドレス指定されて
、バス信号状態WRまたはRDの間に、ランダムに制御された方法で生成された
データ値をバス上に出力する場合である。マイクロコントローラの電流プロフィ
ールは、この方法でマスクされる。
【図1】
図1は、本発明に関連するマイクロプロセッサの素子を有するブロック図を示
す。
す。
【図2】
図2は、信号タイミング図を示す。
Claims (8)
- 【請求項1】 マイクロプロセッサ構成を動作する方法であって、 第1のユニット(1)およびさらなるユニット(3、4、5)と、 該第1のユニット(1)を該さらなるユニット(3、4、5)に接続させ、バ
ス(2)の動作状態を特定する状態信号(BS)に関するライン(21)および
データ値を特定するさらなるバス信号(B)に関するライン(22)を含むバス
(2)と、 該バス(2)を介して該第1のユニット(1)から該さらなるユニット(3、
4、5)へのアクセスを制御するバス制御ユニット(11)と、 を含み、 該バス制御ユニット(11)が、該第1のユニット(1)から該さらなるユニ
ット(3、4、5)にアクセスが行われていないという該状態信号(BS)に関
して該ライン(2)を介して通知する場合、データ値(RNG)が、ランダムに
制御された方法で生成され、該さらなるバス信号(B)に関する該ライン(22
)に適用される、マイクロプロセッサ構成を動作する方法。 - 【請求項2】 前記バス制御ユニット(11)が、前記状態信号(BS)お
よび前記データ値(B)をクロックサイクル(CLK)のように生成し、第1の
クロックサイクルにおいて、前記第1のユニット(1)から前記さらなるユニッ
ト(3、4、5)にアクセスが行われていないことが通知される場合、その次の
クロックサイクルにおいて、ランダムに制御された方法で生成される該データ値
が生成され、前記さらなるバス信号(B)に関する前記ライン(22)に適用さ
れることを特徴とする、請求項1に記載の方法。 - 【請求項3】 前記マイクロプロセッサ構成の前記さらなるユニット(3)
がアドレスを割り当てられ、これにより、該さらなるユニット(3)が、前記第
1のユニット(1)によってアクセスされ得、該第1のユニットから該さらなる
ユニットにアクセスが行われていないことが通知される第1のクロックサイクル
の後の前記次のクロックサイクルにおいて、該さらなるユニットに割り当てられ
たアドレスと異なるアドレス(NON、RNG)が、前記さらなるバス信号(B
)に関する前記ライン(22)に適用されることを特徴とする、請求項2に記載
の方法。 - 【請求項4】 前記次のクロックサイクルのさらに次のクロックサイクルに
おいて、前記バス(2)を介して読み出しまたは書き込みアクセスが実行される
ことを特徴とする、請求項3に記載の方法。 - 【請求項5】 前記状態信号(BS)が、読み出しアクセス(RD)および
書き込みアクセス(WR)に関する信号状態を含み、該信号状態の1つが、該状
態信号(BS)に関する前記ライン(21)上に適用され、ランダムに制御され
た方法で生成されたデータ値(RNG)が、前記さらなるバス信号(B)に関す
る前記ライン(22)に割り当てられた方法で適用されることを特徴とする、請
求項4に記載の方法。 - 【請求項6】 前記マイクロプロセッサ構成の前記バス(2)が、前記さら
なるユニットのイネーブル信号に関するラインを含み、前記バス制御ユニットが
、前記第1のユニットから該さらなるユニットにアクセスが行われていないこと
を、該ラインを介して前記状態信号に通知する場合、ランダムに制御された方法
で生成された信号が、該イネーブル信号に関する該ラインに適用されることを特
徴とする、請求項5に記載の方法。 - 【請求項7】 請求項1から6のいずれかに記載の方法を実行するマイクロ
プロセッサ構成であって、 第1のユニット(1)およびさらなるユニット(3、4、5)と、 該第1のユニット(1)を該さらなるユニット(3、4、5)に接続させ、バ
ス(2)の動作状態を特定する状態信号(BS)に関するライン(21)および
データ値を特定するさらなるバス信号(B)に関するライン(22)を含むバス
(2)と、 該バス(2)を介して該第1のユニット(1)から該さらなるユニット(3、
4、5)へのアクセスを制御するバス制御ユニット(11)と、 該状態信号(BS)が、該第1のユニット(1)から該さらなるユニット(3
、4、5)にアクセスが行われていないことを示す場合、該さらなるバス信号(
B)に関する該ライン(22)に接続され得るランダム数生成器(12)と、 を含む、マイクロプロセッサ構成。 - 【請求項8】 前記第1のユニット(1)が、マイクロプロセッサの処理お
よび制御ユニットであり、前記さらなるユニットが、該マイクロプロセッサに信
号を入力し該マイクロプロセッサから信号を出力する該マイクロプロセッサの周
辺ユニット(4、5)であるか、または、メモリ(3)であることを特徴とする
、請求項7に記載のマイクロプロセッサ構成。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP00100994.3 | 2000-01-19 | ||
EP00100994.3A EP1118924B1 (de) | 2000-01-19 | 2000-01-19 | Verfahren zum betrieb einer mikroprozessoranordnung und mikroprozessoranordnung |
PCT/DE2001/000155 WO2001053930A2 (de) | 2000-01-19 | 2001-01-16 | Verfahren zum betrieb einer mikroprozessoranordnung und mikroprozessoranordnung |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2003521033A true JP2003521033A (ja) | 2003-07-08 |
Family
ID=8167658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001554158A Withdrawn JP2003521033A (ja) | 2000-01-19 | 2001-01-16 | マイクロプロセッサシステムを動作する方法および対応するマイクロプロセッサシステム |
Country Status (5)
Country | Link |
---|---|
US (1) | US7020730B2 (ja) |
EP (1) | EP1118924B1 (ja) |
JP (1) | JP2003521033A (ja) |
CN (1) | CN1249549C (ja) |
WO (1) | WO2001053930A2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2808360B1 (fr) * | 2000-04-28 | 2002-06-28 | Gemplus Card Int | Procede de contre mesure dans un microcircuit mettant en oeuvre le procede et carte a puce comportant ledit microcircuit |
DE50014462D1 (de) | 2000-05-22 | 2007-08-16 | Infineon Technologies Ag | Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren |
US6515304B1 (en) * | 2000-06-23 | 2003-02-04 | International Business Machines Corporation | Device for defeating reverse engineering of integrated circuits by optical means |
US6798567B2 (en) * | 2002-03-07 | 2004-09-28 | Lucent Technologies Inc. | Method and apparatus for controlling power transients in an optical communication system |
US8334705B1 (en) | 2011-10-27 | 2012-12-18 | Certicom Corp. | Analog circuitry to conceal activity of logic circuitry |
US8635467B2 (en) | 2011-10-27 | 2014-01-21 | Certicom Corp. | Integrated circuit with logic circuitry and multiple concealing circuits |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NL8201847A (nl) * | 1982-05-06 | 1983-12-01 | Philips Nv | Inrichting voor het beschermen tegen onbevoegd uitlezen van in een geheugen te memoriseren programmawoorden. |
US5341423A (en) * | 1987-02-06 | 1994-08-23 | General Electric Company | Masked data transmission system |
US5297201A (en) * | 1992-10-13 | 1994-03-22 | J.D. Technologies, Inc. | System for preventing remote detection of computer data from tempest signal emissions |
US5754647A (en) * | 1996-03-27 | 1998-05-19 | United Microelectronics Corporation | Software protection apparatus and the method of protection utilizing read-write memory means having inconsistent input and output data |
WO1999063696A1 (en) * | 1998-06-03 | 1999-12-09 | Cryptography Research, Inc. | Using unpredictable information to minimize leakage from smartcards and other cryptosystems |
US6401208B2 (en) * | 1998-07-17 | 2002-06-04 | Intel Corporation | Method for BIOS authentication prior to BIOS execution |
US6385727B1 (en) * | 1998-09-25 | 2002-05-07 | Hughes Electronics Corporation | Apparatus for providing a secure processing environment |
FR2789535B1 (fr) * | 1999-02-04 | 2001-09-28 | Bull Cp8 | Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique |
US6419159B1 (en) * | 1999-06-14 | 2002-07-16 | Microsoft Corporation | Integrated circuit device with power analysis protection circuitry |
US6633981B1 (en) * | 1999-06-18 | 2003-10-14 | Intel Corporation | Electronic system and method for controlling access through user authentication |
US6295606B1 (en) * | 1999-07-26 | 2001-09-25 | Motorola, Inc. | Method and apparatus for preventing information leakage attacks on a microelectronic assembly |
US6625737B1 (en) * | 2000-09-20 | 2003-09-23 | Mips Technologies Inc. | System for prediction and control of power consumption in digital system |
-
2000
- 2000-01-19 EP EP00100994.3A patent/EP1118924B1/de not_active Expired - Lifetime
-
2001
- 2001-01-16 CN CNB01803750XA patent/CN1249549C/zh not_active Expired - Fee Related
- 2001-01-16 WO PCT/DE2001/000155 patent/WO2001053930A2/de active Application Filing
- 2001-01-16 JP JP2001554158A patent/JP2003521033A/ja not_active Withdrawn
-
2002
- 2002-07-19 US US10/199,589 patent/US7020730B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP1118924B1 (de) | 2016-07-20 |
US7020730B2 (en) | 2006-03-28 |
CN1395700A (zh) | 2003-02-05 |
EP1118924A1 (de) | 2001-07-25 |
CN1249549C (zh) | 2006-04-05 |
US20030005206A1 (en) | 2003-01-02 |
WO2001053930A3 (de) | 2001-12-06 |
WO2001053930A2 (de) | 2001-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1864140B (zh) | 用于具有多个处理器和一个存储器系统的系统的存储器接口 | |
JPH11509950A (ja) | N本未満のi/oピンを伴うnビットのデータバス幅をもつマイクロコントローラ及びそのための方法 | |
US6944649B1 (en) | Electronic control unit having single non-volatile memory for multiple central processing units and data retrieval method | |
JP2003521033A (ja) | マイクロプロセッサシステムを動作する方法および対応するマイクロプロセッサシステム | |
JP2007052717A (ja) | データ転送装置およびデータ転送方法 | |
US6550015B1 (en) | Scalable virtual timer architecture for efficiently implementing multiple hardware timers with minimal silicon overhead | |
CN101169767B (zh) | 访问控制设备及访问控制方法 | |
JP4477805B2 (ja) | 情報処理装置 | |
JP4116805B2 (ja) | 内部バス試験装置及び内部バス試験方法 | |
JP2009129402A (ja) | Icカード用半導体装置、icカード、及びicカード用端末装置 | |
JP2007310760A (ja) | 記憶装置 | |
US7237099B2 (en) | Multiprocessor system having a plurality of control programs stored in a continuous range of addresses of a common memory and having identification registers each corresponding to a processor and containing data used in deriving a starting address of a CPU-linked interrupt handler program to be executed by the corresponding processor | |
JP2000099452A (ja) | Dma制御装置 | |
KR100218383B1 (ko) | 피엘씨의 멀티 씨피유 모듈 시스템 | |
JPH10198524A (ja) | ハードディスク制御装置 | |
JPH0962610A (ja) | Dmaコントローラ | |
JP2739783B2 (ja) | パッケージ間データ転送方式 | |
KR19990062330A (ko) | 멀티-프로세서 시스템의 인터럽트 제어장치 | |
EP1193606B1 (en) | Apparatus and method for a host port interface unit in a digital signal processing unit | |
JPS6162158A (ja) | デ−タ授受システム | |
JPH0240760A (ja) | 情報処理装置 | |
JPH1011405A (ja) | メモリアクセス競合制御システム | |
CN114691013A (zh) | Ddr中寄存器配置参数的处理装置、方法及设备 | |
JP2003099386A (ja) | 共有バスシステム | |
JPH05120207A (ja) | デ−タ転送方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20040527 |