(57)【要約】【課題】  ピーク時の消費電力を増加させずに、消費電力解析が困難なセキュアな半導体装置を提供する。【解決手段】  論理演算処理を実行可能な論理回路部１０２と、論理回路部１０２の消費電力の増減傾向を相殺する方向に、自己の消費する電力を増減可能な消費電力可変回路１０４と、を備えてなる。論理回路部１０２の回路動作の起動と停止を不規則に制御する動作状態制御回路１０３を備え、動作状態制御回路１０３が、不規則に論理回路部１０２の動作を停止させて、論理回路部１０２の消費電力が低下している期間中に、消費電力可変回路１０４を起動して、論理回路部１０２の消費電力の低下を補うように消費電力可変回路１０４の消費電力を増加させる。【選択図】        図１
2007128184.tif 000002
【特許請求の範囲】
【請求項１】
論理演算処理を実行可能な論理回路部と、
前記論理回路部の消費電力の増減傾向を相殺する方向に、自己の消費する電力を増減可能な消費電力可変回路と、
を備えてなることを特徴とする消費電力解析対策機能付き半導体装置。
【請求項２】
前記論理回路部の回路動作の起動と停止を不規則に制御する動作状態制御回路を備え、
前記消費電力可変回路の回路動作の起動と停止が、前記動作状態制御回路によって制御されることを特徴とする請求項１に記載の消費電力解析対策機能付き半導体装置。
【請求項３】
前記動作状態制御回路が、不規則に前記論理回路部の動作を停止させて、前記論理回路部の消費電力が低下している期間中に、前記消費電力可変回路を起動して、前記論理回路部の消費電力の低下を補うように前記消費電力可変回路の消費電力を増加させることを特徴とする請求項２に記載の消費電力解析対策機能付き半導体装置。
【請求項４】
前記動作状態制御回路が、フィードバック付きシフトレジスタを備えた擬似乱数発生回路で構成されていることを特徴とする請求項２または３に記載の消費電力解析対策機能付き半導体装置。
【請求項５】
前記動作状態制御回路が、半導体熱雑音によって不規則に発振するリングオシレータとコンデンサを備えた真性乱数発生回路で構成されていることを特徴とする請求項２または３に記載の消費電力解析対策機能付き半導体装置。
【請求項６】
前記動作状態制御回路が、フィードバック付きシフトレジスタを備えた擬似乱数発生回路と半導体熱雑音によって不規則に発振するリングオシレータとコンデンサを備えた真性乱数発生回路を組み合わせて構成されていることを特徴とする請求項２または３に記載の消費電力解析対策機能付き半導体装置。
【請求項７】
前記消費電力可変回路が、トランジスタと抵抗で構成されていることを特徴とする請求項請求項１〜６の何れか１項に記載の消費電力解析対策機能付き半導体装置。
【請求項８】
前記消費電力可変回路が、前記論理回路部の動作クロックに同期して電力を消費することを特徴とする請求項１〜７の何れか１項に記載の消費電力解析対策機能付き半導体装置。
【請求項９】
前記消費電力可変回路が、動作の起動と停止が個別に制御可能な複数の回路部を備えて構成されていることを特徴とする請求項１〜８の何れか１項に記載の消費電力解析対策機能付き半導体装置。
【請求項１０】
前記消費電力可変回路の動作時における消費電力が、前記論理回路部の動作時における消費電力の時間的変化を模擬的に再現するように変化することを特徴とする請求項１〜９の何れか１項に記載の消費電力解析対策機能付き半導体装置。
【請求項１１】
前記消費電力可変回路の消費電力が、前記論理回路部の動作とは無関係に不規則に変化することを特徴とする請求項１〜１０の何れか１項に記載の消費電力解析対策機能付き半導体装置。
【請求項１２】
前記論理回路部が暗号処理を行う暗号処理回路を含むことを特徴とする請求項１〜１１の何れか１項に記載の消費電力解析対策機能付き半導体装置。
【請求項１３】
請求項１〜１１の何れか１項に記載の消費電力解析対策機能付き半導体装置を備えてなることを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置に関し、より詳細には、消費電力解析による内部動作を暴露する攻撃から内部の情報を保護するセキュリティ機能を備えた消費電力解析対策機能付き半導体装置に関する。
【背景技術】
【０００２】
ＩＣカード等の半導体装置内部の情報を盗み出す攻撃手法として、内部回路の処理に応じて変化する消費電力に着目し、その変化を解析することにより、内部処理と消費電力との相関をとる方法がある。代表的な攻撃手法としてＳＰＡ（Ｓｉｍｐｌｅ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ：単純電力解析）とＤＰＡ（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｏｗｅｒ  Ａｎａｌｙｓｉｓ：電力差分解析）がある。この攻撃はＩＣカードに対して、外的な操作を全く必要とせず行われるため、ＩＣカードが攻撃にさらされていることが検出できない。このため秘密情報を格納し、個人認証等に使用するＩＣカード等には非常に脅威である。
【０００３】
このような攻撃に対する対策として、内部処理を不規則なタイミングで停止させて、処理時間及び処理タイミングを不規則にするような対策がある。しかし、内部処理を停止させると明らかに消費電力が減ることから、不規則であっても停止しているタイミングを推定することが可能である。
【０００４】
この問題に対して、下記の特許文献１では、内部回路の動作と無関係で、かつ不規則なダミー消費電流を発生する偽電流発生回路によって電力解析に基づく攻撃を抑制する技術を提案している。特許文献１に開示の従来技術を図２に示す。この従来技術では、偽電流発生回路２１０が電力解析に基づく攻撃を抑制している。
【０００５】
【特許文献１】特開２０００−２５９７８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、内部回路動作の起動及び停止に無関係な偽消費電流を発生させると、ピーク時の消費電力の増大を招くことになる。これはＩＣカードのような最大消費電力が規定されているようなシステムにおいては不利である。また、偽消費電流は多数の消費電力波形を平均化することにより除去することが可能であり、消費電力解析に対する完全な防御策とは成り得ない。
【０００７】
本発明は上記の問題点に鑑みてなされたものであり、その目的は、ピーク時の消費電力を増加させずに、消費電力解析が困難なセキュアな半導体装置を提供する点にある。
【課題を解決するための手段】
【０００８】
上記目的を達成するための本発明に係る消費電力解析対策機能付き半導体装置は、論理演算処理を実行可能な論理回路部と、前記論理回路部の消費電力の増減傾向を相殺する方向に、自己の消費する電力を増減可能な消費電力可変回路と、を備えてなることを第１の特徴とする。
【０００９】
上記第１の特徴の消費電力解析対策機能付き半導体装置によれば、論理回路部と消費電力可変回路の消費電力の合計が、外部から見れば論理回路部の消費電力と観測され、論理回路部の消費電力が増加傾向にある場合は、消費電力可変回路の消費電力が低下し、逆に、論理回路部の消費電力が減少傾向にある場合は、消費電力可変回路の消費電力が増加するように、消費電力可変回路の消費電力の増減が制御されるため、論理回路部と消費電力可変回路の消費電力の合計のピーク値は、論理回路部の消費電力のピーク値を大きく超過しないように制御でき、且つ、論理回路部と消費電力可変回路の合計消費電力の変動幅は、論理回路部単独での消費電力の変動幅に対して大幅に抑制され、合計消費電力の変化は論理回路部の動作と無関係に抑制されるため、ピーク時の消費電力を増加させずに、消費電力解析が困難なセキュアな半導体装置を提供することができる。
【００１０】
例えば、消費電力解析に対する対策を講じない場合には、論理回路部の動作が停止すると論理回路部の消費電力が低下するが、論理回路部の動作停止中に消費電力可変回路の消費電力を増加させることにより、合計消費電力が論理回路部の動作に関係なく略一定にすることができ、論理回路部の動作の起動及び停止の判別が困難となる。
【００１１】
更に、上記第１の特徴の消費電力解析対策機能付き半導体装置は、前記論理回路部の回路動作の起動と停止を不規則に制御する動作状態制御回路を備え、前記消費電力可変回路の回路動作の起動と停止が、前記動作状態制御回路によって制御されることを第２の特徴とする。
【００１２】
上記第２の特徴の消費電力解析対策機能付き半導体装置によれば、論理回路部と消費電力可変回路の合計消費電力が論理回路部の動作中において主として論理回路部の消費電力となる場合と、合計消費電力が論理回路部の停止中において主として消費電力可変回路の消費電力となる場合が、不規則に発生するように積極的に制御されるので、合計消費電力の変化の不規則性が増加し、消費電力解析がより困難となる。
【００１３】
更に、上記第２の特徴の消費電力解析対策機能付き半導体装置は、前記動作状態制御回路が、不規則に前記論理回路部の動作を停止させて、前記論理回路部の消費電力が低下している期間中に、前記消費電力可変回路を起動して、前記論理回路部の消費電力の低下を補うように前記消費電力可変回路の消費電力を増加させることを特徴とする。
【００１４】
これにより、論理回路部の動作停止中に消費電力可変回路の消費電力を増加させることにより、論理回路部と消費電力可変回路の合計消費電力が論理回路部の動作に関係なく略一定にすることができ、論理回路部の動作の起動及び停止の判別が困難となる。
【００１５】
更に、上記第２の特徴の消費電力解析対策機能付き半導体装置は、前記動作状態制御回路が、フィードバック付きシフトレジスタを備えた擬似乱数発生回路で構成されていることを特徴とする。
【００１６】
これにより、擬似乱数発生回路によって擬似乱数列を発生させることで、論理回路部の動作の不規則な起動停止を具体的に実現できる。
【００１７】
更に、上記第２の特徴の消費電力解析対策機能付き半導体装置は、前記動作状態制御回路が、半導体熱雑音によって不規則に発振するリングオシレータとコンデンサを備えた真性乱数発生回路で構成されていることを特徴とする。
【００１８】
これにより、真性乱数発生回路がリングオシレータとコンデンサによる自己発振による真性乱数列を発生させることにより、論理回路部の動作の不規則な起動停止を具体的に実現できる。
【００１９】
更に、上記第２の特徴の消費電力解析対策機能付き半導体装置は、前記動作状態制御回路が、フィードバック付きシフトレジスタを備えた擬似乱数発生回路と半導体熱雑音によって不規則に発振するリングオシレータとコンデンサを備えた真性乱数発生回路を組み合わせて構成されていることを特徴とする。
【００２０】
これにより、真性乱数を基に擬似乱数列を発生させることができ、更に推測困難な乱数列を発生できるため、消費電力解析が一層困難となる。
【００２１】
更に、上記何れかの特徴の消費電力解析対策機能付き半導体装置は、前記消費電力可変回路が、トランジスタと抵抗で構成されていることを特徴とする。
【００２２】
これにより、トランジスタのオンオフを制御することで抵抗とトランジスタで消費される電力が変化する消費電力可変回路を簡単な回路構成で実現できる。
【００２３】
更に、上記何れかの特徴の消費電力解析対策機能付き半導体装置は、前記消費電力可変回路が、前記論理回路部の動作クロックに同期して電力を消費することを特徴とする。
【００２４】
これにより、消費電力可変回路が動作クロックの変化タイミングに同期して電力を消費することにより、論理回路部を構成するＣＭＯＳ回路の消費電力の変化パターンを模擬することができ、論理回路部の動作中と停止中での消費電力波形の区別を困難化できる。
【００２５】
更に、上記何れかの特徴の消費電力解析対策機能付き半導体装置は、前記消費電力可変回路が、動作の起動と停止が個別に制御可能な複数の回路部を備えて構成されていることを特徴とする。
【００２６】
これにより、消費電力可変回路の消費電力の変化パターンを複雑に変化させることができ、論理回路部の消費電力の変化パターンとの区別を困難化できる。
【００２７】
更に、上記何れかの特徴の消費電力解析対策機能付き半導体装置は、前記消費電力可変回路の動作時における消費電力が、前記論理回路部の動作時における消費電力の時間的変化を模擬的に再現するように変化することを特徴とする。
【００２８】
これにより、論理回路部と消費電力可変回路の合計消費電力の変化パターンが、論理回路部の動作中と停止中との間で区別困難となり、消費電力解析が一層困難となる。
【００２９】
更に、上記何れかの特徴の消費電力解析対策機能付き半導体装置は、前記消費電力可変回路の消費電力が、前記論理回路部の動作とは無関係に不規則に変化することを特徴とする。
【００３０】
これにより、論理回路部単独での正味の消費電力の変化が判別困難となり、消費電力解析が一層困難となる。
【００３１】
更に、上記何れかの特徴の消費電力解析対策機能付き半導体装置は、前記論理回路部が暗号処理を行う暗号処理回路を含むことを特徴とする。
【００３２】
これにより、消費電力解析による暗号処理の解読が困難なセキュアな半導体装置を提供できる。
【００３３】
更に、本発明に係るＩＣカードは、上記何れかの特徴の消費電力解析対策機能付き半導体装置を備えてなることを特徴とする。
【００３４】
上記特徴のＩＣカードによれば、消費電力解析による内部動作の解析が困難なセキュアなＩＣカードを提供できる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明に係る消費電力解析対策機能付き半導体装置（以下、適宜「本発明装置」と略称する）の実施形態を図面に基づいて説明する。
【００３６】
〈第１実施形態〉
図1に、本発明装置１００の消費電力解析対策機能を奏するシステム構成例を示す。図1に示すように、本発明装置１００は、Ｉ／Ｏインターフェース１０１、中央演算処理装置（ＣＰＵ、論理回路部に相当）１０２、動作状態制御回路１０３、消費電力可変回路１０４、ＲＯＭ１０５、ＲＡＭ１０６、不揮発性メモリ１０７、及び、アドレス・データバス１０８等を備えて構成されており、消費電力可変回路１０４を除く各部はアドレス・データバス１０８を介して相互に接続されている。ＣＰＵ１０２は、ＲＯＭ１０５上に格納されたプログラムの処理手順で動作し、Ｉ／Ｏインターフェース１０１を介して外部との通信を行い、不揮発性メモリ１０７に処理データを蓄積する。ＲＡＭ１０６は、ＣＰＵ１０２が動作するときの一時的なデータを格納するメモリである。
【００３７】
動作状態制御回路１０３は、ＣＰＵ１０２と消費電力可変回路１０４の各動作の起動及び停止を不規則に制御して、外部からの消費電力解析を困難にする。より詳細には、動作状態制御回路１０３は、ＣＰＵ１０２の動作中に消費電力可変回路１０４が動作を停止し、逆にＣＰＵ１０２の停止中に消費電力可変回路１０４が動作するように、ＣＰＵ１０２と消費電力可変回路１０４の各動作の起動及び停止を不規則に制御する。この結果、本発明装置１００の消費電力からは、ＣＰＵ１０２が常に動作しているかのように見え、消費電力解析が困難となる。ＣＰＵ１０２の動作を停止させる方法としては、例えば、ＣＰＵに供給される動作クロックの供給停止、或いは、ＣＰＵ１０２をスタンバイ状態にすることにより実現できる。
【００３８】
図３（Ａ）〜（Ｃ）に、本発明装置１００、消費電力解析対策機能のない通常の半導体装置、及び、特許文献１に開示の従来の消費電力解析対策機能付き半導体装置の各消費電力波形を、夫々比較して模式的に示す。図３（Ｂ）に示すように、消費電力解析対策機能のない場合は、ＣＰＵ等の解析の対象となる論理回路が停止すると明らかに動作中よりも消費電力が低下する。論理回路の動作を不規則に停止させても停止区間が消費電力波形より分かるため、真の処理時間を計ることが可能であり、不規則動作の効果を無効化できる。
【００３９】
図３（Ｃ）に示すように、特許文献１に開示の消費電力解析対策では、解析の対象となる論理回路の動作とは無関係にダミー消費電流が発生するため、外部からは論理回路の動作が分かり難くなる。しかし、論理回路の消費電力にダミー消費電流が重畳しているためピーク時の消費電力は大きくなる。これに対して、図３（Ａ）に示すように、本発明装置１００の場合は、ＣＰＵ１０２（論理回路）が動作を停止して消費電力が低下したときだけ、消費電力可変回路１０４が動作して消費電力を発生し、ＣＰＵ１０２の消費電力の低下分を補うため、本発明装置１００のピーク時の消費電力を増加させることなく、ＣＰＵ１０２の動作停止による消費電力の低下を外部から解析困難にすることができる。
【００４０】
次に、本発明装置１００において特徴的な動作状態制御回路１０３と消費電力可変回路１０４について、詳細に説明する。
【００４１】
先ず、図４に、消費電力可変回路１０４の一構成例を示す。消費電力可変回路１０４は、ＭＯＳトランジスタ４１と抵抗素子４２の直列回路を電源電圧Ｖｃｃと接地電圧ＧＮＤ間に設けることで構成される。トランジスタ４１のオンオフ制御により消費電力可変回路１０４の起動及び停止を制御し、消費電力の増減を制御する。消費電力の大きさは、抵抗素子４２の抵抗値とトランジスタ４１のオン抵抗によって定まる。ところで、トランジスタ４１のオン抵抗が、抵抗素子４２の抵抗値に対して十分低い場合は、抵抗素子４２の抵抗値で消費電力が主として定まり、例えば、電源電圧Ｖｃｃ＝２Ｖ、１ｍＷの消費電力を発生させる場合は、抵抗素子４２の抵抗値は４ｋΩとなる。尚、トランジスタ４１のオンオフ制御は、後述する動作状態制御回路１０３から出力されるタイミング制御信号ＳＴによって行われる。
【００４２】
また、図５に、消費電力可変回路１０４の他の構成例を示す。この場合、消費電力可変回路１０４は、オペアンプ４３とトランジスタ４４を縦列に接続して構成される。オペアンプ４３の出力がトランジスタ４４のベース端子に接続し、トランジスタ４４のコレクタ・エミッタが電源電圧Ｖｃｃと接地電圧ＧＮＤに接続する。オペアンプ４３の入力レベルを制御することにより消費電力可変回路１０４の起動及び停止を制御し、消費電力の増減を制御する。尚、オペアンプ４３の入力レベル制御は、後述する動作状態制御回路１０３から出力されるタイミング制御信号ＳＴの信号レベルによって行われる。
【００４３】
図６に、動作状態制御回路１０３の一回路構成例を示す。図６に示すように、動作状態制御回路１０３は、乱数発生回路３１とタイミング制御回路３２で構成される。タイミング制御回路３２は、消費電力可変回路１０４の回路動作の起動及び停止のタイミング制御を行う。図６に示すように、タイミング制御回路３２は、奇数段のインバータ列３３と３入力ＡＮＤ回路３４で構成される。ＡＮＤ回路３４の入力信号として、ＣＰＵ１０２の動作クロックＣＬＫと、奇数段のインバータ列３３で位相シフトされた動作クロックＣＬＫ’と、乱数発生回路３１から出力される不規則なオンオフ制御信号ＳＲを用い、ＡＮＤ回路３４から、オンオフ制御信号ＳＲがハイレベル（高電圧レベル）の期間中の動作クロックＣＬＫの立ち上がりタイミング後の動作クロックＣＬＫの半周期より短い一定期間に消費電力可変回路１０４をオンさせるタイミング制御信号ＳＴを出力する。図６に示す回路例では、動作クロックＣＬＫの立ち上がりタイミングに同期してタイミング制御信号ＳＴを出力するために、動作クロックＣＬＫを遅延させるインバータ列３３の段数は奇数に設定している。オンオフ制御信号ＳＲは、ＣＰＵ１０２の回路動作の起動及び停止を不規則に制御するための制御信号でもあり、オンオフ制御信号ＳＲがハイレベルの間、ＣＰＵ１０２の回路動作が停止し、タイミング制御信号ＳＴが出力される。この結果、図７のタイミング波形図に示すように、オンオフ制御信号ＳＲがハイレベルでＣＰＵ１０２の回路動作が停止している期間中に、動作クロックＣＬＫの立ち上がりタイミングに同期して消費電力可変回路１０４で消費電力が断続的に発生する。図７に示す消費電力可変回路１０４の消費電力は、動作クロックＣＬＫの立ち上がりタイミングに同期して発生するため、ＣＭＯＳ回路で構成された論理回路であって、ＣＭＯＳ回路の貫通電流や充放電電流等の動的な消費電流が動作クロックＣＬＫの立ち上がり時に発生する回路の消費電流波形を模擬的に再現できる。
【００４４】
尚、ＣＰＵ１０２がＣＭＯＳ回路で構成され、動作クロックＣＬＫに同期して動作する場合は、ＣＰＵ１０２を構成する各回路単体では、動作クロックＣＬＫに同期した断続的な消費電力波形となるが、ＣＰＵ１０２全体では、これらが重畳し、且つ、電源線等の寄生容量や寄生インダクタンスによって平滑化或いは連続化される。同様に、消費電力可変回路１０４で生じる断続的な消費電力も平滑化或いは連続化され、ＣＰＵ１０２と消費電力可変回路１０４の合計消費電力は、ＣＰＵ１０２の起動及び停止と関係なく一様に連続的な消費電力波形となる。
【００４５】
図８に、動作状態制御回路１０３の乱数発生回路３１の一構成例を示す。図８に示す乱数発生回路３１ａは、フィードバック付のシフトレジスタ３５で構成されており、途中に排他的論理和３６を挿入することにより周期の長い疑似乱数を発生することができる擬似乱数発生回路となっている。この乱数発生回路３１ａを備えた動作状態制御回路１０３により、ＣＰＵ１０２と消費電力可変回路１０４の各回路動作の起動及び停止を行うと、ＣＰＵ１０２と消費電力可変回路１０４の合計消費電力は、ＣＰＵ１０２の回路動作とは無関係な不規則な消費電力となる。
【００４６】
図９に、動作状態制御回路１０３の乱数発生回路３１の他の構成例を示す。図９に示す乱数発生回路３１ｂは、リングオシレータ３７とコンデンサ３８とシュミットトリガ付のアンプ３９で構成される真性乱数発生回路となっている。リングオシレータ３７はＣＭＯＳインバータと抵抗で構成される。ＣＭＯＳインバータの出力が抵抗を介して入力に接続されているため、ＣＭＯＳインバータのＰ型トランジスタとＮ型トランジスタの電流バランスが取れるところでＣＭＯＳインバータの出力レベルは固定される。しかし、入力に接続されている抵抗内の半導体熱雑音によりインバータの出力レベルは不規則なレベルとなる。この不規則に変動する出力レベルを、コンデンサ３８を介してシュミットトリガ付のアンプ３９によりデジタルレベルの０／１信号に変換する。熱雑音は不規則な物理現象のためこのデジタル化された信号は真性乱数となる。
【００４７】
図１０に、動作状態制御回路１０３の乱数発生回路３１の他の構成例を示す。図１０に示す乱数発生回路３１ｃは、図８に示す疑似乱数発生回路３１ａと図９に示す真性乱数発生回路３１ｂを組み合わせることにより、より複雑で高品質な真性乱数を発生させることができる真性乱数発生回路３１となっている。疑似乱数発生回路３１ａの場合、同じ擬似乱数列が一定周期で発生する。また、図９に示す真性乱数発生回路３１ｂの場合は、電圧や温度条件で乱数の品質が変化する。図１０に示す乱数発生回路３１ｃでは、疑似乱数発生回路３１ａの入力に真性乱数発生回路３１ｂの出力との排他的論理和を入力することにより、より高品質な真性乱数を発生させることができる。この乱数発生回路３１ｃを備えた動作状態制御回路１０３により、ＣＰＵ１０２と消費電力可変回路１０４の各回路動作の起動及び停止を行うと、ＣＰＵ１０２と消費電力可変回路１０４の合計消費電力は、ＣＰＵ１０２の回路動作とは無関係で予測不可能な消費電力となる。
【００４８】
〈第２実施形態〉
次に、本発明装置の第２実施形態として、消費電力解析対策機能付きの暗号処理装置について説明する。図１１に、本発明に係る暗号処理装置１０９のシステム構成例を示す。図１１に示すように、暗号処理装置１０９は、中央演算処理装置（ＣＰＵ、論理回路部に相当）１０２、動作状態制御回路１０３、消費電力可変回路１０４、ＲＯＭ１０５、ＲＡＭ１０６、及び、アドレス・データバス１０８等を備えて構成されており、消費電力可変回路１０４を除く各部はアドレス・データバス１０８を介して相互に接続されている。ＣＰＵ１０２は、ＲＯＭ１０５上に格納されたプログラムの処理手順で動作し、ＲＡＭ１０６上にあるデータでＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）やＲＳＡ（Ｒｉｖｅｓｔ  Ｓｈａｍｉｒ  Ａｄｌｅｍａｎ）等の暗号化及び復号化処理を行う。
【００４９】
動作状態制御回路１０３及び消費電力可変回路１０４の回路構成は第１実施形態と同様であり、重複する説明は省略する。第１実施形態と同様の回路構成の動作状態制御回路１０３と消費電力可変回路１０４を使用することにより、暗号処理装置１０９の暗号化及び復号化処理時の消費電力波形を、ＣＰＵ１０２の動作状態に関係なく同様に変化する電力波形とすることができ、暗号化及び復号化処理に対する消費電力解析を困難或いは不可能とすることができる。
【００５０】
次に、本発明装置の別実施形態について説明する。
【００５１】
〈１〉上記第１及び第２実施形態では、消費電力可変回路１０４は、動作状態制御回路１０３から出力される１つのタイミング制御信号ＳＴによって制御される場合を例示したが、例えば、図１２に示すように、図４に示す回路構成のＭＯＳトランジスタ４１と抵抗素子４２の直列回路を電源電圧Ｖｃｃと接地電圧ＧＮＤ間に複数並列に設ける構成とするのも好ましい実施の形態である。このように消費電力可変回路１０４を複数ユニットに分割することによって、１ユニット当たりの消費電力を小さくでき、トランジスタサイズも小さくできる。また、各ユニットのオンオフのタイミングを個別に制御することで種々の消費電力パターンを生成することができる。尚、各ユニット間で、トランジスタサイズや抵抗値は同じであっても異なっていても構わない。
【００５２】
図１３に、図１２に示す消費電力可変回路１０４を用いて、消費電力の値を動的に変化させた場合の消費電力波形を示す。図１２に示す消費電力可変回路１０４のオンさせるユニット数を制御することで、ＣＰＵ１０２の消費電力波形を疑似的に再現することができている。尚、ＣＰＵ１０２の消費電力のピーク値を予めシミュレーション等や実測により導出しておき、オンさせるユニット数や、各ユニットの抵抗値の設定を行う。
【００５３】
図１４に、動作状態制御回路１０３のオンオフ制御信号ＳＲでＣＰＵ１０２の停止を行い、同じオンオフ制御信号ＳＲで制御される複数の異なるタイミング制御信号ＳＴで、図１２に示す消費電力可変回路１０４の起動を動的に制御した場合の消費電力波形を模式的に示す。ＣＰＵ１０２と消費電力可変回路１０４の二つの回路が相反して動作することにより全体ではＣＰＵ１０２の動作に関係のない消費電力波形が得られる。ＣＰＵ１０２の停止期間中の消費電力可変回路１０４の各ユニットの起動及び停止の動的な制御を不規則に行うことで、ＣＰＵ１０２の動作時の消費電力波形を模擬的に再現できる。これによりＣＰＵ１０２の動作の起動及び停止が消費電力波形からは分かり難くなる。
【００５４】
特に、ＣＰＵ１０２の動作時の消費電力のピーク値を予め電力シミュレーション等で測定しておき、消費電力可変回路１０４の消費電力が当該ピーク値の範囲内で各ユニットの起動及び停止の動的制御を行うことで、消費電力ピーク値の増加を伴わずに、消費電力解析対策機能を奏することができる。
【００５５】
〈２〉上記第１実施形態では、図６に示すタイミング制御回路３２は、動作クロックＣＬＫの立ち上がりタイミングに同期してタイミング制御信号ＳＴを出力する回路構成例であったが、タイミング制御信号ＳＴの出力タイミングは、動作クロックＣＬＫの立ち上がりタイミングではなく、立下りタイミングであってもよく、また、その両方であっても構わない。消費電力可変回路１０４が模擬すべきＣＰＵ１０２の消費電力波形は、その回路構造に依存するため、例えば、ＣＰＵ１０２の回路内の立ち上がりタイミングからの伝播遅延に合わせて消費電力可変回路１０４の電力消費期間を予め設計しておき、タイミング制御信号ＳＴの出力タイミングを決める。一例として、タイミング制御信号ＳＴの出力タイミングは、ＣＰＵ１０２の回路内の全フリップフロップからの伝播遅延時間の平均値等に基づいて設定される。
【００５６】
〈３〉上記第１実施形態では、本発明装置１００の実装形態は特に限定していないが、例えば、ＩＣカードに実装する形態であるのも好ましい。尚、ＩＣカードとしてのシステム構成は、図１に示すシステム構成と同じであるので、重複する説明は割愛する。
【００５７】
〈４〉上記第１及び第２実施形態では、ＣＰＵ１０２の動作を停止させる方法として、ＣＰＵに供給される動作クロックの供給停止、或いは、ＣＰＵ１０２をスタンバイ状態にすることを想定したが、動作クロックの供給停止やスタンバイ状態に依らずに、実質的にＣＰＵ１０２の動作を停止するようにしても構わない。例えば、ＣＰＵ１０２の実行する処理手順において取り得る複数の状態間での状態遷移において、例えば、各状態から別状態に遷移する条件の発生を停止することで、動作を実質的に停止させることができる。この場合も、状態遷移が起こらないので消費電力は低下する。
【００５８】
〈５〉上記第１及び第２実施形態では、動作状態制御回路１０３は乱数発生回路３１とタイミング制御回路３２を備えて構成される場合を例示したが、例えば、ＣＰＵ１０２側でプログラム処理等により自動的に自己の動作を不規則に停止する機能を有している場合は、乱数発生回路３１を設けずにタイミング制御回路３２だけで構成し、ＣＰＵ１０２側から動作状態を示す信号をタイミング制御信号ＳＴとして受信するようにすればよい。この場合、ＣＰＵ１０２側で自動的に自己の動作を不規則に停止する機能部分が、動作状態制御回路１０３の一部を代替することになる。
【産業上の利用可能性】
【００５９】
本発明に係る消費電力解析対策機能付き半導体装置は、消費電力解析による内部動作を暴露する攻撃から内部の情報を保護するセキュリティ機能を備えた半導体装置に利用可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明に係る消費電力解析対策機能付き半導体装置の第１実施形態におけるシステム構成例を示すブロック図
【図２】特許文献１に開示された従来の消費電力解析対策機能付き半導体装置のシステム構成を示すブロック図
【図３】本発明に係る消費電力解析対策機能付き半導体装置、消費電力解析対策機能のない通常の半導体装置、及び、特許文献１に開示の従来の消費電力解析対策機能付き半導体装置の各消費電力波形を示す消費電力波形図
【図４】消費電力可変回路の一構成例を示す回路図
【図５】消費電力可変回路の他の構成例を示す回路図
【図６】動作状態制御回路の一回路構成例を示す回路図
【図７】図６に示す動作状態制御回路の動作に係るタイミング信号と消費電力可変回路の消費電力波形を示すタイミング波形図
【図８】動作状態制御回路の乱数発生回路を擬似乱数発生回路で構成した回路例を示す回路図
【図９】動作状態制御回路の乱数発生回路を真性乱数発生回路で構成した回路例を示す回路図
【図１０】動作状態制御回路の乱数発生回路を擬似乱数発生回路と真性乱数発生回路の組み合わせで構成した回路例を示す回路図
【図１１】本発明に係る消費電力解析対策機能付き半導体装置の第２実施形態における暗号処理装置のシステム構成例を示すブロック図
【図１２】消費電力可変回路の他の構成例を示す回路図
【図１３】図１２に示す消費電力可変回路の消費電力波形を模擬的に示す消費電力波形図
【図１４】本発明に係る消費電力解析対策機能付き半導体装置の消費電力波形の一例を示す消費電力波形図
【符号の説明】
【００６１】
３１：    乱数発生回路
３１ａ：  疑似乱数発生回路
３１ｂ：  真性乱数発生回路
３１ｃ：  真性乱数発生回路
３２：    タイミング制御回路
３３：    インバータ列
３４：    ３入力ＡＮＤ回路
３５：    シフトレジスタ
３６：    排他的論理和
３７：    リングオシレータ
３８：    コンデンサ
３９：    シュミットトリガ付アンプ
４１：    ＭＯＳトランジスタ
４２：    抵抗素子
４３：    オペアンプ
４４：    トランジスタ
１００：  本発明に係る消費電力解析対策機能付き半導体装置
１０１：  外部通信用Ｉ／Ｏインターフェース
１０２：  ＣＰＵ（論理回路部）
１０３：  動作状態制御回路
１０４：  消費電力可変回路
１０５：  ＲＯＭ
１０６：  ＲＡＭ
１０７：  不揮発性メモリ
１０８：  アドレス・データバス
１０９：  本発明に係る消費電力解析対策機能付き半導体装置（暗号処理装置）
ＣＬＫ：  動作クロック
ＧＮＤ：  接地電圧
ＳＲ  ：  オンオフ制御信号
ＳＴ  ：  タイミング制御信号
Ｖｃｃ：  電源電圧
【図１】
2007128184.tif 000003
【図２】
2007128184.tif 000004
【図３】
2007128184.tif 000005
【図４】
2007128184.tif 000006
【図５】
2007128184.tif 000007
【図６】
2007128184.tif 000008
【図７】
2007128184.tif 000009
【図８】
2007128184.tif 000010
【図９】
2007128184.tif 000011
【図１０】
2007128184.tif 000012
【図１１】
2007128184.tif 000013
【図１２】
2007128184.tif 000014
【図１３】
2007128184.tif 000015
【図１４】
2007128184.tif 000016
【手続補正書】
【提出日】平成18年10月24日(2006.10.24)
【手続補正１】
【補正対象書類名】図面
【補正対象項目名】図４
【補正方法】変更
【補正の内容】
【図４】
2007128184.tif 000017
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】図５
【補正方法】変更
【補正の内容】
【図５】
2007128184.tif 000018
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】図６
【補正方法】変更
【補正の内容】
【図６】
2007128184.tif 000019
【手続補正４】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2007128184.tif 000020
【手続補正５】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2007128184.tif 000021
【手続補正６】
【補正対象書類名】図面
【補正対象項目名】図９
【補正方法】変更
【補正の内容】
【図９】
2007128184.tif 000022
【手続補正７】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2007128184.tif 000023
【手続補正８】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2007128184.tif 000024