一种隐私保护生物认证方法和装置、电子设备转让专利

申请号 : CN202210038504.7

文献号 : CN114065169B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张秉晟王志高任奎

申请人 : 浙江大学

摘要 :

本发明公开了一种隐私保护生物认证方法和装置、电子设备,该方法包括:根据用户注册时输入的生物信息数据集,构建相应的生物数据模板;利用非对称密码学技术,生成一对公钥和私钥;根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据;将所述公钥和加密生物数据发送到服务器;根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复;根据恢复后的私钥和与对应的公钥,构建签名;将所述签名发送到服务器,以使得服务器根据所述公钥和签名对用户进行验证。解决了相关技术中存在的数据存储量大、同一个人的生物信息使用模糊金库技术加密的两个系统可以相互解锁的技术问题。

权利要求 :

1.一种隐私保护生物认证方法,其特征在于,应用于客户端,包括:根据用户注册时输入的生物信息数据集,构建相应的生物数据模板;

利用非对称密码学技术,生成一对公钥和私钥;

根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据;

将所述公钥和加密生物数据发送到服务器;

根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复;

根据恢复后的私钥和与对应的公钥,构建签名;

将所述签名发送到服务器,以使得服务器根据所述公钥和签名对用户进行验证;

其中,根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据,包括:根据所述生物数据模板中特征点的数量,将所述私钥分享为对应数量的私钥的秘密份额;

根据所述生物数据模板和对应的私钥的秘密份额,利用OKVS技术生成加密生物数据;

具体地,随机选取一种OKVS技术,将生物数据模板作为键,私钥的秘密份额作为值进行加密,得到加密生物数据;

其中,OKVS(Oblivious Key‑Value Store)是一种密码学协议, KVS(Key‑Value Store)协议包含两个算法,Encode算法和Decode算法,其中Encode算法的输入是键值对的集合 ,如果成功,输出一个存储了键值信息的数据结构 ;Decode算法是输入存储键值信息的数据结构S和一个键 ,输出对应的值 ,其中 表示Encode算法执行失败时输出的终止符号。

2.根据权利要求1所述的方法,其特征在于,根据用户注册时输入的生物信息数据集,构建相应的生物数据模板,包括:对所述生物信息数据集进行预处理;

根据所述生物信息数据集中生物信息的类型,对预处理后的生物信息特征集进行特征提取,得到生物特征数据;

根据所述生物特征数据对应的种类,对所述生物特征信息进行量化;

根据量化后的生物特征数据,构建出相应的生物特征模板。

3.根据权利要求1所述的方法,其特征在于,根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复,包括:根据用户验证时输入的生物数据,构建验证模板;

根据所述验证模板,利用OKVS技术对所述加密生物数据进行解密,得到若干私钥的秘密份额,其中所述私钥的秘密份额的数量大于预定数量;

根据所述若干私钥的秘密份额,对所述私钥进行恢复。

4.一种隐私保护生物认证装置,其特征在于,应用于客户端,包括:第一构建模块,根据用户注册时输入的生物信息数据集,构建相应的生物数据模板;

第一生成模块,利用非对称密码学技术,生成一对公钥和私钥;

第二生成模块,根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据;

第一发送模块,将所述公钥和加密生物数据发送到服务器;

恢复模块,根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复;

构建模块,根据恢复后的私钥和与对应的公钥,构建签名;

第二发送模块,将所述签名发送到服务器,以使得服务器根据所述公钥和签名对用户进行验证;

其中,根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据,包括:根据所述生物数据模板中特征点的数量,将所述私钥分享为对应数量的私钥的秘密份额;

根据所述生物数据模板和对应的私钥的秘密份额,利用OKVS技术生成加密生物数据;

具体地,随机选取一种OKVS技术,将生物数据模板作为键,私钥的秘密份额作为值进行加密,得到加密生物数据;

其中,OKVS(Oblivious Key‑Value Store)是一种密码学协议, KVS(Key‑Value Store)协议包含两个算法,Encode算法和Decode算法,其中Encode算法的输入是键值对的集合 ,如果成功,输出一个存储了键值信息的数据结构 ;Decode算法是输入存储键值信息的数据结构S和一个键 ,输出对应的值 ,其中 表示Encode算法执行失败时输出的终止符号。

5.一种隐私保护生物认证方法,其特征在于,应用于服务器,包括:接收客户端发送的公钥,所述公钥由客户端利用非对称密码学技术生成;

获取加密生物数据,所述加密生物数据由客户端发送得到或由服务器根据生物数据模板和私钥,利用秘密共享方案和OKVS技术生成得到,其中所述私钥由客户端利用非对称密码学技术生成,所述生物数据模板由客户端根据用户注册时输入的生物信息数据集构建;

对所述公钥和加密生物数据进行存储;

接收客户端发送的签名,其中所述签名由客户端根据恢复后的私钥和对应的公钥构建,所述恢复后的私钥由客户端根据用户验证时输入的生物数据,利用OKVS技术对所述私钥进行恢复得到;

根据所述公钥和签名,对用户进行验证;

其中,根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据,包括:根据所述生物数据模板中特征点的数量,将所述私钥分享为对应数量的私钥的秘密份额;

根据所述生物数据模板和对应的私钥的秘密份额,利用OKVS技术生成加密生物数据;

具体地,随机选取一种OKVS技术,将生物数据模板作为键,私钥的秘密份额作为值进行加密,得到加密生物数据;

其中,OKVS(Oblivious Key‑Value Store)是一种密码学协议, KVS(Key‑Value Store)协议包含两个算法,Encode算法和Decode算法,其中Encode算法的输入是键值对的集合 ,如果成功,输出一个存储了键值信息的数据结构 ;Decode算法是输入存储键值信息的数据结构S和一个键 ,输出对应的值 ,其中 表示Encode算法执行失败时输出的终止符号。

6.一种隐私保护生物认证装置,其特征在于,应用于服务器,包括:第一接收模块,接收客户端发送的公钥,所述公钥由客户端利用非对称密码学技术生成;

获取模块,获取加密生物数据,所述加密生物数据由客户端发送得到或由服务器根据生物数据模板和私钥,利用秘密共享方案和OKVS技术生成得到,其中所述私钥由客户端利用非对称密码学技术生成,所述生物数据模板由客户端根据用户注册时输入的生物信息数据集构建;

存储模块,对所述公钥和加密生物数据进行存储;

第二接收模块,接收客户端发送的签名,其中所述签名由客户端根据恢复后的私钥和对应的公钥构建,所述恢复后的私钥由客户端根据用户验证时输入的生物数据,利用OKVS技术对所述私钥进行恢复得到;

验证模块,根据所述公钥和签名,对用户进行验证;

其中,根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据,包括:根据所述生物数据模板中特征点的数量,将所述私钥分享为对应数量的私钥的秘密份额;

根据所述生物数据模板和对应的私钥的秘密份额,利用OKVS技术生成加密生物数据;

具体地,随机选取一种OKVS技术,将生物数据模板作为键,私钥的秘密份额作为值进行加密,得到加密生物数据;

其中,OKVS(Oblivious Key‑Value Store)是一种密码学协议, KVS(Key‑Value Store)协议包含两个算法,Encode算法和Decode算法,其中Encode算法的输入是键值对的集合 ,如果成功,输出一个存储了键值信息的数据结构 ;Decode算法是输入存储键值信息的数据结构S和一个键 ,输出对应的值 ,其中 表示Encode算法执行失败时输出的终止符号。

7.一种电子设备,其特征在于,包括:

一个或多个处理器;

存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑3或权利要求5中任一项所述的方法。

8.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1‑3或权利要求5中任一项所述方法的步骤。

说明书 :

一种隐私保护生物认证方法和装置、电子设备

技术领域

[0001] 本申请涉及隐私保护身份认证领域,尤其涉及一种隐私保护生物认证方法和装置、电子设备。

背景技术

[0002] 在当前社会中,信息安全越来越重要。常常使用密码学方式实现一个系统,但是这个系统的一个安全性挑战就是维护密钥的保密性。有效的解决方案是使用用户的生物信息(如指纹)作为认证来获取密钥,因为生物信息往往具有唯一性。但是一个生物认证系统本身很容易受到攻击。因为认证的需要,其常常需要将用户的生物信息数据存储在服务器的数据库中,该服务器一旦受到攻击,用户的所有保密信息将会泄漏。而后,为了解决这一问题,人们采用了很多的隐私保护生物认证技术,其中最经典的就是模糊金库技术。自基于模糊金库技术的生物识别系统在2007年被提出的后,其后的十几年间隐私保护的生物认证方法大多是在其基础上进行改进。
[0003] 在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:
[0004] 模糊金库技术有两个明显的缺点。第一个是数据存储量比较臃余,因为模糊金库技术的安全性要求,为了保护一个生物信息(如指纹信息),必须生成接近100倍的假的点来混淆。第二个是如果同一个人用自己的生物去加密形成了两个独立的模糊金库,那么这两个模糊金库就可以互相解锁,因为它们之间的重合点中必定包含了大量的真实点,足以达到解锁的门槛,这将成为一个巨大的安全隐患。

发明内容

[0005] 本申请实施例的目的是提供一种隐私保护生物认证方法和装置、电子设备,以解决相关技术中存在的数据存储量大、同一个人的生物信息使用模糊金库技术加密的两个系统可以相互解锁的技术问题。
[0006] 根据本申请实施例的第一方面,提供一种隐私保护生物认证方法,应用于客户端,包括:
[0007] 根据用户注册时输入的生物信息数据集,构建相应的生物数据模板;
[0008] 利用非对称密码学技术,生成一对公钥和私钥;
[0009] 根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据;
[0010] 将所述公钥和加密生物数据发送到服务器;
[0011] 根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复;
[0012] 根据恢复后的私钥和与对应的公钥,构建签名;
[0013] 将所述签名发送到服务器,以使得服务器根据所述公钥和签名对用户进行验证。
[0014] 进一步地,根据用户注册时输入的生物信息数据集,构建相应的生物数据模板,包括:
[0015] 对所述生物信息数据集进行预处理;
[0016] 根据所述生物信息数据集中生物信息的类型,对预处理后的生物信息特征集进行特征提取,得到生物特征数据;
[0017] 根据所述生物特征数据对应的种类,对所述生物特征信息进行量化;
[0018] 根据量化后的生物特征数据,构建出相应的生物特征模板。
[0019] 进一步地,根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据,包括:
[0020] 根据所述生物数据模板中特征点的数量,将所述私钥分享为对应数量的私钥的秘密份额;
[0021] 根据所述生物数据模板和对应的私钥的秘密份额,利用OKVS技术生成加密生物数据。
[0022] 进一步地,根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复,包括:
[0023] 根据用户验证时输入的生物数据,构建验证模板;
[0024] 根据所述验证模板,利用OKVS技术对所述加密生物数据进行解密,得到若干私钥的秘密份额,其中所述私钥的秘密份额的数量大于预定数量;
[0025] 根据所述若干私钥的秘密份额,对所述私钥进行恢复。
[0026] 根据本申请实施例的第二方面,提供一种隐私保护生物认证装置,应用于客户端,包括:
[0027] 第一构建模块,根据用户注册时输入的生物信息数据集,构建相应的生物数据模板;
[0028] 第一生成模块,利用非对称密码学技术,生成一对公钥和私钥;
[0029] 第二生成模块,根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据;
[0030] 第一发送模块,将所述公钥和加密生物数据发送到服务器;
[0031] 恢复模块,根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复;
[0032] 构建模块,根据恢复后的私钥和与对应的公钥,构建签名;
[0033] 第二发送模块,将所述签名发送到服务器,以使得服务器根据所述公钥和签名对用户进行验证。
[0034] 根据本申请实施例的第三方面,提供一种隐私保护生物认证方法,应用于服务器,包括:
[0035] 接收客户端发送的公钥,所述公钥由客户端利用非对称密码学技术生成;
[0036] 获取加密生物数据,所述加密生物数据由客户端发送得到或由服务器根据生物数据模板和私钥,利用秘密共享方案和OKVS技术生成得到,其中所述私钥由客户端利用非对称密码学技术生成,所述生物数据模板由客户端根据用户注册时输入的生物信息数据集构建;
[0037] 对所述公钥和加密生物数据进行存储;
[0038] 接收客户端发送的签名,其中所述签名由客户端根据恢复后的私钥和对应的公钥构建,所述恢复后的私钥由客户端根据用户验证时输入的生物数据,利用OKVS技术对所述私钥进行恢复得到;
[0039] 根据所述公钥和签名,对用户进行验证。
[0040] 进一步地,根据所述生物数据模板和所述私钥,利用OKVS技术生成加密生物数据,包括:
[0041] 根据所述生物数据模板中特征点的数量,将所述私钥分割为对应数量的私钥的秘密份额;
[0042] 根据所述生物数据模板和对应的私钥的秘密份额,利用OKVS技术生成加密生物数据。
[0043] 根据本申请实施例的第四方面,提供一种隐私保护生物认证装置,应用于服务器,包括:
[0044] 第一接收模块,接收客户端发送的公钥,所述公钥由客户端利用非对称密码学技术生成;
[0045] 获取模块,获取加密生物数据,所述加密生物数据由客户端发送得到或由服务器根据生物数据模板和私钥,利用秘密共享方案和OKVS技术生成得到,其中所述私钥由客户端利用非对称密码学技术生成,所述生物数据模板由客户端根据用户注册时输入的生物信息数据集构建;
[0046] 存储模块,对所述公钥和加密生物数据进行存储;
[0047] 第二接收模块,接收客户端发送的签名,其中所述签名由客户端根据恢复后的私钥和对应的公钥构建,所述恢复后的私钥由客户端根据用户验证时输入的生物数据,利用OKVS技术对所述私钥进行恢复得到;
[0048] 验证模块,根据所述公钥和签名,对用户进行验证。
[0049] 根据本申请实施例的第五方面,提供一种电子设备,其特征在于,包括:
[0050] 一个或多个处理器;
[0051] 存储器,用于存储一个或多个程序;
[0052] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面或第三方面中任一项所述的方法。
[0053] 根据本申请实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如第一方面或第三方面中任一项所述方法的步骤。
[0054] 本申请的实施例提供的技术方案可以包括以下有益效果:
[0055] 由上述实施例可知,本申请利用秘密共享方案和OKVS技术对生物数据模板加密,生成加密生物数据,使得数据即使泄露也不会暴露用户的隐私;同时通过使用OKVS技术,使得具有隐私保护功能的加密生物数据所需要的存储量大大减少;根据恢复后的私钥和与对应的公钥,构建签名,使得用户真实生物信息只留存在本地客户端,保证了客户端与不可信服务器之间的安全通信;本发明还具有使用简便、高效安全、隐私保护且可以远程使用的优点。
[0056] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

[0057] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0058] 图1是根据一示例性实施例示出的一种隐私保护生物认证方法(应用于客户端)的流程图。
[0059] 图2是根据一示例性实施例示出的步骤S11的流程图。
[0060] 图3是根据一示例性实施例示出的步骤S13的流程图。
[0061] 图4是根据一示例性实施例示出的步骤S15的流程图。
[0062] 图5是根据一示例性实施例示出的一种隐私保护生物认证装置(应用于客户端)的框图。
[0063] 图6是根据一示例性实施例示出的一种隐私保护生物认证方法(应用于服务器)的流程图。
[0064] 图7是根据一示例性实施例示出的一种隐私保护生物认证装置(应用于服务器)的框图。
[0065] 图8是根据一示例性实施例示出的一种隐私保护生物认证方法的交互图。

具体实施方式

[0066] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0067] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0068] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0069] 首先对OKVS技术进行解释:
[0070] OKVS(Oblivious Key‑Value Store)是一种密码学协议。首先我们需要了解KVS(Key‑Value Store)协议,一个KVS协议包含两个算法,Encode算法和Decode算法。其中Encode算法的输入是键值对的集合 ,输出一个存储了键值信息的数据结构 ;或者有概率 失败,输出终止符号 ,其中 为可调节参数。Decode算法是输入存储键值信息的数据结构S和一个键  ,输出对应的值 ,
[0071]
[0072]
[0073] 其中 表示Encode算法执行失败时输出的终止符号。
[0074] OKVS是在KVS的基础上添加了安全性要求,通俗的讲如果值v的取值随机,那么我们将无法区分两个相同数量的健 所形成的数据结构 。下面我们给出OKVS的详细安全性定义:
[0075] 如果我们说一个KVS是OKVS,对于所有不相同的 和不相同的(其中 的上标仅用于区分两组 间不同),如果Encode算法不失败,
那么 和 是不可区分的。程序R的定义如下:
[0076]
[0077]
[0078]
[0079] 线性OKVS是OKVS协议的一种分类,它指的是Decode算法可以写成键k经过某些映射d之后的值与S的内积。如下
[0080]
[0081] 线性OKVS中键k、值v和数据结构S的关系也可以写成下列形式
[0082]
[0083] 此处我们简单列出几种OKVS技术的具体实现
[0084] 例1:多项式:
[0085] 一种最自然而简单的想法就是使用多项式 ,使多项式 满足 ,其中多项式 的系数就是OKVS的数据结构 。解密的时候我们只需要将 与做内积,就可以解密得到 。通过描述我们可以知道基于多项式的OKVS技术是一种线性OKVS技术。
[0086] 例2:密集矩阵:
[0087] 如果有一个 行 列的随机矩阵,且满足 ,那么这个矩阵出现线性相关的概率小于 。基于此,我们有一种构造OKVS的方法是将 映射为域 中的随机向量 ,然后求解下列线性方程组
[0088]
[0089] 得到OKVS的数据结构 。
[0090] 例3:3H‑GCT(3‑Hash Garbled Cuckoo Table)
[0091] 3H‑GCT是一种哈希形式,其包含三个不同的哈希函数, ,假设这个哈希表我们表示为 ,我们用 表示在哈希表 中的第 个元素,那么任意一个值 如果插入3H‑GCT中,那么它将会被表示为  。3H‑GCT的OKVS的构造
是一种linear的OKVS,将哈希表T作为OKVS中的加密的数据结构S,将一个在位置上值为1,其余位置值为0,长度等于S长度的二进制向量作为k的映
射 。
[0092] 假设用户A需要使用网络平台B提供的服务,则A需要在该平台注册账户信息,并登陆才可以享受服务。用户A和网络平台B都希望使用一种具有隐私保护性质的,便捷的身份认证方法。用户A希望使用生物信息来代替传统的口令密钥用于身份认证,并且希望自己的账户密码都能够得到加密保护与安全存储,并且不泄露给服务器。为了实现以上要求,用户A和网络平台B可以使用下面展示的一种隐私保护生物认证方法来完成身份认证,本实施例中网络平台B为客户端。
[0093] 图1是根据一示例性实施例示出的一种隐私保护生物认证方法的流程图,如图1所示,该方法应用于客户端中,可以包括以下步骤:
[0094] 步骤S11:根据用户注册时输入的生物信息数据集,构建相应的生物数据模板;
[0095] 步骤S12:利用非对称密码学技术,生成一对公钥和私钥;
[0096] 步骤S13:根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据;
[0097] 步骤S14:将所述公钥和加密生物数据发送到服务器;
[0098] 步骤S15:根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复;
[0099] 步骤S16:根据恢复后的私钥和与对应的公钥,构建签名;
[0100] 步骤S17:将所述签名发送到服务器,以使得服务器根据所述公钥和签名对用户进行验证。
[0101] 由上述实施例可知,本申请利用秘密共享方案和OKVS技术对生物数据模板加密,生成加密生物数据,使得数据即使泄露也不会暴露用户的隐私;同时通过使用OKVS技术,使得具有隐私保护功能的加密生物数据所需要的存储量大大减少;根据恢复后的私钥和与对应的公钥,构建签名,使得用户真实生物信息只留存在本地客户端,保证了客户端与不可信服务器之间的安全通信;本发明还具有使用简便、高效安全、隐私保护且可以远程使用的优点。
[0102] 具体地,因为OKVS技术可以大大的减少数据加密之后的存储量,所以我们使用OKVS来加密生物数据。但是由于OKVS的安全性要求和避免同一个人的生物数据加密形成的两份验证数据可以相互解锁,所以我们采用秘密分享技术。因为秘密分享技术的完美隐私性,攻击者非常难以还原用户的生物信息数据,因此保证了整体的安全性。同时由于秘密分享本身的特性使得我们可以任意选择秘密份额的值,只要它满足正确性的要求。这样使得即使同一个人的生物信息加密出来的数据也不相同,使得我们无法通过同一个人的生物信息的两份加密数据来还原用户的生物信息。
[0103] 在步骤S11的具体实施中,根据用户注册时输入的生物信息数据集,构建相应的生物数据模板;
[0104] 具体地,生物认证的本质实际上就是一个模式识别的过程,它利用每个自然人身上普遍存在却又形态各异的某些特征,来对人的身份进行验证,确定用户是否为自己声称的那个人。常用的生物特征有指纹、人脸、虹膜、声纹等,除此之外还有一些不太成熟的识别方法,如步态识别、指静脉识别等。生物认证的步骤主要包括生物特征的采集、提取、量化、比对等,其中整个处理过程的最终效果只要达到能匹配一部分生物数据就可以确定身份即可。如图2所示,此步骤包括以下子步骤:
[0105] 步骤S21:对所述生物信息数据集进行预处理;
[0106] 具体地,以指纹,人脸为例,将采集到的指纹、人脸图片进行筛选,分组,打上标签,然后通过如Gabor滤波算法等方式对图像进行增强,使其变得清晰,并且对图像进行一定的裁剪与旋转,使它们能够对齐。这一步的操作是为了减少生物信息采集过程中,受到的不同因素的干扰,使得后续的特征提取能够更加准确。
[0107] 步骤S22,根据所述生物信息数据集中生物信息的类型,对预处理后的生物信息特征集进行特征提取,得到生物特征数据;
[0108] 具体地,以人脸为例,将人脸图像输入训练好的深度神经网络,输出一个固定长度的特征向量,作为提取的特征;以指纹为例,寻找指纹中的端点、分叉点作为特征点,将它们的坐标表示出来。
[0109] 步骤S23,根据所述生物特征数据对应的种类,对所述生物特征信息进行量化;
[0110] 具体地,对不同种类的生物特征,需要根据它的分布特点、比对方式等来对其进行分别量化,以便提高认证的精度。
[0111] 在一实施例中,以人脸为生物特征,一般由深度神经网络产生出来的特征向量是属于实数范围;首先需要将特征向量中的数据范围根据其数据的概率密度来划分为不同的区间,区间数量一般为 (x为可控制精度),然后将落入区间内的特征向量的值转化为对应的区间的索引(整数),然后将对应的整数根据一些编码方法(例如二进制反射格雷码、整数的二进制表示等)将整数编码为二进制数据。
[0112] 在另一实施例中,以指纹为为生物特征,指纹的坐标原本以像素长度为单位,但这样产生的数值过大,带来的认证误差也比较大,因此需要将其量化为固定长度的比特串,将指纹坐标的正态分布曲线根据概率均分成 块,那么每一块就可以用b个比特的二进制串来表示。
[0113] 步骤S24,根据量化后的生物特征数据,构建出相应的生物特征模板。
[0114] 具体地,以人脸为例,将上述量化后的特征向量作为最终特征,其中每一个特征向量的值就是特征点;以指纹为例,将距离相近的数个点作为一个簇,联合这个簇中所有点量化后的坐标,作为最终特征。通过上述量化过程后得到的生物特征才可以作为特征模板,供后续加密与认证阶段使用。
[0115] 在步骤S12的具体实施中,利用非对称密码学技术,生成一对公钥和私钥;
[0116] 具体地,输入公共参数g,生成一对公私钥,pk为公钥,sk为私钥,满足 。
[0117] 在步骤S13的具体实施中,根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据;
[0118] 具体地,如图3所示,此步骤包括以下子步骤:
[0119] 步骤S31:根据所述生物数据模板中特征点的数量,将所述私钥分割为对应数量的私钥的秘密份额;
[0120] 具体地,假设所述生物数据模板中有n个特征点,则将私钥sk进行 的秘密分享,得到n个私钥的秘密份额。
[0121] 步骤S32:根据所述生物数据模板和对应的私钥的秘密份额,利用OKVS技术生成加密生物数据。
[0122] 具体地,随机选取一种OKVS技术,将生物数据作为键,私钥的秘密份额作为值进行加密,然后得到加密生物数据S。在具体实施中, t为生物解锁的阈值,t越接近n,认证时所需要的生物数据越接近再注册时候所录入的全部生物数据。
[0123] 在步骤S14的具体实施中,将所述公钥和加密生物数据发送到服务器;
[0124] 具体地,为了保证在不可信的服务器上完成我们的加密生物数据的验证过程,我们将加密生物数据和公钥通过信道传输到服务器上,无论攻击者截获数据或者是在服务器上获得数据,因为OKVS技术和公钥密码学的安全性,攻击者都给不可能辨别用户的生物信息。
[0125] 在步骤S15的具体实施中,根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复;
[0126] 具体地,如图4所示,此步骤包括以下子步骤:
[0127] 步骤S41:根据用户验证时输入的生物数据,构建验证模板;
[0128] 具体地,构建验证模板的过程与步骤S11中构建相应的生物数据模板的过程相同。
[0129] 步骤S42:根据所述验证模板,利用OKVS技术对所述加密生物数据进行解密,得到若干私钥的秘密份额,其中所述私钥的秘密份额的数量大于预定数量;
[0130] 具体地,将服务器上加密生物数据S和用户的验证模板(作为键k)放入Decode算法中,具体使用什么Decode算法要根据步骤S32中使用了什么Encode算法生成加密生物数据S,然后用户就可以获得 份的的私钥的秘密份额,预定数量t为生物解锁的阈值,若所诉私钥的秘密份额的数量小于预定数量,即 ,则可选择停止解密过程或者重新输入解密数据,如指纹来说,用户可重新向传感器输入更大的指纹面积,以达到解锁的门限。
[0131] 步骤S43:根据所述若干私钥的秘密份额,对所述私钥进行恢复。
[0132] 具体地,若获得的私钥的秘密份额的数量 ,将所述 份私钥的私钥的秘密份额中任意t份使用秘密分享的Rec算法,对私钥进行恢复,得到恢复后的私钥 。用户得到的私钥的秘密份额可能存在错误的值,假设用户得到 份私钥的秘密份额,其中有 份正确值,有 份错误值。若 ,则用户可以通过暴力搜索的方式找到其中正确的值,并恢复私钥 ;若 ,则用户可以通过Berlekamp–Welch算法在 的时间内找出正确的秘密份额值,并恢复私钥 。
[0133] 在步骤S16的具体实施中,根据恢复后的私钥和与对应的公钥,构建签名;
[0134] 具体地,当用户在客户端身份认证成功取得 后,需要进行登录操作,客户端可以利用非交互式零知识证明的签名技术构建签名c,如果有安全性需要我们可以使用后量子安全的NTRU签名算法。在本实施例中,使用常用的Schnorr签名技术来构建签名,客户端与服务器共同商定一段文本Msg,文本Msg是公开的。然后客户端从服务器上取下该用户对应的公钥pk,并在域中随机取一个数w,计算A =  。计算 ,构造一个 。我们所构建的签名为 。
[0135] 在步骤S17的具体实施中,将所述签名发送到服务器,以使得服务器根据所述公钥和签名对用户进行验证。
[0136] 具体地,客户端生成签名c,发送给服务器,服务器使用用户的公钥pk,然后重新计算 ,验证 ,是否成立,如果成立,则验证成功,服务器向用户提供服务,若失败则拒绝用户请求。
[0137] 与前述的隐私保护生物认证方法的实施例相对应,本申请还提供了隐私保护生物认证装置的实施例。
[0138] 图5是根据一示例性实施例示出的一种隐私保护生物认证装置框图。参照图5,该装置应用于客户端,可以包括:
[0139] 第一构建模块21,根据用户注册时输入的生物信息数据集,构建相应的生物数据模板;
[0140] 第一生成模块22,利用非对称密码学技术,生成一对公钥和私钥;
[0141] 第二生成模块23,根据所述生物数据模板和所述私钥,利用秘密共享方案和OKVS技术生成加密生物数据;
[0142] 第一发送模块24,将所述公钥和加密生物数据发送到服务器;
[0143] 恢复模块25,根据用户验证时输入的生物数据和所述加密生物数据,利用OKVS技术对所述私钥进行恢复;
[0144] 第二构建模块26,根据恢复后的私钥和与对应的公钥,构建签名;
[0145] 第二发送模块27,将所述签名发送到服务器,以使得服务器根据所述公钥和签名对用户进行验证。
[0146] 图6是根据一示例性实施例示出的一种隐私保护生物认证方法的流程图,如图6所示,该方法应用于服务器中,可以包括以下步骤:
[0147] 步骤S51:接收客户端发送的公钥,所述公钥由客户端利用非对称密码学技术生成;
[0148] 具体地,客户端根据输入的公共参数g,生成一对公私钥,pk为公钥,sk为私钥,满足 。这样生成公钥和私钥是为了符合验证过程使用的算法。
[0149] 步骤S52:获取加密生物数据,所述加密生物数据由客户端发送得到或由服务器根据生物数据模板和私钥,利用秘密共享技术和OKVS技术生成得到,其中所述私钥由客户端利用非对称密码学技术生成,所述生物数据模板由客户端根据用户注册时输入的生物信息数据集构建;
[0150] 具体地,我们将私钥的秘密份额作为值,将生物数据特征模板作为键;选择一种OKVS技术执行其Encode算法,我们将会得到加密生物数据S。这样的好处是S不会泄露用户的生物数据。
[0151] 步骤S53:对所述公钥和加密生物数据进行存储;
[0152] 具体地,将公钥和加密生物数据放置与服务器上,这样做既不会泄露用户的生物数据的隐私性,也使得用户可以方便验证。
[0153] 步骤S54:接收客户端发送的签名,其中所述签名由客户端根据恢复后的私钥和对应的公钥构建,所述恢复后的私钥由客户端根据用户验证时输入的生物数据,利用OKVS技术对所述私钥进行恢复得到;
[0154] 具体地,将生物数据特征模板作为键,使用加密时相同的OKVS技术,使用Decode算法获得私钥sk的秘密份额,当份额大于等于t份时候,通过秘密分享的Rec算法恢复私钥,如果获得的私钥sk的秘密份额小于t份,客户端解密失败,用户可以重新输入更多的生物信息(如指纹),或者终止解密过程。
[0155] 步骤S55:根据所述公钥和签名,对用户进行验证。
[0156] 具体地,客户端生成签名c = (A, z),发送给服务器,服务器从区块链中取下该用户的公钥h,然后重新计算e = Hash(h, A, Msg),验证 ·A =  ,是否成立,如果成立,则验证成功,服务器向用户提供服务,若失败则拒绝用户请求。
[0157] 与前述的隐私保护生物认证方法的实施例相对应,本申请还提供了隐私保护生物认证装置的实施例。
[0158] 图7是根据一示例性实施例示出的一种隐私保护生物认证装置框图。参照图7,该装置应用于服务器,可以包括:
[0159] 第一接收模块31,接收客户端发送的公钥,所述公钥由客户端利用非对称密码学技术生成;
[0160] 获取模块32,获取加密生物数据,所述加密生物数据由客户端发送得到或由服务器根据生物数据模板和私钥,利用秘密共享方案和OKVS技术生成得到,其中所述私钥由客户端利用非对称密码学技术生成,所述生物数据模板由客户端根据用户注册时输入的生物信息数据集构建;
[0161] 存储模块33,对所述公钥和加密生物数据进行存储;
[0162] 第二接收模块34,接收客户端发送的签名,其中所述签名由客户端根据恢复后的私钥和对应的公钥构建,所述恢复后的私钥由客户端根据用户验证时输入的生物数据,利用OKVS技术对所述私钥进行恢复得到;
[0163] 验证模块35,根据所述公钥和签名,对用户进行验证。
[0164] 如图8所示,本申请提供的一种隐私保护生物认证方法的过程包括:
[0165] 步骤S61:客户端根据用户注册时输入的生物信息数据集,构建相应的生物数据模板;
[0166] 步骤S62:客户端利用非对称密码学技术,生成一对公钥pk和私钥sk;
[0167] 步骤S63:客户端根据所述生物数据模板和所述私钥sk,利用秘密共享方案和OKVS技术生成加密生物数据S;
[0168] 步骤S64:客户端将所述公钥pk和加密生物数据S发送到服务器;
[0169] 步骤S65:服务器对所述公钥pk和加密生物数据S进行存储;
[0170] 步骤S66:客户端根据用户验证时输入的生物数据和所述加密生物数据S,利用OKVS技术对所述私钥进行恢复;
[0171] 步骤S67:客户端根据恢复后的私钥 和与对应的公钥pk,构建签名c;
[0172] 步骤S68:客户端将所述签名c发送到服务器;
[0173] 步骤S69:服务器根据所述公钥pk和签名c,对用户进行验证。
[0174] 其中,步骤S61‑步骤S69的具体实施已在上文详细阐述,此处不作赘述。
[0175] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0176] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0177] 相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的隐私保护生物认证方法。
[0178] 相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如上述的隐私保护生物认证方法。
[0179] 本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
[0180] 应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。