本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块链的分散式 PKI(DPKI)。 下面是文章的完整内容: 上个月,英国互联网服务提供商行业协会提名Mozilla获得今年互联网恶棍奖,因为Mozilla计划支持DNS-over-HTTPS,绕过英国过滤义务和家长控制规定,从而破坏英国的互联网规范。 在 Diode 公司,我们认为 Mozilla 的 DNS-over-HTTPS 是增强最终用户隐私保护的一个好举措。但它却不是保护开放互联网的最佳选择,因为 DNS-over-HTTPS 至少目前是由 CloudFlare 和 Google 控制的。而我们建议的是使用“DNS-on-Blockchain”,这是安全,隐私保护和分散式DNS的替代方案。 什么是 DNS?DNS 是连接到Internet或专用网络计算机,服务或其他资源的分层和联合命名系统。根据 RFC 1035 定义,DNS的目标是提供一种命名资源的机制,使名称可以在不同的主机、网络、协议、互联网和管理组织中使用。它是一组将各种信息与域名(如IP地址)相关联的标准。 使用DNS服务器,我们不必记住连接到网站的IP地址。在浏览器中输入网站域名时,会自动向DNS服务器发送请求。DNS服务器查找域并返回IP地址,以便您的浏览器知道连接到哪里。 但这是问题所在。DNS数据包未加密,当您向DNS服务器发送请求时,不仅DNS服务器知道您的请求以及您要访问的网站,还有路由中的其他所有人。在咖啡店,这可能是同一商店中的其他人、店主、互联网服务提供商或任何间谍网络流量的黑客。这就是创建 DNS-over-HTTPS 的原因。
什么是DNS-over-HTTPS?DNS-over-HTTPS(简称DoH)是一种通过安全加密的HTTPS协议解析DNS请求的协议。该方法的目标是通过防止通过中间人操纵DNS数据来防止窃听并增加安全性来增加用户隐私。 使用DNS-over-HTTPS,当您在浏览器中输入网站的域名时,可以将加密的HTTPS请求发送到支持DoH的DNS服务器。HTTPS协议仅在处理DNS请求的DNS服务器上解密,并且回复再次发送回加密。你不必担心有人在监视你。但这并不十分完美,原因如下:
DNS-over-HTTPS 的问题与DNS当前的隐私状态一样糟糕,它是一个非常好的联邦系统。有数千个独立的DNS服务器一起支持互联网。另一方面,当您使用DNS-over-HTTPS时,您的数据会被发送到Google或Cloudflare。这是从联邦基础设施到集中式基础设施的巨大退步。他们的DoH服务器仍然可以确切地知道您提出的DNS请求以及您要连接的位置。我们都知道与第三方共享过多数据是危险的,这些大公司可能会记录您的DNS查询历史记录,将其与您的其他个人数据相匹配或将查询历史记录出售给第三方。 本月早些时候,Cloudflare 的服务器因为更新程序而宕机,原因是新代码消耗了大量的CPU资源。由于许多网站都在使用 Cloudflare 的服务,这导致很多大的网站受此次宕机的影响。Cloudflare 最近发生的事件是单点故障(SPOF)的一个直观例子。如果 DoH 服务器是集中式的并且出了问题,将会导致您将无法正常上网。这显示了围绕少数运营商集中化的另一种风险。 最后,加密 DNS 流量确实解决了隐私问题,但它并不能确保我们收到的数据是正确的。PKI或公钥基础设施是一个集中的根安全基础设施,可以加密几乎所有当今的互联网流量。这也是是HTTPS背后的安全基础支持。如果攻击者设法窃取HTTPS服务器的证书,他可以冒充服务器,读取所有流量,甚至向客户端发送虚假的DNS请求结果。 区块链上的 DNSDNS-over-HTTPS的核心问题是中央组织,并且缺少对我们收到的数据的验证。这个中央基础设施正成为安全的单点故障(SPOF),也是一些隐私的噩梦,一些大公司越来越多地了解我们。在 Diode,我们认为分散式区块链基础设施是DNS的完美平台。我们认为分散的PKI和分散的DNS是互联网的未来。当您上网时,您不必担心会有人监视您,并且可以确保您收到的数据有效且真实。 在分散式DNS中,诸如“gitee.com”之类的域的所有者将他/她的加密签名存储在公共区块链中。那么任何的 Web浏览器,手机 App 和物联网设备就可以检查相应的区块链条目并找到正确的签名。此方案允许域所有者自行管理其域,并且无需联系中央组织来获取证书。这是一种完全分布式的DNS请求服务,因为每个区块链服务器都可以提供DNS数据。
这项新技术主要来源于区块链爱好者。比特币创建了分布式的账本,不受任何单个实体的控制,但随着参与者的增多而变得更强。以太坊带来了智能合约以及在区块链上存储任意结构化数据的能力。而 Namecoin 和 Ethereum Name System 是在把域名解析到 Blockchain 的首次尝试。在 Diode,我们正在进行下一步的研究工作,就是将 PKI 和 DNS 转移到区块链中,并且选择性地允许最小的设备(如微控制器)安全地连接到区块链。 在 Firefox 中启用DNS-over-HTTPS在 DNS-on-Blockchain(DoB)可用之前,您至少应该先升级到 DoH 以保护您的隐私。如果您使用的是 Firefox,它已经内置了DNS-over-HTTPS(DoH) - 但默认情况下已禁用!您只需按照以下步骤操作打开即可: 步骤1:在Firefox菜单并选择“首选项”,或者您可以在搜索栏中键入 about:preferences。 步骤2:在“常规”部分,转到“网络设置”面板,然后单击“设置”按钮。
步骤3:在弹出窗口中,向下滚动并选中“通过HTTPS启用DNS”。您可以设置其他DoH提供程序或使用Cloudflare(默认)。Mozilla制定了强有力的Trusted Recursive Resolver(TRR)政策,禁止DoH合作伙伴收集个人识别信息。
至于 DNS on Blockchain 还得再等等 :) |