CN112261082A - 基于区块链和安全多方计算的被动dns数据共享方法及系统 - Google Patents
基于区块链和安全多方计算的被动dns数据共享方法及系统 Download PDFInfo
- Publication number
- CN112261082A CN112261082A CN202010993006.9A CN202010993006A CN112261082A CN 112261082 A CN112261082 A CN 112261082A CN 202010993006 A CN202010993006 A CN 202010993006A CN 112261082 A CN112261082 A CN 112261082A
- Authority
- CN
- China
- Prior art keywords
- data
- computing
- node
- dns
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/126—Applying verification of the received information the source of the received data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2133—Verifying human interaction, e.g., Captcha
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明提出一种基于区块链和安全多方计算的被动DNS数据共享方法,包括:数据持有节点收集DNS数据进行存储,并将DNS数据的数据索引存入区块链;当数据请求节点请求DNS数据共享时,通过智能合约向计算节点提出请求数据;计算节点根据该数据索引提取共享数据,并将共享数据拆分后分发给所有计算节点;该计算节点将接收到的所有拆分数据通过计算函数获得初步结果,并将初步结果广播给所有计算节点,各计算节点将所有初步结果合并得到计算结果并进行正确性验证;数据请求节点获取计算结果并通过智能合约进行验证,并将通过验证的计算结果存入区块链。
Description
技术领域
本发明涉及被动DNS数据分析技术领域,具体涉及一种基于区块链和安全多方计算的被动DNS数据共享方法。
背景技术
域名服务(Domain Name Service,DNS)主要用于将人类可读的域名映射成机器可读的网络层IP地址,其事务是互联网中大多数事务开始的前提条件。因此,反映真实DNS查询和响应的被动DNS数据可用于窥探网络活动。在安全数据分析领域,这些数据已经被用作检测网络中恶意活动的主要或附加的信息来源。但由于这些数据涉及隐私,大部分被动DNS数据检测分析恶意活动方法的数据都仅来源于合作或隶属的某一特定组织(学校、机构或组织)的域名服务器,只能从局部视角来检测恶意活动,使得现有方法存在局限不通用的问题。数据共享已成为被动DNS数据分析领域发展的一个挑战,而数据隐私正是阻碍数据共享发展的关键因素。
安全多方计算是解决一组互不信任的参与方之间保护隐私的协同计算问题的关键技术。它要确保输入的独立性,计算的正确性,同时不泄露各输入值给参与计算的其他成员。主要是针对无可信第三方的情况下,如何不泄露参与计算的输入值,安全地计算一个约定函数的问题。例如,在电子投票问题中,可以不泄露每个投票成员的投票内容的情况下,所有投票成员协同计算出投票结果。但当安全多方计算应用到数据共享领域中时,尽管可以保证计算的正确性和输入的隐私性,但无法保证输入数据的正确性。而在安全数据分析领域,输入数据的正确性将直接影响计算结果的可用性。
区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。而分布式账本是交易记账由分布在不同地方的多个节点共同完成,不同节点通过共识机制保证账本的一致性,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。因此,在没有可信第三方的情况下,区块链技术提供的存证服务,可以解决信任问题。此外,随着区块链技术的发展,利用由自动化脚本代码组成的智能合约可以编程和操作数据,从而为在区块链上实现各种复杂应用提供了可能性。
现有技术的被动DNS数据共享包括以下方案:
1、Farsight Security SIE
Farsight Security的安全信息交换平台SIE是一个被动DNS数据共享平台。它使用传感器在递归服务器端收集递归服务器与权威服务器之间的被动DNS数据,从数据源上保证收集的数据不涉及隐私;通过SSH连接和加密技术将传感器监测到的数据安全地传输到SIE的中心数据库服务器,保证数据在传输过程中不被监视和篡改。
Farsight Security SIE存在的一个重要的问题是数据安全问题。因为该技术方案基于递归服务器对Farsight Security机构的信任,数据持有者将数据移交给第三方管理。然而,一旦递归服务器和第三方之间,即递归服务器与Farsight Security之间的信任关系被破坏,例如SIE被恶意攻击,被动DNS数据的用途将完全不受数据持有者的掌控。此外,方案一存在数据不全面的问题。它为了规避隐私,仅支持不涉及用户隐私的递归服务器与权威服务器之间的数据共享,不支持对客户端和递归服务器之间的被动DNS数据的共享,从而缺失了一部分可用于被动DNS数据分析的数据和信息。因此,方案一也没有从根本上解决被动DNS数据共享的问题,仅是通过在传感器中设置规则,避免收集涉及隐私的数据来规避隐私问题。而这种方法的安全级别并不高。
2、ARPA安全计算网络
ARPA安全计算网络可结合区块链技术,提供通用的隐私数据安全计算框架。参与者主要有数据消费者、数据提供者和计算节点等角色。其中数据提供者可以将其数据委托除自己以外的计算节点计算。计算节点包括数据消费者、数据提供者及委托节点。数据提供者通过秘密共享的方式将数据分享给计算节点。
其计算过程从应用层开始,由部署在区块链上的智能合约触发。ARPA网络监控指定的区块链网络上的请求,一旦发现计算请求,即开启安全多方计算工作,然后将计算证明和结果提交回智能合约,由智能合约写入链中。,如图1所示,整个过程共包含4个步骤:
步骤1:在区块链上部署智能合约,用于接受用户的安全多方计算请求,和接受安全多方计算完成后由ARPA网络返回的结果证明。用户提交请求时,会同时提交数据提供者、待求解函数等必要信息;
步骤2:ARPA网络的协议层会监听区块链中的计算请求,并根据提交的必要信息按照一定规则选择计算节点;
步骤3:计算节点共同协调,执行ARPA安全多方计算协议。首先,它们需要秘密共享数据,然后在每个节点上执行计算;计算过程中,通过TLS加密的安全通道进行通信;最终生成的计算证明和结果返回到协议层。其中,计算证明是消息验证码(MessageAuthentication Code,MAC),是在计算过程中一起计算所得,如果不遵从安全多方计算协议,将使得MAC无法通过检查。MAC需要使用所有节点的私钥进行签名;
步骤4:MAC和结果被转发到智能合约,验证MAC的真实性和正确性。
ARPA安全计算网络存在的问题之一是数据真实性无法保证。数据持有者直接提交数据,无法保证数据的真实性和正确性,即无法判断和验证数据持有者提供的数据是真实的被动DNS数据。该技术方案存在的另一个问题是不适合于被动DNS数据共享。其整体结构的设计更适合如医疗、银行等机构的数据库数据共享,而不适合被动DNS数据这种实时的数据流的共享。一是缺少数据收集过程。二是在被动DNS数据分析领域,每个数据提供者是对等的,只是每个数据提供者提供的数据视角不同,不需要像其它共享过程中有多个角色的分配,数据请求者、计算和数据提供者应该只是同一台服务器在不同阶段的身份表达,而不是独立的服务器分别承担的角色。
发明内容
针对上述问题,本发明通过将区块链和安全多方计算进行结合,提出一种被动DNS数据共享方法,包括数据持有节点收集DNS数据进行存储,并将该DNS数据的数据索引生成数据区块链入区块链;当数据请求节点请求对某一DNS数据进行共享时,通过智能合约向计算节点提出请求数据,该请求数据包括共享数据的数据索引,以及共享所需的计算函数,该计算节点为参与提供该共享数据的数据持有节点;该计算节点根据该数据索引提取该共享数据,并将该共享数据拆分后分发给所有计算节点;该计算节点将接收到的所有拆分数据通过该计算函数获得初步结果,并将该初步结果广播给所有计算节点,各计算节点将所有该初步结果合并得到计算结果并进行正确性验证;该数据请求节点获取该计算结果并通过智能合约进行验证,并将通过验证的计算结果存入区块链。
本发明所述的被动DNS数据共享方法,其中该数据持有节点通过监听的方式收集该DNS数据,并使用公钥对该DNS数据进行加密后存储;该计算节点提取该共享数据后,先以该计算节点的私钥对该共享数据进行解密。
本发明所述的被动DNS数据共享方法,其中该DNS数据的数据索引为该DNS数据的首条数据报捕获时间Ts和末条数据报捕获时间TF;该数据请求节点通过检索区块链的区块,以获得该共享数据的数据索引,以及所有提供该共享数据的数据持有节点的地址;智能合约通过该地址确定计算节点。
本发明所述的被动DNS数据共享方法,其中该计算节点以获取该初步结果的过程中产生的消息验证码为计算证明,并将该初步结果和该计算证明广播给所有计算节点;各计算节点将接收到的该初步结果合并为该计算结果,并以接收到的该计算证明验证该计算结果的正确性;当该数据请求节点确认所有计算节点对该计算结果都通过验证后,将该计算结果和所有该计算证明存入区块链的区块。
本发明还提出一种基于区块链和安全多方计算的被动DNS数据共享系统,包括:DNS数据采集模块,用于数据持有节点收集DNS数据进行存储,并将该DNS数据的数据索引生成数据区块链入区块链;共享请求模块,用于当数据请求节点请求对某一DNS数据进行共享时,通过智能合约向计算节点提出请求数据;其中,该请求数据包括共享数据的数据索引,以及获取共享所需的计算函数,该计算节点为参与提供该共享数据的数据持有节点;安全多方计算模块,用于获取计算结果;其中该计算节点根据该数据索引提取该共享数据,并将该共享数据拆分后分发给所有计算节点;该计算节点将接收到的所有拆分数据通过该计算函数获得初步结果,并将该初步结果广播给所有计算节点,各计算节点将所有该初步结果合并得到该计算结果并进行正确性验证;验证模块,用于该数据请求节点获取该计算结果并通过智能合约进行验证,并将通过验证的计算结果存入区块链。
本发明所述的被动DNS数据共享系统,其中该DNS数据采集模块通过监听的方式收集该DNS数据,并使用公钥对该DNS数据进行加密后存储;该安全多方计算模块在提取该共享数据后,先以该计算节点的私钥对该共享数据进行解密。
本发明所述的被动DNS数据共享系统,其中该DNS数据的数据索引为该DNS数据的首条数据报捕获时间Ts和末条数据报捕获时间TF;该共享请求模块还包括请求数据检索模块,用于通过检索区块链的区块,以获得该共享数据的数据索引,以及所有提供该共享数据的数据持有节点的地址;智能合约通过该地址确定计算节点。
本发明所述的被动DNS数据共享系统,其中该安全多方计算模块以获取该初步结果的过程中产生的消息验证码为计算证明,并将该初步结果和该计算证明广播给所有计算节点;以及将接收到的该初步结果合并为该计算结果,并以接收到的该计算证明验证该计算结果的正确性;该验证模块在确认所有计算节点对该计算结果都通过验证后,将该计算结果和所有该计算证明存入区块链的区块。
本发明还提出一种计算机可读存储介质,存储有计算机可执行指令,当该计算机可执行指令被执行时,实现如前所述的基于区块链和安全多方计算的被动DNS数据共享方法。
本发明还提出一种数据处理装置,包括如前所述的计算机可读存储介质,当该数据处理装置的处理器调取并执行该计算机可读存储介质中的计算机可执行指令时,该数据处理装置作为数据持有节点和/或数据请求节点实现被动DNS数据共享。
附图说明
图1是本发明的被动DNS共享过程示意图。
图2是本发明的被动DNS共享方法节点关系示意图。
图3是本发明的被动DNS共享方法执行构架示意图。
图4是本发明的被动DNS共享方法流程图。
图5是本发明的数据处理装置示意图。
具体实施方式
本发明的目的是解决上述现有被动DNS数据共享技术缺乏信任问题的解决方案和缺失良好的隐私保护的问题,提供了一种基于区块链和安全多方计算的被动DNS数据共享方法及系统。
发明人在进行被动DNS数据共享的研究时,发现现有技术仅通过避免收集涉及隐私的被动DNS数据来实现安全的被动DNS数据共享,且数据共享需依赖于第三方机构实现,这是由于在被动DNS数据共享过程中缺乏良好的隐私保护和没有解决信任问题导致的,发明人经过对数据共享和隐私保护方法进行研究发现,解决该项缺陷可以通过区块链技术和安全多方计算协议相结合来实现,本发明在已有的基于区块链技术和安全多方计算实现数据共享的方法基础上,增加被动DNS数据收集和存储模块,以保证整个共享和计算过程从数据源到计算过程和计算结果均可验证,同时使其更适用于具有隐私保护的被动DNS数据共享和计算。
本发明包括以下主要技术内容:
(一)基于区块链和安全多方计算的具有隐私保护的被动DNS数据共享方法及系统中,DNS服务器(可能为递归服务器、权威服务器等)是数据持有者的同时也是数据请求者,并且作为计算节点参与计算过程,作为验证节点参与验证过程。图1是本发明的被动DNS共享过程示意图,如图1所示,完整的被动DNS数据共享过程共包括以下几个步骤:
1)被动DNS数据收集,收集实时被动DNS数据,加密存储,并将其哈希存储在区块链上,以验证数据源;
2)数据请求者发起共享交易,提供所需数据索引,数据拥有者地址以及计算函数;
3)数据共享和安全多方计算。每个计算节点使用私钥解密其数据,使用可验证的秘密共享协议拆分数据秘密片段分发给其它计算节点。每个节点利用收到的秘密片段进行计算,并将计算结果和计算证明(即MAC)使用私钥签名后广播给其它计算节点,以验证分享的秘密片段以及计算结果的正确性。
4)返回计算结果。每个计算节点验证结果并使用自己的私钥签名,数据请求者在收集到所有节点私钥加密的验证结果和计算证明后,调用智能合约,进行验证,并将结果存储在账本中。
(二)被动DNS数据收集;被动DNS数据收集过程如下:通过监听程序收集DNS服务器(可能为递归服务器,权威服务器等)产生的被动DNS数据,将监听到的被动DNS数据按照统一的格式处理,并按照一定规则划分成数据块进行存储。
(三)被动DNS数据存储;被动DNS数据收集过程中提到的被动DNS数据的区块链存储过程具体为:对每一个数据块使用其所有者的公钥加密,存储在分布式文件系统中,以保证数据仅由数据所有者查看。并以数据块的起始被动DNS数据产生时间和结束被动DNS数据产生时间作为索引,将其哈希值保存在链上。
本发明的整体设计思路是:监听服务器DNS流量,并将监听到的被动DNS数据处理后保存在区块链中。数据请求者在链上发起交易;数据计算在安全多方计算网络中完成,由数据提供者共同使用可验证的秘密共享方案,在保证数据隐私性的前提下,协作分析被动DNS数据;计算结果和计算证明通过智能合约存储在区块链中,从而保证从数据来源、数据请求、数据拆分到数据计算结果均可验证。
图2是本发明的被动DNS共享方法节点关系示意图,图3是本发明的被动DNS共享方法执行构架示意图。如图2、3所示,本发明的被动DNS共享包括两层结构,一层是区块链,用于记录存证计算数据、计算函数以及交易发起、计算结果、计算证明等,用于保证可验证性;另一层是链下的安全多方计算网络,用于保证共享数据时的数据隐私。区块链和安全多方计算网络的参与节点相同,每个节点都持有一定数据,被称为数据持有者(数据持有节点)。在一次数据共享交易中,一个数据持有节点充当数据请求节点,需要在区块链中请求其它数据持有节点的数据共享,共同在安全多方计算网络中充当计算节点,与其它计算节点共享自己的数据秘密,参与计算,并将最后的计算结果和计算证明返回到区块链中。
图4是本发明的被动DNS共享方法流程图。如图4所示,本发明的被动DNS共享方法具体步骤如下:
步骤S1,收集数据。在区块链应用层实现监听服务器DNS流量的功能,将监听到的被动DNS数据按照统一的格式处理后,按照一定规则划分成数据块,对每一个块使用其数据所有者(即数据提供节点)的公钥加密,存储在分布式文件系统中,以保证数据仅能由数据所有者查看,并以数据块的起始被动DNS数据产生时间(DNS数据首条数据报的捕获时间)和结束被动DNS数据产生时间(DNS数据末条数据报的捕获时间)作为数据索引,将其哈希值保存在链上。
步骤S2,发起交易。在区块链中,数据请求节点发起一次被动DNS数据共享交易,提供所需数据持有节点地址、所需请求的被动DNS数据的数据索引和计算函数等。智能合约收到这笔交易后,将数据请求节点、数据持有节点、计算函数、数据索引等基本信息存储到账本中,并向所有需要提供数据的数据持有节点发送消息,通知其准备数据,作为计算节点参与计算。
步骤S3,数据共享和安全多方计算。在每个计算节点,使用自己的私钥解密其需要共享的数据块的DNS数据。使用可验证的秘密共享协议,将数据拆分成多个秘密片段分发给其它计算节点。每个计算节点利用收到的秘密片段进行计算以得到各自的初步计算结果,并将各自的初步计算结果和对应的计算证明(MAC,计算过程中产生消息验证码)使用私钥签名后广播给其它计算节点,以验证分享的秘密以及计算结果的正确性。
步骤S4,返回计算结果。每个计算节点将接收到的所有初步计算结果进行合并,得到最终的计算结果,通过接收到的计算证明验证计算结果并使用自己的私钥签名,数据请求节点在收集到所有计算节点私钥加密的验证结果和计算证明后,调用智能合约,进行验证,并将结果存储在账本中。
具体实施方式如下:
(1)在区块链应用层监听服务器的实时DNS流量,记录数据报的捕获时间,并按照时间顺序缓存,每缓存一定数目的数据报后,调用数据处理函数,清空缓存区。
(2)数据处理函数先逐条解析数据报,并按照特定的格式表示数据,如json数组的格式;同时,记录第一条数据报的捕获时间Ts和最后一条数据报的捕获时间TF。将处理后的数据报依次拼接,使用当前节点的公钥进行加密后存储在分布式文件系统中,以保证数据只能由当前节点查看。然后,调用实现存储数据函数的智能合约,以Ts和TF作为索引,在区块链中存储加密数据块的哈希值,以节省区块链上的存储空间。
(3)区块链中的所有参与节点上都执行(1)(2)。
(4)当区块链中的某个参与节点(数据请求节点)需要其它节点(数据持有节点)共享数据,它将发起共享交易,传入事先准备好的数据持有节点地址、所需数据索引和计算函数作为参数,调用智能合约中交易处理函数。
(5)交易处理函数首先记录此次交易。在完成交易信息存储后,调用实现计算函数分解功能的函数,以将计算函数分解成多个子计算函数。交易处理函数收到计算函数分解函数的返回结果后,调用计算通知函数,给数据持有节点发送消息,告知其所需准备的数据以及所需完成的子计算函数。
(6)步骤(4)(5)中所涉及的函数执行都是在区块链上完成,受到链中所有参与节点的监督和验证。
(7)计算节点收到通知后,先是调用数据获取函数,使用自己的私钥解密其所需共享的数据块。然后调用秘密共享函数,依据可验证的秘密共享协议,拆分数据秘密,使用秘密接收方的公钥对数据秘密片段进行加密后,发送给对应的计算节点。
(8)每个计算节点在收到所有其它计算节点发送给自己的秘密片段后,执行本地计算函数,使用自己的私钥解开秘密片段作为计算函数的输入。并在计算过程中产生消息验证码MAC用作计算证明,以确保计算过程的可验证性。
(9)每个计算节点完成本地计算后,调用结果广播函数,将初步的计算结果和消息验证码使用自己的私钥进行签名后广播给其它计算节点。每个计算节点在收到所有的计算结果后,调用验证函数,对初步的计算结果进行合并得到最终的计算结果,并验证最终的计算结果的正确性,使用自己的私钥对验证结果签名,并广播。
(10)数据请求节点在收集到所有计算节点的验证结果后,检查最终的计算结果是否在所有节点都验证通过,若都通过,则调用智能合约的结果处理函数,将收集到的计算结果和所有计算证明以及验证结果返回到区块链上进行存储。
图5是本发明数据处理装置示意图。如图5所示,本发明实施例还提供一种计算机可读存储介质,以及一种数据处理装置。本发明的计算机可读存储介质存储有计算机可执行指令,计算机可执行指令被数据处理装置的处理器执行时,处于区块链和安全多方计算网络中的数据处理装置作为数据请求节点和/或数据持有节点,实现上述基于区块链和安全多方计算的被动DNS数据共享方法。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件(例如处理器、FPGA、ASIC等)完成,所述程序可以存储于可读存储介质中,如只读存储器、磁盘或光盘等。上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块可以采用硬件的形式实现,例如通过集成电路来实现其相应功能,也可以采用软件功能模块的形式实现,例如通过处理器执行存储于存储器中的程序/指令来实现其相应功能。本发明实施例不限制于任何特定形式的硬件和软件的结合。
本发明的有益效果在于:
对于互不信任的被动DNS数据持有者,实现在不泄露隐私数据的情况下,保证共享数据的真实性、可验证性和基于被动DNS数据的恶意分析结果的正确性和可验证性,从而实现域名服务器基于更丰富的被动DNS数据集开展的恶意数据分析和计算。
1.本发明直接通过监听程序收集其产生的被动DNS数据,使用公钥加密存储,并将加密数据的哈存储在区块链上。这样的设计既可保证链上存储的数据来源的真实性,又可保证数据只能由产生该数据的节点访问,保证其隐私性。
2.本发明在进行安全多方计算时,使用可验证的秘密共享协议拆分数据秘密,使得参与被动DNS数据分析的输入数据可验证;结合计算过程中产生的消息验证码,保证计算过程的可验证性和结果的正确性。
3.本发明适用于域名服务中涉及的域名服务器,例如递归服务器、权威服务器等,基于更丰富的被动DNS数据集进行恶意活动分析。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变形,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种基于区块链和安全多方计算的被动DNS数据共享方法,其特征在于,包括:
数据持有节点收集DNS数据进行存储,并将该DNS数据的数据索引生成数据区块链入区块链;
当数据请求节点请求对某一DNS数据进行共享时,通过智能合约向计算节点提出请求数据,该请求数据包括共享数据的数据索引,以及共享所需的计算函数,该计算节点为参与提供该共享数据的数据持有节点;
该计算节点根据该数据索引提取该共享数据,并将该共享数据拆分后分发给所有计算节点;
该计算节点将接收到的所有拆分数据通过该计算函数获得初步结果,并将该初步结果广播给所有计算节点,各计算节点将所有该初步结果合并得到计算结果并进行正确性验证;
该数据请求节点获取该计算结果并通过智能合约进行验证,并将通过验证的计算结果存入区块链。
2.如权利要求1所述的被动DNS数据共享方法,其特征在于,该数据持有节点通过监听的方式收集该DNS数据,并使用公钥对该DNS数据进行加密后存储;
该计算节点提取该共享数据后,先以该计算节点的私钥对该共享数据进行解密。
3.如权利要求2所述的被动DNS数据共享方法,其特征在于,该DNS数据的数据索引为该DNS数据的首条数据报捕获时间Ts和末条数据报捕获时间TF;
该数据请求节点通过检索区块链的区块,以获得该共享数据的数据索引,以及所有提供该共享数据的数据持有节点的地址;智能合约通过该地址确定计算节点。
4.如权利要求1所述的被动DNS数据共享方法,其特征在于,该计算节点以获取该初步结果的过程中产生的消息验证码为计算证明,并将该初步结果和该计算证明广播给所有计算节点;
各计算节点将接收到的该初步结果合并为该计算结果,并以接收到的该计算证明验证该计算结果的正确性;
当该数据请求节点确认所有计算节点对该计算结果都通过验证后,将该计算结果和所有该计算证明存入区块链的区块。
5.一种基于区块链和安全多方计算的被动DNS数据共享系统,其特征在于,包括:
DNS数据采集模块,用于数据持有节点收集DNS数据进行存储,并将该DNS数据的数据索引生成数据区块链入区块链;
共享请求模块,用于当数据请求节点请求对某一DNS数据进行共享时,通过智能合约向计算节点提出请求数据;其中,该请求数据包括共享数据的数据索引,以及获取共享所需的计算函数,该计算节点为参与提供该共享数据的数据持有节点;
安全多方计算模块,用于获取计算结果;其中该计算节点根据该数据索引提取该共享数据,并将该共享数据拆分后分发给所有计算节点;该计算节点将接收到的所有拆分数据通过该计算函数获得初步结果,并将该初步结果广播给所有计算节点,各计算节点将所有该初步结果合并得到该计算结果并进行正确性验证;
验证模块,用于该数据请求节点获取该计算结果并通过智能合约进行验证,并将通过验证的计算结果存入区块链。
6.如权利要求5所述的被动DNS数据共享系统,其特征在于,该DNS数据采集模块通过监听的方式收集该DNS数据,并使用公钥对该DNS数据进行加密后存储;
该安全多方计算模块在提取该共享数据后,先以该计算节点的私钥对该共享数据进行解密。
7.如权利要求6所述的被动DNS数据共享系统,其特征在于,该DNS数据的数据索引为该DNS数据的首条数据报捕获时间Ts和末条数据报捕获时间TF;
该共享请求模块还包括请求数据检索模块,用于通过检索区块链的区块,以获得该共享数据的数据索引,以及所有提供该共享数据的数据持有节点的地址;智能合约通过该地址确定计算节点。
8.如权利要求5所述的被动DNS数据共享系统,其特征在于,该安全多方计算模块以获取该初步结果的过程中产生的消息验证码为计算证明,并将该初步结果和该计算证明广播给所有计算节点;以及将接收到的该初步结果合并为该计算结果,并以接收到的该计算证明验证该计算结果的正确性;
该验证模块在确认所有计算节点对该计算结果都通过验证后,将该计算结果和所有该计算证明存入区块链的区块。
9.一种计算机可读存储介质,存储有计算机可执行指令,当该计算机可执行指令被执行时,实现如权利要求1~4任一项所述的基于区块链和安全多方计算的被动DNS数据共享方法。
10.一种数据处理装置,包括如权利要求9所述的计算机可读存储介质,当该数据处理装置的处理器调取并执行该计算机可读存储介质中的计算机可执行指令时,该数据处理装置作为数据持有节点和/或数据请求节点实现被动DNS数据共享。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010993006.9A CN112261082B (zh) | 2020-09-21 | 2020-09-21 | 基于区块链和安全多方计算的被动dns数据共享方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010993006.9A CN112261082B (zh) | 2020-09-21 | 2020-09-21 | 基于区块链和安全多方计算的被动dns数据共享方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112261082A true CN112261082A (zh) | 2021-01-22 |
CN112261082B CN112261082B (zh) | 2021-11-19 |
Family
ID=74232499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010993006.9A Active CN112261082B (zh) | 2020-09-21 | 2020-09-21 | 基于区块链和安全多方计算的被动dns数据共享方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112261082B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862616A (zh) * | 2021-04-23 | 2021-05-28 | 北京中科金财科技股份有限公司 | 支持区块链的安全多方计算方法、设备及存储介质 |
CN113779622A (zh) * | 2021-08-27 | 2021-12-10 | 浙江数秦科技有限公司 | 一种适用于多应用场景的安全数据融合系统 |
CN115225669A (zh) * | 2022-07-14 | 2022-10-21 | 山东大学 | 一种分布式隐私数据处理系统及方法 |
WO2023185862A1 (zh) * | 2022-03-30 | 2023-10-05 | 中国联合网络通信集团有限公司 | 基于区块链系统的多方计算方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108923932A (zh) * | 2018-07-10 | 2018-11-30 | 东北大学 | 一种去中心化协同验证模型及验证算法 |
US20190182035A1 (en) * | 2017-12-12 | 2019-06-13 | International Business Machines Corporation | Protection of confidentiality, privacy and financial fairness in a blockchain based decentralized identity management system |
CN110224808A (zh) * | 2019-05-07 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 基于区块链的银行数据共享方法及相关设备 |
CN110399338A (zh) * | 2019-04-13 | 2019-11-01 | 西安电子科技大学 | 基于区块链的分布式文件索引系统及方法、云存储服务器 |
EP3611872A1 (en) * | 2017-11-10 | 2020-02-19 | Tencent Technology (Shenzhen) Company Limited | Method for generating signature, electronic device, and storage medium |
CN111327426A (zh) * | 2020-01-21 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 数据共享方法及相关装置、设备及系统 |
CN111639361A (zh) * | 2020-05-15 | 2020-09-08 | 中国科学院信息工程研究所 | 一种区块链密钥管理方法、多人共同签名方法及电子装置 |
CN111639369A (zh) * | 2020-06-03 | 2020-09-08 | 科大讯飞股份有限公司 | 数据共享方法、设备、存储介质及数据共享系统 |
-
2020
- 2020-09-21 CN CN202010993006.9A patent/CN112261082B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3611872A1 (en) * | 2017-11-10 | 2020-02-19 | Tencent Technology (Shenzhen) Company Limited | Method for generating signature, electronic device, and storage medium |
US20190182035A1 (en) * | 2017-12-12 | 2019-06-13 | International Business Machines Corporation | Protection of confidentiality, privacy and financial fairness in a blockchain based decentralized identity management system |
CN108923932A (zh) * | 2018-07-10 | 2018-11-30 | 东北大学 | 一种去中心化协同验证模型及验证算法 |
CN110399338A (zh) * | 2019-04-13 | 2019-11-01 | 西安电子科技大学 | 基于区块链的分布式文件索引系统及方法、云存储服务器 |
CN110224808A (zh) * | 2019-05-07 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 基于区块链的银行数据共享方法及相关设备 |
CN111327426A (zh) * | 2020-01-21 | 2020-06-23 | 腾讯科技(深圳)有限公司 | 数据共享方法及相关装置、设备及系统 |
CN111639361A (zh) * | 2020-05-15 | 2020-09-08 | 中国科学院信息工程研究所 | 一种区块链密钥管理方法、多人共同签名方法及电子装置 |
CN111639369A (zh) * | 2020-06-03 | 2020-09-08 | 科大讯飞股份有限公司 | 数据共享方法、设备、存储介质及数据共享系统 |
Non-Patent Citations (2)
Title |
---|
TIFFANY HYUN-JIN KIM; JOSHUA LAMPKINS: ""SSP: Self-Sovereign Privacy for Internet of Things Using Blockchain and MPC"", 《2019 IEEE INTERNATIONAL CONFERENCE ON BLOCKCHAIN (BLOCKCHAIN)》 * |
刘敖迪; 杜学绘; 王娜; 李少卓: "" 区块链技术及其在信息安全领域的研究进展"", 《软件学报》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112862616A (zh) * | 2021-04-23 | 2021-05-28 | 北京中科金财科技股份有限公司 | 支持区块链的安全多方计算方法、设备及存储介质 |
CN112862616B (zh) * | 2021-04-23 | 2021-07-20 | 北京中科金财科技股份有限公司 | 支持区块链的安全多方计算方法、设备及存储介质 |
CN113779622A (zh) * | 2021-08-27 | 2021-12-10 | 浙江数秦科技有限公司 | 一种适用于多应用场景的安全数据融合系统 |
CN113779622B (zh) * | 2021-08-27 | 2023-08-22 | 浙江数秦科技有限公司 | 一种适用于多应用场景的安全数据融合系统 |
WO2023185862A1 (zh) * | 2022-03-30 | 2023-10-05 | 中国联合网络通信集团有限公司 | 基于区块链系统的多方计算方法和系统 |
CN115225669A (zh) * | 2022-07-14 | 2022-10-21 | 山东大学 | 一种分布式隐私数据处理系统及方法 |
CN115225669B (zh) * | 2022-07-14 | 2024-04-05 | 山东大学 | 一种分布式隐私数据处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112261082B (zh) | 2021-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112261082B (zh) | 基于区块链和安全多方计算的被动dns数据共享方法及系统 | |
Liang et al. | PDPChain: A consortium blockchain-based privacy protection scheme for personal data | |
US20230299938A9 (en) | System for privacy protection during iot secure data sharing and method thereof | |
CN107231351B (zh) | 电子证件的管理方法及相关设备 | |
CN111914027B (zh) | 一种区块链交易关键字可搜索加密方法及系统 | |
CN109741068B (zh) | 网银跨行签约方法、装置及系统 | |
Wang et al. | Distributed security architecture based on blockchain for connected health: Architecture, challenges, and approaches | |
CN101569132A (zh) | 用于分发数据和保护数据安全的系统和方法 | |
CN112134864B (zh) | 一种基于双区块链结构的证据链平台及其实现方法 | |
CN114866323B (zh) | 一种用户可控的隐私数据授权共享系统及方法 | |
CN112235260B (zh) | 一种匿名数据存证方法、装置、设备和存储介质 | |
CN110096894B (zh) | 一种基于区块链的数据匿名共享系统及方法 | |
CN115065679B (zh) | 基于区块链的电子健康档案共享模型、方法、系统和介质 | |
Yan et al. | Verifiable, reliable, and privacy-preserving data aggregation in fog-assisted mobile crowdsensing | |
Yu et al. | Evaluating web pkis | |
Gao et al. | Blockchain based secure IoT data sharing framework for SDN-enabled smart communities | |
CN112037870A (zh) | 支持数据分区的双服务器轻量化可搜索加密方法及系统 | |
Yang et al. | Efficient and anonymous multi‐message and multi‐receiver electronic health records sharing scheme without secure channel based on blockchain | |
Arun et al. | Mutual authentication and authorized data access between fog and user based on blockchain technology | |
Mittal et al. | A three-phase framework for secure storage and sharing of healthcare data based on blockchain, IPFS, proxy re-encryption and group communication | |
Rukmony et al. | Rough set method-cloud internet of things: a two-degree verification scheme for security in cloud-internet of things | |
WO2023116027A1 (zh) | 安全多方计算中的跨域身份验证方法及服务器 | |
Li et al. | Efficient and traceable data sharing for the Internet of Things in smart cities | |
CN115086049B (zh) | 基于可验证延迟函数的区块链医疗数据共享系统及方法 | |
CN115460228B (zh) | 一种医疗数据的访问控制方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |