周三,研究人员Alex Halderman和Nadia Heninger提出NSA已经能够通过攻击1024位素数的Diffie-Hellman密钥交换算法解密大量HTTPS、SSH和VPN连接。
NSA可能已破解1024位Diffie-Hellman
上半年发现的Logjam攻击就允许一个使用中间人攻击的黑客将TLS链接的加密算法的输出级别降至512位。通过对具有较强的1024位参数的算法的成本分析以及与我们所知道的国家安全局的“黑预算”的比较。NSA很可能已经破解1024位的Diffie-Hellman有一段时间了。
好消息是,从这项研究发表后各大浏览器厂商(IE、Chrome和火狐)删除了512位的Diffie-Hellman的支持。
这里有一些关于Web浏览器、SSH客户端以及VPN软件的小技巧以保护自己防止被监控。
网络浏览器
为了确保你使用的是最强的加密套件,你需要看看浏览器是否支持该加密算法(或加密套件)。这里有一个很好的工具,How's My SSL,用来测试浏览器的加密套件支持。页面的相关区域在底部给出了你的加密套件。需要注意的是:卸载“_DHE_”加密器确实可以消除这种攻击的危险性,但也可能导致删除了一些网站前向安全支持。下面是如何去除那些“_DHE_”加密器的方法:
1.Firefox(40.0.3版)
打开一个新的标签,在地址栏中输入“about:config”进入。如果你得到一个警告页面,点击“我保证我会小心的!”这样你就进入了Firefox的配置设置。在搜索栏中键入“.dhe_”,按“Enter”键。这样应该会显示两个设置:“security.ssl3.dhe_rsa_aes_128_sha”和“security.ssl3.dhe_rsa_aes_256_sha”。双击他们,然后都把“true”改成“false”。
再刷新一下 How's My SSL页面,“_DHE_”密码套件不见了!
2.Chrome
按照下列操作系统的这些步骤后,刷新How's My SSL页面,“_DHE_”密码套件就会消失。请注意,TLS Cipher Suite Registry中列表中16进制值对应不同的。
(1)OSX系统 (OSX 10.10.5)
打开“Automator”,然后双击“运行Shell脚本”。使用以下内容替换“cat”命令:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --cipher-suite-blacklist=0x0033,0x0039,0x009E,0xcc15
将应用程序保存到你的应用程序文件夹中。在finder中,你可以把应用程序拖到你的dock,然后用它来打开Chrome浏览器。
(2)Windows系统(Windows 7)
鼠标右键单击Chrome浏览器的快捷方式,单击“属性”然后将下面内容添加到“target”的末端:
“--cipher-suite-blacklist=0x0033,0x0039,0x009E,0xcc15”
然后,target里应该是类似以下内容:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --cipher-suite-blacklist=0x0033,0x0039,0x009E,0xcc15
从现在开始,用这个快捷方式打开浏览器。
(3)Linux系统(Ubuntu 14.04 LTS)
从命令行启动chrome删除不需要的加密套件:
google-chrome --cipher-suite-blacklist=0x0033,0x0039,0x009E,0xcc15
SSH
VPN
大多数VPN软件支持OpenVPN的“.ovpn”文件扩展名。许多VPN供应商也提供“.ovpn”文件连接。你可以用下面的命令查询你的OpenVPN客户端加密套件:
openvpn --show-tls
该列表首先应该由最强的加密套件先加密。 OpenVPN的最新版本有“ECDHE”支持,但你的VPN供应商也必须支持所需的加密系统。只有“DHE”的加密系统可能会很容易被攻克,不过OpenVPN往往有VPN服务器产生自己的素数,这减轻了预计算攻击的风险。编辑“.ovpn”文件并连接好测试一下,防止VPN供应商探查到。
tls-cipher [cipher-1]:[cipher-2]:[cipher-3]
如果它依然不具有很强的密码连接,请联系您的VPN供应商,并要求他们更新自己的服务器使用更强大的加密算法。