JP2004510213A - パイプライン・アーキテクチャ準拠マイクロコントローラのための機密保護対策方法 - Google Patents
パイプライン・アーキテクチャ準拠マイクロコントローラのための機密保護対策方法 Download PDFInfo
- Publication number
- JP2004510213A JP2004510213A JP2001574580A JP2001574580A JP2004510213A JP 2004510213 A JP2004510213 A JP 2004510213A JP 2001574580 A JP2001574580 A JP 2001574580A JP 2001574580 A JP2001574580 A JP 2001574580A JP 2004510213 A JP2004510213 A JP 2004510213A
- Authority
- JP
- Japan
- Prior art keywords
- instructions
- instruction
- insn
- microcontroller
- security
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000875 corresponding effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
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
- 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
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
- G06F9/3869—Implementation aspects, e.g. pipeline latches; pipeline synchronisation and clocking
-
- 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
Abstract
Description
(技術分野)
本発明は、複数の一連のプログラム命令を実行するマイクロコントローラの機密保護対策方法に関する。
本発明は、特に、例えば、チップ・カード用のマイクロコントローラなどの保護電子部品に適用される。
【0002】
(背景技術)
マイクロコントローラは、英語の専門用語で中央処理装置を意味するCPUとも呼ばれる少なくとも1つのマイクロプロセッサを内蔵するモノリシック集積回路である。これらのマイクロコントローラは、1つのシリコン基板、または集積回路チップ上のコンピュータそのものである。
【0003】
それ故、マイクロコントローラ・チップ・カードは、コンピュータと同じ構造を持つ保護情報担体である。すなわち、マイクロコントローラ・チップ・カードは、データを記憶することもできるし、また、情報を処理することもできる。この意味で、マイクロコントローラの役割は、カードおよびそれを携帯している人の身元を確認することであり、メッセージをコード化したり、解読したりすることであり、合法的な動作が実際に行われたことを証明する電子署名を算出することである。
【0004】
図1は、チップ・カード用のマイクロコントローラの構造を示す略図である。チップ上に集積されているこのようなマイクロコントローラは、チップ上に記録されたデータおよびプログラムを処理することができるマイクロプロセッサまたはCPUを含む。マイクロプロセッサは、データ・バスにより、異なるタイプのメモリと関連する。動作プログラムおよびアルゴリズムは、通常、ROMメモリ内に記憶されていて、一方、秘密のものであれ、秘密でないものであれ、データは、例えば、EEPROMタイプのようなプログラマブル・メモリに記憶される。RAMメモリは、種々の内部処理動作に必要な作業レジスタを含む。接点を持つチップ・カード用のコネクタからなる入出力部材は、外部の世界と会話するためのものである。
【0005】
マイクロコントローラの動作は、クロック(CLK)により順次行われる。マイクロコントローラは、また、電源VccおよびアースGNDを備える。
本質的には、マイクロコントローラには2つの種類がある。現時点での大部分(約90%)のマイクロコントローラは、大型の解読エンジンにより命令が順次読み取られ、実行される(英語の専門用語の複合命令セット・コンピュータを意味する)CISCアーキテクチャに基づいている。しかし、現在の傾向としては、命令が並列に読み取られ、実行される(英語の専門用語の縮小命令セット・コンピュータを意味する)RISCアーキテクチャに基づくマイクロコントローラが、ますます盛んに使用されるようになってきている。このようなアーキテクチャは、集積回路チップ上で数台の高価な解読エンジンを必要とするが、命令のシーケンスを実行する速度は遥かに速い。より詳細に説明すると、いわゆる「パイプライン」方式を使用するRISCアーキテクチャを使用すれば、いくつかの命令をサブステップに分割することにより、同じクロック・サイクルでいくつかの命令のステップを実行することによりいくつかの命令をインターリーブすることができる。RISCアーキテクチャのパイプラインの特徴については、以下に詳細に説明する。
【0006】
それ故、マイクロコントローラによるプログラムの実行は保護されなければならない。何故なら、処理中のすべてのデータまたはいくつかのデータは、秘密データだからである。上記保護は、実行したプログラムが内蔵している数学的アルゴリズム、および/またはいわゆる機密保護対策方法により行うことができる。
機密保護対策方法は、プログラムの命令の実行中に処理されるデータを、保護部品の外部で解釈されるのを防止することからなる保護のための方法である。このような情報の漏洩は、マイクロコントローラの構造自体から起こりうるものであり、パワー・アタック、または英語の専門用語で差動パワー・アタックを意味するDPAと呼ばれるものの被害を受ける恐れがある。
【0007】
図2は、クロック・ビート数tに応じたチップの消費電流Iのグラフにより、パワー・アタックの原理を示す。
マイクロプロセッサが、あるアルゴリズムで、秘密の命令であれ、秘密でない命令であれ、一連の命令(命令1、命令2、命令3、...)からなるプログラムを実行した場合、マイクロプロセッサは、メモリ内の必要なデータを探し、それらを処理し、結果をメモリに書き込む。
【0008】
従来から、使用するマイクロコントローラのアーキテクチャが何(CISCまたはRISC)であれ、一連の命令の実行は、何時でも同一で決まった同じ方法で行われる。
次に、(その電源Vccから)マイクロコントローラの消費電流を単に読み取ることにより、パワー・アタックを行うことができ、これにより処理されている秘密データに関する情報を見ることができる。上記情報を入手するためには、同じ一連の命令を数回実行しなければならない。次に、消費電流を、同じ命令の実行中に処理したデータの消費電流と相互に関連づけることができる。それ故、マイクロコントローラの消費電流は、処理中のデータの本当の指標とすることができる。
【0009】
例えば、不正にデータを入手しようとするものは、下記の方法を実行することができる。8バイトの秘密データ項目k[i]について考えてみよう。ここで、iは1乃至8である。アキュムレータを使用し、1乃至8のiに対してループAcc=k[i] xor k[i+1]を実行する。ループの終わりに、Acc=xor(Σ(i=1乃至8)k[i])が得られる。消費電流Iが、このシーケンス(ループ)中の時間の関数である場合には、マイクロコントローラで実行したものの反映であるサイクルの形を持つ曲線が得られる。すなわち、この例の場合には、ループの8回の動作に対する8つの同じ信号が得られる。しかし、信号の各素子を比較した場合、違いを抽出することができ、それ故、k[i]秘密に関する情報を抽出することができる。同じループを数回実行すれば、もっと容易に観察することができる。カードの消費電流が、1つの同じ一連の動作に対して同じである場合には、探している情報を抽出することができる。
【0010】
それ故、同じ一連の命令に対する消費電流の反復を除去することが非常に重要になる。これが機密保護対策方法の目的である。
特に、ランダムな変形を含むプログラムを使用することができるソフトウェアの分野では、このような機密保護対策方法がすでに使用されている。このようなプログラムは、ランダムにサブプログラムするための方法を使用することができる。それ故、従来、同じ一連の命令を呼出す同じタスクを数回反復して実行する場合には、異なるサブプログラムを呼出し、異なる一連の命令を実行することになる。そのため、消費電流と処理中のデータとの間を相互に関連づけることができなくなる。
【0011】
しかし、このようなソフトウェア的な解決方法は複雑で実行するのが面倒である。実際には、いくつかのサブプログラムを書かなければならないが、そうすると開発に時間が掛かり、コード・サイズが大きくなる。
【0012】
(発明の開示)
本発明の目的は、従来技術の欠点を解決する機密保護対策方法を提供することである。本発明は、例えば、RISCアーキテクチャを持つ電子部品におけるいわゆるパイプライン方式による一連の命令の実行に基づく機密保護対策方法を提案する。
【0013】
本発明は、命令自体のレベルの各一連の命令において、ランダムで再現できない実行の原理を導入する。
本発明は、特に、一連の命令を実行することができるマイクロコントローラ用の機密保護対策方法に関する。上記命令は、いわゆるパイプライン方式により実行される。上記パイプライン方式の特徴は、2つの連続している命令の間に、および/または少なくとも1つの命令内に少なくとも1つの待ち時間をランダムに導入することである。
【0014】
1つの特徴によると、命令は複数のサブステップに分割される。
1つの特徴によると、サブステップは、次のものからなる。すなわち、命令を入手するステップと、命令を解読するステップと、命令を実行するステップと、命令の結果を書き込むステップと、である。
1つの特徴によると、待ち時間は、1つの命令の任意の2つのサブステップの間にランダムに導入される。
【0015】
もう1つの特徴によると、命令は、暗号アルゴリズムのサブブロックのような複雑な論理モジュールに対応するマクロ命令であっても良い。
もう1つの特徴によると、待ち時間は、一連の命令の実行中に、数回ランダムに導入される。
1つの特徴によると、待ち時間は、保護すべき一連の命令に先行するソフトウェア・コマンドの後に導入される。
1つの特徴によると、本発明の方法は、命令解読電子回路の直接責任である非ソフトウェアの埋め込みによって実行される。
もう1つの特徴によると、待ち時間の導入は、1つの同じ一連の命令の実行の変動性を調整するために、電子パラメータまたはソフトウェア・パラメータにより静的および動的に規制することができる。
【0016】
本発明の1つの実行によると、本発明の方法は、パイプラインを含むRISCアーキテクチャを備えるマイクロコントローラを有する集積回路チップにおいて実行される。
本発明は、チップ・カード・タイプの任意の保護デバイスに適用される。
本発明は、集積回路チップ上で、マイクロコントローラ・レベルで直接実行される機構を提案するという利点を持つ。そのため、ソフトウェアによる解決方法のように複雑にならない。
さらに、本発明の対策方法は、このような機密保護対策機構を備えた電子部品上で、保護されていてもいなくても、任意のプログラムの実行を保証する。
【0017】
実際には、ランダムな実行、したがって、処理されているデータの保護を確実にするのは、プログラムの一連の命令ではなく、部品そのものである。このため、都合のよいことに、プログラムの電子部品との相互関連を解除することができ、このことはある種の用途の場合には非常に有益であることが分かる。それ故、異なるプログラムと一緒に使用することができ、その場合、保護のレベルは失われない。
添付の図面を参照しながら、例示的で、非制限的な下記の説明を読めば、本発明の他の利点および特徴を理解することができるだろう。
【0018】
(発明を実施するための最良の形態)
本発明の機密保護対策方法は、RISCアーキテクチャを有するマイクロコントローラで一般に使用されるパイプラインで命令を処理する原理に基づいている。
RISCアーキテクチャは、いくつかの点でCISCアーキテクチャとは異なる。
第1に、各命令には、特定の一意な電子サブモジュールの形で実行される1つの論理ブロックが対応している。そのため、1つの命令の解読および実行は、1回のクロック・サイクルで行うことができ、一方、CISCアーキテクチャの場合には、すべての命令を順次処理する1つの電子ブロックを使用している。
【0019】
第2に、メモリ内に記憶していて、他の命令により使用されるデータから独立して、各クロック・サイクルで1つの命令を解読することができるように、データ・バスが命令バスから独立している。これにより、それらを処理しなければならない命令を解読すると同時に、メモリ内のデータにアクセスし、探すことができる。さらに、すべての命令は、命令の解読が直接行われ、遅延を起こさないように、外部データ・バスのサイズと少なくとも等しいサイズを持たなければならない。
【0020】
RISCアーキテクチャを有するマイクロコントローラには、一般に次の2つのモデルがある。
非常に強力な一組の命令を使用することができるようにする、通常、パイプライン技術と呼ばれる一連の最適化された命令を使用する「スタンフォード」モデルと、
サブルーチンを高速で呼出すことができ、特にリアルタイムの用途に適している一連の命令を使用する「バークレー」モデルである。
【0021】
本発明は、「スタンフォード」モデルで提案されているパイプライン技術に特に適用される。何故なら、本発明は、このパイプライン・アーキテクチャに依存する機密保護対策方法を提案しているからである。
パイプライン方式を使用すれば、各命令をいくつかのサブステップに分割し、これらのサブステップを並列に実行することにより、いくつかの命令の実行をインターリーブすることができる。それ故、パイプライン段階は、同時に実行される一組のサブステップと定義される。それ故、1命令あたりのクロック・サイクル数は、パイプライン段階の数に応じて分割される。
プログラム、もっと簡単にいうと、一連の命令を実行する場合、命令の直線的な実行に対するブランチ、ジャンプ、割込みおよび他の例外的な処理のような命令が発生すると、パイプラインの機能は分割されることに留意されたい。
【0022】
図3および図4は、それぞれ、パイプラインを含むCISCアーキテクチャおよびRISCアーキテクチャを備えるマイクロコントローラの従来の機能を示す。
命令INSnは、簡単な命令であってもよいし、例えば、順列、圧縮または拡張構築、ベーシックでない数学的機能、参照テーブル等のような暗号アルゴリズムのサブブロックのような複雑な論理モジュールに対応するマクロ命令であってもよい。
命令INSnは、いくつかのサブステップに分割すると有利である。4つのサブステップへの分割の一例を示すが、これは例示としてのものであって、本発明を制限するためのものではない。
【0023】
英語の頭字語「FETCH」からの「F」で示す第1のステップにおいては、メモリ内で解読すべき命令を探すことができる。このステップは、以降の段階に次に送られるこの命令をバス上に置く。
英語の頭字語「DECODE」からの「D」で示す第2のステップにおいては、命令が解読される。すなわち、この命令を処理することができるマイクロコントローラのサブモジュールが起動する。
英語の頭字語「EXECUTE」からの「E」で示す第3のステップにおいては、マイクロコントローラのサブモジュールで命令が実行される。
英語の頭字語「WRITE」からの「W」で示す最後のステップにおいては、バス上のマイクロコントローラのサブモジュールにより実行された命令の結果が書き込まれる。次に、この結果は、実行の残りの部分で使用されるか、メモリに戻される。
【0024】
図3を見れば、CISCアーキテクチャを有するマイクロコントローラにより、8つのクロック・サイクル中に、2つの命令しか実行できなかったことを理解することができる。
逆に、図4に示すように、4つのサブステップを含むパイプラインの場合には、9つのクロック・サイクル中だけで、6つの命令を実行することができた。全実行時間が短縮しているが、それは、いくつかの命令のサブステップを同時に実行することができたからである。
【0025】
しかし、このようなアーキテクチャも、パワー・アタックを受ける。それは、同じ一連の命令を数回反復すると、同じ消費電流を有するパイプラインの段階の同じ連続が何時でもできるからである。
パワー・アタックにより発生するこの問題を解決し、数回実行された同じ一連の命令に対する消費電流の再現を防止するために、命令の処理中に、待ち時間、中断Bをランダムに導入する。この待ち時間Bは、ある命令の始めのところにランダムに導入することもできるし、および/または1つの同じ命令の任意の2つのサブステップの間に導入することもできる。
ランダムな待ち時間Bは、また、必要な場合には、一連の命令の実行中に複数回導入することもできる。
【0026】
図5は、本発明の対策方法の機構を示す。
ランダムな待ち時間Bは、各一連の命令のところで、命令の実行に干渉しないで、パイプライン段階を修正することにより消費電流の任意の再現を防止する。
本発明の方法は、マイクロコントローラの命令を解読するための電子モジュール(ハードウェア)により直接実行される非ソフトウェア的な実行により実行される。
本発明の機能は、同じ一連の命令の反復実行に多少の変動を与えるために、電子的な手段またはソフトウェア的な手段により、静的にまたは動的に調整することができる。
【0027】
本発明の方法を実行できる1つの方法の場合には、待ち時間Bの導入を、例えば、保護したい一連の命令の実行の直前に、ソフトウェア的な方法で制御される始動に依存するようにすることができる。この方法を使用すれば、任意の特定の保護を必要としない一連の命令の実行速度を低減しないですむ。
それ故、本発明の方法は、一連の命令を確実にランダムに実行する。すなわち、ある実行と他の実行との間のこの一連の命令の再現が確実に防止され、同じ機能的な結果が得られる。
上記一連の命令の実行時間が過度に長くなり、そのため、パイプラインの主要な利点が失われないように折り合いをつけるだけでよい。
【図面の簡単な説明】
【図1】
マイクロコントローラを備える集積回路チップの略図である。
【図2】
保護電子部品へのパワー・アタックの方法を示すグラフである。
【図3】
命令の解読にCISCアーキテクチャを備えた従来のマイクロコントローラの機能を示す図である。
【図4】
命令の解読にRISCアーキテクチャを備えた従来のマイクロコントローラの機能を示す図である。
【図5】
命令の解読に本発明のRISCアーキテクチャを備えたマイクロコントローラの機能を示す図である。
Claims (11)
- 複数の一連の命令(INSn)を実行することができるマイクロコントローラの機密保護対策方法であって、前記命令が、いわゆるパイプライン方法により実行され、前記方法が、2つの連続する命令(INSn、INSn+1)の間、および/または少なくとも1つの命令(INSn)内に、少なくとも1つの待ち時間(B)をランダムに導入することからなることを特徴とする機密保護対策方法。
- 請求項1に記載の機密保護対策方法において、前記命令(INSn)が、複数のサブステップに分割されることを特徴とする機密保護対策方法。
- 請求項2に記載の機密保護対策方法において、前記サブステップが、
命令を入手するステップ(F)と、
命令を解読するステップ(D)と、
命令を実行するステップ(E)と、
命令の結果を書き込むステップ(W)と、
からなることを特徴とする機密保護対策方法。 - 請求項2または3に記載の機密保護対策方法において、前記待ち時間(B)が、1つの命令(INSn)の任意の2つのサブステップ間にランダムに導入されることを特徴とする機密保護対策方法。
- 請求項1に記載の機密保護対策方法において、前記命令(INSn)が、暗号アルゴリズムのサブブロックなどの複雑な論理モジュールに対応するマクロ命令であることを特徴とする機密保護対策方法。
- 請求項1乃至5の何れかに記載の機密保護対策方法において、前記待ち時間(B)が、前記一連の命令の実行中に、数回ランダムに導入されることを特徴とする機密保護対策方法。
- 請求項1乃至6の何れかに記載の機密保護対策方法において、前記待ち時間(B)が、保護すべき前記一連の命令に先行する論理コマンドの後に導入されることを特徴とする機密保護対策方法。
- 請求項1乃至7の何れかに記載の機密保護対策方法において、前記方法が、マイクロコントローラの命令解読電子回路の直接責任である非ソフトウェア的な実行により実行されることを特徴とする機密保護対策方法。
- 請求項1乃至8の何れかに記載の機密保護対策方法において、前記待ち時間(B)の導入が、1つの同じ一連の命令の実行の変動性を調整するために、電子パラメータまたはソフトウェア・パラメータにより静的および動的に調整されることを特徴とする機密保護対策方法。
- 請求項1乃至9の何れかに記載の機密保護対策方法において、前記方法が、パイプラインを使用するRISCアーキテクチャを有するマイクロコントローラを備えた集積回路チップにおいて実行されることを特徴とする機密保護対策方法。
- 前記チップ・カード・タイプの保護デバイスであって、前記デバイスが、請求項1乃至10の何れかに記載の対策方法を実行することができる電子部品を有することを特徴とするデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0004426A FR2807591B1 (fr) | 2000-04-06 | 2000-04-06 | Procede de contre-mesure pour un micro-controleur base sur une architecture avec "pipeline" |
PCT/FR2001/000794 WO2001077791A1 (fr) | 2000-04-06 | 2001-03-16 | Procede de contre-mesure pour un micro-controleur base sur une architecture avec 'pipeline' |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004510213A true JP2004510213A (ja) | 2004-04-02 |
Family
ID=8848959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001574580A Pending JP2004510213A (ja) | 2000-04-06 | 2001-03-16 | パイプライン・アーキテクチャ準拠マイクロコントローラのための機密保護対策方法 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7376844B2 (ja) |
EP (1) | EP1269290B1 (ja) |
JP (1) | JP2004510213A (ja) |
CN (1) | CN1426547A (ja) |
AU (1) | AU2001244258A1 (ja) |
DE (1) | DE60103520T2 (ja) |
ES (1) | ES2222353T3 (ja) |
FR (1) | FR2807591B1 (ja) |
MX (1) | MXPA02009748A (ja) |
WO (1) | WO2001077791A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2835935B1 (fr) * | 2002-02-14 | 2004-04-16 | Geneticware Co Ltd | Structure pour une logique en pipeline controlee |
US7653906B2 (en) * | 2002-10-23 | 2010-01-26 | Intel Corporation | Apparatus and method for reducing power consumption on simultaneous multi-threading systems |
DE10307797B4 (de) * | 2003-02-24 | 2010-11-11 | Infineon Technologies Ag | Vorrichtung und Verfahren zum Ermitteln einer Unregelmäßigkeit in einem Ablauf eines Nutzprogramms |
US7647486B2 (en) * | 2006-05-02 | 2010-01-12 | Atmel Corporation | Method and system having instructions with different execution times in different modes, including a selected execution time different from default execution times in a first mode and a random execution time in a second mode |
DE102006038877B4 (de) * | 2006-08-18 | 2018-01-25 | Giesecke+Devrient Mobile Security Gmbh | Manipulationsgesicherte Einheit, Verfahren für eine manipulationsgesicherte Einheit sowie Speichermedium |
DE102006038879A1 (de) | 2006-08-18 | 2008-02-21 | Giesecke & Devrient Gmbh | Verfahren und Vorrichtung zur nebenläufigen Ausführung von Prozessen |
JP4861423B2 (ja) * | 2006-09-20 | 2012-01-25 | 富士通株式会社 | 情報処理装置および情報管理方法 |
JP4680876B2 (ja) * | 2006-12-11 | 2011-05-11 | ルネサスエレクトロニクス株式会社 | 情報処理装置及び命令フェッチ制御方法 |
EP1936527A1 (fr) * | 2006-12-18 | 2008-06-25 | Gemplus | Procédé permettant de faire varier le nombre d'exécution de contre-mesures dans un code exécuté |
EP2000936A1 (en) * | 2007-05-29 | 2008-12-10 | Gemplus | Electronic token comprising several microprocessors and method of managing command execution on several microprocessors |
JP2011090592A (ja) * | 2009-10-26 | 2011-05-06 | Sony Corp | 情報処理装置とその命令デコーダ |
CN102970131A (zh) * | 2011-08-31 | 2013-03-13 | 北京中电华大电子设计有限责任公司 | 一种防止对分组算法进行功耗攻击的电路结构 |
CN104090740A (zh) * | 2014-05-27 | 2014-10-08 | 安徽师范大学 | 微控制器指令集的执行方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4077061A (en) * | 1977-03-25 | 1978-02-28 | Westinghouse Electric Corporation | Digital processing and calculating AC electric energy metering system |
JPH0623954B2 (ja) * | 1985-03-29 | 1994-03-30 | 富士通株式会社 | 情報処理装置の性能調整方式 |
US5761466A (en) * | 1994-05-09 | 1998-06-02 | Lsi Logic Corporation | Soft programmable single-cycle/pipelined micro-programmed control system |
FR2745924B1 (fr) * | 1996-03-07 | 1998-12-11 | Bull Cp8 | Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre |
DE19834076A1 (de) * | 1998-07-29 | 2000-02-10 | Philips Corp Intellectual Pty | Anordnung zur elektronischen Verarbeitung von Datensignalen |
US6470291B1 (en) * | 1998-09-25 | 2002-10-22 | Seagate Removable Storage Solutions Llc | Velocity feedback measurement method |
JP2001094550A (ja) * | 1999-09-17 | 2001-04-06 | Toshiba Corp | 信号処理装置 |
-
2000
- 2000-04-06 FR FR0004426A patent/FR2807591B1/fr not_active Expired - Fee Related
-
2001
- 2001-03-16 DE DE60103520T patent/DE60103520T2/de not_active Expired - Lifetime
- 2001-03-16 ES ES01917164T patent/ES2222353T3/es not_active Expired - Lifetime
- 2001-03-16 JP JP2001574580A patent/JP2004510213A/ja active Pending
- 2001-03-16 AU AU2001244258A patent/AU2001244258A1/en not_active Abandoned
- 2001-03-16 US US10/240,542 patent/US7376844B2/en not_active Expired - Lifetime
- 2001-03-16 MX MXPA02009748A patent/MXPA02009748A/es active IP Right Grant
- 2001-03-16 CN CN01807527A patent/CN1426547A/zh active Pending
- 2001-03-16 EP EP01917164A patent/EP1269290B1/fr not_active Expired - Lifetime
- 2001-03-16 WO PCT/FR2001/000794 patent/WO2001077791A1/fr active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
MXPA02009748A (es) | 2003-03-27 |
FR2807591B1 (fr) | 2003-08-08 |
DE60103520T2 (de) | 2005-06-16 |
FR2807591A1 (fr) | 2001-10-12 |
US20030115478A1 (en) | 2003-06-19 |
EP1269290B1 (fr) | 2004-05-26 |
EP1269290A1 (fr) | 2003-01-02 |
CN1426547A (zh) | 2003-06-25 |
AU2001244258A1 (en) | 2001-10-23 |
WO2001077791A1 (fr) | 2001-10-18 |
DE60103520D1 (de) | 2004-07-01 |
ES2222353T3 (es) | 2005-02-01 |
US7376844B2 (en) | 2008-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Moore et al. | Improving smart card security using self-timed circuits | |
US8341475B2 (en) | Microprocessor comprising signature means for detecting an attack by error injection | |
JP2004510213A (ja) | パイプライン・アーキテクチャ準拠マイクロコントローラのための機密保護対策方法 | |
JP2006227777A (ja) | データ処理装置 | |
US6965977B2 (en) | Tamper-resistant method and data processing system using the same | |
KR20070009718A (ko) | 소비전력해석 방지기능이 있는 반도체 장치 | |
CN113673002A (zh) | 一种基于指针加密机制和risc-v协处理器的内存溢出防御方法 | |
JP2007251783A (ja) | 半導体装置の被処理データのスクランブル/デスクランブル方法、そのプログラム、スクランブル/デスクランブル回路、及びそれらを備える半導体装置 | |
US8347110B2 (en) | Protecting a program interpreted by a virtual machine | |
Patel et al. | Shield: A software hardware design methodology for security and reliability of mpsocs | |
EP1728152B1 (en) | Pipeline circuit | |
KR102219029B1 (ko) | 보호되지 않는 하드웨어 레지스터로의 비밀 데이터의 안전한 로딩 | |
US8127120B2 (en) | Secured processing unit | |
US10614217B2 (en) | Scrambling of the operation of an integrated circuit | |
JP2009015651A (ja) | 情報記憶媒体 | |
JP2011232801A (ja) | 情報処理装置及びicカード | |
US20220245244A1 (en) | Secure peripheral component access | |
WO2002027474A1 (en) | Executing a combined instruction | |
JP2009515449A (ja) | 組み込みシステム上での暗号アルゴリズム実行中にデータを安全に処理するための方法 | |
JP2004023351A (ja) | マイクロコンピュータのプログラム保護方法 | |
Usharani et al. | Design of Logically Obfuscated Memory and Arithmetic Logic Unit for Improved Hardware Security. | |
CN114266082A (zh) | 防御控制流攻击的装置、方法、处理器、设备及存储介质 | |
CN117131549A (zh) | 一种芯片加密方法及加密芯片 | |
CN2669241Y (zh) | 可重构密码协处理器的控制电路 | |
JP2004129033A (ja) | データプロセッサ及びicカード |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060509 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060808 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060828 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061107 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070903 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071002 |
|
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: 20080107 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080204 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080229 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20100708 |