Google为什么将RC4用于其HTTPS / SSL?

$ openssl s_client -connect www.google.com:443 | grep "Cipher is"
New, TLSv1/SSLv3, Cipher is RC4-SHA


RC4使用起来不安全吗?

评论

RC4可安全用于SSL / TLS。请参阅此处花旗银行和Capital One等许多银行仍在使用它。

@David Schwartz:事情变了。

Microsoft正在使用MD5。

服务器支持许多密码套件,能否使用取决于您的浏览器。我认为Google保留了SSL 3和RC4来支持Windows XP上的IE 6。请参见此处的握手模拟部分ssllabs.com/ssltest/analyze.html?d=mail.google.com

#1 楼

从学术上讲,RC4太糟糕了。它具有易于区分的特征(“ easy”表示“可以在实验室条件下真正证明”)。也很难正确使用。但是,SSL / TLS正确使用了RC4,在实践中RC4的缺点并没有真正的重要性。 ”攻击,这(再次在实验室条件下)证明了Paypal Cookie的危害。没有SSL所使用的针对RC4的如此生动的演示,因此据估计,将SSL-TLS 1.0与AES-CBC一起使用比使用RC4更具风险。正确的做法”是将AES-CBC与TLS 1.1(或任何别有用心的版本)一起使用,这对于BEAST来说没有问题,也没有与RC4相关的弱点。但是,Google是在现实世界中赚钱的,因此,他们无法执行可能阻止三分之一用户群连接的配置。

评论


$ \ begingroup $
默认情况下,Google在BEAST之前默认使用RC4,这是因为它实现的CPU负担最低,并且它们在默认情况下采用SSL处于领先地位,因此,在规模上这确实很重要。
$ \ endgroup $
– Phil P
2012年5月23日15:37

$ \ begingroup $
@PhilP:实际上,有了最近足够的x86 CPU(一个带有AES-NI指令的CPU),AES的价格比RC4便宜得多。无论如何,加密速度仅在进行批量数据传输时不可忽略,这不是Google的典型做法。 Google所做的大部分工作都是占用大量CPU的资源,因此它的加密成本相形见war。
$ \ endgroup $
–托马斯·波宁(Thomas Pornin)
2012年5月23日21:53

$ \ begingroup $
确实,有很多新东西;看到这个和这个。攻击似乎恢复了在多个TLS会话中重复的消息的一部分(对于某些字节,它以$ 2 ^ {24} $次重复开始工作)。攻击只会变得更好;他们永远不会变得更糟。
$ \ endgroup $
–fgrieu♦
13年3月19日在7:56



$ \ begingroup $
@WatsonLadd我认为,攻击一个已经有2年历史的答案,并使其看起来好像完全“完全错误”,这有点不公平-尤其是当不是!是的,当与TLS / SSL一起使用时,有关RC4的安全性的新证据浮出水面,并且有注释指出(非常重要)事实。是的,答案可能会被更新以说明新信息。
$ \ endgroup $
– Nik Bougalis
13年3月20日在1:26



$ \ begingroup $
实际上答案仍然合适。需要监视1,600万个连续连接的攻击仍然不切实际:可以在实验室条件下进行演示,但不能在现场进行演示。尽管“安全裕度”确实不是很大。
$ \ endgroup $
–托马斯·波宁(Thomas Pornin)
13年11月15日在11:49

#2 楼

维基百科对已知的RC4攻击有不错的报道。它们大多数来自输出的偏差。为了让您大致了解攻击的严重性,请参阅Wikipedia页面上的以下引号:密码的字节偏向零的概率为1/128(而不是1/256)。


还存在以下内容: COSIC的Souradyuti Paul和Bart Preneel表明RC4的第一个和第二个字节也有偏差。检测此偏差所需的样本数为$ 2 ^ {25} $字节。




...在所有可能的RC4密钥上,输出密钥流的前几个字节的统计信息都是绝对非随机的,泄漏了有关密钥的信息。如果将长期密钥和随机数简单地连接起来以生成RC4密钥,则可以通过分析使用此密钥加密的大量消息来发现此长期密钥。


但是据我所知,SSL / TLS不会将长期密钥与随机数一起使用。它会为每个连接建立一个新的密钥(甚至会在一段时间后刷新密钥)。要点是,RC4显示了一些已被利用来攻击真实世界系统的弱点。在某些配置下。但是,没有人表明这些弱点是否/如何影响SSL / TLS。但是,如果您担心此问题,我相信SSL / TLS具有密码协商阶段,因此可能有一种方法可以强制连接无法使用RC4。不过,这可能会使您遭受其他攻击。

#3 楼

我确实认为,在时间充裕的情况下,将人们强制迁移到RC4的选择被认为是愚蠢的。

我们最近有一个PCI审计程序命令,我们使用RC4来避免BEAST攻击。我们别无选择,只能遵守或面临失去我们的PCI认证的麻烦。在整个行业中,人们为响应此攻击而逃离AES-CBC。但是,我认为在TLS中使用RC4比错误地使用CBC严重得多。

为什么要问?

假设爱丽丝和鲍勃不同意RC4的安全性。艾丽斯(Alice)认为RC4对于TLS完全适用,鲍勃不同意。

他们决定建立一个小游戏。在游戏的每一轮中,鲍勃都会向爱丽丝提交两条消息,分别为m0和m1。然后,Alice将随机选择一个RC4密钥,对其中一条消息进行加密,然后将其发送回Bob。在特定游戏中,她总是选择相同的消息来加密所有回合:要么她总是加密m0,要么总是加密m1。 Bob可以根据需要选择任意多的回合,但是最终他的目标是告诉他每回合会收到两条消息中的哪一条。能够以大于50%的概率执行此操作。但是,对于RC4,他可以通过请求对两个字节消息对进行加密来轻松完成此操作。

这是它的工作原理。他将M0设置为0xFFFF,并将M1设置为0x0000。 RC4密钥流的第二个字节约为应为零的可能性的两倍:$ 2 \ over256 $。他的策略是一次又一次地一次又一次地提交这些消息。然后,他记录在第二个字节中看到0xFF的频率与看到0x00的频率。他可以用它来区分他是得到M0还是得到M1。

这也不是学术上的攻击,您实际上可以用几行Python来实现它,并且只需几秒钟即可运行。请参阅此处,了解一些我整理在一起的有效代码,以演示这种攻击。我已将默认的试用次数设置为2000。在这种设置下,有时会出错,但是大多数情况下挑战者和攻击者都同意。

更糟的是,这款游戏也不是所有学术作品。通常,使用TLS时,相同的有效负载会在多个密钥下进行加密。

假设我们使用TLS保护POP或IMAP会话的安全。协议的初始阶段对于所有用户都是相同的。更糟糕的是,实际用户密码通常是通过TLS传输的。

攻击者可能可以使用RC4的前几百个字节中的偏差来大大减少对用户密码的详尽搜索。他只是坐在那里等待用户连接到其POP服务器并记录每个会话的字节。人们通常将其电子邮件客户端配置为每隔几分钟执行一次。我们不希望用户做任何不寻常的事情!

然后他针对已知的偏差分析这些字节,以优先考虑对密码空间的暴力搜索。

我什至不认为需要进行任何新的密码分析来发起这种攻击。这仅仅是开发一种巧妙的启发式算法的问题,该算法使用已知的偏差来显着减少搜索空间。总而言之,我认为RC4在无法恢复任意明文的情况下尽可能接近崩溃,这只是时间问题!它应该紧急退休,没有人可以使用。在所有Google中排名最低。

#4 楼

RC4是一种流密码,很容易被滥用。例如。 Microsoft在保护密码和Office文档方面遇到问题。但是,afaik的使用在SSL / TLS规范内是正确的。

评论


$ \ begingroup $
RC4比理想的流密码更容易滥用。特别是其相关的关键漏洞使得添加IV时很容易犯错。
$ \ endgroup $
– CodesInChaos
2012年5月30日上午10:21

#5 楼

最新消息:http://en.wikipedia.org/wiki/Transport_Layer_Security#RC4_attack

还不太实用(至少224个密文),但是攻击只会变得更好,而不是更糟。记住WEP破解的情况。

#6 楼

请注意,在斯诺登启示之后,上述讨论可能已经过时。例如,请参阅IETF88上的“加强Internet基础结构”面板,Schneier推测NSA希望能够破坏RC4,并正在招募人员这样做。
DNI,James Clapper有个报价。他说:“我们正在投资突破性的加密功能,以打败对抗性加密技术并利用Internet流量。” 。行?听起来我们在实用性方面处于优势地位,我们正在投入资金以使其实用。
我们不知道那是什么。我们可能不会。我的意思是,我有几位猜测。第一个是椭圆曲线。完全合理的是,它们在椭圆曲线密码学中没有我们所取得的进步,
它们可以更快地破解它的通用技术或曲线类别,他们知道它们是否可以转向我们使用时,它们有一个优点。
第二个是一般分解和离散对数改进。我们在学术界每隔几年就会取得进步。假设它们距离
大约十年了。
第三个是对RC4的实际攻击。而我对这些
的订购会根据当天的日期而变化。但这是我的猜测。某个ES(不清楚)的远景。我真的对此表示怀疑,但是您知道,
我不会把它放在不可能的范围之内。


评论


$ \ begingroup $
您好,欢迎访问Crypto.SE。请考虑在您提到的文档上添加链接,并引用相关段落。如果您提到的信息使RC4基本上不安全,请在此处将其包括在内,因为它直接相关。干杯
$ \ endgroup $
–种族
13年15月15日下午3:15

#7 楼

我们仍然面临的一个主要问题是淘汰具有漏洞的旧加密标准,而不会中断对运行较旧软件(例如WinXP和IE8)的机器或网络的许多站点和服务的Web访问,否则升级成本可能很高。我认为,我们应该通过宣布应删除所有易受害标准的时间表来开始解决这个问题。


视频:IETF 88技术全体会议:强化互联网Bruce Schneier与IETF领导人Brian Carpenter,Stephen Farrell以及其他人一起在温哥华IETF 88上。
网站:斯诺登(Snowden)的国家安全局(NSA)监视后修正了数学原理


到目前为止,在已泄露的斯诺登文件中,已有一些NSA的引用,它们已经使用了功能非常强大的超级计算机尝试利用最大为2048位RSA密钥的加密货币以及针对诸如AES之类的其他货币。评论提到如此巨大的突破,以至于每个情报委员会的主席和副主席以及两名幕僚都被告知了这一点。我们已经在尝试逐步淘汰1024位RSA密钥,转而采用2048位密钥。也许我们需要更进一步,考虑3072位密钥。


他后来发布了一个新的长度为4096的公共密钥。