(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024096661
(43)【公開日】2024-07-17
(54)【発明の名称】改ざん防止検出器及び物理的攻撃を検出するための方法
(51)【国際特許分類】
H01L 21/822 20060101AFI20240709BHJP
【FI】
H01L27/04 H
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023096746
(22)【出願日】2023-06-13
(31)【優先権主張番号】112100171
(32)【優先日】2023-01-04
(33)【優先権主張国・地域又は機関】TW
(71)【出願人】
【識別番号】520196623
【氏名又は名称】▲しゃーん▼碼科技股▲ふん▼有限公司
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】莊 ▲かい▼▲しぇん▼
(72)【発明者】
【氏名】邵 啓意
(72)【発明者】
【氏名】游 鈞恆
【テーマコード(参考)】
5F038
【Fターム(参考)】
5F038AZ07
5F038AZ08
5F038BH11
(57)【要約】
【課題】 改善された改ざん防止検出器及び方法を提供すること。
【解決手段】 改ざん防止検出器は、温度センサ、電圧検出、周波数検出器及びコントローラを含む。温度センサは、動作温度にしたがって温度コードを生成するように構成されている。電圧検出器は、供給電圧及び温度コードにしたがって電圧コードを生成するように構成されている。周波数検出器は、システムクロック、温度コード及び電圧コードにしたがって周波数コードを生成するように構成されている。コントローラは、温度コード、電圧コード及び周波数コードにしたがって改ざん防止検出結果を生成するように構成されている。改ざん防止検出結果は、物理的攻撃により動作温度、供給電圧及びシステムクロックのうちのいずれかが改ざんされているかどうかを示す。
【選択図】
図1
【特許請求の範囲】
【請求項1】
物理的攻撃を検出するための改ざん防止検出器であって、
動作温度にしたがって温度コードを生成するように構成された温度センサと、
前記温度センサに結合され、供給電圧及び前記温度コードにしたがって電圧コードを生成するように構成された電圧検出器と、
前記温度センサ及び前記電圧検出器に結合され、システムクロック、前記温度コード及び前記電圧コードにしたがって周波数コードを生成するように構成された周波数検出器と、
前記温度センサ、前記電圧検出器及び前記周波数検出器に結合され、前記温度コード、前記電圧コード及び前記周波数コードにしたがって改ざん防止検出結果を生成するように構成されたコントローラであって、該改ざん防止検出結果は、前記動作温度、前記供給電圧及び前記システムクロックのうちのいずれかが前記物理的攻撃によって改ざんされているかどうかを示す、コントローラと、
を含む改ざん防止検出器。
【請求項2】
前記コントローラは、前記動作温度、前記供給電圧及び前記システムクロックのうちのいずれかが特定の動作範囲内にあるかどうかを検出することにより前記改ざん防止検出結果を生成する、請求項1に記載の改ざん防止検出器。
【請求項3】
前記温度センサは、
絶対温度比例(PTAT)発振器であって、PTATクロックを出力するように構成され、該PTATクロックの周波数は前記動作温度にしたがって決定される、PTAT発振器と、
前記PTAT発振器に結合され、前記PTATクロックの周波数に対して周波数-デジタル変換を行って前記動作温度に対応するデジタルコードを生成するように構成された周波数-デジタル変換器と、
を含む、請求項1に記載の改ざん防止検出器。
【請求項4】
前記温度センサは、
前記デジタルコードと前記温度コードとの間の較正マッピング情報を記憶するように構成された記憶装置と、
前記周波数-デジタル変換器及び前記記憶装置に結合され、前記較正マッピング情報及び前記デジタルコードにしたがって前記温度コードを生成するように構成されたエンコーダと、
をさらに含む、請求項3に記載の改ざん防止検出器。
【請求項5】
前記電圧検出器は、
電圧制御クロックを出力するように構成された電圧制御発振器(VCO)であって、該電圧制御クロックの周波数は、前記供給電圧にしたがって決定される、VCOと、
前記VCOに結合され、前記電圧制御クロックの周波数に対して周波数-デジタル変換を行って、前記供給電圧に対応するデジタルコードを生成するように構成された周波数-デジタル変換器と、
を含む、請求項1に記載の改ざん防止検出器。
【請求項6】
前記電圧検出器は、
前記デジタルコードと前記電圧コードとの間の較正マッピング情報を記憶するように構成された記憶装置と、
前記周波数-デジタル変換器及び前記記憶装置に結合され、前記温度コードにしたがって前記較正マッピング情報から特定の較正マッピング情報を選択し、該特定の較正マッピング情報及び前記デジタルコードにしたがって前記電圧コードを生成するように構成されたエンコーダと、
をさらに含む、請求項5に記載の改ざん防止検出器。
【請求項7】
前記電圧検出器に結合され、前記電圧コードの変化を検出して電圧グリッチ検出結果を生成するように構成された電圧グリッチ検出器をさらに含み、
前記コントローラは、前記電圧グリッチ検出結果にしたがって前記改ざん防止検出結果をさらに生成する、請求項1に記載の改ざん防止検出器。
【請求項8】
前記電圧コードは、前記システムクロックの以前の周期の間の以前の値を有し、前記電圧コードは前記システムクロックの現在の周期の間の現在の値を有し、
前記電圧グリッチ検出器は、
前記電圧コードの以前の値を記憶するように構成されたレジスタと、
前記以前の値と前記現在の値とを比較して前記電圧グリッチ検出結果を生成するように構成された比較器と、
を含む、請求項7に記載の改ざん防止検出器。
【請求項9】
前記周波数検出器は、
基準クロックを出力するように構成された基準発振器であって、該基準クロックの周波数は前記システムクロックの周波数よりも大きい、基準発振器と、
前記基準発振器に結合され、前記システムクロック及び前記基準クロックにしたがって前記システムクロックに対応するデジタルコードを生成するように構成された周波数-デジタル変換器と、
を含む、請求項1に記載の改ざん防止検出器。
【請求項10】
前記周波数検出器は、
前記デジタルコードと前記周波数コードとの間の較正マッピング情報を記憶するように構成された記憶装置と、
前記周波数-デジタル変換器及び前記記憶装置に結合され、前記温度コード及び前記電圧コードにしたがって前記較正マッピング情報から特定の較正マッピング情報を選択し、該特定の較正マッピング情報及び前記デジタルコードにしたがって前記周波数コードを生成するように構成されたエンコーダと、
をさらに含む、請求項9に記載の改ざん防止検出器。
【請求項11】
前記周波数検出器に結合され、前記システムクロックの周波数の変化を検出してクロックグリッチ検出結果を生成するように構成されたクロックグリッチ検出器をさらに含み、
前記コントローラは、前記クロックグリッチ検出結果にしたがって前記改ざん防止検出結果をさらに生成する、請求項9に記載の改ざん防止検出器。
【請求項12】
前記クロックグリッチ検出器は、
論理ハイ状態を有する前記システムクロックの時間間隔内の前記基準クロックの周期数をカウントしてカウント結果を生成するように構成されたカウンタであって、該カウント結果は、前記システムクロックの以前の周期の間の以前の値を有し、該カウント結果は前記システムクロックの現在の周期の間の現在の値を有する、カウンタと、
前記以前の値と前記現在の値とを比較して前記クロックグリッチ検出結果を生成するように構成された比較器と、
を含む、請求項11に記載の改ざん防止検出器。
【請求項13】
前記クロックグリッチ検出器は、
論理ロー状態を有する前記システムクロックの時間間隔内の前記基準クロックの周期数をカウントしてカウント結果を生成するように構成されたカウンタであって、該カウント結果は前記システムクロックの以前の周期の間の以前の値を有し、該カウント結果は前記システムクロックの現在の周期の間の現在の値を有する、カウンタと、
前記以前の値と前記現在の値とを比較して前記クロックグリッチ検出結果を生成するように構成された比較器と、
を含む、請求項11に記載の改ざん防止検出器。
【請求項14】
前記クロックグリッチ検出器は、
論理ハイ状態を有する前記システムクロックの第1の時間間隔内の前記基準クロックの第1の周期数をカウントして第1のカウント結果を生成するように構成された第1のカウンタであって、該第1のカウント結果は前記システムクロックの以前の周期の間の第1の以前の値を有し、該第1のカウント結果は前記システムクロックの現在の周期の間の第1の現在の値を有する、第1のカウンタと、
前記第1の以前の値と前記第1の現在の値とを比較して第1の比較結果を生成するように構成された第1の比較器と、
論理ロー状態を有する前記システムクロックの第2の時間間隔内の前記基準クロックの第2の周期数をカウントして第2のカウント結果を生成するように構成された第2のカウンタであって、該第2のカウント結果は前記システムクロックの以前の周期の間の第2の以前の値を有し、該第2のカウント結果は前記システムクロックの現在の周期の間の第2の現在の値を有する、第2のカウンタと、
前記第2の以前の値と前記第2の現在の値とを比較して第2の比較結果を生成するように構成された第2の比較器と、
前記第1の比較結果及び前記第2の比較結果に対してOR論理演算を行って前記クロックグリッチ検出結果を生成するように構成されたOR論理ゲートと、
を含む、請求項11に記載の改ざん防止検出器。
【請求項15】
前記周波数-デジタル変換器は、
前記システムクロックによって規定される時間間隔内の基準クロックの周期数をカウントしてカウント結果を生成するように構成されたカウンタであって、該時間間隔は前記システムクロックの周波数に対応する、カウンタと、
前記カウンタに結合され、前記基準クロック及び前記システムクロックにしたがってリセット信号を生成し、前記時間間隔の開始時点で前記カウンタをリセットするように構成されたリセット信号発生器と、
前記カウンタに結合され、前記時間間隔の終了時点で前記カウント結果を記憶し、前記カウント結果を前記デジタルコードとして出力するように構成されたレジスタと、
を含む、請求項9に記載の改ざん防止検出器。
【請求項16】
前記コントローラに結合され、前記改ざん防止検出器の累積動作時間をカウントして経時情報を生成するように構成された単調カウンタをさらに含み、
前記コントローラは、前記経時情報にしたがって前記特定の動作範囲の値を較正する、請求項2に記載の改ざん防止検出器。
【請求項17】
物理的攻撃を検出するための方法であって、
絶対温度比例(PTAT)発振器から出力される第1のクロック及び第1の較正マッピング情報にしたがって温度コードを生成することであって、該温度コードは動作温度を表す、ことと、
電圧制御発振器(VCO)から出力される第2のクロック、前記温度コード及び第2の較正マッピング情報にしたがって電圧コードを生成することであって、該電圧コードは供給電圧を表す、ことと、
基準発振器から出力される第3のクロック、前記温度コード、前記電圧コード及び第3の較正マッピング情報にしたがって周波数コードを生成することであって、該周波数コードはシステムクロックの周波数を表す、ことと、
コントローラを利用して、前記温度コード、前記電圧コード及び前記周波数コードにしたがって改ざん防止検出結果を生成することであって、該改ざん防止検出結果は、前記動作温度、前記供給電圧及び前記システムクロックのうちのいずれかが前記物理的攻撃によって改ざんされているかどうかを示す、ことと、
を含む方法。
【請求項18】
前記システムクロックの以前の周期の間の前記電圧コードの以前の値と、前記システムクロックの現在の周期の間の前記電圧コードの現在の値とを比較して電圧グリッチ検出結果を生成することをさらに含み、
前記改ざん防止検出結果は、前記供給電圧に前記物理的攻撃による電圧グリッチがあるかどうかを判定するために、前記電圧グリッチ検出結果にしたがってさらに生成される、請求項17に記載の方法。
【請求項19】
時間間隔内の前記第3のクロックの周期数をカウントしてカウント結果を生成することであって、該時間間隔は前記システムクロックの論理ハイ状態又は論理ロー状態によって規定される、ことと、
前記システムクロックの以前の周期の間の前記カウント結果の以前の値と、前記システムクロックの現在の周期の間の前記カウント結果の現在の値とを比較して、クロックグリッチ検出結果を生成することと、
をさらに含み、
前記改ざん防止検出結果は、前記システムクロックに前記物理的攻撃によるクロックグリッチがあるかどうかを判定するために、前記クロックグリッチ検出結果にしたがってさらに生成される、請求項17に記載の方法。
【請求項20】
カウンタを利用して、前記システムクロックによって規定される時間間隔内の、前記第1のクロック、前記第2のクロック及び前記第3のクロックのうちのテストクロックの周期数をカウントしてカウント結果を生成することであって、該時間間隔は前記システムクロックの周波数に対応する、ことと、
前記テストクロック及び前記システムクロックにしたがってリセット信号を生成して、前記時間間隔の開始時点で前記カウンタをリセットすることと、
レジスタを利用して、前記時間間隔の終了時点で前記カウント結果を記憶し、前記動作温度、前記供給電圧及び前記システムクロックの周波数のいずれかに対応するデジタルコードとして前記カウント結果を出力することと、
をさらに含む、請求項17に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は改ざん防止回路(anti-tampering circuit)に関し、より具体的には改ざん防止検出器及び物理的攻撃(physical attack)を検出するための方法に関する。
【背景技術】
【0002】
回路攻撃は、電圧攻撃、電圧グリッチ攻撃、周波数攻撃、クロックグリッチ攻撃及び温度攻撃等の複数の種類の物理的攻撃を含む。例えば、電力過多又は電力不足の電源電圧がチップに供給され得るか又はチップがオーバー/アンダークロックになり、チップの動作を異常になり得る。加えて、チップの電源線又はクロック信号に正のパルス又は負のパルスが注入されることで、チップが特定の時点で誤動作又は異常動作を起こし得る。さらに、チップの環境温度が変化してチップの動作を異常になり得る。
【0003】
上記の物理的攻撃によってチップ内のデータが改ざんされるか又は盗まれるのを防止するために、関連する検出回路がチップに設けられ、物理的攻撃が検知された場合にシステムに通知し得る。これらの検出回路は、高価なキャリブレーションが多くの場合必要になるアナログ回路又は混合信号回路で通常実施される。加えて、関連技術の検出機構は、動作温度及び電圧等の様々な要因の影響を受けやすく、上述の複数の種類の物理的攻撃を正しく検出することの困難さが増す。
【0004】
そのため、関連技術の課題を解決するために、新たなアーキテクチャ及び関連方法が必要である。
【発明の概要】
【0005】
本発明の目的は、改ざん防止検出器及び物理的攻撃を検出するための方法を提供することであり、上述した物理的攻撃に対応して、チップが関連する保護機構を作動させることができるように、副作用を導入することなく又は副作用を導入しにくい方法で、チップの実際の動作条件(動作温度、電源電圧及びシステムクロックの周波数等)を特定できるようにする。
【0006】
本発明の少なくとも1つの実施形態は、物理的攻撃を検出するための改ざん防止検出器を提供する。改ざん防止検出器は、温度センサ、電圧検出器、周波数検出器及びコントローラを含み、電圧検出器は温度センサに結合され、周波数検出器は温度センサ及び電圧検出器に結合され、コントローラは温度センサ、電圧検出器及び周波数検出器に結合されている。具体的には、温度センサは動作温度にしたがって温度コードを生成するように構成されている。電圧検出器は供給電圧及び温度コードにしたがって電圧コードを生成するように構成されている。周波数検出器はシステムクロック、温度コード及び電圧コードにしたがって周波数コードを生成するように構成されている。コントローラは、温度コード、電圧コード及び周波数コードにしたがって改ざん防止検出結果を生成するように構成されている。より具体的には、該改ざん防止検出結果は、動作温度、供給電圧及びシステムクロックのうちのいずれかが物理的攻撃によって改ざんされているかどうかを示す。
【0007】
本発明の少なくとも1つの実施形態は、物理的攻撃を検出するための方法を提供する。本方法は、絶対温度比例(PTAT)発振器から出力される第1のクロック及び第1の較正マッピング情報にしたがって温度コードを生成することであって、該温度コードは動作温度を表す、ことと、電圧制御発振器(VCO)から出力される第2のクロック、前記温度コード及び第2の較正マッピング情報にしたがって電圧コードを生成することであって、該電圧コードは供給電圧を表す、ことと、基準発振器から出力される第3のクロック、前記温度コード、前記電圧コード及び第3の較正マッピング情報にしたがって周波数コードを生成することであって、該周波数コードはシステムクロックの周波数を表す、ことと、コントローラを利用して、前記温度コード、前記電圧コード及び前記周波数コードにしたがって改ざん防止検出結果を生成することであって、該改ざん防止検出結果は、前記動作温度、前記供給電圧及び前記システムクロックのうちのいずれかが前記物理的攻撃によって改ざんされているかどうかを示す、ことと、を含む。
【0008】
本発明によって提供される改ざん防止検出器及び方法は、温度、供給電圧及び周波数等の動作状態を検出するために複数の発振器を利用するため、前述の情報を表すためのアナログ信号の実施を避けることができる。加えて、温度情報を取得した後に、本発明は温度情報に基づいて電圧をさらに検出する。電圧情報を取得した後に、本発明は温度情報及び電圧情報に基づいて周波数をさらに検出する。そのため、システム全体の動作状態を適切に監視でき、様々な種類の物理的攻撃を確実に検出できる。
【0009】
本発明のこれらの及び他の目的は、様々な図及び図面に示す好ましい実施形態の以下の詳細な説明を読んだ後に当業者に間違いなく明らかになる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本発明の一実施形態に係る改ざん防止検出器を示す図である。
【
図2】
図2は、本発明の一実施形態に係る温度センサの詳細な実施を示す図である。
【
図3】
図3は、本発明の一実施形態に係る電圧検出器の詳細な実施を示す図である。
【
図4】
図4は、本発明の一実施形態に係る電圧異常検出器の詳細な実施を示す図である。
【
図5】
図5は、本発明の一実施形態に係る電源電圧の電圧グリッチの検出を示す図である。
【
図6】
図6は、本発明の一実施形態に係る周波数検出器の詳細な実施を示す図である。
【
図7】
図7は、本発明の一実施形態に係るクロックグリッチ検出器の詳細な実施を示す図である。
【
図8】
図8は、本発明の一実施形態に係るシステムクロックのクロックグリッチの検出を示す図である。
【
図9】
図9は、本発明の別の実施形態に係るシステムクロックのクロックグリッチの検出を示す図である。
【
図10】
図10は、本発明の実施形態に係る周波数-デジタル変換器の詳細な実施を示す図である。
【
図11】
図11は、本発明の実施形態に係る物理的攻撃を検出するための方法の動作フローを示す図である。
【発明を実施するための形態】
【0011】
図1は、本発明の一実施形態に係る改ざん防止検出器10を示す図であり、改ざん防止検出器10は、電圧攻撃、電圧グリッチ攻撃、周波数攻撃、クロックグリッチ攻撃及び温度攻撃等の物理的攻撃を検出するように構成されている。
図1に示すように、改ざん防止検出器10は、温度センサ110、電圧検出器120、周波数検出器130及びコントローラ100を含んでもよく、電圧検出器120は温度センサ110に結合され、周波数検出器は温度センサ110及び電圧検出器120に結合され、コントローラ100は温度センサ110、電圧検出器120及び周波数検出器130に結合されている。この実施形態では、温度センサ110は動作温度にしたがって温度コードTcodeを生成し得る。電圧検出器120は、供給電圧及び温度コードTcodeにしたがって電圧コードVcodeを生成し得る。周波数検出器130は、システムクロック、温度コードTcode及び電圧コードVcodeにしたがって周波数コードFcodeを生成し得る。コントローラ100は、温度コードTcode、電圧コードVcode及び周波数コードFcodeにしたがって、改ざん防止検出結果REStamperを生成し得る。改ざん防止検出結果REStamperは、物理的攻撃により動作温度、供給電圧及びシステムクロックのいずれかが改ざんされたかを示し得る。
【0012】
例えば、改ざん防止検出器10を含むチップの動作条件は、動作温度が温度範囲にあり、供給電圧が電圧範囲にあり、システムクロックの周波数が周波数範囲にあるように予め決められており、改ざん防止検出器10は、動作温度、供給電圧及びシステムクロックのいずれかが(例えば、それぞれが)特定の動作範囲内にあるか検出して、改ざん防止検出結果REStamperを生成し得る。コントローラ100は、温度範囲に対応する温度コード範囲、電圧範囲に対応する電圧コード範囲及び周波数範囲に対応する周波数コード範囲等の特定の動作範囲の情報を記憶するための内蔵型記憶装置を有し得る。コントローラ100は、温度コードTcodeが温度コードTcodeに該当するかどうかを判定し、電圧コードVcodeが温度コード範囲内にあるか判定し、周波数コードFcodeが周波数コード範囲内にあるか判定し得る。動作温度、供給電圧及びシステムクロックのいずれかが特定の動作範囲内にない場合、コントローラ100は物理的攻撃が検出されたと判定し、それにより改ざん防止検出結果REStamperが生成される。
【0013】
改ざん防止検出器10は単調カウンタ160をさらに含み得る。単調カウンタ160はコントローラ100に結合され、改ざん防止検出器10(又は改ざん防止検出器10を含むチップ)の累積動作時間をカウントして経時情報(aging information)AGEcodeを生成し得る。例えば、改ざん防止検出器10の電源が最初にオンにされたときに、単調カウンタ160は、この電源オンの後の動作時間にしたがって、経時情報AGEcodeを初期値(例えば0)から第1の累積値に増やし得る。改ざん防止検出器10の電源が2回目にオンにされたとき、単調カウンタ160は、この電源オン後の動作時間にしたがって、経時情報AGEcodeを第1の累積値から第2の累積値に増やされ得る。類推による推定によれば、経時情報AGEcodeは、改ざん防止検出器10の動作の間に増加が続けられ、電源オフによってリセットされない。そのため、経時情報AGEcodeは、改ざん防止検出器10(又は改ざん防止検出器10を構成するチップ)の利用時間の条件を表し得る。実際には、改ざん防止検出器10内のコンポーネントの動作条件は、経年劣化等の要因により経時的に初期条件から逸れ得る。そのため、コントローラ100は、コンポーネントの経年劣化の要因を考慮した条件で、物理的攻撃により、動作温度、供給電圧及びシステムクロックのうちのいずれかが改ざんされたかどうかを適切に判定するために、単調カウンタ160によって生成される経時情報AGEcodeにしたがって、上述した特定の動作範囲を較正し得る(例えば、温度コードTcodeに対応する温度コード範囲、電圧コードVcodeに対応する電圧コード範囲及び周波数コードFcodeに対応する周波数コード範囲のいずれかを較正)。
【0014】
この実施形態では、改ざん防止検出器10は電圧グリッチ検出器140をさらに含み得る。電圧グリッチ検出器140は電圧検出器120に結合されている。例えば、電圧グリッチ検出器140は、電圧コードVcodeの変化を検出して電圧グリッチ検出結果Vglitchを生成し得る。コントローラは、物理的攻撃による電圧グリッチが供給電圧にあるかどうかを電圧グリッチ検出結果Vglitchにしたがってさらに判定し得る。
【0015】
この実施形態では、改ざん防止検出器10はクロックグリッチ検出器150をさらに含み得る。クロックグリッチ検出器150は周波数検出器130に結合される。クロックグリッチ検出器150はシステムクロックの周波数の変化を検出して、クロックグリッチ検出結果Cglitchを生成し得る。コントローラ100は、システムクロック物理的攻撃によるクロックグリッチがシステムクロックにあるかどうかをクロックグリッチ検出結果Cglitchにhにしたがってさらに判定し得る。
【0016】
実際には、温度センサ110、電圧検出器120及び周波数検出器130が、動作温度、供給電圧及びシステムクロックの周波数を表すために高解像度デジタル信号を利用する場合(例えば、温度コードTcode、電圧コードVcode及び周波数コードFcodeのそれぞれのビット数が極端に高い場合)、温度コードTcode、電圧コードVcode及び周波数コードFcodeのそれぞれの最下位ビット(LSB)は、物理的攻撃がなくてもノイズ等の要因によって変化を続け得る。そのため、コントローラ100は、温度コードTcode、電圧コードVcode及び周波数コードFcodeのそれぞれのLSBを破棄し、残りのビットのみを参照することにより改ざん防止検出器10(又は改ざん防止検出器10を含むチップ)が物理的攻撃を受けているかどうかを判定し得る。加えて、改ざん防止検出器10はエントロピー抽出器170をさらに含み得る。エントロピー抽出器170は温度センサ110、電圧検出器120及び周波数検出器130に結合されている。ノイズによって容易に阻害される温度コードTcode、電圧コードVcode及び周波数コードFcodeのそれぞれのLSBに基づいて、エントロピー抽出器170は、温度コードTcode、電圧コードVcode及び周波数コードFcodeのそれぞれのLSBにしたがってエントロピー出力BITentropyを生成し得る。エントロピー出力BITentropyは、温度コードTcode、電圧コードVcode及び周波数コードFcodeのそれぞれのLSBにしたがってハッシュ動作、収集動作及び配置動作を行うことにより生成される1つ以上のエントロピービットであり得るが、本発明はこれに限定されない。
【0017】
図2は、本発明の一実施形態に係る温度センサ110の詳細な実施を示す図である。
図2に示すように、温度センサ110は、絶対温度比例(PTAT)発振器111、周波数-デジタル変換器112、ワンタイムプログラマブル(OTP)記憶装置114等の記憶装置及びエンコーダ113を含み、周波数-デジタル変換器112はPTAT発振器111に結合され、エンコーダ113は周波数-デジタル変換器112及びOTP記憶装置114に結合されている。この実施形態では、PTAT発振器111はPTATクロックCLK
PTATを出力し得る。PTATクロックCLK
PTATの周波数は動作温度にしたがって決定される。この実施形態では、PTAT発振器111の電力は供給電圧VDDによって提供され、供給電圧VDDは
図1の実施形態で言及した供給電圧の一例であり得る。具体的には、PTAT発振器111は電圧制御される電流源を含んでもよく、PTATクロックCLK
PTATの周波数は、電圧制御された電流源の電流によって決定され、供給電圧VDDの変動の影響を受けない。電圧制御された電流源の電流はPTAT電圧VPTATによって制御され、PTAT電圧VPTATの変化は絶対温度の変化に比例し得る。そのため、供給電圧VDDの変化による干渉なしに又は供給電圧VDDの変化による干渉を受ける可能性の低い状態で、PTATクロックCLK
PTATの周波数を検出することにより動作温度の変化の情報を得ることができる。例えば、周波数-デジタル変換器112は、PTATクロックCLK
PTATの周波数に対して周波数-デジタル変換を行って、動作温度に対応するデジタルコードTcode0を生成し得る。
【0018】
実際には、PTAT発振器111及び周波数-デジタル変換器112の動作により、異なるチップは、プロセス変動のために、同じ温度下で異なるデジタルコードTcode0を出力し得る。プロセス変動により動作温度を正しく検出できないという課題を克服するために、工場出荷前のテスト段階の間にチップのプロセス状態にしたがってチップのプロセス状態(例えば、SSコーナー、FFコーナー又はTTコーナー等のチップが属するプロセスコーナー)に対応する較正マッピング情報TmapがOTP記憶装置114(理解をより良くするために「温度マッピング(OTP)」と表記)に書き込まれ、エンコーダ113はデジタルコードTcode0を受信し、OTP記憶装置114に記憶された較正マッピング情報Tmapにしたがって、温度コードTcodeをさらに生成し得る。そのため、較正の後、温度センサ110から出力される温度コードTcodeは、製造工程による影響を受けることなく動作温度を正確に表すことができる。
【0019】
図3は、本発明の一実施形態に係る電圧検出器120の詳細な実施を示す図である。
図3に示すように、電圧検出器120は、電圧制御発振器(VCO)121、周波数-デジタル変換器122、OTP記憶装置124等の記憶装置及びエンコーダ123を含み、周波数-デジタル変換器122はVCO121に結合され、エンコーダ123は周波数-デジタル変換器122及びOTP記憶装置124に結合されている。この実施形態では、VCO121は電圧制御クロックCLK
VCOを出力し、電圧制御クロックCLK
VCOの周波数は供給電圧VDDにしたがって決定される。例えば、供給電圧VDDの変化は電圧制御クロックCLK
VCOの周波数の変化に比例する。そのため、電圧制御クロックCLK
VCOの周波数を検出することにより、供給電圧VDDの変化の情報が得られ得る。例えば、周波数-デジタル変換器122は、電圧制御クロックCLK
VCOの周波数に対して周波数-デジタル変換を行って、供給電圧VDDに対応する電圧コードVcode0を生成し得る。
【0020】
実際には、プロセス変動要因に加えて、VCO121は動作温度の影響を受け得る。そのため、プロセス及び温度の要因によって供給電圧VDDを正しく検出できないという課題を克服するために、工場出荷前のテスト段階の間のチップのプロセス状態にしたがってチップのプロセス状態(例えば、SSコーナー、FFコーナー又はTTコーナー等のチップが属するプロセスコーナー)に対応する較正マッピング情報VmapがOTP記憶装置124(理解をより良くするために「温度マッピング(OTP)」と表記)に書き込まれ得る。較正マッピング情報Vmapは複数の動作温度下でのデジタルコードVcode0及び電圧コードVcodeの電圧デジタルマッピング関係を含む。そのため、デジタルコードVcode0及び温度コードTcodeを受信した後、エンコーダ123は、温度コードTcodeにしたがって、較正マッピング情報Vmapから対応する特定の較正マッピング情報を選択し、そしてこの特定のマッピング情報及びデジタルコードVcode0にしたがって電圧コードVcodeを生成する。そのため、較正の後、電圧検出器120から出力される電圧コードVcodeは、プロセス及び温度の変動による影響を受けることなく、供給電圧の電圧レベルを正確に表すことができる。
【0021】
図4は、本発明の一実施形態に係る電圧グリッチ検出器140の詳細な実施を示す図である。
図4に示すように、電圧グリッチ検出器140はレジスタ141及び比較器142を含み、比較器142はレジスタ141に結合されている。この実施形態では、電圧コードVcodeはシステムクロックCLK
SYSの前の周期の間に以前の値を有し、電圧コードVcodeはシステムクロックCLK
SYSの現在の周期の間の現在の値を有し、レジスタ141は電圧コードVcodeの以前の値を記憶し、比較器142は電圧コードVcodeの以前の値と電圧コードVcodeの現在の値を比較して、電圧グリッチ検出結果Vglitchを生成し得る。例えば、現在の周期では、電圧検出器120から出力される電圧コードVcodeは電圧コードVcodeの現在の値を表し、レジスタ141から出力される電圧コードVcode’は電圧コードVcodeの以前の値を表し得る。比較器142が電圧コードVcodeと電圧コードVcode’の差が所定の閾値よりも大きいことを検出すると、比較器142は、供給電圧VDDの電圧グリッチの状態をコントローラ100に報告するために、電圧グリッチ検出結果Vglitchを論理値「1」にプルし得る。
【0022】
図5は、本発明の一実施形態に係る供給電圧VDDの電圧グリッチの検出を示す図である。
図5に示すように、供給電圧VDDが正のグリッチを有する場合、VCO121から出力されるVCOクロックCLK
VCOの周波数が変化して、電圧検出器120から出力される電圧コードVcodeの値を変化させることがあり(例えば、D0からD1に変化)、電圧グリッチ検出器140は、電圧コードVcodeの値の変化に応答して、電圧グリッチ検出結果Vglitchを論理値「0」から論理値「1」にプルし得る。供給電圧VDDが負のグリッチを有する場合、VCO121から出力されるVCOクロックCLK
VCOの周波数が変化して、電圧検出器120から出力される電圧コードVcodeの値を変化させることがあり(例えば、D0からD2に変化)、電圧グリッチ検出器140は、電圧コードVcodeの値の変化に応答して、電圧グリッチ検出結果Vglitchを論理値「0」から論理値「1」にプルし得る。
【0023】
なお、周波数-デジタル変換器112及び122の双方は、システムクロックCLKSYSに基づいて周波数-デジタル変換を行う。例えば、周波数-デジタル変換器112は、システムクロックによって規定される時間間隔(例えば、システムクロックCLKSYSによって規定される1周期)内のPTATクロックCLKPTATの周期数をカウントすることにより、デジタルコードTcode0を生成し得る。物理的攻撃により動作温度及びシステムクロックCLKSYSの周波数の両方が変化しても、温度センサ110から出力される温度コードTcodeは一部の条件下で変化しないか又は温度範囲内で維持され得るため、コントローラ100は動作温度の変化を検出できない。別の例では、周波数-デジタル変換器122は、システムクロックによって規定される時間間隔(例えば、システムクロックCLKSYSによって規定される1周期)内でVCOクロックCLKVCOの周期数をカウントすることによりデジタルコードVCOde0を生成し得る。物理的攻撃により供給電圧VDD及びシステムクロックCLKSYSの周波数の両方が変化しても、電圧検出器120から出力される電圧コードVcodeは一部の条件下で変化しないか又は温度範囲内で維持され得るため、コントローラ100は供給電圧VDDの電圧レベルの変化を検出できない。
【0024】
本発明は、上記の状況を防止するために、周波数検出器130を利用してシステムクロックCLK
SYSの周波数を監視できる。
図6は、本発明の一実施形態に係る周波数検出器130の詳細な実施を示す図である。
図6に示すように、周波数検出器130は基準発振器131、周波数-デジタル変換器132、OTP記憶装置134等の記憶装置及びエンコーダ133を含み、周波数-デジタル変換器132は基準発振器131に結合され、エンコーダは周波数-デジタル変換器132及びOTP記憶装置134に結合されている。この実施形態では、基準発振器131は基準クロックCLK
REFを出力し得る。基準クロックCLK
REFの周波数はシステムクロックCLK
SYSの周波数よりも大きい。加えて、周波数-デジタル変換器132は、システムクロックCLK
SYS及び基準クロックCLK
REFにしたがって、システムクロックCLK
SYSに対応するデジタルコードFcode0を生成し得る。そのため、デジタルコードFcode0を監視することにより、システムクロックCLK
SYSの周波数の変化を検出できる。
【0025】
上述したプロセス変動の要因に加えて、基準発振器131は、実際には、動作温度及び供給電圧VDDの影響を受け得る。そのため、プロセス、温度及び供給電圧の要因によりシステムクロックCLKSYSの周波数を正しく検出できないという課題を克服するために、工場出荷前のテスト段階の間のチップのプロセス状態にしたがって、チップのプロセス状態(例えば、SSコーナー、FFコーナー又はTTコーナー等のチップが属するプロセスコーナー)に対応する較正マッピング情報FmapがOTP記憶装置134(理解をより良くするために「温度マッピング(OTP)」と表記)に書き込まれ得る。較正マッピング情報Fmapは、複数の動作温度及び供給電圧VDDの下でのデジタルコードFcode0及び周波数コードFcodeの周波数-デジタルマッピング関係を含む。そのため、デジタルコードFcode0、温度コードTcode及び電圧コードVcodeを受信した後、エンコーダ133は、温度コードTcode及び電圧コードVcodeにしたがって較正マッピング情報Fmapから対応する特定の較正マッピング情報を選択し、この特定の較正マッピング情報及びデジタルコードFcode0にしたがって周波数コードFcodeを生成し得る。そのため、較正の後、周波数検出器130から出力される周波数コードFcodeは、プロセス、温度及び電圧の変動による影響を受けることなく、システムクロックCLKSYSの周波数を正しく表すことができる。
【0026】
図7は、本発明の一実施形態に係るクロックグリッチ検出器150の詳細な実施を示す図である。
図7に示すように、クロックグリッチ検出器150は、カウンタ151p、レジスタ152p、比較器153p、カウンタ151n、レジスタ152n、比較器153n、OR論理ゲート154(簡潔性のために
図7では「OR論理」と表記)を含み得る。この実施形態では、カウンタ151pは、論理ハイ状態(例えば、論理値「1」)を有するシステムクロックCLK
SYSの時間間隔内で基準クロックCLK
REFの第1の周期数をカウントし、カウント結果Dpを生成してレジスタ152pに送信し得る。カウント結果DpはシステムクロックCLK
SYSの以前の周期の間の第1の以前の値を有し、カウント結果DpはシステムクロックCLK
SYSの現在の周期の間の第1の現在の値を有する。比較器153pは、カウント結果Dpの第1の以前の値とカウント結果Dpの第1の現在の値を比較して、正のクロックグリッチ検出結果Cgpを生成し得る。例えば、システムクロックCLK
SYSの現在の周期では、カウンタ151pから出力されるカウント結果Dpはカウント結果Dpの第1の現在の値を表し、レジスタ152pから出力されるカウント結果Dp’はカウント結果Dpの第1の以前の値を表し得る。加えて、カウンタ151nは、論理ロー状態(例えば論理値「0」)を有するシステムクロックCLK
SYSの時間間隔内で基準クロックCLK
REFの第2の周期数をカウントし、カウント結果Dnを生成してレジスタ152nに送信し得る。カウント結果DnはシステムクロックCLK
SYSの以前の周期の間の第2の以前の値を有し、カウント結果DnはシステムクロックCLK
SYSの現在の周期の間の第2の現在の値を有する。比較器153nは、カウント結果Dnの第2の以前の値とカウント結果Dnの第2の現在の値とを比較して、負のクロックグリッチ検出結果Cgnを生成し得る。例えば、システムクロックCLK
SYSの現在の周期では、カウンタ151nから出力されるカウント結果Dnはカウント結果Dnの第2の現在の値を表し、レジスタ152nから出力されるカウント結果Dn’は、カウント結果Dnの第2の以前の値を表し得る。加えて、OR論理ゲート154は、正のグリッチ検出結果Cgp及び負のクロックグリッチ検出結果Cgnに対してOR論理演算を行って、クロックグリッチ検出結果Cglitchを生成し得る。そのため、システムクロックCLK
SYSがグリッチを有することを正のグリッチ検出結果Cgp及び負のクロックグリッチ検出結果Cgnのいずれかが示す場合、OR論理ゲート154は、コントローラ100に通知するためにクロックグリッチ検出結果Cglitchを論理値「1」にプルし得る。
【0027】
一部の実施形態では、クロックグリッチ検出器150は正のクロックグリッチのみを検出し得る。例えば、カウンタ151n、レジスタ152n、比較器153n及びOR論理ゲート154が省略されて、クロックグリッチ検出器150は正のグリッチ検出結果Cgpをクロックグリッチ検出結果Cglitchとして出力し得る。一部の実施形態では、クロックグリッチ検出器150は負のクロックグリッチのみを検出し得る。例えば、カウンタ151p、レジスタ152p、比較器153p及びOR論理ゲート154が省略されて、クロックグリッチ検出器150は負のグリッチ検出結果Cgnをクロックグリッチ検出結果Cglitchとして出力し得る。
【0028】
図8は、本発明の一実施形態に係るシステムクロックCLK
SYSにおける正のクロックグリッチの検出を示す図である。この実施形態では、システムクロックCLK
SYSにクロックグリッチがない場合、カウント結果Dpの値はDp0である(例えば、論理ハイ状態を有するシステムクロックCLK
SYSの時間長が固定値で維持される)。物理的攻撃によりシステムクロックCLK
SYSに正のクロックグリッチがある場合(例えば、システムクロックCLK
SYSが論理ロー状態であることが期待される期間に、システムクロックCLK
SYSが論理ハイ状態にプルされた場合)、カウント結果Dpの値が変化することがあり(例えば、Dp1に変化)、正のクロックグリッチ検出結果Cgpが論理値「1」にプルされて、クロックグリッチ検出結果Cglitchが論理値「1」にプルされることがある。
【0029】
図9は、本発明の一実施形態に係るシステムクロックCLK
SYSにおける負のクロックグリッチの検出を示す図である。この実施形態では、システムクロックCLK
SYSにクロックグリッチがない場合、カウント結果Dnの値はDn0である(例えば、論理ロー状態を有するシステムクロックCLK
SYSの時間長が固定値で維持される)。物理的攻撃によりシステムクロックCLK
SYSに負のクロックグリッチがある場合(例えば、システムクロックCLK
SYSが論理ハイ状態であることが期待される期間に、システムクロックCLK
SYSが論理ロー状態にプルされた場合)、カウント結果Dnの値が変化することがあり(例えば、Dn1に変化)、負のクロックグリッチ検出結果Cgnが論理値「1」にプルされて、クロックグリッチ検出結果Cglitchが論理値「1」にプルされることがある。
【0030】
図10は、本発明の一実施形態に係る周波数-デジタル変換器200の詳細な実施を示す図であり、
図2に示す周波数-デジタル変換器112、
図3に示す周波数-デジタル変換器122及び
図6に示す周波数-デジタル変換器132のいずれかは、周波数-デジタル変換器200のアーキテクチャに基づいて実施され得る。この実施形態では、周波数-デジタル変換器200は、システムクロックCLK
SYSに基づいて入力クロックCLK
IN対して周波数-デジタル変換を行って、出力コードD
OUTを生成し得る。
図2に示すPTATクロックCLK
PTAT、
図3に示す電圧制御クロックCLK
VCOおよび
図6に示す基準クロックCLK
REFは、入力クロックCLKINの例であり、
図2に示すデジタルコードTcode0、
図3に示すデジタルコードVcode0および
図6に示すデジタルコードFcode0は、出力コードD
OUTの例である。
【0031】
図10に示すように、周波数-デジタル変換器200は、カウンタ210、リセット信号発生器220及びレジスタ230を含み、リセット信号発生器220はカウンタ210に結合され、レジスタ230はカウンタ210に結合されている。この実施形態では、カウンタ210は、システムクロックCLK
SYSによって規定された時間間隔内での入力クロックCLK
INの周期数をカウントしてカウント結果D
COUNTを生成し得る。前記時間間隔はシステムクロックCLK
SYSの周波数に対応する。加えて、リセット信号発生器220は基準クロックCLK
REF及びシステムクロックCLK
SYSにしたがってリセット信号RSTを生成して、時間間隔の開始時点でカウンタ210をリセットし、レジスタ230は、時間間隔の終了時点でカウント結果D
COUNTを記憶して、出力コードD
OUTとしてカウント結果D
COUNTを出力し得る。一部の実施形態では、時間間隔はシステムクロックCLK
SYSの1周期であり得る。一部の実施形態では、時間間隔は、論理ハイ状態を有するシステムクロックCLK
SYSの期間であり得る。一部の実施形態では、時間間隔は論理ロー状態を有するシステムクロックの期間であり得る。
【0032】
図11は、本発明の一実施形態に係る物理的攻撃を検出するための方法のワークフローを示す図であり、該ワークフローは
図1に示す改ざん防止検出器10によって実行され得る。なお、
図11に示すワークフローは説明のみを目的としており、本発明を限定するものではない。例えば、
図11に示すワークフローにおいて、1つ以上のステップが追加、削除又は変更され得る。加えて、同じ結果が得られる場合、これらのステップは
図11に示す厳密な順序で実行する必要はない。
【0033】
ステップS10で、改ざん防止検出器10は、PTAT発振器から出力される第1のクロック(例えば、PTATクロックCLK
PTAT)及び第1の較正マッピング情報(例えば、製造工程を考慮して得られる
図2に示す較正マッピング情報Tmap)にしたがって温度コードを生成し得る。温度コードは動作温度を表す。
【0034】
ステップS20で、改ざん防止検出器10は、VCOから出力される第2のクロック(例えば、電圧制御クロックCLK
VCO)、温度コード及び第2の較正マッピング情報(例えば、製造工程を考慮して得られる
図3に示す較正マッピング情報Vmap)にしたがって電圧コードを生成し得る。
【0035】
ステップS30で、改ざん防止検出器10は、基準発振器から出力される第3のクロック(例えば、基準クロックCLK
REF)、温度コード、電圧コード及び第3の較正マッピング情報(例えば、製造工程を考慮して得られる
図6に示す較正マッピング情報Fmap)にしたがって、周波数コードを生成し得る。
【0036】
ステップS40で、改ざん防止検出器10は、コントローラを利用して、温度コード、電圧コード及び周波数コードにしたがって、改ざん防止検出結果を生成し得る。改ざん防止検出結果は、動作温度、供給電圧及びシステムクロックのいずれかが物理的攻撃によって改ざんされているかどうかを示す。
【0037】
要約すると、本発明の実施形態によって提供される改ざん防止検出器及び関連方法は、製造プロセスを考慮することによって生成される較正マッピング情報を利用して、複数の発振器の周波数を検出することにより、温度、供給電圧の電圧レベル及びシステムクロックの周波数の情報をデジタル信号の形で取得できる。そのため、アナログ回路を利用することによって生じる関連技術の課題を解決できる。加えて、本発明は、温度情報を取得した後に温度情報に基づいて電圧を検出し、電圧情報を取得した後に温度情報及び電圧情報に基づいて周波数を検出する。そのため、システム全体の動作状態を適切に監視でき、様々な種類の物理的攻撃を確実に検出できる。
【0038】
当業者であれば、本発明の教示を保持しながら、装置及び方法に多くの修正及び変更が行われ得ることを容易に察するであろう。したがって、上記の開示は、添付の特許請求項の内容及び範囲によってのみ制限されるものと解釈すべきである。
【外国語明細書】