浅谈EV证书的作用及思考

      当你搜索TLS(SSL)证书的时候会找到三种不同的类型,它们在价格和获取难度方面的差异很大。而你选择的种类将会影响浏览器对待你的证书的方式。在这篇文章中,我将探讨EV证书的存在意义,以及它是否真的划算?为了回答这些问题,我们首先需要了解三种类型的区别在哪儿。

      很多人选择证书类型时往往优先对比价格,但一分价钱一分货,不同类型证书之间确实存在着实质的不同。而其差别在于,在证书颁发之前,CA会怎样对申请者进行核实。以下是对不同选项的简要概述:

DV(域验证)

      域验证是今天最常见的类型;对这些证书,CA只会对申请者是否拥有域的控制权进行核实,不管其它事情。有很多方法来做这件事,例如要求申请人在web服务器上某个文件中放置一个随机数。这些证书也是最便宜的,通常比一顿快餐的花费还少,甚至在某些CA(如Let’s Encrypt)那里是免费的。

      DV证书由CA颁发,极少或没有人的互动,通常在申请人方面也是自动完成的。ACME之类的协议允许完全自动申请和颁发过程,这使你可以轻易的申请和更新证书——可以预定处理,完全不需要人的介入。

过去,HTTPS被看作是网站可信度的标志;对于一些典型的钓鱼网站来说,获得一个有效的HTTPS证书非常困难。在一项研究中,Dhamija等人对22人进行了识别钓鱼网站的测试,其中17人未检查连接安全标识。这表明,连接安全标识在防止钓鱼攻击方面的效果不好。到如今,HTTPS已不再是一个识别钓鱼网站的有益信号,因为支持HTTPS 的恶意网站已经变得很常见。

      DV证书的目的是启用加密联接,它并不会验证是谁在管理着域,或他们是否诚实,或他们的域是否合法——唯一的目的就是在浏览器和服务器之间启用安全联接。

OV(机构验证)

      相比之下,机构验证(也叫高可信度)证书要贵得多,大约每年200美元(最多可达到500美元)。由于需要额外的文书工作,其申请过程更复杂。相比DV来说,增加的价格很大程度上是审核过程的额外工作造成的;除了域的验证控制之外,CA还将检查文件以核实申请者是否为合法机构(通过许可证或法人文件)。

EV(扩展验证)

      EV证书最为昂贵,大约每年300美元(最多可能达到1000美元),EV证书的审核要求在OV证书的审核基础上有所增加,审核过程最为详细。它可能需要一些文件,如银行账户证明、地址证明、更详细的法人证明以及雇员作为证书申请人并得到授权的证明。

      获得EV证书是一个复杂的过程,不仅需要时间,还需要技术人员的努力,以及公司行政部门提供所需要的文件。

CA的营销与竞争

      由于多变的价格,CA会倾向于引导客户选择更贵的证书,毕竟OV和EV证书比DV证书产生的利润要多得多。由于少数CA提供免费DV证书以及业务规模庞大的Let’s Encrypt(其市场份额在去年已从5%增长到26%)的介入——从而导致了一场价格战,使这类证书没有了利润。这同时增加了CA对DV证书提供者的攻击,他们大力推动OV和EV的颁发。而这些攻击的焦点主要围绕DV证书在钓鱼攻击中的使用。

      OV的价值值得商榷,至于它的使用情况到底怎么样,尽管有大肆宣传,但它并不比DV好。令CA感到苦恼的是,OV证书从浏览器那里得到的待遇和DV证书是一样的——两者之间没有明显差别,所以用户完全不知道你在OV证书上花了额外的钱。CA已经促使浏览器改变这一状况,使这些OV证书对得起它的成本,效果尚未显现。

      另一方面,EV证书的确受到了浏览器的特殊对待,比如说Github:

      (在某些浏览器中)带有机构名称和地点的绿色栏是EV证书独有的特点,这使用户可以了解到证书颁发给谁。正是这个特殊的字段把EV与其它类型的证书区分开,给营销带来了动力。

安全性对比:DV vs. OV vs. EV

      OV和EV两种证书在价格和营销方面都有实实在在的区别,它们是否具有更好的安全性?NO!

      不管你怎么看它,不管它卖得怎么样,事实是,全部三种证书的安全性都处在同一级别。它们之间唯一的实质性区别是,OV和EV证书包含一个额外的标识告诉浏览器该证书的类型。它们的加密方法是一样的,浏览器与服务器之间联接的安全性也没有变化。

      那为什么不提升OV甚至EV证书的安全性呢?2008年的一篇学术论文对这个问题作了详细的解释。

EV证书和绑定

      EV证书可以通过一种机制来增加安全性[1],也没有风险。对于从专门的中间商颁发证书的CA来说(这种情况并不常见),网站可用使用公钥绑定(HPKP)来绑定CA专门的DV中间商,保证只有EV证书可用——阻止DV证书(即使是来自同一个CA)被接受。尽管HPKP已经被预言即将死亡,但在小心使用的情况下,它仍是非常有用的。HPKP允许网站绑定用于特定证书的密钥,因此一旦浏览器见到只信任某些密钥的指示,它将会拒绝任何不匹配的密钥。但就像很多功能强大的工具一样,它也很容易出错。如果一个攻击者试图假冒一个站点(比如通过DNS劫持),这种绑定会阻止浏览器接受任何证书。它可能使网站崩溃较长的时间,且几乎没有恢复的能力。

有关一致性的争议

      OV和EV证书的关键卖点——从客户营销和行业政策两方面讲——是这些证书的颁发都涉及一致性验证。争论在于,你可以更加信任那些使用这些证书的站点,就是因为某个CA的人核实过他们的身份。

      但首先,这个争论依赖于一个关键点:用户知道DV和OV、EV的区别吗?很多时候,用户并不知道那个绿色的挂锁是什么,有何意义。如果它消失了,他们会注意吗?

      基于浏览器的特殊对待,EV证书确实会被用户看到。为了防范钓鱼或类似攻击,EV证书保证了用户必须知道它的存在,且在它消失的时候能够及时发现。而一旦用户发现了异样,他们就会采取措施,离开该页面。

“尽管由于缺乏一些主流移动端浏览器和大型网站的支持,EV的作用被限制住了,但它无疑是一道反钓鱼的防线。”所有主要桌面浏览器都显示EV信息,但一些移动浏览器(包括安卓版Chrome和Opera浏览器)都不显示EV信息。一些较早的文献建议对EV标识进行改进。Jackson等人要求研究参与者识别钓鱼攻击,发现‘扩展验证不能帮助用户防御任何攻击’。当测试新的安全标识时,Sobey等人得出结论,Firefox 3的EV标识并不影响在线购物决策。”

      一小部分用户将会理解这一点,并对改变有所了解——对这部分用户来说,它是有益的。因为这提供了另一条信息,使他们可以评估网站的信任度。然而研究表明,很少有人理解这种差别,因而效用也很小。

      因此,EV证书的价值不在于技术安全,而在于对用户认知的潜在促进,帮助用户在输入敏感信息前提供更多信息。这是EV相对OV和DV证书的优势所在。

总结

      EV证书的价值受到限制,它确实帮助了一些用户,但这个比例很低,可以将它与HPKP结合起来,使攻击者劫持DNS和成功实施中间人或重定向攻击的难度加大,但这样会带来HPKP的固有问题,可能会使网站完全瘫痪。如果你需要保护一个哪怕一次钓鱼攻击也不能承受的高度敏感的系统,它可能是值得的,但对其它系统来说,则需要仔细考量。


      [1]. 尽管它有自己的限制,但仍会有第三方的问题,如JavaScript,它会提供另一条攻击渠道,而不能通过这种方法解决。当使用第三方的内容时,你也就接受了他们的弱点和他们给你的系统增加的风险。如果你依赖于EV+HPKP,但用的JavaScript库是来自使用DV证书的CDN,那么这会提供一个攻击向量绕过EV+HPKP。这就是Jackson和Barth建议使用httpev://URL方案来隔绝https:// URLs的原因,以此,只有使用EV证书的资源才会被加载。