(57)【要約】【課題】  消費電流波形のアライメントを困難化することで、消費電流解析による暗号鍵の解読を防止する機能を高めた暗号化装置を提供する。【解決手段】  クロック信号ＣＬＫ及び擬似乱数が入力される構成であって、前記擬似乱数に基づいて前記クロック信号ＣＬＫに対してサスペンド処理及びレジューム処理を施して暗号プロセッサクロック信号ＣＣＬＫを生成するクロック制御回路３と、前記暗号プロセッサクロック信号に同期して暗号化対象データに対する暗号化処理を施す暗号プロセッサ２と、前記暗号プロセッサ２の動作状態を示す演算ステートＳを取得して、当該演算ステートＳに応じて消費電流量の調整を行う電流制御回路４と、を備える。【選択図】        図１
2008113130.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号及び擬似乱数が入力される構成であって、前記擬似乱数に基づいて前記クロック信号に対してサスペンド処理及びレジューム処理を施して暗号プロセッサクロック信号を生成するクロック制御回路と、
前記暗号プロセッサクロック信号に同期して暗号化対象データに対する暗号化処理を施す暗号プロセッサと、
前記暗号プロセッサの動作状態を示す演算ステートを取得して、当該演算ステートに応じて消費電流量の調整を行う電流制御回路と、を備えることを特徴とする暗号化装置。
【請求項２】
前記クロック制御回路が、
前記擬似乱数に基づいて前記クロック信号のサスペンド長及びサスペンド発生確率を決定することを特徴とする請求項１に記載の暗号化装置。
【請求項３】
前記クロック制御回路が、
前記暗号化対象データのセキュリティレベルが入力される構成であって、
前記セキュリティレベルに基づいて前記サスペンド長及び前記サスペンド発生確率の何れか一方又は両方の決定方法を変更することを特徴とする請求項２に記載の暗号化装置。
【請求項４】
前記クロック信号を出力するクロック選択回路を備える構成であって、
前記クロック選択回路が、
基準となるシステムクロック信号及び前記擬似乱数が入力されると共に、前記システムクロック信号に起因して、又は無関係に、前記システムクロック信号とは異なる独自の選択用クロック信号を生成する一又は複数の選択用クロック生成回路を内部に有し、前記擬似乱数に基づいて一又は複数の前記選択用クロック信号、及び前記システムクロック信号の内の何れか一の信号を選択し前記クロック信号として出力する構成であることを特徴とする請求項１〜請求項３の何れか１項に記載の暗号化装置。
【請求項５】
前記クロック選択回路が、
前記セキュリティレベルが入力される構成であって、
前記セキュリティレベルに応じて、前記クロック信号を決定する際の選択対象となる信号が決定されることを特徴とする請求項４に記載の暗号化装置。
【請求項６】
前記電流制御回路が、夫々にスイッチング素子を有する複数のダミーセルを内部に備え、
前記演算ステートに応じて予め定められた個数の前記ダミーセルを導通させることで前記消費電流量の補正を行うことを特徴とする請求項１〜請求項５の何れか１項に記載の暗号化装置。
【請求項７】
前記電流制御回路が、
前記演算ステートと、外部から設定された設定調整量に応じて前記消費電流量の調整を行うことを特徴とする請求項１〜請求項６の何れか１項に記載の暗号化装置。
【請求項８】
前記電流制御回路が、前記擬似乱数の入力を受け付ける構成であり、
前記演算ステートと、前記擬似乱数の値に応じて前記消費電流量の調整を行うことを特徴とする請求項１〜請求項７の何れか１項に記載の暗号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電流解析による暗号鍵の解読を防止する機能を高めた暗号化装置に関する。
【背景技術】
【０００２】
ネットワーク化が進んだ今日、情報が大きな価値を持つようになり、それに伴い、情報に対するセキュリティも同様に大きな意味を持つようになってきている。この内、情報の隠蔽を目的とした「暗号技術」は、数々のセキュリティ技術の中核の一つとして位置付けられている。
【０００３】
暗号とは、当事者以外にはその内容を特定することができず、当事者間でのみ理解できるように取り決めた特殊な記号や文字又はその手順や方式を指し、送信者が送りたい元の文章（平文）を暗号文に変換（暗号化）して送信し、この暗号文を受信した受信者が元の文章に再変換（復号化）することで、初めてその内容を認識可能に構成されている。
【０００４】
暗号化の方式としては、大きく分けて共通鍵方式と公開鍵方式とがある。共通鍵方式は、データの暗号化と復号化とが、共通鍵と呼ばれる同一の暗号鍵を用いて行われる方式であり、例えばＤＥＳ（Data Encryption Standard）と呼ばれる方式がある。又、公開鍵方式は、データの暗号化と復号化とが公開鍵と秘密鍵と呼ばれる別の暗号鍵を用いて行われる方式で、例えば、ＲＳＡ（Rivest, Shamir, Adleman）と呼ばれる方式が代表的である。
【０００５】
このようにして暗号化された内容は、第三者によって認識されないことが前提であるが、近年の情報技術の進歩に相まって、暗号解読技術も更に進化してきているのが現状である。
【０００６】
暗号を解読する方法としては、考えられる限りの組み合わせを全て試す方法（Brute Force方式）、数学的に解を求める方法（Short Cut方式）、及び機器等のハードウェアの特性を用いる方法（サイドチャネル方式）等が存在する。この内、精密な測定技術の進歩によって、近年、サイドチャネル方式が新たな攻撃方法として脅威となりつつある。
【０００７】
サイドチャネル方式の代表的な例として、暗号演算時には消費電力が増えることに注目し、暗号プロセッサを搭載したＩＣチップに対して暗号演算時の消費電流から暗号鍵の解読を行うＳＰＡ（Simple Power Analysis：単純電力解析）やＤＰＡ（Differential Power Analysis：電力差分解析）と呼ばれる方法が存在する。
【０００８】
例えばＲＳＡアルゴリズムにおいて暗号鍵を用いて平文を暗号化するとき、暗号鍵のビット数に対応する繰り返し演算が実行される。個々の繰り返し演算において、暗号鍵のビットが０か１かによって演算シーケンスが異なるため、消費電流を解析することにより、暗号鍵の解読が可能となる場合がある。
【０００９】
このような攻撃に対処すべく、演算中の消費電流にランダムなノイズ電流を重畳することで、消費電力の分析による暗号鍵の解読を困難にしてセキュリティを確保する技術が従来より開示されている（例えば、特許文献１参照）。
【００１０】
【特許文献１】特開２００５−２５２７０５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
ＳＰＡやＤＰＡ等の消費電流解析による攻撃方法を行う際には、消費電流波形を重ね合わせるアライメント作業が必要になる。しかしながら、上記特許文献１に記載の方法の場合、暗号化処理回路が動作するタイミングとなるマスタクロック信号に同期してノイズ電流が重畳する構成であるため、例えば同じ暗号鍵と平文で複数回暗号演算を実行した場合、消費電流はランダムに変化するが、演算時間は一定となるため、アライメント作業は容易となる。又、同じ暗号鍵と平文を用いて、繰り返し消費電流を測定した場合、それらの消費電流波形を平均化することでランダムなノイズ電流成分のみが除去される可能性があり、消費電流解析の対策としては十分に機能しない場合も想定され得る。
【００１２】
本発明は上記の問題点に鑑み、消費電流波形のアライメントを困難化することで、消費電流解析による暗号鍵の解読を防止する機能を高めた暗号化装置を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するための本発明に係る暗号化装置は、クロック信号及び擬似乱数が入力される構成であって、前記擬似乱数に基づいて前記クロック信号に対してサスペンド処理及びレジューム処理を施して暗号プロセッサクロック信号を生成するクロック制御回路と、前記暗号プロセッサクロック信号に同期して暗号化対象データに対する暗号化処理を施す暗号プロセッサと、前記暗号プロセッサの動作状態を示す演算ステートを取得して、当該演算ステートに応じて消費電流量の調整を行う電流制御回路と、を備えることを第１の特徴とする。
【００１４】
本発明に係る暗号化装置の上記第１の特徴構成によれば、暗号プロセッサがクロック信号に対してサスペンド処理及びレジューム処理を施して生成された暗号プロセッサクロック信号に同期して暗号処理を行う構成であるため、暗号処理を実行するタイミングが一定ではなく、暗号プロセッサクロック信号に応じて変化する構成である。従って、電流制御回路によって消費電流量の調整が行われるタイミングも、この暗号処理のタイミングに応じて変化することとなる。特に、この暗号プロセッサクロック信号を擬似乱数に基づいて生成することにより、暗号処理のタイミングはランダムに変化する構成となるため、同じ暗号化対象データに対して暗号化を施した場合であっても、その演算処理時間が同一ではなく、これによって、外部から消費電流量の変化を検知して消費電流波形のアライメントを行った場合でもサスペンドの発生タイミングを推測することが困難な構成となる。
【００１５】
又、本発明に係る暗号化装置は、上記第１の特徴構成に加えて、前記クロック制御回路が、前記擬似乱数に基づいて前記クロック信号のサスペンド長及びサスペンド発生確率を決定することを第２の特徴とする。
【００１６】
本発明に係る暗号化装置の上記第２の特徴構成によれば、擬似乱数の値に応じて容易にクロック信号のタイミングを変化させて暗号プロセッサクロック信号を生成することができる。
【００１７】
又、本発明に係る暗号化装置は、上記第２の特徴構成に加えて、前記クロック制御回路が、前記暗号化対象データのセキュリティレベルが入力される構成であって、前記セキュリティレベルに基づいて前記サスペンド長及び前記サスペンド発生確率の何れか一方又は両方の決定方法を変更することを第３の特徴とする。
【００１８】
本発明に係る暗号化装置の上記第３の特徴構成によれば、暗号プロセッサが扱う暗号化対象データの重要性を示すセキュリティレベルに応じて、暗号プロセッサクロック信号のクロック信号からの乖離度合いを変化させることができる。従って、例えばセキュリティレベルが高い暗号化対象データを扱う場合にはサスペンド長及びサスペンド発生確率の一方又は双方の取り得る値の範囲を広げる構成とすることで、暗号演算処理を実行するタイミングを複雑にすることができ、サスペンドの発生タイミングの推測を更に困難化できる。
【００１９】
尚、セキュリティレベルが最も低い場合、即ちセキュリティの確保を必要としない場合には、サスペンド発生確率を０％、即ちサスペンドを全く発生させずに暗号プロセッサクロック信号を生成することも可能であるものとして構わない。
【００２０】
又、本発明に係る暗号化装置は、上記第１〜第３の何れか一の特徴構成に加えて、前記クロック信号を出力するクロック選択回路を備える構成であって、前記クロック選択回路が、基準となるシステムクロック信号及び前記擬似乱数が入力されると共に、前記システムクロック信号に起因して、又は無関係に、前記システムクロック信号とは異なる独自の選択用クロック信号を生成する一又は複数の選択用クロック生成回路を内部に有し、前記擬似乱数に基づいて一又は複数の前記選択用クロック信号、及び前記システムクロック信号の内の何れか一の信号を選択し前記クロック信号として出力する構成であることを第４の特徴とする。
【００２１】
本発明に係る暗号化装置の上記第４の特徴構成によれば、擬似乱数に基づいてクロック制御回路に入力されるクロック信号が選択されるため、クロック選択回路がクロック信号を選択する度に擬似乱数に基づいてランダムに変化し、クロック信号が同一、或いは一定の規則の下で変化するということがなく、暗号化装置全体における消費電流が増大するタイミングをその都度変化させることができる。これによって、長期間に亘って消費電流量（又は消費電力）の変化を解析し、消費電流波形のアライメントを行った場合でも、サスペンドの発生タイミングを推測することが困難な構成となる。尚、クロック選択回路がクロック信号を選択するタイミングとしては、例えば暗号化装置を駆動する度に行う構成とすることができる。この場合、暗号プロセッサが、当該プロセッサの動作・非動作を切り替えるための暗号プロセッサイネーブル信号が入力される構成である場合において、この暗号プロセッサイネーブル信号がクロック選択回路に入力される構成とし、暗号プロセッサイネーブル信号の立ち上がりタイミングでラッチされる擬似乱数に基づいてクロック選択回路がクロック信号を選択する構成として構わない。
【００２２】
このとき、前記選択用クロック生成回路としては、例えばシステムクロック信号とは無関係にシステムクロック信号と周波数特性の異なる信号を生成可能なオシレータで構成しても構わないし、システムクロック信号を分周させることでシステムクロック信号と周波数特性の異なる信号を生成可能な分周器で構成しても構わないし、これら両者を備えるものとしても構わない。
【００２３】
又、本発明に係る暗号化装置は、上記第４の特徴構成に加えて、前記クロック選択回路が、前記セキュリティレベルが入力される構成であって、前記セキュリティレベルに応じて、前記クロック信号を決定する際の選択対象となる信号が決定されることを第５の特徴とする。
【００２４】
本発明に係る暗号化装置の上記第５の特徴構成によれば、暗号プロセッサが扱う暗号化対象データの重要性を示すセキュリティレベルに応じて、クロック信号として選択する対象となる候補数を変化させることができる。従って、セキュリティレベルが高い暗号化対象データを扱う場合には例えばシステムクロック信号と全ての選択用クロック生成回路が生成した各選択用クロック信号から一の信号を前記クロック信号として選択し、セキュリティレベルが低い暗号化対象データを扱う場合には例えばシステムクロック信号と所定の選択用クロック生成回路が生成した一の選択用クロック信号の何れか一方を前記クロック信号として選択する構成とすることで、セキュリティレベルに応じてクロック信号の変化に幅を持たせることができ、よりセキュアな構成とすることができる。
【００２５】
又、本発明に係る暗号化装置は、上記第１〜第５の何れか一の特徴構成に加えて、前記電流制御回路が、夫々にスイッチング素子を有する複数のダミーセルを内部に備え、前記演算ステートに応じて予め定められた個数の前記ダミーセルを導通させることで前記消費電流量の調整を行うことを第６の特徴とする。
【００２６】
本発明に係る暗号化装置の上記第６の特徴構成によれば、スイッチングのオンオフ制御によって容易に消費電流量の調整を行うことができる。
【００２７】
又、本発明に係る暗号化装置は、上記第１〜第６の何れか一の特徴構成に加えて、前記電流制御回路が、前記演算ステートと、外部から設定された設定調整量に応じて前記消費電流量の調整を行うことを第７の特徴とする。
【００２８】
本発明に係る暗号化装置の上記第７の特徴構成によれば、消費電流量の調整幅をユーザによって個々的に指定或いは変更することができるため、更に消費電流波形を複雑化することができ、これによってサスペンドの発生タイミングの推測を更に困難にすることができる。
【００２９】
又、本発明に係る暗号化装置は、上記第１〜第７の何れか一の特徴構成に加えて、前記電流制御回路が、前記擬似乱数の入力を受け付ける構成であり、前記演算ステートと、前記擬似乱数の値に応じて前記消費電流量の調整を行うことを第８の特徴とする。
【００３０】
本発明に係る暗号化装置の上記第８の特徴構成によれば、消費電流量の調整幅をランダムに指定或いは変更することができ、更に消費電流波形を複雑化することができ、これによってサスペンドの発生タイミングの推測を更に困難にすることができる。
【発明の効果】
【００３１】
本発明の構成によれば、暗号演算処理のタイミングが変化するため、暗号化対象データに対して暗号化を施した場合であっても、その演算処理時間が同一ではなく、これによって、外部から消費電流量の変化を検知して消費電流波形のアライメントを行った場合でもサスペンドの発生タイミングの推測が困難化され、消費電流解析による暗号鍵の解読を防止する機能を高めた暗号化装置を実現することができる。
【発明を実施するための最良の形態】
【００３２】
以下において、本発明に係る暗号化装置（以下、適宜「本発明装置」と称する）の各実施形態について図１〜図３の各図を参照して説明する。
【００３３】
［第１実施形態］
本発明装置の第１実施形態（以下、適宜「本実施形態」と称する）について、図１及び図２を参照して説明する。
【００３４】
図１は、本発明装置の本実施形態における概略的構成を示すブロック図である。図１に示されるように、本発明に係る暗号化装置１は、暗号プロセッサ２、クロック制御回路３、電流制御回路４、及び乱数発生回路５を備えて構成される。
【００３５】
暗号プロセッサ２は、暗号化を行う対象となる暗号化対象データ、及び暗号化を行う際に利用する暗号鍵、暗号化を行うタイミング信号となる暗号プロセッサクロック信号ＣＣＬＫ、及び動作状態と非動作状態とを切り替えるための暗号プロセッサイネーブル信号が夫々入力される構成である。暗号プロセッサ２は、暗号プロセッサイネーブル信号がアクティブ状態を示している間、暗号プロセッサクロック信号ＣＣＬＫに同期して（例えば立ち上がりを検知して、当該立ち上がりと同一タイミングで）、前記暗号鍵に基づいて暗号化対象データに暗号化を施して暗号データを生成する。この暗号データの生成方法は、例えばＤＥＳ方式等一般的な暗号化方法を用いて行うものとすることができる。
【００３６】
クロック制御回路３は、クロック信号、及び乱数発生回路５から出力される擬似乱数が入力される構成であり、これらに基づいて前記暗号プロセッサクロック信号ＣＣＬＫを生成し、暗号プロセッサ２に出力する。尚、図１に示されるように、クロック信号及び擬似乱数に加えて、外部からセキュリティレベルＳｔが入力される構成とすることもできる。このセキュリティレベルＳｔとは、暗号プロセッサ２が扱う暗号化対象データの重要性を示すレベルであり、ユーザによって外部から設定が可能に構成されている。又、本発明装置１内部でセキュリティレベルＳｔの調整が可能に構成されていても良い。
【００３７】
具体的には、クロック制御回路３は、内部にサスペンド信号生成回路７を備えており、当該サスペンド信号生成回路７が乱数発生回路５で生成された擬似乱数をクロック信号ＣＬＫに基づいてラッチしてデコードを行い、当該デコード結果に基づいて、クロック信号を一時的停止状態とするサスペンド処理を実行するか否かの決定、及びサスペンド発生後クロック信号ＣＬＫの何サイクル目で停止状態を解除するレジューム処理を実行するかを示すサスペンド長の決定を行い、これらの決定結果を反映したサスペンド信号を出力する。尚、サスペンド処理を実行するか否かの決定は、ラッチされた擬似乱数のデコード結果に基づいてサスペンド発生確率を算出し、この算出された発生確率に則って行われる構成とする。
【００３８】
このとき、セキュリティレベルＳｔが入力される構成である場合には、前記サスペンド発生確率及びサスペンド長を当該セキュリティレベルに応じて変更する構成とすることができる。例えばセキュリティレベルに応じて、デコードに利用する擬似乱数のビット数を変更することでサスペンド発生確率を変化させることができる。
【００３９】
より具体的には、あるセキュリティレベルＳｔに応じてデコードに使用される擬似乱数のビット数が定められており、対象となるビット列をデコードした値が所定の条件を満たした場合にサスペンド処理の発生を決定するものとすることで、セキュリティレベルに応じてサスペンド発生確率を変化させることができる。即ち、疑似乱数の特定の１ビットのみをデコードに使用してその値が１の場合にサスペンド処理の実行を決定する場合と、特定の２ビットのみをデコードに使用してその値が全て１の場合にサスペンド処理の実行を行う場合とでは、前者のサスペンド発生確率が５０％であるのに対し、後者は２５％となり、両者の間に変化を設けることができる。
【００４０】
又、サスペンド長についても、あるセキュリティレベルＳｔにおいてデコードに使用される擬似乱数のビット数が定められており、対象となるビット列をデコードした値に応じて予め定められている一のサスペンド長が決定されるものとすることで、セキュリティレベルに応じてサスペンド長を変化させることができる。即ち、疑似乱数の特定のｎビットをデコードに使用する構成とした場合、サスペンド長として取りうる値は２ｎ通りとなるため、これらの値に応じて一のサスペンド長を対応させておくことでサスペンド長の取り得る値の範囲を決定することが可能となる。例えば、疑似乱数の特定の１ビットのみをデコードに使用する場合、その値がとり得る値は０と１の２通りであり、０のときはサスペンド長を２サイクル、１のときは４サイクルと定めておき、又、疑似乱数のある特定の２ビットをデコードに使用する場合、その値が取り得る値は００、０１、１０、１１の４通りとなり、００のときはサスペンド長を１サイクル、０１の場合は２サイクル、１０の場合は３サイクル、１１の場合は４サイクルと定めておくことで、セキュリティレベルに応じてサスペンド長を変化させることができる。
【００４１】
このように生成されたサスペンド信号が、例えばクロック信号と共に論理和回路に入力されて論理和演算が行われることで、暗号プロセッサクロック信号ＣＣＬＫが生成される。
【００４２】
即ち、サスペンド処理を実行させるタイミングにアクティブとなるようなサスペンド信号がサスペンド信号生成回路７から出力されるとした場合、当該サスペンド信号がアクティブ状態である間は暗号プロセッサクロック信号ＣＣＬＫは常にアクティブ状態を維持することとなり、暗号プロセッサは入力される暗号プロセッサクロック信号の立ち上がり（又は立ち下がり）を認識することができず、これによって暗号プロセッサ２がサスペンド状態となる。一方、所定時間のサスペンド状態の後、レジューム処理を実行させるべく、当該所定時間経過後に非アクティブ状態を示すサスペンド信号をサスペンド信号生成回路７が出力することで、クロック信号ＣＬＫの立ち下がりと共に暗号プロセッサクロック信号ＣＣＬＫが立ち下がり、次のクロック信号ＣＬＫの立ち上がりと共に再び暗号プロセッサクロック信号が立ち上がる。これによって暗号プロセッサ２は立ち下がり（又は立ち上がり）を検知することができ、レジューム状態となって再度暗号演算処理が行われる。
【００４３】
尚、セキュリティレベルＳｔが外部から入力されない場合には、予め定められた所定のセキュリティレベルに基づいて上記サスペンド発生確率及びサスペンド長を決定する構成とすることができる。
【００４４】
電流制御回路４は、暗号プロセッサ２の動作状態を示す状態信号である演算ステートＳを暗号プロセッサ２から取得し、この演算ステートに応じて暗号化装置１内部における消費電流量の調整を行うための回路であり、消費電流量の調整を実質的に行うためのＤＣＥＬＬ（ダミーセル）群６、及びＤＣＥＬＬ群６に属する各ＤＣＥＬＬの導通・非導通制御を行うＤＣＥＬＬスイッチング信号生成回路８を備える。
【００４５】
ＤＣＥＬＬスイッチング信号生成回路８は、サスペンド信号生成回路７が生成する前記サスペンド信号、及びタイミング信号用として前記クロック信号ＣＬＫが入力される構成であり、暗号プロセッサ２の演算ステートＳをこのクロック信号ＣＬＫでラッチして、暗号プロセッサ２がどの程度の消費電流を生じる演算処理を実行しているかを逐次判定すると共に、当該判定結果及び前記サスペンド信号に基づいて、当該判定結果に応じて予め定められた数のＤＣＥＬＬをサスペンド期間に亘って導通（及び非導通）させるためのＤＣＥＬＬスイッチング信号を生成する。ＤＣＥＬＬ群６は、このＤＣＥＬＬスイッチング信号に基づいてスイッチング制御が行われることで、サスペンド期間に亘って指定された個数のＤＣＥＬＬが導通されることで当該ＤＣＥＬＬにおいて電流消費が行われて、暗号化装置１における消費電流量が調整される。
【００４６】
このとき、ＤＣＥＬＬスイッチング信号生成回路８は、クロック信号ＣＬＫの立ち上がり或いは立ち下がりに同期して、導通状態とする対象となるＤＣＥＬＬに対して一定期間アクティブ状態を示すＤＣＥＬＬスイッチング信号を生成する構成であることが好ましい。
【００４７】
尚、ＤＣＥＬＬスイッチング信号生成回路８が、取得した演算ステートＳが示す電流消費量の大小に応じて予め定められた所定数のＤＣＥＬＬを導通させるためのＤＣＥＬＬスイッチング信号を生成するものとして構わない。この場合、演算ステートＳに応じて定められるＤＣＥＬＬ数を導通或いは非導通させるＤＣＥＬＬスイッチング信号が生成されることとなる。
【００４８】
又、このＤＣＥＬＬスイッチング信号生成回路８は、必ずしも演算ステートＳの値に基づいてＤＣＥＬＬスイッチング信号を生成する必要はなく、例えば、サスペンド信号がアクティブである場合、即ち暗号プロセッサ２が停止状態である場合に予め定められた所定数のＤＣＥＬＬを導通させるためのＤＣＥＬＬスイッチング信号を生成するものとしても構わない。この場合、ＤＣＥＬＬスイッチング信号生成回路８はサスペンド信号の値に基づいてＤＣＥＬＬスイッチング信号を生成する構成であり、このサスペンド信号の値に基づいて予め定められた一のＤＣＥＬＬ数を導通或いは非導通させるＤＣＥＬＬスイッチング信号が生成されることとなる。
【００４９】
暗号プロセッサ２は、暗号演算状態とサスペンド状態との間では当該プロセッサ２内における消費電流量に相違が生じる（これに起因して消費電力にも相違が生じる）。特に、暗号演算状態の下では、暗号化対象データをラッチする際、及び暗号処理を施した後の暗号データを次段の回路に出力する際に消費電流量が大きく増大する。暗号プロセッサ２は、上述したように、暗号プロセッサクロック信号に同期して処理が行われる構成であるため、上記ラッチ処理及び暗号データ出力処理は、何れも暗号プロセッサクロック信号の立ち上がり又は立ち下がりタイミングの近傍で発生する。従って、暗号プロセッサ２の消費電流量は暗号プロセッサクロック信号の立ち上がり又は立ち下がりタイミング近傍でピーク値を形成することとなる。
【００５０】
上述したように暗号プロセッサクロック信号は、クロック信号ＣＬＫに基づいて生成された信号であり、暗号プロセッサクロック信号の立ち上がりタイミングはクロック信号ＣＬＫの立ち上がりタイミングに同期している。一方、暗号プロセッサクロック信号がサスペンド状態にある間は、クロック信号ＣＬＫの立ち上がり又は立ち下がりタイミング時においても消費電流量が増大しない。従って、ＤＣＥＬＬスイッチング信号生成回路９が、クロック信号ＣＬＫの立ち上がり或いは立ち下がりに同期して、一定期間、即ち暗号プロセッサ２内で消費電流量がピーク値を実現する期間に相当する時間分のみアクティブとなるようなＤＣＥＬＬスイッチング信号を生成することで、暗号処理時であれば消費電流量が増大すると想定されるタイミングに合わせてＤＣＥＬＬ群６において消費電流が発生し、これによって外部から消費電流量の減少を検知してサスペンド発生を推測されない構成とすることができる。
【００５１】
図２は、本発明装置１に係る各信号及び電流量の変化のタイミングを示すタイミングチャートであり、図２（ａ）がクロック信号ＣＬＫの波形を、図２（ｂ）が暗号プロセッサクロック信号ＣＣＬＫの波形を、図２（ｃ）が暗号プロセッサ消費電流Ｉｃの波形を、図２（ｄ）がＤＣＥＬＬ消費電流Ｉｄの波形を、図２（ｅ）が暗号化装置１全体の消費電流Ｉａの波形を、夫々示している。
【００５２】
上述したように、暗号プロセッサ２は、暗号プロセッサクロック信号ＣＣＬＫに同期して暗号演算処理が行われ、この処理中に消費電流Ｉｃの電流量が増大する。一方、サスペンド期間（図２内における期間ｔ１、ｔ２）中は、暗号プロセッサ２において暗号演算処理が行われないため、暗号プロセッサ２における消費電流Ｉｃは増大しない（図２（ｃ）参照）。
【００５３】
しかしながら、このサスペンド期間（ｔ１、ｔ２）内において、クロック信号ＣＬＫに同期してＤＣＥＬＬ群６で電流消費が行われるため、当該ＤＣＥＬＬ消費電流Ｉｄが増大し（図２（ｄ）参照）、この結果、本発明装置１全体での消費電流量はサスペンド期間内においても、暗号演算処理を行っている場合と同様のタイミングで増大する（図２（ｅ）参照）。これによって、暗号処理状態における消費電流量の変化とサスペンド状態下での消費電流量の変化とを略同程度にすることができるため、外部から消費電流量の変化を検知して消費電流波形のアライメントを行った場合でも、サスペンドの発生タイミングを推測することが困難な構成となる。
【００５４】
尚、上述の実施形態において、図１に示されるように、ＤＣＥＬＬ群６の導通回路数を決定するための設定値を、ソフトウェア又は手動によって外部よりＤＣＥＬＬスイッチング信号生成回路８に対して入力可能な構成としても良く、更には、乱数発生回路５から出力される擬似乱数が入力されることで、当該擬似乱数に応じて導通個数に一定のバラツキを生じさせる構成としても構わない。以下の第２実施形態においても同様とする。
【００５５】
［第２実施形態］
本発明装置の第２実施形態（以下、適宜「本実施形態」と称する）について、図３を参照して説明する。尚、本実施形態は、第１実施形態と比較してクロック信号ＣＬＫの生成方法が異なるのみで他の構成は第１実施形態と同一であるため、以下では、当該異なる部分についてのみ説明を行い、第１実施形態と同一の構成部分についてはその説明を省略する。
【００５６】
図３は、本実施形態においてクロック信号ＣＬＫを生成するクロック選択回路９の概略的構成を示すブロック図である。
【００５７】
クロック選択回路９は、外部から基準となるシステムクロック信号ＳＣＬＫ、乱数発生回路５ａ（第１実施形態における乱数発生回路５と同一の乱数発生回路としても良い）、及び暗号プロセッサイネーブル信号が入力される構成であり、内部にクロック選択信号生成回路１０、セレクタ回路１１、及び一又は複数の選択用クロック生成回路（図３中では「オシレータ」と表記）１２ａ、１２ｂ、・・・（以下、「選択用クロック生成回路１２」と総称）を備える構成である。尚、選択用クロック生成回路１２ａ、１２ｂ、・・・は、夫々異なる周波数特性を有する選択用クロック信号ＯＣＬＫａ、ＯＣＬＫｂ（以下、「選択用クロック信号ＯＣＬＫ」と総称）を出力可能に構成されている。
【００５８】
クロック選択回路９は、システムクロック信号ＳＣＬＫ、及び各選択用クロック信号ＯＣＬＫから一の信号を選択して、この選択された信号を前記クロック信号ＣＬＫとしてクロック制御回路３或いは電流制御回路４に出力する。このとき、セレクタ回路１１が、クロック選択信号生成回路１０から与えられるクロック選択信号に基づいて一の信号を選択する。
【００５９】
クロック選択信号生成回路１０は、例えば暗号プロセッサイネーブル信号の立ち上がりを検知して乱数発生回路５ａから与えられる擬似乱数をラッチし、当該擬似乱数をデコードして、このデコード結果に応じて予め定められた信号をクロック選択信号として生成し、出力する。
【００６０】
セレクタ回路１１は、クロック選択信号に基づいてシステムクロック信号ＳＣＬＫ、及び各選択用クロック信号ＯＣＬＫの中から一の信号を選択し、後段に出力する。このように構成することで、暗号プロセッサイネーブル信号がアクティブ状態を維持している本発明装置１の駆動中においては、常に同一のクロック信号ＣＬＫが生成されることとなる。尚、セレクタ回路１１の出力側に、セレクタ回路１１から出力されるクロック信号ＣＬＫと暗号プロセッサイネーブル信号とが入力される論理積回路を備え、当該論理積回路の出力信号をクロック制御回路３或いは電流制御回路４に与える構成とすることで、本発明装置１が非動作時にクロック信号ＣＬＫが各回路３、４に与えられることを防止し、無用な消費電力の発生を回避することができる。
【００６１】
このように構成することで、本発明装置１を駆動する毎にクロック信号ＣＬＫがランダムに変化するため、本発明装置１の消費電流が増大するタイミングをその都度変化させることができる。これによって、長期間に亘って消費電流量（又は消費電力）の変化を解析し消費電流波形のアライメントを行った場合でも、サスペンドの発生タイミングを推測することが困難な構成となる。
【００６２】
尚、上述の実施形態では、選択用クロック生成回路としてオシレータを利用するものとしたが、分周器によってシステムクロック信号ＳＣＬＫを分周させることで選択用クロック信号を生成する構成としても構わない。
【００６３】
又、図３に示されるように、クロック選択信号生成回路１０がセキュリティレベルＳｃ（第１実施形態におけるセキュリティレベルＳｔと同一の信号を利用しても良い）が入力される構成であって、当該セキュリティレベルＳｃに応じてクロック選択信号の生成方法が変化する構成としても構わない。即ち、セキュリティレベルＳｃに応じて、セレクタ回路１１によって選択される選択対象となる信号が決定される構成とすることができる。
【００６４】
例えば、セキュリティレベルＳｃを高く設定した場合は、システムクロック信号ＳＣＬＫ及び全ての選択用クロック信号ＯＣＬＫから一の信号を選択する構成とし、セキュリティレベルＳｃを低く設定した場合は、システムクロック信号ＳＣＬＫ及び所定の選択用クロック信号（例えば選択用クロック信号ＯＣＬＫａのみ）から一の信号を選択する構成とすることができる。このようにすることで、セキュリティレベルに応じてクロック信号の変化に幅を持たせることができ、よりセキュアな構成とすることができる。尚、セキュリティが最も低い場合、即ちセキュリティの確保を必要としない場合には、システムクロック信号ＳＣＬＫのみが常に選択される、即ちクロック選択を行わないようにすることも可能な構成であるものとして構わない。又、当該構成下においてセキュリティレベルＳｃが外部から入力されない場合には、予め定められた所定のセキュリティレベルに基づいてクロック選択信号を生成するものとすれば良い。
【００６５】
更に、クロック選択信号を決定するための設定値をソフトウェア又は手動によって外部よりクロック選択信号生成回路１０に対して入力可能な構成としても良い。この場合、当該設定値、又は当該設定値と擬似乱数、又は当該設定値、擬似乱数、及びセキュリティレベルに基づいてクロック選択信号生成回路１０においてクロック選択信号が生成されることとなる。
【００６６】
尚、上述の各実施形態では、本発明装置１が乱数発生回路５を備えるものとして説明をしたが、本発明装置１が乱数発生回路５を内部に備える構成ではなく、本発明装置１の外部に存在する乱数発生回路５から出力された擬似乱数が本発明装置１に入力される構成としても構わない。
【図面の簡単な説明】
【００６７】
【図１】本発明に係る暗号化装置の概略構成を示すブロック図
【図２】本発明に係る各信号値の変化を示すタイミングチャート
【図３】本発明に係る暗号化装置の第２実施形態におけるクロック選択回路の概略構成を示すブロック図
【符号の説明】
【００６８】
１：    本発明に係る暗号化装置
２：    暗号プロセッサ
３：    クロック制御回路
４：    電流制御回路
５、５ａ：    乱数発生回路
６：    ＤＣＥＬＬ（ダミーセル）群
７：    サスペンド信号生成回路
８：    ＤＣＥＬＬスイッチング信号生成回路
９：    クロック選択回路
１０：    クロック選択信号生成回路
１１：    セレクタ回路
１２：    選択用クロック生成回路
１２ａ、１２ｂ：    オシレータ（選択用クロック生成回路の一例）
【図１】
2008113130.tif 000003
【図２】
2008113130.tif 000004
【図３】
2008113130.tif 000005
【手続補正書】
【提出日】平成19年11月8日(2007.11.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クロック信号及び擬似乱数が入力される構成であって、前記擬似乱数に基づいて前記クロック信号に対してサスペンド処理及びレジューム処理を施して暗号プロセッサクロック信号を生成するクロック制御回路と、
前記暗号プロセッサクロック信号に同期して暗号化対象データに対する暗号化処理を施す暗号プロセッサと、
前記暗号プロセッサの動作状態を示す演算ステートを取得して、当該演算ステートに応じて消費電流量の調整を行う電流制御回路と、を備え、
前記クロック制御回路が、
前記擬似乱数に基づいて前記クロック信号のサスペンド長及びサスペンド発生確率を決定することを特徴とする暗号化装置。
【請求項２】
前記クロック制御回路が、
前記暗号化対象データのセキュリティレベルが入力される構成であって、
前記セキュリティレベルに基づいて前記サスペンド長及び前記サスペンド発生確率の何れか一方又は両方の決定方法を変更することを特徴とする請求項１に記載の暗号化装置。
【請求項３】
前記クロック信号を出力するクロック選択回路を備える構成であって、
前記クロック選択回路が、
基準となるシステムクロック信号及び前記擬似乱数が入力されると共に、前記システムクロック信号に起因して、又は無関係に、前記システムクロック信号とは異なる独自の選択用クロック信号を生成する一又は複数の選択用クロック生成回路を内部に有し、前記擬似乱数に基づいて一又は複数の前記選択用クロック信号、及び前記システムクロック信号の内の何れか一の信号を選択し前記クロック信号として出力する構成であることを特徴とする請求項１又は２に記載の暗号化装置。
【請求項４】
前記クロック選択回路が、
前記セキュリティレベルが入力される構成であって、
前記セキュリティレベルに応じて、前記クロック信号を決定する際の選択対象となる信号が決定されることを特徴とする請求項３に記載の暗号化装置。
【請求項５】
前記電流制御回路が、夫々にスイッチング素子を有する複数のダミーセルを内部に備え、
前記演算ステートに応じて予め定められた個数の前記ダミーセルを導通させることで前記消費電流量の補正を行うことを特徴とする請求項１〜４の何れか１項に記載の暗号化装置。
【請求項６】
前記電流制御回路が、
前記演算ステートと、外部から設定された設定調整量に応じて前記消費電流量の調整を行うことを特徴とする請求項１〜５の何れか１項に記載の暗号化装置。
【請求項７】
前記電流制御回路が、前記擬似乱数の入力を受け付ける構成であり、
前記演算ステートと、前記擬似乱数の値に応じて前記消費電流量の調整を行うことを特徴とする請求項１〜６の何れか１項に記載の暗号化装置。