CN109995723B - 一种域名解析系统dns信息交互的方法、装置及系统 - Google Patents

一种域名解析系统dns信息交互的方法、装置及系统 Download PDF

Info

Publication number
CN109995723B
CN109995723B CN201711490112.XA CN201711490112A CN109995723B CN 109995723 B CN109995723 B CN 109995723B CN 201711490112 A CN201711490112 A CN 201711490112A CN 109995723 B CN109995723 B CN 109995723B
Authority
CN
China
Prior art keywords
node
dns
message
information
authentication certificate
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.)
Active
Application number
CN201711490112.XA
Other languages
English (en)
Other versions
CN109995723A (zh
Inventor
王晓辉
宋祺
路晓明
董靖宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN201711490112.XA priority Critical patent/CN109995723B/zh
Publication of CN109995723A publication Critical patent/CN109995723A/zh
Application granted granted Critical
Publication of CN109995723B publication Critical patent/CN109995723B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • H04L63/0218Distributed architectures, e.g. distributed firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及通信技术领域,特别涉及一种域名解析系统DNS信息交互的方法、装置及系统。该方法包括:基于区块链的域名解析系统DNS外的第一节点向DNS中的第二节点发送第一节点的认证证书;第一节点接收第二节点发送的第一消息,第一消息是第二节点确定第一节点的认证证书通过认证后发送的;第一节点向第二节点发送第二消息,第二消息用于第二节点在收到第二消息后向第一节点发送DNS信息;第一节点接收第二节点发送的DNS信息。能够阻止不具备认证证书,或认证证书未通过第二节点认证的第一节点从DNS内的第二节点获取DNS信息,避免DNS信息被恶意的第一节点外泄或篡改。

Description

一种域名解析系统DNS信息交互的方法、装置及系统
技术领域
本发明涉及通信技术领域,特别涉及一种域名解析系统DNS信息交互的方法、装置及系统。
背景技术
域名解析系统(DNS,Domain Name System)是提供域名和IP地址(InternetProtocol Address,网际协议地址)之间映射关系的系统。在Namecoin(域名币)等基于区块链技术的DNS系统中,DNS系统中的任一节点均可获取区块链的DNS信息,例如,获取区块数据,以及可以对区块数据进行创建、修改和删除等操作,并将操作后的区块数据与DNS系统中的其他节点共享,从而位于区块链上的节点均可根据区块数据向用户提供域名解析服务,其中在基于区块链技术中,区块数据包括域名的注册、更新、转让、撤销等操作信息以及域名的资源记录(RR,Resource Records)等。
然而,基于区块链技术的DNS系统对于新节点的加入没有认证和控制机制,无法阻止恶意节点获取DNS系统的DNS信息,存在安全隐患,例如,基于区块链技术的DNS系统无法禁止DNS系统外的恶意节点加入DNS系统,并获取DNS系统中节点的区块数据并造成区块数据恶意外泄或者对区块数据进行恶意篡改。
综上,现有技术中基于区块链技术的DNS系统中节点的DNS信息存在被恶意外泄或被恶意篡改的风险。
发明内容
本发明提供一种域名解析系统DNS信息交互的方法、装置及系统,用以解决现有技术中存在的基于区块链技术的DNS系统中节点的区块数据存在被恶意外泄或被恶意篡改的风险的问题。
本发明实施例提供的一种域名解析系统DNS信息交互的方法,包括:
基于区块链的域名解析系统DNS外的第一节点向所述DNS中的第二节点发送所述第一节点的认证证书;
所述第一节点接收所述第二节点发送的第一消息,所述第一消息是所述第二节点确定所述第一节点的认证证书通过认证后发送的;
所述第一节点向所述第二节点发送第二消息,所述第二消息用于所述第二节点在收到所述第二消息后向所述第一节点发送DNS信息;
所述第一节点接收所述第二节点发送的所述DNS信息。
可选地,所述第一节点的认证证书是所述第一节点从认证中心CA获得的。
可选地,在域名解析系统DNS外的第一节点向DNS中的第二节点发送所述第一节点的认证证书之前,还包括:
所述第一节点确定所述第二节点的认证证书通过认证。
可选地,所述第二节点的认证证书是所述第一节点通过以下方法获得的:
所述第一节点向所述第二节点发送用于请求建立连接的第三消息;
所述第一节点接收所述第二节点在收到所述第三消息后发送的所述第二节点的认证证书。
可选地,在所述第一节点向所述第二节点发送第二消息之前,还包括:
所述第一节点与所述第二节点之间建立加密通道;
所述第一节点向所述第二节点发送第二消息,包括:
所述第一节点通过所述加密通道向所述第二节点发送第二消息;
所述第一节点接收所述第二节点发送的所述DNS信息,包括:
所述第一节点接收所述第二节点通过所述加密通道发送的所述DNS信息。
可选地,所述第一节点为请求加入所述DNS的节点,所述第二节点为所述DNS中预设的公开节点,所述第二消息为节点信息请求消息,所述DNS信息为所述DNS中的数据节点的节点信息,所述数据节点为所述DNS中存储区块数据的节点,所述节点信息用于所述第一节点向所述节点信息所属的数据节点发送请求建立连接的消息;或者
所述第一节点为请求加入所述DNS的节点,所述第二节点为所述DNS中的数据节点,所述第二消息为区块数据请求消息,所述DNS信息为所述DNS中的数据节点存储的区块数据。
本发明实施例提供的一种域名解析系统DNS信息交互的方法,包括:
基于区块链的域名解析系统DNS中的第二节点接收所述DNS外的第一节点发送的所述第一节点的认证证书;
所述第二节点在确定所述第一节点的认证证书通过认证后,向所述第一节点发送第一消息;
所述第二节点接收所述第一节点发送的第二消息,所述第二消息是所述第一节点收到所述第一消息后发送的;
所述第二节点向所述第一节点发送DNS信息。
可选地,在域名解析系统DNS中的第二节点接收所述DNS外的第一节点发送的所述第一节点的认证证书之前,还包括:
所述第二节点接收所述第一节点发送的用于请求建立连接的第三消息;
所述第二节点向所述第一节点发送所述第二节点的认证证书,所述第二节点的认证证书用于使所述第一节点在确定所述第二节点的认证证书通过认证后,向所述第二节点发送所述第一节点的认证证书。
可选地,在所述第二节点接收所述第一节点发送的第二消息之前,还包括:
所述第二节点与所述第一节点之间建立加密通道;
所述第二节点接收所述第一节点发送的第二消息,包括:
所述第二节点接收所述第一节点通过所述加密通道发送的第二消息;
所述第二节点向所述第一节点发送DNS信息,包括:
所述第二节点通过所述加密通道向所述第一节点发送DNS信息。
本发明实施例提供的一种域名解析系统DNS信息交互的第一节点,该第一节点为基于区块链的域名解析系统DNS外的节点,包括:
认证证书发送模块,用于向所述DNS中的第二节点发送所述第一节点的认证证书;
第一消息接收模块,用于接收所述第二节点发送的第一消息,所述第一消息是所述第二节点确定所述第一节点的认证证书通过认证后发送的;
第二消息发送模块,用于向所述第二节点发送第二消息,所述第二消息用于所述第二节点在收到所述第二消息后向所述第一节点发送DNS信息;
DNS信息接收模块,用于接收所述第二节点发送的所述DNS信息。
可选地,所述第一节点的认证证书是所述第一节点从认证中心CA获得的。
可选地,所述认证证书发送模块还用于:
在确定所述第二节点的认证证书通过认证之后,向所述第二节点发送所述第一节点的认证证书。
可选地,所述认证证书发送模块具体用于:
向所述第二节点发送用于请求建立连接的第三消息;
接收所述第二节点在收到所述第三消息后发送的所述第二节点的认证证书。
可选地,所述第二消息发送模块还用于:
在与所述第二节点之间建立加密通道之后,向所述第二节点发送所述第二消息;
所述第二消息发送模块具体用于:
通过所述加密通道向所述第二节点发送第二消息;
所述DNS信息接收模块具体用于:
接收所述第二节点通过所述加密通道发送的所述DNS信息。
可选地,所述第一节点为请求加入所述DNS的节点,所述第二节点为所述DNS中预设的公开节点,所述第二消息为节点信息请求消息,所述DNS信息为所述DNS中的数据节点的节点信息,所述数据节点为所述DNS中存储区块数据的节点,所述节点信息用于所述第一节点向所述节点信息所属的数据节点发送请求建立连接的消息;或者
所述第一节点为请求加入所述DNS的节点,所述第二节点为所述DNS中的数据节点,所述第二消息为区块数据请求消息,所述DNS信息为所述DNS中的数据节点存储的区块数据。
本发明实施例提供的一种域名解析系统DNS信息交互的第二节点,该第二节点位于基于区块链的域名解析系统DNS中,包括:
认证证书接收模块,用于接收所述DNS外的第一节点发送的所述第一节点的认证证书;
第一消息发送模块,用于在确定所述第一节点的认证证书通过认证后,向所述第一节点发送第一消息;
第二消息接收模块,用于接收所述第一节点发送的第二消息,所述第二消息是所述第一节点收到所述第一消息后发送的;
DNS信息发送模块,用于向所述第一节点发送DNS信息。
可选地,所述认证证书接收模块还用于:
在接收所述第一节点发送的用于请求建立连接的第三消息,并向所述第一节点发送所述第二节点的认证证书之后,接收所述第一节点发送的所述第一节点的认证证书,所述第二节点的认证证书用于使所述第一节点在确定所述第二节点的认证证书通过认证后,向所述第二节点发送所述第一节点的认证证书。
可选地,所述第二消息接收模块还用于:
在与所述第一节点之间建立加密通道之后,接收所述第一节点发送的第二消息;
所述第二消息接收模块具体用于:
接收所述第一节点通过所述加密通道发送的第二消息;
所述DNS信息发送模块具体用于:
通过所述加密通道向所述第一节点发送DNS信息。
本发明实施例提供的一种域名解析系统DNS信息交互的系统,包括基于区块链的域名解析系统DNS外的第一节点和所述DNS中的第二节点:
第一节点,用于向所述第二节点发送所述第一节点的认证证书,接收所述第二节点发送的第一消息,所述第一节点向所述第二节点发送第二消息,以及接收所述第二节点发送的DNS信息,所述第一消息是所述第二节点确定所述第一节点的认证证书通过认证后发送的,所述第二消息用于所述第二节点在收到所述第二消息后向所述第一节点发送所述DNS信息;
第二节点,用于接收所述第一节点发送的所述第一节点的认证证书,在确定所述第一节点的认证证书通过认证后,向所述第一节点发送所述第一消息,接收所述第一节点发送的所述第二消息,以及向所述第一节点发送所述DNS信息。
根据本发明实施例提供的DNS信息交互的方法,基于区块链的域名解析系统DNS以外的第一节点,在向DNS内的第二节点请求获取DNS信息之前,需要向第二节点发送自身的认证证书,并接收第二节点发送的表示第一节点的认证证书通过认证的第一消息,从而能够阻止不具备认证证书,或认证证书未通过第二节点认证的第一节点从DNS内的第二节点获取DNS信息,避免DNS信息被恶意的第一节点外泄或篡改。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种域名解析系统DNS信息交互的方法的流程示意图;
图2为本发明实施例提供的第一节点与第二节点通过TLS握手进行双向验证并建立加密通道的方法的流程示意图;
图3为本发明实施例提供的请求加入基于区块链的DNS的第一节点从公开节点获取节点信息以及从数据节点获取区块数据的方法的流程示意图;
图4为本发明实施例提供的一种域名解析系统DNS信息交互的第一节点的结构示意图;
图5为本发明实施例提供的一种域名解析系统DNS信息交互的第二节点的结构示意图;
图6为本发明实施例提供的一种域名解析系统DNS信息交互的系统的结构示意图;
图7为本发明实施例提供的一种基于区块链的DNS系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供的一种域名解析系统DNS信息交互的方法,包括以下步骤:
S101:基于区块链的域名解析系统DNS外的第一节点向DNS中的第二节点发送第一节点的认证证书;
S102:第二节点在接收第一节点的认证证书后,对第一节点的认证证书进行验证;
S103:第二节点在确定第一节点的认证证书通过认证后,向第一节点发送第一消息;
S104:第一节点接收第二节点发送的第一消息;
S105:第一节点向第二节点发送第二消息,第二消息用于使第二节点在收到第二消息后向第一节点所述DNS信息;
S106:第二节点接收第二消息;
S107:第二节点向第一节点发送DNS信息;
S108:第一节点接收第二节点发送的DNS信息。
采用以上方法,基于区块链的域名解析系统DNS以外的第一节点,在向DNS内的第二节点请求获取DNS信息之前,需要向第二节点发送自身的认证证书,并接收第二节点发送的表示第一节点的认证证书通过认证的第一消息,从而只有第一节点的认证证书在得到第二节点的认证听过后,第一节点才能从第二节点获取该DNS系统的DNS信息,从而能够阻止不具备认证证书,或认证证书未通过第二节点认证的第一节点从DNS内的第二节点获取DNS信息,避免DNS信息被恶意的第一节点外泄或篡改。
在一种实施方式中,第一节点的认证证书是第一节点从认证中心CA(CertificateAuthority)获得的PKI(Public Key Infrastructure,公钥基础设施)证书。其中,CA可以是用于向第一节点请求加入的基于区块链的DNS中的节点颁发认证证书的机构。
具体来说,第一节点可以将自身的认证信息发送至其请求加入的DNS对应的CA,由CA审核第一节点的认证信息是否满足认证条件,若CA确定第一节点的认证信息满足认证条件,则CA向第一节点颁发认证证书,其中,认证证书可以包括第一节点的认证信息,如节点IP地址、处理能力和第一节点请求加入的基于区块链的DNS的标识等信息。另外在实施中,CA颁发的认证证书可以由CA的根证书签名,如使用CA自签名的根证书对第一节点的认证证书签名,用以证明认证证书的真实性。
在实施中,CA可以审核第一节点的处理能力是否满足认证条件中的处理能力条件。例如,预先设定认证条件为第一节点的处理能力不高于预设值,则只有处理能力不高于该预设值的第一节点能够被CA认为满足认证条件,从而获得CA办法的认证证书;另外,可以根据现有的基于区块链的DNS中节点的处理能力设置该预设值的取值,例如,将预设值设置为第一节点请求加入的基于区块链的DNS中全部节点的处理能力的总和的N%,N为正数,CA只有确定第一节点的处理能力不高于其请求加入的基于区块链的DNS中全部节点的处理能力总和的N%,才确定第一节点的处理能力满足认证条件中的处理能力条件。
在实施中,同一个基于区块链的DNS中的全部节点可以经过同一个CA的认证,并分别获取该CA颁发的认证证书,例如CA可以向基于区块链的DNS中的全部节点颁发通过自签名的根证书进行签名生成的PKI证书。
在一种实施方式中,S102中,第二节点在接收第一节点的认证证书后,对第一节点的认证证书进行验证。其中,若第一节点发送的认证证书是CA使用自签名的根证书签名后颁发给第一节点的认证证书,则第二节点在收到第一节点的认证证书后,根据CA的根证书进行验证。若第一节点的认证证书通过验证,第二节点可以向第一节点发送一预设的第一消息,第一节点在收到该第一消息后可知认证证书通过第二节点的验证。
可选地,在一种实施方式中,在S101之前,第一节点可以先确定第二节点的认证证书通过认证。
本发明实施例中,第一节点在向第二节点发送自身的认证证书之前,可以先确定第二节点的认证证书通过认证,以避免恶意节点冒充基于区块链的DNS中的第二节点。
在一种实施方式中,第一节点可以向第二节点发送用于请求建立连接的第三消息后,第二节点在收到第三消息后向第一节点发送所述第二节点的认证证书,所述第二节点的认证证书用于使所述第一节点在确定所述第二节点的认证证书通过认证后,向所述第二节点发送所述第一节点的认证证书,从而第一节点可以与第二节点进行双向的认证证书验证,从而提高基于区块链的DNS的交互安全性。其中,第三消息可以是第一节点发送的用于请求与第二节点建立连接的消息。
可选地,在第一节点向第二节点发送第二消息之前,还包括:第一节点与第二节点之间建立加密通道,从而第一节点通过加密通道向第二节点发送第二消息,以及第一节点接收第二节点通过加密通道发送的DNS信息。相应地,第二节点接收第一节点通过加密通道发送的第二消息,以及第二节点通过加密通道向第一节点发送DNS信息。
在实施中,可以在第一节点与第二节点之间建立加密通道,并通过建立的加密通道在第一节点与第二节点之间进行通信,从而进一步提高基于区块链的DNS的交互安全性。
具体来说,第一节点可以通过建立的加密通道向第二节点发送第二消息,第二节点在接收第二消息后,过加密通道向第一节点发送DNS信息。在实施中,第一节点与第二节点可以通过密钥协商过程建立加密通道,从而通过协商确定的密钥进行消息的加密传输。
如图2所示,在一种实施方式中,第一节点与第二节点通过TLS(Transport LayerSecurity Protocol,安全传输层协议)握手过程完成认证证书的双向验证,以及进行密钥协商从而建立加密通道:
步骤201:第一节点向第二节点发送用于请求建立连接的第三消息,第三消息可以携带第一节点支持的加密算法;
步骤202:第二节点接收第三消息后,向第一节点发送第二节点的认证证书和第二节点认证证书的公钥,以及向第一节点发送第二节选择的加密算法;
步骤203:第一节点接收第二节点的认证证书;
步骤204:第一节点在确定第二节点的认证证书通过验证后,向第二节点发送第一节点的认证证书,以及发送使用第二节点的认证证书的公钥加密的随机数,其中该随机数作为第一节点进行通信所使用的通信密钥;
步骤205:第二节点接收第一节点的认证证书,在确定第一节点的认证证书通过验证后,根据第二节点的认证证书的私钥解密第一节发送的加密后的随机数,得到第二节点使用的通信密钥;
步骤206:第二节点向第一节点发送第一消息,表示第一节点的认证证书通过验证以及表示通信密钥协商完成。
采用以上方法,能够在第一节点与第二节点之间建立加密通道,从而第一节点与第二节点通过加密通道传输DNS信息,即第一节点与第二节点之间通过协商确定的通信密钥加密需要发送的消息,并根据协商确定的通信密钥解密对方发送的加密消息,能够提高基于区块链的DNS的系统安全性。例如,第一节点通过步骤204中得到的第一节点的通信密钥加密第二消息并向第二节点发送加密后的消息,第二节点收到加密消息后,根据步骤205中确定的第二节点使用的通信密钥,解密该消息,得到第二消息,第二节点根据步骤205中确定的第二节点使用的通信密钥,将需要向第一节点发送的DNS信息进行加密后发送至第一节点,第一节点通过步骤204中得到的第一节点的通信密钥,解密加密消息,得到DNS信息。
可选地,在一种实施方式中,第一节点为请求加入DNS的节点,第二节点为DNS中预设的公开节点,第二消息为节点信息请求消息,DNS信息为DNS中的数据节点的节点信息,数据节点为DNS中存储区块数据的节点,节点信息用于第一节点向节点信息所属的数据节点发送请求建立连接的消息。
其中,公开节点可以是基于区块链的DNS中预设的至少一个具有公开地址的节点,用于确定请求加入该DNS的节点是否具有有效的认证证书,以及在确定请求加入DNS的节点具有有效的认证证书后,向该节点发送DNS中数据节点的节点信息,从而请求加入DNS的节点可以与数据节点建立连接从而获取数据节点中存储的基于区块链的DNS的区块数据。
本发明实施例中,若第一节点是请求加入基于区块链的DNS的节点,第二节点为第一节点请求加入的DNS中一个预设的公开节点,则根据本发明实施例提供的DNS信息交互的方法,第一节点在向第二节点发送认证证书并收到第二节点发送的标识第一节点的认证证书通过验证的第一消息后,可以向第二节点发送节点信息请求消息,第二节点在收到节点信息请求消息后向第一节点发送DNS中的数据节点的节点信息,第一节点在收到节点信息后,可以向节点信息所属的数据节点发送请求建立连接的消息,从而能够在第一节点与DNS中的数据节点之间建立连接,其中,数据节点是DNS中存储区块数据的节点,节点信息可以是数据节点的IP(Internet Protocol,网际协议)地址等能够用于第一节点与数据节点建立连接的信息。在实施中,DNS的公开节点可以是DNS的数据节点中的一个或多个,也可以是DNS中不存储区块数据的一个或多个专门节点。
根据以上方法,基于区块链的DNS外的第一节点在从该DNS中的第二节点获取DNS中的数据节点的节点信息之前,需要由第二节点确定第一节点的认证证书通过验证,从而阻止未获取认证证书或者认证证书无法通过验证的第一节点获取数据节点的信息;而只有获取了有效的认证证书的第一节点能够从第二节点获取数据节点的节点信息,从而能够进一步根据节点信息与数据节点建立连接,之后,第一节点还可以从数据节点获取数据节点存储的区块数据。
另外,在实施中,请求加入基于区块链的DNS的节点可以在向该DNS中的公开节点发送节点信息请求消息之前,在与请求加入基于区块链的DNS的节点与公开节点之间进行认证证书的双向验证并建立加密通道,例如,参照如图2所述的方法进行TLS握手以建立加密通道,从而请求加入基于区块链的DNS的节点可以通过加密通道向公开节点发送节点信息请求消息,并接收公开节点通过加密通道发送的数据节点的节点信息。
在另一种实施方式中,第一节点为请求加入所述DNS的节点,第二节点为所述DNS中的数据节点,所述第二消息为区块数据请求消息,所述DNS信息为所述DNS中的数据节点存储的区块数据。
其中,第一节点可以在从公开节点获取数据节点的节点信息后,向节点信息所属的数据节点发送第一节点的认证证书。
本发明实施例中,第一节点为请求加入所述DNS的节点,第二节点还可以是DNS中的数据节点,数据节点为DNS中存储区块数据的节点,则第一节点在向第二节点发送认证证书并收到第二节点发送的标识第一节点的认证证书通过验证的第一消息后,可以向第二节点发送区块数据请求消息,第二节点在收到区块数据请求消息后向第一节点发送自身存储的区块数据,从而第一节点在获取区块数据后,成为DNS中的数据节点。
另外,在实施中,请求加入基于区块链的DNS的节点可以在向数据节点发送区块数据请求消息之前,在与请求加入基于区块链的DNS的节点与公开节点之间进行双向认证并建立加密通道,例如,参照如图2所述的方法进行TLS握手以进行认证证书的双向验证并建立加密通道,从而请求加入基于区块链的DNS的节点可以通过加密通道向数据节点发送区块数据请求消息,并接收公开节点通过加密通道发送的区块数据。
在一种实施方式中,请求加入基于区块链的DNS的节点可以根据本申请实施例提供的DNS信息交互的方法向该DNS中的公开节点请求获取数据节点的节点信息,并根据本申请实施例提供的DNS信息交互的方法向节点信息所属的数据节点请求获取基于区块链的DNS的区块数据,从而成为基于区块链的DNS中的节点。具体来说,若第一节点为请求加入基于区块链的DNS的节点,则在第一节点向公开节点请求获取数据节点的节点信息时,第二节点为该DNS中的公开节点,在第一节点向数据节点请求获取区块数据时,第二节点为数据节点。
如图3所示,本发明实施例提供的一种请求加入基于区块链的DNS的第一节点301从公开节点302获取数据节点的节点信息,并从节点信息所属的数据节点303获取区块数据的方法,包括如下步骤:
步骤301:第一节点301向基于区块链的DNS的公开节点302发送请求建立连接的消息,以及发送第一节点301支持的加密算法;
步骤302:公开节点302在收到请求建立连接的消息后向第一节点301发送公开节点302的认证证书和公开节点302的认证证书的公钥,以及发送公开节点302选择的加密算法;
步骤303:第一节点301在确定公开节点302发送的认证证书通过验证后,根据公开节点302选择的加密算法生成第一通信密钥;
步骤304:第一节点301将第一节点301的认证证书发送至公开节点302,以及将使用公开节点302的认证证书的公钥加密后的第一通信密钥发送至公开节点302;
步骤305:公开节点302接收第一节点301的认证证书,在确定第一节点301的认证证书通过认证后,使用公开节点302认证证书的私钥解密加密后的第一通信密钥,得到第二通信密钥;
步骤306:公开节点302向第一节点301发送表示第一节点的认证证书通过验证以及密钥协商完成的消息;
步骤307:第一节点301向公开节点302发送第一通信密钥加密后的节点信息请求消息;
步骤308:公开节点302使用第二通信密钥进行解密,确定第一节点301发送节点信息请求消息后,向第一节点301发送第二通信密钥加密的DNS中数据节点的节点信息;
步骤309:第一节点301使用第一通信密钥进行解密,获取公开节点302发送的数据节点的节点信息;
步骤310:第一节点301向节点信息所属的数据节点303发送请求建立连接的消息,以及发送第一节点301支持的加密算法;
步骤311:数据节点303在收到请求建立连接的消息后向第一节点301发送数据节点303的认证证书和数据节点303的认证证书的公钥,以及发送数据节点303选择的加密算法;
步骤312:第一节点301在确定数据节点303发送的认证证书通过验证后,根据数据节点303选择的加密算法生成第三通信密钥;
步骤313:第一节点301将第一节点301的认证证书发送至数据节点303,以及将使用数据节点303的认证证书的公钥加密后的第三通信密钥发送至数据节点303;
步骤314:数据节点303接收第一节点301的认证证书,在确定第一节点301的认证证书通过认证后,使用数据节点303认证证书的私钥解密加密后的第三通信密钥,得到第四通信密钥;
步骤315:数据节点303向第一节点301发送表示第一节点的认证证书通过验证以及密钥协商完成的消息;
步骤316:第一节点301向数据节点303发送第三通信密钥加密后的区块数据请求消息;
步骤317:数据节点303使用第四通信密钥进行解密,确定第一节点301发送区块数据请求消息后,向第一节点301发送第四通信密钥加密的区块数据;
步骤318:第一节点301使用第三通信密钥进行解密,获取数据节点303发送的数据节点的区块数据。
采用以上方法,由请求加入基于区块链的DNS的第一节点301从公开节点302获取数据节点的节点信息,并从节点信息所属的数据节点303获取区块数据,其中,第一节点301在获取节点信息之前需要与公开节点302完成双向认证证书的验证,并通过加密通道完成节点信息的传输,从而提高了数据节点的节点信息获取过程的安全性;另外,第一节点301在获取区块数据之前需要与数据节点303完成双向认证证书的验证,并通过加密通道完成区块数据的传输,从而提高了区块数据获取过程的安全性,避免区块数据被不具备有效认证证书的恶意节点获取后外泄,或对区块数据进行恶意篡改。
基于同一发明构思,本发现实施例还提供了一种域名解析系统DNS信息交互的第一节点,由于该第一节点解决问题的原理与本发明实施例提供的信息交互的方法相似,因此该第一节点的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,本发明实施例提供的一种域名解析系统DNS信息交互的第一节点,该第一节点为基于区块链的域名解析系统DNS外的节点,包括:
认证证书发送模块401,用于向DNS中的第二节点发送第一节点的认证证书;
第一消息接收模块402,用于接收第二节点发送的第一消息,第一消息是第二节点确定第一节点的认证证书通过认证后发送的;
第二消息发送模块403,用于向第二节点发送第二消息,第二消息用于第二节点在收到第二消息后向第一节点发送DNS信息;
DNS信息接收模块404,用于接收第二节点发送的DNS信息。
可选地,第一节点的认证证书是第一节点从认证中心CA获得的。
可选地,认证证书发送模块401还用于:
在确定第二节点的认证证书通过认证之后,向第二节点发送第一节点的认证证书。
可选地,认证证书发送模块401具体用于:
向第二节点发送用于请求建立连接的第三消息;
接收第二节点在收到第三消息后发送的第二节点的认证证书。
可选地,第二消息发送模块403还用于:
在与第二节点之间建立加密通道之后,向第二节点发送第二消息;
第二消息发送模块403具体用于:
通过加密通道向第二节点发送第二消息;
DNS信息接收模块404具体用于:
接收第二节点通过加密通道发送的DNS信息。
可选地,第一节点为请求加入DNS的节点,第二节点为DNS中预设的公开节点,第二消息为节点信息请求消息,DNS信息为DNS中的数据节点的节点信息,数据节点为DNS中存储区块数据的节点,节点信息用于第一节点向节点信息所属的数据节点发送请求建立连接的消息;或者
第一节点为请求加入DNS的节点,第二节点为DNS中的数据节点,第二消息为区块数据请求消息,DNS信息为DNS中的数据节点存储的区块数据。
采用以上第一节点,能够在与DNS中的第二节点进行双向认证证书的验证后,通过加密通道与第二节点进行DNS信息的交互,提高交互过程中的安全性。
基于同一发明构思,本发现实施例还提供了一种域名解析系统DNS信息交互的第二节点,由于该第二节点解决问题的原理与本发明实施例提供的信息交互的方法相似,因此该第二节点的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,本发明实施例提供的一种域名解析系统DNS信息交互的第二节点,该第二节点位于基于区块链的域名解析系统DNS中,包括:
认证证书接收模块501,用于接收DNS外的第一节点发送的第一节点的认证证书;
第一消息发送模块502,用于在确定第一节点的认证证书通过认证后,向第一节点发送第一消息;
第二消息接收模块503,用于接收第一节点发送的第二消息,第二消息是第一节点收到第一消息后发送的;
DNS信息发送模块504,用于向第一节点发送DNS信息。
可选地,认证证书接收模块501还用于:
在接收第一节点发送的用于请求建立连接的第三消息,并向第一节点发送第二节点的认证证书之后,接收第一节点发送的第一节点的认证证书,第二节点的认证证书用于使第一节点在确定第二节点的认证证书通过认证后,向第二节点发送第一节点的认证证书。
可选地,第二消息接收模块503还用于:
在与第一节点之间建立加密通道之后,接收第一节点发送的第二消息;
第二消息接收模块503具体用于:
接收第一节点通过加密通道发送的第二消息;
DNS信息发送模块504具体用于:
通过加密通道向第一节点发送DNS信息。
采用以上第二节点,能够在与基于区块链的DNS外的第一节点进行双向认证证书的验证后,通过加密通道与第一节点进行DNS信息的交互,提高交互过程中的安全性。
基于同一发明构思,本发现实施例还提供了一种域名解析系统DNS信息交互的系统,由于该系统解决问题的原理与本发明实施例提供的信息交互的方法相似,因此该系统的实施可以参见方法的实施,重复之处不再赘述。
如图6所示一种域名解析系统DNS信息交互的系统,其特征在于,包括基于区块链的域名解析系统DNS外的第一节点601和DNS中的第二节点602:
第一节点601,用于向第二节点发送第一节点的认证证书,接收第二节点发送的第一消息,第一节点向第二节点发送第二消息,以及接收第二节点发送的DNS信息,第一消息是第二节点确定第一节点的认证证书通过认证后发送的,第二消息用于第二节点在收到第二消息后向第一节点发送DNS信息;
第二节点602,用于接收第一节点发送的第一节点的认证证书,在确定第一节点的认证证书通过认证后,向第一节点发送第一消息,接收第一节点发送的第二消息,以及向第一节点发送DNS信息。
采用以上系统,在基于区块链的DNS外的第一节点与DNS系统中的第二节点进行双向认证证书的验证后,通过加密通道在第一节点与第二节点之间进行DNS信息的交互,提高基于区块链DNS系统的DNS信息在交互过程中的安全性。
如图7所示,本发明实施例提供一种基于区块链的DNS系统,包括CA701和多个联盟链节点702,在实施中,每一个联盟链节点702均具有从CA701获得的认证证书,其中,联盟链节点702可以在加入该联盟链前从CA701获取认证证书,并在认证证书通过联盟链中的公开节点的认证后从联盟链已有的联盟链节点获取区块数据从而加入联盟链。
在实施中,联盟链节点702可以具有区块链模块703和DNS模块704,其中区块链模块703存储区块数据,用于实现区块链的基本功能,例如与其他区块链节点的区块链模块703进行P2P(Peer to Peer,点对点)网络通信,以及实现基于区块链的DNS的共识机制、交易签名、交易验证、域名注册和域名更新等功能。DNS模块704用于实现DNS协议栈,运行DNS服务,以及用于通过查询区块链模块703的区块数据获取域名的资源记录,在实施中,可以开放DNS模块704的53端口,对外提供域名解析服务,从而在使用中用户705可以通过DNS模块704的53端口进行域名解析。在实施中,用户705可以通过设置用户设备的DNS服务器IP地址,将一个联盟链节点702作为DNS服务器即可访问DNS服务,从而可以通过联盟链节点702解析域名。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (11)

1.一种域名解析系统DNS信息交互的方法,其特征在于,该方法包括:
基于区块链的域名解析系统DNS外的第一节点向所述DNS中的第二节点发送所述第一节点的认证证书;
所述第一节点接收所述第二节点发送的第一消息,所述第一消息是所述第二节点确定所述第一节点的认证证书通过认证后发送的;
所述第一节点向所述第二节点发送第二消息,所述第二消息用于所述第二节点在收到所述第二消息后向所述第一节点发送DNS信息;
所述第一节点接收所述第二节点发送的所述DNS信息;
在域名解析系统DNS外的第一节点向DNS中的第二节点发送所述第一节点的认证证书之前,还包括:
所述第一节点向所述第二节点发送用于请求建立连接的第三消息;
所述第一节点接收所述第二节点在收到所述第三消息后发送的所述第二节点的认证证书;
所述第一节点确定所述第二节点的认证证书通过认证;
所述第一节点为请求加入所述DNS的节点,所述第二节点为所述DNS中预设的公开节点,所述第二消息为节点信息请求消息,所述DNS信息为所述DNS中的数据节点的节点信息,所述数据节点为所述DNS中存储区块数据的节点,所述节点信息用于所述第一节点向所述节点信息所属的数据节点发送请求建立连接的消息;
还包括:
所述第一节点向所述数据节点发送区块数据请求消息;
所述第一节点接收所述区块数据。
2.如权利要求1所述的方法,其特征在于,所述第一节点的认证证书是所述第一节点从认证中心CA获得的。
3.如权利要求1所述的方法,其特征在于,在所述第一节点向所述第二节点发送第二消息之前,还包括:
所述第一节点与所述第二节点之间建立加密通道;
所述第一节点向所述第二节点发送第二消息,包括:
所述第一节点通过所述加密通道向所述第二节点发送第二消息;
所述第一节点接收所述第二节点发送的所述DNS信息,包括:
所述第一节点接收所述第二节点通过所述加密通道发送的所述DNS信息。
4.一种域名解析系统DNS信息交互的方法,其特征在于,该方法包括:
基于区块链的域名解析系统DNS中的第二节点接收所述DNS外的第一节点发送的所述第一节点的认证证书;
所述第二节点在确定所述第一节点的认证证书通过认证后,向所述第一节点发送第一消息;
所述第二节点接收所述第一节点发送的第二消息,所述第二消息是所述第一节点收到所述第一消息后发送的;
所述第二节点向所述第一节点发送DNS信息;
在域名解析系统DNS中的第二节点接收所述DNS外的第一节点发送的所述第一节点的认证证书之前,还包括:
所述第二节点接收所述第一节点发送的用于请求建立连接的第三消息;
所述第二节点向所述第一节点发送所述第二节点的认证证书,所述第二节点的认证证书用于使所述第一节点在确定所述第二节点的认证证书通过认证后,向所述第二节点发送所述第一节点的认证证书;
所述第一节点为请求加入所述DNS的节点,所述第二节点为所述DNS中预设的公开节点,所述第二消息为节点信息请求消息,所述DNS信息为所述DNS中的数据节点的节点信息,所述数据节点为所述DNS中存储区块数据的节点,所述节点信息用于所述第一节点向所述节点信息所属的数据节点发送请求建立连接的消息,所述数据节点用于根据第一节点发送的区块数据请求消息,向所述第一节点发送所述区块数据。
5.如权利要求4所述的方法,其特征在于,在所述第二节点接收所述第一节点发送的第二消息之前,还包括:
所述第二节点与所述第一节点之间建立加密通道;
所述第二节点接收所述第一节点发送的第二消息,包括:
所述第二节点接收所述第一节点通过所述加密通道发送的第二消息;
所述第二节点向所述第一节点发送DNS信息,包括:
所述第二节点通过所述加密通道向所述第一节点发送DNS信息。
6.一种域名解析系统DNS信息交互的第一节点,其特征在于,该第一节点为基于区块链的域名解析系统DNS外的节点,包括:
认证证书发送模块,用于向所述DNS中的第二节点发送所述第一节点的认证证书;
第一消息接收模块,用于接收所述第二节点发送的第一消息,所述第一消息是所述第二节点确定所述第一节点的认证证书通过认证后发送的;
第二消息发送模块,用于向所述第二节点发送第二消息,所述第二消息用于所述第二节点在收到所述第二消息后向所述第一节点发送DNS信息;
DNS信息接收模块,用于接收所述第二节点发送的所述DNS信息;
所述认证证书发送模块具体用于:
向所述第二节点发送用于请求建立连接的第三消息;
接收所述第二节点在收到所述第三消息后发送的所述第二节点的认证证书;
在确定所述第二节点的认证证书通过认证之后,向所述第二节点发送所述第一节点的认证证书;
其中,所述第一节点为请求加入所述DNS的节点,所述第二节点为所述DNS中预设的公开节点,所述第二消息为节点信息请求消息,所述DNS信息为所述DNS中的数据节点的节点信息,所述数据节点为所述DNS中存储区块数据的节点,所述节点信息用于所述第一节点向所述节点信息所属的数据节点发送请求建立连接的消息;
所述第一节点还用于:
向所述数据节点发送区块数据请求消息;
接收所述区块数据。
7.如权利要求6所述的第一节点,其特征在于,所述第一节点的认证证书是所述第一节点从认证中心CA获得的。
8.如权利要求6所述的第一节点,其特征在于,所述第二消息发送模块还用于:
在与所述第二节点之间建立加密通道之后,向所述第二节点发送所述第二消息;
所述第二消息发送模块具体用于:
通过所述加密通道向所述第二节点发送第二消息;
所述DNS信息接收模块具体用于:
接收所述第二节点通过所述加密通道发送的所述DNS信息。
9.一种域名解析系统DNS信息交互的第二节点,其特征在于,该第二节点位于基于区块链的域名解析系统DNS中,包括:
认证证书接收模块,用于接收所述DNS外的第一节点发送的所述第一节点的认证证书;
第一消息发送模块,用于在确定所述第一节点的认证证书通过认证后,向所述第一节点发送第一消息;
第二消息接收模块,用于接收所述第一节点发送的第二消息,所述第二消息是所述第一节点收到所述第一消息后发送的;
DNS信息发送模块,用于向所述第一节点发送DNS信息;
所述认证证书接收模块还用于:
在接收所述第一节点发送的用于请求建立连接的第三消息,并向所述第一节点发送所述第二节点的认证证书之后,接收所述第一节点发送的所述第一节点的认证证书,所述第二节点的认证证书用于使所述第一节点在确定所述第二节点的认证证书通过认证后,向所述第二节点发送所述第一节点的认证证书;
其中,所述第一节点为请求加入所述DNS的节点,所述第二节点为所述DNS中预设的公开节点,所述第二消息为节点信息请求消息,所述DNS信息为所述DNS中的数据节点的节点信息,所述数据节点为所述DNS中存储区块数据的节点,所述节点信息用于所述第一节点向所述节点信息所属的数据节点发送请求建立连接的消息,所述数据节点用于根据第一节点发送的区块数据请求消息,向所述第一节点发送所述区块数据。
10.如权利要求9所述的第二节点,其特征在于,所述第二消息接收模块还用于:
在与所述第一节点之间建立加密通道之后,接收所述第一节点发送的第二消息;
所述第二消息接收模块具体用于:
接收所述第一节点通过所述加密通道发送的第二消息;
所述DNS信息发送模块具体用于:
通过所述加密通道向所述第一节点发送DNS信息。
11.一种域名解析系统DNS信息交互的系统,其特征在于,包括如权利要求6-8中任一所述的第一节点,和如权利要求9或10所述的第二节点。
CN201711490112.XA 2017-12-29 2017-12-29 一种域名解析系统dns信息交互的方法、装置及系统 Active CN109995723B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711490112.XA CN109995723B (zh) 2017-12-29 2017-12-29 一种域名解析系统dns信息交互的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711490112.XA CN109995723B (zh) 2017-12-29 2017-12-29 一种域名解析系统dns信息交互的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN109995723A CN109995723A (zh) 2019-07-09
CN109995723B true CN109995723B (zh) 2022-04-15

Family

ID=67111451

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711490112.XA Active CN109995723B (zh) 2017-12-29 2017-12-29 一种域名解析系统dns信息交互的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN109995723B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113055345B (zh) * 2019-12-27 2022-11-08 中国移动通信集团湖南有限公司 基于区块链的数据安全认证方法及装置
CN112671779B (zh) * 2020-12-25 2022-10-18 赛尔网络有限公司 基于DoH服务器的域名查询方法、装置、设备及介质
CN113595823B (zh) * 2021-07-26 2024-02-13 哈尔滨工业大学(威海) 基于解析行为的开放域名解析器节能程度评估的方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105978697A (zh) * 2016-07-25 2016-09-28 宁圣金融信息服务(上海)有限公司 一种区块链域名解析方法
CN107171829A (zh) * 2017-04-24 2017-09-15 杭州趣链科技有限公司 一种基于bft共识算法实现的动态节点管理方法
CN107426157A (zh) * 2017-04-21 2017-12-01 杭州趣链科技有限公司 一种基于数字证书以及ca认证体系的联盟链权限控制方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230526B2 (en) * 2014-12-31 2019-03-12 William Manning Out-of-band validation of domain name system records
CN106452785B (zh) * 2016-09-29 2019-05-17 财付通支付科技有限公司 区块链网络、分支节点及区块链网络应用方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105978697A (zh) * 2016-07-25 2016-09-28 宁圣金融信息服务(上海)有限公司 一种区块链域名解析方法
CN107426157A (zh) * 2017-04-21 2017-12-01 杭州趣链科技有限公司 一种基于数字证书以及ca认证体系的联盟链权限控制方法
CN107171829A (zh) * 2017-04-24 2017-09-15 杭州趣链科技有限公司 一种基于bft共识算法实现的动态节点管理方法

Also Published As

Publication number Publication date
CN109995723A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN111835752B (zh) 基于设备身份标识的轻量级认证方法及网关
CN111585749B (zh) 数据传输方法、装置、系统及设备
US9313033B2 (en) Derived certificate based on changing identity
KR100860404B1 (ko) 다중 도메인 홈네트워크 환경에서의 디바이스 인증 방법 및장치
CN107659406B (zh) 一种资源操作方法及装置
WO2017185692A1 (zh) 密钥分发、认证方法,装置及系统
US20090144541A1 (en) Method and apparatus of mutual authentication and key distribution for downloadable conditional access system in digital cable broadcasting network
US11736304B2 (en) Secure authentication of remote equipment
WO2010078755A1 (zh) 电子邮件的传送方法、系统及wapi终端
WO2022111102A1 (zh) 建立安全连接的方法、系统、装置、电子设备和机器可读存储介质
US11323433B2 (en) Digital credential management method and device
US20080137859A1 (en) Public key passing
CN111934884B (zh) 一种证书管理方法及装置
CN109995723B (zh) 一种域名解析系统dns信息交互的方法、装置及系统
CN101471767B (zh) 密钥分发方法、设备及系统
CN108259486B (zh) 基于证书的端到端密钥交换方法
GB2543359A (en) Methods and apparatus for secure communication
KR101165350B1 (ko) 유비쿼터스 컴퓨팅 네트워크 환경에서 커뮤니티 컴퓨팅을 위한 디바이스 멤버 인증방법
CN112019553B (zh) 一种基于ibe/ibbe数据共享方法
CN113918971A (zh) 基于区块链的消息传输方法、装置、设备及可读存储介质
CA2795420C (en) Derived certificate based on changing identity
WO2022135387A1 (zh) 一种身份鉴别方法和装置
WO2022135386A1 (zh) 一种身份鉴别方法和装置
CN115484038A (zh) 一种数据处理方法及其设备
WO2013189083A1 (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