logo好方法网

一种基于零知识证明的身份分发和认证方法

技术摘要:
本发明公开了一种基于零知识证明的身份分发和认证方法,基于身份硬件和认证终端,身份硬件包括唯一硬件信息,包括:经用户申请,并提供身份信息,权威机构分配身份硬件,唯一硬件信息经权威机构写入区块链,通过创建在区块链上的数字身份智能合约得到公钥信息Pk、用户  全部
背景技术:
现在的各种身份是由权威来确认并分发的,比如我们的居民身份是通过本人到当 地公安部门去申请居民身份证完成;公安部门会采集居民身份对应的生物特征作为信息记 录,并分发一个记录有相关个人信息的防伪身份证;身份验证方通过读取和辨认身份证上 相关信息来验证对方的身份。 随着互联网经济的快速发展,这种传统的身份分发和认证机制,无法为当前数字 经济中的各种经济行为提供安全可靠的线上身份认证服务;身份信息没有隐私保护机制, 相关信息可以通过技术手段被随意复制、伪造和使用,线上身份认证无法确认身份的真实 性。
技术实现要素:
本发明要解决的技术问题是提供一种基于零知识证明的身份分发和认证方法,在 不泄露具体身份信息的条件下,验证其签名信息是由指定权威机构所签发;通过签名项信 息和权威机构提供的公钥来验证,进而验证身份的真实性和准确性。 本发明为了解决现有技术问题所采用的技术方案如下: 提供一种基于零知识证明的身份分发和认证方法,基于身份硬件和认证终端,所述身 份硬件包括唯一硬件信息,具体包括以下步骤: S1.经用户申请,并提供身份信息,权威机构分配身份硬件,所述唯一硬件信息经权威 机构写入区块链,通过创建在所述区块链上的数字身份智能合约得到公钥信息Pk、用户地 址Uk和一次性私钥,并获取身份ID。 S2.权威机构将身份信息及身份ID录入所述身份硬件。 S3 .用户通过身份认证硬件及认证终端签发一个零知识证明身份信息给权威机 构。 S4.权威机构认证用户签发的零知识证明身份信息;如果信息认证通过,发送链上 请求,把身份ID和身份信息内容寻址值注册到区块链上的数字身份智能合约对象中,身份 分发认证完成。 进一步地,所述身份信息按照默克尔树的方式来构建并计算对应的默克尔树的根 哈希,然后由对应的权威机构使用所述一次性私钥进行签名并输出签名项。 具体的,所述身份信息包括公开信息和隐私信息;公开信息包括:身份ID:身份的 标识符,满足区块链上身份的唯一性和有效性;公钥信息:用户的公钥信息,用于在身份信 息交换协议中,确认身份信息是由本人提供的;签发方的公钥信息;签发的年月日:为了签 发方在私钥泄露的情况下,验证逻辑能把私钥泄露时间段内的身份认证信息作为验证不通 3 CN 111600844 A 说 明 书 2/6 页 过处理;指定数学约束条件的公开参数:比如:出生年月日    16  年>  当前年月日,公开参 数是16和当前年月日,隐私信息是出生年月日。 隐私信息包括:身份信息中各种隐私信息,包括姓名、性别、民族、出生年月日、地 址、公民身份号码;数学约束条件的非公开参数:所述数学约束条件主要通过在身份认证信 息里面引入一个随机数作为公开参数,并引入一个非公开参数来对所述公开参数进行约 束,约束计算结果作为公开参数成为证据信息的一部分;另外可选择性设置有效期截止年 月日;需要和当前年月日之间做一个数学约束:有效期截止年月日  > 当前年月日。 更进一步地,具体认证过程如下: T1.认证终端通过硬件接口和身份硬件相连接; T2.认证终端通过硬件接口向身份硬件请求身份信息,并传入挑战随机数和相关的公 开参数; T3.身份硬件通过外部输入的公开参数和身份硬件内部的身份信息,计算出一个零知 识证明身份认证信息;通过外部输入的挑战随机数,使用私钥对挑战随机数和基于零知识 证明的身份信息进行签名并输出签名信息,认证终端验证签名信息。 进一步地,每个身份均在区块链上创建出一个具有智能合约逻辑约束力的数字身 份,它具有以下几个特性: 1.身份ID满足身份的唯一性和有效性;它成为区块链上唯一且永远有效的标识符; 2.通过身份ID可以直接定位到对应的数字身份智能合约。 数字身份智能合约由一组智能合约相互协作来完成身份功能,主要的智能合约逻 辑对象包括: 1.身份生成器;通过这个合约,权威机构可以为每一个新的身份创建一组对应的合约 逻辑约束来完成对其身份的管理功能。身份生成器对象为了实现安全性,还具有以下的逻 辑功能: (1)权限控制功能:只有通过权威机构所授权的私钥,才能完成身份生成、身份注册的 逻辑操作; (2)身份管理功能:创建完成的身份ID,会注册在身份生成器逻辑对象中,并锚定对应 的零知识证明身份信息,以对外提供查询功能;也可以对身份ID做注销操作; (3)权限更新功能:在权威部门丢失或泄露了授权私钥的情况下,可以通过多重签名机 制,由权威机构所设定的多个受信任实体为身份生成器对象重新设置一个新的授权用户地 址,从而把生成新身份的逻辑控制权交到了新授权用户的私钥上。 2.身份代理 它是由身份生成器来创建,代表了一个身份的入口;它具有重新锚定对应的身份控制 合约的能力,便于在新的身份管理逻辑需要更新情况下,可以把身份锚定到新的身份控制 合约逻辑上; 当然,考虑到交互的安全性问题,代理对象还统一负责与身份恢复及其它逻辑管理对 象进行交互,这里只通过一个交互接口来完成智能合约逻辑对象的事务转发和交互功能。 3.身份控制 它是由身份生成器来创建,代表了身份权限控制和管理的入口。首先,它对客户端的访 问请求进行权限确认;其次,它对身份的管理请求事务,统一通过身份代理对象进行转发和 4 CN 111600844 A 说 明 书 3/6 页 交互。 4.身份恢复 在身份用户对应的私钥丢失的情况下,需要有能力通过一种身份恢复机制,更新身份 所对应的私钥,从而让身份用户重新获取对身份的控制权。 这是一个多重签名机制,由身份用户的一个或多个身份代理人所控制,身份代理 人可以为身份控制对象指定新的用户公钥和用户地址,此功能为数字身份用户提供一个在 丢失秘钥设备的情况下得以恢复其身份的方法。 5.其它逻辑管理对象 主要包括身份证明信息等管理对象。比如,用户为某个机构创建一个自己的身份证明, 可以把对应的身份证明通过智能合约验证并锚定在用户的身份证明信息管理对象中;对应 的机构就可以通过区块链确认身份证明信息确实是对应的用户签发的。 具体的,管理方法包括:设置多个身份代理人的用户地址Dk0,…,Dki和身份恢复需要 的人数;当用户私钥丢失时,由用户的一个或多个身份代理人为用户指定新的用户公钥和 用户地址。 进一步地,所述身份硬件中设有安全芯片,用于存储用户身份信息及身份ID;在整 个生命周期内,私钥只生成一次,并且生成的私钥具有均匀分布的随机特性;私钥保存在安 全芯片里面,不可被复制和读取;在整个生命周期内,身份信息只生成一次;身份信息保存 在安全芯片里面,不可被复制和读取; 具体的,身份硬件通过终端接口,实现以下几个功能: 1.响应外部硬件接口的私钥生成请求,如果私钥已经生成,返回错误;如果不存在,则 生成一次私钥,并返回成功; 2.响应外部硬件接口的身份信息生成请求,如果身份信息已经生成,返回错误;如果不 存在,则通过外部输入的身份信息,生成一次身份信息,并返回成功; 3.响应外部硬件接口的公钥获取请求,对外输出公钥信息; 4.响应外部硬件接口的身份认证请求,通过外部输入的公开参数和芯片内部的身份信 息,计算出一个零知识证明身份认证信息;通过外部输入的挑战随机数,使用私钥对挑战随 机数和零知识证明身份认证信息进行签名,对外输出这个签名信息。 本发明有益效果如下: 在不泄露具体身份信息的条件下,验证其签名信息是由指定权威机构所签发;通过签 名项信息和权威机构提供的公钥来验证,进而验证身份的真实性和准确性。
下载此资料需消耗2积分,
分享到:
收藏