CN112948789B - 身份认证方法及装置、存储介质及电子设备 - Google Patents
身份认证方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN112948789B CN112948789B CN202110423361.7A CN202110423361A CN112948789B CN 112948789 B CN112948789 B CN 112948789B CN 202110423361 A CN202110423361 A CN 202110423361A CN 112948789 B CN112948789 B CN 112948789B
- Authority
- CN
- China
- Prior art keywords
- verification
- public
- parameter
- input information
- user
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种身份认证方法及装置、存储介质及电子设备,在用户需要进行身份认证时,在受信任存储区中获取用户的私密输入信息,所述受信任存储区不被外部设备非法读取,保证了获取用户私密输入信息的安全性,并获取身份认证所需的第一公共参数,通过预设的证明算法对第一公共参数进行运算,获得第一验证参数,并对第一验证参数进行签名,保证第一验证参数在传输至验证设备过程中的安全性,同时,用户的私密输入信息经过运算后,传输相应的第一验证参数,也保障了用户的私密输入信息的安全性,在将第一验证参数发送至验证设备后,触发所述验证设备对所述第一验证参数进行验证,确保了用户的私密输入信息不被泄露,提升了用户身份认证的安全性。
Description
技术领域
本发明涉及计算机技术领域,尤其是涉及一种身份认证方法及装置、存储介质及电子设备。
背景技术
随着网络科技的发展,各种互联网产品的应用逐步广泛,用户可以通过互联网产品进行购物、转账以及办理各种所需的业务,很大程度上便捷了人们的生活和工作。同时,为了保障用户在应用互联网产品过程的安全性,在用户登录互联网产品或在应用互联网产品进行交互的过程中,需要对用户的相关身份及信息进行认证,以确保对互联网产品执行的唯一性。
发明人经过研究发现,现有互联网产品中所用的身份认证方法,一般需要用户直接上传个人信息,例如用户的身份证信息、营业信息或者通过人脸识别的方式进行认证等,认证系统通过不同的渠道来对比用户上传的个人信息,从而确定身份的可靠性。现有的身份认证方式,直接采用了用户上传的个人信息进行认证,容易对用户的个人信息造成泄漏,缺乏对用户个人信息的保护,降低了身份认证的安全性。
发明内容
有鉴于此,本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的一种身份认证方法及装置、存储介质及电子设备,技术方案如下所述:
一种身份认证方法,所述方法应用于请求设备,所述方法包括:
当用户需要进行身份认证时,向验证设备发送身份认证请求,以触发所述验证设备反馈与所述身份认证请求相对应的随机数以及已签名的第一公共参数;
在已建立的受信任存储区中获取所述用户的私密输入信息;
获取与所述身份认证请求对应的公有输入信息;
应用所述公有输入信息中的权威机构公钥对所述第一公共参数的签名进行验证;
当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数;
对所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作;
将经过签名的所述随机数、所述公有输入信息以及所述第一验证参数发送至所述验证设备,以使所述验证设备依据所述随机数、已获取的第二公共参数以及所述公有输入信息验证所述第一验证参数是否满足预设的验证条件,并在所述第一验证参数满足所述预设的验证条件时,通过对所述用户的身份认证。
上述的方法,可选的,所述在已建立的受信任存储区中获取所述用户的私密输入信息,包括:
获取预先存储在所述受信任存储区中的已加密的所述用户的私密输入信息;
接收所述用户通过所述受信任存储区输入的解密密码;
应用所述解密密码对已加密的所述用户的私密输入信息进行解密,以在所述受信任存储区中获取所述用户的私密输入信息。
上述的方法,可选的,所述当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数,包括:
获取所述私密输入信息中包含的所述用户的个人信息;
获取所述个人信息中包含的所述用户的各个私密信息;
获取预先设定的权威机构的预设电路所对应的证明算法,对所述第一公共参数、所述公有输入信息以及各个所述私密信息进行计算,以获得所述第一验证参数。
上述的方法,可选的,所述对所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作,包括:
获取所述用户的私钥;
应用所述用户的私钥对所述公有输入信息、所述第一验证参数以及所述随机数进行签名。
上述的方法,可选的,所述公有输入信息与所述用户的私密输入信息满足预先设定的权威机构的预设电路的约束条件;
所述公有输入信息包括:所述用户的公钥、所述权威机构的公钥、已建立的默克尔树的根哈希的签名项以及与所述预设电路的约束条件相对应的各个公开参数;
所述私密输入信息包括:所述用户的个人信息、所述默克尔树的根哈希以及与所述预设电路对应的各个私密信息。
一种身份认证装置,所述装置应用于请求设备,所述装置包括:
第一发送单元,用于当用户需要进行身份认证时,向验证设备发送身份认证请求,以触发所述验证设备反馈与所述身份认证请求相对应的随机数以及已签名的第一公共参数;
第一获取单元,用于在已建立的受信任存储区中获取所述用户的私密输入信息;
第二获取单元,用于获取与所述身份认证请求对应的公有输入信息;
第一验证单元,用于应用所述公有输入信息中的权威机构公钥对所述第一公共参数的签名进行验证;
计算单元,用于当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数;
签名单元,用于所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作;
第二验证单元,用于将经过签名的所述随机数、所述公有输入信息以及所述第一验证参数发送至所述验证设备,以使所述验证设备依据所述随机数、已获取的第二公共参数以及所述公有输入信息验证所述第一验证参数是否满足预设的验证条件,并在所述第一验证参数满足所述预设的验证条件时,通过对所述用户的身份认证。
一种身份认证方法,所述方法应用于验证设备,所述方法包括:
当接收到用户应用请求设备发送的身份认证请求时,向所述请求设备发送与所述身份认证请求对应的随机数以及经过签名的第一公共参数;
在接收到所述请求设备反馈的验证所需的经过签名的公有输入信息、第一验证参数以及随机数时,验证所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数是否一致;
当所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数一致时,应用所述公有输入信息中的所述用户的公钥验证所述第一验证参数、所述公有输入信息以及所述随机数的签名是否有效;
当所述第一验证参数、所述公有输入信息以及所述随机数的签名有效时,结合已获取的第二公共参数、所述公有输入信息以及所述第一验证参数确定所述第一验证参数是否满足预设的验证条件,当所述第一验证参数满足预设的验证条件时,通过对所述用户的身份认证。
一种身份认证装置,所述装置应用于验证设备,所述装置包括:
第二发送单元,用于当接收到用户应用请求设备发送的身份认证请求时,向所述请求设备发送与所述身份认证请求对应的随机数以及经过签名的第一公共参数;
第三验证单元,用于在接收到所述请求设备反馈的验证所需的经过签名的公有输入信息、第一验证参数以及随机数时,验证所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数是否一致;
第四验证单元,用于当所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数一致时,应用所述公有输入信息中的所述用户的公钥验证所述第一验证参数、所述公有输入信息以及随机数的签名是否有效;
第五验证单元,用于当所述第一验证参数、所述公有输入信息以及所述随机数的签名有效时,结合已获取的第二公共参数、所述公有输入信息以及所述第一验证参数确定所述第一验证参数是否满足预设的验证条件,当所述第一验证参数满足预设的验证条件时,通过对所述用户的身份认证。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述应用在请求设备的身份认证方法或执行上述应用在验证设备的身份认证方法。
一种电子设备,包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述应用在请求设备的身份认证方法或执行上述应用在验证设备的身份认证方法。
基于上述本发明实施例提供的一种身份认证方法,所述方法包括:当用户需要进行身份认证时,向验证设备发送身份认证请求,以触发所述验证设备反馈与所述身份认证请求相对应的随机数以及已签名的第一公共参数;在已建立的受信任存储区中获取所述用户的私密输入信息;获取与所述身份认证请求对应的公有输入信息;应用所述公有输入信息中的权威机构公钥对所述第一公共参数的签名进行验证;当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数;对所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作;将经过签名的所述随机数、所述公有输入信息以及所述第一验证参数发送至所述验证设备,以使所述验证设备依据所述随机数、已获取的第二公共参数以及所述公有输入信息验证所述第一验证参数是否满足预设的验证条件,并在所述第一验证参数满足所述预设的验证条件时,通过对所述用户的身份认证。
本发明实施例提供的认证方法中,在用户需要进行身份认证时,在已建立的受信任存储区中获取用户的私密输入信息,所述受信任存储区不被外部设备非法读取,保证了获取用户私密输入信息的安全性,并获取进行身份认证所需的公有输入信息以及已签名的第一公共参数,通过预设的证明算法对获取的用户的私密输入信息以及所述公有输入信息、第一公共参数进行运算,获得第一验证参数,并对所述第一验证参数进行签名,保证所述第一验证参数在传输至验证设备过程中的安全性,同时,用户的私密输入信息经过运算后,传输相应的第一验证参数,也保障了用户的私密输入信息的安全性,在将所述第一验证参数发送至验证设备后,触发所述验证设备对所述第一验证参数进行验证,确保了用户的私密输入信息不被泄露,提升了用户身份认证的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种身份认证方法的方法流程图;
图2为本发明实施例提供的一种身份认证方法的实例图;
图3为本发明实施例提供的一种身份认证装置的结构示意图;
图4为本发明实施例提供的一种身份认证方法的又一方法流程图;
图5为本发明实施例提供的一种身份认证装置的又一结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种身份认证方法,所述方法应用于请求设备,所述请求设备可以是终端或系统平台,所述终端可以为手机等手持设备,所述系统平台可以为企业办公平台等允许用户使用的办公平台,应用在请求设备中的所述身份认证方法的执行主体可以是设置在终端或系统平台中的处理器,参考图1示出了本发明实施例提供的身份认证方法的方法流程图,所述方法包括:
S101:当用户需要进行身份认证时,向验证设备发送身份认证请求,以触发所述验证设备反馈与所述身份认证请求相对应的随机数以及已签名的第一公共参数;
本发明实施例提供的方法中,用户需要进行身份认证时,用户可以通过请求设备向验证设备发送身份认证请求,所述请求设备与所述验证设备相对应,所述请求设备设置在用户可以接触的区域中,所述验证设备在接收到用户通过请求设备发送的身份认证请求时,反馈与身份认证请求对应的随机数以及已签名的第一公共参数给用户。
所述第一公共参数由预建立的权威机构的预设电路产生。
S102:在已建立的受信任存储区中获取所述用户的私密输入信息;
本发明实施例提供的方法中,处理器在已建立的受信任存储区中获取用户的私密输入信息,所述用户的私密输入信息中包括所述用户的个人信息,所述用户的个人信息可以包括多个用户的私密信息,所述私密信息可以为用户的姓名、性别、出生日期、居住地址以及身份号码等私密信息。
本发明实施例提供的方法中,使用安全芯片所提供的可信计算技术,为用户的身份认证的计算过程提供了可信的硬件系统,并在可信硬件系统中预先建立受信任存储区,所述受信任存储区可以是开放移动终端组织的TEE和SE组成的可信计算环境。
本发明实施例提供的受信任存储区中的数据,不可被外部设备非法读取。
本发明实施例提供的受信任存储区中存储的用户的私密输入信息经过加密保护,密码不保存在硬件系统中,需要使用用户的私密输入信息时,密码由用户通过所述受信任存储区进行输入。
本发明实施例提供的方法中,用户的私密输入信息以及用户进行身份认证过程中所需要使用的用户私钥均可归属为用户的私密输入信息,用户的私密输入信息均需要加密保存在所述受信任存储区中,进而充分的保证了用户私密输入信息的安全。
S103:获取与所述身份认证请求对应的公有输入信息;
本发明实施例提供的方法中,用户在身份认证过程中,会应用到多种公有信息,在获取到用户的个人信息后,处理器获取获取与用户本次发送的身份认证请求对应的公有输入信息,所述公有输入信息可以是用户的公钥、预建立的权威机构的公钥、已建立的默克尔树的根哈希的签名项以及与所述预设电路的约束条件相对应的各个公开参数。
S104:应用所述公有输入信息中的权威机构公钥对所述第一公共参数的签名进行验证;
本发明实施例提供的方法中,采用零知识证明的原理,在不直接提供用户的个人信息的情况下,完成对用户身份的认证过程。
本发明实施例提供的方法中,在零知识证明的支持下,预设有执行电路,该电路可生成用于身份认证的第一公共参数和第二公共参数。
本发明实施例提供的方法中,第一公共参数与第二公共参数分别是与电路相关联的一组随机数,且不唯一,无论第一公共参数与第二公共参数的取值如何,均与电路保持相关性。
本发明实施例提供的方法中,由进行身份认证的数学模型确定预设电路的电路逻辑,根据确定的电路逻辑可以确定两组公共参数,即第一公共参数与第二公共参数。
所述第一公共参数和第二公共参数及其签名项存储在验证设备处,当用户进行身份验证时,所述第一公共参数及其签名项提供给请求设备处,请求设备处根据公开的权威机构公钥对所述第一公共参数的签名进行验证,保证该第一公共参数是与预设电路相关的第一公共参数且传输过程未被篡改。
本发明实施例提供的方法中,可采用默克尔树作为认证模型,在用户的个人信息确定的前提下,默克尔树的各个叶子节点也相应确定下来,进而使整个默克尔树的计算方式和计算结果确定下来。
S105:当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数;
本发明实施例提供的方法中,在获取到用户的私密输入信息、所述公有输入信息以及所述第一公共参数后,采用预设的Prove证明算法,对上述信息进行运算,获得第一验证参数,所述第一验证参数是经过对上述各个信息进行逻辑运算后所获得的参数,其包含了上述各个参数以及各个参数之间的关联逻辑。
本发明实施例提供的方法中,在需要对第一公共参数进行运算时,通过响应的运算方法对已签名的第一公共参数进行处理,获得该第一公共参数。
S106:对所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作;
本发明实施例提供的方法中,为了保证运算得到的第一验证参数、公有输入信息以及随机数在传输过程中的安全性,对所述第一验证参数、所述公有输入信息以及所述随机数以用户的私钥进行签名操作,获得经过签名的第一验证参数、公有输入信息和随机数。
本发明实施例提供的方法中,上述签名可以为分别对第一验证参数、公有输入信息以及随机数进行签名,也可以对上述各个信息进行封装后的整体签名。
S107:将经过签名的所述随机数、所述公有输入信息以及所述第一验证参数发送至所述验证设备,以使所述验证设备依据所述随机数、已获取的第二公共参数以及所述公有输入信息验证所述第一验证参数是否满足预设的验证条件,并在所述第一验证参数满足所述预设的验证条件时,通过对所述用户的身份认证。
本发明实施例提供的方法中,将经过签名的所述随机数、所述公有输入信息以及所述第一验证参数发送至所述验证设备,触发验证设备依据随机数、已获取的第二公共参数以及公有输入信息验证所述第一参数是否满足预设的验证条件,如果满足则通过对所述用户的身份认证。
本发明实施例提供的方法中,通过相应的运算方法从经过签名的所述随机数、所述公有输入信息以及第一验证参数中,获取上述随机数、公有输入信息以及第一验证参数。
本发明实施例提供的认证方法中,在用户需要进行身份认证时,在已建立的受信任存储区中获取用户的私密输入信息,所述受信任存储区不被外部设备非法读取,保证了获取用户私密输入信息的安全性,并获取进行身份认证所需的公有输入信息以及已签名的第一公共参数,通过预设的证明算法对获取的用户的私密输入信息以及所述公有输入信息、第一公共参数进行运算,获得第一验证参数,并对所述第一验证参数进行签名,保证所述第一验证参数在传输至验证设备过程中的安全性,同时,用户的私密输入信息经过运算后,传输相应的第一验证参数,也保障了用户的私密输入信息的安全性,在将所述第一验证参数发送至验证设备后,触发所述验证设备对所述第一验证参数进行验证,确保了用户的私密输入信息不被泄露,提升了用户身份认证的安全性。
本发明实施例提供的方法中,预先建立有权威机构,该权威机构针对身份认证的信息项进行算法设计,本发明实施例提供的方法中对用户的个人信息使用默克尔树做数据建模,并通过权威机构对建模数据所对应的根哈希做签名计算,计算出来的签名项作为公有输入信息的一部分,根哈希作为私密输入信息的一部分;个人信息确定下来后,计算出来的根哈希也是确定的,进而对应的签名项也是确定的。
本发明实施例提供的方法中,根据具体算法形成预设电路,然后通过逻辑转化把预设电路归约为零知识证明数学公式,包括公共参数算法、证明算法和验证算法,通过公共参数算法生成第一公共参数和第二公共参数并分别对两组公共参数做签名,并对外公开发布带签名的第一公共参数和第二公共参数、证明算法和验证算法。
本发明实施例提供的方法中,个人向权威机构申请身份认证装置,例如带电子芯片的居民身份证,权威机构基于申请人的个人信息,计算默克尔树的根哈希,并对根哈希做签名计算,把私密输入信息,可以包括个人信息及计算出来的私密输入信息,以及相应的公有输入信息作为身份认证信息,保存在身份认证电子芯片中,例如,居民身份证电子芯片,并在电子芯片中使用公开的证明算法;
本发明实施例提供的方法,所涉及到的身份验证设备根据权威机构公开发布的信息,在电子芯片中保存带有权威机构签名项的第一公共参数和第二公共参数,并使用公开的验证算法。
本发明实施例提供的方法中,所述在已建立的受信任存储区中获取所述用户的私密输入信息,包括:
获取预先存储在所述受信任存储区中的已加密的所述用户的私密输入信息;
接收所述用户通过所述受信任存储区输入的解密密码;
应用所述解密密码对已加密的所述用户的私密输入信息进行解密,以在所述受信任存储区中获取所述用户的私密输入信息。
本发明实施例提供的方法中,受信任存储区不被外部设备非法读取,因此在需要进行解密操作时,通过用户输入解密密码,保证了获取用户的私密输入信息的安全性。
本发明实施例提供的方法中,所述当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数,包括:
获取所述私密输入信息中包含的所述用户的个人信息;
获取所述个人信息中包含的所述用户的各个私密信息;
获取预先设定的权威机构的预设电路所对应的证明算法,对所述第一公共参数、所述公有输入信息以及各个所述私密信息进行计算,以获得所述第一验证参数。
本发明实施例提供的方法中,通过权威机构的预设电路对应的证明算法,对上述各个信息进行计算,获得第一验证参数。
本发明实施例提供的方法中,采用零知识证明的认证原理,更好的保护了用户的各个隐私信息。
零知识证明的逻辑过程定义如下:
(Sp,Sv)=Setup(C);
通过电路C进行一系列的预处理,然后生成两组公共参数,其中,Sp是给证明方的公共参数,即上述中分配给用户的第一公共参数,Sv是给验证方的公共参数,及上述分配给验证设备的第二公共参数。
π=Prove(Sp,x,w);
证明方用Prove算法来生成一个证明π,然后把这个证明π发送给验证方。其中,Sp是给证明方的公共参数,x是公有输入,w是私密输入,x和w符合电路C的约束C(x,w)=0。
true/false=Verify(Sv,x,π);
验证方会得到证明方给出公开信息x和证明π,然后可以用Verify这个算法来验证证明方计算出来的证明π是否符合要求。
这个算法会返回一个true/false的数值,表示验证是否通过。如果验证通过,表示证明方确实提供了符合符合电路C的约束C(x,w)=0的私密输入。
可以理解的是上述通过算法得到的证明π,是本发明实施例提供的身份认证方法中所要得到的第一验证参数。
本发明实施例提供的方法中,权威机构(比如公安部)可自行设定身份认证的数学模型(定义身份证上的各个信息项,以及信息项的默克尔树生成方式,及根哈希的签名计算方式),该数学模型设立完成后,就确立了电路,电路确立后,就确定了零知识证明数学公式,其中包括公共参数算法、证明算法和验证算法,并可以预生成出二组公共参数。
相当于公安部把身份证的整体设计确定下来了,相关的公共参数、证明算法和验证算法就确定下来了,然后把这二组公共参数做签名,可以公开提供给所有做身份验证设备的制造商,让他们把这二组加了签名的公共参数存储到设备里面。制造商同时可以使用公安部公开的证明算法和验证算法做身份证明和身份认证。
做认证交互的时候,认证设备向证明方发送带签名的Sp公共参数,证明方确认Sp公共参数是权威部门发布的(验签名),就使用Sp计算出π,给到认证设备。
认证设备从自己设备处读取Sv公共参数,做验证。
本发明实施例提供的方法中,所涉及到的所有加密以及解密操作,以及相关信息的处理均在受信任存储区以及可信计算环境中进行,例如:私密输入信息的解密操作在可信计算环境进行,不会泄露密码信息和解密后的私密输入信息;
身份的证据信息构建在可信计算环境进行,不会泄露身份信息;
数据的签名在可信计算环境进行,不会泄露用户私钥信息;
本发明实施例提供的方法中通过默克尔树来构建基于零知识证明的身份认证信息,在身份认证过程中其主要实现的目标可以包括:
不泄露具体身份信息的条件下,验证其签名信息是由指定权威机构所签发;通过签名项信息和权威机构提供的公钥来验证。
验证某些隐私信息满足指定的数学约束条件。
参考图2,示出了本发明实施例提供的身份认证方法中默克尔树的构建过程,本发明案例对身份信息中不同的内容部分,按照默克尔树的方式来构建并计算对应的默克尔树的根哈希,然后由对应的权威机构使用私钥进行签名并输出签名项。
本发明实施例提供的方法中,为了实现身份认证,参与构建默克尔树的信息里面必须包含的公开信息为身份所有者公钥;
所述身份所有者的公钥,即上述内容中提到的申请身份认证的用户的公钥用于在身份认证信息交换协议中,确认身份认证信息是由身份所有者提供的。同时,也是身份的标识符,满足身份的唯一性和有效性。
本发明实施例提供的方法中,参与构建默克尔树的公开信息包括身份所有者的公钥、权威机构的公钥、默克尔树的根哈希的签名项以及其它满足预设电路的约束条件的公开参数,即对应公有输入信息,即上述的x信息。
本发明实施例提供的方法中,零知识证明提供的身份信息分成二部分:
公有输入信息对应的公开信息,以及相应的身份信息中的隐私信息,其中公有输入信息对应的公开信息包括:
身份所有者的公钥信息;
签发方的公钥信息;
默克尔树的根哈希的签名项;
指定数学约束条件的公开参数;比如:出生年月日+16年>当前年月日,公开参数是16和当前年月日,隐私信息是出生年月日。
身份信息中,隐私信息包括:
身份信息中各种隐私信息;比如中华人民共和国居民身份证信息中的姓名,性别,民族,出生年月日,地址,公民身份号码等等。
本发明实施例提供的方法中,通过以下步骤来构建基于零知识证明的相关信息:
把身份认证信息的身份所有者的公钥及其它信息进行哈希计算,并作为默克尔树的叶子节点;通过叶子节点的哈希值,计算出默克尔树的根哈希值,权威机构对根哈希值进行签名并对外公开其公钥和计算的签名项。通过根哈希值、权威机构公钥和签名项可以验证签名的有效性。
本发明实施例提供的方法中将构建默克尔树的逻辑转化为零知识证明的电路C0,其中x是公有输入,w是私密输入,x和w符合电路C0的约束:C0(x,w)=0。
这里公有输入x=(身份所有者的公钥,权威机构的公钥,默克尔树的根哈希签名项,其它公有输入项);
这里私密输入w=(姓名,性别,出生年月日,地址,其它私密输入项)。
(Sp,Sv)=Setup(C):权威机构通过电路C进行一系列的预处理,然后生成两组公共参数,其中,Sp是给证明方的公共参数,Sv是给验证方的公共参数。因为公共参数不具有唯一性,所以权威机构需要对Sp和Sv进行签名,并对外公开其公钥和计算的签名项。
本发明实施例提供的方法中,身份所有者需要把相关信息都保存在可信身份认证装置的安全芯片中,以支持后续的身份认证信息交换协议,存在安全芯片中的信息包括:
所有者私钥sk、
公有输入x、
私密输入w、
Sp及签名项sign_Sp、
Sv及签名项sign_Sv。
本发明实施例提供的方法中,在点对点的身份认证信息交换过程中,需要确认身份认证信息是由身份所有者提供的,这里需要引入身份信息交换协议来解决这个问题。
身份信息交换协议解决上述问题的方式是使用一个挑战随机数,主要流程如下:
验证方发送挑战随机数r给证明方;
证明方基于安全芯片的硬件系统来计算proof值:π=Prove(Sp,x,w);
证明方用私钥sk对x、π、r进行签名:sign_xπr=sign(x、π,r,sk)。
证明者把以下数据都发送给验证方:
本发明实施例提供的方法中,具体的签名算法处理过程,可以是各自把π和r做哈希计算后,得到π对应的哈希结果与r对应的哈希结果,然后将两个哈希结果再次做哈希运算,得到最终的哈希结果h,最后对最终的哈希结果h通过非对称加密算法进行签名计算。
证明方将以下数据发送给验证方:
公有输入x、
proof值π、
随机数r、
Sv及签名项sign_Sv、
签名项sign_xπr。
验证者对以下数据进行验证,以证明数据签名的有效性:
true/false=sign_verify(sign_Sv,Sv,权威机构公钥);
true/false=sign_verify(sign_xπr,x,π,r,所有者公钥)。
验签名的逻辑也一致,先根据π和r的哈希组合逻辑计算出最终哈希结果h,然后通过非对称加密算法进行验签计算。
验证者用Verify这个算法来验证证明方计算出来的证明π是否符合要求:true/false=Verify(Sv,x,π)。
本发明实施例提供的方法中,使用基于安全芯片的硬件系统来构建身份认证信息的可信计算环境,相关的数据都存储在安全芯片中,可以防止数据被外部装置暴力读取;同时,相关的数据计算都在一个可信计算环境中进行,可以保证计算数据的安全性,防止数据被非法读取,保证了隐私数据的安全性。
本发明实施例提供的方法中,使用默克尔树方式对身份认证信息进行数据建模,并通过权威机构对默克尔的根哈希进行签名认证,然后按照上述整个数据建模和签名逻辑来构建零知识证明,这样在点对点的信息交换过程中,完成了对数据的隐私保护;同时,通过权威机构的背书能力,对身份认证信息进行了签名背书,保证了身份认证信息的权威性。
本发明实施例提供的方法中,利用权威机构的背书能力,对零知识证明的公共参数进行了签名背书,保证了零知识证明整个验证过程的安全性。
本发明实施例提供的方法中,设计了一种点对点的数据交换协议,通过引入随机挑战数和签名机制,可以验证身份认证信息是由身份所有者提供,而不是通过简单的数据复制方式来提供的。比如:用户A和身份所有者进行了一次身份认证信息的数据交换,用户A获得了x、π、r和对应的签名项sign_xπr后,可以复制给用户B,但是因为不同的交互中随机挑战数r不同,π、x、r和sign_xπr没法通过用户B的验证。
本发明实施例提供的方法中,参数π仅为参数的代号,不属于数学范畴中所理解的数学概念。
本发明实施例提供的方法中,所述对所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作,包括:
获取所述用户的私钥;
应用所述用户的私钥对所述公有输入信息、所述第一验证参数以及所述随机数进行签名。
本发明实施例提供的方法中,按照规则对公有输入信息、第一验证参数、随机数进行序列化,并进行哈希计算。
本发明实施例提供的方法中,所述公有输入信息与所述用户的私密输入信息满足预先设定的权威机构的预设电路的约束条件;
所述公有输入信息包括:所述用户的公钥、所述权威机构的公钥、已建立的默克尔树的根哈希的签名项以及与所述预设电路的约束条件相对应的各个公开参数;
所述私密输入信息包括:所述用户的个人信息、所述默克尔树的根哈希以及与所述预设电路对应的各个私密信息。
本发明实施例还提供了与应用在请求设备中的一种身份认证方法法对应的一种身份认证装置,所述身份认证装置用于实现所述所述身份认证方法在实际中的应用,所述身份认证装置可以设置在所述请求设备中,所述身份认证装置的结构示意图可参照图3,所述身份认证装置中包括:
第一发送单元201,用于当用户需要进行身份认证时,向验证设备发送身份认证请求,以触发所述验证设备反馈与所述身份认证请求相对应的随机数以及已签名的第一公共参数;
第一获取单元202,用于在已建立的受信任存储区中获取所述用户的私密输入信息;
第二获取单元203,用于获取与所述身份认证请求对应的公有输入信息;
第一验证单元204,用于应用所述公有输入信息中的权威机构公钥对所述第一公共参数的签名进行验证;
计算单元205,用于当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数;
签名单元206,用于所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作;
第二验证单元207,用于将经过签名的所述随机数、所述公有输入信息以及所述第一验证参数发送至所述验证设备,以使所述验证设备依据所述随机数、已获取的第二公共参数以及所述公有输入信息验证所述第一验证参数是否满足预设的验证条件,并在所述第一验证参数满足所述预设的验证条件时,通过对所述用户的身份认证。
本发明实施例提供的身份认证装置,在用户需要进行身份认证时,在已建立的受信任存储区中获取用户的私密输入信息,所述受信任存储区不被外部设备非法读取,保证了获取用户私密输入信息的安全性,并获取进行身份认证所需的公有输入信息以及已签名的第一公共参数,通过预设的证明算法对获取的用户的私密输入信息以及所述公有输入信息、第一公共参数进行运算,获得第一验证参数,并对所述第一验证参数进行签名,保证所述第一验证参数在传输至验证设备过程中的安全性,同时,用户的私密输入信息经过运算后,传输相应的第一验证参数,也保障了用户私密输入信息的安全性,在将所述第一验证参数发送至验证设备后,触发所述验证设备对所述第一验证参数进行验证,确保了用户的私密输入信息不被泄露,提升了用户身份认证的安全性。
本发明实施例提供的应用在请求设备中的身份认证装置包括处理器和存储器,上述第一发送单元、第一获取单元、第二获取单元、第一验证单元、计算单元、签名单元及第二验证单元均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来动态执行应用在请求设备中的身份认证方法。
本发明实施例提供了一种身份认证方法,所述身份认证方法应用于验证设备,所述验证设备可以为服务器平台,所述验证设备与上述请求设备相对应,用户可以通过请求设备发送身份认证请求至所述验证设备,请求所述验证设备进行身份认证,应用在验证设备中的身份认证方法的执行主体可以是服务器平台中的处理器,参考图4示出了本发明实施例提供的身份认证方法的又一方法流程图,所述方法包括:
S301:当接收到用户应用请求设备发送的身份认证请求时,向所述请求设备发送与所述身份认证请求对应的随机数以及经过签名的第一公共参数;
本发明实施例提供的应用在验证设备处的身份认证方法中,设置在验证设备中的处理器,在接收到用户发送的身份认证请求时,向用户处反馈与当前身份认证请求对应的随机数以及经过签名的第一公共参数,用以对本次身份认证请求进行标识,以确定后续接收到的认证信息为当前用户所发送,确保信息的唯一性,避免认证信息被恶意复制。
S302:在接收到所述请求设备反馈的验证所需的经过签名的公有输入信息、第一验证参数以及随机数时,验证所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数是否一致;
本发明实施例提供的方法中,验证设备在接收到用户通过请求设备返回的随机数后,对比验证设备发送给用户的随机数与用户反馈回的随机数是否一致,如果一直表明本次验证过程,验证设备所收到的各个验证数据属于该用户所发送的,印证了请求验证的身份所有者的身份是固定的。避免了其他用户冒用该用户的名义进行身份认证。
本发明实施例提供的方法中,通过相应的计算方法在经过签名的公有输入信息、第一验证参数以及随机数中,获取运算所需要的上述公有输入信息、第一验证参数和随机数。
S303:当所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数一致时,应用所述公有输入信息中的所述用户的公钥验证所述第一验证参数、所述公有输入信息以及随机数的签名是否有效;
本发明实施例提供的方法中,第一验证参数通过请求身份认证的用户的私钥进行签名,本发明实施例中,通过所述公有输入信息中的用户的公钥等公有信息可以验证第一验证参数的签名是否有效。
S304:当所述第一验证参数、所述公有输入信息以及所述随机数的签名有效时,结合已获取的第二公共参数、所述公有输入信息以及所述第一验证参数确定所述第一验证参数是否满足预设的验证条件,当所述第一验证参数满足预设的验证条件时,通过对所述用户的身份认证。
本发明实施例提供的方法中,若所述第一验证参数、所述公有输入信息以及所述随机数的签名有效,则结合上述信息确定第一验证参数是否满足预设的验证条件,所述第二公共参数为预设电路预先生成的与上述应用在请求设备中的方法中的第一公共参数对应的参数。
所述公有输入信息中包含指定数学约束条件的公开参数,本发明实施例提供的方法中,通过结合所述第二公共参数以及指定数学约束条件的公开参数验证所述第一验证参数是否满足预设的验证条件,若满足,则通过对用户的身份认证。
本发明实施例提供的应用在验证设备处的身份认证方法,验证设备在接收到用户通过请求设备发送的相关参数后,通过对相关参数的处理即可实现对用户身份的认证,不需要直接采用认证用户的个人信息,即保证了用户个人信息的安全,也提升了身份认证的效率。
本发明实施例还提供了与应用在验证设备中的一种身份认证方法法对应的一种身份认证装置,所述身份认证装置用于实现所述所述身份认证方法在实际中的应用,所述身份认证装置可以设置在所述验证设备中,所述身份认证装置的结构示意图可参照图5,所述身份认证装置中包括:
第二发送单元401,用于当接收到用户应用请求设备发送的身份认证请求时,向所述请求设备发送与所述身份认证请求对应的随机数以及经过签名的第一公共参数;
第三验证单元402,用于在接收到所述请求设备反馈的验证所需的经过签名的公有输入信息、第一验证参数以及随机数时,验证所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数是否一致;
第四验证单元403,用于当所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数一致时,应用所述公有输入信息中的所述用户的公钥验证所述第一验证参数、所述公有输入信息以及随机数的签名是否有效;
第五验证单元404,用于当所述第一验证参数、所述公有输入信息以及所述随机数的签名有效时,结合已获取的第二公共参数、所述公有输入信息以及所述第一验证参数确定所述第一验证参数是否满足预设的验证条件,当所述第一验证参数满足预设的验证条件时,通过对所述用户的身份认证。
本发明实施例提供的应用在验证设备处的身份认证方法,验证设备在接收到用户通过请求设备发送的相关参数后,通过对相关参数的处理即可实现对用户身份的认证,不需要直接采用认证用户的个人信息,即保证了用户个人信息的安全,也提升了身份认证的效率。
本发明实施例提供的应用在验证设备中的身份认证装置包括处理器和存储器,上述第二发送单元、第三验证单元、第四验证单元及第五验证单元均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来动态执行应用在验证设备中的身份认证方法。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现上述应用在请求设备中的身份认证方法和/或应用在验证设备中的身份认证方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述应用在请求设备中的身份认证方法和/或应用在验证设备中的身份认证方法。
如图6所示,本发明实施例提供了一种电子设备,所述电子设备50包括至少一个处理器501、以及与处理器501连接的至少一个存储器502、总线503;其中,处理器501、存储器502通过总线503完成相互间的通信;处理器501用于调用存储器502中的程序指令,以执行上述的应用在请求设备中的身份认证方法和/应用在验证设备中的身份认证方法。本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序,包括:
当用户需要进行身份认证时,向验证设备发送身份认证请求,以触发所述验证设备反馈与所述身份认证请求相对应的随机数以及已签名的第一公共参数;
在已建立的受信任存储区中获取所述用户的私密输入信息;
获取与所述身份认证请求对应的公有输入信息;
应用所述公有输入信息中的权威机构公钥对所述第一公共参数的签名进行验证;
当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数;
对所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作;
将经过签名的所述随机数、所述公有输入信息以及所述第一验证参数发送至所述验证设备,以使所述验证设备依据所述随机数、已获取的第二公共参数以及所述公有输入信息验证所述第一验证参数是否满足预设的验证条件,并在所述第一验证参数满足所述预设的验证条件时,通过对所述用户的身份认证。
上述的方法,可选的,所述在已建立的受信任存储区中获取所述用户的私密输入信息,包括:
获取预先存储在所述受信任存储区中的已加密的所述用户的私密输入信息;
接收所述用户通过所述受信任存储区输入的解密密码;
应用所述解密密码对已加密的所述用户的私密输入信息进行解密,以在所述受信任存储区中获取所述用户的私密输入信息。
上述的方法,可选的,所述调用预设的证明算法,所述当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数,包括:
获取所述私密输入信息中包含的所述用户的各个私密信息;
获取预先设定的权威机构的预设电路所对应的证明算法,对所述第一公共参数、所述公有输入信息以及各个所述私密信息进行计算,以获得所述第一验证参数。
上述的方法,可选的,所述对所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作,包括:
获取所述用户的私钥;
应用所述用户的私钥对所述公有输入信息、所述第一验证参数以及所述随机数进行签名。
上述的方法,可选的,所述公有输入信息与所述用户的私密输入信息满足预先设定的权威机构的预设电路的约束条件;
所述公有输入信息包括:所述用户的公钥、所述权威机构的公钥、已建立的默克尔树的根哈希的签名项以及与所述预设电路的约束条件相对应的各个公开参数;
所述私密输入信息包括:所述用户的个人信息、所述默克尔树的根哈希以及与所述预设电路对应的各个私密信息。
上述计算机程序产品,当在数据处理设备上执行时,还适于执行初始化有如下方法步骤的程序,包括:
当接收到用户应用请求设备发送的身份认证请求时,向所述请求设备发送与所述身份认证请求对应的随机数以及经过签名的第一公共参数;
在接收到所述请求设备反馈的验证所需的经过签名的公有输入信息、第一验证参数以及随机数时,验证所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数是否一致;
当所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数一致时,应用所述公有输入信息中的所述用户的公钥验证所述第一验证参数、所述公有输入信息以及所述随机数的签名是否有效;
当所述第一验证参数、所述公有输入信息以及所述随机数的签名有效时,结合已获取的第二公共参数、所述公有输入信息以及所述第一验证参数确定所述第一验证参数是否满足预设的验证条件,当所述第一验证参数满足预设的验证条件时,通过对所述用户的身份认证。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种身份认证方法,其特征在于,所述方法应用于请求设备,所述方法包括:
当用户需要进行身份认证时,向验证设备发送身份认证请求,以触发所述验证设备反馈与所述身份认证请求相对应的随机数以及已签名的第一公共参数;
在已建立的受信任存储区中获取所述用户的私密输入信息;
获取与所述身份认证请求对应的公有输入信息;
应用所述公有输入信息中的权威机构公钥对所述第一公共参数的签名进行验证;
当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数;
对所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作;
将经过签名的所述随机数、所述公有输入信息以及所述第一验证参数发送至所述验证设备,以使所述验证设备依据所述随机数、已获取的第二公共参数以及所述公有输入信息验证所述第一验证参数是否满足预设的验证条件,并在所述第一验证参数满足所述预设的验证条件时,通过对所述用户的身份认证,所述第一公共参数和所述第二公共参数及签名项存储于所述验证设备中。
2.根据权利要求1所述的方法,其特征在于,所述在已建立的受信任存储区中获取所述用户的私密输入信息,包括:
获取预先存储在所述受信任存储区中的已加密的所述用户的私密输入信息;
接收所述用户通过所述受信任存储区输入的解密密码;
应用所述解密密码对已加密的所述用户的私密输入信息进行解密,以在所述受信任存储区中获取所述用户的私密输入信息。
3.根据权利要求1所述的方法,其特征在于,所述当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数,包括:
获取所述私密输入信息中包含的所述用户的个人信息;
获取所述个人信息中包含的所述用户的各个私密信息;
获取预先设定的权威机构的预设电路所对应的证明算法,对所述第一公共参数、所述公有输入信息以及各个所述私密信息进行计算,以获得所述第一验证参数。
4.根据权利要求1所述的方法,其特征在于,所述对所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作,包括:
获取所述用户的私钥;
应用所述用户的私钥对所述公有输入信息、所述第一验证参数以及所述随机数进行签名。
5.根据权利要求1或4所述的方法,其特征在于,所述公有输入信息与所述用户的私密输入信息满足预先设定的权威机构的预设电路的约束条件;
所述公有输入信息包括:所述用户的公钥、所述权威机构的公钥、已建立的默克尔树的根哈希的签名项以及与所述预设电路的约束条件相对应的各个公开参数;
所述私密输入信息包括:所述用户的个人信息、所述默克尔树的根哈希以及与所述预设电路对应的各个私密信息。
6.一种身份认证装置,其特征在于,所述装置应用于请求设备,所述装置包括:
第一发送单元,用于当用户需要进行身份认证时,向验证设备发送身份认证请求,以触发所述验证设备反馈与所述身份认证请求相对应的随机数以及已签名的第一公共参数;
第一获取单元,用于在已建立的受信任存储区中获取所述用户的私密输入信息;
第二获取单元,用于获取与所述身份认证请求对应的公有输入信息;
第一验证单元,用于应用所述公有输入信息中的权威机构公钥对所述第一公共参数的签名进行验证;
计算单元,用于当所述第一公共参数的签名通过验证时,调用预设的证明算法,对所述私密输入信息、所述公有输入信息及所述第一公共参数进行运算,生成第一验证参数;
签名单元,用于所述公有输入信息、所述第一验证参数以及所述随机数进行签名操作;
第二验证单元,用于将经过签名的所述随机数、所述公有输入信息以及所述第一验证参数发送至所述验证设备,以使所述验证设备依据所述随机数、已获取的第二公共参数以及所述公有输入信息验证所述第一验证参数是否满足预设的验证条件,并在所述第一验证参数满足所述预设的验证条件时,通过对所述用户的身份认证,所述第一公共参数和所述第二公共参数及签名项存储于所述验证设备中。
7.一种身份认证方法,其特征在于,所述方法应用于验证设备,所述方法包括:
当接收到用户应用请求设备发送的身份认证请求时,向所述请求设备发送与所述身份认证请求对应的随机数以及经过签名的第一公共参数;
在接收到所述请求设备反馈的验证所需的经过签名的公有输入信息、第一验证参数以及随机数时,验证所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数是否一致;
当所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数一致时,应用所述公有输入信息中的所述用户的公钥验证所述第一验证参数、所述公有输入信息以及所述随机数的签名是否有效;
当所述第一验证参数、所述公有输入信息以及所述随机数的签名有效时,结合已获取的第二公共参数、所述公有输入信息以及所述第一验证参数确定所述第一验证参数是否满足预设的验证条件,当所述第一验证参数满足预设的验证条件时,通过对所述用户的身份认证,所述第一公共参数和所述第二公共参数及签名项存储于所述验证设备中。
8.一种身份认证装置,其特征在于,所述装置应用于验证设备,所述装置包括:
第二发送单元,用于当接收到用户应用请求设备发送的身份认证请求时,向所述请求设备发送与所述身份认证请求对应的随机数以及经过签名的第一公共参数;
第三验证单元,用于在接收到所述请求设备反馈的验证所需的经过签名的公有输入信息、第一验证参数以及随机数时,验证所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数是否一致;
第四验证单元,用于当所述请求设备反馈的随机数与所述验证设备向所述请求设备发送的随机数一致时,应用所述公有输入信息中的所述用户的公钥验证所述第一验证参数、所述公有输入信息以及随机数的签名是否有效;
第五验证单元,用于当所述第一验证参数、所述公有输入信息以及所述随机数的签名有效时,结合已获取的第二公共参数、所述公有输入信息以及所述第一验证参数确定所述第一验证参数是否满足预设的验证条件,当所述第一验证参数满足预设的验证条件时,通过对所述用户的身份认证,所述第一公共参数和所述第二公共参数及签名项存储于所述验证设备中。
9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1~5任意一项所述的身份认证方法或执行如权利要求7所述的身份认证方法。
10.一种电子设备,其特征在于,包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行如权利要求1~5任意一项所述的身份认证方法或执行如权利要求7所述的身份认证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110423361.7A CN112948789B (zh) | 2021-04-20 | 2021-04-20 | 身份认证方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110423361.7A CN112948789B (zh) | 2021-04-20 | 2021-04-20 | 身份认证方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948789A CN112948789A (zh) | 2021-06-11 |
CN112948789B true CN112948789B (zh) | 2023-03-28 |
Family
ID=76233002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110423361.7A Active CN112948789B (zh) | 2021-04-20 | 2021-04-20 | 身份认证方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948789B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113507373B (zh) * | 2021-06-30 | 2023-05-26 | 北京优品三悦科技发展有限公司 | 一种基于隐私保护的身份认证数据建模方法、设备和系统 |
CN113609467B (zh) * | 2021-07-14 | 2024-05-10 | 海南视联通信技术有限公司 | 一种身份认证方法、装置、终端设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781521A (zh) * | 2018-12-06 | 2020-02-11 | 山东大学 | 基于零知识证明的智能合约认证数据隐私保护方法及系统 |
CN111600844A (zh) * | 2020-04-17 | 2020-08-28 | 丝链(常州)控股有限公司 | 一种基于零知识证明的身份分发和认证方法 |
CN112637131A (zh) * | 2020-12-01 | 2021-04-09 | 百果园技术(新加坡)有限公司 | 用户身份认证方法、装置、设备和存储介质 |
-
2021
- 2021-04-20 CN CN202110423361.7A patent/CN112948789B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781521A (zh) * | 2018-12-06 | 2020-02-11 | 山东大学 | 基于零知识证明的智能合约认证数据隐私保护方法及系统 |
CN111600844A (zh) * | 2020-04-17 | 2020-08-28 | 丝链(常州)控股有限公司 | 一种基于零知识证明的身份分发和认证方法 |
CN112637131A (zh) * | 2020-12-01 | 2021-04-09 | 百果园技术(新加坡)有限公司 | 用户身份认证方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112948789A (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023502346A (ja) | 量子安全ネットワーキング | |
US20170171183A1 (en) | Authentication of access request of a device and protecting confidential information | |
AU2015308608A1 (en) | Methods for secure cryptogram generation | |
TW202101165A (zh) | 解鎖方法、實現解鎖的設備及電腦可讀媒體 | |
CN103856478A (zh) | 一种可信网络的证书签发、认证方法及相应的设备 | |
US20230269093A1 (en) | System and method for providing a verified privacy-preserving attestation of web service data properties | |
WO2021190197A1 (zh) | 生物支付设备的认证方法、装置、计算机设备和存储介质 | |
JP2018519562A (ja) | 取引セキュリティのための方法及びシステム | |
CN112948789B (zh) | 身份认证方法及装置、存储介质及电子设备 | |
KR102157695B1 (ko) | 익명 디지털 아이덴티티 수립 방법 | |
CN113364597A (zh) | 一种基于区块链的隐私信息证明方法及系统 | |
JPWO2019198131A1 (ja) | 認証システムおよび認証プログラム | |
CN115174099A (zh) | 基于区块链的版权资产授权方法及装置和电子设备 | |
CN114666064A (zh) | 基于区块链的数字资产管理方法、装置、存储介质及设备 | |
JP6742557B2 (ja) | 認証システム | |
CN116975936B (zh) | 金融资质证明方法、金融资质验证方法 | |
KR102056612B1 (ko) | 임시 익명 인증서 생성 방법 | |
US20240113898A1 (en) | Secure Module and Method for App-to-App Mutual Trust Through App-Based Identity | |
CN109768969A (zh) | 权限控制方法及物联网终端、电子设备 | |
CN114329610A (zh) | 区块链隐私身份保护方法、装置、存储介质及系统 | |
CN113159774A (zh) | 一种区块链中可监管零知识证明验证方法及系统 | |
CN116975937B (zh) | 匿名证明方法、匿名验证方法 | |
CN114866409B (zh) | 基于密码加速硬件的密码加速方法及装置 | |
JP2018148293A (ja) | クレデンシャル生成システム及び方法、クライアント端末、サーバ装置、発行依頼装置、クレデンシャル発行装置並びにプログラム | |
Kamal et al. | A Framework for Identity Management on Mobile Devices for mGovernance Application |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |