DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN
本文作者: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 还得再等等 :)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
敏捷开发中故事点和估算的秘密
高质量的估算能够帮产品负责人优化效率和冲突。因此,精准估算的重要性毋庸置疑。 估算并非易事。对软件开发人员来说,估算堪称是最难的工作之一。估算必须考虑所有能帮助产品负责人做出影响整个团队和业务决策的因素。因此,从开发到高管都为它焦头烂额也不足为奇,但这种做法是错误的。敏捷估算并不是什么性命攸关的大事,就只是估算而已,事实就这么简单。 我们不用要求团队周末加班加点来弥补一项被低估的工作。换句话说,与其事后补救,不如事前看一看有什么方法可以让敏捷估算尽可能变得更精准。 与产品负责人(PO)合作 敏捷开发中,产品负责人要负责确定backlog的优先级次序——即一个按优先级排好序的工作列表,其中包含关于产品所有所需完成的功能和修复的缺陷的简短描述。产品负责人能够从业务中提取需求,但他们不一定了解具体如何实现。因此,精准的估算能让产品负责人对每个工作项目的工作量有新的了解,这对他们评估每个项目的相对优先级能起到一定作用。 开发团队开始估算后,关于需求和用户故事的问题会经常出现。这是一件好事:这些问题可以帮整个团队更加充分的理解工作。对产品负责人来说尤为特别,将工作项拆解为粒度较小的任务,然后通过...
- 下一篇
Spring security 03-自定义登录成功后的处理逻辑
Spring security 系列博客目录 Spring Security 01- 将 Spring security 引入到工程 Spring security 02-自定义用户登录页面和登录处理逻辑 Spring security 03-自定义登录成功后的处理逻辑 Spring security 04-整合 jwt 对应源代码 Spring Security 01- 将 Spring security 引入到工程 Spring security 02-自定义用户登录页面和登录处理逻辑 Spring security 03-自定义登录成功后的处理逻辑 Spring security 04-整合 jwt 说在前面 上一篇我们说到如何在 spring security 中自定义登录处理逻辑,这一篇我们来讲一下如何自定义登录成功后的处理逻辑。先来回顾下默认情况下,登录成功过后spring security 会帮我们做些什么: 未登录的情况下,我们直接访问应用中的资源,页面会自动跳转到登录页;当登录成功后,页面会自动重定向到我登录前请求的 url。 如何更改默认的登录成功后的处理结果 比如...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7设置SWAP分区,小内存服务器的救世主
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境