(57)【要約】例えばサイドチャネル攻撃のようなＥＭ（電磁）照射攻撃、または例えば電流トレース解析もしくはＤＰＡ（電力差解析）のような暗号解析であって、とくに秘密キーの発見を狙いとするこのような攻撃または解析を、確実に回避することができるようにするため、少なくとも１個の光源による少なくとも１個の不揮発性メモリモジュール照射を、検出および/または記録および/または警告する電子データ処理用の回路装置（１００）、とくに集積回路および方法を、一層進歩させるために、メモリモジュール（１０）に対する少なくとも１回の読み出しアクセス用のアクセスタイミングを生じさせることを提案する。とくに少なくとも１個のＤＡＷ（Disable All Wordlines）モードのような、少なくとも一つのテストモード（Ｔ）において、メモリモジュール（１０）に対する少なくとも１回の追加読み出しアクセスを追加し、このテストモード（Ｔ）により、その時点でメモリモジュール（１０）がなんらかのエネルギーを有する光に被曝されているか否かを検出できるようにする。
2009505266.tif 000002
【特許請求の範囲】
【請求項１】
電子データ処理用の、とくに集積回路である回路装置であって、
・  少なくとも１個の、データ保存用の不揮発性メモリモジュールであり、
・・  少なくとも１個のＥＰＲＯＭ（消去可能プログラマブル読取専用メモリ）、例えば少なくとも１個のＥＥＰＲＯＭ（電気的消去可能プログラマブル読取専用メモリ）、または
・・  少なくとも一つのフラッシュメモリユニット
を有する該不揮発性メモリモジュールと、
・  少なくとも１個のインタフェースロジックユニットであり、
・・  前記メモリモジュールのアドレスを指定するための、
・・  前記メモリモジュールに対してデータを書き込むための、および／または
・・  前記メモリモジュールからデータを読み出すための
該インタフェースロジックユニットと、
を備え、このインタフェースロジックは、少なくとも１個の監視モジュールであり、
・  前記メモリモジュールを監視するための、および／または
・  少なくとも１個の光源によるメモリモジュールに対する照射を、検出および／または記録および／または警告するための
該監視モジュールを有するものとした、該回路装置において、
前記監視モジュールは、少なくとも１個のロジック順序付けユニットであって、前記メモリモジュールに対する少なくとも１個の読み出しアクセス用のアクセスタイミングを発生する、とくに少なくとも１個のＤＡＷ（全ワードラインの無効化）モードのような、少なくとも１回のテストモード（Ｔ）では、前記メモリモジュールに対する少なくとも１個の追加の読み出しアクセスを追加する該ロジック順序付けユニットを有するものとし、前記テストモードは、前記メモリモジュールがその時点であるエネルギーを有する光にさらされているかどうか検出できるようにした
ことを特徴とする回路装置。
【請求項２】
請求項１記載の回路装置において、前記監視モジュールのために、とくに前記ロジック順序付けユニット（４２）のために、少なくとも１個の乱数を生成するための、少なくとも１個の乱数発生器を設けた回路装置。
【請求項３】
請求項１または２記載の回路装置において、前記監視モジュールは、
・  少なくとも１個のアドレス指定多重送信ユニットであって、以下のデータを切り替える、すなわち、
・・  前記メモリモジュールにアクセスするとき、少なくとも１個のＣＰＵ（中央処理装置）から到来する、少なくとも１個のメモリモジュールアドレス指定データと、
・・  前記メモリモジュールが監視する間に、前記乱数発生器により生成され、前記ロジック順序付けユニットから到来する、少なくとも１個のランダムなメモリモジュールアドレス指定データと
の間でデータ切り替えをする該アドレス指定多重送信ユニットと、および
・  前記メモリモジュールの読み出しから到来する信号データを、以下のいずれかの部分に向かうよう切り替えるための、少なくとも１個のアクセス多重送信ユニットであって、
・・  ＣＰＵ（中央処理装置）に向かう少なくとも１個の接続部、および
・・  前記メモリモジュールのランダムなアドレス数値を、プログラム化されていないメモリセルのアドレス数値と比較するために設け、比較されたアドレス数値が一致しない場合、少なくとも１個の例外状態、または少なくとも１個の光エラーフラッグをトリガすることができるよう構成した、少なくとも１個のパターン検出ユニット
のいずれかの部分に向かうよう切り替える該アクセス多重送信ユニットと
を有する構成とした回路装置。
【請求項４】
請求項１〜３のうちいずれか一項記載の少なくとも１個の回路装置（１００）、とくに少なくとも１個の集積回路を備えた、とくに内蔵型セキュリティコントローラのようなマイクロコントローラ。
【請求項５】
請求項１〜３のうちいずれか一項記載の少なくとも１個の回路装置、とくに少なくとも１個の集積回路を備えた例えばチップカードまたはスマートカードのような内蔵システムとした、データ処理デバイスにおいて、前記回路装置は、
・  特に暗号関連演算のような計算を行い、また
・  以下のものから保護される、すなわち、
・・  例えば少なくとも一つのサイドチャネル攻撃のような、とくに少なくとも一つのＥＭ（電磁）照射攻撃のような、少なくとも一つの攻撃、または、
・・  とくに少なくとも一つの電流トレース解析もしくは少なくとも一つのＤＰＡ（電力差解析）のような、少なくとも一つの暗号解析
に対して保護される構成とした回路装置。
【請求項６】
少なくとも１個の光源による、少なくとも１個の不揮発性メモリモジュールに対する照射を、検出しおよび／または記録しおよび／または警告する方法において、
メモリモジュールへの少なくとも１個の読み出しアクセス用のアクセスタイミングを発生し、とくに少なくとも１回のＤＡＷ（全ワードライン無効化）モードのような、少なくとも１回のテストモードで、前記メモリモジュールへの少なくとも１回の追加の読み出しアクセス追加し、このテストモードは前記メモリモジュールがその時点であるエネルギーを有する光にさらされているか否かを検出できるようにしたことを特徴とする方法。
【請求項７】
請求項６記載の方法において、
・  テストモードで動作している間に、前記メモリモジュール（１０）の読み出しを行っているとき、予期した読み出しデータ値は、プログラムされたメモリセルのデータ値とし、
・・  上記の予期した読み出しデータから逸脱した読み出しデータ値は、とくにマトリクスのビットラインおよび/または感知増幅器に、少なくとも一つの外部影響があることを示すものとした方法。
【請求項８】
請求項６または７記載の方法において、通常モードでの読み出しアクセス、およびテストモードでの読み出しアクセスを、メモリモジュールに対してランダム化した順序で行う方法。
【請求項９】
請求項８記載の方法において、読み出しアクセスのタイプのランダム化した順序により、全ての光パルス攻撃に対して、
・  その時点での読み出しアクセスがテストモードでの読み出しアクセスである確率、および
・  少なくとも１個のインタフェースロジック（２０）により、光パルス攻撃が検出される確率
があり、これら確率は、以下に依存する、すなわち、
・・  通常モードでの読み出しアクセスとテストモードでの読み出しアクセスと間の比率、および/または、
・・  前記メモリモジュールに対する各読み出し要求における、通常モードでの読み出しアクセスに追加される、テストモードでの読み出しアクセス回数
に依存するものとした方法。
【請求項１０】
請求項１〜３のうちいずれか一項に記載の、とくに少なくとも１個の集積回路のような、少なくとも１個の回路装置を使用し、および/または請求項６〜９のうちいずれか一項に記載の方法を使用する方法において、
請求項５に記載の、例えば少なくとも１個のチップカードもしくはスマートカード、特に少なくとも１個の内蔵型システムのような、少なくとも１個のデータ処理デバイスを、
・・  例えば少なくとも一つのサイドチャネル攻撃のような、特に少なくとも一つのＥＭ（電磁）照射攻撃のような、少なくとも一つの攻撃、または
・・  とくに少なくとも一つの電流トレース解析もしくは少なくとも一つのＰＤＡ（電力差解析）のような、少なくとも一つの暗号解析
に対して保護するものとした使用方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全体的には、暗号解析を回避する技術分野に関するものであり、とくに少なくとも１個のデータ処理デバイス、例えば少なくとも１個のチップカードまたはスマートカードのような、少なくとも１個の内蔵システムを、少なくとも一つの攻撃から保護することに関し、このような攻撃としては、例えば少なくとも一つのサイドチャネル攻撃のような、少なくとも一つのＥＭ（Electro Magnetic／電磁）照射攻撃、または少なくとも一つの暗号解析、例えば少なくとも一つの電流トレース分析もしくは少なくとも一つのＤＰＡ（Differential Power Analysis／電力差分析）がある。
【０００２】
本発明は、より詳細には、とくに電子データ処理用の集積回路のような、回路装置に関するものである。この回路装置は、請求項1の前文の特徴を有する。（例えば、特許文献１［国際公開第２００４／０４９３４９号］参照。）
【０００３】
本発明は、さらに、少なくとも１個の光源による少なくとも１個の不揮発性メモリモジュールに対する照射（この不揮発性メモリモジュールに対するいわゆる「光攻撃」）を、検出しおよび/または記録しおよび/または警告するための方法に関するものである。
【０００４】
データ処理デバイス、とくにデータ処理デバイスにおける少なくとも１個の集積回路は、とくに暗号関連演算のような計算を行うことができる。
【０００５】
ＥＰＲＯＭ（Erasable Programmable Read Only Memory／消去可能プログラマブル読取専用メモリ）やＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory／電気的消去可能プログラマブル読取専用メモリ）またはフラッシュメモリのような電子モジュールは、しばしば書き込み状態もしくは消去状態（ビット）と称される、「１」及び「０」の形式でデジタルデータの書き込みおよび/または読み出しが可能となる。
【０００６】
これらのデータの誤った読み出しは、強い光源からの照射（いわゆる「光攻撃」もしくは「光フラッシュ攻撃」）のような、外部からの影響により引き起こされる。不揮発性メモリ（いわゆる「ＮＶ(Non Volatile)メモリ」）からのデータの誤った読み出しは、例えば、内部で物理的媒体上に冗長的に情報が保存されているエラー修正コードを使用することで対処でき、データが読み出されるとき、エラーに関するこれら特定データをアルゴリズムが検査する。
【０００７】
光攻撃に対抗する他の方法としては、例えば、読み出しの結果を比較するようなデータへの二重読み出しアクセス（いわゆる「読み出し照合モード」）または、実際の読み出しアクセスの前後におけるワードラインをスイッチオフ状態にしたデータ読み出しが挙げられる。
【０００８】
ワードラインのスイッチオフ（いわゆる「ＤＡＷ（Disable All Wordlines／全ワードラインの無効化）モード」）により、結果として正常な運用状態では、１個の同一パターンが常に読み出され（いわゆる「読み出し既知応答(read-known-answer)モード」）。、そうでない場合は攻撃を受けていることを示す。しかし、「読み出し照合(read-verify)モード」または「読み出し既知応答モード」のような二重読み出しアクセス手法では、読み出しアクセスの時点に仕掛けられた攻撃しか認識することしかできない。
【０００９】
現在のところ、ＤＡＷ（Disable All Wordlines）モードでの読み出しアクセスを利用した光攻撃検出方法は、既に用いられており、電流コントローラの設計で実施されている。しかし、ＮＶメモリに対する読み出し要求における通常読み出しに、ＤＡＷモードの読み出しを追加するとき、読み出しアクセスのタイプの順序は常に一定に固定されている。
【００１０】
例えば、従来のレーザーカッタデバイスのような光パルス攻撃使用可能な光源を、予め高度に照準を合わせ、正確にトリガすることができるため、そのメカニズムに関する完全な知識をもって、各攻撃の光パルスにおいて、ＮＶメモリへの通常の読み出しアクセスにのみ照準を合わせるならば、セキュリティギャップが生じる。
【００１１】
このようにして、ＤＡＷモードの読み出しアクセスで検出されることなく、光パルス攻撃によりＮＶメモリからフェッチされたコードまたはデータ内にエラーが注入されることがある。換言すれば、１個の読み出しアクセスのみに照準が合わされた光パルスによる光攻撃は、若干の確率でしか検出されないという不利な状況となる。すなわち、この種の攻撃が複数行われると、所定量の光攻撃は、常に検出されないままとなる。
【００１２】
特許文献２（米国特許第６２４９４５６号）には、ＵＶ（Ultra Violet／紫外線）放射による消去を検出する手段、安全なＥＥＲＯＭ（電気的消去可能プログラマブル読取専用メモリ）が記載されている。より詳細には、基準セルがＵＶ放射の被曝を検出し、この基準セルの出力を各メモリアクセスで読み取り、ラッチ内に記憶する。
【００１３】
特許文献３（米国特許出願公開第２００４／０１７４７４９号）には、半導体回路がＵＶ光線にさらされていることを検出するための方法および装置が開示されている。より詳細には、半導体回路のＵＶ光線による被曝を検出するために、ＮＶメモリセルの専用ミニアレイを設ける。
【００１４】
非特許文献１（「スマートカードに対する攻撃に関する概説」（２００３年９月にJohn Wiley and Sons社から第三版として出版された、Wolfgang Rankl及びWolfgang Effing共著「スマートカードハンドブック」内のスマートカードの安全性に関する章の要約版）には、暗号アルゴリズムの秘密キーが攻撃を受けた際の、差分障害分析（ＤＦＡ:Differentiated fault analysis）の使用と同様に、プログラムコード内のシーケンスに影響を及ぼすためにプロセッサを混乱させようと試みることがあると議論されている。
【００１５】
この非特許文献１によれば、そのような攻撃に対する防御策は、種々のステップから成り、この場合重要な点は、スマートカードのマイクロコントローラに、処理装置を混乱させようとする全ての試みを検出する、対応するセンサを装備することである。このセンサは、異常を検出する電圧センサ、およびチップ上の対応する多数の光センサとすることができる。
【００１６】
他の対抗手段として、非特許文献１には、クエリーを２回実施し、２回のクエリー相互間のタイムフレームをランダムに選択することを提案している。この結果として、攻撃者はそのクエリーを不正操作するためには２回の光フラッシュを使用せねばならず、更に、攻撃者は第二の光フラッシュを使うタイミングを正確に予測できないという問題を抱えることになる。
【特許文献１】国際公開第２００４／０４９３４９号パンフレット
【特許文献２】米国特許第６２４９４５６号明細書
【特許文献３】米国特許出願公開第２００４／０１７４７４９号明細書
【非特許文献１】「スマートカードに対する攻撃に関する概説」（２００３年９月にジョン・ウィレイ＆サンズ(John Wiley and Sons)社から第三版として出版された、ヴォルフガング・ランクル(Wolfgang Rankl)およびヴォルフガング・エフィング(Wolfgang Effing)共著「スマートカードハンドブック」内のスマートカードの安全性に関する章の要約版
【発明の開示】
【発明が解決しようとする課題】
【００１７】
上述した不利な点及び欠点からスタートし、従来技術に鑑みて、本発明の目的は、確実に攻撃を回避する、とくに、例えばサイドチャネル攻撃のようなＥＭ（Electro Magnetic／電磁）照射攻撃を回避する、またはとくに暗号解析、例えば電流トレース分析もしくはＤＰＡ（電力差分析）を回避する、すなわち、とくに秘密キーの発見を狙いとするこのような攻撃または解析を回避するために、上述の技術分野で記載した回路装置および方法を、更に発展させることにある。
【課題を解決するための手段】
【００１８】
本発明の目的は、請求項１の特徴を有する回路装置、ならびに請求項６の特徴を有する方法により達成される。本発明の、有利な実施形態及び有益な改良は各従属請求項に記載する。
【００１９】
本発明は原理的には、ランダムなアクセス順序でＮＶ（不揮発性）に対する光攻撃を検出するメカニズムに基づいている。より詳細には、本発明は、少なくとも１個のＮＶメモリモジュール用の特殊な光攻撃検出ロジックを記載するものであり、このロジックは、ＮＶメモリモジュールに対する読み出しアクセスにおいて、特別なテストモードで追加の読み出しアクセスを追加するものである。
【００２０】
このようにして、本発明によれば、ＮＶメモリがそのときどきに、所定のエネルギーを有する光に被曝されているか否か検出することができるとともに、一方では通常の読み出しアクセスおよび追加の特別なテストモードアクセスが実行される順序を、ＮＶメモリに対する新しい読み出し要求毎にランダムに選択する。換言すれば、ＮＶメモリに対する新しい読み出し要求毎に通常の読み出しアクセスおよび追加の特別なテストモードアクセスを実行する順序を、ランダム化することで、光攻撃検出の確率が向上する。
【００２１】
好適な実施形態によれば、本発明は、テストモードで動作している（いわゆるＤＡＷ、すなわち「全ワードラインの無効(disable all wordlines)」）間にＮＶ（不揮発性）メモリユニットを読み出すとき、予期した読み出しデータ値はプログラムされたメモリセルのデータ値であるという事実に、基づいている。このデータ値から逸脱した読み出し結果は、マトリクスのビットラインおよび/または感知増幅器に対して外部からの影響があることを、直接的に示している。
【００２２】
このようにして、十分なエネルギーと十分な長さを有する光パルスをメモリに照射することによる、ＮＶ（不揮発性）メモリユニットに対するセキュリティ攻撃は、ＤＡＷ（全ワードラインの無効）モードの読み出しアクセスにより検出できる。
【００２３】
本発明の固定実施形態では、通常の読み出しアクセスおよびＤＡＷモードの読み出しアクセスを、ランダム化された順序でメモリモジュールに加える。基本原理の知識を有し、極めて照準を合わせて短く正確にトリガした光パルスを発生させる能力を有する、潜在的な攻撃者であれば、光パルス攻撃を通常の読み出しアクセスにのみ加え、全てのＤＡＷモードの読み出しアクセスを回避することができる、という事態を、ランダム化された順序の読み出しアクセスで回避することができる。
【００２４】
読み出しアクセスのタイプの順序に関する好ましいランダム化により、全ての光パルス攻撃それぞれに対して、そのときの（カレント）読み出しアクセスがＤＡＷモードアクセスであり、光パルス攻撃をメモリインタフェースロジックにより検出できる所定の確率が生ずる。この確率は、通常の読み出しアクセスとＤＡＷ読み出しアクセスの比率に依存する。すなわち、ＮＶメモリへの全ての読み出し要求における通常の読み出しアクセスに追加される、ＤＡＷ読み出しアクセスの回数に依存する。
【００２５】
例えば、ＮＶメモリに対する各読み出し要求に対して、１回の通常の読み出しアクセスおよび１回のＤＡＷ読み出しアクセスを、ランダムな順序で実行する場合、単に１個のアクセスに照準を合わされた光パルス攻撃の検出確率は５０％である。
【００２６】
光攻撃検出ロジックを少なくとも１個のエラーカウンタで拡張する場合、そのようなエラーカウンタは、
・検出した光攻撃の数をカウントする
・デバイス機能を無効化し減速させる
という利点をもたらす。
【００２７】
所定数のエラーが検出された場合、１回のメモリ読み出しアクセスに照準が合わされた複数の光攻撃の検出が可能であり、デバイス自体をそれらの攻撃から守ることができる。この手法により、２回の連続した読み出しアクセスをカバーする照準精度が低い光パルスは、１００％検出できる。
【００２８】
本発明はさらに、少なくとも１個の回路装置、とくに少なくとも１個の集積回路を備えた、特に内蔵型セキュリティのような、上述の形式のマイクロコントローラに関するものである。従って、上述の方法は、例えば、全てのスマートカードの発展形態に組み込むことが望ましい。
【００２９】
本発明は、さらに、上述のような、少なくとも１個の回路装置、とくに少なくとも１個の集積回路を備えた例えばチップカードまたはスマートカードのような内蔵システムであり、特に暗号関連演算のような計算を行うデータ処理デバイスに関し、この回路装置は、以下のものから保護される、すなわち、
・・  例えば少なくとも一つのサイドチャネル攻撃のような、とくに少なくとも一つのＥＭ（電磁）照射攻撃のような、少なくとも一つの攻撃、または、
・・  例えば少なくとも一つの電流トレース分析もしくは少なくとも一つのＤＰＡ（電力差分析）のような、少なくとも一つの暗号解析
に対して保護されるものとする。
【００３０】
最後に本発明は、上述のタイプとした、とくに少なくとも一つの集積回路のような、少なくとも一つの回路装置の使用、および/またはとくに少なくとも一つの内蔵システム、例えば上述のタイプとした、少なくとも一つのチップカードやスマートカードのような、少なくとも一つのデータ処理デバイス内で、上述したタイプの方法の使用に関するものである。
【００３１】
本発明回路装置および/または本発明方法は、例えばハイパー・スマートカード（HiPer Smart Card）のような、少なくとも１個の３２ビットスマートカードコントローラにおける、とくに少なくとも一つの内蔵型セキュリティコントローラ内の、少なくとも１個のチップユニット内で使用することが望ましい。
【００３２】
そのような類の使用により、モバイル用途でスマートカードの安全性（セキュリティ）は高められる。標準コアアーキテクチャに基づく、安全性の高い３２ビットスマートカードのコントローラチップは、本発明による６５０ｋｂ（キロバイト）以上のＮＶ（不揮発性）メモリを提供する。このような大きなメモリサイズは、２．５Ｇ及び３Ｇの携帯電話通信や電子政府で使用されるようなマルチアプリケーション用のスマートカードで必要となる。
【００３３】
とくに、このような余剰のメモリにより、カードが既に当業界に存在するとき、エンドユーザーは確実かつ容易に、新たなＪａｖａ(登録商標）アプレットをダウンロードし、顧客は自身で選択した幅広いアプリケーションを楽しむことができるとともに、運営者はカード上で稼働するアプリケーションを遠隔地から管理および更新することができる。
【００３４】
スマートカード技術が進化し続けるに連れ、本発明スマートカードによれば、消費者は、携帯デバイスならびに容易に入手できる追加の機能を通じて個人向けサービスに対して容易かつ安全にアクセスすることができるようになる。これら新たな機能は、ＭＰ３ダウンロード形式のモバイルエンターテインメント、ネットワークゲーム、およびビデオストリーミングから、既存の携帯電話ネットワークを介しての、発券、エンターテインメントのダウンロード、およびオンライン取引のための、消費者が与信された支払いを許可する金融アプリケーションにいたるまで広範囲に渡る。
【００３５】
これらのアプリケーションは全て、そのプロセスの各段階において、信頼性の高い認証により安全性高く執り行う必要がある。より高機能で安全性の高いマルチアプリケーションカードに対するニーズが益々増大するのに対応して、本発明は、電子認証のような複数の機能レベルを必要とするアプリケーション、および増大し続けるデータ量でデータを送信する能力を必要とする他のサービス用の、高安全性、高機能、および融通性のあるスマートカードのソリューションを提供する。
【００３６】
スマートカード用の真性計算能力をもたらす、業界標準であるスマートＭＩＰＳ（Million Instructions Per Second／毎秒百万命令）アーキテクチャに基づき、安全性の高い３２ビットスマートカードコントローラによる本発明ソリューションは、Ｊａｖａ（登録商標）カードのような多様なオープンアプリケーション環境を稼働させるための、安全性、出力、信頼性を提供する。
【００３７】
換言すれば、本発明ソリューションにより、特定のユニークな消費者の要求に沿った迅速な製品開発におけるスマートカード業界のニーズに合う、高度に最適化されたスマートカードチップが得られ、市販にいたるまでの時間を加速させる素早いプロトタイピングが可能となる。
【００３８】
本発明によるソリューションには、以下のものを独自に融合する、すなわち、
・フラッシュ技術、例えば５１２ｋｂ（キロバイト）サイズのフラッシュメモリモジュール
・ＥＥＰＲＯＭ（電気的消去可能プログラマブル読取専用メモリ）技術、例えば１４２ｋｂ（キロバイト）サイズのＥＥＰＲＯＭメモリモジュール
・ＲＡＭ（Read Access Memory／読み出しアクセスメモリ）技術、例えば１６ｋｂ（キロバイト）サイズのシングルチップ
【００３９】
フラッシュ技術の使用により、チップカードもしくはスマートカードの生産中または生産後（チップカードやスマートカードが市場に投入された後でさえ）に、チップのプログラミングができる。この融通性のあるメモリの特徴により、カードユーザーは購入後もしくは発行後に、新たなアプリケーションを自身のカードへダウンロードすることができる。
【００４０】
３２ビットスマートコンピューティングの基盤用のオープンなセキュリティ標準は、サービス提供者およびネットワーク運用者にとっては重要なキーとなる。この重要な要件と並んで、本発明は標準アーキテクチャに基づいている。独自仕様に比べると、オープンな標準に基づくチップソリューションは、新たなソリューションにおける機能およびセキュリティを、確実かつ信頼性高く評価することができる。
【００４１】
さらに、オープンな標準に基づくチップソリューションは、標準的な命令セット、ドライバーおよびライブラリの互換性を通して、複数の部品調達および開発期間の短縮を可能とするとともに、コアソフトウェアおよびアプリケーションソフトウェアの発展に関連する、市場で入手可能な広範な知識ベースを活用できる。
【００４２】
上述したように、本発明の示すところを有利に、実施及び改善するためのいくつもの選択肢が存在する。この目的のため、請求項１および６に従属する請求項を参照されたい。本発明のさらなる改善、特徴、利点を、添付図面を参照して好適な実施形態につき、以下により詳細に説明する。
【発明を実施するための最良の形態】
【００４３】
データ処理デバイス、すなわちチップカードまたはスマートカードの形式の、暗号関連演算を実行するＩＣ（集積回路）を有する内蔵システムの実施形態は、本発明方法によるものは、ＰＫＩ（Public Key Infrastructure／公開キー基盤）システムに言及するもので、本発明方法により動作する、すなわち保護回路装置１００（図１参照）により悪用および/または不正操作から保護される。
【００４４】
電子データ処理用の回路装置１００によるこの実施形態は、内蔵セキュリティコントローラ形式のマイクロコントローラの使用に供される。回路装置１００は、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory／電気的消去可能・プログラマブル読取専用メモリ）の形式で、データを記憶でき、マルチコンポーネントの不揮発性メモリモジュール１０（いわゆるＮＶ（Non Volatile／不揮発性）メモリ）を有する。
【００４５】
このＮＶ（不揮発性）メモリモジュール１０に関連してインタフェースロジック２０を設け、このインタフェースロジック２０によって、
・メモリモジュール１０にアドレス指定する（参照符号２１０ａ：インタフェースロジック２０からメモリモジュール１０へのアドレスデータ「ＡＤＤＲ（ａ：０）」）ことができ、
・メモリモジュール１０に書き込む（参照符号２１０ｗ：インタフェースロジック２０からメモリモジュール１０への信号データ「ＤＩＮ（ｄ：０）」）ことができ、
・メモリモジュール１０から読み出す（参照符号１２０ｒ：メモリモジュール１０からインタフェースロジック２０への信号データ「ＤＯＵＴ（ｄ：０）」）ことができる。
【００４６】
さらに、図１による回路装置１００は、メモリモジュール１０を監視するための監視モジュール２２を有する。この監視モジュール２２は、インタフェースロジック２０に割り当て、この監視モジュール２２により、光源によるメモリモジュール１０への照射（いわゆる「光攻撃」）を、テストモードＴで検出し、記録し、および警告し、このテストモードＴではメモリモジュール１０への読み出しアクセスは発生しない。
【００４７】
この目的のために、監視モジュール２２用に、乱数を発生する乱数発生器４０（参照符号４２０：乱数発生器４０から、インタフェースロジック２０、とくに監視モジュール２２、より特別にはロジック順序付けユニット４２へのランダムなアドレスデータ「ＲＮＤ（ｒ：０）」）を設ける。
【００４８】
図１の例示実施形態によれば、乱数発生器４０と監視モジュール２２と間の接続は、監視モジュール２２内に統合されたアドレス指定多重送信ユニット２４を介して行い、このアドレス指定多重送信ユニット２４は以下の２個の入力端子を有する、すなわち、
・ＣＰＵ（中央処理装置）からのアドレスデータ「ＣＰＵ ＮＶ ａｄｄｒ」（参照符号Ｃ２０ａ）用の通常モードＮの入力、および
・乱数発生器４０からのランダムなアドレスデータ（参照符号４２０）用のテストモードＴの入力であり、このテストモード入力は、ランダムにメモリモジュールのアドレス指定するために、乱数発生器４０により発生した乱数を受信する。
【００４９】
従って、アドレス指定多重送信ユニット２４は、メモリモジュール１０にアクセスするときに、ＣＰＵからのメモリモジュールアドレス指定（＝通常モードＮ）と、メモリモジュール１０を監視するときに乱数発生器４０により発生するランダムなメモリモジュールアドレス指定（＝テストモードＴ）と間における切り替えに使用する。
【００５０】
通常モードＮまたはテストモードＴがその時点で動作しているか否かにより、ＣＰＵからのメモリモジュールアドレス指定（通常モードＮ）、または乱数発生器４０により生成したランダムなメモリモジュールアドレス指定（テストモードＴ）を、アドレスデータ２１０aとしてメモリモジュール１０に送信する。
【００５１】
また監視モジュール２２内にはアクセス多重送信ユニット２６を設け、このアクセス多重送信ユニット２６の入力は、メモリモジュール１０からの信号データ１２０ｒを受信する。アクセス多重送信ユニット２６は以下の２個の出力を有する。すなわち、
・ＣＰＵに接続するための通常モードＮ用の出力（参照符号２０Ｃｒ）、および
・パターン検出ユニット２８に接続するためのテストモードＴ用の出力
である。
【００５２】
したがって、アクセス多重送信ユニット２６は、ＣＰＵへの接続部と、メモリモジュール１０のランダムなアドレス数値をプログラム化されていないメモリセルのアドレス数値と比較するために設けたメモリ検出ユニット２８との間で、メモリモジュール１０の読み出しによる信号データの切り替えに用いる。
【００５３】
比較すべきアドレス数値相互間に不一致がある場合、例えば光（フラッシュ）攻撃を検出した際に、例外状態Ｅ（いわゆる「ハードウェア例外」）がこのパターン検出ユニット２８によりトリガされる。
【００５４】
上述したように、図１に示す回路装置１００の処理機能において、２つの動作状態が区別される。
（i）メモリモジュール１０のソーストランジスタがオン状態となる（テストモードデータ「ＤＡＷ＝０」；参照符号２１０ｔ）通常モードＮ。この通常モードＮでは、メモリモジュール１０に読み出しアクセスが生ずる時間インターバル中に、アドレス指定多重送信ユニット２４内のメモリモジュールアドレス指定、およびアクセス多重送信ユニット２６内のＣＰＵへの接続部が、接続される。
（ii）メモリモジュール１０のソーストランジスタがオフ状態となる（テストモードデータ「ＤＡＷ＝１」；参照符号２１０ｔ）テストモードＴ、または「フラッシュ攻撃検出モード」。このテストモードＴでは、メモリモジュール１０への読み出しアクセスがない時間インターバル中に、アドレス指定多重送信ユニット２４内のランダムなメモリモジュールアドレス指定、およびアクセス多重送信ユニット２６内のパターン検出ユニット２８が、接続される。
【００５５】
図１に示す回路装置１００によって、光源による不揮発性メモリモジュール１０への照射（いわゆる不揮発性メモリモジュール１０への「光攻撃」）を、検出し、記録し、警告する方法を実施し、これにより、タイマー／クロックユニットによりトリガされる規則的な時間間隔で周期的タイマー／クロック信号「slowclk」によって、メモリモジュール１０はテストモードＴ（ＤＡＷ＝１；参照符号２１０ｔ）において、ランダムなアドレス指定「ＲＮＤ（r:0）」（参照符号４２０）を通じてインタフェースロジック２０により生成されたランダムアドレスで読み出される。
【００５６】
テストモードＴ（ＤＡＷ＝１；参照符号２１０t参照）におけるメモリモジュール１０から読み出されたデータの数値を、パターン検出ユニット２８によりチェックし、使用しているメモリモジュール１０のタイプにおける特定の予想値または目標値と比較する。
【００５７】
読み出したデータが、使用さしているメモリモジュールのタイプにおける予想値または目標値と比べて少なくとも１ビットでも異なる場合、光（フラッシュ）攻撃に対するＣＰＵの迅速な反応を生ずるために、例外状態Ｅ（いわゆる「ハードウェア例外」）をパターン検出ユニット２８によりトリガする。
【００５８】
本発明の示すところによれば、特別な設計手法は、ＣＰＵからの各読み出し要求のための、多重メモリ読み出しサイクルを発生するロジックシーケンサ（ロジック順序付けユニット）４２による、ＮＶ(不揮発性)メモリインタフェース２０の読み出しアクセス制御ロジックを拡張する。
【００５９】
初期設定では、生成された読み出しサイクルは、ＤＡＷ（disable All Wordlines／全ワードラインの無効化）モードでの読み出しアクセスとなりうる。ＮＶメモリインタフェース２０によりＣＰＵ読み出し要求の開始時にサンプリングされる、チップ内部生成の乱数により制御されるため、生成された読み出しサイクルのうちの一つは、「通常の」メモリ読み出しサイクルとして見なされ、要求されたデータをメモリ１０から読み出し、ＣＰＵに要求されたデータを転送する。
【００６０】
残りのＤＡＷモード読み出しサイクルとして、読み出し結果を予想結果値と比較し、結果が整合しない場合、少なくとも１回の除外、少なくとも１回の中断、少なくとも１回のリセットのような、適正なエラー機能をトリガする。
【００６１】
ロジックシーケンサ４２はＮＶメモリに対する読み出しアクセス用のアクセスタイミングを生成する。各読み出しアクセスは二重アクセスシーケンスとして実行し、すなわち、
・アクセスのうちの一方は、通常読み出しアクセス（通常モードでの多重送信チャネル用の参照符号Ｎ）であり、
・アクセスの他方は、ＮＶメモリ１０へのあり得る光パルス攻撃を検出するための、ＤＡＷ（disable All Wordlines／全ワードラインの無効化）モード読み出しアクセス（特別なテストモード用の参照符号Ｔ）である。
【００６２】
ＤＡＷモード読み出しアクセス（参照符号Ｔ）は、通常読み出しアクセス（参照符号Ｎ）と同一アドレス、またはランダムワード４２０により導き出されるランダムアドレスのいずれかで実行される。とり得る２種類のアドレス間における、そのような選択または切り替えを可能にするために、アドレスｍｕｘ（多重送信）ユニット２４をロジック順序付けユニット４２の背後に接続し、このアドレスｍｕｘ２４は以下のものを供給することができる。すなわち、
・通常読み出しアクセス（参照符号Ｎ）と同一アドレス、または
・ランダムワード４２０から導き出したランダムアドレス
のいずれかである。
【００６３】
通常読み出しアクセスおよびＤＡＷモードの読み出しアクセスを実行する順序は、ランダムワード４２０に依存してロジック順序付けユニット４２により制御する。このようにして、各読み出しアクセスに対しＤＡＷモードの読み出しアクセスが実行される可能性が５０％生じる。
【００６４】
パターン検出ユニット２８内で実行される読み出しパターンチェックにより光エラーが検出された場合、光エラーフラッグＥを通じてハードウェア例外またはハードウェアリセットを発生する。参照符号Ｅは例外状態もしくはハードウェア例外を意味する。
【００６５】
通常読み出しアクセス（参照符号Ｎ）で読み出したデータがＣＰＵによりラッチされるまで保存するために、アクセス多重送信ユニット２６の後部に接続したデータラッチユニット４４を用いる。
【００６６】
本発明による装置および方法の利点は、高度に焦点が合わされ正確にトリガされた光パルスによる攻撃をもってしても、光攻撃検出機構により検出される５０％の可能性がなく、あるＮＶ（不揮発性）メモリ読み出しアクセス内にエラーを注入することは最早不可能であるという点である。
【００６７】
従って、一般に有効とされる複数のエラー注入を必要とするセキュリティ攻撃手法は、高確率で検出される。意図する効果を達成するために単に１個の有効なエラー注入を必要とするセキュリティ攻撃でさえも、少なくとも５０％の検出リスクがある。
【図面の簡単な説明】
【００６８】
【図１】本発明方法を実施することができる本発明による回路装置の実施形態のブロック図である。
【符号の説明】
【００６９】
１００  電子データ処理用の回路装置
１０    ＮＶメモリモジュールもしくはＮＶ（不揮発性）メモリ
２０    インタフェースロジックユニット
２２    監視モジュール
２４    アドレス(指定)多重送信ユニット
２６    アクセス多重送信ユニット
２８    パターン検出ユニット
４０    乱数発生ユニット
４２    ロジック順序付けユニット
４４    データラッチユニット
１２０ｒ  メモリモジュール１０からインタフェースロジックユニット２０への信号データ「ＤＯＵＴ（d：0）」
２１０ａ  インタフェースロジックユニット２０からメモリモジュール１０へのアドレスデータ「ＡＤＤＲ(a:0)」
２１０ｔ  インタフェースロジックユニット２０のうち特にロジック順序付けユニット４２から、メモリモジュール１０へのテストモードデータ「ＤＡＷ」
２１０ｗ  インタフェースロジックユニット２０からメモリモジュール１０への信号データ「ＤＩＮ（d:0）」
４２０    乱数発生器４０からインタフェースロジックユニット２０への乱数信号「ＲＮＤ（r：0）」
２０Ｃｒ  インタフェースロジックユニット２０からＣＰＵ（中央処理装置）への信号データ「ＣＰＵ ＮＶ読み出しデータ」
Ｃ２０ａ  ＣＰＵからインタフェースロジックユニット２０へのメモリモジュールアドレス(指定)データ「ＣＰＵ ＮＶ  Addr」
Ｃ２０ｗ  ＣＰＵからインタフェースロジックユニット２０への信号データ「ＣＰＵ  ＮＶ書き込みデータ」
Ｅ  例外状態またはハードウェア例外または光エラーフラッグ
Ｎ  テストモードデータＤＡＷ＝０  の通常（読み出し）モード
Ｒ２０ａ  乱数発生器４０から、特にロジック順序付けユニット４２から、アドレス指定多重送信ユニット２４へのランダムメモリモジュールアドレス(指定)データ
Ｔ  テストモードデータＤＡＷ＝１  のテスト（読み出し）モード
【図１】
2009505266.tif 000003
【国際調査報告】
2009505266.tif 000004
2009505266.tif 000005