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根数据分发方法,该方法包括:通过预先建立的根数据发布网络中的矿工节点,获取根节点的根数据; ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。