电子装置、基于区块链的身份验证方法和计算机存储介质与流程

文档序号:15878440发布日期:2018-11-09 17:25阅读:157来源:国知局
电子装置、基于区块链的身份验证方法和计算机存储介质与流程

本发明涉及区块链技术领域,特别涉及一种电子装置、基于区块链的身份验证方法和计算机存储介质。

背景技术

区块链本质上是一个基于智能合约的分布式的数据库,区块链上面的信息就会被p2p(peer-to-peer,对等)网络分享到所有节点上去。由于区块链具有防篡改、高透明及去中心化等优势,近年来被广泛应用于各个领域。

身份验证也成为“身份验证”或“身份鉴别”,是指在计算机及计算机网络系统中确认操作者身份的过程,从而确定该用户是否具有对某种资源的访问和使用权限,进而使计算机及网络系统的访问策略能够可靠、有效地执行,防止攻击者假冒合法用户获得资源的访问权限,保证系统和数据的安全,以及授权访问者的合法利益。

通常,区块链的身份验证方法为:当用户通过一区块链的应用端登陆时,该应用端通过核验该用户的用户名及用户密码的方式对用户身份进行验证。该验证方法的问题在于,针对不同的用户,均采取同一验证方法,该验证方法过于单一,无法满足多种应用场景的多样化需求。



技术实现要素:

本发明的主要目的是提供一种电子装置、基于区块链的身份验证方法和计算机存储介质,旨在解决现有身份验证方法过于单一,无法满足多种应用场景的多样化需求的问题。

为实现上述目的,本发明提供一种电子装置,所述电子装置包括存储器和处理器,所述存储器上存储有基于区块链的第一身份验证程序,所述基于区块链的第一身份验证程序被所述处理器执行时实现如下步骤:

验证步骤:当接收到携带第一用户身份信息的第一身份验证请求时,根据预先确定的身份验证规则对所述第一用户身份信息进行核验,以获得第一验证结果;

判断步骤:根据获得的所述第一验证结果、第一用户身份信息及预先确定的判断规则确定是否执行多重身份验证;

第一输出步骤:当确定不执行多重身份验证时,输出所述第一验证结果作为用户身份验证结果;或,当确定执行多重身份验证时,获取第二用户身份信息;

查找步骤:根据所述第一用户身份信息中的用户标识信息及预先确定的用户标识信息与验证节点标识信息之间的映射关系,查找所述用户标识信息对应的至少一个验证节点;

发布步骤:发布携带所述第二用户身份信息的第二身份验证请求至区块链网络,接收所述区块链网络的对所述第二用户身份信息进行核验生成并广播的携带节点标识信息的回馈信息;

分析步骤:基于预先确定的第一结果分析规则,对所述回馈信息中的核验结果进行分析处理,并输出第一分析结果作为第二验证结果;

第二输出步骤:根据预先确定的第二结果分析规则,对所述第二验证结果进行分析处理,并输出第二分析结果作为所述用户的身份验证结果。

优选地,所述预先确定的判断规则包括:

当所述第一验证结果为验证成功时,根据所述第一用户身份信息中的用户标识信息及预先确定的判断子规则确定是否执行多重身份验证;

当基于所述预先确定的判断子规则确定执行多重身份验证时,输出判断结果为执行多重身份验证;

当基于所述预先确定的判断子规则确定不执行多重身份验证时,输出判断结果为不执行多重身份验证;

当所述第一验证结果为验证失败时,输出判断结果为不执行多重身份验证。

此外,为实现上述目的,本发明还提供一种电子装置,所述电子装置包括存储器和处理器,所述存储器上存储有基于区块链的第二身份验证程序,所述基于区块链的第二身份验证程序被所述处理器执行时实现如下步骤:

接收步骤:接收携带用户身份信息的身份验证请求;

核验步骤:对所述用户身份信息进行核验以获得核验结果,且根据所述核验结果,生成携带节点标识信息的回馈信息,并向所述区块链网络广播所述回馈信息。

优选地,所述用户身份信息为利用预先确定的第一加密规则对用户身份数据进行加密处理后得到的加密用户身份信息;

所述核验步骤包括:

根据预先确定的第一解密规则对所述加密用户信息进行解密处理,以获得所述用户身份信息明文作为待验证用户身份信息,所述待验证用户身份信息包括用户标识信息及待验证用户身份特征信息;

根据所述待验证用户身份信息中的用户标识信息及预先确定的用户标识信息与标准用户身份特征信息之间的映射关系,查找所述用户标识信息对应的加密标准用户身份特征信息;

根据预先确定的第二解密规则对所述加密标准用户身份特征信息进行解密处理,以获得标准用户身份特征信息;

根据所述标准用户身份特征信息,对所述待验证用户身份特征信息进行核验;

当确定所述待验证用户身份特征信息与所述标准用户身份特征信息相同时,输出核验结果为核验成功;

当确定所述待验证用户身份特征信息与所述标准用户身份特征信息不同时,输出核验结果为核验失败。

此外,为实现上述目的,本发明还提供一种基于区块链的身份验证方法,该方法包括步骤:

第一验证步骤:当接收到携带第一用户身份信息的第一身份验证请求时,根据预先确定的身份验证规则对所述第一用户身份信息进行核验,以获得第一验证结果;

判断步骤:根据获得的所述第一验证结果、第一用户身份信息及预先确定的判断规则确定是否执行多重身份验证;

第一输出步骤:当确定不执行多重身份验证时,输出所述第一验证结果作为用户身份验证结果;或,当确定执行多重身份验证时,获取第二用户身份信息;

查找步骤:根据所述第一用户身份信息中的用户标识信息及预先确定的用户标识信息与验证节点标识信息之间的映射关系,查找所述用户标识信息对应的至少一个验证节点;

发布步骤:发布携带所述第二用户身份信息的第二身份验证请求至区块链网络,接收所述区块链网络的对所述第二用户身份信息进行核验生成并广播的携带节点标识信息的回馈信息;

分析步骤:基于预先确定的第一结果分析规则,对所述回馈信息中的核验结果进行分析处理,并输出第一分析结果作为第二验证结果;

第二输出步骤:根据预先确定的第二结果分析规则,对所述第二验证结果进行分析处理,并输出第二分析结果作为所述用户的身份验证结果。

优选地,所述预先确定的判断规则包括:当所述第一验证结果为验证成功时,根据所述第一用户身份信息中的用户标识信息及预先确定的判断子规则确定是否执行多重身份验证;

当基于所述预先确定的判断子规则确定执行多重身份验证时,输出判断结果为执行多重身份验证;

当基于所述预先确定的判断子规则确定不执行多重身份验证时,输出判断结果为不执行多重身份验证;

当所述第一验证结果为验证失败时,输出判断结果为不执行多重身份验证。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于区块链的第一身份验证系统,所述基于区块链的第一身份验证系统可被至少一个处理器执行,以使所述至少一个处理器执行上述任一项的基于区块链的身份验证方法。

此外,为实现上述目的,本发明还提供一种基于区块链的身份验证方法,所述基于区块链的身份验证方法包括:

接收步骤:接收携带用户身份信息的身份验证请求;

核验步骤:对所述用户身份信息进行核验以获得核验结果,且根据所述核验结果,生成携带节点标识信息的回馈信息,并向所述区块链网络广播所述回馈信息。

优选地,所述用户身份信息为利用预先确定的第一加密规则对用户身份数据进行加密处理后得到的加密用户身份信息;

所述核验步骤包括:

根据预先确定的第一解密规则对所述加密用户信息进行解密处理,以获得所述用户身份信息明文作为待验证用户身份信息,所述待验证用户身份信息包括用户标识信息及待验证用户身份特征信息;

根据所述待验证用户身份信息中的用户标识信息及预先确定的用户标识信息与标准用户身份特征信息之间的映射关系,查找所述用户标识信息对应的加密标准用户身份特征信息;

根据预先确定的第二解密规则对所述加密标准用户身份特征信息进行解密处理,以获得标准用户身份特征信息;

根据所述标准用户身份特征信息,对所述待验证用户身份特征信息进行核验;

当确定所述待验证用户身份特征信息与所述标准用户身份特征信息相同时,输出核验结果为核验成功;

当确定所述待验证用户身份特征信息与所述标准用户身份特征信息不同时,输出核验结果为核验失败。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有基于区块链的第二身份验证系统,所述基于区块链的第二身份验证系统可被至少一个处理器执行,以使所述至少一个处理器执行如上述任一项所述的基于区块链的身份验证方法。

本发明在按照预先确定的身份验证规则对第一用户身份信息进行核验后,根据预先确定的判断规则确定是否执行多重身份验证,当确定执行多重身份验证后,将第二用户身份信息发布至区块链网络进行核验,以获得多重身份验证的验证结果。相较于现有技术,本发明可满足多种应用场景的多样化需求,提高用户身份验证的准确度,同时防止用户身份信息泄露。

附图说明

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

图1为本发明第一电子装置及第二电子装置的运行环境示意图;

图2为本发明基于区块链的第一身份验证程序第一实施例的运行环境示意图;

图3为本发明基于区块链的第一身份验证程序第一实施例的程序模块图;

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

图5为本发明基于区块链的第二身份验证程序第一实施例的运行环境示意图;

图6为本发明基于区块链的第二身份验证程序第一实施例的程序模块图;

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

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

具体实施方式

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

本发明电子装置、基于区块链的身份验证方法及计算机存储介质适用于基于区块链的公益系统,该系统包括若干个应用端,及各所述应用端对应的节点设备,所述应用端包括公益平台、公益对象平台,所述节点设备包括公益平台对应的公益平台节点设备、公益对象平台对应的公益对象平台节点设备、若干个公益平台员工管理子系统及各公益平台员工管理子系统对应的公益平台员工管理节点设备;在一些实施例中,该基于区块链的公益系统还包括:若干个公正机构平台及各公正机构平台对应的公正机构节点设备。

本发明还提出一种基于区块链的第一身份验证程序。

请参照图1,图1为本发明第一电子装置1及第二电子装置2的运行环境示意图。

请参阅图2,是本发明基于区块链的第一身份验证程序10第一实施例的运行环境示意图。

在本实施例中,基于区块链的第一身份验证程序10安装并运行于第一电子装置1中。该第一电子装置1可以是发布节点设备、也可以是所述发布节点设备对应的应用端服务器,还可以是除发布节点设备、应用端服务器之外的其他电子装置,本发明对此不作限定。

第一电子装置1可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该第一电子装置1可包括,但不仅限于,存储器11、处理器12及显示器13。图2仅示出了具有组件11-13的第一电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

存储器11在一些实施例中可以是第一电子装置1的内部存储单元,例如该第一电子装置1的硬盘或内存。存储器11在另一些实施例中也可以是第一电子装置1的外部存储设备,例如第一电子装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括第一电子装置1的内部存储单元也包括外部存储设备。存储器11用于存储安装于第一电子装置1的应用软件及各类数据,例如基于区块链的第一身份验证程序10的程序代码等。存储器11还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行第一身份验证程序10等。在本实施例中,若第一电子装置1为发布节点,则该处理器12可以是智能合约。

显示器13在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。显示器13用于显示在第一电子装置1中处理的信息以及用于显示可视化的用户界面。第一电子装置1的部件11-13通过系统总线相互通信。

请参阅图3,是本发明基于区块链的第一身份验证程序10第一实施例的程序模块图。在本实施例中,基于区块链的第一身份验证程序10可以被分割成一个或多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器12)所执行,以完成本发明。例如,在图3中,基于区块链的第一身份验证程序10可以被分割成验证模块101、判断模块102、第一输出模块103、查找模块104、发布模块105、分析模块106及第二输出模块107。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述基于区块链的第一身份验证程序10在第一电子装置1中的执行过程,其中:

验证模块101,用于当接收到携带第一用户身份信息的第一身份验证请求时,根据预先确定的身份验证规则对所述第一用户身份信息进行核验,以获得第一验证结果。

判断模块102,用于根据获得的所述第一验证结果、第一用户身份信息及预先确定的判断规则确定是否执行多重身份验证。

第一输出模块103,用于当确定不执行多重身份验证时,输出所述第一验证结果作为用户身份验证结果;或,当确定执行多重身份验证时,获取第二用户身份信息。

查找模块104,用于根据所述第一用户身份信息中的用户标识信息及预先确定的用户标识信息与验证节点标识信息之间的映射关系,查找所述用户标识信息对应的至少一个验证节点。

发布模块105,用于发布携带所述第二用户身份信息的第二身份验证请求至区块链网络,接收所述区块链网络的对所述第二用户身份信息进行核验生成并广播的携带节点标识信息的回馈信息。

分析模块106,用于基于预先确定的第一结果分析规则,对所述回馈信息中的核验结果进行分析处理,并输出第一分析结果作为第二验证结果。

第二输出模块107,用于根据预先确定的第二结果分析规则,对所述第二验证结果进行分析处理,并输出第二分析结果作为所述用户的身份验证结果。

上述第一用户身份信息为不涉及用户隐私的身份信息,即使该第一用户身份信息被他人获取,此第一用户身份信息的获得者也无法通过该第一用户身份信息获知用户的真实身份。例如,第一用户身份信息包括用户标识信息及第一用户身份特征信息,其中,所述用户身份关联信息包括用户名信息、用户密码信息(该用户密码信息可以u盾、电子证书等作为存储介质)、动态码等。

上述预先确定的身份验证规则包括:

根据所述第一身份信息中的用户标识信息,且基于预先确定的用户标识信息与第一标准用户身份特征信息之间的映射关系,查找所述用户标识信息对应的第一标准用户身份特征信息。

根据查找得到的所述第一标准用户身份特征信息,对所述第一身份信息中的待验证第一用户身份特征信息进行核验;若核验结果为相同,则输出第一验证结果为验证成功;若核验结果为不同,则输出第一验证结果为验证失败。

下面通过以下两种方案对预先确定的判断规则进行说明:

方案一:

上述预先确定的判断规则为:

当所述第一验证结果为验证失败时,确定执行多重身份验证;或者,当所述第一验证结果为验证失败且接收到用户发送的确认继续执行身份验证的请求时,确定执行多重身份验证。

当所述第一验证结果为验证成功时,确定不执行多重身份验证;或者,当所述第一验证结果为验证成功时,或当所述第一验证结果为验证失败且接收到用户发送的终止执行多重身份验证的请求时,确定不执行多重身份验证。

上述方案一的应用场景为:用户通过公益平台登录时,公益平台首先通过用户提供的用户名及用户密码进行验证,若验证结果为验证失败,则该用户可能为非法登录用户或者该用户忘记其用户名和/或用户密码,为了防止错判,公益平台执行多重身份验证以保证身份验证的准确性。

方案二:

上述预先确定的判断规则为:

当所述第一验证结果为验证成功时,根据所述第一用户身份信息中的用户标识信息,且基于预先确定的判断子规则确定是否执行多重身份验证。当基于所述预先确定的判断子规则确定执行多重身份验证,则输出判断结果为执行多重身份验证。当基于所述预先确定的判断子规则确定不执行多重身份验证,则输出判断结果为不执行多重身份验证。

当所述第一验证结果为验证失败时,则输出判断结果为不执行多重身份验证。

其中,上述预先确定的判断子规则为:

提取所述用户标识信息中的用户身份等级作为待确认的用户身份等级,且基于预先确定的用户身份等级与多重身份验证之间的映射关系,判断所述待确认的用户身份等级是否与多重身份验证存在映射关系。

若是,则输出判断结果为执行多重身份验证。

若否,则输出判断结果为不执行多重身份验证。

在一些实施例中,也可预先在用户标识信息中设置多重身份验证标识符,若一用户的用户标识信息中存在所述多重身份验证标识符,则确定执行多重身份验证,若该用户的用户标识信息中不存在所述多重身份验证标识符,则确定不执行多重身份验证。

上述方案二的应用场景为:用户通过公益平台登录时,公益平台首先通过用户提供的第一用户身份信息进行验证。若验证通过,则进一步确定该用户是否是系统操作等级高(例如,公益平台员工)的用户,由于这些用户往往可以对系统中的保密数据或者是非公开数据有处理权限,为保证系统数据的安全性,需要对该用户的真实身份进行验证以确认此次登陆确实由该用户本人操作。若确定该用户是系统操作等级高的用户,则判定需要对该用户执行多重身份验证;若确定该用户不是系统操作等级高的用户,则判定不需要对该用户只需多重身份验证,而仅需要对第一用户身份信息进行验证即可。由于第一用户身份信息为不涉及用户隐私的身份信息,因此,可将该第一用户身份信息存储至区块链上各个节点中,即使该第一用户身份信息被窃取,也不会造成用户隐私的泄露。

上述第二用户身份信息包括用户标识信息及第二用户身份特征信息。

所述第二用户身份特征信息包括用户生物信息、身份证件信息中至少一种。

上述用户生物信息包括指纹信息、人脸信息、虹膜信息、声纹信息等用于唯一识别用户身份的生物特征信息。

上述身份证件信息包括身份证号、护照号、员工编号等。

上述用户标识信息与验证节点标识信息之间的映射关系可存储在映射表中,其中,一用户的身份验证可由一个或者多个验证节点完成,且完成一次用户身份验证启用的验证节点的数量可根据需要确定,在此不做限定。

发布模块105具体用于:

根据预先确定的第一加密规则对所述第二用户身份信息进行加密处理,且发布携带加密后的第二用户身份信息的第二身份验证请求至区块链网络。区块链网络(例如,区块链网络中的验证节点)接收所述第二身份验证请求后,根据预先确定的第一解密规则对加密后的第二用户身份信息进行解密以获得所述第二用户身份信息,并对所述第二用户身份信息进行核验以获得核验结果,且根据所述核验结果,生成携带节点标识信息的回馈信息,并向所述区块链网络广播所述回馈信息。

上述根据预先确定的第一加密规则对所述第二用户身份信息进行加密处理,且发布携带加密后的第二用户身份信息的第二身份验证请求至区块链网络的步骤,具体为:

首先,获取所述验证节点对应的公钥。

若所述验证节点为一个,则利用获取的所述验证节点对应的公钥对所述第二用户身份信息进行加密处理,以获得所述加密后的第二用户身份信息。

若所述验证节点为多个,则利用获取的各所述验证节点对应的公钥分别对所述第二用户身份信息进行加密处理,以获得多个所述加密后的第二用户身份信息。

然后,通过发布节点向区块链网络中发布第二身份验证请求。

上述一个验证节点(例如,公益平台员工管理节点设备)通常对应一个基于区块链的第一身份验证程序,该基于区块链的第一身份验证程序存储在存储器中,且该基于区块链的第一身份验证程序可被一个或者多个处理器执行,执行该基于区块链的第一身份验证程序的处理器可设置于验证节点中,也可设置于应用端(例如,公益平台员工管理子系统)中,还也可独立设置于一电子装置中,例如,若该处理器设置于验证节点中,则该处理器可以是该验证节点对应的智能合约。

下面以该处理器设置于验证节点中为例对基于区块链的身份验证程序如何接收和处理所述第二身份验证请求进行说明:

若所述验证节点为一个,则该验证节点接收到所述第二身份验证请求后,利用该验证节点对应的私钥对所述加密后的第二用户身份信息进行解密处理,以获得所述第二用户身份信息。根据所述第二用户身份信息中的用户标识信息,且基于预先确定的用户标识信息与第二标准用户身份特征信息之间的映射关系,查找所述用户标识信息对应的预先加密存储的第二标准用户身份特征信息,并用该验证节点对应的对称加密秘钥对所述加密的第二标准用户身份特征信息进行解密处理,以得到第二标准用户身份特征信息,根据查找的所述第二标准用户身份特征信息,对所述第二身份信息中的待验证第二用户身份特征信息进行核验。若待验证第二用户身份特征信息与所述第二标准用户身份特征信息相同,则输出核验结果为核验成功。若待验证第二用户身份特征信息与所述第二标准用户身份特征信息不同,则输出核验结果为核验失败。根据所述核验结果,生成携带节点标识信息的回馈信息,该验证节点将生成的所述回馈信息发布至区块链网络中。

若所述验证节点为多个,则每个验证节点都可接收到多个加密后的第二用户身份信息,不论一验证节点接收多少个加密后的第二用户身份信息,该验证节点只能解密用该验证节点对应的公钥加密的第二用户身份信息。各验证节点在利用各验证节点对应的私钥对接收的所述加密后的第二用户身份信息进行解密后,其对所述第二用户身份信息进行核验并生成和发布回馈信息的方法与上述方法相同,在此不做赘述。

上述预先确定的第一结果分析规则为:

若验证节点为一个,则当核验结果为核验成功时,确定第一分析结果为验证成功;当所述核验结果为核验失败时,确定所述第一分析结果为验证失败;

若验证节点为多个,则当所有核验结果均为成功时,确定第一分析结果为验证成功;否则,确定所述第一分析结果为验证失败。

上述预先确定的第二结果分析规则为:

若第二验证结果为验证成功,则第二分析结果为验证成功;

若第二验证结果为验证失败或者所述第二验证结果为空值,则第二分析结果为验证失败。

造成上述第二验证结果为空值的情况为多重身份验证被用户中止。

本实施例在按照预先确定的身份验证规则对第一用户身份信息进行核验后,根据预先确定的判断规则确定是否执行多重身份验证,当确定执行多重身份验证后,将第二用户身份信息发布至区块链网络进行核验,以获得多重身份验证的验证结果。相较于现有技术,本实施例可满足多种应用场景的多样化需求,提高用户身份验证的准确度,同时防止用户身份信息泄露。

本发明还提供一种基于区块链的身份验证方法,该方法适用于区块链网络中身份验证请求的发布端,例如,发布节点。

本实施例中,基于区块链的第一身份验证程序存储在存储器中,且该基于区块链的第一身份验证程序可被一个或者多个处理器执行以实现本实施例中基于区块链的身份验证方法,执行该基于区块链的第一身份验证程序的处理器可设置于验证节点中,也可设置于应用端(例如,公益平台)中,还也可独立设置于一电子装置中,例如,若该处理器设置于发布节点中,则该处理器可以是该发布节点对应的智能合约。

如图4所示,图4为本发明基于区块链的身份验证方法第一实施例的流程示意图。

本实施例中,该方法包括:

步骤s110,当接收到携带第一用户身份信息的第一身份验证请求时,根据预先确定的身份验证规则对所述第一用户身份信息进行核验,以获得第一验证结果。

上述第一用户身份信息为不涉及用户隐私的身份信息,即使该第一用户身份信息被他人获取,此第一用户身份信息的获得者也无法通过该第一用户身份信息获知用户的真实身份。例如,第一用户身份信息包括用户标识信息及第一用户身份特征信息,其中,所述用户身份关联信息包括用户名信息、用户密码信息(该用户密码信息可以u盾、电子证书等作为存储介质)、动态码等。

上述预先确定的身份验证规则包括:

根据所述第一身份信息中的用户标识信息,且基于预先确定的用户标识信息与第一标准用户身份特征信息之间的映射关系,查找所述用户标识信息对应的第一标准用户身份特征信息。

根据查找得到的所述第一标准用户身份特征信息,对所述第一身份信息中的待验证第一用户身份特征信息进行核验;若核验结果为相同,则输出第一验证结果为验证成功;若核验结果为不同,则输出第一验证结果为验证失败。

步骤s120,根据获得的所述第一验证结果、第一用户身份信息及预先确定的判断规则确定是否执行多重身份验证。

通过以下两种方案对预先确定的判断规则进行说明:

方案一:

上述预先确定的判断规则为:

当所述第一验证结果为验证失败时,确定执行多重身份验证;或者,当所述第一验证结果为验证失败且接收到用户发送的确认继续执行身份验证的请求时,确定执行多重身份验证。

当所述第一验证结果为验证成功时,确定不执行多重身份验证;或者,当所述第一验证结果为验证成功时,或当所述第一验证结果为验证失败且接收到用户发送的终止执行多重身份验证的请求时,确定不执行多重身份验证。

上述方案一的应用场景为:用户通过公益平台登录时,公益平台首先通过用户提供的用户名及用户密码进行验证,若验证结果为验证失败,则该用户可能为非法登录用户或者该用户忘记其用户名和/或用户密码,为了防止错判,公益平台执行多重身份验证以保证身份验证的准确性。

方案二:

上述预先确定的判断规则为:

当所述第一验证结果为验证成功时,根据所述第一用户身份信息中的用户标识信息,且基于预先确定的判断子规则确定是否执行多重身份验证。当基于所述预先确定的判断子规则确定执行多重身份验证,则输出判断结果为执行多重身份验证。当基于所述预先确定的判断子规则确定不执行多重身份验证,则输出判断结果为不执行多重身份验证。

当所述第一验证结果为验证失败时,则输出判断结果为不执行多重身份验证。

其中,上述预先确定的判断子规则为:

提取所述用户标识信息中的用户身份等级作为待确认的用户身份等级,且基于预先确定的用户身份等级与多重身份验证之间的映射关系,判断所述待确认的用户身份等级是否与多重身份验证存在映射关系。

若是,则输出判断结果为执行多重身份验证。

若否,则输出判断结果为不执行多重身份验证。

在一些实施例中,也可预先在用户标识信息中设置多重身份验证标识符,若一用户的用户标识信息中存在所述多重身份验证标识符,则确定执行多重身份验证,若该用户的用户标识信息中不存在所述多重身份验证标识符,则确定不执行多重身份验证。

上述方案二的应用场景为:用户通过公益平台登录时,公益平台首先通过用户提供的第一用户身份信息进行验证。若验证通过,则进一步确定该用户是否是系统操作等级高(例如,公益平台员工)的用户,由于这些用户往往可以对系统中的保密数据或者是非公开数据有处理权限,为保证系统数据的安全性,需要对该用户的真实身份进行验证以确认此次登陆确实由该用户本人操作。若确定该用户是系统操作等级高的用户,则判定需要对该用户执行多重身份验证;若确定该用户不是系统操作等级高的用户,则判定不需要对该用户只需多重身份验证,而仅需要对第一用户身份信息进行验证即可。由于第一用户身份信息为不涉及用户隐私的身份信息,因此,可将该第一用户身份信息存储至区块链上各个节点中,即使该第一用户身份信息被窃取,也不会造成用户隐私的泄露。

步骤s130,当确定不执行多重身份验证时,输出所述第一验证结果作为用户身份验证结果。

步骤s140,当确定执行多重身份验证时,获取第二用户身份信息。

上述第二用户身份信息包括用户标识信息及第二用户身份特征信息。

所述第二用户身份特征信息包括用户生物信息、身份证件信息中至少一种。

上述用户生物信息包括指纹信息、人脸信息、虹膜信息、声纹信息等用于唯一识别用户身份的生物特征信息。

上述身份证件信息包括身份证号、护照号、员工编号等。

步骤s150,根据所述第一用户身份信息中的用户标识信息及预先确定的用户标识信息与验证节点标识信息之间的映射关系,查找所述用户标识信息对应的至少一个验证节点。

上述用户标识信息与验证节点标识信息之间的映射关系可存储在映射表中,其中,一用户的身份验证可由一个或者多个验证节点完成,且完成一次用户身份验证启用的验证节点的数量可根据需要确定,在此不做限定。

步骤s160,发布携带所述第二用户身份信息的第二身份验证请求至区块链网络,接收所述区块链网络的对所述第二用户身份信息进行核验生成并广播的携带节点标识信息的回馈信息。

步骤s160具体包括:

根据预先确定的第一加密规则对所述第二用户身份信息进行加密处理,且发布携带加密后的第二用户身份信息的第二身份验证请求至区块链网络。区块链网络(例如,区块链网络中的验证节点)接收所述第二身份验证请求后,根据预先确定的第一解密规则对加密后的第二用户身份信息进行解密以获得所述第二用户身份信息,并对所述第二用户身份信息进行核验以获得核验结果,且根据所述核验结果,生成携带节点标识信息的回馈信息,并向所述区块链网络广播所述回馈信息。

上述根据预先确定的第一加密规则对所述第二用户身份信息进行加密处理,且发布携带加密后的第二用户身份信息的第二身份验证请求至区块链网络的步骤,具体为:

首先,获取所述验证节点对应的公钥。

若所述验证节点为一个,则利用获取的所述验证节点对应的公钥对所述第二用户身份信息进行加密处理,以获得所述加密后的第二用户身份信息。

若所述验证节点为多个,则利用获取的各所述验证节点对应的公钥分别对所述第二用户身份信息进行加密处理,以获得多个所述加密后的第二用户身份信息。

然后,通过发布节点向区块链网络中发布第二身份验证请求。

上述一个验证节点(例如,公益平台员工管理节点设备)通常对应一个基于区块链的第一身份验证程序,该基于区块链的第一身份验证程序存储在存储器中,且该基于区块链的第一身份验证程序可被一个或者多个处理器执行,执行该基于区块链的第一身份验证程序的处理器可设置于验证节点中,也可设置于应用端(例如,公益平台员工管理子系统)中,还也可独立设置于一电子装置中,例如,若该处理器设置于验证节点中,则该处理器可以是该验证节点对应的智能合约。

下面以该处理器设置于验证节点中为例对基于区块链的身份验证程序如何接收和处理所述第二身份验证请求进行说明:

若所述验证节点为一个,则该验证节点接收到所述第二身份验证请求后,利用该验证节点对应的私钥对所述加密后的第二用户身份信息进行解密处理,以获得所述第二用户身份信息;根据所述第二用户身份信息中的用户标识信息,且基于预先确定的用户标识信息与第二标准用户身份特征信息之间的映射关系,查找所述用户标识信息对应的预先加密存储的第二标准用户身份特征信息,并用该验证节点对应的对称加密秘钥对所述加密的第二标准用户身份特征信息进行解密处理,以得到第二标准用户身份特征信息,根据查找的所述第二标准用户身份特征信息,对所述第二身份信息中的待验证第二用户身份特征信息进行核验;若待验证第二用户身份特征信息与所述第二标准用户身份特征信息相同,则输出核验结果为核验成功;若待验证第二用户身份特征信息与所述第二标准用户身份特征信息不同,则输出核验结果为核验失败;根据所述核验结果,生成携带节点标识信息的回馈信息,该验证节点将生成的所述回馈信息发布至区块链网络中。

若所述验证节点为多个,则每个验证节点都可接收到多个加密后的第二用户身份信息,不论一验证节点接收多少个加密后的第二用户身份信息,该验证节点只能解密用该验证节点对应的公钥加密的第二用户身份信息;各验证节点在利用各验证节点对应的私钥对接收的所述加密后的第二用户身份信息进行解密后,其对所述第二用户身份信息进行核验并生成和发布回馈信息的方法与上述方法相同,在此不做赘述。

步骤s170,基于预先确定的第一结果分析规则,对所述回馈信息中的核验结果进行分析处理,并输出第一分析结果作为第二验证结果。

上述预先确定的第一结果分析规则为:

若验证节点为一个,则当核验结果为核验成功时,确定第一分析结果为验证成功;当所述核验结果为核验失败时,确定所述第一分析结果为验证失败;

若验证节点为多个,则当所有核验结果均为成功时,确定第一分析结果为验证成功;否则,确定所述第一分析结果为验证失败。

步骤s180,根据预先确定的第二结果分析规则,对所述第二验证结果进行分析处理,并输出第二分析结果作为所述用户的身份验证结果。

上述预先确定的第二结果分析规则为:

若第二验证结果为验证成功,则第二分析结果为验证成功;

若第二验证结果为验证失败或者所述第二验证结果为空值,则第二分析结果为验证失败。

造成上述第二验证结果为空值的情况为多重身份验证被用户中止。

本实施例在按照预先确定的身份验证规则对第一用户身份信息进行核验后,根据预先确定的判断规则确定是否执行多重身份验证,当确定执行多重身份验证后,将第二用户身份信息发布至区块链网络进行核验,以获得多重身份验证的验证结果。相较于现有技术,本实施例提供的身份验证方法可满足多种应用场景的多样化需求,提高用户身份验证的准确度,同时防止用户身份信息泄露。

进一步地,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有基于区块链的第一身份验证程序,所述基于区块链的第一身份验证程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任一实施例中的基于区块链的身份验证方法。

本发明还提出一种基于区块链的第二身份验证程序。

请参阅图5,是本发明基于区块链的第二身份验证程序20第一实施例的运行环境示意图。

在本实施例中,基于区块链的第二身份验证程序20安装并运行于第二电子装置2中。该第二电子装置2可以是验证节点设备、也可以是所述验证节点设备对应的应用端服务器,还可以是除验证节点设备、应用端服务器之外的其他电子装置,本发明对此不作限定。

第二电子装置2可以是桌上型计算机、笔记本、掌上电脑及服务器等计算设备。该第二电子装置2可包括,但不仅限于,存储器21、处理器22及显示器23。图5仅示出了具有组件21-23的第二电子装置2,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。

存储器21在一些实施例中可以是第二电子装置2的内部存储单元,例如该第二电子装置2的硬盘或内存。存储器21在另一些实施例中也可以是第二电子装置2的外部存储设备,例如第二电子装置2上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器21还可以既包括第二电子装置2的内部存储单元也包括外部存储设备。存储器21用于存储安装于第二电子装置2的应用软件及各类数据,例如基于区块链的第二身份验证程序20的程序代码等。存储器21还可以用于暂时地存储已经输出或者将要输出的数据。

处理器22在一些实施例中可以是一中央处理器(centralprocessingunit,cpu),微处理器或其他数据处理芯片,用于运行存储器21中存储的程序代码或处理数据,例如执行第二身份验证程序20等。在本实施例中,若第二电子装置2为验证节点,则该处理器22可以是智能合约。

显示器23在一些实施例中可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。显示器23用于显示在第二电子装置2中处理的信息以及用于显示可视化的用户界面。第二电子装置2的部件21-23通过系统总线相互通信。

请参阅图6,是本发明基于区块链的第二身份验证程序20第一实施例的程序模块图。在本实施例中,基于区块链的第二身份验证程序20可以被分割成一个或多个模块,一个或者多个模块被存储于存储器21中,并由一个或多个处理器(本实施例为处理器22)所执行,以完成本发明。例如,在图6中,基于区块链的第二身份验证程序20可以被分割成接收模块201及核验模块202。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,比程序更适合于描述基于区块链的第二身份验证程序20在第二电子装置2中的执行过程,其中:

接收模块201,用于接收携带用户身份信息的身份验证请求。

核验模块202,用于对所述用户身份信息进行核验以获得核验结果,且根据所述核验结果,生成携带节点标识信息的回馈信息,并向所述区块链网络广播所述回馈信息。

上述用户身份信息包括用户标识信息及用户身份特征信息。

所述用户身份特征信息包括用户生物信息、身份证件信息中至少一种。

上述用户生物信息包括指纹信息、人脸信息、虹膜信息、声纹信息等用于唯一识别用户身份的生物特征信息。

上述身份证件信息包括身份证号、护照号、员工编号等。

优选地,上述用户身份信息为利用预先确定的第一加密规则对用户身份信息进行加密处理后得到的加密用户身份信息。

其中,第一加密规则包括:利用验证节点的公钥对用户身份信息进行加密处理。

所述核验模块202具体用于:

根据预先确定的第一解密规则(例如,用验证节点的非对称加密私钥)对所述加密用户信息进行解密处理,以获得所述用户身份信息明文作为待验证用户身份信息,所述待验证用户身份信息包括用户标识信息及待验证用户身份特征信息;

根据所述待验证用户身份信息中的用户标识信息及预先确定的用户标识信息与标准用户身份特征信息之间的映射关系,查找所述用户标识信息对应的加密标准用户身份特征信息;

根据预先确定的第二解密规则(例如,利用验证节点的对称加密密钥)对所述加密标准用户身份特征信息进行解密处理,以获得标准用户身份特征信息;

根据所述标准用户身份特征信息,对所述待验证用户身份特征信息进行核验;

当确定所述待验证用户身份特征信息与所述标准用户身份特征信息相同时,输出核验结果为核验成功;

当确定所述待验证用户身份特征信息与所述标准用户身份特征信息不同时,输出核验结果为核验失败。

相较于现有技术,本实施例满足多种应用场景的多样化需求,提高用户身份验证的准确度,同时防止用户身份信息泄露。

本发明还提供一种基于区块链的身份验证方法,该方法适用于区块链网络中身份验证请求的接收端,例如,验证节点。

本实施例中,基于区块链的第二身份验证程序存储在存储器中,且该基于区块链的第二身份验证程序可被一个或者多个处理器执行以实现本实施例中基于区块链的身份验证方法,执行该基于区块链的第二身份验证程序的处理器可设置于验证节点中,也可设置于应用端(例如,公益平台员工管理子系统)中,还也可独立设置于一电子装置中,例如,若该处理器设置于验证节点中,则该处理器可以是该验证节点对应的智能合约。

如图7所示,图7为本发明基于区块链的身份验证方法第二实施例的流程示意图。

本实施例中,该方法包括:

步骤s210,接收携带用户身份信息的身份验证请求。

上述用户身份信息包括用户标识信息及用户身份特征信息。

所述用户身份特征信息包括用户生物信息、身份证件信息中至少一种。

上述用户生物信息包括指纹信息、人脸信息、虹膜信息、声纹信息等用于唯一识别用户身份的生物特征信息。

上述身份证件信息包括身份证号、护照号、员工编号等。

优选地,上述用户身份信息为利用预先确定的第一加密规则对用户身份信息进行加密处理后得到的加密用户身份信息。

其中,第一加密规则包括:利用验证节点的公钥对用户身份信息进行加密处理。

步骤s220,对所述用户身份信息进行核验以获得核验结果,且根据所述核验结果,生成携带节点标识信息的回馈信息,并向所述区块链网络广播所述回馈信息。

优选地,所述步骤s220包括:

根据预先确定的第一解密规则(例如,用验证节点的非对称加密私钥)对所述加密用户信息进行解密处理,以获得所述用户身份信息明文作为待验证用户身份信息,所述待验证用户身份信息包括用户标识信息及待验证用户身份特征信息;

根据所述待验证用户身份信息中的用户标识信息及预先确定的用户标识信息与标准用户身份特征信息之间的映射关系,查找所述用户标识信息对应的加密标准用户身份特征信息;

根据预先确定的第二解密规则(例如,利用验证节点的对称加密密钥)对所述加密标准用户身份特征信息进行解密处理,以获得标准用户身份特征信息;

根据所述标准用户身份特征信息,对所述待验证用户身份特征信息进行核验;

当确定所述待验证用户身份特征信息与所述标准用户身份特征信息相同时,输出核验结果为核验成功;

当确定所述待验证用户身份特征信息与所述标准用户身份特征信息不同时,输出核验结果为核验失败。

相较于现有技术,本实施例满足多种应用场景的多样化需求,提高用户身份验证的准确度,同时防止用户身份信息泄露。

进一步地,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质存储有基于区块链的第二身份验证程序,所述基于区块链的第二身份验证程序可被至少一个处理器执行,以使所述至少一个处理器执行上述任一实施例中的基于区块链的身份验证方法。

以上所述仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是在本发明的发明构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明的专利保护范围内。

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