1. 介绍
1.1. 研究背景及意义
生物特征识别技术是一种使用人体独特的生理特征(如虹膜、声音、脸、指纹等)或行为特征(如步态、声音、击键等)来区分、识别和验证个人身份的技术。相比于传统的身份验证方法(例如密码或智能卡),生物特征不会被丢失、窃取或遗忘。目前,生物特征识别技术被广泛应用。该技术在电子健康 [1] 、工业物联网 [2] 、无线传感器网络 [3] 、辅助机器人 [4] 等领域得到广泛应用。
一般来说,生物特征识别包含生物特征数据库和查询请求。数据拥有者(DO)对数据库执行搜索任务来匹配查询数据并对查询做出反馈。然而,在当前的大数据时代,生物特征数据的数量正以指数级速度增长,这给DO端带来了沉重的存储和计算负担。因此,将存储和识别任务外包给云服务器已成为一种常见的解决方法。在云计算环境中,资源受限的用户可以将复杂的计算任务外包到云服务器,并通过按需付费的方式享受云计算平台提供的计算和存储资源。
虽然云辅助生物特征识别在实践中显示出了良好的应用前景,但它也面临着一些严重的安全挑战。由于生物数据的高敏感性,一旦这些生物数据泄露或者被滥用,将会到导致不可估量的财产损失。显然,云服务器不会是完全可信的,并且还会存在恶意用户试图突破安全屏障。
因此,一个设计良好的生物识别外包协议应保证敏感数据的机密性。同时,因为DO需要花费额外的成本来保护隐私信息,所以隐私保护方法必须是高效的。也就是说,相对于由DO端独自完成识别任务(不外包),设计的外包协议应确保DO端节省计算和存储开销。
所以如何设计高效且保护隐私的生物特征识别协议成为了重要研究问题。
1.2. 相关工作
在安全的两方计算模型中,数据库所有者(DO)和用户(QU)可以共同的执行生物特征识别算法同时保证自己所拥有的信息不被泄露。在这个前提下,学者们提出了很多基于两方的安全隐私方法。Erkin [5] 等提出了第一个增强隐私的双方人脸识别协议,在标准特征人脸识别算法的基础上,采用同态加密进行隐藏进行生物识别和匹配操作。然而,Sadeghi [6] 等指出, [5] 中的协议通信和计算效率较低,实际并不适用大规模的数据库。为了进一步提高效率,他们使用乱码电路(GC)进行阈值比较,大大降低了计算成本。另外,针对于 [5] 和 [6] 协议存在的不足,Osadchy [7] 等提出了新的协议修正了他们存在的一些图像识别问题的不准确性。 [7] 中的协议是基于一种特殊设计的面部识别算法,是第一个安全系统在现实生活中的人脸识别应用。为了进一步优化其构建,Huang [8] 等和Blanton [9] 等随后设计了基于同态的隐私保护指纹和虹膜识别协议加密和乱码电路(GC),与 [7] 相比,实现了更低的开销。然而,这些针对两方提出的隐私保护协议大都是依靠于同态加密,因此计算成本比较高,效率较低,不适用于实际应用,并且,大多数的两方协议不能直接运用到云环境下,因此不能直接应用于外包模型。
与本文主题密切相关的工作是设计高效且保护隐私的云辅助生物识别协议。在这种情况下,DO将数据库和相关查询操作外包给资源丰富的云服务器来降低服务器的计算压力。Wong等 [10] 开发了一种高效的非对称标量积保持加密(APSE)来实现安全的密文数据库查询操作。随后,Yuan和Yu [11] 指出,这种协议是不安全的,文献 [10] 中的协议没有考虑到云服务器和恶意用户相互勾结的情况。因此,如果存在这两方的恶意勾结,机密的生物特征数据将会被攻破。针对这一问题,他们提出了一种新的可以抵抗已知明文攻击的外包协议。不幸的是,Wang [12] 等证明了文献 [10] 中的协议也是不安全的,他们的协议可以通过消除随机性或者利用欧氏距离结果来破解。为了修补这一安全漏洞,Wang [12] 等设计了改进的协议CloudBI-II。不过由于该协议依靠于大矩阵乘法,所以在实践中效率低下。为了实现更高的安全性,Zhang [13] 等提出了一种新的协议PTBI-II。新的协议技术利用中心极限定理构造扰动项,并巧妙地使得扰动项的总和满足正态分布。不过,该协议需要添加足够多的扰动项,因此会有大量的冗余,效率较低。继Wang等之后,Zhu [14] 等也进一步完善了Yuan和Yu [11] 提出的协议中存在的安全漏洞。另外,Hu [15] 等在文献 [12] 中的协议的基础上,提出了一种基于部分同态加密技术的隐私保护协议。但是Liu等 [16] 指出Zhu等和Hu等的设计存在固有缺陷,无法抵抗已知明文攻击。因此,他们通过在加密算法中插入阈值,提出了一种更安全的外包协议。
综上所述,设计一种安全高效的保护隐私的生物特征识别外包协议还有待进一步研究。
1.3. 动机和贡献
针对现有云辅助生物识别协议中存在的效率和安全性问题,本文提出了一种基于云辅助的生物识别技术,旨在构建云环境下更安全、更高效的生物识别协议。我们的贡献如下:
1) 我们利用基于误差加权哈希(EWH)的最近邻算法对生物特征数据集和查询数据进行预处理,生成可搜索的索引数据表和查询索引表。与线性扫描搜索相比,基于EWH的数据处理设计大大减少了搜索空间,从而加快了云上的查询响应速度。
2) 我们的协议对数据的加密采用的是矩阵变换等基本操作,操作简单,但是比现存的大多数云上的生物识别协议效率更高。
3) 我们的协议可以抵御已知明文攻击(KPA),这在单服务器模型下已经是可知的云上的生物识别的协议能达到的很高的安全级别(尽管有些单服务器模型下的云上的生物识别协议声称其可以达到选择明文攻击(CPA),但不幸的是,这些方案都被攻破了)。
4) 我们将Liu等的协议与EWH算法相结合,实现了大规模数据库上的云上的更快响应时间,具有更好的现实意义。
1.4. 文章布局
剩下的论文安排如下。第2章介绍了本文中的符号、系统架构图,安全模型以及我们的设计目标。在第3章中,我们回顾了基于误差加权哈希(EWH)的最近邻搜索算法以及介绍了其他的一些预备知识。随后,我们在第4节阐述了我们算法实施的主要细节。在第五章中,我们对协议的正确性、隐私性以及效率进行了分析。在第6章中,我们经过实验对协议的效率进一步进行了评价。最后,我们在第7章对本文进行了总结。
2. 系统模型及设计目标
2.1. 符号说明
在介绍设计细节之前,首先介绍一些相关的符号及其说明。具体说明如表1所示。
2.2. 系统架构
如图1所示,单服务器外包模型包括数据库拥有者(DO)、查询用户(QU)、云服务器(CS)这三个参与方:1) DO拥有一个大规模生物特征数据库,代表权威可信任的机构,其目的是在不向QU和CS泄露真实的数据库信息的情况下,辅助完成查询任务。2) QU是查询用户,向DO发送查询请求并获得查询结果。3) CS是据有强大计算和存储能力的云服务器,负责从密文数据库中找到与查询数据的最佳匹配数据点。但是,CS可能会对生物特征数据库、查询数据以及查询结果感到好奇。
为了方便理解,我们对图1进行了详细说明:DO拥有一个大规模生物特征数据库,该数据库在本文中表示为
,其中
为索引
的生物特征数据,使用
表示矩阵。为了借助资源丰富的CS实现安全的数据库查询操作,DO将加密后的生物特征数据
给CS (即图1中的步骤1和步骤2)。当QU向DO发出查询请求时,DO对查询
进行加密,并将其密文
发送给CS (即图1中的步骤3、4、5),CS在
中找到与
的最佳匹配。系统模型并将该匹配的索引返回给DO (即图1中的步骤6和7)。最后,DO查找CS返回的索引对应的明文数据,并使用相似度阈值检查该数据与查询数据之间的距离。根据计算结果,DO向QU发送“Accept”或“Reject”(即图1中的步骤8和9)。
2.3. 威胁和攻击模型
在云辅助的安全生物特征识别外包方案中,威胁模型有以下两种划分方式:根据云服务器的行为、云服务器的攻击能力进行划分。
根据云服务器的不同行为进行划分,威胁模型可以分为诚实但好奇模型(HBC)和恶意模型(MAL):
1) HBC模型:在这种威胁模型下,虽然云服务器会诚实地执行计算协议,但也会在协议执行过程从拥有的信息中推断用户的隐私数据。
2) MAL模型:在该模型下,云服务器可能会不诚实地执行计算协议,并将错误的结果发送给查询用户。因此,在MAL模型下,用户应该可以验证结果的正确性,避免被恶意欺骗。
根据真实场景中不可信云服务器的不同攻击能力进行划分,本文主要考虑以下三种攻击模型:
1) 唯密文攻击(COA)模型 [17]
在COA模型中,除了知道生物特征识别任务外,云服务器只能获得加密的数据库和加密的查询,并尝试恢复真实的生物特征数据库和真实的查询。
2) 已知样本攻击(KSA)模型 [18]
攻击者不仅知道密文数据集,还可以捕获多个明文数据点。而明文数据点与密文数据点之间的对应关系是对于攻击者来说是隐藏的。这在数据库安全界被称为已知样本攻击(KSA)。
3) 已知明文攻击(KPA)模型 [17]
在KPA模型中,云服务器知道生物特征识别任务和加密的数据库和加密的查询。并且它据有收集一部分明文数据点及其对应的加密数据点的能力。然后云服务器试图恢复真实的输入信息和真实的计算结果。
显然,KPA模型中的云服务器是三种攻击模型中攻击能力最强的。如果一个生物特征识别方案可以抵抗KPA攻击,那么它也可以抵抗COA和KSA攻击。
2.4. 设计目标
根据我们的系统和威胁模型,我们的目标是构建一个KPA安全协议来实现安全存储并有效地识别云端的生物特征数据。确切地说,我们的设计应该满足以下要求。
1) 正确性:正确性指的是,如果云服务器诚实地执行分配的任务,协议就会对QU返回为“真”,当且仅当QU的生物特征信息与DO的生物特征数据库之间某个数据的距离小于某个预定义的足够小的阈值τ。
2) 数据隐私:它涉及两个方面:生物特征数据库隐私和查询数据隐私。设计应该确保DO的数据库和QU的查询数据点都是KPA安全的。也就是说,即使对手可以自适应捕获DO的数据库或QU的查询数据点的一些明文–密文对,它不能区分挑战密文。
3) 高效:设计应该尽可能地减少查询–响应时间。
3. 预备知识
3.1. 基于误差加权哈希(EWH)的最近邻搜索算法
为了在汉明空间中快速搜索最近邻,Esmaeili [19] 等在2012年提出了一种基于误差加权哈希(EWH)的高效搜索算法。与经典的局域敏感哈希(locality sensitive hash, LSH)算法 [20] 相比,基于EWH的算法考虑了误差哈希向量,并利用误差哈希向量生成一个精细化的候选列表,解决了LSH算法在查询的所有哈希向量碰巧都有错误并且失败概率随着最近邻距离的增加而增加的问题。此外,EWH生成的候选列表的大小比LSH小得多。一般来说,基于EWH的算法分为两个步骤。首先,利用EWH对生物特征数据集进行预处理,生成索引数据表;其次,对于查询生物数据,计算误差及哈希值,并根据该哈希值从索引表中检索候选数据。表2中的算法1和表3中的算法2分别对这两个步骤进行了详细的回顾。基于EWH的算法的正确性可以通过以下引理来保证。

Table 2. EWH-based preprocessing algorithm
表2. 基于EWH的预处理算法

Table 3. EWH-based search algorithm
表3. 基于EWH的最近邻搜索算法
3.2. 正交矩阵
如果
或
,其中,
为单位矩阵,
表示“矩阵
的转置矩阵”,则
阶实矩阵
称为正交矩阵,在本文中,我们将
阶正交矩阵
表示为:
3.3. 生物特征相似度表示
对于查询向量
以及数据库中的数据
,若他们满足下面的式子,则可以认为
和
来自同一用户的两个指纹码匹配成功,查询
通过验证:
(1)
4. 我们的外包协议设计
4.1. 概述
在本节中,我们将详细介绍我们协议的工作流程。我们的协议分为五个阶段:密钥生成阶段,数据库加密阶段,数据库预处理及上传阶段,查询数据加密及上传阶段以及生物匹配阶段。我们协议通过这五个阶段的协同工作,实现了云上的生物识别的安全外包。首先,DO生成一系列的密钥,密钥生成以后,DO对数据库中的生物数据的进行扩维操作和加密操作,得到由密文组成的密文数据库
,之后便是对密文数据库
的预处理,得到预处理后的索引数据表
,经过哈希函数碰撞后的数据之间相似度高的则被分到了一个哈希桶中,因此索引数据表
中的每一个格中并不是只存在一个数据,而是存有很多个由哈希函数分类得到的数据之间相似度高的数据。当查询发出查询请求后,DO根据相同的哈希函数对
进行处理并根据算法得到查询索引表
。而云在接收到
和
后便开始进行生物匹配操作,根据查询索引表
提供的行列值信息,云对
对应位置中的所有的生物数据赋予不同的分数值,最后再统计每个生物数据的分数,并确定分数大于β的生物数据组成候选列表
。最后,对于候选者,云通过正交变换计算他们之间的内积
,若大于0,查询
通过认证,云向DO返回“Accept”,否则返回“Reject”。
4.2. 我们协议的设计细节
4.2.1. 密钥生成阶段(DO-KeyGen)
DO生成s个值为随机正实数的
,s个值为随机实数的
,一个随机正实数β,一个实数
,一个实数
,一组实数
,一个
维的随机正交矩阵以及
个
,其中,
为距离比较阈值,
为相似度阈值,
为一组赋值权重,
为公共参数
里的一个随机数。
4.2.2. 数据库加密阶段(DO-DataEnc)
此阶段由DO执行。对于数据库中的任意数据
,我们对其的处理分为两步:
1) 扩维:对于任意的
,DO将其扩维到
维,扩维后的形式为:
2) 数据库加密:DO通过计算
对扩维后的数据进一步加密。
4.2.3. 数据库预处理及上传阶段(DO-DataPre)
此阶段由DO执行。给定一个生物特征数据集
,DO通过调用基于EWH的预处理算法(表2中的算法1),并使用哈希函数
和
个随机公共参数
对数据库进行预处理得到如表4所示的加密后的规格为
的索引数据表
。

Table 4. The hash-based index table F ′
表4. 基于哈希的索引数据表
4.2.4. 查询数据加密及上传阶段(Qu-DataEnc)
此阶段由DO执行并且是基于查询的一次性工作。具体可以分为三部分:
1) 生成查询索引表:当QU处理一个查询请求时,通过公共参数
,他/她首先执行表5中的算法3生成一个查询索引表
。
2) 查询数据扩维:对于任意的
,DO将其扩维
维,扩维后的形式为:

3) 查询数据加密:QU通过计算
对扩维后的数据进一步加密。

Table 5. EWH-based query index generation algorithm
表5. 基于EWH的查询索引表生成算法
4.2.5. 生物匹配阶段(CS-DataMa)
此阶段由CS完成,该阶段分为两步:
1) 云服务器执行表6中的算法4得到查询数据
的最近邻候选列表。
2) 对于得到的最近邻候选列表中的数据,CS进行按照下面的公式计算生物数据以及候选者之间的密文内积来得到距离的远近关系。
(2)
如果
,我们则向DO返回“Accept”,否则向其返回“Reject”。

Table 6. EWH-based nearest neighbor candidate list generation algorithm
表6. 基于EWH的最近邻候选列表生成算法
5. 协议分析
5.1. 正确性分析
假设有两个向量
,
,这两个向量内存储着生物数据。在线性代数中,我们将
,
称为正交变换。因为
是正交矩阵,因此它满
,
满足正交矩阵变换的性质,即正交矩阵变换后的两个向量的内积保持不变。
换句话说,对于存在的两个向量
、
,我们可以将他们的内积表示为
。对于给定的正交矩阵
,有以下的性质:
(3)
根据这个性质,我们可以推导出:
(4)
如果
,则有
,即在数据库中,有和查询数据
的距离小于
的生物数据
,便满足了生物识别通过的条件,查询
便通过了验证。
5.2. 隐私性分析
在我们协议中,云服务器是诚实且好奇的,在本节中,我们将证明我们设计的协议可以抵御已知明文攻击(KPA)。下面是我们证明过程。
我们假设在攻击实验中,攻击者可以获得
对线性独立的明密文对
,给定某个挑战者的
的密文
,攻击者试图通过已知信息来恢复
。根据前文定义,
。也就是说,攻击者可以得到由
个方程构成的方程组。
显然,在上述方程组中,
和
是已知的系数,而
是未知的,并且由于
,
都是随着
变化的,相当于一次加密。因此在上述方程组中,至少存在
个未知数,但是只能建立
个方程。并且,对于每组新的明密文对,至少引入
个新方程和
个新未知数。因为未知数的数量总比方程的数量多,故方程组至少存在指数级个不同的解向量。因此,攻击者不能得到唯一确定的解
。
至于查询向量
的隐私性,分析方法与上文相同,这里就不在赘述。综上可得,攻击者并没有获得任何已知之外的信息,我们的协议完全能抵御已知明文攻击。
(5)
5.3. 效率分析
就效率而言,我们的方案与现有的大多数方案相比,拥有更小的计算开销。在DO对数据库的数据预处理以及加密上传的阶段,主要的计算开销是数据库预处理过程中的哈希过程以及矩阵的运算,不过由于很多的代码语言都有集成的哈希函数库,因此在实际的操作过程中并没有占用大量时间;而我们的矩阵操作也是最常见的操作之一,又因为我们只有正交矩阵变换以及求内积操作,而且我们只求最近邻候选列表(数目较少)的内积,因此在时间上比之前的工作由极大的减少。
6. 实验评估
为了评估我们协议实际性能,本节通过实验比较了Zhu [14] 等的协议和我们的协议在各个阶段的时间成本。在一台Intel Core i7-9700T 2.00GHz CPU和16.0 GB RMA的计算机上模拟DO端。为CS端设置10个节点,每个节点具有与DO端相同的硬件配置。此外我们使用随机向量,每个生物数据的维度是1024维。
6.1. 生物预处理及加密阶段
该阶段由DO执行,代表DO对数据库数据处理的时间成本。如图2所示,我们的数据库规模从2000到10,000,因为我们的安全性比Zhu [14] 等的协议安全性要高,又因为对数据有预处理阶段,因此我们在对数据库进行加密处理时间略高于Zhu [14] 等的协议。

Figure 2. Comparison on the time costs of the data preprocessing and encryption stage
图2. 生物数据预处理及加密阶段时间比较
6.2. 查询数据加密阶段
该阶段由DO执行。如图3所示,我们比较了当数据库的规模为2000时,在该阶段下查询数据的数目从1到30的变化范围内的查询加密所需要的时间。由于我们的协议中要根据查询数据生成查询索引表,因此时间略高于Zhu [14] 等的协议。但这个时间差是很小很小的,只有千分之几,因此在实际应用中不会造成时间上的影响。

Figure 3. Comparison on the time costs of the query encryption stage
图3. 查询数据加密阶段时间比较
6.3. 生物预处理及加密阶段
该阶段由云服务器(CS)执行,如图4所示,我们的数据库规模从2000到10,000,显然,我们的协议在云上的生物数据匹配阶段所需要的时间比Zhu [14] 等的协议所需要的时间小的多,应该说是了极大的提升。

Figure 4. Comparison on the time costs of the data matching stage
图4. 生物数据匹配阶段时间比较
7. 总结
在本文中,我们提出了一种新的云上的高效生物隐私保护识别协议,通过理论分析以及实验验证,我们设计的协议在生物匹配阶段只需要很少的时间,整体具有更高的效率,更适合于大型数据库,具有更好的现实意义。