Aes
側通道攻擊
如何使密碼抵抗側通道攻擊。特別是定時攻擊、記憶體定時附加、簡單/差分功率分析。
到目前為止,似乎所有標準算法(如 AES、Cameillia 等)都已使用側通道攻擊成功破解。
應對這些的設計標準是什麼?
避免:
- 在具有記憶體的機器上
使用基於表的查找中的秘密數據
- 該表只是一個記憶函式;只需在每次迭代時顯式計算函式,而不是在表中查找答案
做:
使用通常在恆定時間內實現的指令(在硬體/門級別)
- ADD、XOR、AND、移位和旋轉幾乎可以保證在恆定時間內執行
使用有助於更輕鬆地採取對策的功能
請注意,側通道的目標是實現細節,而不是抽象算法。實施者仍然可以做出產生漏洞的選擇。
算法設計者所能做的就是讓設計直接以恆定時間的方式實現。例如,AES 可以在沒有表查找的情況下實現,但這往往會降低整體吞吐量,可能會顯著降低。
顯然有一些工具可以測試實現的弱點。