Skip to content

模型Model

消息认证码

Message authentication code · MAC

用共享密钥生成并验证消息完整性标签的机制。

形式陈述 ​

消息认证码方案由

(Gen,Tag,Vrfy)

组成。k←Gen(1λ),标签 t←Tagk(m),验证 Vrfyk(m,t)∈{0,1}。正确性要求诚实生成的标签被接受。典型的EUF-CMA 实验允许攻击者自适应查询消息标签;计算安全要求每个 PPT 攻击者为此前未查询的消息 m∗ 输出有效标签 t∗ 的概率都可忽略。

直觉

MAC 用共享密钥为消息生成标签,接收者据此验证“知道共享密钥的一方认可了这条消息”,并检测传输后的篡改。它不隐藏消息,也通常不能向第三方提供可验证的不可否认性,因为共享密钥双方都能生成标签。安全目标允许攻击者先查询许多消息的标签,再要求不能为新消息伪造有效标签。

例子与边界

MAC 是带秘密密钥的完整性原语,验证者凭密钥区分合法标签与伪造;密码哈希函数是公开、无密钥的压缩映射,只靠抗碰撞等性质不能证明消息来自某个共享密钥方。HMAC 正是把哈希嵌入有密钥构造,而不是把裸哈希改名为 MAC。

标签 t=H(m) 不使用秘密密钥,任何人都能伪造,不是安全 MAC。把普通哈希直接写成 H(k‖m) 也可能受具体哈希结构攻击;HMAC 等构造有专门分析。重放一条旧的合法 (m,t) 不一定违反基本 EUF-CMA,因为消息并非新鲜;防重放需序号、nonce 或协议状态。

HMAC 对哈希函数采用内外两层 keyed 结构,避免直接前缀哈希的长度扩展问题。接收端应对完整协议字段、长度和上下文计算标签,并在处理消息前验证;截断标签会把通用猜测成功率提高到约 2−t。

复用一次性 MAC 密钥或 Wegman–Carter 中的 nonce 可泄露关系。只比较标签前几个字节、使用非恒定时间比较或在失败时返回不同错误,都可能扩大攻击面;MAC 也不阻止旧的合法消息被重放。

伪随机函数给出的具体实现 ​

取伪随机函数 Fk:Dλ→{0,1}t(λ),密钥均匀生成,并把合法消息限制为其输入域 Dλ。定义

Tagk(m)=Fk(m),Vrfyk(m,τ)=1[τ=Fk(m)].

这是确定性、每条消息只有一个有效标签的 MAC。把 Fk 换成一致的随机函数后,攻击者最后提出的未查询消息 m∗ 对应一个尚未暴露的均匀 t bit 值,即使 m∗ 自适应选择也如此。因此单次新消息伪造概率满足

Pr[forge]≤AdvF,Bprf(λ)+2−t(λ).

归约 B 用函数 oracle 回答标签查询,最后再查询 m∗ 检查猜测。取 t(λ)≥λ 是使猜测项可忽略的一项充分条件;固定常数标签长度不给出随 λ 的可忽略界。可变长消息还需匹配输入域或使用经过证明的域扩展,不能靠有歧义拼接处理。

由于已查询消息只有一个有效标签,普通 EUF-CMA 在这个具体实现上也排除了新的有效消息—标签对。对一般随机化或多有效标签 MAC,这一步并不成立。若另开放至多 qv 次验证尝试,应计入至多 qv2−t 的随机猜测项,并在 PRF 归约中计入这些查询;它不是上述单次输出游戏。

推论与应用

MAC 用于消息完整性、协议认证和认证加密构造。安全结论依赖查询模型与伪造定义;强不可伪造还禁止为已查询消息产生新的有效标签,比普通 EUF-CMA 更强。

它与 对称加密结合得到 认证加密,底层可由 伪随机函数构造;通用哈希配合一次性掩码还可给出 Wegman–Carter 类信息论或几乎通用 MAC。这里使用的是随机函数族的碰撞界与密钥/nonce 规则,不是把剩余哈希引理的提取结论重复当作认证证明。网络报文、API 请求、软件包元数据和密钥确认都使用 MAC;公钥可验证场景则需要数字签名。

HMAC具体接口进一步给出内外pad、长密钥归一化、标准向量和块处理成本;本页继续负责MAC安全游戏、唯一标签条件与PRF归约。显式密钥确认把MAC放入角色化握手状态,收到正确标签还须对应已认证身份与本次transcript。

分组密码还可通过CMAC认证变长消息:完整末块与填充末块采用不同掩码,空消息明确算一块。其条目用裸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。
关系图谱15 个相邻概念 · 4 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系

被这些条目使用

具体实现

并列辨析