(57)【要約】【課題】マイクロ回路への攻撃に対して、攻撃によって妨げられることなくマイクロ回路の保護機能を実行することを目的とする。【解決手段】攻撃に対するマイクロ回路保護方法であって、攻撃が検出されたか否かを判定するステップ（２０５）と、攻撃が検出された場合に、保護機能を実行するステップ（２１０、５１０）と、攻撃が検出されなかった場合に、保護機能を擬似的に実行し、保護機能と実質的に同一の方法でマイクロ回路の外部から検知可能なおとり機能を実行するステップ（２１５、５１５）とを有することを特徴とする。ある実施形態では、おとり機能は、保護機能の消費電力と実質的に同一の消費電力を有し、保護機能は、不揮発性メモリの第１のアドレスに所定のデータを書き込むステップを有し、おとり機能は、不揮発性メモリの第１のアドレスと異なるアドレスに書き込むステップを有する。【選択図】図２
2010068523.tif 000002
【特許請求の範囲】
【請求項１】
攻撃に対するマイクロ回路保護方法であって、
攻撃が検出されたか否かを判定するステップと、
攻撃が検出された場合に、保護機能を実行するステップと、
攻撃が検出されなかった場合に、前記保護機能を擬似的に実行し、前記保護機能と実質的に同一の方法で前記マイクロ回路の外部から検知可能なおとり機能を実行するステップと、
を有することを特徴とするマイクロ回路保護方法。
【請求項２】
前記おとり機能は、前記保護機能の消費電力と実質的に同一の消費電力を有する、請求項１に記載のマイクロ回路保護方法。
【請求項３】
前記保護機能は、不揮発性メモリの第１のアドレスに所定のデータを書き込むステップを有する、請求項２に記載のマイクロ回路保護方法。
【請求項４】
前記おとり機能は、不揮発性メモリの前記第１のアドレスと異なる第２のアドレスに書き込むステップを有する、請求項３に記載のマイクロ回路保護方法。
【請求項５】
前記おとり機能による前記第２のアドレスに書き込む前記ステップの間、前記保護機能により前記第１のアドレスに書き込むビットと同一数のビットが書き込まれ、前記保護機能により前記第１のアドレスに書き込むアルゴリズムと同一の書き込みアルゴリズムが使用される、請求項４に記載のマイクロ回路保護方法。
【請求項６】
不揮発性メモリに書き込む前記ステップは、前記マイクロ回路の通常の動作の間に行われる不揮発性メモリに書き込む他のステップと異なるアルゴリズムを使用する、請求項４に記載のマイクロ回路保護方法。
【請求項７】
不揮発性メモリに書き込む前記ステップの少なくとも１つの間は、照合データは使用されない、請求項４に記載のマイクロ回路保護方法。
【請求項８】
前記保護機能は、不揮発性メモリの第１のアドレスに所定のデータを書き込むステップを有する、請求項１に記載のマイクロ回路保護方法。
【請求項９】
前記おとり機能は、不揮発性メモリの前記第１のアドレスと異なる第２のアドレスに書き込む、請求項８に記載のマイクロ回路保護方法。
【請求項１０】
前記おとり機能よる前記第２のアドレスに書き込む前記ステップの間、前記保護機能により前記第１のアドレスに書き込むビットと同一数のビットが書き込まれ、前記保護機能により前記第１のアドレスに書き込むアルゴリズムと同一の書き込みアルゴリズムが使用される、請求項９に記載のマイクロ回路保護方法。
【請求項１１】
不揮発性メモリに書き込む前記ステップは、前記マイクロ回路の通常の動作の間に行われる不揮発性メモリに書き込む他のステップと異なるアルゴリズムを使用する、請求項９に記載のマイクロ回路保護方法。
【請求項１２】
不揮発性メモリに書き込む前記ステップの少なくとも１つの間は、照合データは使用されない、請求項９に記載のマイクロ回路保護方法。
【請求項１３】
不揮発性メモリに書き込む前記ステップの少なくとも１つの間は、前記書き込みデータは再読み出しされない、請求項９に記載のマイクロ回路保護方法。
【請求項１４】
不揮発性メモリに書き込む前記ステップの少なくとも１つの間は、前記書き込みエリアを消去するステップを有しない、請求項９に記載のマイクロ回路保護方法。
【請求項１５】
不揮発性メモリにデータを再書き込みする前記ステップが前記データの最初の書き込みと同一の方法で前記マイクロ回路の外部から検知可能な場合は、前記おとり機能は、前記書き込みエリアを消去するステップを有しない、請求項１４に記載のマイクロ回路保護方法。
【請求項１６】
前記保護機能は、前記書き込みエリアを消去する前記ステップを使用する、請求項１４に記載のマイクロ回路保護方法。
【請求項１７】
前記おとり機能の実行は、前記書き込みエリアを消去する前記ステップを有することがある、請求項１６に記載のマイクロ回路保護方法。
【請求項１８】
前記保護機能は、データのセンシティブな項目の少なくとも１つを暗号化するステップを有する、請求項１に記載のマイクロ回路保護方法。
【請求項１９】
前記おとり機能は、前記保護機能を擬似的に実行する機能以外の機能を有さない、請求項１に記載のマイクロ回路保護方法。
【請求項２０】
攻撃に対するマイクロ回路保護デバイスであって、
攻撃が検出されたか否かを判定する手段と、
攻撃が検出された場合に保護機能を実行し、攻撃が検出されなかった場合に前記保護機能と実質的に同一の方法で前記マイクロ回路の外部から検知可能な機能であって、前記保護機能を擬似的に実行するおとり機能を実行するように適当に調整された制御手段と、
を有することを特徴とするマイクロ回路保護方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、攻撃（attacks）に対するマイクロ回路（microcircuit）の保護方法及びデバイスに関する。特に、電力解析によるサイドチャネル攻撃に対するスマートカードの保護に関する。
【背景技術】
【０００２】
格納されたデータ及びプログラムを保護するために、マイクロプロセッサカードでは、「キルカード（kill-card）」フラグを使用できる。攻撃と考えられるイベントをカードが検出した場合、カードは、「キルカード」フラグを所与の値に不可逆的にセットする。フラグが所与の値にセットされると、マイクロプロセッサの次の動作が妨げられる。フラグは、不揮発性メモリに格納される。フラグを所与の値にセットすることには、（いわゆる「キルカード」機能の実行によって）不揮発性メモリに書き込み動作を行うことが含まれる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
高度化した攻撃は、実行の解析に基づいて、マイクロ回路の保護機能、又は対策機能の実行を検出して、マイクロ回路上の物理的動作（マイクロ回路に供給されるクロック周波数への干渉、回路のエリア上のレーザ作動など）によって保護機能の実行に干渉し、又は（マイクロ回路の電源供給を遮断することなどにより）保護機能の実行を妨げる。このように、マイクロ回路へ干渉又は抑制する前に、保護機能の実行を検出する。これにより、攻撃者は、保護機能を動作不能にし、又は弱めることによって攻撃を成功させる。
【０００４】
これらの高度化した攻撃には、電力解析を使用してマイクロ回路の動作を判定するものがある。特に不揮発性メモリへの書き込み動作は、ＲＡＭ（random-access  memory）の演算動作と比較して非常に大きな電力を消費する。したがって、電力解析は、異なる動作は異なる電力量を消費するという事実を利用する。このように、異なる動作は、消費電力に関して異なる特徴（signatures）を有する。不揮発性メモリの書き込み動作は、消費電力が大きいため、とても特徴的であるという事実により、マイクロプロセッサの動作を中断させる所与の値をフラグが取り込むことを攻撃が妨げることができるようにする。この書き込み動作の特徴が攻撃によって検出されると、マイクロプロセッサの電源供給が遮断され、書き込み動作は完了しない。
【０００５】
本発明は、このような問題を解消することを目的とする。
【課題を解決するための手段】
【０００６】
この目的を達成するために、本発明の第１の態様は、攻撃に対してマイクロ回路を保護する方法であって、
攻撃が検出されたか否かを判定するステップと、
攻撃が検出された場合に、保護機能を実行するステップと、
攻撃が検出されなかった場合に、保護機能を擬似的に実行（simulating）し、保護機能と実質的に同一の方法でマイクロ回路の外部から検知可能なおとり機能（decoy  function）を実行するステップと、を含むことを特徴とする。
【０００７】
したがって、攻撃が検出されない場合でもおとり機能が保護機能を擬似的に実行するので、攻撃者は、保護機能の実行を把握することによって攻撃が検出されたか否かを判定することができない。
【０００８】
好適には、おとり機能による保護機能の擬似的な実行は、保護機能の実行の検出を攻撃者が利用して攻撃を成功裡に終了することができなくなるまで実行されると考えられる。したがって、好適には、おとり機能は、保護機能の持続時間、又は保護機能がマイクロ回路の通常の動作を制止する時間以上の時間に亘って実行され、その後おとり機能は、マイクロ回路の保護が妨げることなく検知される。
【０００９】
マイクロ回路の外部から検出可能であり且つ保護機能及びおとり機能によって変化する物理量は、放射線、若しくは電磁界、抵抗、抵抗、容量、インダクタンス、電圧、電流、又は消費電力とすることができる。
【００１０】
ある実施形態では、攻撃が検出されたか否かを判定するステップに続いておとり機能が実行される場合には、保護機能は実行されない。
【００１１】
ある実施形態では、おとり機能は、保護機能の消費電力と実質的に同一の消費電力を有する。
【００１２】
したがって、保護機能の実行により生じる消費電力がマイクロ回路の外部から検知可能な場合は、回路の通常の動作の間におとり機能は、同一の消費電力の特徴を有して実行される。この結果、攻撃者は、保護機能の実行とマイクロ回路の通常の動作とをマイクロ回路の消費電力に基づいて区別することができない。
【００１３】
上述のように、おとり機能が動作する毎にマイクロ回路の電源供給を遮断する場合には、マイクロ回路の動作を解析することができない。この結果、攻撃は効力を失い、マイクロ回路は、この種の攻撃から保護される。なお、この種の攻撃において、おとり機能の消費電力を検出したときに、おとり機能が実行された後のマイクロ回路の動作を監視し続けるために攻撃者が電源供給を遮断しない場合は、攻撃が検出されると同時に保護機能が実行されることを必然的に許すことになる。
【００１４】
好適には、ある実施形態では、保護機能は、不揮発性メモリのデータに書き込むことによって、マイクロ回路を無効にする機能である。例えば、保護機能は、上述の「キルカード」機能である。
【００１５】
ある実施形態では、保護機能は、不揮発性メモリの第１のアドレスに所定のデータを書き込むステップを有する。
【００１６】
この結果、マイクロ回路の通常動作の間に、攻撃を検出しない場合にも「キルカード」機能と同一の消費電力の特徴を有するおとり機能を実行することにより、攻撃の効果がなくなる。
【００１７】
ある実施形態では、おとり機能は、不揮発性メモリの第１のアドレスとは異なる第２のアドレスに書き込むステップを有する。
【００１８】
ある実施形態では、おとり機能によって第２のアドレスに書き込むステップの間、保護機能により第１のアドレスに書き込むビットと同一数のビットが書き込まれ、保護機能により第１のアドレスに書き込むアルゴリズムと同一の書き込みアルゴリズムが使用される。
【００１９】
ある実施形態では、第２のアドレスに書き込むおとり機能のステップの間、所定のデータが第２のアドレスに書き込まれる。
【００２０】
ある実施形態では、おとり機能を実行するステップの間、所定のデータと異なるデータが不揮発性メモリの第１のアドレスに書き込まれる。
【００２１】
上述のそれぞれの実施形態では、消費電力に関して保護機能とおとり機能との特徴の類似性を高める。
【００２２】
ある実施形態では、不揮発性メモリに書き込むステップでは、マイクロ回路の通常の動作の間に行われる不揮発性メモリへの他の書き込みステップと異なるアルゴリズムを使用する。
【００２３】
なお、アルゴリズムは、ソフトウェア、ハードウェア、又はメモリのセルが異なる種類のセルであるときに適用されるハードウェアのオプションに関して異なるものにできる。
【００２４】
ある実施形態では、少なくとも一部の、不揮発性メモリに書き込むステップの間、照合データは、使用されない。特にチェックサムは、使用されない。
【００２５】
ある実施形態では、少なくとも一部の、不揮発性メモリに書き込むステップの間、書き込まれたデータは、再読み出されない。
【００２６】
ある実施形態では、少なくとも一部の、不揮発性メモリに書き込むステップの間、書き込みエリアは、消去されない。
【００２７】
これらのそれぞれの対策によって、これらの異なる機能の特徴が異なることなく、書き込みステップの速度が高速化するとともに、「キルカード」機能が終了する前に電源供給を遮断する時間を有する攻撃のリスクが減少される。さらに、いくつかの書き込み機能の実行時間が減少されるので、マイクロ回路の動作は、高速になる。またさらに、おとり機能によるメモリセルの磨耗は、書き込み時間／読み出し時間の数が減少することによって減少する。
【００２８】
ある実施形態では、不揮発性メモリにデータを再書き込みするステップが、データを最初に書き込むステップと同一の方法でマイクロ回路の外部で検知可能な場合は、おとり機能は、書き込みエリアを消去しない。この場合は、書き込み動作を有する保護機能と、第１のサイクルを除いて同一の再書き込み機能を有することができるおとり機能とは、いわゆる「消去」予備段階を除いて同一の特徴を有することができる。
【００２９】
ある実施形態では、書き込みエリアを消去するステップは、消去するステップを有しないそれぞれの書き込みステップで、書き込みエリアを部分的に消去するステップに置き換えられる。
【００３０】
例えば部分的な消去は、メモリセルを完全に放電（又は充電）する時間より短い時間で、書き込み動作が行われたそれぞれのセルを放電（メモリの構造によっては充電）することによって行われる。
【００３１】
ある実施形態では、保護機能は、書き込みエリアを消去するステップを有する。これらの対策によって、書き込みエリアをおとり機能が必ずしも消去しない一方、攻撃を検出したときに保護機能による正確な書き込みが保障されるので、マイクロ回路の動作は高速になる。
【００３２】
ある実施形態では、おとり機能を実行するいくつかのステップは、書き込みエリアを消去するステップを含む。具体的には、この実施形態は、書き込みと再書き込みとの特徴が同一でなく、書き込み動作が行われるセルを消去する予備段階を保護機能が含む場合に適用される。
【００３３】
ある実施形態では、保護機能は、データのセンシティブな項目の少なくとも１つを暗号化するステップを含む。
【００３４】
ある実施形態では、おとり機能は、保護機能を擬似的に実行する機能以外の機能を有しない。
【００３５】
この結果、おとり機能は、有効ではなく、実行段階以外にはマイクロ回路の動作に影響を与えない。例えば、おとり機能は、決して読み出されることがないデータを書き込み、マイクロ回路の動作に利用されないデータを暗号化する。これらの対策によって、おとり機能がマイクロ回路の動作に有用でない場合は、より高速なおとり機能は、書き込まれたデータ消去するステップ及び／又は変更するステップなどを有しない、より高速の書き込みなどを提供できる。
【００３６】
本発明の第２の態様は、攻撃に対してマイクロ回路を保護するデバイスであって、
攻撃が検出されたか否かを判定する手段と、
攻撃が検出された場合に保護機能を実行し、攻撃が検出されなかった場合に保護機能と実質的に同一の方法でマイクロ回路の外部から検知可能な機能であって、保護機能を擬似的に実行するおとり機能を実行するように適当に調整された制御手段と、
を有することを特徴とする。
【００３７】
本発明の第３の態様は、先に簡潔に述べたような本発明に係るデバイスを有する小型又はモバイルの電子的な装置（entity）である。
【００３８】
電子的な装置は、ＰＤＡ（携帯端末）、ＵＳＢ（ユニバーサル・シリアル・バス）キー、メモリカード、携帯電話、電子的パスポート、又はスマートカード（すなわち、例えば一般的な基準によって認証され、ＩＳＯ７８１６規格に従う安全なカード（secure  card））などである。
【００３９】
本発明に係るデバイス、機器及び方法の有利な点、目的、実施形態について、ここまでに簡単に説明したので、ここでは繰り返して説明はしない。
【００４０】
本発明に係る他の有利な点、目的、特徴は、本発明を限定することなしに、添付した図面とともに以下で説明される。
【図面の簡単な説明】
【００４１】
【図１】本発明に係るデバイスの一実施形態を概略的に示した図である。
【図２】本発明に係る方法の第１の実施形態における動作のフローチャートを示した図である。
【図３】不揮発性メモリの一般的な書き込みステップを実行するステップのフローチャートを示した図である。
【図４】本発明に係る方法の第１の好適な改良の実施形態を実行するステップのフローチャートを示した図である。
【図５】本発明に係る方法の第２の実施形態を実行するステップのフローチャートを示した図である。
【発明を実施するための形態】
【００４２】
公知の攻撃が消費電力に基づくものなので、以下の記載では、マイクロ回路の外部から検知可能な物理量として消費電力を例示的に使用している。しかしながら、本発明は、攻撃の検出において変化するこの種の物理量に限定するものではなく、さらには、マイクロ回路との接触、若しくはマイクロ回路との接続又はリモート接続により、マイクロ回路の外部から検知可能な全ての変化する物理量を含むものである。
【００４３】
したがって、本発明に関係する変化する物理量は、放射、若しくは電磁界、抵抗、容量、インダクタンス、電圧、電流、又は消費電力などとすることができる。
【００４４】
攻撃が検出された場合、外部から検知可能な少なくとも１つの所定の物理量を変化させるとともに、マイクロ回路を保護する保護機能を実行する。本発明においては、マイクロ回路の通常の動作の間は、保護機能と実質的に同一の方法でマイクロ回路の外部から検知可能な所定の物理量のそれぞれを変化させることによって、おとり機能が、保護機能を擬似的に実行する。好適には、おとり機能による保護機能の擬似的な動作は、攻撃者が保護機能の実行の検出を利用して攻撃が成功裡に続けることができなくなるまで実行される。したがって、好適には、おとり機能は、マイクロ回路の通常の動作を保護機能が中断するための期間以上の期間を有する。そして、おとり機能は、その後おとり機能は、マイクロ回路の保護が妨げることなく検知できる。
【００４５】
図１は、マイクロ回路カード１０５を示す。マイクロカード１０５は、マイクロプロセッサ１１０と、Ｉ／Ｏ１１５と、動作システム１２５を格納するＲＡＭ１２０と、メモリマトリックス１３５を有し且つマイクロプロセッサ１１０に直接制御される不揮発性メモリ１３０とを有し、これらの素子は、バス１５５により相互に接続される。
【００４６】
図４を参照して説明される高速書き込みプログラム１５０は、ＲＡＭ１２０又は不揮発性メモリ１３０の一方に格納されるか、若しくはマイクロプロセッサ１１０にハードウェアとして構成される。また、プログラム１５０は、ＲＡＭ１２０に格納された動作システム１２５により直接実行される。
【００４７】
ＲＡＭ１２０又は不揮発性メモリ１３０は、カード１０５の動作プログラムの命令を格納する。このプログラムは、図２に示す方法の実施形態の特定のステップを実行する。
【００４８】
図２及び５に示すように、本発明に係る方法は、公知の技術的手段を使用して、攻撃が行われたか否かを判定するステップ２０５をマイクロカード１０５の動作が有する毎に実行する。
【００４９】
攻撃が検出された場合、保護機能が実行されてカード及び／又はカードのコンテンツを保護する。
【００５０】
本発明では、攻撃が検出されない場合でも、おとり機能が実行され保護機能と実質的に同一の方法でマイクロ回路の外から検知可能な保護機能を擬似的に実行する。
【００５１】
ある実施形態では、おとり機能は、パラメータ又は変数を除き保護機能と同一であり、パラメータや変数のビット数は同一であり、同一数のビットに０を割り当てる。
【００５２】
図２に示すように、ある実施形態では、ステップ２１０において、不揮発性メモリの第１のアドレスに所定のデータを書き込む。例えば、不揮発性メモリの「キルフラグ」に相当する第１のアドレスに所定のデータを書き込むことにより所定の値「キルフラグ」を設定することになる。
【００５３】
本発明に係るこれらの実施形態では、攻撃が検出されない場合でも、ステップ２１５において、不揮発性メモリの第１のアドレスに所定のデータを書き込むステップと消費電力に関して同一の特徴を有する機能を実行する。
【００５４】
ある実施形態では、おとり機能のステップが実行されている間、不揮発性メモリは、第１のアドレスと異なる第２のアドレスに書き込まれる。
【００５５】
可能な限り特徴を類似させるため、第２のアドレスに書き込むステップの間、所定のデータと同一ビット数が書き込まれ、所定のデータが書き込まれるときと同一の書き込みプロトコルが使用される。好適には、第２のアドレスに書き込むステップの間、所定のデータが第２のアドレスに書き込まれる。
【００５６】
例えば、「キルカード（アドレス１）」機能を攻撃の検出に使用した場合、攻撃が検出されない場合は、「キルカード（アドレス２）」機能を実行する。相当するコード又は一連の命令は、以下の通りである。
【００５７】
If  attack  detected  ｛
Complete  processing  of  the  current  APDU;
Killcard(address1);
｝
Else｛
Complete  processing  of  the  current  APDU;
Killcard(address2);
｝
【００５８】
また、保護機能「キルカード（アドレス１）」は、おとり機能「キルカード（アドレス２）」と相違し、例えば、おとり機能は、本明細書で後に説明するように、再読み出し又は照合データと照合されることなく実行される。
【００５９】
図５に示すように、ある実施形態では、ステップ５１０において、保護機能は、秘密鍵を使用して不揮発性メモリに格納されるセンシティブオブジェクト（sensitive  object）を暗号化して不揮発性メモリに書き込み、そしてセンシティブオブジェクトを消去するなどしてセンシティブオブジェクトに全くアクセスできないように変形する。したがって、データが暗号化されると、マイクロ回路は、もはや通常の状態では機能できない。
【００６０】
本発明に係るこれらの実施形態では、攻撃が検出されない場合でも、ステップ５１５のマイクロ回路の動作において、それぞれのセンシティブオブジェクトを暗号化して不揮発性メモリに書き込むステップと消費電力に関して同一の特徴を有する機能を実行する。例えば、ステップ５１５では、マイクロ回路の動作に利用されないデータを暗号化する。
【００６１】
暗号化は、復元することができるので、カードの発行者は、対象又は非対称のキーを使用して、ステップ５１０において暗号化したセンシティブオブジェクトのそれぞれの項目を復元して、不揮発性メモリを書き換えて再びカードを使用できる。
【００６２】
また、データは、おとり機能によって一部のみ暗号化される。そして、おとり機能は、保護機能と同じ期間持続しない。攻撃者がより長い持続期間の保護機能を検出して、すぐにマイクロ回路の電源供給を中断できる場合に、保護機能によって消去されるべき全てのデータが消去されていなくても、少なくとも通常の動作に必要なデータは消去されているので、マイクロ回路は保護される。
【００６３】
図４を参照して以下に説明するように、この改良したアルゴリズムにおいては、第１及び第２のアドレスの書き込みにおいて、特にチェックサムで、書き込みエリアの消去、再読み出し及び／又は照合データの照合がされないように、キルカード機能を修正する。この目的を達成するために、書き込み機能を実行する前に、カードのマイクロプロセッサは、書き込み機能がアドレス１又はアドレス２に係るものであるか否かを判定する。アドレス２に係るものであるならば、簡単な書き込み動作（図４を参照）を使用する。アドレス１に係るものであるならば完全な書き込み動作（図３を参照）を実行する。なお、処理の違いは、メモリ自体の構造に起因することにもなる。
【００６４】
他の実施形態では、おとり機能を実行するステップにおいて、所定のデータと異なるデータが不揮発性メモリの第１のアドレスに書き込まれ、所定のデータは、保護機能において同一アドレスに書き込まれる。
【００６５】
図３を参照すると、不揮発性メモリのデータ書き込みに一般的に使用するプロトコルは、
書き込みエリア、少なくともデータを書き込まなければならないアドレスを消去するステップである、消去ステップと呼ばれるステップ３０５と、
書き込まなければならないデータから少なくとも１つのチェックサムを決定するステップ３１０と、
データと、ステップ３１０で決定したそれぞれのチェックサムとを書き込むステップ３１５と、
書き込まれたデータ及びそれぞれのチェックサムを再読み出しするステップ３２０と、
読み出すデータの対応するそれぞれのチェックサムを決定して、そのチェックサムと読み出したチェックサムとを比較することによってチェックサムの妥当性を判定するステップ３２５と、
を含む。
【００６６】
なお、書き込みエリアを消去するステップ３０５は、書き込みエリアの電荷を均一にするステップに含むことができる。
【００６７】
この書き込みプロトコルは、メモリを磨耗し且つ実行時間を遅くする非常に長い書き込みステップを有することは、明らかである。
【００６８】
なお、書き込まれたデータは、再読み出しされないため、アドレス２のチェックサムエラーの検出は重要ではなく、ある実施形態では、その検出により、いかなる作動も生じない。
【００６９】
他の実施形態では、アドレス２のチェックサムエラーの検出は、攻撃されたことを表すものであると考えられる。制限値を超えた暗号化キーの使用回数やカードの認証の数などに関係した、他の表示が検出された場合、攻撃が行われたことを決定してマイクロ回路保護機能が実行される。
【００７０】
図４に示すように、本発明に係る方法の好適な実施形態では、第２のアドレスに書き込み、第１のアドレスにも使用されるプロトコルは、
書き込みエリアを消去するステップであり、ステップ４０５の間ランダムに又はサイクリックに選択された特定の書き込み操作を保持することができるステップ４０５と、
少なくとも１つのチェックサムを決定するステップであり、ステップ４１０の間ランダムに又はサイクリックに選択された特定の書き込み操作を保持することができるステップ４１０と、
書き込んだデータを再読み出しするステップであり、少なくとも１つのチェックサムの決定を導くデータをステップ４２０において保持するステップ４２０と、
読み出したデータの対応するそれぞれのチェックサムの決定を繰り返すことによってチェックサムの妥当性を判定するステップであり、少なくとも１つのチェックサムの決定を導くデータをステップ４２５において保持するステップ４２５と、
を有さない。
【００７１】
したがって、好適な実施形態では、不揮発性メモリの第１又は第２のアドレスに書き込むプロトコルは、
データを書き込むステップ４１５と、
書き込みエリアを消去するステップ４０５と、ステップ４１０と、ステップ４１６と、ステップ４２０と、ステップ４２５とからランダム又はサイクリックに選択されるいくつかの書き込み操作と、
をのみ含む。
【００７２】
なお、おとり機能によって行われる書き込みは、書き込み動作と保持した書き込み状態とが同一の特徴を有する場合には、書き込みエリアの消去を全く含まないことが可能である。書き込みエリアを消去することなくおとり機能を繰り返すときに特徴が異なる場合は、おとり機能は、書き込み状態において不揮発性メモリの同一のセルを保持するが、ここでは、本質的に不揮発性メモリのセルの状態の変化に相当する保護機能の異なる特徴を含むことがある。したがって、特徴が異なる場合は、（例えばサイクリックに又はランダムに選択される）おとり機能の少なくとも一部は、書き込みエリアの消去を含む。
【００７３】
また、書き込みエリアの全てを消去する代わりに、書き込みエリアの一部を消去する。書き込みエリアの一部の消去は、メモリセルを完全に放電する（充電する）より短い期間で書き込み機能を行う、それぞれのメモリセルを放電（又は、構造によっては充電）することを含むことができる。
【００７４】
ある実施形態では、保護機能で行う不揮発性メモリの書き込みは、チェックサムを生成し、書き込み、再読み出し、照合することを含む一方、おとり機能で行う不揮発性メモリの書き込みは、これらを含まない。また、以下で説明するように、（サイクリックに又はランダムに選択された）おとり機能で行う書き込み動作のみが、チェックサムを生成し、書き込み、再読み出し、照合することを含む。この２つの場合では、攻撃者が保護機能を認識することを妨げると同時に、メモリの磨耗は減少し、マイクロ回路の通常の動作スピードは増加する。
【００７５】
したがって、書き込みエリアの消去及び／又はチェックサムの使用が行われないため、書き込み終了遅延（write  finalization  delay）は、従来技術と比べてとても短くなる。これによって、おとり機能を繰り返し実行することによりマイクロ回路の動作が極端に遅くなることを避けることができる。さらにおとり機能により実行される書き込み動作によるメモリの磨耗は、減少する。おとり機能が使用するメモリセルは、書き込みサイクル数で制限される寿命を有しているので、かなり早く劣化する。書き込みデータを再読み出しするステップと書き込みエリアを消去するステップとを取り除くことによって、書き込み時間が短縮されるだけでなく、おとり機能で使用するメモリセルの寿命が延びる。
【００７６】
なお、セルの劣化によりチェックサムを使用して検出可能なエラーが生じる場合は、後のチェックサムを使用して劣化を検出できる。この場合、動作プログラムは、おとり機能が書き込んだセルを他の使用していないセルに切り替えることができる。
【００７７】
なお、本発明は、マイクロ回路で実行されるプログラム、若しくはＡＳＩＣ（特定用途向け集積回路）、プログラム可能な論理回路、又は製造後に再プログラムできる論理ＩＣなどの専用ＩＣの形で実行できる。
【００７８】
本発明に係る好適な実施形態をマイクロ回路カードが実行するとき、消費電力を解析する攻撃者は、攻撃を検出した後にどこでカードが作動するかを判定できない。
【００７９】
ある実施形態では、小型又はモバイルの電子的装置は、本発明に係る保護方法を使用するマイクロ回路保護デバイスを含む。
【００８０】
この電子的装置は、ＰＤＡ（携帯端末）、ＵＳＢ（ユニバーサル・シリアル・バス）キー、メモリカード、携帯電話、電子的パスポート、又はスマートカード（すなわち、例えば一般的な基準によって認証され、ＩＳＯ７８１６規格に従うセキュアカード）などである。
【００８１】
なお、好適には、おとり機能は、保護機能と実質的にはほぼ同一となるようにマイクロ回路の外部から検知可能な保護機能のおとりとして動作する以外の他の効力／効果／機能を有しない。
【００８２】
したがって、おとり機能は、有効ではなく、おとり機能を実行する以外にマイクロ回路の動作に影響しない。おとり機能は、決して読み出されない又は使用されないデータ、若しくはマイクロ回路の動作に利用されない暗号化データなどを書き込む。この好適な特性によって、マイクロ回路の動作に有益でない場合には、おとり機能は、データを消去するステップ及び／又はデータを変更するステップなどを有さない、高速書き込みなどを提供することができる。
【図１】
2010068523.tif 000003
【図２】
2010068523.tif 000004
【図３】
2010068523.tif 000005
【図４】
2010068523.tif 000006
【図５】
2010068523.tif 000007