Aes

減輕側通道攻擊 (SCA)

  • June 24, 2018

在 2016 年名為“安全 IC 中的電源側通道:硬體對策”的文章中描述的 SCA 電源攻擊取決於在 AES-128 執行期間對已知純文字或已知密文的功耗波動的測量。此外,攻擊者俱有更改密文的能力(CPA 攻擊)。然而,攻擊者只需要知道其中一個,無論是純文字還是密文。

假設避免暴露它們兩者,例如通過使用秘密內部密鑰和秘密內部計數器進行計數器 (CTR) 模式加密。在這種情況下,AES-128 分組密碼使用未知密鑰加密未知計數器。

此外,密文位於外部快閃記憶體中。最後,攻擊者無法更改密文,如文章中所述。

這樣的方案是否仍然受到側通道攻擊?

由於您總是使用相同的密鑰解密相同的快閃記憶體內容,因此像 DPA 這樣的統計攻擊不起作用,因為它們試圖找到兩個隨機變數之間的依賴關係(一個是使用部分密鑰預測的中間值,另一個是測量的電流消耗),在您的情況下,其中一個是恆定的。

攻擊者可以從多個測量(而不是只使用一個)中獲得的唯一用途是取平均值以減少雜訊或應用利用雜訊的攻擊。否則,攻擊者基本上必須使用與單個電源跟踪一起工作的攻擊。

如果攻擊者能夠在相同的設備上執行相同的軟體,他可以選擇密鑰和密文,他可以使用它來執行模板攻擊的分析階段,並希望兩個設備具有非常相似的功率特性。

由於模板攻擊根據觀察到的雜訊計算可能性,因此您可以結合多個測量結果來提高恢復密鑰和數據的機會。

根據我的經驗,如果 AES 在硬體中實現,那麼非常熟練的攻擊者(使用最佳模板攻擊實現結合密鑰列舉技術)的成功機率相對較低,但對於洩漏設備上的軟體實現來說非常好。

如果我可以物理訪問您的硬體,我可以獲得您的密鑰。

強力攻擊基本上是讀取不同狀態下的電流的功能。如果我可以物理訪問 IC,我可以強制進入狀態。時鐘讓我可以在同步系統中訪問狀態。在您的範例中,有一個外部 IO,因此讓我們假設一個現代流程,其中您對核心有不同的匯流排 IO 電壓。我會將匯流排 IO 電壓降至零,以便我始終以零讀取密文。現在我只有可以進行功率分析的關鍵排列。(當然,我總是可以解開封面,FIB 在一些線索上並讀出密鑰。)

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