哪一款浏览器安全性最高:失效SSL证书的检测

Flora| 2013-05-15 SSL 评论数( 1 )

证书撤销是指网站不再受SSL证书信任,SSL证书可以保护用户在访问网站时不受欺诈、窃取。然而,目前的一些浏览器在处理证书撤销时非常马虎,网站的大部分常用用户甚至是网站管理员,在证书失效的几周或几个月内都浑然不觉而继续使用。

SSL证书是通过提供一个密钥对流量进行加密,并提供第三方认证证书来证明证书所有者身份,以保护浏览器和网站之间的沟通。第三方认证机构(Certificate Authority ,CA)能提供很多不同程度的验证,从仅仅确保域名控制权(Domain Validation, DV)的验证到更广泛的扩展身份验证(Extended Validation, EV)。

不过,SSL证书—或者任何一种在服务器证书和浏览器、操作系统上的受信任的根证书之间形成证书链(chain)的证书—都有可能需要被撤销。当证书的私人密钥被黑客入侵,证书所有者不再控制申请证书时的域名,或者证书签署有误时,该证书都需要被撤销。当黑客拥有一个未撤销证书,又可以访问这个证书的私人密钥,就可以伪装成中间人(man-in-the-middle, MITM),攻击那些不知情的用户,让用户的浏览器表现得仿佛连接到一个证书合法的网站。

浏览器检测特定证书的撤销状态主要有两种方法:使用在线证书状态协议(Online Certificate Status Protocol, OCSP)或在证书撤销列表(Certificate Revocation List, CRL)中检索该证书。OCSP提供来自证书发行机构CA的个人证书的撤销信息,而CRL提供的是被撤销证书的列表。对这两种撤销的检测方法,从完全不检测或两种都使用的浏览器都有。

2013年4月30日,网络联盟Network Associates发行的一款中间证书(形成个人证书返回受信任根证书之间的部分证书链)被RSA撤销了。这款中间证书曾经用来签署了多款McAfee SSL证书。它的撤销将保护所有到使用该中间证书的网站的访问。但是,一个多星期之后也没有人注意到这一点。

这款被RSA撤销的中间证书的序列号54:99:05:bd:ca:2a:ad:e3:82:21:95:d6:aa:ee:b6:5a随后被添加到相应的CRL中。任何链中的证书都不会向OCSP提供URL,所以使用CRL是唯一检测其撤销状态的方法。CRL发布之后,浏览器就会显示错误信息,并阻止用户对网站的访问。但实际情况并不是这样的。

Firefox不会下载使用常见SSL证书的网站的CRL的(除了EV证书之外的所有证书一般都会在URL框中显示绿色的条)。因为不下载CRL,Firefox和往常一样,让用户随意浏览网站或输入敏感的个人信息,然而这些都是在一个过期的安全证书下执行的。即使OCSP有效,firefox默认还是仅仅检测服务器证书的有效性,而不是检测整条证书链的有效性(除了EV证书以外)。

移动浏览器如今在互联网的使用中所在比例越来越大。无论是安卓系统上的谷歌Chrome还是的iOS系统上Safari即使在重置之后,都不会向用户发出警告。iOS系统上Safari浏览器根本不会对除了EV证书之外的证书进行检测,也不会向有可能触发撤销错误消息的CRL发出相应请求。

谷歌Chrome在默认情况下,一般也不会对非EV证书进行标准的撤销状态检测。谷歌通过其更新机制收集了数量有限的CRL,但是至少目前为止,它没有列出有问题的证书或任何在同一CRL下已经被撤销的证书。所以,对于大部分使用默认设置的Chrome用户来说,和Firefox一样,并不会发现有什么不对劲。

为了安全考虑,谷歌Chrome浏览器设置了选项来启用相应的证书撤销检测,但是在这种情况下,最终的检测结果还是取决于浏览器平台。在Windows系统下,谷歌Chrome可以使用微软的CryptoAPI获取CRL并正确组织用户访问网站。然而,RSA的CRL并不以常规方式传递:CRL被编码为一种不被接受的基于文本的格式,而不是以二进制提供的。Mozilla浏览器的网络安全系统(用于所有平台上的Firefox和Linux下的谷歌Chrome)并不支持这种格式。在Linux下,谷歌Chrome虽然发出了对CRL的请求,但是无法处理相应,因此只能正常执行用户对网站的访问请求。

微软的网络浏览器,IE则是本文中安全性最高的浏览器之一。它获取的是服务器证书和整条证书链中其他证书的撤销信息(更偏向于OCSP,但同样依赖CRL),因此,它将阻止用户在吊销了证书的网站上进行付款购买。

Opera浏览器在默认情况下也较为安全:它阻止了用户访问该网页。Opera使用OCSP或CRL检测了整条证书链的有效性。

然而,即使是用最安全的浏览器,网站的常用用户仍然可以在几周或几个月内继续访问该网站,即使证书链中的某一个证书已经失效。在此情况下,CRL的缓存可以保持6个月,这使得网站常用用户因为CRL缓存副本而在好几个月内对证书撤销毫无知觉。在CRL缓存更新前,访问任何使用该中间证书的网站,浏览器都不会显示任何警告。

由于长达6个月的证书撤销信息缺失,控制受信任的CA机构的各浏览器开发者允许CRL对于中间证书拥有长达12个月的有效期。涵盖个人、用户证书的CRL被要求有效期最长不超过10天。究其本质而言,访问中间证书对应的密钥对黑客来说是非常有效的:他可以利用私人密钥为所有他选择的网站签署中间证书,而不仅仅是他能访问的某一个网站。浏览器是有能力辨别该不信任该证书而阻止人们访问网站的,但依赖于缓慢的更新机制相信了这些假的证书,就给了黑客可乘之机。

网店不使用有效的证书的代价是非常昂贵的,政府和银行网站的后果则更严重。如果证书、或者证书链中的某一个证书,由于私人密钥被入侵而失效,而黑客利用更新机制缓慢的浏览器不断攻击,那么用户就将长期处于被黑的风险之下。浏览器中的证书撤销状态检测应该充分分段,以确保撤销状态不被隐藏。

标签:

聚焦云计算,扫描二维码,关注HostUCan云计算

有好的文章希望站长之间帮助分享推广,猛戳这里我要投稿

您需要登录后才可以评论登录|注冊

全部评论(1)

2017-08-16 15:47
聚币网:http://www.yueweipanw.com  领先的数字货币交易平台。
[回复]
[取消回复]