前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >日均请求量1.6万亿次背后,DNSPod的秘密-国密DoH篇

日均请求量1.6万亿次背后,DNSPod的秘密-国密DoH篇

原创
作者头像
社区小番茄
修改2021-12-27 15:25:23
6240
修改2021-12-27 15:25:23
举报

点击一键订阅《云荐大咖》专栏,获取官方推荐精品内容,学技术不迷路!

从单一的域名解析产品到如今日均解析量超过1.6万亿次的巨兽,DNSpod经历了海量的升级与迭代,创新与试错,而国密DoH便是其最新的秘诀所在。本文将会由DNSpod创始人吴洪声亲自讲述,那些DNS相关产品及服务,是如何被时代所选中的。

大家好,我是吴洪声。

在2005年的时候,我做了一个和DNS有关的小产品,DNSPod

当时做这样一个产品的背景很简单,那还是一个 「南电信北联通(网通)」的时代,相信很多人都会有印象:那个时候你打开一个网站,首先看到的并不是网站的首页,而是一个密密麻麻的「电信1」「电信2」「网通1」「网通2」…,运营商之间互设门槛,最后造成的互访速度下降的结果还是用户来买单。而DNSPod,就是用很优雅的方式解决这个问题,自动把用户分流到对应的服务器,也是因为这个方式让很多朋友们认识了DNSPod,认识了我。

对于很多人来说,哪怕是DNSPod的长期用户,对DNSPod的印象仍旧停留在那个最早期的阶段。而实际上,今天的DNSPod,早就已经不是一个单一的域名解析产品,它已经悄然的成长成为了一个日均解析量超过1.6万亿次的巨兽。这期间我们的技术方案经历了多次重大的升级迭代,包括底层解析技术做了长期和细致的剖析,不断的创新与试错,形成了基于F-Stack/DPDK基础框架的自研递归和权威服务器架构,不断探索着性能极限,力求为用户提供高速稳定的解析体验

除了技术硬实力的突飞猛进,我一直也在思考探索更多的尚未得到满足的DNS使用需求。所以在过去的几年,除了大家熟知的权威套餐的全面升级之外,我们还上线了移动解析(HTTPDNS)、内网解析(Private DNS)、公共解析(Public DNS)智能流量调度(IGTM)、DoT、DoH等一系列DNS相关产品及服务,经过长达数年的底层模块灰度和打磨,完成了完整的全链路DNS方案的建设。

新DNSPod的力量,揭秘国密DoH

这个焕然一新的DNSPod到底有哪些优势?今天主要和大家分享一下我们的国密DoH吧。

DoH全称DNS over HTTPs,它使用HTTPs来传输DNS协议。DoH的安全原理与DoT一样,使用TLS协议来传输DNS协议。TLS协议是目前互联网最常用的安全加密协议之一,我们访问HTTPs的安全基础是基于TLS协议的。相比于之前使用无连接无加密的UDP模式, TLS 本身已经实现了保密性与完整性。

那么 TLS 协议本身是如何实现完整性与保密性的呢?TLS协议的基本思路是证书+加密机制,双管齐下保证安全。证书相当于申请了一个合法的身份证,当客户端向服务器发起连接的时候,双方会相互校验一下身份,服务器把证书给客户端,客户端校验证书的内容和合法性。

握手协议则是用公钥加密法:首先,客户端会向服务器端索要并验证公钥,验证后双方会协商生成"对话密钥",类似于两个人独有的摩斯密码,在此之后, 双方就会采用对话密钥进行加密通信。通俗的理解就是:你要和你的笔友写信,握手协议是你和你的笔友之间商量出来一套加密通信的方式,而证书则是保证拿到你寄出去的信的人是你的笔友本人。

DoT在专用端口上通过TLS连接DNS服务器,而DoH是基于使用HTTP应用程序层协议,将查询发送到HTTPS端口上的特定HTTP端点,这里造成的外界感知就是端口号的不同,DoT的端口号是853,DoH端口号443。

然而因为增加了握手的过程,以及数据增加了加密的步骤,前期协商带来的时间损耗势必会带来传输速度变慢的问题。

但是!经过我们团队的努力,通过对客户端侧改造和优化,采用本地缓存,提前预取,连接复用等技术方案,积极优化了整体流程,实现了与原DNS协议相近的时延效果。实际上,这只是DNSPod硬实力的一个小小例证,我们并未止步于此。

发展国密产品,当属时代所需

作为网络安全行业从业者,密码算法作为保障信息安全的核心技术,然而我们国家多个等核心领域却长期沿用3DES等国际通用的密码算法体系。密码技术能够直接作用于数据,是保护数据的核心手段,也是保障信息产业生态安全、得以正常运营的重要基础,在计算机和网络系统中发挥了不可替代的安全作用。推广国产密码技术、应用商用密码算法, 是建设我国网络空间安全基础设施的必要措施之一。基于上述原因,发展国密产品发展,不仅是企业所需,更是时代所需。

于是,我们对通信消息中的密钥协商部分进行国密化(SM2)适配,在节点握手过程里,采用SM2密码组件和SM2数字证书,于是DNSPod DoH摇身一变,成为了国密DoH。

基与SM2加密算法的tls流程分为这样几个步骤:

  • 握手请求阶段:客户端向服务器发送hello报文,请求服务器证书;
  • 服务器端认证阶段:服务器端向客户端发送服务器端证书;
  • 客户端认证阶段:客户端验证服务器证书合法性,发起密钥交换流程;
  • 完成握手阶段:密钥交换完成,后续数据传输基于协商的密钥加密。

可以看到,和传统的TLS握手流程的有主要的区别:

  • 在服务器端认证阶段,所述服务器端采用的是SM2 证书,其中包含SM2公钥。
  • 在客户端认证阶段,密钥交换消息中包含预主密钥,而预主密钥采用的服务器端的SM2公钥进行加密。
  • 在客户端认证阶段,客户端曾收到客户端证书请求,首先向服务器端发送客户端 SM2证书,并且在发送完密钥交换消息后,还发送客户端SM2证书签名;服务器端利用收到的客户端SM2证书签名对客户端进行验证。
  • 在发送客户端SM2证书签名时,在签名原文中加入由所述服务器端SM2证书中公钥计算得出的杂凑值。

DNSPod的国密DoH,是国内首个支持国产密码算法的DoH产品。实际上,这样的一个产品需要投入巨大的人力与精力,却难以短时间变现成为商业上的回报。在我看来,DNSPod作为国内首屈一指的DNS服务商,推出中国人自己的网络加密技术产品,保卫中国人自己的机密信息,隐私安全,填补了我国国产化自主可控安全产品的技术空白和产品空白,某种程度上,这是作为开拓者的一种使命感。

我也希望未来可以看到更多的企业和开发者,能投身于国密产品领域,一起把这个产业链建设起来。

《云荐大咖》是腾讯腾讯云开发者社区精品内容专栏。云荐官特邀行业佼者,聚焦于前沿技术的落地及理论实践之上,持续为您解读云时代热点技术、探索行业发展新机。点击一键订阅,我们将为你定期推送精品内容。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 点击一键订阅《云荐大咖》专栏,获取官方推荐精品内容,学技术不迷路!
  • 从单一的域名解析产品到如今日均解析量超过1.6万亿次的巨兽,DNSpod经历了海量的升级与迭代,创新与试错,而国密DoH便是其最新的秘诀所在。本文将会由DNSpod创始人吴洪声亲自讲述,那些DNS相关产品及服务,是如何被时代所选中的。
  • 新DNSPod的力量,揭秘国密DoH
  • 发展国密产品,当属时代所需
    • 基与SM2加密算法的tls流程分为这样几个步骤:
      • 可以看到,和传统的TLS握手流程的有主要的区别:
      • 《云荐大咖》是腾讯腾讯云开发者社区精品内容专栏。云荐官特邀行业佼者,聚焦于前沿技术的落地及理论实践之上,持续为您解读云时代热点技术、探索行业发展新机。点击一键订阅,我们将为你定期推送精品内容。
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档