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

基于区块链的身份认证方法、装置、设备及可读存储介质

文献发布时间:2023-06-19 12:19:35


基于区块链的身份认证方法、装置、设备及可读存储介质

技术领域

本发明涉及数据交互技术领域,尤其涉及一种基于区块链的身份认证方法、装置、设备及可读存储介质。

背景技术

目前,常用的身份认证系统采用单向核对式进行认证,系统为每一个用户建立一个配对的用户账号和密码。当用户登录系统时,提示用户输入自己的用户账号和密码,系统通过核对用户输入的用户账号、密码与系统内用户的用户账号及密码是否匹配来进行身份验证。

然而,这种认证方式存在用户信息安全缺陷,当作弊软件根据用户的真实账号创建虚假用户账号,并利用虚假用户账号通过身份认证系统的身份认证进而盗取用户信息,进一步地,由于数字密码容易被破解,当用户账号泄露后,攻击者可通过窃听通信信道或进行网络窥探获得用户账号对应的密码,对用户造成极大损失。

发明内容

本发明的主要目的在于提供一种基于区块链的身份认证方法、装置、设备及可读存储介质,旨在提高身份认证结果的可靠性及用户进行身份认证时用户信息的安全性。

为实现上述目的,本发明提供一种基于区块链的身份认证方法,所述基于区块链的身份认证方法包括以下步骤:

在接收到第三方服务端发送的身份认证请求时,从所述身份认证请求中提取身份标识;

根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证;

确定所述身份凭证对应的凭证信息;

根据所述凭证信息对所述身份凭证进行身份认证,并将身份认证结果反馈至所述第三方服务端。

可选地,所述凭证信息包括凭证签名信息;

所述根据所述凭证信息对所述身份凭证进行身份认证,并将身份认证结果反馈至所述第三方服务端的步骤包括:

获取所述身份凭证对应的凭证签名信息;

判断预设凭证签名列表中是否包含所述凭证签名信息;

若预设凭证签名列表中包含所述凭证签名信息,则判定凭证签名信息认证通过,并将所述凭证签名信息认证通过结果反馈至所述第三方服务端。

可选地,所述判定凭证签名信息认证通过的步骤之后,还包括:

基于凭证吊销地址获取所述身份凭证对应的凭证吊销结果,并将所述凭证吊销结果反馈至所述第三方服务端。

可选地,所述根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证的步骤之前,还包括:

从所述身份认证请求中提取用户终端标识及身份认证密文数据;

根据所述身份认证密文信息及所述用户终端标识对所述第三方服务端进行权限验证。

可选地,所述根据所述身份认证密文信息及所述用户终端标识对所述第三方服务端进行权限验证的步骤包括:

获取所述用户终端标识匹配的私钥;

根据所述私钥对所述身份认证密文数据进行解密,以获取解密数据;

发送所述解密数据至所述第三方服务端进行验证,并在接收所述第三方服务端反馈的验证成功信息时,判定所述第三方服务端通过权限验证。

可选地,所述从所述身份认证请求中提取用户终端标识及身份认证密文数据的步骤之前,还包括:

第三方服务端接收到用户终端发送的身份登录请求时,从所述身份登录请求中提取身份标识及所述用户终端对应的用户终端标识;

根据所述身份标识在区块链存储节点中查找公钥,并根据所述公钥加密预设随机数,以生成身份认证密文数据;

根据所述身份标识、用户终端标识及身份认证密文数据生成身份认证请求。

可选地,所述根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证的步骤之前,还包括:

接收到用户终端发送的创建请求时,从所述创建请求中提取用户信息及用户终端标识;

创建身份凭证数据库,并根据所述用户信息生成所述身份凭证数据库对应的身份标识;

生成所述用户终端标识对应的私钥,并生成所述私钥匹配的公钥;

将所述公钥、身份凭证数据库及身份标识存储至区块链存储节点。

可选地,所述根据所述用户信息生成所述身份凭证数据库对应的身份标识的步骤之后,还包括:

发送所述身份标识至所述用户终端。

可选地,所述将所述公钥、身份凭证数据库及身份标识存储至区块链存储节点的步骤之后,还包括:

接收到身份凭证存储请求时,从所述身份凭证存储请求中提取身份凭证及身份标识;

根据所述身份标识在在区块链存储节点中查找所述身份凭证存储请求对应的身份凭证数据库,并将所述身份凭证存储至所述身份凭证数据库中。

可选地,所述将所述身份凭证存储至所述身份凭证数据库中的步骤之后,还包括:

接收到身份凭证更新请求时,从所述身份凭证更新请求中提取身份凭证更新信息及身份标识,其中,所述身份凭证更新信息包括原始身份凭证及目标身份凭证;

根据所述身份标识在区块链存储节点中查找所述身份凭证更新请求对应的身份凭证数据库;

删除所述身份凭证数据库中存储的所述原始身份凭证,并将所述目标身份凭证存储至所述身份凭证数据库中。

可选地,所述接收到第三方服务端发送的身份认证请求的步骤之后,还包括:

接收到第三方服务端发送的身份认证请求时,确定所述第三方服务端对应的终端信息;

判断黑名单列表中是否包括所述第三方服务端对应的终端信息;

若黑名单列表中不包括所述第三方服务端对应的终端信息,则响应所述第三方服务端发送的身份认证请求。

进一步地,为实现上述目的,本发明还提供一种基于区块链的身份认证装置,所述基于区块链的身份认证装置包括:

第一提取模块,用于在接收到第三方服务端发送的身份认证请求时,从所述身份认证请求中提取身份标识;

查找模块,用于根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证;

第一确定模块,用于确定所述身份凭证对应的凭证信息;

反馈模块,用于根据所述凭证信息对所述身份凭证进行身份认证,并将身份认证结果反馈至所述第三方服务端。

可选地,所述反馈模块包括:

第一获取单元,用于获取所述身份凭证对应的凭证签名信息;

判断单元,用于判断预设凭证签名列表中是否包含所述凭证签名信息;

第一反馈单元,用于若预设凭证签名列表中包含所述凭证签名信息,则判定凭证签名信息认证通过,并将所述凭证签名信息认证通过结果反馈至所述第三方服务端。

可选地,所述反馈模块还包括:

第二反馈单元,用于第二基于凭证吊销地址获取所述身份凭证对应的凭证吊销结果,并将所述凭证吊销结果反馈至所述第三方服务端。

可选地,所述基于区块链的身份认证装置还包括:

第二提取模块,用于从所述身份认证请求中提取用户终端标识及身份认证密文数据;

验证模块,用于根据所述身份认证密文信息及所述用户终端标识对所述第三方服务端进行权限验证。

可选地,所述验证模块包括:

第二获取单元,用于获取所述用户终端标识匹配的私钥;

解密单元,用于根据所述私钥对所述身份认证密文数据进行解密,以获取解密数据;

验证单元,用于发送所述解密数据至所述第三方服务端进行验证,并在接收所述第三方服务端反馈的验证成功信息时,判定所述第三方服务端通过权限验证。

可选地,所述基于区块链的身份认证装置还包括:

第三提取模块,用于接收到用户终端发送的创建请求时,从所述创建请求中提取用户信息及用户终端标识;

创建模块,用于创建身份凭证数据库,并根据所述用户信息生成所述身份凭证数据库对应的身份标识;

生成模块,用于生成所述用户终端标识对应的私钥,并生成所述私钥匹配的公钥;

存储模块,用于将所述公钥、身份凭证数据库及身份标识存储至区块链存储节点。

可选地,所述基于区块链的身份认证装置还包括:

第二确定模块,用于接收到第三方服务端发送的身份认证请求时,确定所述第三方服务端对应的终端信息;

判断模块,用于判断黑名单列表中是否包括所述第三方服务端对应的终端信息;

响应模块,用于若黑名单列表中不包括所述第三方服务端对应的终端信息,则响应所述第三方服务端发送的身份认证请求。

进一步地,为实现上述目的,本发明还提供一种基于区块链的身份认证设备,所述基于区块链的身份认证设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于区块链的身份认证程序,所述基于区块链的身份认证程序被所述处理器执行时实现如上述所述的基于区块链的身份认证方法的步骤。

进一步地,为实现上述目的,本发明还提供一种可读存储介质,所述可读存储介质上存储有基于区块链的身份认证程序,所述基于区块链的身份认证程序被处理器执行时实现如上所述的基于区块链的身份认证方法的步骤。

本发明通过在接收到第三方服务端发送的身份认证请求时,从所述身份认证请求中提取身份标识;根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证;确定所述身份凭证对应的凭证信息;根据所述凭证信息对所述身份凭证进行身份认证,并将身份认证结果反馈至所述第三方服务端,本发明的基于区块链的身份认证平台通过在区块链存储节点中查找身份认证请求对应的身份凭证来进行身份认证,提高了身份认证结果的可靠性,且本发明采用双向核对式进行认证,与现有技术中采用单向核对式进行认证的技术相比,攻击者无法在用户进行身份认证时盗取用户账号信息,提高用户进行身份认证时用户信息的安全性。

附图说明

图1为本发明基于区块链的身份认证设备实施例方案涉及的硬件运行环境的结构示意图;

图2为本发明基于区块链的身份认证方法第一实施例的流程示意图;

图3为本发明第一实施例的基于区块链的身份认证平台的一场景示意图;

图4为本发明基于区块链的身份认证方法第二实施例的流程示意图;

图5为本发明基于区块链的身份认证装置一实施例的功能模块示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本发明提供一种基于区块链的身份认证设备,参照图1,图1为本发明基于区块链的身份认证设备实施例方案涉及的硬件运行环境的结构示意图。

如图1所示,该基于区块链的身份认证设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003 还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储基于区块链的身份认证设备。

本领域技术人员可以理解,图1中示出的基于区块链的身份认证设备的硬件结构并不构成对基于区块链的身份认证设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于区块链的身份认证程序。其中,操作系统是管理和控制基于区块链的身份认证设备的硬件与软件资源的程序,支持网络通信模块、用户接口模块、基于区块链的身份认证程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1004;用户接口模块用于管理和控制用户接口1003。

在图1所示的基于区块链的身份认证设备硬件结构中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:

在接收到第三方服务端发送的身份认证请求时,从所述身份认证请求中提取身份标识;

根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证;

确定所述身份凭证对应的凭证信息;

根据所述凭证信息对所述身份凭证进行身份认证,并将身份认证结果反馈至所述第三方服务端。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:

获取所述身份凭证对应的凭证签名信息;

判断预设凭证签名列表中是否包含所述凭证签名信息;

若预设凭证签名列表中包含所述凭证签名信息,则判定凭证签名信息认证通过,并将所述凭证签名信息认证通过结果反馈至所述第三方服务端。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:

基于凭证吊销地址获取所述身份凭证对应的凭证吊销结果,并将所述凭证吊销结果反馈至所述第三方服务端。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:

从所述身份认证请求中提取用户终端标识及身份认证密文数据;

根据所述身份认证密文信息及所述用户终端标识对所述第三方服务端进行权限验证。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:

获取所述用户终端标识匹配的私钥;

根据所述私钥对所述身份认证密文数据进行解密,以获取解密数据;

发送所述解密数据至所述第三方服务端进行验证,并在接收所述第三方服务端反馈的验证成功信息时,判定所述第三方服务端通过权限验证。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:

第三方服务端接收到用户终端发送的身份登录请求时,从所述身份登录请求中提取身份标识及所述用户终端对应的用户终端标识;

根据所述身份标识在区块链存储节点中查找公钥,并根据所述公钥加密预设随机数,以生成身份认证密文数据;

根据所述身份标识、用户终端标识及身份认证密文数据生成身份认证请求。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:

接收到用户终端发送的创建请求时,从所述创建请求中提取用户信息及用户终端标识;

创建身份凭证数据库,并根据所述用户信息生成所述身份凭证数据库对应的身份标识;

生成所述用户终端标识对应的私钥,并生成所述私钥匹配的公钥;

将所述公钥、身份凭证数据库及身份标识存储至区块链存储节点。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:发送所述身份标识至所述用户终端。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:接收到身份凭证存储请求时,从所述身份凭证存储请求中提取身份凭证及身份标识;

根据所述身份标识在在区块链存储节点中查找所述身份凭证存储请求对应的身份凭证数据库,并将所述身份凭证存储至所述身份凭证数据库中。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:

接收到身份凭证更新请求时,从所述身份凭证更新请求中提取身份凭证更新信息及身份标识,其中,所述身份凭证更新信息包括原始身份凭证及目标身份凭证;

根据所述身份标识在区块链存储节点中查找所述身份凭证更新请求对应的身份凭证数据库;

删除所述身份凭证数据库中存储的所述原始身份凭证,并将所述目标身份凭证存储至所述身份凭证数据库中。

进一步地,所述处理器1001可以调用存储器1005中存储的基于区块链的身份认证程序,并执行以下操作:

接收到第三方服务端发送的身份认证请求时,确定所述第三方服务端对应的终端信息;

判断黑名单列表中是否包括所述第三方服务端对应的终端信息;

若黑名单列表中不包括所述第三方服务端对应的终端信息,则响应所述第三方服务端发送的身份认证请求。

本发明还提供一种基于区块链的身份认证方法。

参照图2,图2为本发明基于区块链的身份认证方法第一实施例的流程示意图。

本发明实施例提供了基于区块链的身份认证方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。具体地,本实施例基于区块链的身份认证方法包括:

步骤S10,在接收到第三方服务端发送的身份认证请求时,从所述身份认证请求中提取身份标识;

本实施例中,基于区块链的身份认证方法应用于一基于区块链的身份认证平台,需要说明的是,目前用户在通过用户终端登录需要进行身份认证的第三方服务器时,用户会直接在第三方服务器中输入自己的用户账号和密码,然而攻击者可通过对第三方服务器进行网络窥探获得用户账号及用户账号对应的密码,因此本发明方法为了解决上述问题,提出一种基于区块链的身份认证平台来提高用户进行身份认证时用户信息的安全性。

参考图3,图3为本实施例中基于区块链的身份认证平台的一场景示意图,具体地,本实施例中基于区块链的身份认证平台与第三方服务器及用户终端之间均建立通信连接,进一步地,本实施例中,目前用户在通过用户终端登录需要进行身份认证的第三方服务器时,用户不会直接输入自己的用户账号和密码,而是通过用户终端向第三方服务器发送身份登录请求,第三方服务器根据用户终端发送的身份登录请求向基于区块链的身份认证平台发送相应的身份认证请求来通过基于区块链的身份认证平台进行身份认证,由此基于区块链的身份认证平台实现双向核对式进行认证,与采用单向核对式进行认证的现有技术相比,攻击者无法在用户进行身份认证时盗取用户账号信息,提高用户进行身份认证时用户信息的安全性。

具体地,该步骤中,在接收到第三方服务端发送的身份认证请求时,从身份认证请求中提取身份标识,需要说明的是,本实施例中,用户通过用户终端登录向第三方服务器输入可表征用户身份信息的身份标识来触发身份登录请求,第三方服务器在检测到身份登录请求后,从身份登录请求中提取身份标识,并获取该身份登录请求对应的用户终端标识,以根据用户终端标识及身份标识生成身份认证请求,并将身份认证请求发送至基于区块链的身份认证平台,以通过基于区块链的身份认证平台进行身份认证。

进一步地,步骤S10中接收到第三方服务端发送的身份认证请求的步骤之后,还包括:

步骤S101,接收到第三方服务端发送的身份认证请求时,确定所述第三方服务端对应的终端信息;

步骤S102,判断黑名单列表中是否包括所述第三方服务端对应的终端信息;

步骤S103,若黑名单列表中不包括所述第三方服务端对应的终端信息,则响应所述第三方服务端发送的身份认证请求。

可以理解地,在接收到第三方服务端发送的身份认证请求后,可先检测第三方服务端是否安全,比如,确定第三方服务端对应的终端信息(如终端 ID或IP地址信息等),并检测黑名单列表中是否包括第三方服务端对应的终端信息,本实施例中,黑名单列表包括虚假服务端及在通过基于区块链的身份认证平台进行身份认证时存在被攻击者进行网络窥探的服务端等全部不安全服务器对应的终端信息,若黑名单列表中不包括第三方服务端对应的终端信息,则判定该第三方服务端安全,并响应第三方服务端发送的身份认证请求。

步骤S20,根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证;

该步骤中,参考图3,用户的身份信息存储至基于区块链的身份认证平台中,以支持基于区块链的身份认证平台的身份认证,具体地,用户的身份信息(比如身份凭证)存储至基于区块链的身份认证平台的区块链存储节点中,避免了用户的身份信息作假的可能,且保证了用户的身份信息的可查及可溯源等,进一步地,各个用户拥有各自的身份标识,且用户的身份标识与用户对应的身份凭证关联存储至区块链存储节点中,需要说明的是,由于用户的身份凭证数例量可能为多个,因此本实施中,为了便于用户的身份凭证管理,将用户的身份凭证存储至用户对应的身份凭证数据库中,并关联用户的身份标识与用户对应的身份凭证数据库。

步骤S30,确定所述身份凭证对应的凭证信息;

步骤S40,根据所述凭证信息对所述身份凭证进行身份认证,并将身份认证结果反馈至所述第三方服务端。

在从区块链存储节点中查找身份标识对应的身份凭证之后,对身份凭证进行解析以确定身份凭证对应的凭证信息,比如身份凭证对应的凭证签名信息、凭证吊销地址等信息,以根据凭证信息对身份凭证进行身份认证。

具体地,步骤S40中凭证信息包括凭证签名信息;所述根据所述凭证信息对所述身份凭证进行身份认证,并将身份认证结果反馈至所述第三方服务端的步骤包括:

步骤S401,获取所述身份凭证对应的凭证签名信息;

步骤S402,判断预设凭证签名列表中是否包含所述凭证签名信息;

步骤S403,若预设凭证签名列表中包含所述凭证签名信息,则判定凭证签名信息认证通过,并将所述凭证签名信息认证通过结果反馈至所述第三方服务端。

该步骤中,需要说明的是,由于身份注册终端在生成身份凭证时会在身份凭证中加入可表征身份注册终端身份的标识信息,即身份注册终端的凭证签名信息,因此对身份凭证进行解析即可获取身份凭证对应的凭证签名信息,接着在判断预设凭证签名列表中是否包含凭证签名信息,其中,预设凭证签名列表为合法身份注册终端或合法身份凭证对应的凭证签名信息,即根据凭证签名信息判断身份凭证或身份凭证对应的身份注册终端是否合法,若预设凭证签名列表中包含凭证签名信息,则判定凭证签名信息认证通过,并将凭证签名信息认证通过结果反馈至第三方服务端,若预设凭证签名列表中不包含凭证签名信息,则判定凭证签名信息认证不通过,并将凭证签名信息认证不通过结果反馈至第三方服务端。

进一步地,步骤S403中判定凭证签名信息认证通过的步骤之后,还包括:

步骤S404,基于凭证吊销地址获取所述身份凭证对应的凭证吊销结果,并将所述凭证吊销结果反馈至所述第三方服务端。

该步骤中,需要说明的是,由于身份注册终端在生成身份凭证时会将凭证吊销地址与身份凭证关联,以供基于区块链的身份认证平台根据凭证吊销地址对身份凭证的有效期进行验证,因此,在对身份凭证进行解析即可获取身份凭证对应的凭证吊销地址,接着根据凭证吊销地址查询身份凭证是否被吊销(即是否处于有效期内),若根据凭证吊销地址查询身份凭证未被吊销,则将身份凭证有效反馈至第三方服务端,若根据凭证吊销地址查询身份凭证已被吊销,则将身份凭证无效反馈至第三方服务端。

进一步地,步骤S40之前,还包括:

步骤S50,从所述身份认证请求中提取用户终端标识及身份认证密文数据;

步骤S60,根据所述身份认证密文信息及所述用户终端标识对所述第三方服务端进行权限验证。

该步骤中,在将根据凭证信息对身份凭证进行身份认证之前,还需对第三方服务端进行权限验证,其中需要说明的是,本实施例中,用户通过用户终端登录向第三方服务器输入可表征用户身份信息的身份标识来触发身份登录请求,第三方服务器在检测到身份登录请求后,从身份登录请求中提取身份标识,并获取该身份登录请求对应的用户终端标识,进一步地,第三方服务器在从身份登录请求中提取身份标识之后,第三方服务器可在区块链存储节点中查找该身份标识对应的公钥,第三方服务器根据公钥生成对的身份认证密文数据,并根据用户终端标识及身份认证密文数据生成身份认证请求。

因此本实施例中,基于区块链的身份认证平台在接收到身份认证请求后,可从身份认证请求中提取用户终端标识及身份认证密文数据,并根据身份认证密文信息及用户终端标识对第三方服务端进行权限验证。

具体地,所述从所述身份认证请求中提取用户终端标识及身份认证密文数据的步骤之前,还包括:

步骤S501,第三方服务端接收到用户终端发送的身份登录请求时,从所述身份登录请求中提取身份标识及所述用户终端对应的用户终端标识;

步骤S502,根据所述身份标识在区块链存储节点中查找公钥,并根据所述公钥加密预设随机数,以生成身份认证密文数据;

步骤S503,根据所述身份标识、用户终端标识及身份认证密文数据生成身份认证请求。

需要说明的时,本实施例中,身份标识用于表征用户身份信息,用户终端的身份标识对应唯一私钥及与私钥匹配的至少一个公钥,本实施例中将私钥发送至用户终端进行保存,将公钥存储至区块链存储节点,以供基于区块链的身份认证平台根据身份标识在区块链存储节点中获取公钥。

该步骤中,第三方服务端接收到用户终端发送的身份登录请求时,从身份登录请求中提取身份标识及用户终端对应的用户终端标识,第三方服务端根据身份标识在区块链存储节点中查找公钥,并根据公钥加密预设随机数,以生成身份认证密文数据,最后根据身份标识、用户终端标识及身份认证密文数据生成身份认证请求。

进一步地,步骤S60根据所述身份认证密文信息及所述用户终端标识对所述第三方服务端进行权限验证的步骤包括:

步骤S601,获取所述用户终端标识匹配的私钥;

步骤S602,根据所述私钥对所述身份认证密文数据进行解密,以获取解密数据;

步骤S603,发送所述解密数据至所述第三方服务端进行验证,并在接收所述第三方服务端反馈的验证成功信息时,判定所述第三方服务端通过权限验证。

该步骤中,获取用户终端标识匹配的私钥之后,对第三方服务端发送的身份认证密文数据进行解密,并将解密数据发送至第三方服务端进行验证,其中,第三方服务端在接收到解密数据后,判断解密数据与预设随机数是否相等,若相等,则第三方服务端反馈验证成功信息至基于区块链的身份认证平台,基于区块链的身份认证平台在接收第三方服务端反馈的验证成功信息时,判定第三方服务端通过权限验证。

本实施例提出的基于区块链的身份认证方法,通过在接收到第三方服务端发送的身份认证请求时,从所述身份认证请求中提取身份标识;根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证;确定所述身份凭证对应的凭证信息;根据所述凭证信息对所述身份凭证进行身份认证,并将身份认证结果反馈至所述第三方服务端,本发明的基于区块链的身份认证平台通过在区块链存储节点中查找身份认证请求对应的身份凭证来进行身份认证,提高了身份认证结果的可靠性,且通过基于区块链的身份认证平台实现双向核对式进行认证,与现有技术中采用单向核对式进行认证的技术相比,攻击者无法在用户进行身份认证时盗取用户账号信息,提高用户进行身份认证时用户信息的安全性。

进一步地,基于本发明基于区块链的身份认证方法的第一实施例,提出本发明基于区块链的身份认证方法第二实施例。

参照图4,图4为本发明基于区块链的身份认证方法第二实施例的流程示意图。

所述基于区块链的身份认证方法第二实施例与所述基于区块链的身份认证方法第一实施例的区别在于,所述根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证的步骤之前,还包括:

步骤S201,接收到用户终端发送的创建请求时,从所述创建请求中提取用户信息及用户终端标识;

步骤S202,创建身份凭证数据库,并根据所述用户信息生成所述身份凭证数据库对应的身份标识;

步骤S203,生成所述用户终端标识对应的私钥,并生成所述私钥匹配的公钥;

步骤S204,将所述公钥、身份凭证数据库及身份标识存储至区块链存储节点。

该步骤中,用户可通过用户终端向基于区块链的身份认证平台发送创建请求,其中创建请求包括用户信息(比如姓名、年龄及联系方式等)及用户终端标识,在接收到用户终端发送的创建请求后,从创建请求中提取用户信息及用户终端标识,接着创建身份凭证数据库,其中,身份凭证数据库的数量不限,并根据用户信息生成身份凭证数据库对应的身份标识,需要说明的是,身份标识用于表征用户身份信息,身份标识可为数字代码标识、英文代码标识等任何形式的标识,进一步地,生成用户终端标识对应的唯一私钥,并生成与私钥匹配的至少一个公钥,将私钥发送至用户终端进行保存,将公钥、身份凭证数据库及身份标识存储至区块链存储节点,以供基于区块链的身份认证平台根据身份标识在区块链存储节点中获取身份凭证或公钥。

进一步地,步骤S202中根据所述用户信息生成所述身份凭证数据库对应的身份标识的步骤之后,还包括:

步骤S2021,发送所述身份标识至所述用户终端。

该步骤中,将身份标识至用户终端,以供用户终端根据身份标识向第三方服务器发送身份登录请求,进一步地,还可将基于区块链的身份认证平台身份凭证数据库的创建等执行步骤进行可视化输出。

进一步地,步骤S204中将所述公钥、身份凭证数据库及身份标识存储至区块链存储节点的步骤之后,还包括:

步骤S205,接收到身份凭证存储请求时,从所述身份凭证存储请求中提取身份凭证及身份标识;

步骤S206,根据所述身份标识在在区块链存储节点中查找所述身份凭证存储请求对应的身份凭证数据库,并将所述身份凭证存储至所述身份凭证数据库中。

该步骤中,需要说明的是,用户终端在需要注册身份凭证时,可向支持身份凭证注册的身份注册终端(比如公安部、学校、微信等)发送注册请求,身份注册终端从注册请求中提取用户信息,并在对用户信息审核完成后生成对应的身份凭证,进一步地,身份注册终端在生成身份凭证时,在身份凭证中加入可表征身份注册终端身份的标识信息(比如身份注册终端的凭证签名信息),并将凭证吊销地址与身份凭证关联,以供基于区块链的身份认证平台根据凭证吊销地址对身份凭证的有效期进行验证。

本实施例中,身份凭证存储请求的发送端不做限制,可选地,身份注册终端在身份凭证注册完成后,根据身份凭证及用户信息生成身份凭证存储请求,并向基于区块链的身份认证平台发送身份凭证存储请求,基于区块链的身份认证平台接收到身份凭证存储请求后,从身份凭证存储请求中提取身份凭证及用户信息,并基于用户信息-身份标识列表,查找该用户信息对应的身份标识,可选地,身份注册终端在身份凭证注册完成后,将身份凭证反馈至用户终端,用户终端接收到身份凭证后根据身份凭证及身份标识生成身份凭证存储请求,并向基于区块链的身份认证平台发送身份凭证存储请求。

在接收到身份凭证存储请求后,从身份凭证存储请求中提取身份凭证及身份标识,以根据身份标识在在区块链存储节点中查找身份凭证存储请求对应的身份凭证数据库,并将身份凭证存储至身份凭证数据库中。

进一步地,步骤S206中将所述身份凭证存储至所述身份凭证数据库中的步骤之后,还包括:

步骤S207,接收到身份凭证更新请求时,从所述身份凭证更新请求中提取身份凭证更新信息及身份标识,其中,所述身份凭证更新信息包括原始身份凭证及目标身份凭证;

步骤S208,根据所述身份标识在区块链存储节点中查找所述身份凭证更新请求对应的身份凭证数据库;

步骤S209,删除所述身份凭证数据库中存储的所述原始身份凭证,并将所述目标身份凭证存储至所述身份凭证数据库中。

本实施例中,身份凭证更新请求的发送端不做限制,可选地,身份注册终端接收到用户终端发送的身份凭证更新请求后,根据用户终端的用户信息查找身份凭证更新请求对应的原始身份凭证,并将原始身份凭证进行更新以获得目标身份凭证,接着身份注册终端根据用户信息、原始身份凭证及目标身份凭证生成身份凭证更新请求,并向基于区块链的身份认证平台发送身份凭证存储请求,可选地,身份注册终端在身份凭证更新完成后,将原始身份凭证及目标身份凭证反馈至用户终端,用户终端接收到原始身份凭证及目标身份凭证后根据原始身份凭证、目标身份凭证及身份标识生成身份凭证更新请求,并向基于区块链的身份认证平台发送身份凭证更新请求,可选地,身份注册终端在检测到用户终端的身份凭证满足更新条件时,身份注册终端自动更新用户终端的身份凭证,并根据用户信息、原始身份凭证及目标身份凭证生成身份凭证更新请求,并向基于区块链的身份认证平台发送身份凭证存储请求。

可选地,基于区块链的身份认证平台接收到身份注册终端发送的身份凭证存储请求后,从身份凭证存储请求中提取身份凭证及用户信息,并基于用户信息-身份标识列表,查找该用户信息对应的身份标识,可选地,基于区块链的身份认证平台接收到用户终端发送的身份凭证存储请求后,从身份凭证存储请求中提取身份凭证及身份标识,接着根据身份标识在区块链存储节点中查找身份凭证更新请求对应的身份凭证数据库,删除身份凭证数据库中存储的原始身份凭证,并将目标身份凭证存储至身份凭证数据库中,进一步地,在将目标身份凭证存储至身份凭证数据库之后,生成身份凭证更新请求对应的更新日志,并将更新日志与目标身份凭证关联存储至区块链存储节点中,以供后续身份凭证信息的追溯。

本实施例中,通过接收到用户终端发送的创建请求时,从所述创建请求中提取用户信息及用户终端标识;创建身份凭证数据库,并根据所述用户信息生成所述身份凭证数据库对应的身份标识;生成所述用户终端标识对应的私钥,并生成所述私钥匹配的公钥;将所述公钥、身份凭证数据库及身份标识存储至区块链存储节点,由此,通过在区块链存储节点中存储公钥、身份凭证数据库及身份标识,提高了身份凭证的可靠性,进而提高了身份认证结果的可靠性。

本发明还提供一种基于区块链的身份认证装置。请参照图5,所述基于区块链的身份认证装置包括:

第一提取模块10,用于在接收到第三方服务端发送的身份认证请求时,从所述身份认证请求中提取身份标识;

查找模块20,用于根据所述身份标识在区块链存储节点中查找所述身份标识对应的身份凭证;

第一确定模块30,用于确定所述身份凭证对应的凭证信息;

反馈模块40,用于根据所述凭证信息对所述身份凭证进行身份认证,并将身份认证结果反馈至所述第三方服务端。

此外,本发明实施例还提出一种可读存储介质。

可读存储介质上存储有基于区块链的身份认证程序,基于区块链的身份认证程序被处理器执行时实现如上所述的基于区块链的身份认证方法的步骤。

本发明可读存储介质可以为计算机可读存储介质,其具体实施方式与上述基于区块链的身份认证方法各实施例基本相同,在此不再赘述。

上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本发明的保护之内。

相关技术
  • 基于区块链的身份认证方法、装置、设备及可读存储介质
  • 区块链分布式身份认证方法、系统、设备及可读存储介质
技术分类

06120113255439