首页> 中国专利> 基于零知识证明的公民隐私保护的方法、系统及存储介质

基于零知识证明的公民隐私保护的方法、系统及存储介质

摘要

本发明公开了一种基于零知识证明的公民隐私保护的方法、系统及存储介质,方法包括:查验终端获取公民生物信息后,获取该生物信息对应的默克尔根值;根据所述默克尔根值,获取所述默克尔根值对应的强制公开信息,当强制公开信息满足第一预设条件后,发送隐私查验请求至该用户终端;接收用户终端反馈的个人隐私信息和默克尔验证信息,并根据哈希算法、有序默克尔树构建规则、个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,并判断待验证默克尔根值和所述默克尔根值是否相同,当待验证默克尔根值和所述默克尔根值相同,确定用户终端提供的个人隐私信息是真实的。本发明解决了查阅公民过程中公民隐私信息被暴露的技术问题。

著录项

  • 公开/公告号CN110336672A

    专利类型发明专利

  • 公开/公告日2019-10-15

    原文格式PDF

  • 申请/专利号CN201910365740.8

  • 发明设计人 张晓;许强;周伟明;刘春蕊;

    申请日2019-04-29

  • 分类号H04L9/32(20060101);

  • 代理机构44542 深圳市恒程创新知识产权代理有限公司;

  • 代理人赵爱蓉

  • 地址 264005 山东省烟台市莱山区滨海中路191号

  • 入库时间 2024-02-19 14:21:28

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-28

    授权

    授权

  • 2019-11-08

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20190429

    实质审查的生效

  • 2019-10-15

    公开

    公开

说明书

技术领域

本发明涉及区块链平台技术领域,尤其涉及基于零知识证明的公民隐私保护的方法、系统及计算机可读存储介质。

背景技术

近年来,随着4G网络的普及以及5G网络的准备普及,人工智能,互联网的不断发展和日益成熟。一个数据化大时代已经渐入人们生活的方方面面。当执法人员查阅某一公民时,通过利用AI人脸识别该公民后,该公民的所有个人信息都会推送到执法人员的终端上,执法人员再根据这些信息中是否存在逃犯或老赖等信息,确定该公民是否是逃犯或者“老赖”。但查阅过程会导致被查阅公民的所有隐私信息都被暴露的问题。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

本发明的主要目的在于提供一种基于零知识证明的公民隐私保护的方法、系统及计算机可读存储介质,旨在解决查阅公民过程中公民隐私信息被暴露的技术问题。

为实现上述目的,本申请提供一种基于零知识证明的公民隐私保护的方法,应用于查验终端,包括步骤:

获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器,以使权威机构接收到所述查询请求后反馈权威机构ID、所述公民的生物识别信息对应的默克尔根值、预设的哈希算法和预设的有序默克尔树构建规则;

根据接收到的所述权威机构服务器反馈的所述权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息;

根据获取到的所述强制公开信息,判断是否满足第一预设条件,并当确定满足第一预设条件时,发送隐私查验请求至用户终端,以使所述用户终端反馈所述公民的至少一条个人隐私信息和默克尔验证信息;

根据所述哈希算法、所述有序默克尔树构建规则、所述用户终端反馈的各条个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,判断待验证默克尔根值和所述默克尔根值是否相同,并根据判断结果,对用户终端提供的个人隐私信息进行验证。

可选地,根据接收到的所述权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息的步骤包括:

发送包括所述默克尔根值和所述权威机构ID的查询请求至区块链平台,以使所述区块链平台接收到所述查询请求后反馈所述权威机构ID对应的至少一个与所述默克尔根值相同的默克尔根值、对应的强制公开信息、对应的数字签名和对应的存储时间;

从接收到的所述权威机构ID对应的与所述默克尔根值相同各默克尔根值中选择存储时间最近的默克尔根值;

根据所述权威机构ID,获取权威机构ID对应的权威机构服务器的第一公钥,并采用所述第一公钥对选择的存储时间最近的默克尔根值对应的数字签名进行验证;

若验证通过,选择存储时间最近的默克尔根值对应强制公开信息,并作为所述公民的强制公开信息。

此外,本申请还提供一种基于零知识证明的公民隐私保护的方法,包括步骤:

查验终端获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器;

所述权威机构服务器接收到所述查验终端发送的包括所述公民的生物识别信息的查询请求后,根据预存的默克尔根值和生物识别信息的映射关系,获取所述公民的生物识别信息对应的默克尔根值,并将所述默克尔根值、权威机构ID、预设的哈希算法和预设的有序默克尔树构建规则反馈至所述查验终端;

所述查验终端接收到所述权威机构服务器反馈的所述默克尔根值后,根据权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息,并根据获取到的所述强制公开信息,判断是否满足第一预设条件,并当确定满足第一预设条件时,发送隐私查验请求至用户终端;

所述用户终端接收到隐私查验请求后,反馈至少一条个人隐私信息和默克尔验证信息至所述查验终端,其中所述默克尔验证信息包括除反馈的各条个人隐私信息对应的各默克尔节点外的至少一个其他节点的哈希值或包括除反馈的各条个人隐私信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;

所述查验终端根据所述哈希算法、所述有序默克尔树构建规则、用户终端反馈的各条个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,判断待验证默克尔根值和所述默克尔根值是否相同,并根据判断结果,对用户终端提供的个人隐私信息进行验证。

可选地,所述隐私查验请求还包括查验权限等级;

所述用户终端接收到隐私查验请求后,反馈至少一条个人隐私信息和默克尔验证信息至所述查验终端的步骤包括:

所述用户终端接收到隐私查验请求后,根据接收到的查验权限等级和各条个人隐私信息的预设权限等级,反馈个人隐私信息中与查验权限等级相同的权限等级对应的各条个人隐私信息和默克验证信息至所述查验终端。

可选地,所述查验终端获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器的步骤之前包括:

所述权威机构服务器接收各用户终端分别发送的公民ID和所述公民ID对应的至少一条个人信息;

当接收到的所述公民ID对应的个人信息数量大于或等于两条时,所述权威机构服务器根据第二预设条件,分别为各条个人信息划分为个人隐私信息或强制公开信息;

所述权威机构服务器根据收到的所述公民ID对应的各条个人信息和各条个人信息对应的信息类别,创建所述公民ID对应的信息档案,其中所述信息档案包括所述公民ID对应的至少两条个人信息和各条个人信息对应的信息类别的信息档案;

所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述信息档案中各条个人信息,构建所述档案号对应的第一默克尔树,并根据第一默克尔树和预存的所述公民ID的生物识别信息,创建第一默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系;

所述权威机构服务器根据第一私钥对所述第一默克尔树的默克尔根值和所述信息档案中强制公开信息进行签名,生成第一数字签名;

所述权威机构服务器将包括权威机构ID、所述第一默克尔树的默克尔根值、第一数字签名和所述信息档案中强制公开信息的信息存储至所述区块链平台。

可选地,所述当接收到的所述公民ID对应的个人信息数量大于或等于两条时,所述权威机构服务器根据第二预设条件,分别为接收到的所述公民ID对应的各条个人信息划分为个人隐私信息或强制公开信息的步骤之后还包括:

所述权威机构服务器根据第三预设条件,分别为接收到的所述公民ID对应的各条个人信息设置不同权限等级;

所述所述权威机构服务器根据收到的所述公民ID对应的各条个人信息和各条个人信息对应的信息类别,创建所述公民ID对应的信息档案,其中所述信息档案包括所述公民ID对应的至少两条个人信息和各条个人信息对应的信息类别的信息档案的步骤包括:

所述权威机构服务器根据收到的所述公民ID对应的各条个人信息、各条个人信息对应的信息类别和对应的权限等级,创建所述公民ID对应的信息档案,其中所述信息档案包括所述公民ID对应的至少两条个人信息、各条个人信息对应的信息类别和对应的权限等级的信息档案。

可选地,所述所述权威机构服务器将包括权威机构ID、所述第一默克尔树的默克尔根值、第一数字签名和所述信息档案中强制公开信息的信息存储至所述区块链平台的步骤之后还包括:

所述权威机构服务器接收任一用户终端发送的更新请求,其中所述更新请求包括所述公民ID和至少一条个人信息;

所述权威机构服务器根据第二预设条件,分别将更新请求中各条个人信息划分为个人隐私信息或强制公开信息;

所述权威机构服务器根据所述公民ID对应的信息档案、更新请求中的各条个人信息和对应的信息类别,更新所述公民ID对应的信息档案并生成所述公民ID的新信息档案,所述新信息档案包括各条个人信息和各条个人信息对应的信息类别;

所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述新信息档案中各条个人信息,构建更新请求中的档案号对应的第二默克尔树,并根据第二默克尔树和预存的所述公民ID的生物识别信息,创建第二默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系以及删除第一默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系;

所述权威机构服务器采用第一私钥对第二默克尔树的默克尔根值和所述新信息档案中强制公开信息进行签名,生成第二数字签名;

所述权威机构将包括权威机构ID、第二默克尔树的默克尔根值、第二数字签名和所述新信息档案中强制公开信息的信息存储至所述区块链平台。

可选地,所述所述权威机构将包括权威机构ID、第二默克尔树的默克尔根值、第二数字签名和所述新信息档案中强制公开信息的信息存储至所述区块链平台的步骤包括:

所述权威机构服务器调用所述区块链平台上的智能合约,创建一个包括权威机构ID、所述第二默克尔树的默克尔根值、第二数字签名和所述新信息档案中强制公开信息的第二交易记录;

所述权威机构服务器发送所述第二交易记录存储至所述区块链平台。

此外,为实现上述目的,本发明还提供一种个人信息的零知识证明系统,所述系统包括:

查验终端,用于获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器;

权威机构服务器,用于接收到所述查验终端发送的包括所述公民的生物识别信息的查询请求后,根据预存的默克尔根值和生物识别信息的映射关系,获取所述公民的生物识别信息对应的默克尔根值,并将所述默克尔根值、权威机构ID、预设的哈希算法和预设的有序默克尔树构建规则反馈至所述查验终端;

所述查验终端,用于接收到所述权威机构服务器反馈的所述默克尔根值后,根据权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息,并根据获取到的所述强制公开信息,判断是否满足第一预设条件,并当确定满足第一预设条件时,发送隐私查验请求至用户终端;

用户终端,用于接收到隐私查验请求后,反馈至少一条个人隐私信息和默克尔验证信息至所述查验终端,其中所述默克尔验证信息包括除反馈的各条个人隐私信息对应的各默克尔节点外的至少一个其他节点的哈希值或包括除反馈的各条个人隐私信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;

所述查验终端,用于根据所述哈希算法、所述有序默克尔树构建规则、用户终端反馈的各条个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,判断待验证默克尔根值和所述默克尔根值是否相同,并根据判断结果,对用户终端提供的个人隐私信息进行验证。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于零知识证明的公民隐私保护的方法的步骤。

本发明实施例提出的一种基于零知识证明的公民隐私保护的方法、系统及计算机可读存储介质,通过获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器,以使权威机构接收到所述查询请求后反馈权威机构ID、所述公民的生物识别信息对应的默克尔根值、预设的哈希算法和预设的有序默克尔树构建规则;根据接收到的所述权威机构服务器反馈的所述权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息;根据获取到的所述强制公开信息,判断是否满足第一预设条件,并当确定满足第一预设条件时,发送隐私查验请求至用户终端,以使所述用户终端反馈所述公民的至少一条个人隐私信息和默克尔验证信息;根据所述哈希算法、所述有序默克尔树构建规则、所述用户终端反馈的各条个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,判断待验证默克尔根值和所述默克尔根值是否相同,并根据判断结果,对用户终端提供的个人隐私信息进行验证。从而查验者只会去查验强制公开信息符合预设条件的公民(例如逃犯、老赖等)的隐私信息,确保了强制公开信息不符合条件的公民的隐私信息不被暴露。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的结构示意图;

图2为本发明基于零知识证明的公民隐私保护的方法第一实施例的流程示意图;

图3为本发明基于零知识证明的公民隐私保护的方法第二实施例中步骤S020的细化流程示意图;

图4为本发明基于零知识证明的公民隐私保护的方法第三实施例的流程示意图

图5为本发明基于零知识证明的公民隐私保护的方法第六实施例中步骤S120的细化流程示意图;

图6为本发明基于零知识证明的公民隐私保护的方法第三实施例的系统架构示意图;

图7为已构建的默克尔树示意图;

图8为存储有默克尔根值和强制公开信息的交易记录示意图。

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

具体实施方式

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

请参照图1,图1为本发明各个实施例中所提供的查验终端、权威机构服务器、用户终端或区块链平台的硬件结构示意图,所述查验终端、权威机构服务器、用户终端或区块链平台包括通信模块10、存储器20及处理器30等部件。本领域技术人员可以理解,图1中所示出的查验终端、权威机构服务器或区块链平台还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中,所述处理器30分别与所述存储器20和所述通信模块10连接,所述存储器20上存储有计算机程序,所述计算机程序同时被处理器30执行。

通信模块10,可通过网络与外部设备连接。通信模块10可以接收外部设备发出的数据,还可发送数据、指令及信息至所述外部设备。所述外部设备可以是所述查验终端、权威机构服务器、用户终端或区块链平台。

存储器20,可用于存储软件程序以及各种数据。存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(基于用户信息构建默克尔树)等;存储数据区可存储根据查验终端、权威机构服务器、用户终端或区块链平台的使用所创建的数据或信息等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器30,是查验终端、权威机构服务器、用户终端或区块链平台的控制中心,利用各种接口和线路连接整个查验终端、权威机构服务器、用户终端或区块链平台的各个部分,通过运行或执行存储在存储器20内的软件程序和/或模块,以及调用存储在存储器20内的数据,执行查验终端、权威机构服务器、用户终端或区块链平台的各种功能和处理数据,从而对查验终端、权威机构服务器、用户终端或区块链平台进行整体监控。处理器30可包括一个或多个处理单元;优选的,处理器30可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器30中。尽管图1未示出,但上述查验终端、权威机构服务器、用户终端或区块链平台还可以包括电路控制模块,用于与市电连接,实现电源控制,保证其他部件的正常工作。

本领域技术人员可以理解,图1中示出的查验终端、权威机构服务器、用户终端或区块链平台结构并不构成对查验终端、权威机构服务器、用户终端或区块链平台的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

根据上述硬件结构,提出本发明方法各个实施例。

参照图2,在本发明基于零知识证明的公民隐私保护的方法的第一实施例中,应用于查验终端,所述基于零知识证明的公民隐私保护的方法包括步骤:

步骤S010,获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器,以使权威机构接收到所述查询请求后反馈权威机构ID、所述公民的生物识别信息对应的默克尔根值、预设的哈希算法和预设的有序默克尔树构建规则;

在本实施例中,零知识证明是指一方(证明者)可以向另一方(验证者)证明一个陈述是正确的,而无需透露该陈述是正确的之外的其它有用信息。在本发明中里,“陈述”指的是待审核的个人信息。默克尔树(Merkle Tree)就是一种存储哈希值的二叉树数据结构,默克尔树的叶子是数据块(例如,数据块可以是信息、文件或者文件的集合)的哈希值,非叶节点是其对应子节点串联字符串的哈希值。有序默克尔树构建规则指的是在构建有效默克尔树时,对各层内所有节点在对应层内的位置进行排序的规则,该节点位置排序规则可以依据每层内各节点的哈希值的16进制数值的大小或每层内各节点的哈希值的字符ASCII码数字顺序,从小到大或从大到小依次将各节点从左至右排列各节点位置。

生物识别信息可以为人脸特征、指纹、声纹、虹膜、DNA等。查验终端获取生物识别信息的过程可以为视频监控网络、指纹识别装置、声纹识别装置、虹膜识别装置、DNA检测装置或其他终端将获取到的公民识别信息通过无线或有线网络发送至查验终端,也可以为内部嵌入的生物识别装置的查验终端直接获取所述生物识别信息。

查验终端将生物识别信息通过有线或无线网络发送至权威机构服务。权威机构服务器接收到包括生物识别信息的查询请求后,根据预存的默克尔根值和生物识别信息的映射关系,获取生物识别信息对应的默克尔根值,并将所述默克尔根值、权威机构ID、构建该默克尔根值对应的默克尔树时采用的预设哈希算法和预设的有序默克尔树构建规则通过有线或无线网络发送至查验终端。哈希算法可以为MD4算法、MD5算法、SHA-1、SHA-256、SHA-512、国密算法或其他哈希算法,在此不作限定。

步骤S020,根据接收到的所述权威机构服务器反馈的所述权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息;

查验终端接收到权威机构服务器反馈的默克尔根值、权威机构ID、预设的哈希算法和预设的有序默克尔树构建规则后,可以发送包括所述默克尔根值和权威机构ID的强制公开信息查询请求至区块链平台,区块链平台根据所述默克尔根值,查询到预存在区块链平台中所述默克尔根值对应的强制公开信息,并将查询到的强制公开信息通过有线或无线网络反馈至查验终端。

查验终端接收到权威机构服务器反馈的默克尔根值、预设的哈希算法和预设的有序默克尔树构建规则则后,还可以发送包括所述默克尔根值的强制公开信息查询请求至所述权威机构服务器,权威机构服务器根据所述默克尔根值,查询到预存在权威机构服务器中所述默克尔根值对应的强制公开信息,并将查询到的强制公开信息通过有线或无线网络反馈至查验终端。

步骤S030,根据获取到的所述强制公开信息,判断是否满足第一预设条件,并当确定满足第一预设条件时,发送隐私查验请求至用户终端,以使所述用户终端反馈所述公民的至少一条个人隐私信息和默克尔验证信息;

所述查验终端获取到强制公开信息中所有个人信息后,会根据第一预设条件,判断强制公开信息中各条个人信息判断是否满足第一预设条件,第一预设条件当强制公开信息中任一条个人信息满足第一预设条件,则发送隐私查验请求至用户终端。

例如强制公开信息中包括犯罪记录、是否为在逃人员、是否为老赖、是否为吸毒人员等,第一预设条件为符合逃犯、吸毒人员、老赖三者之一。当获取到某一公民的强制公开信息后,该公民的强制公开信息中出现了吸毒人员的信息,满足第一预设条件,则查验终端会发送隐私查验请求至用户终端,在本实施例中所述用户终端可以为该公民的用户终端,也可以为公安系统的终端、某银行或法院系统的终端等,在此不作限定。

用户终端接收到隐私查验请求后,会通过有线或无线网络反馈所述公民的至少一条个人隐私信息和默克尔验证信息至查验终端,其中所述默克尔验证信息包括除反馈的各条个人信息对应的各默克尔节点外的至少一个其他节点的哈希值或包括除反馈的各条个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层。所述公民也可以直接在查验终端上输入至少一条个人隐私信息和默克尔验证信息。

需要说明的是,为防止发送的个人信息、默克尔验证信息的这些信息被其他人截获,可以采用查验终端的公钥对个人信息和默克尔验证信息的这些信息进行加密,再将加密后的信息发送至查验终端,查验终端会采用查验终端自己的私钥对所述加密的信息进行解密,从而获得用户终端发送的个人信息和默克尔验证信息。

默克尔验证信息中的各节点的哈希值是由哈希映射函数生成的单向结果,本身并不能用于推算出任何有用信息。默克尔验证信息中的这些节点是从个人信息对应的默克尔节点至默克尔根值的哈希计算路径上所必需的除个人信息对应的默克尔节点外的所有节点的哈希值,或个人信息对应的默克尔节点外的所有节点的哈希值和对应的所属层,若采用最快的哈希计算路径,提供的默克尔验证信息中可以只包括一组有序排列的节点哈希值,该排列顺序为计算默克尔根值过程是使用的先后顺序。若采用非最快的哈希计算路径,提供的默克尔验证信息中除了节点哈希值外,还包括各节点哈希值对应的所属层。例如个人隐私信息为图7中的P1姓名,从姓名对应的节点位置至图7中默克尔树的默克尔根的哈希计算路径可以为B+CD+EF,也可以为B+C+D+EF,还可以为B+C+D+E+F,其中B+CD+EF的哈希计算路径对于A来说,是最快哈希计算路径,而B+C+D+E+F的哈希计算路径对于A来说,是最慢哈希计算路径,若采用最快的哈希计算路径,那么默克尔验证信息为一组有序排列的节点哈希值数组{hash(P2)、hash(C+D)、hash(E+F)}。若该计算路径为B+C+D+EF,那么默克尔验证信息为包括节点B的哈希值和节点B所属层为第一层、节点C的哈希值和节点C所属层为第一层、节点D的哈希值和节点D所属层为第一层、节点EF的哈希值和节点EF所属层为第三层。又例如用户终端反馈了两条个人隐私信息为图7中的P1姓名和P3出生地,则从P1姓名和P3出生地对应的节点A和C至图7中默克尔树的默克尔根的哈希计算路径可以为B+D+EF(最快哈希计算路径)或B+D+E+F。默克尔验证信息中除待查验个人隐私信息对应的默克尔节点外的其他节点的数量是由默克尔树的复杂程度决定,默克尔树越简单,层次越少,则需提供的其他节点数量越少。

步骤S040,根据所述哈希算法、所述有序默克尔树构建规则、所述用户终端反馈的各条个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,判断待验证默克尔根值和所述默克尔根值是否相同,并根据判断结果,对用户终端提供的个人隐私信息进行验证。

查验终端会根据接收到公民提供的各条个人信息和除所述公民提供的各条个人信息对应的默克尔节点外的其他节点的哈希值和所属层,使用获取到的哈希算法和有序默克尔树构建规则逐层计算哈希值,最终得到所述默克尔根值。例如提供的被查验公民的个人隐私信息为图7中的“出生地:山东烟台”的明文信息和默克尔验证信息,其中默克尔验证信息为图7中默克尔树的节点D的哈希值hash(P4)、节点AB的哈希值hash(A+B)和节点EF的哈希值hash(E+F),第三方验证服务器获取到的有序默克尔树构建规则为从小到大依次将同一层的各节点从左至右排列各节点位置。查验终端会采用哈希算法对待验证信息进行计算得到节点C的哈希值hash(P3),且hash(P3)小于hash(P4)大小;然后根据节点C的哈希值和节点D的哈希值计算得到第二层节点CD的哈希值hash(C+D),进一步比较hash(A+B)和hash(C+D)大小获得hash(A+B)小于hash(C+D)后,根据hash(A+B)和hash(C+D)计算得到第三层节点ABCD的哈希值为hash(AB+CD),最后比较hash(AB+CD)和hash(E+F)大小获知hash(AB+CD)小于hash(E+F),根据hash(AB+CD)和hash(E+F)计算得到待验证默克尔根值hash(ABCD+EF)。

在获得待验证默克尔根值后,判断待验证默克尔根值和查验终端之前获取的生物识别信息对应的所述默克尔根值是否相同,当待验证默克尔根值和所述默克尔根值相同,确定用户终端提供的隐私信息是真实的,当待验证默克尔根值和所述默克尔根值不相同,确定用户终端提供的隐私信息是虚假的。

本实施例通过获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器,以使权威机构接收到所述查询请求后反馈权威机构ID、所述公民的生物识别信息对应的默克尔根值、预设的哈希算法和预设的有序默克尔树构建规则;根据接收到的所述权威机构服务器反馈的所述权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息;根据获取到的所述强制公开信息,判断是否满足第一预设条件,并当确定满足第一预设条件时,发送隐私查验请求至用户终端,以使所述用户终端反馈所述公民的至少一条个人隐私信息和默克尔验证信息;根据所述哈希算法、所述有序默克尔树构建规则、所述用户终端反馈的各条个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,判断待验证默克尔根值和所述默克尔根值是否相同,并根据判断结果,对用户终端提供的个人隐私信息进行验证。从而查验者只会去查验强制公开信息符合预设条件的公民(例如逃犯、老赖等)的隐私信息,确保了强制公开信息不符合条件的公民的隐私信息不被暴露。

进一步地,参照图3,根据本申请基于零知识证明的公民隐私保护的方法的第一实施例提成提出本申请基于零知识证明的公民隐私保护的方法的第二实施例,在本实施例中,所述步骤S020包括:

步骤S021,发送包括所述默克尔根值和所述权威机构ID的查询请求至区块链平台,以使所述区块链平台接收到所述查询请求后反馈所述权威机构ID对应的至少一个与所述默克尔根值相同的默克尔根值、对应的强制公开信息、对应的数字签名和对应的存储时间;

步骤S022,从接收到的所述权威机构ID对应的与所述默克尔根值相同各默克尔根值中选择存储时间最近的默克尔根值;

步骤S023,根据所述权威机构ID,获取权威机构ID对应的权威机构服务器的第一公钥,并采用所述第一公钥对选择的存储时间最近的默克尔根值对应的数字签名进行验证;

步骤S024,若验证通过,选择存储时间最近的默克尔根值对应强制公开信息,并作为所述公民的强制公开信息。

在本实施例中,由于区块链平台上可能会存储与所述默克尔根值相同的多个默克尔根值,这些默克尔根值中有些是由权威机构ID对应的权威机构服务器发送的,有些是由其他权威机构服务器发送的,还有些是由非权威机构服务器发送的。

在计算得到所述默克尔根值后,查验终端会将包括所述默克尔根值和权威机构ID的查询请求通过有线或无线网络发送至区块链平台。例如查验终端通过区块链平台的API接口,将包括所述默克尔根值和权威机构ID的查询请求发送给区块平台。所述区块链平台根据接收到的所述所述默克尔根值和权威机构ID,从平台上存储的所有默克尔根值中选择权威机构ID对应的与所述所述默克尔根值相同的所有默克尔根值,并将获得的所述各默克尔根值、对应的强制公开信息、对应的数字签名以及对应的存储时间发送至所述查验终端。

查验终端接收到区块链平台发送的各默克尔根值、对应的强制公开信息、对应的数字签名以及对应存储时间后,首先根据存储时间,从这些默克尔根值中选择存储时间最近的默克尔根值,并根据权威机构ID,获取权威机构ID的第一公钥,采用第一公钥对存储时间最近的默克尔根值对应的数字签名进行验证,若验证通过,查验终端选择存储时间最近的默克尔根值对应强制公开信息,并作为所述默克尔根值的强制公开信息。本实施例提供了一种从区块链平台获取强制公开信息的策略,确保了获得的强制公开信息是真实的。

参照图4,在本发明基于零知识证明的公民隐私保护的方法的第三实施例中,所述基于零知识证明的公民隐私保护的方法包括步骤:

步骤S10,查验终端获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器;

在本实施例中,零知识证明是指一方(证明者)可以向另一方(验证者)证明一个陈述是正确的,而无需透露该陈述是正确的之外的其它有用信息。在本发明中里,“陈述”指的是待审核的个人信息。默克尔树(Merkle Tree)就是一种存储哈希值的二叉树数据结构,默克尔树的叶子是数据块(例如,数据块可以是信息、文件或者文件的集合)的哈希值,非叶节点是其对应子节点串联字符串的哈希值。有序默克尔树构建规则指的是在构建有效默克尔树时,对各层内所有节点在对应层内的位置进行排序的规则,该节点位置排序规则可以依据每层内各节点的哈希值的16进制数值的大小或每层内各节点的哈希值的字符ASCII码数字顺序,从小到大或从大到小依次将各节点从左至右排列各节点位置。

生物识别信息可以为人脸特征、指纹、声纹、虹膜、DNA等。查验终端获取生物识别信息的过程可以为视频监控网络、指纹识别装置、声纹识别装置、虹膜识别装置、DNA检测装置或其他终端将获取到的公民识别信息通过无线或有线网络发送至查验终端,也可以为内部嵌入的生物识别装置的查验终端直接获取所述生物识别信息。查验终端获取到生物识别信息后,将所述生物识别信息通过有线或无线网络发送至权威机构服务器。

步骤S20,所述权威机构服务器接收到所述查验终端发送的包括所述公民的生物识别信息的查询请求后,根据预存的默克尔根值和生物识别信息的映射关系,获取所述公民的生物识别信息对应的默克尔根值,并将所述默克尔根值、权威机构ID、预设的哈希算法和预设的有序默克尔树构建规则反馈至所述查验终端;

权威机构服务器接收到查验终端发送的包括生物识别信息的查询请求后,根据预存的默克尔根值和生物识别信息的映射关系,获取生物识别信息对应的默克尔根值,并将所述默克尔根值、权威机构ID、构建该默克尔根值对应的默克尔树时采用的预设哈希算法和预设的有序默克尔树构建规则通过有线或无线网络发送至查验终端。

步骤S30,所述查验终端接收到所述权威机构服务器反馈的所述默克尔根值后,根据权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息;

查验终端接收到所述权威机构服务器反馈的所述默克尔根值、权威机构ID、预设的哈希算法和预设的有序默克尔树构建规则则后,可以发送包括所述默克尔根值和权威机构ID的强制公开信息查询请求至区块链平台,区块链平台根据所述默克尔根值,查询到预存在区块链平台中所述默克尔根值对应的强制公开信息,并将查询到的强制公开信息中各条个人信息通过有线或无线网络反馈至查验终端。

查验终端接收到所述权威机构服务器反馈的所述默克尔根值、预设的哈希算法和预设的有序默克尔树构建规则则后,还可以发送包括所述默克尔根值的强制公开信息查询请求至权威机构ID对应的权威机构服务器,权威机构服务器根据所述默克尔根值,查询到预存在权威机构服务器中所述默克尔根值对应的强制公开信息,并将查询到的强制公开信息中各条个人信息通过有线或无线网络反馈至查验终端。

步骤S40,所述查验终端根据获取到的所述强制公开信息,判断是否满足第一预设条件,并当确定满足第一预设条件时,发送隐私查验请求至用户终端;

所述查验终端获取到强制公开信息中所有个人信息后,会根据第一预设条件,判断强制公开信息中各条个人信息判断是否满足第一预设条件,第一预设条件当强制公开信息中任一条个人信息满足第一预设条件,则发送隐私查验请求至用户终端。

例如强制公开信息中包括犯罪记录、是否为在逃人员、是否为老赖、是否为吸毒人员等,第一预设条件为符合逃犯、吸毒人员、老赖三者之一。当获取到某一公民的强制公开信息后,该公民的强制公开信息中出现了吸毒人员的信息,满足第一预设条件,则查验终端会发送隐私查验请求至用户终端。

步骤S50,所述用户终端接收到隐私查验请求后,反馈至少一条个人隐私信息和默克尔验证信息至所述查验终端,其中所述默克尔验证信息包括除反馈的各条个人隐私信息对应的各默克尔节点外的至少一个其他节点的哈希值或包括除反馈的各条个人隐私信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;

用户终端接收到隐私查验请求后,会通过有线或无线网络反馈所述公民的至少一条个人隐私信息和默克尔验证信息至查验终端,其中所述默克尔验证信息包括除反馈的各条个人信息对应的各默克尔节点外的至少一个其他节点的哈希值或包括除反馈的各条个人信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层。所述公民也可以直接在查验终端上输入至少一条个人隐私信息和默克尔验证信息。

需要说明的是,为防止发送的个人信息、默克尔验证信息的这些信息被其他人截获,可以采用查验终端的公钥对个人信息和默克尔验证信息的这些信息进行加密,再将加密后的信息发送至查验终端,查验终端会采用查验终端自己的私钥对所述加密的信息进行解密,从而获得用户终端发送的个人信息和默克尔验证信息。

默克尔验证信息中的各节点的哈希值是由哈希映射函数生成的单向结果,本身并不能用于推算出任何有用信息。默克尔验证信息中的这些节点是从个人信息对应的默克尔节点至默克尔根值的哈希计算路径上所必需的除个人信息对应的默克尔节点外的所有节点的哈希值,或个人信息对应的默克尔节点外的所有节点的哈希值和对应的所属层,若采用最快的哈希计算路径,提供的默克尔验证信息中可以只包括一组有序排列的节点哈希值,该排列顺序为计算默克尔根值过程是使用的先后顺序。若采用非最快的哈希计算路径,提供的默克尔验证信息中除了节点哈希值外,还包括各节点哈希值对应的所属层。例如用户终端反馈的一条个人隐私信息为图7中的P1姓名,从姓名对应的节点位置至图7中默克尔树的默克尔根的哈希计算路径可以为B+CD+EF,也可以为B+C+D+EF,还可以为B+C+D+E+F,其中B+CD+EF的哈希计算路径对于A来说,是最快哈希计算路径,而B+C+D+E+F的哈希计算路径对于A来说,是最慢哈希计算路径,若采用最快的哈希计算路径,那么默克尔验证信息为一组有序排列的节点哈希值数组{hash(P2)、hash(C+D)、hash(E+F)}。若该计算路径为B+C+D+EF,那么默克尔验证信息为包括节点B的哈希值和节点B所属层为第一层、节点C的哈希值和节点C所属层为第一层、节点D的哈希值和节点D所属层为第一层、节点EF的哈希值和节点EF所属层为第三层。

步骤S60,所述查验终端根据所述哈希算法、所述有序默克尔树构建规则、用户终端反馈的各条个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,判断待验证默克尔根值和所述默克尔根值是否相同,并根据判断结果,对用户终端提供的个人隐私信息进行验证。

查验终端会根据接收到公民提供的各条个人信息和除所述公民提供的各条个人信息对应的默克尔节点外的其他节点的哈希值和所属层,使用获取到的哈希算法和有序默克尔树构建规则逐层计算哈希值,最终得到所述默克尔根值。例如被查验公民提供了待验证信息为图7中的“出生地:山东烟台”的明文信息和默克尔验证信息,其中默克尔验证信息为图7中默克尔树的节点D的哈希值hash(P4)、节点AB的哈希值hash(A+B)和节点EF的哈希值hash(E+F),第三方验证服务器获取到的有序默克尔树构建规则为从小到大依次将同一层的各节点从左至右排列各节点位置。查验终端会采用哈希算法对待验证信息进行计算得到节点C的哈希值hash(P3),且hash(P3)小于hash(P4)大小;然后根据节点C的哈希值和节点D的哈希值计算得到第二层节点CD的哈希值hash(C+D),进一步比较hash(A+B)和hash(C+D)大小获得hash(A+B)小于hash(C+D)后,根据hash(A+B)和hash(C+D)计算得到第三层节点ABCD的哈希值为hash(AB+CD),最后比较hash(AB+CD)和hash(E+F)大小获知hash(AB+CD)小于hash(E+F),根据hash(AB+CD)和hash(E+F)计算得到待验证默克尔根值hash(ABCD+EF)。

在获得待验证默克尔根值后,判断待验证默克尔根值和查验终端之前获取的生物识别信息对应的所述默克尔根值是否相同,当待验证默克尔根值和所述默克尔根值相同,确定用户终端提供的隐私信息是真实的,当待验证默克尔根值和所述默克尔根值不相同,确定用户终端提供的隐私信息是虚假的。

本实施例通过查验终端获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器;所述权威机构服务器接收到所述查验终端发送的包括所述公民的生物识别信息的查询请求后,根据预存的默克尔根值和生物识别信息的映射关系,获取所述公民的生物识别信息对应的默克尔根值,并将所述默克尔根值、权威机构ID、预设的哈希算法和预设的有序默克尔树构建规则反馈至所述查验终端;所述查验终端接收到所述权威机构服务器反馈的所述默克尔根值后,根据权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息;所述查验终端根据获取到的所述强制公开信息,判断是否满足第一预设条件,并当确定满足第一预设条件时,发送隐私查验请求至用户终端;所述用户终端接收到隐私查验请求后,反馈至少一条个人隐私信息和默克尔验证信息至所述查验终端,其中所述默克尔验证信息包括除反馈的各条个人隐私信息对应的各默克尔节点外的至少一个其他节点的哈希值或包括除反馈的各条个人隐私信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;所述查验终端根据所述哈希算法、所述有序默克尔树构建规则、用户终端反馈的各条个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,判断待验证默克尔根值和所述默克尔根值是否相同,并根据判断结果,对用户终端提供的个人隐私信息进行验证。从而查验者只会去查验强制公开信息符合预设条件的公民(例如逃犯、老赖等)的隐私信息,确保了强制公开信息不符合条件的公民的隐私信息不被暴露。

进一步地,根据本申请基于零知识证明的公民隐私保护的方法的第三实施例提成提出本申请基于零知识证明的公民隐私保护的方法的第四实施例,在本实施例中,所述隐私查验请求还包括查验权限等级;

所述步骤S50还包括:

步骤S51,所述用户终端接收到隐私查验请求后,根据接收到的查验权限等级和各条个人隐私信息的预设权限等级,反馈个人隐私信息中与查验权限等级相同的权限等级对应的各条个人隐私信息和默克验证信息至所述查验终端。

在本实施例中,当查验终端发送的所述隐私查验请求还包括查验权限等级时,用户终端接收到隐私查验请求后,根据各条个人信息的预设权限,从所有的个人信息中选择权限等级不高于查验权限等级相同的各条个人信息,然后通过有线或无线网络将选择的各条个人信息发送至所述查验终端。个人信息越隐私,该个人信息的权限等级越高,需要查验权限越高。例如个人隐私信息中的个人学历、性别的权限等级为2级,出生年月、住所地址权限等级为3级,个人身份证号、婚姻状况、婚育状况、配偶姓名、父母姓名、子女姓名等信息为4级。当用户终端接收到的隐私查验请求中的查验权限等级为3级时,公民把权限等级1级、权限等级2级和权限等级3级的个人信息发送至查验终端。

需要说明的时,个人信息的权限等级也可以随着信息越隐私而越低,在这种情况下,而用户终端接收到隐私查验请求后,根据各条个人信息的预设权限等级,从所有的个人信息中选择权限等级不低于查验权限等级相同的各条个人信息,并反馈所选的个人信息至查验终端。

本实施例提供了一种根据查验者权限等级来提供相应权限等级的隐私信息至查验者,从而使得公民的隐私信息被分级保护。

进一步地,根据本申请基于零知识证明的公民隐私保护的方法的第一实施例提出本申请基于零知识证明的公民隐私保护的方法的第四实施例,在本实施例中,所述步骤S10之前还包括:

步骤S70,所述权威机构服务器接收各用户终端分别发送的公民ID和所述公民ID对应的至少一条个人信息;

步骤S80,当接收到的所述公民ID对应的个人信息数量大于或等于两条时,所述权威机构服务器根据第二预设条件,分别为各条个人信息划分为个人隐私信息或强制公开信息;

步骤S90,所述权威机构服务器根据收到的所述公民ID对应的各条个人信息和各条个人信息对应的信息类别,创建所述公民ID对应的信息档案,其中所述信息档案包括所述公民ID对应的至少两条个人信息和各条个人信息对应的信息类别的信息档案;

步骤S100,所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述信息档案中各条个人信息,构建所述档案号对应的第一默克尔树,并根据第一默克尔树和预存的所述公民ID的生物识别信息,创建第一默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系;

步骤S110,所述权威机构服务器根据第一私钥对所述第一默克尔树的默克尔根值和所述信息档案中强制公开信息进行签名,生成第一数字签名;

步骤S120,所述权威机构服务器将包括权威机构ID、所述第一默克尔树的默克尔根值、第一数字签名和所述信息档案中强制公开信息的信息存储至所述区块链平台。

,在本实施例中,权威机构服务器接收用户终端(用户终端可以公民的用户终端、也可以为公安系统的终端、某银行或法院系统的终端等,在此不作限定)分别发送的公民ID以及公民ID对应至少一条个人信息。当接收到的所述公民ID对应的个人信息数量大于或等于两条时,所述权威机构服务器根据第二预设条件,分别将各条个人信息划分为个人隐私信息或者强制公开信息的两大信息类型中的一种。该第二预设条件可以为个人信息类别是否符合预设的信息类别,若符合则划分为强制公开信息,不符合则划分为个人隐私信息,例如预设的信息类别为犯罪记录、信用状况、吸毒史等,当法院发送某公民ID的一条个人信息类别属于信用状况,则根据第二预设条件,将该条信息划分为强制公开信息,当公安系统发送的该公民ID的一条个人信息类别为籍贯,则将该条信息划分为个人隐私信息。第二预设条件还可以根据个人信息内容是否存在预设的关键词,若存在则划分为强制公开信息,若不存在则划分为个人隐私信息,例如预设的关键词可以为老赖、吸毒等等。第二预设条件还可以为判断接收到的个人信息是否被标注了强制公开的标签,若存在则划分为强制公开信息,若不存在则划分为个人隐私信息。

所述权威机构服务器将所述公民ID对应的各条个人信息划分类型后,创建所述公民ID对应的信息档案,其中所述信息档案包括所述公民ID对应的至少两条个人信息和各条个人信息对应的信息类别的信息档案。

为所述公民ID创建信息档案后,所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述信息档案中各条个人信息,构建所述公民ID对应的第一默克尔树。同时根据第一默克尔树和预存的所述公民ID的生物识别信息,创建第一默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系,并可以将该映射关系存储到默克尔根值和生物识别信息映射关系表中。例如图7中的默克尔树的构建的详细过程如下:第一步,采用预设的哈希算法获得各条个人信息对应的哈希值hash(P1)、hash(P2)、hash(P3)、hash(P4)、hash(P5)和hash(P6),比较各哈希值,获知hash(P1)<hash(P2)<hash(P3)<hash(P4)<hash(P5)<hash(P6),根据预设的有序默克尔树构建规则(从小至大依次从左至右排序),依次排序第一层叶节点;第二步根据已排序好的各叶节点的哈希值,采用哈希算法,获得第二层节点AB的哈希值hash(A+B)、节点CD的哈希值hash(C+D)和节点EF哈希值hash(E+F),且hash(A+B)<hash(C+D)<hash(E+F),根据排序规则,具有hash(A+B)的节点AB为第二层第一个位置,具有hash(C+D)的节点CD为第二层第二个位置,而hash(E+F)的节点EF自动上升为第三层节点;第三步根据hash(A+B)和hash(C+D),计算出第三层节点ABCD的哈希值为hash(AB+CD),并且hash(AB+CD)<hash(E+F),根据排序规则,将节点ABCD放在第三层第一个位置,节点EF放在第三层第二个位置;第四步,根据hash(AB+CD)和hash(E+F)算出默克尔根节点的哈希值为hash(ABCD+EF)。

需要说明的是,在上述明文信息与默克尔验证信息传输的过程中,以及查验终端对信息进行验证的过程中,即使采用保密传输机制,也有可能导致部分用于默克尔验证的哈希值泄露。例如通过网络监听或者恶意的验证机构反复索取多种多样的个人信息,都可能会导致全部或者部分默克尔树的数据被不法者获得。为防止恶意攻击者用穷举的方式推断个人信息,在构建叶节点时,可以为每条个人信息分配一个特定数值,采用哈希算法对个人信息和对应的特定数值进行计算获得该条个人信息对应的哈希值。该特定数值可以为权威机构服务器随机产生的数值,也可以为发送个人信息的终端上传的数值。这样,即是攻击者可以穷举有限离散集合中的明文信息,也无法穷举中特定数值,也就无法穷举算出该明文信息对应的哈希值,也就无法推算出默克尔根值。

权威机构服务器构建公民ID对应的信息档案后,若公民ID对应的公民需要获取所述公民ID对应的信息档案中的个人信息时,公民可以通过用户终端向权威机构服务器发送包括公民ID的信息文档获取请求,权威机构服务器会将公民ID对应的信息文档和权威机构ID发送给用户终端,用户终端根据权威机构ID,获取该权威机构ID对应的哈希算法和有序默克尔树构建规则,然后根据所述获取的个人信息、所述哈希算法和所述有序默克尔树构建规则,自己构建第一默克尔树,从而获得第一默克尔树中的数据。权威机构服务器除了将权威机构ID和用户所需的个人信息发送给用户终端,还可以直接将公民ID对应的第一默克尔树都发送至用户终端。

需要说明的是,权威机构服务器可以通过生成一个包括权威机构ID、所述公民ID对应的信息档案的数字证书,将数字证书发送至用户终端,数字证书中还可以包括所述公民ID对应第一默克尔树。

权威机构服务器会采用第一私钥对构建的第一默克尔树的默克尔根值和所述信息档案中强制公开信息进行签名,生成所述第一默克尔树的默克尔根值对应的第一数字签名(采用第一私钥进行签名代表这默克尔根值是有效的)。之后,权威机构服务器会将包括所述第一默克尔树的默克尔根值、所述第一数字签名、所述信息档案中强制公开信息和权威机构ID的信息发送至区块链平台,区块链平台会存储接收到的所述包括权威机构ID、所述第一默克尔树的默克尔根值、所述信息档案中强制公开信息、所述第一数字签名和权威机构ID的信息。

本实施例通过采用预设的哈希算法和有序默克尔树构建规则构建基于用户终端提供的公民ID对应的各个人信息的默克尔树,并将所述默克尔树的默克尔根值和公民ID的强制公开信息存储在区块链平台。由于哈希摘要算法为单向映射算法,无法通过哈希值反向推算出各个人信息的内容,而默克尔树的根值与任一叶节点的内容和位置都直接相关,任一叶节点的内容或位置的变更都会引起根值的改变,以及区块链平台上存储的数据是不能被修改和删除的,从而保证了各个人信息内容的安全性,以及确保基于公民ID对应的各个人信息创建的默克尔树的默克尔根值和公民ID的强制公开信息不易被修改。

进一步地,根据本申请基于零知识证明的公民隐私保护的方法的第三实施例提出本申请基于零知识证明的公民隐私保护的方法的第五实施例,在本实施例中,所述步骤S80之后还包括:

步骤S130,所述权威机构服务器根据第三预设条件,分别为接收到的所述公民ID对应的各条个人信息设置不同权限等级;

此外,所述步骤S90包括:

所述权威机构服务器根据收到的所述公民ID对应的各条个人信息、各条个人信息对应的信息类别和对应的权限等级,创建所述公民ID对应的信息档案,其中所述信息档案包括所述公民ID对应的至少两条个人信息、各条个人信息对应的信息类别和对应的权限等级的信息档案。

在本实施例中,在所述权威机构服务器根据第二预设条件,分别为各条个人信息划分为个人隐私信息或强制公开信息后,权威机构服务器进一步根据第三预设条件,为各条个人信息设备不同的权限等级。该第三预设条件可以为预设的个人信息所属种类和权限等级对应关系,识别用户终端发送的个人信息的种类,根据预设的个人信息所属种类和权限等级对应关系,分别设置不同的权限;第三预设条件也可以为预设的关键词和权限等级对应关系,识别用户终端发送的个人信息内容匹配的关键词,从而为该个人信息设置权限等级。

在权威机构为用户终端发送的公民ID的各条个人信息划分为权限等级后,为所述公民ID创建一个信息档案,所述信息档案包括所述公民ID对应的至少两条个人信息、各条个人信息对应的信息类别和对应的权限等级的信息档案。本实施例提出了一种为个人信息设置不同权限等级的策略,从而确保只有一定权限的人才能接触到个人信息。

进一步地,参照图5,根据本申请基于零知识证明的公民隐私保护的方法的第三实施例提出本申请基于零知识证明的公民隐私保护的方法的第六实施例,在本实施例中,所述步骤S120包括:

步骤S121,所述权威机构服务器调用所述区块链平台上的智能合约,创建一个包括权威机构ID、所述第一默克尔树的默克尔根值、第一数字签名和所述信息档案中强制公开信息的第一交易记录;

步骤S122,所述权威机构服务器将所述第一交易记录存储至所述区块链平台。

本实施例中,权威机构服务器通过调用区块链平台上的智能合约,会生成一个交易,权威机构服务器会将包括权威机构ID、所述第一默克尔树的默克尔根值、所述第一数字签名和所述信息档案中强制公开信息的信息写入交易记录中。然后将所述交易记录存储在区块链平台上的所调用的智能合约中。图8即为一种存储了默克尔根值的交易记录,该交易记录的Input Data中以aecb88结尾的那串字符串便为包括默克尔根值、对应的数字签名和所述信息档案中强制公开信息的信息,From中的信息则为权威机构ID。

本实施例通过将默克尔根值和所述信息档案中强制公开信息写入交易记录并存储在区块链平台上,从而确保默克尔根值不易被修改。

进一步地,根据本申请基于零知识证明的公民隐私保护的方法的第三实施例提出本申请基于零知识证明的公民隐私保护的方法的第七实施例,在本实施例中,所述步骤S120之后还包括:

步骤S140,所述权威机构服务器接收任一用户终端发送的更新请求,其中所述更新请求包括所述公民ID和至少一条个人信息;

步骤S150,所述权威机构服务器根据第二预设条件,分别将更新请求中各条个人信息划分为个人隐私信息或强制公开信息;

步骤S160,所述权威机构服务器根据所述公民ID对应的信息档案、更新请求中的各条个人信息和对应的信息类别,更新所述公民ID对应的信息档案并生成所述公民ID的新信息档案,所述新信息档案包括各条个人信息和各条个人信息对应的信息类别;

步骤S170,所述权威机构服务器采用预设的哈希算法、预设的有序默克尔树构建规则和所述新信息档案中各条个人信息,构建更新请求中的档案号对应的第二默克尔树,并根据第二默克尔树和预存的所述公民ID的生物识别信息,创建第二默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系以及删除第一默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系;

步骤S180,所述权威机构服务器采用第一私钥对第二默克尔树的默克尔根值和所述新信息档案中强制公开信息进行签名,生成第二数字签名;

步骤S190,所述权威机构将包括权威机构ID、第二默克尔树的默克尔根值、第二数字签名和所述新信息档案中强制公开信息的信息存储至所述区块链平台。

在本实施例中,权威机构服务器接收任一用户终端发送的包括公民ID和至少一条个人信息的更新请求后,所述权威机构服务器根据第二预设条件,分别将更新请求中各条个人信息划分为个人隐私信息或强制公开信息,然后根据公民ID,调出该公民ID对应的信息档案,然后根据更新请求中的至少一条个人信息和公民ID对应的信息档案中的多条个人信息,更新所述公民ID对应的信息档案。

需要说明的是,更新请求中的个人信息可能只是针对原有信息档案中某条个人信息的更新,例如原有信息档案中的存在的一条个人信息“居住地为广东”,更新请求中一条个人信息为“居住地为深圳”,这种情况下会将原有的包括“居住地为广东”内容的这个个人信息删除,将包括“居住地为深圳”内容的个人信息存储在原有信息档案中,生成新的信息档案。更新请求中的个人信息可能是原有信息档案中不存在的个人信息,这种情况下会将更新请求中的个人信息添加到原有信息档案中,生成的新信息档案。

信息档案更新后,权威机构服务器会根据预设的哈希算法和新的信息档案,生成所述新的信息档案对应的第二默克尔树,同时删除第一默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系和创建第二默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系,并将第二默克尔树的默克尔根值和所述公民ID的生物识别信息的映射关系存储到预设的默克尔根值和公民生物识别信息的映射关系表中。

权威机构服务器采用第一私钥对第二默克尔树的默克尔根值和所述新信息档案中属于强制公开信息的各条个人信息进行签名,生成第二数字签名,并将包括第二默克尔树的默克尔根值、第二数字签名和所述新信息档案中属于强制公开信息的各条个人信息、权威机构ID的信息存储至区块链平台

本实施例通过根据用户终端的个人信息更新请求,对信息档案更新并为更新后的信息档案创建新的默克尔树以及将新默克尔树根值存储在区块链平台,从而在公民的个人信息更新后,确保公民提供的更新后的个人信息能被查验通过,以及旧的个人信息不能被查验通过。

本发明还提出了一种基于零知识证明的公民隐私保护的系统。

参照图6,在一实施例中,所述系统包括:查验终端100、权威机构服务器200和用户终端300。

查验终端100,用于获取公民的生物识别信息,发送包括所述公民的生物识别信息的查询请求至权威机构服务器200;

权威机构服务器200,用于接收到所述查验终端100发送的包括所述公民的生物识别信息的查询请求后,根据预存的默克尔根值和生物识别信息的映射关系,获取所述公民的生物识别信息对应的默克尔根值,并将所述默克尔根值、权威机构ID、预设的哈希算法和预设的有序默克尔树构建规则反馈至所述查验终端100;

所述查验终端100,用于接收到所述权威机构服务器200反馈的所述默克尔根值后,根据权威机构ID和所述默克尔根值,获取所述默克尔根值对应的强制公开信息,并根据获取到的所述强制公开信息,判断是否满足第一预设条件,并当确定满足第一预设条件时,发送隐私查验请求至用户终端300;

用户终端300,用于接收到隐私查验请求后,反馈至少一条个人隐私信息和默克尔验证信息至所述查验终端100,其中所述默克尔验证信息包括除反馈的各条个人隐私信息对应的各默克尔节点外的至少一个其他节点的哈希值或包括除反馈的各条个人隐私信息对应的默克尔节点外的至少一个其他节点的哈希值和对应的所属层;

所述查验终端100,用于根据所述哈希算法、所述有序默克尔树构建规则、用户终端反馈的各条个人隐私信息和默克尔验证信息进行计算,获得待验证默克尔根值,判断待验证默克尔根值和所述默克尔根值是否相同,并根据判断结果,对用户终端300提供的个人隐私信息进行验证。

需要说明的是,上述系统具有基于零知识证明的公民隐私保护的方法的第三实施例的全部技术特征,具体交互过程可以参照前述方法的全部实施例执行,相应的也具有前述方法的实施例的全部技术效果。

本发明还提出一种计算机可读存储介质,其上存储有计算机程序。所述计算机可读存储介质可以是图1的服务器中的存储器20,也可以是如ROM(Read-Only Memory,只读存储器)/RAM(Random Access Memory,随机存取存储器)、磁碟、光盘中的至少一种,所述计算机可读存储介质包括若干信息用以使得查验终端、权威机构服务器、用户终端和/或区块链平台执行本发明各个实施例所述的方法。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号