关注网络安全
和行业未来

为什么Chrome53将拒绝大通银行网站的赛门铁克证书

由于Chrome中的一个bug,发布超过10周的所有Chrome 53版本现在对所有使用2016年6月1日及以后颁发的Symantec证书(包括为Symantec所有的品牌,如Thawte和GeoTrust)的网站提示错误信息。从上周五(2016年11月11日)起,Chrome用户可以简单地通过重启Chrome浏览器来避免这个bug。Chromium用户则必须升级。

如果你正在使用Chrome53版本,你可能会发现在Chrome52版本下能够正常工作的网站现在会出现“你的连接不是私有的”提示,错误代码是“NET::ERR_CERTIFICATE_TRANSPARENCY_REQUIRED”。例如,在本文发稿时choosemyreward.chase.com网站仍显示如下错误提示:

1

简单的解释是,大通银行的系统管理员在向证书颁发机构Symantec申请SSL证书时犯了一个错误,但正如我们将要看到的,Symantec也承担了一部分责任。

证书透明系统的历史

HTTPS的安全依赖于叫做证书颁发机构的组织,这类组织颁发证书来确保你和网站之间的连接的安全性和私密性。只有当证书颁发机构做好自身的工作时,HTTPS才是安全的。如果一个证书颁发机构把事情搞砸了,颁发了未经授权的证书,攻击者就能窃听HTTPS连接。

不幸的是,确保证书颁发机构正确工作是很困难的,误发证书的情况时有发生。其中一些未经授权的证书已经导致了针对HTTPS连接的攻击。

为应对这种情况,谷歌建立了证书透明系统。在该系统下,所有证书都要由证书颁发机构或第三方观察员(如Googlebot)提交到可供公众查阅的日志中。域的所有者可以使用像Cert Spotter之类的服务对这些日志进行监视,如果他们的域上发现未经授权的证书,就可以采取行动。

浏览器最终将拒绝那些未使用证书透明系统记录的证书。但是,谷歌将逐步强制推行该系统,以首先获得操作经验。该事件的第一个重要标志是2015年1月开始要求扩展验证证书使用证书透明系统。

第二个重要标志是去年10月谷歌发现大型证书颁发机构Symantec为谷歌和其他75个域颁发了未经授权的“测试”证书。因为在未获得所有者同意的情况下为一个域颁发证书是对客户信任的严重侵害,所以谷歌宣布将要求Symantec在2016年6月1日及以后颁发的所有证书都加入证书透明系统。这一改变已于上周在Chrome53版本中实行。

Symantec和证书透明系统

在大多数情况下,Symantec遵守了谷歌的日志要求,在默认情况下,他们颁发的任何证书都会被恰当记录并在Chrome53版本下工作。然而,证书透明系统有一个缺点:它要求记录每个证书的完整内容(包括主机名)并向公众公开。对于一个公共网站来说,这不是大问题,但一些机构倾向于保护其内部服务器主机名的私密性。甚至一些公共网站的主机名也可能需要在某个日期之前保持私密性,以避免诸如新产品发布或公司并购等信息的泄露。

为解决私密性问题,负责证书透明系统的IETF工作团队开发出一种修订机制,允许证书颁发机构修改其注册域名之下的主机名。例如,一个secretserver.secretdivision.example.com证书可以记作?.secretdivision.example.com?.?.example.com,但不能记作?.?.?.com。修订机制允许域的所有者保持其主机名的私密性,也允许他们检测为其所有的域下面的一些主机名颁发的证书。

但不幸的是,对Symantec来说,为他们的一些对私密性很敏感的客户做修订会遇到障碍。

首先,修订机制仅仅是下一版本的证书透明系统定义的一种机制,还只是一个草案,尚未在Chrome或任何公共日志服务器上正式实行。

其次,Chrome团队对修订机制有几个顾虑,他们称,除非他们担忧的问题被解决,否则Chrome将不支持修订机制。部分由于Chrome的担忧,IETF工作团队从下一版本的证书透明系统中移除了修订机制,将其置于一个独立文档中,该文档尚未被团队正式采用。

尽管修订机制实际上并不存在,Symantec已逐步将修订机制植入原版证书透明系统。结果是,一个在不支持证书透明系统的浏览器中正常运行的Franken证书,在Chrome中不再有效。

无意义的修订机制

Symantec默认以兼容的、未修订的形式记录证书,但他们也为其客户提供以修订形式记录证书的选项。选择这一选项的客户得到的Franken证书在Chrome53版本下会出现上述警告。

尽管与Chrome不兼容且修订公共网站的证书完全没有意义,大通银行和联合航空公司还是选择修订证书。联合航空公司在Chrome53版本变得稳定前修复了他们的网站,将他们的证书更换为记录全部内容的证书,但到本文发稿时,choosemyreward.chase.com仍使用被Chrome53版本拒绝的Franken证书。

从证书透明系统日志收集的数据显示,只有极少数公共网站使用修订机制,包括Amazon, Fedex, Goldman Sachs, Mitsubishi和Siemens的网站。

为什么有人选择修订公共网站的日志?Symantec的文档可能要为此负责。该文档这样描述两种选项:

  • 完整域名:在证书的公共日志中记录根域名和子域名。建议所有公共网站采用。
  • 仅根域名:在证书的公共日志中仅记录根域名。预计仅针对私有内部域。

尽管他们说记录根域名“预计仅针对私有内部域”,并建议对公共网站记录完整域名,但在以下表述之前并未提及这一缺点:

当用户连接到网站时,所有记录根域名的证书都可能在浏览器中显示警告。

对于一个世界上最流行的浏览器来说,把一定会出现警告说成“可能”出现警告是不应该的。

Symantec需要做更多工作来告知他们的客户选择修订机制的缺点。有太多网站错误地选择了修订机制,而在Symantec改进他们的消息提示系统之前,这种情况可能会持续下去。同时,Chrome用户在访问这些网站时会遇到原本可以避免的浏览器错误,这对于Symantec的客户的客户来说是很糟糕的体验,还可能会降低人们对安全警告的敏感性。

最后,如果你代表一个想要正确使用修订机制(是指隐藏非公共服务器的主机名)的机构,请发邮件给IETF工作团队的邮件列表。团队在设计修订机制时曾遇到困难,而解决Chrome的问题将需要听取那些想要使用修订机制的人们的意见。

稿源:sslmate

评论 抢沙发