JP2023501886A - クロック変動下での電圧変動検出 - Google Patents

クロック変動下での電圧変動検出 Download PDF

Info

Publication number
JP2023501886A
JP2023501886A JP2022522937A JP2022522937A JP2023501886A JP 2023501886 A JP2023501886 A JP 2023501886A JP 2022522937 A JP2022522937 A JP 2022522937A JP 2022522937 A JP2022522937 A JP 2022522937A JP 2023501886 A JP2023501886 A JP 2023501886A
Authority
JP
Japan
Prior art keywords
voltage
signal
circuit
delay
clock 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
JP2022522937A
Other languages
English (en)
Other versions
JP7369867B2 (ja
Inventor
タンサー,エムレ
シュ,フアチャン
ラガバン,ラームプラサード
グール,ファニー
ハーナー,マニシュ
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2023501886A publication Critical patent/JP2023501886A/ja
Application granted granted Critical
Publication of JP7369867B2 publication Critical patent/JP7369867B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/165Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values
    • G01R19/16533Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values characterised by the application
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/0038Circuits for comparing several input signals and for indicating the result of this comparison, e.g. equal, different, greater, smaller (comparing pulses or pulse trains according to amplitude)
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/165Indicating that current or voltage is either above or below a predetermined value or within or outside a predetermined range of values
    • G01R19/16566Circuits and arrangements for comparing voltage or current with one or several thresholds and for indicating the result not covered by subgroups G01R19/16504, G01R19/16528, G01R19/16533
    • G01R19/1659Circuits and arrangements for comparing voltage or current with one or several thresholds and for indicating the result not covered by subgroups G01R19/16504, G01R19/16528, G01R19/16533 to indicate that the value is within or outside a predetermined range of values (window)
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/30Measuring the maximum or the minimum value of current or voltage reached in a time interval
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/10Distribution of clock signals, e.g. skew
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • G08B21/185Electrical failure alarms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Nonlinear Science (AREA)
  • Emergency Management (AREA)
  • Business, Economics & Management (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

集積回路(IC)に対する電圧ベースの攻撃を検出することは、クロックジッタの存在下では困難である。伝播する信号は、電圧ベースの攻撃に起因する遅延成分とクロック変動に起因する遅延特性とに起因する全体遅延を示し得る。電圧変動検出回路(106)は、第1および第2の電圧依存回路(302-1、302-2)と、電圧分析回路(306)とを含む。電圧依存回路(302-1、302-2)は、クロック信号(204)に応答して、異なる第1および第2の電圧感度(304-1、304-2)に基づいて、電圧レベル(216)を示す第1および第2の信号(218-1、218-2)を生成する。電圧分析回路(306)は、第1および第2の信号(218-1、218-2)に基づいて電圧警報信号108を生成する。結合された信号が、第1および第2の信号(218-1、218-2)における遅延特性を中和する。したがって、2つの電圧依存回路を用いることによって、クロック変動の存在下で電圧ベースの攻撃を検出することができる。

Description

背景
電子デバイスは、製造、通信、輸送、健康管理、商業、社会的対話、および娯楽において不可欠な役割を果たす。例えば、電子デバイスは、商取引および通信のためにクラウドベースの分散コンピューティング機能を提供するサーバファームに電力を供給する。電子デバイスは、医療機器から電気器具まで、および車両から産業用ツールまで、多くの異なるタイプの現代機器にも埋め込まれる。加えて、1つの電子デバイス-スマートフォン-は、実際に、手の届く範囲内にある必要がある。電子デバイスが普及し、現代生活の多くの局面にとって重要になるにつれて、デバイスセキュリティは不可欠になっている。
多くの人々はマルウェアに精通しており、マルウェアは一般に「コンピュータウイルス」と呼ばれることがある。弾力的なオペレーティングシステム、安全な計算慣習、およびアンチマルウェアプログラムは、多くの場合、多くのタイプのマルウェアと闘うことによって、遠隔脅威からユーザの情報を安全に保つことができる。しかしながら、電子デバイスによって記憶される情報のセキュリティは、ハードウェアに対する物理的攻撃によって危険にさらされる可能性もある。言い換えれば、いくつかのハードウェア攻撃は、上で列挙された戦略を回避または弱めて、不正行為者が、安全に保たれることが意図された情報にアクセスすることを可能にし得る。
電子デバイスのハードウェアは、保護されるべき情報を利用してもよい機能を含む、なんらかの所望の機能を可能にするためのインテリジェンスを提供する集積回路(IC)を含む。この情報の保護をサポートするために、いくつかのICは、金融データ、パスワード、および秘密鍵などの保護されるべき情報の暗号化および復号を容易にするセキュリティ回路を含む。残念ながら、不正行為者は、そのセキュリティ回路を含むICを物理的に攻撃して、「ハード化された」回路部分に記憶されるかまたはそうでなければICによって保護される情報へのアクセスを試みることができる。したがって、そのような物理的攻撃を識別し、ブロックし、撃退し、または他の態様で阻止することができる、ハードウェアベースの手段をICに組み込むことは、有益である。
この背景技術のセクションは、概して本開示の文脈を提示するために提供される。本明細書において別段の指示がない限り、このセクションに記載される材料は、本開示または特許請求の範囲に対する先行技術であるようには明示的にも暗示的にも認められない。
概要
本概要セクションは、クロック変動下での電圧変動検出の簡略化された概念を紹介するために提供される。これらの簡略化された概念は、以下の詳細な説明においてさらに説明される。したがって、このセクションは、特許請求される主題の本質的な特徴を特定することを意図するものではなく、特許請求される主題の範囲を決定する際の使用を意図するものでもない。
電子デバイスは、電圧または周波数スパイク攻撃に脆弱であり得る集積回路(IC)を含む。そのような物理的攻撃は、回路のタイミング特性を変更し、人工的なメタスタビリティを導入し得る。不正行為者は、人工的なメタスタビリティを利用して、回路を、保護されることが意図されるデータを漏洩する状態にすることができる。そのようなデータを保護するために、ICチップ上の回路は、物理的攻撃を検出し、警報信号を発することができる。警報信号に応答して、ICチップは、攻撃から保護するために何らかのアクションを取ることができる。
電圧ベースの攻撃は、例えば、回路部分の電圧レベルを変化させて、メタスタビリティを誘発することを含む。したがって、回路部分は、電圧レベルが変化していると判断することにより、攻撃を検出することができる。電圧レベルが変化していると判定することは、電圧に敏感な回路を用いて、伝搬信号が遅延されているという観察に基づくことができる。ところで、環境によっては、ICチップへの物理的な攻撃に対抗するために、クロック信号の周波数変動、すなわちクロック変動を意図的に生じさせる。クロック変動は、ある程度のランダム化を導入することができる。ランダム化は、監視された信号に課されるメタスタビリティからデータ値を推論することをより困難にする。セキュリティ回路におけるクロック変動の使用により、電圧ベースの攻撃は、クロック信号の周波数変動の存在下で起こり得る。これらの状況では、電圧ベースの攻撃の検出は、信号遅延が、部分的には、電圧ベースの攻撃から生じる変動する電圧に起因し、部分的には、物理的攻撃に対抗することが意図されるクロック変動に起因し得るため、困難である。
この課題に対処するために、いくつかの実現例は、異なる第1の電圧感度および第2の電圧感度を有するそれぞれの第1の電圧依存回路および第2の電圧依存回路を用いて第1の信号および第2の信号を生成する。この結果、第1の信号と第2の信号とでは、電圧変動に対する反応が異なり、2つの信号の信号遅延成分が異なる。しかしながら、第1および第2の信号は、周波数変動を受けるクロック信号に同様に反応する。このため、第1の信号と第2の信号とは、クロック変動により実質的に同じ遅延特性を有する。第1の信号と第2の信号とを結合して結合された信号を生成することにより、クロック変動による遅延特性は中和されるが、電圧変動による遅延成分を少なくとも部分的に維持することができる。したがって、この結合された信号は、クロック変動の存在下であっても電圧レベルを変化させる電圧ベースの攻撃を検出するために用いることができる。
第1および第2の電圧依存回路の各々は、複数の遅延ユニットを含む遅延回路を含む。各遅延ユニットは、それぞれの第1または第2の電圧依存回路に対して、対応する電圧感度を有する。各遅延ユニットは、例えば、2つの第1の電圧依存回路と第2の電圧依存回路との間で異なるそれぞれの閾値電圧を有する少なくとも1つのトランジスタを用いて実現することができる。例示的な動作では、トグルフリップフロップは、サイクルごとにエッジを生成する。エッジは、構成トランジスタのそれぞれの閾値電圧に依存する伝搬速度で遅延ユニットのそれぞれのセットを通って伝搬する。第1および第2の電圧依存回路の各々は、バッファチェーンおよび複数のサンプリングレジスタを含むサンプル回路も含む。遅延されたエッジは、それぞれの遅延回路からそれぞれのサンプル回路のバッファチェーンに結合され、エッジはそれぞれのバッファチェーンを通過する。複数のサンプリングレジスタは、遅延されたエッジがバッファチェーンに沿って各サイクル中にどれだけ移動するかを捕捉するために、バッファチェーンに結合される。第1または第2の電圧依存回路によって出力される第1または第2の信号はそれぞれ、対応するそれぞれの信号遅延を表す位置にエッジを含む。
電圧分析回路は、第1および第2の電圧依存回路からそれぞれ第1および第2の信号を受け取り、電圧ベースの攻撃が発生しているかどうかを判定する。分析は、第1および第2の信号を結合することと、結合された信号を少なくとも1つの閾値と比較することとを含む。分析は、第1および第2の信号を互いに比較して、電圧スパイクが正であるか負であるかを判断することを含むこともできる。このように、対応する第1および第2の電圧感度を有する第1および第2の電圧依存回路を採用することによって、ICチップまたはその一部がクロック変動を受けている一方で、電圧ベースの攻撃を検出することができる。
以下で説明する態様は、クロック変動下での電圧変動検出のための装置を含む。装置は、第1の電圧依存回路と、第2の電圧依存回路と、電圧分析回路と、クロック信号を伝搬するよう構成されるクロック線とを含む。第1の電圧依存回路はクロック線に結合され、第1の電圧依存回路は、クロック信号に応答して、第1の電圧感度に基づいて、電圧レベルを示す第1の信号を生成するよう構成される。第2の電圧依存回路はクロック線に結合され、第2の電圧依存回路は、クロック信号に応答して、第2の電圧感度に基づいて、電圧レベルを示す第2の信号を生成するよう構成される。電圧分析回路は、第1の電圧依存回路および第2の電圧依存回路に結合される。電圧分析回路は、第1の信号および第2の信号に基づいて、電圧警報信号を生成するよう構成される。
以下に説明する態様は、クロック変動下での電圧変動検出のための装置によって実行される方法を含む。本方法は、クロック信号を供給することを含む。本方法は、クロック信号を伝搬することに応答して、第1の電圧感度に基づいて、電圧レベルを示す第1の信号を生成することも含む。方法は、加えて、クロック信号を伝搬することに応答して、第2の電圧感度に基づいて、電圧レベルを示す第2の信号を生成することを含む。本方法は、さらに、第1の信号および第2の信号に基づいて、電圧警報信号を生成することを含む。
以下で説明する態様は、クロック変動下での電圧変動検出のための集積回路(IC)を含む。本装置は、クロック線と、第1の電圧依存回路と、第2の電圧依存回路と、電圧分析回路とを含む。クロック線は、1つ以上の周波数変動を有するクロック信号を伝搬するよう構成される。第1の電圧依存回路は、クロック線に結合される。第1の電圧依存回路は、電圧レベルを示す第1の信号を生成するために、第1の閾値電圧を有する少なくとも1つの第1のトランジスタを用いてクロック信号を伝搬するよう構成される。第2の電圧依存回路は、クロック線に結合される。第2の電圧依存回路は、電圧レベルを示す第2の信号を生成するために、第2の閾値電圧を有する少なくとも1つの第2のトランジスタを用いてクロック信号を伝搬するよう構成される。電圧分析回路は、第1の電圧依存回路および第2の電圧依存回路に結合される。電圧分析回路は、第1の信号と第2の信号との結合に基づいてクロック信号の1つ以上の周波数変動を中和することによって電圧ベースの攻撃を検出するよう構成される。
以下で説明する態様は、装置またはそのICの少なくとも一部として実現されてもよい、クロック変動下での電圧変動検出のためのシステムを含む。本システムは、クロック信号の周波数変動またはクロック変動の存在下で電圧変動を検出するための手段を含む。電圧変動を検出するための手段は、クロック信号を提供するよう構成される。電圧変動を検出するための手段は、クロック信号を伝搬することに応答して、第1の電圧感度に基づいて、電圧レベルを示す第1の信号を生成するようにも構成される。電圧変動を検出するための手段は、加えて、クロック信号を伝搬することに応答して、第2の電圧感度に基づいて、電圧レベルを示す第2の信号を生成するように構成される。電圧変動を検出するための手段は、さらに、第1の信号および第2の信号に基づいて、電圧警報信号を生成するように構成される。
クロック変動下での電圧変動検出のための装置および技術が、以下の図面を参照して説明される。図面全体を通して、同様の特徴および構成要素を参照するために、同じ番号が使用される。
クロック変動下で電圧変動検出を実現するよう電圧変動検出回路を含む集積回路(IC)を有する例示的な装置を示す。 保護回路と、クロック変動下で電圧変動検出を実現することができる電圧変動検出回路とを含む例示的なICを示す。 第1の電圧依存回路と、第2の電圧依存回路と、電圧分析回路とを含む電圧変動検出回路の例を示す概略図である。 図3の第1の電圧依存回路、第2の電圧依存回路、および電圧分析回路の例示的な態様を示す概略図である。 電圧依存回路の例示的な遅延回路を示す回路図である。 電圧依存回路の例示的なサンプル回路を示す回路図である。 電圧依存回路の別の例示的なサンプル回路を示す回路図である。 クロック変動下での電圧変動検出のための例示的スキームを示す図である。 クロック変動下で電圧変動検出を実現するための装置のための例示的方法を示す図である。 クロック変動下で電圧変動検出を実現するための装置のための他の例示的方法を示す図である。 1つ以上の説明される態様による、クロック変動下で電圧変動検出を実現することができる例示的な電子デバイスの様々なコンポーネントを示す図である。
詳細な説明
概観
電子デバイスは、集積回路(IC)チップを含む。いくつかのICチップは、情報を安全に保つ役割を担うセキュリティ回路を含む。残念ながら、ICチップへの直接アクセスを有する者を含む不正行為者は、安全に保たれることが意図される情報を得ようとして、ICチップに対する物理的攻撃を実行し得る。例えば、セキュリティ回路は、保護されることが意図されるデータを暗号化するために使用される秘密鍵を記憶することができる。物理的攻撃は、秘密鍵を標的にし得、秘密鍵は、データが復号され、したがって、不正行為者によってアクセスされることを可能にする。いくつかの場合において、物理的攻撃の一部として、不正行為者は、ICチップに対して全体的に、またはセキュリティ回路に対して特定的に、指定された限度範囲外の電圧または他の信号伝送パラメータを印加する。
指定された限度を超える信号または入力を印加することは、回路を計画外または意図しない態様で反応させ得る。物理的攻撃の一部として、不正行為者は、過剰な信号または入力を繰り返し印加し、それらの値を変化させることもできる。このプロセスの間、不正行為者はICチップの内部または外部信号伝送を監視する。この信号伝送を経時的に監視することによって、不正行為者は秘密鍵の指示を引き出すことができる。したがって、ICチップは、記憶された秘密鍵を漏洩するかまたは他の方法で明らかにし、秘密鍵で暗号化された任意の情報を意図せずして露出する可能性がある。
したがって、ICチップ上に記憶され保護されることが意図される秘密鍵または他の情報を不正行為者が引き出すことをより困難にすることが有益である。これらのタイプの物理的攻撃に対処する1つのアプローチは、セキュリティ回路の動作のタイミングを制御しているクロック信号の周波数を変更することである。クロック信号周波数を変更することによって、ランダム化の尺度が、不正行為者が監視している信号伝送に導入される。このランダム化の尺度は、標的とされるデータを推論するかまたは他の態様で抽出する困難性を増加させる。このように、ICチップのセキュリティを高める1つのアプローチとして、クロック信号の周波数を調整したり、クロック信号の周波数を変動させたりすることが行われている。
セキュリティ回路を物理的に攻撃する1つの例示的な手法では、不正行為者は、ICチップの仕様と整合しない態様で供給電圧または入力信号の電圧レベルを変更する。物理的攻撃に対する対策を実現できるようにするために、まず物理的攻撃を検出する。電圧ベースの攻撃を検出するための例示的なスキームは、電圧が変化しているかまたは不適切なレベルに設定されていることを確認することである。そうするために、電圧レベルを判定する。電圧レベルは、電圧依存性である1つ以上の回路デバイスを採用することによって判定することができる。具体的には、電圧依存回路デバイスを通る信号の伝搬速度は、供給電圧の電圧レベルに基づいて変化する。一連の電圧依存回路デバイスを通って伝搬する信号の経過時間または遅延が変化する場合、電圧変化の存在を推測することができる。したがって、ICチップセキュリティを高めるための別のアプローチは、伝搬信号の遅延期間に基づいて電圧レベルを検出する電圧依存回路デバイスを採用することである。
上述のように、いくつかの状況では、不正行為者によって監視され得る信号にランダム性の尺度を導入することによって、クロック信号周波数を調整してICチップセキュリティを高めることが有益である。他の状況では、伝搬信号の遅延に基づいて、不正行為者によって引き起こされる電圧レベルの変化を検出することが有益である。残念ながら、両方の戦略を一緒に実現することは困難であった。後者の戦略は、クロック信号に応答して動作する回路を通って伝搬する信号の遅延期間を用いることを含み、これは、遅延期間がクロック信号の周波数にも応答することを意味する。前者の戦略は、クロック信号の周波数を変更することを含む。その結果、電圧レベルの変化を反映することを意図した遅延期間が、クロック信号の周波数の変化を望まずして反映する可能性もある。つまり、電圧依存回路デバイスを通って伝搬する信号は、電源電圧の同時電圧レベルに基づいて遅延するが、クロック信号の周波数変動に起因する時間的特性も含む。したがって、観測される遅延のうちのどれほどが、不正行為者によって誘発される電圧変化によって引き起こされるか、および観測される遅延のうちのどれほどが、クロック信号の周波数変動の結果であるか、を確かめることは困難である。
変動する周波数を有するクロック信号の下で動作している回路に対する電圧ベースの攻撃を検出できることが有利であろう。そうするために、例示的な実現例では、ICチップは、2つの電圧依存回路および電圧分析回路を有する電圧変動検出回路を含む。第1の電圧依存回路は第1の電圧感度を有し、第2の電圧依存回路は第2の電圧感度を有する。異なる電圧感度では、2つの回路は、異なる速度で遅延回路を通して信号を伝搬する。たとえば、第1の電圧依存回路は、クロック信号に応答して、第1の電圧感度に基づいて、第1の信号を生成する。第2の電圧依存回路は、クロック信号に応答して、第2の電圧感度に基づいて、第2の信号を生成する。各信号は、供給電圧の電圧レベルの変化によって、異なる程度に影響を受け、例えば、各々は、供給電圧変動に起因して異なる遅延を有する。
しかしながら、第1の信号および第2の信号の各々は、クロック信号の周波数変動と実質的に同様の態様で影響を受ける。したがって、各信号は、クロック変動に起因するほぼ同様の遅延特性を有する。動作において、電圧分析回路は、第1の信号と第2の信号とを結合する(例えば、それらの間の差を判断する)。結果として生じる結合された信号は、共通遅延特性を中和する(例えば、実質的に相殺する)。結合された信号は、電圧グリッチが発生したかどうかを検出するために少なくとも1つの閾値と比較することができる。本明細書で説明されるように、電圧分析回路は、検出された電圧グリッチが正の電圧グリッチであるか負の電圧グリッチであるかを確認するために、第1および第2の信号を互いに比較することもできる。
このように、2つの電圧依存回路を用いることにより、クロック変動の存在下で、電圧ベースの攻撃を検出することができる。したがって、ICチップに対する物理的攻撃を妨げるクロック信号の周波数変動は、電圧ベースの物理的攻撃を検出するために電圧変動を判断するための遅延ベースの手法と組み合わせて用いることができる。
いくつかの実現例は、記憶された秘密鍵の例示的な保護に関して図示または説明されるが、説明される実現例は、概して、ICチップのデータおよび信号伝送への不正アクセスを防ぐことに適用可能である。また、説明される実現例は、概して、回路に適用可能であり、「ハード化された」または他のセキュリティ指向回路に限定されない。さらに、クロック変動-またはクロック信号の変動周波数-は、ICチップのセキュリティもしくは他の目的のための設計または不正行為者による物理的攻撃によるものであり得る。
様々なレベルの詳細における例示的な実現例が、関連する図面を参照して以下で論じられる。以下の議論は、最初に例示的な動作環境を説明し、次いで、例示的なハードウェア、スキーム、および技術を説明する。例示的な方法が、フローチャートまたは図を参照して後で説明される。
例示的な環境
図1は、クロック変動下で電圧変動検出を実現するための電圧変動検出回路106を含む集積回路(IC)104を有する例示的な装置102を示す。この例では、装置102はスマートフォンとして示されている。しかしながら、装置102は、モバイル通信デバイス、モデム、セルラー電話もしくはモバイル電話、移動局、ゲームデバイス、ナビゲーションデバイス、メディアもしくはエンターテイメントデバイス(例えば、メディアストリーマもしくはゲームコントローラ)、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、スマート家電、車両ベースの電子システム、ウェアラブルコンピューティングデバイス(たとえば、衣服もしくは腕時計)、モノのインターネット(IoT)デバイス、機械もしくは何らかの機器の電子部分、サーバコンピュータもしくはその部分(例えば、サーバブレード)など、任意の適切なコンピューティングデバイスまたは電子デバイスとして実現されてもよい。装置102の図示された例は、タブレットデバイス102-1、スマートテレビ102-2、デスクトップコンピュータ102-3、サーバコンピュータ102-4、スマートウォッチ102-5、スマートフォンまたはドキュメントリーダ102-6、およびインテリジェント眼鏡102-7を含む。
例示的な実現例では、装置102は、少なくとも1つのIC104を含む。IC104は、汎用プロセッサ、システムオンチップ(SoC)、セキュリティIC、メモリチップ、通信IC(例えば、送信または受信されている情報の暗号化または復号化を実行する)などとして実現することができる。IC104は、電圧変動検出回路106を含む。動作中、電圧変動検出回路106は、IC104の少なくとも一部分を監視して、電圧ベースの攻撃が発生していることを示し得る電圧変動を検出する。なんらかの閾値または指定された範囲を超える電圧レベルの変動の検出に応答して、電圧変動検出回路106は、電圧警報信号108を生成する。したがって、電圧警報信号108は、監視された電圧レベルの検出された変動を示すことができる。電圧警報信号108の発行に応答して、IC104または装置102の別の部分は、図2を参照して説明される電圧変動検出応答110を実現することができる。
クロック変動下での電圧変動検出のための例示的なスキーム、技術、およびハードウェア
図2は、保護回路206と、クロック変動下で電圧変動検出を実現することができる電圧変動検出回路106とを含む例示的なIC104を示す。IC104は、電圧レベル216を含む。電圧レベル216は、たとえば、IC104上の1つ以上の電力ドメインまたは回路領域のための供給電圧228(たとえば、Vdd)に対応し得る。オンチップまたはオフチップ電力管理回路(図示せず)が、供給電圧228を生成し、供給電圧228の電圧レベル216を目標電圧範囲222内に維持することができる。しかしながら、電圧レベル216は、目標電圧範囲222の範囲外である、またはそれを超える電圧変動224を経験し得る。そのような電圧変動224は、IC104に対する電圧ベースの攻撃212によって引き起こされ得る。本明細書に記載されるように、電圧変動検出回路106は、電圧変動224を検出し、検出に応答して電圧警報信号108を生成する。
いくつかのシナリオでは、電圧ベースの攻撃212は、メモリ208に記憶された秘密鍵210を標的にしている場合がある。秘密鍵210は、別のデバイスに表示または通信されるべき情報を含む、保護されるべき情報を暗号化または復号するために使用され得る。場合によっては、不正行為者が、秘密鍵210が暗号化または復号のために使用されている間に発生する信号伝送を監視することによって秘密鍵210を推論しようとする場合がある。署名は、例えば、暗号動作中に電流の流れを抽出することによって取得され得る。署名は、特定の動作を繰り返し、監視された信号を比較することによって、秘密鍵210を明らかにするように操作され得る。監視される信号伝送にランダム性を導入し、それによって、同じ動作を繰り返し実行する活動を阻むために、クロック信号204を変更してもよい。
いくつかの実現例では、クロック信号204は、少なくとも1つの周波数変動214を示す。例えば、クロック信号204は、時間とともに変動する周波数を有し得る。この周波数変動214は、IC104に対する攻撃から生じ得る。しかしながら、周波数変動214は、付加的または代替的に、物理的攻撃の一部として潜在的に監視され得る信号伝送にランダム性を導入するためのセキュリティ対策として意図的に生成され得る。たとえば、クロック生成器202またはクロックツリーの一部は、周波数変動214を有するようにクロック信号204を生成するよう構成され得る。クロック信号204の周波数変動214は、「クロックジッタ」と呼ぶことができる。クロック信号204の周波数変動214は電圧ベースの攻撃212をより困難にするが、周波数変動214は電圧ベースの攻撃212の検出をより困難にもし得る。
電圧ベースの攻撃212を検出するためのいくつかの手法は、電圧ベースの遅延を示す成分を有する信号を取得することを含む。遅延が大きすぎるかまたはそうでなければ期待される遅延期間から離れすぎている場合、回路は、電圧ベースの攻撃212が発生していると推測することができる。しかしながら、クロック信号204の周波数変動214の下で伝搬される信号は、クロック変動に起因する遅延特性も有し得る。言い換えれば、信号は、電圧ベースの攻撃212からの電圧変動224から生じる遅延、セキュリティを高めるために意図的に生成されたクロック信号204の周波数変動214から生じる遅延、またはこれらの原因の組み合わせである遅延を示し得る。複数の異なるソースから生じ得る遅延の原因、したがって、電圧ベースの攻撃212が生じているかもしれないかどうか、を判断することは、困難である。
本明細書で説明する実現例は、少なくとも1つの信号において、周波数変動214を有するクロック信号204から生じる遅延特性を中和することを可能にする。したがって、少なくとも1つの信号に残る、電圧ベースの攻撃212から生じる遅延成分、またはその派生信号を、攻撃を検出するために判断することができる。そうするために、電圧変動検出回路106は、2つの信号、すなわち第1の信号218-1および第2の信号218-2を生成する。電圧変動検出回路106は、異なる電圧感度を有する2つの回路を含み、それらの各々はそれぞれの信号218を生成する。そのような回路の例は、以下で、図3から開始して説明される。異なる電圧感度に起因して、第1の信号218-1および第2の信号218-2の各々は、電圧変動に基づく異なる遅延成分を有する。しかしながら、各信号218は、他方の信号とほぼ等価なクロック変動ベースの遅延特性を有する。
例示的な動作では、電圧変動検出回路106は、第1の信号218-1と第2の信号218-2とを結合して、結合された信号220を生成する。結合動作226は、各信号218に存在するクロック変動ベースの遅延特性を実質的に相殺して、クロック変動の影響が実質的に中和された、結合された信号220を生成する。例えば、クロック信号204の周波数変動214の影響を充分に低減して、観測可能な遅延を電圧ベースの遅延として分析できるようにすることができる。例として、結合動作226は、第1の信号218-1と第2の信号218-2との間の共通モード態様を除去するが、差分態様を残す。以下で説明するように、各信号218は、マルチビットデジタル信号として実現され得る。そのような実現例では、結合動作226は、差分(たとえば、減算)動作を用いて実行されることができる。
したがって、結合された信号220は、供給電圧228の電圧レベル216の電圧変動224を示す。第1の信号218-1、第2の信号218-2、および結合された信号220に基づいて、電圧変動検出回路106は、1つ以上の比較動作および少なくとも1つの閾値を用いて、電圧ベースの攻撃212が発生しているかどうかを検出することができる。電圧ベースの攻撃212が検出された場合、電圧変動検出回路106は、電圧警報信号108を生成し、電圧警報信号108を保護回路206に与える。この場合、電圧警報信号108は、電圧レベル216が目標電圧範囲222外にあることを示す。保護回路206は、電圧変動検出回路106に結合され、そこから電圧警報信号108を受け取る。保護回路206は、電圧レベル216が目標電圧範囲222外にあることに応答して(図1の)装置102を保護するために少なくとも1つのアクションを取る。したがって、電圧警報信号108に応答して、保護回路206は、少なくとも1つの電圧変動検出応答110を実行する。
電圧変動検出応答110は、電圧ベースの攻撃212に対抗するように設計される。電圧変動検出応答110は、攻撃の記録を保持するためにログ記録活動または監視された信号を含むことができる。さらに、保護回路206は、秘密鍵210などの標的とされる情報を保護するように働くことができる。例示的な保護アクションは、暗号動作を中止すること、メモリ208へのアクセスをブロックすること、メモリ208の電源を落とすこと、メモリ208を含む電力ドメインにおいて電力を急落させること、秘密鍵210へのアクセスを物理的に切断すること、秘密鍵210を削除またはそうでなければ破壊することなどを含む。図2に示すいくつかのコンポーネント(例えば、電圧変動検出回路106、クロック生成器202、メモリ208、および保護回路206)は、1つの局所化されたブロックの単一のインスタンスとして示されているが、各々は、複数のインスタンスで、またはIC104のある部分にわたって分散される回路として実現されてもよい。例えば、電圧変動検出回路106の異なるインスタンスは、局所化された電圧ベースの攻撃212を検出するために、IC104の周囲の様々な場所に配置されてもよい。
図3は、第1の電圧依存回路302-1と、第2の電圧依存回路302-2と、電圧分析回路306とを含む電圧変動検出回路106の例を示す概略図である。電圧変動検出回路106は、較正回路308およびクロック線310も含むことができる。クロック線310は、例えば、クロック生成器202(図2)に結合されるクロックツリー(図示せず)の一部を形成することができる。クロック線310は、クロック信号204を伝搬し、クロック信号204を第1および第2の電圧依存回路302-1および302-2に提供する。クロック信号204は、第1の電圧依存回路302-1および第2の電圧依存回路302-2の動作中に(図2の)周波数変動214を受けてもよい。示されるように、電圧レベル216は、供給電圧228に対応することができる。
例示的な実現例では、第1の電圧依存回路302-1および第2の電圧依存回路302-2は、クロック信号204を受け取るためにクロック線310に結合される。第1の電圧依存回路302-1は、第1の電圧感度304-1に対応する。第1の電圧依存回路302-1は、クロック信号204に応答し、第1の電圧感度304-1に基づいて、電圧レベル216を示す第1の信号218-1を生成する。第2の電圧依存回路302-2は、第2の電圧感度304-2に対応する。第2の電圧依存回路302-2は、クロック信号204に応答し、第2の電圧感度304-2に基づいて、電圧レベル216を示す第2の信号218-2を生成する。
第1の電圧感度304-1は、第1の電圧依存回路302-1の少なくとも一部分内におけるクロック信号204の第1の伝搬速度に対応し、第1の伝搬速度も電圧レベル216に応答する。第2の電圧感度304-2は、第2の電圧依存回路302-2の少なくとも一部分内におけるクロック信号204の第2の伝搬速度に対応し、第2の伝搬速度も電圧レベル216に応答する。ここで、第1の伝搬速度は、異なる電圧感度に基づいて、第2の伝搬速度とは異なる。したがって、第1の信号218-1の生成は、クロック信号204を第1の電圧感度304-1に基づいて第1の伝搬速度で伝搬させることを含むことができる。そして、第2の信号218-2の生成は、クロック信号204を第2の電圧感度304-2に基づいて第2の伝搬速度で伝搬させることを含むことができる。この信号伝搬の例は、図4~図6-2を参照して説明される。
電圧分析回路306は、第1の電圧依存回路302-1および第2の電圧依存回路302-2に結合される。電圧分析回路306は、第1の信号218-1および第2の信号218-2に基づいて電圧警報信号108を生成する。たとえば、電圧分析回路306は、第1の信号218-1と第2の信号218-2との結合を用いて計算される(図2の)結合された信号220に基づいて電圧警報信号108を生成することができる。電圧警報信号108を生成する例は、図4、図7および図8を参照して説明される。
較正回路308は、電圧変動検出回路106の一部であってもよく、またはそれとは別個であってもよい。示されるように、較正回路308は、第1および第2の電圧依存回路302-1および302-2に結合される。較正回路308は、第1および第2の電圧依存回路302-1および302-2に提供される少なくとも1つの較正信号312を生成する。較正への例示的なアプローチは、図4、図5、および図7を参照して説明される。
図4は、第1の電圧依存回路302-1、第2の電圧依存回路302-2、および電圧分析回路306の例示的な態様を示す概略図400である。示されるように、各電圧依存回路302は、遅延回路402およびサンプル回路404を含む。具体的には、第1の電圧依存回路302-1は、遅延回路402-1と、サンプル回路404-1とを含む。第2の電圧依存回路302-2は、遅延回路402-2と、サンプル回路404-2とを含む。各遅延回路402は、較正信号312を受信するために較正回路308に結合され、クロック信号204を受信するためにクロック線310に結合される。電圧分析回路306は、信号結合器回路406と、信号比較回路408と、分析論理410とを含む。信号結合器回路406および信号比較回路408の各々は、第1および第2の信号218-1および218-2を受信するために、サンプル回路404-1およびサンプル回路404-2の両方に直接または間接的に結合され得る。
例示的な実現例では、各遅延回路402は、クロック線310に結合され、クロック信号204を遅延させて、遅延されたクロック信号414を生成する。各それぞれのサンプル回路404は、それぞれの遅延回路402から、遅延されたクロック信号414を受け取る。各サンプル回路404は、それぞれの遅延回路402と電圧分析回路306との間に結合される。動作中、各サンプル回路404は、複数のバッファされた瞬間にわたってそれぞれの遅延されたクロック信号414をサンプリングして、電圧分析回路306に提供される信号218を生成する。いくつかの実現例では、各遅延回路402は、クロック信号204に応答して、対応する電圧感度304に基づいて、遅延されたクロック信号414を生成する。
具体的には、遅延回路402-1は遅延されたクロック信号414-1を生成し、遅延回路402-2は遅延されたクロック信号414-2を生成する。さらに、サンプル回路404-1は、遅延回路402-1と電圧分析回路306との間に結合され、サンプル回路404-1は、遅延されたクロック信号414-1をサンプリングして、第1の信号218-1を生成する。同様に、サンプル回路404-2は、遅延回路402-2と電圧分析回路306との間に結合され、サンプル回路404-2は、遅延されたクロック信号414-2をサンプリングして、第2の信号218-2を生成する。
電圧感度304は、例えば、特定の閾値電圧を有するトランジスタを用いて実現することができる。そのような場合、第1の電圧依存回路302-1の1つ以上の第1のトランジスタは、第1の電圧感度304-1を実現するために第1の閾値電圧を有することができる。同様に、第2の電圧依存回路302-2の1つ以上の第2のトランジスタは、第2の電圧感度304-2を実現するために第2の閾値電圧を有することができる。そのようなトランジスタは、遅延回路402の一部として、サンプル回路404の一部として、または第1および第2の電圧依存回路302-1および302-2の各々の遅延回路402ならびにサンプル回路404の両方の一部として、含まれ得る。
電圧分析回路306は、第1の電圧依存回路302-1のサンプル回路404-1から第1の信号218-1を受け取り、第2の電圧依存回路302-2のサンプル回路404-2から第2の信号218-2を受け取る。信号結合器回路406は、第1の信号218-1と第2の信号218-2とを結合して、結合された信号220を生成する。分析論理410は、結合された信号220に基づいて電圧警報信号108を生成することができる。信号比較回路408は、少なくとも第1の信号218-1と第2の信号218-2とを比較して、第1の信号218-1と第2の信号218-2との間の相対的な遅延サイズ(例えば、遅延長または遅延期間)を示す少なくとも1つの比較信号412を生成する。追加的または代替的に、信号比較回路408は、結合された信号220を少なくとも1つの閾値と比較して、別の比較信号412を生成することができる。分析論理410は、少なくとも1つの比較信号412に基づいて電圧警報信号108を生成することができる。一般に、分析論理410は、少なくとも1つの比較信号412、結合された信号220、および少なくとも1つの電圧閾値に基づいて、電圧警報信号108を生成することができる。分析論理410を含む電圧分析回路306の例示的な動作は、図7および図8を参照して以下で説明される。
いくつかの実現例では、較正回路308は、チップ単位でのIC104の製作後に、電圧変動検出回路106を較正するように動作する。較正信号312は、遅延回路402のプログラム可能な遅延量を設定する。較正のための例示的な手法は、図7を参照して以下で説明される。較正は、遅延されたクロック信号414を生成するためにクロック信号204が伝搬して通過する遅延回路402の遅延ユニットの数量を確立することを含むことができる。遅延ユニットの数量を確立することは、図5に示されるマルチプレクサを制御することを含むことができる。
図5は、(例えば、図3および図4の)電圧依存回路302の例示的な遅延回路402を示す回路図である。図示のように、遅延回路402は、複数の遅延ユニット514と、少なくとも1つのマルチプレクサ502とを含む。複数の遅延ユニット514は、以下で説明するように、特定の電圧感度304を提供することができる。遅延回路402は、インバータ508、ならびに入力端子、出力端子およびクロック端子を有するフリップフロップ506(FF506)も含む。インバータ508は、フリップフロップ506の出力端子と入力端子との間に結合される。フリップフロップ506のクロック端子は、クロック信号204を受信するために(例えば、図3および図4の)クロック線310に結合される。フリップフロップ506は、クロック信号204の各サイクルなどにおいて、クロック信号204に応答してフリップフロップ506の出力端子にパルスまたはそのエッジを発することができる。
例示的な実現例では、マルチプレクサ502は、複数の入力端子と、少なくとも1つの出力端子と、少なくとも1つの制御入力512とを含む。複数の遅延ユニット514は、フリップフロップ506の出力端子とマルチプレクサ502の複数の入力端子との間に接続される。複数の遅延ユニット514の少なくとも一部は、直列に結合され、遅延ユニット510の複数のインスタンスを含む。各遅延ユニット510は、例えば、インバータや、入力が短絡されたNANDゲートなどとして実現することができる。各遅延ユニット510は、他の遅延ユニットと同じ長さの遅延、または他の遅延ユニットとは異なる長さの遅延を設定することができる。示されるように、各遅延ユニット510は、閾値電圧518(Vth518)を有するかまたはそれに対応する少なくとも1つのトランジスタ516を含むことができる。閾値電圧518は、エッジが遅延ユニット510をどれだけ速くトリガするか、そしてそれ故に、複数の遅延ユニット514の少なくとも一部を通過するクロック信号エッジの伝搬速度を、少なくとも部分的に決定することができる。
例示的な動作では、フリップフロップ506は、クロック信号204に応答して複数の遅延ユニット514にエッジを発する。エッジが移動する経路の長さは、プログラム可能な遅延量を確立するためにマルチプレクサ502を用いてプログラムすることができる。異なる経路は、異なる数量の遅延ユニット510を含むことができ、それによって、遅延期間または長さなどの遅延サイズを確立する。図5において、マルチプレクサ502は4つの入力端子を有する。しかしながら、マルチプレクサ502は、異なる数の入力端子を有することができる。マルチプレクサ502の最上部入力端子は遅延ユニット510のない経路に接続され、最下部入力端子は5つの遅延ユニット510を有する経路に接続される。2つの中間入力端子は、1つまたは3つの遅延ユニット510を有する2つの経路に接続される。クロック信号204は、複数の遅延ユニット514のうちの1つ以上の遅延ユニット510を通って伝搬した後、遅延されたクロック信号414に変換される。遅延量をプログラムするために、マルチプレクサ502の特定の入力端子は、制御入力512を用いて、マルチプレクサ502の出力端子に選択的に結合されることができる。
場合によっては、較正信号312は、制御入力512に結合され、マルチプレクサ502の出力端子に結合するための、マルチプレクサ502の入力端子を選択する。これは遅延されたクロック信号414の遅延期間をプログラムするので、(例えば、図3および図4の)較正回路308を用いて較正中に遅延期間を確立することができる。制御入力512の値または設定は、較正手順中に単一のビットセットまたは少なくとも1つの選択されたスイッチに融合され、次いでIC104の寿命中に使用されることができる。較正手法にかかわらず、複数の遅延ユニット514のなんらかの数量の遅延ユニット510によって遅延されたクロック信号204の伝搬エッジは、制御入力512に基づいて選択され、マルチプレクサ502は、選択された信号のエッジを、遅延されたクロック信号414として転送する。
遅延回路402の1つの特定の実現例が図5に示されているが、遅延回路402は、代替的な方法で実現されることができる。例えば、複数の遅延ユニット514は、異なる数量の遅延ユニット510を含むことができる。2つの「隣接する」経路間の粒度は、単一の遅延ユニット510または複数の遅延ユニット510とすることができる。各遅延ユニット510は、他の遅延ユニット510と比較して、同じ遅延長または異なる遅延長を有してもよい。1つ以上の遅延ユニット510は、複数の経路において使用されてもされなくてもよい(例えば、示されるように、複数の異なる経路において使用されてもよく、または複数の異なる経路における使用のために利用可能であってもよい)。遅延回路402は、較正信号312に応答して遅延時間を共同で確立する複数のマルチプレクサを含むことができる。さらに、遅延ユニット510は、粗い、中間の、および細かいなど、異なる粒度の遅延期間にグループ化されることができる。例えば、直列に結合される3つの異なる遅延粒度の各々において4つの遅延長の間で各々選択することができる3つのマルチプレクサでは、64の異なる遅延期間(4×4×4=64)が、較正手順中にプログラミングのために利用可能である。
図6-1は、(例えば、図3および図4の)電圧依存回路302の例示的なサンプル回路404を示す回路図である。図示のように、サンプル回路404は、バッファチェーン608と、複数のレジスタユニット602-1、602-2、602-3、...、602-Nとを含む。バッファチェーン608は、以下に説明するように、電圧感度304を提供することができる。バッファチェーン608は、直列に結合された複数のバッファユニット604-1、604-2、...、604-(N-1)を含む。変数Nは正の整数を表す。各レジスタユニット602は、入力端子と、出力端子と、クロッキング端子とを有する。各レジスタユニット602のクロッキング端子は、クロック信号204に結合される。各レジスタユニット602は、たとえば1つのデジタルビットを記憶し、たとえば任意のタイプのラッチ、任意のタイプのフリップフロップ(例えば、「D」フリップフロップ)などとして実現されることができる。
例示的な実現例では、複数のレジスタユニット602-1~602-Nの各それぞれのレジスタユニット602は、バッファチェーン608のそれぞれのバッファユニット604に対応するか、またはそれに結合される。各バッファユニット604は、例えばインバータとして実現することができる。図示のように、各バッファユニット604は、閾値電圧518(Vth518)を有するかまたはそれに対応する少なくとも1つのトランジスタ516を含むことができる。閾値電圧518は、エッジがバッファユニット604をどれだけ速くトリガするか、およびしたがってバッファチェーン608を通って移動する遅延されたクロック信号414のエッジの伝搬速度を、少なくとも部分的に決定することができる。
例示的な動作では、バッファチェーン608の初期バッファユニット604-1は、遅延回路402から、例えばそのマルチプレクサ502から、遅延されたクロック信号414を受け取る。遅延されたクロック信号414の遅延されたエッジは、バッファチェーン608に沿って1つのバッファユニット604から次のバッファユニットに伝搬し、複数のバッファユニット604-1、604-2、...、604-(N-1)が、共同で、遅延されたクロック信号414の、複数のバッファされたバージョンを生成するようにされる。各バッファユニット604の出力は、各それぞれのレジスタユニット602の入力端子に供給される。これは、複数のレジスタユニット602-1....602-Nがバッファチェーン608に沿って存在する信号伝送をサンプリングし、したがって、クロック信号204が遷移するときに、遅延されたエッジがバッファチェーン608に沿ってどこに存在するかを判断することを可能にする。したがって、複数のレジスタユニット602-1~602-Nは、信号218を生成するために、遅延されたクロック信号414の、複数のバッファされたバージョンを、共同でラッチすることができる。複数のサンプリングされたデジタル値606-1、606-2、606-3、...、606-Nは、複数のレジスタユニット602-1、602-2、602-3、...、602-Nのそれぞれの出力端子に、信号218として提供される。信号218の例示的なデジタルバージョンは、図7を参照して以下で説明される。
サンプル回路404は、特定の態様で示されているが、異なる態様で実現されることができる。たとえば、初期バッファユニット604-1の出力が初期レジスタユニット602-1の入力端子に結合される場合など、バッファチェーン608のバッファユニット604の数量は「N」とすることができる。さらに、追加の回路デバイスを用いて、バッファチェーン608に沿って複数のバッファユニット604-1~604-(N-1)の出力をサンプリングすることができる。両方の代替例を有する例を図6-2に示す。
図6-2は、(例えば、図3および図4の)電圧依存回路302の別の例示的なサンプル回路404を示す回路図である。この例では、(図6-1の)各レジスタユニット602は、Dフリップフロップとして実現され、2つの行に編成される。Dフリップフロップ652の第1の行は、クロック信号204に応答してバッファチェーン608からデジタル値を受け取る。排他的NORゲート654の行は、Dフリップフロップ652の第1の行から出力された値を受け取って、隣接するデジタル値が同一である、バッファチェーン608に沿った1つ以上の位置を識別する。ORゲート656の行は、排他的NORゲート654の行とDフリップフロップ660の第2の行との間にブリッジを提供する。
可能なスティッキービットを打ち消すために、ANDゲート658の行の出力は、ORゲート656の行の入力に結合される。ANDゲート658の行は、スティッキー信号614に応答して動作する。ORゲート656の行の出力は、Dフリップフロップ660の第2の行の入力端子に結合される。ORゲート656の行のORゲートは、排他的NORゲート654の行によって修正された、バッファチェーン608に沿って存在するデジタル値を転送する。これは、Dフリップフロップ660の第2の行が、バッファチェーン608に沿って信号伝送をサンプリングし、したがって、クロック信号204が遷移するときに、遅延されたエッジがバッファチェーン608に沿ってどこに存在するかを判断することを可能にする。(これも図6-1の)複数のサンプリングされたデジタル値606-1、606-2、...、606-Nは、Dフリップフロップ660の第2の行のDフリップフロップのそれぞれの出力端子に、信号218として提供される。信号218の例示的なデジタルバージョンは、図7を参照して次に説明される。
図7は、クロック変動下での電圧変動検出のための例示的なスキーム700を示す。(例えば、図6-1および図6-2の)信号218のサンプリングされたデジタル値の収集702が図7の上部に示されている。収集702の第1の行は、クロックジッタのない状態で公称周波数を伴う公称電圧レベルに対応する。較正への1つのアプローチにより、「1」デジタル値は信号218に沿って中央に置かれる。収集702の第2および第3の行は、信号218における電圧ベースの遅延成分を反映する。収集702の第2の行は、クロックジッタのない状態で低電圧レベルに対応する。より低い電圧レベルに起因して、信号伝搬はより遅い。したがって、(図6-1および図6-2の)バッファチェーン608に沿ったデジタル値が(これも図6-1および図6-2の)複数のレジスタユニット602-1~602-Nによってサンプリングされるとき、「1」デジタル値は信号218に沿って中央位置に到達していない。収集702の第3の行は、クロックジッタのない状態で高電圧レベルに対応する。より高い電圧レベルに起因して、信号伝搬はより速い。したがって、バッファチェーン608に沿ったデジタル値が複数のレジスタユニット602-1~602-Nによってサンプリングされるとき、「1」デジタル値は信号218に沿って中央位置を越えて通過している。
収集702の第4の行は、信号218における周波数ベースの遅延特性を反映する。収集702の第4の行は、より低い周波数のクロックジッタ下で公称電圧レベルに対応する。より低いクロック周波数に起因して、エッジは、クロック信号がデジタル値をサンプリングさせる前に、バッファチェーン608に沿って伝搬するのに、より多くの時間を有する。したがって、バッファチェーン608に沿ったデジタル値が複数のレジスタユニット602-1~602-Nによってサンプリングされるとき、「1」デジタル値は信号218に沿って中央位置を越えて通過している。第3および第4の行は、異なる動作パラメータの下で信号218について同様の値を生成するので、伝搬するエッジの時間的または位置的偏差源を識別することは困難である。
収集702の第5の行は、信号218における電圧ベースの遅延成分と周波数ベースの遅延特性との両方を反映する。収集702の第5の行は、より低い周波数のクロックジッタ下で高電圧レベルに対応する。より高い電圧とより低いクロック周波数との間の相互作用により、エッジは、適切な較正の後であっても、多くの可能な位置のいずれかにあり得る。例として示されるように、「1」デジタル値は、バッファチェーン608に沿ったデジタル値が複数のレジスタユニット602-1~602-Nによってサンプリングされるとき、信号218に沿ってほぼ中央に置かれる。第1の行および第5の行は、異なる動作パラメータの下で信号218に対して同様の値を生成するので、伝搬するエッジの時間的偏差の原因を特定することは困難であり、またはこの場合のように偏差があるかもしくはあるはずであるかどうかさえ特定することは難しい。エッジは、図7では単一のデジタル値(例えば、「1」)によって表されているが、エッジは、異なるデジタル値(例えば、「0」)によって、または可能なメタスタビリティのためにシリコン内の複数の値によって表されてもよい(たとえば、「1101」または「1001」は、長いバッファチェーン608におけるエッジを表してもよい)。
電圧ベースの遅延成分および周波数ベースの遅延特性の両方の潜在的な存在に起因する曖昧さの少なくとも一部を解決するために、第1および第2の信号は、異なる第1および第2の電圧感度を有するデジタルデバイスの第1および第2のセットを用いてそれぞれ生成される。第1および第2の電圧依存回路302-1および302-2は、図7の中央に示される。第1の電圧依存回路302-1は、第1の電圧感度304-1を有するいくつかのデジタルデバイスを含む。例えば、1つ以上の第1のトランジスタ516-1が、第1の閾値電圧518-1を有することができる。これらの第1のトランジスタ516-1は、(図5の)遅延回路402の複数の遅延ユニット514の遅延ユニット510、(図6-1および図6-2の)サンプル回路404のバッファチェーン608のバッファユニット604、またはそれらの両方に含まれることができる。第2の電圧依存回路302-2は、第2の電圧感度304-2を有するいくつかのデジタルデバイスを含む。例えば、1つ以上の第2のトランジスタ516-2が、第2の閾値電圧518-2を有することができる。これらの第2のトランジスタ516-2は、遅延回路402の複数の遅延ユニット514の遅延ユニット510、サンプル回路404のバッファチェーン608のバッファユニット604、またはそれらの両方に含まれることができる。しかしながら、異なる電圧感度304を有するトランジスタ516が遅延回路402の複数の遅延ユニット514の遅延ユニット510に存在する場合、較正はより簡単である。各トランジスタ516は、例えば、金属酸化膜半導体電界効果トランジスタ(MOSFET)等の電界効果トランジスタ(FET)として実現することができる。
グラフ704を図7の下部に示す。グラフ704は、2つのサンプル回路404の2つのバッファチェーン608を論理的に表し、横軸に沿って、左から右に、増加する遅延を示す。遅延回路402の遅延線(例えば、図5の複数の遅延ユニット514を含む)からのパルスは、左側において706で入力され、それぞれのサンプル回路404のバッファチェーン608に沿って、グラフ704の右方向に横断する。縦軸に沿って、下半分は第1の電圧感度304-1を有するデジタルデバイスに対応し、上半分は第2の電圧感度304-2を有するデジタルデバイスに対応する。この例では、第1の電圧感度304-1は比較的低い電圧レベルに対応し、第2の電圧感度304-2は比較的高い電圧レベルに対応する。例えば、第1の閾値電圧518-1は、第2の閾値電圧518-2よりも低くてもよい。公称電圧(Vn)および公称周波数(Fn)を有する基準線または中央点は、中央線708によって示される。
4つの遅延、すなわち第1の信号218-11、別の第1の信号218-12、第2の信号218-21、および別の第2の信号218-22が、4つの信号218によって示される。電圧レベルの増加対電圧レベルの減少に関係し、第1の電圧感度304-1対第2の電圧感度304-2に関係する傾向がある。概して、電圧レベルの変動は、比較的低い電圧レベルを有する第1の電圧感度304-1と比較して、比較的高い電圧レベルを有する第2の電圧感度304-2で、より顕著な遅延をもたらす。したがって、第2の信号218-21および218-22は、第1の信号218-11および218-12よりも、中央線708から、より遠く逸脱する。また、電圧レベルを下げる電圧変動は、電圧レベルを上げる電圧変動よりも、より顕著な遅延変化を生じさせる。したがって、最小電圧(Vmin)への電圧変動に起因する第1の信号218-11および第2の信号218-21は、最大電圧(Vmax)への電圧変動に起因する第1の信号218-12および第2の信号218-22よりも、中央線708から、より遠くに変位される。
これらの傾向は、(図4の)分析論理410が、電圧が変化しているかどうかを判断することを可能にする。加えて、これらの傾向は、分析論理410が、電圧変動を、公称電圧レベルに対して正または負であるとして識別することを可能にする。そうするために、分析論理410は、2つの第1の信号218-1と第2の信号218-2との間の差についての2つのデルタ閾値、すなわち、負のデルタ閾値(nDelta Max)および正のデルタ閾値(pDelta Max)も用いる。電圧変動を判断するためにこれらの信号および閾値を用いる例示的な分析プロセスが、図8を参照して以下で説明される。
(例えば、図3の)電圧変動検出回路106は、電圧感度304の度合いにかなりの影響を与え得る、製造中のプロセス変動を補償するように較正されることができる。較正手順を実行するために、較正回路308は、公称電圧のためにバッファチェーン608に沿って適切な中央点を確立するために遅延回路402の設定を決定する。そうするために、較正回路308は、バッファチェーン608の複数のバッファユニット604-1~604-(N-1)のバッファユニット604の数量と、公称電圧レベル(Vnom)と、最小電圧(Vmin)および最大電圧(Vmax)に対応し得る(図2の)目標電圧範囲222とを考慮する。動作中、較正回路308は、遅延回路402のマルチプレクサ502の設定を目標電圧範囲222内で変更することによって提供され得る、異なるプログラム可能な遅延量をテストする。公称条件下でエッジが到達する中央線708は、公称電圧を下回る電圧が公称電圧を上回る電圧よりも遅延に影響を及ぼす傾向に適応するようにバッファチェーン608に沿って中央に位置しない場合がある。
概して、クロック変動下での電圧変動検出のためのスキーム、技術、およびハードウェアを説明してきたが、本議論は、ここで、例示的方法に着目する。
クロック変動下での電圧変動検出のための例示的な方法
例示的な方法が、図8および図9のフロー図を参照して以下で説明される。これらの方法の態様は、たとえば、ハードウェア(例えば、メモリと関連した固定論理回路またはプロセッサ)、ファームウェア、またはそれらの何らかの組合せで実現されてもよい。プロセスは、図1~図6-2に示される装置または構成要素のうちの1つ以上を用いて実現されてもよく、これらの構成要素は、さらに分割され、組み合わせられるなどしてもよい。これらの図のデバイスおよびコンポーネントは、概してファームウェア;ユーザもしくはサーバデバイス、パッケージ化されたモジュール、ICチップ、もしくは回路などのハードウェア;またはそれらの組み合わせを表す。したがって、これらの図は、説明される方法を実現することが可能な多くの可能なシステムまたは装置のいくつかを示す。
これらのフロー図では、動作が示され、および/または説明される順序は、限定として解釈されることを意図しない。記載された方法動作の任意の数または組み合わせを、所与の方法または代替方法を実現するために、任意の順序で組み合わせることができる。動作はまた、説明された方法から省略されるか、またはそれに追加されてもよい。さらに、説明される動作は、完全にまたは部分的に重複する態様で実現されることができる。2つのフロー図は別々に記載されるが、それらの動作は相互に関連してもよい。たとえば、図8に示す動作のうちの1つ以上は、図9のブロック908のための動作の一部として実行されてもよい。
図8は、クロック変動下で電圧変動検出を実現するための装置のための例示的な方法をフロー図800で示す。フロー図800の動作は、例えば、(例えば、図2~図4の)電圧変動検出回路106の電圧分析回路306の分析論理410によって実行することができる。804において、分析論理410は、第1の信号218-1が少なくとも1つのエッジ指示(例えば、他の桁とは異なる1桁または数桁)を含むかどうかを判定する。そうでない場合、802において、電圧変動検出回路106の分析論理410は、電圧警報信号108を発行する。そうである場合、806において、分析論理410は、第2の信号218-2が少なくとも1つのエッジ指示を含むかどうかを判定する。そうでない場合、802において、分析論理410は電圧警報信号108を発行する。一方、第1の信号218-1および第2の信号218-2の両方が(804および806において判定されるように)少なくとも1つのエッジ指示を有する場合、フロー図800は808において継続する。
808において、分析論理410は、第2の信号218-2が第1の信号218-1よりも大きい遅延を有するかどうかを判定する。そうである場合、810において、分析論理410は、第1の信号218-1と第2の信号218-2との間の信号差が正のデルタ閾値(「正のデルタmax」)よりも大きいかどうかを判定する。ここで、(図2および図4の)結合された信号220は、差分信号またはデジタル値のセットとして実現され、(図2の)結合動作226は、差分動作として実現される。信号差が正のデルタ閾値よりも大きい場合、812において、分析論理410は、正の電圧グリッチが発生したと判定する。言い換えると、分析論理410は、電圧レベル216が目標電圧範囲222の高い側を超えたと判定する。したがって、802において、電圧変動検出回路106の分析論理410は、電圧警報信号108を発行する。電圧警報信号108は、電圧グリッチの全体的な指示または正の電圧グリッチの具体的な指示を与えることができる。
808または810における判定が否定的である(例えば、第2の信号218-2は、第1の信号218-1よりも多く遅延されないか、または信号差が正のデルタ閾値を超えない)場合、フロー図800は814に続く。814において、分析論理410は、第1の信号218-1が第2の信号218-2よりも大きい遅延を有するかどうかを判定する。そうである場合、816において、分析論理410は、第1の信号218-1と第2の信号218-2との間の信号差が負のデルタ閾値(「負のデルタmax」)よりも大きいかどうかを判定する。信号差が負のデルタ閾値よりも大きい場合、818において、分析論理410は、負の電圧グリッチが発生したと判定する。言い換えれば、電圧レベル216は、目標電圧範囲222の低い側を超えている、つまりそれを下回っている。したがって、802において、分析論理410は、電圧警報信号108を発行する。電圧警報信号108は、電圧グリッチの全体的な指示または負の電圧グリッチの具体的な指示を与えることができる。
電圧警報信号108は、追加的または代替的に、補間またはルックアップテーブルを用いて計算されたものといった、計算された電圧レベルを報告することができる。802の後、保護回路206による保護動作が電圧変動検出回路106の動作を停止することを含まない場合、フロー図800は804に続くことができる。さらに、814または816における判定が否定的である(例えば、第1の信号218-1は、第2の信号218-2よりも大きい遅延を有さないか、または信号差が負のデルタ閾値を超えない)場合、フロー図800は、820で示されるように、次のサイクルについて、804から始まって、繰り返される。
図9は、クロック変動下で電圧変動検出を実現するための装置のための他の例示的な方法をフロー図900で示す。902において、クロック信号が提供される。例えば、電圧変動検出回路106は、クロック信号204を提供することができる。場合によっては、ICチップ104のクロック生成器202が、クロック信号204を生成することができ、クロックツリーは、電圧変動検出回路106の一部であるクロック線310にクロック信号204をルーティングすることができる。セキュリティの目的で、クロック線310に沿って伝搬する少なくともクロック信号204は、周波数変動214を生成するために意図的に「ジッタリング」されてもよい。
904において、クロック信号を伝搬することに応答して、第1の電圧感度に基づいて、電圧レベルを示す第1の信号が生成される。例えば、電圧変動検出回路106は、クロック信号204を伝搬することに応答して、第1の電圧感度304-1に基づいて、電圧レベル216を示す第1の信号218-1を生成することができる。例えば、第1の電圧依存回路302-1の遅延回路402-1は、クロック信号204を複数の遅延ユニット514のうちのいくつかの数量の遅延ユニット510にわたって伝搬させることができる。遅延ユニット510の少なくとも1つは、第1の電圧感度304-1を実現するために、第1の閾値電圧518-1を有するトランジスタ516-1で構成されてもよい。
906において、クロック信号を伝搬することに応答して、第2の電圧感度に基づいて、電圧レベルを示す第2の信号が生成される。例えば、電圧変動検出回路106は、クロック信号204を伝搬することに応答して、第2の電圧感度304-2に基づいて、電圧レベル216を示す第2の信号218-2を生成することができる。そうするために、第2の電圧依存回路302-2の遅延回路402-2は、クロック信号204を複数の遅延ユニット514のうちのいくつかの数量の遅延ユニット510にわたって伝搬させることができる。遅延ユニット510の少なくとも1つは、第2の電圧感度304-2を実現するために、第2の閾値電圧518-2を有するトランジスタ516-2で構成されてもよい。
908において、電圧警報信号が、第1の信号および第2の信号に基づいて生成される。例えば、電圧変動検出回路106は、第1の信号218-1および第2の信号218-2に基づいて電圧警報信号108を生成することができる。ここで、電圧分析回路306は、第1の信号218-1および第2の信号218-2を用いて計算される結合された信号220と、これらの信号および少なくとも1つの閾値を含む1つ以上の比較動作とに基づいて、電圧警報信号108を生成することができる。例示的な比較動作は、図8の808,810,814,および816を参照して上述されている。
いくつかの実現例では、第1の信号218-1の生成は、クロック信号204を第1の遅延量(例えば、これは、第1の電圧依存回路302-1の第1の遅延回路402-1のプログラム可能な遅延量によって確立される)だけ遅延させて第1の遅延されたクロック信号414-1を生成することと、第1の遅延されたクロック信号414-1を複数の異なるインスタンス(たとえば、それの、異なるバッファされたバージョン)においてサンプリングして第1の信号218-1を生成することとを含むことができる。さらに、第2の信号218-2の生成は、クロック信号204を第2の遅延量だけ遅延させて第2の遅延されたクロック信号414-2を生成することと、第2の遅延されたクロック信号414-2を複数の異なるインスタンスにおいてサンプリングして第2の信号218-2を生成することとを含むことができる。
例示的な電子デバイス
図10は、1つ以上の説明される態様による、クロック変動下で電圧変動検出を実現することができる例示的な電子デバイス1000の様々なコンポーネントを示す。電子デバイス1000は、消費者、コンピュータ、ポータブル、ユーザ、サーバ、通信、電話、ナビゲーション、ゲーム、オーディオ、カメラ、メッセージング、メディア再生、および/もしくは装置102として図1に示されるスマートフォン等の他のタイプの電子デバイス1000の任意の形態において、固定デバイス、モバイルデバイス、スタンドアロンデバイス、もしくは組み込みデバイスのいずれか1つまたは組合せとして実現されてもよい。
電子デバイス1000は、上述のような受信データ、送信データ、または他の情報など、デバイスデータ1004の有線および/または無線通信を可能にする1つ以上の通信送受信機1002を含むことができる。例示的な通信送受信機1002は、NFC送受信機、様々なIEEE802.15(Bluetooth(登録商標))規格に準拠する無線パーソナルエリアネットワーク(PAN)(WPAN)無線機、様々なIEEE802.11(Wi-FiTM)規格のいずれかに準拠する無線ローカルエリアネットワーク(LAN)(WLAN)無線機、セルラー電話用の無線ワイドエリアネットワーク(WAN)(WWAN)無線機(例えば、3GPP(登録商標)準拠のもの)、様々なIEEE802.16(WiMAX(登録商標))規格に準拠する無線メトロポリタンエリアネットワーク(MAN)(WMAN)無線機、赤外線データ協会(IrDA)プロトコルに準拠する赤外線(IR)送受信機、および有線ローカルエリアネットワーク(LAN)イーサネット(登録商標)送受信機を含む。
電子デバイス1000はまた、ユーザ選択可能入力、メッセージ、アプリケーション、音楽、テレビコンテンツ、記録された映像コンテンツ、および任意のコンテンツおよび/もしくはデータソースから受信された任意の他のタイプの音声、映像および/もしくは画像データなど、任意のタイプのデータ、メディアコンテンツ、ならびに/または他の入力が受信され得る1つ以上のデータ入力ポート1006を含んでもよい。データ入力ポート1006は、USBポート、同軸ケーブルポート、光ファイバ相互接続またはケーブル配線用の光ファイバポート、およびフラッシュメモリ、DVD、CD等のための他のシリアルまたはパラレルコネクタ(内部コネクタを含む)を含んでもよい。これらのデータ入力ポート1006は、電子デバイスを、キーボード、マイクロフォン、カメラ、もしくは他のセンサなどの、コンポーネント、周辺機器、またはアクセサリに結合するために使用されてもよい。
この例の電子デバイス1000は、デバイスの動作を制御するためにコンピュータ実行可能命令を処理する(たとえば実行する)、組み合わされたプロセッサおよびメモリシステム(例えば、SoCの一部として実現される)を含むことができる少なくとも1つのプロセッサ1008(例えば、アプリケーションプロセッサ、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、コントローラなどのうちの任意の1つ以上)を含む。プロセッサ1008は、アプリケーションプロセッサ、組み込みコントローラ、マイクロコントローラ、セキュリティプロセッサなどとして実現されてもよい。概して、プロセッサまたは処理システムは、集積回路またはオンチップシステムのコンポーネント、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブル論理デバイス(CPLD)、ならびにシリコンおよび/または他の材料における他の実現例を含み得る、ハードウェアにおいて少なくとも部分的に実現されてもよい。
代替的に、または加えて、電子デバイス1000は、(電子回路1010として)1010で概して示される、処理および制御回路に関連して実現され、ソフトウェア、ハードウェア、ファームウェア、または固定論理回路を含み得る電子回路の任意の1つまたは組み合わせで実現されることができる。この電子回路1010は、コンピュータ可読媒体上に記憶された処理/コンピュータ実行可能命令を通して、論理回路および/またはハードウェア(例えば、FPGA等)を通して等、実行可能またはハードウェアベースのモジュール(図10に図示せず)を実現することができる。
図示されていないが、電子デバイス1000は、デバイス内の様々なコンポーネントを結合するシステムバス、相互接続、クロスバー、またはデータ転送システムを含むことができる。システムバスまたは相互接続は、メモリバスもしくはメモリコントローラ、周辺バス、ユニバーサルシリアルバス、および/もしくは様々なバスアーキテクチャのいずれかを利用するプロセッサもしくはローカルバスなど、異なるバス構造の任意の1つまたは組合せを含むことができる。
電子デバイス1000はまた、データ記憶を可能にする1つ以上のメモリデバイス1012も含み、その例は、ランダムアクセスメモリ(RAM)、不揮発性メモリ(例えば、読み出し専用メモリ(ROM)、フラッシュメモリ、EPROM、およびEEPROM)、ならびにディスク記憶装置を含む。したがって、メモリデバイス1012は、システムの異なる論理記憶レベルにわたって、および異なる物理的構成要素において、分散されることができる。メモリデバイス1012は、デバイスデータ1004、他のタイプのコードおよび/またはデータ、ならびに様々なデバイスアプリケーション1020(たとえば、ソフトウェアアプリケーションもしくはプログラム)を記憶するために、データ記憶機構を提供する。例えば、オペレーティングシステム1014は、メモリデバイス1012内においてソフトウェア命令として維持され、プロセッサ1008によって実行されることができる。
いくつかの実現例では、電子デバイス1000は、音声データを処理し、および/または音声データおよび映像データを音声システム1018および/もしくは表示システム1022(例えば、スマートフォンもしくはカメラの映像バッファまたはスクリーン)に渡す音声および/または映像処理システム1016も含む。音声システム1018および/または表示システム1022は、音声データ、映像データ、表示データ、および/または画像データを処理、表示、および/または別様にレンダリングする、任意のデバイスを含んでもよい。表示データおよび音声信号は、RF(無線周波数)リンク、S映像リンク、HDMI(登録商標)(高精細度マルチメディアインターフェイス)、複合映像リンク、コンポーネント映像リンク、DVI(デジタル映像インターフェイス)、アナログ音声接続、またはメディアデータポート1024などの他の同様の通信リンクを介して、音声コンポーネントおよび/または表示コンポーネントに通信されることができる。いくつかの実現例では、音声システム1018および/または表示システム1022は、電子デバイス1000の外部または別個の構成要素である。代替として、表示システム1022は、統合されたタッチインターフェイスの一部分等の、例示的電子デバイス1000の統合された構成要素であることができる。
図10の電子デバイス1000は、図1の装置102の例示的な実現例である。したがって、プロセッサ1008は(例えば、図1および図2の)IC104の一例である。プロセッサ1008は、電圧変動検出回路106のインスタンスおよび保護回路206のインスタンスを含むものとして示されている。前述のように、これらの回路構成要素のうちの1つ以上は、プロセッサ1008のそれなど、同じICチップの一部であってもよく、または代わりに、別個のダイ上に位置してもよい。例えば、電圧変動検出回路106は、別個のセキュリティ指向チップ上に位置してもよく、保護回路206は、別個のCPUチップ上に位置する。代替として、電圧変動検出回路106は、チップの1つの部分に位置してもよく、保護回路206は、同じチップの異なる部分またはコアに位置する。明示的に示されていないが、メモリデバイス1012は、電圧変動検出回路106または保護回路206のインスタンスを含んでもよい。したがって、本明細書で説明されるようなクロック変動下での電圧変動検出の原理は、図10の電子デバイス1000によって、またはそれと関連して実現されることができる。
追加実施例
以下にいくつかの例を説明する。
例1:装置であって、クロック信号を伝搬するよう構成されるクロック線と、クロック線に結合される第1の電圧依存回路とを備え、第1の電圧依存回路は、クロック信号に応答して、第1の電圧感度に基づいて、電圧レベルを示す第1の信号を生成するよう構成され、装置はさらに、クロック線に結合される第2の電圧依存回路を備え、第2の電圧依存回路は、クロック信号に応答して、第2の電圧感度に基づいて、電圧レベルを示す第2の信号を生成するよう構成され、装置はさらに、第1の電圧依存回路および第2の電圧依存回路に結合される電圧分析回路を備え、電圧分析回路は、第1の信号および第2の信号に基づいて、電圧警報信号を生成するよう構成される、装置。
例2:電圧分析回路は、第1の信号と第2の信号とを結合して結合された信号を生成するよう構成される信号結合器回路を含み、電圧分析回路は、結合された信号に基づいて、電圧警報信号を生成するよう構成される、例1の装置。
例3:電圧分析回路は、第1の信号と第2の信号とを比較して、第1の信号と第2の信号との間の相対遅延サイズを示す比較信号を生成するよう構成される信号比較回路を含み、電圧分析回路は、比較信号、結合された信号、および少なくとも1つの電圧閾値に基づいて、電圧警報信号を生成するよう構成される、例2の装置。
例4:クロック信号は、第1の電圧依存回路および第2の電圧依存回路の動作中に周波数変動を受けるよう構成され、電圧警報信号は、電圧レベルが目標電圧範囲外にあることを示す、例1~3のいずれか1つの装置。
例5:電圧分析回路に結合され、電圧警報信号を受け取るよう構成される保護回路をさらに備え、保護回路は、電圧レベルが目標電圧範囲外であることに応答して、装置を保護するよう少なくとも1つのアクションを取るよう構成され、装置は、少なくとも1つの集積回路を含む電子デバイスを備え、少なくとも1つの集積回路は、第1の電圧依存回路と、第2の電圧依存回路と、電圧分析回路とを含む、例4の装置。
例6:第1の電圧感度は、第1の電圧依存回路内のクロック信号の第1の伝播速度に対応し、第1の伝播速度は電圧レベルに応答し、第2の電圧感度は、第2の電圧依存回路内のクロック信号の第2の伝播速度に対応し、第2の伝播速度は電圧レベルに応答し、第1の伝搬速度は、第2の伝搬速度とは異なる、例1~5のいずれか1つの装置。
例7:第1の電圧依存回路は、クロック線に結合され、クロック信号を遅延させて、遅延されたクロック信号を生成するよう構成される遅延回路と、遅延回路と電圧分析回路との間に結合されるサンプル回路とを含み、サンプル回路は、遅延されたクロック信号をサンプリングして第1の信号を生成するよう構成される、例1~6のいずれか1つの装置。
例8:サンプル回路は、ともに直列に結合される複数のバッファユニットを含み、複数のバッファユニットは、遅延回路に結合され、遅延されたクロック信号を受け取るよう構成される初期バッファユニットを含み、複数のバッファユニットは、遅延されたクロック信号の複数のバッファされたバージョンを共同で生成するよう構成され、サンプル回路はさらに、複数のレジスタユニットを含み、複数のレジスタユニットの各レジスタユニットは、複数のバッファユニットのそれぞれのバッファユニットに結合され、複数のレジスタユニットは、遅延されたクロック信号の複数のバッファされたバージョンを共同でラッチして第1の信号を生成するよう構成される、例7の装置。
例9:遅延回路は、プログラム可能な遅延量を与えてクロック信号を遅延させ、遅延されたクロック信号を生成するよう構成され、遅延回路は、ともに直列に結合された複数の遅延ユニットと、少なくとも1つの制御入力を含む少なくとも1つのマルチプレクサとを含む、例7または8の装置。
例10:さらに、少なくとも1つのマルチプレクサの少なくとも1つの制御入力を用いてプログラム可能な遅延量を確立するよう構成される較正回路を備える、例9の装置。
例11:較正回路は、サンプル回路の複数のバッファユニットのバッファユニットの数量、公称電圧レベル、最小電圧、および最大電圧に基づいて、プログラム可能な遅延量を確立するよう構成される、例10の装置。
例12:第2の電圧依存回路は、クロック線に結合され、クロック信号を遅延させて、遅延されたクロック信号を生成するよう構成される遅延回路と、第2の電圧依存回路の遅延回路と電圧分析回路との間に結合されるサンプル回路とを含み、第2の電圧依存回路のサンプル回路は、第2の信号を生成するために、第2の電圧依存回路の遅延回路から遅延されたクロック信号をサンプリングするよう構成され、第1の電圧依存回路の遅延回路は、第1の閾値電圧を有する第1のトランジスタを含み、第2の電圧依存回路の遅延回路は、第2の閾値電圧を有する第2のトランジスタを含み、第1の閾値電圧は、第2の閾値電圧よりも低い、例7~11のいずれか1つの装置。
例13:クロック線は、クロック信号を1つ以上の周波数変動とともに伝搬するよう構成され、第1の電圧依存回路は、電圧レベルを示す第1の信号を生成するために、第1の閾値電圧を有する少なくとも1つの第1のトランジスタを用いてクロック信号を伝搬するよう構成され、第2の電圧依存回路は、電圧レベルを示す第2の信号を生成するために、第2の閾値電圧を有する少なくとも1つの第2のトランジスタを用いてクロック信号を伝搬するよう構成され、電圧分析回路は、電圧警報信号を生成するために第1の信号と第2の信号との結合に基づいてクロック信号の1つ以上の周波数変動を中和することによって電圧ベースの攻撃を検出するよう構成される、例1~11のいずれか1つの装置。
例14:装置は集積回路を備え、集積回路は、秘密鍵を記憶するよう構成されるメモリと、電圧分析回路に結合され、電圧ベースの攻撃の検出に応答して秘密鍵を保護するよう構成される保護回路とを含む、例13の装置。
例15:クロック線は、クロック信号を1つ以上の周波数変動とともに伝搬するよう構成され、第1の電圧依存回路は、第1の信号を、クロック信号の1つ以上の周波数変動から生じる少なくとも1つの特性とともに生成するよう構成され、第2の電圧依存回路は、第2の信号を、クロック信号の1つ以上の周波数変動から生じる少なくとも1つの特性とともに生成するよう構成され、電圧分析回路は、第1の信号と第2の信号とを結合して、クロック信号の1つ以上の周波数変動から生じ、第1の信号および第2の信号に存在する少なくとも1つの特性を実質的に打ち消すよう、結合された信号を生成するよう構成され、電圧分析回路は、結合された信号に基づいて、電圧警報信号を生成するよう構成される、例1~14のいずれか1つの装置。
例16:クロック変動下での電圧変動検出のための装置による方法であって、クロック信号を与えることと、クロック信号を伝搬することに応答して、第1の電圧感度に基づいて、電圧レベルを示す第1の信号を生成することと、クロック信号を伝搬することに応答して、第2の電圧感度に基づいて、電圧レベルを示す第2の信号を生成することと、第1の信号および第2の信号に基づいて、電圧警報信号を生成することとを含む。
例17:クロック信号を与えることは、クロック信号に1つ以上の周波数変動を与えることを含み、第1の信号を生成することは、第1の信号を、クロック信号の1つ以上の周波数変動から生じる少なくとも1つの特性とともに生成することを含み、第2の信号を生成することは、クロック信号の1つ以上の周波数変動から生じる少なくとも1つの特性を有する第2の信号を生成することを含み、電圧警報信号を生成することは、第1の信号と第2の信号とを結合して、第1の信号および第2の信号に存在する1つ以上の周波数変動から生じる少なくとも1つの特性を実質的に相殺することを含む、例16の方法。
例18:第1の信号を生成することは、クロック信号を第1の電圧感度に基づいて第1の伝搬速度で伝搬させることを含み、第2の信号を生成することは、クロック信号を第2の電圧感度に基づいて第2の伝搬速度で伝搬させることを含む、例16または17の方法。
例19:第1の信号を生成することは、クロック信号を第1の遅延量だけ遅延させて、第1の遅延されたクロック信号を生成することと、第1の遅延されたクロック信号を複数の異なるインスタンスにおいてサンプリングして、第1の信号を生成することとを含み、第2の信号を生成することは、クロック信号を第2の遅延量だけ遅延させて、第2の遅延されたクロック信号を生成することと、第2の遅延されたクロック信号を複数の異なるインスタンスにおいてサンプリングして、第2の信号を生成することとを含む、例16~18のいずれか1つの方法。
例20:電圧警報信号を生成することは、第1の信号および第2の信号を用いて、電圧レベルが目標電圧範囲外にあることに応答して、電圧警報信号を生成することを含む、例16~19のいずれか1つの方法。
例21:電圧警報信号を生成することは、第2の信号が第1の信号よりも大きいことに応答して、かつ第2の信号と第1の信号との差が正のデルタ閾値よりも大きいことに基づいて、正の電圧グリッチを示すように電圧警報信号を生成することを含む、例16~20のいずれか1つの方法。
例22:電圧警報信号を生成することは、第1の信号が第2の信号よりも大きいことに応答して、かつ第1の信号と第2の信号との間の差が負のデルタ閾値よりも大きいことに基づいて、負の電圧グリッチを示すように電圧警報信号を生成することを含む、例16~21のいずれか1つの方法。
例23:集積回路であって、1つ以上の周波数変動を有するクロック信号を伝搬するよう構成されるクロック線と、クロック線に結合される第1の電圧依存回路とを備え、第1の電圧依存回路は、電圧レベルを示す第1の信号を生成するために、第1の閾値電圧を有する少なくとも1つの第1のトランジスタを用いてクロック信号を伝搬するよう構成され、集積回路はさらに、クロック線に結合される第2の電圧依存回路を備え、第2の電圧依存回路は、電圧レベルを示す第2の信号を生成するために、第2の閾値電圧を有する少なくとも1つの第2のトランジスタを用いてクロック信号を伝搬するよう構成され、集積回路はさらに、第1の電圧依存回路および第2の電圧依存回路に結合される電圧分析回路を備え、電圧分析回路は、第1の信号および第2の信号の結合に基づいてクロック信号の1つ以上の周波数変動を中和することによって電圧ベースの攻撃を検出するよう構成される。
例24:秘密鍵を記憶するよう構成されるメモリと、電圧分析回路に結合され、電圧ベースの攻撃の検出に応答して秘密鍵を保護するよう構成される保護回路とをさらに備える、例23の集積回路。
例25:第1の電圧依存回路は、第1の遅延回路を含み、第1の遅延回路は、第1の閾値電圧を有する少なくとも1つの第1のトランジスタを含む少なくとも1つの第1の遅延ユニットを含み、第1の遅延回路は、クロック線に結合され、少なくとも1つの第1のトランジスタを用いてクロック信号を遅延させるよう構成され、第2の電圧依存回路は、第2の遅延回路を含み、第2の遅延回路は、第2の閾値電圧を有する少なくとも1つの第2のトランジスタを含む少なくとも1つの第2の遅延ユニットを含み、第2の遅延回路は、クロック線に結合され、少なくとも1つの第2のトランジスタを用いてクロック信号を遅延させるよう構成され、第1の閾値電圧は、第2の閾値電圧とは異なる、例1から15のいずれか1つの装置。
例26:第1の電圧依存回路は、少なくとも1つの第1のトランジスタの第1の閾値電圧に基づいて第1の信号を生成するよう構成され、第2の電圧依存回路は、少なくとも1つの第2のトランジスタの第2の閾値電圧に基づいて第2の信号を生成するよう構成され、電圧分析回路は、第1の信号と第2の信号との結合に基づいて、電圧警報信号を生成するよう構成される、例25の装置。
文脈上別段の指示がない限り、「または」という用語の本明細書における使用は、「包含的論理和」または「または」という用語によって繋がれる1つ以上の項目の包含または適用を可能にする用語の使用と見なされる場合がある(例えば、「AまたはB」という句は、「A」だけを許可するものとして、「B」だけを許可するものとして、または「A」および「B」の両方を許可するものとして、解釈されてもよい)。また、本明細書で使用される場合、項目のリストの「のうちの少なくとも1つ」を指す語句は、単一のメンバーを含む、それらの項目の任意の組み合わせを指す。例えば、「a、b、またはcのうちの少なくとも1つ」は、a、b、c、a-b、a-c、b-c、およびa-b-c、ならびに複数個の同じ要素との任意の組み合わせ(例えば、a-a、a-a-a、a-a-b、a-a-c、a-b-b、a-c-c、b-b、b-b-b、b-b-c、c-c、ならびにc-c-c、またはa、b、およびcの任意の他の順序)を包含することができる。さらに、添付の図に表される項目および本明細書で論じられる用語は、1つ以上の項目または用語を示す場合があり、したがって、本書面による説明における項目および用語の単一または複数の形態に互換的に言及される場合がある。クロック変動下での電圧変動検出のための実現例を、ある特徴および/または方法に特有の言語で記載したが、特許請求の範囲の主題は、必ずしも、記載される特定の特徴または方法に限定されない。むしろ、特定の特徴および方法は、クロック変動下での電圧変動検出のための例示的実現例として開示される。

Claims (15)

  1. 装置であって、
    クロック信号を伝搬するよう構成されるクロック線と、
    前記クロック線に結合される第1の電圧依存回路とを備え、前記第1の電圧依存回路は、前記クロック信号に応答して、第1の電圧感度に基づいて、電圧レベルを示す第1の信号を生成するよう構成され、前記装置はさらに、
    前記クロック線に結合される第2の電圧依存回路を備え、前記第2の電圧依存回路は、前記クロック信号に応答して、第2の電圧感度に基づいて、前記電圧レベルを示す第2の信号を生成するよう構成され、前記装置はさらに、
    前記第1の電圧依存回路および前記第2の電圧依存回路に結合される電圧分析回路を備え、前記電圧分析回路は、前記第1の信号および前記第2の信号に基づいて、電圧警報信号を生成するよう構成される、装置。
  2. 前記電圧分析回路は、前記第1の信号と前記第2の信号とを結合して結合された信号を生成するよう構成される信号結合器回路を含み、
    前記電圧分析回路は、前記結合された信号に基づいて、前記電圧警報信号を生成するよう構成される、請求項1に記載の装置。
  3. 前記電圧分析回路は、前記第1の信号と前記第2の信号とを比較して、前記第1の信号と前記第2の信号との間の相対遅延サイズを示す比較信号を生成するよう構成される信号比較回路を含み、
    前記電圧分析回路は、前記比較信号、前記結合された信号、および少なくとも1つの電圧閾値に基づいて、前記電圧警報信号を生成するよう構成される、請求項2に記載の装置。
  4. 前記クロック信号は、前記第1の電圧依存回路および前記第2の電圧依存回路の動作中に周波数変動を受けるよう構成され、
    前記電圧警報信号は、前記電圧レベルが目標電圧範囲外にあることを示す、請求項1~3のいずれか1項に記載の装置。
  5. 前記電圧分析回路に結合され、前記電圧警報信号を受け取るよう構成される保護回路をさらに備え、前記保護回路は、前記電圧レベルが前記目標電圧範囲外であることに応答して、前記装置を保護するよう少なくとも1つのアクションを取るよう構成され、
    前記装置は、少なくとも1つの集積回路を含む電子デバイスを備え、
    前記少なくとも1つの集積回路は、前記第1の電圧依存回路と、前記第2の電圧依存回路と、前記電圧分析回路とを含む、請求項4に記載の装置。
  6. 前記第1の電圧感度は、前記第1の電圧依存回路内の前記クロック信号の第1の伝播速度に対応し、前記第1の伝播速度は前記電圧レベルに応答し、
    前記第2の電圧感度は、前記第2の電圧依存回路内の前記クロック信号の第2の伝播速度に対応し、前記第2の伝播速度は前記電圧レベルに応答し、
    前記第1の伝搬速度は、前記第2の伝搬速度とは異なる、請求項1~5のいずれか1項に記載の装置。
  7. 前記第1の電圧依存回路は、
    前記クロック線に結合され、前記クロック信号を遅延させて、遅延されたクロック信号を生成するよう構成される遅延回路と、
    前記遅延回路と前記電圧分析回路との間に結合されるサンプル回路とを含み、前記サンプル回路は、前記遅延されたクロック信号をサンプリングして前記第1の信号を生成するよう構成される、請求項1~6のいずれか1項に記載の装置。
  8. 前記サンプル回路は、
    ともに直列に結合される複数のバッファユニットを含み、前記複数のバッファユニットは、前記遅延回路に結合され、前記遅延されたクロック信号を受け取るよう構成される初期バッファユニットを含み、前記複数のバッファユニットは、前記遅延されたクロック信号の複数のバッファされたバージョンを共同で生成するよう構成され、前記サンプル回路はさらに、
    複数のレジスタユニットを含み、前記複数のレジスタユニットの各レジスタユニットは、前記複数のバッファユニットのそれぞれのバッファユニットに結合され、前記複数のレジスタユニットは、前記遅延されたクロック信号の前記複数のバッファされたバージョンを共同でラッチして前記第1の信号を生成するよう構成される、請求項7に記載の装置。
  9. 前記遅延回路は、プログラム可能な遅延量を与えて前記クロック信号を遅延させ、前記遅延されたクロック信号を生成するよう構成され、前記遅延回路は、
    ともに直列に結合された複数の遅延ユニットと、
    少なくとも1つの制御入力を含む少なくとも1つのマルチプレクサとを含む、請求項7に記載の装置。
  10. さらに、前記少なくとも1つのマルチプレクサの前記少なくとも1つの制御入力を用いて前記プログラム可能な遅延量を確立するよう構成される較正回路を備える、請求項9に記載の装置。
  11. 前記較正回路は、前記サンプル回路の複数のバッファユニットのバッファユニットの数量、公称電圧レベル、最小電圧、および最大電圧に基づいて、前記プログラム可能な遅延量を確立するよう構成される、請求項10に記載の装置。
  12. 前記第2の電圧依存回路は、
    前記クロック線に結合され、前記クロック信号を遅延させて、遅延されたクロック信号を生成するよう構成される遅延回路と、
    前記第2の電圧依存回路の前記遅延回路と前記電圧分析回路との間に結合されるサンプル回路とを含み、前記第2の電圧依存回路の前記サンプル回路は、前記第2の信号を生成するために、前記第2の電圧依存回路の前記遅延回路から前記遅延されたクロック信号をサンプリングするよう構成され、
    前記第1の電圧依存回路の前記遅延回路は、第1の閾値電圧を有する第1のトランジスタを含み、
    前記第2の電圧依存回路の前記遅延回路は、第2の閾値電圧を有する第2のトランジスタを含み、
    前記第1の閾値電圧は、前記第2の閾値電圧よりも低い、請求項7~11のいずれか1項に記載の装置。
  13. 前記クロック線は、前記クロック信号を1つ以上の周波数変動とともに伝搬するよう構成され、
    前記第1の電圧依存回路は、前記電圧レベルを示す前記第1の信号を生成するために、第1の閾値電圧を有する少なくとも1つの第1のトランジスタを用いて前記クロック信号を伝搬するよう構成され、
    前記第2の電圧依存回路は、前記電圧レベルを示す前記第2の信号を生成するために、第2の閾値電圧を有する少なくとも1つの第2のトランジスタを用いて前記クロック信号を伝搬するよう構成され、
    前記電圧分析回路は、前記電圧警報信号を生成するために前記第1の信号と前記第2の信号との結合に基づいて前記クロック信号の前記1つ以上の周波数変動を中和することによって電圧ベースの攻撃を検出するよう構成される、請求項1~11のいずれか1項に記載の装置。
  14. 前記装置は集積回路を備え、前記集積回路は、
    秘密鍵を記憶するよう構成されるメモリと、
    前記電圧分析回路に結合され、前記電圧ベースの攻撃の検出に応答して前記秘密鍵を保護するよう構成される保護回路とを含む、請求項13に記載の装置。
  15. 前記クロック線は、前記クロック信号を1つ以上の周波数変動とともに伝搬するよう構成され、
    前記第1の電圧依存回路は、前記第1の信号を、前記クロック信号の前記1つ以上の周波数変動から生じる少なくとも1つの特性とともに生成するよう構成され、
    前記第2の電圧依存回路は、前記第2の信号を、前記クロック信号の前記1つ以上の周波数変動から生じる前記少なくとも1つの特性とともに生成するよう構成され、
    前記電圧分析回路は、前記第1の信号と前記第2の信号とを結合して、前記クロック信号の前記1つ以上の周波数変動から生じ、前記第1の信号および前記第2の信号に存在する前記少なくとも1つの特性を実質的に打ち消すよう、結合された信号を生成するよう構成され、
    前記電圧分析回路は、前記結合された信号に基づいて、前記電圧警報信号を生成するよう構成される、請求項1に記載の装置。
JP2022522937A 2019-11-19 2019-11-19 クロック変動下での電圧変動検出 Active JP7369867B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/062282 WO2021101528A1 (en) 2019-11-19 2019-11-19 Voltage-variation detection under clock fluctuations

Publications (2)

Publication Number Publication Date
JP2023501886A true JP2023501886A (ja) 2023-01-20
JP7369867B2 JP7369867B2 (ja) 2023-10-26

Family

ID=68916570

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022522937A Active JP7369867B2 (ja) 2019-11-19 2019-11-19 クロック変動下での電圧変動検出

Country Status (7)

Country Link
US (2) US11486911B2 (ja)
EP (1) EP3850523B1 (ja)
JP (1) JP7369867B2 (ja)
KR (1) KR102492252B1 (ja)
CN (1) CN114586034A (ja)
TW (1) TWI755038B (ja)
WO (1) WO2021101528A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3850523B1 (en) * 2019-11-19 2022-03-16 Google LLC Voltage-variation detection under clock fluctuations
US11880454B2 (en) * 2020-05-14 2024-01-23 Qualcomm Incorporated On-die voltage-frequency security monitor
US11799627B2 (en) * 2020-11-19 2023-10-24 Nuvoton Technology Corporation Protection against side-channel attacks by balancing cell drive polarity
US11336273B1 (en) 2021-09-02 2022-05-17 Mellanox Technologies, Ltd. Protection against attacks on integrated circuits using voltage monitoring

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6583653B1 (en) * 2000-03-31 2003-06-24 Intel Corporation Method and apparatus for generating a clock signal
US7355435B2 (en) * 2005-02-10 2008-04-08 International Business Machines Corporation On-chip detection of power supply vulnerabilities
US7528619B2 (en) * 2005-06-30 2009-05-05 Intel Corporation 0th droop detector architecture and implementation
US9495971B2 (en) 2007-08-27 2016-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Transient detector and method for supporting encoding of an audio signal
JP4428433B2 (ja) * 2007-09-25 2010-03-10 株式会社デンソー 気象情報表示装置、プログラム
US8850232B2 (en) 2008-03-19 2014-09-30 Freescale Semiconductor, Inc. Method for protecting a cryptographic module and a device having cryptographic module protection capabilities
US8497694B2 (en) * 2010-02-10 2013-07-30 Qualcomm Incorporated On-chip sensor for measuring dynamic power supply noise of the semiconductor chip
EP2662791A1 (en) 2012-05-11 2013-11-13 Stichting IMEC Nederland A method and apparatus for monitoring timing of cricital paths
US9164563B2 (en) * 2012-05-24 2015-10-20 International Business Machines Corporation Processor noise mitigation using differential critical path monitoring
JP6047330B2 (ja) * 2012-08-02 2016-12-21 サターン ライセンシング エルエルシーSaturn Licensing LLC 電源監視回路、交直変換装置、および、電源監視回路の制御方法
JP2014106112A (ja) * 2012-11-27 2014-06-09 Fujitsu Ltd 電圧変動検出回路及び半導体集積回路
US9607153B2 (en) 2013-03-13 2017-03-28 Qualcomm Incorporated Apparatus and method for detecting clock tampering
WO2014182300A1 (en) * 2013-05-08 2014-11-13 Intel Corporation Voltage detector with high voltage protection
US8878580B1 (en) 2013-07-22 2014-11-04 Via Technologies, Inc. Apparatus and method for generating a clock signal with reduced jitter
WO2015145487A1 (ja) 2014-03-28 2015-10-01 三菱電機株式会社 クロック位相制御回路
US9535119B2 (en) 2014-06-30 2017-01-03 Intel Corporation Duty cycle based timing margining for I/O AC timing
US9772375B2 (en) * 2014-08-01 2017-09-26 Oracle International Corporation High sensitivity digital voltage droop monitor for integrated circuits
US9459314B1 (en) * 2014-10-08 2016-10-04 Microsemi Storage Solutions (U.S.), Inc. Circuit and method for real-time monitoring of process, temperature, and voltage variations
JP6533135B2 (ja) * 2015-09-16 2019-06-19 ルネサスエレクトロニクス株式会社 半導体装置
US10958414B2 (en) 2016-02-23 2021-03-23 Google Llc Clock period randomization for defense against cryptographic attacks
KR102512819B1 (ko) * 2016-04-19 2023-03-23 삼성전자주식회사 딜레이 코드를 발생하는 전압 모니터
US11962313B2 (en) * 2016-12-23 2024-04-16 Advanced Micro Devices, Inc. Adaptive DCO VF curve slope control
EP3376423A1 (en) * 2017-03-14 2018-09-19 Gemalto Sa Self-adaptive countermeasures
CN118069218A (zh) * 2017-09-12 2024-05-24 恩倍科微公司 极低功率微控制器系统
EP3850523B1 (en) * 2019-11-19 2022-03-16 Google LLC Voltage-variation detection under clock fluctuations
US11474130B2 (en) * 2020-06-22 2022-10-18 Nxp B.V. Voltage glitch detection in integrated circuit

Also Published As

Publication number Publication date
TW202121100A (zh) 2021-06-01
KR20220053055A (ko) 2022-04-28
US20230131119A1 (en) 2023-04-27
EP3850523B1 (en) 2022-03-16
KR102492252B1 (ko) 2023-01-26
EP3850523A1 (en) 2021-07-21
CN114586034A (zh) 2022-06-03
WO2021101528A1 (en) 2021-05-27
JP7369867B2 (ja) 2023-10-26
US20210148957A1 (en) 2021-05-20
TWI755038B (zh) 2022-02-11
US11486911B2 (en) 2022-11-01

Similar Documents

Publication Publication Date Title
JP7369867B2 (ja) クロック変動下での電圧変動検出
Shepherd et al. Physical fault injection and side-channel attacks on mobile devices: A comprehensive analysis
US11972033B2 (en) Alert handling
Shila et al. Design, implementation and security analysis of hardware Trojan threats in FPGA
CN107533607B (zh) 通过信号延迟监测来进行攻击检测
Jayasinghe et al. FPGA based countermeasures against side channel attacks on block ciphers
Monjur Internet-of-Things (IoT) Security Threats: Attacks on Communication Interface
TWI845059B (zh) 執行安全密碼操作之積體電路及方法
US20230177154A1 (en) Sparse Encodings for Control Signals
US9645602B2 (en) Frequency sensor for side-channel attack
US20240169098A1 (en) Secure Chip-Wide Transmission
Giechaskiel Leaky hardware: modeling and exploiting imperfections in embedded devices
KR20240108446A (ko) 희소 인코딩된 신호를 위한 보안 멀티 레일 제어
Muttaki et al. FTC: A Universal Framework for Fault-Injection Attack Detection and Prevention
WO2023115022A2 (en) Efficient and secure data handling using domain-oriented masking
Zunaidi et al. Systematic Literature Review of EM-SCA Attacks on Encryption
WO2023158500A1 (en) Secure pseudo-random number generator (prng) reseeding
WO2022213129A1 (en) Read-only memory (rom) security
WO2022213128A1 (en) Read-only memory (rom) security
Kalogeridou et al. Security of ICs from Hardware Trojans
Hema et al. Design, Implementation and Detection of Hardware Trojans in Sequential systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220906

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230913

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: 20230919

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20231016

R150 Certificate of patent or registration of utility model

Ref document number: 7369867

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150