(57)【要約】      （修正有）【課題】メモリ・デバイス上の故障注入による攻撃を検知する。【解決手段】メモリ・デバイスがデータ・ビット及びｍパリティ・ビットを備えたブロック（ＢＬ）を貯蔵するメモリ・プレーン（ＰＭ）のグループ、及び、ブロックの各ビットを読出す手段（ＭＬ）及びブロックの読出時に各データ・ビットの読出値及び各パリティ・ビットの読出値に基づきパリティ・チェックをする検証手段を備えた故障注入攻撃検知手段を備え、メモリ・プレーン（ＰＭ）はｍメモリ・セルの別々のパケット（ＰＱ）を形成するよう前記グループのメモリ・セル間に配置された参照メモリ・セルを備え、各参照メモリ・セルは故障注入攻撃の間に参照値で変更される参照ビットを貯蔵し、ｍメモリ・セルの各パケットは、異なるパリティに関連するブロックのｍビットを貯蔵する。【選択図】図２
2011003189.tif 000002
【特許請求の範囲】
【請求項１】
データ・ビット及びｍパリティ・ビットを備えた少なくとも１つのビットのブロックを貯蔵するためのメモリ・セルの少なくとも１つのグループを備えたメモリ・デバイスの故障注入による攻撃を検知する方法であり、前記検知はブロックの読出し時に、対応するメモリ・セル内に含まれるブロックの各ビットの読出し（ステップ３０）及び各データ・ビットの読出し値及び各パリティ・ビットの読出し値に基づいて実行されるパリティ・チェック（ステップ３７、３８）を備え、前記方法はｍメモリ・セル（ＣＥＬｉ）の別々のパケットを形成するように前記グループのメモリ・セル（ＣＥＬｉ）の少なくとも幾つかの間の参照メモリ・セル（ＣＥＬＲ１）の組込、故障注入による攻撃の間に参照値でプログラムされて変更され易い参照ビット（ｄｊ）の各参照メモリ・セル内の貯蔵、及び、ｍが１より大きいとき、異なるパリティに関連するブロックのｍビットのｍメモリ・セルの各パケット内の貯蔵を備え、前記検知は、前記ブロックの読出し時に、各参照ビットの検証を更に備える、方法。
【請求項２】
参照メモリ・セル（ＣＥＬＲｊ）はｍメモリ・セル毎に組み込まれている、請求項１の方法。
【請求項３】
前記メモリ・デバイスはビットの複数のブロックを夫々が貯蔵するためのメモリ・セルの複数のグループを備え、ビットの各ブロックのランク（ＢＬ）は同じ数のデータ・ビット及びｍパリティ・ビットを備え、異なるブロックの同じランクのビットを貯蔵するための全てのメモリ・セル（ＧＣＥＬ０）はメモリ・プレーンの１つの同じ領域（ＺＭ０）内に一緒にグループ化され、そして、参照メモリ・セル（ＣＥＬＲ１）は前記領域の少なくとも幾つかの間に組み込まれる、請求項１又は２の方法。
【請求項４】
データ・ビット及びｍパリティ・ビットを備えた少なくとも１つのビットのブロック（ＢＬ）を貯蔵するためのメモリ・セルの少なくとも１つのグループを備えたメモリ・プレーン（ＰＭ）、及び、ブロックの各ビットを読み出すよう構成された読出し手段（ＭＬ）、及び、ブロックの読出し時に、各データ・ビットの読出し値及び各パリティ・ビットの読出し値に基づいてパリティ・チェックを実行するように構成された第１の検証手段（ＭＣＬ１、ＣＭＰＰ１０、ＣＭＰＰ１１）を備えた故障注入による攻撃の検知手段を備えたメモリ・デバイスであり、メモリ・プレーン（ＰＭ）はｍメモリ・セルの別々のパケット（ＰＱ）を形成するように前記グループのメモリ・セルの少なくとも幾つかの間に配置された参照メモリ・セル（ＣＥＬＲｊ）を備え、各参照メモリ・セルは故障注入による攻撃の最中に参照値でプログラムされて変更され易い参照ビット（ｄｊ）を貯蔵しそしてｍメモリ・セルの各ビットは、ｍが１より大きいときに、異なるパリティに関連するブロックのｍビットを貯蔵するようにされ、そして検知手段は、前記ブロックの読出し時、各参照ビットの値の検証を実行するよう構成された第２の検証手段（ＣＭＰ１）を備える、メモリ・デバイス。
【請求項５】
参照メモリ・セル（ＣＥＬＲｊ）はｍメモリ・セル毎に組み込まれている、請求項４のデバイス。
【請求項６】
前記メモリ・プレーンはビットの複数のブロックを夫々が貯蔵するようにされたメモリ・セルの複数のグループを備え、ビットの各ブロックのランク（ＢＬ）は同じ数のデータ・ビット及びｍパリティ・ビットを備え、異なるブロックの同じランクのビットを貯蔵するための全てのメモリ・セル（ＧＣＥＬ０）はメモリ・プレーンの１つの同じ領域（ＺＭ０）内に一緒にグループ化され、そして、参照メモリ・セル（ＣＥＬＲ１）は前記領域の少なくとも幾つかの間に組み込まれる、請求項４又は５のデバイス。
【請求項７】
請求項４乃至６の何れか１つのメモリ・デバイスを備えた集積回路。
【請求項８】
請求項７の集積回路を備えたチップ・カード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、電子回路に係り、より詳しくはメモリ・デバイス上の故障注入による攻撃の検知に関する。
【０００２】
本発明は好都合に、しかし限定される訳ではないがチップ・カード及びそれらが保持する機密データの保護に適用される。
【背景技術】
【０００３】
ハッカーによる例えばチップ・カード内の保護メモリから機密情報を取出す、起こり得る攻撃の中には、例えば放射線（レーザ、赤外、Ｘ線、等）によりメモリの動作、及び、又は内容を混乱させる目的の故障差分攻撃（ＤＦＡ：Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｆａｕｌｔ  Ａｎａｌｙｓｉｓ）がある。
【０００４】
従って故障注入によるそのような攻撃を検知出来ることは特に有益である。攻撃が一旦検知されれば、コンポーネントを閉鎖するため或いは機密情報が奪われるのを回避するため、或いは、コンポーネントを再初期化するため等の処理に応じて、多くの解決策がある。
【０００５】
従来のメモリのシステム構成の場合、例えば、貯蔵された各ビットが個別的に読み出され得るような、ビット・バイ・ビットのシステム構成の場合、読み出し動作中に読み出されたビットのパリティ・チェックに基づいてそのような攻撃を検知する可能性がある。
【０００６】
しかしながら、そのような解決策は、或る種の場合には、故障注入攻撃が実際に起きた時に故障注入による攻撃を検知できない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従って、本発明の実装及び実施の一態様によれば、メモリ・デバイス上の故障注入による攻撃を検知する方法及び対応するメモリ・デバイスが提案され、故障注入による攻撃のより信頼性のある検出を提供する。
【課題を解決するための手段】
【０００８】
一態様によれば、データ・ビット及びｍパリティ・ビットを備える少なくとも１つのビットのブロックを備える少なくとも１つのメモリ・セルのグループを備えたメモリ・デバイス上の故障注入による攻撃を検知する方法が提案され、この検知は、ブロックの読み出し時に、対応するメモリ・セルに含まれるブロックの各ビットの読出し及び各データの読出し値及び各パリティ・ビットの読出し値に基づいて実行されるパリティ・チェックを備える。
【０００９】
この態様の一般的特徴によれば、本方法は以下の工程を含む。
【００１０】
−ｍメモリ・セルの分離パケットを形成するような、少なくとも幾つかの前記グループのメモリ・セル間への参照セルの組込
−故障注入による攻撃の間の参照値が変更されるようにプログラムされた参照ビットの各参照メモリ・セル内への貯蔵
−ｍが１より大きいときに、ｍメモリ・セルの各パケット内に、異なるパリティに関連するブロックのｍビットの貯蔵
−前記ブロックの読み出し時に、各参照ビットの値の検証を更に含む前記検知。
【００１１】
こうして、例えば、参照ビットのメモリ・プレーンの選択されたポイントでの組込及び異なるパリティに関連して読み出されるべきブロックのビットの参照ビット間への貯蔵は、レーザ・ビームが２つのメモリ・セルを照射する程に広い場合でも、この場合では、レーザ・ビームはまた参照ビットに影響してその値を反転させ、それが攻撃検知信号を呼び起こし、故障注入による攻撃を検知することができる。
【００１２】
更に、特定のパリティと関連するビットは前記パリティを有するデータ・ビット或いはそのパリティと関連するパリティ・ビット自身でもよい。
【００１３】
参照メモリ・セルの組込については多くの配置が可能であるが、ビットのランクとメモリ・セルとの対応がこれらのビットを貯蔵するような場合には特に、ｍメモリ・セル毎に参照メモリ・セルを組込むことが特に簡単である。
【００１４】
一実装によれば、メモリ・デバイスが、ビットの複数のブロックを夫々が貯蔵するためのメモリ・セルの複数のグループであって各ビットのブロックが同数のデータ・ビット及びｍパリティ・ビットであるようなビットの複数のグループ、及びメモリ・プレーンの同一の領域内に一緒にグループ分けされる異なるブロックの同じランクのビットを貯蔵するための全てのメモリ・セルを備えるとき、参照メモリ・セルは前記領域の少なくとも幾つかの間に優先して組込まれる。
【００１５】
他の態様によれば、メモリ・プレーン及び故障注入による攻撃の検知手段を含むメモリ・デバイスが提案され、メモリ・プレーンはデータ・ビット及びｍパリティ・ビットを備えた少なくとも１つのビットのブロックを貯蔵するためのメモリ・セルの少なくとも１つのグループを備え、検知手段はブロックの各ビットを読み出すように構成された読出し手段、及び、ブロックの読出し時に、各データ・ビットの読出し値及び各パリティ・ビットの読出し値に基づいてパリティ・チェックを実行するよう構成された第１の検証手段を備える。
【００１６】
この態様の一般的な特徴によれば、ｍメモリ・セルの別々のパケットを形成するような前記グループのメモリ・セルの少なくとも幾つかの間に配置される参照メモリ・セルを備え、各参照メモリ・セルは故障注入による攻撃の間に参照値でプログラムされて変更される参照ビットを貯蔵し、ｍメモリ・セルの各パケットは、ｍが１より大きいとき、異なるパリティに関連するブロックのｍビットを貯蔵するようにされ、そして検知手段は、前記ブロックの読出し時に、各参照ビットの値の検証を実行するように構成された第２の検証手段を備える。
【００１７】
一実施例によれば、参照メモリ・セルはｍメモリ・セル毎に配置される。
【００１８】
メモリ・プレーンが複数のビットのブロックを夫々貯蔵するようなメモリ・セルの複数のグループを備え、各ビットのブロックが同じ数のデータ・ビットとｍパリティ・ビットを備え、異なるブロックの同じランクのビットを貯蔵するための全てのメモリ・セルがメモリ・プレーンの１つの同じ領域内に一緒にグループ化されるような、一実施例によれば、参照メモリ・セルは少なくとも幾つかの前記領域間に配置される。
【００１９】
他の態様によれば、上記のようなメモリ・デバイスを組み入れる集積回路が提案される。
【００２０】
更に別の態様によれば、上記のような集積回路を備えるチップ・カードが提案される。
【００２１】
本発明のその他の利点及び特徴は、それらにより限定されるものでは全くないが、実装及び実施例の詳細な説明の記載及び添付図面により明らかとなる。
【図面の簡単な説明】
【００２２】
【図１】図１は従来技術による例示的メモリ・デバイスを概略的に図示する。
【図２】図２は本発明による例示的メモリ・デバイスを概略的に図示する。
【図３】図３は本発明による攻撃検知方法の例示的実装を概略的に図示する。
【図４】図４は本発明によるメモリ・デバイスの他の取り得る構成を概略的に図示する。
【図５】図５は本発明によるメモリ・デバイスの他の取り得る構成を概略的に図示する。
【図６】図６は本発明によるメモリ・デバイスの他の取り得る構成を概略的に図示する。
【図７】図７は本発明によるメモリ・デバイスの他の取り得る構成を概略的に図示する。
【図８】図８は本発明によるメモリ・デバイスの更に他の取り得る例示的構成を概略的に図示する。
【図９】図９は本発明の他の態様の例を概略的に図示する。
【図１０】図１０は本発明の他の態様の例を概略的に図示する。
【発明を実施するための形態】
【００２３】
図１中、参照符号ＤＭはそのメモリ・プレーンＰＭがメモリ・セルのセットＧＣＥＬｉを備える、通常のメモリ・デバイスを示す。１つの同じメモリ・セルのセットの全てのメモリ・セルはメモリ・プレーン内に貯蔵されるべき異なるビットのブロックＢＬの同じランクのビットを貯蔵する。
【００２４】
より詳細には、ここで述べられている例において、メモリ・プレーンに貯蔵されるべきビットのブロックＢＬはデータ・ビット、この例では１６（ランク０から１５）、及びパリティ・ビット、この例では２つ、即ち、ランク１６及び１７、を備える。
【００２５】
また、或るブロックＢＬについて、メモリ・セルＣＥＬ０はランク０のビットｂ０を貯蔵するようにされ、メモリ・セルＣＥＬ１はランク１のビットｂ１を貯蔵するようにされ、より一般的には、メモリ・セルＣＥＬｉはランクｉのビットｂｉを貯蔵するようにされる。メモリ・セルＣＥＬｉのグループは従ってブロックＢＬを貯蔵するようにされる。
【００２６】
ここでのメモリ・デバイスはビット・バイ・ビット構成を有し、それは、ブロックＢＬが読み出されるとき、全てのブロックのビットが個々に読み出され得ることを意味する。
【００２７】
この点で、読出し手段ＭＬはブロックＢＬのビットｂ０−ｂ１７を読み出すためにこのブロックＢＬを含むメモリ・セルのグループを選択することができるように通常構成される。
【００２８】
レーザ・ビームがビットを含むメモリ・セルに接触する（照射する）と、その故障値に対応した値で既にプログラムされてなければ、ビットは値を変えて故障値（「故障モード」）になり得る。例えば、ビットの故障値が１に等しく、そしてこのビットが０に等しい値にプログラムされていれば、それがレーザ線により影響されたという事実は結果的にはそれを値１にスイッチさせる。しかしながら、それが既に値１でプログラムされていた場合、レーザ・ビームで影響されたときそれは値１でプログラムされた状態を維持する。
【００２９】
例えば、レーザ・ビームのような、故障注入によって行われた攻撃を検知するためパリティ・チェックを実行するための対策が取られる。
【００３０】
図１に記述された例では、２つのパリティ・ビット、即ち、偶数パリティ・ビット（ｂ１６）及び奇数パリティ・ビット（ｂ１７）が用意される。ビットｂ１６の値はブロックの偶数データ・ビットから得られる一方ビットｂ１７の値はブロックの奇数データ・ビットから得られる。
【００３１】
ブロックＢＬの読出し時にパリティ・チェックを実行するため、偶数ビットの夫々の読出し値は読出しパリティ・ビット（ビットｂ１６）の値とその値が比較される新しいパリティ・ビットを決める基礎として用いられる。もし不一致があれば、故障注入による攻撃を結論付ける可能性がある。
【００３２】
同様の操作が奇数ビットについて実行される。
【００３３】
即ち、或る場合には実際にはそのような攻撃が起きているにも拘らずパリティ・チェックが攻撃不存在という結論を導くことがあり得る。
【００３４】
より詳細には、図１に図示されるように、レーザ・ビームがランク０、１、及び２を照射したとする。また、この照射の間に、ブロックのビットｂ０及びｂ１は値を変化し、そしてその値が既に故障値に対応付けられているのでこの照射の間に奇数ビットｂ１は変化しないとする。
【００３５】
このような場合、奇数ビットのパリティ・チェックは攻撃検知を示さない。同様に、２つの遇数ビットが値を変化するので、偶数ビットパリティ・チェックもまた攻撃不存在の結論を招く。
【００３６】
図２はこの不都合を特に改善することのできるメモリ・デバイスの例示的実施例を図示する。
【００３７】
より詳細には、この例では、メモリ・デバイスＤＭのメモリ・プレーンＰＭに貯蔵されるべき各ブロックはｎデータ・ビット及びｍパリティ・ビットを備え、この例では、ｎは１６であり、ｍは２である。一般的に、ｍはゼロより大きく且つｎより小さいかｎに等しい。ここに示される構造では、異なるブロックのランクｉのビットｂｉを貯蔵すべき全てのメモリ・セルＣＥＬｉはセルのセットＧＣＥＬｉ内に一緒にグループ分けされる。
【００３８】
これらの異なるセット内で、メモリ・セルＣＥＬ０−ＣＥＬ１７の各グループは１８ビットｂ０−ｂ１７のブロックＢＬを貯蔵するようになっている。
【００３９】
ここで述べられる例では、ブロックのデータ・ビットはランク０から１５のビットであり、メモリ・セルＣＥＬ０−ＣＥＬ１５内に貯蔵される一方、２つのパリティ・ビットはメモリ・セルＣＥＬ１６及びＣＥＬ１７に夫々貯蔵されるべきランク１６及び１７のビットである。
【００４０】
ここでブロックＢＬを貯蔵するメモリ・セルＣＥＬ０−ＣＥＬ１７のグループのレベルを見ると、少なくとも幾つかのこのグループのメモリ・セルの間に他のメモリ・セル、それらはグループのメモリ・セルと同一でここでは参照メモリ・セルいとう名のメモリ・セルが組込まれ、ｍメモリ・セルだけ離れたパケットが形成される。
【００４１】
ここでは、ｍは２に等しい。２つのメモリ・セルのパケットが従って形成される。より詳細には、パケットＰＱ０がメモリ・セルＣＥＬ０及びＣＥＬ１により形成される一方、パケットＰＱ１がメモリ・セルＣＥＬ２及びＣＥＬ３により形成され、そしてパケットＰＱ７がメモリ・セルＣＥＬ１４及びＣＥＬ１５により形成され、そして、パケットＰＱ８と呼ばれる最後のパケットはメモリ・セルＣＥＬ１６及びＣＥＬ１７により形成される。
【００４２】
各参照セルＣＥＬＲｊは故障注入による攻撃の間に参照値でプログラムされて変更されるような参照ビットｄｊを含んでいる。別言すれば、ビットの故障値が１に等しいなら、各参照ビットは値０で最初にプログラムされ、レーザ・ビームによるこのビットの照射がその値０から論理値１への変化を引き起こす。
【００４３】
更に、各パケット内に異なるパリティに関連したブロックＢＬのｍビット（この場合では２ビット）が貯蔵される。
【００４４】
特定のパリティに関連するビットは前記パリティ或いは対応するパリティ・ビットを含むデータ・ビットでさえあり得る。こうして、偶数パリティに関連するビットは偶数データ・ビット或いは偶数パリティ・ビットでさえあり得る。同様に、奇数パリティに関連するビットは奇数データ・ビット或いは奇数パリティ・ビットでさえあり得る。
【００４５】
また、パケットＰＱ０−ＰＱ７の夫々は偶数ビット及び奇数ビットを含む一方パケットＰＱ８は偶数パリティ・ビット及び奇数パリティ・ビットを含むことが図２に示される。
【００４６】
即ち、各ブロックの偶数パリティ・ビットが、例えば、パケット１のランク２のビットに収容され奇数パリティ・ビットがランク５のビットの場所に収容されることは全く可能である。この場合、ランク２及び５のビットはパケットＰＱ８に収容されてもよい。
【００４７】
より一般的には、パケットのｍメモリ・セルが異なるパリティに関連するｍビットを貯蔵する限り、ブロックのビットのランクとこのビットを貯蔵するためのメモリ・セルのランクとの対応関係は重要ではない。
【００４８】
例えばレーザ・ビームを用いた、故障注入による攻撃の場合、レーザ・ビームが、例えば、セルＣＥＬ０のみに接触してビットｂ０の値を変化させると、この攻撃は偶数パリティ・ビットにより検知されることになる。
【００４９】
同様のことが、レーザ・ビームが、例えば、ビットｂ１のみを照射してその値を変化させる場合に適用される。この攻撃は奇数パリティ・ビットにより検知されることになる。
【００５０】
レーザ・ビームが２つのビットｂ０及びｂ１を同時に照射すると、偶数及び奇数パリティ・チェックがこの攻撃を検知することになる。
【００５１】
また、レーザ・ビームが広域ビットｂ０、ｂ１、ｄ１及びｂ２の全てを照射すると、その結果により参照ビットｄ１の参照値に変化を必ず生じさせ、攻撃の検出が可能になり、これはたとえ２つの偶数ビットｂ０及びｂ２の値が同時に変化させられても同様である。
【００５２】
明らかに、その値を変更することなくレーザ・ビームが奇数ビットｂ１だけを照射すると、奇数パリティ・チェックはこの攻撃を検知できない。しかしながら、どのような場合でも、攻撃はビットｂ１の真値を変更しないので、このことは重要ではない。
【００５３】
図３は故障注入による攻撃を検知することを可能にする実装の主なステップを要約する。
【００５４】
より詳しくは、ブロックＢＬを読み出すとき、ブロックの全ビットが読み出される（ステップ３０）。
【００５５】
偶数パリティ・ビットの計算が読み出された全ての偶数ビットの値に基づいて実行される（ステップ３１）。
【００５６】
奇数パリティ・ビットの計算が読み出された全ての奇数ビットの値に基づいて実行される（ステップ３２）。
【００５７】
参照ビットの値の読出しも実行される（ステップ３３）。
【００５８】
偶数パリティ・チェックが次に実行され（ステップ３４）、計算された偶数パリティ・ビットと読み出された偶数パリティ・ビットとが比較される。同様に、奇数パリティ・チェックが実行され（ステップ３５）、計算された奇数パリティ・ビットと読み出された奇数パリティ・ビットとが比較される。
【００５９】
参照ビットの読出し値のこれらのビットの参照値との比較もまた実行される（ステップ３６）。
【００６０】
これら全ての比較が真の結果であるとき（ステップ３７、３８、及び３９）、攻撃の無いことが検知される（ステップ４１）。
【００６１】
しかしながら、これらの比較３７、３８及び３９の少なくとも１つが偽の論理値であるとき、故障注入による攻撃が検知される（ステップ４０）。
【００６２】
図２に示された例では、参照メモリ・セルＣＥＬＲｊはｍメモリ・セル毎に、ここでは２メモリ・セル毎に組込まれている。
【００６３】
参照ビットの数はそして比ｎ／ｍに等しく、ここでｎはデータ・ビットの数でありｍはパリティ・ビットの数である。図２の例では、参照ビットの数は従って８に等しい。
【００６４】
しかしながら、図４から７に示される例のように、他の構成も可能である。
【００６５】
これらの図４から７では、簡略化のため、ブロックのデータ・ビット及びパリティ・ピットのみが、これらのビットの少なくとも幾つかの間に組込まれる参照ビットとともに、示されている。また、これらの図で、これらのビットはそれらを貯蔵するメモリ・セルに対応している。
【００６６】
図４中、再びブロックはランク１から１５の１６データ・ビット及び２つのパリティ・ビット、即ち、ビットｂ１６及びｂ１７を備える。
【００６７】
この例では、ブロックの２ビット毎に（或いは、２つのメモリ・セル毎に）、（参照メモリ・セルに対応する）参照ビットｄｊもまた組込まれている。即ち、図２の場合のビットｂ１の後から始まるのに代わって、ビットｂ０の後から始まる。
【００６８】
この場合、１＋ｎ／ｍ参照ビット、つまり９参照ビットｄ１−ｄ９が従って組込まれる。
【００６９】
今一度、２つのメモリ・セルＰＱ１−ＰＱ８の夫々は異なるパリティに関連する２ビットを含む。より詳細には、パケットＰＱ１からＰＱ７の夫々は偶数データ・ビット及び奇数データ・ビットを含む一方、パケットＰＱ８はランク１５（ｂ１５）の奇数データ・ビット及びランク１６（ｂ１６）の偶数パリティ・ビットを含む。
【００７０】
更に、メモリ・プレーン内に互いに反対に配置されたメモリ・セル内に貯蔵されたランク０及び１８のビット、即ちビットｂ０及びｂ１７は、異なるパリティに関連する９番目のブロックＢＬの２つのビットのパケットを形成する。実際、ビットｂ０はブロックの第１の偶数ビットであり、ビットｂ１７は奇数パリティ・ビットである。
【００７１】
明らかに、各パケットが異なるパリティに関連する２つのビットを貯蔵する場合、各パケット内のビットのオーダー及び、又はビットのランクは変更され得る。
【００７２】
図５中、ブロックＢＬは１６データ・ビット（ｎ＝１６）ｂ０−ｂ１５を備え、４パリティ・ビットｂ１６、ｂ１７、ｂ１８、ｂ１９（ｍ＝４）を備える。
【００７３】
パリティ・ビットｂ１６の値はランク４ｋのビットの値の合計から得られ、ｋは０から３に変化する。
【００７４】
パリティ・ビットｂ１７の値はランク４ｋ＋１のビットの値の合計から得られ、ｋは０から３に変化する。
【００７５】
パリティ・ビットｂ１８の値はランク４ｋ＋２のビットの値の合計から得られ、ｋは０から３に変化する。
【００７６】
パリティ・ビットｂ１９の値はランク４ｋ＋３のビットの値の合計から得られ、ｋは０から３に変化する。
【００７７】
ここで再び、参照ビットｄｊを含む参照メモリ・セルは４メモリ・セル毎、即ち、４ビットのブロック毎に、組込まれる。図５の例では、この組込はランク３のビットｂ３の後から始まり、これは４つの参照ビットの組込みとなる（ｎ／ｍ＝１６／４＝４）。
【００７８】
パケットＰＱ０、ＰＯ１、ＰＱ２、ＰＱ３及びＰＱ４の夫々は異なるパリティに関連したビットを貯蔵する。図５の例では、パケットＰＱ４は全てのパリティ・ビットを備える。即ち、これらのパリティ・ビットを他のパケットＰＱ０、ＰＱ１、ＰＱ２及びＰＱ３内に分散させることが、これらのパケットの夫々の残りのビットがそれらに貯蔵されているパリティ・ビットのパリティから異なるパリティに関連するときには、可能である。
【００７９】
図６中、ここでもまた１６データ・ビット及び４パリティ・ビットである（ｎ＝１６、ｍ＝４）。しかしながら、参照ビットｄｊの組込はランク１のビットｂ１の後である。こうして５（１＋ｎ／ｍ）参照ビットｄ１−ｄ５の組込となる。パケットＰＱ１、ＰＱ２、ＰＱ３及びＰＱ４の夫々は異なるパリティの４データ・ビットを備える一方、パケットＰＱ４は異なるパリティの２データ・ビット（ビットｂ１４及びｂ１５）及び他の２つのパリティに関連する２つのパリティ・ビットｂ１６及びｂ１７を備える。
【００８０】
最後に、ビットｂ０、ｂ１、ｂ１８及びｂ１９を夫々が含むメモリ・セルが第５のパケットを形成する。
【００８１】
図７中、ブロックは１６データ・ビットｂ０−ｂ１５（ｎ＝１６）及びブロックの全てのデータ・ビットの値の合計からその値が得られる１つのパリティ・ビットｂ１６（ｍ＝１）を備える。
【００８２】
この場合、参照ビットｄｊは全てのビットのブロック間に組込まれ、即ち、参照メモリ・セルが全てのメモリ・セル間に配置されて夫々がブロックのデータ及びパリティ・ビットを含むようになっている。
【００８３】
この例では、１つのビットのブロックを含む別々のメモリ・セルが再び設けられている。
【００８４】
図８をここで特に参照してメモリ・デバイスＤＭの攻撃検知手段の例示的実施例をより詳しく参照する。
【００８５】
この例では、上記のように、異なるブロックのランク０のビットｂ０を貯蔵するための、メモリ・セル、例えばセルＣＥＬ０は、グループ化されてメモリ・セルのセット或いはグループＧＣＥＬ０を構成する。このセットＧＣＥＬ０はメモリ・プレーンの領域ＺＭ０内に配置される。読出し手段がメモリ・プレーンの各領域ＺＭｋに関連されて実際に読み出すべきブロックのビットｂ０を含むセルＣＥＬ０を選択することができる。このような手段ＭＬ０は通常のそれ自体は既知の構造の特にコラム・デコーダ及び読出しアンプ手段を含む構造を有する。さらに、メモリ・デバイスＤＭはまた通常のそれ自体は既知のロー・デコーダを備え、それはメモリ・プレーンのメモリ・セルの望みのローの選択を可能にする。
【００８６】
ロー及びコラムの選択は従って読出し手段ＭＬ０の出力に読み出すべきブロックのランク０のビットｂ０を伝送することを可能にする。
【００８７】
異なるセットＧＣＥＬｋに関連する異なる手段ＭＬｋは従ってブロックのビットｂ０−ｂ１５を夫々伝送する。これらデータ・ビットは、通常のそれ自体は既知の構造を備えた、ｂ１６ｃ及びｂ１７ｃの夫々で参照される計算された偶数及び奇数パリティ・ビットを決定するために偶数ビットの値の合計及び奇数ビットの値の合計を決定する計算手段ＭＣＬ１にて処理される。
【００８８】
ビットｂ１６ｃは次に比較器ＣＭＰＰ１０にてメモリ・プレーンから得られた偶数ビットｂ１６と比較される。
【００８９】
同様に、ビットｂ１７ｃは比較器ＣＭＰＰ１１にてメモリ・プレーンから得られた奇数ビットｂ１７と比較される。
【００９０】
比較器ＣＭＰＰ１０及びＣＭＰＰ１１の夫々は比較の真又は偽、即ち、攻撃の非検知或いは攻撃検知を表す信号ＳＣ１６及びＳＣ１７の夫々を輩出する。
【００９１】
さらに、参照メモリ・セルはメモリ・プレーンの異なる領域ＺＭｋ間に配置される。
【００９２】
より詳細には、図８中に示されるように、各ブロックのランク１のビットを貯蔵するようにされたメモリ・セルを含む領域ＺＭ０及び領域ＺＭ１の間に配置された領域ＺＭＲ１内に、参照メモリ・セルのコラムが設けられている。参照メモリ・セルＣＥＬＲ１のこのセットＧＣＥＬＲ１は、手段ＭＬ０のそれと同様の構造により、しかし、これら参照メモリ・セルのセットはただ一列に同じコラム上に配置されるので、コラム・デコーダの存在はないが、読出し手段ＭＬＲ１に接続される。
【００９３】
明らかに、各ローについて参照メモリ・セルがあり、各ローはロー・デコーダーにより続いて選択される。
【００９４】
選択された参照メモリ・セルＣＥＬＲ１から得られた参照ビットｄ１は比較器ＣＭＰ１にて参照値と比較されて、比較の真値或いは偽値を表す、そして結局、攻撃の非検知或いは攻撃検知を表す比較信号ＳＣＲを輩出する。
【００９５】
手段ＣＭＰ１は従って対応する参照ビットの値の検証を実行するよう構成された第２の検証手段をここで形成する。メモリ・デバイスＤＭは図９に極めて模式的に描かれるように集積回路ＣＩ内に都合良く統合された形態でそして組み込まれることができる。
【００９６】
そのような集積回路ＣＩはチップ・カードＣＰのチップＰの一部を構成できる（図１０）。
【００９７】
本発明は従って、簡単な方法で、故障注入による攻撃の検知の信頼性を特に改善することができ、そして例えば、ＲＯＭ、ＲＡＭ、ＦＬＡＳＨ及びその他のメモリのような、ビット・バイ・ビット構成の如何なるタイプのメモリにも適用できる。
【図１】
2011003189.tif 000003
【図２】
2011003189.tif 000004
【図３】
2011003189.tif 000005
【図４】
2011003189.tif 000006
【図５】
2011003189.tif 000007
【図６】
2011003189.tif 000008
【図７】
2011003189.tif 000009
【図８】
2011003189.tif 000010
【図９】
2011003189.tif 000011
【図１０】
2011003189.tif 000012