在现代安全通信中,除了确保消息的机密性和完整性外,消息承诺(commitment)需求日益受到关注。所谓“承诺安全”,即要求加密产生的密文对加密输入具有承诺性:攻击者无法找到两个不同的输入(包括密钥、随机数、关联数据和消息)得到相同的密文。这意味着密文唯一地绑定了发送时使用的密钥和明文内容,确保发送方“一旦加密就无法抵赖或更改”该消息。现实中一系列攻击事件和新应用场景凸显了这一需求。例如,在端到端加密消息系统中,实现“消息不可抵赖”机制需要加密方案提供承诺属性,以便接收方能够证明特定密文对应了发送方当时的唯一明文。又如分区Oracle攻击等密码分析利用了某些AEAD模式不具备对密钥的承诺性,能够试探密钥空间。因此,在抗恶意选择密文攻击和防篡改等高强度安全场景下,传统加密方案引入了承诺机制将更好地保障安全。
然而,多项研究表明常见的认证加密方案几乎均不满足“承诺安全”要求。例如,标准的AES-GCM、ChaCha20-Poly1305、CCM、OCB乃至强调抗误用的AES-GCM-SIV模式,本质上都存在密文可被不同密钥解密或同一密钥下产生碰撞的可能。这使得攻击者可能利用合法解密oracle,在多用户环境中伪造密文令错误的接收者接受,从而破坏系统安全。为解决这一问题,学界提出了消息承诺型认证加密(committingAE)的设计思路,通过密码学手段使密文对其生成时的上下文“一承诺到底”,即密钥、nonce、关联数据、明文均被绑定于密文中,不允许事后出现不同解释。总体而言,引入承诺性质已成为构建更健壮安全协议(如安全消息传输、区块链拍卖等)的迫切需求。
技术概述
认证加密(AE/AEAD)方案通常在唯一随机数(nonce)不重用的前提下提供机密性(IND-CPA)和完整性(INT-CTXT)保障。然而,在更严格的安全模型下——例如攻击者可以适应性选择密文试图欺骗解密(CCA环境)、或存在多个密钥多用户场景——传统AEAD暴露出不足之处。首先,标准AEAD不具有承诺安全:攻击者可能构造特定密文,使其在不同密钥或不同上下文下均被接受,从而违背密钥唯一性(即缺乏密钥承诺)。例如,由于GCM模式的认证标签是可线性求解的,多用户场景下理论上存在两把不同密钥对同一密文验证通过的可能,这给多用户安全埋下隐患。其次,在误用场景(nonce重复或格式不当)下,许多AEAD模式的安全性显著削弱,甚至完全失去机密性;而我们期望理想方案在误用时也保持合理的安全保障(即抗误用安全,Misuse-ResistantAE)。再次,对于需要消息承诺的应用,以往往往需要结合额外的密码承诺方案(如哈希承诺或零知识证明),增加了系统复杂度。
针对上述问题,近年来研究者提出了若干增强的AE安全模型和转换方案。例如,Bellare和Hoang等提出将密钥承诺和上下文承诺引入AEAD,定义了从弱到强的一系列承诺安全级别(如仅对密钥承诺,或对密钥+nonce+AD+消息全部承诺)。然而,实现这些高级安全性质的既有方案存在明显限制:(i)有的方案并未对整个加密上下文承诺,例如只承诺了消息但忽略了密钥或关联数据;(ii)有的依赖非标准原语,需要特殊定制的密码组件(如非常规PRF、特殊commit函数),实现复杂;(iii)有的转换方式无法作为黑盒使用,需要对底层加密算法做侵入式修改,不利于模块化实现;(iv)有的仅提供有限的承诺安全,无法覆盖误用场景或多用户场景。
传统AE难以满足某些高安全需求,推动研究者探索新的通用增强技术。理想的方案应当在不牺牲现有隐私和真实性前提下,引入承诺属性,抵御更强大的攻击模型(如恶意密文、密钥多重使用、密文重放/篡改等),同时最大限度重用标准组件,保证效率和易实现。
方案介绍
欧密2025上的论文《Committing Authenticated Encryption: Generic Transforms with Hash Functions》提出了一套基于通用哈希函数的承诺型认证加密通用转换框架,能够将任何现有对称加密方案升级为具备承诺安全的方案。该框架包括两类转换:一类面向基本情形(发送方正确使用唯一nonce),另一类面向抗误用情形(nonce可能重复或被滥用)。框架的核心思想是引入单向哈希函数对加密上下文进行绑定:利用哈希的不可碰撞性,将密钥、消息或密文进一步处理,从而实现对上下文的承诺。作者给出了以下关键构造和正式安全模型:
1)三种基础转换:将哈希函数与常规AE方案组合,以最低成本实现承诺安全:
a)Hash-then-AE(HtAE):先对部分加密内容进行哈希,再将哈希结果纳入后续的AE加密过程。直观来说,HtAE会对消息(或包括nonce、AD在内的上下文)先计算固定长度摘要,再作为“附加数据”或密钥派生输入供底层AE使用,使得最终密文包含该摘要的影响。这种方式确保如有两个不同消息,它们的摘要不同,底层AE生成的密文也必不同,从而达到承诺效果。
b)AE-and-Hash(AEaH):同时执行加密和哈希两个操作。具体而言,对明文进行常规AE加密得到密文和认证标签的同时,再对加密上下文执行单独的哈希计算,将所得哈希值作为额外的承诺标签附加在输出密文后面。这样,即使攻击者企图修改密文或换用其他密钥,由于哈希标签无法伪造,接收方验证时会察觉不一致。该方案增加的计算开销很小,经优化实现后在三种基础方案中性能表现最佳。
c)Encrypt-then-Hash(EtH):先完成消息的加密(若底层是AE则得到密文+标签,若底层仅提供加密则仅得密文),然后对所得密文(及关联数据)应用哈希,产出最终的认证标签或扩展密文。EtH方法等于用哈希函数替代或增强了底层AE的认证过程。由于哈希函数具有抗碰撞性,确保了即使底层加密不自带认证(如纯粹的对称加密算法),经过“加密后哈希”也能提供真实性校验和承诺绑定。值得一提的是,EtH转换不仅适用于AE,对纯加密方案同样适用,这是因为哈希标签可看作提供了外部的完整性验证和上下文承诺,使纯加密方案升级为认证加密并具备承诺安全。
上述三种基本转换设计都非常简洁直观。其中前两种假定底层已有认证能力(AE),而EtH可用于任意对称加密(无认证也可)。它们共同保证了强安全性:形式上证明满足IND-CPA机密性、INT-CTXT完整性,以及CMT承诺安全等严格性质。
2)两种高级转换:针对抗误用场景,作者进一步提出了两种高级哈希化转换,以兼顾nonce误用下的安全(MRAE安全)和承诺要求:
a)MRAE-Preserving转换AEtH:该转换在名字上与基础方案EtH类似,但这里的AEtH可以理解为“高级版 EtH”或“AE then Hash”。AEtH假定底层提供了抗误用的AE方案(即底层已经是误用安全的AE),通过一种巧妙的“局部哈希”策略来添加承诺功能。具体来说,AEtH并非哈希整个密文,而是仅哈希密文的最后一个分组(或某固定分块)并将结果作为新标签。这样做减少了额外开销,同时仍保证了碰撞攻击者无法构造不同消息产生相同尾部,从而实现承诺安全。AEtH的重要特性是:保持了底层的误用抗性,即如果原AE能防御nonce重复,AEtH转换后依然防御,并额外具备了承诺属性。作者证明了AEtH满足强承诺安全和误用安全,并在性能上优于此前文献中的类似方案。
b)MRAE-Lifting转换chaSIV:这是本文最具创新性的构造之一。chaSIV代表“承诺型哈希基SIV”(committing hash-based SIV)。该方案的意义在于:首次实现将一个普通(非抗误用)的AE方案直接提升为同时具备承诺安全和抗误用安全。更难能可贵的是,chaSIV甚至可以作用于纯加密方案,使其一跃成为兼具认证、承诺、抗误用性质的完整方案。chaSIV的设计思路借鉴了SIV模式(Synthetic IV)的精髓,即利用消息内容产生“合成初始向量”来避免重放攻击,但chaSIV以哈希函数为核心,实现方式更通用简单。其加密过程包括两个主要阶段:(1)利用密钥通过PRF和Hash组合计算出一个与当前(K,N,AD,M)上下文绑定的副密钥/IV(可视为承诺值);(2)用该派生出的密钥或IV执行实际的对称加密(如CTR流加密)得到密文。由于第一步引入的哈希确保了上下文的唯一绑定,chaSIV加密生成的密文天然地对整个上下文承诺,而且因为第二步类似SIV是确定性加密的一种(相同输入上下文不会产生不同密文),所以即使nonce重复也不会危害安全。作者因此称chaSIV具有“MRAE提升”能力:能将一个一般AE升级为误用安全且承诺安全的AE。形式化分析表明,chaSIV设计简单但安全性强健,与AEtH相比也达到了同等等级的安全保证。
上述框架基于明确的安全模型给出了完整的安全性证明。论文定义并使用了多个安全游戏来刻画这些性质,包括IND-CPA/INT-CTXT(隐私和真实性)、CMT(上下文承诺安全)以及CDY(上下文可发现性)等。其中CMT保证攻击者无法找到不同的上下文生成相同密文,CDY则保证攻击者无法通过密文逆推出有关上下文的信息(除非完全一致)。值得一提的是,作者采用了随机预言模型来证明哈希函数提供的抗碰撞和伪随机性质,从而证明转换后方案在该模型下满足上述所有安全目标。换言之,只要底层使用的哈希函数满足标准的抗碰撞等安全性,框架转换后的加密方案将在理论上达到所声明的承诺安全等级。
相较于此前的方案,该文提出的哈希函数通用转换框架在多个方面展现出显著优势:
·完整的承诺安全:新方案实现了对整个加密上下文的承诺,即密钥、nonce、关联数据、明文全部被密文所绑定。以往有的方案仅做到对密钥或消息承诺,而忽略其它要素,可能留下攻击空间。本框架填补了这一空白,使攻击者无法对密文进行任何“二义性”解释。例如,攻击者不可能找到另一把密钥或另一组消息令已有密文解密通过,从根本上杜绝了密钥替换攻击和消息篡改的可能性。
·抗主动攻击能力强:承诺型AE在抗击选择密文攻击(CCA)方面更为健壮。即使攻击者拥有解密Oracle,任何试图用伪造的上下文去欺骗解密的行为都会因承诺不符而失败——非原始密钥/nonce/AD下密文验证将无法通过。这也防止了分区Oracle一类通过测试密文有效性来逼近密钥的攻击。同时,在nonce误用情况下,新方案仍保持安全:AEtH可沿袭底层误用安全特性,chaSIV更是通过确定性IV避免了nonce重放导致的泄密。这使得系统在实现层面对使用不当的鲁棒性提高,降低了由于实现或操作失误引发灾难性漏洞的风险。
·通用性和黑盒兼容:该转换框架完全采用标准化原语构建,具有极佳的通用兼容性。它仅需常规哈希函数(如SHA-2、BLAKE2等)和现有对称加密/AEAD算法即可实现,无需定制新的密码学组件。所有转换都以“黑盒”方式叠加在现有方案之上,无需修改底层算法内部。这意味着开发者可以直接利用常见加密库的API函数组合出承诺型AE。例如,作者演示了在OpenSSL和wolfSSL库中调用AES-CTR和SHA-256即可组合实现其方案。这种模块化特性大大降低了部署门槛,有利于快速将理论成果应用到工程实践中。
·效率良好,开销低:虽然增加了哈希计算,但本方案在性能上依然保持高效。特别是AEaH转换经过优化后成为基础转换中效率最高的方案;在高级方案中,AEtH的速度也优于以往文献提出的同类承诺转换。更令人瞩目的是,chaSIV虽然同时提供了承诺和误用安全,但性能并未明显牺牲:对于消息长度较短时其开销可与CTX、AEtH等相当,而对大于约360字节的长消息,chaSIV的吞吐量甚至超过了非承诺但经过标准化的AES-GCM-SIV模式。这表明通过合理设计,承诺型AE方案完全可以在实际应用中达到媲美传统AEAD的速度。结合使用硬件加速的哈希算法(如SHA指令集)和并行流水线,框架转换的方案预计能满足大多数应用对性能的要求。
对比既有方法的优势:与依赖强伪随机函数(PRF)或特殊模式(如SIV)的做法相比,本文方案更加普适和灵活。之前一些转换需要使用非常规安全假设(例如“右抗碰撞”PRG/PRF)或引入额外密钥派生、填充冗余等机制,复杂度和实现成本较高。相比之下,该方案借助通用哈希函数即可达到等价安全效果,降低了对底层算法的特殊要求。此外,SIV类方案(如AES-SIV、AES-GCM-SIV)通常是特定设计,虽然提供Nonce误用安全,但并未考虑承诺整个上下文,仍可能存在密钥替换隐患。而chaSIV则将哈希承诺融入SIV理念,既保持了nonce独立性又实现了全面承诺。更重要的是,chaSIV作为通用转换能够作用于任意AE甚至纯加密算法,这种“一键升级”能力是固定模式所不具备的灵活性。总而言之,新方案在安全性、灵活性、实现难度和性能之间取得了卓越的平衡。
承诺型认证加密的出现,为多个具有高安全需求的领域提供了潜在的解决方案:
·安全消息传输与消息举报:在即时通讯应用中,引入承诺型加密可实现所谓消息拒绝抵赖或消息留痕功能。例如,消息戳机制要求发送方发送的每条消息都包含不可篡改的承诺证明,以便接收方在举报滥用内容时,服务器可验证该密文确由嫌疑用户生成。传统方案需要将消息哈希签名等附加发送,比较繁琐;而使用承诺型AE,密文自身即充当了承诺,一旦接收方提供密钥,任何第三方都可验证密文只能对应唯一明文。这为WhatsApp、Signal等应用实现可举报的加密消息提供了新的技术路径,避免额外的承诺协议开销。
·区块链和公开记录:在区块链智能合约或去中心化应用中,经常需要提交-揭示(Commit-Reveal)模式来保证协议公平性。例如,在链上拍卖中,投标者先提交加密的出价,待拍卖结束后再公布密钥揭示出价。若使用一般加密,一个心怀不轨的投标者可能尝试在揭标前选择性地寻找另一组密钥和出价使其提交的密文对应更有利的值(尽管难度极高但理论上存在可能)。承诺型加密能够杜绝这种作弊空间——因为密文在提交时就已承诺了唯一的明文出价和密钥,其它任何组合都不可能生成相同密文。这样一来,链上参与者可以放心地将密文作为不可抵赖的承诺凭证写入区块链,待时机成熟再公开密钥兑现承诺。这也适用于其它需要加密承诺的场景,如随机数Beacon、去中心化投注等,提高了系统的可信度。
·密钥交换与派生:在协议设计中,经常需要从多个来源输入派生会话密钥或联合密钥。在这些情况下,引入承诺型加密可以增强密钥协商的鲁棒性。举例来说,在多方安全协议中,各方可能贡献各自的随机值,彼此发送加密后的值再共同解密以生成共享密钥。如果使用承诺型AE来传输这些中间值,可以确保发送方加密的一定是声称的随机值,而不能事后翻供说另有他值——因为密文已经承诺绑定了该值和发送者密钥。类似地,在复杂的多用户密钥派生场景中,承诺型加密能防止恶意参与者提供精心构造的备选输入企图造成相同输出,从而提升协作密钥生成的整体安全性。总的来说,任何涉及关键参数分发的系统(如分布式密钥托管、密码学货币托管等)都可考虑采用承诺型加密以防范上下文混淆攻击。
·零知识证明与多方计算:在零知识协议和安全多方计算中,经常需要使用承诺方案来保证参与方提交的输入不可篡改。传统上,这些承诺通过独立的承诺函数(如哈希承诺或Pedersen承诺)实现。承诺型AE提供了一种一举两得的选择:参与方可以直接用承诺型加密来隐藏其私密输入,这样密文既确保了输入保密,又天然包含了承诺属性,一旦需要公开时提供密钥即可验证其正确性。比如在某些分布式投票或协议初始化阶段,各方提交加密后的选择,但要求在揭晓时能验证没有人作弊或更改,承诺型加密非常契合此类需求。此外,在MPC中,节点彼此发送加密消息计算函数,如果使用承诺型AE,则可防止节点发送两份不同的密文欺骗不同方(即所谓“一稿两投”攻击),因为密文如果相同则必对应相同输入。未来,我们可能看到承诺型AE与零知识和MPC技术相结合,简化协议流程并增强安全保障。
承诺型认证加密在任何需要高可靠性、防篡改证据的场景都具有工程价值。它让系统中的密文从“黑盒”变成了兼具证明作用的“信物”,在不泄露内容前提下提供了强有力的完整性和唯一性保证。
该文系统地研究并提出了承诺型认证加密的新方法,通过引入哈希函数的通用转换框架,作者成功弥补了现有方案的诸多不足:不仅提供了对完整加密上下文的承诺安全,还首次实现了一步将普通AE提升为具备承诺和抗误用双重保障的方案。在理论上,论文给出了完整的安全模型和严密的证明,证明这些转换在随机预言模型下达到了期望的隐私、真实性和承诺安全目标。而在实用方面,作者选用标准算法组件实现并测试了转换方案,结果表明性能开销可控,某些情形下甚至优于既有非承诺方案。这一成果表明,实现更强安全性的认证加密在工程上是可行的。
在安全协议层面,承诺型加密可望被嵌入到现有协议中以增强安全性。例如,在Secure Messaging协议(Signal的X3DH/Double Ratchet)中加入承诺型加密模块,可防止中间人利用密钥混淆攻击冒充他人消息;又或者在TLS等握手协议的票据加密中启用承诺属性,以防止票据被重复用于不同上下文。区块链智能合约在构建拍卖、随机数生成等模块时,也可以直接调用承诺型AE来取代传统的“加密+哈希”两步走方案,从而简化合约逻辑并减少错误。
参考文献
[1] Chen, S., Karadžić, V. (2025). Committing Authenticated Encryption: Generic Transforms with Hash Functions. In: Advances in Cryptology – EUROCRYPT 2025. Lecture Notes in Computer Science, vol 15601. Springer, Cham. https://doi.org/10.1007/978-3-031-91107-1_4
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...