TWI840062B - 故障攻擊分析裝置和方法 - Google Patents
故障攻擊分析裝置和方法 Download PDFInfo
- Publication number
- TWI840062B TWI840062B TW111150794A TW111150794A TWI840062B TW I840062 B TWI840062 B TW I840062B TW 111150794 A TW111150794 A TW 111150794A TW 111150794 A TW111150794 A TW 111150794A TW I840062 B TWI840062 B TW I840062B
- Authority
- TW
- Taiwan
- Prior art keywords
- result
- encryption
- encoding
- generate
- decoding
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/72—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 cryptographic circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/54—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Error Detection And Correction (AREA)
Abstract
本發明提供一種故障攻擊分析裝置。加解密電路根據控制信號,進行正常回合運算和冗餘回合運算。第一編碼器對從加解密電路接收之對應正常回合運算之第一輸出結果進行第一編碼運算,以產生第一編碼結果。第一解碼器對第一編碼結果進行第一解碼運算,以產生第一解碼結果。第二編碼器對從加解密電路接收之對應冗餘回合運算之第二輸出結果進行第二編碼運算,以產生第二編碼結果。第二解碼器對第二編碼結果進行第二解碼運算,以產生第二解碼結果。第二編碼運算和第二解碼運算係基於二元場加法運算。比較電路比較第一解碼結果和第二解碼結果。
Description
本發明之實施例主要係有關於一故障攻擊分析技術,特別係有關於應用二元場加法(binary field addition)運算來進行加碼和解碼之故障攻擊分析技術。
故障攻擊(Fault Attack)分析法先將故障插入在加解密系統中,再分析多組正確和錯誤運算的差異關聯性。接著根據加解密演算法特性,推導出獨特差異關聯性的方程式。
因此,為了降低攻擊者藉由發起故障攻擊取得需要藉由加解密電路進行編碼和解碼之資料,一種有效又簡便可達成防止故障攻擊之故障攻擊分析裝置將是值得討論之課題。
有鑑於上述先前技術之問題,本發明之實施例提供了一種故障攻擊分析裝置和方法。
根據本發明之一實施例提供了一種故障攻擊分析裝置。故障攻擊分析裝置可包括一控制器、一加解密電路、一第一編碼器、一第一解碼器、一第二編碼器、一第二解碼器和一比較電路。控制器可產生一控制信號。加解密電路耦接控制器,且根據控制信號,進行一正常回合運算和一冗餘回合運算。第一編碼器耦接加解密電路,對從加解密電路接收之對應正常回合運算之第一輸出結果進行第一編碼運算,以產生第一編碼結果。第一解碼器耦接加解密電路,對第一編碼結果進行第一解碼運算,以產生第一解碼結果。第二編碼器耦接加解密電路,且對從加解密電路接收之對應冗餘回合運算之第二輸出結果進行第二編碼運算,以產生第二編碼結果。第二解碼器耦接加解密電路,且對第二編碼結果進行第二解碼運算,以產生第二解碼結果。第二編碼運算和第二解碼運算係基於一二元場加法運算。比較電路耦接第一解碼器和第二解碼器,且比較第一解碼結果和第二解碼結果,以進行故障分析。
在一實施例中,故障攻擊分析裝置更包括一第一儲存電路和一第二儲存電路。第一儲存電路耦接第一編碼器和第一解碼器,且儲存對應正常回合運算之每一正常回合之運算結果。第二儲存電路耦接第二編碼器和第二解碼器,且儲存對應冗餘回合運算之每一冗餘回合之運算結果。
在一實施例中,加解密電路包括一第一加解密電路。第一加解密電路耦接第一編碼器、第一解碼器、第二編碼器和第二解碼器。第一加解密電路根據控制信號,進行正常回合運算,以產生第一輸出結果,再根據控制信號,進行冗餘回合運算,以產生第二輸出結果。
在一實施例中,加解密電路包括一第一加解密電路和一第二加解密電路。第一加解密電路耦接第一編碼器和第一解碼器,且根據控制信號,進行正常回合運算,以產生第一輸出結果。第二加解密電路耦接第二編碼器和第二解碼器,且根據控制信號,進行冗餘回合運算,以產生第二輸出結果。
在一實施例中,第一編碼運算和第一解碼運算和第二編碼運算和第二解碼運算不同。
在一實施例中,第一編碼運算和第一解碼運算係不進行編碼運算和不進行解碼運算。
在一實施例中,加解密電路係根據一進接加密標準(Advanced Encryption Standard,AES)演算法進行上述正常回合運算和上述冗餘回合運算。第二編碼器將第二輸出結果之每一輸出資料分成複數區塊,並將每一輸出資料對應之區塊平均分配到不同群組,以產生複數第一變數,並對複數第一變數進行第二編碼運算,以產生第二編碼結果,其中複數第一變數之數量和第二輸出結果之輸出資料之數量相同。第二解碼器對第二編碼結果進行第二解碼運算,以產生複數第二變數,並將複數第二變數分成複數區塊,並將每一第二變數對應之區塊平均分配到不同群組,以產生第二解碼結果,其中複數第二變數之數量和複數第一變數之數量相同。
在一實施例中,第二編碼器包含複數第一互斥或邏輯閘,且第二解碼器包含複數第二互斥或邏輯閘。複數第一互斥或邏輯閘之數量和複數第二互斥或邏輯閘之數量相同。
根據本發明之一實施例提供了一種故障攻擊分析方法。上述故障攻擊分析方法適用一故障攻擊分析裝置。上述故障攻擊分析方法包括底下步驟。藉由上述故障攻擊分析裝置之一控制器,產生一控制信號;藉由上述故障攻擊分析裝置之一加解密電路,根據上述控制信號,進行一正常回合運算和一冗餘回合運算;藉由上述故障攻擊分析裝置之一第一編碼器,對從上述加解密電路接收之對應上述正常回合運算之一第一輸出結果進行一第一編碼運算,以產生一第一編碼結果;藉由上述故障攻擊分析裝置之一第一解碼器,對上述第一編碼結果進行一第一解碼運算,以產生一第一解碼結果;藉由上述故障攻擊分析裝置之一第二編碼器,對從上述加解密電路接收之對應上述冗餘回合運算之一第二輸出結果進行一第二編碼運算,以產生一第二編碼結果;藉由上述故障攻擊分析裝置之一第二解碼器,對上述第二編碼結果進行一第二解碼運算,以產生一第二解碼結果,其中上述第二編碼運算和上述第二解碼運算係基於一二元場加法運算;以及藉由上述故障攻擊分析裝置之一比較電路,比較上述第一解碼結果和上述第二解碼結果,以進行故障分析。
關於本發明其他附加的特徵與優點,此領域之熟習技術人士,在不脫離本發明之精神和範圍內,當可根據本案實施方法中所揭露之故障攻擊分析裝置和方法,做些許的更動與潤飾而得到。
本章節所敘述的是實施本發明之較佳方式,目的在於說明本發明之精神而非用以限定本發明之保護範圍,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
第1圖係顯示根據本發明之一實施例所述之一故障攻擊分析裝置100之方塊圖。如第1圖所示,故障攻擊分析裝置100可包括一匯流排電路(或匯流排介面)110、一控制器120、一輸入/輸出緩衝器130、一加解密電路140、一第一編碼器151、一第一解碼器152、一第一儲存電路160、一第二編碼器171、一第二解碼器172、一第二儲存電路180和一比較電路190。注意地是,在第1圖中所示之故障攻擊分析裝置100,僅係為了方便說明本發明之實施例,但本發明並不以第1圖為限。故障攻擊分析裝置100中亦可包含其他元件。
根據本發明之實施例,故障攻擊分析裝置100可應用於積體電路或微控制器(microcontroller,MCU)中,但本發明不以此為限。
根據本發明之實施例,匯流排電路110可從匯流排1000取得來自故障攻擊分析裝置100外部之電路之指令,並將指令傳送給控制器120,以及將控制器120之回應傳送給匯流排1000。此外,匯流排電路110可將需要加密或解密之資料傳送給輸入/輸出緩衝器130,再經由輸入/輸出緩衝器130將需要加密或解密之資料傳送給將加解密電路140。匯流排電路110可從輸入/輸出緩衝器130接收加解密電路140已加密或解密之資料,並將已加密或解密之資料傳送給匯流排1000。
根據本發明之實施例,控制器120可根據從匯流排電路110接收到之指令,傳送控制信號CTRL給加解密電路140,以對資料進行加密或解密。加解密電路140可根據控制信號CTRL,對從輸入/輸出緩衝器130接收到之資料進行加密操作或解密操作。加解密電路140在進行加密操作或解密操作時,加解密電路140可對從輸入/輸出緩衝器130接收到之資料進行一正常回合運算和一冗餘回合運算。
根據本發明之實施例,加解密電路140可根據一加解密演算法(例如: 進接加密標準(Advanced Encryption Standard,AES))來進行正常回合運算和冗餘回合運算。在正常回合運算和冗餘回合運算中,加解密電路140可對資料進行多回合之加解密演算法。在第1圖之實施例中,加解密電路140可先完成正常回合運算,再進行冗餘回合運算。在正常回合運算和冗餘回合運算中,前一回合產生之運算結果可作為下一回合之輸入資料。底下將有更詳細之說明。
根據本發明之實施例,第一儲存電路160和第二儲存電路180可係記憶體或暫存器。第一儲存電路160可儲存對應正常回合運算之每一正常回合之運算結果(或運算狀態),且第二儲存電路180可儲存對應冗餘回合運算之每一冗餘回合之運算結果(或運算狀態)。
在正常回合運算之第一回合,加解密電路140可對從輸入/輸出緩衝器130接收到之初始資料進行加解密演算法(例如AES演算法),以產生一第一正常回合運算結果。接著,第一編碼器151可對第一正常回合運算結果進行編碼運算,並將編碼後之第一正常回合運算結果儲存在第一儲存電路160中。接著,第一解碼器152可對儲存在第一儲存電路160之第一正常回合運算結果進行解碼運算,並將解碼後之第一正常回合運算結果回傳給加解密電路140,以作為正常回合運算之第二回合之輸入資料。以此類推,當進行完正常回合運算之最後一回合之運算後,第一解碼器152會將解碼後之最後回合正常運算結果傳送給比較電路190。
和正常回合運算類似,在冗餘回合運算之第一回合,加解密電路140可對從輸入/輸出緩衝器130接收到之初始資料進行加解密演算法(例如AES演算法),以產生一第一回合運算結果。接著,第二編碼器171可對第一冗餘回合運算結果進行編碼運算,並將編碼後之第一冗餘回合運算結果儲存在第二儲存電路180中。接著,第二解碼器172可對儲存在第二儲存電路180之第一冗餘回合運算結果進行解碼運算,並將解碼後之第一冗餘回合運算結果回傳給加解密電路140,以作為冗餘回合運算之第二回合之輸入資料。以此類推,當進行完冗餘回合運算之最後一回合之運算後,第二解碼器172會將解碼後之最後冗餘回合運算結果傳送給比較電路190。
當比較電路190從第一解碼器152取得解碼後之最後回合正常運算結果和從第二解碼器172取得解碼後之最後冗餘回合運算結果後,比較電路190可去比較解碼後之最後回合正常運算結果和解碼後之最後冗餘回合運算結果是否相同。
當解碼後之最後回合正常運算結果和解碼後之最後冗餘回合運算結果相同時,比較電路190可傳送一比較結果EQUAL(例如:比較結果EQUAL之值為1)給控制器120,以告知控制器120加解密電路140之加解密運算並未發生故障(即加解密運算時並未被攻擊)。因此,控制器120就可指示輸入/輸出緩衝器130將加解密電路140加密或解密完之資料傳送給匯流排1000。
當解碼後之最後回合正常運算結果和解碼後之最後冗餘回合運算結果不相同時,比較電路190可傳送一比較結果EQUAL(例如:比較結果EQUAL之值為0)給控制器120,以告知控制器120加解密電路140之加解密運算發生故障(即加解密運算時可能被攻擊)。控制器120就會清除第一儲存電路160和第二儲存電路180暫存之加解密運算之資料,並指示加解密電路140重新進行正常回合運算和冗餘回合運算。
第2圖係顯示根據本發明之另一實施例所述之一故障攻擊分析裝置200之方塊圖。如第2圖所示,故障攻擊分析裝置200可包括一匯流排電路210、一控制器220、一輸入/輸出緩衝器230、一第一加解密電路240、一第二加解密電路250、一第一編碼器251、一第一解碼器252、一第一儲存電路260、一第二編碼器271、一第二解碼器272、一第二儲存電路280和一比較電路290。注意地是,在第2圖中所示之故障攻擊分析裝置200,僅係為了方便說明本發明之實施例,但本發明並不以第2圖為限。故障攻擊分析裝置200中亦可包含其他元件。
和故障攻擊分析裝置100相比,故障攻擊分析裝置200配置了第一加解密電路240和第二加解密電路250。第一加解密電路240可耦接第一編碼器251和第一解碼器252。第二加解密電路250可耦接第二編碼器271和第二解碼器272。第一加解密電路240可用以對從輸入/輸出緩衝器230接收到之資料進行正常回合運算。第二加解密電路250則可用以對從輸入/輸出緩衝器230接收到之資料進行冗餘回合運算。也就是說,在故障攻擊分析裝置200中,正常回合運算和冗餘回合運算可同時進行。
故障攻擊分析裝置200其餘元件之操作類似故障攻擊分析裝置100所述,因此再此就不再贅述。
根據本發明之實施例,第一編碼器151(或第一編碼器251)和第二編碼器171(或第二編碼器271)係進行不同編碼運算,且第一解碼器152(或第一解碼器252)和第二解碼器172(或第二解碼器272)係進行不同解碼運算。在一實施例中,第一編碼器151和第一解碼器152可不進行編碼運算和解碼運算,以降低系統運算成本。也就是說,在此實施例中,在正常回合運算時,第一編碼器151和第一解碼器152將不會對加解密電路140輸出之運算結果進行編碼和解碼。根據本發明一實施例,第二編碼器171和第二解碼器172所進行之編碼運算和解碼運算可係基於一二元場加法(binary field addition)運算之編碼運算和解碼運算。以下將以第3圖為例來做說明。
第3圖係顯示根據本發明一實施例所述之基於二元場加法運算之編碼和解碼之示意圖。如第3圖所示,當編碼器從加解密電路取得4位元組之輸出資料A[7:0]、B[7:0]、C[7:0]和D[7:0] (即每一輸出資料係1位元組)後,編碼器會將每一輸出資料A[7:0]、B[7:0]、C[7:0]和D[7:0]等分成2位元之區塊(即將輸出資料A[7:0]等分成A[1:0]、A[3:2]、A[5:4]和A[7:6]、將輸出資料B[7:0]等分成B[1:0]、B[3:2]、B[5:4]和B[7:6] 、將輸出資料C[7:0]等分成C[1:0]、C[3:2]、C[5:4]和C[7:6]以及將輸出資料D[7:0]等分成D[1:0]、D[3:2]、D[5:4]和D[7:6])。接著,編碼器可將每一輸出資料A[7:0]、B[7:0]、C[7:0]和D[7:0]之區塊配置到不同群組中,以產生第一變數X0、X1、X2和X3。第一變數X0、X1、X2和X3如下所示:
X0={A[1:0], B[1:0], C[1:0], D[1:0]}
X1={A[3:2], B[3:2], C[3:2], D[3:2]}
X2={A[5:4], B[5:4], C[5:4], D[5:4]}
X3={A[7:6], B[7:6], C[7:6], D[7:6]}
接著,編碼器可從第一變數X0、X1、X2和X3選取三者進行二元場加法運算(即互斥或運算),以產生編碼結果O0、O1、O2和O3。編碼器中可包含4個互斥或邏輯閘,以分別對每一種取樣可能性進行二元場加法運算(即互斥或運算),以產生編碼結果O0、O1、O2和O3。編碼結果O0、O1、O2和O3如下所示:
O0=X0⊕X1⊕X2
O1=X1⊕X2⊕X3
O2=X0⊕X2⊕X3
O3=X0⊕X1⊕X3
接著,解碼器可從儲存電路取得編碼結果O0、O1、O2和O3,並從編碼結果O0、O1、O2和O3選取三者進行二元場加法運算(即互斥或運算),以產生第二變數Y0、Y1、Y2和Y3。解碼器中可包含4個互斥或邏輯閘,以分別對每一種取樣可能性進行二元場加法運算(即互斥或運算),以產生第二變數Y0、Y1、Y2和Y3。編碼器和解碼器之運算會相互對應,以使得第二變數Y0、Y1、Y2會分別對應到第一變數X0、X1、X2和X3。第二變數Y0、Y1、Y2和Y3如下所示:
Y0=O0⊕O2⊕O3
Y1=O0⊕O1⊕O3
Y2=O0⊕O1⊕O2
Y3=O1⊕O2⊕O3
將編碼結果O0、O1、O2和O3之值代入第二變數Y0、Y1、Y2和Y3後可得到:
Y0=(X0⊕X1⊕X2)⊕(X0⊕X2⊕X3)⊕(X0⊕X1⊕X3)=X0
Y1=(X0⊕X1⊕X2)⊕(X1⊕X2⊕X3)⊕(X0⊕X1⊕X3)=X1
Y2=(X0⊕X1⊕X2)⊕(X1⊕X2⊕X3)⊕(X0⊕X2⊕X3)=X2
Y3=(X1⊕X2⊕X3)⊕(X0⊕X2⊕X3)⊕(X0⊕X1⊕X3)=X3
也就是,
Y0={A[1:0], B[1:0], C[1:0], D[1:0]}
Y1={A[3:2], B[3:2], C[3:2], D[3:2]}
Y2={A[5:4], B[5:4], C[5:4], D[5:4]}
Y3={A[7:6], B[7:6], C[7:6], D[7:6]}
因此,解碼器將可根據第二變數Y0、Y1、Y2和Y3,產生解碼結果A、B、C和D。解碼結果A、B、C和D如下所示:
A={Y[7:6], Y[7:6], Y[7:6], Y[7:6]}
B={Y[5:4], Y[5:4], Y[5:4], Y[5:4]}
C={Y[3:2], Y[3:2], Y[3:2], Y[3:2]}
D={Y[1:0], Y[1:0], Y[1:0], Y[1:0]}
第4圖係顯示根據本發明一實施例所述之故障之示意圖。假設編碼結果O0受到攻擊,第二變數Y0、Y1、Y2會受到攻擊的影響。當受到攻擊影響之第二變數Y0、Y1、Y2解碼後,解碼結果A[1:0]、A[3:2]、A[5:4]、B[1:0]、B[3:2]、B[5:4]、C[1:0]、C[3:2]、C[5:4] 、D[1:0]、D[3:2]和D[5:4]會受到攻擊的影響。也就是說,當4位元組(即32位元)之編碼結果中有1位元組之編碼結果受到攻擊時,會影響到24位元的解碼結果。因此,本發明所提出之應用二元場加法運算(即互斥或運算)來進行編碼運算和解碼運算,將可滿足現有技術16位元安全性要求(即當一位元組受到攻擊時,至少要有16位元受到影響),以防止攻擊者之單次故障衝突。
第5圖係根據本發明一實施例所述之故障攻擊分析方法之流程圖。第5圖所示之故障攻擊分析方法可適用故障攻擊分析裝置100和200。如第5圖所示,在步驟S510,故障攻擊分析裝置之一控制器可產生一控制信號。
在步驟S520,故障攻擊分析裝置之一加解密電路可根據上述控制信號,進行一正常回合運算和一冗餘回合運算。在本發明之故障攻擊分析方法中,加解密電路可係根據一進接加密標準(Advanced Encryption Standard,AES)演算法進行上述正常回合運算和上述冗餘回合運算。
在步驟S530,故障攻擊分析裝置之一第一編碼器可對從上述加解密電路接收之對應上述正常回合運算之一第一輸出結果進行一第一編碼運算,以產生一第一編碼結果。
在步驟S540,故障攻擊分析裝置之一第一解碼器可對上述第一編碼結果進行一第一解碼運算,以產生一第一解碼結果。
在步驟S550,故障攻擊分析裝置之一第二編碼器可對從上述加解密電路接收之對應上述冗餘回合運算之一第二輸出結果進行一第二編碼運算,以產生一第二編碼結果。
在步驟S560,故障攻擊分析裝置之一第二解碼器可對上述第二編碼結果進行一第二解碼運算,以產生一第二解碼結果。在本發明之故障攻擊分析方法中,第二編碼運算和第二解碼運算係基於一二元場加法運算。
在步驟S570,故障攻擊分析裝置之一比較電路可用以比較上述第一解碼結果(即解碼後之最後回合正常運算結果)和上述第二解碼結果(即解碼後之最後冗餘回合運算結果),以進行故障分析。
根據本發明一實施例,在故障攻擊分析方法中,故障攻擊分析裝置之一第一儲存電路可用以儲存對應上述正常回合運算之每一正常回合之運算結果,以及故障攻擊分析裝置之一第二儲存電路可用以儲存對應上述冗餘回合運算之每一冗餘回合之運算結果。
根據本發明一實施例,在故障攻擊分析方法中,加解密電路之一第一加解密電路(即故障攻擊分析裝置僅具有一加解密電路)可根據上述控制信號,進行上述正常回合運算,以產生上述第一輸出結果,以及根據上述控制信號,進行上述冗餘回合運算,以產生上述第二輸出結果。
根據本發明一實施例,在故障攻擊分析方法中,加解密電路之一第一加解密電路,根據上述控制信號,進行上述正常回合運算,以產生上述第一輸出結果,以及加解密電路之一第二加解密電路,根據上述控制信號,進行上述冗餘回合運算,以產生上述第二輸出結果。
根據本發明一實施例,在故障攻擊分析方法中更包括,第二編碼器可將上述第二輸出結果之每一輸出資料分成複數區塊;第二編碼器可將每一輸出資料對應之區塊平均分配到不同群組,以產生複數第一變數;以及第二編碼器可對上述複數第一變數進行上述第二編碼運算,以產生上述第二編碼結果。上述複數第一變數之數量和上述第二輸出結果之輸出資料之數量相同。
根據本發明一實施例,在故障攻擊分析方法中更包括,第二解碼器可對上述第二編碼結果進行上述第二解碼運算,以產生複數第二變數;第二解碼器可將上述複數第二變數分成複數區塊;以及第二解碼器可將每一第二變數對應之區塊平均分配到不同群組,以產生上述第二解碼結果,其中上述複數第二變數之數量和上述複數第一變數之數量相同。
根據本發明提出之故障攻擊分析方法,在故障攻擊分析裝置之編碼器和解碼器之設計上將可採用較少的元件(例如互斥或邏輯閘),即可達成安全性要求。因而,節省了故障攻擊分析裝置設計上之成本。此外,根據本發明提出之故障攻擊分析方法,應用二元場加法運算來進行加碼運算和解碼運算將可產生較低的編碼延遲和解碼延遲。
本說明書中以及申請專利範圍中的序號,例如「第一」、「第二」等等,僅係為了方便說明,彼此之間並沒有順序上的先後關係。
本發明之說明書所揭露之方法和演算法之步驟,可直接透過執行一處理器直接應用在硬體以及軟體模組或兩者之結合上。一軟體模組(包括執行指令和相關數據)和其它數據可儲存在數據記憶體中,像是隨機存取記憶體(RAM)、快閃記憶體(flash memory)、唯讀記憶體(ROM)、可抹除可規化唯讀記憶體(EPROM)、電子可抹除可規劃唯讀記憶體(EEPROM)、暫存器、硬碟、可攜式硬碟、光碟唯讀記憶體(CD-ROM)、DVD或在此領域習之技術中任何其它電腦可讀取之儲存媒體格式。一儲存媒體可耦接至一機器裝置,舉例來說,像是電腦/處理器(爲了說明之方便,在本說明書以處理器來表示),上述處理器可透過來讀取資訊(像是程式碼),以及寫入資訊至儲存媒體。一儲存媒體可整合一處理器。一特殊應用積體電路(ASIC)包括處理器和儲存媒體。一用戶設備則包括一特殊應用積體電路。換句話說,處理器和儲存媒體以不直接連接用戶設備的方式,包含於用戶設備中。此外,在一些實施例中,任何適合電腦程序之產品包括可讀取之儲存媒體,其中可讀取之儲存媒體包括和一或多個所揭露實施例相關之程式碼。在一些實施例中,電腦程序之產品可包括封裝材料。
以上段落使用多種層面描述。顯然的,本文的教示可以多種方式實現,而在範例中揭露之任何特定架構或功能僅為一代表性之狀況。根據本文之教示,任何熟知此技藝之人士應理解在本文揭露之各層面可獨立實作或兩種以上之層面可以合併實作。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何熟習此技藝者,在不脫離本揭露之精神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100、200:故障攻擊分析裝置
1000、2000:匯流排
110、210:匯流排電路
120、220:控制器
130、230:輸入/輸出緩衝器
140:加解密電路
151、251:第一編碼器
152、252:第一解碼器
160、260:第一儲存電路
171、271:第二編碼器
172、272:第二解碼器
180、280:第二儲存電路
190、290:比較電路
240:第一加解密電路
250:第二加解密電路
A、B、C、D:輸出資料、解碼結果
CTRL:控制信號
EQUAL:比較結果
O0、O1、O2、O3:編碼結果
X0、X1、X2、X3:第一變數
Y0、Y1、Y2、Y3:第二變數
S510~S570:步驟
第1圖係顯示根據本發明之一實施例所述之一故障攻擊分析裝置100之方塊圖。
第2圖係顯示根據本發明之另一實施例所述之一故障攻擊分析裝置200之方塊圖。
第3圖係顯示根據本發明一實施例所述之基於二元場加法運算之編碼和解碼之示意圖。
第4圖係顯示根據本發明一實施例所述之故障之示意圖。
第5圖係顯示根據本發明一實施例所述之故障攻擊分析方法之流程圖。
S510~S570:步驟
Claims (10)
- 一種故障攻擊分析裝置,包括:一控制器,產生一控制信號;一加解密電路,耦接上述控制器,根據上述控制信號,進行一正常回合運算,以產生一第一輸出結果,以及根據上述控制信號,進行一冗餘回合運算,以產生一第二輸出結果;一第一編碼器,耦接上述加解密電路,對從上述加解密電路接收之上述第一輸出結果進行一第一編碼運算,以產生一第一編碼結果;一第一解碼器,耦接上述加解密電路,對上述第一編碼結果進行一第一解碼運算,以產生一第一解碼結果;一第二編碼器,耦接上述加解密電路,對從上述加解密電路接收之上述第二輸出結果進行一第二編碼運算,以產生一第二編碼結果;一第二解碼器,耦接上述加解密電路,對上述第二編碼結果進行一第二解碼運算,以產生一第二解碼結果,其中上述第二編碼運算和上述第二解碼運算係基於一二元場加法運算;以及一比較電路,耦接上述第一解碼器和上述第二解碼器,比較上述第一解碼結果和上述第二解碼結果,以進行故障分析。
- 如請求項1之故障攻擊分析裝置,更包括:一第一儲存電路,耦接上述第一編碼器和上述第一解碼器,儲存對應上述正常回合運算之每一正常回合之運算結果;以及一第二儲存電路,耦接上述第二編碼器和上述第二解碼器,儲存對應上述冗餘回合運算之每一冗餘回合之運算結果。
- 如請求項1之故障攻擊分析裝置,其中上述加解密 電路包括:一第一加解密電路,耦接上述第一編碼器、上述第一解碼器、上述第二編碼器和上述第二解碼器,根據上述控制信號,進行上述正常回合運算,以產生上述第一輸出結果,再根據上述控制信號,進行上述冗餘回合運算,以產生上述第二輸出結果。
- 如請求項1之故障攻擊分析裝置,其中上述加解密電路包括:一第一加解密電路,耦接上述第一編碼器和上述第一解碼器,根據上述控制信號,進行上述正常回合運算,以產生上述第一輸出結果;以及一第二加解密電路,耦接上述第二編碼器和上述第二解碼器,根據上述控制信號,進行上述冗餘回合運算,以產生上述第二輸出結果。
- 如請求項1之故障攻擊分析裝置,其中上述第一編碼運算和上述第一解碼運算和上述第二編碼運算和上述第二解碼運算不同。
- 如請求項1之故障攻擊分析裝置,其中上述第一編碼運算和上述第一解碼運算係不進行編碼運算和不進行解碼運算。
- 如請求項1之故障攻擊分析裝置,其中上述第二編碼器包含複數第一互斥或邏輯閘,且上述第二解碼器包含複數第二互斥或邏輯閘,其中上述複數第一互斥或邏輯閘之數量和上述複數第二互斥或邏輯閘之數量相同。
- 一種故障攻擊分析方法,適用一故障攻擊分析裝置,包括: 藉由上述故障攻擊分析裝置之一控制器,產生一控制信號;藉由上述故障攻擊分析裝置之一加解密電路,根據上述控制信號,進行一正常回合運算,以產生一第一輸出結果,以及根據上述控制信號,進行一冗餘回合運算,以產生一第二輸出結果;藉由上述故障攻擊分析裝置之一第一編碼器,對從上述加解密電路接收之上述第一輸出結果進行一第一編碼運算,以產生一第一編碼結果;藉由上述故障攻擊分析裝置之一第一解碼器,對上述第一編碼結果進行一第一解碼運算,以產生一第一解碼結果;藉由上述故障攻擊分析裝置之一第二編碼器,對從上述加解密電路接收之上述第二輸出結果進行一第二編碼運算,以產生一第二編碼結果;藉由上述故障攻擊分析裝置之一第二解碼器,對上述第二編碼結果進行一第二解碼運算,以產生一第二解碼結果,其中上述第二編碼運算和上述第二解碼運算係基於一二元場加法運算;以及藉由上述故障攻擊分析裝置之一比較電路,比較上述第一解碼結果和上述第二解碼結果,以進行故障分析。
- 如請求項8之故障攻擊分析方法,更包括:藉由上述加解密電路係根據一進接加密標準(Advanced Encryption Standard,AES)演算法進行上述正常回合運算和上述冗餘回合運算。
- 如請求項9之故障攻擊分析方法,更包括:藉由上述第二編碼器將上述第二輸出結果之每一輸出資料分成複數區塊; 藉由上述第二編碼器將每一輸出資料對應之區塊平均分配到不同群組,以產生複數第一變數;以及藉由上述第二編碼器對上述複數第一變數進行上述第二編碼運算,以產生上述第二編碼結果,其中上述複數第一變數之數量和上述第二輸出結果之輸出資料之數量相同。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111150794A TWI840062B (zh) | 2022-12-30 | 2022-12-30 | 故障攻擊分析裝置和方法 |
| CN202311393957.2A CN118282701A (zh) | 2022-12-30 | 2023-10-25 | 故障攻击分析装置和方法 |
| US18/537,075 US20240220606A1 (en) | 2022-12-30 | 2023-12-12 | Fault-attack analysis device and method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW111150794A TWI840062B (zh) | 2022-12-30 | 2022-12-30 | 故障攻擊分析裝置和方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI840062B true TWI840062B (zh) | 2024-04-21 |
| TW202427245A TW202427245A (zh) | 2024-07-01 |
Family
ID=91618772
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW111150794A TWI840062B (zh) | 2022-12-30 | 2022-12-30 | 故障攻擊分析裝置和方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20240220606A1 (zh) |
| CN (1) | CN118282701A (zh) |
| TW (1) | TWI840062B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20250147674A1 (en) * | 2023-11-03 | 2025-05-08 | Texas Instruments Incorporated | Functional safety systems and methods for secure access to non-volatile memory |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7570767B2 (en) * | 2001-12-21 | 2009-08-04 | Magiq Technologies, Inc. | Decoupling error correction from privacy amplification in quantum key distribution |
| TWI521935B (zh) * | 2013-08-08 | 2016-02-11 | 新唐科技股份有限公司 | 加解密裝置及其加解密方法 |
| CN105512573A (zh) * | 2015-11-24 | 2016-04-20 | 深圳国微技术有限公司 | 一种抗攻击的仲裁器 |
| CN107104783A (zh) * | 2016-02-22 | 2017-08-29 | 埃沙尔公司 | 使电路免受侧信道分析的方法 |
| CN108352981A (zh) * | 2015-11-09 | 2018-07-31 | 皇家飞利浦有限公司 | 被布置用于计算目标块加密的密码设备 |
| TW201904228A (zh) * | 2017-03-20 | 2019-01-16 | 南洋理工大學 | 用以反制側通道攻擊的硬體安全 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2867635B1 (fr) * | 2004-03-11 | 2006-09-22 | Oberthur Card Syst Sa | Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique |
| DE102004062825B4 (de) * | 2004-12-27 | 2006-11-23 | Infineon Technologies Ag | Kryptographische Einheit und Verfahren zum Betreiben einer kryptographischen Einheit |
| FR2952735B1 (fr) * | 2009-11-18 | 2011-12-09 | St Microelectronics Rousset | Procede et dispositif de detection d'attaques par injection de fautes |
| JP5433498B2 (ja) * | 2010-05-27 | 2014-03-05 | 株式会社東芝 | 暗号処理装置 |
| US20230077946A1 (en) * | 2020-02-12 | 2023-03-16 | FortifyIQ, Inc. | Methods and ip cores for reducing vulnerability to hardware attacks and/or improving processor performance |
-
2022
- 2022-12-30 TW TW111150794A patent/TWI840062B/zh active
-
2023
- 2023-10-25 CN CN202311393957.2A patent/CN118282701A/zh active Pending
- 2023-12-12 US US18/537,075 patent/US20240220606A1/en active Pending
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7570767B2 (en) * | 2001-12-21 | 2009-08-04 | Magiq Technologies, Inc. | Decoupling error correction from privacy amplification in quantum key distribution |
| TWI521935B (zh) * | 2013-08-08 | 2016-02-11 | 新唐科技股份有限公司 | 加解密裝置及其加解密方法 |
| CN108352981A (zh) * | 2015-11-09 | 2018-07-31 | 皇家飞利浦有限公司 | 被布置用于计算目标块加密的密码设备 |
| CN105512573A (zh) * | 2015-11-24 | 2016-04-20 | 深圳国微技术有限公司 | 一种抗攻击的仲裁器 |
| CN107104783A (zh) * | 2016-02-22 | 2017-08-29 | 埃沙尔公司 | 使电路免受侧信道分析的方法 |
| TW201904228A (zh) * | 2017-03-20 | 2019-01-16 | 南洋理工大學 | 用以反制側通道攻擊的硬體安全 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202427245A (zh) | 2024-07-01 |
| US20240220606A1 (en) | 2024-07-04 |
| CN118282701A (zh) | 2024-07-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8428251B2 (en) | System and method for stream/block cipher with internal random states | |
| US9418246B2 (en) | Decryption systems and related methods for on-the-fly decryption within integrated circuits | |
| EP2329622B1 (en) | Message authentication code pre-computation with applications to secure memory | |
| US20160065368A1 (en) | Address-dependent key generator by xor tree | |
| JP2011103686A (ja) | 暗号化されたアクセスを使う電子的エンティティのセキュリティ化方法 | |
| CN106487497B (zh) | 对rijndael算法的dpa保护 | |
| US10146701B2 (en) | Address-dependent key generation with a substitution-permutation network | |
| US10277391B2 (en) | Encryption device, encryption method, decryption device, and decryption method | |
| CN106487499B (zh) | Rijndael算法的保护 | |
| US20210152326A1 (en) | White-box encryption method for prevention of fault injection attack and apparatus therefor | |
| US8577024B2 (en) | Concealing plain text in scrambled blocks | |
| TWI840062B (zh) | 故障攻擊分析裝置和方法 | |
| US7764786B2 (en) | Protection of a DES algorithm | |
| US9602281B2 (en) | Parallelizable cipher construction | |
| US7216235B1 (en) | Drive/host locking system | |
| US9946662B2 (en) | Double-mix Feistel network for key generation or encryption | |
| US20050002523A1 (en) | Method and apparatus for mapping an input value to be mapped to an encrypted mapped output value | |
| US12282558B2 (en) | Secure booting apparatus and operating method thereof | |
| US20070140482A1 (en) | Method for storing data in a random access memory and encryption and decryption device | |
| JP6356687B2 (ja) | メッセージへの全単射アルゴリズムの適用によるコードの真正性を制御するための制御方法およびデバイス | |
| JP6830867B2 (ja) | 追加データ付き認証暗号システム、復号装置、追加データ付き認証暗号方法、およびプログラム | |
| JP6830868B2 (ja) | 追加データ付き認証暗号システム、復号装置、追加データ付き認証暗号方法、およびプログラム | |
| US20250117525A1 (en) | Encryption device and method thereof utilizing write lock, key lock, and digest information to increase security | |
| JPH0744375A (ja) | 暗号化データ処理装置 | |
| JP4708914B2 (ja) | 解読化方法 |