【每日一知】DNS over TLS

  • 内容
  • 相关

前言

2016年,RFC添加了DNS-over-TLS的标准,正式提出了DNS报文明文导致隐私问题。DNS-over-TLS,顾名思义类似于HTTP-over-TLS(HTTPS)。因此DNS-over-TLS其实就是“DNSS”,一种基于TLS来进行报文加密的DNS请求交互。区别于DNS传统的安全扩展标准DNSSEC,DNS-over-TLS更侧重于DNS交互报文的加密性,而DNSSEC更侧重于DNS交互报文的完整一致性。
RFC7858提出了DNS隐私的相关问题:

Prior work has addressed some aspects of DNS security, but until 
recently, there has been little work on privacy between a DNS 
client and server.

简介

DNS over TLS  是一项安全协议,它可以强制所有和DNS服务器相关的链接使用TLS。也就是说他可以让ISP(即DNS提供商)无法窥探访问数据信息。



什么是DNS over TLS?

TLS(传输层安全协议)的前身为SSL(安全套接层),从SSL3.0开始全面升级为TLS。TLS用于在两个通信应用程序之间提供保密性和数据完整性,最著名的用途即我们常见的HTTPS。

v2-85f39be23861f8c10dc9f29803f14169_720w.jpg

整个TLS传输的过程如下:
(1)TCP三次握手
(2)SSL的ClientHello和ServerHello和对应的秘钥交换KeyExchange
(3)Client和Server互相ChangeCipherSpec通知进入加密模式,此时可以进入数据传输状态
(4)应用数据传输过程
(5)应用数据传输完成,TCP两次挥手
抛开TCP连接和数据包文传输的部分,TLS握手部分将使用2个RTT。

因此,从RFC文档来看,DNS-over-TLS和HTTPS类似,使用了 TCP 853 作为传输端口来完成TLS握手,再执行普通的DNS请求/应答。因此在DNS-over-TLS的整个过程中,将使用至少4次RTT,这也将导致DNS的查询延时放大4倍。

DNS-over-TLS在技术上并没有特别领先的概念,只是把相对通用的传输层TLS协议用在了DNS上,这样做确实确保了数据的加密和一致性,但是对于DNS的性能也带来了很大的挑战。

作者信息
头像
描述: 一起用互联网帮助更多人

本文标签:

本文链接:【每日一知】DNS over TLS - http://www.go176.net/post-6734.html

剑客网,一起用互联网帮助更多人