JP4822450B2 - 2つの電子的エンティティ間における暗号プロトコル実行方法 - Google Patents

2つの電子的エンティティ間における暗号プロトコル実行方法 Download PDF

Info

Publication number
JP4822450B2
JP4822450B2 JP2007306865A JP2007306865A JP4822450B2 JP 4822450 B2 JP4822450 B2 JP 4822450B2 JP 2007306865 A JP2007306865 A JP 2007306865A JP 2007306865 A JP2007306865 A JP 2007306865A JP 4822450 B2 JP4822450 B2 JP 4822450B2
Authority
JP
Japan
Prior art keywords
operations
series
entity
sequence
microcircuit
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.)
Expired - Fee Related
Application number
JP2007306865A
Other languages
English (en)
Other versions
JP2008067416A (ja
Inventor
アカール メーディ−ローラン
デシャン ポール
Original Assignee
オベテュール テクノロジーズ
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
Application filed by オベテュール テクノロジーズ filed Critical オベテュール テクノロジーズ
Publication of JP2008067416A publication Critical patent/JP2008067416A/ja
Application granted granted Critical
Publication of JP4822450B2 publication Critical patent/JP4822450B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • G06K19/07309Means for preventing undesired reading or writing from or onto record carriers
    • G06K19/07363Means for preventing undesired reading or writing from or onto record carriers by preventing analysis of the circuit, e.g. dynamic or static power analysis or current analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Description

本発明は、2つの電子的エンティティ間の暗号プロトコル実行方法に関する。エンティティの一つとして、例えば(ただし、これに限られないが)、スマートカードがある。特に、本発明は、「攻撃」(すなわち、動作中の機器の解析に基づいて不正手段を試みること。特に、不正手段を試みる者によってなされる暗号プロトコル実行中の電流消費の測定による。)を避けるための前記プロトコルの完全化に関する。
ある暗号化された電子的エンティティ、特にマイクロ回路カードは、動作中におけるある一定のパラメータを解析することに基づいた攻撃に弱いということが知られている。カード内でなされる計算から情報は「漏れる」ことがあると言われている。典型的には、カードを持っている不正手段を試みる者によりなされる暗号プロトコルの実行である。このようなプロトコルの実行中に解析されるパラメータは、典型的には、計算の実行中の計算時間又は電磁放射の相違でありうるが、しかし、とりわけ、コードを破るための試みがなされようとする電子的エンティティによる電流消費であることがある。
したがって、従来の攻撃にあっては、不正手段を試みる者の手に落ちた電子的エンティティに、ランダムなメッセージに基づいてある一定数の暗号プロトコルを実行させるから、まず間違いなく失敗に終わるが、DES(Data Encryption Standard)の略称で知られる一連の操作をそのエンティティ、すなわちマイクロ回路カードが実行したごとの結果を得る。その場合、前記DESを実行するごとの電流消費が解析される。この攻撃の目的は、前記エンティティの秘密コードを発見することである。DESに関しては、これは有名なアルゴリズムであり、銀行のカードやアクセスコントロールカードの分野で現在広く使用されているものである。
例として、エンティティA(例えばサーバ)とエンティティB(例えばDESがプログラミングされているマイクロ回路カード)との間の通常の認証の枠組みにおいて、2つのエンティティ間の情報の交換は次のようになる。
‐ AとBとが共通の鍵を持つことを仮定し、サーバAが、カードBにメッセージを送信するよう要求する。
‐ Bがなんらかのメッセージを送信し、そのメッセージをメモリに記憶する。
‐ Aは鍵を使ってそのメッセージにDESを適用し、カードBに結果を返す。
‐ 同時に、カードBは、カードB自身の鍵を使って、カードBがサーバAに送信したメッセージにDESを適用する。カードBは、サーバAによって生成された結果と比較される結果を得る。2つの結果が同一であれば、認証が正当とされる。
さらに、不正のケース、すなわち、不正を行おうとする者がカードを持っており、鍵を決定しようとしている場合においては、不正を試みる者は自分がメッセージを発信することができるリーダにカードを接続して、さらにそのリーダを操作が実行されている間の電流消費を記録する手段に接続することができる。
これらの簡易な手段を基礎として、不正を試みる者は、サーバAの代わりにカードに接続するシステムFを作り上げる。
そのとき、その過程は以下の通りである。Fは、認証を開始する場合とまったく同様に、カードからのメッセージを要求する。Bはそのメッセージを送信する。Fは、Bが送信したメッセージをDESによって処理した結果と推定される他のメッセージをBへ送信する。このメッセージは、もちろん正しくない。しかし、Bは、B自身の鍵を使用してDESを実行し、Fが送信した(正しくない)メッセージと比較するために、その結果を得ようとする。この比較結果は、必然的に否定的なものとなるが、不正を試みる者は、BにDESの実行を開始させることに成功したこととなる。前記DESの実行中に、電流消費が検出され、保存される。
Fが、同様の条件の下で、カードBによりある一定数のDESを実行させることができ、毎回電流消費を保存することが可能であれば、既知の原理による攻撃を実施することができる。この攻撃(「DPA」(Differential Power Analysis)と呼ばれる。)は、エンティティBの秘密鍵を再構築することを可能とする。
国際公開第WO99/63696号は、アルゴリズム実行中に「漏洩」を起こす可能性がある利用可能な情報を減らすことにより、このタイプの攻撃に対抗することを目的とする。そのために、特に、本文献は秘密鍵を発見するために必要なサイクルの数を増加させるべく、暗号プロトコルにハザードを導入することを示唆している。
本発明は、あるDESの操作をランダムに補完することにより「DPA」タイプの攻撃を正確に回避する対策を提案する。
本発明は、特に、DESを使用するエンティティに適用するが、以下に説明するように、後述する一定の性質を有する連続した操作を含むものであれば、DES以外の他のアルゴリズムを使用するエンティティ(マイクロ回路カード)にも適用することができる。
より詳細には、本発明は、攻撃に曝される第1の電子的エンティティと第2の電子的エンティティとの間に暗号プロトコルを生成する方法に係わり、それによってなんらかのメッセージが生成され、それに基づいて一連の操作が前記第2のエンティティによって実行されて、その結果としての応答メッセージが生成され、その応答は前記メッセージに適用されて前記第1のエンティティによって実行される他の類似したプロセスの結果と比較される方法において、少なくとも前記一連の操作のある段階において、前記第2のエンティティが選択されたタイプの操作かあるいは補完された同一の操作のいずれかを実行し、その選択はランダムな決定に依存するとともに、前記応答は前記一連の最後の操作の結果によって構成され、可能であれば補完されることを特徴とする。
この補完は、2つの16進数00又はFFの一方と現在のバイトとの排他的論理和をランダムにとることによってバイト単位で実行されるか、あるいは現在のバイトの連続する8つのビットを一括して処理し、00からFFまでの16進数の中から各ビットを処理するごとにランダムに選択された数との排他的論理和をとることによって、ビット単位で実行される。
補完が可能である操作としては、排他的論理和と呼ばれる操作、前記メッセージあるいは、前記一連の操作を実行する間に、すなわちここに記載の実施例によれば、ある一定のDES操作を実行した後に得られる中間結果のビットの並べ換えが挙げられる。また、テーブルへのインデックスされたアクセスという操作や排他的論理和関数の適用と比較して安定な操作、特に、前記メッセージあるいは前記の中間結果を格納空間の一のロケーションから他のロケーションへ移動させる操作も挙げられる。
一つの可能な実施例によれば、前記第2のエンティティには前記メッセージを処理するために2つの一連の操作が規定されており、その一方の一連の操作は一連のデータ操作からなり、他方の一連の操作は前記一連の操作と補完的な操作及び最終的な補完からなり、前記第1のエンティティからの前記メッセージを受け取るごとに、前記2つの一連の操作のうちの一方をランダムに実行するように決定される。
他の実施例によると、好適であれば、本発明の方法では、前記メッセージ又は前記一連の操作の先行する操作を実行して得られる中間結果を利用し、それに前記一連の操作のあらたな操作又はその同じ操作を補完したものを、前記あらたな操作に関連するランダムなパラメータの状態に応じて適用し、補完カウンタを更新し、前記一連の操作を実行し終えた時点で、前記応答を最終的に生成することを決定するためにそのカウンタの状態を考慮する。
さらに他の有利な変形例によれば、本発明の方法は、前記メッセージ又は前記一連の操作の先行する操作を実行して得られる中間結果を利用し、それに前記一連の操作のあらたな操作又はその同じ操作を補完したものを、前記あらたな操作に関連するランダムなパラメータの状態に応じて適用し、前記応答を最終的に構成するのに必要な、前記中間結果の一部を形成する情報を、操作から操作へ転送する。
さらに、この方法が前記した攻撃に関して完全な効率を保つには、DES等を実行する際に、操作が正常なモードで実行される場合の回数と、操作が補完を伴って実行される場合の回数との差は、あまり大きなものであってはならないことが判明した。したがって、前記一連の操作が実行される間に、操作が正常なモードで実行された回数と、操作が補完を伴って実行された回数との差を計算するとともに、前記の差が所定の値を超えた場合に、その差を低減させるため、一定の数の連続した操作について、正常なモードあるいは補完モードで操作を実行するかの決定に基づいて、ハザードが削除されるという点でも、注目されるべきである。
原理に基づき暗号プロトコルの実行方法を次に記述し、これにより、本発明の理解がより深まり、他の長所がより明白となる。本記述は、単に実施例であり、補足として図が参照される。なお、本明細書においては、ある操作OやメッセージMなどの補完された操作Oバーや補完されたメッセージMバー等につき、記載上の都合から、−Oあるいは−Mなどと表記するものとする。
図1を特に考察すると、2つの電子的エンティティA、B間の暗号プロトコルの生成方法が、これらのエンティティのうちの一つで実行されうる(図1には一部が図示されている。)。典型的には、後者Bが例えばサーバAに接続されているときに、スマートカードBにおいて実行されうる。本発明によるDESは、スマートカードBにプログラムされている。後者はまた、DESの実行中の一連の操作O,O,O…Oのいくつかに介入することが可能な秘密鍵Kをメモリに含む。暗号プロトコルの生成中に、最初のエンティティ(典型的には、前記サーバA)は、2番目のエンティティ(カードB)に、あるメッセージMを送信することを要求する。Bにより生成されたメッセージはなんらかのメッセージであり、カードBのメモリに記憶される。Aがこのメッセージを自らのDESで処理する間、カードBは、サーバAに送ったメッセージMに、自らの鍵Kを使って、本発明によるDESを適用する。本例において、カードBに適用されるDESは2つの連続する操作を含む。操作O,O,O…Oからなる第一の一連の操作Chは、従来のDESに対応する。操作−O,−O,−O…−Oからなる第2の一連の操作Chは、従来と同様の操作が同様に連続しているものであるが、補完されている。第2の一連の操作Chは、最後の補完された操作−Oの終了後に生成される結果の包括的な補完Cにより完了する。
さらに、前記のなんらかのメッセージの生成毎に2つの一連の操作のうちどちらを実行するかがランダムに決定される。このランダムな選択は、セレクタSという記号で表され、メッセージMと2つの一連の操作の各々との間に置かれる。セレクタの位置決めはランダムであり、言い換えると、メッセージMが処理されなければならないその度毎に、2つの一連の操作Ch、Chのどちらかがランダムに選択される。
もし補完でない一連の操作が選択されたら、最後の操作Oにより得られる結果は、サーバAにより生成されたものと比較される応答Rを構成する。補完である一連の操作が選択された場合には、最後の操作−Oの結果は補完され、応答Rを構成する。
図2に示される実施例には、本発明の原理にしたがいプログラミングされたDESが再び表される。すなわち、通常のDES操作O,O,O…O又は類似の補完された操作−O,−O,−O…−Oを有している。メッセージそれ自身が補完されうる、すなわち、DESの実行の開始において、Mがそのまま使われるか、又は、補完された形−Mで使用されるかである。鍵Kは、少なくとも一定の操作の実行のために使用される。しかし、操作の選択(すなわち、通常の操作と補完バージョンの選択)は、ある操作から次の操作へとランダムに決定される。言い換えると、メッセージM又は先行する操作O(又は−O)の実行から生ずる中間結果が使われ、新たな操作に関係するランダムなパラメータの状態に依存して、新たな一連の操作又はその補完のバージョン(すなわち、Oi+1又は −Oi+1)のどちらかが適用される。このランダムパラメータは、セレクタS'によって生成される。そして、図2のパスを追うと以下のことがわかる。すなわち、メッセージM(そのままのMであり、その補完−Mでない)が使われ(S'で生成されるコマンド1による)、操作−Oがコマンド2により選択され、それから、操作−Oがコマンド3により選択され、それから操作Oがコマンド4により選択され、最後に、コマンドnによる操作−Oの選択で一連の操作の終了となる。この場合に、最後の操作−Oの結果は、エンティティAが自分自身の鍵を使って生成するもう一つの結果と比較される結果R又は補完された結果−Rを構成しうる。Rと−Rの選択はセレクタS'によるプロセスの生成を通して供給される補完カウンタCの状態により与えられる。言い換えると、補完カウンタCにより、エンティティAの計算と比較される応答の最終構成に対して、結果Rとその補完である結果−Rのうちどちらを妥当であるとすることが必要であるかを知ることが可能になる。
また、変形例によりカウンタCを除去することが可能となることに注目すべきである。中間結果の一部を形成する情報であり、かつ、DES操作が補完の形式で実行されたときの回数を表す情報を一の操作から他の操作へ転送することで十分である。このケースにおいて、一の操作から他の操作へ転送される中間結果は、それ自身で、図2に示される実施例におけるカウンタCにより最終的に与えられる情報と等価な情報を構成する。このケースにおいては、操作O又は−Oの実行により与えられる最終の中間結果は、補完される又は補完されないのどちらかであるが、この選択はそれ自身が持っている情報の一部に依存して決められる。応答Rの最終形態はこの結果から得られる。
図1又は図2に戻ると、セレクタS又はS'は通常の方法で実行された操作の回数と補完の方法で実行された操作の回数の相違を計算するために使用されることに注目すべきである。この差dは保存され、操作毎に更新される。
この差が所定の値を超えるとき(このときに、DPAの攻撃に対しての本方法の効率が落ちる可能性がある。)には、S'を一時的に抑制する命令が生成される。言い換えると、通常の方法又は補完された方法で操作を実行する決定から、ハザードが除去される。これは、そのポイントまで最小で利用された(正常のモードあるいは補完されたモード)モードで、ある一定数の以後の操作を実行するためである。その差dの値が十分少なくなったときに、前記ハザードは再び利用されるようになる。
従来のDESの総ての操作が今述べた一又は他の変形例による実現を許すことがわかる。
例として、補完することが可能であり、したがって今述べた方法の実現とコンパチブルなある一定の操作について説明する。
補完が可能である操作としては、排他的論理和として知られている操作がある。
補完が可能であるもう一つの操作は、メッセージMあるいは、一連の操作を実行する間に得られる中間結果のビットの並べ換えとして知られた操作である。並べ換え(単純、圧縮、又は拡張)に対しては、並べ換えられたマスクをメモリに保存しておくと好都合である。
補完が可能であるもう一つの操作は、テーブルへのインデックスされたアクセスとして知られる操作である。
補完が可能であるもう一つの操作は、メッセージあるいは一連の操作の実行中に得られる中間結果をエンティティB内に定義される格納空間の一のロケーションから他のロケーションへ移動させる操作である。実際には、マスクは、排他的論理和によりランダムに移動するデータへ適用される。
より一般的には、補完が可能である操作は排他的論理和の適用に関して安定な操作である。すなわち、
Figure 0004822450
のような操作である。これは、データの並べ換えや移動のケースである。(他のケースもある。)
既述のように、従来のDESは既に定義した基準を満たす操作からなるが、本発明も、また、上記で与えられる条件を満たす操作から構成されるなら、DESの機能に類似の機能を実行するあらゆるアルゴリズムに適応する。
ランダムな性質を持つ他の操作は上で述べられた方法を定義している操作と結合させることができる。特に、いくつかの連続する操作が交換可能であるとき、ランダムに実行の順序を並べ換えることが可能である。
暗号プロトコルの実行、より詳しくは本発明によってプログラムされたDESの実行の一部を示す図である。 本発明によるDESを実行する他の方法を例示する図である。
符号の説明
A サーバ(第1の電子的エンティティ)
B スマートカード(第2の電子的エンティティ)
補完カウンタ
K 秘密鍵
M メッセージ
操作
−O 補完された操作O
R 応答
、S' セレクタ

Claims (20)

  1. サーバエンティティとマイクロ回路エンティティ間での認証用暗号プロトコルの実行方法であって、前記認証用暗号プロトコルを実行している際に前記マイクロ回路エンティティへのDPA攻撃に抵抗するための方法であり、
    − 前記サーバエンティティと前記マイクロ回路エンティティの両方に第一の一連の操作を含むDESを含む暗号プロトコルを記憶するステップ;
    − 前記サーバエンティティと前記マイクロ回路エンティティ間でメッセージを交換させるステップ;
    − サーバ結果を得るべく、前記サーバエンティティが、当該サーバエンティティに記憶されている前記第一の一連の操作を前記メッセージに適用するステップ;
    − 前記マイクロ回路エンティティが、当該マイクロ回路エンティティに記憶されている前記第一の一連の操作から第二の一連の操作を決定するステップ、ここで、
    (i)前記第二の一連の操作は、連続した複数の操作を含み、
    (ii)当該複数の操作は、それぞれ、前記第一の一連の操作における対応する操作に相当し、
    (iii)前記第二の一連の操作における各操作は、前記第一の一連の操作における対応する操作と同じ状態にある操作か、あるいは、当該対応する操作の補完された状態の操作であり、
    (iv)前記マイクロ回路エンティティが前記第一の一連の操作から第二の一連の操作を決定する前記ステップは、前記第一の一連の操作における対応する部分に相当する、前記第二の一連の操作の少なくとも一部分として、前記第一の一連の操作のうちの当該少なくとも一部分を、
    ・前記第一の一連の操作と同じ状態か、あるいは
    ・前記第一の一連の操作の補完された状態
    のどちらかでランダムに選択するステップを含み、
    (v)前記マイクロ回路エンティティが前記第二の一連の操作を決定する前記ステップは、
    ・前記第二の一連の操作のうちの少なくとも幾つかの操作を、前記第一の一連の操作における対応する操作と同じ状態とし、
    ・前記第二の一連の操作のうちのその他の操作を、前記第一の一連の操作における対応する操作に対して補完された状態とする
    ものである;
    − 前記マイクロ回路エンティティが前記第二の一連の操作を前記メッセージに適用して、適用した結果としての適用結果メッセージを得るステップ、ここで、
    前記マイクロ回路エンティティが前記第二の一連の操作を適用する前記ステップは、前記マイクロ回路エンティティが前記第二の一連の操作を決定する前記ステップに応じて、前記第二の一連の操作のうちの最終操作の結果を、
    ・同じ状態か、あるいは
    ・補完された状態
    のどちらかで、当該適用結果メッセージとして出力することを選択するステップを含む;及び
    − 前記第二の一連の操作から得られた前記適用結果メッセージを前記サーバ結果と比較して、前記サーバ結果と前記適用結果メッセージとが一致する場合に、前記サーバエンティティと前記マイクロ回路エンティティ間での認証を有効にするステップ
    を備える方法。
  2. 前記第二の一連の操作の前記少なくとも一部分に相当する前記第一の一連の操作の前記対応する部分は、排他的論理和関数を備える、請求項1に記載の方法。
  3. 前記第二の一連の操作の前記少なくとも一部分に相当する前記第一の一連の操作の前記対応する部分は、中間結果のビットの並び換え操作を備え、
    前記中間結果は、当該ビットの並び換え操作に先行する前記第二の一連の操作の操作を実行することによって得られるものである、請求項1に記載の方法。
  4. 前記第二の一連の操作の前記少なくとも一部分に相当する前記第一の一連の操作の前記対応する部分は、テーブルへのインデックスされたアクセス操作を備える、請求項1に記載の方法。
  5. 前記第二の一連の操作の前記少なくとも一部分に相当する前記第一の一連の操作の前記対応する部分は、排他的論理和関数の適用に関して安定な操作を備える、請求項1に記載の方法。
  6. 前記第二の一連の操作の前記少なくとも一部分に相当する前記第一の一連の操作の前記対応する部分は、格納空間の一のロケーションから他のロケーションへ中間結果を移動させる操作であり、
    当該中間結果は、当該移動操作に先行する前記第二の一連の操作の操作を実行することによって得られるものである、請求項5に記載の方法。
  7. 前記ランダムに選択するステップは、
    前記第一の一連の操作のうちの連続した幾つかの部分を特定することと、
    前記第一の一連の操作のうちの前記連続した幾つかの部分の各部分について、当該部分を、通常の状態か、あるいは補完された状態のどちらかでランダムに選択することと
    を備える、請求項1に記載の方法。
  8. 前記ランダムに選択するステップは、
    前記第一の一連の操作のうちの連続した幾つかの操作を特定することと、
    前記第一の一連の操作のうちの前記連続した操作の各操作について、当該操作を、通常の状態か、あるいは補完された状態のどちらかでランダムに選択することを備える、請求項1に記載の方法。
  9. 前記ランダムに選択するステップは、前記第一の一連の操作のうちの前記連続した幾つかの部分の各部分について生成されたランダムなパラメータの状態に依って実行され、
    前記ランダムに選択するステップは、補完カウンタを更新することを含み、
    前記最終操作の結果を同じ状態または補完された状態で前記適用結果メッセージとして出力することを選択する前記ステップは、前記補完カウンタの状態により決定される、請求項7に記載の方法。
  10. 前記ランダムに選択するステップは、前記第一の一連の操作のうちの前記連続した幾つかの部分の各部分について生成されたランダムなパラメータの状態に依って実行され、
    前記ランダムに選択するステップは、前記第一の一連の操作のうちの前記連続した幾つかの部分の各部分について、前記最終操作の結果を同じ状態または補完された状態で前記適用結果メッセージとして出力することを選択する前記ステップにて使用するための情報を送信することを含む、請求項7に記載の方法。
  11. 前記ランダムに選択するステップは、前記第二の一連の操作のうちの各操作が前記第一の一連の操作の各操作と同じ状態にある回数と、前記第二の一連の操作のうちの各操作が前記第一の一連の操作の各操作に対して補完された状態にある回数との差に等しいパラメータを計算するステップを含み、
    この差が所定の閾値を超えた場合に、この差を減少させるべく、前記連続した幾つかの部分のうちの次の部分を通常の状態または補完された状態でランダムに選択する前記ステップが実行される、請求項7に記載の方法。
  12. 前記第二の一連の操作の前記少なくとも一部分に相当する前記第一の一連の操作の前記対応する部分の前記補完された状態は、バイトごとの補完によって得られる、請求項1に記載の方法。
  13. 前記第二の一連の操作の前記少なくとも一部分に相当する前記第一の一連の操作の前記対応する部分の前記補完された状態は、ビットごとの補完によって得られる、請求項1に記載の方法。
  14. 前記マイクロ回路エンティティが前記第二の一連の操作を決定する前記ステップは、前記第一の一連の操作のうちの連続した可換な操作の順序を決定するステップをさらに含む、請求項1に記載の方法。
  15. 連続した可換な操作の前記順序を決定する前記ステップは、ランダムに実行される、請求項14に記載の方法。
  16. 前記ランダムに選択するステップは、前記第一の一連の操作のうちの前記連続した幾つかの操作の各操作について生成されたランダムなパラメータの状態に依って実行され、
    前記ランダムに選択するステップは、補完カウンタを更新することを含み、
    前記最終操作の結果を同じ状態または補完された状態で前記適用結果メッセージとして出力することを選択する前記ステップは、前記補完カウンタの状態により決定される、請求項8に記載の方法。
  17. 前記ランダムに選択するステップは、前記第一の一連の操作のうちの前記連続した幾つかの操作の各操作について生成されたランダムなパラメータの状態に依って実行され、
    前記ランダムに選択するステップは、前記第一の一連の操作のうちの前記連続した幾つかの操作の各操作について、前記最終操作の結果を同じ状態または補完された状態で前記適用結果メッセージとして出力することを選択する前記ステップにて使用するための情報を送信することを含む、請求項8に記載の方法。
  18. 前記ランダムに選択するステップは、前記第二の一連の操作のうちの各操作が前記第一の一連の操作の各操作と同じ状態にある回数と、前記第二の一連の操作のうちの各操作が前記第一の一連の操作の各操作に対して補完された状態にある回数との差に等しいパラメータを計算するステップを含み、
    この差が所定の閾値を超えた場合に、この差を減少させるべく、前記第二の一連の操作のうちの次の操作を通常の状態または補完された状態でランダムに選択する前記ステップが実行される、請求項8に記載の方法。
  19. サーバエンティティとマイクロ回路エンティティ間での認証用暗号プロトコルの実行方法であって、前記認証用暗号プロトコルを実行している際に前記マイクロ回路エンティティへのDPA攻撃に抵抗するための方法であり、
    − 前記サーバエンティティと前記マイクロ回路エンティティの両方に第一の一連の操作を含むDESを含む暗号プロトコルを記憶するステップ;
    − 前記サーバエンティティと前記マイクロ回路エンティティ間でメッセージを交換させるステップ;
    − サーバ結果を得るべく、前記サーバエンティティが、当該サーバエンティティに記憶されている前記第一の一連の操作を前記メッセージに適用するステップ;
    − 前記マイクロ回路エンティティが、当該マイクロ回路エンティティに記憶されている前記第一の一連の操作から第二の一連の操作を決定するステップ、ここで、
    (i)前記第二の一連の操作は、連続した複数の操作を含み、
    (ii)当該複数の操作は、それぞれ、前記第一の一連の操作における対応する操作に相当し、
    (iii)前記第二の一連の操作における各操作は、前記第一の一連の操作における対応する操作と同じ状態にある操作か、あるいは、当該対応する操作の補完された状態の操作であり、
    (iv)前記マイクロ回路エンティティが前記第一の一連の操作から第二の一連の操作を決定する前記ステップは、
    ・前記第一の一連の操作と同じ状態にある前記第一の一連の操作の全体、あるいは
    ・最終的な補完ステップが選択的に後続する、補完された状態にある前記第一の一連の操作の全体
    のどちらかをランダムに選択するステップを含む;
    − 前記マイクロ回路エンティティが前記第二の一連の操作を前記メッセージに適用して、適用した結果としての適用結果メッセージを得るステップ;及び
    − 前記第二の一連の操作から得られた前記適用結果メッセージを前記サーバ結果と比較して、前記サーバ結果と前記適用結果メッセージとが一致する場合に、前記サーバエンティティと前記マイクロ回路エンティティ間での認証を有効にするステップ
    を備え
    前記ランダムに選択するステップは、前記第一の一連の操作のうちの各操作が通常状態にあった回数と、前記第一の一連の操作のうちの各操作が補完された状態にあった回数との差であるパラメータを計算することを含み、
    この差が所定の閾値を超えた場合に、この差を減少させるべく、次の前記第二の一連の操作を通常の状態または補完された状態でランダムに選択する前記ステップが実行される方法。
  20. サーバエンティティとマイクロ回路エンティティ間での認証用暗号プロトコルの実行方法であって、前記認証用暗号プロトコルを実行している際に前記マイクロ回路エンティティへのDPA攻撃に抵抗するための方法であり、
    − 前記サーバエンティティと前記マイクロ回路エンティティの両方に一連の操作を含むDESを含む暗号プロトコルを記憶するステップ、ここで、当該一連の操作における各操作は、通常の状態と、補完された状態とを有する;
    − 前記サーバエンティティと前記マイクロ回路エンティティ間でメッセージを交換させるステップ;
    − サーバ結果を得るべく、前記サーバエンティティが、当該サーバエンティティに記憶されている前記一連の操作の全操作を前記メッセージに適用するステップ;
    − 前記マイクロ回路エンティティが、
    ・当該マイクロ回路エンティティに記憶されている前記一連の操作のうちの複数の操作からなる少なくとも一のサブグループ中の各操作について、当該操作をその通常の状態またはその補完された状態で適用することをランダムに選択しつつ、
    ・当該マイクロ回路エンティティに記憶されている当該一連の操作の全操作を前記メッセージに適用する
    ステップ、ここで、
    前記マイクロ回路エンティティが前記一連の操作を適用する前記ステップは、
    ・前記一連の操作のうちの幾つかの操作を、その通常の状態で適用し、
    ・前記一連の操作のうちの他の操作を、その補完された状態で適用する
    ものである;
    − 前記マイクロ回路エンティティが前記一連の操作の全操作を適用する前記ステップに応じて、前記マイクロ回路エンティティが、前記一連の操作のうちの最終操作の結果を
    ・その通常の状態か、あるいは
    ・その補完された状態
    のどちらかで、適用結果メッセージとして出力することを選択するステップ;及び
    − 前記マイクロ回路エンティティから得られた前記適用結果メッセージを前記サーバ結果と比較して、前記サーバ結果と前記適用結果メッセージとが一致する場合に、前記サーバエンティティと前記マイクロ回路エンティティ間での認証を有効にするステップ
    を備える方法。
JP2007306865A 2000-01-31 2007-11-28 2つの電子的エンティティ間における暗号プロトコル実行方法 Expired - Fee Related JP4822450B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0001199A FR2804524B1 (fr) 2000-01-31 2000-01-31 Procede d'execution d'un protocole cryptographique entre deux entites electroniques
FR0001199 2000-01-31

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001024455A Division JP2001251294A (ja) 2000-01-31 2001-01-31 2つの電子的エンティティ間における暗号プロトコル実行方法

Publications (2)

Publication Number Publication Date
JP2008067416A JP2008067416A (ja) 2008-03-21
JP4822450B2 true JP4822450B2 (ja) 2011-11-24

Family

ID=8846492

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2001024455A Pending JP2001251294A (ja) 2000-01-31 2001-01-31 2つの電子的エンティティ間における暗号プロトコル実行方法
JP2007306865A Expired - Fee Related JP4822450B2 (ja) 2000-01-31 2007-11-28 2つの電子的エンティティ間における暗号プロトコル実行方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2001024455A Pending JP2001251294A (ja) 2000-01-31 2001-01-31 2つの電子的エンティティ間における暗号プロトコル実行方法

Country Status (8)

Country Link
US (1) US8612761B2 (ja)
EP (1) EP1122909B1 (ja)
JP (2) JP2001251294A (ja)
CA (1) CA2332529C (ja)
DK (1) DK1122909T3 (ja)
ES (1) ES2421724T3 (ja)
FR (1) FR2804524B1 (ja)
HK (1) HK1037938A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4199937B2 (ja) * 2001-03-06 2008-12-24 株式会社日立製作所 耐タンパー暗号処理方法
US20040218762A1 (en) 2003-04-29 2004-11-04 Eric Le Saint Universal secure messaging for cryptographic modules
US8209753B2 (en) * 2001-06-15 2012-06-26 Activcard, Inc. Universal secure messaging for remote security tokens
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치
DE602005025593D1 (de) * 2004-01-27 2011-02-10 Nxp Bv Schutz vor leistungsanalyse-angriffen
DE102004008901A1 (de) * 2004-02-24 2005-09-15 Giesecke & Devrient Gmbh Sichere Ergebniswertberechnung
JP4634788B2 (ja) * 2004-12-17 2011-02-16 株式会社東芝 暗号演算回路と、該暗号演算回路を有する情報処理装置及びicカード
JP4804981B2 (ja) * 2006-03-28 2011-11-02 三菱電機株式会社 データ変換装置及びデータ変換プログラム
FR2903508B1 (fr) * 2006-07-10 2008-10-17 Sagem Defense Securite Protection d'un programme interprete par une machine virtuelle
FR2935823B1 (fr) * 2008-09-11 2010-10-01 Oberthur Technologies Procede et dispositif de protection d'un microcircuit contre les attaques.
FR2935817B1 (fr) * 2008-09-11 2011-12-09 Oberthur Technologies Procede de traitement de donnees et dispositif associe.
JP4849140B2 (ja) * 2009-02-20 2012-01-11 ソニー株式会社 データ変換装置、演算処理装置、および演算処理制御方法、並びにコンピュータ・プログラム
JP5433498B2 (ja) * 2010-05-27 2014-03-05 株式会社東芝 暗号処理装置
EP2466523B1 (en) * 2010-12-16 2015-04-29 BlackBerry Limited Method and apparatus for securing a computing device

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2932665B2 (ja) 1990-10-20 1999-08-09 富士通株式会社 暗号処理用鍵供給方式
EP0566811A1 (en) * 1992-04-23 1993-10-27 International Business Machines Corporation Authentication method and system with a smartcard
US5870468A (en) * 1996-03-01 1999-02-09 International Business Machines Corporation Enhanced data privacy for portable computers
US5933501A (en) * 1996-08-01 1999-08-03 Harris Corporation `Virtual` encryption scheme combining different encryption operators into compound-encryption mechanism
US6327661B1 (en) 1998-06-03 2001-12-04 Cryptography Research, Inc. Using unpredictable information to minimize leakage from smartcards and other cryptosystems
WO1999053419A2 (en) 1998-04-09 1999-10-21 Koninklijke Philips Electronics N.V. Device for converting series of data elements
CN100530025C (zh) * 1998-05-29 2009-08-19 西门子公司 处理数据的方法和装置
US20030118190A1 (en) * 1998-05-29 2003-06-26 Siemens Aktiengesellschaft Method and apparatus for processing data where a part of the current supplied is supplied to an auxiliary circuit
ATE370490T1 (de) * 1998-06-03 2007-09-15 Cryptography Res Inc Ausgewogene kryptographische rechenmethode und apparat zur schlupfminimierung in smartcards und anderen kryptosystemen
IL139935A (en) * 1998-06-03 2005-06-19 Cryptography Res Inc Des and other cryptographic processes with leak minimization for smartcards and other cryptosystems
US6301362B1 (en) * 1998-06-12 2001-10-09 International Business Machines Corporation Method and apparatus for cryptographically transforming an input block into an output block
FR2782431B1 (fr) * 1998-08-17 2000-09-29 Gemplus Sca Procede et dispositif d'authentification a algorithme symetrique
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
JP3600454B2 (ja) * 1998-08-20 2004-12-15 株式会社東芝 暗号化・復号装置、暗号化・復号方法、およびそのプログラム記憶媒体
FR2784831B1 (fr) * 1998-10-16 2000-12-15 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
FR2784829B1 (fr) * 1998-10-16 2000-12-29 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete
US6347143B1 (en) * 1998-12-15 2002-02-12 Philips Electronics No. America Corp. Cryptographic device with encryption blocks connected parallel
NL1011544C1 (nl) * 1998-12-30 2000-07-03 Koninkl Kpn Nv Werkwijze en inrichting voor het cryptografisch bewerken van data.
US7162031B1 (en) * 1998-12-30 2007-01-09 Nokia Corporation Method and device for cryptographically processing data
FR2789535B1 (fr) * 1999-02-04 2001-09-28 Bull Cp8 Procede de securisation d'un ensemble electronique de cryptographie a cle secrete contre les attaques par analyse physique
FR2792141B1 (fr) * 1999-04-09 2001-06-15 Bull Cp8 Procede de securisation d'un ou plusieurs ensembles electroniques mettant en oeuvre un meme algorithme cryptographique avec cle secrete, une utilisation du procede et l'ensemble electronique
US6594761B1 (en) * 1999-06-09 2003-07-15 Cloakware Corporation Tamper resistant software encoding

Also Published As

Publication number Publication date
US8612761B2 (en) 2013-12-17
JP2001251294A (ja) 2001-09-14
FR2804524B1 (fr) 2002-04-19
JP2008067416A (ja) 2008-03-21
US20010012360A1 (en) 2001-08-09
CA2332529C (fr) 2010-08-17
CA2332529A1 (fr) 2001-07-31
FR2804524A1 (fr) 2001-08-03
HK1037938A1 (en) 2002-02-22
EP1122909A1 (fr) 2001-08-08
DK1122909T3 (da) 2013-07-08
EP1122909B1 (fr) 2013-04-17
ES2421724T3 (es) 2013-09-05

Similar Documents

Publication Publication Date Title
JP4822450B2 (ja) 2つの電子的エンティティ間における暗号プロトコル実行方法
Wallrabenstein Practical and secure IoT device authentication using physical unclonable functions
JP4216475B2 (ja) 漏洩抵抗力を有する暗号索引付き鍵の更新方法及びデバイス
US10353638B2 (en) Security method and apparatus to prevent replay of external memory data to integrated circuits having only one-time programmable non-volatile memory
Garcia et al. Wirelessly pickpocketing a Mifare Classic card
CN112002210B (zh) 用于测试并且加固软件应用的方法
Oren et al. A low-resource public-key identification scheme for RFID tags and sensor nodes
CN101488858A (zh) 需要采用穷举法解密的随机加密方法
US20170257212A1 (en) Cryptographic Apparatuses And Methods For Encrypting And Decrypting Data Using Automata
CN109067545A (zh) 密钥管理方法、装置及存储介质
Meijer et al. Ciphertext-only cryptanalysis on hardened Mifare classic cards
EP3506558A1 (en) Whitebox computation of keyed message authentication codes
JP5184659B2 (ja) 秘密鍵を伴う電子暗号アセンブリを安全に守る方法
JP3733027B2 (ja) 秘密鍵式暗号化アルゴリズムを用いる電子構成部品内の対抗措置方法
US20240163115A1 (en) Communication devices for use in challenge-response rounds and corresponding operating methods
CN111859424B (zh) 物理管理平台的数据加密方法、系统、终端及存储介质
JP2004054128A (ja) 暗号化装置
RU2710670C2 (ru) Криптографическая система и способ
Plesch et al. 1-out-of-2 oblivious transfer using a flawed bit-string quantum protocol
Endignoux Design and implementation of a post-quantum hash-based cryptographic signature scheme
JP2005045760A (ja) 暗号処理方法及び装置
JP2004505354A (ja) データ転送を保護して装置を通信させる方法及びシステム及びそのための装置
CN113487315A (zh) 一种账户合约的处理方法、装置、设备及存储介质
Coppersmith et al. Key recovery and forgery attacks on the MacDES MAC algorithm
JP2001005384A (ja) 乱数生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110330

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110404

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110517

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110520

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110617

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110809

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110902

R150 Certificate of patent or registration of utility model

Ref document number: 4822450

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140916

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees