[译]TLS中的RC4被攻破了,现在该怎么办?
原文链接:https://community.qualys.com/blogs/securitylabs/2013/03/19/rc4-in-tls-is-broken-now-what
原文发表时间:2013.3.19
一段时间以来,RC4都被认为是有问题的,但是直到不久前才有利用其弱点的方法。在2011年BEAST被披露后,我们建议使用RC4算法以避免TLS1.0及更早版本中使用的CBC模式密码套件的弱点。这导致使用RC4的比例大幅上升,有说法称其占据了大约50%。
上周,一组研究人员(Nadhem AlFardan, Dan Bernstein, Kenny Paterson, Bertram Poettering and Jacob Schuldt)发布了一种针对RC4攻击的有效改进,发现了新的弱点和新的利用方法。Matthew Green在他的博客上做了很好的总结,这里是新问题发布时的幻灯片。
目前,这种攻击尚未能实用,因为它需要上百万甚至上亿条使用不同密钥对相同数据进行的加密结果。浏览器需要与服务端建立多个链接才能给攻击者传递足够的数据。一种可能的利用路径是以某种方法使浏览器建立起大量的连接,同时中间人观察并记录传递的信息。
现在我们还是安全的,但是这给研究人员提升RC4攻击方法带来了很大的刺激,这也意味着我们必须要迅速行动起来。
我们(SSL Labs)将会做什么?
- 开始对我们的用户警告RC4的弱点。 RC4已经确认被攻破,当前在TLS中使用已不安全。但是困难在于,对于用户基数特别大的站点来讲,无法100%安全的替换RC4算法。我们现在除了接受它之外别无选择,无论怎么设置,一些用户仍将处于风险之中。
如果苹果公司实现了1/n-1 record splitting在他们的协议栈中(唯一没有实现的主流刘浏览器厂商),我们可以认为BEAST已经在客户端有效的缓解了,我们将建议用户使用非RC4的CBC密码套件。更新:苹果在2013年10月发布的OS X Mavericks中实现了BEAST缓解措施。这意味着BEAST可以被认为得到了有效的缓解。要想了解更多信息,请参看本博文。- 开始建议使用GCM模式的密码套件。浏览器将毫无疑问的加快对TLS 1.2和GCM密码套件提供支持,站点管理员将因此而收益。
- 更新 “SSL/TLS部署最佳实践”。
- 在不久的将来,更新评级算法,将RC4弱点纳入考量。
建议
SSL/TLS库开发者
- 加强你的协议栈对Lucky 13攻击的防御能力。(译者注:Lucky 13也是一种针对CBC模式密码套件的攻击,2013年2月发布,不过目前各大主流SSL库都已经修复了该问题。PS:漏洞太TM多了)
- 尽快提供对TLS 1.2和GCM模式密码套件的支持。
浏览器厂商
- 尽快提供对TLS 1.2和GCM模式密码套件的支持。
- 尽快实现1/n-1 record splitting以使得CBC模式密码套件在TLS1.0和更早版本中也是安全的。据我们所了解,苹果是唯一尚未对浏览器发布补丁的厂商,无论是OS X还是IOS。(2013年10月发布了)
系统管理员
- 禁用TLS压缩。这种攻击类似于最近的RC4攻击,只不过可实用。(译者注:另外一种针对SSL/TLS的攻击,利用的压缩算法的机制进行。)
- 尽快提供对TLS 1.2和GCM模式密码套件的支持。
TLS工作组
- 恢复TLS中算法的灵活性和多样性。现在AES GCM密码套件是TLS中保证安全的唯一选择,但是我们不应该一直这样。
- 考虑引入新的流密码算法。如果只有一种密码算法可选,是无法提供算法灵活性的。
- 考虑改变CBC的实现,以便解决timing问题(译者注:就是CBC模式算法漏洞产生的根源)。
应用开发者
- 强化会话管理,以提供可靠的和频繁变换的会话cookie,以增加攻击者所需要的时间和请求数量。近年来这种攻击有个趋势:需要攻击者以某种方式控制TLS连接的客户端。大部分这种攻击集中在提取信息中的一小段,比较典型的就是认证集。会话cookie现在是最为热门的目标。既然攻击是否顺利进行取决于需要多少请求,频繁的变换会话cookie是一个很好的深度防御措施。
[译]TLS中的RC4被攻破了,现在该怎么办?的更多相关文章
- CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储
CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...
- [译]SSL/TLS真的被BEAST攻击攻破了吗?真实情况是怎样的?我应该做什么?
原文链接:https://luxsci.com/blog/is-ssltls-really-broken-by-the-beast-attack-what-is-the-real-story-what ...
- 2018-02-17 中文代码示例[译]Scala中创建隐式函数
前言: 学习Scala时, 顺便翻译一下自己有兴趣的文章. 代码中所有命名都中文化了(不是翻译). 比如原文用的是甜甜圈的例子. 原文: Scala Tutorial - Learn How To C ...
- [译]AngularJS中DOM操作
再翻译一篇干货短文,原文:AngularJS jQuery 虽然Angularjs将我们从DOM的操作中解放出来了,但是很多时候我们还是会需要在controller/view加载之后执行一些DOM操作 ...
- [译]ES6中的代理对象
原文:http://ariya.ofilabs.com/2013/07/es6-and-proxy.html 能够拦截在一个对象上的指定操作的能力是非常有用的,尤其是在故障调试的时候.通过ECMASc ...
- [译]AngularJS中几种Providers(Factory, Service, Provider)的区别
原文: http://blog.xebia.com/2013/09/01/differences-between-providers-in-angularjs/ 什么是Provider? Angula ...
- [译]JavaScript中,{}+{}等于多少?
最近,Gary Bernhardt在一个简短的演讲视频“Wat”中指出了一个有趣的JavaScript怪癖:在把对象和数组混合相加时,会得到一些你意想不到的结果.本篇文章会依次讲解这些计算结果是如何得 ...
- [译] UML中的关系之Dependency
在UML中,依赖关系表示Client依赖于另一个元素,叫做Supplier. 通常来说,依赖关系不需要特殊的名字. 依赖的类别 抽象 abstraction, derive, refine, trac ...
- [译]Java中的继承 VS 组合
(文章翻译自Inheritance vs. Composition in Java) 这篇文章阐述了Java中继承和组合的概念.它首先给出了一个继承的例子然后指出怎么通过组合来提高继承的设计.最后总结 ...
随机推荐
- jqueryUI之datepicker日历插件的介绍和使用
jQuery UI很强大,其中的日期选择插件Datepicker是一个配置灵活的插件.我们可以自定义其展示方式,包括日期格式.语言.限制选择日期范围.添加相关按钮以及其它导航等.
- 刷完了leetcode的数据库题目~
很久很久很久之前,我上传了几条数据库题目,并没有坚持,今天跟新一下进度吧,其实没啥难度w(* ̄︶ ̄)
- Linux命令详解-mv
mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...
- cocos对象池的使用
enemy.js cc.Class({ extends: cc.Component, properties: { enemySpeed: 0, //设置加速度 }, //初始化当前节点的y坐标 ini ...
- css实现水平 垂直居中
css实现水平居中 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- C#,WebRequest类、HttpWebRequest类与HttpRequest类的区别
C#,WebRequest类和HttpWebRequest类的区别? httpWebRequest是webRequest的子类,httpWebRequest是基于http协议的 . HttpWebRe ...
- LeetCode OJ:H-Index(H指数)
Given an array of citations (each citation is a non-negative integer) of a researcher, write a funct ...
- Redis数据结构:链表
链表被广泛用于Redis的各种功能,比如列表键.发布与订阅.慢查询.监视器等. 每个链表节点由一个listNode结构表示,每个节点都有前置节点和后置节点. 每个链表使用一个list结构来表示,这个结 ...
- 利用Appium Python测试爱壁纸的登录和设置壁纸
设置壁纸: #coding:utf-8 #Import the common package import os import unittest from appium import webdrive ...
- LINUX中的DNS服务---高速缓存DNS
一.什么是DNS Domain Name System,域名系统. 万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网.他主要负责把域名和IP的相互转换 ...