加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

基于隐私保护技术的DNS通信协议

发布时间:2019-06-05 23:42:31 所属栏目:教程 来源:科技导报
导读:副标题#e# 域名系统(DNS)是互联网基础服务,是互联网访问的重要入口,域名隐私保护是 DNS安全的研究热点。本文提出了一种基于用户数据报协议的DNS传输中用户隐私保护的加密方法:DNSDEA。该方法采用PKI加密体系与DNS协议相融合,不仅解决了域名隐私保护问题
副标题[/!--empirenews.page--]

域名系统(DNS)是互联网基础服务,是互联网访问的重要入口,域名隐私保护是 DNS安全的研究热点。本文提出了一种基于用户数据报协议的DNS传输中用户隐私保护的加密方法:DNSDEA。该方法采用PKI加密体系与DNS协议相融合,不仅解决了域名隐私保护问题,而且与传统DNS体系相兼容,保持了DNS系统的简单、高效的技术特点。

基于隐私保护技术的DNS通信协议

域名系统(domain name system,DNS)是互联网的重要基础服务之一,主要通过域名和互联网协议地址(IP)等互联网基础资源之间的映射与转换,实现标识和定位互联网上服务器和服务入口。DNS是一个相对成熟的全球性分布式数据库,为互联网提供高效稳定的互联网标识解析服务。

1983 年,Mockapetris提出 DNS 架构,随后该构架在不断地持续演进和优化。在设计之初,域名系统在域名协议方面并没有考虑完备的安全机制。1999年,DNS安全扩展协议(domain name system security extensions,DNSSEC)被提出,其能够有效降低中间人攻击的风险,保证 DNS传输数据的完整性,从而提升 DNS系统的安全服务能力。2010年,互联网域名的根服务开始部署 DNSSEC服务,标志着域名服务开始向安全服务方向迈进,DNS 也从一个简单的名址转换服务向复杂的、可信的解析服务发展,传输层安全协议DANE(DNS-based authentication of named entities)就是基于 DNSSEC协议将数字证书通过 DNS服务进行发布,以确保证书来自特定的证书颁发机构。

随着互联网普及率的不断提高及其对生产生活的不断渗透,人们已经对互联网产生了越来越强的依赖性,当前的互联网已不仅是获取和分享信息的途径,而且已成为大多数传统行业业务系统的基础载体,因此隐私问题已经成为互联网亟待解决的一个重要问题。DNS 主要采用用户数据报协议(user datagram protocol,UDP)协议明文传输方式进行名址转换,虽然DNSSEC协议提升了数据篡改难度,但是依然采用明文方式提供解析服务。作为互联网基础服务,DNS 对于用户隐私保护依然表现出了脆弱性。目前 DNS 有关安全的命题被真正解决得还较少,而其中的隐私问题也已成为行业关注的焦点问题并逐渐得到重视。一方面,行业内采用查询最小化(query minimization)方法降低隐私窃取风险,使用数据最小化(data minimization)原理减少 DNS权威服务收集个人隐私信息;另一方面,针对 DNS解析服务过程中隐私泄露的问题,国际组织Internet Engineering Task Force(IETF)于2014年专门成立 The DNS PRIVate Exchange(DPRIVE)工作组讨论并制定 DNS 隐私保护协议,希望采用数据加密传输的方式实现 DNS隐私保护。基于此背景,本文提出一种基于UDP的DNS传输中用户隐私保护的加密方法。

研究现状

当前,绝大多数 DNS 服务和终端之间的数据交换(主要包含请求和反馈)采用明文、非加密的方式进行,这将导致用户隐私暴露在互联网通信中,其隐私方面的脆弱性将会被黑客所利用,例如黑客可以收集用户的访问痕迹(查询时间、访问内容、用户IP地址等)等信息分析用户习惯等。针对这个问题,目前主要有以下两种方法保护DNS查询过程中的用户隐私。

DNS数据报文加密

Dempsky 提出了 DNSCurve 方法,该方法基于现有 DNS 体系架构,使用Curve25519 在客户端和服务器端交换密钥以及提供认证和数据加密。服务端的公钥存放在“NS”记录中发送给客户端,因此使用 DNSCurve加密DNS报文并不会带来额外查询延迟。DNSCrypt是DNSCurve比较有名的一个实现,已在 OpenDNS的服务上得到广泛部署,用来解决终端用户的隐私保护问题。类似的ConfidentialDNS也使用了 DNS的扩展机制为 DNS协议增加加密功能。它提出一种新的资源记录类型“ENCRYPT”来传送 DNS服务器的公钥到客户端。然后客户端使用服务器公钥加密 DNS 查询请求,以及用来加密 DNS响应的客户端公钥,从而实现对 DNS请求和反馈数据进行加密保护。这两种方案虽然能有效解决DNS 明文传输所带来的脆弱性问题,但是需要在DNS通信两端都部署安装插件(或升级解析软件)实现DNS通信从明文到密文的目标,推广成本较大,所以目前使用并不广泛。

DNS通信链路加密

TLS(transport layer security)是一种为网络通信提供数据保密以及完整性的安全协议,它在传输层对网络连接进行加密。目前 TLS 最常见的一种应用是HTTPS协议,它使用公钥加密对网站进行认证,同时使用对称加密对数据传输进行加密。TLS需要 TCP协议来保证信道的可靠传输,不能直接用来加密保护 UDP协议的数据,如果 DNS希望使用 TLS加密保护数据,就必须使用 TCP协议。然而现状是绝大部分的 DNS查询使用 UDP协议,切换为 TCP协议是一个长期的过程,并且代价巨大。因此,就现阶段来说,DNS-over-TLS并不是一个可行的隐私保护方案。

DTLS(datagram transport layer security)数据包传输层安全协议是在TLS架构上提出的一种扩展,能够支持 UDP 协议。DTLS 使得直接加密 UDP 协议的 DNS 查询报文变得可行。IETF草案提出的DNS-over-DTLS详细描述了如何使用DTLS技术加密DNS报文。

DNS-over-TLS 和 DNS-over-DTLS 使用互联网标准协议 TLS 和 DTLS 来实现 DNS 密文通信。这两种方法都是采用 TLS 协议进行 DNS 改进,但该方法需要在通信之前需要建立握手、认证等一系列复杂网络通信才能实现,对于访问量巨大、开销相对较小的 DNS服务提出了较高的网络开销和性能要求。

上述两种方法对于延迟敏感、高吞吐量的互联网基础服务DNS来说,都带来了较大挑战。

DNS密文通信方法

提出了一种新的 DNS加密通信方法DNSDEA(DNS data encryption algorithm),该方法在现有 DNS架构和报文格式下采用非对称加密算法的密文方式通信。通过DNS查询传输客户端的公钥,以降低基于TLS等方法建立链接的开销,减低查询延时。同时,利用其无状态特性提高服务端的并发性。

报文结构

1)加密标记位。为标记一个 DNS 报文是否为加密报文,将 DNS 报文头部后的第一个字节定位为加密标记位。对于一个正常的未加密 DNS 报文,该字节表示查询域名第一段的长度,按照互联网协议标准(request for comments,RFC),长度应小于 64。将该字节拓展为加密标记位,若该字节小于 64,表示 DNS报文为非加密报文,若大于64,表示该报文为加密报文。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读