JPH10507561A - 改良型集積回路と、該集積回路の使用方法 - Google Patents

改良型集積回路と、該集積回路の使用方法

Info

Publication number
JPH10507561A
JPH10507561A JP9531534A JP53153497A JPH10507561A JP H10507561 A JPH10507561 A JP H10507561A JP 9531534 A JP9531534 A JP 9531534A JP 53153497 A JP53153497 A JP 53153497A JP H10507561 A JPH10507561 A JP H10507561A
Authority
JP
Japan
Prior art keywords
integrated circuit
program
clock
sequence
random
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
JP9531534A
Other languages
English (en)
Other versions
JP3713515B2 (ja
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=9489969&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH10507561(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by セー・ペー・8・トランザツク filed Critical セー・ペー・8・トランザツク
Publication of JPH10507561A publication Critical patent/JPH10507561A/ja
Application granted granted Critical
Publication of JP3713515B2 publication Critical patent/JP3713515B2/ja
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
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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)【要約】 本発明は、改良型集積回路と、該集積回路の使用方法に関する。この改良型集積回路は、プログラムの少なくとも一つの命令シーケンスの実行と集積回路の内部または外部の電気信号との相関をなくする無相関手段を有する。

Description

【発明の詳細な説明】 改良型集積回路と、該集積回路の使用方法 本発明は、改良型集積回路とその使用方法に関する。本発明は、特にマイクロ プロセッサやマイクロコンピュータ、さらに、あらゆる保護を要するワイヤド論 理回路にも実施可能である。 マイクロプロセッサまたはマイクロコンピュータは、内部または外部から供給 される一つのクロック信号に対して基準付けされた一つまたは複数のタイミング 信号と同期して、メモリに記憶させたプログラムの連続する命令を逐次に実行す ることが知られている。 これにより、プログラム実行の様々な段階をクロック信号と相関させることが 可能である。なぜなら、特定の命令の実行は、それ自体、いくつかの段階に分割 され、それらの段階は、連続する一個または複数のクロックパルスでタイミング が取られるからである。即ち、通常のマイクロプロセッサでは、その動作は、一 般に、基準クロックを移相しながら必要な電気パルスを発生させるシーケンサ回 路から発するクロック信号で周期的にタイミングが取られているからである。動 作のシーケンスは、様々なレジスタ、メモリ、内部装置にアクセスするのに必要 な 時間だけでなく、特に、様々な論理回路を介してバスで信号を伝送する時間も考 慮に入れなければならない。従って、各命令の始まりと終わりの時点が完全に分 かれば、理論上、所定の時点にプロセッサの処理装置で実行される命令が何であ るか知ることが可能である。なぜなら、実行されるプログラムはあらかじめ定め られた一連の命令で構成されているからである。 例えば、プログラムの開始から、または処理装置のリセットから、あるいはま た、ある事象もしくは外部または内部の基準信号から経過した時間により、送り 出されたクロックパルスの数を決定することができる。 このように、マイクロプロセッサまたはマイクロコンピュータでのプログラム 実行を観察できるということは、マイクロプロセッサまたはマイクロコンピュー タを高い安全性を要求されるアプリケーションに利用する時には、重大な不具合 となり得る。なぜなら、このようにすれば、悪意を持った人間が、プロセッサが 置かれている連続した状態を知り、これらの情報を利用して、いくつかの内部処 理結果を知ることができるからである。 例えば、ある外部信号で与えられる動作は、内部機密情報の テスト、またはメッセージの解読、あるいはまた、いくつかの情報の保全性検査 のように、定められたセキュリティ作業の結果に応じて様々な時点で発生する。 考慮に入れられる時点に応じて、外部信号は、その結果について、あるいは情報 の機密内容について、また、暗号計算の場合には、利用される暗号化秘密キーに ついても、情報を与えることになる。 一方、モデルST16XYの名称でSGS Thomson社が商品化したマ イクロプロセッサまたはマイクロコンピュータが知られているが、それらに含ま れるマイクロプロセッサには、乱数発生器が組み込まれており、例えば暗号化ま たは暗号解読の計算に利用される乱数を得ることができる。 本発明の目的の一つは、回路に上記タイプの探索を禁止する手段を設け、さら に一般的に言えば、不正であろうとなかろうと回路の内部動作を観察できないよ うにすることにある。 この目的は、改良型集積回路が、あるプログラムの少なくとも一つの命令シー ケンスの実行と、回路の内部または外部の電気信号との相関をなくする手段を有 することにより、達成される。 別の特徴によれば、回路の電気信号は、タイミング信号か、 同期信号か、あるいはステータス信号である。 別の特徴によれば、無相関手段は、配列が時間的にランダムである一連のクロ ックパルスまたはタイミングパルスを発生させる回路を一つまたは複数含む。 別の特徴によれば、無相関手段には、プロセッサでのプログラムシーケンスの 実行から同期解除することのできる乱数発生器を含む。 別の特徴によれば、無相関手段は、短すぎるタイミングパルスを排除できるク ロック較正回路を含む。 別の特徴によれば、無相関手段は、割込み乱数発生システムを含む。 別の特徴によれば、無相関手段は、命令と実行時間が異なりランダムに選択さ れる二次シーケンスの実行を含む。 別の特徴によれば、副次処理の可変時間は、乱数発生器から提供される値によ って決まる。 別の特徴によれば、副次処理は、主プログラムの一般動作コンテキストを復元 する必要なく主プログラムに戻ることができるように、このようなコンテキスト を変更しない。 別の特徴によれば、副次処理は、主プログラムのコンテキス トを復元してから、主プログラムにプロセッサの制御を回復させる。 別の特徴によれば、主プログラムは、一つまたは複数の無相関手段を許可また は阻止できる。 別の特徴によれば、回路は、プロセッサのタイミング信号、同期信号、あるい はステータス信号の移相手段を有する。 別の特徴によれば、これらの移相手段は、プロセッサのタイミング信号、同期 信号、あるいはステータス信号のランダム移相を発生させる。 別の特徴によれば、ランダム移相手段は、プログラムの実行中に、外部クロッ クから部分的にまたは完全にプロセッサの動作を同期解除する。 別の特徴によれば、乱数発生器は、乱数値で初期設定されるフィードバック式 または他の型式のカウンタを利用する。 別の特徴によれば、初期設定値は、不揮発性メモリから得られる。 別の特徴によれば、初期設定値は、プログラムの実行中に変更される。 別の特徴によれば、乱数発生器は、初期設定値で初期設定さ れる暗号型式のアルゴリズム、またはチョッパ機能を利用する。 別の特徴によれば、動作のシーケンスは、様々なレジスタ、メモリ、内部装置 にアクセスするのに必要な時間だけでなく、特に、様々な論理回路を介してバス で信号を伝送する時間も考慮に入れる。 本発明の別の目的は、該集積回路の使用方法を提案することにある。 この目的は、以下の方法によって、達成される。 ランダムパルス形のクロックを用いて、一つまたは複数の命令もしくは演算の シーケンスを開始させる、 割込みシーケンスをランダムに開始させる、 主要な一連の命令または演算の実行中に、ランダムな一連の命令または演算の 処理を開始させる、あるいは 上記の可能性の少なくとも二つを組み合わせる。 本発明のその他の特徴と利点は、添付図面を参照して下記の説明を読めば、さ らに明確になる。添付図面において、 第1図は、本発明の第一の実施例の電子回路の基本図を示す。 第2図は、本発明の簡略化した第二の実施変形例を示す。 第3A図は、較正回路の実施図を示す。 第3B図は、較正回路のシーケンス論理図を示す。 第4A図は、移相回路の実施論理回路図を示す。 第4B図は、上記回路の信号シーケンスの図を示す。 第5図は、本発明の第三の実施変形例を示す。 第6図は、内部クロックの実施論理回路図を示す。 第7A図は、乱数発生器の実施論理図を示す。 第7B図は、乱数発生器の各セルの実施論理図を示す。 第8図は、ランダムに選んだ副プログラムシーケンスの一例を概略的に示す。 図で説明するマイクロコンピュータは、例えば保護電源付きのRAM型、または ROM、PROM、EPROM、EEPROM、またはフラッシュ型のRAMな ど、あるいはこれらのメモリの組合せのようなプログラム可能な、あるいはプロ グラム可能でない少なくとも一つの不揮発性メモリと直結したRAM型の汎用記 憶素子を有するマイクロプロセッサを組み込んだモノリシック集積回路を意味す る。 次に、第1図を用いて本発明を説明する。第1図では、CPU(1)は、内部 クロック(11)で動作する乱数発生器(2)を備えている。このようなプロセ ッサとしては、既述の通り、特にST16XYというマイクロコンピュータファ ミリが知られている。しか しながら、入力の少なくとも一つにフィードバックされる並列入出力シフトレジ スタであって、乱数発生器を構成するために内部クロックでシフトのタイミング を取るシフトレジスタを利用する上記マイクロコンピュータまたはマイクロプロ セッサは、マイクロプロセッサのマシンサイクルの外部シーケンスクロックを使 って、レジスタの内容の読取り命令を実行する。本発明により、擬似乱数ではな くて乱数を発生させることができ、これは、乱数発生器の内部クロックが、外部 クロックの多周波数を持つことにより、外部クロックに対して、ランダムに移相 されるという事実に基づいている。 本発明の特徴は、主プログラムを実行するマイクロプロセッサを、外部シーケ ンスクロックにより相関された完全同位相の動作から、無相関の動作に移すこと を可能にするいくつかの要素を該マイクロプロセッサに付加することで、このよ うな乱数発生器付きマイクロプロセッサの原理を利用することにある。このよう なマイクロプロセッサでは、必要に応じて、また、選択される実施例に従い、所 定の命令の実行時間は、同じ命令を数回実行した場合、同じにはならない。また は、このようなマイクロプロセッサでは、たとえ、ある命令シーケンスが主プロ グラムで何度か実行される場合にも、実行時間は様々となる。即ち、ある命令シ ーケンスの実行時間がそれ自体様々であり、同一命令シーケンスの実行時間は様 々となる。これは、第1図の回路で得られ、ここでは、乱数発生器(2)及び内 部クロック(11)は、マイクロプロセッサまたはマイクロコンピュータの外部 クロックCLKEに対して移相され、非同期化された一定の周波数の自由発振器 で実現される。従来、当業者は、クロックが不規則であるようなマイクロコンピ ュータまたはマイクロプロセッサの動作にタイミングを合わせるようなことはし なかった。逆に、必要な電気パルスを発生させるシーケンサ回路から一般的に生 成されるクロック信号に従う動作に対して周期的にタイミングが取られるように 、あらゆる処置を講じ、特に、基準クロックを移相させる方法を使った。 これは、特に、動作のシーケンスが、様々なレジスタ、メモリ、内部装置にア クセスするのに必要な時間だけでなく、様々な論理回路を介してバスで信号を伝 送する時間も考慮に入れる必要があるという事実による。本発明では、データバ ス(3)を介して様々な装置に乱数値を提供し、その乱数値を以下の様々な要素 にロードするか、あるいはその出力(22)に変動 周期性のパルス信号を発生させるために、乱数発生器(2)を利用する。従って 、本発明のマイクロプロセッサまたはマイクロコンピュータでは、ランダムに配 列されたクロックパルスから、ロードと命令の実行に必要な信号を発生できる。 ただし、このパルスは、プロセッサ(1)が様々な演算を実行するだけの遅延を 持つように、最小のサイクル時間を維持しなければならない。マイクロプロセッ サ(1)におけるクロックの役目をする信号を、較正回路(9)に送らなければ ならない。この較正回路の出力(95)を多重化回路(18)に送る。その多重 化制御入力(19)は、乱数発生器(2)、あるいは主プログラム(5)で決定 される値がロードできるレジスタ(8)から一ビットないし数ビットの信号を受 け取る。このレジスタ(8)に乱数値をロードする時、プロセッサに送られるク ロック信号の選択はランダムに決定されるが、このレジスタ(8)に、主プログ ラムで決定される値をロードする時には、マイクロプロセッサのシーケンスクロ ックが外部クロックCLKEであるか、または無相関クロックCLK2であるか どうか決定するのは主プログラムである。同様に、レジスタ(8)の一ビットま たは数ビットが、接続線(82)を介して、論理回路(28)に送 られ、そこで、レジスタ(8)のビット(一つまたは複数)に応じて、内部クロ ック信号(11)を乱数発生器(2)に送ることが妥当であるかどうか確認する ことができる。従って、この乱数発生器は、外部クロックCLKEの場合でも、 該信号を、接続線(26)と論理回路(28)を介して受け取ることで、動作す ることができる。後者の場合には、発生する値は、擬似乱数値となる。乱数発生 器(2)は、回路(28)を介してレジスタ(8)のビット(一つまたは複数) で妥当と確認される内部クロック(11)を利用して動作することができ、この ような場合、発生する値は、乱数値となる。乱数発生器(2)の出力(22)に 発生し、較正回路(9)で受け取られる信号1は、周期性がランダムか、あるい は擬似ランダムに変化するパルス信号に相当する。この周期性が擬似ランダムに 変化するという事実は、あまり面倒なことではない。なぜなら、後でわかるよう に、較正回路(9)は、内部クロック信号(FRC)を動作させて、その内部ク ロック信号自体、別の周波数と、外部クロック信号CLKEに対する移相、従っ て、この外部クロック信号に同期化された擬似ランダムクロック信号に対する移 相により、無相関を再びもたらすからである。 この装置には、乱数発生器(2)が乱数をロードするか、あるいは主プログラ ム(5)が、このプログラムで決定される値をロードするためのレジスタR2も 含まれる。このレジスタR2は、較正回路(9)の出力(95)から発する無相 関クロック信号CLK2を、入力の一つに受け取る割込みトリガ論理回路(4) により、全て、または一部、利用する。回路(4)の出力は、レジスタ(8)の 一つまたは複数のビットで制御されるゲート(48)を介して、CPUの割込み 入力(12)に送られる。このレジスタ(8)の一つまたは複数のビットは、い くつかのマイクロプロセッサ上に標準的な方法で得られる割込みのマスキング制 御の役割を果たしている。プロセッサの割込み入力(12)に割込みが示される と、例えば、オペレーティングシステムか、または副プログラムに含まれる割込 み処理プログラムは、割り込まれたシーケンスの主プログラムとは異なる処理時 間を取り入れる。割込みによる動作モードには、二つの段階があることを理解す る必要がある。 第一の段階では、主プログラムと呼ばれるプログラムで制御されるマイクロプ ロセッサは、例えば、これらの割込みのマスク解除により、無相関の動作を許可 する。 第二の段階では、この割込みは、動作を自動的に副プログラムに向かわせる。 この演算は、主プログラムを働かせることなく行われる。 最後に、本発明の装置には、後でわかるように、主プログラム(5)で呼び出 されるたびに異なる様々な持続時間を発生させることのできる副プログラム(6 )も含まれる。従って、第1図に示される実施変形例により、主プログラム(5 )は、無相関クロックCLK2を用いて、一つまたは複数の命令の実行シーケン スを開始させることにより、あるいはある命令シーケンスの実行中に、ランダム に開始する割込み管理を取り入れるかどうか決定することにより、あるいは命令 シーケンスの実行中に、変動する処理時間も発生させる副プログラム(6)への ジャンプを取り入れるかどうか決定することにより、あるいは決定しないことに より、あるいはまた、以上の様々な可能性を組み合わせることにより、所望の保 護の度合いを実現することができる。このようにして、副プログラム(6)は、 本発明の変形例において、第8図に示される通り、ランダムに呼び出される複数 のシーケンス(61、62、63...6n)で構成され、各シーケンス(0、 1、2、または2n-1)は、各ブランチに 変動する処理時間をもたらす異なる命令のグループと、マイクロプロセッサの異 なる動作を利用する。これらのシーケンスは、例えば、主プログラムが副プログ ラムへのジャンプを行った後で、ランダムに呼び出され、副プログラムは、段階 (第8図の64と65)で、メモリ(7)から得られた乱数値Vを、マイクロプ ロセッサ(1)の二つのレジスタ、例えばR10とR11にロードする。副プロ グラムは、この値Vを段階的に増分し、次に、副プログラムは、段階66におい て、増分されたこの値(V+1)を不揮発性メモリNVM(7)に記憶させるよ う命令する。不揮発性メモリ(7)に記憶されたこの値は、後の利用に充てられ る。次に、段階67の副プログラムは、該副プログラム(6)のシーケンス(6 1、62、63...6n)の中から実行すべきプログラムシーケンスを指定し 得る値rを得るために、R10からnビットの上位ビット、または下位ビットを 抽出する。副プログラムの各シーケンスは、異なる処理をもたらす。例えば、シ ーケンス(0)は、まず段階611では、マイクロプロセッサのレジスタR11 の内容をレジスタR12に転送することにある。段階612では、R12の内容 は、桁上げ値(CARRY)で加算され、次に、段階613では、 レジスタR11の内容とレジスタR12の内容とで排他的論理和が実行され、そ の結果がレジスタR12に入れられる。段階614では、プロセッサがR12を 段階的に減分する。段階615では、R12がゼロに等しいかどうか決定するた めに、R12の値に対してテストを行う。R12=0の場合には、プロセッサは 、主プログラムの実行に戻る。逆の場合には、副プログラム(61)は、段階6 16が行なわれ、その段階でレジスタR10の内容のローテーションが行われる 。次の段階は、レジスタR10から定められた重みのnビットを抽出して、次に 、副プログラムの値rで定められたシーケンスの一つにアクセスすることにある 。このようにして、例えば、段階(6n1)では、R10とR11の値の乗算の 結果をR13とR14に転送するシーケンス(2n-1)にアクセスできる。段階 (6n2)では、このシーケンスは、R13とR14のローテーションを行い、 次に、段階(6n3)では、R13の内容をR11に転送する。段階(6n4) では、R11は、段階的に減分され、次に、段階(6n5)では、R11の値に 対してテストを行う。このテストは、R11の内容が3であるかどうか決定する ことにある。もしそうであれば、主プログラムに戻り、もしそうで なければ、このプログラムは、段階(6n6)で、R10の左回りのローテーシ ョンが行なわれ、次に、命令(67)が実行され、副プログラムの新たなシーケ ンスにアクセスする。 副プログラムを無相関クロックまたは割込み管理と組み合わせることを検討す る場合、このような組合せにおいては、より簡単な処理をもたらす副プログラム で十分である。簡略化された副プログラムは、以下の命令で構成である。 MOV B,R2は、マイクロプロセッサのレジスタBにレジスタR2の内容 をロードすることである。 LOOP DCX Bは、レジスタBを値Aだけ段階的に減分することである 。 JNZ B LOOPは、レジスタBの値に対してテストを行い、その値がゼ ロと異なる場合には、ラベルLOOPに戻ることにある。 このシーケンスは、主プログラムの命令に戻す命令で終了するが、その命令は 、副プログラム(6)へのジャンプの前に最後の命令を実行した直後に出された ものである。主プログラム(5)のある命令は、乱数発生器(2)で提供された 乱数値を、副プログラム(6)へのジャンプの前に、あらかじめレジスタ R2にロードする。従って、副プログラムを実行すると、異なる持続時間が常に 発生する。 持続時間の異なる副プログラムの別の実施例では、一連の命令が記憶されてい る副プログラム(6)に対応するプログラム記憶領域を定める。ADC、SUB 、ANA、MOVなどのように短いマシンサイクル数を要する命令に対して、好 ましくは、異なるマシンサイクル数を要する命令を選択し、例えばJ、CALL 、RET、RST、PCHL、INX等の命令を用いて実行する。それゆえ、こ の記憶領域には、互いにマシンサイクル数の異なる実行時間を有するいくつかの 命令が入っている。主プログラム(5)には、インデックスがレジスタR2の内 容に一致し、かつ、アドレスが記憶域(6)の第一のアドレスに一致するインデ ックス付きアドレスへのジャンプ命令が含まれる。従って、主プログラム(5) のこの命令を実行することにより、プロセッサ(1)は、実行時間がアドレス指 定位置に応じて異なるような命令をランダムにアドレス指定する。周知のように 、乱数発生器(2)は、最初に、ある変数で初期設定される。この初期変数は、 不揮発性メモリ(7)に入っており、例えば、マイクロプロセッサ(1)の停止 前に乱数発生器(2) で発生した最後の乱数値で構成される。従って、実行しようとするプログラムで 制御されるマイクロプロセッサは、例えば、レジスタR2またはR8のローディ ングによるか、あるいは副プログラムの呼出しにより、このプログラムの命令実 行のシーケンスの無相関手段を、このプログラムを介してトリガできる。 第2図は、本発明の簡略化した別の実施変形例を示す。この変形例では、レジ スタ(8)の内容は、マルチプレクサ(18)を制御して、外部クロックCLK Eがプロセッサ(1)に送られるものか、あるいはただ単に、無相関クロックC LK2がCPU(1)で利用されるものかを決定する。このレジスタ(8)では 、持続時間が異なる命令実行シーケンスを生成しながら、所定の時点にセキュリ ティモードの始動を決定するように作成されている主プログラム(5)のある命 令の実行により、バス(30)によるローディングが行われる。乱数発生器(2 )は、バス(31)により、不揮発性メモリ(7)と接続されており、例えば、 モノリシック回路を新たに接続する際に、乱数発生器が、前の初期値とは異なる 値で再初期設定されるように、発生した最後の値を記憶させることができる。こ のバス(31)は、場合によっては、プロセッサ(1)で制御されることもある 。 別の変形例では、メモリ(7)への書込みは、ワイヤド論理で制御できる。 別の実施例では、第4A図で示されるように、クロック回路の出力に可変移相 回路(45)を設けることができる。この移相回路は、例えば、回路(11)か ら発する信号FRC、あるいは回路(9)の出力(95)から提供される再較正 信号FRCでタイミングを取るシフトレジスタD1〜D5で構成され、分周器( 452)で分周される信号I(出力(22)から供給される)を移相する。移相 回路(45)の出力は、マルチプレクサ(451)MUXで構成され、このマル チプレクサにより、直接的には乱数発生器(2)から、また、間接的にはバス( 3)を介して主プログラム(5)か、または副プログラム(6)からロードされ るレジスタRMの内容に応じて、シフトレジスタの出力信号Q1、Q2、... .Q5のいずれか一つを抽出することができる。この場合、出力で送り出される クロックSの前縁は、シフトレジスタの中央段で供給される中央パルスに対して 、乱数によって定まる値だけ遅れるか、または進み、その分だけ、実行中のプロ グラムの命令の実行シーケンスを遅らせるか、または進ませる。 別の実施例では、乱数発生器と移相回路は、とくに重要ないくつかの周期の間 、常時利用できるが、このような段階の間、プロセッサは、ランダムなタイミン グに合わせられる。なぜなら、各クロックパルスを隔てる時間間隔は様々であっ て、標準的なプロセッサの場合のように一定ではないからである。 プロセッサで実行されるプログラムは、実際のセキュリティオペレーティング システムでプロセッサ(1)の動作が制御されるように編成可能であり、このオ ペレーティングシステムで、プロセッサが実行するプログラムの種類に応じて利 用すべきスクランブルのタイプが決まる。このような場合、乱数発生器、較正装 置、移相回路の割込みや制御、および主プログラムと副プログラムの開始により 生じる様々な信号を、適切に管理するのは、このオペレーティングシステムであ る。副プログラムは、該副プログラム専用の時間を利用し、特に主プログラムに 役立ち得る処理を実行することにより、単純な時間のひきのばしとは別の役目を 実現するために利用できる。従って、このような処理は、例えば、後で主プログ ラムで利用される計算の準備として構成できる。もちろん、プロセッサがマルチ プログラミングとして機能し、それらのアプリケーションプログラムが、い ずれも主プログラムと見なせる時には、本発明のメカニズムを容易に一般化する ことができる。上記の乱数発生器とクロック移相回路は、個々の実施上の問題を 有するものではなく、本発明とは関係しない他の用途にも使用されるものであり 、当業者には周知である。 割込みを利用しない本発明の第五の簡略化実施例も実現することができる。主 プログラムを保護することが必要な時には、主プログラムはそれ自体、様々なシ ーケンスをスクランブルするように、該主プログラムで選択される時点か、また は開始時点か、あるいは処理中に、ランダムな長さの処理を生成する副プログラ ムを始動させる。 次に、本発明を実施し得る様々な回路を、その他の図を参照して説明する。第 7A図と第7B図に示される乱数発生器は、例えば、それぞれ、二つの入力を有 する排他的論理和ゲート(23)と、それに接続されたDタイプのフリップフロ ップ(24)であって、その出力(Q)が次のセルの排他的論理和ゲートの二つ の入力の一つに接続されているものから成るセルのグループ(B0〜B7)で構 成される。排他的論理和ゲートの第二の入力は、初期化ローディングできるよう 、バス(3) から到来するデータ入力信号を受け取る。セル(B0)と(B3)は、最後のセ ル(B7)からのフィードバック信号(25)を受け取る。最後のセル(B7) の出力(22)は、ランダムに変わる周期性を持ったパルス信号(I)を送出す る出力でもある。次に、この信号(I)は、第3A図に示される較正回路(9) で使用される。第3B図は、第3A図の較正回路(9)の入力信号と出力信号の シーケンスを示している。この較正回路は、三つの入力を有するNANDゲート 二つ(91、91)から成り、それぞれ一つの入力に、乱数発生器(2)の出力 (22)からの信号Iを受け取る。第一のNANDゲート(91)は、JKタイ プのフリップフロップ(93)の出力(Q2)を受け取るが、一方、別のゲート (90)は、このフリップフロップ(93)の反転出力(NQ2)を受け取る。 フリップフロップ(93)は、そのクロック入力にクロック信号FRCを受け取 り、回路内の内部クロックを形成する。この内部クロックは、例えば、第6図に 示される回路で発生させる。フリップフロップ(93)のJとKの入力は、「1 」の論理レベルを表す供給電圧に接続される。内部クロック信号FRCは、イン バータ(92)により、NANDゲート(90、91)の各 第三の入力にそれぞれ送られる。第一のNANDゲート(90)の出力は、第二 の論理フリップフロップ(94)の「1」セット入力に送られ、第二のNAND ゲート(91)の出力は、第二のフリップフロップ(94)のゼロリセット入力 に送られる。第二のフリップフロップ(94)は、そのクロック入力と入力(J )が、「1」のレベルを表す供給電圧に接続され、また、その入力(K)は、ゼ ロのレベルを表す供給電圧に接続されている。第二のフリップフロップ(94) の出力(Q1)は、接続線(95)により供給される信号CLK2をマルチプレ クサ(18)に送る。内部クロックFRCは、第6図の回路で規定される最小パ ルス幅Tmを有する周期パルス信号を接続線(111)に送る。回路(11)は 、例えば、一連の(この場合、五つ)インバータ(111〜115)で構成され ており、これらのインバータはそれぞれ、定められた伝播時間、例えば10ナノ 秒の伝播時間を持つことから、出力FRCにおいて、50ナノ秒のパルスを得る ことができる。この出力FRCは、第一のインバータ(111)の入力に接続線 (116)によりフィードバックされ、また、第一のインバータ(111)の入 力には、抵抗(117)を介して、5ボルトの供給電圧も供給 される。パルス幅は、50ナノ秒に選択されるが、インバータのゲート数を変え て、Tm値を変化させることは言うまでもない。第3B図に示されるように、こ のTm値は、第3A図の論理回路(9)で使用され、ランダムに変わる周期性を 持ったパルス信号(I)から、パルス信号CLK2を発生させる。ただし、この パルス信号CLK2は、互いに幅の異なるパルスが最小値Tmを有し、かつ、そ の周期性も異なっており、外部クロックCLKEに対して非同期化されている。 なぜなら、内部クロックは、集積回路に電圧を印加すると直ちに動作し、該クロ ックの初期周期性が外部クロックの周期性と異なる場合には、スタート時に、ク ロックが同期化される可能性は全くないからである。較正装置(9)の信号は、 内部サイクルを実行するために、プロセッサに必要な最小時間Tmの少なくとも 二倍に等しい周期を有している。信号CLK2の各前縁は、少なくともTm値だ け互いに離れているが、前縁の位置と前縁の正確な持続時間は予測不可能である 。 実施変形例がどのようなものであれ、主プログラムは、変形例に応じて、乱数 発生器か、ランダムクロックか、副プログラムか、ランダム割込みか、あるいは これら少なくとも二つの装 置の組合せによって定まる予測不能なシーケンスに従って実行される。主プログ ラムがセキュリティの面で重要でない機能を実行する時には、プログラムは、例 えば外部クロックCLKEに依存して、その結果を外部に与えるか、あるいはま た、処理時間を最適化するように無相関割込みをマスクすることができる。セキ ュリティ機能を使うと直ちに、主プログラム(5)は、ランダムクロックの有効 性を確認することにより、または様々な動作信号を「スクランブル」するように 無相関の割込み(一回、または二回)で主プログラムに対してクロックを非同期 化することにより、あるいはまた、副プログラムに頼ることにより、ランダムモ ードでの動作が可能となる。 乱数発生器(2)として、例えば、異なる周期を有するフィードバック式カウ ンタを使用することができる。このカウンタは、不揮発性メモリ(7)に記憶さ せた「種」(情報)により、初期設定される。プロセッサが始動する時、カウン タは、初期値として記憶させた値を考慮に入れる。計算中、または計算の終了時 に、不揮発性メモリ(7)を、種の役目を果たす新たな値で更新して、次の初期 設定の時に、カウンタを初期設定する。割込み発生回路(4)は、例えば、発生 した数が、プログラム のいくつかのデータと同等であるような特徴をいくつか有する時に、上記の割込 みパルスを発生できるように構成されている。この回路(4)はまた、一つまた は複数のカウンタの一ビットないし数ビットの値を取ることもできる。第5図に 示されるように、暗号アルゴリズム(69)を利用して、あるいは上記の「種」 (情報)で初期設定されるチョッパ機能を利用して、非常に優れた乱数発生器を 実現することも可能である。このような場合、乱数発生器は、プロセッサ(1) で実行されるアルゴリズムを使用するプログラムの形式を取る。例えば、不揮発 性メモリ(7)に記憶した変数、また他方ではバッファレジスタ(41)に記憶 させる結果を生成するためのキーを受け取って暗号アルゴリズムを使用するプロ グラムの形式を取る。次に、バッファレジスタに記憶させた結果は、ソフトウェ アまたはハードウェアのデコーダ装置(42)で処理されて、無相関クロック信 号CLK2、あるいは、プロセッサ(1)向けの割込み信号を発生させる。この 乱数発生器は、上記の様々な乱数を発生させるために使用される。この乱数発生 器を実現する別の仕方は、「ノイズ」と呼ばれるダイオードの端子に発生する電 圧を増幅し、ノイズパルスがあまりにも急激に動作を妨害するこ とのないように、低域フィルタに通して信号を成形することにある。 クロック移相回路では、上記のものとは別の可能性が存在する。例えば、プロ セッサのクロックの10倍の大きさのクロックで制御されるシフトレジスタがあ る。このレジスタが10個のフリップフロップから成っている場合には、十の入 力と一つの出力を有するマルチプレクサを用いてプロセッサで選択できる位相の 互いに異なる十個のパルスが使える。マルチプレクサの出力は、前述の通り、プ ロセッサの内部クロック信号を出すために使用される。 別の実施例は、上記の乱数発生器と同一タイプの回路を使用して、カウンタの 様々な段階からパルスを抽出することにある。このような場合、プロセッサは、 時間的にランダムに配列されたパルスによりタイミングが取られる。 別の実施例は、乱数発生器の信号を利用して、シフトレジスタから、これらの パルスを抽出することにある。このようなメカニズムを精巧にするために、きわ めて多数の組合せが可能であるが、本発明の原理は常に適用される。 第1図の実施変形例は、最も完成されたものである。マイク ロプロセッサタイプまたはマイクロコンピュータタイプのモノリシック回路には 、図に示される要素の一つまたは複数、あるいは任意の組合せが組み込まれるこ とは、言うまでもない。 従って、変形例により、このモノリシック回路には、マイクロプロセッサ、乱 数発生器、内部クロック(FRC)、および無相関クロックを形成する較正回路 が組み込まれる。 別の変形例では、モノリシック回路には、マイクロプロセッサ、乱数発生器、 割込み発生回路が組み込まれる。 別の変形例では、モノリシック回路には、マイクロプロセッサ、副プログラム 、および無相関、較正クロック回路が組み込まれる。 別の変形例では、モノリシック回路には、マイクロプロセッサ、無相関、較正 クロック回路、および割込み回路が組み込まれる。 モノリシック回路のその他の変形例では、マイクロプロセッサの代わりに、マ イクロコンピュータを用いる。 モノリシック集積回路のその他の変形例では、マイクロプロセッサの代わりに 組合せ論理を用いることにより、特定の用途に対して、限られた数の命令を実行 することができる。このよ うな場合に、同一の安定化メカニズムが集積回路に用いられることは言うまでも ない。 当業者に理解できるその他の変形例も、本発明の範囲に属している。

Claims (1)

  1. 【特許請求の範囲】 1.プログラムの少なくとも一つの命令シーケンスの実行と集積回路の内部また は外部の電気信号との相関をなくする無相関手段を有することを特徴とする改良 型集積回路。 2.マイクロプロセッサまたはマイクロコンピュータの電気信号が、タイミング 信号、同期信号、あるいはステータス信号であることを特徴とする請求の範囲第 1項に記載の集積回路。 3.無相関手段が、配列が時間的にランダムである一連のクロックパルスまたは タイミングパルスを発生させる回路を一つまたは複数含むことを特徴とする請求 の範囲第1項に記載の集積回路。 4.無相関手段が、プロセッサでのプログラムシーケンスの実行から同期解除す ることのできる乱数発生器を含むことを特徴とする請求の範囲第1項に記載の集 積回路。 5.無相関手段が、短すぎるタイミングパルスを排除し得るクロック較正回路を 含むことを特徴とする請求の範囲第4項に記載の集積回路。 6.無相関手段が、割込み乱数発生システムを含むことを特徴 とする請求の範囲第1項に記載の集積回路。 7.無相関手段が、命令と実行時間が異なり、ランダムに選択される二次シーケ ンスの実行を含むことを特徴とする請求の範囲第1項に記載の集積回路。 8.副次処理の様々な時間が、乱数発生器から提供される値によって定まること を特徴とする請求の範囲第7項に記載の集積回路。 9.副次処理が、主プログラムの一般動作コンテキストを復元する必要なく主プ ログラムに戻ることができるように、該コンテキストを変更しないことを特徴と する請求の範囲第7項に記載の集積回路。 10.副次処理が、主プログラムのコンテキストを復元してから、主プログラム にプロセッサの制御を回復させることを特徴とする請求の範囲第7項に記載の集 積回路。 11.主プログラムが、一つまたは複数の無相関手段を許可または阻止できるこ とを特徴とする請求の範囲第1項に記載の集積回路。 12.プロセッサのタイミング信号、同期信号、あるいはステータス信号の移相 手段を有することを特徴とする請求の範囲第 1項に記載の集積回路。 13.移相手段が、プロセッサのタイミング信号、同期信号、あるいはステータ ス信号のランダム移相を発生させることを特徴とする請求の範囲第12項に記載 の集積回路。 14.ランダム移相手段が、プログラムの実行中に、外部クロックから部分的に または完全にプロセッサの動作を同期解除することを特徴とする請求の範囲第1 3項に記載の集積回路。 15.乱数発生器が、乱数値で初期設定されるフィードバック式または他の型式 のカウンタを使用することを特徴とする請求の範囲第4項に記載の集積回路。 16.初期設定値が不揮発性メモリから得られることを特徴とする請求の範囲第 15項に記載の集積回路。 17.初期設定値がプログラムの実行中に変更されることを特徴とする請求の範 囲第16項に記載の集積回路。 18.乱数発生器が、初期設定値で初期設定される暗号型式のアルゴリズム、ま たはチョッパ機能を利用することを特徴とする請求の範囲第15項に記載の集積 回路。 19.動作のシーケンスが、様々なレジスタ、メモリ、及び内部装置にアクセス するのに必要な時間だけでなく、様々な論理 回路を介してバスで信号を伝送する時間も考慮することを特徴とする請求の範囲 第1項に記載の集積回路。 20.プログラムの少なくとも一つの命令シーケンスの実行と集積回路の内部ま たは外部の電気信号との相関をなくする無相関手段を含む集積回路の使用方法で あって、 ランダムパルス形のクロックを用いて、一つまたは複数の命令もしくは演算の シーケンスを開始させ、 割込みシーケンスをランダムに開始させ、 主要な一連の命令または演算の実行中に、ランダムな一連の命令または演算の 処理を開始させ、あるいは 上記の可能性の少なくとも二つを組み合わせる、 各段階を含むことを特徴とする方法。 21.少なくとも一つのプログラムと、該プログラムの命令実行のシーケンスの 無相関手段により制御されるマイクロプロセッサを含む集積回路であって、前記 プログラムの一部が、無相関手段の動作を許可、変更、または阻止できることを 特徴とする集積回路。 22.前記無相関手段が、配列が時間的にランダムであるタイミング信号または 一連のクロックパルスを発生させる手段であ って、割込みをランダムに発生させる手段あるいは二次シーケンスの実行を開始 させる手段に接続された手段を含むことを特徴とする請求の範囲第21項に記載 の集積回路。 23.マイクロプロセッサ、あるいは命令を実行する手段を含む集積回路であっ て、マイクロプロセッサまたは命令実行手段のタイミングクロックの選択手段を 含み、これにより、集積回路の外部のクロックCLKEか、あるいはランダムク ロックCLK2またはSを選択し得ることを特徴とする集積回路。 24.乱数発生器に内部クロック(FRC)または外部クロック(CLKE)を 供給すると、該乱数発生器からランダムクロックが発生することを特徴とする請 求の範囲第23項に記載の集積回路。
JP53153497A 1996-03-07 1997-03-07 改良型集積回路と、該集積回路の使用方法 Expired - Lifetime JP3713515B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9602903A FR2745924B1 (fr) 1996-03-07 1996-03-07 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre
FR96/02903 1996-03-07
PCT/FR1997/000406 WO1997033217A1 (fr) 1996-03-07 1997-03-07 Circuit integre perfectionne et procede d'utilisation d'un tel circuit integre

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2001045649A Division JP4015811B2 (ja) 1996-03-07 2001-02-21 改良型集積回路と、該集積回路の使用方法

Publications (2)

Publication Number Publication Date
JPH10507561A true JPH10507561A (ja) 1998-07-21
JP3713515B2 JP3713515B2 (ja) 2005-11-09

Family

ID=9489969

Family Applications (2)

Application Number Title Priority Date Filing Date
JP53153497A Expired - Lifetime JP3713515B2 (ja) 1996-03-07 1997-03-07 改良型集積回路と、該集積回路の使用方法
JP2001045649A Expired - Lifetime JP4015811B2 (ja) 1996-03-07 2001-02-21 改良型集積回路と、該集積回路の使用方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2001045649A Expired - Lifetime JP4015811B2 (ja) 1996-03-07 2001-02-21 改良型集積回路と、該集積回路の使用方法

Country Status (15)

Country Link
US (1) US5944833A (ja)
EP (1) EP0826169B1 (ja)
JP (2) JP3713515B2 (ja)
KR (1) KR100463814B1 (ja)
CN (1) CN1236370C (ja)
AR (1) AR006138A1 (ja)
AU (1) AU725888B2 (ja)
BR (1) BR9702118A (ja)
CA (1) CA2221880C (ja)
DE (1) DE69717028T2 (ja)
FR (1) FR2745924B1 (ja)
HK (1) HK1009684A1 (ja)
NO (1) NO317448B1 (ja)
TW (1) TW491978B (ja)
WO (1) WO1997033217A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259799A (ja) * 1999-03-09 2000-09-22 Hitachi Ltd Icカードと半導体集積回路装置
JP2010514039A (ja) * 2006-12-22 2010-04-30 トラスティド・ロジック セキュリティ保護された電子システム、セキュリティ保護方法およびそのシステムの使用
JP2015161969A (ja) * 2014-02-26 2015-09-07 セイコーエプソン株式会社 マイクロコンピューター及び電子機器
JP2018528719A (ja) * 2015-09-25 2018-09-27 ジエマルト・エス・アー ランダムクロック発生器

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2316227C (en) 1998-01-02 2009-08-11 Cryptography Research, Inc. Leak-resistant cryptographic method and apparatus
US7587044B2 (en) 1998-01-02 2009-09-08 Cryptography Research, Inc. Differential power analysis method and apparatus
US6327661B1 (en) 1998-06-03 2001-12-04 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
TW380344B (en) * 1998-02-04 2000-01-21 Admtek Co Multiple output single crystal device for not generating simultaneous switch output
AU4144399A (en) * 1998-05-18 1999-12-06 Giesecke & Devrient Gmbh Access-controlled data storage medium
CA2333095C (en) 1998-06-03 2005-05-10 Cryptography Research, Inc. Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
EP1926241A3 (en) * 1998-06-03 2009-03-11 Cryptography Research Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
EP1092297B1 (en) 1998-07-02 2007-04-25 Cryptography Research Inc. Leak-resistant cryptographic indexed key update
DE19834076A1 (de) * 1998-07-29 2000-02-10 Philips Corp Intellectual Pty Anordnung zur elektronischen Verarbeitung von Datensignalen
CN1224871C (zh) * 1998-07-31 2005-10-26 皇家菲利浦电子有限公司 数据处理设备及其用的电路
US6046616A (en) * 1998-08-07 2000-04-04 Tritech Microelectronics, Ltd. Two dimensional random pulse generator
DE19837808A1 (de) * 1998-08-20 2000-02-24 Orga Kartensysteme Gmbh Verfahren zur Ausführung eines Verschlüsselungsprogramms zur Verschlüsselung von Daten in einem mikroprozessorgestützten, tragbaren Datenträger
WO2000019386A1 (de) * 1998-09-30 2000-04-06 Koninklijke Philips Electronics N.V. Datenverarbeitungseinrichtung und verfahren zu dessen betrieb zum verhindern einer differentiellen stromverbrauchanalyse
FR2784763B1 (fr) * 1998-10-16 2001-10-19 Gemplus Card Int Composant electronique et procede pour masquer l'execution d'instructions ou la manipulation de donnees
JP2000165375A (ja) 1998-11-30 2000-06-16 Hitachi Ltd 情報処理装置、icカード
US6408075B1 (en) 1998-11-30 2002-06-18 Hitachi, Ltd. Information processing equipment and IC card
JP4317607B2 (ja) 1998-12-14 2009-08-19 株式会社日立製作所 情報処理装置、耐タンパ処理装置
FR2787900B1 (fr) * 1998-12-28 2001-02-09 Bull Cp8 Circuit integre intelligent
IL128007A (en) * 1999-01-11 2003-02-12 Milsys Ltd Enhancements on compact logic devices and also for accelerating and securing computations in modular arithmetic especially for use in public key cryptographic co-processors designed for elliptic curve and rsa type computations
FR2790347B1 (fr) * 1999-02-25 2001-10-05 St Microelectronics Sa Procede de securisation d'un enchainement d'operations realisees par un circuit electronique dans le cadre de l'execution d'un algorithme
DE19911673A1 (de) * 1999-03-09 2000-09-14 Deutsche Telekom Ag Verfahren und Anordnung für den Schutz der Daten auf einer Smartcard
FR2793571B1 (fr) * 1999-05-11 2003-10-31 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete et dynamique
FR2793904B1 (fr) * 1999-05-21 2001-07-27 St Microelectronics Sa Procede et dispositif de gestion d'un circuit electronique
JP2001094550A (ja) * 1999-09-17 2001-04-06 Toshiba Corp 信号処理装置
UA72944C2 (uk) * 1999-12-02 2005-05-16 Інфінеон Текнолоджіз Аг Мікропроцесорний пристрій з кодуванням
FR2802669B1 (fr) * 1999-12-15 2002-02-08 St Microelectronics Sa Procede non deterministe de transfert securise de donnees
DE10000503A1 (de) * 2000-01-08 2001-07-12 Philips Corp Intellectual Pty Datenverarbeitungseinrichtung und Verfahren zu dessen Betrieb
ATE502354T1 (de) * 2000-01-13 2011-04-15 Digimarc Corp Authentifizierende metadaten und einbettung von metadaten in wasserzeichen von mediensignalen
JP3848573B2 (ja) * 2000-01-18 2006-11-22 インフィネオン テクノロジーズ アクチエンゲゼルシャフト マイクロプロセッサシステム
FR2807591B1 (fr) * 2000-04-06 2003-08-08 Gemplus Card Int Procede de contre-mesure pour un micro-controleur base sur une architecture avec "pipeline"
FR2808360B1 (fr) * 2000-04-28 2002-06-28 Gemplus Card Int Procede de contre mesure dans un microcircuit mettant en oeuvre le procede et carte a puce comportant ledit microcircuit
DE50014462D1 (de) * 2000-05-22 2007-08-16 Infineon Technologies Ag Sicherheits-Datenverarbeitungseinheit sowie dazugehöriges Verfahren
FR2818766A1 (fr) * 2000-12-21 2002-06-28 Bull Cp8 Procede de securisation de l'execution d'un programme implante dans un module electronique a microprocesseur, ainsi que le module electronique et la carte a microcircuit associes
US9323955B2 (en) * 2000-12-21 2016-04-26 Gemalto Sa Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system
FR2818772A1 (fr) * 2000-12-21 2002-06-28 Bull Cp8 Procede de securisation d'un operateur logique ou mathematique implante dans un module electronique a microprocesseur, ainsi que le module electronique et le systeme embarque associes
FR2819070B1 (fr) * 2000-12-28 2003-03-21 St Microelectronics Sa Procede et dispositif de protection conte le piratage de circuits integres
DE10101956A1 (de) * 2001-01-17 2002-07-25 Infineon Technologies Ag Verfahren zur Erhöhung der Sicherheit einer CPU
US7197160B2 (en) 2001-03-05 2007-03-27 Digimarc Corporation Geographic information systems using digital watermarks
DE10128573A1 (de) * 2001-06-13 2003-01-02 Infineon Technologies Ag Verhindern der unerwünschten externen Erfassung von Operationen in integrierten Digitalschaltungen
JP4173297B2 (ja) * 2001-09-13 2008-10-29 株式会社ルネサステクノロジ メモリカード
EP1293856A1 (fr) * 2001-09-18 2003-03-19 EM Microelectronic-Marin SA Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action
FR2832824A1 (fr) * 2001-11-28 2003-05-30 St Microelectronics Sa Blocage du fonctionnement d'un circuit integre
AU2003207931A1 (en) * 2002-03-07 2003-09-16 Axalto Sa Method for making safe an electronic cryptography assembly with a secret key
DE10213142A1 (de) 2002-03-23 2003-10-02 Clariant Gmbh Stabile Dispersionskonzentrate
FR2844896A1 (fr) * 2002-09-19 2004-03-26 St Microelectronics Sa Alimentation d'un circuit de traitement asynchrone de donnees
DE10254657A1 (de) * 2002-11-22 2004-06-03 Philips Intellectual Property & Standards Gmbh Mikrocontroller und zugeordnetes Verfahren zum Abarbeiten der Programmierung des Mikrocontrollers
GB2406684B (en) * 2002-12-12 2005-08-24 Advanced Risc Mach Ltd Processing activity masking in a data processing system
US7373463B2 (en) * 2003-02-13 2008-05-13 Stmicroelectronics S.A. Antifraud method and circuit for an integrated circuit register containing data obtained from secret quantities
DE10310781A1 (de) * 2003-03-12 2004-09-30 Infineon Technologies Ag Verfahren zum Betreiben eines Mikroprozessors und eine Mikroprozessoranordnung
US6926768B2 (en) 2003-04-14 2005-08-09 Sun Chemical Corporation Treatment of high performance pigments
US8296577B2 (en) * 2004-06-08 2012-10-23 Hrl Laboratories, Llc Cryptographic bus architecture for the prevention of differential power analysis
US20060002479A1 (en) * 2004-06-22 2006-01-05 Fernandes Felix C A Decoder for H.264/AVC video
US8953908B2 (en) 2004-06-22 2015-02-10 Digimarc Corporation Metadata management and generation using perceptual features
TWI251837B (en) * 2004-10-13 2006-03-21 Via Tech Inc Method and related apparatus for adjusting timing of memory signals
US7702942B2 (en) * 2005-09-12 2010-04-20 Northern Lights Semiconductor Corp. Method for generating adjustable MRAM timing signals
US7372290B2 (en) * 2005-10-04 2008-05-13 Stmicroelectronics, Inc. System and method for using dummy cycles to mask operations in a secure microcontroller
JP2007128184A (ja) * 2005-11-01 2007-05-24 Sharp Corp 消費電力解析対策機能付き半導体装置
US7647486B2 (en) * 2006-05-02 2010-01-12 Atmel Corporation Method and system having instructions with different execution times in different modes, including a selected execution time different from default execution times in a first mode and a random execution time in a second mode
FR2925968B1 (fr) * 2007-12-26 2011-06-03 Ingenico Sa Procede de securisation d'un microprocesseur, programme d'ordinateur et dispositif correspondants
US8386800B2 (en) 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
US8659954B1 (en) * 2011-09-14 2014-02-25 Adesto Technologies Corporation CBRAM/ReRAM with improved program and erase algorithms
US9141809B2 (en) 2012-07-23 2015-09-22 Qualcomm Incorporated Method and apparatus for deterring a timing-based glitch attack during a secure boot process
EP2955871B1 (en) * 2014-06-12 2017-01-11 Nagravision S.A. Cryptographic method for securely exchanging messages and device and system for implementing this method
US10579197B2 (en) 2015-12-31 2020-03-03 Egalax_Empia Technology Inc. Touch sensitive processing method
TWI638298B (zh) 2015-12-31 2018-10-11 禾瑞亞科技股份有限公司 觸控方法、觸控處理系統與電子裝置
DE102017114526A1 (de) * 2017-06-29 2019-01-03 Hanon Systems Verfahren zur Ansteuerung von Leistungshalbleitern in einem Inverter
US20190097785A1 (en) * 2017-09-27 2019-03-28 Silicon Laboratories Inc. Apparatus for Clock-Frequency Variation in Electronic Circuitry and Associated Methods
CN109245883A (zh) * 2018-09-21 2019-01-18 深圳市德名利电子有限公司 一种随机数发生器及随时数产生方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5578341A (en) * 1978-12-08 1980-06-12 Casio Comput Co Ltd Initial value setting system of random number
JPS58114134A (ja) * 1981-12-28 1983-07-07 Hitachi Electronics Eng Co Ltd 乱数発生器
EP0448262A2 (en) * 1990-03-20 1991-09-25 General Instrument Corporation Of Delaware Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event
JPH0685804A (ja) * 1992-09-03 1994-03-25 Nec Corp フレームパルス生成回路
JPH07239837A (ja) * 1993-12-21 1995-09-12 General Instr Corp Of Delaware 秘密保護マイクロプロセッサのためのクロック周波数変調

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4125763A (en) * 1977-07-15 1978-11-14 Fluke Trendar Corporation Automatic tester for microprocessor board
JPS62237592A (ja) * 1986-04-08 1987-10-17 Casio Comput Co Ltd Icカ−ドにおけるクロツク切換方式
US5249294A (en) * 1990-03-20 1993-09-28 General Instrument Corporation Determination of time of execution of predetermined data processing routing in relation to occurrence of prior externally observable event
JPH04199234A (ja) * 1990-11-26 1992-07-20 Nagano Oki Denki Kk プログラムテスト方式

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5578341A (en) * 1978-12-08 1980-06-12 Casio Comput Co Ltd Initial value setting system of random number
JPS58114134A (ja) * 1981-12-28 1983-07-07 Hitachi Electronics Eng Co Ltd 乱数発生器
EP0448262A2 (en) * 1990-03-20 1991-09-25 General Instrument Corporation Of Delaware Prevention of determination of time of execution of predetermined data processing routine in relation to occurrence of prior observable external event
JPH0685804A (ja) * 1992-09-03 1994-03-25 Nec Corp フレームパルス生成回路
JPH07239837A (ja) * 1993-12-21 1995-09-12 General Instr Corp Of Delaware 秘密保護マイクロプロセッサのためのクロック周波数変調

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259799A (ja) * 1999-03-09 2000-09-22 Hitachi Ltd Icカードと半導体集積回路装置
JP2010514039A (ja) * 2006-12-22 2010-04-30 トラスティド・ロジック セキュリティ保護された電子システム、セキュリティ保護方法およびそのシステムの使用
JP2015161969A (ja) * 2014-02-26 2015-09-07 セイコーエプソン株式会社 マイクロコンピューター及び電子機器
JP2018528719A (ja) * 2015-09-25 2018-09-27 ジエマルト・エス・アー ランダムクロック発生器

Also Published As

Publication number Publication date
EP0826169B1 (fr) 2002-11-13
WO1997033217A1 (fr) 1997-09-12
KR19990008381A (ko) 1999-01-25
JP2001296935A (ja) 2001-10-26
JP3713515B2 (ja) 2005-11-09
CA2221880A1 (fr) 1997-09-12
BR9702118A (pt) 1999-01-26
AU725888B2 (en) 2000-10-26
EP0826169A1 (fr) 1998-03-04
AR006138A1 (es) 1999-08-11
NO975116D0 (no) 1997-11-06
FR2745924A1 (fr) 1997-09-12
KR100463814B1 (ko) 2005-05-27
US5944833A (en) 1999-08-31
HK1009684A1 (en) 1999-09-10
DE69717028D1 (de) 2002-12-19
TW491978B (en) 2002-06-21
FR2745924B1 (fr) 1998-12-11
CN1236370C (zh) 2006-01-11
JP4015811B2 (ja) 2007-11-28
DE69717028T2 (de) 2003-05-08
AU2031497A (en) 1997-09-22
CN1181823A (zh) 1998-05-13
NO317448B1 (no) 2004-11-01
NO975116L (no) 1998-01-06
CA2221880C (fr) 2006-05-09

Similar Documents

Publication Publication Date Title
JP3713515B2 (ja) 改良型集積回路と、該集積回路の使用方法
US4558176A (en) Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US8131789B2 (en) True random number generator
US8861725B2 (en) Random bit stream generator with enhanced backward secrecy
EP1465057A2 (en) Pseudo-random number generator with LFSR
KR100578459B1 (ko) 예측 불가능 마이크로프로세서 또는 마이크로컴퓨터
US8990578B2 (en) Password authentication circuit and method
WO2007141112A1 (en) System and method for secure boot across a plurality of processors
US20200257802A1 (en) Randomized Execution Countermeasures Against Fault Injection Attacks During Boot Of An Embedded Device
WO2011117929A1 (ja) 乱数生成器、暗号化装置、及び認証装置
US8732806B2 (en) Method and system for hardware enforced virtualization in an integrated circuit
JP3827050B2 (ja) Icカードと半導体集積回路装置
EP1465038B1 (en) Memory security device for flexible software environment
US11295826B1 (en) OTP control logic with randomization for sensing and writing fuse values
JP3277139B2 (ja) 入力ビット列暗号化装置及び方法
JP3788881B2 (ja) Icカードと半導体集積回路装置
US20230069651A1 (en) Processing device and method for secured boot
US20220300624A1 (en) Hardware storage unique key
JP4586755B2 (ja) 汎用論理回路
US8127120B2 (en) Secured processing unit
CN115238267A (zh) 一种有效避免故障注入攻击的方法
JP4664655B2 (ja) 情報処理装置、および、そのアドレス制御方法

Legal Events

Date Code Title Description
A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20050527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050602

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050720

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050714

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130902

Year of fee payment: 8

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