TWI693791B - 使用小型間接隨機預充電以防範旁通道攻擊的電子元件 - Google Patents

使用小型間接隨機預充電以防範旁通道攻擊的電子元件 Download PDF

Info

Publication number
TWI693791B
TWI693791B TW108133692A TW108133692A TWI693791B TW I693791 B TWI693791 B TW I693791B TW 108133692 A TW108133692 A TW 108133692A TW 108133692 A TW108133692 A TW 108133692A TW I693791 B TWI693791 B TW I693791B
Authority
TW
Taiwan
Prior art keywords
logic circuit
combinational logic
random data
data
item
Prior art date
Application number
TW108133692A
Other languages
English (en)
Other versions
TW202021276A (zh
Inventor
赫詩曼 日弗
Original Assignee
新唐科技股份有限公司
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 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Application granted granted Critical
Publication of TWI693791B publication Critical patent/TWI693791B/zh
Publication of TW202021276A publication Critical patent/TW202021276A/zh

Links

Images

Classifications

    • 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/76Protecting 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31725Timing aspects, e.g. clock distribution, skew, propagation delay
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3177Testing of logic operation, e.g. by logic analysers
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • 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/72Protecting 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 cryptographic circuits
    • 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
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31719Security aspects, e.g. preventing unauthorised access during test
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)
  • Storage Device Security (AREA)

Abstract

本發明揭露一種電子元件,其包含一組合邏輯電路、至少一狀態取樣部件以及保護電路。組合邏輯電路具有至少一輸入以及至少一輸出。狀態取樣部件係在連續的多個時脈週期取樣組合邏輯電路之輸出之訊號。保護電路係藉由在每一時脈週期中一給定持續時間開始施加隨機資料至組合邏輯電路之輸入,並在隨機資料施加之後改成施加功能性資料至組合邏輯電路之輸入,藉此保護組合邏輯電路。狀態取樣部件係僅取樣功能性資料。組合邏輯電路中任何訊號路徑之傳輸延遲係不少於給定持續時間。

Description

使用小型間接隨機預充電以防範旁通道攻擊的電子元件
本發明係關於一電子電路之資料安全之技術領域,特別是關於用以防範旁通道攻擊(side-channel attacks)的方法以及系統。
近年來,已經發展多種用以從電子元件擷取資訊的技術,例如旁通道攻擊(side-channel attacks)。此種攻擊通常由未經授權方執行,以存取儲存在電子元件中的機密資訊。旁通道攻擊的原理主要是基於邏輯元件在狀態轉換時通常會耗費較多能量。旁通道攻擊不須電性接觸載有資訊的電子元件,而是藉由非侵入式測量電子元件發出的電子訊號及/或輻射,以擷取資訊。
目前已有多種可保護電子元件防範旁通道攻擊的應對措施。例如,Baddam在西元2012年2月在Southampton大學之電資學院之物理應用科學系發表之標題為"Hardware Level countermeasure Against Differential Power Analysis"的博士論文中描述幾個類型之應對措施,特別是雙軌預充電(Dual Rail Precharge,DRP)電路。
根據本發明之一實施例,本發明提供一種電子元件,其包含一組合邏輯電路、至少一狀態取樣部件、以及一保護電路。組合邏輯電路具有至少一輸入以及至少一輸出。至少一狀態取樣部件係用以在連續的複數個時脈週期對組合邏輯電路之至少一輸出之訊號進行取樣。保護電路係在每一時脈週期中執行以下操作以保護組合邏輯電路:在狀態取樣部件於時脈週期中的一取樣時間之前在一給定持續時間中開始施加隨機資料至該組合邏輯電路之至少一輸入;以及 施加該隨機資料之後,改成施加一功能性資料至該組合邏輯電路之該至少一輸入,由該狀態取樣部件取樣至少一輸入之訊號;在該組合邏輯電路之該輸入以及該輸出之間之任何訊號路徑上的一傳輸延遲不少於該給定持續時間,其中在該狀態取樣部件之該取樣時間之前該隨機資料係在該給定持續時間中開始施加。
根據一實施例,隨機資料以及該功能性資料係提供至該狀態取樣部件以作為輸入,由於該傳輸延遲不少於該給定持續時間,該狀態取樣部件僅取樣該功能性資料而沒有取樣該隨機資料。在一些實施例中,組合邏輯電路具有一保持時間裕度,該保持時間裕度係設定至少為該給定持續時間。在一實施例中,組合邏輯電路包含至少一延遲單元,其插置在至少一訊號路徑中,用以設定該保持時間裕度至少為該給定持續時間。
在一實施例中,電子元件可包含至少第一及第二加密引擎,用以執行加密操作,其中該保護電路係使用該第一加密引擎以產生該隨機資料,但不使用該第一加密引擎執行該加密操作,並使用該第二加密引擎產生該隨機資料,但不使用該第二加密引擎執行該加密操作。
在一實施例中,保護電路係用以在每一該複數個時脈週期中多次修改該隨機資料。在一實施例中,用於施加該隨機資料以及該功能性資料之時序係由該電子元件預先設定,該電子元件係基於該組合邏輯電路之獨立性能預先設定該時序。在另一實施例中,保護電路係用以基於該組合邏輯電路之實際性能,適應性修改用於施加該隨機資料以及該功能性資料之一時序。在另一實施例中,保護電路係用以適應性修改該時序,藉以優化施加該隨機資料之一工作週期。在一實施例中,在後續功能性資料施加在該組合邏輯電路之該至少一輸入之前,該組合邏輯電路係完成該隨機資料在所有訊號路徑上的傳輸。
根據本發明之一實施例,本發明更提供一種用於保護一組合邏輯電路的方法,且組合邏輯電路具有至少一輸入以及至少一輸出。此方法包含下列步驟:在連續的複數個時脈週期中,使用至少一狀態取樣部件對該組合邏輯電路之該輸出之訊號進行取樣;在每一時脈週期中,執行以下步驟以保護該組合邏輯電路:在該時脈週期中該狀態取樣部件之一取樣時間之前,於一給定持續時間中開始施加一隨機資料至該組合邏輯電路之該輸入;施加該隨機資料之後,改成施加功能性資料至該組合邏輯電路之輸入,其待由該狀態取樣部件取樣;其中在該組合邏輯電路之輸入以及輸出之間之任何訊號路徑上的一傳輸延遲不少於該給定持續時間,其中在該狀態取樣部件之該取樣時間之前該隨機資料係在該給定持續時間中開始施加。
以下將配合圖式及實施例來詳細說明本發明之實施方式,藉此對本發明如何應用技術手段來解決技術問題並達成技術功效的實現過程能充分理解並據以實施。
概觀(OVERVIEW)
本發明的實施例係描述用於保護電子元件防範旁通道攻擊的改良方法以及電路。在本文中揭露的技術可使用於多種類型之安全元件,例如安全記憶體元件以及嵌入控制器。
在實施例中,安全電子元件包含組合邏輯電路。組合邏輯電路通常包含複數個互連的邏輯級,其一起對功能性資料進行指定的安全操作。組合邏輯電路係接收功能性資料以處理至少一輸入,並在至少一輸出上提供處理結果。至少一正反器(FF)、或其他狀態取樣部件係用以在連續的多個時脈週期中取樣組合邏輯電路之輸出之訊號。所取樣之訊號係在下一個時脈週期做為輸入。
安全元件更包含保護電路,其用以保護組合邏輯電路不受旁通道攻擊。在一些實施例中,保護電路係在每一時脈週期輪流施加隨機資料與功能性資料至組合邏輯電路之輸入。在本發明中,隨機資料之類型亦包含偽隨機資料。因此,組合邏輯電路在一部分時脈週期中處理隨機資料,而在其他時脈週期中處理功能性資料。隨機資料的處理可有效隨機化組合邏輯電路瞬時功耗,使得攻擊者難以藉由偵測組合邏輯電路之功耗或是輻射功率來重建機密資訊。
應注意的是在本發明之技術方案中,功能性資料以及隨機資料係以相同訊號路徑傳送並通過相同的正反器。在給定的時脈週期中,保護電路通常在正反器之取樣時間之前在上述時脈週期中開始施加隨機資料至組合邏輯電路之輸入一特定持續時間。之後。保護電路改成施加功能性資料至組合邏輯電路之輸入,以讓正反器進行取樣。
先施加隨機資料的優點在於增加組合邏輯電路處理隨機資料的時間比例,可更佳地隨機化功耗。另一方面,先施加隨機資料的風險在於正反器可能會因為時序變異而沒有取樣到功能性資料,但是取樣到隨機資料。具體而言,如果組合邏輯電路之至少一訊號路徑之傳輸延遲小於正反器取樣時間之前的隨機資料開始的持續時間,正反器將取樣到隨機資料。
在一些實施例中,保護電路及/或組合邏輯電路之設計可保證上述情境不會發生。也就是說,本發明之設計可保證組合邏輯電路之任何路徑之傳輸延遲不小於FF(正反器)取樣時間之前的隨機資料開始的持續時間。在此限制下,即使隨機資料在FF取樣時間之間就施加到組合邏輯電路之輸入,正反器也不會取樣到隨機資料,而只會取樣到功能性資料。
在一些實施例中,對組合邏輯電路之保持時間裕度設定一合適的下限值可滿足上述限制。設定下限值相當於平衡組合邏輯電路之訊號路徑的傳輸延遲。在一實施例中,可藉由在至少一訊號路徑(通常是具有最小傳輸延遲的路徑)中插置延遲單元來實現傳輸延遲之平衡。
本發明揭露的技術係提供對旁通道攻擊的安全防範。在一些實施例中,使用安全元件既有的加密引擎來產生隨機資料。再者,由於是在保持時間及/或設置時間裕度之期間施加隨機資料,本發明之技術方案對於時脈速度不會有影響或是影響很小。在最實用情境,隨機資料以及功能性資料的輸入時間可重疊而其在組合邏輯電路中的傳送路徑不同。此時間重疊的做法可提高功耗隨機化之程度,因此可提高安全程度。此外,由於本發明揭露之技術可降低功能性資料施加於組合邏輯電路之時脈週期的比例,所以亦降低安全元件的靜態漏電。
以下將描述本發明之各個實施例以及相關的性能折衷方案。
系統說明
第1圖係為本發明之一實施例之可防範旁通道攻擊之安全電子元件20的示意方塊圖。在一實施例,安全電子元件20可包含一積體電路(IC),例如整合加密電路的記憶體元件、或是包含加密或是驗證電路之嵌入控制器(EC)或是基板管理控制器(BMC)、或是其他任何適合的安全電子元件。
在本示例中,安全電子元件20包含一組合邏輯電路24。組合邏輯電路24具有至少一輸入M1以及至少一輸出D1,組合邏輯電路24可透過輸入M1接收載有輸入資料的數位輸入訊號,並透過輸出D1輸出載有輸出資料之數位輸出訊號。組合邏輯電路24包含複數個互連邏輯級L,例如邏輯閘。邏輯級L執行組合邏輯電路24之指定函數,或是將輸入M1轉換成輸出D1。作為單純的邏輯組合,組合邏輯電路24沒有儲存功能,例如輸出D1的處理只依據輸入M1之目前數值。
安全電子元件20更包含至少一正反器(FF)28,其用以在連續的多個時脈週期中取樣組合邏輯電路24之輸出D1。在此,正反器28係指"狀態取樣部件",都是用於取樣組合邏輯電路24之目前狀態。在其他的實施例中,狀態取樣部件可包含多個栓鎖器,靜態隨機讀取記憶體(SRAM)單元、或是其他任何適合的記憶體單元。每一經取樣之輸出可為邏輯高位準(logic high)或是邏輯低位準(logic low)。
正反器28係由時脈訊號C1(亦可稱為取樣時脈)控制,時脈訊號C1來自時脈樹CR。在本示例中,正反器28可對輸出D1在時脈訊號C1之每一週期之上升邊緣進行取樣,但此僅為舉例,非為限制本發明。經取樣的輸出(其不包含只作為安全電子元件20之輸出而沒有經過內部組合邏輯電路)係以Q1表示。經取樣的輸出Q1係透過多工器32而施加至組合邏輯電路24之輸入M1,以做為組合邏輯電路24在下一時脈週期的輸入訊號。
在一些實施例中,組合邏輯電路24用以執行特定安全操作或是建立功能。組合邏輯電路24可包含,例如,一乘法級、一執行加密、解密、標記或是驗證處理迭代、或是其他任何適合的安全相關操作的電路。
除非有充分的保護,否則一攻擊者可偵測組合邏輯電路24之瞬時功耗來非法擷取機密資訊。攻擊者可能偵測,例如,安全電子元件20從電源供應器消耗的瞬時電力、或是安全電子元件20發出的電磁之瞬時功率。
在一些實施例中,安全電子元件20更包含一保護電路,用以保護安全電子元件20防範旁通道攻擊。在本示例中,保護電路包含以下元件:
一亂數產生器(RNG)36,用以產生隨機資料R1或是偽隨機資料之字流(word stream)。隨機資料亦以隨機預充電資料(random pre-charging data, RPD)表示。
多工器(MUX)32,其用以交替將隨機資料R1(RPD)以及經取樣之功能性資料Q1驅動輸入M1。其中,組合邏輯電路24輸出之功能性資料(ALD)亦稱為演算資料。
延遲單元DLY1、DLY2以及DLY3,其位於時脈樹CR(clock tree)中;以及一SR正反器SRFF。此些元件係控制時脈訊號C1(其用於正反器28)以及一MUX控制訊號S1(用於控制多工器 32)之間的相對時序。通常,時脈樹CR包含DLY1,而以下將會討論DLY2以及DLY3的設計選擇。在本示例中,DLY2係為DLY1以及DLY3之間的差異。
可選地,組合邏輯電路24中的延遲單元(如以下第4圖所示)。
使用隨機預充電技術防範旁通道攻擊
如上所述,保護電路係輪流以功能性資料(ALD)以及隨機資料(RPD)驅動組合邏輯電路24之輸入。上述輪流行為係在每一時脈週期執行。也就是說,每一時脈週期包含RPD輸入至組合邏輯電路24的時段、以及ALD輸入至組合邏輯電路24的時段。回應此些輸入,每一邏輯級L在時脈週期之一部分時段處理隨機資料,而在其他時段處理功能性資料。因此,組合邏輯電路24的瞬時功耗可隨機化,使得攻擊者難以藉由偵測功耗或是輻射能量來重建功能性資料(ALD)。
在一些實施例中,根據符合條件的時序,保護電路選擇精確時序將隨機資料(RPD)輸入組合邏輯電路24以及將功能性資料(ALD)輸入組合邏輯電路24。
在每一時脈週期,在功能性資料穩定可供取樣之前(例如,在正反器於此時脈週期的取樣時間之前),隨機資料係提供在組合邏輯電路24之輸入。也就是說,MUX控制訊號S1控制多工器32再時脈訊號C1之上升邊緣之前,將亂數產生器36之輸出傳送到輸入M1。
然而,正反器28不會取樣隨機資料(RPD),而只會取樣功能性資料(ALD)。
為了符合這兩個條件,組合邏輯電路24中的任何路徑之訊號傳輸時間(亦稱為傳輸延遲)必須足夠長。如果組合邏輯電路24之至少一路徑之傳輸路徑延遲太少,隨機資料將會在正反器28之取樣時間之前傳送到輸出D1並被取樣。
具體來說,如第2圖所示,從輸入M1的隨機資料開始到正反器28取樣(時脈訊號C1之上升邊緣)之前的持續時間等於DLY3。為了保證正反器28不會取樣到隨機資料,組合邏輯電路24中從輸入M1至輸出D1的任何路徑之最小傳輸時間必須不會少於DLY3。
第2圖係為第1圖之安全電子元件20之訊號時序,由上向下,在時間軸上顯示以下訊號:
時脈訊號C1:其提供至正反器28。在本示例中,正反器係在時脈訊號C1之上升邊緣取樣組合邏輯電路24之輸出D1。正反器28之取樣時間點係以40表示。
MUX控制訊號S1: 用以控制多工器32。在本示例中,當MUX控制控制訊號S1為邏輯高位準時,多工器32選擇輸出亂數產生器36產生的隨機資料R1。 當MUX控制控制訊號S1為邏輯低位準時,多工器32選擇輸出正反器之輸出端Q所輸出的經取樣之功能性資料Q1。多工器32於時間點44開始施加隨機資料(MUX控制控制訊號S1從邏輯低位準切換成邏輯高位準。
功能性資料Q1: 在取樣時間點40上正反器28取樣功能性資料(ALD)的結果。在連續的多個時脈週期中功能性資料係表示為ALD1、ALD2、ALD3,以此類推。
輸入M1: 其從多工器32傳送至組合邏輯電路24。如同先前所述,根據MUX控制訊號S1,輸入M1的訊號係在隨機資料(RPD)以及功能性資料(ALD)之間交替。在連續的時脈週期中,隨機資料係表示為RPD1、RPD2、RPD3...,以此類推。
輸出D1:其為組合邏輯電路24之輸出。在本示例中,組合邏輯電路24之不同的路徑具有不同的延遲。因此,在一些時段,圖中標示為XXXXX,輸出D1之訊號載有暫態資料、隨機資料以及功能性資料的混合。在其他時段,在輸出D1之所有訊號只載有穩定非暫態的隨機資料(RPD),或是穩定非暫態的功能性資料(ALD)。
圖中可見,組合邏輯電路24在每一時脈週期之一明顯時段處理隨機資料,而在時脈週期之其餘時段處理功能性資料。因此,組合邏輯電路24之瞬時功耗以及輻射能量可隨機化,藉此保護安全電子元件20防範旁通道攻擊。
儘管組合邏輯電路24在每一時脈週期之相當長時段處理隨機資料,但是正反器28仍只會取樣到功能性資料而不會取樣到隨機資料。可透過觀察功能性資料Q1(其為在時間點40取樣輸出D1的取樣版本)得到此結果。
第3圖係為第1圖之安全電子元件20之訊號時序。 相對於第2圖之範例,第3圖之範例顯示更積極的設計方式,其對組合邏輯電路24之延遲平衡有更高要求,以提供對旁通道攻擊之更高防範程度。
在第3圖中,隨機資料在組合邏輯電路24之最大傳輸時間係以T_RPD_max表示。隨機資料在組合邏輯電路24之最小傳輸時間係以T_RPD_min表示。功能性資料在組合邏輯電路24之最大傳輸時間係以T_ALD_max表示。功能性資料在組合邏輯電路24之最小傳輸時間係以T_ALD_min表示。圖中係顯示設置時間裕度以及保持時間裕度。
在輸入M1之隨機資料係以RPD0、RPD1…表示,在輸出D1上的隨機資料係以RPDD0、RPDD1…表示。由於組合邏輯電路24可能會改變RPD以及RPDD,所以RPD的數值可能與對應的RPDD數值不同。
根據第1圖以及第3圖所示之實施例,可看出RPDD在時脈訊號C1之下降緣附近為穩定。因此,在另一實施例中,RPDD可用一組下降緣正反器來取樣,以作為下一週期的偽隨機資料。在又一實施例,RPDD亦可與亂數產生器36之輸出進行"互斥或(XOR)"處理,以增強R1之隨機性。應注意的是組合邏輯電路24在單一時脈週期中處理兩組資料(在具體情況,在一時段處理ALD而在另一時段處理RPD),而不需降低電路臨界設定路徑延遲。
第2與3圖係顯示相對於時脈訊號C1(或稱取樣時脈),如何設定MUX控制訊號S1之時序以及脈衝寬度(例如,隨機資料以及功能性資料之間輪流輸出)的兩個範例。亦可使用其他時序以及脈衝寬度之設定。以下將說明用於界定MUX控制訊號S1的限制以及設計考量。
為了容易清楚描述,圖中係假定忽略多工器32以及正反器28之傳輸延遲。在從時脈訊號C2以及C3衍生出MUX控制控制訊號S1的SRFF中,重置輸入端(R)之優先權係假定高於設定輸入端(S)的優先權。為了清楚描述,在本示例中MUX控制控制訊號S1之下降緣係與C1之上升邊緣重合。然而,本發明不受此關係的限制,也可能會有其他關係。例如,MUX控制控制訊號S1之下降緣可晚於C1之上升邊緣,然而,因為ALD之最大傳輸時間只會從MUX控制控制訊號S1之下降緣開始而仍然在C1之上升緣上結束,所以此時臨界設定時序可能會受影響。再者,延遲MUX控制控制訊號S1之下降時間將可提高隨機資料之持續時間,例如,可以提高保護程度,但是其代價是組合邏輯電路24需要有更嚴格的設定時間。
在一些實施例中,第1圖之配置可在安全電子元件20中複製成多個,並分別應用於組合邏輯電路24的不同部分。也就是說,組合邏輯電路24可區分成多個部分,例如根據時序及/或實體相接近的部分來進行區分。保護電路之個別舉例可耦接於每一部分,其可包含一個別多工器以及個別多工器控制,且可能有不同的延遲值,如DLY1、DLY2及/或DLY3。
在一些實施例中,多個正反器28以及多工器32之間的實體距離係保持在最小值,以將正反器輸出負載降到最低,藉以將漏電降到最低。此外,可使用額外應對措施來避免正反器28的漏電,例如,使用DRP或是罩幕,如第6圖所示。
藉由平衡組合邏輯電路中的延遲,輪流使用隨機資料以及功能性資料且保證僅取樣到功能性資料
如上所述,為了確保正反器28不會在輸出D1取樣到隨機資料,組合邏輯電路24中的最小傳輸時間必須不小於正反器28之取樣時間之前的隨機資料在輸入M1開始進行的持續時間。例如在第2圖所示之機制中,上述持續時間係為時間點44(在MUX控制控制訊號S1上)以及時間點40(在訊號C1上)之間的持續時間。組合邏輯電路24中的任何路徑的傳輸延遲必須大於此持續時間。
在一些實施例中,上述用於確保組合邏輯電路24之任何路徑之傳輸延遲不少於給定持續時間的限制可應用於實現組合邏輯24之積體電路的設計期間。例如,在積體電路設計期間,組合邏輯電路24之保持時間裕度之數值可設定成至少為給定持續時間。保持時間裕度係通常大於必須確保正確時序的裕度。
一般而言,可在積體電路設計之任何一階段,例如在線路合成(synthesis)期間階段、放置&接線(P&R)階段、或是其他階段,為傳輸延遲設定一下限值。
通常,藉由刻意提高組合邏輯電路24之至少一最快訊號路徑之傳輸延遲,來實現設定傳輸延遲之下限值。至於傳輸延遲本來就高於給定持續時間的其他路徑,則不需改變。在一些實施例中,不需有安全功能的特定訊號路徑,例如不輸送機密資訊的路徑,也不在傳輸延遲平衡的考量範圍內。
平衡操作可降低不同路徑之間的傳輸延遲差異。因此,"設定組合邏輯電路24之多種路徑之傳輸延遲之下限值"的操作相當於是"平衡組合邏輯電路24之多種路徑之傳輸延遲"。組合邏輯電路24之多種路徑之傳輸延遲越平衡,則可以有更高的保持時間裕度。如上述內容所解釋,保持時間裕度可允許隨機資料插入使功耗隨機化但是隨機資料不會被取樣。
確保傳輸延遲足夠高的一種方法是在組合邏輯電路24之一些邏輯級之間插置延遲單元。
第4圖係為本發明之一實施例具有平衡延遲之組合邏輯電路24之示意方塊圖。在此高度簡單化的範例中,組合邏輯電路24之邏輯級包含3個邏輯閘G1、G2以及G3。每一閘極具有一特定傳輸延遲。為了平衡組合邏輯電路24之多種路徑之傳輸延遲,兩延遲單元48可插置在組合邏輯電路24之電路設計中。延遲單元DLY_G1的效果近似閘極G1之傳輸延遲,而延遲單元DLY_G2的效果近似閘極G2之傳輸延遲。因此,組合邏輯電路24之三個訊號路徑具有大約相同的延遲。
延遲單元,例如DLY_G1、DLY_G2以及DLY_G3,可用任何適合的方式來實現;例如,可使用偽邏輯單元、使用緩衝單元、或是使用接線(例如更常的走線)。
第4圖係繪示本發明之示例性實施例。在其他實施例,其他任何適合技術可用於平衡組合邏輯電路24之各種訊號路徑之傳輸延遲。
在一示例性實施例,以下的虛擬碼(pseudo-code)可用於平衡延遲: •將積體電路設計以及時序限制條件載入一靜態時序分析工具,例如synopsys的PrimeTime或是積體電路編譯器; •根據電路設計上的取捨設定時序平衡限制條件(TBL); •對於組合邏輯電路24之每一輸出接腳; •取得通過此接腳的具有最小時間冗餘之時序路徑; •視需要,增加延遲單元以提高延遲直到最小路徑時序時間冗餘小於TBL。
例如,上述處理可在電路設計之具有慢速模擬條件接線後階段(post-routing stage),例如,慢速模擬條件包含高溫、低電壓、慢速單元處理角模型(slow cell process corner model)、高電容接線或其組合。
此外,可在電路設計時序最佳化工具上對設置時間裕度設定一適合的下限值可改善延遲平衡,其中超出所需之設置時間裕度以符合電路設計時序需求。例如,限制設置時間係有利的,因為(i)降低延遲(其之後需要平衡),以及(ii)可減少最長以及最短路徑之間的製程變異。
亂數產生器配置之示例
在各種實施例,亂數產生器36可用任何適合的類比及/或數位電路來實現。亂數產生器36不一定需要以時脈驅動,因此也可以用類比雜訊源來實現。在其他的實施例中,亂數產生器36可用全數位硬體來實現,例如,使用時脈邏輯以產生一偽隨機資料序列。在一些實施例中,亂數產生器36可重複利用安全電子元件20既有的安全相關電路,例如,安全散列演算法(SHA)或是進階加密標準(AES)加密引擎。在此情況下,建議每次以隨機種子運行SHA或是進階加密標準。
第5A圖係為本發明之一實施例之用於實現亂數產生器36之亂數產生器的示意方塊圖。此實施例可用於已經採用SHA以及AES的安全電子元件20執行旁通道攻擊應對措施以外的安全操作。
在第5A圖所示之示例中,亂數產生器包含兩個互連的亂數產生器(以下稱為加密引擎),第5A圖之左側顯示的進階加密標準(AES)加密引擎包含AES邏輯電路52以及正反器56,右側顯示的SHA加密引擎包含SHA邏輯電路60以及正反器64。多工器68接收正反器56與64之輸出,並將其多工處理至AES邏輯電路52之輸入。多工器72接收正反器56與64之輸出,並將其多工處理至SHA邏輯電路60之輸入。第5A圖中,訊號AES_NOISE_EN (第5A圖中以AES NOISE EN標示)係啟動AES雜訊,而訊號SHA_NOISE_EN (第5A圖中以SHA NOISE EN標示)係啟動SHA雜訊。
在一些實施例中,在一部分期間,安全電子元件20使用AES加密引擎而不使用SHA加密引擎;在其他期間,安全電子元件20使用SHA加密引擎而不使用AES加密引擎。在此些實施例,未使用的亂數產生器可重複利用並作為亂數產生器36,以產生隨機資料(RPD)。 也就是說,當安全電子元件20使用AES加密引擎而未使用SHA加密引擎時,SHA加密引擎係用於產生RPD。當安全電子元件20使用SHA加密引擎而未使用AES加密引擎時,AES加密引擎係用於產生RPD。
正反器56以及64可代表AES以及SHA加密引擎內部的暫存器,且不一定耦接於主模組輸出(例如,進階加密標準密碼或是SHA摘要)。因此,當執行對應的加密引擎時,此些數值在每一時脈週期可改變。
訊號AES_NOISE_EN以及訊號SHA_NOISE_EN可進入對應的加密引擎,而進入一"雜訊"狀態,其中加密引擎連續摘要越來越多的資料,藉以維持產生隨機亂數直到加密引擎停止,例如,直到NOISE_EN訊號重置。多工器68以及72係與第1圖之多工器32類似。
第5B圖係為本發明之一實施例用於第5A圖之亂數產生器之多工器68與72之另一配置之示意方塊圖。亂數產生器的其他部分係維持並未改變。
第5A與5B圖之亂數產生器配置僅為舉例說明,本發明並不受其限制,而其他任何適合的實現方式亦可使用。例如,亂數產生器(RNG)可用至少兩個任何類型的加密引擎之組合來實現,例如使用Rivest-Shamir-Adleman (RSA)加密引擎、Elliptic-CurveCryptography (ECC)加密引擎或是CRC加密引擎。
整合額外的應對措施
第6圖係為本發明的再一實施例之防範旁通道攻擊的安全電子元件之示意方塊圖。第6圖可證明第1-3圖之保護機制可結合額外的安全應對措施。第6圖顯示一種可能結合的應對措施,作為範例說明。
在本示例中,從正反器28讀取以及寫入正反器28的數據係使用一額外亂數產生器80來進行掩飾。在正反器28取樣之前,由亂數產生器80產生的隨機資料MD係與組合邏輯電路24之輸出D結合,例如使用位元互斥或閘(bitwise XOR)來結合。 除此之外,額外的正反器84係取樣隨機資料MD。在驅動組合邏輯電路24之輸入之前,正反器84輸出之取樣資料MQ係與多工器32之取樣輸出相結合,例如,使用位元互斥或閘來結合。
額外的實施例以及變化例
在一些實施例中,在每一時脈週期,亂數產生器36多次修改隨機資料。例如,請參閱第2圖之輸入M1,在標示為間隔RPD中的隨機資料之數值係至少改變一次。
在一些實施例中,施加隨機資料以及功能性資料之時序不是固定的。藉由修改時序,可能可以控制時脈週期中施加隨機資料之期間的比例,以及在時脈週期中施加功能性資料的之期間的剩餘比例。也可能可以控制在正反器取樣時間(例如第2與3圖所示之時間點40)之前的隨機資料開始(例如第2與3圖所示之時間點44)的持續時間。在第1圖所示之配置,例如,可藉由修改延遲單元DLY3以修改上述時序。
在本發明中,用語“施加隨機資料以及功能性資料之時序"係表示在時脈週期中從隨機資料開始(例如,時間點44)至正反器取樣時間(例如,時間點40)的尺寸及/或位置。
在一些實施例中,根據電子元件之組合邏輯電路之獨立性能,施加隨機資料以及功能性資料之時序的設定係獨立於每一安全電子元件20。 例如,此設定可利用獨立安全電子元件之間的保持時間裕度之統計差異,例如,製程變異。
例如,考量安全電子元件20之組合邏輯電路24發生有一高設置時間裕度以及一低保持時間裕度。在此獨立的安全電子元件20中,時序可設定為在正反器取樣時間(例如,時間點40)之後開始施加隨機資料,並在正反器取樣時間(例如,時間點40)之後停止施加隨機資料。上述順序之設定可在任何適合時間執行,例如,在安全電子元件20生產或是最後測試的期間執行。此設定有時可視為電路校正或是訓練序列。
此外,在安全電子元件20中,依據組合邏輯電路之目前實際性能,保護電路可與施加隨機資料以及功能性資料之時序在時間上相適配。例如,此配試可利用隨時間發生的傳輸延遲差異,例如因為溫度、電壓或其他操作條件造成的差異。此配試亦可利用元件對元件差異(device-to-device variations).
在一示例性實施例,藉由監控組合邏輯電路24之輸出(D1),保護電路可施加預先定義訓練序列至組合邏輯電路24之輸入(M1),以及預估組合邏輯電路24之保持時間裕度(其等效於訊號路徑之傳輸延遲之間的平衡程度),並設定時序(例如,DLY2以及DLY3之時序)。例如,上述順序之配試可在上電或是重置時執行,及/或在每次使用組合邏輯電路24進行加密操作之前週期地執行。
在此實施例,當保持時間裕度為高時,可藉由在時脈週期之更前部分(在正反器取樣時間之前)施加隨機資料以增強安全性。在其他時間,當保持時間裕度為低時,隨機資料可能必須施加在時脈週期之較晚部分(正反器取樣時間之前),但在此情況下,設定裕度通常較高,所以隨機資料亦可施加在資料取樣時間之後。
在通常實施例中,例如,當製程變異、電壓變異以及溫度變異造成組合邏輯電路24的最慢傳輸時間,在慢速製程-電壓-溫度(PVT)角下,保持時間裕度係為高的。在此條件下,可藉由在時脈週期之較早部分(正反器取樣時間更早之前)施加隨機資料,以增強安全性。 藉由相同方式,在快速製程電壓溫度(PVT)角,保持時間裕度可趨向變小,而隨機資料可在時脈週期之較後部分(在正反器取樣時間之前)施加。
為了證明適配施加隨機資料功能性資料功能性資料之時序的益處,請考量以下示例性數值。假定組合邏輯電路24之最小傳輸時間在慢速PVT角係為10nS,而在快速PVT角係為6ns,以及組合邏輯電路24之最大傳輸時間在慢速PVT角係為20nS,而在快速PVT角係為12ns。
在此情況下,保護電路可執行延遲單元DLY2以及DLY3之適應性校正,使得在慢速PVT角下可在正反器取樣時間(例如時間點40)之前10ns(例如時間點44)施加隨機資料(RPD),直到正反器之取樣時間(例如時間點40)為止。 在快速PVT角,可在正反器之取樣時間(例如時間點40)之前的6ns(例如時間點44)施加RPD,一直持續到正反器之取樣時間(例如時間點40)之後的8nS。
在上述示例性內容,施加隨機資料以及功能性資料之時序之設定係為了優化施加隨機資料的工作週期(時脈週期之部分之比例),並確保隨機資料不被取樣。此條件亦可將施加功能性資料之工作週期(時脈週期中之部分之比例)降到最低。 因此,亦可降低安全電子元件20之靜態漏電。
為了概念清楚起見,第1、4、5A、5B與6圖所示之安全電子元件、組合邏輯電路以及亂數產生器的配置係僅為示例。在其他實施例,也可使用其他任何適合的配置。在各種實施例,安全電子元件、組合邏輯電路及/或亂數產生器可使用任何適合的硬體來實現,例如可使用至少一離散部件、至少一特殊應用積體電路(ASIC)及/或至少一現場可程式邏輯閘陣列(FPGA)。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明,任何熟習相像技藝者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,因此本發明之專利保護範圍須視本說明書所附之申請專利範圍所界定者為準。
20:安全電子元件
24:組合邏輯電路
28、56、64、84、FF:正反器
32、68、72:多工器
36、80、RNG:亂數產生器
40、44:時間點
48、DLY_G1、DLY_G2、DLY1、DLY2、DLY3:延遲單元
52:AES邏輯電路
60:SHA邏輯電路
ALD、ALD1、ALD2、ALD3:功能性資料
C1、C2、C3:時脈訊號
CR:時脈樹
G1、G2、G3:邏輯閘
L:邏輯級
M1:輸入
MQ:取樣資料
Q、D、D1:輸出
Q1:功能性資料
R1、RPD、RPD1、RPD2、RPD3、RPDD、RPDD0、RPDD1、MD:隨機資料
S1:MUX控制信號
SRFF:SR正反器
T_ALD_max:最大傳輸時間
T_ALD_min:最小傳輸時間
T_RPD_max:最大傳輸時間
T_RPD_min:最小傳輸時間
第1圖係為根據本發明之一實施例之可防範旁通道攻擊之安全電子元件的示意方塊圖。
第2與3圖係為第1圖之電子元件的訊號時序圖。
第4圖係為根據本發明之一實施例之具有平衡延遲之組合邏輯電路的方塊圖。
第5A圖係為根據本發明之一實施例之亂數產生器之示意方塊圖,其中亂數產生器包含互連的兩個加密引擎。
第5B圖係為本發明之一實施例之用於第5A圖之亂數產生器的另一多工器之示意方塊圖。
第6圖係為一本發明之再一實施例之用於防範旁通道攻擊的安全電子元件之示意方塊圖。
20:安全電子元件
24:組合邏輯電路
28、FF:正反器
32:多工器
36:亂數產生器
DLY1、DLY2、DLY3:延遲單元
C1、C2、C3:時脈訊號
CR:時脈樹
L:邏輯級
M1:輸入
MQ:取樣資料
Q、D、D1:輸出
Q1:功能性資料
R1:隨機資料
S1:MUX控制信號
SRFF:SR正反器

Claims (20)

  1. 一種電子元件,包含 一組合邏輯電路,具有至少一輸入以及至少一輸出; 至少一狀態取樣部件,用以在連續的複數個時脈週期對該組合邏輯電路之該至少一輸出之訊號進行取樣;以及 一保護電路,在每一該複數個時脈週期中執行以下操作以保護該組合邏輯電路: 在該狀態取樣部件於該時脈週期中的一取樣時間之前,在一給定持續時間中開始施加隨機資料至該組合邏輯電路之該至少一輸入;以及 施加該隨機資料之後,改成施加一功能性資料至該組合邏輯電路之該至少一輸入,以讓該狀態取樣部件進行取樣; 其中在該組合邏輯電路之該至少一輸入以及該至少一輸出之間之任何訊號路徑上的一傳輸延遲不少於該給定持續時間,其中在該狀態取樣部件之該取樣時間之前該隨機資料係在該給定持續時間中開始施加。
  2. 如申請專利範圍第1項所述之電子元件,其中該隨機資料以及該功能性資料係輸入至該狀態取樣部件,由於該傳輸延遲不少於該給定持續時間,該狀態取樣部件僅取樣該功能性資料而沒有取樣該隨機資料。
  3. 如申請專利範圍第1項所述之電子元件,其中該組合邏輯電路具有一保持時間裕度(hold-time margin),該保持時間裕度係設定至少為該給定持續時間。
  4. 如申請專利範圍第3項所述之電子元件,其中該組合邏輯電路包含至少一延遲單元,其插置在至少一訊號路徑中,用以設定該保持時間裕度至少為該給定持續時間。
  5. 如申請專利範圍第1項所述之電子元件,更包含第一加密引擎及第二加密引擎,用以執行加密操作,其中該保護電路係使用該第一加密引擎以產生該隨機資料,但不使用該第一加密引擎執行該加密操作,並使用該第二加密引擎產生該隨機資料,但不使用該第二加密引擎執行該加密操作。
  6. 如申請專利範圍第1項所述之電子元件,其中該保護電路係用以在每一該複數個時脈週期中多次修改該隨機資料。
  7. 如申請專利範圍第1項所述之電子元件,其中用於施加該隨機資料以及該功能性資料之時序係由該電子元件預先設定,該電子元件係基於該組合邏輯電路之獨立性能預先設定該時序。
  8. 如申請專利範圍第1項所述之電子元件,其中該保護電路係用以基於該組合邏輯電路之實際性能,適應性修改用於施加該隨機資料以及該功能性資料之一時序。
  9. 如申請專利範圍第8項所述之電子元件,其中該保護電路係用以適應性修改該時序,藉以優化施加該隨機資料之一工作週期。
  10. 如申請專利範圍第1項所述之電子元件,其中在將該功能性資料施加在該組合邏輯電路之該至少一輸入之前,該組合邏輯電路係先完成該隨機資料在所有該訊號路徑上的傳輸。
  11. 一種用於保護一電子元件之一組合邏輯電路的方法,該組合邏輯電路具有至少一輸入以及至少一輸出,該方法包含: 在連續的複數個時脈週期中,使用至少一狀態取樣部件對該組合邏輯電路之該至少一輸出之訊號進行取樣;以及 在每一該複數個時脈週期中,執行以下步驟以保護該組合邏輯電路: 在該時脈週期中該狀態取樣部件之一取樣時間之前,於一給定持續時間中開始施加一隨機資料至該組合邏輯電路之該輸入;以及 施加該隨機資料之後,改成施加功能性資料至該組合邏輯電路之輸入,以讓該狀態取樣部件進行取樣; 其中在該組合邏輯電路之該至少一輸入以及該至少一輸出之間之任何訊號路徑上的一傳輸延遲不少於該給定持續時間,其中在該狀態取樣部件之該取樣時間之前該隨機資料係在該給定持續時間中開始施加。
  12. 如申請專利範圍第11項所述之方法,其中該隨機資料以及該功能性資料係輸入至該狀態取樣部件,由於該傳輸延遲不少於該給定持續時間,該狀態取樣部件僅取樣該功能性資料而沒有取樣該隨機資料。
  13. 如申請專利範圍第11項所述之方法,其中該組合邏輯電路具有一保持時間裕度,該保持時間裕度係設定至少為該給定持續時間。
  14. 如申請專利範圍第13項所述之方法,其中該組合邏輯電路包含至少一延遲單元,其插置在至少一訊號路徑中,用以設定該保持時間裕度至少為該給定持續時間。
  15. 如申請專利範圍第11項所述之方法,其中該電子元件包含第一加密引擎及第二加密引擎,用以執行加密操作,其中產生該隨機資料之步驟包含: 使用該第一加密引擎以產生該隨機資料,但不使用該第一加密引擎執行該加密操作,並使用該第二加密引擎產生該隨機資料,但不使用該第二加密引擎執行該加密操作。
  16. 如申請專利範圍第11項所述之方法,更包含: 在每一該複數個時脈週期中多次修改該隨機資料。
  17. 如申請專利範圍第11項所述之方法,更包含: 使用該電子元件基於該組合邏輯電路之獨立性能,預先設定用於施加該隨機資料以及該功能性資料之時序。
  18. 如申請專利範圍第11項所述之方法,更包含: 基於該組合邏輯電路之實際性能,適應性修改用於施加該隨機資料以及該功能性資料之一時序。
  19. 如申請專利範圍第18項所述之方法,其中適應性修改該時序之步驟包含: 優化施加該隨機資料之一工作週期。
  20. 如申請專利範圍第11項所述之方法,其中在後續功能性資料施加在該組合邏輯電路之該至少一輸入之前,完成該隨機資料在該組合邏輯電路之所有該訊號路徑上的傳輸。
TW108133692A 2018-11-18 2019-09-18 使用小型間接隨機預充電以防範旁通道攻擊的電子元件 TWI693791B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/194,342 US10878133B2 (en) 2018-11-18 2018-11-18 Mitigation of side-channel attacks using small-overhead random pre-charging
US16/194,342 2018-11-18

Publications (2)

Publication Number Publication Date
TWI693791B true TWI693791B (zh) 2020-05-11
TW202021276A TW202021276A (zh) 2020-06-01

Family

ID=70727247

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108133692A TWI693791B (zh) 2018-11-18 2019-09-18 使用小型間接隨機預充電以防範旁通道攻擊的電子元件

Country Status (4)

Country Link
US (1) US10878133B2 (zh)
JP (1) JP7005576B2 (zh)
CN (1) CN111200490B (zh)
TW (1) TWI693791B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI818503B (zh) * 2022-04-11 2023-10-11 新唐科技股份有限公司 加密裝置以及加密方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180089426A1 (en) * 2016-09-29 2018-03-29 Government Of The United States As Represented By The Secretary Of The Air Force System, method, and apparatus for resisting hardware trojan induced leakage in combinational logics
EP3885952A4 (en) * 2018-12-14 2021-12-01 Mitsubishi Electric Corporation LEARNING IDENTIFICATION DEVICE, LEARNING IDENTIFICATION PROCESS AND LEARNING IDENTIFICATION PROGRAM
US11601120B2 (en) 2021-02-03 2023-03-07 Nuvoton Technology Corporation Attack-resistant ring oscillators and random-number generators
US20220150046A1 (en) * 2021-09-16 2022-05-12 Intel Corporation Deterring side channel analysis attacks for data processors having parallel cryptographic circuits
CN116743504B (zh) * 2023-08-14 2023-10-17 佳瑛科技有限公司 一种数字数据在网络线缆中的安全传输方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170061121A1 (en) * 2015-08-26 2017-03-02 Cryptography Research, Inc Low overhead random pre-charge countermeasure for side-channel attacks
WO2017037725A1 (en) * 2015-09-06 2017-03-09 Bar-Ilan University Randomized logic against side channel attacks
TW201732670A (zh) * 2016-03-13 2017-09-16 華邦電子股份有限公司 藉由變更時脈延遲以防止旁通道攻擊的系統及其方法
WO2018002934A1 (en) * 2016-06-29 2018-01-04 Bar-Ilan University Pseudo- asynchronous digital circuit design

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3769940B2 (ja) * 1998-08-06 2006-04-26 株式会社日立製作所 半導体装置
US7840803B2 (en) * 2002-04-16 2010-11-23 Massachusetts Institute Of Technology Authentication of integrated circuits
US7924057B2 (en) 2004-02-13 2011-04-12 The Regents Of The University Of California Logic system for DPA resistance and/or side channel attack resistance
US7577820B1 (en) * 2006-04-14 2009-08-18 Tilera Corporation Managing data in a parallel processing environment
EP1873671B2 (en) 2006-06-29 2018-08-22 STMicroelectronics International N.V. A method for protecting IC Cards against power analysis attacks
WO2008056551A1 (fr) * 2006-11-10 2008-05-15 Nec Corporation Circuit de diviseur de fréquence de signal d'horloge
JP5458611B2 (ja) 2009-03-13 2014-04-02 ソニー株式会社 暗号処理装置
US8427194B2 (en) * 2010-05-24 2013-04-23 Alexander Roger Deas Logic system with resistance to side-channel attack by exhibiting a closed clock-data eye diagram
JP5926655B2 (ja) * 2012-08-30 2016-05-25 ルネサスエレクトロニクス株式会社 中央処理装置および演算装置
US8983068B2 (en) * 2013-03-06 2015-03-17 Infineon Technologies Ag Masked nonlinear feedback shift register
US10142103B2 (en) * 2015-12-07 2018-11-27 The Boeing Company Hardware assisted fast pseudorandom number generation
IL243789A0 (en) * 2016-01-26 2016-07-31 Winbond Electronics Corp Split calculation of the next state to prevent analysis by energy consumption
US10958414B2 (en) * 2016-02-23 2021-03-23 Google Llc Clock period randomization for defense against cryptographic attacks
FR3051599A1 (fr) * 2016-05-17 2017-11-24 Stmicroelectronics Rousset Protection d'un circuit integre
US10256973B2 (en) 2016-09-30 2019-04-09 Intel Corporation Linear masking circuits for side-channel immunization of advanced encryption standard hardware

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170061121A1 (en) * 2015-08-26 2017-03-02 Cryptography Research, Inc Low overhead random pre-charge countermeasure for side-channel attacks
WO2017037725A1 (en) * 2015-09-06 2017-03-09 Bar-Ilan University Randomized logic against side channel attacks
TW201732670A (zh) * 2016-03-13 2017-09-16 華邦電子股份有限公司 藉由變更時脈延遲以防止旁通道攻擊的系統及其方法
WO2018002934A1 (en) * 2016-06-29 2018-01-04 Bar-Ilan University Pseudo- asynchronous digital circuit design

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI818503B (zh) * 2022-04-11 2023-10-11 新唐科技股份有限公司 加密裝置以及加密方法

Also Published As

Publication number Publication date
JP7005576B2 (ja) 2022-01-21
CN111200490A (zh) 2020-05-26
TW202021276A (zh) 2020-06-01
CN111200490B (zh) 2023-04-07
JP2020087453A (ja) 2020-06-04
US20200159967A1 (en) 2020-05-21
US10878133B2 (en) 2020-12-29

Similar Documents

Publication Publication Date Title
TWI693791B (zh) 使用小型間接隨機預充電以防範旁通道攻擊的電子元件
Alam et al. RAM-Jam: Remote temperature and voltage fault attack on FPGAs using memory collisions
US11880468B2 (en) Autonomous, self-authenticating and self-contained secure boot-up system and methods
Canivet et al. Glitch and laser fault attacks onto a secure AES implementation on a SRAM-based FPGA
Kong et al. PUFatt: Embedded platform attestation based on novel processor-based PUFs
JP5881715B2 (ja) 開始挙動が改善された物理的複製不可能関数
US8495440B2 (en) Fully programmable parallel PRBS generator
Zussa et al. Investigation of timing constraints violation as a fault injection means
Ye et al. OPUF: Obfuscation logic based physical unclonable function
Almeida et al. Ransomware attack as hardware trojan: A feasibility and demonstration study
Shuvo et al. Ldtfi: Layout-aware timing fault-injection attack assessment against differential fault analysis
Igarashi et al. Concurrent faulty clock detection for crypto circuits against clock glitch based DFA
TWI755936B (zh) 安全積體電路及其方法
Choudhury et al. Patron: A pragmatic approach for encoding laser fault injection resistant fsms
Wang et al. Hardware trojan attack in embedded memory
Hu et al. SANSCrypt: A sporadic-authentication-based sequential logic encryption scheme
Exurville et al. Practical measurements of data path delays for IP authentication & integrity verification
US20140292371A1 (en) Multi-threshold dual-spacer dual-rail delay-insensitive logic (mtd3l) circuit design
Suzuki et al. Nbti/pbti tolerant arbiter puf circuits
Shuvo et al. FLAT: Layout-Aware and Security Property-Assisted Timing Fault-Injection Attack Assessment
Guilley et al. Global faults on cryptographic circuits
EP4243333A1 (en) Electronic circuit and method for securing and desynchronizing register transfers to mitigate side channel attacks
Kulkarni et al. Implementation of Arbiter Physical Unclonable Function on the Xilinx System on Chip FPGA
Konganapalle et al. SMASh: A State Encoding Methodology Against Attacks on Finite State Machines
Røneid Hardware implementations of the McEliece cryptosystem for post quantum cryptography