基于区块链的DNS根数据分发方法及系统技术方案

技术编号:20947574 阅读:26 留言:0更新日期:2019-04-24 03:42
本发明专利技术公开了一种基于区块链的DNS根数据分发方法及系统,通过预先建立的根数据发布网络中的矿工节点,获取根节点的根数据,然后对获取到的根数据与本地区块链上的最新区块的根数据进行新旧比较,并基于区块链技术实现根数据的校验,基于区块链技术的特征,若需要劫持大量链路,则需要篡改一半以上的矿工节点数据,困难较大,从而通过区块链技术中的各个矿工节点网络构成DNS根数据分发网络,可降低数据被篡改的风险。并且通过区块链技术实现根节点的区数据的校验,增加获得的根数据的安全性,并且通过区块链网络实现根数据分发的网络快速性。

DNS Root Data Distribution Method and System Based on Block Chain

The invention discloses a block chain-based DNS root data distribution method and system. The root data of the root node is obtained through the pre-established mining node in the root data distribution network, and then the obtained root data is compared with the root data of the latest block in the local block chain. The root data is checked based on the block chain technology, and the particularity of the block chain technology is based on the block chain technology. If a large number of links need to be hijacked, more than half of the miner node data need to be tampered with, which is more difficult. Thus, DNS root data distribution network can be formed through each miner node network in block chain technology, which can reduce the risk of data tampering. And the block chain technology is used to verify the root node's zone data, increase the security of the obtained root data, and realize the network speediness of root data distribution through the block chain network.

【技术实现步骤摘要】
基于区块链的DNS根数据分发方法及系统
本专利技术涉及互联网
,特别是涉及一种基于区块链的DNS根数据分发方法及系统。
技术介绍
DNS(DomainNameSystem,域名系统)是因特网上作为域名和IP地址相互映射的一个分布式数据库,使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。DNS按功能可分为权威DNS和递归DNS,其中,权威DNS是经过上一级授权对域名进行解析的服务器,同时它可以把解析授权转授给其他人;递归DNS负责接受用户查询,然后向权威DNS发起迭代查询,最后将结果返回给用户。递归DNS迭代查询的过程中需要向根请求数据,由于DNS根节点大多部署在国外,导致国内递归DNS时延较大。为了解决这个问题,RFC7706相关文件提出在递归DNS本地存储根区数据的方案,即DNS根节点提供区数据下载服务,递归DNS通过标准区传送协议同步根区数据,当递归DNS迭代查询的过程中,直接访问本地的根数据,以达到降低整个查询时延的目的。但是,RFC7706等相关文件没有相应的机制保证递归DNS与跟节点之间的数据传输的安全性,使得在数据传输过程中根数据(根数据为根区的区数据)可能被篡改,会导致大规模的域名劫持事件。
技术实现思路
针对于上述问题,本专利技术提供一种基于区块链DNS根数据分发方法及系统,提高了RFC7706提出的在递归DNS本地存储根区数据方案中,提高根区数据传输的安全性。为了实现上述目的,本专利技术提供了如下技术方案:一种基于区块链的DNS根数据分发方法,该方法包括:通过预先建立的根数据发布网络中的矿工节点,获取根节点的根数据;比较获得的根数据与本地最新区块的根数据的新旧,若所述获得的根数据为最新,则通过各个所述矿工节点对所述获得的根数据进行工作量证明,获取所述获得的根数据的优先发布权;响应于基于所述获得的根数据创建区块的确认消息,对待创建的新区快进行新旧认证;若所述待创建的新区块为最新区块,获取所述待创建的新区块的根数据,并对所述根数据进行一致性校验,若校验成功则将所述待创建的新区块加入到本地区块链中;若所述待创建的新区块不是最新区块,在区块链中寻找与带创建的新区块相匹配的区块,将所述相匹配的区块确定为第一区块,若对所述第一区块的根数据的一致性校验成功,则将所述第一区块加入到本地区块链的分叉链中;在递归DNS的服务器上安装所述本地区块链的客户端,使得所述客户端获取所述本地区块链上的最新区块中的根数据,实现递归DNS获取到最新的根数据。可选地,所述通过预先建立的根数据发布网络中的矿工节点,获取根节点的根数据,包括:通过区块链技术,创建包括多个网络节点的根数据发布网络;在所述根数据发布网络中的各个矿工节点,通过DNS协议从跟节点获取最新的区数据,作为根数据,其中,所述矿工节点表征所述网络节点。可选地,所述比较获得的根数据与本地最新区块的根数据的新旧,包括:获取与所述获得的根数据相匹配的第一SOA序列号;获取与所述本地最新区块的根数据相匹配的第二SOA序列号;将所述第一SOA序列号和所述第二SOA序列号进行比较,若所述第一SOA序列号大于所述第二SOA序列号,则所述获得的根数据为最新。可选地,该方法还包括:在获取所述获得的根数据的优先发布权后,通过各个矿工节点发送创建新区块认证请求给所述根数据发布网络中的其他节点,使得所述其他节点进行确认,生成确认消息。可选地,该方法还包括:若对所述根数据进行一致性校验且校验不成功,则对所述根数据进行工作量证明获取所述根数据优先权,并等待接收创建新区快的认证消息。一种基于区块链的DNS根数据分发系统,该系统包括:第一数据获取单元,用于通过预先建立的根数据发布网络中的矿工节点,获取根节点的根数据;第一比较单元,用于比较获得的根数据与本地最新区块的根数据的新旧,若所述获得的根数据为最新,则通过各个所述矿工节点对所述获得的根数据进行工作量证明,获取所述获得的根数据的优先发布权;认证单元,用于响应于基于所述获得的根数据创建区块的确认消息,对待创建的新区快进行新旧认证;第一校验单元,用于若所述待创建的新区块为最新区块,获取所述待创建的新区块的根数据,并对所述根数据进行一致性校验,若校验成功则将所述待创建的新区块加入到本地区块链中;第二校验单元,用于若所述待创建的新区块不是最新区块,在区块链中寻找与带创建的新区块相匹配的区块,将所述相匹配的区块确定为第一区块,若对所述第一区块的根数据的一致性校验成功,则将所述第一区块加入到本地区块链的分叉链中;第二数据获取单元,用于在递归DNS的服务器上安装所述本地区块链的客户端,使得所述客户端获取所述本地区块链上的最新区块中的根数据,实现递归DNS获取到最新的根数据。可选地,所述第一数据获取单元包括:创建子单元,用于通过区块链技术,创建包括多个网络节点的根数据发布网络;第一获取子单元,用于在所述根数据发布网络中的各个矿工节点,通过DNS协议从跟节点获取最新的区数据,作为根数据,其中,所述矿工节点表征所述网络节点。可选地,所述第一比较单元包括:第二获取子单元,用于获取与所述获得的根数据相匹配的第一SOA序列号;第三获取子单元,用于获取与所述本地最新区块的根数据相匹配的第二SOA序列号;第一比较子单元,用于将所述第一SOA序列号和所述第二SOA序列号进行比较,若所述第一SOA序列号大于所述第二SOA序列号,则所述获得的根数据为最新。可选地,该系统还包括:生成子单元,用于在获取所述获得的根数据的优先发布权后,通过各个矿工节点发送创建新区块认证请求给所述根数据发布网络中的其他节点,使得所述其他节点进行确认,生成确认消息。可选地,该方法还包括:验证子单元,用于若对所述根数据进行一致性校验且校验不成功,则对所述根数据进行工作量证明获取所述根数据优先权,并等待接收创建新区快的认证消息。相较于现有技术,本专利技术提供了一种基于区块链的DNS根数据分发方法及系统,通过预先建立的根数据发布网络中的矿工节点,获取根节点的根数据,然后对获取到的根数据与本地区块链上的最新区块的根数据进行新旧比较,并基于区块链技术实现根数据的校验,基于区块链技术的特征,若需要劫持大量链路,则需要篡改一半以上的矿工节点数据,困难较大,从而通过区块链技术中的各个矿工节点网络构成DNS根数据分发网络,可降低数据被篡改的风险。并且通过区块链技术实现根节点的区数据的校验,增加获得的根数据的安全性,并且通过区块链网络实现根数据分发的网络快速性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种基于区块链的DNS根数据分发方法的流程示意图;图2为传统的递归DNS获取根数据的示意图;图3为本专利技术实施例提供的一种基于区块链的DNS根数据分发示意图;图4为本专利技术实施例提供的一种基于区块链的DNS根数据分发系统的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分本文档来自技高网...

【技术保护点】
1.一种基于区块链的DNS根数据分发方法,其特征在于,该方法包括:通过预先建立的根数据发布网络中的矿工节点,获取根节点的根数据;比较获得的根数据与本地最新区块的根数据的新旧,若所述获得的根数据为最新,则通过各个所述矿工节点对所述获得的根数据进行工作量证明,获取所述获得的根数据的优先发布权;响应于基于所述获得的根数据创建区块的确认消息,对待创建的新区快进行新旧认证;若所述待创建的新区块为最新区块,获取所述待创建的新区块的根数据,并对所述根数据进行一致性校验,若校验成功则将所述待创建的新区块加入到本地区块链中;若所述待创建的新区块不是最新区块,在区块链中寻找与带创建的新区块相匹配的区块,将所述相匹配的区块确定为第一区块,若对所述第一区块的根数据的一致性校验成功,则将所述第一区块加入到本地区块链的分叉链中;在递归DNS的服务器上安装所述本地区块链的客户端,使得所述客户端获取所述本地区块链上的最新区块中的根数据,实现递归DNS获取到最新的根数据。

【技术特征摘要】
1.一种基于区块链的DNS根数据分发方法,其特征在于,该方法包括:通过预先建立的根数据发布网络中的矿工节点,获取根节点的根数据;比较获得的根数据与本地最新区块的根数据的新旧,若所述获得的根数据为最新,则通过各个所述矿工节点对所述获得的根数据进行工作量证明,获取所述获得的根数据的优先发布权;响应于基于所述获得的根数据创建区块的确认消息,对待创建的新区快进行新旧认证;若所述待创建的新区块为最新区块,获取所述待创建的新区块的根数据,并对所述根数据进行一致性校验,若校验成功则将所述待创建的新区块加入到本地区块链中;若所述待创建的新区块不是最新区块,在区块链中寻找与带创建的新区块相匹配的区块,将所述相匹配的区块确定为第一区块,若对所述第一区块的根数据的一致性校验成功,则将所述第一区块加入到本地区块链的分叉链中;在递归DNS的服务器上安装所述本地区块链的客户端,使得所述客户端获取所述本地区块链上的最新区块中的根数据,实现递归DNS获取到最新的根数据。2.根据权利要求1所述的方法,其特征在于,所述通过预先建立的根数据发布网络中的矿工节点,获取根节点的根数据,包括:通过区块链技术,创建包括多个网络节点的根数据发布网络;在所述根数据发布网络中的各个矿工节点,通过DNS协议从跟节点获取最新的区数据,作为根数据,其中,所述矿工节点表征所述网络节点。3.根据权利要求1所述的方法,其特征在于,所述比较获得的根数据与本地最新区块的根数据的新旧,包括:获取与所述获得的根数据相匹配的第一SOA序列号;获取与所述本地最新区块的根数据相匹配的第二SOA序列号;将所述第一SOA序列号和所述第二SOA序列号进行比较,若所述第一SOA序列号大于所述第二SOA序列号,则所述获得的根数据为最新。4.根据权利要求1所述的方法,其特征在于,该方法还包括:在获取所述获得的根数据的优先发布权后,通过各个矿工节点发送创建新区块认证请求给所述根数据发布网络中的其他节点,使得所述其他节点进行确认,生成确认消息。5.根据权利要求1所述的方法,其特征在于,该方法还包括:若对所述根数据进行一致性校验且校验不成功,则对所述根数据进行工作量证明获取所述根数据优先权,并等待接收创建新区快的认证消息。6.一种基于区块链的DNS根数据分发系统,其特征在于,该系统包括:第一数据获取单...

【专利技术属性】
技术研发人员:吕万波张海阔叶崛宇岳巧丽贺明
申请(专利权)人:中国互联网络信息中心
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1