50、消息认证码(MAC)的安全性提升与新安全边界

消息认证码(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 值]

通过以上的分析和研究,我们对消息认证码的安全性有了更深入的理解,新的安全边界为实际应用提供了更可靠的参考。

内容概要:本文介绍了一个基于冠豪猪优化算法(CPO)的无人机三维路径规划项目,利用Python实现了在复杂三维环境中为无人机规划安、高效、低能耗飞行路径的完整解决方案。项目涵盖空间环境建模、无人机动力学约束、路径编码、多目标代价函数设计以及CPO算法的核心实现。通过体素网格建模、动态障碍物处理、路径平滑技术和多约束融合机制,系统能够在高维、密集障碍环境下快速搜索出满足飞行可行性、安全性能效最优的路径,并支持在线重规划以适应动态环境变化。文中还提供了关键模块的代码示例,包括环境建模、路径评估和CPO优化流程。; 适合人群:具备一定Python编程基础和优化算法基础知识,从事无人机、智能机器人、路径规划或智能优化算法研究的相关科研人员工程技术人员,尤其适合研究生及有一定工作经验的研发工程师。; 使用场景及目标:①应用于复杂三维环境下的无人机自主导航避障;②研究智能优化算法(如CPO)在路径规划中的实际部署性能优化;③实现多目标(路径最短、能耗最低、安全性最高)耦合条件下的工程化路径求解;④构建可扩展的智能无人系统决策框架。; 阅读建议:建议结合文中模型架构代码示例进行实践运行,重点关注目标函数设计、CPO算法改进策略约束处理机制,宜在仿真环境中测试不同场景以深入理解算法行为系统鲁棒性。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值