“HMAC是使用密码哈希构造消息认证码的具体算法。设底层哈希输出 $h$ 字节、压缩块长 $B$ 字节,并假定 $h\le B$(SHA 256满足此条件)。先将密钥 $K$ 归一化:若 $…”
形式陈述
消息认证码方案由
组成。
直觉
MAC 用共享密钥为消息生成标签,接收者据此验证“知道共享密钥的一方认可了这条消息”,并检测传输后的篡改。它不隐藏消息,也通常不能向第三方提供可验证的不可否认性,因为共享密钥双方都能生成标签。安全目标允许攻击者先查询许多消息的标签,再要求不能为新消息伪造有效标签。
例子与边界
MAC 是带秘密密钥的完整性原语,验证者凭密钥区分合法标签与伪造;密码哈希函数理路密码哈希函数Cryptographic hash function把任意长输入压缩到固定长度并要求原像、第二原像或碰撞难求的函数族。是公开、无密钥的压缩映射,只靠抗碰撞等性质不能证明消息来自某个共享密钥方。HMAC 正是把哈希嵌入有密钥构造,而不是把裸哈希改名为 MAC。
标签
HMAC 对哈希函数采用内外两层 keyed 结构,避免直接前缀哈希的长度扩展问题。接收端应对完整协议字段、长度和上下文计算标签,并在处理消息前验证;截断标签会把通用猜测成功率提高到约
复用一次性 MAC 密钥或 Wegman–Carter 中的 nonce 可泄露关系。只比较标签前几个字节、使用非恒定时间比较或在失败时返回不同错误,都可能扩大攻击面;MAC 也不阻止旧的合法消息被重放。
伪随机函数给出的具体实现
取伪随机函数理路伪随机函数Pseudorandom function · PRF由短密钥索引且对高效查询者不可与真随机函数区分的函数族。
这是确定性、每条消息只有一个有效标签的 MAC。把
归约
由于已查询消息只有一个有效标签,普通 EUF-CMA 在这个具体实现上也排除了新的有效消息—标签对。对一般随机化或多有效标签 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二通用哈希把弱随机源压缩为公开种子和经典旁信息后仍接近均匀的输出,误差由平均条件最小熵控制;条件化与 Jensen 不等式给出证明,三比特例子精确算出联合距离。的提取结论重复当作认证证明。网络报文、API 请求、软件包元数据和密钥确认都使用 MAC;公钥可验证场景则需要数字签名。
HMAC具体接口理路HMAC的内外层密钥哈希HMAC · Hash-based message authentication code从密钥归一化和内外pad写出HMAC字节接口,复算标准向量,并区分MAC安全、PRF假设与裸前缀哈希。进一步给出内外pad、长密钥归一化、标准向量和块处理成本;本页继续负责MAC安全游戏、唯一标签条件与PRF归约。显式密钥确认理路显式密钥确认与接受时机Explicit key confirmation · Finished key confirmation用独立确认密钥与角色化Finished证明对端持有本次派生秘密,明确单向确认、双向确认与应用接受状态的差别。把MAC放入角色化握手状态,收到正确标签还须对应已认证身份与本次transcript。
分组密码还可通过CMAC理路CMAC的末块认证CMAC · Cipher-based message authentication code · OMAC1用两个相关子密钥区分完整与填充末块,执行AES-CMAC标准向量,并说明裸CBC标签为何不能安全认证任意变长消息。认证变长消息:完整末块与填充末块采用不同掩码,空消息明确算一块。其条目用裸CBC的跨长度伪造作对照,并把最终新消息也计入PRF归约块预算;既不加密消息,也不记录旧消息是否已交付。
参考资料
- Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023,§§6.1–6.2:唯一标签、所用强 MAC 游戏与 PRF 构造;本文的普通 EUF-CMA 另行以新消息定义。
- Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Ch. 4。