消息认证码(MAC)的安全性提升与新安全边界
1. 相关工作概述
在消息认证领域,基于通用哈希函数的认证基础由众多研究奠定。早期Carter和Wegman的工作开启了这一领域的研究,后续有许多学者进一步发展了相关理论。
1.1 哈希函数分析
- 多项式构造分析 :多项式构造的分析是广为人知的,其历史有相关研究记载。
- Merkle - Damgård函数分析 :Merkle - Damgård函数被分析为ε - 通用哈希函数,有研究证明了使用压缩函数ξ对Lb块输入进行哈希时,ε ≈ L/2k(这里L < 2k/2 )。
1.2 “哈希后加密”方法比较
将“哈希后加密”方法与另一种变体进行比较。该变体用“一次性密码本”替代分组密码,在现代术语中,消息认证码(MAC)的标签形式为 (r, hs(m) ⊕ ft(r)) ,其中ft是具有新密钥t的伪随机函数,r是新鲜的“随机数”且不应重复。
-
状态问题
:若r是计数器,能获得完美安全性(除了f的不安全性),但维护计数器会引入状态,在许多情况下有状态的MAC非常不便。
-
随机盐情况
:当r是新鲜随机盐时,MAC是无状态的,但r必须是标签的一部分。固定哈希函数hs的输出为{0, 1}k ,用真正的随机函数替代PRF,“异或方案”中标签长度为|r| + k ,其精确安全性为ε + O(q2/2|r|) 。为达到期望的整体安全性O(q2/2k) ,此随机MAC必须使用|r| = Ω(k) 随机比特并增加标签长度。而我们的随机MAC仅使用|p| = O(log L) 比特的随机性就能达到相同安全级别,在实现O(q2/2k) 安全性方面,我们的方法优于使用一次性密码本的方法。
1.3 消息预处理的应用
消息预处理在其他场景中也有应用:
-
RMAC
:Jaulmes等人在RMAC的工作中使用了消息预处理。
-
迭代MAC
:Semanko研究了迭代MAC(如级联或CBC构造)的安全性,通过在消息前添加随机字符串进行随机化。他展示了一些非明显的伪造攻击,即使在前缀添加多达k/2随机比特,在2k/2次查询后仍能找到伪造。
1.4 其他相关研究
- Bellare等人的工作 :使用随机性改进级联构造的安全性,用于伪随机函数的域扩展任务,其消息预处理方式与我们不同(是前缀而非后缀),且精确安全性较弱。还考虑通过在每个消息后附加固定但随机的秘密字符串t来改变级联构造,目的是实现消息的“前缀自由性”。
- Halevi和Krawczyk的工作 :在签名方案设计中提出使用随机消息预处理,目标是降低签名方案中对哈希函数的计算假设。而我们的设置是信息论的,主要目标是提高精确安全性并同时最小化盐长度。
1.5 摊销碰撞概率
为获得“哈希后加密”范式精确安全性的更好边界,可考虑“摊销”碰撞概率。对于q条消息x1, …, xq和ε - 通用哈希函数,h(xi) = h(xj) (i ≠ j )的概率为O(εq2) 。但这个边界存在一定松弛性,实际碰撞概率可能远小于O(εq2) 。例如CBC函数,基于均匀随机排列,使用摊销方法可证明在一定条件下达到最优的O(q2/2k) 安全边界。对于级联构造,显然不能达到O(q2/2k) 安全边界;对于多项式构造,虽不确定,但推测在无随机化情况下无法达到该最优安全边界。
2. PMAC、TMAC和XCBC的新安全边界
2.1 引言
消息认证码(MAC)用于确保消息的真实性,许多研究围绕使用分组密码构建的MAC展开,如CBC - MAC及其变体。衡量无状态MAC模式F[EK]理论安全性的方法是,使用选择明文攻击(CPA),让对手区分F[EK]与随机预言机的最大优势。提高最大信息论(IT)优势很重要,有助于更好理解目标函数和扩展应用范围。
2.2 相关研究基础
Bellare、Pietrzak和Rogaway分析了CBC - MAC和加密的CBC - MAC(EMAC)的IT优势。之前使用n位均匀随机排列(URP)的EMAC边界为ℓ2q2/2n ,他们证明了改进的边界d(ℓ)q2/2n + ℓ4q2/22n ,Pietrzak也证明了在一定范围(q, ℓ) 内EMAC边界为q2/2n 。
2.3 研究目标
自然会问是否能为除EMAC外的模式获得类似改进,尤其是更复杂的模式。本文针对PMAC、TMAC和XCBC这几种MAC模式,提供了新的安全边界。
2.4 各模式介绍及新边界
- PMAC :由Black和Rogaway以及Rogaway提出,是单密钥MAC,支持任意长度消息且完全可并行化。原安全边界为σ2/2n ,这里通过不同方法证明了新边界ℓq2/2n 。
- TMAC和XCBC :是EMAC的后继者,基于CBC - MAC,不使用两个分组密码密钥,能有效处理任意长度消息。原边界为σ2/2n ,新边界为ℓq2/2n + ℓ4q2/22n 。
- OMAC :是TMAC和XCBC的优化版本,部分TMAC的证明可应用于OMAC,但目前未获得新边界。
2.5 新边界的优劣
我们的结果并非总是优于之前的结果。若消息长度分布严重向左偏斜,如一条ℓ块消息和(q - 1)条单块消息,我们的结果更差;在其他情况下,我们的结果更好。
2.6 符号与定义
- 集合表示 :{0, 1}和{0, 1}n分别表示为Σ和Σn ,i位序列集合表示为Σ≤n ,长度是n的倍数且最多为nm的二进制序列集合表示为(Σn)≤m ,所有有限长度位序列集合表示为Σ∗ ,x的位长度表示为|x| 。
- 随机对象 :n位均匀随机排列表示为Pn ,具有n位输出的随机预言机表示为On 。
- 有限域 :考虑GF(2n) 域的元素为域中多项式的n位系数向量,用整数表示n位系数向量,如2对应系数向量(00 … 010) ,对应多项式表示中的x ,3对应(00 … 011) ,对应x + 1 。对于x, y ∈ Σn ,xy表示由x和y表示的两个元素的域乘法,为简单起见,假设n = 128 。
2.7 安全概念
使用对称密码学的标准安全概念。定义了区分两个随机函数F和G的最大优势AdvcpaF,G(θ) ,在本文中只考虑信息论安全性,目标由理想n位分组密码Pn实现。对于无状态且可变输入长度(VIL)的n位输出函数F[EK] ,评估AdvvilqrfF [Pn] (θ) = AdvcpaF [Pn],On(θ) 。若AdvvilqrfF [Pn] (θ) 小,则针对F[Pn] 的所有θ - CPA的MAC伪造的最大成功概率也小。θ除查询次数q外,还包含两个附加参数之一:所有q次查询的n位块总数σ和查询的最大长度(以n位块为单位)ℓ ,我们关注θ = (q, ℓ) 的情况。
2.8 PMAC详细介绍
2.8.1 描述与原安全证明
PMAC有两个版本,我们关注较新的版本。其主要思想基于以下引理:假设GF(2n) (n = 128)的表示基于字典序第一个本原多项式,设I = {1, .., 2n/2} 和J = {0, 1, 2} 为用于GF(2n) 不同元素(“基”)的整数索引集,对于任何(α, β), (α′, β′) ∈ I × J ,若(α, β) ≠ (α′, β′) ,则2α3β ≠ 2α′3β′ 成立。
以下是相关概念的对比表格:
| 概念 | 原方法 | 我们的方法 |
| ---- | ---- | ---- |
| 随机MAC随机比特使用 | | |
| 标签长度 | | |
| 安全性边界 | | |
下面是一个简单的mermaid流程图,展示“哈希后加密”方法的基本流程:
graph LR
A[消息m] --> B[哈希函数hs]
B --> C[得到hs(m)]
D[随机数r] --> E[伪随机函数ft]
E --> F[得到ft(r)]
C --> G[异或操作⊕]
F --> G
G --> H[得到标签(r, hs(m) ⊕ ft(r))]
3. PMAC 进一步分析
3.1 PMAC 工作原理
PMAC 的工作流程基于上述引理,对于输入的消息,它会利用 GF(2n) 域中的元素进行计算。具体步骤如下:
1.
消息分块
:将输入的消息按 n 位进行分块。
2.
元素选取
:根据消息块的位置,从 I 和 J 集合中选取对应的 (α, β) 组合,得到 2α3β 作为系数。
3.
计算中间值
:将每个消息块与对应的系数进行域乘法,得到中间值。
4.
结果汇总
:将所有中间值进行异或操作,得到最终的 PMAC 值。
3.2 新安全边界证明思路
为了证明 PMAC 的新安全边界 ℓq2/2n ,采用了与之前不同的方法。主要思路是通过分析消息块之间的关系,以及哈希函数的特性,来计算碰撞概率。具体步骤如下:
1.
碰撞分析
:考虑 q 条消息,分析它们在 PMAC 计算过程中产生碰撞的可能性。
2.
利用引理
:根据之前提到的引理,确保不同消息块的系数不同,从而减少碰撞的概率。
3.
边界推导
:通过一系列的数学推导,得出新的安全边界。
3.3 与原安全边界对比
原安全边界为 σ2/2n ,新安全边界为 ℓq2/2n 。在不同的消息长度分布情况下,两者的表现有所不同:
| 消息长度分布情况 | 原安全边界表现 | 新安全边界表现 |
| ---- | ---- | ---- |
| 消息长度均匀 | 随着消息块总数 σ 增加,边界值增大 | 主要受查询次数 q 和最大长度 ℓ 影响,相对更优 |
| 消息长度严重偏斜 | 对于一条 ℓ 块消息和 (q - 1) 条单块消息,表现较好 | 可能更差 |
4. TMAC 和 XCBC 分析
4.1 TMAC 和 XCBC 基础
TMAC 和 XCBC 作为 EMAC 的后继者,继承了 CBC - MAC 的基本思想,但进行了改进。它们不使用两个分组密码密钥,能更有效地处理任意长度的消息。
4.2 新安全边界证明
新安全边界 ℓq2/2n + ℓ4q2/22n 的证明结合了 PMAC 的证明技术和 Bellare 等人对 CBC - MAC 的碰撞分析。具体步骤如下:
1.
借鉴 PMAC 技术
:利用 PMAC 中对消息块和系数的处理方法,分析消息的计算过程。
2.
CBC - MAC 碰撞分析
:结合 Bellare 等人的研究,考虑消息在 CBC - MAC 过程中的碰撞情况。
3.
综合推导
:通过综合上述两方面的分析,推导出新的安全边界。
4.3 与原安全边界对比
原安全边界为 σ2/2n ,新安全边界在大多数情况下更优。特别是在消息长度分布较为均匀的情况下,新边界能更好地反映 MAC 的安全性。
5. 安全概念的应用与理解
5.1 区分优势的实际意义
区分两个随机函数 F 和 G 的最大优势 AdvcpaF,G(θ) ,在实际应用中反映了攻击者区分这两个函数的难易程度。如果这个优势很小,说明攻击者很难区分 F 和 G ,从而保证了 MAC 的安全性。
5.2 信息论安全性的重要性
在本文中只考虑信息论安全性,即攻击者具有无限计算能力。这是因为一旦信息论安全性得到证明,在实际应用中,当攻击者计算能力受限且使用真实分组密码时,安全性更容易得到保证。
5.3 不同参数的影响
参数 q(查询次数)、σ(所有查询的 n 位块总数)和 ℓ(查询的最大长度)对 MAC 的安全性有不同的影响:
-
q
:查询次数越多,攻击者有更多机会尝试伪造 MAC ,因此安全性要求更高。
-
σ
:块总数增加,可能导致碰撞概率增大,但不同的 MAC 模式对其敏感度不同。
-
ℓ
:最大长度的增加可能会影响安全边界,特别是在一些 MAC 模式中,较长的消息可能需要更严格的安全保证。
6. 总结与展望
6.1 研究成果总结
本文为 PMAC、TMAC 和 XCBC 消息认证模式提供了新的安全边界。PMAC 的新边界为 ℓq2/2n ,TMAC 和 XCBC 的新边界为 ℓq2/2n + ℓ4q2/22n 。这些新边界在大多数实际情况下优于之前的结果,有助于更好地理解这些 MAC 模式的安全性。
6.2 未来研究方向
- OMAC 分析 :虽然部分 TMAC 的证明可应用于 OMAC ,但目前未获得新边界,未来可进一步研究。
- 其他 MAC 模式 :可以探索其他 MAC 模式是否也能获得类似的安全边界改进。
- 实际应用验证 :在实际系统中验证这些新安全边界的有效性,确保其在实际环境中的安全性。
下面是一个 mermaid 流程图,展示 PMAC 的计算流程:
graph LR
A[输入消息] --> B[消息分块]
B --> C[选取系数(α, β)]
C --> D[计算 2α3β]
B --> E[消息块与系数域乘法]
D --> E
E --> F[中间值异或汇总]
F --> G[输出 PMAC 值]
通过以上的分析和研究,我们对消息认证码的安全性有了更深入的理解,新的安全边界为实际应用提供了更可靠的参考。
超级会员免费看
30

被折叠的 条评论
为什么被折叠?



