Cmac

對 CMAC 的可能攻擊

  • March 17, 2020

我正在研究對 CMAC 的可能攻擊,並且我發現了 NISTSP800-38B 文件,其中定義了可能的攻擊列表。但是,我對使用偽​​造消息進行可能的攻擊有一些疑問。例如:

  1. 考慮 128 位的密鑰和 128 位的消息,是否可以恢復密鑰(例如,如果消息全為零)?
  2. 與密鑰長度相比,建議的最小消息長度是多少?您是否提出了一些要求以避免偽造攻擊?
  3. 您是否有任何關於 CMAC 其他攻擊的連結或文件?

考慮 128 位的密鑰和 128 位的消息,是否可以恢復密鑰(例如,如果消息全為零)?

是的,但只能通過 brute-force。那是當給定一個 $ (m,\tau) $ 確定性 MAC(例如 CMAC)的消息標籤對,您始終可以暴力破解密鑰 $ k $ 要得到 $ \tau=\operatorname{MAC}_k(m) $ . 但是使用鍵空間 $ \mathcal K $ ,這將需要 $ |\mathcal K|/2 $ 平均 MAC 呼叫次數,即 $ 2^{127} $ 評估通常被認為是不可行的。

與密鑰長度相比,建議的最小消息長度是多少?

沒有最小消息長度。事實上,恰恰相反,MAC安全性隨著消息長度的增加而降低。然而,短消息可能更容易受到重放攻擊,但處理它們是更高級別協議的任務。

您是否提出了一些要求以避免偽造攻擊?

CMAC 作為 MAC 的安全界限是

$$ \mathbf{Adv}^{\textsf{MAC}}{\operatorname{CMAC}(\pi)}(\mathcal A;q,ln)\leq \frac1{2^n}+\mathbf{Adv}^{\textsf{PRP}}\pi(\mathcal B;\sigma)+\frac{2.5(\sigma+1)^2+1.5q^2+2q^2l^2}{2^n} $$

對於對手, $ \mathcal A $ 製造 $ q $ 簽名最多查詢每個長度 $ ln $ 位 - 與 $ n $ 是底層塊密碼的塊大小 $ \pi $ - 導致總共最多 $ \sigma $ 分組密碼的不同評估 $ \pi $ .

$ \mathbf{Adv}^{\textsf{MAC}}_{\operatorname{CMAC}(\pi)}(\mathcal A;q,ln) $ 是對手的機會 $ \mathcal A $ 可以為沒有事先查詢簽名預言機並最多使用的消息偽造標籤 $ q $ 最多查詢每個長度 $ ln $ 位。

$ \mathbf{Adv}^{\textsf{PRP}}_\pi(\mathcal B;\sigma) $ 是分組密碼的機率 $ \pi $ 可以使用以下方法與隨機排列區分開來 $ \sigma $ 加密查詢。Baritel-Ruet、Duppressoir、Fouque 和 Grégoire 在 2018 年的“CMAC 及其變體的正式安全證明”中證明了這一界限(寫法略有不同) (PDF) 。

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