首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GCM模式加密的实际缺点

GCM模式加密的实际缺点
EN

Cryptography用户
提问于 2013-10-04 22:13:24
回答 1查看 26.3K关注 0票数 36

似乎GCM模式加密比CBC + HMAC有明显的优势,因为它只需要一个密钥。但这里似乎有一些专家不相信它,不足以推荐它。这一问题呼吁这些专家明确界定这些关切。

GCM模式加密是否有比使用两个单独密钥的CBC + HMAC在实际操作中更不安全的特性?

例如,答案可以集中在算法的属性上,这些属性使得它比其他算法更容易受到侧信道攻击。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2013-10-06 17:17:03

与CBC模式和HMAC模式相比,GCM模式是一种比较普遍的更好的选择。但是,我将详细介绍它不一定存在的地方。就像里奇框架,我也不同意CBC + HMAC总是最好的比较目标。我补充了一些其他细节。希望你觉得它们有用。

对抗CBC和HMAC

我先讨论不好的方面。

GCM ( GHASH )的认证部分比HMAC弱,GHASH提供了最大的128位身份验证标记,而HMAC允许更长的标记(HMAC-SHA-256将允许256位身份验证标记)。此外,在某些情况下,伪造GHASH标签比HMAC更容易:

与任何基于标签的认证机制一样,如果对手随机选择一个t-bit标记,则对于具有概率1/2^t的给定数据,它是正确的。然而,在GCM中,对手可以选择增加此概率的标记,这与密文和AAD的总长度成正比。(借用NIST SP 800-38D.)

使用GCM模式的实现通常使用短IV (96位),例如NIST SP 800-38D建议使用96位IVs。(定义了更长的IVs,但它们需要额外调用GHASH函数。)96位IVs (GCM)在128位IV (CBC)中的使用可能太短.例如,随机IVs的碰撞概率。

GCM的好处:正确实现GCM几乎总是更快,使用GCM比正确操作AES + HMAC组合更容易。CBC模式需要将输入填充到块大小,因此,如果输入不是块大小的倍数,GCM模式会产生较小的输出。

对抗CTR + HMAC

由于AES并行化的好处也可以通过CTR模式获得,所以CTR + HMAC与GCM相当相似,可以很好地执行。如果认证标签的需求超过了GCM所能提供的范围,这可能会更好。

对抗CCM

CCM模式在很大程度上类似于GCM模式。最大的好处是实现需要更少的代码(SW)或门(HW),但是CCM实现通常比GCM慢。

总的来说,由于HW实现门计数,一些IEEE 802标准倾向于选择CCM而不是GCM。

SIV-AES和AES-KW

可以使用AES-GCM (密钥包装)对其他密钥进行包装。

对于目标是密钥包装(用另一个密钥对密钥进行加密)的认证加密,SIV-AES和AES-KW算法通常优于AES-GCM算法。从更好的意义上说,它们可以不依赖随机数生成(或确定性IV生成器)使用,而且它们的输出可以更小,因为除了加密的输出和身份验证标记之外,不需要IV。(这些通常被认为是确定性认证加密的好处。)

密钥,IV对重用

我已经提到了IV,密钥对重用。

GCM模式并不能抵抗密钥IV组合的重用。为了防止这种情况,一些缔约方如NIST对GCM模式的正确使用提出了更多的要求。从安全性的角度来看,这是一个好主意,但它可能会减少模式的允许使用。

通常,GCM最方便地用于新密钥作为协议的一部分(TLS或IPsec)被同意或传输的情况。如果在需要持久化存储的密钥时使用,那么确保IV的唯一性可能会很麻烦。

NIST意识到了这个陷阱。NIST的CMVP (密码模块验证程序,也就是FIPS 140-2验证程序)需要谨慎使用GCM (FIPS 140-2 IG A.5)。FIPS批准的GCM模式的实现在使用密钥时需要非常小心,因为在GCM模式中重用密钥,IV对是不允许发生的。

CBC-ESSIV

AES-CBC模式可用于磁盘加密(特别是在ESSIV中,请参见维基百科磁盘加密理论)。GCM通常使用较小的IV长度,并且不具有IV冲突的抵抗力,这使得它很难应用于需要加密大量块且不按顺序进行加密的上下文(确定性IV增加是可以的)。出于这个原因,AES-GCM并不是用来加密存储的数据,而是用于传输数据。

摘要

GCM是一种非常好的操作方式,它通常比CBC + HMAC等传统算法组合更方便。然而,它不是一个通用的解决方案(没有一种模式是通用的),而是只对过境时的大量数据最方便。

票数 32
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/10775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档