CN114329419A - 一种基于区块链的身份验证方法、装置及计算机设备 - Google Patents

一种基于区块链的身份验证方法、装置及计算机设备 Download PDF

Info

Publication number
CN114329419A
CN114329419A CN202111442458.9A CN202111442458A CN114329419A CN 114329419 A CN114329419 A CN 114329419A CN 202111442458 A CN202111442458 A CN 202111442458A CN 114329419 A CN114329419 A CN 114329419A
Authority
CN
China
Prior art keywords
collector
control
registered user
server
query
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.)
Pending
Application number
CN202111442458.9A
Other languages
English (en)
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.)
Shenzhen Grid Information Technology Co ltd
Original Assignee
Shenzhen Grid 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 Shenzhen Grid Information Technology Co ltd filed Critical Shenzhen Grid Information Technology Co ltd
Priority to CN202111442458.9A priority Critical patent/CN114329419A/zh
Publication of CN114329419A publication Critical patent/CN114329419A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请实施例属于区块链技术,涉及一种基于区块链的身份验证方法,包括:获取注册用户发出的注册请求;根据注册请求在预设联盟区块链进行注册,并生成与注册用户对应的公钥和私钥返回给注册用户;基于注册用户编号以及公钥生成注册用户链表;获取查询采集器发出的控制权限查询请求;基于注册用户链表以及预设控制权限链表,根据查询采集器签名以及控制采集器服务器编号,验证查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。其中,用户的身份信息、权限控制信息可存储于区块链中。本申请还提供一种基于区块链的身份验证装置及计算机设备。本申请能够提高采集器和服务器之间命令传输的安全性。

Description

一种基于区块链的身份验证方法、装置及计算机设备
技术领域
本申请涉及区块链技术领域,尤其涉及一种基于区块链的身份验证方法、装置及计算机设备。
背景技术
在动力环境监控系统中,服务器向采集器发出控制命令,实现对采集器状态的控制。目前只要采集器接收到的控制命令符合固定格式,采集器就会执行命令。一旦恶意方发送符合格式的恶意命令,采集器也会执行命令,导致安全性不高。因此,提高服务器和采集器之间命令传输的安全性是当前亟需解决的问题。
发明内容
本申请实施例的目的在于提出一种基于区块链的身份验证方法、装置及计算机设备,以解决服务器和采集器之间命令传输的安全性低的问题。
为了解决上述技术问题,本申请实施例提供一种基于区块链的身份验证方法,采用了如下所述的技术方案:
获取注册用户发出的注册请求,所述注册请求包括所述注册用户的注册用户编号;所述注册用户为采集器或服务器;
根据所述注册请求在预设联盟区块链进行注册,并生成与所述注册用户对应的公钥和私钥返回给所述注册用户;
基于所述注册用户编号以及所述公钥生成注册用户链表;
获取查询采集器发出的控制权限查询请求,所述控制权限查询请求是所述查询采集器,接收到控制采集器服务器的控制命令后发出的,所述控制权限查询请求包括查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号;
基于所述注册用户链表以及预设控制权限链表,根据所述查询采集器签名和所述查询采集器编号,以及所述控制采集器服务器签名和所述控制采集器服务器编号,验证所述查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。
进一步的,所述预设联盟区块链包括多个共识节点,所述共识节点包括上链节点、主节点以及副节点,所述上链节点为被用户访问后需要发送信息上链的节点,所述副节点为除了所述上链节点和所述主节点以外的共识节点;所述基于所述注册用户编号以及所述公钥生成注册用户链表的步骤包括:
基于拜占庭容错共识机制,将所述注册用户编号以及所述公钥生成上链请求消息,并通过所述上链节点在预设联盟区块链中全网广播上链请求消息;
通过所述主节点将所述上链请求消息、主节点签名以及目标链块编号生成预备消息,并在所述预设联盟区块链中全网广播所述预备消息,所述目标链块编号为将要生成的注册用户链块的编号;
通过除了主节点以外的共识节点,分别将接收到的所述预备消息,与接收到的所述上链请求消息进行对比,若所述预备消息与所述上链请求消息相同,则除了主节点以外的共识节点,均加上自身的签名生成准备消息,并在所述预设联盟区块链中全网广播所述准备消息;
通过除了主节点以外的共识节点,分别判断收到的2f+1条准备消息,是否与自身收到的准备消息一致,若一致,则除了主节点以外的共识节点,均加上自身的签名生成提交消息,并分别在预设联盟区块链中全网广播所述提交消息;所述2f+1为副本数量;所述f表示恶意节点或故障节点数量;所述n为预设联盟区块链的节点总数,n>3f+1,3f+1为最少节点数量;
当上链节点收到2f+1条提交信息后,通过上链节点在预设联盟区块链中全网广播回复消息,进而完成上链过程,以生成注册用户链块;
根据所述注册用户链块生成所述注册用户链表。
进一步的,所述注册用户链表包括多个注册用户链块,每个注册用户链块均包括注册用户链块头以及注册用户链块信息,所述注册用户链块头包括上一注册用户链块的哈希值、当前时间戳、本注册用户链块的哈希值,所述注册用户链块信息包括注册用户编号和与所述注册用户编号对应的公钥;
所述预设控制权限链表为预设管理员用户预先设置的,所述预设控制权限链表包括多个控制权限链块,每个控制权限链块均包括控制权限链块头以及控制权限链块信息,所述控制权限链块头包括上一控制权限链块的哈希值、当前时间戳、本控制权限链块的哈希值,所述控制权限链块信息包括采集器编号、服务器编号以及服务器是否有权限控制采集器信息。
进一步的,所述查询采集器签名包括所述查询采集器私钥,所述控制采集器服务器签名包括所述控制采集器服务器私钥;所述基于所述注册用户链表以及预设控制权限链表,根据所述查询采集器签名和所述查询采集器编号,以及所述控制采集器服务器签名和所述控制采集器服务器编号,验证所述查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果的步骤具体包括:
通过所述查询采集器私钥和所述查询采集器编号与所述注册用户链表,验证所述查询采集器是否为合法用户,以及通过所述控制采集器服务器编号和所述控制采集器服务器签名与所述注册用户链表,验证所述控制采集器服务器是否为合法用户;
若所述查询采集器以及所述控制采集器服务器均是合法用户,则判断所述预设权限链表中是否存在所述查询采集器和所述控制采集器服务器对应的权限控制信息,若存在,则将所述权限控制信息作为查询结果返回。
进一步的,所述通过所述查询采集器私钥和所述查询采集器编号与所述注册用户链表,验证所述查询采集器是否为合法用户的步骤包括:
判断所述注册用户链表中是否存在与所述查询采集器编号对应的采集器编号;
若所述注册用户链表中存在与所述查询采集器编号对应的采集器编号,则基于查找到的采集器编号判断所述注册用户链表中是否存在与所述查询采集器私钥对应的公钥;
若所述注册用户链表中存在与所述查询采集器私钥对应的公钥,则确定所述查询采集器签名验证成功,并判定所述查询采集器为合法用户;
以及,所述通过所述控制采集器服务器编号和所述控制采集器服务器签名与所述注册用户链表,验证所述控制采集器服务器是否为合法用户的步骤包括:
判断所述注册用户链表中是否存在与所述控制采集器服务器编号对应的服务器编号;
若所述注册用户链表中存在与所述控制采集器服务器对应的服务器编号,则基于查找到的服务器编号判断所述注册用户链表中是否存在与所述控制采集器服务器私钥对应的公钥;
若所述注册用户链表中存在与所述控制采集器服务器私钥对应的服务器公钥,则确定所述控制采集器服务器签名验证成功,并判定所述控制采集器服务器为合法用户。
进一步的,在所述基于所述注册用户链表以及预设控制权限链表,根据所述查询采集器签名和所述查询采集器编号,以及所述控制采集器服务器签名和所述控制采集器服务器编号,验证所述查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果的步骤之前,所述方法还包括:
获取预设管理员发布的控制权限设置信息,所述控制权限设置信息包括设置采集器编号、设置服务器编号、设置服务器是否可以控制设置采集器数据以及与所述预设管理员对应的预设管理员签名;
验证所述预设管理员签名是否正确,若正确,则生成新的控制权限链块,并在预设控制权限链表上发布新的控制权限链块。
进一步的,在所述基于所述注册用户编号以及所述公钥生成注册用户链表的步骤之后还包括:
将所述注册用户链表同步到所述注册用户中。
为了解决上述技术问题,本申请实施例还提供一种基于区块链的身份验证装置,所述装置包括:
第一获取模块,用于获取注册用户发出的注册请求,所述注册请求包括所述注册用户的注册用户编号;所述注册用户为采集器或服务器;
注册模块,用于根据所述注册请求在预设联盟区块链进行注册,并生成与所述注册用户对应的公钥和私钥返回给所述注册用户;
生成模块,用于基于所述注册用户编号以及所述公钥生成注册用户链表;
第二获取模块,用于获取查询采集器发出的控制权限查询请求,所述控制权限查询请求是所述查询采集器,接收到控制采集器服务器的控制命令后发出的,所述控制权限查询请求包括查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号;
验证模块,用于基于所述注册用户链表以及预设控制权限链表,根据所述查询采集器签名和所述查询采集器编号,以及所述控制采集器服务器签名和所述控制采集器服务器编号,验证所述查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括:存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现上述实施例所述的基于区块链的身份验证方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述实施例所述的基于区块链的身份验证方法中的步骤。
与现有技术相比,本申请实施例主要有以下有益效果:获取注册用户发出的注册请求,所述注册请求包括所述注册用户的注册用户编号;所述注册用户为采集器或服务器;根据所述注册请求在预设联盟区块链进行注册,并生成与所述注册用户对应的公钥和私钥返回给所述注册用户;基于所述注册用户编号以及所述公钥生成注册用户链表;获取查询采集器发出的控制权限查询请求,所述控制权限查询请求是所述查询采集器,接收到控制采集器服务器的控制命令后发出的,所述控制权限查询请求包括查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号;基于所述注册用户链表以及预设控制权限链表,根据所述查询采集器签名和所述查询采集器编号,以及所述控制采集器服务器签名和所述控制采集器服务器编号,验证所述查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。这样可以结合基于预设联盟区块链中存储的注册用户链表以及预设控制权限链表对查询采集器和控制采集器服务器的身份信息以及权限控制信息进行认证,进而提高了采集器和服务器之前命令传输的安全性。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的基于区块链的身份验证方法的一个实施例的流程图;
图3是本申请提供的一种注册用户链表的结构示意图;
图4是本申请提供的一种区块链消息上链流程图;
图5是本申请提供的一种预设控制权限链表的结构示意图;
图6是图2中在步骤205之前的一个实施例的流程图;
图7是本申请提供的一种基于区块链的身份验证装置的一个实施例的结构示意图;
图8是图7中在验证模块之前的一个实施例的结构示意图;
图9是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括预设联盟区块链101,采集器102、服务器103以及管理员终端设备104。采集器102和服务器103可以通过网络与预设联盟区块链101进行通信。采集器102和服务器103之间也可以通过网络进行通信。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
管理员可以使用管理员终端设备104通过网络与预设联盟区块链101交互,以接收或发送消息等。管理员终端设备104可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
管理员终端设备104可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroupAudio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExpertsGroup Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
预设联盟区块链101包括多个节点,具体可以是基于5个或以上的节点,使预设联盟区块链101上的节点可以实现拜占庭容错共识机制。预设联盟区块链101可以包括2个部分:注册部分和身份认证部分。注册部分用于服务器103和采集器102的注册,会生成一个用户链表。身份认证部分用于采集器102收到服务器103的控制命令后检查发出控制命令的服务器103是否具备控制权限。该身份认证部分会生成一个权限控制链表。用户链表和权限控制链表这两个链表均遵循区块链的储存原则,每个链表的块都包含上一块的哈希值、当前时间戳、上一块的哈希值与此块信息一同计算出的本块哈希值,使得链表中数据被篡改后很容易被察觉。
该注册部分包括下述实施例提供的基于区块链的身份验证装置中的第一获取模块、注册模块以及生成模块。该身份验证部分则包括下述实施例提供的基于区块链的身份验证装置中的第二获取模块以及验证模块。
注册部分和身份认证部分之间可以进行签名认证,具体可以是身份认证部分向注册部分发送签名认证请求,注册部分找到对应的公钥并验证签名后返回验证结果给身份认证部分。
采集器102可以是用于采集各种数据的设备。
服务器103可以是提供各种服务的服务器。
需要说明的是,本申请实施例所提供的基于区块链的身份验证方法一般由预设联盟区块链101执行,相应地,基于区块链的身份验证装置一般设置于预设联盟区块链101中。
应该理解,图1中的预设联盟区块链101,采集器102、服务器103和管理员终端设备104的数目仅仅是示意性的。根据实现需要,可以具有任意数目的预设联盟区块链101,采集器102、服务器103和管理员终端设备104。
继续参考图2,示出了根据本申请的基于区块链的身份验证的方法的一个实施例的流程图。基于区块链的身份验证方法,包括以下步骤:
步骤S201,获取注册用户发出的注册请求。
在本实施例中,基于区块链的身份验证方法运行于其上的电子设备(例如图1所示的预设联盟区块链)可以通过有线连接方式或者无线连接方式接收注册请求。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
其中,注册请求包括注册用户的注册用户编号;注册用户为采集器或服务器。当注册用户为采集器时,注册用户编号则对应为采集器编号;当然,当注册用户为服务器时,注册用户编号则对应为服务器编号。
具体地,当采集器或服务器需要注册时,均可以使用各自的编号生成注册请求向预设联盟区块链进行注册。
步骤S202,根据注册请求在预设联盟区块链进行注册,并生成与注册用户对应的公钥和私钥返回给注册用户。
在本实施例中,使得联盟区块链上的节点可以实现拜占庭容错拜占庭容错共识机制。公钥与私钥存在映射关系。上述公钥用于生成注册用户链表,上述私钥用于注册用户进行签名验证。
具体地,采集器或服务器需要注册时,可以使用对应的编号向预设联盟区块链的节点发送注册请求,此时,节点会生成一个独有的公钥和私钥,然后再将对应的公钥和私钥返回给对应的采集器或服务器。
步骤S203,基于注册用户编号以及公钥生成注册用户链表。
其中,如图3所示,图3是本申请提供的一种注册用户链表的结构示意图。当有多个采集器或多个服务器注册时,则上述注册用户链表包括多个注册用户链块,每个注册用户链块均包括注册用户链块头以及注册用户链块信息。该注册用户链表遵循预设联盟区块链的存储原则,且存储在预设联盟区块链中。
注册用户链块头包括上一注册用户链块的哈希值、当前时间戳、本注册用户链块的哈希值,注册用户链块信息包括注册用户编号和与注册用户编号对应的公钥。通过关联上一注册用户链块的哈希值使注册用户链表中数据被篡改后很容易被察觉。由于预设联盟区块链的共识机制,当注册用户链表上的数据被篡改时,若其余50%及以上的节点发现错误并报警,管理人员能够很快的发现数据被篡改,保证了系统的安全性。
在本实施例中,上述预设联盟区块链包括多个共识节点,具体可以是基于5个或以上的节点,共识节点包括上链节点、主节点以及副节点,上链节点为被用户访问后需要发送信息上链的节点,副节点为除了上链节点和主节点以外的共识节点。主节点为多个共识节点中的任意一个,且主节点与上链节点不同。如图4所示,图4是本申请提供的一种区块链消息上链流程图。
具体地,步骤①:基于拜占庭容错共识机制,将注册用户编号以及公钥生成上链请求消息,并通过上链节点在预设联盟区块链中全网广播上链请求消息。
步骤②:通过主节点将上链请求消息、主节点签名以及目标链块编号生成预备消息,并在预设联盟区块链中全网广播预备消息,目标链块编号为将要生成的注册用户链块的编号。
步骤③:通过除了主节点以外的共识节点,分别将接收到的预备消息,与接收到的上链请求消息进行对比,若预备消息与上链请求消息相同,则除了主节点以外的共识节点,均加上自身的签名生成准备消息,并在预设联盟区块链中全网广播准备消息。
步骤④:通过除了主节点以外的共识节点,分别判断收到的2f+1条准备消息,是否与自身收到的准备消息一致,若一致,则除了主节点以外的共识节点,均加上自身的签名生成提交消息,并分别在预设联盟区块链中全网广播提交消息;2f+1为副本数量;f为恶意节点或故障节点数量;n为预设联盟区块链的节点总数,n>3f+1,3f+1为最少节点数量。
步骤⑤:当上链节点收到2f+1条提交信息后,通过上链节点在预设联盟区块链中全网广播回复消息,进而完成上链过程,以生成注册用户链块,进而根据注册用户链块生成注册用户链表。
更具体地,步骤①、步骤②、步骤③、步骤④以及步骤⑤也可以表示为步骤①上链节点发送存入注册请求、步骤②主节点预准备、步骤③所有节点准备、步骤④所有节点提交以及步骤⑤上链节点回复五个阶段。这样使得预设联盟区块链可以容忍小于总节点数的1/3个无效或者恶意节点,保障了预设联盟区块链内信息的准确性。
具体地,当生成注册用户的公钥和私钥后,可以将注册用户编号和对应公钥在整个预设联盟区块链中进行广播上链,并保存在预设联盟区块链中,在广播上链的过程中需要通过拜占庭容错共识机制完成。在上链完成后,既可以生成该注册用户对应的注册用户链块,将该注册用户链块发布到预设联盟区块链表上得到注册用户链表。
步骤S204,获取查询采集器发出的控制权限查询请求。
其中,上述查询采集器为需要发出控制权限查询请求的采集器。
控制权限查询请求是查询采集器,接收到控制采集器服务器的控制命令后发出的。上述控制采集器服务器为发出用于控制查询采集器的控制命令的服务器。
控制权限查询请求包括查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号。该查询采集器签名包括查询采集器私钥以及查询采集器编号。
具体地,当查询采集器收到控制采集器服务器的控制命令后,需要发出控制权限查询请求,以检查发出控制命令的服务器是否具备控制权限。若控制采集器服务器具备控制权限,则该查询采集器执行接收到的控制命令。若控制采集器服务器不具备控制权限,则该查询采集器不能执行接收到的控制命令。
需要说明的是,当控制采集器服务器向查询采集器发出控制命令时,需要附上使用自己的私钥签名和服务器编码。查询采集器收到控制命令后,验证控制采集器服务器的签名,如果控制采集器服务器的签名验证正确,才需要向预设联盟区块链请求检查该控制采集器服务器是否有权限控制该查询采集器。
步骤S205,基于注册用户链表以及预设控制权限链表,根据查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号,验证查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。
其中,如图5所示,图5是本申请提供的一种预设控制权限链表的结构示意图。预设控制权限链表为管理员用户预先设置的,该预设控制权限链表遵循预设联盟区块链的存储原则,且存储在预设联盟区块链中。预设预设控制权限链表包括多个控制权限链块,每个控制权限链块均包括控制权限链块头以及控制权限链块信息。控制权限链块头包括上一控制权限链块的哈希值、当前时间戳、本控制权限链块的哈希值,控制权限链块信息包括采集器编号、服务器编号以及服务器是否有权限控制采集器信息。
预设管理员用户是预设联盟区块链中预先设置的管理用户,该管理员用户拥有向预设联盟区块链上发布允许控制采集器权限的信息的权利。通过使用管理员用户自身的私钥进行签名,管理员用户向预设联盟区块链发送允许访问权限数据,允许访问权限数据包括采集器编号、服务器编号以及服务器是否可以控制该采集器。预设联盟区块链收到允许访问权限数据后,认证管理员用户的签名,若服务器的签名验证正确,则将允许访问权限数据保存到新的一个控制权限链表区块上,并返回该控制权限链表区块的哈希值。预设联盟区块链在生成控制权限链块的过程同样使用拜占庭容错共识机制。管理员用户可以通过返回的哈希值检测预设控制权限链表上的信息是否被篡改。
在本发明实施例中,通过查询采集器私钥和查询采集器编号与注册用户链表,验证查询采集器是否为合法用户,以及通过控制采集器服务器编号和控制采集器服务器签名与注册用户链表,验证控制采集器服务器是否为合法用户。
若查询采集器以及控制采集器服务器均是合法用户,则判断预设权限链表中是否存在查询采集器和控制采集器服务器对应的权限控制信息,若存在,则将权限控制信息作为查询结果返回。
采集器或服务器在注册时初始身份均被设置为合法用户。当采集器或服务器发生故障或异常时,采集器或服务器也可以被设置为非法用户。
具体地,通过查询采集器私钥和查询采集器编号与注册用户链表,验证查询采集器是否为合法用户的步骤包括:
判断注册用户链表中是否存在与查询采集器编号对应的采集器编号;
若注册用户链表中存在与查询采集器编号对应的采集器编号,则基于查找到的采集器编号判断注册用户链表中是否存在与查询采集器私钥对应的公钥;
若注册用户链表中存在与查询采集器私钥对应的公钥,则确定查询采集器签名验证成功,并判定查询采集器为合法用户;
以及,通过控制采集器服务器编号和控制采集器服务器签名与注册用户链表,验证控制采集器服务器是否为合法用户的步骤包括:
判断注册用户链表中是否存在与控制采集器服务器编号对应的服务器编号;
若注册用户链表中存在与控制采集器服务器对应的服务器编号,则基于查找到的服务器编号判断注册用户链表中是否存在与控制采集器服务器私钥对应的公钥;
若注册用户链表中存在与控制采集器服务器私钥对应的服务器公钥,则确定控制采集器服务器签名验证成功,并判定控制采集器服务器为合法用户。进一步地
进一步地,在确定查询采集器以及控制采集器服务器均为合法用户后,即可在控制权限链表中查找对应的权限控制信息。若在控制权限链表中查找到对应的权限控制信息,则将查找到权限控制信息作为查询结果返回给查询采集器。需要说明的是,如果查询采集器和控制采集器服务器在控制权限链表中存在控制权限信息的话是成对记录在控制权限链表中的,即同时记录有查询采集器的编号和服务器的编号以及权限信息。在本是实施例中主要记录控制采集器服务器控制采集器的权限。
当返回该控制采集器服务器可以控制该查询采集器,则查询采集器执行该控制命令,这样查询采集器就可以执行控制采集器服务器的控制命令,进一步的说,查询采集器能够被控制采集器服务器控制。
若在控制权限链表上不能找到该查询采集器与该控制服务请的控制信息,则可以返回查询结果为空或否,说明该控制采集器服务器的控制命令为恶意控制,查询采集器不能被控制采集器服务器控制,查询采集器不能执行控制采集器服务器的控制命令。进而提高采集器与服务器之间控制关系的安全性。
本申请通过获取注册用户发出的注册请求,注册请求包括注册用户的注册用户编号;注册用户为采集器或服务器;根据注册请求在预设联盟区块链进行注册,并生成与注册用户对应的公钥和私钥返回给注册用户;基于注册用户编号以及公钥生成注册用户链表;获取查询采集器发出的控制权限查询请求,控制权限查询请求是查询采集器,接收到控制采集器服务器的控制命令后发出的,控制权限查询请求包括查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号;基于注册用户链表以及预设控制权限链表,根据查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号,验证查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。这样可以结合预设联盟区块链中存储的注册用户链表以及预设控制权限链表对查询采集器和控制采集器服务器的身份信息以及权限控制信息进行认证,进而提高了采集器和服务器之间命令传输的安全性。
在本实施例的一些可选的实现方式中,如图6所示,在步骤205基于注册用户链表以及预设控制权限链表,根据查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号,验证查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果之前,上述电子设备还可以执行以下步骤:
步骤S301,获取预设管理员发布的控制权限设置信息,控制权限设置信息包括设置采集器编号、设置服务器编号、设置服务器是否可以控制设置采集器数据以及与预设管理员对应的预设管理员签名。
步骤S302,验证预设管理员签名是否正确,若正确,则生成新的控制权限链块,并在预设控制权限链表上发布新的控制权限链块。
具体地,在对查询服务器和控制采集器服务器的身份验证以及控制权限查询之前需要获取到预设管理员发布的控制权限链表,进而得到预设控制权限链表用于验证查询服务器与控制采集器服务器之间的权限控制信息。管理员用户可以删减或增加预设控制权限链表上的控制权限链块,这样可以对注册的合法的采集器和服务器配置对应的控制权限或者对非法的采集器和服务器删除对应的控制权限,从而提高服务器、采集器身份验证以及控制权限验证的安全性。
本申请通过预设管理员可以增加设置预设控制权限链表的内容,进而设置各个采集器与服务器之间的控制权限,提高了服务器与采集器身份认证以及控制权限认证的安全性。
在一些可选的实现方式中,在步骤203基于注册用户编号以及公钥生成注册用户链表之前,上述电子设备可以执行以下步骤:
将注册用户链表同步到注册用户中。
当注册生成注册用户链表后,所有已经注册过的服务器或采集器可以同步该注册用户链表,以便接收到来自服务器或采集器的请求时验证命令以及身份验证是否由已注册的合法用户发出。进而提高采集器和服务器的安全性。
需要强调的是,为进一步保证上述身份信息、控制权限信息的私密和安全性,上述身份信息、控制权限信息还可以存储于预设联盟区块链的节点中。当然,注册用户链表以及预设控制权限链表均遵循预设联盟区块链的存储原则,且存储在预设联盟区块链中。
本申请所指预设联盟区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链存储有数据不可篡改的特点。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
本申请可应用于智慧数据管理领域中,从而推动智慧城市的建设。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机可读指令来指令相关的硬件来完成,该计算机可读指令可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图7,作为对上述图2所示方法的实现,本申请提供了一种基于区块链的身份验证装置的一个实施例,该基于区块链的身份验证装置400实施例与图2所示的方法实施例相对应,该基于区块链的身份验证装置00具体可以应用于各种电子设备中。
如图4所示,本实施例基于区块链的身份验证装置400包括:第一获取模块401、注册模块402、生成模块403、第二获取模块404以及验证模块405。其中:
第一获取模块401,用于获取注册用户发出的注册请求,注册请求包括注册用户的注册用户编号;注册用户为采集器或服务器;
注册模块402,用于根据注册请求在预设联盟区块链进行注册,并生成与注册用户对应的公钥和私钥返回给注册用户;
生成模块403,用于基于注册用户编号以及公钥生成注册用户链表;
第二获取模块404,用于获取查询采集器发出的控制权限查询请求,控制权限查询请求是查询采集器,接收到控制采集器服务器的控制命令后发出的,控制权限查询请求包括查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号;
验证模块405,用于基于注册用户链表以及预设控制权限链表,根据查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号,验证查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。
在本实施例中,通过第一获取模块获取注册用户发出的注册请求,注册请求包括注册用户的注册用户编号;注册用户为采集器或服务器;通过注册模块根据注册请求在预设联盟区块链进行注册,并生成与注册用户对应的公钥和私钥返回给注册用户;通过生成模块基于注册用户编号以及公钥生成注册用户链表;通过第二获取模块获取查询采集器发出的控制权限查询请求,控制权限查询请求是查询采集器,接收到控制采集器服务器的控制命令后发出的,控制权限查询请求包括查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号;以及通过验证模块基于注册用户链表以及预设控制权限链表,根据查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号,验证查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。这样可以结合预设联盟区块链中存储的注册用户链表以及预设控制权限链表对查询采集器和控制采集器服务器的身份信息以及权限控制信息进行认证,进而提高了采集器和服务器之间命令传输的安全性。
在本实施例的一些可选的实现方式中,预设联盟区块链包括多个共识节点,共识节点包括上链节点、主节点和副节点,上链节点为被用户访问后需要发送信息上链的共识节点,副节点为除了上链节点和主节点以外的共识节点;主节点为多个共识节点中的任意一个,且主节点与上链节点不同。生成模块403包括:请求单元、预备单元、准备单元、提交单元、回复单元以及生成单元。其中,
请求单元,用于基于拜占庭容错共识机制,将注册用户编号以及公钥生成上链请求消息,并通过上链节点在预设联盟区块链中全网广播上链请求消息;
预备单元,用于通过主节点将上链请求消息、主节点签名以及目标链块编号生成预备消息,并在预设联盟区块链中全网广播预备消息,目标链块编号为将要生成的注册用户链块的编号;
准备单元,用于通过除了主节点以外的共识节点,分别将接收到的预备消息,与接收到的上链请求消息进行对比,若预备消息与上链请求消息相同,则除了主节点以外的共识节点,均加上自身的签名生成准备消息,并在预设联盟区块链中全网广播准备消息;
提交单元,用于通过除了主节点以外的共识节点,分别判断收到的2f+1条准备消息,是否与自身收到的准备消息一致,若一致,则除了主节点以外的共识节点,均加上自身的签名生成提交消息,并分别在预设联盟区块链中全网广播提交消息;2f+1为副本数量;f为恶意节点或故障节点数量;n为预设联盟区块链的节点总数,n>3f+1,3f+1为最少节点数量;
回复单元,用于当上链节点收到2f+1条提交信息后,通过上链节点在预设联盟区块链中全网广播回复消息,进而完成上链过程,以生成注册用户链块;
生成单元,用于根据注册用户链块生成注册用户链表。
在本发明实施例中,通过请求单元、预备单元、准备单元、提交单元、回复单元以及生成单元得到注册用户链表,这样使得预设联盟区块链可以容忍小于总节点数的1/3个无效或者恶意节点,保障了预设联盟区块链内信息的准确性。
在本实施例的一些可选的实现方式中,注册用户链表包括多个注册用户链块,每个注册用户链块均包括注册用户链块头以及注册用户链块信息,注册用户链块头包括上一注册用户链块的哈希值、当前时间戳、本注册用户链块的哈希值,注册用户链块信息包括注册用户编号和与注册用户编号对应的公钥;
预设控制权限链表为预设管理员用户预先设置的,预设控制权限链表包括多个控制权限链块,每个控制权限链块均包括控制权限链块头以及控制权限链块信息,控制权限链块头包括上一控制权限链块的哈希值、当前时间戳、本控制权限链块的哈希值,控制权限链块信息包括采集器编号、服务器编号以及服务器是否有权限控制采集器信息。
在本发明实施例中可以保证注册用户链表以及预设控制权限链表的不可篡改性,提高数据存储的安全性。
在本实施例的一些可选的实现方式中,查询采集器签名包括查询采集器私钥,控制采集器服务器签名包括控制采集器服务器私钥;验证模块405具体包括:查询单元以及验证单元。其中,
查询单元,用于通过查询采集器私钥和查询采集器编号与注册用户链表,验证查询采集器是否为合法用户,以及通过控制采集器服务器编号和控制采集器服务器签名与注册用户链表,验证控制采集器服务器是否为合法用户;
验证单元,若查询采集器以及控制采集器服务器均是合法用户,则判断预设权限链表中是否存在查询采集器和控制采集器服务器对应的权限控制信息,若存在,则将权限控制信息作为查询结果返回。
在本发明实施例中,通过查询单元查询采集器和服务器的身份信息,并通过验证单元对采集器与服务器之间的权限控制信息进行验证,从而确定采集器与服务器之间的控制关系,进一步提高采集器与服务器之间控制关系的安全性。
在本实施例的一些可选的实现方式中,验证单元还包括:
第一判断子单元,用于判断注册用户链表中是否存在与查询采集器编号对应的采集器编号;
第二判断子单元,用于若注册用户链表中存在与查询采集器编号对应的采集器编号,则基于查找到的采集器编号判断注册用户链表中是否存在与查询采集器私钥对应的公钥;
第三判断子单元,用于若注册用户链表中存在与查询采集器私钥对应的公钥,则确定查询采集器签名验证成功,并判定查询采集器为合法用户;
以及,第四判断子单元,用于通过控制采集器服务器编号和控制采集器服务器签名与注册用户链表,验证控制采集器服务器是否为合法用户的步骤包括:
第五判断子单元,用于判断注册用户链表中是否存在与控制采集器服务器编号对应的服务器编号;
第六判断子单元,用于若注册用户链表中存在与控制采集器服务器对应的服务器编号,则基于查找到的服务器编号判断注册用户链表中是否存在与控制采集器服务器私钥对应的公钥;
第七判断子单元,用于若注册用户链表中存在与控制采集器服务器私钥对应的服务器公钥,则确定控制采集器服务器签名验证成功,并判定控制采集器服务器为合法用户。
在本实施例的一些可选的实现方式中,如图8所示,在验证模块405之前,基于区块链的身份验证装置400还包括:第三获取模块406以及发布模块407。其中,
第三获取模块406,用于获取预设管理员发布的控制权限设置信息,控制权限设置信息包括设置采集器编号、设置服务器编号、设置服务器是否可以控制设置采集器数据以及与预设管理员对应的预设管理员签名;
发布模块407,用于验证预设管理员签名是否正确,若正确,则生成新的控制权限链块,并在预设控制权限链表上发布新的控制权限链块。
在本发明实施例中,通过第三获取模块406以及发布模块407对注册的合法的采集器和服务器配置对应的控制权限或者对非法的采集器和服务器删除对应的控制权限,得到预设控制权限链表,从而提高服务器、采集器身份验证以及控制权限验证的安全性。
在本实施例的一些可选的实现方式中,在生成模块之后,基于区块链的身份验证装置400还包括:同步模块。
同步模块,用于将注册用户链表同步到注册用户中。
在本发明实施例中,通过同步模块对所有已经注册过的服务器或采集器同步该注册用户链表,以便接收到来自服务器或采集器的请求时验证命令以及身份验证是否由已注册的合法用户发出。进而提高采集器和服务器的安全性。
在本实施例的一些可选的实现方式中,注册用户链表以及预设控制权限链表均遵循预设联盟区块链的存储原则,且存储在预设联盟区块链中。保证注册用户链表和链表以及预设控制权限链表的不可篡改性,提高数据的安全性。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图9,图9为本实施例计算机设备基本结构框图。
计算机设备5包括通过系统总线相互通信连接存储器51、处理器52、网络接口53。需要指出的是,图中仅示出了具有组件51-53的计算机设备5,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
存储器51至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器51可以是计算机设备5的内部存储单元,例如该计算机设备5的硬盘或内存。在另一些实施例中,存储器61也可以是计算机设备5的外部存储设备,例如该计算机设备5上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器51还可以既包括计算机设备5的内部存储单元也包括其外部存储设备。本实施例中,存储器51通常用于存储安装于计算机设备5的操作系统和各类应用软件,例如基于区块链的身份验证方法的计算机可读指令等。此外,存储器51还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器52在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器52通常用于控制计算机设备5的总体操作。本实施例中,处理器52用于运行存储器51中存储的计算机可读指令或者处理数据,例如运行基于区块链的身份验证方法的计算机可读指令。
网络接口53可包括无线网络接口或有线网络接口,该网络接口53通常用于在计算机设备5与其他电子设备之间建立通信连接。
进而提高了采集器和服务器之前命令传输的安全性。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可读指令,计算机可读指令可被至少一个处理器执行,以使至少一个处理器执行如上述的基于区块链的身份验证方法的步骤。
进而提高了采集器和服务器之前命令传输的安全性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。

Claims (10)

1.一种基于区块链的身份验证方法,其特征在于,包括下述步骤:
获取注册用户发出的注册请求,所述注册请求包括所述注册用户的注册用户编号;所述注册用户为采集器或服务器;
根据所述注册请求在预设联盟区块链进行注册,并生成与所述注册用户对应的公钥和私钥返回给所述注册用户;
基于所述注册用户编号以及所述公钥生成注册用户链表;
获取查询采集器发出的控制权限查询请求,所述控制权限查询请求是所述查询采集器,接收到控制采集器服务器的控制命令后发出的,所述控制权限查询请求包括查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号;
基于所述注册用户链表以及预设控制权限链表,根据所述查询采集器签名和所述查询采集器编号,以及所述控制采集器服务器签名和所述控制采集器服务器编号,验证所述查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。
2.根据权利要求1所述的基于区块链的身份验证方法,其特征在于,所述预设联盟区块链包括多个共识节点,所述共识节点包括上链节点、主节点和副节点,所述上链节点为被用户访问后需要发送信息上链的共识节点,所述副节点为除了所述上链节点和所述主节点以外的共识节点;所述基于所述注册用户编号以及所述公钥生成注册用户链表的步骤包括:
基于拜占庭容错共识机制,将所述注册用户编号以及所述公钥生成上链请求消息,并通过所述上链节点在预设联盟区块链中全网广播上链请求消息;
通过所述主节点将所述上链请求消息、主节点签名以及目标链块编号生成预备消息,并在所述预设联盟区块链中全网广播所述预备消息,所述目标链块编号为将要生成的注册用户链块的编号;
通过除了主节点以外的共识节点,分别将接收到的所述预备消息,与接收到的所述上链请求消息进行对比,若所述预备消息与所述上链请求消息相同,则除了主节点以外的共识节点,均加上自身的签名生成准备消息,并在所述预设联盟区块链中全网广播所述准备消息;
通过除了主节点以外的共识节点,分别判断收到的2f+1条准备消息,是否与自身收到的准备消息一致,若一致,则除了主节点以外的共识节点,均加上自身的签名生成提交消息,并分别在预设联盟区块链中全网广播所述提交消息;所述2f+1为副本数量;所述f为恶意节点或故障节点数量;所述n为预设联盟区块链的节点总数,n>3f+1,3f+1为最少节点数量;
当上链节点收到2f+1条提交信息后,通过上链节点在预设联盟区块链中全网广播回复消息,进而完成上链过程,以生成注册用户链块;
根据所述注册用户链块生成所述注册用户链表。
3.根据权利要求2所述的基于区块链的身份验证方法,其特征在于,所述注册用户链表包括多个注册用户链块,每个注册用户链块均包括注册用户链块头以及注册用户链块信息,所述注册用户链块头包括上一注册用户链块的哈希值、当前时间戳、本注册用户链块的哈希值,所述注册用户链块信息包括注册用户编号和与所述注册用户编号对应的公钥;
所述预设控制权限链表为预设管理员用户预先设置的,所述预设控制权限链表包括多个控制权限链块,每个控制权限链块均包括控制权限链块头以及控制权限链块信息,所述控制权限链块头包括上一控制权限链块的哈希值、当前时间戳、本控制权限链块的哈希值,所述控制权限链块信息包括采集器编号、服务器编号以及服务器是否有权限控制采集器信息。
4.根据权利要求1所述的基于区块链的身份验证方法,其特征在于,所述查询采集器签名包括所述查询采集器私钥,所述控制采集器服务器签名包括所述控制采集器服务器私钥;所述基于所述注册用户链表以及预设控制权限链表,根据所述查询采集器签名和所述查询采集器编号,以及所述控制采集器服务器签名和所述控制采集器服务器编号,验证所述查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果的步骤具体包括:
通过所述查询采集器私钥和所述查询采集器编号与所述注册用户链表验证所述查询采集器是否为合法用户,以及通过所述控制采集器服务器编号和所述控制采集器服务器签名与所述注册用户链表,验证所述控制采集器服务器是否为合法用户;
若所述查询采集器以及所述控制采集器服务器均是合法用户,则判断所述预设权限链表中是否存在所述查询采集器和所述控制采集器服务器对应的权限控制信息,若存在,则将所述权限控制信息作为查询结果返回。
5.根据权利要求4所述的基于区块链的身份验证方法,其特征在于,所述通过所述查询采集器私钥和所述查询采集器编号与所述注册用户链表,验证所述查询采集器是否为合法用户的步骤包括:
判断所述注册用户链表中是否存在与所述查询采集器编号对应的采集器编号;
若所述注册用户链表中存在与所述查询采集器编号对应的采集器编号,则基于查找到的采集器编号判断所述注册用户链表中是否存在与所述查询采集器私钥对应的公钥;
若所述注册用户链表中存在与所述查询采集器私钥对应的公钥,则确定所述查询采集器签名验证成功,并判定所述查询采集器为合法用户;
以及,所述通过所述控制采集器服务器编号和所述控制采集器服务器签名与所述注册用户链表,验证所述控制采集器服务器是否为合法用户的步骤包括:
判断所述注册用户链表中是否存在与所述控制采集器服务器编号对应的服务器编号;
若所述注册用户链表中存在与所述控制采集器服务器对应的服务器编号,则基于查找到的服务器编号判断所述注册用户链表中是否存在与所述控制采集器服务器私钥对应的公钥;
若所述注册用户链表中存在与所述控制采集器服务器私钥对应的服务器公钥,则确定所述控制采集器服务器签名验证成功,并判定所述控制采集器服务器为合法用户。
6.根据权利要求1所述的基于区块链的身份验证方法,其特征在于,在所述基于所述注册用户链表以及预设控制权限链表,根据所述查询采集器签名和所述查询采集器编号,以及所述控制采集器服务器签名和所述控制采集器服务器编号,验证所述查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果的步骤之前,所述方法还包括:
获取预设管理员发布的控制权限设置信息,所述控制权限设置信息包括设置采集器编号、设置服务器编号、设置服务器是否可以控制设置采集器数据以及与所述预设管理员对应的预设管理员签名;
验证所述预设管理员签名是否正确,若正确,则生成新的控制权限链块,并在预设控制权限链表上发布新的控制权限链块。
7.根据权利要求1所述的基于区块链的身份验证方法,其特征在于,在所述基于所述注册用户编号以及所述公钥生成注册用户链表的步骤之后还包括:
将所述注册用户链表同步到所述注册用户中。
8.一种基于区块链的身份验证装置,其特征在于,所述装置包括:
第一获取模块,用于获取注册用户发出的注册请求,所述注册请求包括所述注册用户的注册用户编号;所述注册用户为采集器或服务器;
注册模块,用于根据所述注册请求在预设联盟区块链进行注册,并生成与所述注册用户对应的公钥和私钥返回给所述注册用户;
生成模块,用于基于所述注册用户编号以及所述公钥生成注册用户链表;
第二获取模块,用于获取查询采集器发出的控制权限查询请求,所述控制权限查询请求是所述查询采集器,接收到控制采集器服务器的控制命令后发出的,所述控制权限查询请求包括查询采集器签名和查询采集器编号,以及控制采集器服务器签名和控制采集器服务器编号;
验证模块,用于基于所述注册用户链表以及预设控制权限链表,根据所述查询采集器签名和所述查询采集器编号,以及所述控制采集器服务器签名和所述控制采集器服务器编号,验证所述查询采集器和控制采集器服务器的身份信息以及权限控制信息,并返回查询结果。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的基于区块链的身份验证方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的基于区块链的身份验证方法的步骤。
CN202111442458.9A 2021-11-30 2021-11-30 一种基于区块链的身份验证方法、装置及计算机设备 Pending CN114329419A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111442458.9A CN114329419A (zh) 2021-11-30 2021-11-30 一种基于区块链的身份验证方法、装置及计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111442458.9A CN114329419A (zh) 2021-11-30 2021-11-30 一种基于区块链的身份验证方法、装置及计算机设备

Publications (1)

Publication Number Publication Date
CN114329419A true CN114329419A (zh) 2022-04-12

Family

ID=81048301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111442458.9A Pending CN114329419A (zh) 2021-11-30 2021-11-30 一种基于区块链的身份验证方法、装置及计算机设备

Country Status (1)

Country Link
CN (1) CN114329419A (zh)

Similar Documents

Publication Publication Date Title
CN109257342B (zh) 区块链跨链的认证方法、系统、服务器及可读存储介质
US11349674B2 (en) Digital certificate management method and apparatus, computer device, and storage medium
CN110958118B (zh) 证书认证管理方法、装置、设备及计算机可读存储介质
CN110582775B (zh) 利用utxo基础协议基于区块链管理文件的方法及利用其的文件管理服务器
CN111163182B (zh) 基于区块链的设备注册方法、装置、电子设备和存储介质
CN108769230B (zh) 交易数据存储方法、装置、服务器及存储介质
CN109257334B (zh) 一种基于区块链的数据上链系统、方法及存储介质
CN106790156B (zh) 一种智能设备绑定方法及装置
CN110177124B (zh) 基于区块链的身份认证方法及相关设备
TW201405459A (zh) 登錄驗證方法、客戶端、伺服器及系統
CN109861996B (zh) 基于区块链的关系证明方法、装置、设备及存储介质
EP3598333B1 (en) Electronic device update management
CN111625869A (zh) 数据处理方法及数据处理装置
CN112347521A (zh) 一种基于医疗区块链的医疗数据管理方法及系统
CN104539434A (zh) 基于时间戳和gps定位的电子签章系统及方法
CN112738253A (zh) 基于区块链的数据处理方法、装置、设备及存储介质
Abraham et al. Qualified eID derivation into a distributed ledger based IdM system
CN112311779B (zh) 应用于区块链系统的数据访问控制方法及装置
CN103684797A (zh) 用户和用户终端设备的关联认证方法及系统
CN111339551B (zh) 数据的验证方法及相关装置、设备
CN111541657A (zh) 一种基于区块链的安全位置验证方法
US20190052632A1 (en) Authentication system, method and non-transitory computer-readable storage medium
CN107342869B (zh) 基于智能终端的可信点名方法及其系统
CN111241188A (zh) 区块链网络中的共识方法、节点及存储介质
WO2021143028A1 (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