Aes

沒有 T-Tables 和 S-Box 的 AES 是否抗側通道?

  • June 27, 2020

T-Tables 和 S-Boxes 容易受到側通道攻擊,沒有任何查找表的實現是否可以抵抗側通道?在這個答案中,https://crypto.stackexchange.com/a/63520/80926,作者說依賴秘密的 if 語句、循環和數學運算(如乘法)可能不是恆定時間,它們是否可以進行邊通道攻擊可能的 ?(在沒有任何 llokup 表的實現上)。

如果可以的話,我們可以做些什麼來實現 AES 的側通道抗性?因為它似乎比正常實現慢得多。

對於沒有 AES-NI 的設備,bitsliced 是唯一的解決方案嗎?

沒有任何查找表的實現是否可以抵抗側通道?

除非它對對手的攻擊能力增加了一些限制,否則只能回答“否”。任何涉及秘密的密碼學實現都不能抵抗足夠先進的側通道攻擊。十年前的抗拒現在已不再存在,在我觀看那場比賽的 3 多年裡一直如此(我相信在那之前),我猜歷史會重演。

具體來說,我敢打賭,目前在量子計算中開發的先進技術的第一個密碼分析應用將是用於側通道攻擊的敏感/快速感測器,然後由經典電腦攜帶。

依賴於秘密的 if 語句、循環和數學運算(如乘法)可能不是恆定時間,它們能否使側通道攻擊成為可能?

是的,他們有可能通過時間創建一個邊通道。但是對於 AES 分組密碼,一旦查找表被刪除或保持恆定時間,就很容易避免定時側通道(只是不要顯式測試數據或密鑰位)。其他側通道(探測、功率分析、電磁發射)和故障攻擊(並不總是被歸類為側通道,但屬於同一類)是困難的。

對於沒有 AES-NI 的設備,bitsliced 是唯一的解決方案嗎?

沒有。有經過安全評估的 AES 硬體,甚至是不使用位切片的軟體實現。他們的內部設計通常是秘密的(至少對我保密),甚至他們的 API 都在 NDA 之下。請參閱該領域智慧財產權許可公司的行銷材料。

如果我們通過時間限制邊通道,則可以在純軟體 AES 中刪除這些並保留查找表。快速、簡單、安全、便攜:選擇一個,也許兩個。

在沒有任何預先計算的表或對密鑰或數據進行任何測試但沒有任何額外的安全性(如位切片)的情況下(AES 軟體)實現的攻擊(通過旁通道)是否可以在目前技術的實踐中通過網路執行?

這取決於“攻擊”和“通過網路”的含義。

  • 不,針對旨在恢復基於網路數據包的計時測量正在使用的 AES 密鑰的攻擊。所述的預防措施已經完全剝奪了對手通過該側通道獲得的資訊。甚至懷疑我們是否真的需要語句的“沒有任何預先計算的表”部分,而不是一個簡單而有力的論點。

  • 是的,否則:

    • 軟體通常最終以通過網路數據包的遠端定時可利用的定時側通道洩漏有關該數據(不是正在使用的密鑰)的資訊的方式使用解密的數據。填充預言機攻擊是此類攻擊的一類。他們可以顯示正在傳輸的密鑰。
    • 利用受攻擊的 AES 實現在軟體中利用錯誤(緩衝區溢出……)和錯誤配置是一個非常現實的威脅。
    • 當“通過網路”訪問機器的對手已經或獲得了在受到攻擊的機器上執行促程序式碼的能力時,我們不能排除側通道攻擊:有新的或略有不同的架構 CPU 端的穩定流- 在承諾程序隔離的 CPU 上發現的通道,甚至是最近的通道。而且,對作業系統和虛擬化環境的攻擊甚至更多,其最終結果是破壞程序隔離。

排除“通過網路”洩露密鑰的最安全方法是不使用通用現代電腦¹來操作密鑰。例如,將密鑰保存在專用安全設備(智能卡、TPMHSM)中。這可以為防止密鑰洩露提供強有力的保障,但不能防止密鑰濫用:攻擊者仍有可能遠端破譯使用密鑰加密的數據。


¹ 我差點寫了一台聯網的通用現代電腦,然後又回去了:有報導稱可以使用附近受感染的聯網電腦進行側通道攻擊。

引用自:https://crypto.stackexchange.com/questions/81547