(57)【特許請求の範囲】
【請求項１】
暗号化および／またはアクセス認証を実施するコーディングデバイスであって、
暗号化動作を実施するデータ処理ユニット（１、１’）と、
内部データインターフェース（ＩＢ）から外部データインターフェース（ＩＯ）を分離する分離ユニット（２）と、
電力を該コーディングデバイス（ＺＡ）に供給する電源インターフェース（ＳＶ）と、
主クロック信号（ＣＬＫ１）を生成する主クロック供給ユニット（３）と、
該電源インターフェース（ＳＶ）に結合されており、妨害電力プロファイル（ＳＰ２）を生成する電力プロファイル生成器ユニットと、
乱数値（ＲＤ１、ＲＤ２、ＲＤ３）を生成する乱数生成器（６）と
を備え、
該電力プロファイル生成器ユニットは、二次クロック信号（ＣＬＫ２）を生成する二次クロック供給ユニット（７）を有し、それによって、該二次クロック供給ユニット（７）の該二次クロック信号（ＣＬＫ２）は、該乱数値（ＲＮＤ２）の関数として変更されることを特徴とする、コーディングデバイス。
【請求項２】
前記電力プロファイル生成器ユニットは、複数の負荷（Ｒ１、．．．Ｃｎ）を切り替えて、スイッチングユニット（ＳＥ）によって前記妨害電力プロファイル（ＳＰ２）を生成する電力プロファイル生成器（４）を有することを特徴とする、請求項１に記載のコーディングデバイス。
【請求項３】
前記乱数生成器（６）は、前記乱数値（ＲＮＤ１）の関数として、前記主クロック供給ユニット（３）の前記主クロック信号（ＣＬＫ１）も変更することを特徴とする、請求項１に記載のコーディングデバイス。
【請求項４】
前記乱数生成器（６）は、前記乱数値（ＲＮＤ３）の関数として、前記電力プロファイル生成器（４）の前記スイッチングユニット（ＳＣ）の切り替え挙動を変更することを特徴とする、請求項１または３のうちのいずれか一つに記載のコーディングデバイス。
【請求項５】
前記電力プロファイル生成器ユニットは、前記主クロック信号（ＣＬＫ１）および前記二次クロック信号（ＣＬＫ２）に基づいて、電力プロファイル生成器のクロック信号（ＣＬＫ２*）を生成する同期回路（５）を有することを特徴とする、請求項１から４のうちのいずれか一つに記載のコーディングデバイス。
【請求項６】
前記同期回路（５）は、時間領域および周波数領域における、前記主クロック信号（ＣＬＫ１）と前記電力プロファイル生成器のクロック信号（ＣＬＫ２*）との間に関係が生じるのを防止することを特徴とする、請求項５に記載のコーディングデバイス。
【請求項７】
前記同期回路（５）は、前記主クロック信号（ＣＬＫ１）と前記二次クロック信号（ＣＬＫ２）が前記電力供給インターフェース（ＳＶ）において目に見えるようなうなりを防止することを特徴とする、請求項５または６に記載のコーディングデバイス。
【請求項８】
前記同期回路は、前記主クロック信号（ＣＬＫ１）を遅延させる遅延素子（５１）を有することを特徴とする、請求項５から７のうちのいずれか一つに記載のコーディングデバイス。
【請求項９】
前記同期回路（５）は、遅延された主クロック信号（ＣＬＫ１）として、前記二次クロック信号（ＣＬＫ２）によるトリガーを有する、前記電力プロファイル生成器のクロック信号（ＣＬＫ２*）を生成する信号エッジトリガーＡＮＤゲート（５２）を有することを特徴とする、請求項５から８のうちのいずれか一つに記載のコーディングデバイス。
【請求項１０】
前記遅延素子（５１）は調整可能であることを特徴とする、請求項８または９のうちのいずれか一つに記載のコーディングデバイス。
【請求項１１】
前記電力プロファイル生成器ユニットは前記データ処理ユニット（１、１’）の電力プロファイル（ＳＰ１、ＳＰ１’）に類似した最大偏差を有するように、前記妨害電力プロファイル（ＳＰ２）を生成することを特徴とする、請求項１から１０のうちのいずれか一つに記載のコーディングデバイス。
【請求項１２】
前記電力プロファイル生成器ユニットを切ることが可能なことを特徴とする、請求項１から１１のうちのいずれか一つに記載のコーディングデバイス。
【発明の詳細な説明】
【０００１】
本発明は、コーディングデバイスに関し、詳細には、暗号化および／またはアクセス認証を実施するコーディングデバイスに関する。
【０００２】
ほとんどの暗号化システムでは、暗号化処理において用いられる鍵を安全に処理することが必要である。いわゆる公開鍵を用いたセキュリティシステムにおいて、潜在的な攻撃者が、任意の環境において鍵を読み出したり解読したりすることができないように、関連した秘密鍵は保護されなければならない。なぜならば、そうでなければ、例えば、デジタル署名が偽造されたり、データが改変されたり、秘密情報が解読されたりする場合があるからである。
【０００３】
本明細書においては、基本的に、機密データまたは秘密データに対する望ましくないデータ攻撃を防止するために用いられる、対称アルゴリズムおよび非対称アルゴリズムまたは暗号化プロトコルを区別する。
【０００４】
例えば、暗号化および／またはアクセス認証を実施するための暗号化コーディングデバイスは、攻撃のない環境にある場合であっても、秘密鍵を保護しなければならない。このような暗号化コーディングデバイスの公知の例は、例えば、いわゆるチップカード、スマートカードまたは保護されたアクセス認証または保護されたデータイン（ｄａｔａ  ｉｎ）の暗号化を可能にするセキュリティ関連のモジュール（例えば、現金自動預入支払機、自動車イモビライザー（ｉｍｍｏｂｉｌｉｚｅｒ）など）である。
【０００５】
図５は、基本的に、暗号化データ処理ユニット１から形成され、暗証鍵ＰＫ（秘密鍵）を用いて、暗号化によって入力または入力データを処理する、暗号化および／またはアクセス認証を実施するためのコーディングデバイスの模式図を示す。次いで、このように処理されたデータは、出力を出力し、この結果、暗号化または保護されたアクセス認証が実施される。図５に示す自動状態デバイスＺＡは、チップカード、スマートカード、保護されたマイクロプロセッサユニットなどとして、実施される。したがって、暗号化コーディングデバイスＺＡは、入力情報を処理し、情報を出力または生成するために秘密鍵ＰＫを用いる。暗号化アルゴリズムまたはプロトコルは、通常捨てられて、暗号化されるべきデータあるいはインターフェースを入力または出力する際の暗号化データへの攻撃が防止され得る。
【０００６】
しかし、暗号化コーディングデバイスまたはコーディング方法に対して、顕著により強烈な攻撃がある場合には、秘密鍵をいわゆる漏洩情報によっても生成し得ることが判明されている。図５によって、これは、例えば、暗号化データ処理の間に用いられる秘密鍵または暗号化の方法に関して推論を可能にする、消費電流、電磁放射などである。
【０００７】
本発明は、本明細書において特に、いわゆる電力解析を用いた攻撃に関する。自動状態デバイスＺＡの電力プロファイルを解析する際、集積回路が基本的に電圧制御スイッチとして動作する複数の個々のトランジスタから形成されるという点を利用する。本明細書において、トランジスタ基板を介した電流フローは充電するとすぐに、ゲートに印加されるか、ゲートから排除される。
【０００８】
次いで、この電流は、さらなるトランジスタのゲートを充電し、この結果、結線部がさらに充電されたり、負荷が与えられる。したがって、特に暗号化アルゴリズムを処理する場合に実行されるこのような切り替えの挙動を、自動状態デバイスＺＡの電源によって測定し得、例えば、攻撃者が秘密鍵ＰＫを読むことを可能にする。
【０００９】
電力解析の一番よく知られる形態は、単純電力解析（ＳＰＡ）、差動電力解析（ＤＰＡ）および高次の差動電力解析（ＨＯ−ＤＰＡ）である。単純電力解析（ＳＰＡ）は、基本的に電力消費の変動を視覚的にモニタリングすることを考慮するが、差動電力解析ＤＰＡによる攻撃は、統計的解析方法および誤差補正方法を利用して、秘密鍵と関係した情報を抽出する。差動高次電力解析（ＨＯ−ＤＰＡ）は、攻撃の可能性を減らして、測定可能な電力消費によって秘密鍵を抽出するが、差動電力解析はほとんどの場合、すでに十分である。
【００１０】
暗号化コーディングデバイスに対する攻撃などを防止するために、ＷＯ９９／３５７８２は、上述の電力解析を無効にする暗号化の方法および暗号化デバイスを開示する。基本的に、暗号化データ処理に不可欠な工程を継続的に変更することによって、攻撃者によって読み出され得る漏洩された情報がいわゆる自己回復の方式で排除される方法およびデバイスを説明する。結果として、特に、統計評価を防止し、自動状態デバイスの電流消費または電磁放射による攻撃を確実に防止する。
【００１１】
しかし、攻撃からの防止を実施することなどにおける欠点は、システムまたは自動状態デバイスの暗号化ソフトウェア内へと広範囲にわたって介入を行わなければならない点にある。より正確に言えば、このような保護は、対応して変更されたり、適宜、自動的に変更する、それぞれの暗号化アルゴリズムまたはプロトコルの知識さえあれば実行され得る。しかし、暗号化データ処理を直接ソフトウェアによって行うこのような介入は、極端に大きな支出が必要である。さらに、このような介入は、専門化によってしか実行され得ず、各ユーザ（顧客）はこれを好まない場合が多い。
【００１２】
したがって、本発明は、暗号化および／または暗号化状態シーケンスを改変することなく、特に電力解析を確実に防止するアクセス認証を実施するためのコーディングデバイスを提供する目的に基づく。
【００１３】
この目的は、本発明による請求項１の特徴によって達成される。
【００１４】
特に、妨害電力プロファイルを生成する電力プロファイル生成器を用いることによって、妨害電力フプロファイルは、自動状態デバイスの電力プロファイル上に重ね合わされる。この結果、秘密鍵または暗号化データを抽出するための電力解析が不安定になる。
【００１５】
電力プロファイル生成器ユニットは、好適には、複数の負荷を切り替える電力プロファイル生成器を作動させるための二次クロック信号を生成する二次クロック供給ユニットを有し、妨害電力プロファイルを生成する。したがって、妨害電力プロファイル生成器は、主クロック信号から独立した二次クロック信号を用いて動作され、この結果、特に高次の電力解析が防止され得る。さらに、電力プロファイル生成器ユニットは、相互に独立した、二次クロック信号および主クロック信号の両方をランダムに変更する乱数生成器を有し得る。このようにして、特に、統計的（差動）電力解析がしっかりと防止される。
【００１６】
さらに、電力プロファイル生成器ユニットは、同期回路を有し、主クロック信号および二次クロック信号に基づいて、電力プロファイル生成器クロック信号を生成し得る。この結果、ランダムに生成された主信号および二次クロック信号からさらに分離することが可能になる。
【００１７】
特に、時間領域および周波数領域における主クロック信号と電力プロファイル生成器クロック信号とが関係することを防止する同期回路を用いることによって、任意の種類の高次の電力解析が防止される。なぜならば、実際の暗号化データ処理プロセスに関して、結論に達することが可能ではないからである。
【００１８】
さらに、主クロック信号および二次クロック信号が電源インターフェースにおいて目に見える方法でうなりを生じないようにする同期回路を提供することによって、現在公知の電力解析から守られる暗号化コーディングデバイスが提供される。
【００１９】
さらに、セキュリティとは関連のない操作に関して電源が切られ得るように、電力プロファイル生成器ユニットを設計することが可能である。したがって、コーディングデバイスの電力消費は、相当減少し得る。
【００２０】
さらに、本発明の改良品のさらなる利点は、さらなる従属クレームを特徴とする。
【００２１】
本発明は、例示の実施形態によって、図面を参照しながら、以下により詳細に説明する。
【００２２】
図１は、例えば、いわゆるチップカードまたはスマートカードに実施されるような暗号化および／またはアクセス認証を実施するためのコーディングデバイスの簡略化したブロック図を示す。本明細書において、このスマートカードまたはチップカードの論理ユニットは、好適には、半導体モジュール上に実施されて、自動状態デバイスＺＡ内に組み合わされる。
【００２３】
自動状態デバイスＺＡおよび半導体コンポーネントの論理コンポーネントは、暗号化されるべきデータおよび／または他のデータを入力および出力するための入力／出力インターフェースＩ／Ｏを有する。電源インターフェースＳＶは、電力を自動状態デバイスＺＡおよびコーディングデバイスに供給するために用いられるため、いわば、電力解析による攻撃の弱点をなす。電力供給インターフェースＳＶは、基本的に、自動状態デバイスＺＡのすべてのコンポーネントを供給するが、例示を簡略化するために、データ処理ユニット１、１’および電力プロファイル生成器４への接続を一つのみ示す。
【００２４】
データ処理ユニットは、通常、データを処理する中央処理ユニット１（ＣＰＵ）、および必要な場合にはさらに、特に非対称または対称コーディング動作を実行する共同プロセッサユニット１’から構成される。しかし、このような暗号化操作を、共同プロセッサユニット１’がなくとも、もっぱら中央処理ユニット１内で実行することも可能である。
【００２５】
中央処理ユニット１またはさらなる共同プロセッサユニット１’によって実行される暗号化の方法またはプロトコルは、例えば、対称認証、Ｄｉｆｆｉｅ−Ｈｅｌｌｍａｎ指数関数鍵符合、公開鍵を備えたＥ１  Ｇａｍａｌ暗号化、Ｅ１  Ｇａｍａｌ署名、デジタル標準署名、ＲＳＡおよびさらなるコーディングアルゴリズムを含み得る。このような方法およびコーティングプロトコルは概して公知であり、この理由から詳細な説明は以下に提供しない。
【００２６】
しかし、本発明の基本的特徴は、自動状態デバイスＺＡ内での電力プロファイル生成器４の使用である。この自動状態デバイスＺＡは、基本的に、妨害電力プロファイルＳＰ２を生成し、電力プロファイル解析において実際に用いられ得る、中央処理ユニット１の電力プロファイルＳＰ１およびオプションの共同プロセッサユニット１’のＳＰ１’の上にこのＳＰ２を重ね合わせる。この重ね合わせを用いて、電力プロファイルＳＰ３による秘密鍵または機密データの回復が防止される。図２および図３を参照しながらより詳細に以下に説明するように、ＳＰ３は、外方に向かうようにタップ付けされ得る。
【００２７】
図２は、用いられ得る電力プロファイル生成器４の一例の簡略化したブロック図を示す。本明細書において、電力プロファイル生成器４は、基本的に、スイッチＳ１、Ｓ２からＳｎまでを介して、必要に応じて、接続され得る複数の負荷Ｒ１、Ｃ１、ＲｎおよびＣｎから形成される。スイッチＳ１からＳｎは、好適には、制御ユニットＳＥによって作動される。制御ユニットＳＥを、例えば、電力プロファイル生成器クロック信号ＣＬＫ２*および／または乱数値ＲＮＤ３を介して作動し得る。しかし、すべてのさらなる作動手段も考えられる。電力プロファイル生成器４の作動に必要なのは、さらなる電力消費または妨害電力プロファイルＳＰ２を生成するように、複数の負荷を、負荷レジスタＲ１からＲｎの形態、負荷コンデンサＣ１からＣｎの形態で、予測不可能に接続することが可能だという点だけである。
【００２８】
図３は、電力解析を防止する原理の簡略化した図を示す。図３によって、中央処理ユニット１は、電力プロファイルＳＰ１を生成する。同時に、電力プロファイル生成器４は、電源インターフェースＳＶ上に重ね合わされる電力プロファイルＳＰ２を生成する。この結果、中央処理ユニット１の電力プロファイルＳＰ１および電力プロファイル生成器４の電力プロファイルＳＰ２から形成される電力プロファイルＳＰ３は、電源インターフェースＳＶおよび電力解析を用いる攻撃者によって通常用いられる電源の出力において生成される。この重ね合わせによって、実際に解析されるべきであり、秘密鍵または暗号化の方法に関する妨害を可能にする情報を含む電力プロファイルＳＰ１（またはＳＰ１’）を、フィルタリング除去したり回復することができなかったり、フィルタリング除去できなかったり、または回復するために多大な困難が伴ったりする。
【００２９】
本明細書において、電力プロファイル生成器４は、中央処理ユニット１の電力プロファイルＳＰ１、または共同プロセッサユニットＳＰ１’の電力プロファイルＳＰ１’に類似の最大偏差またはピークを有する妨害電力プロファイルＳＰ２を生成する。
【００３０】
暗号化コーディングデバイスなどの電力解析に対する保護を強化するには、図１による自動状態デバイスＺＡは、乱数生成器６も有し得る。乱数生成器６は、電力プロファイル生成器４の制御ユニットＳＥに供給され得る擬似乱数値ＲＮＤ３を生成して、妨害電力プロファイルＳＰ２の擬似乱数が生成される。
【００３１】
さらに、乱数値ＲＮＤ１は、主クロック供給ユニット３に供給され得、この結果、自動状態デバイスＺＡの主クロック信号ＣＬＫ１を、可変方式で設定し得る。主クロック供給ユニット３は、好適には、プログラム可能な発振器（ＰＬＬ、フェーズがロックされたループ）から構成される。この発振器は、例えば、４ＭＨｚの中心周波数で振動するが、乱数値ＲＮＤ１によって、３〜７ＭＨｚの範囲の可変方式で設定することが可能である。もちろん、主クロック供給ユニット３として、他のプログラム可能な選択器も考えられる。クロック周波数を、各プロセッサの種類の一機能として選択することも可能である。
【００３２】
内部データインターフェースＩＢから外部データインターフェースＩ／Ｏを分離または絶縁するために、従来の分離ユニット２を用いる。このような分離ユニット２は、ＵＡＲＴＳとして公知であり、二つの異なるインターフェース（すなわち、外部データインターフェースＩ／Ｏおよび内部データインターフェースＩＢならびに相互に異なるクロック信号）を適合することが可能なトランスミッタ部および受信機部を含む。このような分離ユニットは概して公知であり、この理由から以下に詳細な説明は提供しない。
【００３３】
擬似乱数変動（したがって、主クロック信号ＣＬＫ１内に生じる）によって、電源インターフェースＳＶにおける電力解析がより困難になる。この結果、電力解析による攻撃に対する自動状態デバイスＺＡの保護が、さらに強化される。
【００３４】
電力解析による攻撃に対する安全が特に強化された構成は、特に、図１によって、主クロック供給ユニット３に加え、同期回路５と組み合わせて、さらなる二次クロック供給ユニット７を用いる場合に得られる。本明細書においては図１によって、二次クロック供給ユニット７は、擬似乱数の二次クロック信号ＣＬＫ２を生成するように、乱数生成器６からの乱数値ＲＮＤ２によっても作動される。二次クロック供給ユニット７は、好適には、主供給ユニット３に類似したプログラム可能な発振器（ＰＬＬ、フェーズがロックされたループ）から構成されるが、中心周波数は、好適には、相互に異なる。同様に、二次クロック供給ユニット７の周波数の範囲も、主クロック供給ユニット３とは異なり、これらは、同じ中心周波数および同じ周波数範囲も有する場合がある。しかし、異なる乱数値ＲＮＤ１およびＲＮＤ２に起因して、主クロック供給ユニット３および二次クロック供給ユニット７は、同期回路５に供給される異なるクロック信号ＣＬＫ１およびＣＬＫ２を生成する。
【００３５】
同期回路５は、基本的に、二つの発振器のうなりを電源インターフェースＳＶの電力プロファイルＳＰ３内で目に見えるようにし得る影響を防ぐことに役立つ。さらに、同期回路５は、時間領域および周波数領域における、主クロック信号ＣＬＫ１と電力プロファイル生成器のクロック信号ＣＬＫ２*との間で関係が生じるのを防止する。このクロック信号ＣＬＫ２*は、同期回路５によって生成され、好適には電力プロファイル生成器４またはその制御ユニットＳＥを作動させるために用いられる。
【００３６】
図４は、同期回路５に関する好適な設計の模式図である。図４による同期回路５は、基本的に、信号エッジトリガーＡＮＤ遅延を備えたゲートを含む。同期回路５は、遅延時間τによって主クロック信号ＣＬＫ１を遅延させるために遅延素子５１を有する。さらに、電力プロファイルのクロック信号ＣＬＫ２*を生成するために、同期回路５は、二次クロック信号ＣＬＫ２を介して接続するために信号エッジトリガーＡＮＤゲート５２を有する。より正確には、新たなクロック信号ＣＬＫ１が主クロック供給ユニット３においてその時点で生成されていない場合に限り、同期回路５は、電力プロファイル生成器のクロック信号ＣＬＫ２*として、二次クロック供給ユニット７の二次クロック信号ＣＬＫ２を電力プロファイル生成器４に接続する。したがって、同期回路５は、主クロック供給ユニット３の主クロック信号ＣＬＫ１によってトリガーされ、これにより、遅延τがその技術の関数または他のパラメータとして、選択されたまたは設定され得た後でのみ、二次クロック供給ユニット７の二次クロック信号ＣＬＫ２が終了することが可能になる。遅延素子５１によって生成された遅延τは好適には調整されたり設定される。
【００３７】
特に、さらなる発振器の組み合わせまたは同期回路５を備えた二次クロック供給ユニット７の組み合わせの結果として、電力プロファイルの関係の解析によって攻撃され得ない暗号化および／またはアクセス認証を実施するための自動状態デバイスＺＡまたはコーディングデバイスが得られる。したがって、特に、秘密鍵（復号鍵）、署名、電子パース、書き込み禁止などは不認証のアクセスを防止する。
【００３８】
中央処理ユニット１および共同プロセッサユニット１’から構成されるデータ処理ユニットが継続的に安全関連の動作を実行し得ないため、電力消費を減らし、セキュリティをさらに強化するためには、保護手段を一時的に切る場合がある。より正確には、乱数生成器６、二次クロック供給ユニット７、同期回路５および／または電力プロファイル生成器４は、セキュリティの観点から重要でない操作が中央処理ユニット１またはその共同プロセッサユニット１’によって実行される場合、一時的に切られ得る。
【００３９】
特に、二次クロック供給ユニット７は、同期回路５と共に用いられて、時間領域および／またはスペクトル領域における、統計解析および／または電力プロファイルの評価による攻撃が確実に防止される。
【００４０】
チップカードまたはスマートカードにおける自動状態デバイスによって本発明を上述した。しかし、例えば、本発明は、上述のデバイスにのみ制限されるのではなく、セキュリティ関連のマイクロプロセッサユニットまたは他のセキュリティモジュール内で用いられ得るすべてのさらなる自動状態デバイスを含む。同様に、本発明は、非対称暗号化の方法（暗号化法）だけでなく、すべてのさらなる暗号化の方法、特には対称暗号化の方法に適用され得る。
【図面の簡単な説明】
【図１】  図１は、本発明による暗号化コーディングデバイスの簡略化したブロック図を示す。
【図２】  図２は、図１に示す電力プロファイル生成器の簡略化した図を示す。
【図３】  図３は、図１に示すコーディングデバイス内に生じる電力プロファイルの簡略化した時間図を示す。
【図４】  図４は、図１に示す同期回路の簡略化した図を示す。
【図５】  図５は、従来技術による、電力解析による攻撃の模式図を示す。
【図１】
0003715574.tif 000002
【図２】
0003715574.tif 000003
【図３】
0003715574.tif 000004
【図４】
0003715574.tif 000005
【図５】
0003715574.tif 000006