説明

メモリ・デバイス上の故障注入による攻撃を検知する方法、及び対応するメモリ・デバイス

【課題】メモリ・デバイス上の故障注入による攻撃を検知する。
【解決手段】メモリ・デバイスがデータ・ビット及びmパリティ・ビットを備えたブロック(BL)を貯蔵するメモリ・プレーン(PM)のグループ、及び、ブロックの各ビットを読出す手段(ML)及びブロックの読出時に各データ・ビットの読出値及び各パリティ・ビットの読出値に基づきパリティ・チェックをする検証手段を備えた故障注入攻撃検知手段を備え、メモリ・プレーン(PM)はmメモリ・セルの別々のパケット(PQ)を形成するよう前記グループのメモリ・セル間に配置された参照メモリ・セルを備え、各参照メモリ・セルは故障注入攻撃の間に参照値で変更される参照ビットを貯蔵し、mメモリ・セルの各パケットは、異なるパリティに関連するブロックのmビットを貯蔵する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、電子回路に係り、より詳しくはメモリ・デバイス上の故障注入による攻撃の検知に関する。
【0002】
本発明は好都合に、しかし限定される訳ではないがチップ・カード及びそれらが保持する機密データの保護に適用される。
【背景技術】
【0003】
ハッカーによる例えばチップ・カード内の保護メモリから機密情報を取出す、起こり得る攻撃の中には、例えば放射線(レーザ、赤外、X線、等)によりメモリの動作、及び、又は内容を混乱させる目的の故障差分攻撃(DFA:Differential Fault Analysis)がある。
【0004】
従って故障注入によるそのような攻撃を検知出来ることは特に有益である。攻撃が一旦検知されれば、コンポーネントを閉鎖するため或いは機密情報が奪われるのを回避するため、或いは、コンポーネントを再初期化するため等の処理に応じて、多くの解決策がある。
【0005】
従来のメモリのシステム構成の場合、例えば、貯蔵された各ビットが個別的に読み出され得るような、ビット・バイ・ビットのシステム構成の場合、読み出し動作中に読み出されたビットのパリティ・チェックに基づいてそのような攻撃を検知する可能性がある。
【0006】
しかしながら、そのような解決策は、或る種の場合には、故障注入攻撃が実際に起きた時に故障注入による攻撃を検知できない。
【発明の概要】
【発明が解決しようとする課題】
【0007】
従って、本発明の実装及び実施の一態様によれば、メモリ・デバイス上の故障注入による攻撃を検知する方法及び対応するメモリ・デバイスが提案され、故障注入による攻撃のより信頼性のある検出を提供する。
【課題を解決するための手段】
【0008】
一態様によれば、データ・ビット及びmパリティ・ビットを備える少なくとも1つのビットのブロックを備える少なくとも1つのメモリ・セルのグループを備えたメモリ・デバイス上の故障注入による攻撃を検知する方法が提案され、この検知は、ブロックの読み出し時に、対応するメモリ・セルに含まれるブロックの各ビットの読出し及び各データの読出し値及び各パリティ・ビットの読出し値に基づいて実行されるパリティ・チェックを備える。
【0009】
この態様の一般的特徴によれば、本方法は以下の工程を含む。
【0010】
−mメモリ・セルの分離パケットを形成するような、少なくとも幾つかの前記グループのメモリ・セル間への参照セルの組込
−故障注入による攻撃の間の参照値が変更されるようにプログラムされた参照ビットの各参照メモリ・セル内への貯蔵
−mが1より大きいときに、mメモリ・セルの各パケット内に、異なるパリティに関連するブロックのmビットの貯蔵
−前記ブロックの読み出し時に、各参照ビットの値の検証を更に含む前記検知。
【0011】
こうして、例えば、参照ビットのメモリ・プレーンの選択されたポイントでの組込及び異なるパリティに関連して読み出されるべきブロックのビットの参照ビット間への貯蔵は、レーザ・ビームが2つのメモリ・セルを照射する程に広い場合でも、この場合では、レーザ・ビームはまた参照ビットに影響してその値を反転させ、それが攻撃検知信号を呼び起こし、故障注入による攻撃を検知することができる。
【0012】
更に、特定のパリティと関連するビットは前記パリティを有するデータ・ビット或いはそのパリティと関連するパリティ・ビット自身でもよい。
【0013】
参照メモリ・セルの組込については多くの配置が可能であるが、ビットのランクとメモリ・セルとの対応がこれらのビットを貯蔵するような場合には特に、mメモリ・セル毎に参照メモリ・セルを組込むことが特に簡単である。
【0014】
一実装によれば、メモリ・デバイスが、ビットの複数のブロックを夫々が貯蔵するためのメモリ・セルの複数のグループであって各ビットのブロックが同数のデータ・ビット及びmパリティ・ビットであるようなビットの複数のグループ、及びメモリ・プレーンの同一の領域内に一緒にグループ分けされる異なるブロックの同じランクのビットを貯蔵するための全てのメモリ・セルを備えるとき、参照メモリ・セルは前記領域の少なくとも幾つかの間に優先して組込まれる。
【0015】
他の態様によれば、メモリ・プレーン及び故障注入による攻撃の検知手段を含むメモリ・デバイスが提案され、メモリ・プレーンはデータ・ビット及びmパリティ・ビットを備えた少なくとも1つのビットのブロックを貯蔵するためのメモリ・セルの少なくとも1つのグループを備え、検知手段はブロックの各ビットを読み出すように構成された読出し手段、及び、ブロックの読出し時に、各データ・ビットの読出し値及び各パリティ・ビットの読出し値に基づいてパリティ・チェックを実行するよう構成された第1の検証手段を備える。
【0016】
この態様の一般的な特徴によれば、mメモリ・セルの別々のパケットを形成するような前記グループのメモリ・セルの少なくとも幾つかの間に配置される参照メモリ・セルを備え、各参照メモリ・セルは故障注入による攻撃の間に参照値でプログラムされて変更される参照ビットを貯蔵し、mメモリ・セルの各パケットは、mが1より大きいとき、異なるパリティに関連するブロックのmビットを貯蔵するようにされ、そして検知手段は、前記ブロックの読出し時に、各参照ビットの値の検証を実行するように構成された第2の検証手段を備える。
【0017】
一実施例によれば、参照メモリ・セルはmメモリ・セル毎に配置される。
【0018】
メモリ・プレーンが複数のビットのブロックを夫々貯蔵するようなメモリ・セルの複数のグループを備え、各ビットのブロックが同じ数のデータ・ビットとmパリティ・ビットを備え、異なるブロックの同じランクのビットを貯蔵するための全てのメモリ・セルがメモリ・プレーンの1つの同じ領域内に一緒にグループ化されるような、一実施例によれば、参照メモリ・セルは少なくとも幾つかの前記領域間に配置される。
【0019】
他の態様によれば、上記のようなメモリ・デバイスを組み入れる集積回路が提案される。
【0020】
更に別の態様によれば、上記のような集積回路を備えるチップ・カードが提案される。
【0021】
本発明のその他の利点及び特徴は、それらにより限定されるものでは全くないが、実装及び実施例の詳細な説明の記載及び添付図面により明らかとなる。
【図面の簡単な説明】
【0022】
【図1】図1は従来技術による例示的メモリ・デバイスを概略的に図示する。
【図2】図2は本発明による例示的メモリ・デバイスを概略的に図示する。
【図3】図3は本発明による攻撃検知方法の例示的実装を概略的に図示する。
【図4】図4は本発明によるメモリ・デバイスの他の取り得る構成を概略的に図示する。
【図5】図5は本発明によるメモリ・デバイスの他の取り得る構成を概略的に図示する。
【図6】図6は本発明によるメモリ・デバイスの他の取り得る構成を概略的に図示する。
【図7】図7は本発明によるメモリ・デバイスの他の取り得る構成を概略的に図示する。
【図8】図8は本発明によるメモリ・デバイスの更に他の取り得る例示的構成を概略的に図示する。
【図9】図9は本発明の他の態様の例を概略的に図示する。
【図10】図10は本発明の他の態様の例を概略的に図示する。
【発明を実施するための形態】
【0023】
図1中、参照符号DMはそのメモリ・プレーンPMがメモリ・セルのセットGCELiを備える、通常のメモリ・デバイスを示す。1つの同じメモリ・セルのセットの全てのメモリ・セルはメモリ・プレーン内に貯蔵されるべき異なるビットのブロックBLの同じランクのビットを貯蔵する。
【0024】
より詳細には、ここで述べられている例において、メモリ・プレーンに貯蔵されるべきビットのブロックBLはデータ・ビット、この例では16(ランク0から15)、及びパリティ・ビット、この例では2つ、即ち、ランク16及び17、を備える。
【0025】
また、或るブロックBLについて、メモリ・セルCEL0はランク0のビットb0を貯蔵するようにされ、メモリ・セルCEL1はランク1のビットb1を貯蔵するようにされ、より一般的には、メモリ・セルCELiはランクiのビットbiを貯蔵するようにされる。メモリ・セルCELiのグループは従ってブロックBLを貯蔵するようにされる。
【0026】
ここでのメモリ・デバイスはビット・バイ・ビット構成を有し、それは、ブロックBLが読み出されるとき、全てのブロックのビットが個々に読み出され得ることを意味する。
【0027】
この点で、読出し手段MLはブロックBLのビットb0−b17を読み出すためにこのブロックBLを含むメモリ・セルのグループを選択することができるように通常構成される。
【0028】
レーザ・ビームがビットを含むメモリ・セルに接触する(照射する)と、その故障値に対応した値で既にプログラムされてなければ、ビットは値を変えて故障値(「故障モード」)になり得る。例えば、ビットの故障値が1に等しく、そしてこのビットが0に等しい値にプログラムされていれば、それがレーザ線により影響されたという事実は結果的にはそれを値1にスイッチさせる。しかしながら、それが既に値1でプログラムされていた場合、レーザ・ビームで影響されたときそれは値1でプログラムされた状態を維持する。
【0029】
例えば、レーザ・ビームのような、故障注入によって行われた攻撃を検知するためパリティ・チェックを実行するための対策が取られる。
【0030】
図1に記述された例では、2つのパリティ・ビット、即ち、偶数パリティ・ビット(b16)及び奇数パリティ・ビット(b17)が用意される。ビットb16の値はブロックの偶数データ・ビットから得られる一方ビットb17の値はブロックの奇数データ・ビットから得られる。
【0031】
ブロックBLの読出し時にパリティ・チェックを実行するため、偶数ビットの夫々の読出し値は読出しパリティ・ビット(ビットb16)の値とその値が比較される新しいパリティ・ビットを決める基礎として用いられる。もし不一致があれば、故障注入による攻撃を結論付ける可能性がある。
【0032】
同様の操作が奇数ビットについて実行される。
【0033】
即ち、或る場合には実際にはそのような攻撃が起きているにも拘らずパリティ・チェックが攻撃不存在という結論を導くことがあり得る。
【0034】
より詳細には、図1に図示されるように、レーザ・ビームがランク0、1、及び2を照射したとする。また、この照射の間に、ブロックのビットb0及びb1は値を変化し、そしてその値が既に故障値に対応付けられているのでこの照射の間に奇数ビットb1は変化しないとする。
【0035】
このような場合、奇数ビットのパリティ・チェックは攻撃検知を示さない。同様に、2つの遇数ビットが値を変化するので、偶数ビットパリティ・チェックもまた攻撃不存在の結論を招く。
【0036】
図2はこの不都合を特に改善することのできるメモリ・デバイスの例示的実施例を図示する。
【0037】
より詳細には、この例では、メモリ・デバイスDMのメモリ・プレーンPMに貯蔵されるべき各ブロックはnデータ・ビット及びmパリティ・ビットを備え、この例では、nは16であり、mは2である。一般的に、mはゼロより大きく且つnより小さいかnに等しい。ここに示される構造では、異なるブロックのランクiのビットbiを貯蔵すべき全てのメモリ・セルCELiはセルのセットGCELi内に一緒にグループ分けされる。
【0038】
これらの異なるセット内で、メモリ・セルCEL0−CEL17の各グループは18ビットb0−b17のブロックBLを貯蔵するようになっている。
【0039】
ここで述べられる例では、ブロックのデータ・ビットはランク0から15のビットであり、メモリ・セルCEL0−CEL15内に貯蔵される一方、2つのパリティ・ビットはメモリ・セルCEL16及びCEL17に夫々貯蔵されるべきランク16及び17のビットである。
【0040】
ここでブロックBLを貯蔵するメモリ・セルCEL0−CEL17のグループのレベルを見ると、少なくとも幾つかのこのグループのメモリ・セルの間に他のメモリ・セル、それらはグループのメモリ・セルと同一でここでは参照メモリ・セルいとう名のメモリ・セルが組込まれ、mメモリ・セルだけ離れたパケットが形成される。
【0041】
ここでは、mは2に等しい。2つのメモリ・セルのパケットが従って形成される。より詳細には、パケットPQ0がメモリ・セルCEL0及びCEL1により形成される一方、パケットPQ1がメモリ・セルCEL2及びCEL3により形成され、そしてパケットPQ7がメモリ・セルCEL14及びCEL15により形成され、そして、パケットPQ8と呼ばれる最後のパケットはメモリ・セルCEL16及びCEL17により形成される。
【0042】
各参照セルCELRjは故障注入による攻撃の間に参照値でプログラムされて変更されるような参照ビットdjを含んでいる。別言すれば、ビットの故障値が1に等しいなら、各参照ビットは値0で最初にプログラムされ、レーザ・ビームによるこのビットの照射がその値0から論理値1への変化を引き起こす。
【0043】
更に、各パケット内に異なるパリティに関連したブロックBLのmビット(この場合では2ビット)が貯蔵される。
【0044】
特定のパリティに関連するビットは前記パリティ或いは対応するパリティ・ビットを含むデータ・ビットでさえあり得る。こうして、偶数パリティに関連するビットは偶数データ・ビット或いは偶数パリティ・ビットでさえあり得る。同様に、奇数パリティに関連するビットは奇数データ・ビット或いは奇数パリティ・ビットでさえあり得る。
【0045】
また、パケットPQ0−PQ7の夫々は偶数ビット及び奇数ビットを含む一方パケットPQ8は偶数パリティ・ビット及び奇数パリティ・ビットを含むことが図2に示される。
【0046】
即ち、各ブロックの偶数パリティ・ビットが、例えば、パケット1のランク2のビットに収容され奇数パリティ・ビットがランク5のビットの場所に収容されることは全く可能である。この場合、ランク2及び5のビットはパケットPQ8に収容されてもよい。
【0047】
より一般的には、パケットのmメモリ・セルが異なるパリティに関連するmビットを貯蔵する限り、ブロックのビットのランクとこのビットを貯蔵するためのメモリ・セルのランクとの対応関係は重要ではない。
【0048】
例えばレーザ・ビームを用いた、故障注入による攻撃の場合、レーザ・ビームが、例えば、セルCEL0のみに接触してビットb0の値を変化させると、この攻撃は偶数パリティ・ビットにより検知されることになる。
【0049】
同様のことが、レーザ・ビームが、例えば、ビットb1のみを照射してその値を変化させる場合に適用される。この攻撃は奇数パリティ・ビットにより検知されることになる。
【0050】
レーザ・ビームが2つのビットb0及びb1を同時に照射すると、偶数及び奇数パリティ・チェックがこの攻撃を検知することになる。
【0051】
また、レーザ・ビームが広域ビットb0、b1、d1及びb2の全てを照射すると、その結果により参照ビットd1の参照値に変化を必ず生じさせ、攻撃の検出が可能になり、これはたとえ2つの偶数ビットb0及びb2の値が同時に変化させられても同様である。
【0052】
明らかに、その値を変更することなくレーザ・ビームが奇数ビットb1だけを照射すると、奇数パリティ・チェックはこの攻撃を検知できない。しかしながら、どのような場合でも、攻撃はビットb1の真値を変更しないので、このことは重要ではない。
【0053】
図3は故障注入による攻撃を検知することを可能にする実装の主なステップを要約する。
【0054】
より詳しくは、ブロックBLを読み出すとき、ブロックの全ビットが読み出される(ステップ30)。
【0055】
偶数パリティ・ビットの計算が読み出された全ての偶数ビットの値に基づいて実行される(ステップ31)。
【0056】
奇数パリティ・ビットの計算が読み出された全ての奇数ビットの値に基づいて実行される(ステップ32)。
【0057】
参照ビットの値の読出しも実行される(ステップ33)。
【0058】
偶数パリティ・チェックが次に実行され(ステップ34)、計算された偶数パリティ・ビットと読み出された偶数パリティ・ビットとが比較される。同様に、奇数パリティ・チェックが実行され(ステップ35)、計算された奇数パリティ・ビットと読み出された奇数パリティ・ビットとが比較される。
【0059】
参照ビットの読出し値のこれらのビットの参照値との比較もまた実行される(ステップ36)。
【0060】
これら全ての比較が真の結果であるとき(ステップ37、38、及び39)、攻撃の無いことが検知される(ステップ41)。
【0061】
しかしながら、これらの比較37、38及び39の少なくとも1つが偽の論理値であるとき、故障注入による攻撃が検知される(ステップ40)。
【0062】
図2に示された例では、参照メモリ・セルCELRjはmメモリ・セル毎に、ここでは2メモリ・セル毎に組込まれている。
【0063】
参照ビットの数はそして比n/mに等しく、ここでnはデータ・ビットの数でありmはパリティ・ビットの数である。図2の例では、参照ビットの数は従って8に等しい。
【0064】
しかしながら、図4から7に示される例のように、他の構成も可能である。
【0065】
これらの図4から7では、簡略化のため、ブロックのデータ・ビット及びパリティ・ピットのみが、これらのビットの少なくとも幾つかの間に組込まれる参照ビットとともに、示されている。また、これらの図で、これらのビットはそれらを貯蔵するメモリ・セルに対応している。
【0066】
図4中、再びブロックはランク1から15の16データ・ビット及び2つのパリティ・ビット、即ち、ビットb16及びb17を備える。
【0067】
この例では、ブロックの2ビット毎に(或いは、2つのメモリ・セル毎に)、(参照メモリ・セルに対応する)参照ビットdjもまた組込まれている。即ち、図2の場合のビットb1の後から始まるのに代わって、ビットb0の後から始まる。
【0068】
この場合、1+n/m参照ビット、つまり9参照ビットd1−d9が従って組込まれる。
【0069】
今一度、2つのメモリ・セルPQ1−PQ8の夫々は異なるパリティに関連する2ビットを含む。より詳細には、パケットPQ1からPQ7の夫々は偶数データ・ビット及び奇数データ・ビットを含む一方、パケットPQ8はランク15(b15)の奇数データ・ビット及びランク16(b16)の偶数パリティ・ビットを含む。
【0070】
更に、メモリ・プレーン内に互いに反対に配置されたメモリ・セル内に貯蔵されたランク0及び18のビット、即ちビットb0及びb17は、異なるパリティに関連する9番目のブロックBLの2つのビットのパケットを形成する。実際、ビットb0はブロックの第1の偶数ビットであり、ビットb17は奇数パリティ・ビットである。
【0071】
明らかに、各パケットが異なるパリティに関連する2つのビットを貯蔵する場合、各パケット内のビットのオーダー及び、又はビットのランクは変更され得る。
【0072】
図5中、ブロックBLは16データ・ビット(n=16)b0−b15を備え、4パリティ・ビットb16、b17、b18、b19(m=4)を備える。
【0073】
パリティ・ビットb16の値はランク4kのビットの値の合計から得られ、kは0から3に変化する。
【0074】
パリティ・ビットb17の値はランク4k+1のビットの値の合計から得られ、kは0から3に変化する。
【0075】
パリティ・ビットb18の値はランク4k+2のビットの値の合計から得られ、kは0から3に変化する。
【0076】
パリティ・ビットb19の値はランク4k+3のビットの値の合計から得られ、kは0から3に変化する。
【0077】
ここで再び、参照ビットdjを含む参照メモリ・セルは4メモリ・セル毎、即ち、4ビットのブロック毎に、組込まれる。図5の例では、この組込はランク3のビットb3の後から始まり、これは4つの参照ビットの組込みとなる(n/m=16/4=4)。
【0078】
パケットPQ0、PO1、PQ2、PQ3及びPQ4の夫々は異なるパリティに関連したビットを貯蔵する。図5の例では、パケットPQ4は全てのパリティ・ビットを備える。即ち、これらのパリティ・ビットを他のパケットPQ0、PQ1、PQ2及びPQ3内に分散させることが、これらのパケットの夫々の残りのビットがそれらに貯蔵されているパリティ・ビットのパリティから異なるパリティに関連するときには、可能である。
【0079】
図6中、ここでもまた16データ・ビット及び4パリティ・ビットである(n=16、m=4)。しかしながら、参照ビットdjの組込はランク1のビットb1の後である。こうして5(1+n/m)参照ビットd1−d5の組込となる。パケットPQ1、PQ2、PQ3及びPQ4の夫々は異なるパリティの4データ・ビットを備える一方、パケットPQ4は異なるパリティの2データ・ビット(ビットb14及びb15)及び他の2つのパリティに関連する2つのパリティ・ビットb16及びb17を備える。
【0080】
最後に、ビットb0、b1、b18及びb19を夫々が含むメモリ・セルが第5のパケットを形成する。
【0081】
図7中、ブロックは16データ・ビットb0−b15(n=16)及びブロックの全てのデータ・ビットの値の合計からその値が得られる1つのパリティ・ビットb16(m=1)を備える。
【0082】
この場合、参照ビットdjは全てのビットのブロック間に組込まれ、即ち、参照メモリ・セルが全てのメモリ・セル間に配置されて夫々がブロックのデータ及びパリティ・ビットを含むようになっている。
【0083】
この例では、1つのビットのブロックを含む別々のメモリ・セルが再び設けられている。
【0084】
図8をここで特に参照してメモリ・デバイスDMの攻撃検知手段の例示的実施例をより詳しく参照する。
【0085】
この例では、上記のように、異なるブロックのランク0のビットb0を貯蔵するための、メモリ・セル、例えばセルCEL0は、グループ化されてメモリ・セルのセット或いはグループGCEL0を構成する。このセットGCEL0はメモリ・プレーンの領域ZM0内に配置される。読出し手段がメモリ・プレーンの各領域ZMkに関連されて実際に読み出すべきブロックのビットb0を含むセルCEL0を選択することができる。このような手段ML0は通常のそれ自体は既知の構造の特にコラム・デコーダ及び読出しアンプ手段を含む構造を有する。さらに、メモリ・デバイスDMはまた通常のそれ自体は既知のロー・デコーダを備え、それはメモリ・プレーンのメモリ・セルの望みのローの選択を可能にする。
【0086】
ロー及びコラムの選択は従って読出し手段ML0の出力に読み出すべきブロックのランク0のビットb0を伝送することを可能にする。
【0087】
異なるセットGCELkに関連する異なる手段MLkは従ってブロックのビットb0−b15を夫々伝送する。これらデータ・ビットは、通常のそれ自体は既知の構造を備えた、b16c及びb17cの夫々で参照される計算された偶数及び奇数パリティ・ビットを決定するために偶数ビットの値の合計及び奇数ビットの値の合計を決定する計算手段MCL1にて処理される。
【0088】
ビットb16cは次に比較器CMPP10にてメモリ・プレーンから得られた偶数ビットb16と比較される。
【0089】
同様に、ビットb17cは比較器CMPP11にてメモリ・プレーンから得られた奇数ビットb17と比較される。
【0090】
比較器CMPP10及びCMPP11の夫々は比較の真又は偽、即ち、攻撃の非検知或いは攻撃検知を表す信号SC16及びSC17の夫々を輩出する。
【0091】
さらに、参照メモリ・セルはメモリ・プレーンの異なる領域ZMk間に配置される。
【0092】
より詳細には、図8中に示されるように、各ブロックのランク1のビットを貯蔵するようにされたメモリ・セルを含む領域ZM0及び領域ZM1の間に配置された領域ZMR1内に、参照メモリ・セルのコラムが設けられている。参照メモリ・セルCELR1のこのセットGCELR1は、手段ML0のそれと同様の構造により、しかし、これら参照メモリ・セルのセットはただ一列に同じコラム上に配置されるので、コラム・デコーダの存在はないが、読出し手段MLR1に接続される。
【0093】
明らかに、各ローについて参照メモリ・セルがあり、各ローはロー・デコーダーにより続いて選択される。
【0094】
選択された参照メモリ・セルCELR1から得られた参照ビットd1は比較器CMP1にて参照値と比較されて、比較の真値或いは偽値を表す、そして結局、攻撃の非検知或いは攻撃検知を表す比較信号SCRを輩出する。
【0095】
手段CMP1は従って対応する参照ビットの値の検証を実行するよう構成された第2の検証手段をここで形成する。メモリ・デバイスDMは図9に極めて模式的に描かれるように集積回路CI内に都合良く統合された形態でそして組み込まれることができる。
【0096】
そのような集積回路CIはチップ・カードCPのチップPの一部を構成できる(図10)。
【0097】
本発明は従って、簡単な方法で、故障注入による攻撃の検知の信頼性を特に改善することができ、そして例えば、ROM、RAM、FLASH及びその他のメモリのような、ビット・バイ・ビット構成の如何なるタイプのメモリにも適用できる。

【特許請求の範囲】
【請求項1】
データ・ビット及びmパリティ・ビットを備えた少なくとも1つのビットのブロックを貯蔵するためのメモリ・セルの少なくとも1つのグループを備えたメモリ・デバイスの故障注入による攻撃を検知する方法であり、前記検知はブロックの読出し時に、対応するメモリ・セル内に含まれるブロックの各ビットの読出し(ステップ30)及び各データ・ビットの読出し値及び各パリティ・ビットの読出し値に基づいて実行されるパリティ・チェック(ステップ37、38)を備え、前記方法はmメモリ・セル(CELi)の別々のパケットを形成するように前記グループのメモリ・セル(CELi)の少なくとも幾つかの間の参照メモリ・セル(CELR1)の組込、故障注入による攻撃の間に参照値でプログラムされて変更され易い参照ビット(dj)の各参照メモリ・セル内の貯蔵、及び、mが1より大きいとき、異なるパリティに関連するブロックのmビットのmメモリ・セルの各パケット内の貯蔵を備え、前記検知は、前記ブロックの読出し時に、各参照ビットの検証を更に備える、方法。
【請求項2】
参照メモリ・セル(CELRj)はmメモリ・セル毎に組み込まれている、請求項1の方法。
【請求項3】
前記メモリ・デバイスはビットの複数のブロックを夫々が貯蔵するためのメモリ・セルの複数のグループを備え、ビットの各ブロックのランク(BL)は同じ数のデータ・ビット及びmパリティ・ビットを備え、異なるブロックの同じランクのビットを貯蔵するための全てのメモリ・セル(GCEL0)はメモリ・プレーンの1つの同じ領域(ZM0)内に一緒にグループ化され、そして、参照メモリ・セル(CELR1)は前記領域の少なくとも幾つかの間に組み込まれる、請求項1又は2の方法。
【請求項4】
データ・ビット及びmパリティ・ビットを備えた少なくとも1つのビットのブロック(BL)を貯蔵するためのメモリ・セルの少なくとも1つのグループを備えたメモリ・プレーン(PM)、及び、ブロックの各ビットを読み出すよう構成された読出し手段(ML)、及び、ブロックの読出し時に、各データ・ビットの読出し値及び各パリティ・ビットの読出し値に基づいてパリティ・チェックを実行するように構成された第1の検証手段(MCL1、CMPP10、CMPP11)を備えた故障注入による攻撃の検知手段を備えたメモリ・デバイスであり、メモリ・プレーン(PM)はmメモリ・セルの別々のパケット(PQ)を形成するように前記グループのメモリ・セルの少なくとも幾つかの間に配置された参照メモリ・セル(CELRj)を備え、各参照メモリ・セルは故障注入による攻撃の最中に参照値でプログラムされて変更され易い参照ビット(dj)を貯蔵しそしてmメモリ・セルの各ビットは、mが1より大きいときに、異なるパリティに関連するブロックのmビットを貯蔵するようにされ、そして検知手段は、前記ブロックの読出し時、各参照ビットの値の検証を実行するよう構成された第2の検証手段(CMP1)を備える、メモリ・デバイス。
【請求項5】
参照メモリ・セル(CELRj)はmメモリ・セル毎に組み込まれている、請求項4のデバイス。
【請求項6】
前記メモリ・プレーンはビットの複数のブロックを夫々が貯蔵するようにされたメモリ・セルの複数のグループを備え、ビットの各ブロックのランク(BL)は同じ数のデータ・ビット及びmパリティ・ビットを備え、異なるブロックの同じランクのビットを貯蔵するための全てのメモリ・セル(GCEL0)はメモリ・プレーンの1つの同じ領域(ZM0)内に一緒にグループ化され、そして、参照メモリ・セル(CELR1)は前記領域の少なくとも幾つかの間に組み込まれる、請求項4又は5のデバイス。
【請求項7】
請求項4乃至6の何れか1つのメモリ・デバイスを備えた集積回路。
【請求項8】
請求項7の集積回路を備えたチップ・カード。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2011−3189(P2011−3189A)
【公開日】平成23年1月6日(2011.1.6)
【国際特許分類】
【出願番号】特願2010−134405(P2010−134405)
【出願日】平成22年6月11日(2010.6.11)
【出願人】(510155081)エスティマイクロエレクトロニクス(ルッセ)エスエーエス (3)
【氏名又は名称原語表記】STMICROELECTRONICS(ROUSSET)SAS
【住所又は居所原語表記】Zi De Peynier Rousset Avenue COQ 13790 Rousset France
【Fターム(参考)】