Dappy如何防止DNS黑客入侵
作者:Raphaël
译者注:Dappy是RChain生态中的DNS【域名系统(服务)协议】。Dappy基于RChain的技术架构保障了域名系统的安全性。
Dappy是一个用于文件和Web应用程序的去中心化分发网络。Dappy既不使用DNS系统也不使用电子证书认证中心,它执行的是相同的工作,但是该服务是由分散的网络执行而不是集中式服务执行。DNS的问题之一,同时也是我们开发Dappy的原因之一,就是为了大福降低风险,并降低当今任何网站对DNS黑客和网络钓鱼的威胁。在本文中,我们将重点介绍DNS黑客入侵的性质以及Dappy系统如何防止DNS黑客入侵。
DNS黑客入侵是一种旨在阻止DNS服务器正常工作的恶意操作。所有代理(浏览器,操作系统等)都需要使用DNS服务器(例如负责* .fr *域名的服务器),其中大部分请求是DNS查找请求,这些代理想要的只是与给定域名相对应的IP地址(例如* pizza.fr *)。黑客可能会将客户端重定向到他的服务器,而不是* pizza.fr *的合法所有者的服务器。对于正规企业或组织,这种黑客行为会造成大量损失,并且常常还会损害品牌形象。
我们不会讨论DNS解析是如何工作以及黑客如何发挥作用的技术原理,要记住的要点是操作系统或Web浏览器会指向给定的DNS服务器(例如cloudflare是1.1.1.1。)。该服务器是入口点,是依赖它的代理的最终真理之源,所有的DNS查找都可以寻址到此服务器,它会将请求传播到正确的服务器,然后在最终已知IP时回复客户端。
为了了解Dappy系统是如何防止黑客入侵域名系统的(至少使得它变得更为困难),我们必须引入Dappy名称系统。Dappy包括了一个在RChain区块链上的名称系统,所有基于公司的域名购买,续订和转售工作均由分散的智能合约平台处理。当然,如果有名称的话,任何人都可以预订,因此具有密码学保证的属性。
在域名系统中,给定的服务器(或服务)是负责扩展的。例如,* .fr *域名是由AFNIC处理的(请参阅IANA Whois页面)。在Dappy中,还存在一个相互独立的代理网络,但是相反地,它们的职责是不分离的。这里是关键部分,Dappy网络上的每个成员都是名称解析的共同权威,RChain区块链则是一个复制的数据库,每个服务器应共享相同状态,因此,对于相同的查询,它们的响应是完全相同的。客户端将不依赖于给定服务器进行名称解析(记住上面的示例),而是依赖于许多彼此独立的代理。
Dappy系统的客户端不执行单个查询请求,而是执行多个请求;它们不询问中央计算机,而是询问计算机网络,这就是Dappy范式分散和强大的原因所在。黑客如果想欺骗客户,就必须使网络无法执行其工作,这比关闭或欺骗单个DNS服务器要复杂得多。Dappy浏览器包括一个共识层,允许它不信任任何给定的服务,因此,该名称系统不会出现单点故障。
假设某个客户想要访问资源“披萨:,Dappy浏览器将向所有单个网络成员(例如20个成员)发送查找请求,如果任何单个响应都与其他响应不同(100%准确度),则最终的配置会将查找操作视为失败。但是我们确实希望有一个异常行为的空间,那么80%的准确性就是一个很好的设置。每次客户加载网站时,所有Dappy网络成员都会被查询到,其中至少80%的用户给出相同的答案才能算查询成功,并让客户继续浏览Web。(但这样一来它仍然还是网络吗?)
重要的不是数字,而是实施或设计问题。关键是分散范式与集中式DNS有很大不同。Dappy集成并预测了部分可能的网络故障(可能是网络问题,黑客攻击,恶意行为等),这就是为什么必须分散管理的原因。Dappy客户端永远不会查询互联网上的单个服务器,而是从RChain区块链中获取某些数据,他们将始终查询多个服务器,Dappy系统仅依赖于分散的、公开可见的计算机网络。成员们唯一要做的就是对区块链平台的状态保持透明,而他们对该平台并无控制权。
Dappy主要提出了两种不同类型的应用程序,即dapps(去中心化应用程序)和IP应用程序。本文以及我们刚刚所提到的名称系统所考虑的仅仅是IP应用程序,而dapps是其他类型的应用程序,我们将会在未来的文章中涉及。
本文已经太长了,对于其他未来可能会出现的问题,我们当然还会有其他文章来详细进行介绍。