(57)【要約】電力差分解析アタックに対する安全性を高めるため、データ処理装置には、外部電源（ＶＣＣ）から電流を引き出しかつ引き出された電流を電荷蓄積装置（Ｃ）とプロセッサ（１１）との間で周期的に割り当てることによりプロセッサ（１１）の瞬時の電力要求とは無関係に引き出された電流を変化させる電流変換器（１０）が設けられている。データ処理装置は、プロセッサ（１１）と、プロセッサ（１１）に結合された電荷蓄積装置（Ｃ）と、プロセッサ（１１）に動作電流を供給するとともに、プロセッサ（１１）の瞬時の電力要求とは無関係にその出力電流を変えるようになっている電流源（１０）とを有している。
2005538641.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
前記プロセッサに結合された電荷蓄積素子と、
前記プロセッサに動作電流を供給する電流源であって、前記プロセッサの瞬時の電力要求とは無関係に該電流源の出力電流（Ｉcc）を変更するように構成された電流源とを備えたデータ処理装置。
【請求項２】
前記電荷蓄積素子は、前記電流源と直列を成すキャパシタを備え、このキャパシタに前記プロセッサが並列に接続されていることを特徴とする請求項１に記載の装置。
【請求項３】
前記電流源は、２つの異なる電流レベル間を周期的または非周期的に切り換えるように構成されていることを特徴とする請求項１または請求項２に記載の装置。
【請求項４】
前記電流源は、複数の電流レベル間を周期的または非周期的に切り換えるように構成されていることを特徴とする請求項１または請求項２に記載の装置。
【請求項５】
前記電流レベルの切り換え間隔が前記プロセッサの平均電力要求によって決定されることを特徴とする請求項３または請求項４に記載の装置。
【請求項６】
前記電流源は、
少なくとも２つの異なる電流レベルでほぼ一定の電流（Ｉcc）を供給するように構成されており、前記電流レベル間を周期的または非周期的に切り換える第１の電流源と、
ランダムにあるいは擬似ランダムに変化するノイズ電流（ＩＮ）を供給するように構成された第２の電流源とを備えていることを特徴とする請求項１に記載の装置。
【請求項７】
前記プロセッサへの供給電圧を上限電圧と下限電圧との間で維持するように構成された制御手段を更に備えていることを特徴とする請求項１から請求項６のいずれか一項に記載の装置。
【請求項８】
前記プロセッサへの供給電圧を上限電圧未満に維持するように構成されたツェナーダイオードを更に備えたことを特徴とする請求項１から請求項７のいずれか一項に記載の装置。
【請求項９】
前記制御手段は、高い第１の電流レベルと低い第２の電流レベルとの間で前記電流源を切り換えるための電流切り換え手段を含み、前記電流の切り換えは、前記プロセッサへの供給電圧が前記下限電圧および前記上限電圧にそれぞれ達することにより引き起こされることを特徴とする請求項７に記載の装置。
【請求項１０】
前記プロセッサへの供給電圧が上限電圧から下限電圧に達するのに要する時間または下限電圧から上限電圧に達するのに要する時間を決定するためのタイマを更に含むことを特徴とする請求項９に記載の装置。
【請求項１１】
前記時間が所定の限界外であることを前記タイマが決定した場合に、前記電流源の前記第１の電流レベルおよび／または前記第２の電流レベルを変更するための電流設定手段を更に含むことを特徴とする請求項１０に記載の装置。
【請求項１２】
前記下限電圧に達するのに要する時間が第１の所定の閾値を下回ることを前記タイマが決定した場合、前記電流設定手段は前記第１の電流レベルを上げることを特徴とする請求項１１に記載の装置。
【請求項１３】
前記下限電圧に達するのに要する時間が第２の所定の閾値を上回ることを前記タイマが決定した場合、前記電流設定手段は前記第１の電流レベルを下げることを特徴とする請求項１１または請求項１２に記載の装置。
【請求項１４】
前記上限電圧に達するのに要する時間が第１の所定の閾値を下回ることを前記タイマが決定した場合、前記電流設定手段は前記第２の電流レベルを下げることを特徴とする請求項１１に記載の装置。
【請求項１５】
前記上限電圧に達するのに要する時間が第２の所定の閾値を上回ることを前記タイマが決定した場合、前記電流設定手段は前記第２の電流レベルを上げることを特徴とする請求項１１または請求項１２に記載の装置。
【請求項１６】
前記制御手段は、前記プロセッサへの供給電圧が所望の上限電圧または下限電圧へと移行し損なった場合に前記電流切り換え手段を一時的に抑制するための手段を含むことを特徴とする請求項９に記載の装置。
【請求項１７】
前記プロセッサが内部クロックを有し、この内部クロックの周波数が前記プロセッサへの供給電圧に依存することを特徴とする請求項１に記載の装置。
【請求項１８】
前記プロセッサが暗号プロセッサであることを特徴とする請求項１から請求項１７のいずれか一項に記載の装置。
【請求項１９】
スマートカード内に組み込まれていることを特徴とする請求項１から請求項１８のいずれか一項に記載の装置。
【請求項２０】
データ処理装置を動作する方法であって、
外部電源から電流（ＩＣＣ）を引き出すステップと、
この引き出された電流を前記データ処理装置内の電荷蓄積素子とプロセッサとの間で周期的に割り当てることにより、前記引き出された電流を前記プロセッサの瞬時の電力要求とは無関係に変化させるステップとを含む方法。
【請求項２１】
前記引き出された電流を使用することにより、前記プロセッサおよび前記電荷蓄積素子に供給されかつ２つの異なる電流レベル間で周期的にまたは非周期的に切り換えられる電流を生成するステップを更に含んでいることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記引き出された電流を使用することにより、前記プロセッサおよび前記電荷蓄積素子に供給されかつ複数の電流レベル間で周期的にまたは非周期的に切り換えられる電流を生成するステップを更に含んでいることを特徴とする請求項２０に記載の方法。
【請求項２３】
前記プロセッサの平均電力要求にしたがって切り換え間隔を決定するステップを更に含むことを特徴とする請求項２１または請求項２２に記載の方法。
【請求項２４】
第１の電流源を使用して少なくとも２つの異なる電流レベルでほぼ一定の電流（ＩＣＣ）を供給するとともに、前記第１の電流源を前記電流レベル間で周期的または非周期的に切り換えるステップと、
第２の電流源を使用してランダムにあるいは擬似ランダムに変化する重畳電流（ＩＮ）を供給するステップと、
前記第１の電流源の電流と前記第２の電流源の電流とを組み合わせて前記プロセッサおよび前記電荷蓄積素子に供給するステップとを更に含んでいることを特徴とする請求項２０に記載の方法。
【請求項２５】
前記プロセッサへの供給電圧を上限電圧と下限電圧との間で維持するステップを更に含んでいることを特徴とする請求項２０から請求項２４のいずれか一項に記載の方法。
【請求項２６】
前記プロセッサへの供給電圧が前記下限電圧および前記上限電圧にそれぞれ達した場合に、高い第１の電流レベルと低い第２の電流レベルとの間で電流源を切り換えるステップを更に含んでいることを特徴とする請求項２５に記載の方法。
【請求項２７】
プロセッサ供給電圧が上限電圧から下限電圧に達するのに要する時間または下限電圧から上限電圧に達するのに要する時間を決定するステップと、
前記時間が所定の限界外である場合に前記電流源の前記第１の電流レベルおよび／または前記第２の電流レベルを変えるステップとを更に含んでいることを特徴とする請求項２６に記載の方法。
【請求項２８】
前記下限電圧に達するのに要する時間が第１の所定の閾値を下回った場合に、前記第１の電流レベルを上げるステップを更に含んでいることを特徴とする請求項２７に記載の方法。
【請求項２９】
前記下限電圧に達するのに要する時間が第２の所定の閾値を上回った場合に、前記第１の電流レベルを下げるステップを更に含んでいることを特徴とする請求項２７または請求項２８に記載の方法。
【請求項３０】
前記上限電圧に達するのに要する時間が第１の所定の閾値を下回った場合に、前記第２の電流レベルを下げるステップを更に含んでいることを特徴とする請求項２７に記載の方法。
【請求項３１】
前記上限電圧に達するのに要する時間が第２の所定の閾値を上回った場合に、前記第２の電流レベルを上げるステップを更に含んでいることを特徴とする請求項２７または請求項２８に記載の方法。
【請求項３２】
前記プロセッサへの供給電圧が所望の上限電圧または下限電圧へと移行し損なった場合、前記電流切り換えを一時的に抑制するステップを更に含んでいることを特徴とする請求項２６に記載の方法。
【請求項３３】
前記プロセッサへの供給電圧に応じて前記プロセッサの動作の周波数を制御するステップを更に含むことを特徴とする請求項２０に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報を得る際に電力解析アタックに脆弱なスマートカードおよび他のデバイス内に典型的に導入されている暗号化装置に関する。
【背景技術】
【０００２】
スマートカード等のデバイス上には、マイクロプロセッサおよびそれに対応するロジックを使用して多くの暗号化装置が実施されている。多くの場合、スマートカードに記憶された暗号鍵等の重要なデータを安全に確実に保護することが必要である。スマートカードからのデータの取得を容易にする多くの電力解析技術が公開されてきた。スマートカードのデータは、取得されない場合には、通常の入力および出力操作中に安全に暗号化される。特に、暗号化操作および復号化操作を行なうロジックの電力消費量の解析は、暗号化操作および復号化操作で使用されるラウンド鍵を設定するために使用されても良い。
【０００３】
そのような技術は、例えば、Ｋｏｃｈｅｒらによる「電力差分解析」（ｗｗｗ．ｃｒｙｐｔｏｇｒａｐｈｙ．ｃｏｍ）およびＭｅｓｓｅｒｇｅｓらによる「スマートカードにおける電力解析アタックの検査」（スマートカード技術に関するＵＳＥＮＩＸ研究会の議事録、１９９９年５月、１５１〜１６１頁）に記載されている。スマートカードの電力消費量は、従来、各クロックパルスで生じるビット移行の数に大きく関与している。使われている暗号鍵を得るための十分な情報をもたらすために、暗号化アルゴリズムの一連のサイクル中におけるスマートカードのワット損の統計的解析が示されてきた。
【０００４】
電力差分解析アタックは、プロセッサロジックのデータ処理演算およびワット損トレースとそのような多くのトレースを経時的に平均化できる能力との相関関係に依存している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、電力解析アタックに対する暗号プロセッサの安全性を向上させる電源装置および暗号プロセッサの動作モードを提供することである。
【課題を解決するための手段】
【０００６】
一態様において、本発明は、
プロセッサと、
前記プロセッサに結合された電荷蓄積装置と、
前記プロセッサに動作電流を供給するとともに、前記プロセッサの瞬時の電力要求とは無関係にその出力電流を変えるように適合された電流源とを含むデータ処理装置を提供する。
【０００７】
他の態様において、本発明は、データ処理装置を動作する方法であって、
外部電源から電流を引き出すステップと、
引き出された電流を前記データ処理装置内の電荷蓄積装置とプロセッサとの間で周期的に割り当てることにより、前記引き出された電流を前記プロセッサの瞬時の電力要求とは無関係に変化させるステップとを含む方法を提供する。
【発明を実施するための最良の形態】
【０００８】
以下、添付図面を参照しながら、一例として、本発明の実施形態について説明する。以下、図１を参照しつつ、暗号プロセッサのためのＤＣ−ＤＣ変換電源装置の様々な考えられる実施形態について説明する。
【０００９】
電流源１０は、供給電圧ＶＣＣから電流を流すとともに、電流ＩＤＤをプロセッサ１１に対して供給する。プロセッサ１１はデータ処理論理回路の任意の形態を成していても良い。デカップリングキャパシタＣは、電流源１０によって供給された電流がプロセッサ１１の要求を越えたときに電流源１０から電流を受けるとともに、電流源によって供給される電流がプロセッサの要求に達しないときには電流をプロセッサに対して供給する。また、キャパシタＣの機能は、任意の適切な代替的な電荷蓄積機構によって実施されても良い。
【００１０】
第１の実施形態において、電流源１０は、２つの異なる電流レベルでほぼ一定の電流ＩＣＣを供給する第１の電流源１２を備えている。これらの電流レベルのうちの第１の電流レベルはプロセッサの平均的要求よりも高く、また、これらの電流レベルのうちの第２の電流レベルはプロセッサ１１の平均的要求よりも低い。電流レベル間の切り換えは後述するように周期的または非周期的に行なわれる。
【００１１】
第１の電流レベルが供給される期間中においては、過剰な電流がキャパシタＣに蓄えられるため、プロセッサに供給される電圧ＶＤＤが立ち上がる。第２の電流レベルが供給される期間中においては、電流の不足分がキャパシタＣから供給（放電）されるため、電圧ＶＤＤが立ち下がる。
【００１２】
その結果、電圧ＶＤＤが鋸歯状になる。所定の期間にわたって、電流源１０によって供給される平均電流ＩＣＣはプロセッサの平均電流要求ＩＤＤと等しい。しかしながら、電流源１２によって供給される電流ＩＣＣの瞬時値は、プロセッサ１１の電流要求ＩＤＤの瞬時値とめったに一致しない。
【００１３】
電流源１２の電流レベルの切り換えはプロセッサの瞬間的な動作とは無関係に決定されるため、鋸歯状電圧ＶＤＤの周波数および位相はプロセッサの即時動作を反映しない。すなわち、電圧ＶＤＤの周波数および位相は、プロセッサの内部クロック周波数に関連しておらず、プロセッサ１１によって行なわれるデータ操作演算にも関連していない。
【００１４】
また、電流源１２の制御は、一般に、プロセッサの動作と鋸歯状電圧ＶＤＤの周波数および位相との間の相関関係の欠如を維持するのに有利な幾つかのヒステリシスを含んでいる。
【００１５】
プロセッサ１１は、周波数が電圧に依存する内部オシレータクロックによって制御される。一般に、プロセッサに対する電圧供給ＶＤＤが下がれば下がるほど、プロセッサのクロック周波数も下がる。逆に、プロセッサに対する電圧供給ＶＤＤが大きくなればなるほど、プロセッサのクロック周波数も大きくなる。このことは、プロセッサによって行なわれる任意の処理（例えば、ＲＳＡ計算またはＤＥＳ／ＡＥＳ暗号化／復号化演算）の持続時間が供給電圧ＶＤＤのレベルによって決まることを意味している。
【００１６】
電力差分解析アタックにおいては、多くの一連の電力トレースを揃えることにより、対応する処理演算を時間軸に並べて平均化できるようにする必要がある。これは、プロセッサの演算の頻度が連続的に変化する場合には非常に困難になる。なぜなら、一連の電力トレースの有効時間基準が連続的に変化するからである。
【００１７】
また、プロセッサが非周期的に形成されても良く、その場合も、結果として、プロセッサにより実行される任意の処理の持続時間が供給電圧ＶＤＤのレベルによって決まる。
【００１８】
更なる実施形態において、電流源１０は、２レベル電流源１２の他に、擬似ノイズ電流成分ＩＮを電流供給に対して送るようになっている第２の電流源１３を有していても良い。ノイズ電流ＩＮはランダムにあるいは擬似ランダムに変化する。第２の電流源１３は多くの様々な方法で動作されても良い。
【００１９】
ＩＮが擬似ノイズ発生器によって制御されると、擬似ノイズ発生器は、時間軸上に基準点を与えかつ複数のトレースを並べて平均化するために電力差分解析アタックにおいて必要なトリガ点を隠す。したがって、擬似ノイズ発生器は、適切な解析装置（例えば、デジタルサンプリングオシロスコープ）のトリガを更に困難にする。
【００２０】
擬似ノイズ発生器１３のクロックが所定の周波数を有している場合には、多数の電力トレースを加えて電力トレースを解析することにより、ノイズが除去される。しかしながら、ノイズ電流ＩＮの振幅が大きくなればなるほど、ノイズを除去するために必要なトレースの数が多くなり、また、パワートレース内でのターゲットパターンおよびスパイクのぶれが大きくなる。したがって、ノイズ電流ＩＮは２レベル電流ＩＣＣのかなりの割合であることが好ましい。
【００２１】
擬似ノイズ電流ＩＮのピーク値は、第１の電流源１２によって供給される２レベル電流ＩＣＣよりも小さいことが好ましい。好ましい構成において、ピークノイズ電流ＩＮは、第１の電流源１２によって供給される２レベル電流ＩＣＣのほぼ５〜１０％の範囲内にある。
【００２２】
好ましい構成において、擬似ノイズ発生器１３は、プロセッサ１１の各命令シーケンス毎に初期化される。擬似ノイズ発生器がプロセッサの各命令シーケンス毎に初期化される場合、その命令シーケンスのための各電力トレースにおいてノイズパターンは同じである。したがって、電力トレースを加えてノイズを除去しようとする場合には、ノイズパターンが平均化されずに高められる。この場合、電力差分解析では、最初にノイズパターンを決定し、電力トレース同士を加える前にこのノイズパターンを各電力トレースから差し引かなければならない。実際のノイズパターンと差し引かれる推定されたパターンとの間の全ての不一致がその後に加えられることにより、平均化されたトレース中に擬似スパイクが生じる。これらのスパイクは、解析者が求めている実際のデータスパイクをうまく隠すことができる。
【００２３】
更なる構成において、擬似ノイズ発生器１３には、プロセッサ１１と同じクロックによってクロック信号が送られるとともに、プロセッサの各命令シーケンス毎にノイズ発生器が初期化される。このようにしてノイズが実質的に繰り返される。多くの電力トレース同士を加えることにより、ほぼ一定のノイズ信号が得られる。ノイズトレースの幾つかの部分が加えられるとともに、他の部分がキャンセルされる。更に多くのトレースを加えあるいはトレースを差し引くことは、ノイズ成分の除去において有効ではない。
【００２４】
以下、図２を参照しながら、電流源ＩＣＣの調整について説明する。
【００２５】
好ましい構成において、電流源１０の調整は、電流発生器１０によって供給される平均電流ＩＣＣ（ノイズ電流発生器１３が含まれている場合には＋ＩＮ）がプロセッサ１１の平均電流要求と一致するように自動的に行なわれる。
【００２６】
電流調整器は、プロセッサの平均電流要求ＩＤＤが経時的に変化する際に電流供給の動作を適合させる。
【００２７】
供給電圧ＶＤＤは、プロセッサの動作仕様内にある上限電圧レベルと下限電圧レベルとの間で変化することが許容されているため、プロセッサの正確な動作を確保できる。電流発生器１０は、高い電流レベルではプロセッサ供給電圧ＶＤＤが立ち上がるようになりかつ低い電流レベルではプロセッサ供給電圧ＶＤＤが立ち下がるように、電流レベルを変化させなければならない。ツェナーダイオードＤ（図１）によってＶＤＤの上限レベルを固定することにより、プロセッサに対するダメージを防止することができる。
【００２８】
図２の好ましい構成において、電流切り換え制御回路２０は、高い第１の電流レベルと低い第２の電流レベルとの間で電流源１２を切り換えるように作用する。第１の電流レベルは、プロセッサ１１の正常な動作のもとで電圧ＶＤＤを立ち上げるのに十分なレベルである。第２の電流レベルは、プロセッサ１１の正常な動作のもとで電圧ＶＤＤを立ち下げるのに十分なレベルである。
【００２９】
閾値検知回路２３は、ＶＤＤを監視するとともに、上限（または下限）閾値レベルへのＶＤＤの立ち上がり（または立ち下がり）を検知する。高い方の閾値電圧レベルに達すると、電流切り換え制御回路２０は電流供給ＩＣＣをその第２の（低い方の）電流レベルに切り換える。ＶＤＤが低い方の閾値電圧レベルに達すると、電流切り換え制御回路２０は電流供給１０をその第１の（高い方の）電流レベルに切り換える。
【００３０】
好ましい構成においては、上限閾値電圧が検知される時に始動されるタイマ回路２２が設けられる。この場合、タイマ回路２２は、プロセッサ供給電圧ＶＤＤが下限閾値電圧に達する時間ｔを決定する。タイマ回路２２の動作が図３にグラフで示されている。
【００３１】
タイマ回路２２は、時間ｔが許容ウインドウｔｍａｘ〜ｔｍｉｎの範囲内に入っているかどうかを決定する。時間がｔｍａｘとｔｍｉｎとの間にある場合（例えばｔ２）には何の動作も起きない。時間がｔｍｉｎ未満である場合（例えばｔ１）には、これが電流レベル設定回路２１に通信され、電流レベル設定回路２１は第２の（低い方の）電流レベルを増大させるように動作する。時間がｔｍａｘを超えている場合（例えばｔ３）には、これが電流レベル設定回路２１に通信され、電流レベル設定回路２１は第２の（低い方の）電流レベルを減少させるように動作する。電流レベルの調整は漸進的に行なわれることが好ましい。システムは、常に、ＶＤＤの鋸歯状の波形パターンの下方経路がｔｍａｘ〜ｔｍｉｎの周期を有する動作状態へと移行する。
【００３２】
同様の制御構成が、必要な変更を加え、鋸歯状の波形の上方経路のタイミングを使用して第１の（高い方の）電流レベルに対して適用されても良い。
【００３３】
このようにして電圧レベルＶＤＤの周期性が所定の範囲内で維持されても良く、電流源は、プロセッサの瞬時の電力要求とは無関係にプロセッサに対する電圧出力ＶＤＤを変えるように制御される。
【００３４】
プロセッサの電流要求が著しく増大する場合には、第１の（高い方の）電流レベルがＶＤＤを増大させるのに不十分となる可能性がある。このような事態が生じる場合には、オーバーライド回路２４が電流レベル設定回路２１および／または電流切り換え制御回路２０の正常な動作に優先して動作し始めても良い。
【００３５】
例えば、オーバーライド回路２４は、所定の時間にわたってＶＤＤが低い方の電圧レベルを下回ったままであることを検知しても良い。そのような場合、オーバーライド回路２４は、電流レベル設定回路２１をトリガして、最も高い電流レベルを設定しても良い。また、オーバーライド回路２４は、電流切り換え制御回路２０が更に切り換わることを防止しかつＶＤＤが回復するまで切り換え時間を変えるように構成されていても良い。
【００３６】
代替的に、オーバーライド回路２４は、第１の（高い方の）電流レベルの段階中にＶＤＤが立ち上がらないことを検知して、同様の動作を行なっても良い。
【００３７】
プロセッサの電流要求が著しく減少すると、第２の（低い方の）電流レベルがあまりに高すぎてＶＤＤを減少させることができなくなる場合がある。このような事態が生じる場合には、オーバーライド回路２４が電流レベル設定回路２１および／または電流切り換え制御回路２０の正常な動作に優先して動作し始めても良い。
【００３８】
例えば、オーバーライド回路２４は、所定の時間にわたってＶＤＤが高い方の電圧レベルを上回ったままであることを検知しても良い。そのような場合、オーバーライド回路２４は、電流レベル設定回路２１をトリガして、最も低い電流レベルを設定しても良い。また、オーバーライド回路２４は、電流切り換え制御回路２０が更に切り換わることを防止しても良く、あるいは、ＶＤＤが回復するまで切り換え時間を変えても良い。
【００３９】
また、オーバーライド回路２４は、第１の（高い方の）電流レベルの段階中にＶＤＤが立ち上がらないことを検知して、同様の動作を行なっても良い。
【００４０】
代替的な実施形態においては、第１の（高い方の）電流レベルが固定され、第２の（低い方の）電流レベルだけが可変であっても良い。更に他の実施形態においては、第２の（低い方の）電流レベルが固定され、第１の（高い方の）電流レベルだけが可変であっても良い。第２の（低い方の）電流レベルがゼロと同じ位低いレベルであっても良い。
【００４１】
電圧をクランプして任意の過剰な電流を消費するためにツェナーダイオードＤが使用されても良い。例えば１．８Ｖといった低い供給電圧の場合には、良好なツェナーダイオードを得ることが難しい場合がある。そのような場合には、ツェナーダイオードＤを例えば電圧コンパレータおよびトランジスタ等の他の電圧クランピング装置に代えることができる。
【００４２】
一般的な意味では、前述した回路の効果は、外部供給レールＶＣＣから引き出された電流をプロセッサ１１と電荷蓄積回路１０との間で周期的に割り当てることにより、外部供給レールＶＣＣから引き出された電流がプロセッサの瞬時の電力要求とは無関係に変化することである。しかしながら、制御回路により、プロセッサの瞬時の電力要求および平均電力要求が常に満たされる。
【００４３】
デカップリングキャパシタＣは、電流供給ＩＣＣにおける殆どの高周波変動を除去する。また、ＩＣＣを生成する２レベル定電流源１２は、プロセッサ１１内の臨界データ切り換え演算の結果として供給レールＶＣＣから引き出される外部供給電流の任意の高周波変動を減少させる。また、キャパシタＣは、プロセッサ１１への電流供給を維持することから、電流源を一時的に遮断し得る供給電圧の電圧スパイクを抑制する。これは、プロセッサの動作に影響を与えるためにアタッカーによって引き起こされる電圧スパイクにも当てはまる。これは、プロセッサの臨界動作が行なわれることを防止することにより有用な情報を漏出させるようにアタッカーによって意図的にタイミングがとられるスパイクを含んでいても良い。
【００４４】
キャパシタＣがプロセッサ１１に対して給電し続けることを不可能にする幅広いスパイクまたは電力供給ＶＣＣの中断は、従来、適切なプロセッサリセット回路（図示せず）によって処理されている。
【００４５】
更に安全を期すため、プロセッサ１１の内部オシレータは、電圧供給ＶＣＣの変化等の外部要因によって影響されないようにしなければない。ある所定の限界から外れて供給電圧が変化することにより、技術的に公知の制御回路を使用してプロセッサまたはシステムがリセットされることが好ましい。
【００４６】
電流源１２が出力する電流ＩＣＣが繰り返して変化すると、電力差分解析アタックにおけるトリガが困難になる。また、鋸歯状の供給電圧ＶＤＤに起因してプロセッサ１１の速度が変化すると、時間基準がトレースによって異なってしまい、電力トレースが互いに正確に配列しなくなる。
【００４７】
以上、電流源１０が２レベル定電流源１２を含むことにより鋸歯状の供給電圧ＶＣＣが生成される実施形態に関して本発明を説明してきた。また、本発明の原理は、複数の別個のレベル間で切り換えるように構成された電流源１０を使用して更に非常に複雑なプロファイルを有する供給電圧ＶＤＤを生成することによっても達成できることは言うまでもない。
【００４８】
同様に、連続的に変化する電圧ＶＤＤが得られる場合、電流源１０は、出力電流を２つの所定のレベル間で連続的に変化するように構成されていても良い。電流源１２の出力を周期的に変化させる機能により、プロセッサの瞬時の電力要求に関連しない特定のパラメータに応じて、プロセッサ供給電圧ＶＤＤが経時的に変化する。
【００４９】
プロセッサ１１への電力解析アタックに対する安全性を確保するためには、電圧ノードＶＤＤが外部プローブにアクセスできないようにすることが重要であることは言うまでもない。したがって、プロセッサ１１、キャパシタＣ（あるいは、他の電荷蓄積デバイス）、電流源１０は、１つの集積回路上に一体に組み込まれる（あるいは、単一に封止されたデバイスパッケージ内の別個のデバイスとして形成される）ことが好ましい。この場合、パッケージのいずれの出力ピンにも電圧ＶＤＤの表示（直接または間接）が与えられない。
【００５０】
他の実施形態も添付の請求の範囲内に入るものである。
【図面の簡単な説明】
【００５１】
【図１】本発明の好ましい実施形態に係るプロセッサのための電源装置を示している。
【図２】図１の電源装置の様々な機能ブロックを示す概略図を示している。
【図３】好ましい電源装置の電流切り換え制御を示すグラフである。
【図１】
2005538641.tif 000003
【図２】
2005538641.tif 000004
【図３】
2005538641.tif 000005
【国際調査報告】
2005538641.tif 000006
2005538641.tif 000007
2005538641.tif 000008