旁路攻擊
跳到導航
跳到搜索
在密碼學中,旁道攻擊又稱側信道攻擊、邊信道攻擊(英語:Side-channel attack)是一種攻擊方式,它基於從密碼系統的物理實現中獲取的信息而非暴力破解法或是算法中的理論性弱點(較之密碼分析)。例如:時間信息、功率消耗、電磁泄露或甚是聲音可以提供額外的信息來源,這可被利用於對系統的進一步破解。某些側信道攻擊還要求攻擊者有關於密碼系統內部操作的技術性信息,不過,其他諸如差分電力分析的方法在黑盒攻擊中效果明顯。許多卓有成效的側信道攻擊基於由保羅·科切開拓的統計學方法。[1]
需要注意的是,如果破解密碼學系統使用的信息是通過與其使用人的合法交流獲取的,這通常不被認為是旁路攻擊,而是社會工程學攻擊。
一般分類
根據借助的介質,旁路攻擊分為多個大類,包括:
- 緩存攻擊,通過獲取對緩存的訪問權而獲取緩存內的一些敏感信息,例如攻擊者獲取雲端主機物理主機的訪問權而獲取存儲器的訪問權;
- 計時攻擊,通過設備運算的用時來推斷出所使用的運算操作,或者通過對比運算的時間推定數據位於哪個存儲設備,或者利用通信的時間差進行數據竊取
- 基於功耗監控的旁路攻擊,同一設備不同的硬件電路單元的運作功耗也是不一樣的,因此一個程序運行時的功耗會隨着程序使用哪一種硬件電路單元而變動,據此推斷出數據輸出位於哪一個硬件單元,進而竊取數據;
- 電磁攻擊,設備運算時會泄漏電磁輻射,經過得當分析的話可解析出這些泄漏的電磁輻射中包含的信息(比如文本、聲音、圖像等),這種攻擊方式除了用於密碼學攻擊以外也被用於非密碼學攻擊等竊聽行為,如TEMPEST攻擊(例如范·埃克竊聽、輻射監測);
- 聲學密碼分析,通過捕捉設備在運算時泄漏的聲學信號捉取信息(與功率分析類似);
- 差別錯誤分析,隱密數據在程序運行發生錯誤並輸出錯誤信息時被發現;
- 數據殘留,可使理應被刪除的敏感數據被讀取出來(例如冷啟動攻擊);
- 軟件初始化錯誤攻擊,現時較為少見,行錘攻擊是該類攻擊方式的一個實例,在這種攻擊實現中,被禁止訪問的存儲器位置旁邊的存儲器空間如果被頻繁訪問將會有狀態保留丟失的風險;
- 光學方式,即隱密數據被一些視覺光學儀器(如高清晰度相機、高清晰度攝影機等設備)捕捉。
所有的攻擊類型都利用了加密/解密系統在進行加密/解密操作時算法邏輯沒有被發現缺陷,但是通過物理效應提供了有用的額外信息(這也是稱為“旁路”的緣由),而這些物理信息往往包含了密鑰、密碼、密文等隱密數據。