一种数字身份认证方法、设备、装置、系统及存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及一种数字身份认证方法、设备、装置、系统及计算机可读存储介质。
背景技术
随着信息技术和网络技术的发展,数字身份验证已经成为当今社会中的常见场景。然而,现有技术中的数字身份验证普遍较为简单和单一,对不同重要程度的验证场景也并无区分,均是仅由验证方利用签发数字身份的审批方所提供的数字身份信息与用户提供的证明材料进行比对验证。因此,对于一些安全等级要求较高的应用场景如银行业务场景等,现有技术的安全可靠性显然有待提高。鉴于此,提供一种解决上述问题的方法已经成为本领域技术人员所需重点关注的。
发明内容
本发明的主要目的在于提供一种数字身份认证方法、设备、装置、系统及计算机可读存储介质,旨在解决现有技术中数字身份认证形式单一、安全性能较低的技术问题。
为实现上述目的,本申请提供了一种数字身份认证方法,应用于区块链平台,所述区块链平台预先存储有由审批终端根据注册用户的个人信息加密生成的数字身份信息密文、以及由所述区块链平台生成的与所述数字身份信息密文对应的安全层级,所述数字身份认证方法包括:
响应于用户终端发送的数字身份信息获取请求,将目标用户的数字身份信息密文发送至所述用户终端,以便所述用户终端对所述数字身份信息密文进行解密以获取数字身份信息明文;
应于验证终端发送的数字身份信息获取请求,将所述目标用户的所述数字身份信息密文以及所述安全层级发送至所述验证终端,以便所述验证终端在判定所述数字身份信息密文与所述用户终端提交的数字身份信息明文匹配时,由所述验证终端对所述用户终端进行与所述安全层级对应的安全验证。
可选地,所述安全层级包括第一安全层级、第二安全层级和第三安全层级;与所述第一安全层级对应的安全验证为空,与所述第二安全层级对应的安全验证包括生物信息验证,与所述第三安全层级对应的安全验证的类型包括生物信息验证和硬件密钥设备验证。
可选地,所述生物信息验证包括以下任意一项或者任意组合:
指纹验证、人脸验证、虹膜验证、声纹验证。
可选地,所述区块链平台在用户注册后生成注册用户的加密公钥和用户私钥,以便由所述审批终端利用查询获取的所述加密公钥根据所述注册用户的个人信息加密生成所述数字身份信息密文,并由所述用户终端利用所述区块链平台发送的所述用户私钥解密生成所述数字身份信息明文。
可选地,所述数字身份信息密文包括第一加密消息和第二加密消息,所述第一加密消息包括第一密文,所述第二加密消息包括第二密文;
所述审批终端利用查询获取的所述加密公钥根据所述注册用户的个人信息加密生成所述数字身份信息密文包括:
向所述区块链平台查询获取所述加密公钥;
生成随机密钥和随机salt值;
利用所述随机密钥对由所述个人信息和所述随机salt值构成的散列值进行加密以生成所述第一密文;
利用所述加密公钥对所述随机密钥进行加密以生成所述第二密文。
可选地,所述第一加密消息还包括由所述审批终端利用哈希算法对所述散列值进行加密而生成的第三密文。
可选地,所述第一加密消息还包括由所述审批终端利用审批终端密钥对所述第一密文和所述第三密文进行签名而生成的第一签名值;
所述第二加密消息还包括由所述审批终端利用所述审批终端密钥对所述第二密文进行签名而生成的第二签名值。
可选地,所述用户终端利用所述区块链平台发送的所述用户私钥解密生成所述数字身份信息明文包括:
所述用户终端利用所述用户私钥对所述数字身份信息密文中的所述第二密文解密生成所述随机密钥;利用所述随机密钥对所述数字身份信息密文中的所述第一密文解密生成所述散列值;
所述验证终端判断所述数字身份信息密文与所述用户终端提交的数字身份信息明文是否匹配包括:
所述验证终端利用哈希算法对所述用户终端提交的所述散列值加密生成第三验证密文;判断所述第三验证密文与所述数字身份信息密文中的所述第三密文是否一致;若是,则利用验证终端公钥对所述数字身份信息密文中的所述第一密文和所述第三密文进行签名以生成第一签名验证值,判断所述第一签名验证值与所述数字身份信息密文中的所述第一签名值是否一致;若是,则判定所述数字身份信息密文与所述用户终端提交的数字身份信息明文匹配;若否,则判定所述数字身份信息密文与所述用户终端提交的数字身份信息明文不匹配。
本申请还提供了一种数字身份认证装置,应用于区块链平台,包括:
存储模块,用于预先存储由审批终端根据注册用户的个人信息加密生成的数字身份信息密文、以及由所述区块链平台生成的与所述数字身份信息密文对应的安全层级;
第一处理模块,用于响应于用户终端发送的数字身份信息获取请求,将目标用户的数字身份信息密文发送至所述用户终端,以便所述用户终端对所述数字身份信息密文进行解密以获取数字身份信息明文;
第二处理模块,用于响应于验证终端发送的数字身份信息获取请求,将所述目标用户的所述数字身份信息密文以及所述安全层级发送至所述验证终端,以便所述验证终端在判定所述数字身份信息密文与所述用户终端提交的数字身份信息明文匹配时,由所述验证终端对所述用户终端进行与所述安全层级对应的安全验证。
可选地,所述安全层级包括第一安全层级、第二安全层级和第三安全层级;与所述第一安全层级对应的安全验证为空,与所述第二安全层级对应的安全验证包括生物信息验证,与所述第三安全层级对应的安全验证的类型包括生物信息验证和硬件密钥设备验证。
在上述内容的基础上,优选地,生物信息验证包括以下任意一项或者任意组合:指纹验证、人脸验证、虹膜验证、声纹验证。
可选地,数字身份认证装置还包括:
生成模块,用于在用户注册后生成所述注册用户的加密公钥和用户私钥;
发送模块,用于将所述用户私钥发送至所述用户终端,以便由所述用户终端利用所述用户私钥解密生成所述数字身份信息明文;
所述存储模块还用于存储所述加密公钥,以便由所述审批终端利用查询获取的所述加密公钥根据所述注册用户的个人信息加密生成所述数字身份信息密文。
可选地,数字身份信息密文包括第一加密消息和第二加密消息,第一加密消息包括第一密文,第二加密消息包括第二密文;第一密文由审批终端利用生成的随机密钥对由个人信息和生成的随机salt值构成的散列值进行加密而生成;第二密文由审批终端利用加密公钥对随机密钥进行加密而生成。
可选地,第一加密消息还包括由审批终端利用哈希算法对散列值进行加密而生成的第三密文。
可选地,第一加密消息还包括由审批终端利用审批终端密钥对第一密文和第三密文进行签名而生成的第一签名值;第二加密消息还包括由审批终端利用审批终端密钥对第二密文进行签名而生成的第二签名值。
本申请还提供了另一种数字身份认证方法,应用于验证终端,包括:
接收用户终端发送的数字身份验证请求和数字身份信息明文;所述数字身份信息明文由所述用户终端对在区块链平台中查询获取的目标用户的数字身份信息密文解密生成,所述区块链平台中存储有审批终端生成的各注册用户的数字身份信息密文、以及所述区块链平台生成的与所述数字身份信息密文对应的安全层级;
向所述区块链平台发送数字身份信息获取请求;
接收所述区块链平台发送的所述目标用户的所述数字身份信息密文和所述安全层级;
判断所述数字身份信息密文与所述用户终端提交的所述数字身份信息明文是否匹配;
若是,则对所述用户终端进行与所述安全层级对应的安全验证。
本申请还提供了另一种数字身份认证装置,应用于验证终端,包括:
第一接收模块,用于接收用户终端发送的数字身份验证请求和数字身份信息明文;数字身份信息明文由用户终端对在区块链平台中查询获取的目标用户的数字身份信息密文解密生成,区块链平台中存储有审批终端生成的各注册用户的数字身份信息密文、以及区块链平台生成的与数字身份信息密文对应的安全层级;
请求模块,用于向区块链平台发送数字身份信息获取请求;
第二接收模块,接收区块链平台发送的目标用户的数字身份信息密文和安全层级;
判断模块,用于判断数字身份信息密文与用户终端提交的数字身份信息明文是否匹配;
安全验证模块,用于当所述数字身份信息密文与用户终端提交的数字身份信息明文匹配时,对用户终端进行与安全层级对应的安全验证。
可选地,用户终端提交的数字身份信息明文包括:
由用户终端在利用用户私钥对数字身份信息密文中的第二密文解密生成随机密钥后,利用随机密钥对数字身份信息密文中的第一密文解密生成的散列值;
判断模块104包括:
哈希计算单元,用于利用哈希算法对用户终端提交的散列值加密生成第三验证密文;
哈希判断单元,用于判断第三验证密文与数字身份信息密文中的第三密文是否一致;若否,则判定数字身份信息密文与用户终端提交的数字身份信息明文不匹配;
签名单元,用于当数字身份信息密文与用户终端提交的数字身份信息明文匹配时,利用验证终端公钥对数字身份信息密文中的第一密文和第三密文进行签名以生成第一签名验证值;
签名判断单元,用于判断第一签名验证值与数字身份信息密文中的第一签名值是否一致;若是,则判定数字身份信息密文与用户终端提交的数字身份信息明文匹配;若否,则判定数字身份信息密文与用户终端提交的数字身份信息明文不匹配。
本申请还提供了一种数字身份认证设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的数字身份认证程序,所述数字身份认证程序被所述处理器执行时实现如上所述的任一种数字身份认证方法。
本申请还提供了一种数字身份认证系统,包括区块链平台、与所述区块链平台连接的审批终端和验证终端;其中,所述审批终端用于根据注册用户的个人信息加密生成数字身份信息密文,并发送至所述区块链平台进行存储;所述区块链平台用于生成与所述数字身份信息密文对应的安全层级,并响应于用户终端发送的数字身份获取请求,将目标用户的数字身份信息密文发送至所述用户终端,以便所述用户终端对所述数字身份信息密文进行解密以获取数字身份信息明文;所述验证终端用于响应于所述用户终端发送的数字身份验证请求,在判定从所述区块链平台查询获取的所述数字身份信息密文与所述用户终端提交的所述数字身份信息明文匹配时,对所述用户终端进行与所述安全层级对应的安全验证。
本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数字身份认证程序,所述数字身份认证程序可被一个或者多个处理器执行,以实现如上所述的任一种数字身份认证方法。
本申请利用区块链平台预先存储有由审批终端根据注册用户的个人信息加密生成的数字身份信息密文、以及由所述区块链平台生成的与所述数字身份信息密文对应的安全层级,通过响应于用户终端发送的数字身份信息获取请求,将目标用户的数字身份信息密文发送至所述用户终端,以便所述用户终端对所述数字身份信息密文进行解密以获取数字身份信息明文;并响应于验证终端发送的数字身份信息获取请求,将所述目标用户的所述数字身份信息密文以及所述安全层级发送至所述验证终端,以便所述验证终端在判定所述数字身份信息密文与所述用户终端提交的数字身份信息明文匹配时,由所述验证终端对所述用户终端进行与所述安全层级对应的安全验证。
可见,本申请所提供的数字身份认证方法,引入了与预设的安全层级对应的额外的安全验证,利用区块链平台存储和管理用户的数字身份信息与安全层级,令验证终端在验证了目标用户的数字身份信息之后继续进行与安全层级对应的额外的安全验证,可满足不同用户、不同应用场景下对多种认证方式的定制化需求,进一步提高了数字身份认证的安全可靠性。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为本发明中数字身份认证方法的应用场景示意图;
图2为本发明一实施例中数字身份认证方法的流程示意图;
图3为图2中审批终端加密生成数字身份信息密文的过程的细化流程示意图;
图4为图2中用户终端解密生成数字身份信息明文的过程的细化流程示意图;
图5为本发明一实施例中验证终端判断数字身份信息密文与用户终端提交的数字身份信息明文是否匹配的过程的细化流程示意图;
图6为本发明另一实施例中验证终端判断数字身份信息密文与用户终端提交的数字身份信息明文是否匹配的过程的细化流程示意图;
图7为本发明另一实施例中数字身份认证方法的流程示意图;
图8为本发明一实施例揭露的数字身份认证设备的内部结构示意图;
图9为本发明一实施例揭露的数字身份认证装置的内部结构示意图;
图10为本发明另一实施例揭露的数字身份认证装置的内部结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
参照图1,图1为本发明中数字身份认证方法的应用场景示意图。
如图1所示,审批终端隶属于数字身份的审批方,用于向通过审核的用户签发数字身份;验证终端隶属于验证方,用于对用户进行数字身份认证;区块链平台,作为利用区块链技术进行数据存储管理的数据中心,用于存储审批终端所签发的用户的数字身份信息和对应的安全层级,并向用户终端和验证终端提供查询服务。
不同于现有技术,在本申请所提供的数字身份认证方法中,由区块链平台来存储审批终端为用户签发的数字身份信息,并且为各注册用户的数字身份信息设置了对应的安全层级。本申请所提供的区块链平台作为独立于审批方、验证方、以及用户的数据存储中心,利用区块链技术对用户的数字身份信息进行安全存储、运维和管理,可提供安全、便捷、及时的信息查询服务,充当着数字身份认证过程的中间媒介和沟通桥梁。
其中,区块链是比特币的底层技术架构,在本质上是一种去中心化的分布式账本。区块链技术作为一种持续增长的、按序整理成区块的链式数据结构,通过网络中多个节点共同参与数据的计算和记录,并且互相验证其信息的有效性。将数据放在区块链平台上,可以解放出更多数据,使数据可以真正“流通”起来。
参照图2,图2为本发明一实施例中数字身份认证方法的流程示意图。本发明提供的数字身份认证方法,应用于区块链平台,区块链平台预先存储有由审批终端根据注册用户的个人信息加密生成的数字身份信息密文、以及由区块链平台生成的与数字身份信息密文对应的安全层级,数字身份认证方法包括:
S21:响应于用户终端发送的数字身份信息获取请求,将目标用户的数字身份信息密文发送至用户终端,以便用户终端对数字身份信息密文进行解密以获取数字身份信息明文。
S22:响应于验证终端发送的数字身份信息获取请求,将目标用户的数字身份信息密文以及安全层级发送至验证终端,以便验证终端在判定数字身份信息密文与用户终端提交的数字身份信息明文匹配时,由验证终端对用户终端进行与安全层级对应的安全验证。
为了提高数字身份认证的安全可靠性、改善现有技术中认证方式单一的缺点,本申请中还具体引入了安全层级的设置,以便在验证了数字身份信息之后继续对用户进行与安全层级对应的额外的安全验证。具体地,用户可先在区块链平台进行注册,并向数字身份的审批方进行数字身份的申请。审批方对用户提交的个人信息(例如姓名、出生年月、户籍、照片等)进行审核,审核通过即同意签发数字身份信息后,审批终端根据用户的个人信息通过加密生成数字身份信息密文,并发送至区块链平台进行存储。区块链平台则为各注册用户的数字身份信息设置对应的安全层级。一般地,安全层级越高表示对数字身份认证的安全要求性越高,对应的安全验证的安全系数也越高。
容易理解的是,区块链平台会在用户注册时生成用户ID,以便依据用户ID对各个注册用户的数字身份信息密文和安全层级分别进行存储和管理。当然,处于加强安全保障目的,可要求用户进行实名注册。
具体地,在设置安全层级时,区块链平台可具体根据用户需求而为不同的注册用户设置不同的安全层级;此外,针对同一个用户,还可以根据具体的数字身份认证的应用场景而设置不同的安全层级。例如,在对出入某办公大厦的人员进行数字身份认证的应用场景中,可以设置较低的安全层级;而当银行作为验证方,需要对银行业务的用户进行数字身份认证时,可设置较高的安全层级,以便确保用户资金安全。此外,至于具体设置哪几个安全层级、每个安全层级分别对应哪些安全验证项目,本领域技术人员也可以根据实际应用情况自行选择并设置,本申请并不进行限定。
在用户使用区块链平台进行数字身份认证阶段,区块链平台在接收到来自用户终端的数字身份信息获取请求(携带有目标用户的用户ID)后,便可将该用户终端所请求的目标用户的数字身份信息密文发送至用户终端,以便用户终端通过解密获取目标用户对应的数字身份信息明文,从而将该数字身份信息明文递交至验证终端,并向验证终端请求进行数字身份认证。
验证终端在接收到用户终端发送的数字身份认证请求后,即可向区块链平台发送针对于目标用户的数字身份信息获取请求,以便同样获取区块链平台中存储的该目标用户的数字身份信息密文,同时,区块链平台还会将对应的安全层级发送至验证终端。由此,验证终端即可依据区块链平台提供的该数字身份信息密文对用户终端提交的数字身份信息明文进行验证,并且对目标用户进行与安全层级对应的额外的安全验证。只有当数字身份信息与额外的安全验证均通过时,才认定该目标用户的数字身份认证成功。
本申请利用区块链平台预先存储有由审批终端根据注册用户的个人信息加密生成的数字身份信息密文、以及由区块链平台生成的与数字身份信息密文对应的安全层级,通过响应于用户终端发送的数字身份信息获取请求,将目标用户的数字身份信息密文发送至用户终端,以便用户终端对数字身份信息密文进行解密以获取数字身份信息明文;并响应于验证终端发送的数字身份信息获取请求,将目标用户的数字身份信息密文以及安全层级发送至验证终端,以便验证终端在判定数字身份信息密文与用户终端提交的数字身份信息明文匹配时,由验证终端对用户终端进行与安全层级对应的安全验证。
可见,本申请所提供的数字身份认证方法,引入了与预设的安全层级对应的额外的安全验证,利用区块链平台存储和管理用户的数字身份信息与安全层级,令验证终端在验证了目标用户的数字身份信息之后继续进行与安全层级对应的额外的安全验证,可满足不同用户、不同应用场景下对多种认证方式的定制化需求,进一步提高了数字身份认证的安全可靠性。
本申请所提供的数字身份认证方法,在上述内容的基础上,作为一种优选实施例,安全层级包括第一安全层级、第二安全层级和第三安全层级;与所述第一安全层级对应的安全验证为空,与所述第二安全层级对应的安全验证包括生物信息验证,与所述第三安全层级对应的安全验证的类型包括生物信息验证和硬件密钥设备验证。
其中,生物信息验证针对的是目标用户的生物特性,例如,作为一种优选实施例,所述生物信息验证可包括以下任意一项或者任意组合:
指纹验证、人脸验证、虹膜验证、声纹验证。
需要说明的是,验证终端在对目标用户进行生物信息验证时,具体可调用第三方系统来完成。例如,公安部门的数据系统中可能已经存储了当地居民的指纹信息与人脸信息,则验证终端只需通过相关的指纹采集设备或人脸识别设备来获取目标用户的指纹信息或人脸信息,并发送至公安部门的数据系统进行匹配验证即可。当然,对目标用户的生物信息验证也可以不借助于第三方系统来完成,则用户需要预先直接或者间接地向区块链平台录入自己的生物信息,以便验证终端将采集到的生物信息与区块链平台中存储的生物信息进行比对验证。
此外,硬件密钥设备验证是一种常见于网银交易业务中的安全验证方式。具体地,用户在注册区块链平台时,可由区块链平台为每个注册用户生成并存储对应的密钥,进而可向该注册用户发行存储有该密钥的硬件密钥设备。当验证终端要求用户进行硬件密钥设备验证时,用户即可将该硬件密钥设备插入验证终端供其读取验证。
需要补充的是,如前所述,安全层级越高,对应的安全验证的安全系数越高。因此,可令高安全层级对应的安全验证的项数高于低安全层级对应的安全验证,具体的安全验证方式可在指纹验证、人脸验证、虹膜验证、声纹验证、硬件密钥设备验证等方式中进行选择,本申请并不进行限定。
具体地,在本实施例中,区域连平台共设置有三类安全层级:第一安全层级对应的安全验证为空,即除了数字身份信息验证以外不进行任何额外的安全验证;第二安全层级对应的安全验证为生物信息验证,例如具体可以为指纹验证加人脸验证;第三安全层级对应的安全验证则包括生物信息验证和硬件密钥设备验证,例如具体可以为指纹验证加人脸验证加硬件密钥设备验证。
本申请所提供的数字身份认证方法,在上述内容的基础上,作为一种优选实施例,区块链平台在用户注册后生成并存储有注册用户的加密公钥和用户私钥,以便由审批终端利用查询获取的加密公钥根据注册用户的个人信息加密生成数字身份信息密文,并由用户终端利用区块链平台发送的用户私钥解密生成数字身份信息明文。
在本实施例中,用户的数字身份信息密文具体是通过密钥进行加密的。在用户注册区块链平台时,区块链平台可针对各个注册用户分别生成一对密钥,包括加密公钥和用户私钥。其中,用户私钥发送至用户终端,由用户进行管理;加密公钥可存储在公钥智能合约中,以便审批终端在审核通过了用户的数字身份申请后,通过查询公钥智能合约获取该加密公钥,并利用该加密公钥进行加密以生成该用户的数字身份信息密文。容易理解的是,各注册用户的加密公钥和用户私钥均是成对的匹配密钥,利用用户私钥对由加密公钥加密生成的数字身份信息密文进行解密。其中,所说的用户私钥即可作为前文所述的硬件密钥设备中存储的密钥。
在上述内容的基础上,本申请所提供的数字身份认证方法,作为一种优选实施例,数字身份信息密文包括第一加密消息和第二加密消息,第一加密消息包括第一密文,第二加密消息包括第二密文;
参照图3,图3为审批终端利用查询获取的加密公钥对注册用户的个人信息加密生成数字身份信息密文的过程的细化流程示意图:
S31:向区块链平台查询获取加密公钥pk。
S32:生成随机密钥s和随机salt值。
S33:利用随机密钥s对由个人信息plaintext和随机salt值构成的散列值plaintext||salt进行加密以生成第一密文Es(plaintext||salt)。
S34:利用加密公钥pk对随机密钥s进行加密以生成第二密文Epk(s)。
在本实施例中,审批终端可具体利用从区块链平台获取的加密公钥pk以及随机生成的随机密钥s生成两个密文,以便实现双重加密。具体地,可将用户的个人信息plaintext和随机salt值构成的散列值plaintext||salt利用随机密钥s加密生成第一密文Es(plaintext||salt),而为了保护随机密钥s,可利用加密公钥pk将随机密钥s加密生成第二密文Epk(s),然后将包括了第一密文Es(plaintext||salt)的第一加密消息与包括了第二密文Epk(s)的第二加密消息发送至区块链平台进行存储,从而进一步提高数字身份认证的安全可靠性,保障用户的个人认证信息不被窃取外泄。
在上述内容的基础上,优选地,第一加密消息还包括由审批终端利用哈希算法对散列值plaintext||salt进行加密而生成的第三密文H(plaintext||salt)。在本实施例中,为了提高加密数据的复杂度以提高安全性,审批终端还可利用哈希算法加密生成第三密文H(plaintext||salt)。
在上述内容的基础上,优选地,第一加密消息还包括由审批终端利用审批终端密钥对第一密文Es(plaintext||salt)和第三密文H(plaintext||salt)进行签名而生成的第一签名值Signature1;第二加密消息还包括由审批终端利用审批终端密钥对第二密文Epk(s)进行签名而生成的第二签名值Signature2。
在本实施例中,审批终端还可以利用签名的方法对目标用户的数字身份信息进行加密,以进一步提高数据的安全性和保密性。由此,用Msg1表示第一加密消息,用Msg2表示第二加密消息,则:
Msg1=Es(plaintext||salt)+H(plaintext||salt)+Signature1;
Msg2=Epk(s)+Signature2。
在采用上述Msg1和Msg2作为数字身份信息密文的基础上,参照图4,图4为用户终端利用区块链平台发送的用户私钥解密生成数字身份信息明文的过程的细化流程示意图:
S41:利用用户私钥对数字身份信息密文中的第二密文Epk(s)解密生成随机密钥s。
S42:利用随机密钥s对数字身份信息密文中的第一密文Es(plaintext||salt)解密生成散列值plaintext||salt。
容易理解的是,解密即为加密的逆过程,用户终端可利用用户私钥先解密出随机密钥s,再利用随机密钥s解密出由目标用户的个人信息与随机salt值构成的散列值plaintext||salt,即所说的数字身份信息明文。
参照图5,图5为本发明一实施例中验证终端判断数字身份信息密文与用户终端提交的数字身份信息明文是否匹配的过程的细化流程示意图:
S51:利用哈希算法对用户终端提交的散列值加密生成第三验证密文。
S52:判断第三验证密文与数字身份信息密文中的第三密文是否一致;若否,则进入S53。
S53:判定数字身份信息密文与用户终端提交的数字身份信息明文不匹配。
具体地,验证终端在比对区块链平台中存储的目标用户的数字身份信息密文与用户终端提交的数字身份信息明文(即散列值plaintext||salt)时,首先可同样利用哈希算法对散列值plaintext||salt加密以生成第三验证密文,若第三验证密文与数字身份信息密文中的第三密文不一致,则可判定数字身份认证失败。
参照图6,图6为本发明另一实施例中验证终端判断数字身份信息密文与用户终端提交的数字身份信息明文是否匹配的过程的细化流程示意图:
S61:利用哈希算法对用户终端提交的散列值加密生成第三验证密文。
S62:判断第三验证密文与数字身份信息密文中的第三密文是否一致;若否,则进入S63;若是,则进入S64。
S63:判定数字身份信息密文与用户终端提交的数字身份信息明文不匹配。
S64:利用验证终端公钥对数字身份信息密文中的第一密文和第三密文进行签名以生成第一签名验证值;进入S65。
S65:判断第一签名验证值与数字身份信息密文中的第一签名值是否一致;若是,则进入S66;若否,则进入S63。
S66:判定数字身份信息密文与用户终端提交的数字身份信息明文匹配。
在本实施例中,验证终端对用户终端提交的数字身份信息明文可进行两方面的匹配验证,即在图5中进行的哈希验证的基础上,再进行签名验证,以便进一步保障数据身份信息认证的可靠性。当通过哈希算法计算的第三验证密文与第三密文一致、且签名验证也通过时,可判定用户终端提交的数字身份信息明文与区块链平台中的数字身份信息密文相匹配,即认定该用户的数字身份认证成功。
相对应地,本申请还提供了一种应用于验证终端的数字身份认证方法,参照图7,包括:
S71:接收用户终端发送的数字身份验证请求和数字身份信息明文;所述数字身份信息明文由所述用户终端对在区块链平台中查询获取的目标用户的数字身份信息密文解密生成,所述区块链平台中存储有审批终端生成的各注册用户的数字身份信息密文、以及所述区块链平台生成的与所述数字身份信息密文对应的安全层级。
S72:向区块链平台发送数字身份信息获取请求。
S73:接收区块链平台发送的目标用户的数字身份信息密文和安全层级。
S74:判断数字身份信息密文与用户终端提交的数字身份信息明文是否匹配;若是,则进入S75。
S75:对用户终端进行与安全层级对应的安全验证。
具体内容可参考前文所述的应用于区块链平台的数字身份认证方法,类似内容这里就不再赘述。
进一步地,参照图8,本申请还提供了一种数字身份认证设备8,该数字身份认证设备8可以包括存储器81、处理器82和总线83,存储器81上存储有可在处理器82上运行的数字身份认证程序,所述数字身份认证程序被处理器82执行时实现如上所述的任一种数字身份认证方法。
在本实施例中,数字身份认证设备8可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、网络存储终端设备。数字身份认证设备8可以是组成CDN网络或者区块链网络的节点。
其中,存储器81至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器81在一些实施例中可以是数字身份认证设备8的内部存储单元,例如该数字身份认证设备8的硬盘。存储器81在另一些实施例中也可以是数字身份认证设备8的外部存储设备,例如数字身份认证设备8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器81还可以既包括数字身份认证设备8的内部存储单元也包括外部存储设备。存储器81不仅可以用于存储安装于数字身份认证设备8的应用软件及各类数据,例如数字身份认证程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器82在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器81中存储的程序代码或处理数据,例如执行数字身份认证程序等。
该总线83可以是外设部件互连标准(peripheral component interconnect,简称PCI)总线或扩展工业标准结构(extended industry standard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
进一步地,数字身份认证设备8还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在数字身份认证设备8与其他电子设备之间建立通信连接。
可选地,该数字身份认证设备8还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在数字身份认证设备8中处理的信息以及用于显示可视化的用户界面。
图8仅示出了具有组件81-83以及数字身份认证程序的数字身份认证设备8,本领域技术人员可以理解的是,图8示出的结构并不构成对数字身份认证设备8的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
进一步地,本申请还提供了一种数字身份认证装置,应用于区块链平台,参照图9,图9为本申请一实施例揭露的数字身份认证装置的内部结构示意图包括:
存储模块91,用于预先存储由审批终端根据注册用户的个人信息加密生成的数字身份信息密文、以及由区块链平台生成的与数字身份信息密文对应的安全层级;
第一处理模块92,用于响应于用户终端发送的数字身份信息获取请求,将目标用户的数字身份信息密文发送至用户终端,以便用户终端对所述数字身份信息密文进行解密以获取数字身份信息明文;
第二处理模块93,用于响应于验证终端发送的数字身份信息获取请求,将目标用户的数字身份信息密文以及安全层级发送至验证终端,以便验证终端在判定数字身份信息密文与用户终端提交的数字身份信息明文匹配时,由验证终端对用户终端进行与安全层级对应的安全验证。
可见,本申请引入了与预设的安全层级对应的额外的安全验证,利用区块链平台存储和管理用户的数字身份信息与安全层级,令验证终端在验证了目标用户的数字身份信息之后继续进行与安全层级对应的额外的安全验证,可满足不同用户、不同应用场景下对多种认证方式的定制化需求,进一步提高了数字身份认证的安全可靠性。
在上述内容的基础上,优选地,安全层级包括第一安全层级、第二安全层级和第三安全层级;与第一安全层级对应的安全验证为空,与第二安全层级对应的安全验证包括生物信息验证,与第三安全层级对应的安全验证包括生物信息验证和硬件密钥设备验证。
在上述内容的基础上,优选地,生物信息验证包括以下任意一项或者任意组合:指纹验证、人脸验证、虹膜验证、声纹验证。
在上述内容的基础上,优选地,数字身份认证装置还包括:
生成模块,用于在用户注册后生成所述注册用户的加密公钥和用户私钥;
发送模块,用于将所述用户私钥发送至所述用户终端,以便由所述用户终端利用所述用户私钥解密生成所述数字身份信息明文;
所述存储模块还用于存储所述加密公钥,以便由所述审批终端利用查询获取的所述加密公钥根据所述注册用户的个人信息加密生成所述数字身份信息密文。
在上述内容的基础上,优选地,数字身份信息密文包括第一加密消息和第二加密消息,第一加密消息包括第一密文,第二加密消息包括第二密文;第一密文由审批终端利用生成的随机密钥对由个人信息和生成的随机salt值构成的散列值进行加密而生成;第二密文由审批终端利用加密公钥对随机密钥进行加密而生成。
在上述内容的基础上,优选地,第一加密消息还包括由审批终端利用哈希算法对散列值进行加密而生成的第三密文。
在上述内容的基础上,优选地,第一加密消息还包括由审批终端利用审批终端密钥对第一密文和第三密文进行签名而生成的第一签名值;第二加密消息还包括由审批终端利用审批终端密钥对第二密文进行签名而生成的第二签名值。
进一步地,本申请还提供了另一种数字身份认证装置,应用于区块链平台,参照图10,图10为本申请另一实施例揭露的数字身份认证装置的内部结构示意图,包括:
第一接收模块101,用于接收用户终端发送的数字身份验证请求和数字身份信息明文;数字身份信息明文由用户终端对在区块链平台中查询获取的目标用户的数字身份信息密文解密生成,区块链平台中存储有审批终端生成的各注册用户的数字身份信息密文、以及区块链平台生成的与数字身份信息密文对应的安全层级;
请求模块102,用于向区块链平台发送数字身份信息获取请求;
第二接收模块103,接收区块链平台发送的目标用户的数字身份信息密文和安全层级;
判断模块104,用于判断数字身份信息密文与用户终端提交的数字身份信息明文是否匹配;
安全验证模块105,用于当所述数字身份信息密文与用户终端提交的数字身份信息明文匹配时,对用户终端进行与安全层级对应的安全验证。
在上述内容的基础上,优选地,用户终端提交的数字身份信息明文包括:
由用户终端在利用用户私钥对数字身份信息密文中的第二密文解密生成随机密钥后,利用随机密钥对数字身份信息密文中的第一密文解密生成的散列值;
判断模块104包括:
哈希计算单元,用于利用哈希算法对用户终端提交的散列值加密生成第三验证密文;
哈希判断单元,用于判断第三验证密文与数字身份信息密文中的第三密文是否一致;若否,则判定数字身份信息密文与用户终端提交的数字身份信息明文不匹配;
签名单元,用于当数字身份信息密文与用户终端提交的数字身份信息明文匹配时,利用验证终端公钥对数字身份信息密文中的第一密文和第三密文进行签名以生成第一签名验证值;
签名判断单元,用于判断第一签名验证值与数字身份信息密文中的第一签名值是否一致;若是,则判定数字身份信息密文与用户终端提交的数字身份信息明文匹配;若否,则判定数字身份信息密文与用户终端提交的数字身份信息明文不匹配。
进一步地,本申请还提供了一种数字身份认证系统,包括区块链平台、与区块链平台连接的审批终端和验证终端;其中,审批终端用于根据注册用户的个人信息加密生成数字身份信息密文,并发送至区块链平台进行存储;区块链平台用于生成与数字身份信息密文对应的安全层级,并响应于用户终端发送的数字身份获取请求,将目标用户的数字身份信息密文发送至用户终端,以便用户终端对数字身份信息密文进行解密以获取数字身份信息明文;验证终端用于响应于用户终端发送的数字身份验证请求,在判定从区块链平台查询获取的数字身份信息密文与用户终端提交的数字身份信息明文匹配时,对用户终端进行与安全层级对应的安全验证。
进一步地,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有数字身份认证程序,所述数字身份认证程序可被一个或者多个处理器执行,以实现如上所述的任一种数字身份认证方法。
进一步地,本申请还提供了一种计算机程序产品,包括计算机指令,当其在计算机上运行时,使得计算机可以执行上述任一种数字身份认证方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数字身份认证设备、系统和计算机可读存储介质的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。