APP下载

一种去中心化的网络域名服务系统模型

2017-03-10朱国库蒋文保

网络空间安全 2017年1期
关键词:去中心化网络安全

朱国库+++蒋文保

【 摘 要 】 域名服务器提供域名和IP地址的转换服务,是Internet中最为关键的基础设施之一。目前根域名服务器集中式的管理和组织方式无法避免地对世界上大多数国家的网络造成安全威胁。针对集中式的组织方式存在用户隐私被监控、访问重定向、服务中断等安全问题,论文提出了一种去中心化的网络域名服务系统模型DDNS(Decentralized Domain Name System),在此模型基础上设计了分布式一致性算法。分布式一致性算法用于根域名服务器的去中心化和状态同步,集群内的事务请求通过投票方式决定,该事务通过后会在各节点上提交。

【 关键词 】 根域名服务器;域名解析;去中心化;分布式一致性;网络安全;网络主权

A Decentralized Domain Name System for the Network

Zhu Guo-ku Jiang Wen-bao

(School of Information Management, Beijing Information Science and Technology University Beijing 100192)

【 Abstract 】 DNS is an essential component of the functionality of the Internet, and it provides a distributeddirectoryservice to translate domain names to the numerical IP addresses. The centralized management of the root servers takes an inevitable security risk to the most of the countries connected to the Internet where personal online privacy is being monitored by the root server, and the visitcan be redirected,also the service can be terminated. In this paper, adecentralized domain name system named DDNS(DecentralizedDomain Name System) is proposed, and in this model a consensus algorithm is designed to decentralize the master server, andthe transaction request on the cluster need to be voted by all the nodes instead of updating from the masters resource records. While the proposal is admitted by more than half of the active nodes, the transaction will be accomplished on each of them.

【 Keywords 】 root dns server; address resolution; decentralized system; distributed consensus; network security; network sovereignty

1 引言

Internet根域名服务器通常有三类:主根域名服务器、从根域名服务器和镜像根域名服务器[2]。从根域名服务器定期从隐藏主根域名服务器同步根区文件[1],镜像根域名服务器是从根域名服务器的镜像。编号为A~M的13个根域名服务器,其中10个在美国,2个在欧洲,1个在日本。根域名服务器一旦停止服务、发布虚假信息或者篡改消息实现访问的重定向,大量Internet用户将无法正常访问域名[2]。我国于2003年起开始引入镜像根,分别于2003年、2005年和2007年引入了F根、I根和J根三个镜像根[1],镜像根域名服务器提升域名解析效率的同时,还需将解析的细节传送到根域名服务器上,网络用户的信息私密无法得到保护[3]。另外,主根域名服务器如果屏蔽指定的域名,则它们的地址將无法解析。据报道,伊拉克、利比亚的顶级域名曾经先后被从根域名服务服务器中抹掉了数天,这样即可让世界各国都无法访问这个国家域名下的网站,在这种情况下,该域名的多层解析体系也会跟着土崩瓦解[6]。根域名服务器集中式的组织和管理方式无法摆脱美国的控制,无法避免地对世界上大多数国家的网络造成潜在的安全威胁。

中国工程院方滨兴院士提出的一个“域名对等扩散”的方法,让各个顶级域名所有者向其他国家级根域名掌握者报告其顶级域名服务器的地址信息,文献[6]中比较了“应急根域名解析”模式和“自主根域名解析”模式,“应急”模式缺乏平时的运行考验,而且所采取的技术过于复杂,很难保证在需要的时候能够有效使用;而“自主”模式作为常态运行,根域名解析服务器的负载能力可以在日常运行的监控中不断扩充,可以使得运行过程得到长期有效的考验[6]。本文认为在国际根域名服务器客观存在的情况下,“域名对等扩散”体系下的“自主根”和国际根域名服务器处于一种混合的工作模式,“自主根域名解析”将目前由中心式的根域名解析体系引起的管理权问题转移到了顶级域名服务器,如果.com一类的国际顶级域名服务器不将权威的信息交换给“自主根域名解析”模式下的自主根,自主根会受到很大的限制;另外,在“自主”模式下,如果国际根域名服务器对部分地址信息封杀,文献[6]中提到的“利比亚式风险”也还是存在的,因此我们认为这也只是一种过渡性改良方案。所以,从长远角度考虑,本文提出了一种能真正维护主权、体现各国平等的理想方案,就是使用一种去中心化的域名解析系统,这样才能真正落实主权在我、不受制于人的原则。

本文以DNS(Domain Name System)为研究背景,在层次树状结构的基础上进一步研究,提出了一种去中心化的网络域名服务系统DDNS(Decentralized Domain Name System)模型和相应算法,在Paxos[4]算法的基础上设计分布式一致性算法组织根域名服务器,分级分区域地管理所有的域名。根区的事务请求要得到过半根节点的投票才能通过,从而不再依赖于主根域名服务器,DDNS可以支持国家网络主权的理念,确保各个根域名服务器掌握者的网络独立权。

2 设计思路

首先,为了便于区分DDNS网络域名服务系统的自组织网络部分和被管理网络部分,本文将DDNS划分为一个骨干区域和若干非骨干区域。骨干区域由根域名服务器组成,去除主根的绑定,采用去中心化的设计思路;被管理网络由域名解析过程查询时依赖于根域名服务器的顶级域名服务器和权限域名服务器组成。域名解析过程保持现有体系下递归查询和迭代查询。在域名注册管理上,各个国家可以建立平等的域名注册管理机构和根域名服务器运行机构。这种去中心的分层管理模式依赖于本国的根域名服务器,各个根域名服务器之间保持状态一致性。

Leslie Lamport提出的Paxos算法是一种一致性算法,世界上其他的分布一致性算法都是Paxos算法的改进或者简化版本[5]。首先,本文在Paxos算法基础上设计了分布式一致性算法用于骨干区根域名服务器的事务更新。骨干区的每一次事务请求要先发起操作提议,提议要通知到每一个根域名服务器节点上。当本次提议收到过半根节点的投票同意后,本次事务请求会在每一个根域名服务器上提交,即每一次的提议要么在所有根域名服务器上都应用,要么都不应用。为了保证各个根节点上执行的事务是顺序一致的,每一次的提议都会有编号pId(Proposal Id),编号是逐次递增的。假设当前已通过的最大提议编号是N,则之后进入投票表决的提议编号一定是大于N的。

第二步,当骨干区域有多个根域名服务器节点同时对同一条记录发起事务请求时,并且它们将要操作的对象的value值不相同,这里会产生冲突。因此引入一个Leader的概念,每个根节点的提议都要先发送到Leader的队列当中,再由Leader顺序地对每个提议向其他根节点(Follower)发起投票。在Leader收到过半根节点的同意回复后,Leader再将该提议的确认通知发送到每一个根节点上,再由各根节点来提交该事务。集群初始化时最先启动的节点作为Leader,如果出现Leader宕机,存活的根节点会依据提议编号的大小和根节点唯一标识(ID)的大小两个因素来投票选举出新的Leader。

以上两步都是要保证每一个操作事务和事务提交的顺序是一致的,保证各根节点的副本和状态的一致性。客户端连接到任意一台根域名服务器,查询到的顶级域名信息都是一致的,即客户端单一视图。

上述两个步骤将是本文的研究重点。

为了确保域名的自主可控,本文考虑在DDNS框架的基础上设计规则来限制根域名服务器对顶级域名的操作权限,国家顶级域名和本国的底层域名的操作提议只能在本国的域名注册管理和运行机构上提交,各个根域名服务器节点都不会同意和接受某个根节点对其管辖范围外的域名的操作提议。针对.com、

.org这类的国际顶级域名,也按照DDNS的去中心化思路来组织国际顶级域名服务器。

3 框架设计

3.1 相关概念

骨干区域:DDNS的中心区域,该区域由非骨干区域中深度最小的根域名服务器组成。骨干区域内所有的域名服务器组成一张无向图。所有的域名服务器之间都存在物理链路并且可以相互通信。如图1中的A、B、C、D所示的根域名服务器节点组成了骨干区域。

非骨干区域:骨干区域以外的区域称为非骨干区域。各非骨干区域内部的拓扑结构为一棵树,该树的根节点就是本非骨干区域连接骨干区域的根域名服务器。如图1所示,顶级域名服务器和权限域名服务器等节点组成了非骨干区域A。本文使用骨干域名服务节点名称+“”的方式描述非骨干区域。

Leader:骨干区域内所有操作提议的唯一调度者和处理者,在任一时刻不存在多于1个的Leader,Leader角色并不与某个骨干节点永久绑定,在Leader无法连通后,骨干区会重新选舉出新的Leader。

Follower:骨干区域内除Leader外存活的节点,接收来自客户端的操作请求,并将请求转发给Leader,还参与Leader发起的提议投票,在检测不到Leader心跳后投票重选Leader。

3.2 DDNS模型建模

下面将给出DDNS模型的相关定义。

定义1. 域名服务器节点D,节点的属性可以用一个五元组来表示:

D=

其中,id是节点D唯一标识;n是D节点名称; isBackbone标识该D节点是否为根域名服务器节点,isBackbone取值1标识骨干节点,取值0标识非骨干节点;role取值L标识Leader,取值F标识Follower;pid是节点上最新的提议编号。

定义2. 提议Proposal,其数据结构为以下三元组:

Proposal=

其中,pId为提议编号;key为操作对象;value为操作对象的值。

定义3. Proposal选票,其数据结构为以下二元组:

VOTE_Proposal=

其中,id为当前节点的全局唯一数字标识;vote取值Y表示同意,vote取值N表示否定。

定义4. Leader选票,其数据结构为以下三元组:

VOTE_LEADER=

其中,id为当前节点的全局唯一数字标识;pId为当前节点最新的提议编号;electionId为当前节点进行投票的轮次。

4 主要功能和流程

骨干区域内,Follower的提议只能发给Leader,Leader对提议可以发起全体的投票,Leader发起的提议的编号为当前pId加1,各节点只会同意大于当前pId的提议,包括已表决通过的和未来的,每个节点的pId会随着提议的通过不断地更新,处理流程如下:

①骨干节点接收到客户端的操作请求后,向Leader提交编号为(pId+1)的事务操作提议;

②Leader检查没有收到过编号大于pId+1的请求后向所有Follower节点通知该提议,并获得Follower的投票;

③在Leader收到过半骨干节点的同意票后,Leader向所有Follower节点发出该提议的事务提交通知;

④Follower收到Leader的事务提交通知后,在本节点上执行该提议,并将本机的pId更新为(pId+1),并通知Leader已提交事务。

上述流程举例如下:假设有5个根节点<1, A, 1, F, 8>,<2, B, 1, L, 8>,<3, C, 1, F, 8>,<4, D, 1, F, 7>,<5, E, 1, F, 7>,B节点为Leader。客户端向C发起将com的地址改为ip1的请求,步骤如图2所示。

Follower和Leader之间的心跳检测是基于超时机制的。当一个Follower超过一定的时间没有收到Leader的响应,它就怀疑Leader发生故障并启动选举过程。Leader出现故障后,整个骨干区域进入恢复模式,暂停对外服务,在重新选举出新的Leader后,并当骨干区域内有过半的根节点与新的Leader完成状态同步,结束恢复模式,处理流程如下:

①节点初始化选票,将选票送入本机发送队列,由发送器取出并发送到其他每个节点的接收器,接收器会将选票写入节点的接收队列;

②每个节点从本机的接收队列读取选票,记为vote2

③本机选票,记为vote1,当e1小于e2时,清空本机的接收队列,并重新初始化本机选票,转④;当e2小于e1时,忽略vote2,转②;当e1等于e2时,进④;

④当P1小于P2时,更新本节点的选票为;当P1等于P2时,判断i2是否大于i1,当i2大于i1时,更新本节点的选票为;选票更新后送入本机发送队列;

⑤统计本机的选票集合,如果有节点获得过半的相同选票,终止投票,否则转②;

⑥确定投票终止后,根据表决结果,更新D中的role值,退出恢复模式。

某一时刻,A和B发生故障,骨干区重选Leader,选举示意图如图3所示。

从实时性角度来看,骨干节点间的数据同步并不是强一致性,是一种伪实时性。骨干节点之间是由物理的媒介进行连接的,节点间传递数据存在延时。因此,在某一个时间片内可能存在节点间数据的不一致,只能保证顺序一致性和最终一致性。

5 结束语

去中心化的域名服务器组织和管理方式可以保证各个根域名服务器的状态一致,并且有效地避免了目前DNS集中式的工作中存在的各种弊端。DDNS模型的域名解析方案不受主根域名服务器的限制,保证了根域名服务器的自主可控,即骨干区域内任一骨干D出现宕机、重启或者遭受攻击等问题,不影响其他骨干D连接成网络。这种去中心化域名系统可以保证国家网络信息安全不受任何单方面的骨干D的管理和控制。DDNS确保国家网络主权的同时保护了网络用户的信息隐私,从根本上防止了中心式的域名解析体系对国家网络安全造成的威胁。

参考文献

[1] 李原,曹慧海,王安平.我国根域名解析服务监测与分析[A].中国通信学会.第十七届全国青年通信學术年会论文集[C].中国通信学会,2012:5.

[2] 曹蓟光.互联网域名系统管理新机制的研究[J].电信网技术,2005,10:8-12.

[3] 杨剑.中国根域名镜像服务器到底带来了什么?[N].电脑报,2007-01-01A08.

[4] Leslie Lamport.The Part-Time Parliament. ACM Transactions on Computer Systems 16,2 (May 1998),133-169.

[5] 杨平安.基于Paxos算法的HDFS高可用性的研究与设计[D].华南理工大学,2012.

[6] 方滨兴.从“国家网络主权”谈基于国家联盟的自治根域名解析体系[J].信息安全与通信保密,2014,12:35-38.

基金项目:

国家自然科学基金资助项目(61540020):“基于多维证据的信任评估理论、模型与关键机制研究”。

作者简介:

朱国库(1992-),男,浙江人,硕士研究生;主要研究方向和关注领域:网络与信息安全。

蒋文保(1969-),男,湖南人,毕业于清华大学,博士后,北京信息科技大学信息管理学院副院长,信息系统研究所副所长,教授,硕士生导师;主要研究方向和关注领域:网络与信息安全领域的科学研究、产品开发、教学和管理。

猜你喜欢

去中心化网络安全
邯郸市档案馆积极开展网络安全宣传教育
全国多地联动2020年国家网络安全宣传周启动
新量子通信线路保障网络安全
全省教育行业网络安全培训班在武汉举办
保护个人信息安全,还看新法
数字化转型“去中心化”不只看上去很美
浅析移动互联语境下中小成本电影去中心化的创作趋向
“去中心化”电子商务背景下大学生网络创业前景分析
浅析新媒体视阈下的新闻失实报道
中国网络安全产业联盟正式成立