在区块链中发布域名的方法、设备、系统及存储介质与流程

文档序号:17322738发布日期:2019-04-05 21:37阅读:178来源:国知局
在区块链中发布域名的方法、设备、系统及存储介质与流程

本发明实施例涉及区块链技术领域,尤其涉及一种在区块链中发布域名的方法、设备、系统及存储介质。



背景技术:

在域名区块链中任何人都可以发布自己的域名和ip地址,但是有些恶意用户可能会发布别人的域名对应自己的ip地址,这样就可以进行域名钓鱼攻击。比如某人在区块链中发布新浪的域名,如果新浪公司没有在域名区块链中注册发布新浪的域名的话,其他用户无法分辨出来发布该域名的是否是真的新浪公司,此时一旦是恶意注册,那么就很容易给其他用户的网络安全造成危害。



技术实现要素:

本发明实施例提供一种在区块链中发布域名的方法、设备、系统及存储介质,用以确保域名区块链中记录的域名与ip地址之间的对应关系的真实性,阻止域名钓鱼攻击事件的发生。

本发明实施例第一方面提供一种在区块链中发布域名的方法,该方法适用于一种域名区块链,该域名区块链包括记账节点和域名发布节点,所述方法包括:

记账节点接收域名发布节点发送的域名发布请求,所述域名发布请求中包括域名和第一ip地址;

所述记账节点确定所述域名在所述域名区块链上是否已注册过;

若已注册,则确定注册所述域名的节点与所述域名发布节点是否为同一节点,其中,若是,则将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中,若不是,则拒绝将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中。

在一种实施方式中,所述域名发布请求包括所述域名发布节点的数字签名;

所述确定注册所述域名的节点与所述域名发布节点是否为同一节点,包括:

确定注册所述域名的节点的数字签名与所述域名发布节点的数字签名是否一致;

其中,若一致,则确定注册所述域名的节点与所述域名发布节点为同一节点,若不一致,则确定注册所述域名的节点与所述域名发布节点不是同一节点。

在一种实施方式中,所述方法还包括:

若确定所述域名在所述域名区块链上未注册过,则从互联网的域名查询系统中查询所述域名对应的第二ip地址;

若所述第二ip地址与所述第一ip地址一致,则将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中,若不一致,则拒绝将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中。

在一种实施例方式中,所述将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中,包括:

将所述域名和所述第一ip地址之间的对应关系记录到新的区块上。

本发明实施例第二方面提供一种记账节点,该记账节点设置在域名区块链中,所述域名区块链中还包括域名发布节点,记账节点包括:

处理器,以及用于存储指令的存储器,当所述处理器执行所述存储器中的指令时,所述处理器用于:

接收域名发布节点发送的域名发布请求,所述域名发布请求中包括域名和第一ip地址;

确定所述域名在所述域名区块链上是否已注册过;

若已注册,则确定注册所述域名的节点与所述域名发布节点是否为同一节点,其中,若是,则将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中,若不是,则拒绝将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中。

在一种实施方式中,所述域名发布请求包括所述域名发布节点的数字签名;

所述处理器在确定注册所述域名的节点与所述域名发布节点是否为同一节点时,用于:

确定注册所述域名的节点的数字签名与所述域名发布节点的数字签名是否一致;

其中,若一致,则确定注册所述域名的节点与所述域名发布节点为同一节点,若不一致,则确定注册所述域名的节点与所述域名发布节点不是同一节点。

在一种实施方式中,所述处理器还用于:

在确定所述域名在所述域名区块链上未注册过时,从互联网的域名查询系统中查询所述域名对应的第二ip地址;

若所述第二ip地址与所述第一ip地址一致,则将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中,若不一致,则拒绝将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中。

在一种实施方式中,所述处理器在将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中时,用于:

将所述域名和所述第一ip地址之间的对应关系记录到新的区块上。

本发明实施例第三方面提供一种域名区块链,该域名区块链包括域名发布节点和上述第二方面所述的记账节点。

本发明实施例第四方面提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。

在本发明实施例中,记账节点通过接收域名发布节点发送的域名发布请求,并确定域名发布请求中携带的域名在域名区块链上是否已注册过,若是已注册过,则进一步确定注册该应的节点与发送域名发布请求的域名发布节点是否是同一节点,若是则将域名发布请求中携带的域名和第一ip地址之间的对应关系注册到域名区块链中,若不是同一节点则拒绝将域名发布请求中携带的域名和第一ip地址之间的对应关系注册到域名区块链中。本发明实施例通过对域名发布节点的身份进行验证,能够确保记录到域名区块链中的域名与ip地址之间的对应关系真实、可靠,可防止域名钓鱼攻击事件的发生。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种域名发布场景示意图;

图2是本发明实施例提供的一种在区块链中发布域名的方法的流程图;

图3是本发明实施例提供的一种在区块链中发布域名的方法的流程图

图4是本发明实施例提供的一种记账节点的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤的过程或结构的装置不必限于清楚地列出的那些结构或步骤而是可包括没有清楚地列出的或对于这些过程或装置固有的其它步骤或结构。

图1是本发明实施例提供的一种域名发布场景示意图,在图1中包括域名发布节点10,记账节点11、域名区块链12和互联网的域名查询系统13,其中,域名区块链12中存储有区块链域名与ip地址之间的对应关系,域名查询系统13中存储有互联网域名与ip地址之间的对应关系。

举例来说,域名发布节点10可通过预设的应用程序接入域名区块链12,并与域名区块链12中的记账节点11连接。当域名发布节点10需要发布域名www.xxx.com、ip地址甚至是服务端口号时,域名发布节点10向记账节点发送域名发布请求,该域名发布请求至少包括该域名www.xxx.com和ip地址,在其他实现方式中还可以包括记账节点的数字签名、服务端口号和所述记账节点11的公钥。

记账节点11在接收到域名发布节点10发送的域名发布请求之后,首先在域名区块链12中查询该域名www.xxx.com的信息,确定域名www.xxx.com之前是否在域名区块链12中注册过,若是注册过,则进一步确定之前注册该域名的节点与域名发布节点10是否是同一个节点,若是同一个节点则说明是节点自身在进行域名的更新,此时,可以直接将域名发布请求中携带的信息记录在新的区块上。或者为了进一步确保域名发布的安全性,在确定之前注册该域名的节点与域名发布节点10是同一个节点之后,还可以再次的在互联网的域名查询系统13上查询域名www.xxx.com对应的ip地址,并判断该域名在域名查询系统13上对应的ip地址与域名发布请求中携带的ip地址是否一致,若一致,则将域名发布请求携带的信息记录在新的区块中,若一致则,拒接将域名发布请求携带的信息记录在新的区块中。

进一步的,当记账节点11未在域名区块链12中查找到域名www.xxx.com的信息,即域名www.xxx.com未在域名区块链12中注册过,此时记账节点11可从域名查询系统13中查找域名www.xxx.com的信息,确定域名www.xxx.com在域名查询系统13中对应的ip地址与域名发布请求中携带的ip地址是否一致,若一致,则将域名发布请求携带的信息记录在新的区块中,若一致则,拒接将域名发布请求携带的信息记录在新的区块中。

当然上述仅为示例说明而不是对本发明的唯一限定。

在本发明实施例中,记账节点通过接收域名发布节点发送的域名发布请求,并确定域名发布请求中携带的域名在域名区块链上是否已注册过,若是已注册过,则进一步确定注册该应的节点与发送域名发布请求的域名发布节点是否是同一节点,若是则将域名发布请求中携带的域名和第一ip地址之间的对应关系注册到域名区块链中,若不是同一节点则拒绝将域名发布请求中携带的域名和第一ip地址之间的对应关系注册到域名区块链中。本发明实施例通过对域名发布节点的身份进行验证,能够确保记录到域名区块链中的域名与ip地址之间的对应关系真实、可靠,防止域名钓鱼攻击事件的发生。

下面结合实施例对本发明技术方案进行详细阐述。

图2是本发明实施例提供的一种在区块链中发布域名的方法的流程图,该方法适用于一种域名区块链,该域名区块链包括记账节点和域名发布节点,该方法包括:

步骤101、记账节点接收域名发布节点发送的域名发布请求,所述域名发布请求中包括域名和第一ip地址。

步骤102、记账节点确定所述域名在所述域名区块链上是否已注册过。

步骤103、若已注册,则确定注册所述域名的节点与所述域名发布节点是否为同一节点,其中,若是,则将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中,若不是,则拒绝将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中。

在本实施例中,第一ip地址是指待发布的域名所对应的ip地址。

当域名发布节点要发布新的域名或者更新旧的域名信息时,对待发布的域名和ip地址,甚至是服务端口号和域名发布节点的标识进行数字签名处理,得到域名发布请求,并将该域名发布请求发送给域名区块链中的记账节点。

记账节点在接收到域名发布请求后,在域名区块链中查询当前已注册的域名中是否包括所述待发布的域名,若包括,则说明该已经被注册过,此时判断域名发布节点可能要对已经注册过的域名的信息进行更新,为了确保应发布的安全性,此时记账节点需要进一步的对域名发布节点的身份进行验证,其验证方法可是示例性的包括如下几种:

在一种可能的实现方式中,可以根据域名发布请求中携带的域名发布节点的标识确定之前注册该应的节点和域名发布节点是否是同一节点,若是同一节点则将域名发布请求携带的信息记录到新的区块上。若不是同一节点,则说明存在被攻击的风险,此时拒绝将域名发布请求携带的信息记录到新的区块上。

在另一种可能的实现方式中,可以据域名发布请求中携带的数字签名确定之前注册该域名的节点和域名发布节点是不是同一节点,若是,则将域名发布请求携带的信息记录到新的区块上。若不是同一节点,则说明存在被攻击的风险,此时拒绝将域名发布请求携带的信息记录到新的区块上。

上述方法通过对域名发布节点的身份进行验证,能够防止已注册的域名被恶意篡改,提高了域名区块链上记录的应的安全性。

但是在实际中不仅包括用户更新已注册域名的场景,还包括用户注册新域名的场景。图3是本发明实施例提供的一种在区块链中发布域名的方法的流程图,如图3所示,当待发布的域名未在域名区块链中注册过时,本实施例还可以包括如下步骤:

步骤201、在确定所述域名在所述域名区块链上未注册过时,从互联网的域名查询系统中查询所述域名对应的第二ip地址。

步骤202、若所述第二ip地址与所述第一ip地址一致,则将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中,若不一致,则拒绝将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中。

在用户发布新的域名的场景下,记账节点在域名区块链上将无法找到待发布的域名的信息,即待发布的域名之前未被注册过,此时为了防止域名钓鱼事件的发生,记账节点可以在互联网的域名查询系统中查找该域名的对应的ip地址,并将查找获得的ip地址与域名发布请求中携带的ip地址进行匹配,若二者一致,则说明域名发布节点是可信节点,此时将域名发布请求中携带的信息记录到新的区块中,若不一致,为了规避域名钓鱼的风险,则拒绝将域名发布请求中携带的信息记录到新的区块中。

在本实施例中,记账节点通过接收域名发布节点发送的域名发布请求,并确定域名发布请求中携带的域名在域名区块链上是否已注册过,若是已注册过,则进一步确定注册该应的节点与发送域名发布请求的域名发布节点是否是同一节点,若是则将域名发布请求中携带的域名和第一ip地址之间的对应关系注册到域名区块链中,若不是同一节点则拒绝将域名发布请求中携带的域名和第一ip地址之间的对应关系注册到域名区块链中。本实施例通过对域名发布节点的身份进行验证,能够确保记录到域名区块链中的域名与ip地址之间的对应关系真实、可靠,防止域名钓鱼攻击事件的发生。

图4是本发明实施例提供的一种记账节点的结构示意图,该记账节点设置在域名区块链中,所述域名区块链中还包括域名发布节点,记账节点40,包括:

处理器41,以及用于存储指令的存储器42,当所述处理器41执行所述存储器42中的指令时,所述处理器41用于:

接收域名发布节点发送的域名发布请求,所述域名发布请求中包括域名和第一ip地址;

确定所述域名在所述域名区块链上是否已注册过;

若已注册,则确定注册所述域名的节点与所述域名发布节点是否为同一节点,其中,若是,则将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中,若不是,则拒绝将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中。

在一种实施方式中,所述域名发布请求包括所述域名发布节点的数字签名;

所述处理器41在确定注册所述域名的节点与所述域名发布节点是否为同一节点时,用于:

确定注册所述域名的节点的数字签名与所述域名发布节点的数字签名是否一致;

其中,若一致,则确定注册所述域名的节点与所述域名发布节点为同一节点,若不一致,则确定注册所述域名的节点与所述域名发布节点不是同一节点。

在一种实施方式中,所述处理器41还用于:

在确定所述域名在所述域名区块链上未注册过时,从互联网的域名查询系统中查询所述域名对应的第二ip地址;

若所述第二ip地址与所述第一ip地址一致,则将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中,若不一致,则拒绝将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中。

在一种实施方式中,所述处理器41在将所述域名和所述第一ip地址之间的对应关系注册到所述域名区块链中时,用于:

将所述域名和所述第一ip地址之间的对应关系记录到新的区块上。

本实施例提供的节点能够执行图2或图3的方法,其执行方式和有益效果类似在这里不再赘述。

本发明实施例的还提供一种域名区块链,该域名区块链包括域名发布节点和图4实施例所述的记账节点。

本发明实施例还提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述图2或图3提供的方法。

最后需要说明的是,本领域普通技术人员可以理解上述实施例方法中的全部或者部分流程,是可以通过计算机程序来指令相关的硬件完成,所述的程序可存储于一计算机可读存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可以为磁盘、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。

本发明实施例中的各个功能单元可以集成在一个处理模块中,也可以是各个单元单独的物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现,并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。上述提到的存储介质可以是只读存储器、磁盘或光盘等。

以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1