TWI550291B - 積體電路及其錯誤檢測方法 - Google Patents
積體電路及其錯誤檢測方法 Download PDFInfo
- Publication number
- TWI550291B TWI550291B TW103140005A TW103140005A TWI550291B TW I550291 B TWI550291 B TW I550291B TW 103140005 A TW103140005 A TW 103140005A TW 103140005 A TW103140005 A TW 103140005A TW I550291 B TWI550291 B TW I550291B
- Authority
- TW
- Taiwan
- Prior art keywords
- circuit
- integrated circuit
- error
- output
- clock
- Prior art date
Links
Landscapes
- Semiconductor Integrated Circuits (AREA)
Description
本發明係有關於數位電子電路,特別是用於保護時脈樹電路發生錯誤之系統及其方法。
有許多技術可使用在從安全的電子電路系統中獲取、分析、或提取信息,例如加密電路。一些被稱為錯誤注入的攻擊通常引起電路錯誤(fault),例如,通過物理接觸或破壞信號線、通過施加高功率雷射或電磁脈衝、或通過在電源或其他外部介面上產生突波(glitch)。上述錯誤可能導致電路輸出敏感信息或是協助攻擊者滲透該電路或其儲存的信息。因此,本發明提出一種積體電路及其錯誤檢測方法。
本發明之一實施例提供一種積體電路。該積體電路包括一時脈樹電路以及一保護電路。該時脈樹電路用以發佈一時脈信號至該整個積體電路。該保護電路,依據在該時脈樹電路的多個取樣點所取樣之該時脈信號之一至多個參考時脈而運作,且用以偵測該時脈樹電路是否發生錯誤,該錯誤反應自該一至多個該等參考時脈的異常。
在本發明之一些實施例中,該保護電路更包括由複數邏輯級構成的一級聯以及一偵測器。該等邏輯級依據該時
脈信號的各別該等參考時脈而運作。該偵測器透過驗證該級聯的一輸出是否偏離一期望(輸出)值,以偵測該時脈樹電路是否發生錯誤。在本發明之一實施例中,每一該等邏輯級包括對應之一正反器(Flip-Flops;FFs)。在本發明之另一實施例中,該級聯用以輸出邏輯值的交替型樣,且該偵測器驗證該級聯之該輸出是否偏離該交替型樣。
在本發明之一實施例中,在初始化該級聯之後之一預定的時間間隔內,該偵測器停止驗證該級聯之該輸出是否偏離。在本發明之一可替換實施例中,保護電路用以初始化該級聯之該等邏輯級以產生該期望值。在一些實施例中,該保護電路更在偵測到該時脈樹電路發生錯誤時,發出警告或動作。
本發明之一實施例提供一種積體電路錯誤檢測方法。該積體電路錯誤檢測方法包括:藉由一時脈樹電路發佈一時脈信號至整個積體電路;分別在該時脈樹電路之一或多個取樣點取樣得到對應之該時脈信號的一至多個參考時脈;藉由該時脈信號的一至多個該等參考時脈運作一保護電路;以及藉由該保護電路偵測該時脈樹電路是否發生錯誤,該錯誤反應該時脈信號的一至多個該等參考時脈的異常。
20‧‧‧積體電路
24‧‧‧時脈樹電路
28‧‧‧時脈信號源
32‧‧‧導線
36‧‧‧主動元件
40‧‧‧功能硬體
44‧‧‧移位暫存器
48‧‧‧偵測器
52‧‧‧正反器
56‧‧‧取樣線
第1圖顯示依據本發明之一實施例所實現之具有保護電路之一積體電路20之電路圖。
第2圖顯示依據本發明之一實施例所實現用於時脈樹電路錯誤保護之方法之流程圖。
本發明所述實施例提供了偵測積體電路中時脈樹電路錯誤發生之系統及其方法。在本發明之實施例中,一積體電路包括了一時脈樹電路,該時脈樹電路中之一時脈信號源發佈一時脈信號至該積體電路中各個硬體單元。該時脈樹電路通常包括了擴展至大部分積體電路的電路導線以及主動元件,像是放大器、緩衝器、鎖存器和/或反相器。
在某些情形下,該時脈樹電路可能被錯誤攻擊以試圖分析積體電路的功能,或試圖獲取存取在該積體電路中的信息。錯誤攻擊通常施加一些恆定或暫時的異常至該時脈樹電路,並企圖迫使該積體電路進入迴避其保護機制的異常狀態。盡管以下內容專注在描述錯誤攻擊上,本發明之技術亦能應用在偵測非上述攻擊所導致的錯誤。
在一些實施例中,該積體電路包括用於偵測及警告在時脈樹電路上可能攻擊行為之一保護電路。該保護電路,依據在該時脈樹電路的多個取樣點所取樣之該時脈信號之一至多個參考時脈而運作,且用以偵測該時脈樹電路是否發生錯誤(fault),該錯誤反應自該一至多個該等參考時脈的異常。
在一示範性實施例中,該保護電路包括由複數正反器構成的一級聯,其中該一至多個該等參考時脈分別耦接至每一該等正反器之時脈輸入。該級聯之一第一正反器之反相輸出回授耦接至該第一正反器之輸入。在正常情形下,該等正反器之最後輸出係一邏輯值的交替型樣”1010101010...”。任何偏
離上述交替型樣之輸出代表著一或多個正反器之時脈輸入出現異常,亦即該時脈信號之一或多個參考時脈出現異常。該保護電路更包括一偵測器。該偵測器藉由驗證該級聯之輸出是否偏離預期之”1010101010...”,以判斷該時脈樹電路是否發生錯誤。在其他可替換實施例中,亦可使用其他型樣之複數邏輯值(例如,可預測虛擬亂數型態(pseudo-random yet predictable pattern)之複數邏輯值)。
本發明所公開技術在檢測各種時脈樹電路錯誤攻擊上係非常有效且靈敏的。於此同時,本發明之保護電路具有面積小且容易實現之特色。
第1圖顯示依據本發明之一實施例所實現之具有保護電路之一積體電路20之電路圖。積體電路20可能包括,例如,一微處理器、一記憶體裝置、一客製化IC(ASIC)、一現場可規劃邏輯陣列(FPGA)或其他型態之積體電路。
積體電路20包括一時脈樹電路24。時脈樹電路24中之一時脈信號源28發佈一時脈信號至一功能硬體40及整個積體電路20。時脈樹電路24包括複數導線32以及主動元件36,像是放大器、緩衝器、鎖存器和/或反相器。功能硬體40可能包括上述分佈在積體電路20中之任何數量及型態之功能單元。因此,時脈樹電路24通常擴展至積體電路20之大部分面積,甚或至整個積體電路20。
時脈樹電路的起點-時脈信號源被稱為根源(root)。時脈樹電路從根源到功能硬體分裂出複數個分支。每
一分支的末端被稱為分葉(leaves),驅動對應的功能硬體。
第1圖實施例清楚表示了從單一時脈信號至一時脈信號樹。在實際應用上的積體電路(IC)中,通常包含複數時脈信號樹以發佈複數個時脈信號。本發明之技術同樣適用於上述積體電路。
在一些實施例中,積體電路20更包括用於檢測時脈樹電路錯誤之保護電路,例如惡意攻擊導致的錯誤。上述惡意攻擊可能包括截斷時脈樹電路中一或多的節點、在時脈樹電路中一或多的節點注入突波、將時脈樹電路中一或多的節點接地或在其上施加一固定電壓、或是其他導致錯誤發生的操作。
在本實施例中,積體電路20之保護電路包括由複數正反器級聯52組成之一移位暫存器44、以及一偵測器48。複數取樣線56分別自時脈樹電路24上的複數取樣點取出複數參考時脈信號。該等參考時脈被發送至移位暫存器44,以分別作為各個該等正反器52之時脈輸入。移位暫存器44中正反器52的數量和該等參考時脈的數量皆為N。
換句話說,移位暫存器44中每一正反器52係依據該時脈信號之各別的參考時脈而運作,每一該參考時脈擷取自時脈樹電路24上的各別取樣點。該等參考時脈可能係自時脈樹電路24之根源(root)、分葉(leaves)或任一分支上取樣得到。取樣點的位置及數目則視需求決定,例如,隨機決定或是為了保護積體電路中的特定硬體單元或功能。
移位暫存器44中的第一級正反器(第1圖所示最左
邊的正反器52)的反態輸出()會回授接至其輸入(D)。每一正反器52之輸出(Q)則會接至下一級的輸入(D),且最後一級正反器52的輸出作為移位暫存器44(級聯)之輸出。
在正常穩態的情形下,移位暫存器44之輸出信號會是邏輯“1”和邏輯“0”(以該時脈信號的頻率)輪替出現之時脈信號。由於無法預測每一級正反器52的初始狀態為何,且移位暫存器44需要N個週期以便將交替“1010101010...”型樣傳送至輸出,移位暫存器44在重置或初始化之後需要N個週期來達到正常穩態。在一可替換實施例中,可將每一級正反器52的初始狀態設定為已知的系統初始值,並作為移位暫存器44輸出的期望值。在本實施例中,奇數級正反器52的初始狀態被設定為邏輯“0”,而偶數級正反器52的初始狀態則被設定為邏輯“1”。
當時脈樹電路的某些節點被攻擊而產生錯誤時,時脈信號之一或多個參考時脈會因而呈現出異常情況。舉例來說,一或多個參考時脈遭切斷信號(可能反映出時脈樹電路中一或多的節點被截斷),一或多個參考時脈被固定在同一電壓水平或接至地,或是一暫態突波出現在一或多個參考時脈之中。另外,任何其他可能異常狀況亦會顯示在一或多個參考時脈之中。
參考時脈會出現異常會使得以該參考時脈為其時脈輸入之正反器出現異常。因此,移位暫存器44之輸出就會偏離期望值“1010101010...”。
在一些實施例中,偵測器48監測移位暫存器44之
輸出,並檢查是否偏離期望值“1010101010...”。該偵測器通常會被提供一IC重置信號以忽略移位暫存器44剛重置或剛初始化後合理偏離期望值之輸出,這是由於移位暫存器44需要在重啟或啟動N個週期之後才能到達正常穩態的情形。
為了回應所偵測到與期望值的偏離,偵測器48通常會觸發一錯誤警示。積體電路20會採取許多作為以回應該錯誤警示,像是關閉一部分的積體電路、抹除積體電路中的特定資料、發出一額外的警示、或是其他合適的反應。
第1圖所示積體電路20(特別是保護電路部份)的配置係為了明確概述之一示範配置。在一可替換實施例中,可應用任何其他合適的積體電路和/或保護電路配置。舉例來說,保護電路可能包括任何其他可接收該等參考時脈,且其輸出可指出時脈樹電路發生錯誤的合適電路。上述期望值可為取決於該保護電路的特定設計的任意合適格式。舉例來說,上述期望值可為可預測虛擬亂數型樣之複數邏輯值。
第2圖顯示依據本發明之一實施例用於時脈樹電路錯誤保護之方法之流程圖。首先,在步驟60中,在時脈樹電路24中之複數取樣點取樣得到複數參考時脈,進入步驟64。在步驟64中,該等參考時脈分別驅動移位暫存器44中對應每一級正反器52之時脈輸入,並進入步驟68。在步驟68中,偵測器48檢查移位暫存器44之輸出是否偏離期望值“1010101010...”。若是,則進入步驟72;反之回到步驟60。在步驟72中,偵測器48發出一錯誤警示。
本發明雖以較佳實施例揭露如上,使得本領域具
有通常知識者能夠更清楚地理解本發明的內容。然而,本領域具有通常知識者應理解到他們可輕易地以本發明做為基礎,設計或修改流程以及使用不同的時脈樹保護電路進行相同的目的和/或達到這裡介紹的實施例的相同優點。因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
20‧‧‧積體電路
24‧‧‧時脈樹電路
28‧‧‧時脈信號源
32‧‧‧導線
36‧‧‧主動元件
40‧‧‧功能硬體
44‧‧‧移位暫存器
48‧‧‧偵測器
52‧‧‧正反器
56‧‧‧取樣線
Claims (12)
- 一種積體電路,包括:一時脈樹電路,用以發佈一時脈信號至該整個積體電路;以及一保護電路,依據在該時脈樹電路的多個取樣點所取樣之該時脈信號之一至多個參考時脈而運作,且用以偵測該時脈樹電路是否發生錯誤,該錯誤反應自該一至多個該等參考時脈的異常,其中該保護電路包括由複數邏輯級構成的一級聯以及一偵測器,該等邏輯級依據該時脈信號的各別該等參考時脈而運作,該偵測器透過驗證該級聯的一輸出是否偏離一期望(輸出)值,以偵測該時脈樹電路是否發生錯誤。
- 如申請專利範圍第1項所述之積體電路,其中每一該等邏輯級係一正反器(Flip-Flops;FFs)。
- 如申請專利範圍第1項所述之積體電路,其中該級聯用以輸出邏輯值的交替型樣,且其中該偵測器驗證該級聯之該輸出是否偏離該交替型樣。
- 如申請專利範圍第1項所述之積體電路,其中在初始化該級聯之後之一預定的時間間隔內,該偵測器停止驗證該級聯之該輸出是否偏離。
- 如申請專利範圍第1項所述之積體電路,其中該保護電路用以初始化該級聯之該等邏輯級以產生該期望值。
- 如申請專利範圍第1項所述之積體電路,其中該保護電路更在偵測到該時脈樹電路發生錯誤時發出警告或動作。
- 一種積體電路錯誤檢測方法,包括:藉由一時脈樹電路發佈一時脈信號至整個積體電路;分別在該時脈樹電路之一或多個取樣點取樣得到對應之該時脈信號的一至多個參考時脈;藉由該時脈信號的一至多個該等參考時脈運作一保護電路;以及藉由該保護電路偵測該時脈樹電路是否發生錯誤,該錯誤反應該時脈信號的一至多個該等參考時脈的異常,其中該保護電路更包括由複數邏輯級構成的一級聯;其中該等邏輯級依據該時脈信號的各別該等參考時脈而運作;以及其中透過驗證該級聯的一輸出是否偏離一期望(輸出)值,以偵測該時脈樹電路是否發生錯誤。
- 如申請專利範圍第7項所述之積體電路錯誤檢測方法,其中每一該等邏輯級係一正反器(Flip-Flops;FFs)。
- 如申請專利範圍第7項所述之積體電路錯誤檢測方法,其中運作該保護電路更包括輸出邏輯值的交替型樣;以及其中偵測該錯誤更包括驗證該級聯之該輸出是否偏離該交替型樣。
- 如申請專利範圍第7項所述之積體電路錯誤檢測方法,其中驗證該級聯之該輸出更包括在初始化該級聯之後之一預定的時間間隔內停止驗證該等邏輯級之該輸出。
- 如申請專利範圍第7項所述之積體電路錯誤檢測方法,其中驗證該等邏輯級之該輸出更包括初始化該等邏輯級以產生 該期望值。
- 如申請專利範圍第7項所述之積體電路錯誤檢測方法,更包括在偵測到該時脈樹電路發生錯誤時,發出警告或動作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103140005A TWI550291B (zh) | 2014-11-19 | 2014-11-19 | 積體電路及其錯誤檢測方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103140005A TWI550291B (zh) | 2014-11-19 | 2014-11-19 | 積體電路及其錯誤檢測方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201619625A TW201619625A (zh) | 2016-06-01 |
TWI550291B true TWI550291B (zh) | 2016-09-21 |
Family
ID=56754979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103140005A TWI550291B (zh) | 2014-11-19 | 2014-11-19 | 積體電路及其錯誤檢測方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI550291B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI793405B (zh) * | 2019-09-16 | 2023-02-21 | 新唐科技股份有限公司 | 使用時脈閘控時脈進行數據取樣完整性檢查之電子裝置及其方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702992B2 (en) * | 2006-03-17 | 2010-04-20 | Fujitsu Microelectronics Limited | Semiconductor integrated circuit with flip-flops having increased reliability |
CN101192820B (zh) * | 2006-11-30 | 2010-06-09 | 中央数位公司 | 一种延迟模块装置以及开回路控制装置与方法 |
TW201351089A (zh) * | 2012-05-08 | 2013-12-16 | Samsung Electronics Co Ltd | 資料處理系統、資料處理電路以及資料處理方法 |
TW201411337A (zh) * | 2012-09-11 | 2014-03-16 | Univ Nat Cheng Kung | 以電路內部事件作為觸發條件之除錯控制系統及其方法 |
TW201432412A (zh) * | 2013-02-07 | 2014-08-16 | Phison Electronics Corp | 時脈資料回復電路模組及資料回復時脈的產生方法 |
-
2014
- 2014-11-19 TW TW103140005A patent/TWI550291B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702992B2 (en) * | 2006-03-17 | 2010-04-20 | Fujitsu Microelectronics Limited | Semiconductor integrated circuit with flip-flops having increased reliability |
CN101192820B (zh) * | 2006-11-30 | 2010-06-09 | 中央数位公司 | 一种延迟模块装置以及开回路控制装置与方法 |
TW201351089A (zh) * | 2012-05-08 | 2013-12-16 | Samsung Electronics Co Ltd | 資料處理系統、資料處理電路以及資料處理方法 |
TW201411337A (zh) * | 2012-09-11 | 2014-03-16 | Univ Nat Cheng Kung | 以電路內部事件作為觸發條件之除錯控制系統及其方法 |
TW201432412A (zh) * | 2013-02-07 | 2014-08-16 | Phison Electronics Corp | 時脈資料回復電路模組及資料回復時脈的產生方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI793405B (zh) * | 2019-09-16 | 2023-02-21 | 新唐科技股份有限公司 | 使用時脈閘控時脈進行數據取樣完整性檢查之電子裝置及其方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201619625A (zh) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI614634B (zh) | 偵測錯誤注入的方法與裝置 | |
US9397663B2 (en) | Fault protection for high-fanout signal distribution circuitry | |
US10013581B2 (en) | Detection of fault injection attacks | |
Mahmoud et al. | Timing violation induced faults in multi-tenant FPGAs | |
JP6968234B2 (ja) | 相対遅延を伴うフリップフロップを用いてデータサンプリング完全性チェックを行う電子デバイスおよびその方法 | |
Martin et al. | Fault attacks on STRNGs: Impact of glitches, temperature, and underpowering on randomness | |
US11244046B2 (en) | Data-sampling integrity check using gated clock | |
JP6055857B2 (ja) | クロックツリー回路の故障保護手段を有する集積回路とその方法 | |
US20100026358A1 (en) | Protection against fault injections of an electronic circuit with flip-flops | |
KR20130093710A (ko) | 암 코어 기반의 프로세서를 위한 외부 공격 방어 장치 및 이를 이용한 방법 | |
US20140280413A1 (en) | Method for detecting a correlation | |
Cao et al. | Exploring active manipulation attacks on the TERO random number generator | |
TWI550291B (zh) | 積體電路及其錯誤檢測方法 | |
Obermaier et al. | Fuzzy-glitch: A practical ring oscillator based clock glitch attack | |
WO2015008335A1 (ja) | 半導体装置 | |
CN105701422B (zh) | 集成电路及其错误检测方法 | |
EP2983059B1 (en) | Fault protection for clock tree circuitry | |
US9613171B1 (en) | Multi-cycle signal identification for static timing analysis | |
CN113692562B (zh) | 同步复位信号生成电路及数字处理装置 | |
JP2018142816A (ja) | PUF(Physically Unclonable Function)コード生成装置およびPUFコード認証システム | |
JP5171379B2 (ja) | 周波数異常検出回路 | |
JP2008289086A (ja) | 半導体装置 | |
CN115130151A (zh) | 一种安全检测电路以及安全检测方法 | |
Martín et al. | Effect of ionizing radiation on TRNGs for safe telecommunications: Robustness and randomness | |
WO2022243289A1 (en) | Protection of integrated circuit devices |