JP2002528784A - Electronic component and method for shielding instruction execution or data processing - Google Patents

Electronic component and method for shielding instruction execution or data processing

Info

Publication number
JP2002528784A
JP2002528784A JP2000577544A JP2000577544A JP2002528784A JP 2002528784 A JP2002528784 A JP 2002528784A JP 2000577544 A JP2000577544 A JP 2000577544A JP 2000577544 A JP2000577544 A JP 2000577544A JP 2002528784 A JP2002528784 A JP 2002528784A
Authority
JP
Japan
Prior art keywords
subprogram
electronic component
execution
counter
random number
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
Application number
JP2000577544A
Other languages
Japanese (ja)
Inventor
アンギタ,フィリップ
ナカシュ,ダビド
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.)
Gemplus SA
Original Assignee
Gemplus SA
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 Gemplus SA filed Critical Gemplus SA
Publication of JP2002528784A publication Critical patent/JP2002528784A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/75Protecting 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/755Protecting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2123Dummy operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】 本発明は、メインプログラム実行のためのマイクロプロセッサ(1)と記憶手段(2,3)とからなる電子構成部品(CI)に関するものである。乱数(R)カウンタ(4)は、カウント終了信号(ITO)を出力に発生させて、サブプログラム実行の間メインプログラムの実行をサスペンドする。本発明は、チップカードに適用できる。 (57) [Summary] The present invention relates to an electronic component (CI) including a microprocessor (1) for executing a main program and storage means (2, 3). The random number (R) counter (4) generates a count end signal (ITO) at its output to suspend execution of the main program during execution of the subprogram. The present invention can be applied to a chip card.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】 本発明は、命令実行またはデータ処理を遮蔽する電子構成部品およびその方法
に関するものである。
The present invention relates to electronic components and methods for shielding instruction execution or data processing.

【0002】 本発明は、より具体的には、サービスまたはデータへのアクセスが厳しく管理
されているアプリケーションに使用される電子構成部品に関するものである。か
かる構成部品は、マイクロプロセッサとメモリを中心に形成されるアーキテクチ
ャを有する。該構成部品は、構成部品内に含まれる、外部からアクセスできない
秘密データを使用するアルゴリズムを用いる。そうすれば、秘密データは、購買
などの電子取引を有効にするのに役立ち、このデータは、如何なるときにも構成
部品の外部からアクセスされることがなくなる。
[0002] The invention relates more specifically to electronic components used in applications where access to services or data is tightly controlled. Such components have an architecture formed around a microprocessor and memory. The component uses an algorithm that uses secret data that is included in the component and that cannot be accessed from the outside. The confidential data then helps validate electronic transactions such as purchases, and the data is not accessed from outside the component at any time.

【0003】 しかしながら、外部システムと交換されるデータ、または構成部品の電源端子
の消費電力などの幾つかの外部パラメータを観察することによって、場合によっ
ては、統計処理を用いて、構成部品に関する情報を見つけることができる。特に
、データバス、一般的にはシリアルバスを流れる情報を時間に応じて観察すると
、これらの情報と構成部品内で用いられるアルゴリズムの進行との間で相関を得
ることができる。
However, by observing some external parameters, such as data exchanged with external systems or power consumption of the power terminals of the components, information about the components may be obtained using statistical processing in some cases. Can be found. In particular, by observing the information flowing over the data bus, typically the serial bus, over time, a correlation can be obtained between this information and the progress of the algorithms used in the components.

【0004】 さらに、これらの情報を、時間に応じた電力消費の観察で、相関を持たせるこ
ともできる。その場合、命令内で処理されたビット値を演繹することが可能にな
る。というのも、ある瞬間の、個別の命令の消費電力は、処理されるビット値「
0」または「1」によって変動するからである。
[0004] Furthermore, such information can be correlated by observing power consumption according to time. In that case, it is possible to deduce the bit value processed in the instruction. Because, at a given moment, the power consumption of an individual instruction is determined by the bit value "
This is because it varies depending on “0” or “1”.

【0005】 本発明は、電子構成部品の外部パラメータの観察を無効にするために、構成部
品内の命令実行またはデータ処理を遮蔽することを目的とする。
It is an object of the present invention to block instruction execution or data processing within a component in order to invalidate the observation of external parameters of the electronic component.

【0006】 本発明によれば、電子構成部品により実行されるメインプログラムの実行をラ
ンダムに中断して、サブプログラムを実行する。このようにすると、プログラム
の進行が常に変化する。外部から見た場合に統計処理がもはや不可能になり、と
いうのも、得られた曲線は全て、時間的にランダムにシフトされているからであ
る。交換データの観察を例に取ると、任意の外部コマンドに対するカードの応答
時間は常に変化するので、もはや、そこからなんらかの適切な情報を演繹するこ
とができなくなる。
According to the present invention, execution of a main program executed by an electronic component is interrupted at random, and a subprogram is executed. In this way, the progress of the program changes constantly. Statistical processing is no longer possible when viewed from the outside, since all the curves obtained are randomly shifted in time. Taking the observation of exchange data as an example, the response time of the card to any external command changes constantly so that it is no longer possible to deduce any suitable information therefrom.

【0007】 消費電力の観察に関して、時間の関数でのこの消費電力は、それ自体切断され
、正規の消費曲線に対して拡散されるので、そこからなんらかの適切な情報を得
ることができなくなる。
[0007] With respect to the observation of power consumption, this power consumption as a function of time is itself cut off and diffused against the normal consumption curve, so that no suitable information can be obtained therefrom.

【0008】 したがって、本発明は、特徴として表されるように、メインプログラムを実行
するための少なくとも一つのマイクロプロセッサと記憶手段とを備えた電子構成
部品に関するものである。
Accordingly, the present invention relates to an electronic component comprising at least one microprocessor for executing a main program and storage means, as characterized.

【0009】 本発明によれば、構成部品は、さらに、情報を出力に発生させる乱数カウンタ
も備えており、サブプログラムの実行の間、前記プログラムの実行をサスペンド
させる。
According to the present invention, the component further includes a random number counter that generates information at an output, and suspends execution of the subprogram during execution of the subprogram.

【0010】 本発明の一つ目の実施態様では、このサブプログラム実行時間は一定である。
本発明の別の実施態様では、この実行時間は可変である。さらにはランダムとす
ることもできる。
In the first embodiment of the present invention, the subprogram execution time is constant.
In another embodiment of the invention, the execution time is variable. Furthermore, it can be random.

【0011】 一つの改良において、このサブプログラムは、電力消費手段を作動させ、それ
によって構成部品の消費電力曲線を狂わせて、実行される演算と処理されるデー
タを、更に効果的に遮蔽する。
In one refinement, this subprogram activates the power consuming means, thereby disrupting the power consumption curves of the components, and more effectively shielding the operations performed and the data being processed.

【0012】 本発明は、さらに、電子構成部品内の命令実行またはデータ処理を遮蔽する方
法にも関するものである。
The present invention further relates to a method of blocking instruction execution or data processing in an electronic component.

【0013】 本発明のその他の特徴と利点は、付属の図面を参照するとともに、明示的かつ
非制限的な下記の記述において明らかとなる。 −図1は、本発明による電子構成部品のブロック図である。 −図2は、本発明の変型による電子構成部品のブロック図の変型である。
[0013] Other features and advantages of the present invention will become apparent in the following explicit and non-limiting description, taken in conjunction with the accompanying drawings. FIG. 1 is a block diagram of an electronic component according to the invention. FIG. 2 is a block diagram variant of an electronic component according to a variant of the invention.

【0014】 図1は、本発明による電子構成部品CIの簡略ブロック図である。該構成部品
は、マイクロプロセッサ1と、データバス6に接続された内部資源とを有する。
内部資源は、特に、メモリ、実施例ではプログラムメモリ2と作業メモリ3とカ
ウンタ4と乱数R発生器5とを有する。
FIG. 1 is a simplified block diagram of an electronic component CI according to the present invention. The components have a microprocessor 1 and internal resources connected to a data bus 6.
The internal resources include, in particular, a memory, in this embodiment a program memory 2, a working memory 3, a counter 4, and a random number R generator 5.

【0015】 電子構成部品CIは、様々な外部接続端子を有している。実施例において、そ
れはデータシリアル入出力構成部品であり、従ってデータ入出力のI/O端子を
備えている。さらに、構成部品はアース端子VSS、電源端子VCCと制御信号に関
する端子(非表示)とを備えている。
The electronic component CI has various external connection terminals. In an embodiment, it is a data serial input / output component and thus has data input / output I / O terminals. Further, the components include a ground terminal VSS, a power supply terminal VCC, and a terminal related to a control signal (not shown).

【0016】 マイクロプロセッサは、シリアル入出力ポート8で命令とデータとを受け、該
ポートは、外部システムに関するデータの入出力端子に接続されている。
The microprocessor receives instructions and data at a serial input / output port 8, which is connected to an input / output terminal for data relating to an external system.

【0017】 マイクロプロセッサは、様々な内部資源を制御するために様々な制御信号を内
部で発生させる。
The microprocessor internally generates various control signals to control various internal resources.

【0018】 これらの制御信号の中で、カウンタ4の確定信号EN、カウンタ初期化信号L
OAD、および乱数発生器5の起動信号SELとを示した。
Among these control signals, the decision signal EN of the counter 4 and the counter initialization signal L
OAD and the start signal SEL of the random number generator 5 are shown.

【0019】 確定されたとき(EN起動)、カウンタはカウント終了信号ITOを発生する
。このカウント終了情報信号は、マイクロプロセッサ割り込み信号として用いら
れる。このように、マイクロプロセッサの割り込みポート7の入力に接続される
。ここで、カウント終了という表現は、カウンタが所定の値までカウントし終わ
ったこと同様に、カウンタが所定の値からゼロまでデクリメントし終わったこと
を意味する一般的表現である。
When determined (EN activation), the counter generates a count end signal ITO. This count end information signal is used as a microprocessor interrupt signal. Thus, it is connected to the input of the interrupt port 7 of the microprocessor. Here, the expression “count end” is a general expression meaning that the counter has finished decrementing from the predetermined value to zero, similarly to the fact that the counter has finished counting to the predetermined value.

【0020】 なお、とくに図示した実施例において、カウンタは物理的資源である。Note that in the illustrated embodiment, the counter is a physical resource.

【0021】 マイクロプロセッサ1は、外部システムと接続しているシリアル入出力ポート
8から受信したデータまたは命令に対して、プログラムメモリ内に含まれるメイ
ンプログラムを実行する。
The microprocessor 1 executes a main program included in a program memory for data or an instruction received from a serial input / output port 8 connected to an external system.

【0022】 本発明によれば、メインプログラムの実行は、ランダムな時期に、プログラム
メモリ内に含まれるサブプログラムの実行の間だけ、サスペンドされる。
According to the invention, the execution of the main program is suspended at random times only during the execution of the sub-programs contained in the program memory.

【0023】 このため、メインプログラムの最初に、新しい乱数によるカウンタの初期化ル
ーチンが備えられる。実際には、このルーチンは、カウンタを無効にし(EN起
動せず)、乱数発生器5内の乱数Rを抽出し、この乱数をカウンタ内にロードし
(LOAD)、続いてカウンタを起動させる(EN起動)命令を有している。
For this purpose, a counter initialization routine using a new random number is provided at the beginning of the main program. In practice, this routine invalidates the counter (does not activate EN), extracts the random number R in the random number generator 5, loads the random number into the counter (LOAD), and subsequently activates the counter (LOAD). EN activation) instruction.

【0024】 カウンタがゼロまでデクリメントされたとき、カウント終了情報信号ITOを
起動させ、それによってマイクロプロセッサに割り込みが引き起こされる。メイ
ンプログラムの実行は、対象となる割り込み制御ルーチンに対応するサブプログ
ラム実行(マイクロプロセッサによる)の間、サスペンドされる。
When the counter is decremented to zero, it activates an end-of-count information signal ITO, which causes an interrupt to the microprocessor. Execution of the main program is suspended during execution of the subprogram (by the microprocessor) corresponding to the target interrupt control routine.

【0025】 サブプログラムは、新たな割り込みが行われるように、新しい乱数でのカウン
タ初期化の、既に見たシーケンスを少なくとも備えている。
The subprogram comprises at least the already seen sequence of counter initialization with a new random number, so that a new interrupt takes place.

【0026】 このサブプログラムは、一定数の命令に対応することができ、その場合には、
一定時間で実行される。例えば、サブプログラムが、発生器5での新しい乱数R
の抽出と、この新乱Rでのカウンタ4へのロード(初期化)とに対応する命令だ
けを含んでいるとき、サブプログラムは一定時間で実行できる。
This subprogram can correspond to a certain number of instructions, in which case
It is executed in a fixed time. For example, if the subprogram has a new random number R in generator 5
, And includes only instructions corresponding to the loading (initialization) of the counter 4 in the new disturbance R, the subprogram can be executed in a fixed time.

【0027】 この場合、メインプログラムの実行に加えて、ランダムな時期に一定時間で実
行される終端コード(サブプログラムに対応する)がある。
In this case, in addition to the execution of the main program, there is a termination code (corresponding to a subprogram) that is executed for a fixed time at a random time.

【0028】 本発明の変型では、サブプログラムの実行時間は可変とする。In a variant of the invention, the execution time of the subprogram is variable.

【0029】 第一の実施例において、サブプログラムは、バイナリデータについてのテスト
を備え、該テストはプログラムの実行ごとに変更され、次に実行される命令数は
テスト結果に左右される。さらに可変実行時間を数学関数に従属させるようにす
ることもできる。例えば、この数学関数が、結果に到達するまでに数サイクルの
計算を必要とする場合、このサイクル数は入力データの関数になるので、数学関
数に依存した可変実行時間が得られることになる。これらの可変時間を得る為の
技術は全て周知である。
In the first embodiment, the subprogram includes a test for binary data, and the test is changed every time the program is executed, and the number of instructions executed next depends on the test result. Furthermore, the variable execution time can be made dependent on the mathematical function. For example, if the mathematical function requires several cycles of calculation to reach the result, the number of cycles will be a function of the input data, resulting in a variable execution time depending on the mathematical function. Techniques for obtaining these variable times are all well known.

【0030】 他の実施例では、この可変実行時間をランダムとする。この実施例の場合、サ
ブプログラムは、カウンタを非動作化し、新しい乱数を抽出し、デクリメント・
ループ内でこの値がゼロになるまでデクリメントし、続いて新しい乱数でカウン
タを初期化することを含んでいる。
In another embodiment, the variable execution time is random. In this embodiment, the subprogram deactivates the counter, extracts a new random number, decrements
This involves decrementing this value to zero in a loop and then initializing the counter with a new random number.

【0031】 この変型では、メインプログラムの実行内に、ランダムな時期にランダムな時
間で実行される終端コードが導入される。
In this modification, a termination code that is executed at random time and at random time is introduced into the execution of the main program.

【0032】 実際には、本発明の多数の変型が可能である。In practice, many variations of the invention are possible.

【0033】 特に、メインプログラムの実行時間を大幅に低下させないために、一つまたは
複数のサブプログラム実行による総遅延時間を時間的に制限することができる。
In particular, in order not to significantly reduce the execution time of the main program, the total delay time due to execution of one or a plurality of subprograms can be temporally limited.

【0034】 本発明の別の実施態様によれば、ランダムな時期にメインプログラムの実行を
サスペンドするだけでなく、メインプログラムの実行による消費電力を曖昧にす
る、追加の消費電力も備えることができる。
According to another embodiment of the present invention, not only can the execution of the main program be suspended at random times, but also additional power consumption can be provided that obscure the power consumption due to the execution of the main program. .

【0035】 この追加の消費電力は、瞬間的に、サブプログラム内に備えた命令によるもの
とすることができる。例えば、このサブプログラム内で、例えば暗号化アルゴリ
ズムのようなアルゴリズムの数サイクルの計算を実行することができる。
This additional power consumption may be momentarily due to instructions provided in the subprogram. For example, within this subprogram, calculations of several cycles of an algorithm, for example an encryption algorithm, can be performed.

【0036】 この実行は、瞬間的な消費電力、すなわち命令実行時間に対応し、メインプロ
グラムの実行時間に応じた正規の消費電力に挿入されてメインプログラム正規消
費を曖昧にする。
This execution corresponds to the instantaneous power consumption, that is, the instruction execution time, and is inserted into the regular power consumption corresponding to the execution time of the main program to obscure the regular consumption of the main program.

【0037】 また、この追加の消費電力が、一定時間、持続的効果を持つようにすることも
できる。このとき、サブプログラムは電力消費手段を起動させ、該電力消費手段
は、サブプログラムとメインプログラムの次の命令実行の間に、少なくともある
時間電力を消費する。
This additional power consumption can also have a lasting effect for a certain period of time. At this time, the subprogram activates the power consuming unit, and the power consuming unit consumes power for at least a certain time between execution of the next instruction of the subprogram and the main program.

【0038】 本発明のこの第二の実施態様に対応する電子構成部品のブロック図を図2に示
した。
A block diagram of an electronic component corresponding to this second embodiment of the present invention is shown in FIG.

【0039】 図1に同じ参照番号を付けた記述要素の他に、電子構成部品は電荷ポンプ9を
有している。
In addition to the descriptive elements with the same reference numbers in FIG. 1, the electronic component has a charge pump 9.

【0040】 この電荷ポンプは、プログラミング及び/又は消去するための高電圧VPPを
電源電圧VCCから供給し、電気的にプログラミング/消去可能な不揮発性メモ
リ内のデータを、プログラムミング及び/又は消去可能にするために通常備えら
れており、メモリの例として、一般的にEPROM、EEPROMまたさらにフ
ラッシュEPROMが挙げられる。本発明において、この電荷ポンプはプログラ
ムメモリに組み合わされている。
The charge pump supplies a high voltage VPP for programming and / or erasing from a power supply voltage VCC and can program and / or erase data in an electrically programmable / erasable nonvolatile memory. A typical example of the memory is an EPROM, an EEPROM, or even a flash EPROM. In the present invention, this charge pump is combined with a program memory.

【0041】 実施例において、該ポンプは、プログラムメモリの書き込み信号WEによって
起動される。
In an embodiment, the pump is activated by a write signal WE of the program memory.

【0042】 かかるポンプは、既知の特性として、高電圧出力の確立時間とプログラミング
または消去の時間の間に大量の電力を消費し、その時間はおよそ数ミリ秒になる
ことがある。かかるポンプを起動することで、例えばサブプログラム内にプログ
ラミング命令を備えることで、大きな電力消費が課せられ、サブプログラムとメ
インプログラムの次の命令の消費が遮蔽される。
As a known property, such pumps consume a large amount of power between the time of establishing the high voltage output and the time of programming or erasing, which can be on the order of milliseconds. Activating such a pump imposes a large power consumption, for example by providing a programming instruction in the sub-program, and shields the consumption of the next instruction of the sub-program and the main program.

【0043】 本発明は、上述の実施態様または変型に限定されない。本発明は、一定、可変
またはランダムとなり得る時間のランダムな時期に、メインプログラムをサスペ
ンドするための一切の手段の使用をを包含し、追加の電力消費を付加するための
手段の使用の有無は問わない。
The present invention is not limited to the above embodiments or variations. The invention encompasses the use of any means for suspending the main program at random times of the time which can be constant, variable or random, with or without the use of means for adding additional power consumption. It doesn't matter.

【0044】 本発明の変型のいずれか、又はそれらの組合せを用いたかかる遮蔽または電波
妨害によって、一切の統計処理は不可能になる。
Such blocking or jamming with any of the variants of the invention, or a combination thereof, makes any statistical processing impossible.

【0045】 実際には、ある特定のサブプログラムの選択は、電子構成部品のアプリケーシ
ョンに依存する。
In practice, the choice of a particular subprogram depends on the application of the electronic component.

【0046】 本発明は、少なくとも一つのカウンタと乱数発生器を備えた全ての構成部品に
適用される。所与の電子構成部品について、ある特定のサブプログラムの選択は
、対象とする構成部品の資源、対象とするアプリケーションとの効率に依存する
The invention applies to all components having at least one counter and a random number generator. For a given electronic component, the choice of a particular subprogram depends on the resources of the component of interest, the efficiency with the application of interest.

【0047】 さらに、様々なサブプログラムの使用も可能であり、それによって、電波妨害
向上のために種類の混合が可能となり、この場合に実行するサブプログラムの選
択は、割り込みルーチンの最初に行われる。
In addition, the use of various subprograms is also possible, which allows a mixture of types to improve radio interference, in which case the selection of the subprogram to be executed is made at the beginning of the interrupt routine. .

【0048】 かかる構成部品は、特にチップカードに使用することができ、カードの不可侵
性を向上させることができる。
Such a component can be used particularly for a chip card, and can improve the inviolability of the card.

【手続補正書】特許協力条約第34条補正の翻訳文提出書[Procedural Amendment] Submission of translation of Article 34 Amendment of the Patent Cooperation Treaty

【提出日】平成12年10月19日(2000.10.19)[Submission date] October 19, 2000 (2000.10.19)

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】特許請求の範囲[Correction target item name] Claims

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【特許請求の範囲】[Claims]

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B017 AA03 BB00 CA13 5B076 FD04 ──────────────────────────────────────────────────続 き Continued on the front page F term (reference) 5B017 AA03 BB00 CA13 5B076 FD04

Claims (15)

【特許請求の範囲】[Claims] 【請求項1】メインプログラムを実行するための少なくとも一つのマイクロ
プロセッサ(1)と記憶手段(2,3)とを備えた電子構成部品であって、電子
構成部品はさらにマイクロプロセッサによるサブプログラム実行の間、前記メイ
ンプログラム実行をサスペンドするための、カウント終了情報信号(ITO)を
出力に発生する乱数(R)カウンタ(4)も備えていることを特徴とする電子構
成部品。
An electronic component comprising at least one microprocessor (1) for executing a main program and storage means (2, 3), wherein the electronic component further executes a subprogram by the microprocessor. And a random number (R) counter (4) for generating a count end information signal (ITO) at the output for suspending the execution of the main program.
【請求項2】サブプログラム実行時間が一定であることを特徴とする、請求
項1に記載の電子構成部品。
2. The electronic component according to claim 1, wherein the subprogram execution time is constant.
【請求項3】サブプログラム実行時間が可変であることを特徴とする、請求
項1に記載の電子構成部品。
3. The electronic component according to claim 1, wherein the subprogram execution time is variable.
【請求項4】サブプログラム実行時間がランダムであることを特徴とする、
請求項3に記載の電子構成部品。
4. The subprogram execution time is random.
An electronic component according to claim 3.
【請求項5】サブプログラムによって起動される電力消費手段をさらに有す
ることを特徴とする、請求項1から4のいずれか一つに記載の電子構成部品。
5. The electronic component according to claim 1, further comprising a power consuming unit activated by a subprogram.
【請求項6】これらの電力消費手段が、電荷ポンプ(9)を有することを特
徴とする、請求項5に記載の電子構成部品。
6. Electronic component according to claim 5, characterized in that these power consuming means comprise a charge pump (9).
【請求項7】これらの手段が、瞬間的消費を引き起こす命令を含むことを特
徴とする、請求項5または6に記載の電子構成部品。
7. Electronic component according to claim 5, characterized in that these means comprise instructions which cause a momentary consumption.
【請求項8】メインプログラムを実行するための少なくとも一つのマイクロ
プロセッサ(1)と記憶手段(2,3)とを備えた電子構成部品(CI)内で、
演算実行またはデータ処理を遮蔽する方法であって、この方法は、乱数(R)発
生器(5)とカウンタ(4)を用いることから成り、ランダムな時期に、サブプ
ログラム実行の間だけ、メインプログラムの実行をサスペンドすることを特徴と
する方法。
8. An electronic component (CI) comprising at least one microprocessor (1) for executing a main program and storage means (2, 3),
A method of blocking arithmetic execution or data processing, which comprises using a random number (R) generator (5) and a counter (4), at random times, during main program execution only during subprogram execution. A method comprising suspending execution of a program.
【請求項9】サブプログラムが、カウンタ(4)を無効にし、新しい乱数(
R)を抽出し、この新しい乱数でカウンタ(4)を初期化し、デクリメントを許
可してからメインプログラムの実行に戻ることを特徴とする、請求項8に記載の
方法。
9. A subprogram invalidates a counter (4) and outputs a new random number (4).
Method according to claim 8, characterized in that R) is extracted, the counter (4) is initialized with this new random number, decrementing is allowed and then execution returns to the main program.
【請求項10】サブプログラムが、ランダムな時間で実行できることを特徴
とする、請求項8に記載の方法。
10. The method of claim 8, wherein the subprogram can execute at random times.
【請求項11】サブプログラムは、カウンタ(4)を無効にし、新しい乱数
(R)を抽出し、サブプログラムのループ内でこの新しい乱数をゼロになるまで
デクリメントし、続いて新しい乱数(R)を抽出し、この新しい乱数でカウンタ
を初期化し、カウンタを起動してからメインプログラムの実行に戻ることから成
ることを特徴とする、請求項10に記載の方法。
11. The subprogram invalidates the counter (4), extracts a new random number (R), decrements this new random number in the loop of the subprogram until it becomes zero, followed by a new random number (R). The method according to claim 10, comprising extracting the counter value, initializing the counter with the new random number, starting the counter and returning to the execution of the main program.
【請求項12】サブプログラムが、さらに電力消費手段を起動することを特
徴とする、請求項8から11のいずれか一つに記載の方法。
12. The method according to claim 8, wherein the sub-program further activates the power consuming means.
【請求項13】前記電力消費手段が、電荷ポンプ(9)を有することを特徴
とする、請求項12に記載の方法。
13. The method according to claim 12, wherein said power consuming means comprises a charge pump (9).
【請求項14】これらの手段が、瞬間的電力消費を引き起こす命令を含んで
いることを特徴とする、請求項12または13に記載の方法。
14. The method according to claim 12, wherein these means include instructions for causing instantaneous power consumption.
【請求項15】様々なサブプログラムを有することを特徴とする、請求項8
から14のいずれか一つに記載の方法。
15. The apparatus according to claim 8, wherein said apparatus has various subprograms.
15. The method according to any one of claims 1 to 14.
JP2000577544A 1998-10-16 1999-10-15 Electronic component and method for shielding instruction execution or data processing Pending JP2002528784A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9812988A FR2784763B1 (en) 1998-10-16 1998-10-16 ELECTRONIC COMPONENT AND METHOD FOR MASKING THE EXECUTION OF INSTRUCTIONS OR THE HANDLING OF DATA
FR98/12988 1998-10-16
PCT/FR1999/002521 WO2000023866A1 (en) 1998-10-16 1999-10-15 Electronic component for masking execution of instructions or data manipulation

Publications (1)

Publication Number Publication Date
JP2002528784A true JP2002528784A (en) 2002-09-03

Family

ID=9531646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000577544A Pending JP2002528784A (en) 1998-10-16 1999-10-15 Electronic component and method for shielding instruction execution or data processing

Country Status (6)

Country Link
EP (1) EP1121629A1 (en)
JP (1) JP2002528784A (en)
CN (1) CN1332860A (en)
AU (1) AU6207799A (en)
FR (1) FR2784763B1 (en)
WO (1) WO2000023866A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001118042A (en) * 1999-10-19 2001-04-27 Hitachi Ltd Card monitoring method
FR2818766A1 (en) * 2000-12-21 2002-06-28 Bull Cp8 METHOD FOR SECURING THE EXECUTION OF AN IMPLANTED PROGRAM IN AN ELECTRONIC MODULE WITH MICROPROCESSOR, AS WELL AS THE ELECTRONIC MODULE AND THE MICROCIRCUIT CARD THEREOF
JP4173297B2 (en) * 2001-09-13 2008-10-29 株式会社ルネサステクノロジ Memory card
EP1293856A1 (en) 2001-09-18 2003-03-19 EM Microelectronic-Marin SA Secure integrated circuit having confidential parts and a method for activating the circuit
GB0221240D0 (en) * 2002-09-13 2002-10-23 Koninkl Philips Electronics Nv Current source for cryptographic processor
FR2857804B1 (en) * 2003-07-17 2006-05-26 Atmel Corp METHOD AND APPARATUS FOR SMOOTHING POWER CONSUMPTION IN AN INTEGRATED CIRCUIT
WO2005010939A2 (en) * 2003-07-17 2005-02-03 Atmel Corporation Method and apparatus for smoothing current consumption in an integrated circuit
FR2924262B1 (en) * 2007-11-26 2009-12-11 Sagem Securite METHOD OF MASKING A PASSAGE AT THE END OF LIFE OF AN ELECTRONIC DEVICE AND DEVICE COMPRISING A CORRESPONDING CONTROL MODULE
WO2009074927A1 (en) 2007-12-13 2009-06-18 Nxp B.V. Electronic circuit and method of masking current requirements of an electronic circuit
FR2973150B1 (en) * 2011-03-21 2013-04-26 Morpho METHOD OF MASKING A PASSAGE AT THE END OF LIFE OF AN ELECTRONIC DEVICE AND DEVICE COMPRISING A CORRESPONDING CONTROL MODULE

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2638869B1 (en) * 1988-11-10 1990-12-21 Sgs Thomson Microelectronics SECURITY DEVICE AGAINST UNAUTHORIZED DETECTION OF PROTECTED DATA
CA2037857C (en) * 1990-03-20 2001-01-16 Roy Allen Griffin, Iii Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event
FR2745924B1 (en) * 1996-03-07 1998-12-11 Bull Cp8 IMPROVED INTEGRATED CIRCUIT AND METHOD FOR USING SUCH AN INTEGRATED CIRCUIT

Also Published As

Publication number Publication date
FR2784763A1 (en) 2000-04-21
CN1332860A (en) 2002-01-23
WO2000023866A1 (en) 2000-04-27
FR2784763B1 (en) 2001-10-19
EP1121629A1 (en) 2001-08-08
AU6207799A (en) 2000-05-08

Similar Documents

Publication Publication Date Title
EP0614550B1 (en) Self-programming microcontroller with stored instruction to command program from external memory and method
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
EP0964370B1 (en) Method and device for loading instruction codes to a memory and linking said instruction codes
EP0746817B1 (en) Microcontroller power-up delay
US8132169B2 (en) System and method for dynamically partitioning an application across multiple processing elements in a heterogeneous processing environment
US4323963A (en) Hardware interpretive mode microprocessor
EP0768602A3 (en) Variable word length VLIW-instruction processor
US5581776A (en) Branch control system for rom-programmed processor
JP2002528784A (en) Electronic component and method for shielding instruction execution or data processing
EP0354998A2 (en) Timer channel for use in a multiple channel timer system
KR20000076310A (en) Eight-bit microcontroller having a risc architecture
EP0612422B1 (en) Microcontroller with fuse-emulating latches and method of testing
US7991953B2 (en) Method of verifying pseudo-code loaded in an embedded system, in particular a smart card
US6490720B1 (en) Sequence numbering mechanism to ensure execution order integrity of inter-dependent smart card applications
JPH01219982A (en) Ic card
US5410721A (en) System and method for incrementing a program counter
KR20030092264A (en) Smart card with enhanced security and method for protecting security information stored therein
KR20100087309A (en) Enhanced microprocessor or microcontroller
US4896264A (en) Microprocess with selective cache memory
US6047351A (en) Jitter free instruction execution
EP1524597A1 (en) Method for managing threads in a memory-constrained system
US20220179800A1 (en) Conditional Direct Memory Access Channel Activation
US4866608A (en) Microprocessor with improved execution of instructions
US11663010B2 (en) System and method for securely debugging across multiple execution contexts
US8010585B2 (en) Checking the integrity of programs or the sequencing of a state machine