(57)【要約】【課題】わずかなキャパシタの追加で、電源線から切り離されたキャパシタに蓄えられた電荷で暗号演算を実現することが可能な暗号処理装置および集積回路を提供する。【解決手段】電源線および基準電源線に接続され、負荷回路に昇圧した昇圧電圧を供給する昇圧回路１１７と、電源端子に所定の駆動電圧を受けて暗号演算を行う暗号回路１１５と、暗号回路１１５の電源端子と基準電源線との間に並列に接続されたキャパシタＣ２と、昇圧回路の昇圧電圧を暗号回路の動作電圧まで降圧して暗号回路１１５およびキャパシタＣ２に供給する降圧回路１１６と、を有し、暗号回路１１５は、キャパシタＣ２の電荷で暗号演算を行うことが可能で、降圧回路１１６は、暗号回路の電源端子の電圧が所定電圧以下の場合に、降圧電圧を暗号回路１１５およびキャパシタＣ２に供給する。【選択図】図３
2010062636.tif 000002
【特許請求の範囲】
【請求項１】
電源線と、
基準電源線と、
上記電源線および上記基準電源線に接続され、負荷回路に昇圧した昇圧電圧を供給する昇圧回路と、
電源端子に所定の駆動電圧を受けて暗号演算を行う暗号回路と、
上記暗号回路の上記電源端子と上記基準電源線との間に並列に接続されたキャパシタと、
上記昇圧回路の昇圧電圧を上記暗号回路の動作電圧まで降圧して上記暗号回路および上記キャパシタに供給する降圧回路と、を有し、
上記暗号回路は、
上記キャパシタの電荷で暗号演算を行うことが可能で、
上記降圧回路は、
上記暗号回路の上記電源端子の電圧が所定電圧以下の場合に、上記降圧電圧を上記暗号回路およびキャパシタに供給する
暗号処理装置。
【請求項２】
上記降圧回路は、
上記昇圧回路の出力ノードと上記電源端子との間に接続され、オン状態時に上記昇圧電圧を上記暗号回路の動作電圧まで降圧する電界効果トランジスタと、
上記電源端子と上記所定電圧とを比較し、上記電源端子の電圧が所定電圧以下の場合に上記電界効果トランジスタをオンにする比較器と、を含む
請求項１記載の暗号処理装置。
【請求項３】
上記比較器は、
上記電源端子電圧を分圧した電圧と上記基準電圧とを比較し、上記電源端子の電圧が所定電圧以下の場合に上記電界効果トランジスタをオンにする
請求項２記載の暗号処理装置。
【請求項４】
上記昇圧回路は、
電源電圧が供給され、クロックに応答して出力ノードの電圧を電源電圧より高い電圧に昇圧する昇圧部と、を含み、
上記出力ノードの電圧が設定電圧以下の場合に上記昇圧部の昇圧動作を行う
請求項１から３のいずれか一に記載の暗号処理装置。
【請求項５】
上記昇圧回路の出力ノードに接続された出力キャパシタを有し、
上記負荷回路は、暗号用鍵を記憶する不揮発性メモリを含む
請求項１から４のいずれか一に記載の暗号処理装置。
【請求項６】
上記電源線と上記暗号回路の電源端子およびキャパシタとの間の、当該電源端子およびキャパシタに初期充電可能な素子が接続されている
請求項１から５のいずれか一に記載の暗号処理装置。
【請求項７】
電源線と、
基準電源線と、
上記電源線と上記基準電源線に接続された回路系と、
上記電源線および上記基準電源線に接続され、負荷回路に昇圧した昇圧電圧を供給する昇圧回路と、
電源端子に所定の駆動電圧を受けて暗号演算を行う暗号回路と、
上記暗号回路の上記電源端子と上記基準電源線との間に並列に接続されたキャパシタと、
上記昇圧回路の昇圧電圧を上記暗号回路の動作電圧まで降圧して上記暗号回路および上記キャパシタに供給する降圧回路と、を有し、
上記暗号回路は、
上記キャパシタの電荷で暗号演算を行うことが可能で、
上記降圧回路は、
上記暗号回路の上記電源端子の電圧が所定電圧以下の場合に、上記降圧電圧を上記暗号回路およびキャパシタに供給する
集積回路。
【請求項８】
上記降圧回路は、
上記昇圧回路の出力ノードと上記電源端子との間に接続され、オン状態時に上記昇圧電圧を上記暗号回路の動作電圧まで降圧する電界効果トランジスタと、
上記電源端子と上記所定電圧とを比較し、上記電源端子の電圧が所定電圧以下の場合に上記電界効果トランジスタをオンにする比較器と、を含む
請求項７記載の集積回路。
【請求項９】
上記比較器は、
上記電源端子電圧を分圧した電圧と上記基準電圧とを比較し、上記電源端子の電圧が所定電圧以下の場合に上記電界効果トランジスタをオンにする
請求項８記載の集積回路。
【請求項１０】
上記昇圧回路は、
電源電圧が供給され、クロックに応答して出力ノードの電圧を電源電圧より高い電圧に昇圧する昇圧部を含み、
上記出力ノードの電圧が設定電圧以下の場合に上記昇圧部の昇圧動作を行う
請求項７から９のいずれか一に記載の集積回路。
【請求項１１】
上記昇圧回路の出力ノードに接続された出力キャパシタを有し、
上記負荷回路は、暗号用鍵を記憶する不揮発性メモリを含む
請求項７から１０のいずれか一に記載の集積回路。
【請求項１２】
上記電源線と上記暗号回路の電源端子およびキャパシタとの間の、当該電源端子およびキャパシタに初期充電可能な素子が接続されている
請求項７から１１のいずれか一に記載の集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号処理装置およびそれを搭載した集積回路に関するものである。
【背景技術】
【０００２】
ＩＣカードでは、ホストコンピュータとデータのやり取りを行うとき、その過程でＩＣカードに格納されている秘密情報が漏れても問題を発生させないために、やり取りするデータには暗号化したデータを用いる。
【０００３】
この暗号化の方法として、現在最も多く用いられているのは共通鍵暗号である。
たとえばＤＥＳ(Data Encryption Standard)では、データの暗号化にはＩＣカードの所有者とホストコンピュータが同じ鍵を所有する。そして、ＤＥＳでは、データの送信側はデータをその鍵で暗号化して送信し、データの受信側は同じ鍵で復号化してメッセージを取り出す。
【０００４】
通信の過程で悪意の第三者が盗聴しても、鍵を有していない限りは復号化してメッセージを取り出すのは困難である。
また、暗号化・復号化のときに使う鍵は、ＩＣカード内のＥＥＰＲＯＭ等の不揮発性メモリに格納される。
暗号化・復号化時にはＣＰＵを介さないで直接ＩＣカード内の暗号エンジンに転送されるような制御により、ＩＣカードの所有者やＩＣカードの開発エンジニアすら鍵データを取り出すことが不可能な構成を採ってセキュリティを保持している。
【０００５】
しかし、ＩＣカードの消費電流を測定し、それに統計処理を施して鍵を取り出すという攻撃方法（ＤＰＡ：Differential Power Analysis）が P.Kocher らにより報告された。
このＤＰＡ攻撃では、異なる１０００個程度の平文を用いて暗号化演算を行ってその時の消費電流波形を取得し、鍵を推定して消費電流を統計処理することにより、鍵を取り出すことが可能となる。
【０００６】
実際のＤＰＡ攻撃は、図１に示すような様な測定系を用いて行われる。
【０００７】
図１の測定系１においては、まず、外部電源から暗号回路を含むＬＳＩ（ＩＣ：集積回路）２の電源ピンＰＰに１〜十Ω程度の抵抗Ｒを介して電圧供給する。
そして、デジタルオシロスコープ３で抵抗Ｒの一端の電圧を測定することによって動作電流波形を測定して、これをパーソナルコンピュータ（パソコン）４のハードディスク等に取り込む。
暗号演算させる平文はパソコン４から発生させた乱数等をシステム基盤５側に供給して暗号演算する。
所定の数の平文と、それに対応した電流波形の取得が完了した後は、パソコン４で鍵を推定しての暗号化のシミュレーション（simulation）を行う。
そして、着目ノードの値に基づいて消費電流波形をグループ分けし、各グループの平均電流の差分を取ってピーク電流の発生の有無で推定鍵の妥当性を判断する。
【０００８】
ピークが検出されなければ、別の６ビット（bit）鍵を選択して同じ処理を行い、ピークが検出されれば、対象のＳボックス（Ｓbox）を変更して次の６ビット鍵を求める。
そして、８個のＳbox について各々の６ビット鍵が求まれば、残り ５６−４８＝８ [ bit ] は全数攻撃しても ２8＝２５６回で求まる。
【０００９】
ＤＰＡ攻撃の脅威は、攻撃するのに特別な装置を必要としない点と、電流波形の取得さえ終れば、鍵を推定しての電流波形の統計処理による鍵の取り出しには数十時間程度しか必要としない点である。
そして、攻撃に必要な電流波形は、外部電源とＩＣの電源端子または外部ＧＮＤ(グランド)とＩＣのＧＮＤ(グランド)端子の間に抵抗を挿入し、抵抗端の波形をデジタルオシロスコープを介してパソコンに取り込む事によって取得できる。
取得した電流波形には、鍵に関する演算の微小な動作電流が含まれ、これを統計処理により取り出す。
【００１０】
この暗号演算に関する電流波形の取得を困難とする方法として、たとえば特許文献１に開示された方法が知られている。
【００１１】
図２は、特許文献１に開示された方法を採用したＩＣの構成例を示す図である。
【００１２】
このＩＣ１０は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、他の周辺回路１４、暗号回路１５、キャパシタＣ、およびスイッチ１６を有する。
【００１３】
この構成では、ＩＣ１０内の暗号回路１５の電源線１７を、スイッチ１６を介して外部電源を含むその他の電源線１８と接続する構成が採られている。
そして、暗号部分の電源線１７にはグランド（ＧＮＤ）線１９との間にキャパシタＣが配置されている。暗号演算の時以外はスイッチ１６をＯＮし、このキャパシタＣを充電しておく。そして、暗号命令が発行されたときはスイッチ１６をＯＦＦしてキャパシタＣの充電電荷で暗号回路１５において暗号演算を実行する。
【特許文献１】特開２０００−１９６５８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
上記構成を採ると、暗号演算時の電流はキャパシタから供給されることになり、電源端子またはＧＮＤ端子からの暗号演算の動作電流の取得は困難となる。
【００１５】
ところが、たとえばＤＥＳ暗号を実行するのに少なくとも１６クロックは必要で、この間ほぼ同じ大きさの動作電流が流れ、これに必要な電荷を保持するためにはかなりの容量のキャパシタが必要となる。
【００１６】
本発明は、わずかなキャパシタの追加で、電源線から切り離されたキャパシタに蓄えられた電荷で暗号演算を実現することが可能な暗号処理装置および集積回路を提供することにある。
【課題を解決するための手段】
【００１７】
本発明の第１の観点の暗号処理装置は、電源線と、基準電源線と、上記電源線および上記基準電源線に接続され、負荷回路に昇圧した昇圧電圧を供給する昇圧回路と、電源端子に所定の駆動電圧を受けて暗号演算を行う暗号回路と、上記暗号回路の上記電源端子と上記基準電源線との間に並列に接続されたキャパシタと、上記昇圧回路の昇圧電圧を上記暗号回路の動作電圧まで降圧して上記暗号回路および上記キャパシタに供給する降圧回路と、を有し、上記暗号回路は、上記キャパシタの電荷で暗号演算を行うことが可能で、上記降圧回路は、上記暗号回路の上記電源端子の電圧が所定電圧以下の場合に、上記降圧電圧を上記暗号回路およびキャパシタに供給する。
【００１８】
本発明の第２の観点の集積回路は、電源線と、基準電源線と、上記電源線と上記基準電源線に接続された回路系と、上記電源線および上記基準電源線に接続され、負荷回路に昇圧した昇圧電圧を供給する昇圧回路と、電源端子に所定の駆動電圧を受けて暗号演算を行う暗号回路と、上記暗号回路の上記電源端子と上記基準電源線との間に並列に接続されたキャパシタと、上記昇圧回路の昇圧電圧を上記暗号回路の動作電圧まで降圧して上記暗号回路および上記キャパシタに供給する降圧回路と、を有し、上記暗号回路は、上記キャパシタの電荷で暗号演算を行うことが可能で、上記降圧回路は、上記暗号回路の上記電源端子の電圧が所定電圧以下の場合に、上記降圧電圧を上記暗号回路およびキャパシタに供給する。
【００１９】
好適には、上記降圧回路は、上記昇圧回路の出力ノードと上記電源端子との間に接続され、オン状態時に上記昇圧電圧を暗号回路の動作電圧まで降圧する電界効果トランジスタと、上記電源端子と上記所定電圧とを比較し、上記電源端子の電圧が所定電圧以下の場合に上記電界効果トランジスタをオンにする比較器と、を含む。
【００２０】
好適には、上記比較器は、上記電源端子電圧を分圧した電圧と上記基準電圧とを比較し、上記電源端子の電圧が所定電圧以下の場合に上記電界効果トランジスタをオンにする。
【００２１】
好適には、上記昇圧回路は、電源電圧が供給され、クロックに応答して出力ノードの電圧を電源電圧より高い電圧に昇圧する昇圧部を含み、上記出力ノードの電圧が設定電圧以下の場合に上記昇圧部の昇圧動作を行う。
【００２２】
好適には、上記昇圧回路の出力ノードに接続された出力キャパシタを有し、上記負荷回路は、暗号用鍵を記憶する不揮発性メモリを含む。
【００２３】
好適には、上記電源線と上記暗号回路の電源端子およびキャパシタとの間の、当該電源端子およびキャパシタに初期充電可能な素子が接続されている。
【００２４】
本発明によれば、降圧回路は、暗号回路の電源端子の電圧が所定電圧以下の場合に、昇圧回路の昇圧電圧を暗号回路の動作電圧まで降圧して暗号回路およびキャパシタに供給する。
暗号回路の電源端子の電圧が所定電圧以上になると(高くなると)、降圧回路は降圧電圧の供給を停止する。
そして、基本的に、暗号回路は、キャパシタの電荷で暗号演算を行う。
【発明の効果】
【００２５】
本発明によれば、わずかなキャパシタの追加で、電源線から切り離されたキャパシタに蓄えられた電荷で暗号演算を実現することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施形態を添付図面に関連付けて説明する。
【００２７】
図３は、本発明の実施形態にＩＣカードに使われるＬＳＩの構成例を示す図である。
【００２８】
このＩＣカード(電子デバイス)１００は、ＬＳＩ（集積回路）１１０を有する。
ＬＳＩ１１０は、図３に示すように、ＣＰＵ１１１、マスクＲＯＭ１１２、ＲＡＭ１１３、不揮発性メモリ（ＥＥＰＲＯＭ）１１４、暗号回路１１５、降圧回路１１６、昇圧回路１１７、ダイオード１１８、およびキャパシタＣ１、Ｃ２が集積化されている。
ＣＰＵ１１１、マスクＲＯＭ１１２、ＲＡＭ１１３等により回路系が形成される。
また、ダイオード１１８により初期充電用素子が形成される。
【００２９】
本実施形態のＩＣカード１００は、外部電源から電源電圧“Ｖcc”が供給される電源線ＬＶ１１１およびＧＮＤ線ＬＶ１１２には、ＣＰＵ１１１、マスクＲＯＭ１１２、ＲＡＭ１１３等と一緒に昇圧回路１１７が接続されている。
ただし、ＩＣの電源端子または接地端子は、ＤＰＡ攻撃時に抵抗を介して外部電源電圧Ｖccの供給ラインまたは外部ＧＮＤラインに接続されるため、本実施形態においてはこれらと区別して各々“Ｖc”，“Ｖs”と表記する。
【００３０】
ＣＰＵ１１１は、マスクＲＯＭ１１２に記憶されたプログラムに従って、あるいはＲＡＭ１１３をアクセスしてＩＣカード１００の全体の制御を行う。
ＣＰＵ１１１は、暗号回路１１５への暗号命令を発行等する機能を有している。
【００３１】
本実施形態においては、昇圧回路１１７の出力を、降圧回路１１６で暗号回路１１５の動作電圧まで降圧して暗号回路１１５に供給する構成を採用している。
暗号回路１１５の電源端子はＩＣの電源線に接続されない構成を採る。そして、暗号回路１１５側の電源−ＧＮＤ間には電圧安定化のためのキャパシタＣ２が配置されている。
昇圧回路１１７は、暗号演算中もリーク（Leak）の補償のために、アクティブ状態に保持される。ただし、昇圧回路１１７は、昇圧設定電圧より出力電圧が降下したことが検知された場合のみ実動作する。
【００３２】
セキュリティＬＳＩには鍵を保持しておく必要があるため、不揮発性メモリが搭載されている。
そして、ＦＲＡＭ以外のセルを用いる場合、データの書換えには高い電圧が必要であるため、昇圧回路１１７が搭載され、そして昇圧電圧の保持のために出力キャパシタＣ１が配置されている。
昇圧回路１１７は、このキャパシタＣ１の電荷が、負荷回路であるＥＥＰＲＯＭ１１４や暗号回路１１５で消費されてその電圧が降下すると動作してキャパシタ電圧を所定の電圧に戻す。
このとき、昇圧回路１１７が動作を開始するまでに負荷回路で消費された電流はキャパシタＣ１から供給されるため、負荷回路での動作電流に関する情報は電源端子には現れない。
そして、キャパシタＣ１の電圧が降下して昇圧回路１１７が動作しても、外部電源端子に流れる電流は昇圧回路１１７のクロック動作の電流が主で、昇圧回路１１７の出力から消費される電流の情報を外部電源端子の電流情報から取り出すことはほとんど不可能である。
すなわち、昇圧回路の負荷回路の動作電流と相関のある電流はＩＣの電源端子には殆んど現れない。
【００３３】
以下に、降圧回路１１６、および昇圧回路１１７を含む暗号回路１１５の電力制御系についてさらに具体的に説明する。
【００３４】
降圧回路１１６は、昇圧回路１１７の出力を、暗号回路１１５の動作電圧まで降圧して暗号回路１１５に供給する。
【００３５】
降圧回路１１６は、図３に示すように、しきい値がＶｔｈの電界効果トランジスタであるｎチャネルＭＯＳ（ＮＭＯＳ）トランジスタＮ１、比較器ＣＯＭＰ１、および分圧用抵抗Ｒ１，Ｒ２を有する。
【００３６】
ＮＭＯＳトランジスタＮ１のドレインが昇圧回路１１７の出力端子ＴＶｐｐに接続され、ソースが暗号回路１１５の電源端子ＴＶDESに接続されたノードＮＤ１に接続され、ゲートが比較器ＣＯＭＰ１の出力に接続されている。
抵抗Ｒ１と抵抗Ｒ２は、ノードＮＤ１とＧＮＤ線ＬＶ１１２の間に直列に接続され、両抵抗の接続ノードＮＤ２が比較器ＣＯＭＰ１の反転入力端子（−）に接続されている。
比較器ＣＯＭＰ１の非反転入力端子（＋）は基準電圧Ｖｒｅｆの供給端子に接続されている。
【００３７】
この降圧回路１１６は、ノードＮＤ１の電圧、すなわち暗号回路１１５の電源端子電圧ＶDESとＧＮＤ端子電圧を抵抗分割したノードＮＤ２の電圧が基準電圧Ｖｒｅｆにより低くなると、比較器ＣＯＭＰ１の出力がハイレベルとなる。
その結果、ＮＭＯＳトランジスタＮ１がオンし、昇圧回路１１７からの昇圧電圧が降圧され暗号回路１１５およびキャパシタＣ２に供給される。
【００３８】
電源線ＬＶ１１１と暗号回路１１５の電源端子ＴＶDESとの間にはダイオード１１８が接続されている。
ダイオード１１８は、たとえばＮＭＯＳトランジスタＮ２により形成される。
ＮＭＯＳトランジスタＮ２のドレインおよびゲートが電源線ＬＶ１１１に接続され、ソースが暗号回路１１５の電源端子ＴＶDESに接続されている。
初期時には、このダイオード１１８を通して電源電圧が電源線ＬＶ１１１から供給される。そして、暗号回路１１５の電源端子ＴＶDESの電圧ＶDESが電源線ＬＶ１１１の電圧からトランジスタＮ２の閾値分降下した電圧に達すると、ＮＭＯＳトランジスタＮ２はカットオフする。
また、暗号回路１１５の電源端子ＴＶDESとＧＮＤ線ＬＶ１１２との間にキャパシタＣ２が接続されている。
【００３９】
昇圧回路１１７は、昇圧電圧をＥＥＰＲＯＭ１１４および降圧回路１１６に供給する。
昇圧回路１１７の昇圧電圧は、キャパシタＣ１に保持される。
昇圧回路１１７は、このキャパシタＣ１の電荷が、負荷回路であるＥＥＰＲＯＭ１１４や暗号回路１１５で消費されてその電圧が降下すると動作してキャパシタ電圧を所定の電圧に戻す。
昇圧回路１１７は、暗号演算中もリーク（Leak）の補償のために、アクティブ状態に保持される。ただし、昇圧回路１１７は、電圧降下が検知された場合のみ実動作する。
【００４０】
図４は、図３の昇圧回路の構成例を示す回路図である。
【００４１】
図４の昇圧回路１１７は、昇圧ノードＮＤ０〜ＮＤｎ＋１、ゲートとドレインが接続されたＮＭＯＳトランジスタにより形成される電圧伝達用トランジスタＴ１−０〜Ｔ１−ｎ、ＮＭＯＳトランジスタにより形成されるプリチャージ用トランジスタＴ２−０〜Ｔ２−ｎ、ポンピング用キャパシタＣ１−０〜Ｃ１−ｎ、２入力ＮＡＮＤゲートＮＡ１、インバータＩＮＶ１〜ＩＮＶ３、抵抗Ｒ３，Ｒ４、および比較器ＣＯＭＰ２を有している。
【００４２】
昇圧ノードＮＤ０〜ＮＤｎ＋１、ゲートとドレインが接続されたＮＭＯＳトランジスタにより形成される電圧伝達用トランジスタＴ１−０〜Ｔ１−ｎ、ＮＭＯＳトランジスタにより形成されるプリチャージ用トランジスタＴ２−０〜Ｔ２−ｎ、ポンピング用キャパシタＣ１−０〜Ｃ１−ｎ、およびインバータＩＮＶ１〜ＩＮＶ３により、実際に昇圧動作を行う昇圧部ＢＳＴが形成される。
【００４３】
昇圧回路１１７において、電圧伝達用トランジスタＴ１−０〜Ｔ１−ｎがノードＮＤ０とＮＤｎ＋１間に直列に接続され、各トランジスタのソースとドレインとの接続点によりノードＮＤ１〜ＮＤｎが形成されている。電圧伝達用トランジスタＴ１−０〜Ｔ１−ｎはゲートが自身のドレインに接続されたダイオード接続を形成している。
プリチャージ用トランジスタＴ２−０〜Ｔ２−ｎは電源線ＬＶ１１１と対応する各ノードＮＤ０〜ＮＤｎとの間にドレイン・ソースが接続され、各ゲートが電源線ＬＶ１１１に共通に接続されている。
ポンピング用キャパシタＣ１−０〜Ｃ１−ｎは、一方の電極が対応する各ノードＮＤ０〜ＮＤｎに接続され、偶数ノードＮＤ０、ＮＤ２、・・に接続されたキャパシタＣ１−０、Ｃ１−２、・・の他方の電極はインバータＩＮＶ１の出力に接続され、奇数ノードＮＤ１、ＮＤ３、・・に接続されたキャパシタＣ１−１、Ｃ１−３、・・の他方の電極はインバータＩＮＶ３の出力に接続されている。
インバータＩＮＶ１の入力はＮＡＮＤゲートＮＡ１の出力に接続されている。インバータＩＮＶ３の入力はインバータＩＮＶ２の出力に接続され、インバータＩＮＶ２の入力はＮＡＮＤゲート１の出力に接続されている。
【００４４】
抵抗Ｒ３の一端が出力ノードＮＤｎ＋１、すなわちノードＮＶｃｐに接続され、他端が抵抗Ｒ４の一端に接続され、その接続点が比較器ＣＯＭＰ２の反転入力（−）に接続されている。抵抗Ｒ４の他端はＧＮＤ線ＬＶ１１２に接続されている。
また、比較器ＣＯＭＰ２の非反転入力（＋）は基準電圧発生回路で生成される基準電圧Ｖｒｅｆの供給ラインに接続されている。
ＮＡＮＤゲートＮＡ１の第１入力はクロックＣＬＫの入力ラインに接続され、第２入力が比較器ＣＯＭＰ２の出力に接続され、出力が上述したように、インバータＩＮＶ１およびＩＮＶ２の入力に接続されている。
【００４５】
昇圧回路１１７の負荷には，キャパシタＣ１と実際の負荷となるＥＥＰＲＯＭ１１４、および降圧回路１１６を介して暗号回路１１５が接続されている。
【００４６】
以下に、図３および図４の構成による動作を、図５のタイミングチャートに関連付けて説明する。
【００４７】
昇圧回路１１７は、その出力電圧である昇圧電圧Ｖｐを抵抗Ｒ３，Ｒ４で分割した電圧と基準電圧Ｖｒｅｆを比較する。昇圧回路１１７においては、昇圧電圧が所望の電圧に達していない場合は比較器ＣＯＭＰ２の出力がハイレベルとなって昇圧部にクロックＣＬＫを供給して昇圧部ＢＳＴを動作させる。
昇圧電圧Ｖｐが所望の電圧に到達した場合、比較器ＣＯＭＰ２の出力がローレベルとなって昇圧部ＢＳＴへのクロックＣＬＫの供給が停止し、昇圧部ＢＳＴの昇圧動作は停止する。
【００４８】
この昇圧動作の中で、電源端子“Ｖc”から供給される電流が主に消費されるのは、昇圧電圧を制御する比較器ＣＯＭＰ２と昇圧動作時にクロック動作するＮＡＮＤゲートＮＡ１およびインバータＩＮＶ１〜ＩＮＶ３である。
そして、負荷のキャパシタＣ１に蓄えられる電荷は、ダイオード接続されたＮＭＯＳトランジスタＴ２−０を通った電荷がキャパシタのクロックＣＬＫに応答した動作により、ノードＮＤ０から順次ノードＮＤｎに向かって（右へ）移動し、最終的にＮＭＯＳトランジスタＴ１−ｎを通って供給される。
ＮＭＯＳトランジスタＴ２−１〜Ｔ２−ｎは、最初にノードＮＤ１〜ＮＤｎを（Ｖｃｃ−Ｖｔｈ）に充電後、ノードの電圧上昇に伴ってカットオフし、昇圧電圧の供給には寄与しない。
したがって、昇圧回路１１７の電源端子“Ｖc”から昇圧回路の負荷キャパシタＣ１までの経路は、トランジスタＴ２−０→Ｔ１−０→・・・→Ｔ１−ｎのみで、しかも電源端子“Ｖc”から出力のキャパシタＣ１までは最低でもｎクロック必要となる。
したがって、昇圧回路１１７の負荷の動作電流波形が 電源端子“Ｖc”から観察される可能性はほぼゼロと言える。
【００４９】
昇圧回路１１７は、その出力端に負荷が接続されていない場合、所望の電圧に到達した後は、キャパシタのリークによる昇圧電圧の補償動作だけになり、ほとんど電力は消費されない。
そして、キャパシタＣ１が昇圧電圧で充電されていれば、ＥＥＰＲＯＭの書き換え命令発行時に移行時間が短縮される。
このため、本実施形態の動作例では、昇圧回路は電源投入後にすぐに動作を開始する制御が行われ、昇圧回路１１７の出力キャパシタＣ１は常に昇圧電圧に制御されているものとして以後の説明を行う。
【００５０】
また、暗号回路１１５の電源端子ＴＶDESは、降圧回路１１６の比較器ＣＯＭＰ２のフィードバックにより所定の電圧に制御されるが、その電圧を“Ｖcdes”とする
電源投入直後、暗号回路１１５の電源端子ＴＶDESはＮＭＯＳトランジスタＮ１により（Ｖcc−Ｖｔｈ）に充電される。
昇圧回路１１７の出力ノードＮＶｐはＮＭＯＳトランジスタＴ２−ｎ，Ｔ１−ｎにより（Ｖcc−２Ｖｔｈ）に充電される。
これらの電圧は共に所望の電圧より低いため、２つの比較器ＣＯＭＰ１，ＣＯＭＰ２は共にハイレベルの信号を出力する。
そして、昇圧回路１１７において、昇圧部ＢＳＴへクロックＣＬＫが供給されて昇圧動作が行われる。これと並行して、ＮＭＯＳトランジスタＮ１はＯＮして昇圧回路１１７の出力ノードＮＶｐと暗号回路１１５の電源端子ＴＶDESは接続され、昇圧回路１１７によって充電されていく。
そして、電源端子ＴＶDESおよびキャパシタＣ２の電圧がＶcdes に到達すると比較器ＣＯＭＰ１の出力はローレベルとなってＮＭＯＳトランジスタＮ１はＯＦＦする。
その後、ノードＮＶｐの電圧が昇圧制御電圧“Ｖpp”に到達した時点で昇圧回路１１７の比較器ＣＯＭＰ２の出力もローレベルとなって昇圧部ＢＳＴの昇圧動作は停止する。
【００５１】
比較器ＣＯＭＰ１によって制御される端子ＴＶDESの電圧ＶDESは次のようになる。
【００５２】
[数１]
ＶDES＝［１＋Ｒ１／Ｒ２］・Ｖｒｅｆ
【００５３】
ここで、抵抗Ｒ２をＲ20＋Ｒ21の直列抵抗で構成し（Ｒ20 >> Ｒ21）、抵抗Ｒ21を比較器ＣＯＭＰ１の出力信号ＣＯＭＰでＯＮ／ＯＦＦ制御する構成を採用するとする。
この場合、端子ＴＶDESの電圧ＶDESが低いとき信号ＣＯＭＰはハイレベルとして出力され、同時に抵抗Ｒ21もショートし、抵抗Ｒ２の抵抗値は低下し、電源端子ＴＶDESおよびキャパシタＣ２は次の式で表される高い電圧まで充電される。
【００５４】
[数２]
ＶDES_H＝［１＋Ｒ１／Ｒ20］・Ｖｒｅｆ
【００５５】
充電が完了すると比較器ＣＯＭＰ１の出力信号ＣＯＭＰはローレベルで出力され、ＮＭＯＳトランジスタＮ１がＯＦＦして充電が停止すると共に、抵抗Ｒ21もアクティブとなって抵抗Ｒ２の抵抗値は大きくなり、電圧低下を判断する電圧は次の式で表されるように低くなる。
【００５６】
[数３]
ＶDES_L＝［１＋Ｒ１／（Ｒ20＋Ｒ21）］・Ｖｒｅｆ
【００５７】
この制御を組み合わせれば、キャパシタＣ２の充電を制御する回数を削減でき、比較器での電流を削減できる。
【００５８】
ここで、ＣＰＵ１１１から暗号命令が発行されると、暗号回路１１５は演算を開始する。このときの動作電流はキャパシタＣ２の電荷により供給される。
そして、ＤＰＡ攻撃の対象となる「鍵に起因する動作電流」が流れたとしても、その電流はキャパシタＣ２から供給されるため、電源端子“Ｖc”および“Ｖs”には現れない。暗号のラウンド（Round）演算が進んでいくと、キャパシタＣ２の電圧が降下して基準電圧Ｖｒｅｆより降下する。
これにより、比較器ＣＯＭＰ１の出力がハイレベルに変化してＮＭＯＳトランジスタＮ１がＯＮし、端子ＴＶDESおよびキャパシタＣ２が充電されるが、電荷の供給元は昇圧回路１１７の出力に配置されたキャパシタＣ１である。このため、この場合も「鍵に起因する動作電流」は電源端子“Ｖc”及び“Ｖs”には現れない。
この充電によって、ＶDES は再び動作電圧に戻り、ＮＭＯＳトランジスタＮ１はＯＦＦするが、その後の Round 演算の過程で再びＯＮ して、キャパシタＣ１から電荷供給される。
暗号演算実行中はこの動作を繰り返すが、電荷の供給源が昇圧回路１１７の出力キャパシタＣ１であるため、これらの過程で「鍵に起因する動作電流」が電源端子“Ｖc”および“Ｖs”に現れることはない。
【００５９】
何回かのキャパシタＣ１からの電荷供給で、昇圧回路１１７の出力ノードＮＶｐの電圧が降下し、昇圧回路１１７の比較器ＣＯＭＰ２の出力がハイレベルに反転して昇圧部ＢＳＴが動作を再開する。
この場合、キャパシタＣ１に電荷が充電されていったとしても、この電荷は昇圧回路１１７のクロック動作により複数サイクルかけてノードＮＤ０からＮＤｎに向かって順に運ばれた電荷である。
このため、キャパシタＣ１への昇圧回路１１７からの供給電荷と外部電源端子“Ｖc”および“Ｖs”の動作電流との対応を採るのはほぼ不可能である。
【００６０】
この構成を実現するに当たって、昇圧回路１１７およびそれにつながる大容量のキャパシタＣ１は、元々ＥＥＰＲＯＭ１１４のデータ書き換え時のデコーダ充電のために配置されているものを使用するだけで、新たな回路素子の追加はない。
したがって、新規に付加する回路ブロックは、ＮＭＯＳトランジスタＮ１、これを制御するための比較器ＣＯＭＰ１、抵抗Ｒ１，Ｒ２、暗号回路に並列に配置するキャパシタＣ2、および暗号回路に初期充電するＮＭＯＳトランジスタＮ２のみである。
その結果、既存技術に対して少ないキャパシタ容量の追加で実現できる。また、相補構成や乱数を用いて複数のＳｂｏｘ等の回路ブロックを選択する等の論理対策に比べても小さい回路規模・少ない消費電流で実現できる。
【００６１】
以上説明したように、本実施形態によれば、暗号回路１１５の電源線・接地線を外部電源から切り離し、昇圧回路１１７の出力を降圧した電圧を用いる構成を採用している。
これにより、暗号演算時のＤＰＡ攻撃の対象となるリーク電流が外部電源端子に現われない構成を実現している。
暗号演算時は、暗号回路１１５に並列に配置したキャパシタＣ２の電荷で演算を行うが、暗号演算中でも電圧が降下すると降圧回路１１６をＯＮさせて充電して電圧を一定に保つことが可能であるため、キャパシタＣ２の容量を小さく抑える構成が可能となる。
したがって、相補構成や、複数の回路ブロックを配置して乱数で選択する様な論理対策に比べて回路規模・消費電流を小さくできる。
暗号回路に並列に配置するキャパシタＣ２は、暗号演算中でも暗号回路１１５の電圧が降下すれば降圧回路１１６をＯＮさせて充電することが可能で、大きな容量を必要としない。
【図面の簡単な説明】
【００６２】
【図１】ＤＰＡ攻撃の測定系の構成例を示す図である。
【図２】特許文献１に開示された方法を採用したＩＣの構成例を示す図である。
【図３】本発明の実施形態のＩＣカードに使われるＬＳＩの構成例を示す図である。
【図４】図３の昇圧回路の構成例を示す回路図である。
【図５】動作を説明するためのタイミングチャートである。
【符号の説明】
【００６３】
１００・・・ＩＣカード（電子デバイス）、１１０・・・ＬＳＩ、１１１・・・ＣＰＵ、１１２・・・マスクＲＯＭ、１１３・・・ＲＡＭ、１１４・・・不揮発性メモリ（ＥＥＰＲＯＭ）、１１５・・・暗号回路、１１６・・・降圧回路、１１７・・・昇圧回路、１１８・・・ダイオード、Ｃ１，Ｃ２・・・キャパシタ。
【図１】
2010062636.tif 000003
【図２】
2010062636.tif 000004
【図３】
2010062636.tif 000005
【図４】
2010062636.tif 000006
【図５】
2010062636.tif 000007