TWI611682B - 破解裝置以及方法 - Google Patents
破解裝置以及方法 Download PDFInfo
- Publication number
- TWI611682B TWI611682B TW105117521A TW105117521A TWI611682B TW I611682 B TWI611682 B TW I611682B TW 105117521 A TW105117521 A TW 105117521A TW 105117521 A TW105117521 A TW 105117521A TW I611682 B TWI611682 B TW I611682B
- Authority
- TW
- Taiwan
- Prior art keywords
- key
- data
- complex array
- hypothetical
- leakage
- Prior art date
Links
- 238000005336 cracking Methods 0.000 title claims abstract description 53
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000013178 mathematical model Methods 0.000 claims abstract description 13
- 238000004088 simulation Methods 0.000 claims abstract description 11
- 230000000694 effects Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
一種破解方法,用以揭露加密裝置之密鑰,包括:建立加密裝置之洩漏模型;根據複數組的輸入資料,對洩漏模型進行數學運算而產生數學模型;產生複數組的假設密鑰;利用數學模型產生對應假設密鑰之複數組的模擬資料;將輸入資料輸入至加密裝置,並偵測加密裝置所產生的複數組的洩漏資料;對洩漏資料進行數學運算而產生運算資料;判斷模擬資料之每一者與運算資料之間的一相關性;以及根據相關性判斷假設密鑰之一者為密鑰。
Description
本發明係有關於一種側通道攻擊之破解裝置以及方法,特別係有關於一種針對相關性功耗分析之洩漏模型進行運算以提升破解效率之破解裝置以及方法。
由於物聯網裝置大多數的時間無人值守,容易成為駭客攻擊的目標,因此物聯網裝置之實體安全的重要性隨之增加。側通道攻擊(Side-Channel Attack,SCA)利用裝置的物理特性,如功率、電磁波、溫度等等,而能揭露密鑰(secret key)以及目標裝置之資訊。側通道攻擊的研究能夠揭露裝置的潛在弱點,進而讓設計者瞭解可能的安全性缺口。為了確保安全性,設計者必須將側通道攻擊在設計過程中列入考量,並且以各種側通道攻擊的技巧進行測試。
為了縮短側通道攻擊之攻擊時間,我們有必要降低量測雜訊以及演算法雜訊,以減少所需處理的資料量以及資料的複雜度,進而增加攻擊效率。
有鑑於此,本發明提出一種破解方法,用以揭露一加密裝置之一密鑰,上述破解方法包括:建立上述加密裝置之一洩漏模型;根據複數組的輸入資料,對上述洩漏模型進行
一數學運算而產生一數學模型;產生複數組的假設密鑰;利用上述數學模型產生對應上述假設密鑰之複數組的模擬資料;輸入上述輸入資料至上述加密裝置,並偵測上述加密裝置所產生的複數組的洩漏資料;對上述洩漏資料進行上述數學運算而產生一運算資料;以及根據上述相關性,判斷上述假設密鑰之一者為上述密鑰。
根據本發明之一實施例,上述判斷上述假設密鑰之一者為上述密鑰之步驟更包括:計算上述模擬資料之每一者與上述運算資料之間的一相關係數;根據上述相關係數選擇上述模擬資料之一者為一目標資料,其中上述目標資料具有最高的上述相關係數;以及判斷上述目標資料對應之上述假設密鑰為上述密鑰。
根據本發明之一實施例,上述洩漏模型係根據與上述輸入資料有關之一第一變數、與上述假設密鑰有關之一第二變數以及與上述輸入資料以及上述假設密鑰皆有關之一第三變數,而輸出不同的上述洩漏資料,其中上述數學運算用以消除上述洩漏模型之上述第二變數之影響。
根據本發明之一實施例,上述加密裝置係根據上述密鑰,將上述複數組的輸入資料加密而產生不同的上述洩漏資料,其中上述數學運算更用以消除上述加密裝置之上述第二變數之影響。
根據本發明之一實施例,上述產生上述假設密鑰之步驟更包括:將上述密鑰劃分為N個部份;以及對上述密鑰的上述N個部份的每一者進行假設而產生N個上述複數組的假
設密鑰;其中,在對上述N個部分的另一者進行假設之前,先判斷上述N個部分的一者所對應的上述複數組假設密鑰的一者為上述N個部分的一者。
根據本發明之一實施例,上述判斷上述假設密鑰之一者為上述密鑰之步驟更包括:判斷上述N個部分的每一者所對應的上述複數組假設密鑰的一者為上述密鑰的各部分;以及結合N個上述假設密鑰而得到上述密鑰。
本發明更提出一種破解裝置,用以揭露一加密裝置之一密鑰,包括:一控制器;以及一非時變儲存裝置。上述非時變儲存裝置用以儲存複數指令,其中上述控制器根據上述指令執行對應之步驟,包括:建立上述加密裝置之一洩漏模型;根據複數組的輸入資料,對上述洩漏模型進行一數學運算而產生一數學模型;產生複數組的假設密鑰;利用上述數學模型產生對應上述假設密鑰之複數組的模擬資料;輸入上述輸入資料至上述加密裝置,並偵測上述加密裝置所產生的複數組的洩漏資料;對上述洩漏資料進行上述數學運算而產生一運算資料;以及根據上述模擬資料之每一者與上述運算資料之相關性,判斷上述假設密鑰之一者為上述密鑰。
根據本發明之一實施例,上述判斷上述假設密鑰之一者為上述密鑰之步驟更包括:計算上述模擬資料之每一者與上述運算資料之間的一相關係數;根據上述相關係數選擇上述模擬資料之一者為一目標資料,其中上述目標資料具有最高的上述相關係數;以及判斷上述目標資料對應之上述假設密鑰為上述密鑰。
根據本發明之一實施例,上述洩漏模型係根據與上述輸入資料有關之一第一變數、與上述假設密鑰有關之一第二變數以及與上述輸入資料以及上述假設密鑰皆有關之一第三變數,而輸出不同的上述洩漏資料,其中上述數學運算用以消除上述洩漏模型之上述第二變數之影響。
根據本發明之一實施例,上述加密裝置根據上述密鑰,將上述複數組的輸入資料加密而產生不同的上述洩漏資料,其中上述數學運算更用以消除上述加密裝置之上述第二變數之影響。
根據本發明之一實施例,上述產生上述假設密鑰之步驟更包括:將上述密鑰劃分為N個部份;以及對上述密鑰的上述N個部份的每一者進行假設而產生N個上述複數組的假設密鑰;其中,在對上述N個部分的另一者進行假設之前,先判斷上述N個部分的一者所對應的上述複數組假設密鑰的一者為上述N個部分的一者。
根據本發明之一實施例,上述判斷上述假設密鑰之一者為上述密鑰之步驟更包括:判斷上述N個部分的每一者所對應的上述複數組假設密鑰的一者為上述密鑰的各部分;以及結合N個上述假設密鑰而得到上述密鑰。
10‧‧‧加密裝置
100、300‧‧‧破解裝置
310‧‧‧控制器
320‧‧‧非時變儲存裝置
DI‧‧‧輸入資料
DO‧‧‧洩漏資料
SK‧‧‧密鑰
S21~S28‧‧‧步驟流程
第1圖係顯示根據本發明之一實施例所述之破解裝置之示意圖;第2圖係顯示根據本發明之一實施例所述之破解方法之流
程圖;以及第3圖係顯示根據本發明之一實施例所述之破解裝置之方塊圖。
為使本發明之上述目的、特徵和優點能更明顯易懂,下文特例舉一較佳實施例,並配合所附圖式,來作詳細說明如下:以下將介紹係根據本發明所述之較佳實施例。必須要說明的是,本發明提供了許多可應用之發明概念,在此所揭露之特定實施例,僅是用於說明達成與運用本發明之特定方式,而不可用以侷限本發明之範圍。
第1圖係顯示根據本發明之一實施例所述之破解裝置之示意圖。如第1圖所示,加密裝置10係用以根據密鑰SK,而將輸入資料DI加密,並且在加密的過程中,產生了洩漏資料DO。根據本發明之一實施例,洩漏資料DO可為時序資訊、警示音、指示燈、功率損耗以及洩漏的電磁波等等。破解裝置100係根據一破解方法,破解加密裝置10所使用之密鑰SK,其中破解方法將於下文中詳細描述。
第2圖係顯示根據本發明之一實施例所述之破解方法之流程圖。為了詳細說明本發明,第2圖之流程圖將搭配第1圖進行說明解釋。如第2圖所示,破解裝置100首先建立加密裝置10之洩漏模型(leakage model)(步驟S21)。
根據本發明之一實施例,洩漏模型係為加密裝置10根據輸入資料DI以及密鑰SK而產生的洩漏資料DO之函數。
也就是,洩漏模型係隨著與輸入資料DI有關之第一變數、與密鑰SK有關之第二變數以及與輸入資料DI以及密鑰SK皆有關之第三變數,而改變所輸出之洩漏資料DO。
為了減少演算法雜訊,破解裝置100根據複數組的輸入資料DI,對洩漏模型進行數學運算而產生數學模型(步驟S22),用以消去僅與密鑰SK有關之第二變數。根據本發明之一實施例,最簡單之數學運算係為根據複數組的輸入資料DI,對洩漏模型進行加法或減法之運算而產生數學模型。
隨後,破解裝置100對加密裝置10所使用之密鑰SK進行假設,而產生複數組的假設密鑰(步驟S23)。根據本發明之一實施例,密鑰SK可為128位元之密鑰。根據本發明之一實施例,破解裝置100將密鑰SK劃分為數個部份,分別對每個部份進行假設而產生複數組的假設密鑰。舉例來說,密鑰SK之每個部份皆包括8位元,破解裝置100每次針對進行8位元進行假設,而產生28組的假設密鑰。相較於對128位元之密鑰SK進行窮舉法而產生2128組的假設密鑰,本發明所提出之破解裝置100可大幅減少所需產生之假設密鑰,進而大幅增進破解的效率。
破解裝置100更將複數組的假設密鑰輸入數學模型而產生複數組的模擬資料(步驟S24),由於數學模型已經經由數學運算而消除與密鑰SK相關之第二變數之影響,因此複數組的模擬資料僅與第一變數以及第三變數有關。
另一方面,破解裝置100也將複數組的輸入資料DI輸入至加密裝置10,以偵測加密裝置10根據各輸入資料DI與密鑰SK而產生的複數組的洩漏資料DO(步驟S25)。為了將複數
組的模擬資料與複數組的洩漏資料DO進行比對,破解裝置100將量測到之複數組的洩漏資料DO進行相同於對洩漏模型所執行的數學運算,而產生運算資料(步驟S26)。根據本發明之一實施例,對複數組的洩漏資料DO執行相同的數學運算,可消除僅與密鑰SK相關之第二變數之影響,並且降低量測雜訊。
隨後,破解裝置100判斷複數組的模擬資料之每一者與運算資料之間的相關性(步驟S27)。根據本發明之一實施例,破解裝置100計算複數組的模擬資料之每一者與運算資料之間的相關係數,用以判斷複數組的模擬資料之每一者與運算資料之間的相關性。
並且,破解裝置100根據複數組的模擬資料與運算資料之相關性,而取得加密裝置10所使用之密鑰SK(步驟S28)。根據本發明之一實施例,當複數組的模擬資料之一者具有最高的相關係數時,代表該組的模擬資料與運算資料最相近,因此該組的模擬資料所對應之一組的假設密鑰理應最近似加密裝置10所使用之密鑰SK。
根據本發明之另一實施例,破解裝置100可對密鑰SK劃分為數個部份來進行假設,並產生針對各部分的複數個假設密鑰。當破解裝置100判斷出各假設密鑰皆與加密裝置10所使用之密鑰SK所對應之部份相符時,破解裝置100將這些相符的假設密鑰結合而得到密鑰SK。
舉例來說,破解裝置100將密鑰SK劃分為第一部份以及第二部份,並對第一部份進行假設而產生複數組的第一假設密鑰。當判斷第一部份係為第一假設密鑰之一者時,對第二
部份進行假設而產生複數組的第二假設密鑰。當判斷第二部份係為第二假設密鑰之一者時,破解裝置100結合第一部份以及第二部份而得到密鑰SK。
第3圖係顯示根據本發明之一實施例所述之破解裝置之方塊圖。第3圖之破解裝置300係對應至第1圖之破解裝置100。如第3圖所示,破解裝置300包括控制器310以及非時變儲存裝置320,非時變儲存裝置320用以儲存複數指令。控制器310執行非時變儲存裝置320所儲存之複數指令後,執行第2圖所示之破解方法200之對應步驟。
由於本發明所提出之破解裝置以及破解方法係對洩漏模型以及複數運算資料執行數學運算,不僅降低資料的複雜度,更可以有效的降低演算法雜訊以及量測雜訊。根據本發明之一實施例,對洩漏模型以及複數運算資料所執行之數學運算可為兩組不同的輸入資料之差值,若有需要,本發明所提出之破解裝置以及破解方法可包括其他的操作,例如需要額外的輸入資料以利消除與密鑰相關之第二變數之影響。
此外,當輸入N組的輸入資料DI且利用2組輸入資料進行數學運算時,可得到組的運算資料,因此透過數學運算可以大幅度地增加所需的運算資料量。再者,假定密鑰SK係為128位元,因此窮舉法需要確認運算資料以及模擬資料之相關性達2128次,然而本發明所提出之破解裝置以及方法可將密鑰128分段確認其相關性,也就是,當破解裝置100將密鑰SK分為128段進行確認,破解裝置100僅需確認運算資料以及模擬資料之間的相關性降低至128次,此舉將大幅度降低資料處理
量,並且節省資料處理時間。
以上敘述許多實施例的特徵,使所屬技術領域中具有通常知識者能夠清楚理解本說明書的形態。所屬技術領域中具有通常知識者能夠理解其可利用本發明揭示內容為基礎以設計或更動其他製程及結構而完成相同於上述實施例的目的及/或達到相同於上述實施例的優點。所屬技術領域中具有通常知識者亦能夠理解不脫離本發明之精神和範圍的等效構造可在不脫離本發明之精神和範圍內作任意之更動、替代與潤飾。
S21~S28‧‧‧步驟流程
Claims (12)
- 一種破解方法,用以揭露一加密裝置之一密鑰,上述破解方法包括:建立上述加密裝置之一洩漏模型;根據複數組的輸入資料,對上述洩漏模型進行一數學運算而產生一數學模型;產生複數組的假設密鑰;利用上述數學模型產生對應上述假設密鑰之複數組的模擬資料;輸入上述輸入資料至上述加密裝置,並偵測上述加密裝置所產生的複數組的洩漏資料;對上述洩漏資料進行上述數學運算而產生一運算資料;判斷上述模擬資料之每一者與上述運算資料之間的一相關性;以及根據上述相關性,判斷上述假設密鑰之一者為上述密鑰。
- 如申請專利範圍第1項所述之破解方法,其中上述判斷上述假設密鑰之一者為上述密鑰之步驟更包括:計算上述模擬資料之每一者與上述運算資料之間的一相關係數;根據上述相關係數選擇上述模擬資料之一者為一目標資料,其中上述目標資料具有最高的上述相關係數;以及判斷上述目標資料對應之上述假設密鑰為上述密鑰。
- 如申請專利範圍第1項所述之破解方法,其中上述洩漏模型係根據與上述輸入資料有關之一第一變數、與上述假設 密鑰有關之一第二變數以及與上述輸入資料以及上述假設密鑰皆有關之一第三變數,而輸出不同的上述洩漏資料,其中上述數學運算用以消除上述洩漏模型之上述第二變數之影響。
- 如申請專利範圍第3項所述之破解方法,其中上述加密裝置係根據上述密鑰,將上述複數組的輸入資料加密而產生不同的上述洩漏資料,其中上述數學運算更用以消除上述加密裝置之上述第二變數之影響。
- 如申請專利範圍第1項所述之破解方法,其中上述產生上述假設密鑰之步驟更包括:將上述密鑰劃分為N個部份;及對上述密鑰的上述N個部份的每一者進行假設而產生N個上述複數組的假設密鑰;其中,在對上述N個部分的另一者進行假設之前,先判斷上述N個部分的一者所對應的上述複數組假設密鑰的一者為上述N個部分的一者。
- 如申請專利範圍第5項所述之破解方法,其中上述判斷上述假設密鑰之一者為上述密鑰之步驟更包括:判斷上述N個部分的每一者所對應的上述複數組假設密鑰的一者為上述密鑰的各部分;以及結合N個上述假設密鑰而得到上述密鑰。
- 一種破解裝置,用以揭露一加密裝置之一密鑰,包括:一控制器;以及一非時變儲存裝置,用以儲存複數指令,其中上述控制器 根據上述指令執行對應之步驟,包括:建立上述加密裝置之一洩漏模型;根據複數組的輸入資料,對上述洩漏模型進行一數學運算而產生一數學模型;產生複數組的假設密鑰;利用上述數學模型產生對應上述假設密鑰之複數組的模擬資料;輸入上述輸入資料至上述加密裝置,並偵測上述加密裝置所產生的複數組的洩漏資料;對上述洩漏資料進行上述數學運算而產生一運算資料;以及根據上述模擬資料之每一者與上述運算資料之相關性,判斷上述假設密鑰之一者為上述密鑰。
- 如申請專利範圍第7項所述之破解裝置,其中上述判斷上述假設密鑰之一者為上述密鑰之步驟更包括:計算上述模擬資料之每一者與上述運算資料之間的一相關係數;根據上述相關係數選擇上述模擬資料之一者為一目標資料,其中上述目標資料具有最高的上述相關係數;以及判斷上述目標資料對應之上述假設密鑰為上述密鑰。
- 如申請專利範圍第7項所述之破解裝置,其中上述洩漏模型係根據與上述輸入資料有關之一第一變數、與上述假設密鑰有關之一第二變數以及與上述輸入資料以及上述假設密鑰皆有關之一第三變數,而輸出不同的上述洩漏資料, 其中上述數學運算用以消除上述洩漏模型之上述第二變數之影響。
- 如申請專利範圍第9項所述之破解裝置,其中上述加密裝置根據上述密鑰,將上述複數組的輸入資料加密而產生不同的上述洩漏資料,其中上述數學運算更用以消除上述加密裝置之上述第二變數之影響。
- 如申請專利範圍第7項所述之破解裝置,其中上述產生上述假設密鑰之步驟更包括:將上述密鑰劃分為N個部份;以及對上述密鑰的上述N個部份的每一者進行假設而產生N個上述複數組的假設密鑰;其中,在對上述N個部分的另一者進行假設之前,先判斷上述N個部分的一者所對應的上述複數組假設密鑰的一者為上述N個部分的一者。
- 如申請專利範圍第11項所述之破解裝置,其中上述判斷上述假設密鑰之一者為上述密鑰之步驟更包括:判斷上述N個部分的每一者所對應的上述複數組假設密鑰的一者為上述密鑰的各部分;以及結合N個上述假設密鑰而得到上述密鑰。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW105117521A TWI611682B (zh) | 2016-06-03 | 2016-06-03 | 破解裝置以及方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW105117521A TWI611682B (zh) | 2016-06-03 | 2016-06-03 | 破解裝置以及方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201743585A TW201743585A (zh) | 2017-12-16 |
| TWI611682B true TWI611682B (zh) | 2018-01-11 |
Family
ID=61230465
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW105117521A TWI611682B (zh) | 2016-06-03 | 2016-06-03 | 破解裝置以及方法 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI611682B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2148462A1 (en) * | 2008-07-22 | 2010-01-27 | University College Cork | A differential side-channel analysis countermeasure |
| TWI422203B (zh) * | 2010-12-15 | 2014-01-01 | Univ Nat Chiao Tung | 防禦差分功率分析攻擊之方法及電子裝置 |
| US20150074159A1 (en) * | 2012-05-16 | 2015-03-12 | Axel York POSCHMANN | Methods for determining a result of applying a function to an input and evaluation devices |
| CN104811295A (zh) * | 2015-05-05 | 2015-07-29 | 国家密码管理局商用密码检测中心 | 一种对具备掩码防护的祖冲之密码算法进行侧信道能量分析方法 |
-
2016
- 2016-06-03 TW TW105117521A patent/TWI611682B/zh active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2148462A1 (en) * | 2008-07-22 | 2010-01-27 | University College Cork | A differential side-channel analysis countermeasure |
| TWI422203B (zh) * | 2010-12-15 | 2014-01-01 | Univ Nat Chiao Tung | 防禦差分功率分析攻擊之方法及電子裝置 |
| US20150074159A1 (en) * | 2012-05-16 | 2015-03-12 | Axel York POSCHMANN | Methods for determining a result of applying a function to an input and evaluation devices |
| CN104811295A (zh) * | 2015-05-05 | 2015-07-29 | 国家密码管理局商用密码检测中心 | 一种对具备掩码防护的祖冲之密码算法进行侧信道能量分析方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW201743585A (zh) | 2017-12-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE602005012580D1 (de) | Generierungs- und Verifizierungsverfahren durch Benutzung von Time lock puzzle | |
| JPWO2009072547A1 (ja) | サイドチャネル攻撃耐性評価装置、方法及びプログラム | |
| CN106357378B (zh) | 用于sm2签名的密钥检测方法及其系统 | |
| CN114124353B (zh) | 一种认证加密算法silc的密钥泄漏检测方法 | |
| CN109313110A (zh) | 使用数字图像相关技术的应用评估 | |
| CN111934852A (zh) | 一种基于神经网络的aes密码芯片电磁攻击方法及系统 | |
| KR101792650B1 (ko) | 사이드 채널 분석에 대한 집적 회로의 저항을 테스트하는 방법 | |
| Chaudhuri et al. | Detection of malicious FPGA bitstreams using CNN-based learning | |
| CN106786675A (zh) | 一种电力系统稳定器及其实现方法 | |
| CN108039947B (zh) | 一种利用协处理器抗攻击的sm2签名方法 | |
| TWI611682B (zh) | 破解裝置以及方法 | |
| CN105703896A (zh) | 一种检测has-160算法抵御差分故障攻击的方法 | |
| CN111092723A (zh) | 一种数据隐私保护量子计算方法 | |
| WO2016063512A1 (ja) | Macタグリスト生成装置、macタグリスト検証装置、macタグリスト生成方法、macタグリスト検証方法およびプログラム記録媒体 | |
| CN104683102A (zh) | 一种sm2签名计算方法和装置 | |
| CN112114248A (zh) | 一种防差分时间攻击的芯片安全仿真分析方法和装置 | |
| Kabin et al. | On the Influence of the FPGA Compiler Optimization Options on the Success of the Horizontal Attack | |
| JP5979750B2 (ja) | サイドチャネル評価装置及びサイドチャネル評価方法 | |
| US10277392B2 (en) | Cracking devices and methods thereof | |
| Heuser et al. | How a symmetry metric assists side-channel evaluation-a novel model verification method for power analysis | |
| Treus et al. | Early analysis of security threats by modeling and simulating power attacks in SystemC | |
| Jayasena et al. | CISELEAKS: Information Leakage Assessment of Cryptographic Instruction Set Extension Prototypes | |
| US12273446B2 (en) | Simplified masking for signed cryptography operations | |
| CN112104447A (zh) | 一种防spa攻击的待测电路安全仿真分析方法和装置 | |
| CN104598828B (zh) | 数据的防攻击方法和装置 |