是否有不受側通道攻擊的加密算法?
是否有任何基於掃描鏈的加密算法對側通道攻擊免疫?從 VLSI 的角度來看。
加密算法不能免疫或不能免疫側通道攻擊;這是因為側通道攻擊攻擊的是實現而不是實際的算法。任何使用秘密數據的算法都可以以具有側通道攻擊的方式實現,並且任何算法都可以以可能抵抗的方式實現(鐵桿側通道攻擊的人會說沒有實現是完全免疫的)側通道攻擊。
也就是說,肯定有一些算法更容易以抵抗側通道攻擊的方式實現。
人們通常會建構包含加密算法的硬體,他們擔心如果該硬體落入攻擊者手中會發生什麼。
從歷史上看,有幾種方法可以使攻擊者更加困難,通常以某種組合使用:
- 專門選擇或設計的硬體和密碼算法符合 Kerckhoffs 的原則:“密碼系統應該是安全的,即使系統的所有內容,除了密鑰,都是公共知識。” 然後在舊密鑰可能落入攻擊者手中時切換到新密鑰。(也許還使用歸零來降低舊密鑰落入攻擊者手中的可能性)。
- 專門選擇或設計或重新實現為同步的加密算法——即具有獨立於數據的執行時——使它們完全不受定時攻擊的影響。(為沒有記憶體的典型智能卡編寫優秀的彙編語言程序員可以很容易地做到這一點。FPGA 設計人員可以很容易地做到這一點。為具有記憶體的處理器編寫程式碼的人發現編寫同步程式碼要多得多困難,但通常是可能的)。(不幸的是,這通常會使此類硬體更容易受到差分功率分析側通道攻擊的攻擊)。
*布勞恩,賈娜,博內。強大而高效地消除記憶體和時序側通道”。arXiv:1506.00189 討論:https ://news.ycombinator.com/item?id=9679762
*托比昂格蘭隆德。“使用獨立於數據的執行跟踪來擊敗 modexp 側通道攻擊”。 https://gmplib.org/~tege/modexp-silent.pdf
白盒算法完全不受旁道攻擊。白盒密碼學 白盒 http://www.whiteboxcrypto.com/。白盒密碼算法的設計使得即使攻擊者知道系統的一切,包括他手中的硬體密鑰,他仍然無法破解系統的其餘部分。人們普遍認為這是不可能的,直到開發了臨時加密密鑰、公鑰加密和公鑰簽名認證。在同態加密和主機證明方面取得了一些有希望的突破似乎表明具有有用的白盒加密屬性的算法是可能的,並且一些已經在實踐中有用的算法:(使用某些證書頒發機構的公鑰的公鑰身份驗證發生在每次網路瀏覽器訪問“https:/ /“ 網站)。(每次筆記型電腦或智能手機與最近的 WiFi 接入點通信時都會發生臨時加密)。不幸的是,對於我們想做的許多其他事情,我們還沒有一個實用的白盒算法。
各種技術,如改組、虛擬操作等,使時序和功率側通道攻擊更加昂貴且不太可能成功
Stottinger、Malipatlolla、Tian。“提高部分可重構平台側通道阻力的方法調查。” doi: 10.1007/978-3-642-16767-6_4
防篡改使探測攻擊更加昂貴且不太可能成功。