TWI760694B - 使用具有相對延遲的正反器進行資料取樣完整性檢查之電子裝置及其方法 - Google Patents
使用具有相對延遲的正反器進行資料取樣完整性檢查之電子裝置及其方法 Download PDFInfo
- Publication number
- TWI760694B TWI760694B TW109104591A TW109104591A TWI760694B TW I760694 B TWI760694 B TW I760694B TW 109104591 A TW109104591 A TW 109104591A TW 109104591 A TW109104591 A TW 109104591A TW I760694 B TWI760694 B TW I760694B
- Authority
- TW
- Taiwan
- Prior art keywords
- protection
- sampling
- output
- flip
- functional
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/76—Protecting 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 in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/10—Distribution of clock signals, e.g. skew
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Logic Circuits (AREA)
- Manipulation Of Pulses (AREA)
Abstract
本發明係揭露一種電子裝置,包括組合邏輯電路,一個或多個功能狀態取樣元件、一個或多個保護狀態取樣元件以及保護邏輯。組合邏輯電路具有一個或多個輸出。功能狀態取樣元件配置為對組合邏輯電路的各個輸出進行取樣。保護狀態取樣元件分別與功能狀態取樣元件相關聯,每個保護狀態取樣元件與其對應的功能狀態取樣元件係對組合邏輯電路的同一輸出進行取樣,但是相對於功能狀態取樣元件,保護狀態取樣元件具有一預定時間偏移。保護邏輯配置為檢測由功能狀態取樣件取樣的輸出與由保護狀態取樣元件取樣的各個輸出之間的差異,並回應於該差異而啟動回應動作。
Description
本發明涉及電子電路中的資料安全性,尤其涉及用於防止故障注入攻擊的方法和系統。
故障注入攻擊是用於從安全電子電路(例如密碼電路)存取、分析或提取信息的一系列技術。故障注入攻擊通常包括例如通過實體接觸信號線,通過施加大功率激光或電磁脈衝,或在電源或其他外部接口上引起突波。預計該故障會導致電路輸出敏感信息,或以其他方式幫助攻擊者穿透電路或其存儲的信息。
用於檢測和/或減輕故障注入攻擊的各種技術在本領域中是已知的。例如,美國專利申請公開2009/0315603描述了一種用於從電子電路的多個第一正反器的組中檢測至少一個第一正反器的狀態的擾動的方法和電路。將該組中的第一正反器的各個輸出與其功能目的無關地組合以提供信號及其反相信號,藉以觸發兩個第二正反器,將其資料輸入強制為相同狀態,第二正反器的各個輸出正反器組合在一起以提供檢測結果。包含至少作為對於該組中的第一正反器中的一個的每一觸發緣的脈衝的脈衝信號可啟動第二正反器。
作為另一個例子,美國專利7,977,965描述了一種用於數位IC中的軟錯誤檢測的系統和方法。系統包括耦合到鎖存器的觀察電路,電路能夠在鎖存器的狀態改變時作出回應。系統還包括提供給鎖存器和觀察電路的同步時脈。對於鎖存器,時脈定義了一個時間窗口,在此時間窗口期間內阻止了鎖存器接收資料,並且時脈以同步方式在觀察電路中啟用了回應。時脈以這樣的方式同步:當防止鎖存器接收資料時,僅在窗口內啟用電路的回應。
美國專利申請公開2005/0235179描述了一種邏輯電路,邏輯電路包括邏輯模組,邏輯模組包括功能同步正反器,功能同步正反器接收包括多個並行位元的功能結果並提供同步結果。用於檢查功能正反器的完整性的模組包括:第一編碼塊,其接收功能結果並提供第一代碼;第二編碼塊,其接收同步結果並提供第二代碼;檢查同步正反器,其接收第一結果。編碼和提供第三編碼,以及比較器,用於將第二編碼與第三編碼進行比較並提供第一誤差信號。
本發明的實施例提供一種電子裝置,電子裝置包括組合邏輯電路、一個或多個功能狀態取樣元件、一個或多個保護狀態取樣元件以及保護邏輯。組合邏輯電路具有一個或多個輸出。功能狀態取樣元件配置為對組合邏輯電路的各個輸出進行取樣。保護狀態取樣元件分別與功能狀態取樣元件相關聯,每一保護狀態取樣元件與其相應功能狀態取樣元件係對組合邏輯電路的同一輸出進行取樣,但是相對於功能狀態取樣元件,保護狀態取樣元件具有一預定時間偏移(predefined time offset)。保護邏輯配置為檢測由功能狀態取樣元件取樣的輸出與由保護狀態取樣元件取樣的各個輸出之間的差異,並回應於該差異而啟動回應動作。
在本案實施例中,電子裝置還包括延遲元件,其配置為延遲組合邏輯電路的輸出以便產生一延遲輸出,功能狀態取樣元件配置為取樣上述輸出和延遲輸出中的一個,以及相應的保護狀態取樣元件配置為取樣上述輸出和延遲輸出中的另一個。
在其他實施例中,電子裝置還包括配置為延遲時脈信號以便產生延遲時脈信號的延遲元件,功能狀態取樣元件配置為使用時脈信號和延遲時脈信號之一作為其取樣時脈,並且相應的保護狀態取樣元件配置為使用時脈信號和延遲時脈信號中的另一個作為其取樣時脈。
在一實施例中,功能狀態取樣元件和相應的保護狀態取樣元件包括正反器(FFs)。在另一實施例中,功能狀態取樣元件包括驅動第二鎖存器的第一鎖存器,並且相應的保護狀態取樣元件包括與第一鎖存器相關聯的第三鎖存器。
在又一實施例中,保護邏輯配置為合併在兩個或更多個功能狀態取樣元件與兩個或更多個保護狀態取樣元件之間檢測到的多個差異,並且回應於合併的差異來啟動回應動作。在又一實施例中,保護邏輯配置為僅當檢測到的差異在時脈週期的預定部分期間發生時才啟動回應動作。在本發明的實施例中,功能狀態取樣元件配置為以第一閥值電壓對組合邏輯電路的輸出進行取樣,並且相應的保護狀態取樣元件配置為以高於第一閥值電壓的第二閥值電壓對組合邏輯電路的相同輸出進行取樣。
根據本發明的實施例,另外提供了一種用於保護電子裝置的方法。方法包括使用一個或多個相應的功能狀態取樣元件來取樣組合邏輯電路的一個或多個輸出。還使用分別與功能狀態取樣元件相關聯的一個或多個保護狀態取樣元件來取樣一個或多個輸出。每一保護狀態取樣元件與其相應的功能狀態取樣元件係對組合邏輯電路的同一輸出進行取樣,但是相對於功能狀態取樣元件,每一保護狀態取樣元件具有一預定時間偏移。檢測由功能狀態取樣元件取樣的輸出與由保護狀態取樣元件取樣的各個輸出之間的差異,並且回應於該差異而啟動回應動作。
根據本發明的實施例,還提供一種電子裝置,電子裝置包括時脈產生電路、組合邏輯電路、一個或多個功能狀態取樣元件以及保護邏輯。時脈產生電路配置為產生具有週期性時脈週期的時脈信號。組合邏輯電路包括多個內部網路和一個或多個輸出。一個或多個功能狀態取樣元件配置為根據時脈信號週期性地取樣組合邏輯電路的各個輸出。保護邏輯被配置為從組合邏輯電路的內部網路或輸出接收一個或多個信號,以在一個或多個接收到的信號中檢測在週期時脈週期的預定部分期間發生的信號不穩定性。根據組合邏輯電路的設計,信號被期望是穩定的,並且回應於檢測到的信號不穩定性而啟動回應動作。
在一些實施例中,保護邏輯配置為接收控制信號,控制信號從時脈信號導出並定義時脈週期的預定義部分,在該預定義部分中信號被期望是穩定的,並使用該控制信號來檢測在週期時脈週期的預定義部分中發生信號不穩定性。在一個實施例中,保護邏輯配置為回應於檢測到的信號不穩定性而產生脈衝,以脈衝來驅動保護狀態取樣元件的資料輸入,並且回應於保護狀態取樣元件的輸出而啟動回應動作。
在本發明的實施例中,保護邏輯配置為回應於檢測到的信號不穩定性而生成修改後的時脈信號,以修改後的時脈信號來驅動保護狀態取樣元件的時脈輸入,以及回應於保護狀態取樣元件的輸出啟動回應動作。在實施例中,保護邏輯配置為從不在組合邏輯電路的關鍵時序路徑上的各個內部網路接收信號。
根據本發明的實施例,還提供了一種用於保護具有多個內部網路和一個或多個輸出的組合邏輯電路的方法,其中根據具有週期性時脈週期的時脈信號對輸出進行取樣。方法包括從組合邏輯電路的內部網路或輸出接收一個或多個信號。在一個或多個接收信號中檢測在週期時脈週期的預定義部分期間發生的信號不穩定性,其中根據組合邏輯電路的設計,信號被期望是穩定的。回應於檢測到的信號不穩定性而啟動回應動作。
本發明的實施例提供了用於保護電子裝置引起時序違規(timing violations)的攻擊(例如,故障注入攻擊)的改進之方法和電路。本發明的實施例主要涉及故障注入的故障注入攻擊,但是所揭露的技術對於防止各種其他類型的攻擊同樣有用。所揭露的技術可以在各種類型的電子裝置中使用,例如存儲裝置和嵌式控制器。
在本發明的實施例中,電子裝置包括組合邏輯電路。組合邏輯電路通常包括多個互連的邏輯級(logic stage),上述邏輯級會一起對功能資料執行某些指定的操作。組合邏輯電路接收在一個或多個輸入上進行處理的功能資料,並在一個或多個輸出上提供處理結果。
該電子裝置還包括一個或多個正反器(FFs),其配置為以連續的時脈週期對組合邏輯電路的輸出進行取樣。這些正反器在這裡被稱為「功能正反器」,會在組合邏輯電路的輸出處對功能信號的狀態進行取樣。功能正反器的取樣輸出可以在下一個時脈週期中用做組合邏輯電路的輸入。
實際上,組合邏輯要花一些時間來處理輸入(直到輸出處理結果)。 該時間在本文中稱為傳播延遲。為了正確操作,組合邏輯的傳播延遲必須符合電子裝置的建立時間(setup time)和保持時間(hold time)要求。否則,功能正反器會取樣錯誤的值(此類事件有時稱為「時序違規」)。在正常工作條件下(設計為裝置要支持的條件),當滿足建立時間和保持時間要求時,通過設計保證饋入功能正反器的組合邏輯輸出穩定,並且在功能周圍具有正確的處理結果正反器取樣時間,以確保功能正反器正確取樣結果。
在示例攻擊情形中,攻擊者會試圖使功能正反器取樣到錯誤、無意的值,例如,藉由向功能正反器或組合邏輯中插入或引入故障,或藉由在其正常操作之外操作電子裝置來進行操作,例如藉由篡改其時脈頻率、溫度或電壓範圍。
在組合邏輯電路的給定輸出上,若傳播的突波效應恰巧與對所討論的輸出進行取樣的功能正反器的取樣時間一致,則功能正反器可能會取樣到錯誤狀態。 然後,該錯誤狀態將在下一個時脈週期中用做組合邏輯電路的輸入。 這樣的事件可能導致組合邏輯電路發生故障。例如,在故障注入攻擊的情況下,將組合邏輯電路強制進入異常狀態可能會導致意外的信息洩漏。
為了保護電子裝置免受攻擊,在一些實施例中,電子裝置包括一個或多個另外的正反器(稱為「保護正反器」)和保護邏輯。每一保護正反器與功能正反器其中之一相關聯,並且每一保護正反器與其對應的功能正反器係對組合邏輯電路的同一輸出進行取樣,但是相對於功能正反器,每一保護正反器具有預定時間偏移。通常將時間偏移設置為足夠長的時間,以使功能正反器和對應的保護正反器中的至少一個具有較高的可能性會因為組合邏輯或任何其他注入故障傳播的突波導致在取樣時間附近的(組合邏輯)輸出不穩定性,而擷取到不同的值。
保護邏輯配置為檢測由功能正反器取樣的輸出與由保護正反器取樣的各個時間偏移輸出之間的差異。若檢測到差異,則將保護邏輯配置為會啟動適當的回應動作,例如發出警報。
本發明描述了雙重取樣方案的多種實施例。例如,可以藉由延遲提供兩個正反器之一的資料(組合邏輯輸出)或時脈信號來實現上述時間偏移。在一些實施例中,功能正反器的其中一部分(例如,其中一個鎖存器)在保護正反器中複製。在一些實施例中,保護邏輯可合併了來自多對功能/保護正反器的可能差異。
在一些實施例中,使用所揭露的技術僅保護功能正反器的選定的一部分。在一些實施例中,功能正反器和相應的保護正反器配置為以不同的閥值電壓進行取樣,因此即使在兩個取樣時間都出現突波,保護正反器或功能正反器之一也會擷取到一個小突波(small glitch)。在一些實施例中,保護正反器的輸入相對於相應功能正反器的輸入是反相的。
此外,本發明所揭露的技術不限於正反器,並且可以使用多種其他合適類型的狀態取樣元件來實施。在本發明的上下文中和在請求項中,術語「狀態取樣元件」是指對組合邏輯電路的輸出的當前狀態進行取樣的任何元件。 狀態取樣元件可以包括例如鎖存器,靜態隨機存取存儲器(SRAM)單元或其他合適類型的存儲單元。為了清楚起見,下面涉及正反器的描述會藉由示例的方式來呈現。
在本發明所述的其他實施例中,保護邏輯從組合邏輯電路接收選擇的信號。保護邏輯配置為在一個或多個信號中檢測在時脈週期的預定部分期間發生的信號不穩定性,其中根據組合邏輯電路的設計,信號被期望是穩定的。回應於檢測到的信號不穩定性,啟動適當的回應動作。
本發明描述了上述技術的幾種變體。在一些實施例中,保護邏輯回應於檢測到的信號不穩定性而產生脈衝,並利用該脈衝來驅動鎖存器的資料輸入。鎖存器的輸出用於啟動回應動作。在其他實施例中,保護邏輯回應於檢測到的信號不穩定性而生成修改後的時脈信號,並利用修改後的時脈信號來驅動正反器的時脈輸入。正反器輸出用於啟動回應動作。在示例實施例中,所選擇的信號是從不在組合邏輯電路的關鍵時序路徑上的網路獲取的。
請參閱圖1A,其係為根據本發明之實施例用於驗證資料取樣完整性的電路的電子裝置20之方塊圖。電子裝置20可包括例如安全不變性記憶體裝置或安全嵌式控制器,其使用所揭露的技術被保護免受故障注入攻擊。或者電子裝置20可包括其中需要防止攻擊的任何其他合適類型的電子裝置。
通常,儘管不是必要的,但是電子裝置20的各種元件包括在集成電路(IC)中。電子裝置20通常包括用於執行其指定功能的各種輸入和輸出(未示出)。
在本示例中,電子裝置20包括組合邏輯電路24,為簡潔起見也被稱為「組合邏輯」。組合邏輯電路24通常包括多個互連的邏輯級(例如,邏輯閘),它們一起對功能資料執行某些指定的操作。例如,在安全裝置中,組合邏輯電路24可以執行諸如加密或解密,或安全簽名或驗證之類的密碼操作的一部分或全部。然而,通常,所揭露的技術可以與執行任何其他適當功能的任何其他適當類型的組合邏輯一起使用。組合邏輯電路24包括一個或多個輸入,用於接收用於處理的功能資料,以及一個或多個輸出,用於輸出處理結果。
電子裝置20還包括一個或多個雙取樣之正反器電路(dual-sampling FF, DFF) 28。每一正反器電路28在每一時脈週期中取樣組合邏輯電路24的相應輸出。每一正反器電路28的取樣輸出在下一個時脈週期中用做組合邏輯電路24的相應輸入。每一正反器電路28由時脈信號(CK) 作為其取樣時脈,時脈信號由適當的時脈產生電路生成並由時脈樹邏輯(clock tree logic )40提供。時脈樹邏輯可連接一時脈源(clock root)。
圖1A底部係為每一正反器電路28的內部結構。將由正反器電路28取樣的組合邏輯電路24的輸出表示為Din
(第1A圖與第1B圖標示為D_in)。將反饋作為組合邏輯電路24的輸入的正反器電路28的取樣輸出表示為Qout
(第1A圖與第1B圖標示為Q_out)。
在實施例中,正反器電路28包括功能正反器32A和保護正反器 32B。 在本示例中,兩個正反器都是延遲正反器,儘管在替代實施例中也可以使用其他合適的正反器類型。功能正反器(DFF)32A配置為對Din
取樣,以便在每一CK週期產生Qout
。保護正反器(DFF)32B配置為對Din
的延遲複製進行取樣。
在示例中,正反器電路28包括將Din
延遲一預定時間偏移的延遲元件(DLY)36。保護正反器32B在延遲元件36的輸出處對延遲的Din
進行取樣。功能正反器32A和保護正反器32B都由相同的時脈信號(CK) 作為其取樣時脈。如上所述,通常將延遲元件36的延遲設置為足夠長,使功能正反器32A和保護32B在發生攻擊時擷取不同的值。另一方面,應避免過長的延遲,因為較長的延遲元件會佔用面積,並且由於延遲會降低正反器電路的建立時間或保持時間容限。在實施例中,延遲元件36的延遲在0.5至3秒的範圍內,也可以使用任何其他合適的延遲值。
互斥或(XOR)閘44在功能正反器32A和保護正反器32B的取樣輸出(Q)之間執行邏輯互斥或運算。互斥或閘44的輸出用做警報信號。
若Din
上沒有故障,則功能正反器32A和保護正反器32B的取樣輸出將相同,因此警報信號將保持低電瓶。若Din
在正反器取樣時間之前不久改變(比延遲元件36的延遲短),則通常功能正反器 32A和保護正反器32B之一將在改變之後取樣該值,而另一個正反器將在改變之前取樣該值。若兩個正反器取樣相同的值,則警報信號將保持低電平。若功能正反器32A和保護正反器32B取樣不同的值,則警報信號將變高電瓶,表明資料取樣完整性受到損害。因此,在示例中,互斥或閘44用做保護邏輯,其檢測功能正反器32A和保護正反器32B的取樣輸出之間的差異。
在圖1A的示例中,延遲被施加到由保護正反器(32B)取樣的資料信號(Din
),而功能正反器(32A)取樣非延遲的資料信號(Din
)。然而,也可以將延遲應用於由功能正反器(32A)取樣的資料信號,在這種情況下,保護正反器(32B)將取樣非延遲的資料信號。
在圖1A的示例中,所有功能正反器由各自的保護正反器保護。 在替代實施例中,僅功能正反器的選定子集以這種方式被保護。
圖1B係為根據本發明實施例的用於使用一對具有相對延遲的正反器(FFs)來驗證資料取樣完整性的替代正反器電路之方塊圖。可以使用圖1B的電路代替上面圖1A的正反器電路28。本實施例與圖1A的實施例的不同之處在於,通過延遲時脈信號而不是資料信號來實現時間偏移。
在圖1B的實施例中,功能正反器 32A和保護正反器 32B都取樣非延遲資料信號Din
(組合邏輯電路24的輸出之一)。延遲元件36被配置為延遲時脈信號(CK)。功能正反器32A由無延遲時脈信號提供時脈,而保護正反器 32B由延遲時脈信號(延遲元件36的輸出)提供時脈。在替代實施例中,功能性正反器32A可以用延遲的時脈信號作為其取樣時脈,在這種情況下,保護正反器 32B是用非延遲的時脈信號作為其取樣時脈。
在一些實施例中,對於一組受保護的正反器結構,例如圖1B和圖2B的結構,一次產生延遲的時脈。也就是單一延遲元件36可以服務於多個受保護的正反器。
在某些情況下,由於到互斥或閘44輸出的時序傳播差異(即使在正確的電路操作中),警報信號可能會在功能正反器32A信號Q和保護正反器32B信號Q的過渡時間附近瞬時判定。因此,在一些實施例中,可以用附加的正反器對警報信號進行取樣,以過濾這種故障並防止錯誤警報。
圖2A係為根據本發明的另一實施例的用於驗證資料取樣完整性的正反器電路48的方塊圖。正反器電路48可以例如在電子裝置20中使用,以代替上面的圖1A的正反器電路28。該實施例以及下面的圖2B的實施例表明,為了實現相應的保護狀態取樣元件,並非必須複製整個功能狀態取樣元件。
在圖2A的示例中,功能狀態取樣元件包括一個正反器,正反器包含兩個鎖存器-第一鎖存器L1驅動第二鎖存器L2。第一鎖存器L1對資料信號D(組合邏輯電路24的輸出之一)進行取樣。 第二鎖存器L2對第一鎖存器L1的輸出進行取樣,並輸出電路48的取樣輸出Q。第一鎖存器L1的啟用(E)輸入由時脈信號的反相形式驅動。第二鎖存器L2的啟用輸入由時脈信號的兩次反相版本驅動。
在本示例中,保護狀態取樣元件包括表示為L11的鎖存器。鎖存器L11由與第一鎖存器L1相同(反相)的時脈信號啟用,並對資料信號D的延遲複製進行取樣。資料信號的延遲複製由延遲元件36產生。互斥或閘44對第一鎖存器L1和鎖存器L11的取樣輸出進行互斥或。互斥或閘44的輸出用做警報信號。
在圖2A的示例中,互斥或閘44用做保護邏輯,其檢測功能和保護狀態取樣元件的取樣輸出之間的差異。
圖2B係為根據本發明的另一實施例的用於驗證資料取樣完整性的正反器電路56的方塊圖。正反器電路56可以例如在電子裝置20中使用,以代替上面的圖1A的雙取樣正反器電路28。本實施例與圖2A的實施例的不同之處在於,通過延遲時脈信號而不是資料信號來實現時間偏移。
在圖2B的實施例中,第一鎖存器L1和鎖存器L11都取樣非延遲的資料信號D(組合邏輯電路24的輸出之一)。延遲元件36被配置為延遲(反相的)時脈信號。第一鎖存器L1由非延遲(反相的)時脈信號啟用,而鎖存器L11由延遲(反相的)時脈信號(延遲元件36的輸出)啟用。在一個替代實施例中,第一鎖存器L1由延遲(反相的)時脈信號啟用,而鎖存器L11由非延遲(反相的)時脈信號啟用。
注意,在圖2A和圖2B中,鎖存器L11僅在時脈信號(CLK)為高電平時保持其輸出穩定,以過濾錯誤警報檢測,例如可以通過時脈信號(CLK)下降的邊緣來對警報進行取樣。多個警報信號可以例如通過或閘合併,並將一個取樣元件用於一組警報信號。
圖1A、圖1B、圖2A和圖2B所示的電子裝置和電路的結構是純粹為了概念清楚起見而描繪的示例。在替代實施例中,可以使用任何其他合適的。
例如,在上述實施例中,功能狀態取樣元件和相應的保護狀態取樣元件以相同的閥值電壓取樣資料信號。在替代實施例中,功能狀態取樣元件可以配置為具有比相應的保護狀態取樣元件更低的閥值電壓。
在一些實施例中,圖1A、圖1B、圖2A和圖2B任何描述的實施例可以被實施為單一程式庫單元(single library cell),代替常規正反器單元(regular FF cell)。在其他實施例中,這些電路可以被實現為分立器件(discrete device),如圖中所示。
在涉及在功能正反器和保護正反器取樣的資料之間插入相對延遲的任何揭露技術中,可以將延遲應用於保護正反器取樣的資料信號(在這種情況下,功能正反器對非延遲資料信號)或功能正反器取樣的資料信號(在這種情況下,保護正反器會取樣未延遲的資料信號)。
圖3A和圖3B係為根據本發明的實施例的包括保護邏輯電路的電子裝置的保護裝置,保護邏輯電路用於通過檢測從組合邏輯網獲取的信號中的信號不穩定性來驗證資料取樣的完整性。
圖3A的示例電路合併了來自組合邏輯電路的多個選擇的信號。 圖3B的保護邏輯電路檢查是否在時脈週期的預定部分內發生信號不穩定性,其中根據組合邏輯電路的設計,該等信號被期望是穩定的。在本文中,術語「信號不穩定」和「信號改變」是指從一種邏輯狀態到另一種邏輯狀態的轉變,即,從「低」到「高」的轉變,反之亦然。
在圖3A所示的中,正反器62對組合邏輯電路24的輸出進行取樣。每一正反器 62在每一時脈週期中對組合邏輯電路24的相應輸出進行取樣,並且每一正反器 62的取樣輸出被用做正反器的相應輸入。在下一個時脈週期中的組合邏輯電路24。每一正反器62由表示為CK的時脈信號提供時脈,該時脈信號由適當的時脈產生電路生成並由時脈樹邏輯40提供。典型的電路也具有輸入和輸出,但是為簡化起見,在圖中將其省略。
另外,保護邏輯包括互斥或閘60,互斥或閘60在來自組合邏輯電路24的多個信號之間執行邏輯互斥或,以便產生合併的「互斥或」輸出。該裝置還從時脈樹邏輯40輸出一個表示為「脈衝」的控制信號。「脈衝」信號是從時脈信號中得出的,並定義了時脈週期中「互斥或」輸出信號(互斥或閘60的輸出)的一部分,可以預期由正反器62進行取樣是穩定的。該信號可以被圖3B和圖3C的電路使用,以檢測在禁止的時間窗口內互斥或信號是否發生變化。可以例如相對於功能狀態取樣元件的取樣時間,或者相對於具有時脈信號的週期性的任何其他合適的參考時間來定義時脈週期的一部分。
圖3B的電路從圖3A的電路接收合併的互斥或信號和「脈衝」信號。延遲元件64的延遲由延遲合併互斥或信號表示DLY1。互斥或閘68對合併的互斥或信號的延遲和非延遲複製進行互斥或。及閘(AND gate)76在互斥或閘68的輸出與「脈衝」信號之間產生邏輯AND。及閘76的輸出設置鎖存器72(或其他合適的保護狀態取樣元件)的「SET」資料輸入。反閘(NOT gate )80使「脈衝」信號反相,並用否定的「脈衝」信號驅動鎖存器72的「RESET」輸入。鎖存器72的輸出用做警報信號。
通過這種,僅當(i)在一個或多個組合邏輯24輸出中檢測到變化(或其他檢測到的信號,如圖4所示),並且(ii)該變化發生在要求資料信號(組合邏輯電路24的輸出)穩定的時間間隔內。
圖3C係為根據本發明的實施例的圖3B的保護邏輯電路的替代實實方式之方塊圖。在上面的圖3B中,鎖存器72在每個時脈週期被定期重置,亦即,警報信號被清除,並且故障檢測過程在每個週期會自動重複。在圖3C中,當檢測到故障時,警報信號將保持高電平,直到外部「RESET」信號有效為止。
圖3A-3C僅以示例的方式示出。在替代實施例中,可以使用任何其他合適的合併方案。
圖4係為根據本發明實施例的電子裝置81之方塊圖,該電子裝置81包括用於使用脫離關鍵時序路徑的多個組合邏輯網來驗證資料取樣完整性的電路。示出了組合邏輯電路24分解成幾個部分(圖中繪製為橢圓的部分)。虛線的關鍵時序路徑84示出了通過組合邏輯電路24的關鍵時序路徑。
在本示例中,選擇三個表示為N1、N2和N3的網路進行保護。被認為是保護邏輯一部分的互斥或閘82對從網路N1、N2和N3獲取的信號進行互斥或。互斥或閘82的輸出用做互斥或信號,該互斥或信號輸入到保護電路,例如上面的圖3B或圖3C的電路或下面的圖5-7。互斥或閘82的作用類似於以上圖3A的互斥或閘60的作用。
在各種實施例中,可以選擇電子裝置81的任何合適的網路來進行保護。特別地,選擇不在關鍵時序路徑84上的網路是有利的。通過這種選擇,由保護方案引起的建立時間和/或保持時間餘量的減少是可以容忍的。保護方案不會降低電子裝置81的整體性能(例如,最大可達到的時脈速率)。
圖3A-3C所示的電子裝置和電路的結構是純粹為了概念清楚起見而描繪的示例。在替代實施例中,可以使用任何其他合適的。
例如,儘管以上示例電路從組合邏輯電路24中的多個網路收集信號,但是所揭露的技術也可以應用於單一網路。在後一種情況下,可以省略互斥或閘60。
在各種實施例中,由上述各種電路產生的「警報」信號可以用於在檢測到對故障進行取樣時啟動或執行任何適當的回應動作。例如,電子裝置20可以向主機或人類用戶發出警報,關閉一些或全部裝置電路或功能,或者擦除敏感資料。
圖5和圖6係為根據本發明實施例的用於使用時脈閘控來驗證資料取樣完整性的保護邏輯電路之方塊圖。圖5和6的電路類似於上面的圖3B和3C,它們檢測組合邏輯電路24的選定網中的信號不穩定性(例如故障),這種不穩定性是在時脈週期的一部分中產生的,那些信號被期望是穩定的。然而,不同於圖3B和圖3C中,圖5和圖6通過正反器的閘控時脈輸入而不是正反器的資料輸入來觸發警報。
請參閱圖5。圖5的電路包括互斥或閘90,互斥或閘90在從選定的輸出和/或組合邏輯電路24的內部網路獲取的兩個或多個信號之間執行邏輯互斥或,以產生合併的「互斥或」輸出。本示例示出了表示為「 1」、「 2」和「3」的三個信號,但是所揭露的技術可以與任何其他合適數量的信號一起使用。下文中的圖7進一步提供了用於處理從大量網路中獲取的大量信號的其他方案。
延遲元件64的延遲由延遲合併互斥或信號表示DLY1。互斥或閘68對互斥或信號的延遲和非延遲複製進行互斥或。反相器(反閘)94將互斥或閘68的輸出顛倒。直到這一點的電路都可以被視為「信號變化檢測器」,每當在選定的網絡之一(「 1」、「2」或「 3」)中發生信號變化(例如,由攻擊引起的故障)時,則反相器(反閘)94將輸出長度為DLY1的脈衝。
在本案實施例中,僅當在時脈信號(CLK)為低(「 0」)時發生檢測到的信號變化時,才應該觸發警報。本示例中的假設是從「低」到「高」(時脈上升)的時脈轉換上執行取樣,應選擇信號以便在正常操作下,當時脈為「低」時,它們將保持穩定 。
為了僅檢測感興趣的信號變化,或閘(OR gate )98輸出反相器(反閘)94的輸出與時脈信號(CLK)之間的邏輯OR(由適當的時脈產生電路產生)。或閘98的輸出處的信號在本文中稱為修改的時脈信號。修改後的時脈信號用於為保護正反器102提供時脈。保護正反器102的資料輸入(D)始終設置為「高」。通常在復位時使用RST線將保護正反器102啟動為「0」。
保護正反器 102的輸出(Q)(表示為「TOGGLE(雙態觸變)」)用於檢測攻擊,如下所示:或閘98的輸出(因此保護正反器102的時脈CK)包括時脈信號(CLK)。 另外,若在時脈信號(CLK)為「低」的同時所選網路之一(「 1」,「 2」或「 3」)中發生信號變化(例如,由攻擊引起的故障),則備用脈衝長度DLY1的「0」將出現在或閘98的輸出上(並因此出現在保護正反器 102的時脈CK上)。 實際上,在圖5的示例中,在正常工作條件下,或閘98的輸出應始終保持「高電平」,並且不希望出現時脈轉換。因此,任何時脈上升邊緣都可以用做攻擊指示。
在正常條件下(亦即,當網路「 1」、「2」和「 3」在時脈信號(CLK)為「低」時信號不變時),保護正反器 102的TOGGLE(雙態觸變)輸出始終為「低」。當在時脈信號(CLK)為「低」時,在網路「1」、「2」和「3」中的一個或多個中發生信號變化時,保護正反器102的TOGGLE(雙態觸變)輸出將轉換為「高」。 因此, TOGGLE(雙態觸變)可用做表示可疑攻擊的警報信號。
在一些實施例中,上述電路被重複多次,其中每個電路處理組合邏輯電路24的一組不同的網路。或閘104對多個電路的切換輸出進行或運算。或閘104的輸出用做警報信號。
請參閱圖6。圖6的電路在閘控保護正反器102的時脈CK的方式上類似於上面的圖5的電路,亦即,電路的一部分在互斥或閘90之間並且包括互斥或閘90。與圖5的電路不同,在圖6中,保護正反器102的輸出(Q)通過反相器(反閘)110被反饋到保護正反器 102的資料輸入(D)。 參照圖5,在正常條件下(亦即,當網路「 1」、「2」和「 3」的信號在時脈信號(CLK)為「低」時沒有變化時),保護正反器102的TOGGLE(雙態觸變)輸出始終為「低」。 當在時脈信號(CLK)為「低」時,在網路「1」、「 2」和「 3」中的一個或多個中發生信號變化時,保護正反器102的TOGGLE(雙態觸變)輸出將轉換為「高」。 因此,該TOGGLE(雙態觸變)可用做表示可疑攻擊的警報信號。
在圖6的替代中,可以省略反相器(反閘)94。在此替代中,保護正反器102的TOGGLE(雙態觸變)輸出在施加到保護正反器102的CK的每個時脈脈衝上切換(反轉極性在「高」和「低」之間)。
在正常情況下(亦即,當網路為「1」、「 2」和「3」的信號在時脈信號(CLK)為「低」時不變)時,保護正反器 102的TOGGLE(雙態觸變)輸出將在時脈信號(CLK)的每個週期上切換。此外,當時脈信號(CLK)為「低」時,在網路「 1」、「 2」和「3」中的一個或多個網路中發生信號變化時,保護正反器 102的TOGGLE(雙態觸變)輸出也將切換(由於在示波器上出現額外的脈衝)。互斥或閘 68的輸出並傳播到CK。TOGGLE(雙態觸變)信號的定期週期性切換模式中的此更改可用於檢測攻擊。
同樣在圖6中(包括省略了圖6中的替代配置反相器(反閘)110),上述電路可以重複多次,每個電路處理組合邏輯電路24的一組不同的網路。互斥或閘106可以對多個電路的TOGGLE(雙態觸變)輸出進行互斥或。然後,互斥或閘106的輸出可用做警報信號。
圖7係為根據本發明實施例的用於使用時脈閘控來驗證資料取樣完整性的電路之方塊圖。圖7的電路包括多個時脈閘收集塊(clock gate collection blocks )114。每個時脈閘收集塊114的結構與上面圖5或圖6的電路的時脈閘控部分相似(在互斥或閘90和或閘98之間的電路部分,但沒有保護正反器102)。
及閘118輸出多個時脈閘收集塊114的輸出的邏輯AND,及閘118的輸出用於為單個保護正反器102的CK輸入提供時脈。圖7的合併方案在管芯方面是有效的面積,因為它減少了正反器的數量。
舉例來說,圖7的電路使用圖6的正反器方案(其中,保護正反器 102的輸出Q經由反相器(反閘)110反饋到輸入D)。然而,可替代地,也可以使用圖5的方案(其中保護正反器 102的輸入D保持恆定)。當省略了圖6中的替代配置反相器(反閘)110,應該將及閘118替換為或閘。
圖5-7所示的電子設備和電路的配置僅出於概念清楚的目的描繪的示例。在替代實施例中,可以使用任何其他合適的。
例如,如上所述,圖5-7適用於從「低」到「高」(時脈上升)的時脈轉變上取樣的電路,這意味著當時脈為「低」時,信號將保持穩定。 但是,該選擇僅是示例性的。 所揭露的電路可以以直接的方式適於在從「高」到「低」(時脈下降)的時脈轉變上取樣的電路中的操作,其中期望當時脈為「高」時信號是穩定的。
作為另一示例,儘管圖5和圖6從組合邏輯電路24中的多個網路收集信號,但是所揭露的技術也可以應用於單個網路。在後一種情況下,可以省略互斥或閘90。
在各種實施例中,可以使用任何適當的硬體來實現任何揭露的電子裝置和電路,例如使用一個或多個分立元件,一個或多個特定應用積體電路(ASICs)和/或一個或多個現場可程式閘陣列(FPGAs)。
以上所述之實施例僅係為說明本發明之技術思想及特點,其目的在使所屬技術領域具有通常知識者能夠瞭解本發明之內容並據以實施,當不能以之限定本發明之專利範圍,即大凡依本發明所揭示之精神所作之均等變化或修飾,仍應涵蓋在本發明之專利範圍內。
20、81:電子裝置
24:組合邏輯電路
28、48、56:正反器電路
32A:功能正反器
32B、102:保護正反器
36、64:延遲元件
40:時脈樹邏輯
44、60、68、82、90、106:互斥或閘
62:正反器
72:鎖存器
76、118:及閘
80:反閘
84:關鍵時序路徑
94、110:反相器(反閘)
98、104:或閘
114:時脈閘收集塊
D:資料信號
L1:第一鎖存器
L11:鎖存器
L2:第二鎖存器
Q:輸出
通過下面結合附圖對實施例的詳細描述,可以更全面地理解本發明,其中:
圖1A及圖1B為本發明之使用一對具有相對延遲的正反器(FFs)來驗證資料取樣完整性的電路之方塊圖;
圖2A及圖2B為本發明之使用具有重複鎖存器和相對延遲的正反器電路來驗證資料取樣完整性的電路之方塊圖;
圖3A、圖3B及圖3C為本發明藉由檢測來自多個組合邏輯網的信號之間的差異來驗證資料取樣完整性的電路之方塊圖;
圖4係為本發明之使用在關鍵時序路徑之外的多個組合邏輯網來驗證資料取樣完整性的電路之方塊圖;以及
圖5、圖6圖及圖7為本發明之使用時脈閘控來驗證資料取樣完整性的電路之方塊圖;
20:電子裝置
24:組合邏輯電路
28:雙取樣正反器電路
32A:功能正反器
32B:保護正反器
36:延遲元件
40:時脈樹邏輯
44:互斥或閘
Claims (16)
- 一種電子裝置,其包含: 一組合邏輯電路,包含一個或複數個輸出; 一個或複數個功能狀態取樣元件,配置用以取樣該組合邏輯電路的該等輸出; 一個或複數個保護狀態取樣元件,分別與該等功能狀態取樣元件相聯結,每一該保護狀態配置與其相應的該功能狀態取樣元件係對該組合邏輯電路的同一輸出進行取樣,但是相對於該功能狀態取樣元件,該保護狀態取樣元件具有一預定時間偏移;以及 一保護邏輯,配置用以檢測由該等功能狀態取樣元件取樣的該輸出與由該等保護狀態取樣元件取樣的每一該相同輸出之間的差異,並回應於該差異而啟動一回應動作。
- 如請求項1所述之電子裝置,還包括一延遲元件,配置用以延遲該組合邏輯電路的輸出以便產生一延遲輸出,其中該功能狀態取樣元件配置為取樣每一該輸出和該延遲輸出中的一個,以及其中一相應的保護狀態取樣元件配置為取樣該輸出和該延遲輸出中的另一個。
- 如請求項1所述之電子裝置,還包括一延遲元件,配置用以延遲一時脈信號以便產生一延遲時脈信號,其中該功能狀態取樣元件配置為使用該時脈信號和該延遲時脈信號之一來作為其取樣時脈,以及其中一相應的保護狀態取樣元件配置為使用另一該時脈信號和該延遲時脈信號來作為其取樣時脈。
- 如請求項1所述之電子裝置,其中該功能狀態取樣元件和該相應的保護狀態取樣元件包括正反器(FFs)。
- 如請求項1所述之電子裝置,其中該功能狀態取樣元件包括驅動一第二鎖存器的一第一鎖存器,並且該相應的保護狀態取樣元件包括與該第一鎖存器相關聯的一第三鎖存器。
- 如請求項1所述之電子裝置,其中該保護邏輯配置用以合併在兩個或更多個該功能狀態取樣元件與兩個或更多個該保護狀態取樣元件之間檢測到的多重差異,並且回應於該等差異來啟動該回應動作。
- 如請求項1所述之電子裝置,其中該保護邏輯在僅當檢測到的該差異在一時脈週期的一預定部分期間發生時才啟動該回應動作。
- 如請求項1所述之電子裝置,其中該功能狀態取樣元件配置為以一第一閥值電壓對該組合邏輯電路的一輸出進行取樣,以及其中該相應的保護狀態取樣元件配置為以高於該第一閥值電壓的一第二閥值電壓對該組合邏輯電路的該相同輸出進行取樣。
- 一種用於保護一電子裝置之方法,該方法包括: 使用一個或複數個相應的功能狀態取樣元件來取樣一組合邏輯電路的一個或多個輸出; 使用分別與該等功能狀態取樣元件相關聯的一個或複數個保護狀態取樣元件來取樣一個或複數個輸出,其中每一該保護狀態取樣元件與其相應的功能狀態取樣元件係對該組合邏輯電路的一相同輸出進行取樣,但是相對於該功能狀態取樣元件,每一該保護狀態取樣元件具有一預定時間偏移;以及 檢測由該等功能狀態取樣元件取樣的該等輸出與由該等保護狀態取樣元件取樣的每一該等輸出之間的一差異,並且回應於該差異而啟動一回應動作。
- 如請求項9所述之方法,其中取樣一個或複數個輸出包括延遲該組合邏輯電路的一輸出以便產生一延遲輸出,由該功能狀態取樣元件取樣每一該輸出和該延遲輸出,以及由一相應的保護狀態取樣元件取樣另一該輸出和該延遲輸出。
- 如請求項9所述之方法,其中取樣一個或複數個輸出包括延遲一時脈信號以便產生一延遲時脈信號,由該時脈信號和該延遲時脈信號之一對該功能狀態取樣元件作為其取樣時脈,以及由另一該時脈信號和該延遲時脈信號對該相應的保護狀態取樣元件作為其取樣時脈。
- 如請求項9所述之方法,其中該功能狀態取樣元件和該相應的保護狀態取樣元件包括正反器(FFs)。
- 如請求項9所述之方法,其中該功能狀態取樣元件包括驅動一第二鎖存器的一第一鎖存器,並且該相應的保護狀態取樣元件包括與該第一鎖存器相關聯的一第三鎖存器。
- 如請求項9所述之方法,其中該保護邏輯配置為合併在兩個或更多個功能狀態取樣元件與兩個或更多個保護狀態取樣元件之間檢測到的複數個差異,並且回應於該等差異來啟動該回應動作。
- 如請求項9所述之方法,其中該保護邏輯配置為僅當檢測到的該差異在一時脈週期的一預定部分期間發生時才啟動該回應動作。
- 如請求項9所述之方法,其中該功能狀態取樣元件配置為以一第一閥值電壓對該組合邏輯電路的一輸出進行取樣,以及其中該相應的保護狀態取樣元件配置為以高於該第一閥值電壓的一第二閥值電壓對該組合邏輯電路的該相同輸出進行取樣。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/571,242 US11321457B2 (en) | 2019-09-16 | 2019-09-16 | Data-sampling integrity check by sampling using flip-flops with relative delay |
US16/571,242 | 2019-09-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202113641A TW202113641A (zh) | 2021-04-01 |
TWI760694B true TWI760694B (zh) | 2022-04-11 |
Family
ID=74869641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109104591A TWI760694B (zh) | 2019-09-16 | 2020-02-13 | 使用具有相對延遲的正反器進行資料取樣完整性檢查之電子裝置及其方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11321457B2 (zh) |
JP (1) | JP6968234B2 (zh) |
CN (1) | CN112507400B (zh) |
TW (1) | TWI760694B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11409323B2 (en) * | 2019-12-20 | 2022-08-09 | Arm Limited | Delay monitoring scheme for critical path timing margin |
US11567855B1 (en) * | 2020-09-09 | 2023-01-31 | Two Six Labs, LLC | Automated fault injection testing |
TWI783309B (zh) * | 2020-11-25 | 2022-11-11 | 瑞昱半導體股份有限公司 | 電路設計方法和相關電路 |
GB2603549B (en) * | 2021-05-21 | 2023-03-15 | Nordic Semiconductor Asa | Physical security protection for integrated circuits |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050213761A1 (en) * | 2002-12-02 | 2005-09-29 | Walmsley Simon R | Storing number and a result of a function on an integrated circuit |
TW200807441A (en) * | 2006-05-30 | 2008-02-01 | Nvidia Corp | System and method for performing dynamic trimming |
TWI663837B (zh) * | 2018-03-13 | 2019-06-21 | 群聯電子股份有限公司 | 鎖相迴路電路校正方法、記憶體儲存裝置及連接介面電路 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS592057B2 (ja) | 1979-02-07 | 1984-01-17 | 株式会社日立製作所 | エラ−訂正・検出方式 |
US5493242A (en) | 1993-06-30 | 1996-02-20 | Vlsi Technology, Inc. | Status register with asynchronous read and reset and method for providing same |
DE19529434B4 (de) | 1995-08-10 | 2009-09-17 | Continental Teves Ag & Co. Ohg | Microprozessorsystem für sicherheitskritische Regelungen |
US7747936B2 (en) | 2004-03-02 | 2010-06-29 | Stmicroelectronics Sa | Device for protection against error injection into an asynchronous logic block of an elementary logic module |
FR2868577A1 (fr) * | 2004-03-31 | 2005-10-07 | St Microelectronics Sa | Dispositif de detection d'attaque d'une puce de circuit integre |
EP1993057B1 (fr) | 2007-05-18 | 2010-10-20 | STMicroelectronics (Rousset) SAS | Détection d'une perturbation d'état d'une bascule d'un circuit électronique |
FR2935059B1 (fr) * | 2008-08-12 | 2012-05-11 | Groupe Des Ecoles De Telecommunications Get Ecole Nationale Superieure Des Telecommunications Enst | Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede |
FR2946787A1 (fr) | 2009-06-16 | 2010-12-17 | St Microelectronics Rousset | Procede de detection d'une attaque par injection de faute d'un dispositif de memoire, et dispositif de memoire correspondant |
US7977965B1 (en) | 2010-03-12 | 2011-07-12 | International Business Machines Corporation | Soft error detection for latches |
JP2014038294A (ja) * | 2012-08-20 | 2014-02-27 | Waseda Univ | 故障攻撃検出回路および暗号処理装置 |
US9229051B2 (en) * | 2012-11-15 | 2016-01-05 | Freescale Semiconductor, Inc. | Integrated circuit with degradation monitoring |
US9329229B2 (en) * | 2012-11-15 | 2016-05-03 | Freescale Semiconductors, Inc. | Integrated circuit with degradation monitoring |
EP3024171A4 (en) * | 2013-07-16 | 2017-03-08 | Mitsubishi Electric Corporation | Semiconductor device |
US9122891B2 (en) | 2013-08-12 | 2015-09-01 | Microsoft Technology Licensing, Llc | Functional timing sensors |
US9523736B2 (en) | 2014-06-19 | 2016-12-20 | Nuvoton Technology Corporation | Detection of fault injection attacks using high-fanout networks |
US10013581B2 (en) | 2014-10-07 | 2018-07-03 | Nuvoton Technology Corporation | Detection of fault injection attacks |
US10452493B2 (en) * | 2016-05-24 | 2019-10-22 | Virginia Tech Intellectual Properties, Inc. | Microprocessor fault detection and response system |
US10289840B2 (en) | 2017-06-02 | 2019-05-14 | Silicon Laboratories Inc. | Integrated circuit with tamper protection and method therefor |
EP3506548A1 (en) * | 2017-12-27 | 2019-07-03 | Secure-IC SAS | Quantitative digital sensor |
US10305479B1 (en) * | 2018-06-12 | 2019-05-28 | Nxp B.V. | Fault attack protection against synchronized fault injections |
US10649487B2 (en) | 2018-07-05 | 2020-05-12 | Microchip Technology Incorporated | Fail-safe clock monitor with fault injection |
US11263322B2 (en) * | 2018-08-27 | 2022-03-01 | Infineon Technologies Ag | Secure x-modular redundancy |
US11355457B2 (en) * | 2019-06-19 | 2022-06-07 | Nxp B.V. | Fully digital glitch detection mechanism with process and temperature compensation |
-
2019
- 2019-09-16 US US16/571,242 patent/US11321457B2/en active Active
-
2020
- 2020-02-13 TW TW109104591A patent/TWI760694B/zh active
- 2020-06-01 CN CN202010484912.6A patent/CN112507400B/zh active Active
- 2020-06-22 JP JP2020107357A patent/JP6968234B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050213761A1 (en) * | 2002-12-02 | 2005-09-29 | Walmsley Simon R | Storing number and a result of a function on an integrated circuit |
US20060052962A1 (en) * | 2002-12-02 | 2006-03-09 | Silverbrook Research Pty Ltd. | Integrated circuit having clock trim circuitry |
TW200807441A (en) * | 2006-05-30 | 2008-02-01 | Nvidia Corp | System and method for performing dynamic trimming |
TWI663837B (zh) * | 2018-03-13 | 2019-06-21 | 群聯電子股份有限公司 | 鎖相迴路電路校正方法、記憶體儲存裝置及連接介面電路 |
Also Published As
Publication number | Publication date |
---|---|
JP6968234B2 (ja) | 2021-11-17 |
JP2021047845A (ja) | 2021-03-25 |
TW202113641A (zh) | 2021-04-01 |
CN112507400B (zh) | 2024-05-24 |
CN112507400A (zh) | 2021-03-16 |
US20210081528A1 (en) | 2021-03-18 |
US11321457B2 (en) | 2022-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI760694B (zh) | 使用具有相對延遲的正反器進行資料取樣完整性檢查之電子裝置及其方法 | |
TWI793405B (zh) | 使用時脈閘控時脈進行數據取樣完整性檢查之電子裝置及其方法 | |
US9523736B2 (en) | Detection of fault injection attacks using high-fanout networks | |
US11100224B2 (en) | Interference detection device and detection sensitivity adjusting method thereof | |
Chakraborty et al. | Security against hardware Trojan through a novel application of design obfuscation | |
TWI521378B (zh) | 偵測錯誤注入的裝置與方法 | |
US8466727B2 (en) | Protection against fault injections of an electronic circuit with flip-flops | |
JP2002535793A (ja) | 集積回路上の機密モジュールの統合 | |
CN113835012A (zh) | 定时错误检测和校正电路 | |
Krautter et al. | Remote and stealthy fault attacks on virtualized FPGAs | |
Choudhury et al. | Patron: A pragmatic approach for encoding laser fault injection resistant fsms | |
CN110945372B (zh) | 用于检测电信号中的至少一个毛刺的方法和用于实施该方法的装置 | |
Luo et al. | Faulty clock detection for crypto circuits against differential fault analysis attack | |
Potestad-Ordóñez et al. | Experimental and timing analysis comparison of FPGA trivium implementations and their vulnerability to clock fault injection | |
Bastos et al. | How to sample results of concurrent error detection schemes in transient fault scenarios? | |
Alghareb et al. | Soft error effect tolerant temporal self-voting checkers: Energy vs. resilience tradeoffs | |
Bastos et al. | A new bulk built-in current sensor-based strategy for dealing with long-duration transient faults in deep-submicron technologies | |
Wang et al. | A low-cost fault injection attack resilient fsm design | |
Deshpande | Hardware fault attack detection methods for secure embedded systems | |
Renaudin et al. | Asynchronous design: fault robustness and security characteristics | |
Askeland et al. | Who Watches the Watchers: Attacking Glitch Detection Circuits | |
Jiménez et al. | VLSI Implementation of digital frequency sensors as hardware countermeasure | |
Vasile et al. | Improved tamper detection circuit based on linear-feedback shift register | |
Ziyang et al. | Assessing the Vulnerability of Time-Controlled Logic-Loop-Based Circuits to Voltage Fault Injection and Power Monitoring Attacks | |
JP2008289086A (ja) | 半導体装置 |