Aes

查找 IV 以偽造具有非固定 IV 的 AES CBC-MAC

  • May 20, 2021

由於 CBC 模式可能會進行幾輪,如何找到另一個 IV 進行偽造攻擊?

這是我課程中的一個範例:假設您收到一對帶有明文的 $ P_1 $ 及其 MAC 使用原始 $ IV_1 $ . 如果你想改變 $ P_1 $ 到另一個明文 $ P_2 $ , 如何找到 $ IV_2 $ ?

正如解釋中所說,該過程可能是:

$ MAC = E(P_1 \oplus IV_1) $

$ MAC = E(P_2 \oplus IV_2) $

所以,

$ IV_2 = P_1\oplus IV_1 \oplus P_2 $

為什麼有可能?

我用cryptool2測試它,但它不起作用……

這是 MAC 偽造的展示。這不是 IV 始終設置為零的CBC-MAC,並且還有 ECBC-MAC 作為加密最後一個不需要事先消息長度來保證安全的塊。

給定一個 MAC,它的明文 $ P_1 $ , 和 $ IV_1 $ 在這個簡單的 CBC-MAC $$ MAC_1 = E(P_1\oplus IV_1) $$

我們想以此為基礎偽造簽名;

$$ MAC_2 = E(P_2\oplus IV_2) $$

我們想要一個偽造品,甚至不知道鑰匙。由於 IV 不是固定的,我們可以玩弄它。

設置一個 IV 使得帶有明文的結果 X-or 將等於給定消息及其 IV。明文不同,但 MAC 值相同;贗品

拿 $ P_2 $ 是要偽造到簽名中的目標消息。

拿 $$ IV_2 = \underbrace{P_1\oplus IV_1}{\text{cancel part}} \oplus \underbrace{P_2}{\text{target message}} $$

查看 $$ P_2 \oplus IV_2 = P_2 \oplus P_1\oplus IV_1 \oplus P_2 $$

簡化 $$ P_2 \oplus IV_2 = P_1\oplus IV_1 $$

而且,這是偽造的,因為我們有不同的消息和 IV,它是 x 或等於給定的 MAC。這可能發生,因為攻擊者可以選擇 IV。為了減輕在 CBC-MAC 中固定的 IV。

由於 CBC 模式可能會進行幾輪,如何找到另一個 IV 進行偽造攻擊?

上面的例子是針對一個塊的消息。對於多個塊,只需將第一個塊設置為如上,其餘塊保持相同。這將是此簽名方案上的多個塊消息偽造。

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