本文作者: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请求结果。
区块链上的 dns
dns-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 还得再等等 :)
试用申请