新四季網

一種抗功耗攻擊的SM4算法的硬體實現系統的製作方法

2023-11-01 12:14:42


本發明涉及信息安全技術領域,尤其涉及一種抗功耗攻擊的sm4算法的硬體實現系統。



背景技術:

sm4密碼算法是國家商用密碼管理辦公室公布的分組密碼算法,是目前應用最廣泛的中國自主設計的分組密碼算法,該算法目前在智慧卡和usbkey中逐步得到應用,並且考慮到運算效率的問題,基本通過硬體實現。在智慧卡、usbkey等應用中,加密算法不僅能保證協議和算法的安全性,更重要的是保證實際使用中加密電路運行的功耗或者電磁信息不會被旁路分析的方法利用,造成安全威脅。

數字電路是由若干個相同的邏輯門組成,每個邏輯門的功耗包括靜態功耗和動態功耗兩部分。邏輯門的靜態功耗相對較小,動態功耗佔邏輯門總功耗的主要部分。動態功耗主要由邏輯門信號的翻轉產生,當信號由「0」變化到「1」,或者由「1」變化到「0」,即為翻轉,邏輯門就會產生功耗。但維持「0」或者「1」不變,即沒有翻轉,不產生功耗。因此,電路運行時產生的功耗與內部運行數據存在相關性,功耗攻擊就是利用了這個原理。

功耗攻擊的基本原理是,密碼設備的瞬態功耗與其運算的中間數據相關,而中間數據又與密鑰相關。因此,通過分析密碼設備的瞬態功耗,可以獲得密鑰信息,從而達到完全破解密鑰的目的。這樣,功耗攻擊可以繞過破解密碼算法的數學難題,不需要破壞智慧卡,是一種經濟有效的攻擊方式。

所以,在sm4算法的硬體實現方式中,急需找到一種抗功耗攻擊的硬體實現方式,防禦對sm4實施功耗攻擊。



技術實現要素:

本發明的目的在於提供一種抗功耗攻擊的sm4算法的硬體實現系統,從而解決現有技術中存在的前述問題。

為了實現上述目的,本發明採用的技術方案如下:

一種抗功耗攻擊的sm4算法的硬體實現系統,包括sm4算法子系統、偽輪運算對模塊和隨機數控制器,所述sm4算法子系統包括m輪運算,在第一輪運算之前、第m輪運算之後、以及任意相鄰兩輪運算之間均設置有控制位點,所述隨機數控制器控制所述偽輪運算對模塊隨機插入所述控制位點,每個所述偽輪運算對模塊包括n組偽輪運算對;所述偽輪運算對包括加密偽輪運算和解密偽輪運算,加密偽輪運算是一個加密過程,解密偽輪運算是對加密偽輪運算所加密數據進行解密的過程,所述偽輪運算對使用的密鑰與所述sm4算法子系統的密鑰和明文無關;m為自然數。

優選地,所述偽輪運算對使用的密鑰通過所述隨機數控制器隨機輸入。

優選地,所述偽輪運算對使用的密鑰由設計者設計。

優選地,插入第一輪運算之前和/或第m輪運算之後的所述偽輪運算對模塊包括n組偽輪運算對,n=1-8。

優選地,插入任意相鄰兩輪運算之間的所述偽輪運算對模塊包括n組偽輪運算對,n=1-2。

本發明的有益效果是:本發明實施例提供的抗功耗攻擊的sm4算法的硬體實現系統,通過在sm4算法硬體電路中加入偽輪運算對模塊以及隨機數控制器,實現在sm4加密過程中,隨機地在每輪運算之間插入偽輪運算對,經過偽輪運算對的數據,數值不會發生變化,卻擾亂了電路的功耗特徵以及電路執行的時序特徵,破壞了數據與功耗之間的關聯,有效地防禦了功耗攻擊,可應用於智慧卡和usbkey的安全晶片中,也可以適用於各種需要防禦對sm4進行功耗攻擊的安全晶片中。

附圖說明

圖1是sm4算法插入偽輪運算對系統的總體結構示意圖;

圖2偽輪運算對的結構示意圖。

具體實施方式

為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施方式僅僅用以解釋本發明,並不用於限定本發明。

現有技術中的sm4硬體電路設計,對防禦功耗攻擊的效果並不顯著。

本發明根據功耗攻擊的特點,如果功耗與數據之間的相關性被破壞,該功耗攻擊的方法便不能起作用。本發明中,利用隨機插入偽輪運算對的方法,在明文和密鑰的sm4硬體電路中插入與數據運行無關的偽輪運算對,並通過隨機數控制器來控制插入偽輪運算對的數量。從而實現了電路運行功耗與數據之間的相互獨立。

如圖1-2所示,本發明實施例提供了一種抗功耗攻擊的sm4算法的硬體實現系統,包括sm4算法子系統、偽輪運算對模塊和隨機數控制器,所述sm4算法子系統包括m輪運算,在第一輪運算之前、第m輪運算之後、以及任意相鄰兩輪運算之間均設置有控制位點,所述隨機數控制器控制所述偽輪運算對模塊隨機插入所述控制位點,每個所述偽輪運算對模塊包括n組偽輪運算對;所述偽輪運算對包括加密偽輪運算和解密偽輪運算,加密偽輪運算是一個加密過程,解密偽輪運算是對加密偽輪運算所加密數據進行解密的過程,所述偽輪運算對使用的密鑰與所述sm4算法子系統的密鑰和明文無關;m為自然數。

在本發明的一個優選實施例中,所述偽輪運算對使用的密鑰可以通過所述隨機數控制器隨機輸入。

所述偽輪運算對使用的密鑰也可以由設計者設計。

在本發明的一個實施例中,插入第一輪運算之前和/或第m輪運算之後的所述偽輪運算對模塊包括n組偽輪運算對,n=1-8。

在本發明的另一個實施例中,插入任意相鄰兩輪運算之間的所述偽輪運算對模塊包括n組偽輪運算對,n=1-2。

如圖1所示,在sm4算法硬體電路中加入了偽輪運算對模塊以及隨機數控制器,實現在sm4加密過程中,隨機地在每輪運算之間插入偽輪運算對。

如圖2所示,偽輪運算對包括兩部分:加密偽輪運算和解密偽輪運算。加密偽輪運算是一個加密的過程;解密偽輪運算是對加密偽輪運算所加密數據進行解密的過程。偽輪運算對內有固定的密鑰,且加密輪運算和解密輪運算的輪密鑰相同,輪順序相反,該密鑰可以由設計者定義,也可通過隨機數控制器輸入隨機密鑰,與sm4硬體電路的密鑰和數據均無關。

這樣經過偽輪運算對的數據,數值不會發生變化,執行過程與普通的sm4輪運算基本一致。因此可以產生類似的功耗特徵,從而破壞了功耗與數據之間的關聯,起到防禦功耗攻擊的效果。偽輪運算對可以多次執行,無論執行次數如何,均不會影響最終密文的輸出。

為了確定插入偽輪運算對的數量,在電路中加入了隨機數控制器。如圖1所示,算法每輪運算之間為一個插入點,再加上輸入輸出埠位置,所以如果sm4算法子系統包括32輪運算,則共有33個插入點。在實際運行過程中,隨機數控制器輸出隨機密鑰和隨機控制位,隨機控制位控制在算法的第一輪之前和最後一輪之後插入1~8輪隨機偽輪運算對,在算法的1~31輪間,每輪插入1~2輪隨機偽輪運算對,使得攻擊者無法對齊真正第一輪,同時也保證性能不會大幅度下降,隨機密鑰與輸入的明文和密鑰均無關,保證每個偽輪運算對運算的隨機性。

所以,本發明利用上述隨機插入偽輪運算對的方法,擾亂電路的功耗特徵以及電路執行的時序特徵,破壞數據與功耗之間的關聯,可以有效地防禦功耗攻擊。可應用於智慧卡和usbkey的安全晶片中,也可以適用於各種需要防禦對sm4進行功耗攻擊的安全晶片中。

因此,使用本發明所公開的方案,不管輸入什麼樣的明文和密鑰,功耗和數據都無規律可循,徹底破壞了電路運行功耗與內部數據的相關性。攻擊者無法利用功耗信息來破譯密鑰,實現了sm4算法加密運算過程的安全。

通過採用本發明公開的上述技術方案,得到了如下有益的效果:本發明實施例提供的抗功耗攻擊的sm4算法的硬體實現系統,通過在sm4算法硬體電路中加入偽輪運算對模塊以及隨機數控制器,實現在sm4加密過程中,隨機地在每輪運算之間插入偽輪運算對,經過偽輪運算對的數據,數值不會發生變化,卻擾亂了電路的功耗特徵以及電路執行的時序特徵,破壞了數據與功耗之間的關聯,有效地防禦了功耗攻擊,可應用於智慧卡和usbkey的安全晶片中,也可以適用於各種需要防禦對sm4進行功耗攻擊的安全晶片中。

本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。

本領域人員應該理解的是,上述實施例提供的方法步驟的時序可根據實際情況進行適應性調整,也可根據實際情況並發進行。

上述實施例涉及的方法中的全部或部分步驟可以通過程序來指令相關的硬體來完成,所述的程序可以存儲於計算機設備可讀取的存儲介質中,用於執行上述各實施例方法所述的全部或部分步驟。所述計算機設備,例如:個人計算機、伺服器、網絡設備、智能移動終端、智能家居設備、穿戴式智能設備、車載智能設備等;所述的存儲介質,例如:ram、rom、磁碟、磁帶、光碟、快閃記憶體、u盤、移動硬碟、存儲卡、記憶棒、網絡伺服器存儲、網絡雲存儲等。

最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。

以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本發明的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀