網絡安全的方向多種多樣,但是在我心目中最有意思的當屬側信道分析方法了,也最符合我小時候幻想的黑客的行爲,今天就儘量通俗的介紹一下側信道分析的原理和應用。
首先來解釋一下什麼是側信道分析,其核心思想是通過設備或者程序運行時泄露的信息來進行分析,側信道主要存在於信息發送方和信息接受方之間,比如我們使用手機通訊軟件進行聊天,傳輸過程是加密的,也就是傳遞消息的信道,但如果聊天的兩個人手機被肩窺(乘扶梯、排隊等場景),那麼就會存在信息泄漏的風險,這個泄露的途徑就是側信道,也叫邊緣信道。
舉個簡單的例子,在古代發生戰爭的時候,雙方的參戰人數都是保密的,有經驗的將軍觀察對方生火做飯的炊煙數量來估計參戰人數,這就屬於側信道的基礎範疇。
再舉一個例子,我們想知道李華(一個喜歡喝水的人)燒水的時間,我們不需要直接給李華的房間內安裝監控,只需要觀察他房間的電力功率檢測設備,當功率明顯上升時,就可以推測出大概率他在使用熱水壺燒水。
同樣的,當我們面前有一臺正在執行加密算法的電腦時,我們可以利用計算設備泄露的物理信息,如功耗、時間、電磁輻射、聲波等,來推測內部的祕密數據(如密鑰),這個過程就是側信道攻擊。
假設現在有一臺完全沒有接通任何網絡的主機,如何監控它的行爲或者利用它向外界偷偷傳遞信息呢?我們注意到,電腦硬盤的磁頭在接觸不同部位讀寫數據時,發出的噪音不同,那麼就可以利用讀寫磁盤時發出的噪音來傳遞信息,例如將某種噪音記爲『1』,再講某種噪音記爲『0』,那麼通過預先編寫的程序就可以通過特定硬盤讀寫使磁頭傳遞特殊編碼的信息。
磁盤與磁頭
還有一種光學側信道的方法,利用輕量級反光物體表面的氣壓波動去恢復物體附近的聲音。具體來說,聲波會導致氣壓波動,造成反光物振動並反射(強弱不同的)光線,光線的變化某種程度上就反映了聲音的內容。
如果你在需要監聽的人附近放一個捏扁的易拉罐,在很遠的地方用望遠鏡+光電二極管(一種將光轉換爲電壓的傳感器)照射這個反光物體,分析傳感器輸出的電壓,獲取反光物所反射光線的實時波動數據,就可以實現竊聽的目的。
對於密碼學中的側信道,假設我正在電腦中運行AES加密(一種對稱加密)的程序,這個時候監控電腦CPU的功耗,當運行到特定步驟的時候,功耗會出現明顯變化,且計算不同的數據功耗也不同,在每次設備運行時,都記錄下一個能量痕跡,運行AES運算N次,採集每一次運行的功耗曲線,每條曲線有M個功耗點,採集每一次運行的功耗曲線,每條曲線有M個功耗點(每一行爲條功耗曲線,每 一列對應不同時刻的功耗點)如下矩陣:
功耗矩陣
接下來窮舉猜測分段密鑰k,並計算猜測的中間結果的漢明重量,與之前採集的多條功率曲線進行差異化分析:
AES功耗採波
計算猜測密鑰的漢明重量與對應能量跡之間的相關係數,若相關係數越大,則說明他們之間的相關性越強,若數據中某一猜測密鑰對應的相關係數相比於其他相關係數要大的多,就可以說明這一猜測密鑰是正確的:
所以,危險無處不在,你根本並不知道你的每一個動作泄露了多少信息,也許以往爲了防止竊聽只是關閉麥克風和攝像頭/斷開互聯網這麼簡單,但是側信道讓監聽和密鑰破解更加複雜化了。
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com