JP2008113130A - 暗号化装置 - Google Patents

暗号化装置 Download PDF

Info

Publication number
JP2008113130A
JP2008113130A JP2006293873A JP2006293873A JP2008113130A JP 2008113130 A JP2008113130 A JP 2008113130A JP 2006293873 A JP2006293873 A JP 2006293873A JP 2006293873 A JP2006293873 A JP 2006293873A JP 2008113130 A JP2008113130 A JP 2008113130A
Authority
JP
Japan
Prior art keywords
clock signal
clock
suspend
random number
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006293873A
Other languages
English (en)
Other versions
JP4117008B2 (ja
Inventor
Yoshitaka Okita
悦崇 沖田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Priority to JP2006293873A priority Critical patent/JP4117008B2/ja
Priority to CN2007800407196A priority patent/CN101542969B/zh
Priority to PCT/JP2007/065810 priority patent/WO2008053626A1/ja
Priority to US12/447,345 priority patent/US20100067685A1/en
Publication of JP2008113130A publication Critical patent/JP2008113130A/ja
Application granted granted Critical
Publication of JP4117008B2 publication Critical patent/JP4117008B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 消費電流波形のアライメントを困難化することで、消費電流解析による暗号鍵の解読を防止する機能を高めた暗号化装置を提供する。
【解決手段】 クロック信号CLK及び擬似乱数が入力される構成であって、前記擬似乱数に基づいて前記クロック信号CLKに対してサスペンド処理及びレジューム処理を施して暗号プロセッサクロック信号CCLKを生成するクロック制御回路3と、前記暗号プロセッサクロック信号に同期して暗号化対象データに対する暗号化処理を施す暗号プロセッサ2と、前記暗号プロセッサ2の動作状態を示す演算ステートSを取得して、当該演算ステートSに応じて消費電流量の調整を行う電流制御回路4と、を備える。
【選択図】 図1

Description

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

Claims (8)

  1. クロック信号及び擬似乱数が入力される構成であって、前記擬似乱数に基づいて前記クロック信号に対してサスペンド処理及びレジューム処理を施して暗号プロセッサクロック信号を生成するクロック制御回路と、
    前記暗号プロセッサクロック信号に同期して暗号化対象データに対する暗号化処理を施す暗号プロセッサと、
    前記暗号プロセッサの動作状態を示す演算ステートを取得して、当該演算ステートに応じて消費電流量の調整を行う電流制御回路と、を備えることを特徴とする暗号化装置。
  2. 前記クロック制御回路が、
    前記擬似乱数に基づいて前記クロック信号のサスペンド長及びサスペンド発生確率を決定することを特徴とする請求項1に記載の暗号化装置。
  3. 前記クロック制御回路が、
    前記暗号化対象データのセキュリティレベルが入力される構成であって、
    前記セキュリティレベルに基づいて前記サスペンド長及び前記サスペンド発生確率の何れか一方又は両方の決定方法を変更することを特徴とする請求項2に記載の暗号化装置。
  4. 前記クロック信号を出力するクロック選択回路を備える構成であって、
    前記クロック選択回路が、
    基準となるシステムクロック信号及び前記擬似乱数が入力されると共に、前記システムクロック信号に起因して、又は無関係に、前記システムクロック信号とは異なる独自の選択用クロック信号を生成する一又は複数の選択用クロック生成回路を内部に有し、前記擬似乱数に基づいて一又は複数の前記選択用クロック信号、及び前記システムクロック信号の内の何れか一の信号を選択し前記クロック信号として出力する構成であることを特徴とする請求項1〜請求項3の何れか1項に記載の暗号化装置。
  5. 前記クロック選択回路が、
    前記セキュリティレベルが入力される構成であって、
    前記セキュリティレベルに応じて、前記クロック信号を決定する際の選択対象となる信号が決定されることを特徴とする請求項4に記載の暗号化装置。
  6. 前記電流制御回路が、夫々にスイッチング素子を有する複数のダミーセルを内部に備え、
    前記演算ステートに応じて予め定められた個数の前記ダミーセルを導通させることで前記消費電流量の補正を行うことを特徴とする請求項1〜請求項5の何れか1項に記載の暗号化装置。
  7. 前記電流制御回路が、
    前記演算ステートと、外部から設定された設定調整量に応じて前記消費電流量の調整を行うことを特徴とする請求項1〜請求項6の何れか1項に記載の暗号化装置。
  8. 前記電流制御回路が、前記擬似乱数の入力を受け付ける構成であり、
    前記演算ステートと、前記擬似乱数の値に応じて前記消費電流量の調整を行うことを特徴とする請求項1〜請求項7の何れか1項に記載の暗号化装置。
JP2006293873A 2006-10-30 2006-10-30 暗号化装置 Expired - Fee Related JP4117008B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006293873A JP4117008B2 (ja) 2006-10-30 2006-10-30 暗号化装置
CN2007800407196A CN101542969B (zh) 2006-10-30 2007-08-13 加密装置
PCT/JP2007/065810 WO2008053626A1 (fr) 2006-10-30 2007-08-13 Appareil de cryptage
US12/447,345 US20100067685A1 (en) 2006-10-30 2007-08-13 Encryption device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006293873A JP4117008B2 (ja) 2006-10-30 2006-10-30 暗号化装置

Publications (2)

Publication Number Publication Date
JP2008113130A true JP2008113130A (ja) 2008-05-15
JP4117008B2 JP4117008B2 (ja) 2008-07-09

Family

ID=39343977

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006293873A Expired - Fee Related JP4117008B2 (ja) 2006-10-30 2006-10-30 暗号化装置

Country Status (4)

Country Link
US (1) US20100067685A1 (ja)
JP (1) JP4117008B2 (ja)
CN (1) CN101542969B (ja)
WO (1) WO2008053626A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009131135A1 (ja) 2008-04-23 2009-10-29 武田薬品工業株式会社 イミノピリジン誘導体およびその用途
KR20180059872A (ko) * 2015-09-25 2018-06-05 제말토 에스에이 랜덤 클럭 생성기
JP2018535606A (ja) * 2016-02-23 2018-11-29 グーグル エルエルシー 暗号攻撃に対する防御のためのクロック周期ランダム化

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201699877U (zh) * 2010-02-05 2011-01-05 鸿富锦精密工业(深圳)有限公司 视频加密信号侦测电路及使用其的视频设备
US8522052B1 (en) 2010-04-07 2013-08-27 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US9213835B2 (en) * 2010-04-07 2015-12-15 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
US20110299678A1 (en) * 2010-06-07 2011-12-08 Alexander Roger Deas Secure means for generating a specific key from unrelated parameters
CN102710413A (zh) * 2012-04-25 2012-10-03 杭州晟元芯片技术有限公司 一种抗dpa/spa攻击的系统和方法
CN102999077B (zh) * 2012-12-03 2014-08-13 哈尔滨工业大学(威海) 一种高线性补偿的电流平整电路
US8995658B2 (en) 2013-02-13 2015-03-31 Honeywell International Inc. Physics-based key generation
US9465960B2 (en) 2013-12-04 2016-10-11 Honeywell International Inc. Physics-based authentication
US10063569B2 (en) * 2015-03-24 2018-08-28 Intel Corporation Custom protection against side channel attacks
WO2017084080A1 (zh) 2015-11-20 2017-05-26 华为技术有限公司 一种生成中奖数字的方法及装置
US10771236B2 (en) * 2017-05-03 2020-09-08 Seagate Technology Llc Defending against a side-channel information attack in a data storage device
CN107797788B (zh) * 2017-11-03 2021-02-12 大唐微电子技术有限公司 一种随机数发生装置、真随机数发生器及系统级芯片
CN109861818A (zh) * 2019-03-06 2019-06-07 京东方科技集团股份有限公司 加密及解密电路、加密及解密设备以及加密及解密方法
US11423152B2 (en) * 2019-06-11 2022-08-23 Facebook Technologies, Llc Randomized clock cycle lengths for boot sequences
TWI758675B (zh) * 2019-12-31 2022-03-21 新唐科技股份有限公司 微控制電路及印刷電路板
CN111272245B (zh) * 2020-04-10 2021-11-02 杭州九阳小家电有限公司 一种食品加工机的进水量检测方法
CN111600873B (zh) * 2020-05-13 2023-03-10 江苏芯盛智能科技有限公司 防侧信道攻击方法及相关装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002141897A (ja) * 2000-10-31 2002-05-17 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 耐タンパー機能を有する暗号回路
JP2003018143A (ja) * 2001-06-28 2003-01-17 Mitsubishi Electric Corp 情報処理装置
JP2004310752A (ja) * 2003-03-12 2004-11-04 Sharp Corp データ処理装置における誤り検出
JP2005020735A (ja) * 2003-06-26 2005-01-20 Sharp Corp データ処理装置におけるサイドチャネル攻撃防止
JP2005045752A (ja) * 2003-07-07 2005-02-17 Sony Corp 暗号処理装置、および暗号処理方法
JP2005252705A (ja) * 2004-03-04 2005-09-15 Sony Corp データ処理回路および制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE364272T1 (de) * 1999-11-03 2007-06-15 Infineon Technologies Ag Kodiervorrichtung
GB2365153A (en) * 2000-01-28 2002-02-13 Simon William Moore Microprocessor resistant to power analysis with an alarm state
EP1293856A1 (fr) * 2001-09-18 2003-03-19 EM Microelectronic-Marin SA Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action
US6886023B2 (en) * 2002-01-14 2005-04-26 Ip-First, Llc Apparatus for generating random numbers
EP1496641A3 (en) * 2003-07-07 2005-03-02 Sony Corporation Cryptographic processing apparatus, cryptographic processing method and computer program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002141897A (ja) * 2000-10-31 2002-05-17 Advanced Mobile Telecommunications Security Technology Research Lab Co Ltd 耐タンパー機能を有する暗号回路
JP2003018143A (ja) * 2001-06-28 2003-01-17 Mitsubishi Electric Corp 情報処理装置
JP2004310752A (ja) * 2003-03-12 2004-11-04 Sharp Corp データ処理装置における誤り検出
JP2005020735A (ja) * 2003-06-26 2005-01-20 Sharp Corp データ処理装置におけるサイドチャネル攻撃防止
JP2005045752A (ja) * 2003-07-07 2005-02-17 Sony Corp 暗号処理装置、および暗号処理方法
JP2005252705A (ja) * 2004-03-04 2005-09-15 Sony Corp データ処理回路および制御方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GIRISH B. RATANPAL, RONALD D. WILLIAMS, TRAVIS N. BLALOCK: "An On-Chip Signal Suppression Countermeasure to Power Analysis Attacks", IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, vol. 1, no. 3, JPN4007018947, 2004, pages 179 - 189, XP011123181, ISSN: 0000892974, DOI: 10.1109/TDSC.2004.25 *
GIRISH B. RATANPAL, RONALD D. WILLIAMS, TRAVIS N. BLALOCK: "An On-Chip Signal Suppression Countermeasure to Power Analysis Attacks", IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, vol. 1, no. 3, JPN7008002609, 2004, pages 179 - 189, XP011123181, ISSN: 0001006166, DOI: 10.1109/TDSC.2004.25 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009131135A1 (ja) 2008-04-23 2009-10-29 武田薬品工業株式会社 イミノピリジン誘導体およびその用途
KR20180059872A (ko) * 2015-09-25 2018-06-05 제말토 에스에이 랜덤 클럭 생성기
JP2018528719A (ja) * 2015-09-25 2018-09-27 ジエマルト・エス・アー ランダムクロック発生器
KR102398235B1 (ko) 2015-09-25 2022-05-13 제말토 에스에이 랜덤 클럭 생성기
JP2018535606A (ja) * 2016-02-23 2018-11-29 グーグル エルエルシー 暗号攻撃に対する防御のためのクロック周期ランダム化
JP2020058034A (ja) * 2016-02-23 2020-04-09 グーグル エルエルシー 暗号攻撃に対する防御のためのクロック周期ランダム化
US10958414B2 (en) 2016-02-23 2021-03-23 Google Llc Clock period randomization for defense against cryptographic attacks
JP7094932B2 (ja) 2016-02-23 2022-07-04 グーグル エルエルシー 暗号攻撃に対する防御のためのクロック周期ランダム化
US11750361B2 (en) 2016-02-23 2023-09-05 Google Llc Clock period randomization for defense against cryptographic attacks

Also Published As

Publication number Publication date
JP4117008B2 (ja) 2008-07-09
US20100067685A1 (en) 2010-03-18
CN101542969A (zh) 2009-09-23
WO2008053626A1 (fr) 2008-05-08
CN101542969B (zh) 2012-07-18

Similar Documents

Publication Publication Date Title
JP4117008B2 (ja) 暗号化装置
Yarom et al. Recovering OpenSSL ECDSA nonces using the FLUSH+ RELOAD cache side-channel attack
US8687799B2 (en) Data processing circuit and control method therefor
CN106664204B (zh) 差分功率分析对策
US20020101996A1 (en) Variable-length key cryptosystem
US8010587B2 (en) Random number generator
EP2551837B1 (en) Random number generator, encryption device and recognition device
KR20150122513A (ko) 암호화 장치, 암호화 방법 및 컴퓨터 판독가능 기록매체
JP2004265194A (ja) 情報処理装置、および情報処理方法
JP6533553B2 (ja) 暗号化/復号装置及びその電力解析保護方法
JP6167876B2 (ja) 電子回路、電子機器及び認証システム
US20090327382A1 (en) Pseudo-random number generation device, stream encryption device and program
EP3698262B1 (en) Protecting modular inversion operation from external monitoring attacks
US7359509B2 (en) Method and system for generation of cryptographic keys and the like
CN116610288A (zh) 随机数生成方法及装置
Ziad et al. Homomorphic data isolation for hardware trojan protection
JP2006135969A (ja) 情報処理装置、情報処理方法及びプログラム
Zafar et al. A novel countermeasure enhancing side channel immunity in FPGAs
JP2005204128A (ja) 個別鍵生成装置及びプログラム
US9645602B2 (en) Frequency sensor for side-channel attack
Srivastava et al. Msmet: A Modified & Secure Multilanguage Encryption Technique
JP6473874B2 (ja) メモリ装置、ホスト装置、及びメモリシステム
JP2017028506A (ja) メモリ装置、ホスト装置、及びメモリシステム
JP2009206593A (ja) 暗号化方法および装置
JP2004349992A (ja) 暗号に用いる鍵生成機能を備えるデータ処理装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080325

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080418

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees