日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

AES 破解

發布時間:2023/12/14 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 AES 破解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載自:https://www.cnblogs.com/alisecurity/p/7233874.html

阿里移動安全

?

沒有絕對安全的系統:寫在AES 256破解之后

NULL

在理論上,理論和實踐是一致的。在實踐中,呵呵。

——(應該是)愛因斯坦(說的)

?

(INFO:本文中不會出現公式,請放心閱讀)

?

AES 256被破解了?

對于TLNR(Too Long, Not Read)的讀者來說,先把答案放在這:是的,但也不盡然。

?

事件回顧如下:前幾日在互聯網上轉發的一條題為“AES 256加密被破?一套1500元設備5分鐘內搞定”的新聞引起了各界的關注。新聞在國內各大媒體轉載,熱門評論里不乏各種被高贊但實際上并不正確的說法:有說是字典攻擊無線信號,和破解AES是兩回事的,也有所是根據無線電特性來攻擊的,和AES沒關系的。還有想搞個大新聞的媒體直接說是路由器被破解,甚至還說成了5分鐘破解任何WiFi密碼的,唯恐天下不亂。

?

實際上這次的破解來自Fox-IT [1],確實攻擊了AES算法本身,利用了電磁輻射泄露的信息,可以實現無線攻擊(隔墻有耳)。這樣的攻擊形式稱為旁路攻擊(Side Channel Attack),在學術界和工業界已經研究了20多年,是一種較為系統完善的攻擊方法,此次攻破AES256的方法是利用電磁旁路信號來完成差分功耗分析(DPA),獲取了密鑰。從介紹本身來看,是一個很不錯的工作,但不是AES首次被破解,AES 128早就可以用類似的方式破解,AES 256在DPA看來,和前者沒有本質差異,在實驗室中早已破解。當然也做不到5分鐘破解任何WiFi密碼。原因是SCA需要一定的物理條件,目前AES算法本身還是安全的,不必驚慌過度。

?

背景知識

以AES為例,AES是高級加密標準Advanced Encryption Standard的縮寫,是美國聯邦政府采用的一種分組加密標準,也是目前分組密碼實際上的工業標準。AES廣泛使用在各個領域(當然包括WiFi的加密過程),實際上目前主流的處理器中廣泛包含了AES的硬件加速器(低至售價幾美元的STM32中有CRYP [2],高至售價上千美元的Intel CPU中有AES-NI [3])。對于這樣一個成熟的密碼學標準,密碼算法本身設計的十分完善,傳統的差分分析,線性分析等方法基本上不能在有限復雜度內完成,AES在理論上是安全的。但是正如本文標題描述的那樣,即便有絕對安全的算法,也做不到絕對安全的系統。唯物辯證法中有聯系的普遍性和多樣性原理,現代密碼系統在設計上理論安全,并不能替代密碼系統的實現安全性。攻擊者可以在不干擾密碼芯片運行的前提下,觀測時間,功耗,電磁輻射等旁路泄露,然后結合算法的實現進行密鑰還原,實現所謂的旁路攻擊。對于旁路攻擊的防御,涉及到密碼算法實現安全性這一范疇,很顯然,這次攻擊成功的AES 256,表明實現安全性的研究還有很長的路要走。

?

這里簡要介紹一下AES算法。AES算法包含了多個輪,每一輪(除了最后一輪)中,都有4個步驟[4][5]:

(1)AddRoundKey—矩陣中的每一個字節都與該次回合密鑰(round key)做XOR運算;每個子密鑰由密鑰生成方案產生。

(2)SubBytes—通過一個非線性的替換函數,用查找表的方式把每個字節替換成對應的字節。

(3)ShiftRows—將矩陣中的每個橫列進行循環式移位。

(4)MixColumns—為了充分混合矩陣中各個直行的操作。這個步驟使用線性轉換來混合每內聯的四個字節。最后一個加密循環中省略MixColumns步驟,而以另一個AddRoundKey取代。

AES流程圖

?

接下來留意2個數字,2^256(2的256次方)和8192。2^256是整個密鑰空間,這是一個相當大的數字,表明如果要一個一個猜密鑰,需要這么多次才能確保猜對,這個數太大了,所以沒法猜,暴力破解不可取。

但如果是猜8192次呢,這個數字對于計算機來說就完全可以接受了。怎么猜才能在8192次中猜對呢。信息論告訴我們,必須有額外的信息輸入。簡言之就是分治的思想:一個一個猜。256 bits的密鑰,也就是32個Bytes,如果逐字節猜,每個字節有256種可能,32個字節需要256*32 = 8192次猜測就可以了。

?

而芯片工作受限于位寬和算法實現,是不會一次完成整個256bits密鑰的處理的,正如飯要一口一口吃,數據也是逐字節處理的,這就給我們我們逐字節猜提供了實現依據。

?

本次旁路分析依然按慣例關注其中的非線性環節SubBytes。所謂的非線性替換函數,在實現中就是一個查表操作。查表操作的輸出(S-box output)是攻擊點。當然算法的優化會合并一些操作以提高運算速度,這里攻擊者可以偷著樂。原因是雖然優化需要做大量的工作,但實際上,最終結果還是查表,查較大的表和較小的表,在旁路攻擊中沒有實質的區別。AES 128和256的區別也是輪數,密鑰長度的區別,查表操作本身是沒有本質變化的(劃重點)。

?

接下來用一張關系圖來說明各要素的關聯。

?

AES的輸入是密鑰和明文,對于攻擊者來說,明文已知,密鑰未知,也是分析目標。

?

接下來初始密鑰和明文會進行一個異或操作(首次AddRoundKey),得到的值,作為查表索引輸入,進行查表操作,注意到查表的數據是和密鑰和明文的異或有關的。而明文已知,查找表本身固定已知,異或運算又是簡單的可逆運算,所以可以認為查表的輸出和密鑰有關。查表操作在現代計算機體系結構中是一次訪存操作,那么,地址和數據都會出現在總線上。如果能知道總線上是什么數據,就可以簡單的反推出密鑰。接下來考慮總線是什么?低頻上看是導線,射頻上看是天線,對于安全分析人員來說,天線都是個好東西。高速數字電路的信號翻轉,包含了豐富的頻譜分量,會輻射到芯片外部。理論上能準確探測到這樣的輻射,就能完成攻擊了,so easy。

?

當然,在實踐中,呵呵。

?

問題一方面出在測量精度上。實際上我們并不能如此高精度地測量電磁輻射。我們可以測量的是電磁輻射的相對高低。例如1根導線上信號翻轉和8根導線上信號一起翻轉,就有明顯的信號強度差異。這里涉及到一個術語稱為泄露模型(model of leakage),描述泄露的情況。這次攻擊使用了Hamming distance模型,也就是說信號跳變程度是可以觀測的,這在電磁旁路分析中也是較為常見的建模方式。

?

問題另一方面出在信噪比。(即便用上雅魯藏布江的水電),環境中始終有大量的干擾,提高信號質量的方式是多次測量,然后通過相關性分析的方法提取統計上的最大相關性。

?

還有一些問題限于篇幅這里不展開,反正DPA都很巧妙地解決了:

(1)首先輸入一個明文,在加密過程中,明文會和密鑰的第i個字節異或,輸入到查找表中查表,查表結果會出現在總線上,然后產生電磁輻射。這個過程是真實物理發生的,在此期間使用硬件記錄這個電磁輻射。

(2)分析軟件模擬計算過程(1),當然因為不知道密鑰的第i個字節具體數值,每一種可能都要算,利用泄露模型計算256個模擬的電磁輻射相對值。

(3)變換不同的明文重復(1)和(2)的過程,得到N次結果。一共有N個實際測量值和N*256個計算值。

(4)使用相關性分析的方法,比對這256種猜測中,和實際測量值相關性最大的猜測值,就是實際上密鑰的第i個字節真實值。

(5)重復(1)到(4),分別猜測32個密鑰字節,得到完整密鑰。

?

以上就是電磁/功耗差分分析的主要流程(通俗版)。由于密碼芯片在加密過程中,是逐字節處理的,而處理每個字節的時候,都會有電磁信息的泄露,給了攻擊者逐字節猜測的機會,從而可以在前文提到的8192次猜測中完成破解。實際分析中,還會遇到很多的困難,接下來看看Fox-IT的專家是怎么完成這次攻擊的。

?

實戰

以下是Fox-IT的專家給出的攻擊流程。

?

?

首先使用射頻采集設備采集目標芯片的電磁輻射,混頻量化后存儲到分析計算機中。分析計算機首先對采集的信號進行預處理后,使用上述DPA的方式得出密鑰。

?

攻擊的目標硬件為來自Microsemi的SmartFusion2,這是一個混合了ARM和FPGA的SoC。攻擊針對的是ARM部分,一個Cortex-M3的內核。目標軟件是來自OpenSSL [6]的AES 256實現。雖然SoC是一個混合芯片,但是只是用了ARM部分,Cortex-M3是很經典的ARM core,軟件上也是OpenSSL的標準實現,可以認為這樣的攻擊很具有代表性。

?

SmartFusion2 SoC FPGA?結構[7]

?

接下來看看信號鏈部分。

首先是天線。理論上,設計天線是一個非常嚴謹且套路很深的活,比如下圖只是冰山一角(圖片來自網絡)。

?

?

回到實踐中,下圖是本次攻擊中使用的天線。

?

?

就是一根電纜外加膠帶“隨意”制作的環狀天線。

攻擊場景如下:

?

?

綠色的PCB是目標板,環狀天線懸空固定在芯片上方,信號通過了外部的放大器和帶通濾波器,這些都是標準的工業器件,價格也不貴。

比較有意思的是采集設備,通常時域采集可以使用示波器,或者專用的數據記錄儀,再不濟也得用個USRP之類的軟件無線電設備。Fox-IT的專家一開始自然也是這么考慮的。

?

?

圖中左邊是專用的數據記錄儀,傻大粗,價格倒是很美麗。中間是USRP板子,這個板子的性能夠用,價格也是一般的研究機構或者個(tu)人(hao)可以承受了。有趣的部分在圖中右邊,這個標識為RTLSDR的USB小玩意玩無線電的小伙伴一定不陌生。實際上國內也有賣,價格只需要幾十到上百人民幣。本次研究表明,這么一個入門級的小東西已經完全可以用來完成攻擊。

?

?

上圖就是用上述硬件觀測到的AES模式,可以清晰地看到I/O操作之間的AES加密流程,包括Key Schedule過程和14輪的操作,都是清晰可見。

?

接下來是分析過程,這方面,文獻[1]中并沒有詳細介紹。但是DPA是一個比較標準的套路,他們也使用了業界標桿級的軟件Riscure's Inspector,因為可以結合筆者的經驗來談一談。

首先是信號預處理,這部分主要包括數字濾波,復信號轉為實信號,當然也包括重采樣,截取等步驟。還有一個比較重要的過程是不同traces之間的對齊,比較簡單的方法是使用滑動窗和相關性分析的方法,使得所有traces能夠精確對準。

?

接下來就是真正的DPA了,這在Inspector軟件中有標準的模塊,反而不需要自己實現。不過也有一些技巧,文獻[1]中就提到了一個。為了快速驗證采集到的電磁信號和設備功耗有直接關聯,以及采集的位置是否正確。使用輸入的明文(或輸出的密文)和采集的trace做一次相關性分析,并驗證泄露模型是否有效。

?

?

這條相關性曲線說明了數據和信號之間確實有相關性的點,即確實可以從采集的信號中檢測到數據。

接下來就是猜測密鑰了,下圖中相關性最高的猜測就是正確的密鑰。實驗表明SmartFusion2中,泄露來自AHB,這是符合預期的。因為AHB連接了Cortex-M3和片上RAM,查表操作就是M3內核訪問RAM的一個操作。相比于簡單的MCU,這里還要考慮cache的影響,對于指令cache,使用Hamming distance模型即可,而SmartFusion2為了和FPGA模塊連接,考慮到數據一致性而沒有設置數據cache,這也算是簡化了攻擊者的工作。

?

?

以上操作在幾厘米之內探測電磁信號就完成了整個攻擊過程,硬件成本小于200歐元(約1500人民幣)。實際上這些硬件在國內購買的話,完全可能低于1000元。

在軟件方面,Inspector是商業軟件,需要支付授權費用。好在核心算法早已是公開的,可以自己編寫,也可以使用便宜的解決方案,所以這方面的費用不計在總價內也是可以理解的。

?

局限性

通過梳理整個攻擊流程,我們可以總結出這類旁路攻擊的先決條件,也是它的局限性所在。

(1)必須完全可以控制目標設備,給它輸入不同的明文,控制其完成加密操作。

(2)必須可以接近到目標設備,因為要測量設備的物理屬性(電磁特征),究竟距離多近需要看現場的電磁環境。

(3)必須熟悉目標設備使用的算法和實現細節。算法本身比較容易確認,實現細節很多設備不會公開源代碼,但是密碼學算法通常有若干標準實現,不難猜測確定。

?

要完成攻擊攻擊,條件(1)是基礎,所以不用擔心鄰居家可以只通過旁路攻擊來破解你家的路由器了。

條件(2)主要看距離要多近,這里有一些深入的研究。

前文使用的手工制作的環狀天線,工作距離只有若干厘米,稍遠一點就淹沒在噪聲里了。

?

?

于是(早已坐不住的)天線工程師制造了下圖的PCB天線,它的性能好很多,可惜為了降低尺(jia)寸(ge),它的工作頻率是400MHz。而SmarFusion2只能最高工作到142MHz。既然是研究,不如換個目標設備(就是這么任性),比如Xilinx的Pynq board就可以穩穩地跑在400MHz。實踐表明,依然可以用RTL-SDR完成攻擊。這次攻擊可以在30厘米內完成,但是不要忘了需要采集400k條traces,而且是在一定電磁屏蔽的環境下完成的。

?

PCB天線

使用急救毯包裹的攻擊環境

?

最后再沖擊一下1米的距離,這需要在理想條件下完成。

首先,測試在微波暗室中進行,盡可能地排除了干擾信號。天線方面使用了盤錐天線,并保證了測量子系統和加密子系統之間的電氣隔離。1米的距離很艱難的達到了,使用了240萬條traces。這個理想實驗證明了,在足夠好的條件下,1米的攻擊距離是完全可行的。

?

?

防御

旁路攻擊之所以可以生效,主要在于密碼設備泄露的旁路信息和操作的數據有關聯性。在算法實現上,可以通過掩碼(masking)或者隱藏(hiding)的方式來消除這種關聯性。這方面的具體細節本文不再展開。在密碼學算法這一領域,對于一般的應用或者系統開發者,是不推薦自己造輪子的。特別是不可以認為自己略懂密碼學的算法,就去修改它們,一個簡單的小修改,可能會破壞理論安全性和實現安全性,這些都不是普通的開發者可以做好的事情,還是用成熟的輪子最為靠譜。

?

以SmartFusion 2為例,完全可以不使用OpenSSL的算法實現,而使用帶有保護的實現,例如Microsemi官方提供的FPGA實現。在電路級別上,功耗平衡等技術也可以從一定程度上解決這類泄露,使用專有的硬件來完成密碼學操作,就可以很好地防御這類攻擊了。

?

參考文獻

[1] https://www.fox-it.com/en/insights/blogs/blog/tempest-attacks-aes/

[2]?http://www.st.com/zh/embedded-software/stm32-cryp-lib.html

[3] https://www.intel.com/content/www/us/en/architecture-and-technology/advanced-encryption-standard--aes-/data-protection-aes-general-technology.html

[4]?https://en.wikipedia.org/wiki/Advanced_Encryption_Standard

[5] Pub N F. 197: Advanced encryption standard (AES)[J]. Federal information processing standards publication, 2001, 197(441): 0311.

[6] https://www.openssl.org/

[7]?https://www.microsemi.com/products/fpga-soc/soc-fpga/smartfusion2

[8] Mangard S, Oswald E, Popp T. Power analysis attacks: Revealing the secrets of smart cards[M]. Springer Science & Business Media, 2008.

總結

以上是生活随笔為你收集整理的AES 破解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 777色婷婷 | 免费视频福利 | 日韩大胆人体 | 日本精品视频一区二区三区 | 国产小视频在线 | 黄色大片免费观看 | 日吊视频 | 日本三级理论片 | 91av免费在线观看 | 四虎成人精品永久免费av | 国产精品福利一区二区 | 综合亚洲欧美 | 亚洲国产欧美一区 | 亚洲熟区 | 国产男女无套免费网站 | 人妻无码一区二区三区四区 | 91嫩草欧美久久久九九九 | 国产视频在线观看一区 | 欧美一级录像 | 国产精品高清无码 | 青青草婷婷 | 午夜精品一二三区 | 日韩操操 | 国产亚洲av片在线观看18女人 | 国产又粗又猛又爽又黄又 | 瑟瑟av| 日日摸天天爽天天爽视频 | 国产一区二区三区四区在线观看 | 免费一级黄色片 | 91丝袜美女| 国产亚洲成av人片在线观看桃 | 麻豆视频在线观看免费网站 | 日本三级网站在线观看 | 久啪视频 | 国产三级按摩推拿按摩 | 国产suv精品一区二区883 | 午夜黄色网址 | 精品免费一区二区 | 男女视频在线免费观看 | 制服丝袜一区在线 | 国产视频手机在线观看 | 欧美日韩成人一区二区 | 欧美一区二区三区国产 | 天天成人 | 国产精品99久久久久久一二区 | 久久久天天 | 久久久久久av无码免费看大片 | 久久男人的天堂 | 婷婷.com | 久久久久夜夜夜精品国产 | 自拍偷拍精品视频 | 超碰人人人人 | 亚洲一区不卡在线 | 香港一级淫片免费放 | 亚洲二区精品 | 亚洲乱码中文字幕久久孕妇黑人 | 国产乱人伦app精品久久 | 久久综合区 | 青青青手机视频在线观看 | 亚洲性综合 | 夜色视频网站 | 华人永久免费视频 | 男生和女生差差视频 | 美女视频黄频视频大全 | 色一情一乱一区二区三区 | 成人免费短视频 | 777精品伊人久久久久大香线蕉 | 久久久久在线视频 | 成年女人色毛片 | 日本亚洲一区 | 成人毛片视频免费看 | 中文字幕一区二区三区精华液 | 国产精品第三页 | 久久午夜av | 中文字幕第页 | 亚洲精品久久夜色撩人男男小说 | 国产精品成人免费一区久久羞羞 | 婷婷五综合 | 亚洲天堂美女 | 经典三级第一页 | 国产精品久久久久久一区二区 | a色网站| 91色影院| 国产色吧| 少妇视频在线观看 | www四虎| 99福利网 | 桃色在线视频 | www.亚洲成人 | 欧美人与按摩师xxxx | 黄网站在线观看 | 国产经典毛片 | 91精品免费| 日韩国产欧美一区 | 97久久国产 | 天天影视色 | 亚洲黄色录像 | 97国产精品人人爽人人做 | np视频|