旁路攻擊

密碼學中,旁道攻擊又稱側信道攻擊邊信道攻擊(英語:Side-channel attack)是一種攻擊方式,它基於從密碼系統的物理實現中獲取的資訊而非暴力破解法或是演算法中的理論性弱點(較之密碼分析)。例如:時間資訊、功率消耗、電磁洩露或甚是聲音英語Acoustic cryptanalysis可以提供額外的資訊來源,這可被利用於對系統的進一步破解。某些側信道攻擊還要求攻擊者有關於密碼系統內部操作的技術性資訊,不過,其他諸如差分電力分析的方法在黑盒攻擊中效果明顯。許多卓有成效的側信道攻擊基於由保羅·科切英語Paul Kocher開拓的統計學方法。[1]

通過能量分析嘗試破解RSA加密演算法的實例。左側的峰值是在執行RSA迭代中沒有乘法的部分時處理器的功率,右側則是在乘法步驟中處理器的功率。二者的差異可以用於竊取加密金鑰。

需要注意的是,如果破解密碼學系統使用的資訊是通過與其使用人的合法交流取得的,這通常不被認為是旁路攻擊,而是社會工程學攻擊。

一般分類

根據藉助的介質,旁路攻擊分為多個大類,包括:

  • 快取攻擊英語Cache Side-Channel Attacks,通過取得對快取的存取權而取得快取內的一些敏感資訊,例如攻擊者取得雲端主機物理主機的存取權而取得記憶體的存取權;
  • 計時攻擊英語Timing attack,通過裝置運算的用時來推斷出所使用的運算操作,或者通過對比運算的時間推定資料位於哪個儲存裝置,或者利用通訊的時間差進行資料竊取
  • 基於功耗監控的旁路攻擊,同一裝置不同的硬體電路單元的運作功耗也是不一樣的,因此一個程式運行時的功耗會隨著程式使用哪一種硬體電路單元而變動,據此推斷出資料輸出位於哪一個硬體單元,進而竊取資料;
  • 電磁攻擊英語Electromagnetic attack,裝置運算時會洩漏電磁輻射,經過得當分析的話可解析出這些洩漏的電磁輻射中包含的資訊(比如文字、聲音、圖像等),這種攻擊方式除了用於密碼學攻擊以外也被用於非密碼學攻擊等竊聽行爲,如TEMPEST英語TEMPEST攻擊(例如范·埃克竊聽、輻射監測);
  • 聲學密碼分析英語Acoustic cryptanalysis,通過捕捉裝置在運算時洩漏的聲學訊號捉取資訊(與功率分析類似);
  • 差別錯誤分析,隱密資料在程式運行發生錯誤並輸出錯誤資訊時被發現;
  • 資料殘留英語Data remanence,可使理應被刪除的敏感資料被讀取出來(例如冷啟動攻擊);
  • 軟體初始化錯誤攻擊,現時較爲少見,行錘攻擊英語Row hammer是該類攻擊方式的一個實例,在這種攻擊實作中,被禁止存取的記憶體位置旁邊的記憶體空間如果被頻繁存取將會有狀態保留丟失的風險;
  • 光學方式,即隱密資料被一些視覺光學儀器(如高解析度相機、高解析度攝影機等裝置)捕捉。

所有的攻擊類型都利用了加密/解密系統在進行加密/解密操作時演算法邏輯沒有被發現缺陷,但是通過物理效應提供了有用的額外資訊(這也是稱爲「旁路」的緣由),而這些物理資訊往往包含了金鑰、密碼、密文等隱密資料。

參見

參考資料

  1. ^ Kocher, Paul. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems. Advances in Cryptology—CRYPTO』96. Lecture Notes in Computer Science. 1996, 1109: 104–113 [14 April 2014]. doi:10.1007/3-540-68697-5_9. (原始內容存檔於2015-09-24). 

延伸閲讀

書籍
文章

外部連結