TLS连接依靠客户端和服务器的功能。安全管理者可能担心,如果企业网站不支持较老的版本,就可能影响客户体验,但事实上,大多数浏览器已经支持TLS1.2有很长时间了。
到2016年六年底时,升级到TLS1.2对于必须遵循PCI的企业来说将是强制性的。所以,现在我们有理由为网站实施仅支持TLS1.2的策略。
确保服务器的SSL的最新对企业网站的安全有实际影响。SSL3.0易于遭受POODLE攻击,并且还会遭受有安全问题的RC4加密的破坏。TLS1.0修复了此问题,却发现了新漏洞:隐式初始化向量和填充错误的不正确处理,导致不安全的加密CBC。TLS1.1同样如此,并易于遭受Lucky 13的攻击。TLS1.2支持使用AES-GCM加密套件,却没有CBC模式加密的相同漏洞。
充分挖掘现代SSL的性能优化
过去的SSL要比HTTP慢得多,这正是许多Web开发者和网络管理者更愿意使用“http://”的原因。但是,互联网技术的发展已经使SSL更加高效。通过利用最新的TLS性能特性以及SPDY或http/2技术,现代SSL网站往往比未加密网站更快。
支持OCSP 封装
CA和TLS并非总是可靠。有时,CA颁发了一个非预期的证书,有时公司用一种使证书无效的方式改变了安全策略,有时证书的密钥被恶意用户窃取。不管是什么原因,CA和浏览器的厂商认识到:它们需要撤销有可能被破坏的证书的方法。
为了使网站的用户信任服务器交给他们的TLS证书,就需要查询由CA维护的证书撤销列表(CRL),看看证书是否已经被撤销。不幸的是,这种额外的撤销检查可以延缓用户页面的加载,并且浏览器必须等到CA返回TLS证书的状态。这种检查往往还需要DNS查询,并且需要下载很多被撤销的证书,从而导致巨大的性能牺牲。
OCSP 封装是OCSP的一部分,后者用实时的撤销检查修复了一些性能问题。由此,Web服务器不再强迫用户的浏览器直接查询CA,而是由服务器自己在一定的时间查询CA,用以找回OCSP响应。这个响应是由CA签发的,证明在指定的时间段内TLS证书的合法性。服务器可以消除用户浏览器的不必要的往返时间。
支持ECC(椭圆曲线密码)
ECC是当代的一种替代RSA的选择。ECC使用椭圆曲线的数学属性来创建单向功能,这成为公钥加密的基础。
使用ECC的好处就是ECC要求的密钥更短,所以几乎不需要向终端用户的计算机传送数据,从而加速了最初的TLS握手。此外,ECC花费的签名时间要比RSA少10倍。每次握手都需要由私钥签名,所以ECC实际上可以减少服务器的负担。
支持通过会话票据(Session Ticket)实现恢复 TLS 会话
毋庸置疑,TLS扬很昂贵,但TLS确实包括一种避免不必要握手的方法。TLS的会话恢复可以利用以前会话的对称密钥使客户端与服务器重新连接。这就无需额外的数据往返和获得新的对称密钥的费用。有两种不同的TLS恢复机制:票据(ticket)和id。
如果浏览器和服务器都支持TLS会话票据(ticket),服务器会返回一个包含对称密钥的票据(ticket),作为握手的一部分。这个票据(ticket)使用一个只有服务器才知道的加密密钥来加密的,这就使得存储TLS的会话信息成为一种安全方法。在浏览器试图重新连接到服务器时,就会返回一个加密的会话票据(ticket)。每个人都可以绕过TLS握手的其余部分,这是因为双方都可以访问对称的会话密钥。
不幸的是,Safari和IE并不支持会话票据(ticket)。这些浏览器使用一种称为会话ID的机制来恢复TLS会话。会话信息存储在服务器上而不是存储在客户端,客户端将会话的ID返回给服务器。保持所有TLS连接参数的高速缓存对服务器可能是一种负担,但是,如果你希望更广泛地支持TLS会话恢复,既支持会话票据(ticket)又支持会话ID是一个好主意。
支持 SPDY或 HTTP/2
SPDY和 HTTP/2是可以极大提升网站加载速度的互联网协议。从技术上讲,SSL并不要求其中任何协议,但是主流的浏览器厂商都支持SPDY或http/2。
HTTP/1.1强制每一次请求都使用TCP连接,而浏览器每次只能打开有限的TCP连接。结果,网站的HTML、CSS、JavaScript、媒体资产等都被连续下载。HTTP/2 和 SPDY增加了几个称为多路传输的新特性,可以使浏览器使用整个网站的单个TCP连接。它不像HTTP/1.1,多路传输可以使浏览器并行下载网站的所有资产。所以,它要比HTTP/1.1快得多。
大多数互联网通信都支持SPDY或HTTP/2。如果Web服务器并不支持这种得到广泛支持的SPDY和HTTP/2浏览器,就无法充分利用支持TLS的Web服务器的全部价值。这是现代SSL真正使Web服务器更快的一个好例子,虽然最初握手花费了一些成本。
结论:HTTPS面面观
在考虑到现代SSL所带来的安全和性能益处后,企业网站再也没有理由不利用HTTPS去响应每一个请求。如此便会简化Web开发者和系统管理员的工作,因为他们不再需要编写复杂的URL重定向来对一些网页使用HTTP,而对另一些网页使用HTTPS。
选择TLS还可以在企业和企业网站之间建立信任。HTTPS可以确保网站的访问者看到在企业网站上应该看到的内容。企业通过HTTPS提供内容就可以避免利用普通的HTTP时ISP将广告植入到企业网页中的情况。
在保障企业网站安全的问题上,四个很实用的SSL最佳实践是:
1.支持HSTS头
2.使用SHA-2证书签名
3.使用EDH 握手实现前向加密
4.升级到TLS1.2
另外,在此还提供使支持SSL的企业网站拥有更高性能的四个最佳方法:
1.支持OCSP封装
2.利用椭圆曲线加密(ECC)
3.支持TLS会话恢复
4.支持HTTP/2可SPDY
(责任编辑:安博涛)