关注网络安全
和行业未来

EV证书是否真的像学术论文中描绘的那么好?

本文由著名安全研究员Scott Helme发布在其个人博客,详细探讨了EV证书的利与弊。

EV证书,也叫做扩展验证证书,对于它的看法似乎呈现着两极分化的趋势,一部分人非常喜欢它,另一部分人则憎恨它。今天让我们聊一聊EV证书到底是什么,它是否够得上这些爱与恨。

扩展验证证书

在我们开始之前,我们要确保每个人都清楚我们将要谈论的是什么。当你在自己的站点上设置HTTPS并获得证书时,你可以得到3种不同类型的证书。它们分别是域验证(DV)证书(这是我的博客所使用的)、机构验证(OV)证书和扩展验证(EV)证书。当你访问一个和我的站点一样使用DV证书的网站时,你通常会在地址栏中看到一个标志,这说明你现在处于一个安全连接之中。在Chrome浏览器中,这个标志是一个绿色的挂锁标志,带有“Secure”字样,并且在URL中有绿色的“https://”字样。

如果你访问一个使用OV证书的网站,那么一切看起来都和DV证书完全一样,这是因为两者在可见的标志上没有任何区别。而且,OV证书比DV证书更加昂贵,所以我认为这就是为什么几乎没有人使用OV证书的原因。正是这一点使得EV证书在浏览器用户界面的处理方面略有不同。

在这里,我们可以从Troy HuntHave I Been Pwned?网站上查看到EV证书,他去年完成了整个申请过程。你可以看到,浏览器对它的处理略有不同,你会得到一个公司名称和一个国家代码,而不再仅仅是地址栏中的“Secure”字样。

价值取向

EV证书有一些优点被广告大力宣传过,所以让我们逐个看一看效果怎么样吧,还有它的优点和缺点到底在哪里。

身份验证

当你通过浏览器访问一个类似于twitter.com这样的网站时,你并不知道和你对话的到底是哪一家公司。如果在浏览器的地址栏中有一个绿色挂锁标志,那么你就可以确认你正在与之对话的就是twitter.com网站的所有者,你只是不知道谁拥有这个域而已。这就是EV证书应该解决的问题。

当我在浏览器中访问twitter.com网站时,浏览器会告诉我,拥有该域名的公司是总部设在美国的Twitter公司。它的设计思路是这样的,作为用户的我,只知道我想要访问的是总部设在美国的Twitter公司而不是其它公司的网站,而现在我可以通过浏览器的用户界面主动核实这件事。这里有一个问题,那就是域名背后的公司名称可能与网站所标记的名称没有联系,这是由于在企业界广泛存在着母公司或子公司以及其他各种法律关系。


source

yell.com网站上的EV证书显示的是拥有该网站很长时间的公司的名称——Hibu(英国)有限公司,而不是像你所期待的那样——类似Yell(英国)有限公司这样的名称。我不敢肯定我们是否能让所有用户都了解或者真正关心Yell网站为Hibu公司所有,而这就是为什么在证书中这样命名的原因。我猜测Yell网站也是这样想的,因为他们最终改变了公司的名称,这样他们就可以在证书中变得更容易识别了。

我对于EV证书在这方面的全部问题是,它对用户直接提出了太多的要求。用户必须首先知道他们想要访问的公司的域名,然后用户必须知道他们想要访问的公司的合法注册名称,最后用户还必须亲自验证公司名称和域名是否在浏览器中正确显示。我不喜欢任何会给用户带来负担的安全机制,我也真的不喜欢任何依赖于用户以“正确”的方式操作才能正常运行的安全机制。

绿色挂锁标志

我希望各种浏览器中都有的一个东西就是,一致的用户界面,这样我们就可以令人信赖地告知用户他们寻找的标志在哪里。我们不能说,“请在左上角寻找绿色挂锁标志”,这是因为,在某些浏览器中,这个标志可能不在左上方也不是绿色的。老旧但可靠的微软Edge浏览器并不在地址栏中显示绿色的DV证书,而是仍然保持灰色。

从好的方面来说,你也可以给自己买一个EV证书,微软Edge浏览器会向你显示绿色的用户界面。

我的确和一些拥有EV证书的网站运营人员进行了沟通,这些人只是为了得到一个在Edge浏览器中显示为绿色的用户界面,而EV证书就是把这个作为卖点。我想,如果我们总是在讨论市场份额最小之一的浏览器在用户界面方面的怪癖,我们就已经背离了EV证书的价值了。

撤销检查

这是EV证书的一个方面,在这方面它有切实可信的好处,但是在这方面它也仍然有一些瑕疵。如果黑客成功地窃取了你的私钥,那么就意味着他们可以利用你的证书来欺骗你的访客,并拦截通信。这种情况显然不是我们希望发生的,因此,你可以将证书标记为已被撤销,以阻止浏览器继续接受它。即使撤销不幸被破坏了,你还可以阅读我的文章来获取更多详细信息。TLDR;是指,有了EV证书,就不允许浏览器跳过撤销检查,而是必须要完成这一步骤。如果你确实希望自己的DV证书获得这种级别的保护的话,那么你可以请求你的证书颁发机构为你的证书做OCSP Must-Staple标记,这样你就能够获得与EV证书相同级别的保护了。火狐浏览器已经支持OCSP Must-Staple扩展了,而Chrome浏览器在这方面仍然犹豫不决,因为该扩展要求网站的运营人员在时间绑定方面必须百分之百地正确操作,否则,你的证书将会被拒绝。在使用EV证书的情况下,浏览器可以退回进行一个在线OCSP检查,这项检查缓慢而昂贵。虽然我的确很喜欢EV证书这个特殊的要求,但这并不是与网站运营人员正确沟通的方法,这使得他们必须开启OCSP stapling功能,否则就会降低他们网站的运行速度,同时还可能会把访问者浏览网站的有关数据泄露给证书颁发机构,而且在某些罕见的情况下,还有可能造成网站无法访问。

撤销检查组件的另一个问题是,它只能保护你——也就是网站真正的主人——所获得的证书。如果一个攻击者能够获得一个错误颁发的证书,那么他很可能有一个DV证书(没有开启OCSP Must-Staple功能),那么EV证书对你来说就没有什么用处了。

证书透明

我对证书透明机制感到非常兴奋,坦率地说,它出现得稍微晚了点。证书透明将要求由证书颁发机构所颁发的任何证书都必须被记录到公共日志中,以便所有人都能看到。其隐含的想法是,没有人能够在你不知道的情况下为你的域名申请证书。我们还可以对证书颁发机构进行全面审查,以考察它们的行为是否符合规定。自2015年1月以来,EV证书必须被记录到证书透明系统的日志中,而现在这一要求对DV证书也同样适用了。本来这一计划应该在2017年10月开始实施,但由于出现了一些问题(其中包括证书颁发机构尚未准备就绪),这一计划被推迟到了2018年4月。因此,既然EV证书必须被记录到证书透明日志中,那么无论如何所有种类的证书都将很快被记录到证书透明日志中。不仅如此,就像上面提到的证书撤销问题一样,攻击者也很可能会获得一个DV证书。这意味着,它现在不需要被记录到证书透明日志中,而EV证书仍然没能帮助你。有了EV证书的证书透明要求后,攻击者就必须从你的域的证书颁发机构获得一个错误颁发的EV证书才能发起攻击,而这看起来是不太可能的。

EV证书的一些问题

我的确也列出了一些需要与上面的价值取向进行权衡的EV证书的问题,但仍有一些关于EV证书的事情是我无法接受的。

依赖于用户

我在上面提到了身份验证的问题,用户必须要知道并能识别地址栏中正确的合法名称。依赖于用户才能正常运转的安全机制简直是疯了。在上面,我已经说过了。我们不应该期待并要求用户去关心这些,我们也不应该期望用户每次访问页面时都能够手动地、正确地执行这一检查,按照这样的逻辑,就应该责备用户不应访问那些没有使用正确的EV证书标记的网站了。这样的安全机制还有什么用呢?“哦,你使用了我们的网站,而那里没有正确的EV证书标记,这没有关系。”我从没想过会这样……

如果EV证书想要成功,那么它需要采取某种技术措施,它可以使我们的安全机制在不需要用户合作的情况下正常运转。这不仅仅是理论上的,实际上,我们已经遇到过这个问题,并已经解决了它。回想几年前,当我们不断地听到“检查地址栏中的挂锁标志”或“在URL中检查‘https’字样”之类的东西时,记得这些吗?这对我们来说有什么好处呢?这个机制运转得并不是很好,我们也知道,要求并指望用户在每次访问我们的网站时都执行这些检查是一个问题,这就是HTTP严格传输安全机制(HSTS)被引入的两个原因之一,因为SSL剥离攻击非常简单和成功。如果只需要简单地告诉用户在地址栏中查找“https”字样,那么我们为什么还需要HSTS呢?当我们查看EV证书时,我们是在期待用户能够识别它,并要求访问的不同站点具有不同的用户界面标志。

如果EV证书有某种技术手段强制用户代理来代表用户执行这项检查的话,那么也许我就会开始考虑使用EV证书了。也许我们可以有一个对HSTS规范的扩展,并增加一个“require-ev”指令或某种/任何其它机制来实现这一点。如果没有办法来强制EV证书摆脱对用户的依赖,那么EV证书将永远不可能真正可靠,因为用户是无法令人信赖的。

EV证书退回到DV证书

这一节在很大程度上与我在上一节中的最后一个观点有所联系,但也介绍了一些其他的注意事项。如果现在你的网站上有一个EV证书,并且有人在未经你同意的情况下就获得了一个DV证书,那么就说明撤销机制和证书透明的要求已经失效了。另一个问题是,我们又回到了依赖于用户的安全机制上了。现在,用户必须在访问你的网站时,注意到用户界面已经从EV证书变成了DV证书。他们不仅要注意到这一点,而且他们现在不得不拒绝使用这个网站,尽管他们在地址栏中看到了绿色挂锁标志和“https”字样。再次发生这种情况的可能性接近于零,并且如果没有某种“require-ev”机制来避免这种退回的发生,那么你的EV证书就无法在我们上面提到的证书透明问题撤销方面为你提供保护。

额外的奖励:在你的浏览器中访问Twitter网站,截图并在下面的评论区中贴出来,然后告诉我你所在的国家。Twitter网站使用EV证书还是DV证书,取决于你所在的位置,所以有些人会得到EV证书,而有些人会得到DV证书。以下是我在访问Twitter网站时所看到的,在下一节中,看看Troy将会看到什么。

使用EV证书的人有那些?

考虑到使用EV证书并且向你的网站的访问者证明你确实是一个合法注册的企业的好处,你应该可以期待世界各地的公司都会在他们的网站上使用EV证书。我要在世界上一些最大的网站的地址栏进行截图,但我认为这条来自Troy的推文总结得很好:

世界上最大的十个网站,可能也是花费在网站建设上的预算最多的十个网站,并未使用EV证书来为他们的访问者提供重要的公司注册信息。这无法帮助我们树立一个榜样,来说明为什么对于网站运营人员来说,EV证书是一个非常重要而且也是网站非常需要的功能。我看到的一个反对观点是,这些网站是如此的规模庞大和众所周知,以至于它们根本不需要EV证书所带来的额外的合法性证明。每个人都知道谷歌和Reddit是谁,我们不需要靠EV证书才知道我们正在访问亚马逊的网站,他们的品牌影响力已经足够大了。这就意味着,较小的和不太为人所知的网站才会从EV证书获得更多的好处,因为它可以让他们在访问者中建立更多的信心,但是统计数据并不能支持这一观点。让我们顺着网站排名向下看,看看那些越来越小的网站,其实他们也不太可能使用EV证书:

这可能与EV证书的昂贵价格有关,随着网站规模越来越小,成本也变得相对越来越大。尽管如此,事实上仍然有一小部分网站在全面使用EV证书。

糟糕的卫生状况

我曾经说过,EV证书会加剧糟糕的卫生状况。我说的不是早上洗澡(美国人习惯早上洗澡)的事,我说的是证书的生命周期和关键性的转换。EV证书十分昂贵,要花几百美元,而且得到它的过程非常痛苦,也许要花上几个小时或几天,所以每个人都想尽量避免这一过程。这就导致了人们为了避免这个痛苦的过程而追求尽可能长的证书生命周期。我完全可以理解这背后的动机,但这真的不是我们想要鼓励的事情。我们需要鼓励的是更短的证书生命周期,而不是更长。

这里我们看到,证书的最大生命周期是2年,因为这受到证书颁发机构/浏览器社区论坛的限制,否则,这些证书的有效期将会变得更久,那样就更糟了!作为对比,下面看看我的证书,有效期只有短短90天。

不仅如此,证书颁发机构本身也在通过折扣和赠送来鼓励网站运营人员延长证书有效期。当然,这对于一个企业来说,是有商业意义的,因为证书颁发机构能从中获得更大的订单,但是话说回来,这并不是我们努力的方向。

鼓励网站使用更长有效期的证书对于安全和生态系统来说都是很糟糕的。

独立研究

这可能是我对EV证书最大的抱怨了,也是迄今为止我发现的最大的问题。在我从事这一领域的工作以来,在我为本文所进行的所有研究中,我见过的仅有的几个提倡使用EV证书的人,要么是证书颁发机构,要么是证书颁发机构的分销商,要么是一些能够从EV证书的销售中获得经济利益的人。现在,澄清一下,我对一个推销他们产品的企业并没有意见,不要误会我的意思。我的问题是,没有任何数据能够证明EV证书存在的价值。用户研究、实证研究和独立发现到底在哪里?如果EV证书能够提供如此重要的价值,那么请向我证明它,给我看看数据!现在看来,我们所能做的就是接受证书颁发机构的说法,那就是他们卖给我们的东西确实有价值,我不确定这是不是一种明智的方式,无论是任何形式上的。如果有人提倡使用EV证书,或者某项研究或是企业白皮书能够证明EV证书的使用价值,那么请在下面的评论中顺便说一下,并把链接发给我(认真地讲,请一定要这么做,无论任何情况我都想确保论证的公平)。证书颁发机构在销售EV证书上正在获得可观的利润,所以我认为,如果他们从这些利润中拿出一部分来用于一些恰当的独立研究来证明自己的价值,那将会有助于他们的业务。

用户培训

另一件让我感到奇怪的事情是,我从来没有见过任何形式的关于EV证书使用的用户培训计划。使用EV证书的网站似乎从来没有告诉过他们的用户,应该去寻找EV证书标志,而且我也从未见过EV证书的证书颁发机构努力去培训用户。如果用户不知道EV指示标志是什么或意味着什么,那么他们所提供的EV证书岂不是毫无价值?难道我们应该假设所有用户都已经完全了解了EV证书到底是什么,而我们根本不需要去培训他们吗?

是的,这是一个非常小的Twitter投票活动,虽然我们不能把结果作为确凿的证据,但它还是强调了我想要做的事情。除了我那些搞技术的朋友之外,我甚至很难找到一个能解释证书是什么的人,更不用说理解EV证书和DV证书之间的区别以及这两种证书的行为应该有哪些不同之处了。EV证书的完整价值取向在于用户能够理解标志的意义和内涵。现在我看不出EV证书有什么价值。

豆腐问题

EV证书很大程度上就像HSTS一样,也有一种难以避免的豆腐问题。如果用户第一次访问一个站点,并且该站点显示了一个DV证书,那么他们应该怎么做呢?也许该站点本应使用EV证书,而任何经常访问该站点的用户都知道,这时要将该网站降低到DV证书用户界面,并立即停止使用该站点。但是那些从未访问过该站点的人呢?他们看到了一个安全的连接,并且简单地继续通过DV证书使用该站点,就像他们在网络上的任何其他站点所做的一样。这与我之前提到的EV证书到DV证书的回退有很大的联系,也许我们可以用类似HSTS预加载的机制来解决它,但这只是另一个需要解决的小问题。

移动用户界面

近年来,随着移动平台的兴起,发生在移动设备上的网页浏览越来越多。iOS设备用户可能不知道的是,Chrome浏览器在移动平台上没有显示EV证书用户界面,你花大价钱购买了昂贵的EV证书,却只得到了一个标准的DV证书用户界面。下面是安卓系统中分别显示EV证书和DV证书的Chrome浏览器。

下面是iOS系统中分别显示EV证书和DV证书的Chrome浏览器。

最后,这是iOS系统中分别显示EV证书和DV证书的Safari浏览器。

在移动平台上,唯一值得使用EV证书的情况是,你使用iOS系统中的Safari浏览器。尽管如此,我不得不说,PayPal,inc.和paypal.com两个网站之间的区别并不大。是的,对于坐在这里检查地址栏的你和我来说,我们可以看到其中的区别,但普通用户看到他们的网站有一个绿色的地址栏,对于他们使用网站来说很可能就足够了,有时候他们甚至根本不会去看地址栏。

EV证书并不意味着值得信赖

如果你有一个EV证书,那就意味着你注册了一个公司的名称。在任何一个司法管辖区域内注册一个公司的名称都是非常简单的,但是作为一个注册的公司来说当然不一定值得信任。我可以说出很多我不想与其再有生意来往的注册公司,但他们都可以申请EV证书。Troy一直在为他那些人力资源业务合作伙伴(HIBP)不停地进行注册、注销、重新注册以及修修补补的工作,并想要获取EV证书,以便在浏览器地址栏中正确显示他想要的名称。在这个体系中似乎本不应该如此灵活。我的另一个担忧是,我认为我们已经落入了我们在DV证书中遇到的陷阱,在这个陷阱里,EV证书也将会变成一场比赛。几年前,我们很难得到一个DV证书,这就是为什么人们过度信任它的原因,我们正在用同样的方式对待EV证书,因此很可能也会得到与DV证书同样的结果。一个EV证书标志并不意味着一个站点是值得信任的,它也并不意味着一个站点不会对你进行网络钓鱼,它只表示这个域是由一个注册的合法实体所拥有,仅此而已。随着EV证书变得越来越便宜,也越来越容易获得,EV证书中本来已经不多的价值将会继续被侵蚀。

EV证书标志可以被防病毒软件和其他app移除

在很多不同的场景中,用户在浏览器中本应有一个EV证书用户界面,但是,尽管没有任何错误发生,最终他们却只得到一个DV证书用户界面。当任何形式的TLS终止发生时,这种情况就会出现,而且这已经变得越来越常见了。当类似防病毒软件这样的软件安装时,它通常会安装一个根证书,这样它就可以进行通信拦截,确保你的网络通信中不包含任何有害信息。问题是,在出站的情况下,AV程序将获得一个EV证书,但是它不能生成一个EV证书来显示给浏览器,只能显示一个DV证书。对于任何平台上的任何浏览器来说,这么做都是正确的,这可能比你所想象的更为常见。试想一下,任何带有执行通信检查的AV程序的设备都不会看到EV证书用户界面,任何安装了根证书的公司设备都可以检查通信或者任何其他可能发生代理的场景。我在我自己的本地PC上用Fiddler 软件模拟了这一场景,这就是PayPal的样子。

以下是标准DV用户界面,EV证书标志被取消了,因为证书是由一个本地受信证书颁发机构所颁发的。你可以在证书检查器中看到详细情况。

在这种情况下,我想,作为一个用户的我本应该注意到丢失的EV证书用户界面,并立即停止使用该网站,因为我再也不能确认这就是PayPal公司了。我们想要依赖于这个EV证书用户界面,但是在很多场景中,该界面可能并不会出现,这已经被最近发现的TLS 1.3标准化问题所证实,这是因为中间层的沙盒硬件无法兼容的缘故。

结语

我并不反对关于EV证书的想法及其价值,但现在看来,他们似乎只是证书颁发机构的一个不错的收入来源。在上面所述的技术和用户方面的问题解决以后,EV证书才具有真正的价值。围绕着这些的正确和错误的信息其实并没有帮助,还有一些来自证书颁发机构的关于EV证书能做些什么的相当疯狂的说法。

最近,Entrust公司谈到了对EV证书的需要,Comodo公司则告诉我们如何通过使用EV证书来避免网络钓鱼攻击。尽管没能成功说服用户采取相应的行动,但是从2011年到2个月前,一直都有钓鱼网站使用EV证书。

也许我们将会看到一些技术进步,能够增强EV证书,并且在更广阔的证书颁发机构生态系统中也能解决其他一些问题,但是在那之前,还是不要把我算进去了。

 

稿源:Scott Helme

评论 1

  1. #1

    相比PAYPAL,STEAM之前对商店域名的保护更加令人窒息,首页压根不显示EV证书的标志,就一个商城域名孤零零的挂在地址栏上.......

    匿名6年前 (2018-06-24)回复