了解基于功耗的側信道攻擊的工作原理以及不同類型的功耗分析攻擊,包括簡單功耗分析 (SPA)、差分功耗分析 (DPA) 和相關功耗分析(CPA)。
之前,我介紹了 側信道攻擊 作為一個整體,包括為什么它們可以在硬件級別構成重大安全威脅。
雖然有許多不同形式的側信道攻擊,包括電磁 (EM)、聲學和時序,然而,最常見和最強大的攻擊類型之一是基于功率的側信道攻擊。
在本文中,我們將討論功率攻擊的工作原理,并研究過去用于破解密碼學的特定形式的功率攻擊。
功率側信道攻擊背后的概念
基于功率的側信道攻擊的整個概念(典型設置如圖1所示)基于以下假設:在互補金屬氧化物半導體(CMOS)器件中,功耗水平與器件正在執行的操作之間存在相關性。
圖1. 基于功率的側信道攻擊的測試設置。
也就是說,電路消耗的功率會根據各個晶體管的活動而變化。
有了這種理解,攻擊者發現IC的功耗是一個側信道?;旧?,它包含了關于芯片內部正在發生的事情、正在處理的數據以及正在執行的操作的泄漏信息。
大多數功率分析攻擊的工作原理是讓攻擊者在操作期間監控設備的功率軌(最常見的是使用示波器),尋找電流消耗或電壓波動。然后,攻擊者將獲取其數據并運行一系列統計分析,以將其發現與有關設備加密操作的信息相關聯。
為此,有三種主要形式的基于功率的攻擊值得討論:
簡單的功率分析 (SPA)
差分功率分析
相關性功率分析
簡單功率分析 (SPA) 攻擊
最基本的功率攻擊類型是簡單功率分析 (SPA)。
SPA 攻擊是一種基于功率的側信道攻擊方法,涉及直接且主要以視覺方式解釋設備的功耗測量值。這些類型的攻擊通常需要事先了解設備正在運行的加密算法類型,以便將測量的功耗與實際的數學運算相關聯。
SPA破解加密算法的一個著名例子是運行RSA(Rivest-Shamir-Adleman)的智能卡。RSA 是一種公鑰加密算法,它通過在加密密鑰上執行一系列模塊化冪循環來運行,每個循環由許多乘法和平方運算組成。眾所周知,在冪循環的每次迭代中都會執行平方運算,而乘法僅在指數的位為 1 時才執行。
圖 2 顯示了 RSA 模塊化冪運算環路中的一段功率跡線(即一系列平方和乘法)。
圖2. 來自RSA算法的SPA泄漏
從功率跡線可以看出,乘法運算比平方運算消耗更多的功率,這會導致功率跡線中的尖峰更高。根據這條軌跡,以及我們對RSA算法的了解,我們可以簡單地確定每個功率尖峰(即乘法運算)與密鑰指數中的“1”位相關。在這種情況下,“0”顯示為較短的凸起,而沒有隨后較高的凸起。通過這種方式,SPA能夠從RSA恢復秘密加密密鑰。
差分功率分析 (DPA) 攻擊
SPA在非常簡單的電子系統(如智能卡)上效果最好,因為簡單系統的功能單一,這允許人們直接和直觀地將電源軌跡與特定操作相關聯。但是在更現實和復雜的系統中,許多操作都是并行進行的,所有操作都來自同一個功率軌 - 這使得幾乎不可能從視覺上破譯任何東西。
對于更復雜的系統,最強大的功率攻擊之一是差分功率分析(DPA)。
DPA 是一種基于功率的側信道攻擊,它使用統計方法來分析測量集,以識別數據的相關性(圖 3)。
圖3. DPA測試的結果。從上到下:LSB為1時第一個AES S-box的輸出,LSB為0時的相同輸出,輸出之間的差異,以及放大15倍的差異。圖片由Kocher等人提供
該方法主要包括收集跡線,如在SPA中一樣,將它們分成由選擇函數定義的單個子集,并計算其平均值的差異。如果子集之間沒有相關性,則差值將為零 - 如果集合之間存在相關性,則差值將是某個非零數。在足夠大的數據集上,無論數據中的噪聲量如何,這些相關性都變得可識別。
這些知識可以外推,以發現AES(高級加密標準)和DES(數據加密標準)等算法中的加密密鑰。在具有 128 位密鑰的 AES 的情況下,嘗試通過蠻力猜測密鑰需要 2^128 次嘗試,這在計算上是不可行的。然而,使用DPA,已經表明密鑰可以在16 * 256次嘗試中破譯,這就變得非常容易了。
相關性功耗分析 (CPA) 攻擊
另一種強大的功率攻擊類型,實際上是DPA的一種變體,是相關功率分析(CPA)。
CPA 的工作原理是嘗試創建設備的功率模型,以便攻擊者可以找到預測輸出與設備功耗之間的統計相關性。冪模型越準確,相關性越強。
CPA中廣泛使用的一種功率模型是漢明權重模型,該模型假設加密密鑰中的“1”位數與加密期間設備的功耗直接相關。使用此模型,攻擊者將為設備提供不同的密鑰,并通過查找建模的功率單元值與實際消耗功率之間的相關性,將漢明權重與功率走線的電壓電平進行比較。
如果發現相關性,則攻擊者會努力收集由不同的預測密鑰輸入產生的大量跟蹤,正確的密鑰將導致最高級別的統計相關性。
總而言之,基于功率的側信道攻擊是迄今為止已知的最強大的硬件級攻擊形式之一。DPA和CPA等攻擊已被證明可以破解以前認為牢不可破的加密算法,例如AES和DES。
-
電路
+關注
關注
172文章
5950瀏覽量
172597 -
功耗
+關注
關注
1文章
826瀏覽量
31997 -
函數
+關注
關注
3文章
4343瀏覽量
62809 -
DPA
+關注
關注
0文章
31瀏覽量
15728 -
SPA
+關注
關注
0文章
7瀏覽量
2309
發布評論請先 登錄
相關推薦
評論