Reference-Request

當您有時鐘控制時,“恆定時間”算法的上下文是否包含在內?

  • November 26, 2017

通常需要使算法和組件保持恆定時間以抵抗側通道攻擊。例如,AES-NI 指令的周期數與輪數一樣多;但是,我可以降低 CPU 電壓並提高時鐘速度,直到結果出現錯誤。如果電路滿足鎖存器邊界之間的關鍵路徑傳播,則電路只有恆定時間。

當我讀到一篇論文明確指出它對側通道攻擊具有強韌性因為算法是恆定時間時,是否假設沒有時鐘/電壓控制?

為了詳細說明我提到的邊界,請考慮以下表示邏輯管道的圖像: 邏輯雲 在圖像中,有一個邏輯雲正在對 n 位資訊進行操作並產生結果。這很像乘法求逆模組在硬體中的樣子,您在其中載入起始值,然後“鎖定”結果。基本思想是時鐘線 CLK 足夠慢,可以滿足最壞情況的電氣傳播條件。如果我降低工藝電壓並保持時鐘相同的速度,我可能會違反路徑要求。如果我提高相同電壓的時鐘速度,我也會在電氣上違反要求。

當我讀到一篇論文明確指出它對側通道攻擊具有強韌性因為算法是恆定時間時,是否假設沒有時鐘/電壓控制?

通常,當我們在沒有上下文的情況下提到側通道時,我們實際上是指軟體中的側通道。即,對手(僅)有能力在同一個 CPU 上執行程式碼。此外,攻擊者無法物理訪問正在執行的 CPU。

在你的情況下——降低 CPU 的頻率並調整電源——你正在操縱 CPU本身。在我的書中,這將被視為故障攻擊,這是硬體側通道分析中的一種技術。硬體側通道分析功能非常強大,因為可能性很大,所以它定義了一個不太明顯的攻擊者模型。

所以這有點取決於上下文。大多數時候,文獻都是關於軟體側通道(時間、記憶體等)的。但是當您閱讀CHES論文時,它可能是關於硬體的。

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