乐趣区

关于前端:日均请求量16万亿次背后DNSPod的秘密国密DoH篇

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

大家好,我是吴洪声。

在 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 服务商,推出中国人本人的网络加密技术产品,捍卫中国人本人的机密信息,隐衷平安,填补了我国国产化自主可控平安产品的技术空白和产品空白,某种程度上,这是作为开拓者的一种使命感。

我也心愿将来能够看到更多的企业和开发者,能投身于国密产品畛域,一起把这个产业链建设起来。

> 一键订阅专栏,学技术不迷路

《云荐大咖》是腾讯云加社区精品内容专栏。云荐官特邀行业佼者,聚焦于前沿技术的落地及实践实际之上,继续为您解读云时代热点技术、摸索行业倒退新机

点击一键订阅,咱们将为你定期推送精品内容。

p.s. 云荐官将随机抽取局部订阅小伙伴,送出腾讯行业大会、见面会门票、云加视频礼盒、腾讯公仔!

> 大咖常驻栏目,为您答疑解惑

有疑难?有感悟?想探讨?冀望老师推出什么作品?欢送在本文评论区发问、交换,老师将为您解答。

云荐官将抽取 1 位小伙伴送出云加视频礼盒一份!

退出移动版