旁路攻击

密碼學中,旁道攻击又称侧信道攻擊边信道攻击(英語: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). 

延伸閲讀

書籍
文章

外部連結