掌桥专利:专业的专利平台
掌桥专利
首页

基于区块链的域名数据存储方法及系统

文献发布时间:2023-06-19 09:26:02


基于区块链的域名数据存储方法及系统

技术领域

本发明涉及计算机安全技术领域,具体涉及一种基于域名安全的递归区块链存储数据的融合监测方法。

背景技术

区块链(Blockchain)从科技层面来看,是一种涉及数学、密码学、互联网和计算机编程等很多科学技术问题的重要概念。从应用视角来看,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、可以追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动。区块链分类帐可用作分散的数据库,用于维护每个事务的详细信息。这些事务按时间顺序添加到分类帐,并存储为一系列块。每个块引用前一个块以形成互连链。这种分类帐分布在多个节点,每个节点都保持完整的副本。区块链会自动同步和验证所有节点的事务。分类帐对所有参与成员都是透明的且可验证,无需中央授权或第三方验证服务。

数据存储到区块链的过程分为六个步骤:第一,创建数据分片。存储系统将数据分成更小的段,这个过程称为分片。分片涉及将数据分解为可管理的块,这些块可分布在多个节点。精确的分片方法取决于数据类型以及进行分片的应用程序。第二,加密每个分片。第一步完成后,存储系统会加密本地系统上的每个数据分片。内容所有者对此过程拥有完全控制权。目标是确保内容所有者以外的任何人都无法查看或访问分片中的数据,无论数据位于何处以及该数据是静态还是动态。第三,为每个分片生成哈希。区块链存储系统根据分片的数据或加密密钥生成唯一的哈希值,即固定长度的加密输出字符串。哈希被添加到分类帐和分片元数据中,以将事务链接到存储的分片。生成哈希的确切方法因系统而异。第四,复制每个分片。该存储系统会复制每个分片,因此有足够的冗余副本可确保可用性和性能,以防止性能下降和数据丢失的情况。内容所有者会确定为每个分片制作多少副本以及这些分片所在的位置。作为此过程的一部分,内容所有者应确定最小副本数量阈值,以确保不会丢失数据。第五,分发复制的分片。P2P网络将复制的分片分发到地理分散的存储节点,无论是地区范围还是全球范围。多个企业或个人(有时称为农民)拥有存储节点,同时租用额外的存储空间以换取某种类型的补偿,通常是加密货币。没有一个实体拥有所有存储资源或控制存储基础架构。只有内容所有者才能完全访问其所有数据,无论这些节点位于何处。第六,记录事务到分类帐。该存储系统记录区块链分类帐中的所有事务,并在所有节点之间同步信息。分类帐会存储与事务相关的详细信息,例如分片位置、分片哈希和租赁成本。由于分类帐是基于区块链技术,因此它具有透明性、可验证性、可追溯性和防篡改性。

域名系统,Domain Name System,常被使用者缩写为DNS,是互联网上为人们提供的一种服务。DNS实际上是一类特殊的分布式数据库,可以将域名domain和IP地址进行相互映射,而它的价值则为其带来的方便性、快捷性,使用者不需要知道背后的原理便可以轻松地进行网络查询。域名解析是把某个域名指向其所对应的网站空间IP地址,从而使网络的使用者仅通过注册的域名达成访问到具体网页的愿望。

DNS解析流程为:域名-DNS(即域名解析服务器)-IP地址。在使用者意图完成上文提到的映射过程时,域名解析函数的作用就凸显出来,其作用是将之后想要找到其IP地址的域名以DNS请求的格式包装并发送,如果服务器没有事先缓存其相应信息,那么继续用报文的概念转移到本地。如果在本地的域名服务器中得到了相关信息,则将该域名所对应的主机地址返回给调用函数,格式是应答报文。域名服务器还需要具备另一个特性:能将请求转发给其他机器,防止自己这台机器无法“回答”提出者的问题。若域名服务器不能回应该请求,那么它将给新的“root”(根服务器)发出新的“疑问”以求解析回应,再由新的“root”向下查询,用这样的递归查询方式不断究诘底层的机器,直到得到查询者想要的结果。一旦域名解析器得到了想要的具体结果,缓存内就会存有这样的映射结果,下次查询时,缓存会告诉问题发出者想要的应答,就省去了多次查询。

图1具体阐述了互联网上一个域名girigiri.gbrmpa.gov.au的具体解析过程。使用者希望得到该域名的IP地址,向解析器寻求帮助,但假如说在缓存中找不到使用者期望的答案,那么只能由此处向本地的服务器发送请求,若同样没有得到该问题的解答,则本地的服务器向“根”方向去提出同样的查询请求,再得到返回通知后让本地的服务器去访问au名称服务器,因此本地的名称服务器再进行这个操作。就这样以一棵树的形式层层向下迭代查询,最后查询到原来完整域名所对应的IP地址,本地的名称服务器得到IP地址结果并且把这一答案“告知”给提问者,使用者也在最后得到了想要的答案。同时,该域名对应的IP地址将缓存在本地的名称服务器,为下一次的查询省时省力。

恶意域名监测是指通过一定的算法对域名服务器返回的数据进行安全监测,将监测安全的数据写入白名单,将不安全的数据写入黑名单中,保证数据的安全,进一步保证使用者的网络安全。这些数据包括但不限于,域名文本、域名资源记录等。

因此,安全领域研究者致力于在保证数据安全的基础上,进行数据查询或者存储,同样的思维可以应用在区块链数据存储上。

现有技术的恶意域名检测技术方案包括:

(一)基于区块链的数据中心监测管理系统的制作方法,具体操作是添加数据监测模块,在将数据输入到区块链存储之前,通过监测模块对数据进行一定程度的监测。具体操作流程见图2。该技术方案存在如下缺点:

1、没有针对性,虽然该方法提出了对区块链的数据进行监测,但是并没有提出针对不同的数据进行针对性的监测算法;

2、安全性不够,虽然该方法保证了数据中心的安全性,但没有针对输入数据进行监测,仍然存在数据高风险;

3、明确度不够,数据采集模块的设计不够合理,区块链有自身的存储机制,添加了数据采集模块后,有些画蛇添足。

(二)恶意域名监测算法:辨别一个域名是否恶意的监测方式多种多样,包括但不限于:分析网络流量、检测网页内容、检测DNS数据、建立黑名单白名单等。其中最常用的方法是结合机器学习算法分析DNS数据。算法的常用输入是DNS及相关数据,输出是域名的安全与否。该技术方案存在如下缺点:

1、针对性过强,每一种监测方法都是针对一类特定的数据集,但是对于要写入区块链的数据是不够的,写入区块链的数据是多方面的,仅用一种方法监测数据是不准确的。

2、不同的恶意域名监测算法针对同一个数据的测试结果也是不同的,因此在给定输入数据的情况下,选择哪一种监测方法就存在一定的问题。

发明内容

针对上述问题,本发明提出一种基于区块链的域名数据存储方法,包括:根据用户的查询信息,通过DNS递归服务器进行递归检索;并在获得递归检索的中间数据后,对该中间数据进行安全检测;将递归检索获得的目标数据发送给该用户;对该目标数据、该中间数据和对该中间数据的检测结果,以及递归检索的过程信息进行加密,生成区块并链入区块链。

本发明所述的域名数据存储方法,其中对当前轮递归检索获得的中间数据进行安全检测时,若检测结果为安全,则进行下一轮递归检索,反之则将该检测结果发送给该用户,并根据该用户的指示终止递归检索或进行下一轮递归检索。

本发明所述的域名数据存储方法,通过域名服务器将该查询信息发送该DNS递归服务器进行递归检索;并将检测结果为安全的中间数据和该目标数据保存至该域名服务器。

本发明所述的域名数据存储方法,若所有该检测结果为安全,将该DNS递归服务器加入区块链网络成为记账节点。

本发明还提出一种基于区块链的域名数据存储系统,包括:检索模块,用于根据用户的查询信息,通过DNS递归服务器进行递归检索;并在获得递归检索的中间数据后,对该中间数据进行安全检测;交互模块,用于将递归检索获得的目标数据发送给该用户;存储模块,用于对该目标数据、该中间数据和对该中间数据的检测结果,以及递归检索的过程信息进行加密,生成区块并链入区块链。

本发明所述的域名数据存储系统,其中该检索模块对当前轮递归检索获得的中间数据进行安全检测时,若检测结果为安全,则进行下一轮递归检索,反之则调用该反馈模块以将该检测结果发送给该用户,并根据该用户的指示终止递归检索或进行下一轮递归检索。

本发明所述的域名数据存储系统,其中该交互模块通过域名服务器向该DNS递归服务器发送该查询信息;该存储模块还用于将检测结果为安全的中间数据和该目标数据保存至该域名服务器。

本发明所述的域名数据存储系统,其中若所有该检测结果为安全,将该DNS递归服务器加入区块链网络成为记账节点。

本发明还提出一种计算机可读存储介质,存储有计算机可执行指令,该计算机可执行指令用于执行如前所述的基于区块链的域名数据存储方法。

本发明还提出一种数据处理装置,包括如前所述的计算机可读存储介质,该数据处理装置的处理器调取并执行该计算机可读存储介质中的计算机可执行指令,以进行基于区块链的域名数据存储。

附图说明

图1是现有技术DNS递归查询示意图。

图2是现有技术的基于区块链的数据中心监测管理系统构架示意图。

图3是本发明的基于区块链的域名数据存储示意图。

图4是本发明的基于区块链的域名数据安全检测示意图。

图5是本发明的基于区块链的域名数据存储方法流程图。

图6是本发明的数据处理装置示意图。

具体实施方式

本发明的目的是解决上述现有技术的鲁棒性低、查询结果无法存储更新等问题,提出了一种基于区块链的域名数据存储方法及系统。

发明人在进行域名安全研究时,发现现有技术中该项缺陷是由创新性低、DNS查询结果不安全、算法鲁棒性低导致的,发明人经过DNS安全和区块链研究发现,解决这些缺陷可以通过区块链和对域名递归检索的中间数据进行恶意域名检测来实现。本发明的核心内容包括:一、将DNS数据查询与区块链数据存储的结合,解决了DNS查询结果的存储和区块链存储内容的合理性问题;二、DNS数据递归上链,解决了DNS查询结果存储位置的安全的问题,区块链通过智能合约和共识算法等特性保证了存储数据的安全,防止DNS数据泄露;三、融合恶意域名监测算法对输入DNS的数据进行监测,解决了现有的恶意域名监测算法针对性过强的问题,并保证了输入区块链数据的绝对安全;

首先,本发明的基础方案是域名数据递归上链(区块链)的服务架构,如图3所示,该架构总共分为三个部分:域名服务平台、数据交换平台和区块链。

其中,使用者(用户)通过域名服务平台(域名服务器)进行数据的查询,针对使用者提供的域名基础信息(如DNS或者URL链接等)通过递归服务器进行DNS查询,查询是一个递归的过程,因此递归服务器的返回结果,一方面返回给域名服务器,方便进行后续的查询;另一方面递归服务器返回的数据通过数据交互平台与区块链进行交互,将安全的查询数据经过加密后写入账本,保存到区块链上。

数据交换平台是一个中间的“跳板”,方便域名服务平台与区块链进行交互,从而进行数据的写入和查询,其要承担的作用包括分析数据的安全性、通过API将DNS数据写入区块链中成为一个区块等。

区块链承担的作用是存储DNS数据,区块链保持其原有的特性和优势,区块链原有的监管机制保证安全,并通过智能合约和共识算法对数据进行加密解密,与此同时,区块链保留其原来的数据结构进行数据存储,也支持普通区块链的其他应用。

在域名数据递归上链的基础上,本发明还提供了融合的域名安全监测模型,保证通过数据交换平台输入区块链的数据的安全性,并且解决了普通算法具有的针对性过强问题,即模型融合多种恶意域名数据监测算法,使用者可以自行选择其需要的算法或者直接用融合后的模型,对递归服务器产生的数据进行监测,在保证数据安全的基础上,将安全的数据通过数据交换平台写入区块链的区块中。图4描述了本发明的完整架构。

图5是本发明的基于区块链的域名数据存储方法流程图。如图5所示,本发明的域名数据存储方法具体包括:

步骤S1,使用者/发起者通过stub客户端与域名服务平台(域名服务器)进行交互,域名服务平台的设计类似于bind,提交给域名服务平台查询信息,包括需要查询的内容(例如,域名文本www.baidu.com等),域名服务平台完成缓存机制、支持DoH、DNSSEC等协议,并且可以查询权威服务器,还可以与区块链进行交互;

步骤S2,域名服务平台根据用户的查询信息,通过DNS递归服务器进行递归检索;递归服务器层层递归进行查询,对每一层递归服务器的返回结果(中间数据)都进行安全检测,安全检测操作可以通过传递给恶意域名数据检测算法平台进行,在恶意域名数据检测算法平台中,针对其中提供的可选监测方法,选取一种针对性监测算法或者采取融合模型对返回结果进行监测,如果当前层递归服务器的返回结果,即当前轮递归检索的检测结果为安全,则进入下一层递归服务器进行查询;如果检测结果为不安全,则将中间数据返回给stub客户端,咨询使用者如何处理不安全的中间数据,如例终止递归检索或进入下一层递归服务器进行查询;

步骤S3,若所有返回结果的检测结果均为安全,则可以完成所有层递归服务器的递归查询,得到用户需要的目标数据,将目标数据通过域名服务平台反馈到stub客户端,以提供给用户;

步骤S4,若所有返回结果的检测结果均为安全,将递归服务节点加入网络,成为记账节点,对于所有返回结果、返回结果的安全结果和获得的目标数据,以及递归检索的过程信息进行加密,将加密后数据生成区块,按照共识机制认证后链入区块链;并将所有返回结果和目标数据保存在域名服务平台上,以便后续用户进行查询;

步骤S5,用户还可以通过stub客户端,经过域名服务平台与区块链进行交互,进行数据的查询和写入操作。

图6是本发明的数据处理装置示意图。如图6所示,本发明实施例还提供一种计算机可读存储介质,以及一种数据处理装置。数据处理装置为区块链网络的一个节点,分别与stub客户端、域名服务器和递归服务器网络连接,或者作为stub客户端和/或域名服务器并与递归服务器网络连接,本发明的计算机可读存储介质存储有计算机可执行指令,计算机可执行指令被数据处理装置的处理器执行时,实现上述基于区块链的域名数据存储方法。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器、FPGA、ASIC等)完成,所述程序可以存储于可读存储介质中,如只读存储器、磁盘或光盘等。上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。

本发明提出一种基于域名安全的递归区块链存储数据的融合监测方法,可以带来以下有益效果:

第一,本发明提出了将DNS数据查询与区块链数据存储的结合,具有很强的创新性,解决了查询后的DNS数据不知道放在哪里比较好的问题,存储在区块链上安全程度较高,也很新颖;

第二,本发明提出了DNS数据递归上链的方案,区块链通过智能合约和共识算法等特性保证了存储数据的安全,除了防止DNS数据泄露,还可以在一定程度上保证数据的完整性,将整个递归过程加入记账,保证了数据的完备性;

第三,本发明提出了融合恶意域名监测算法对输入DNS的数据进行监测,对不同的用户提供了不同的选择,可以选择单一的适合数据的监测方法,也可以选择使用融合评分的办法,通过多种算法增加了鲁棒性,更进一步的保证了数据的安全;

第四,用户通过客户端与平台交互,可以认为平台是一个黑盒,对用户是封装的,对用户更加友好。

以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变形,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

相关技术
技术分类

06120112166277