LIC:从 CA 到 Handshake:域名的去中心化之路_OIN

引言

证书颁发机构自诞生以来,一直就是DNS及网络的中心,并且在保护网络安全方面扮演着不可或缺的角色。

简而言之,CA就是现代互联网的信任之锚,发行着用于代表网络实体的数字证书。数字证书是一种经过验证的凭证,最终表现为线上的数字身份。CA的职责就是确保这些信息受到保护、可用于加密网络参与者之间传递的数据。

与此同时,CA也发行SSL证书,该证书将网站的所有权与一组公钥绑定在了一起。然而,对政府层面的攻击威胁与日俱增,未来当用户使用这类中心化的证书存储库时,可能会遇见假冒的对手方。2017年,用户累计收到了超过2.67亿个钓鱼URL。此外,Zscalar公布的一份云安全报告指出,仅在2018年就有超过17亿个隐藏在SSL流量中的高级威胁被拦截。

2019年7月期间,出现了1万个企图钓鱼的SSL证书。

如今,互联网已经陪我们走过了30多年,我们也需要一个更加现代化、更加强健的解决方案来减少攻击和对第三方中间机构的依赖。

于是,Handshake应运而生。它是一种最新的协议,旨在提供一种强健的、可以替代DNS的方案,同时解决我们当前面临的一些重大问题。作为我介绍Handshake系列的后续文章,我将更深入地探究互联网协议组件的功能,以及CA是如何协同工作、让现代的web运行起来的。

SSL/DNS在互联网的技术栈层中处于什么位置?

互联网协议组件驱动着我们今天所使用的互联网。它是一套分层的网络栈,允许全世界的计算机之间互相传递数据包。浏览器和主机之间使用超文本传输协议和安全套接层来建立加密通信、进行数据传输。SSL是一个与HTTP协同工作的协议层,它为浏览器的运行提供加密通信功能。

为了更好地理解HTTP和SSL协议实际上是如何运行的,我在下面举了一个例子,来看看Alice是如何连接到Bob的网站的吧。

首先,Alice打开浏览器,在地址栏中输入Bob.com

接着,Alice的浏览器将连接到一个域名解析器,获取目标网址的服务器地址

一旦域名解析完成以后,Bob网站的服务器将向Alice的电脑发送一个证书以及对应的公钥

Alice的电脑通过该证书使用的CA来对该证书的合法性进行验证

一旦验证成功,Alice的电脑和Bob网站的服务器就彼此确认了眼神,然后建立起加密的SSL/TLS连接。

到了这一步,Alice的客户端和Bob的服务器之间就能畅快无阻的发送加密数据啦

网络协议栈是一套用于在网络中各参与方之间传递数据的组件,但它严重依赖于你所采用的CA或更重要的公钥基础设施,来确保你在网上冲浪时保持私密且不受侵害。

什么是公钥基础设施

要想在数据交换的过程中确保数据的准确和安全,信任是不可或缺的。PKI就是一套设定通信双方交互策略、结构和流程的系统,让交互双方可以相互信任并安全地交换信息。一般来说,会有多个中间方来来协调两个实体之间的信任。当你使用公开的互联网也就意味着你信任根CA会为你提供正确无误的信息。CA的使命就是管理代表其它实体的数字证书。颁发数字证书是为了防止在数据传递的过程中发生中间人攻击,这种攻击可能会绕过信任机制并将用户引导至恶意的网站。举例来说,IdenTrust就是一个典型的CA,管理着诸如Twitter在内的其它实体的数字证书。

在上面这个例子里,IdenTrust将发送一个X.509证书给请求访问Twitter的用户。在这个数字证书中包含了一系列信息,包括经过验证的公钥,证书的失效日期,数字签名和其它重要条款。一旦用户收到了数字签名,他就可以使用该数字签名对实体的身份及公钥进行验证。通常情况下,我们会使用RSA算法或椭圆曲线数字签名算法来生成公钥。RSA算法和ECDSA都是非对称加密技术,这也就意味着用户只需使用主机的公钥就可以完成对信息的加密,然后在公开的网络环境中将加密后的信息发送给主机。只有与公钥关联的私钥能够解密信息。

CA存在的诸多问题

读到这里,大家应该已经基本明白了互联网协议组件中的PKI和CA是如何运行的,接下来,我们一起讨论一下可能出现的一些问题。CA在整个过程中一直扮演着一个中心化认证组织的角色,它负责存储数字证书,并充当两个实体之间的中间人。每一个CA都有它独有的验证程序来判断域名的有效性和安全性。此外,三家营利性组织占据了大约90%全球市场份额。最终,这种存储和发行证书的方式可能出现安全漏洞。W3Tech近期公布的一篇报告中列出了主流CA的全球市场份额。很显然,还存在一些改进的空间。

当一个网络实体要向一个已知的CA申请获取数字证书时,需要经过一个域名验证的过程。可靠的SSL证书让用户有信心防止网络钓鱼,,和欺诈。然而,接收数字证书的过程有点过于简单了。CA就只是向WHOIS记录中的域名联系人发送域名验证型证书而已。这也太草率了吧!整个事情就是:某个用户申请一个数字证书,然后CA就会通过电子邮件向域名联系人发送一个经过认证的证书。出于额外的安全考量,实体还可以注册一个扩展验证服务,在其它情况中通过身份检查来进行验证。但是,通常情况下,用户不会发现其中的区别,除非他们看见了一个绿色的横条或者点击了浏览器左上角的小锁头。这是相当危险的,因为坏蛋也可以注册一个神似Twitter的域名,比如说Twiter.com,然后展示出经过CA认证的证书。域名验证程序、密钥存储以及CA爆破,这些环节都对对诸如浏览器中间人、HTTPS、ARP及其它类型的中间人攻击敞开了罪恶的大门。举例来说,2000年初,一家著名的CA公司Verisign向一名自称是微软公司的恶意用户颁发了一份数字证书。然后,攻击者让用户误以为自己收到了有效的Windows更新,然后用户的电脑就被攻陷了。在2011年3月发生的一起事故中,Comodo向冒充微软和Google等网站的恶意用户颁发了虚假的证书。在这个案例中,用户被引导进一个恶意的网站,却误以为自己正在登录Google。最终Comodo发现了危害,并撤销了访问该证书的权限。

Handshake的主张

今天,全球所有的顶级域名都由13个营利性组织管理。虽然CA由数千个组织进行管理,但其中三家组织占据了90%的全球市场份额。管理顶级域名和证书的组织都会遭遇中心故障的问题。这种问题会一直存在,除非我们将信任从中心化组织转移到去中心化的解决方案上。互联网协议组件和公钥基础设施高度依赖于整体的公共基础设施。

我们为什么不能依靠公众来进行域名管理和安全性认证呢?眼下就有这么一场迁移,将货币的控制权交还到公众手上。自比特币创生始,货币的控制权便不断从国家转移到人民手中。全球的公民因此获得了对冲国家风险的能力,还保持了采取行动的自由。Handshake提出了与比特币相同的价值主张,但它改变的是信息流。正如我在以前的文章中提到的,Handshake是一个去中心化域名管理协议,它从根源管理着顶级域名。正因为Handshake的顶级域名都被直接存储在顶层,因此你不再需要CA来管理数字证书或私钥了。

Handshake如何解决当前在CA中存在的问题?

今天,CA管理着包含公钥,签名和其它相关信息在内的各种数字记录。因此,当你信任CA的时候,也意味着你相信CA拥有安全的数字文件和经过验证的身份信息。Handshake的重要性在于:私钥始终直接由所有者注册,并始终控制在所有者手中。这意味着当我注册“TokenDaily.co”这个域名的时候,Handshake将在协议上锁定域名的所有权,并通过网络中的所有节点对其进行传播。当用户解析到命名空间时,它将直接指向一个简洁的证书,并验证请求的合法性。这将成为私钥和已注册域名之间的规范信任点。

总结

Handshake协议正在减少我们对顶级域名和CA的需求,也将减少我们对第三方提供商的依赖。这场转移最终将导致中间机构的减少,并给用户带来更强的安全性。这意味着信息将自由流动,而你无需再担心攻击者仿冒你的域名。今时今日,网络上发生着数以十亿计的攻击,任何人都有可能成为钓鱼URL或SSL隐藏威胁的受害者。我们越是需要信任,就越需要更快地找到这个问题的解决方案。随着Handshake协议、Handshake联盟、Urkel、和Handshake学院的发明,我们将开始见证一场从信任人到信任代码的转变——这将带给互联网前所未有的安全。

原文链接:

https://www.tokendaily.co/blog/the-fall-of-certificate-authorities-and-the-rise-of-handshake

作者:ImranKhan

翻译&校对:曾汨&阿剑

本文由原作者授权EthFans翻译及再出版

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-5:272ms