<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 差分能量分析攻擊原理及其抵御措施的探討

差分能量分析攻擊原理及其抵御措施的探討

作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò ) 收藏
摘要:介紹了建立在執行密碼運算的芯片的能量消耗基礎上的攻擊方式,這些攻擊方式中差分能量分析攻擊是最難被避免的。介紹了差分能量分析的原理以及防御這種類(lèi)型攻擊的主要思想。關(guān)鍵詞:能量消耗 差分能量分析 防御 1 差分能量分析 許多信用卡公司計劃在未來(lái)幾年內部大部分的磁卡轉變?yōu)橹悄芸?。目前智能卡在運輸、電子貨幣、ID卡等領(lǐng)域內的用途不斷增加。智能卡的主要優(yōu)勢是內部數據例如密鑰能夠在內部處理而僅僅公開(kāi)處理結果。但是,在使用輸入信息和密鑰所進(jìn)行的處理過(guò)程中智能卡會(huì )產(chǎn)生諸如能量消耗或者電磁散射之類(lèi)的信息泄漏。于是近年來(lái)出現了一些新的攻擊手段,攻擊者有可能利用它們獲取保存在智能卡內部的數據。 在這些攻擊手段中,有一種攻擊主要是通過(guò)分析電子設備執行計算過(guò)程中的能量消耗來(lái)尋找有關(guān)密鑰的信息。通常將這類(lèi)攻擊劃分為簡(jiǎn)單能量分析攻擊SPA(Simple Power Analysis)和差分能量分析攻擊DPA(Differential Power Analysis)。DPA攻擊是通過(guò)分析泄漏信息進(jìn)行攻擊的主要形式。 在SPA攻擊中,目標本質(zhì)上來(lái)說(shuō)是利用能量消耗的值來(lái)推測出相關(guān)的秘密信息甚至是密鑰。圖1展示了一個(gè)智能卡在DES運算中的能量消耗。從圖1中可以明顯看出智能卡的能量消耗很可能確實(shí)提供了有關(guān)芯片工作的信息。 在DPA攻擊中,計算了兩組平均能量消耗的差異,如果出現非常顯著(zhù)的差異就認為攻擊成功。給人留下深刻印象的是雖然攻擊者不了解而且也不試圖找出該算法特定的執行部分的任何信息,DPA攻擊也同樣可以找出密碼算法(例如DES算法)的密鑰。當前存在的算法中,有些能夠防止DPA攻擊,但不能防止SPA攻擊;還有一些算法則相反,能夠防止SPA攻擊,不能防止DPA攻擊;另外還有這兩種攻擊都能抵御的算法以及都不能抵御的算法。2 DPA攻擊的原理 DES算法(數據加密標準)要執行十六輪運算。在每一輪運算中,函數f執行在32個(gè)比特上。函數f使用八個(gè)從6比特到4比特的非線(xiàn)性變化,每個(gè)變換都被編碼在一個(gè)被稱(chēng)為S盒的工作平臺上。下面以DES算法為例說(shuō)明DPA攻擊的原理。 步驟1:測出1000次DES運算第一輪的能量消耗。用E1,…,E1000來(lái)表示1000次運算的輸入值。用C1,…,C1000來(lái)表示運算期間測出的1000條能量消耗曲線(xiàn)。計算1000條能量消耗曲線(xiàn)的平均曲線(xiàn),記為MC。 步驟2:主要關(guān)注第一個(gè)S盒中第一輪運算的第一個(gè)輸出比特。用b表示這個(gè)比特值。很容易發(fā)現b僅僅取決于密鑰中的6個(gè)比特。攻擊時(shí)可以對相關(guān)的6比特作一個(gè)猜測。用這6個(gè)比特和Ei來(lái)計算b的理論值。這樣就能夠將1000個(gè)輸入E1,…,E1000分為兩類(lèi):使b=0的輸入以及使b=1的輸入。 步驟3:計算與使b=0輸入有關(guān)的曲線(xiàn)的平均值,記為MC’。如果從MC和MC’的圖像沒(méi)有任何可觀(guān)察到的不同,那么選擇另外6個(gè)比特再重復步驟2。在這一步中,通常對每次選擇的6個(gè)比特值,作出相應的代表MC和MC’的差異的曲線(xiàn),得到64條曲線(xiàn)后選出與其它有明顯差異的一條。 步驟4:使用b在第二、第三…第八個(gè)S盒中重復步驟2和3,得到密鑰的48個(gè)比特。 步驟5:余下的8比特可以通過(guò)窮舉搜索得到。 在實(shí)際對智能卡的攻擊中,通常關(guān)注的是選定S盒的4個(gè)輸出比特集,而不僅是一個(gè)輸出比特。這種情況下,將輸入分為16個(gè)集合:使輸出為0000的,使輸出為0001的,…,使輸出為1111的。在步驟3中,可以計算與最后一類(lèi)輸入(使輸出為1111的)相關(guān)的曲線(xiàn)的平均值MC’。但是這樣得到的平均值MC’是通過(guò)1/16的曲線(xiàn)計算得到的,而起初的MC是通過(guò)一半的曲線(xiàn)計算得到。這就被迫使用遠遠超過(guò)1000次的DES運算,但好處是MC和MC’具有更明顯的差異。圖2和圖3表示了在智能卡上的一次DES運算中,執行步驟2和步驟3得到的結果。選用“1111”作為第一個(gè)S盒的目標輸出,使用2048個(gè)不同的輸入。對64條曲線(xiàn)的詳細分析表明,結果正確時(shí)曲線(xiàn)很容易找到,這條曲線(xiàn)比其他曲線(xiàn)包含了更多的波峰。 DPA攻擊不需要任何有關(guān)每個(gè)設備的個(gè)體能量消耗的信息。攻擊者一旦知道了算法的輸出以及相應的能量消耗曲線(xiàn)后就可以進(jìn)行攻擊。DPA攻擊在理論上僅僅依賴(lài)于下面的基本假設:在算法運算中存在一個(gè)中間變量,知道密鑰的一些比特(小地32比特)可以決定兩個(gè)輸入是否給這個(gè)變量帶來(lái)相同的值。 所有使用S盒的算法,例如DES算法,對DPA攻擊都顯得很脆弱。因此這些算法中的一些執行包含在上面提到的假設中。 3 對DPA攻擊的抵御措施 從Paul Kocher于1995年公開(kāi)發(fā)表DPA攻擊的原理以來(lái),現在已經(jīng)出現一些相應的解決方案: (1)引進(jìn)隨機時(shí)間移動(dòng)。這樣計算方式不再與相同設施的能量消耗有關(guān)。 (2)替換一些關(guān)鍵設備,使它們很難被分析。 (3)對一個(gè)指定的算法提供一種明確的計算方式,以使DPA攻擊對得到的執行可能無(wú)效。 在這些方案中,更廣泛地研究了第三種,因為它需要非常精確的數學(xué)分析。下面給出了避免DPA攻擊的具體措施。其基本原則是使前面介紹過(guò)的基本假設不再成立,也就是使中間變量絕對不依賴(lài)能夠輕易獲得的密鑰子集。 這種方案的主要思想為:用k個(gè)變量V1,…,Vk替換每一個(gè)依賴(lài)于輸入或者輸出的中間變量V,通過(guò)這k個(gè)變量可以重新得到V。更明確地說(shuō),為了保證這個(gè)算法新形式的安全性,選擇一個(gè)函數f滿(mǎn)足恒等式V=f(V1,…,Vk),并且滿(mǎn)足下面兩個(gè)條件: 條件1:通過(guò)v和一些固定值i(1≤i≤k)推論出v1的信息晃可行的,因而存在一個(gè)k-1個(gè)元素的數組(v1,…,vi-1,vi,…,vk),滿(mǎn)足等式f(v1,…,vk)=v。條件2:函數f不需要計算V即可執行。 條件1的第一個(gè)例子:選擇函數f(v1,…,vk)=v1+v2+…+vk,”+”代表異或運行。很明顯函數f滿(mǎn)足條件1,因為對任何固定的i(1)(1≤i≤k),vi包括所有可能的值,因此不信賴(lài)v。 條件1的第二個(gè)例子:選擇變量V,它的值存在于乘法集Z/nZ中。選擇函數f(v1,…,vk)=v1%26;#183;v2%26;#183;…%26;#183;vk mod n,新變量v1,v2, …,vk的值也存在于乘法集Z/nZ中。這個(gè)函數也滿(mǎn)足條件1。 然后用變量V1,…,Vk替換依賴(lài)于輸入的中間變量V來(lái)轉換初始算法。 本文介紹了攻擊者通過(guò)對電子設備的能量消耗進(jìn)行分析得到有關(guān)密碼算法密鑰的信息。這種攻擊方法被稱(chēng)之為差分能量分析攻擊。它主要利用統計學(xué)對測出的密碼算法的許多不同輸入的能量消耗曲線(xiàn)進(jìn)行分析。為了保護密碼算法的安全,還介紹了防御的主要思想:將中間變量分為兩個(gè)或更多的變量,這些新變量不會(huì )輪易地被預測。這種方式被證明可以抵御本地的DPA攻擊,在這種攻擊中攻擊者僅僅嘗試從平均值曲線(xiàn)的差異中尋找明顯的異化。不過(guò)對另外一些也使用能量消耗分析的攻擊來(lái)說(shuō),這種方法卻不一定安全,因此相關(guān)的理論研究還將繼續下去。

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>