“伪随机生成器 可经 GGM 构造 PRF,不可区分性 给出 oracle 游戏。MAC、对称加密、密钥派生和协议会话标签都使用 PRF;分组密码 则常被建模为伪随机置换。”
形式陈述 ​
消息认证码方案由
组成。
直觉
MAC 用共享密钥为消息生成标签,接收者据此验证“知道共享密钥的一方认可了这条消息”,并检测传输后的篡改。它不隐藏消息,也通常不能向第三方提供可验证的不可否认性,因为共享密钥双方都能生成标签。安全目标允许攻击者先查询许多消息的标签,再要求不能为新消息伪造有效标签。
例子与边界
MAC 是带秘密密钥的完整性原语,验证者凭密钥区分合法标签与伪造;密码哈希函数公理库密码哈希函数Cryptographic hash function把任意长输入压缩到固定长度并要求原像、第二原像或碰撞难求的函数族。是公开、无密钥的压缩映射,只靠抗碰撞等性质不能证明消息来自某个共享密钥方。HMAC 正是把哈希嵌入有密钥构造,而不是把裸哈希改名为 MAC。
标签
HMAC 对哈希函数采用内外两层 keyed 结构,避免直接前缀哈希的长度扩展问题。接收端应对完整协议字段、长度和上下文计算标签,并在处理消息前验证;截断标签会把通用猜测成功率提高到约
复用一次性 MAC 密钥或 Wegman–Carter 中的 nonce 可泄露关系。只比较标签前几个字节、使用非恒定时间比较或在失败时返回不同错误,都可能扩大攻击面;MAC 也不阻止旧的合法消息被重放。
推论与应用
MAC 用于消息完整性、协议认证和认证加密构造。安全结论依赖查询模型与伪造定义;强不可伪造还禁止为已查询消息产生新的有效标签,比普通 EUF-CMA 更强。
它与 对称加密公理库对称加密Symmetric encryption · Secret-key encryption发送方与接收方共享密钥的加密、解密算法体系。结合得到 认证加密公理库认证加密Authenticated encryption · AE同时提供机密性与密文完整性的对称加密接口和安全目标。,底层可由 伪随机函数公理库伪随机函数Pseudorandom function · PRF由短密钥索引且对高效查询者不可与真随机函数区分的函数族。构造;通用哈希公理库通用哈希Universal hashing · Universal hash family从函数族随机选择哈希函数,使任意预先固定的不同键对以至多 1/m 的概率碰撞。配合一次性掩码还可给出 Wegman–Carter 类信息论或几乎通用 MAC。这里使用的是随机函数族的碰撞界与密钥/nonce 规则,不是把剩余哈希引理公理库剩余哈希引理Leftover hash lemma · LHL随机二通用哈希把高最小熵源压缩为即使公开哈希种子仍统计接近均匀的输出。的提取结论重复当作认证证明。网络报文、API 请求、软件包元数据和密钥确认都使用 MAC;公钥可验证场景则需要数字签名。
参考资料
- Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023,Chs. 6–7。
- Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Ch. 4。