直覺(講義 p. 19)

不知道 \(\ik\) 的敵手,不應該能替一個它沒看過標籤的訊息偽造出合法標籤,即使它可以要求對任意自選的訊息產生標籤。 講義註明:像 IND-EAV/CPA/CCA 一樣,MAC 也有不同強度的定義(KL-IMC §4.2「Strong unforgeability」),本課程只用其中一個。Week 1 的 Problem 1 其實已經把整個光譜走過一遍—— 金鑰不可恢復(太弱)、 任何訊息不可偽造(不可能)、 新訊息不可偽造(標準)、\(^+\) 強不可偽造(典範驗證下自動成立)。本節的 EUF-CMA 就是 。

EUF-CMA 遊戲(講義 p. 20)

遊戲(Existential UnForgeability against Chosen Message Attack;KL-IMC §4.2)。\(\calQ\) 記錄所有查詢過的訊息。

\(\MAC=(\KGen,\Tag,\Vf)\) 是 安全的,若沒有有效率的敵手 \(\adv\) 能以明顯異於零的機率贏得 遊戲;即對每個 PPT \(\adv\),\(\Prob[\adv\ \text{獲勝}]\le\negl\)。

逐字解讀名字:Existential(存在性)——\(\adv\) 只要對某個(它自己挑的、哪怕毫無意義的)新訊息偽造成功就算贏,不必是特定的有意義訊息;Unforgeability——不可偽造;Chosen Message Attack——\(\adv\) 可以選訊息要標籤(\(\OTag\)),而且是適應性的(看到前面的回答再決定下一個查詢)。

為什麼是「存在性不可偽造」?(講義 p. 21)

講義問:為什麼 EUF 捕捉了「不能替新訊息偽造標籤」?假設 \(\adv\) 看過 \((m_1,\tau_1),\dots,(m_n,\tau_n)\) 之後能偽造 \(m'\notin\{m_1,\dots,m_n\}\) 的標籤 \(\tau'\)。它如何贏 EUF-CMA?——把 \(m_1,\dots,m_n\) 依序送給 \(\OTag\) 拿到 \(\tau_1,\dots,\tau_n\),然後輸出 \((m',\tau')\)。\(\calQ=\{m_1,\dots,m_n\}\not\ni m'\),且 \(\Vf(\ik,m',\tau')=1\),獲勝。

所以:任何「看過一些合法訊息–標籤對後能偽造新訊息」的攻擊,都對應一個 EUF-CMA 敵手;EUF-CMA 安全就排除了所有這類攻擊。而且因為是「存在性」,連「偽造一個亂碼訊息的標籤」都不允許——這看似過嚴,實則必要:我們不知道上層應用會把哪些位元串當成有意義的訊息(Week 1 的教訓:定義要夠強、對應用不做假設)。

為什麼是零?(講義 p. 22)

IND 遊戲的基準是 \(\tfrac12\),因為敵手是在兩個可能性中分辨,隨便猜就對一半。EUF-CMA 要敵手創造一個東西(合法的偽造),沒有「亂猜就對一半」的情況,所以基準是 \(0\)。

敵手總可以隨便挑一個新訊息 \(m'\) 與一個隨機的 \(\tau'\in\calT\),獲勝機率是 \(\Prob[\Tag(\ik,m')=\tau']\)——對一個好的 MAC 約為 \(1/\abs{\calT}\)。若標籤是 128 位元,這是 \(2^{-128}\),可忽略;若為了省頻寬把標籤截成 32 位元,就是 \(2^{-32}\),不可忽略(約 43 億次嘗試必中一次,線上協定可能真的被試這麼多次)。這就是「明顯異於零」裡「明顯」二字的意義:定義允許可忽略的機率,而標籤長度決定了這個機率的下限。

與 Week 1 的連結

  • 強不可偽造(SUF-CMA):把獲勝條件改成「\((m',\tau')\notin\calQ'\)」,其中 \(\calQ'\) 記錄訊息–標籤對。這允許「對舊訊息給一個新標籤」也算偽造。Week 1 Problem 1 (vii) 證明:典範驗證 + 確定性 \(\Tag\) 時兩者等價,所以本課程不必區分。

  • 驗證預言機:真實敵手還能把 \((m,\tau)\) 丟給接收端看是否被接受。Week 1 Problem 1 (viii) 證明:這最多讓獲勝機率乘上 \((q_v+1)\),仍可忽略,所以定義裡不給 \(\OVf\) 也無妨。

  • 為什麼不是 「金鑰不可恢復」:常數標籤 \(\Tag(\ik,m)=0\) 的金鑰永遠恢復不了,卻人人可偽造。EUF-CMA 直指我們真正在意的事:偽造。

  • 能畫出 EUF-CMA 遊戲、說明 \(\calQ\) 的作用與 \(m'\notin\calQ\) 的必要性(否則重放合法標籤就算贏,而這對任何正確的 MAC 都做得到)。

  • 能解釋「為什麼是 \(0\) 而非 \(\tfrac12\)」:創造 vs. 分辨。

  • 能說出名稱 E/UF/CMA 各自的意義。