JP2002533825A - Intelligent IC - Google Patents

Intelligent IC

Info

Publication number
JP2002533825A
JP2002533825A JP2000591492A JP2000591492A JP2002533825A JP 2002533825 A JP2002533825 A JP 2002533825A JP 2000591492 A JP2000591492 A JP 2000591492A JP 2000591492 A JP2000591492 A JP 2000591492A JP 2002533825 A JP2002533825 A JP 2002533825A
Authority
JP
Japan
Prior art keywords
processor
intelligent
sub
main
program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000591492A
Other languages
Japanese (ja)
Other versions
JP4030719B2 (en
Inventor
グレシユ,イボン
ジーゲリン,クリストフ
ユゴン,ミシエル
Original Assignee
ブル・セー・ペー・8
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 ブル・セー・ペー・8 filed Critical ブル・セー・ペー・8
Publication of JP2002533825A publication Critical patent/JP2002533825A/en
Application granted granted Critical
Publication of JP4030719B2 publication Critical patent/JP4030719B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • 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
    • 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/77Protecting 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 in smart cards
    • 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/81Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer by operating on the power supply, e.g. enabling or disabling power-on, sleep or resume operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3877Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
    • G06F9/3879Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0813Specific details related to card security
    • G07F7/082Features insuring the integrity of the data on or in the card
    • 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

Abstract

(57)【要約】 本発明は、インテリジェントICに関する。このインテリジェントICは、タスクを実施する主プロセスを構成するために、主プログラムP1を実行する主プロセッサ1およびオペレーションシステムと、タスクを実施する少なくとも1つのプロセスを構成するために、少なくとも1つの副プログラムP2を同時に実行可能な少なくとも1つの副プロセッサ2と、プロセッサ間で共通な電源回路6と、連続または間欠的なスクランブルを実施するために、主プロセスの電力の乱れに重ねられる電力の乱れを、連続的または間欠的に電源回路に誘導しながら、同じ電力で動作シグネチャが異なる1つまたは複数の副プロセスが、主プロセスと同時に実施されることを確実にする手段とを含むことを特徴とする。 (57) [Summary] The present invention relates to an intelligent IC. The intelligent IC comprises a main processor 1 and an operating system for executing a main program P1 for configuring a main process for performing a task, and at least one sub-program for configuring at least one process for performing a task. At least one sub-processor 2 capable of simultaneously executing P2, a common power supply circuit 6 between the processors, and a power disturbance superimposed on the power disturbance of the main process in order to perform continuous or intermittent scrambling. Means for ensuring that one or more sub-processes with different operating signatures at the same power are performed simultaneously with the main process, while continuously or intermittently leading to the power supply circuit. .

Description

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

【0001】 マイクロプロセッサ、マイクロコンピュータまたはインテリジェントICが、
メモリに記録されたプログラムの命令を、内部または外部で、マイクロプロセッ
サ、マイクロコンピュータまたはインテリジェントICに供給されるクロック信
号を参照する1つまたは複数のタイミング信号と同期して逐次実行することが既
知である。インテリジェントICとは、そのために特別に開発された限られた数
の命令または機能の実行に特定の有限の回路を含むICを意味する。
[0001] A microprocessor, microcomputer or intelligent IC
It is known to sequentially execute the instructions of a program stored in a memory, internally or externally, in synchronization with one or more timing signals referencing a clock signal supplied to a microprocessor, microcomputer or intelligent IC. is there. By intelligent IC is meant an IC that contains a finite number of circuits specific to the execution of a limited number of instructions or functions specially developed for it.

【0002】 こうしたプログラムの実行の様々な段階を時間毎に追跡することが可能である
ことが分かっている。何故なら、命令の実行が、このプログラムにより予め決め
られたプロセスに従って、一般には、プロセッサに周期的に一定のタイミングを
与えるクロック信号と同期して、逐次実行されるからである。事実、全てのプロ
グラムは、一連の命令によって表され、この一連の命令は、予め分かっている順
序で、逐次実行されなければならない。一連の命令が、所定のプロセスに従って
実行されるので、各命令の最初と終わりは、完全に分かっている。当該所定のプ
ロセスは、高度な解析手段に対して認識可能な「シグネチャ」と呼ばれるものを
持っている。このプロセスのシグネチャは、たとえば、実行される命令または命
令シーケンスが使用する、各種電気回路の消費電力の測定信号から得られること
が知られている。従って、起動しているプログラムは、そのシグネチャが分かっ
ているこうした一連の所定の命令から構成されるので、原則としては、プロセッ
サの処理装置で所定の瞬間に実行される命令シーケンスの性質を知ることが可能
である。
It has been found that the various stages of the execution of such a program can be tracked over time. This is because the execution of instructions is performed sequentially according to a process predetermined by the program, generally in synchronization with a clock signal that periodically gives the processor a fixed timing. In fact, every program is represented by a sequence of instructions, which must be executed sequentially in a known order. Since the sequence of instructions is executed according to a predetermined process, the beginning and end of each instruction is completely known. The predetermined process has what is called a “signature” that can be recognized by advanced analysis means. It is known that the signature of this process is obtained, for example, from the measurement signals of the power consumption of the various electrical circuits used by the executed instruction or instruction sequence. Thus, since the running program is composed of such a series of predetermined instructions whose signatures are known, in principle, knowing the nature of the instruction sequence executed at a predetermined moment in the processing unit of the processor Is possible.

【0003】 このような手段により、実行される特定の命令ならびに、この命令により使用
されるデータがどれなのかを決定することができる。
[0003] By such means, it is possible to determine the specific instruction to be executed and what data is used by this instruction.

【0004】 マイクロプロセッサまたはマイクロコンピュータにおけるプログラムの実行の
詳細を観察できるこうした可能性は、マイクロプロセッサまたはマイクロコンピ
ュータが高度なセキュリティ用途で用いられる場合には、重大な欠点になる。実
際、悪意を持った個人は、かくしてプロセッサの連続的な状態を知り、これらの
情報を利用して内部処理における幾つかの重要な結果を知ることがある。
[0004] The possibility of observing the details of the execution of a program on a microprocessor or microcomputer is a significant drawback when the microprocessor or microcomputer is used for high security applications. In fact, a malicious individual may thus know the continuous state of the processor and use this information to learn some important consequences of internal processing.

【0005】 たとえば、所定の作動が、内部秘密情報の認証の一部、メッセージの解読、あ
るいは幾つかの情報の完全性のチェックなど、所定の保護された操作の結果に応
じて、異なる瞬間に発生するようなことが想像できる。また、考慮された瞬間に
応じて、たとえばプロセッサに作用したり、あるいは物理的な解析により幾つか
のレジスタの値を得たりし、それによって、たとえ使用されている秘密暗号キー
に基づく暗号計算を用いた場合でも、秘密情報の結果または内容に関する情報を
入手可能である。
[0005] For example, a given operation may take place at different moments depending on the result of a given protected operation, such as part of the authentication of internal secret information, decryption of a message, or checking the integrity of some information. I can imagine what happens. Also, depending on the moment considered, for example, acting on the processor or obtaining the values of some registers by physical analysis, it is possible to carry out cryptographic calculations, even based on the secret encryption key used. Even when used, information about the result or content of the confidential information is available.

【0006】 ランダムなクロックパルスを発生する回路を備えることにより、保護されたマ
イクロコンピュータに第1の改良を施す装置が既知である。かくして、すぐに事
象の同期化を実施することができなくなって、事象の発生の予測がしにくくなる
から、解析によって事象を観察することを特に困難にさせる。
[0006] Devices are known that provide a first improvement to a protected microcomputer by providing a circuit for generating random clock pulses. This makes it particularly difficult to observe the event by analysis, because it is not possible to immediately synchronize the event, making it difficult to predict the occurrence of the event.

【0007】 しかしながら、このタイプの解決方法には多くの不都合がある。[0007] However, this type of solution has a number of disadvantages.

【0008】 まず第1に、このような回路の設計は、マイクロコンピュータと同じように複
雑な回路全体でランダムな機能をシミュレートできないために難しくて面倒であ
り、また、製造終了時にこれらの回路のスクランブル化された挙動をテストする
ことは、それ以上に困難である。一連のランダムなクロックパルスは、実際、回
路のテストをシミュレートすることが非常に難しいが、しかし、特に内部バスお
よびレジスタでの信号切り換え中は、プロセッサの論理回路全体の全挙動を制御
することが、さらに難しい。
First, the design of such circuits is difficult and cumbersome, as random functions cannot be simulated over complex circuits as well as microcomputers. It is even more difficult to test the scrambled behavior of A series of random clock pulses is actually very difficult to simulate testing a circuit, but controlling the overall behavior of the entire logic circuit of a processor, especially during signal switching on internal buses and registers. But more difficult.

【0009】 また、ダミーメモリの使用に基づいた新しいアーキテクチャを導入した別の装
置が既知であり、マイクロプロセッサは、外界に対して全く同期しないようにダ
ミーメモリを使用したり、あるいは使用しなかったりする。このようにして、事
象およびシグネチャの観察が、特に難しくされている。
Another device is known that introduces a new architecture based on the use of a dummy memory, and the microprocessor uses or does not use the dummy memory so as not to be completely synchronized with the outside world. I do. In this way, observing events and signatures is particularly difficult.

【0010】 だが、ランダムなクロックまたはダミーメモリの使用は、たとえそれらが有効
な改良を提供するものであっても、マイクロプロセッサの基本的な挙動を変える
ことはない。マイクロプロセッサは、相次いで送られる命令が、異なるプロセス
の一部をなす場合でも、常に逐次的である。従って、不正な命令を「フィルタ処
理」して、適正な命令だけを保存し、それによってマイクロプロセッサから送ら
れる情報を利用することは、理論的に可能であるにとどまる。
However, the use of random clocks or dummy memories does not change the basic behavior of the microprocessor, even if they provide a useful improvement. Microprocessors are always sequential, even if the instructions sent one after another are part of different processes. Thus, it is only theoretically possible to "filter" the illegal instructions and store only the correct instructions, thereby utilizing the information sent from the microprocessor.

【0011】 別の不都合は、ダミーシーケンスにより割り込みされたプログラムの実行内容
をバックアップして元の状態に戻さなければならないが、このようなバックアッ
プに必要なメモリリソースが無視できないものであることにある。
Another disadvantage is that the execution contents of the program interrupted by the dummy sequence must be backed up and returned to the original state, but the memory resources required for such backup cannot be ignored. .

【0012】 本発明の目的の1つは、インテリジェントICに上記のタイプの解析を禁止す
る手段を備え、より一般的には、プロセッサまたは主処理ユニットから送られる
信号のあらゆる解釈を妨げることにある。このタイプのICは、「MUMIC(
Multi Untraceable MICrocomputer)」と称さ
れる。
It is an object of the present invention to provide intelligent ICs with means for inhibiting such types of analysis, and more generally to prevent any interpretation of signals sent from a processor or main processing unit. . This type of IC is called "MUMIC (
Multi Untraceable MICrocomputer).

【0013】 この目的は、インテリジェントICが、タスクを実施する主プロセスを構成す
るために、主プログラムを実行する主プロセッサおよびオペレーションシステム
と、タスクを実施する少なくとも1つのプロセスを構成するために、少なくとも
1つの副プログラムを同時に実行可能な少なくとも1つの副プロセッサと、プロ
セッサ間で共通な電源回路と、連続または間欠的なスクランブルを実施するため
に、主プロセスの電力の乱れに重ねられる電力の乱れを、連続的または間欠的に
電源回路に誘導しながら、同じ電力で動作シグネチャが異なる1つまたは複数の
副プロセスが、主プロセスと同時に実施されることを確実にする手段とを有する
ことにより達せられる。
The object is that the intelligent IC has at least a main processor and an operating system for executing a main program to configure a main process for performing a task, and at least one process for performing a task. At least one sub-processor capable of simultaneously executing one sub-program, a power supply circuit common to the processors, and a power disturbance superimposed on the power disturbance of the main process in order to perform continuous or intermittent scrambling. By means of ensuring that one or more sub-processes with different operating signatures at the same power, while continuously or intermittently leading to the power supply circuit, are performed simultaneously with the main process. .

【0014】 別の特徴によれば、主プロセッサまたは副プロセッサが、それぞれ、保護され
たマイクロプロセッサまたはマイクロコンピュータである。
According to another feature, the main processor or the sub-processor is a protected microprocessor or microcomputer, respectively.

【0015】 別の特徴によれば、これらの手段は、インテリジェントICの主プロセッサ(
1)のオペレーションシステムにより起動され、上記手段により形成される付加
的な安全性が、外部からアクセス不能なICの場所に配置されたオペレーション
システムの主プロセッサによる実行の結果生じる決定だけに依存するようにされ
ている。
According to another feature, these means comprise the main processor of the intelligent IC (
The additional security created by the operating system of 1) and formed by the above means depends only on the decisions resulting from execution by the main processor of the operating system located at the location of the IC which is not accessible from the outside. Has been.

【0016】 別の特徴によれば、外部からアクセス不能で、かつ2つのプロセッサの少なく
とも一方によりアクセス可能な、少なくとも一部にオペレーションシステムを含
む主プロセッサ専用の主メモリと、副プロセッサ専用の副メモリとを有する。
According to another feature, a main memory dedicated to the main processor, at least partially including the operating system, inaccessible from the outside and accessible by at least one of the two processors; And

【0017】 別の特徴によれば、プロセッサ間の少なくとも1つの通信バスと、プロセッサ
用の各メモリと、入出力回路とを有する。
According to another feature, the apparatus has at least one communication bus between the processors, respective memories for the processors, and input / output circuits.

【0018】 別の特徴によれば、インテリジェントICは、1つまたは複数の基板上に分散
された論理回路を用いて構成され、2つのプロセッサの物理的なレイアウトが、
容易に認識される機能ブロックを用いずに、例えば物理的な交互配置による別個
の論理的な構造により構成される。
According to another feature, the intelligent IC is constructed using logic circuits distributed on one or more substrates, wherein the physical layout of the two processors is
Instead of using easily recognizable functional blocks, they are constituted by separate logical structures, for example, by physical interleaving.

【0019】 別の特徴によれば、副プロセッサが、主プロセッサの動作シグネチャを最小化
または無効にする副プロセスのタスクを実行する。
According to another feature, the secondary processor performs a secondary process task that minimizes or disables the operational signature of the primary processor.

【0020】 別の特徴によれば、中間の処理結果が、決してプロセスの途中で現れないよう
に、副プロセッサが、主プロセッサにより実行される主プロセスのタスクと相関
関係にある副プロセスのタスクを実行する。
According to another feature, the secondary processor assigns a task of the secondary process correlated with the task of the primary process executed by the primary processor so that intermediate processing results never appear in the middle of the process. Execute.

【0021】 別の特徴によれば、副プログラムが、主プログラムよりも小さい作業スペース
を使用する。
According to another feature, the sub-program uses a smaller working space than the main program.

【0022】 本発明の第2の目的は、副プロセスが操作している場合だけ、主プロセスが動
作可能であるようにすることにある。
A second object of the present invention is to make the main process operable only when the sub process is operating.

【0023】 この第2の目的は、インテリジェントICが、主プロセッサと副プロセッサと
の間に通信手段を有することによって達せられる。
This second object is achieved by the intelligent IC having communication means between the main processor and the sub-processor.

【0024】 別の特徴によれば、2つのプロセッサ間の通信手段により、主プロセッサは、
副プロセッサが動作しているか否か知ることができる。
According to another feature, by means of communication between the two processors, the main processor comprises:
It is possible to know whether the sub processor is operating.

【0025】 別の特徴によれば、2つのプロセス間の通信手段により、主プロセッサが、副
プロセッサの認証を実施可能である。
According to another feature, the means of communication between the two processes allows the primary processor to perform authentication of the secondary processor.

【0026】 別の特徴によれば、副プロセッサの認証または動作テストが、主プロセッサに
よる処理中に実施される。
According to another feature, authentication or operational testing of the secondary processor is performed during processing by the primary processor.

【0027】 別の特徴によれば、ニ次プロセッサの起動手段が、主プロセッサとその主プロ
グラムか、割り込みシステムか、タイムカウンタか、あるいはこの3つの組み合
わせにより制御される。
According to another feature, the activation means of the secondary processor is controlled by the main processor and its main program, an interrupt system, a time counter or a combination of the three.

【0028】 本発明の第3の目的は、副プロセスが、主プログラムとは全く異なるプログラ
ムを実施するようにしていることにある。
A third object of the present invention is that the sub-process executes a program completely different from the main program.

【0029】 この第3の目的は、主プロセッサにより実行される主プロセスのタスクと相関
関係になく、副プロセスのタスクを実行することにより達成される。
This third object is achieved by executing the task of the sub-process without being correlated with the task of the main process executed by the main processor.

【0030】 別の特徴によれば、副プロセッサが、主プロセッサの動作シグネチャを最小化
または無効にする副プロセスのタスクを実行する。
According to another feature, the secondary processor performs the task of the secondary process that minimizes or disables the operational signature of the primary processor.

【0031】 本発明の第4の目的は、副プログラムが使用するプログラムのシグネチャが、
主プロセッサから送られる結果とは反対の結果を誘導することにある。
A fourth object of the present invention is that the signature of the program used by the sub-program is
It consists in inducing the opposite result to the result sent from the main processor.

【0032】 この第4の目的は、2つのプロセスの組み合わせが、主プロセッサの動作シグ
ネチャを隠す副プロセッサの動作シグネチャを供給するように、副プログラムが
、主プロセスと相関関係にあるプロセスを実施することで達成される。
The fourth object is that the sub-program implements a process that is correlated with the main process so that the combination of the two processes supplies the operation signature of the sub-processor that hides the operation signature of the main processor. Is achieved by

【0033】 別の特徴によれば、、中間の処理結果が、決してプロセスの途中で現れないよ
うに、副プロセッサが、主プロセッサのタスクと相関関係にあるタスクを実行す
る。
According to another feature, the secondary processor performs a task that is correlated with the task of the primary processor so that intermediate processing results never appear in the middle of the process.

【0034】 本発明の第5の目的は、新しい半導体技術を作り出したり、あるいは新しい製
造方法を用いずに、有効と認められた回路を使用することによってオリジナルな
アーキテクチャを実現することにある。
A fifth object of the present invention is to realize an original architecture by using a circuit which has been validated without creating a new semiconductor technology or using a new manufacturing method.

【0035】 この第5の目的は、副プロセッサが、主プロセッサに代替し、また逆に、主プ
ロセッサが、副プロセッサに代替することによって達成される。
The fifth object is achieved by the sub processor replacing the main processor, and conversely, the main processor replacing the sub processor.

【0036】 別の特徴によれば、副プロセッサが、プロセスの同期と、各プログラムを実行
する各プロセッサから送られる2つのデータ値の比較とにより、主プロセッサの
タスクと相関関係にあるタスクを実行する。
According to another feature, the secondary processor performs tasks correlated with the tasks of the primary processor by synchronizing the processes and comparing two data values sent from each processor executing each program. I do.

【0037】 別の特徴によれば、副プロセッサが、主プログラムから副プログラムを論理的
に演繹することにより、主プロセッサのタスクと相関関係にあるタスクを実行す
る。
According to another feature, the secondary processor performs tasks correlated with the tasks of the primary processor by logically deducing the secondary program from the primary program.

【0038】 別の特徴によれば、インテリジェントICが、少なくとも2つのプロセッサを
含み、各プロセッサ(1、2)が、各プロセッサ用のRAM、ROM、および主
プロセッサ用の不揮発性メモリが接続されるバス(3、4)をそれぞれ有する。
According to another feature, the intelligent IC comprises at least two processors, each processor (1, 2) being connected with RAM, ROM for each processor and non-volatile memory for the main processor. Each has a bus (3, 4).

【0039】 別の特徴によれば、インテリジェントICが、複数のプロセッサを含んでおり
、各プロセッサが、当該プロセッサ間の同一の多重化通信バスに接続されており
、RAM、ROMおよび不揮発性メモリアレイが、当該多重化通信バスに接続さ
れており、共通の多重化された通信バスのコンテンションが、調停回路(arb
itration circuit)により管理される。
According to another feature, the intelligent IC includes a plurality of processors, each processor connected to the same multiplexed communication bus between the processors, a RAM, a ROM, and a non-volatile memory array. Are connected to the multiplexed communication bus, and the contention of the common multiplexed communication bus is
It is managed by an iteration circuit.

【0040】 別の特徴によれば、副プロセッサが、主プロセッサにより実行されるプログラ
ムと、相関関係にあるプログラムか、または、相関関係にないプログラムを、順
序には関係なく順次実行する。
According to another feature, the sub-processor sequentially executes the program executed by the main processor and the program correlated or uncorrelated with the program executed in any order.

【0041】 本発明の他の特徴および長所は、添付図に関してなされる以下の説明を読めば
、いっそう明らかになるだろう。
Other features and advantages of the present invention will become more apparent from the following description, taken in conjunction with the accompanying drawings.

【0042】 本発明が目的とするインテリジェントICは、MUMIC(Multi Un
traceable MICrocomputer)と称されており、図1に関
して、その論理的な構成の第1の変形実施形態を説明する。この論理的な構成は
、後述するように、物理的な構成またはトポロジーのレイアウトを示すものでは
ない。このインテリジェントICは、主プロセッサ(1)および副プロセッサ(
2)から構成されており、各プロセッサは、各通信バス(アドレス、データおよ
びコマンド)(3、4)により、各メモリ(12、13、22)に接続されてい
る。これらのメモリは、主プロセッサ(1)および副プロセッサ(2)と、たと
えば不揮発性メモリRAM(11、21)等の作業レジスタとにより、それぞれ
実行される主プログラム(P1)および副プログラム(P2)を含む。副プロセ
ッサに接続されるメモリは、ランダムアクセス「ダミー」メモリ(DumRAM
21)と、読み取り専用「ダミー」メモリ(DumROM22)とであり、副プ
ロセッサ(2)が、主プロセッサ(1)のタスクに重ねられるタスクを実行でき
るようにする。主プロセッサのオペレーションシステムは、たとえばROM(1
2)の外部からアクセス不能であるが、2つのプロセッサの少なくとも一方から
はアクセス可能な部分に含まれている。各プロセッサ(1、2)は、その固有の
シーケンサ(19または20)を有する。本発明によるICはまた、入出力回路
(14)を含んでおり、この回路は、単一バスに接続されるか、または変形実施
形態によって複数のバスを備えるように回路を構成する場合は、主プロセッサの
バスに接続され、また、スイッチによって、あるいはスイッチがない場合は接続
装置によって、外界に接続され、端末から信号を受信する。レジスタ群(R1、
R2、R3)および割り込み回路(15)は、後述する変形実施形態に対応する
機能変形の1つを実施するためにこれを必要とするプロセッサに付加可能である
。3つの素子(R1、R2、R3)は、割り込み発生回路(15)に接続され、
割り込み発生回路は、プロセッサ(この場合には主プロセッサ)の割り込み入力
に接続される。
The intelligent IC targeted by the present invention is a MUMIC (Multi Un
A first modified embodiment of the logical configuration will be described with reference to FIG. This logical configuration does not indicate a physical configuration or a topology layout, as described below. This intelligent IC comprises a main processor (1) and a sub processor (
Each processor is connected to each memory (12, 13, 22) by each communication bus (address, data and command) (3, 4). These memories are respectively composed of a main program (P1) and a subprogram (P2) executed by a main processor (1) and a subprocessor (2) and work registers such as nonvolatile memory RAMs (11, 21). including. The memory connected to the secondary processor is a random access "dummy" memory (DumRAM).
21) and a read-only "dummy" memory (DumROM 22), allowing the sub-processor (2) to execute tasks that overlap the tasks of the main processor (1). The operation system of the main processor is, for example, a ROM (1
Although it is inaccessible from the outside in 2), it is included in a portion accessible from at least one of the two processors. Each processor (1, 2) has its own sequencer (19 or 20). The IC according to the invention also comprises an input / output circuit (14), which is connected to a single bus or, if the circuit is arranged to comprise a plurality of buses according to alternative embodiments, It is connected to the bus of the main processor and is connected to the outside world by a switch or, if there is no switch, by a connection device, and receives a signal from a terminal. Register group (R1,
R2, R3) and the interrupt circuit (15) can be added to a processor that requires it in order to implement one of the functional modifications corresponding to the modified embodiments described later. The three elements (R1, R2, R3) are connected to an interrupt generation circuit (15),
The interrupt generation circuit is connected to an interrupt input of the processor (in this case, the main processor).

【0043】 主プロセッサ(1)のオペレーションシステムは、マスター用主プロセッサと
スレーブ用副プロセッサの変形実施形態の場合には一つであり、主プロセッサに
よりアクセス可能なROM(12)に配置されている。プロセッサが役割交換可
能である変形実施形態で必要とされる場合、第2のオペレーションシステムまた
は同じオペレーションシステムが、副プロセッサにアクセスできるようにしても
よく、たとえばアクセス権用トークン(jeton)を交換し、プロセッサが移
る前にこのアクセス権を検査する。同様に、特に役割交換の場合、すなわち図2
aの変形実施形態では、果たすべき役割のためにこれを必要とする各プロセッサ
に、割り込み回路を付加することもできる。
The operation system of the main processor (1) is one in the case of the modified embodiment of the master main processor and the slave sub-processor, and is arranged in the ROM (12) accessible by the main processor. . If required in a variant embodiment in which the processor is role-swappable, a second operating system or the same operating system may be able to access the secondary processor, for example by exchanging an access right jeton. Check this access right before the processor moves. Similarly, especially in the case of role exchange, ie, FIG.
In an alternative embodiment of a, an interrupt circuit can be added to each processor that needs it for the role to be fulfilled.

【0044】 主プログラム(P1)は、不揮発性メモリ(13)に含まれており、ダミーメ
モリの使用は、インテリジェントICの少なくとも2つのプロセッサ間で同時に
実行される場合があることを考慮すると、フランス公開特許出願第276536
1号に記載されたものに対応する。このような場合、2つのタイプのメモリ(ダ
ミーメモリとその他のメモリ)は、実際にはバスが多重化されていても、同じ時
間中に利用される。
The main program (P 1) is included in the non-volatile memory (13), and considering that the use of the dummy memory may be executed simultaneously between at least two processors of the intelligent IC, France Published Patent Application No. 276536
This corresponds to the one described in No. 1. In such a case, the two types of memory (dummy memory and other memory) are used during the same time, even though the buses are actually multiplexed.

【0045】 ICは、また、ICの少なくとも1つのバスに接続される入出力インターフェ
ースを含み、このインターフェースは、パラレル/パラレルまたはパラレル/シ
リアルタイプにすることができる。変形実施形態では、主プロセッサ(1)の作
業用RAM(11)が、副プロセッサ(2)のダミーRAM(DumRAM21
)と統合可能であって、図5に示したような同一のダブルポートメモリを形成す
る。これらのダブルボートメモリ(11−21)は、第1のアドレスレジスタの
対(110、210)を使用することにより、アドレス信号(ADD0、ADD
1)を受信して主プロセッサ(1)または副プロセッサ(2)によるアクセスを
可能にする。これらのダブルポートRAM(11−21)はまた、第1のデータ
レジスタの対(111、211)を使用しており、主プロセッサ(1)または副
プロセッサ(2)によるデータ読み込みアクセスを可能にする。読み込みデータ
レジスタの出力は、データ信号(D0、D1)を送る増幅器(113、213)
に接続される。さらに、これらのダブルポートRAM(11−21)はまた、第
2のデータレジスタの対(112、212)を使用しており、主プロセッサ(1
)または副プロセッサ(2)によるデータ書き込みアクセスを可能にする。この
タイプのダブルポートメモリのアーキテクチャは、モトローラまたはテキサスイ
ンストルメンツといったベンダから入手できる。同期または非同期のダブルポー
トメモリは、2つの個別経路により、メモリアドレスの領域に読み込みまたは書
き込みアクセスを可能にする。こうしたダブルポートメモリは、特に、異なるシ
ステム間で同期プロセスを制御するために使用される。プロセスを同期化するた
めのダブルポートメモリの使用は、プロセッサが、2つの独立した経路(アドレ
スおよびデータ)を介して、同期または非同期で、メモリにアクセスでき、同時
に使用可能なデータを共有できるという事実に基づいている。
The IC also includes an input / output interface connected to at least one bus of the IC, which interface may be of a parallel / parallel or parallel / serial type. In the modified embodiment, the working RAM (11) of the main processor (1) is replaced with the dummy RAM (DumRAM 21) of the sub-processor (2).
) And form the same double-port memory as shown in FIG. These double port memories (11-21) use the first address register pair (110, 210) to generate address signals (ADD0, ADD).
1) to allow access by the main processor (1) or the sub-processor (2). These double port RAMs (11-21) also use a first pair of data registers (111, 211) to allow data read access by the main processor (1) or the sub-processor (2). . The output of the read data register is an amplifier (113, 213) that sends a data signal (D0, D1).
Connected to. In addition, these double-port RAMs (11-21) also use a second pair of data registers (112, 212) and the main processor (1
) Or data write access by the sub-processor (2). The architecture of this type of double port memory is available from vendors such as Motorola or Texas Instruments. Synchronous or asynchronous double port memories allow read or write access to the area of the memory address via two separate paths. Such double-port memories are used, inter alia, to control the synchronization process between different systems. The use of double-ported memory to synchronize processes means that the processor can access the memory, synchronously or asynchronously, and share simultaneously available data via two independent paths (address and data). Based on facts.

【0046】 2つのプロセッサ(1、2)、バス(3、4)およびメモリ(11−21;1
2、13、22)は、共通の電源回路(6)により供給され、一方のプロセッサ
の電力利用と他方のプロセッサの電力利用との間の違いを最大限低減するように
している。半導体技術の進歩とともに、今日では実際、面積が数mmにすぎな
い2つのプロセッサを同一チップに配置し、従って、経済的に将来性のある解決
方法を得ることが可能であり、第2のプロセッサの追加費用は、特にRAMおよ
びプログラマブル不揮発性メモリ(NVM)が占有する面積と比較して、ごくわ
ずかになる。プロセッサを単一の独自の設計(デザイン)のブロックに統合可能
な収容区分けツールを使用することが提案されている。当業者は、通常、RAM
、ROM、プログラマブル不揮発性メモリを備えた同一基板に、2つのプロセッ
サをレイアウトしなければならない場合、さまざまな機能をまとめ、最適経路を
探して、タイミングの制約を遵守しようとする。そのため、一定のアーキテクチ
ャおよびレイアウトを採り入れることになるが、このレイアウトは、図7に示し
たものにきわめて近いものになり、2つのプロセッサ(CPU1、CPU2)は
、互いに近傍に配置され、クロック回路(H)は、プロセッサの近傍に配置され
る。入出力を構成する周辺回路(14)も同様にプロセッサに隣接しており、こ
れは、専門用語で論理「グルー(glue)」G1と呼ばれていて、ICの動作
に必要な論理素子の集合である。RAM(11−21)、ROM(12−22)
、プログラマブル不揮発性メモリNVM(13)を構成する他の素子は、周囲全
体に配置されている。本発明の特徴は、1つの機能に属するセルの物理的な場所
を先験的に決定できるようにするために、論理演算子、算術演算子、ならびに制
御機能が、ゲートすなわち基本セルレベルで互いに混合されていることにある。
かくして各プロセッサは、図6に正方形または長方形で示した幾つかの素子に分
割される。これらの素子は、円により示されてクロック回路を構成する他の素子
の中に、あるいは論理「グルー」を構成する六角形の素子の中に、あるいはまた
周辺回路を構成する台形の素子の中に、さらには図6に示されたようにこれらの
素子の組み合わせの中にレイアウト可能である。2つのプロセッサの回路の物理
的なレイアウトは、有利には、一般の場合のように容易に認識可能な物理的な機
能ブロックを備えない、このような全く平凡なトポロジーを用いることにより構
成される。こうしたトポロジーは、「ゲートアレイ」回路で使用され、そのマト
リクスの各セルが、如何なる機能を果たすこともできる。このようにして、2つ
のプロセッサ(1、2)は、2つの隣接トランジスタが、プロセッサまたはそれ
らが結合される回路のいずれかに属することができる程度にまで、論理的な構造
が分離されているにもかかわらず、物理的に交互配置される。これは、マイクロ
プロセッサを備えたカードの領域が関係する回路の分類が、クロック周期の観点
から、それほど高い性能を必要としないことから可能になる。従って、このよう
な回路のレイアウト方法は、装置の安全性を確保するには特に好ましい。もちろ
ん、こうした回路を実現するには、信号を適切にルーティングして諸機能を制御
するために、コンピュータ支援による自動設計が必要である。従って、各機能ブ
ロックの消費が、完全に交互配置されて組み合わされるように設計する。
Two processors (1, 2), buses (3, 4) and memory (11-21; 1)
2, 13, 22) are supplied by a common power supply circuit (6) so as to minimize the difference between the power utilization of one processor and the other. With the advancement of semiconductor technology, it is now possible in practice to place two processors with an area of only a few mm 2 on the same chip, thus obtaining an economically promising solution, The additional cost of the processor is negligible, especially as compared to the area occupied by RAM and programmable non-volatile memory (NVM). It has been proposed to use a housing partitioning tool that allows the processor to be integrated into a single, uniquely designed block. Those skilled in the art typically
When two processors must be laid out on the same board with ROM, programmable non-volatile memory, various functions are combined, an optimal path is searched, and timing restrictions are adhered to. Therefore, a certain architecture and layout are adopted, but this layout is very close to that shown in FIG. 7, and the two processors (CPU1 and CPU2) are arranged close to each other, and the clock circuit ( H) is located near the processor. Peripheral circuits (14) that make up the inputs and outputs are also adjacent to the processor, which is termed logic "glue" G1 in technical terminology and is a set of logic elements required for the operation of the IC. It is. RAM (11-21), ROM (12-22)
The other elements constituting the programmable nonvolatile memory NVM (13) are arranged all around. A feature of the present invention is that logical operators, arithmetic operators, and control functions are connected to each other at the gate or basic cell level so that the physical location of cells belonging to a function can be determined a priori. It has to be mixed.
Thus, each processor is divided into several elements, shown in FIG. 6 as squares or rectangles. These elements may be included in other elements of a clock circuit represented by a circle, or in hexagonal elements of a logical "glue", or in trapezoidal elements of a peripheral circuit. In addition, as shown in FIG. 6, layout can be performed in a combination of these elements. The physical layout of the circuits of the two processors is advantageously constructed by using such an entirely trivial topology, with no easily recognizable physical functional blocks as in the general case. . Such a topology is used in "gate array" circuits, where each cell of the matrix can perform any function. In this way, the two processors (1, 2) are logically separated, to the extent that two adjacent transistors can belong to either the processor or the circuit to which they are coupled. Nevertheless, they are physically staggered. This is possible because the classification of the circuits involving the area of the card with the microprocessor does not require very high performance in terms of clock period. Therefore, such a circuit layout method is particularly preferable for ensuring the safety of the device. Of course, the realization of such circuits requires computer-aided automatic design to properly route signals and control functions. Therefore, the design is such that the consumption of each functional block is completely interleaved and combined.

【0047】 さらに、2つのプロセッサは、特定のリンクを介して、またはバス(3、4)
に接続される通信用レジスタの集合(図2a 50、51)によって、または他
のプロセッサのバスを介して盗んだ周期によって、あるいはまた、図3に示した
ように2つのプロセッサ間でバスを共有する場合には調停ロジックによって、通
信が可能である。
Further, the two processors may be connected via a specific link or via a bus (3, 4)
The bus is shared between two processors by a set of communication registers (50, 51 in FIG. 2a) connected to the other processor or by a period stolen via the bus of another processor, or alternatively as shown in FIG. If so, communication is possible by the arbitration logic.

【0048】 図2aは、たとえば、検出回路(B1、B2)により割り込みモードで動作す
る2つのレジスタ(50、51)を用いたリンクを示しているが、チップカード
で使用されるプロトコルと同様のプロトコルを用いる二重アクセスレジスタ(5
)を使用してもよい。この場合、主プロセッサ(1)がマスターである。図2a
による実施例では、第1のレジスタ(50)が、主プロセッサ(1)のバス(3
)と副プロセッサ(2)のバス(4)との間のリンクを提供し、一方で、第2の
レジスタ(51)が、反対方向のリンクを提供している。第1のレジスタ(50
)または第2のレジスタ(51)の各々が、第1の記憶フリップフロップ(B1
)または第2の記憶フリップフロップ(B2)を備えており、これらの記憶フリ
ップフロップは、対応するレジスタに情報が送られたときに作動状態に移行する
。第1のフリップフロップ(B1)の出力は、第2のプロセッサ(2)の割り込
みシステムに接続され、第2のフリップフロップ(B2)の出力は、主プロセッ
サ(1)の割り込みシステムに接続される。レジスタのサイズは、各プロセッサ
からの要求および応答を収容するのに十分である。図2bは、ヘッダ、データ領
域および誤り検知領域を備えたフレームの構造を示している。各フレームは、情
報ブロック(ブロックI)またはACKブロック(ブロックA)を構成可能であ
り、これらの各ブロックが、双方向に伝送される。ヘッダは、2バイトで構成可
能であり、第1バイトがブロック番号を、第2バイトが長さを示す。第1のレジ
スタ(50)にブロックが送られると、フリップフロップが、第2のプロセッサ
(2)により割り込み信号IT1として解釈さる信号を発生し、かくして第1の
レジスタ(50)宛のメッセージがあることを知らせることができる。従って、
第2のプロセッサ(2)は、第1のレジスタ(50)の内容を読み込むことによ
ってブロックのデータを入手し、その後、同じ番号で主プロセッサ(1)宛ての
第2のレジスタ(51)に送られるACKブロック(ブロックA)により、ブロ
ックの受信について肯定応答する。この方法は、本発明の範囲で必ずしも必要と
いうわけではないが、特にブロックの連鎖を可能にするために既知である。各情
報ブロックにおいて、情報領域は、それ自体が、コマンド領域およびデータ領域
の2つの部分に分割可能である。かくして主プロセッサは、コマンド領域により
副プロセッサに命令を送ることができる。たとえば、このリストは限定的ではな
いが、読み込み、書き込み、データチェック、認証といったコマンドがある。副
プロセッサ(2)は、コマンドを受信すると、第2のレジスタ(51)に送られ
るACKブロック(ブロックA)により、このコマンドの受信について肯定応答
し、当該コマンドを処理してから情報ブロック(ブロックI)として第2のレジ
スタ(51)に応答を出す。主プロセッサ(1)は、第1のレジスタ(50)に
送られたACKブロックにより、このブロックの受信について肯定応答し、以下
同様に行われる。ブロックに番号付けすることにより、送受信がうまく行かなか
ったデータブロックを繰り返すことができる。勿論、主プロセッサおよび副プロ
セッサの間で情報を交換するためのプロトコルは、逆方向にも使用可能である。
FIG. 2 a shows, for example, a link using two registers (50, 51) operating in interrupt mode by means of a detection circuit (B 1, B 2), but similar to the protocol used in chip cards. Double access register using protocol (5
) May be used. In this case, the main processor (1) is the master. FIG.
In the embodiment according to the first embodiment, the first register (50) is connected to the bus (3) of the main processor (1).
) And the bus (4) of the secondary processor (2), while the second register (51) provides the link in the opposite direction. The first register (50
) Or each of the second registers (51) is a first storage flip-flop (B1).
) Or second storage flip-flops (B2), which enter the active state when information is sent to the corresponding register. The output of the first flip-flop (B1) is connected to the interrupt system of the second processor (2), and the output of the second flip-flop (B2) is connected to the interrupt system of the main processor (1). . The size of the registers is sufficient to accommodate the requests and responses from each processor. FIG. 2b shows the structure of a frame with a header, a data area and an error detection area. Each frame can constitute an information block (block I) or an ACK block (block A), and these blocks are transmitted in both directions. The header can be composed of 2 bytes, the first byte indicates a block number, and the second byte indicates a length. When a block is sent to the first register (50), the flip-flop generates a signal which is interpreted by the second processor (2) as an interrupt signal IT1, and thus there is a message addressed to the first register (50). I can let you know. Therefore,
The second processor (2) obtains the data of the block by reading the contents of the first register (50), and then sends the data to the second register (51) addressed to the main processor (1) with the same number. Acknowledgment of the receipt of the block with the given ACK block (block A). This method is known, but not necessarily required within the scope of the invention, in particular to allow chaining of blocks. In each information block, the information area itself can be divided into two parts, a command area and a data area. Thus, the main processor can send instructions to the sub-processor by the command area. For example, this list includes, but is not limited to, commands such as read, write, data check, and authenticate. When receiving the command, the sub-processor (2) acknowledges the reception of this command by an ACK block (block A) sent to the second register (51), processes the command, and then processes the information block (block A response is issued to the second register (51) as I). The main processor (1) acknowledges receipt of this block by the ACK block sent to the first register (50), and so on. By numbering the blocks, data blocks that have not been successfully transmitted and received can be repeated. Of course, the protocol for exchanging information between the main processor and the sub-processor can be used in the reverse direction.

【0049】 2つのプログラム(P1、P2)は、主プロセッサ(1)および副プロセッサ
(2)でそれぞれ実行されるので、2つの命令が同時に実行される。また、副プ
ロセッサ(2)を制御するクロック位相をシフトして、命令サイクルが、各プロ
セッサで正確には対応しないようにすることもできる。さらに、シフトを可変か
つランダムにしてもよく、これは、同様に可変である命令サイクルの重ね合わせ
となって表れる。これらのシフトは、副プロセッサ(2)のシーケンサ(20)
により発生することができる。
The two programs (P 1 and P 2) are executed by the main processor (1) and the sub processor (2), respectively, so that two instructions are executed simultaneously. Further, the clock phase for controlling the sub-processor (2) can be shifted so that the instruction cycle does not correspond exactly in each processor. Furthermore, the shift may be variable and random, which manifests itself as a superposition of similarly variable instruction cycles. These shifts are performed by the sequencer (20) of the secondary processor (2).
Can occur.

【0050】 有利で経済的な解決方法は、副プロセッサ(2)の「ダミー」メモリのために
、超小型「ダミー」メモリ(DumRAM21)を使用することからなる。実際
、ダミーメモリは、真に機能的な役割を1つも果たさないので、このメモリにア
ドレス可能なスペースを制限して、チップで占有する場所を最小化することがで
きる。このスペースは、たとえば、RAMの1つまたは複数のラインをRAMの
マトリクスに単に付加することに対応する。このスペースは、固有のアドレスレ
ジスタおよびデータレジスタを備えている。
An advantageous and economical solution consists of using a very small “dummy” memory (DumRAM 21) for the “dummy” memory of the secondary processor (2). Indeed, since the dummy memory plays no real functional role, it can limit the space that can be addressed to this memory and minimize the space occupied by the chip. This space corresponds, for example, to simply adding one or more lines of RAM to a matrix of RAM. This space has its own address and data registers.

【0051】 副プロセッサ(2)は、常時動作させておいてもよいが、2つのプロセッサの
間に通信チャンネルを配置することが好ましく、通信チャンネルは、有利には、
副プロセッサ(2)を起動するために、およびまたは副プロセッサ(2)が機能
およびまたは実際にタスクを実行していることを主プロセッサ(1)に知らせる
ために、使用可能である。プロセッサは、作動、非作動の少なくとも2つの状態
を有する。たとえば作動状態は、一連の様々な操作の実行に対応し、非作動状態
は、操作を1つも含まない待機ループにより実施可能である。状態から状態への
移行は、プロセッサ間の通信機構により実施される。たとえば主プロセッサは、
作動していない副プロセッサに割り込み信号を送ることにより、副プロセッサを
起動することができる。起動機構を実施する変形実施形態では、各プロセッサが
、少なくとも1つの他のプロセッサ宛の割り込みラインか、またはリセットライ
ンを有する。実際、好ましい方法ではないが、作動状態から非作動状態へ移行す
る別の方法は、非作動にすべきプロセッサ宛の初期化(リセット)信号を保持し
、プロセッサが作動状態に移行するときに、これを削除することから構成される
。従って起動手段は、1つのプロセッサが他のプロセッサを、作動状態から非作
動状態へ、またその逆に移行させることができる手段である。
The secondary processor (2) may be kept running at all times, but it is preferable to arrange a communication channel between the two processors, and the communication channel is advantageously
It can be used to start the secondary processor (2) and / or to inform the primary processor (1) that the secondary processor (2) is performing a function and / or actually perform a task. The processor has at least two states, active and inactive. For example, the active state corresponds to the execution of a series of various operations, and the non-active state can be implemented by a standby loop that includes no operations. The transition from state to state is performed by a communication mechanism between the processors. For example, the main processor
By sending an interrupt signal to the inactive secondary processor, the secondary processor can be activated. In an alternative embodiment that implements the wake-up mechanism, each processor has an interrupt line or a reset line destined for at least one other processor. Indeed, although not the preferred method, another way to transition from the active state to the inactive state is to maintain an initialization (reset) signal destined for the processor to be deactivated, and It consists of deleting this. Thus, the activation means is a means by which one processor can cause another processor to transition from an active state to a non-active state and vice versa.

【0052】 これは、2つのプロセッサ間の認証機構か、あるいは作動レジスタテスト機構
によって実施可能である。認証機構は、主プロセッサ(1)の要求により、また
は周期的に、あるいはまた任意に始動される。主プロセッサ(1)が、認証中に
異常を検出すると、あらゆる処理を停止するか、または待機ループに入ることが
できる。
This can be done by an authentication mechanism between the two processors or by an activation register test mechanism. The authentication mechanism is activated at the request of the main processor (1), or periodically, or alternatively optionally. If the main processor (1) detects an anomaly during authentication, it can stop any processing or enter a waiting loop.

【0053】 このため、割り込みモードでこのタイプの機能を使用できる。たとえば主プロ
セッサ(1)のレベルで検出された異常により割り込みが発生すると、主プロセ
ッサ(1)により制御される認証を実施するために、2つのプロセッサ間で対話
が開始される。この認証は、たとえば、主プロセッサ(1)のバス(3)に接続
されたプログラマブル不揮発性メモリ(13、NVM)の秘密領域に保存される
キーに基づいて、主プロセッサ(1)によりデータを暗号化させることからなる
。暗号化されたデータは、通信チャンネルにより副プロセッサ(2)に送られ、
副プロセッサは、暗号を解読してから結果を主プロセッサ(1)に送り、主プロ
セッサが、データと解読結果とを比較する。結果が正しければ、主プロセッサ(
1)が作動を続行し、正しくなければ次の認証を待つために待機ループに入る。
こうした機構は、周知であり、当業者にとって特定の問題を提起しない。
Therefore, this type of function can be used in the interrupt mode. For example, if an interrupt occurs due to an abnormality detected at the level of the main processor (1), a dialog is started between the two processors to perform authentication controlled by the main processor (1). This authentication is performed, for example, by encrypting data by the main processor (1) based on a key stored in a secret area of the programmable nonvolatile memory (13, NVM) connected to the bus (3) of the main processor (1). It consists of becoming. The encrypted data is sent to the secondary processor (2) via a communication channel,
The secondary processor decrypts the encryption and sends the result to the primary processor (1), and the primary processor compares the data with the decryption result. If the result is correct, the main processor (
1) continues to run, otherwise enters a wait loop to wait for the next authentication.
Such mechanisms are well known and do not pose a particular problem for those skilled in the art.

【0054】 主プロセッサ(1)はまた、副プロセッサ(2)の「ダミー」RAM(Dum
RAM22)で作動レジスタをテストし、このレジスタが各テストで適正に変更
されているかどうか確認することもできる。レジスタが変更されていない場合、
上記と同様に、主プロセッサは、その作動化を保留できる。
The primary processor (1) also has a “dummy” RAM (Dum) of the secondary processor (2).
It is also possible to test the activation register in the RAM 22) and to check whether this register has been properly changed in each test. If the registers have not changed,
As before, the main processor can suspend its activation.

【0055】 変形実施形態では、副プログラム(P2)として、主プログラム(P1)の任
意の部分のコピーを使用可能であり、これは、最初に無作為にアドレスを指定す
ることにより、およびまたは主プログラムのデータとは異なるデータに対して操
作することにより行われる。かくして、信頼性があるが機能面では役に立たない
命令を、このプログラムが実行する保証が得られる。
In a variant embodiment, a copy of any part of the main program (P1) can be used as the subprogram (P2), by first specifying an address randomly and / or This is performed by operating on data different from the program data. Thus, a guarantee is obtained that the program will execute a reliable but functionally useless instruction.

【0056】 また、中間の処理結果が、決して実行中に現れないように、主プロセッサが実
行するプログラムと相関関係にあるプログラムを、副プロセッサ(2)に実行さ
せることができる。たとえば、操作Fとは異なる2つの関数f1、f2を、F=
g(f1、f2)となるように、2つの異なる関数を組み合わせる関数gによっ
て、操作Fの結果を得られるように選択し、この2つの関数を各プロセッサによ
りそれぞれ実行させることにより、操作Fの結果を隠したいと仮定する。
Also, the sub-processor (2) can execute a program that is correlated with the program executed by the main processor so that an intermediate processing result never appears during execution. For example, two functions f1 and f2 different from the operation F are represented by F =
g (f1, f2) is selected so that the result of the operation F is obtained by a function g combining two different functions, and the two functions are respectively executed by the respective processors. Suppose you want to hide the result.

【0057】 チップカードのコードおよびまたはデータにエラーが入らないようにするとと
もに、チップカードにアタック(differential fault an
alysis、DFA)を実施可能にすることを防ぐために、「障害に対して弱
い(intolerants aux fautes)」プログラムを設置する
ことが提案されている。このようにエラーが入るのは、特に、電力供給およびま
たはクロックを瞬時に変更するためである(power/clock glit
ch)。下記の例(仮説的な通信プログラム)では、アタッカーは、通常予定さ
れる記憶領域を越えてデータを受信するために、条件付きの接続(ライン3)ま
たはデクリメント(ライン6)の挙動を変えようとしている(answer_a
ddress+answer_length)。
The code and / or data of the chip card are protected from errors and the chip card is attacked (differential fault an).
It has been proposed to set up "intolerants aux faults" programs in order to prevent enabling the implementation of AFA (Analysis, DFA). This error is particularly due to the instantaneous change of the power supply and / or the clock (power / clock glitch).
ch). In the example below (hypothetical communication program), an attacker will alter the behavior of a conditional connection (line 3) or decrement (line 6) to receive data beyond the normally scheduled storage area. (Answer_a
address + answer_length).

【0058】 1 b=answer address 2 a=answer length 3 if(a==0)goto 8 4 transmit(b) 5 b=b+1 6 a=a−1 7 goto 3 8 … チップカード用のこうした「障害に対して弱い」(すなわち故障を検出可能な
)プログラムは、定義上、マイクロプロセッサカードのプロセッサ(CPU)で
実行される冗長性タスクを有する。
1 b = answer address 2 a = answer length 3 if (a == 0) goto 84 transmit (b * ) 5 b = b + 1 6 a = a−17 goto 38... These “failures” for chip cards (that is, failures can be detected) The program has, by definition, a redundancy task executed by the processor (CPU) of the microprocessor card.

【0059】 デクリメントされる物理的または論理的なカウンタ、ならびに転送型アトミッ
ク命令(従来技術により既知である「swap」、「read−modify−
write」)等の、ハードウェアまたはソフトウェアの「ロック」によって形
成される幾つかの「同期」ポイントで、プログラムの実行に関する冗長性タスク
が一致しているかどうか、1つまたは複数の主プロセスがチェックする。
A physical or logical counter that is decremented, as well as transfer-type atomic instructions (“swap”, “read-modify-
At some "synchronization" points formed by hardware or software "locks" (e.g., "write"), one or more main processes check whether the redundancy tasks for program execution match. I do.

【0060】 プロセッサがアタックの兆しとしてチェックを行うと、不一致とみなされる。
ハッカーによってカードのコードにエラーが入れられると、こうしたチェックが
、はるかに複雑になる。上記の例では、アタッカーは、2つ(または複数個)の
タスクの挙動を同じように変えなければならないが、これは実際には不可能(実
行不能)であるように思われる。
If the processor checks as an indication of an attack, it is considered a mismatch.
These checks are much more complicated when hackers put errors in the card code. In the above example, the attacker would have to change the behavior of the two (or more) tasks in the same way, but this seems to be impossible (infeasible) in practice.

【0061】 実際、プログラムの「重要な(critical)」データ全体の保護が求め
られる。変数に対して、この保護は、メモリへのコピーにより行うことができる
。各プロセッサ(CPU)は、このとき、当該変数の独自のコピーを有し、ダミ
ー型ではなく実際に機能するメモリにこれを保存する。仮説的な例では、変数「
a」(ループカウンタ)のデクリメントは、各プロセッサにより実行される下記
の命令シーケンスにより保護可能である。
In fact, protection of the entire “critical” data of a program is required. For variables, this protection can be provided by copying to memory. Each processor (CPU) then has its own copy of the variable and saves it in a working memory rather than a dummy type. In a hypothetical example, the variable "
The decrement of "a" (loop counter) can be protected by the following instruction sequence executed by each processor.

【0062】 6 a=a−1 6’ プロセッサの同期 6” if(a’!=a)goto attack ここで「a’」は、第2のプロセッサにより使用される変数「a」のコピーで
あり、「a」が「a’」と異なる場合、プログラムは「アタック(attack
)」と称されてカードの保護に必要な措置を取る処理ルーチンにジャンプする。
6a = a-1 6 ′ Processor Synchronization 6 ″ if (a ′! = A) gotoattack where “a ′” is a copy of the variable “a” used by the second processor. , “A” is different from “a ′”, the program is “attack (attack)
) "And jumps to a processing routine that takes the necessary measures to protect the card.

【0063】 たとえば、アタックを検出すると「アタック」(ラベル)にジャンプし、「ア
タック」処理ルーチンが、マイクロプロセッサの初期化(Reset)およびま
たは、たとえばEEPROM型のプログラマブル不揮発性メモリにおけるキーの
消去など、必要な操作を実行する。
For example, when an attack is detected, the process jumps to “attack” (label), and the “attack” processing routine performs initialization (Reset) of the microprocessor and / or erases a key in, for example, a programmable nonvolatile memory of an EEPROM type. Perform the required operation.

【0064】 フロー制御、すなわちプログラムの進行の制御を、直接、保護可能であること
にも留意されたい。その場合、保護された重要なデータは、プロセッサの序数カ
ウンタである(または、プロセッサが同一コードを実行しない場合は、序数カウ
ンタに関連付けられた別の情報である)。保護が望まれる(条件付きまたは無条
件の)各ジャンプの後で、冗長性タスクは、各ジャンプが行われた方向で情報を
比較しなければならない。上記の仮説的な例では、ライン3における条件付きの
ジャンプは、序数カウンタ、またはライン4、8における対応する情報を交換し
比較することにより、保護されることができる。
It should also be noted that the flow control, ie the control of the progress of the program, can be protected directly. In that case, the protected important data is the ordinal counter of the processor (or other information associated with the ordinal counter if the processor does not execute the same code). After each jump (conditional or unconditional) for which protection is desired, the redundancy task must compare the information in the direction in which each jump was taken. In the above hypothetical example, a conditional jump on line 3 can be protected by exchanging and comparing ordinal counters or corresponding information on lines 4,8.

【0065】 交換および比較操作は、(上記の命令シーケンス6−6”と同様に)ソフトウ
ェア手段で実施可能であるか、または、同期化操作の結果として発生し、有効化
入力(80)に送られる信号によって作動される図4のようなコンパレータ(8
)によるハードウェア手段で実施可能である。コンパレータ(8)はまた、その
別の入力(81、82)で、各主プロセッサ(1)および副プロセッサ(2)に
おける各序数カウンタ(PC、PC’)の値を示す信号を受信する。
The exchange and comparison operations can be performed by software means (similar to instruction sequence 6-6 ″ above) or occur as a result of a synchronization operation and send to the enable input (80). The comparator (8) shown in FIG.
) Can be implemented by hardware means. Comparator (8) also receives at its other input (81, 82) a signal indicating the value of each ordinal counter (PC, PC ') in each main processor (1) and sub-processor (2).

【0066】 アタックの場合、ハードウェアコンパレータ(8)は、その出力(83)を介
して送信される信号(attack interrupt)を用いて割込み処理
を始動し、割り込み処理は、マイクロプロセッサの割り込み機構を介して適切な
操作を行う(例:Reset interrupt)。
In the case of an attack, the hardware comparator (8) starts an interrupt process using a signal (attack interrupt) transmitted via its output (83), and the interrupt process turns off the interrupt mechanism of the microprocessor. Perform an appropriate operation via (eg, Reset interrupt).

【0067】 これらの機構が、2つのプロセッサを備えたシステムにおけるプログラムの従
来の実行に類似するかもしれないが、本発明の機構は、以下の点できわめて異な
っている。
Although these mechanisms may be similar to the conventional execution of a program in a system with two processors, the mechanisms of the present invention are very different in that:

【0068】 2つのプロセッサは、同じ回路により電力供給され、2つのプロセッサおよ
び結合される回路の様々な瞬間の消費を混合するように構成される。2つのプロ
セッサは、同じケイ素(シリコン)基板に配置することができる。
* The two processors are powered by the same circuit and are configured to mix the various instantaneous consumptions of the two processors and the combined circuit. The two processors can be located on the same silicon (silicon) substrate.

【0069】 副プロセッサで使用される命令のシグネチャは、主プロセッサで実行される
命令のシグネチャの影響を隠すことができる。
* The signature of the instruction used on the secondary processor can hide the impact of the signature of the instruction executed on the primary processor.

【0070】 副プログラムの目的は、主プログラムとは異なるが主プログラムの機能を隠
す機能を実行することにある。かくして、主プログラムと全く相関関係にないタ
スク、あるいは逆に、矛盾さえあるタスクを実行する副プロセスが、主プログラ
ムを隠すことを目的として、主プログラムに相関関係にある主プログラムと並列
のタスクを実施するとみなすことができる。
[0070] * The purpose of the sub-program, in a different but perform the function to hide the functions of the main program is the main program. Thus, a task that has no correlation with the main program, or conversely, performs a task that has even contradictions, has a task parallel to the main program that is correlated with the main program for the purpose of hiding the main program. It can be considered to be implemented.

【0071】 「ダミー」RAMのサイズは、しばしば、プログラムの通常の動作に必要な
ものよりもずっと小さくすることができる。
* The size of the "dummy" RAM can often be much smaller than required for normal operation of the program.

【0072】 主プロセッサは、副プロセッサが認証される場合、およびまたは作動される
場合のみ、安全性という意味で重要なプログラムを実行する。
[0072] * main processor, when the secondary processor is authenticated, and or to be operated only perform essential programs in the sense of safety.

【0073】 「ダミー」RAMの内容は、機能的な重要性を持たないが、これはダミーR
AMが、メモリアレイにおける電力消費の痕跡をスクランブルする役割をするだ
けであるからである。
* The content of the “dummy” RAM has no functional significance,
The AM only plays a role in scrambling the trace of power consumption in the memory array.

【0074】 副プログラムの内容をバックアップしたり、修復することは不要である。 * It is not necessary to back up or restore the contents of the sub-program.

【0075】 別の変形実施形態では、主プロセッサ(1)が、タイムカウンタ(timer
)(R3)を起動し、このタイムカウンタは、ランダムジェネレータ(R1)を
用いるか、あるいはプログラマブル不揮発性メモリ(13、NVM)の内容から
初期化される。プログラマブル不揮発性メモリ(13)は、実際、使用のたびに
変更される独自の数を含むことができる。タイムカウンタ(R3)は、外部から
は予測できない時間の経過後にタイムリミットに至ると、主プロセッサ(1)に
よる副プロセッサ(2)の認証を開始する。
In another variant embodiment, the main processor (1) has a time counter (timer)
) (R3), and the time counter is initialized by using the random generator (R1) or from the contents of the programmable nonvolatile memory (13, NVM). The programmable non-volatile memory (13) may in fact contain a unique number that changes with each use. The time counter (R3) starts authentication of the sub-processor (2) by the main processor (1) when the time limit is reached after a lapse of time that cannot be predicted from the outside.

【0076】 別の変形実施形態では、レジスタ(R2)は、(たとえばメモリまたはランダ
ムジェネレータ(R1)から送られる)特定の情報をロードされた後で、割り込
みを開始するために使用することができる。
In another alternative embodiment, register (R2) can be used to initiate an interrupt after being loaded with certain information (eg, coming from memory or random generator (R1)). .

【0077】 別の変形実施形態では、ランダムジェネレータ(R1)が主プロセッサ(1)
の割り込みシステム(15)に接続されており、主プロセッサ(1)におけるプ
ログラムの実行に対して全く同期しない不定期の割り込みを発生するようにされ
る。もちろん、割り込みシステムは、考慮された処理に応じてマスクすることも
できるし、またマスクしなくてもよい。この場合、割り込みがマスクされると、
全体の機能は、単一プロセッサでは従来通りであるが、現行の主プログラム(P
1)を場合に応じて外部から観察されないように保護したいときは、この割り込
みを許可し、副プロセッサ(2)の認証および起動を開始する。
In another variant embodiment, the random generator (R1) comprises a main processor (1)
Of the main processor (1), which generates an irregular interrupt which is not synchronized at all with the execution of the program in the main processor (1). Of course, the interrupt system may or may not be masked depending on the processing considered. In this case, if the interrupt is masked,
The overall function remains the same for a single processor, but the current main program (P
If it is desired to protect 1) from being externally observed as necessary, this interrupt is permitted, and authentication and activation of the sub-processor (2) are started.

【0078】 少なくとも2つ、たとえば、n個のプロセッサ間で共有される共通バスを備え
た別の変形実施形態では、各プロセッサ(図3 1a、b、...、1n)が、
共通バス(3)の第1のバスリクエストライン(31)、第2のバスビジーライ
ン(32)および第3のバスポーリングライン(33)の3タイプのラインによ
り、中央の調停ロジック(8)に接続される。最初の2つのタイプであるリクエ
ストライン(31)およびビジーライン(32)は、それぞれ全てのプロセッサ
に共通の単一のラインから構成されるが、最後のタイプであるポーリングライン
(33)は、それぞれがn個のプロセッサ(1a、1b、...1n)を有する
個々のライン(33a、33b、...、33n)である。プロセッサ全体は、
単一バス(3)を介してRAM、ROM、プログラマブル不揮発性メモリ(NV
M)、および入出力回路(I/O)を共有する。
In another variant embodiment with a common bus shared between at least two, for example, n processors, each processor (FIGS. 31a, b,.
The three types of lines, the first bus request line (31), the second bus busy line (32), and the third bus polling line (33) of the common bus (3), provide the central arbitration logic (8). Connected. The first two types, request line (31) and busy line (32), each consist of a single line common to all processors, while the last type, polling line (33), Are the individual lines (33a, 33b,..., 33n) with n processors (1a, 1b,... 1n). The whole processor
RAM, ROM, programmable nonvolatile memory (NV) via a single bus (3)
M) and an input / output circuit (I / O).

【0079】 バス(3)の獲得を望んでいるプロセッサ(たとえば1a)は、バスリクエス
トライン(31)に、この要望があることを示す。調停回路(8)は、所定のア
ルゴリズム(例:周期的な問い合わせ、バスポーリング)に従って、問い合わせ
を受けたプロセッサに対応するポーリングタイプのライン(33b、...、3
3n)について、他のプロセッサ(1b、...、1n)に問い合わせる。要求
を行っていて問い合わせを受けた第1のプロセッサが、バスを獲得し、バスビジ
ーライン(32)を起動する。調停回路(8)は、バスビジーライン(32)に
伝送された信号が作動状態から非作動状態に移行することによってバス(3)が
解放された場合だけ問い合わせを再開する。従って、プロセッサが同一のバスに
接続され、このアクセスを時間において多重化することによりこのバスを共有す
ることが分かる。
A processor (eg, 1a) wishing to acquire bus (3) indicates on the bus request line (31) that it has this desire. The arbitration circuit (8), according to a predetermined algorithm (eg, periodic interrogation, bus polling), performs polling-type lines (33b,.
Inquire about other processors (1b,..., 1n) for 3n). The first processor making the request and being queried acquires the bus and activates the bus busy line (32). The arbitration circuit (8) restarts the inquiry only when the bus (3) is released by the transition of the signal transmitted to the bus busy line (32) from the active state to the inactive state. Thus, it can be seen that the processors are connected to the same bus and share this bus by multiplexing this access in time.

【0080】 もちろん、上記の実施形態の効果を組み合わせることも可能であって、スクラ
ンブル化を連続して行うことは必要ではない。
Of course, it is possible to combine the effects of the above embodiments, and it is not necessary to perform scrambling continuously.

【0081】 かくして、主プログラム(P1)が、安全面で重要でない動作を実行する場合
、本発明により実施されるスクランブルは、たとえばシングルプロセッサの操作
に間欠的に戻ることで間欠的にされ、それによって、テストを目的として外界に
結果を送ったり、あるいはタイムカウンタ(R3)またはランダムジェネレータ
の割り込みをマスクしたりする。保護された動作が実施されると、主プログラム
(P1)は、副プロセッサ(2)の動作を「スクランブル」するために、この動
作を許可する。
Thus, if the main program (P1) performs non-critical operations, the scrambling performed according to the invention is intermittent, for example by intermittent return to the operation of a single processor. Sends the result to the outside world for test purposes, or masks the interrupt of the time counter (R3) or the random generator. When the protected operation is performed, the main program (P1) permits this operation to "scramble" the operation of the sub-processor (2).

【0082】 事実、安全性は、プロセッサが従来技術のようにランダムにタイミングを取る
ことから得られるのではなく、同じ電源から供給される2つのプロセッサ(1、
2)によって、異なる2つのシグネチャを有するプログラム(P1、P2)を同
時に実行することによって行われる。
In fact, the security is not obtained from the processors being randomly timed as in the prior art, but rather from two processors (1,.
2) is performed by simultaneously executing programs (P1, P2) having two different signatures.

【0083】 主プロセッサ(1)により実行されるプログラムは、主プロセッサの操作が、
セキュリティオペレーションシステムによって制御されるように構成できる。セ
キュリティオペレーションシステムは、機械により実行されるプログラムのタイ
プに応じて、実施すべきスクランブルのタイプを決定する。この場合、主プロセ
ッサ(1)のオペレーションシステムが、副プロセッサ(2)の各種コマンド信
号を適切に管理する。また、副プログラム(P2)を用いて、全体の処理時間を
短くすることができる操作を含む、主プログラム(P1)に役立つ機能を実行で
きることは明らかである。これらの処理は、たとえば、副プログラムにより実施
されるが、主プログラム(P1)によっても後で使用される計算を準備すること
からなる。もちろん、プロセッサが、マルチプログラミングモードで動作する場
合、本発明の機構を一般化することは容易であり、その場合、アプリケーション
プログラムは、主プログラムとして考慮することができる。
The program executed by the main processor (1) is such that the operation of the main processor is
It can be configured to be controlled by a security operation system. The security operation system determines the type of scrambling to be performed according to the type of program executed by the machine. In this case, the operation system of the main processor (1) appropriately manages various command signals of the sub processor (2). It is clear that the sub-program (P2) can be used to execute functions useful for the main program (P1), including operations that can shorten the overall processing time. These processes are performed by, for example, a sub-program, but also include preparing a calculation to be used later by the main program (P1). Of course, if the processor operates in a multi-programming mode, it is easy to generalize the mechanism of the present invention, in which case the application program can be considered as the main program.

【0084】 上記のランダムジェネレータおよびタイムカウンタは、実施において特定の問
題を提起せず、本発明とは全く関係のない他の用途のために別々に使用される場
合、当業者が既知のものである。
The above-described random generator and time counter do not pose any particular problem in implementation and, if used separately for other applications completely unrelated to the present invention, will be known to those skilled in the art. is there.

【0085】 別の変形実施形態では、2つのプロセッサが、主プロセッサおよび副プロセッ
サの役割を交互に果たすことができるように本発明を構成可能である。これは、
2つのプロセッサ間で優先権トークンを交換して、2つのうちでトークンを所有
するプロセッサに、所定の瞬間におけるマスターの役割を与えることを仮定して
いる。
In another alternative embodiment, the invention can be configured such that two processors can alternately assume the role of primary and secondary processors. this is,
It is assumed that the priority tokens are exchanged between the two processors, giving the processor that owns the token of the two the role of master at a given moment.

【0086】 その他の変更も同様に、本発明の考え方の一部をなす。2つのプロセッサに制
限された実施形態に関して記載した変形実施形態は、複数のプロセッサを備える
実施形態にも適用可能であり、これも本発明の一部をなす。かくして、発明の詳
細な説明の中で読み取り専用メモリという表現は、常にROMとして理解される
べきであるが、これは、PROM、EPROM、EEPROMあるいは他のあら
ゆるタイプのプログラマブル不揮発性読み取り専用あるいはランダムアクセスメ
モリに代えることができる。
Other modifications likewise form part of the inventive concept. Variations described with respect to embodiments limited to two processors are also applicable to embodiments with multiple processors, which also form part of the invention. Thus, in the detailed description of the invention, the expression read-only memory should always be understood as ROM, but it may mean PROM, EPROM, EEPROM or any other type of programmable nonvolatile read-only or random access. It can be replaced by a memory.

【図面の簡単な説明】[Brief description of the drawings]

【図1】 それぞれがバスを備えた2つのプロセッサを有する、本発明のICの実施形態
を示す論理ブロック図である。
FIG. 1 is a logical block diagram illustrating an embodiment of an IC of the present invention having two processors, each with a bus.

【図2a】 ICの2つのプロセッサ間の通信回路の実施例を示す図である。FIG. 2a shows an embodiment of a communication circuit between two processors of an IC.

【図2b】 ICの2つのプロセッサ間の通信で使用されるフレームの構造を示す図である
FIG. 2b is a diagram showing the structure of a frame used in communication between two processors of an IC.

【図3】 単一バスを備えた2つのプロセッサを有する、本発明のICの実施形態を示す
ブロック図である。
FIG. 3 is a block diagram illustrating an embodiment of an IC of the present invention having two processors with a single bus.

【図4】 各プロセッサから送られるデータ要素の2つの値の同期および比較による保護
の実施形態を示すブロック図である。
FIG. 4 is a block diagram illustrating an embodiment of protection by synchronization and comparison of two values of a data element sent from each processor.

【図5】 ICのプロセッサによる各ポートを介してアクセスが可能であるダブルポート
メモリの実施例を示す図である。
FIG. 5 is a diagram showing an embodiment of a double-port memory that can be accessed via each port by an IC processor.

【図6】 本発明によるIC素子の物理的なレイアウトを概略的に示す図である。FIG. 6 is a diagram schematically showing a physical layout of an IC element according to the present invention.

【図7】 2つのプロセッサを備える回路素子の従来のレイアウトを示す図である。FIG. 7 is a diagram showing a conventional layout of a circuit element including two processors.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ユゴン,ミシエル フランス国、エフ−78310・モールパ、リ ユ・デ・セパージユ、6 Fターム(参考) 5B076 FC08 FD04 5B098 AA10 GA04 GC14 ──────────────────────────────────────────────────続 き Continuation of the front page (72) Inventor Yugong, Michel France, F-78310-Morpa, Réuil de Separgille, 6F term (reference) 5B076 FC08 FD04 5B098 AA10 GA04 GC14

Claims (24)

【特許請求の範囲】[Claims] 【請求項1】 タスクを実施する主プロセスを構成するために、主プログラ
ム(P1)を実行する主プロセッサ(1)およびオペレーションシステムと、 タスクを実施する少なくとも1つのプロセスを構成するために、少なくとも1
つの副プログラム(P2)を同時に実行可能な少なくとも1つの副プロセッサ(
2)と、 プロセッサ間で共通な電源回路(6)と、 連続または間欠的なスクランブルを実施するために、主プロセスの電力の乱れ
に重ねられる電力の乱れを、連続的または間欠的に電源回路に誘導しながら、同
じ電力で動作シグネチャが異なる1つまたは複数の副プロセスが、主プロセスと
同時に実施されることを確実にする手段とを有することを特徴とするインテリジ
ェントIC。
1. A main processor (1) for executing a main program (P1) and an operation system for configuring a main process for performing a task, and at least one process for configuring at least one process for performing a task. 1
At least one sub-processor (
2), a power supply circuit common to the processors (6), and a power supply circuit for continuously or intermittently performing power disturbances superimposed on power disturbances of the main process in order to perform continuous or intermittent scrambling. Means for ensuring that one or more sub-processes with different operational signatures at the same power while performing the same process are performed simultaneously with the main process.
【請求項2】 主プロセッサ(1)または副プロセッサ(2)が、それぞれ
、保護されたマイクロプロセッサまたはマイクロコンピュータであることを特徴
とする請求項1に記載のインテリジェントIC。
2. The intelligent IC according to claim 1, wherein the main processor (1) or the sub-processor (2) is a protected microprocessor or microcomputer, respectively.
【請求項3】 手段が、インテリジェントICの主プロセッサ(1)のオペ
レーションシステムにより起動され、 上記手段により形成される付加的な安全性が、外部からはアクセス不能なイン
テリジェントICの場所に配置されるオペレーションシステムの主プロセッサ(
1)による実行の結果生じる決定だけに依存するようにしたことを特徴とする請
求項1に記載のインテリジェントIC。
3. The means are activated by the operating system of the main processor (1) of the intelligent IC and the additional security created by said means is located at the location of the intelligent IC which is not accessible from the outside. Operation system main processor (
2. The intelligent IC as claimed in claim 1, wherein it depends only on the decisions resulting from the execution according to 1).
【請求項4】 外部からアクセス不能で2つのプロセッサ(1、2)の少な
くとも一方によりアクセス可能であって、少なくとも一部にオペレーションシス
テムを含む主プロセッサ(1)専用の主メモリ(12、13)と、 副プロセッサ(2)専用の副メモリ(21、22)とを有することを特徴とす
る請求項1に記載のインテリジェントIC。
4. A main memory (12, 13) dedicated to a main processor (1) which is inaccessible from the outside and is accessible by at least one of the two processors (1 and 2) and at least partially includes an operation system. The intelligent IC according to claim 1, further comprising: a secondary memory (21, 22) dedicated to a secondary processor (2).
【請求項5】 前記プロセッサ(1、2)間の少なくとも1つの通信バス(
3、4)と、前記プロセッサ(1、2)用のそれぞれのメモリと、入出力回路(
14)とを有することを特徴とする請求項1に記載のインテリジェントIC。
5. At least one communication bus between said processors (1, 2).
3, 4), respective memories for the processors (1, 2), and input / output circuits (
14. The intelligent IC according to claim 1, comprising:
【請求項6】 1つまたは複数の基板上に分散された論理回路を用いて構成
されるインテリジェントICであって、2つのプロセッサの物理的なレイアウト
が、容易に認識可能な機能ブロックを用いずに、例えば物理的な交互配置による
別個の論理的な構造により構成されることを特徴とする請求項1に記載のインテ
リジェントIC。
6. An intelligent IC configured using logic circuits distributed on one or a plurality of substrates, wherein the physical layout of two processors does not use easily recognizable function blocks. 2. The intelligent IC according to claim 1, wherein the intelligent IC is configured by a separate logical structure by physical interleaving.
【請求項7】 副プロセッサ(2)が、主プロセッサ(1)の動作シグネチ
ャを最小化または無効にする副プロセスのタスクを実行することを特徴とする請
求項1に記載のインテリジェントIC。
7. The intelligent IC according to claim 1, wherein the sub-processor (2) executes a task of a sub-process that minimizes or invalidates an operation signature of the main processor (1).
【請求項8】 副プロセッサ(2)が、中間の処理結果が決してプロセスの
途中で現れないように、主プロセッサ(1)により実行される主プロセスのタス
クと相関関係にある副プロセスのタスクを実行することを特徴とする請求項1に
記載のインテリジェントIC。
8. The sub-processor (2) assigns a task of the sub-process correlated with the task of the main process executed by the main processor (1) so that an intermediate processing result never appears in the middle of the process. 2. The intelligent IC according to claim 1, wherein the IC is executed.
【請求項9】 副プログラム(P2)が、主プログラム(P1)の作業スペ
ースよりも小さい作業スペースを使用することを特徴とする請求項1に記載のイ
ンテリジェントIC。
9. The intelligent IC according to claim 1, wherein the sub-program (P2) uses a work space smaller than a work space of the main program (P1).
【請求項10】 主プロセッサ(1)と副プロセッサ(2)との間に通信手
段を有することを特徴とする請求項1に記載のインテリジェントIC。
10. The intelligent IC according to claim 1, further comprising communication means between the main processor (1) and the sub-processor (2).
【請求項11】 2つのプロセッサ間の通信手段(50、51、B1、B2
)により、主プロセッサ(1)が、副プロセッサ(2)が動作しているか否か知
ることができることを特徴とする請求項1に記載のインテリジェントIC。
11. Communication means between two processors (50, 51, B1, B2
2. The intelligent IC according to claim 1, wherein the main processor (1) can determine whether or not the sub processor (2) is operating.
【請求項12】 2つのプロセス間の通信手段により、主プロセッサ(1)
が、副プロセッサ(2)の認証を実施可能であることを特徴とする請求項1に記
載のインテリジェントIC。
12. Main processor (1) by means of communication between two processes.
2. The intelligent IC according to claim 1, wherein the device can perform authentication of the sub-processor.
【請求項13】 副プロセッサ(2)の認証または動作検査が、主プロセッ
サ(1)による処理中に実施されることを特徴とする請求項1に記載のインテリ
ジェントIC。
13. The intelligent IC according to claim 1, wherein the authentication or operation check of the sub-processor (2) is performed during processing by the main processor (1).
【請求項14】 副プロセッサ(2)の起動手段が、主プロセッサ(1)と
主プログラム(P1)か、割り込みシステム(15)か、タイムカウンタ(R3
)か、あるいは前記3つの組み合わせにより制御されることを特徴とする請求項
1に記載のインテリジェントIC。
14. The means for activating the sub-processor (2) is a main processor (1) and a main program (P1), an interrupt system (15), a time counter (R3).
2. The intelligent IC according to claim 1, wherein the intelligent IC is controlled by a combination of the three.
【請求項15】 副プロセッサ(2)が、主プロセッサ(1)により実行さ
れる主プロセスのタスクと相関関係にない副プロセスのタスクを実行することを
特徴とする請求項1に記載のインテリジェントIC。
15. The intelligent IC according to claim 1, wherein the sub-processor (2) executes a task of the sub-process which is not correlated with a task of the main process executed by the main processor (1). .
【請求項16】 副プロセッサ(2)が、主プロセッサ(1)の動作シグネ
チャを最小化または無効にする副プロセスのタスクを実行することを特徴とする
請求項1に記載のインテリジェントIC。
16. The intelligent IC according to claim 1, wherein the sub-processor (2) performs a task of a sub-process that minimizes or invalidates an operation signature of the main processor (1).
【請求項17】 2つのプロセスの組み合わせが、主プロセッサ(1)の動
作シグネチャを隠す副プロセッサ(2)の動作シグネチャを供給するように、副
プログラム(P2)が、主プロセスと相関関係がないプロセスを実施することを
特徴とする請求項1に記載のインテリジェントIC。
17. The sub-program (P2) is uncorrelated with the main process such that the combination of the two processes supplies the operation signature of the sub-processor (2) which hides the operation signature of the main processor (1). The intelligent IC according to claim 1, wherein the intelligent IC performs a process.
【請求項18】 副プロセッサ(2)が、中間の処理結果が決してプロセス
の途中で現れないように、主プロセッサ(1)のタスクと相関関係にあるタスク
を実行することを特徴とする請求項1に記載のインテリジェントIC。
18. The sub-processor (2) executes tasks correlated with tasks of the main processor (1) such that intermediate processing results never appear in the middle of the process. 2. The intelligent IC according to 1.
【請求項19】 副プロセッサ(2)が、主プロセッサ(1)に代替し、ま
た逆に、主プロセッサ(1)が、副プロセッサ(2)に代替することを特徴とす
る請求項1に記載のインテリジェントIC。
19. The method according to claim 1, wherein the sub-processor (2) replaces the main processor (1), and conversely, the main processor (1) replaces the sub-processor (2). Intelligent IC.
【請求項20】 副プロセッサ(2)が、プロセスの同期化と、各プログラ
ムを実行する各プロセッサから送られる2つのデータ値の比較とにより、主プロ
セッサ(1)のタスクと相関関係にあるタスクを実行することを特徴とする請求
項1に記載のインテリジェントIC。
20. A task correlated with a task of a main processor (1) by a sub-processor (2) by synchronizing processes and comparing two data values sent from each processor executing each program. The intelligent IC according to claim 1, wherein:
【請求項21】 副プロセッサ(2)が、主プログラム(P1)から副プロ
グラム(P2)を論理的に演繹することにより、主プロセッサ(1)のタスクと
相関関係にあるタスクを実行することを特徴とする請求項1に記載のインテリジ
ェントIC。
21. The sub-processor (2) executes a task correlated with the task of the main processor (1) by logically deducing the sub-program (P2) from the main program (P1). The intelligent IC according to claim 1, wherein:
【請求項22】 少なくとも2つのプロセッサを含むインテリジェントIC
であって、各プロセッサ(1、2)が、各プロセッサ用のRAM、ROM、およ
び主プロセッサ用の不揮発性メモリが接続されるバス(3、4)をそれぞれ有す
ることを特徴とする請求項1に記載のインテリジェントIC。
22. An intelligent IC including at least two processors
Wherein each of the processors (1, 2) has a bus (3, 4) to which a RAM, a ROM for each processor, and a non-volatile memory for the main processor are connected. 4. The intelligent IC according to 1.
【請求項23】 複数のプロセッサを含むインテリジェントICであって、 各プロセッサが、当該プロセッサ間の同一の多重化された通信バスに接続され
ており、 RAM、ROMおよび不揮発性メモリアレイが、当該多重化された通信バスに
接続されており、 共通の多重化された通信バスへのアクセスについてのコンテンションが、調停
回路(8)により管理されることを特徴とする請求項1に記載のインテリジェン
トIC。
23. An intelligent IC including a plurality of processors, wherein each processor is connected to the same multiplexed communication bus between the processors, and wherein the RAM, ROM, and nonvolatile memory array are connected to the multiplexed communication bus. 2. An intelligent IC as claimed in claim 1, wherein the contention for access to the common multiplexed communication bus is managed by an arbitration circuit (8) connected to the multiplexed communication bus. .
【請求項24】 副プロセッサ(2)が、主プロセッサ(1)により実行さ
れるプログラムと、相関関係にあるプログラム、または、相関関係にないプログ
ラムのどちらか一方を、順序には関係なく順次実行することを特徴とする請求項
1に記載のインテリジェントIC。
24. The sub-processor (2) sequentially executes a program executed by the main processor (1) and one of a correlated program and a non-correlated program, regardless of the order. The intelligent IC according to claim 1, wherein:
JP2000591492A 1998-12-28 1999-12-23 Intelligent IC Expired - Lifetime JP4030719B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR98/16485 1998-12-28
FR9816485A FR2787900B1 (en) 1998-12-28 1998-12-28 INTELLIGENT INTEGRATED CIRCUIT
PCT/FR1999/003275 WO2000039660A1 (en) 1998-12-28 1999-12-23 Smart integrated circuit

Publications (2)

Publication Number Publication Date
JP2002533825A true JP2002533825A (en) 2002-10-08
JP4030719B2 JP4030719B2 (en) 2008-01-09

Family

ID=9534542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000591492A Expired - Lifetime JP4030719B2 (en) 1998-12-28 1999-12-23 Intelligent IC

Country Status (12)

Country Link
US (1) US6839849B1 (en)
EP (2) EP1057094B1 (en)
JP (1) JP4030719B2 (en)
KR (1) KR100730351B1 (en)
CN (1) CN1124533C (en)
AT (1) ATE278981T1 (en)
BR (1) BR9908268A (en)
DE (1) DE69920880T2 (en)
FR (1) FR2787900B1 (en)
HK (1) HK1035238A1 (en)
TW (1) TW463101B (en)
WO (1) WO2000039660A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334882A (en) * 2006-06-09 2007-12-27 Internatl Business Mach Corp <Ibm> Method and system for masking hardware boot sequence
WO2008013083A1 (en) * 2006-07-25 2008-01-31 Nec Corporation Pseudo random number generator, stream encrypting device, and program
JP2009540405A (en) * 2006-06-09 2009-11-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Secure boot system, method and program spanning multiple processors

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10000503A1 (en) * 2000-01-08 2001-07-12 Philips Corp Intellectual Pty Data processing device and method for its operation
DE10061997A1 (en) 2000-12-13 2002-07-18 Infineon Technologies Ag The cryptographic processor
DE10061998A1 (en) * 2000-12-13 2002-07-18 Infineon Technologies Ag The cryptographic processor
FR2819070B1 (en) * 2000-12-28 2003-03-21 St Microelectronics Sa PROTECTION METHOD AND DEVICE AGAINST HACKING INTEGRATED CIRCUITS
JP3977592B2 (en) 2000-12-28 2007-09-19 株式会社東芝 Data processing device
US20020116633A1 (en) * 2001-01-19 2002-08-22 Takuya Kobayashi Data processor
DE10136335B4 (en) 2001-07-26 2007-03-22 Infineon Technologies Ag Processor with several arithmetic units
US8438392B2 (en) 2002-06-20 2013-05-07 Krimmeni Technologies, Inc. Method and system for control of code execution on a general purpose computing device and control of code execution in a recursive security protocol
US7203844B1 (en) * 2002-06-20 2007-04-10 Oxford William V Method and system for a recursive security protocol for digital copyright control
KR100456599B1 (en) * 2002-11-12 2004-11-09 삼성전자주식회사 Cryptographic apparatus with parallel des structure
GB2406684B (en) * 2002-12-12 2005-08-24 Advanced Risc Mach Ltd Processing activity masking in a data processing system
FR2849226B1 (en) * 2002-12-20 2005-12-02 Oberthur Card Syst Sa METHOD AND DEVICE FOR SECURING THE EXECUTION OF A COMPUTER PROGRAM
US7240228B2 (en) * 2003-05-05 2007-07-03 Microsoft Corporation Method and system for standby auxiliary processing of information for a computing device
US7587611B2 (en) * 2003-05-30 2009-09-08 Privaris, Inc. In-circuit security system and methods for controlling access to and use of sensitive data
US7363547B2 (en) * 2003-07-09 2008-04-22 Stmicroeletronics S.A. Error-detection cell for an integrated processor
JP2005056413A (en) * 2003-08-01 2005-03-03 Stmicroelectronics Sa Protection of multiple identical computations
JP3933647B2 (en) * 2004-05-10 2007-06-20 シャープ株式会社 Semiconductor device with power consumption analysis prevention function
EP1603088A1 (en) * 2004-06-03 2005-12-07 Nagracard S.A. Component for a security module
KR20060067584A (en) * 2004-12-15 2006-06-20 삼성전자주식회사 Smart card having hacking prevention function
FR2886027A1 (en) * 2005-05-20 2006-11-24 Proton World Internatinal Nv SEQUENCING ERROR DETECTION IN THE EXECUTION OF A PROGRAM
US8214296B2 (en) * 2006-02-14 2012-07-03 Microsoft Corporation Disaggregated secure execution environment
EP1855229B1 (en) * 2006-05-10 2010-08-11 Inside Contactless Method of routing input and output data in an NFC chipset
TW200745873A (en) * 2006-06-05 2007-12-16 Dmp Electronics Inc Dual computers for backup and being fault-tolerant system architecture
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US7774616B2 (en) * 2006-06-09 2010-08-10 International Business Machines Corporation Masking a boot sequence by providing a dummy processor
US20070288739A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for masking a boot sequence by running different code on each processor
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
FR2903549B1 (en) * 2006-07-10 2008-09-26 Inside Contactless Sa METHOD OF CONTROLLING APPLICATION IN AN NFC CHIPSET COMPRISING SEVERAL HOST PROCESSORS
FR2909471A1 (en) * 2006-12-05 2008-06-06 Logiways France Sa Semi-conductor security device for multimedia broadcasting network accessing system, has microprocessor executing access control of singletask host system and implemented on silicon surface on which two zones are arbitrarily distributed
JP4644720B2 (en) * 2008-03-10 2011-03-02 富士通株式会社 Control method, information processing apparatus, and storage system
EP2290575A1 (en) * 2009-08-31 2011-03-02 Incard SA IC Card comprising an improved processor
EP2367129A1 (en) * 2010-03-19 2011-09-21 Nagravision S.A. Method for checking data consistency in a system on chip
CN102654112B (en) * 2011-03-01 2014-10-08 哈尔滨工大金涛科技股份有限公司 Solar power generating station
KR20150011802A (en) 2012-03-20 2015-02-02 크림메니 테크놀로지스, 인크. Method and system for process working set isolation
CN102999780B (en) * 2012-12-04 2015-09-23 北京安捷融创信息技术服务有限公司 A kind of single SIM card with multi-CPU core
EP3152859A1 (en) * 2014-06-04 2017-04-12 Giesecke & Devrient GmbH Method for enhanced security of computational device with multiple cores
CN111526513B (en) * 2020-04-14 2022-02-11 北京交通大学 Intermittent cooperative interference method and device based on WLAN (Wireless local area network) protocol and storage medium

Family Cites Families (12)

* 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
FR2673295B1 (en) * 1991-02-21 1994-10-28 Sgs Thomson Microelectronics Sa DEVICE FOR DETECTING THE LOGICAL STATE OF A COMPONENT HAVING A VARIED IMPEDANCE FOLLOWING THIS STATE.
EP0584783A3 (en) * 1992-08-25 1994-06-22 Texas Instruments Inc Method and apparatus for improved processing
US5544246A (en) * 1993-09-17 1996-08-06 At&T Corp. Smartcard adapted for a plurality of service providers and for remote installation of same
US5594493A (en) * 1994-01-19 1997-01-14 Nemirofsky; Frank R. Television signal activated interactive smart card system
US5815577A (en) * 1994-03-18 1998-09-29 Innovonics, Inc. Methods and apparatus for securely encrypting data in conjunction with a personal computer
MY125706A (en) * 1994-08-19 2006-08-30 Thomson Consumer Electronics High speed signal processing smart card
AU6502896A (en) * 1995-07-20 1997-02-18 Dallas Semiconductor Corporation Single chip microprocessor, math co-processor, random number generator, real-time clock and ram having a one-wire interface
GB9525519D0 (en) * 1995-12-14 1996-02-14 At & T Global Inf Solution A card reader system
FR2745924B1 (en) * 1996-03-07 1998-12-11 Bull Cp8 IMPROVED INTEGRATED CIRCUIT AND METHOD FOR USING SUCH AN INTEGRATED CIRCUIT
FR2765361B1 (en) * 1997-06-26 2001-09-21 Bull Cp8 UNPREDICTABLE MICROPROCESSOR OR MICROCALCULATOR

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007334882A (en) * 2006-06-09 2007-12-27 Internatl Business Mach Corp <Ibm> Method and system for masking hardware boot sequence
JP2009540405A (en) * 2006-06-09 2009-11-19 インターナショナル・ビジネス・マシーンズ・コーポレーション Secure boot system, method and program spanning multiple processors
WO2008013083A1 (en) * 2006-07-25 2008-01-31 Nec Corporation Pseudo random number generator, stream encrypting device, and program

Also Published As

Publication number Publication date
CN1124533C (en) 2003-10-15
EP1477884A3 (en) 2006-04-12
FR2787900B1 (en) 2001-02-09
ATE278981T1 (en) 2004-10-15
BR9908268A (en) 2000-10-24
US6839849B1 (en) 2005-01-04
EP1057094B1 (en) 2004-10-06
EP1057094A1 (en) 2000-12-06
EP1477884A2 (en) 2004-11-17
TW463101B (en) 2001-11-11
FR2787900A1 (en) 2000-06-30
DE69920880T2 (en) 2005-10-27
JP4030719B2 (en) 2008-01-09
HK1035238A1 (en) 2001-11-16
KR20010041415A (en) 2001-05-15
WO2000039660A1 (en) 2000-07-06
DE69920880D1 (en) 2004-11-11
KR100730351B1 (en) 2007-06-20
CN1292109A (en) 2001-04-18

Similar Documents

Publication Publication Date Title
JP4030719B2 (en) Intelligent IC
US8838950B2 (en) Security architecture for system on chip
CN100517232C (en) System and method for masking a boot sequence by providing a dummy processor
CN100501756C (en) System and method for booting a multiprocessor device
CN101401103B (en) System and method for secure boot across a plurality of processors
CN100517233C (en) System and method for masking a hardware boot sequence
CN100583039C (en) System and method for selecting a random processor to boot on a multiprocessor system
US5937063A (en) Secure boot
CN100517234C (en) System and method for masking a boot sequence by running different code on each processor
JP6513463B2 (en) Semiconductor integrated circuit
CN117349818A (en) Remote authentication for multi-core processors
CN110799979B (en) Secure key storage for multi-core processors
US10678927B2 (en) Randomized execution countermeasures against fault injection attacks during boot of an embedded device
US7036002B1 (en) System and method for using multiple working memories to improve microprocessor security
JP2003521034A (en) Microprocessor system and method of operating the same
US7024511B2 (en) Method and apparatus for active memory bus peripheral control utilizing address call sequencing
US11651089B2 (en) Terminating distributed trusted execution environment via self-isolation
US7020730B2 (en) Method for operating a microprocessor configuration and microprocessor configuration
JP4477805B2 (en) Information processing device
JP2019534528A (en) Terminal chip integrated with security elements
Easter et al. S/390 parallel enterprise server CMOS cryptographic coprocessor
US11651090B2 (en) Terminating distributed trusted execution environment via confirmation messages
WO2002027478A1 (en) Instruction issue in a processor
JP2014147010A (en) Semiconductor device
JPH04106622A (en) Data processor and data processing system with use thereof, method for controlling operation of the system, and one-chip microcomputer setting method

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20031127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040622

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040811

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040910

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050428

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070607

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071017

R150 Certificate of patent or registration of utility model

Ref document number: 4030719

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101026

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111026

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111026

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121026

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121026

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131026

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term