高效的隐私保护在线人脸认证方案
2020-06-06李明杨晓鹏朱辉王枫为李祁
李明,杨晓鹏,朱辉,王枫为,李祁
(1.国家知识产权局专利局,北京 100088;2.西安电子科技大学综合业务网理论及关键技术国家重点实验室,陕西 西安 710071)
1 引言
随着计算机技术的不断发展和智能终端的快速普及,基于人脸、指纹、声纹等各种生物特征的身份认证方案被广泛应用到各个领域,给人们的生活带来了诸多便利。生物特征具有以下特性:1) 唯一性,即每个用户所具有的生物特征信息都是独一无二的;2) 稳定性,即用户的生物特征很难在短期内自然地发生改变;3) 随身性,即用户的生物特征存在于用户本身,不会被丢失或遗忘。生物特征所具有的这些特征决定了基于生物特征的身份认证方法相较于传统的身份认证方法(如口令密码、智能卡等)具有更高的认证效率和安全性,以及更好的用户体验。相较于其他生物特征认证技术,人脸认证因其采取非接触式的数据采集方式和较低的部署成本,受到用户和服务商的青睐,并被广泛应用到机场铁路安检[1]、金融支付[2]、刑事侦查[3]等各个领域。
但是,基于生物特征认证技术的广泛应用也使用户生物特征隐私的泄露风险大大提升。近年来,全球范围内的生物特征隐私泄露事件频发,这加重了用户对于在使用基于生物特征的身份认证服务过程中造成个人生物特征信息泄露的担忧。2017 年,印度国家身份系统Aadhaar 发生大规模数据库泄露事件,超过10 亿用户的个人生物特征信息被泄露,被泄露的数据中包含用户的指纹、虹膜等高敏感数据[4]。2019 年,我国某人脸识别公司遭遇了拖库攻击,包括人脸图像及其采集地点等信息的680 万条记录被泄露。国外基于Web 的生物认证安全智能锁定平台BioStar2 于2019 年8 月被曝出存在系统漏洞,所泄露的数据量高达23 GB,其中包含100多万条含用户指纹、人脸生物特征在内的敏感数据[5]。虽然部分基于生物特征的身份认证系统中,用户的生物特征信息并非以原始生物特征数据的形式存储,但是近年来的研究表明[6],经过处理后的生物特征数据依然会给用户生物特征的隐私带来威胁。生物特征数据的特点决定了其一旦遭遇泄露,将会带来严重后果。1) 生物特征具有唯一性的特点意味着用户的生物特征信息与用户的身份强关联,攻击者在获取到泄露的生物特征数据之后,可以通过大数据关联分析等方式窥探到更多的用户隐私信息。2) 生物特征所具有的稳定性的特点意味着一旦用户的生物特征信息被泄露,那么用户将面临被攻击者通过该生物特征冒充身份的潜在危险,从而不得不放弃继续使用该生物特征作为身份认证的凭据。随着社会大众对于信息安全和隐私保护关注度的不断提高[7-10],设计一种安全高效的生物特征认证方案显得至关重要。
为解决上述问题,本文基于矩阵加密技术构造了密文条件下的人脸特征相似度匹配算法,并在此算法的基础上设计了一种隐私保护的在线人脸认证方案。该方案能够保证用户的生物特征信息在身份认证服务中不被泄露,并且能够保证生物特征认证方案的准确率和效率。同时,本文基于所提出的隐私保护的人脸认证方案设计了实验仿真程序,并利用真实的人脸数据库对所提方案的效率进行了测试。
2 相关工作
生物特征数据的隐私保护一直是学术界的研究热点,针对这一热点,人们基于不同的技术提出了诸多解决方案。
部分方案基于同态加密方案设计,Erkin 等[11]基于 Paillier 同态加密算法和 DGK(Damgard,Geisler and Krøigaard)加密方案[12]设计了一种面向外包场景的同态加密方案,该方案能保证用户在注册和认证过程中生物特征数据及身份认证结果的安全。Sadeghi 等[13]基于混淆电路、不经意传输等技术对Erkin 等[11]所提方案进行了改进,改进后的方案在通信和计算开销方面有了更好的表现。Xiang 等[14]基于全同态加密方案提出了一种外包场景下的隐私保护在线人脸认证方案。Zhu 等[15]基于半同态加密算法提出了一种面向隐私保护的欧氏距离计算方案,避免了同态加密算法中计算消耗较大的解密过程,虽然在效率上有很大提升,但依然有较大的提升空间。同态加密方案往往需要较高的计算开销,在一些实时性要求较高或者资源受限的场景中并不适用。
基于随机化技术设计的生物特征隐私保护方案在近几年也逐渐被提出。Yuan 等[16]基于随机矩阵技术实现了密文下的欧氏距离计算,提出了一种云计算场景下的用户指纹数据隐私保护方案。Wang 等[17]对文献[16]所提的生物特征隐私保护方案进行了优化,并基于矩阵迹理论提出了一种隐私保护的在线指纹认证方案。Zhu 等[18]也对文献[16]提出的方案进行了改进,改进后的方案在效率和安全性上都有所提升。Rahulamathavan 等[19]基于随机掩码技术提出了一种基于Eigenface 人脸识别算法和欧氏距离相似度判断的隐私保护人脸认证方案。
在其他技术方面,Gunasinghe 等[20]基于零知识证明设计了一种可证明安全的隐私保护生物特征认证方案,但是该方案需要在客户端通过机器学习的方式提取用户的生物特征,这增加了客户端的计算负担。Sarier 等[21]基于区块链技术,设计了一种隐私保护的生物特征认证方案,但是区块链技术的引入带来了较大的计算开销。
综上所述,现有方案基于不同的技术实现了生物特征认证的隐私保护,但是在计算、通信效率和适用性方面还存在局限性。
3 Eigenface 人脸识别算法
Eigenface 人脸识别算法[22]是一种基于主成分分析(PCA,principal component analysis)而设计的人脸识别方案。Eigenface 人脸识别算法包括用户注册和人脸识别2 个阶段,具体如下。
在注册阶段,用户利用PCA 从自己的若干张面部图像中提取出人脸数据的特征向量,具体的处理过程如下。
步骤1用户向身份认证服务器提交P张人脸图像,记为{Γ1,Γ2,⋅⋅⋅,ΓP},其中Γi(i=1,2,…,p)表示人脸图像,每张人脸数据的大小为h像素×w像素。身份认证服务器对接收到的P张人脸图像进行归一化处理后,将每张人脸图像表示为一个N(N=h×w)维向量。
步骤2身份认证服务器对输入的P张人脸数据取平均值,根据PCA 计算出人脸图像的特征向量,并选取特征值较大的k个特征向量{u1,u2,…,uk},其中每个特征向量均为N维向量。
步骤3计算用户输入的每张人脸图像Γ i和平均值Ψ之间的差值,并将该差值投影到步骤2 中所求出的特征向量上,投影表示为{Ω1,Ω2,⋅⋅⋅,ΩP},这些投影将作为该用户的人脸特征模板。同时,计算出各投影之间相似度的最大值Smax,并且将投影值和最大相似度发送到服务器端。
步骤4身份认证服务器在接收到用户的身份认证请求后,根据用户注册阶段发送来的相似度的最大值Smax,选择一个判别门限值θ作为判别参数。根据文献[23]的结论,本文取θ=1.25Smax。
在人脸识别阶段,用户需要提供一张自己的人脸图像。首先,身份认证服务器计算该人脸图像与平均脸图像的差值,此后,计算该差值在注册阶段提取出的特征向量上的投影,并将其作为身份认证凭据。身份认证服务器通过用户提交的身份认证凭据和用户人脸模板数据之间的相似度来对用户的身份认证结果进行判断。具体的处理过程如下。
步骤1用户向身份认证服务器提交一张大小为h像素×w像素人脸图像Γnew。身份认证服务器对接收到人脸图像进行归一化处理,将其读取为一个N(N=h×w)维向量。
步骤2服务器计算用户输入的人脸图像Γnew和注册阶段得到的人脸数据平均值Ψ之间的差值,并将该差值投影到注册阶段得到的特征向量上,将该投影值记为Ωnew,该投影一般作为用户的身份认证凭据。
步骤3身份认证服务器计算Ωnew和{Ω1,Ω2,…,ΩP}中每一个投影之间的相似度,该相似度可以通过欧氏距离或者余弦相似度来判别[24]。
步骤4身份认证服务器选取出P个相似度中的最大值,并将该最大值和身份认证服务器所选取的门限值θ进行比较。如果符合系统预设要求,则用户通过身份认证;反之,则未通过身份认证。
4 系统模型和安全需求
4.1 系统模型
本文所提方案的系统模型由用户、认证代理服务器和在线身份认证服务器三部分组成,如图1所示。
用户为某项在线服务的使用者,需要通过身份认证系统来对其身份的真实性进行认证。考虑在资源受限的应用场景中(如智能家居场景),终端设备的计算能力较弱,仅能采集用户的生物特征并生成相应的生物特征模板,需要在其他设备(如智能家居场景中的“家庭大脑”)的辅助下才能完成对用户生物特征信息加密等操作。认证代理服务器为用户的生物特征模板提供加密等预处理操作。在线身份认证服务器是由第三方服务商提供的身份认证服务器,负责对用户的身份进行认证。用户和认证代理服务器之间的网络是内部网络,因此本文认为用户和认证代理服务器之间的网络连接是安全的。
在本文方案的模型中,认证代理服务器和在线身份认证服务器首先对整个系统进行初始化操作。认证代理服务器根据安全性要求选择系统的安全参数,在线身份认证服务器设置判别门限值θ。系统完成初始化后,用户按照提取其人脸特征模板,在在线身份认证服务器上进行注册并得到一个唯一标识ID。在进行身份认证时,用户首先提取其人脸图像特征数据作为身份认证凭据,并和用户的唯一标识ID 一起发送到认证代理服务器。代理认证服务器将该身份认证凭据连同用户的唯一标识ID 发送到在线身份认证服务器,并发起身份认证请求。在线身份认证服务器根据人脸识别算法计算用户人脸特征模板和身份认证凭据之间的相似度,并根据该相似度和系统门限值之间的关系完成对用户身份的认证。
在安全性方面,认证代理服务器是一个完全可信的实体,其忠实地执行既定的算法规则,不会主动去泄露用户的敏感信息,但有可能会受到攻击者的攻击;在线身份认证服务器是一个半可信的实体,以密文的形式存储用户的生物特征信息,其忠实地执行身份认证算法,但是会主动尝试去窥探或者泄露用户的生物特征隐私。此外,攻击者可以对传输的数据进行窃听,并对认证代理服务器和在线身份认证服务器进行攻击,以获得其数据库中的数据。
4.2 安全需求
为了明确安全需求,考虑系统中可能存在具有不同攻击能力的攻击者,本文设定了3 种攻击模型。
1) 攻击模型Ⅰ
攻击者仅能获取代理认证服务器和在线身份认证服务器在通信过程中被加密后的用户生物特征数据模板和身份凭据数据。这种攻击模型对应本系统中的在线身份认证服务器和网络中可能存在的一些被动攻击者尝试去获得用户敏感信息。
2) 攻击模型Ⅱ
攻击者能够获取部分用户的生物特征模板和身份认证凭据的明文数据和密文数据,但并不知晓这些数据之间的对应关系。这种攻击模型下,认证代理服务器数据库中的部分明文数据被泄露,攻击者根据这些泄露的数据和其窃听到的数据,来尝试获取用户的敏感信息。
3) 攻击模型Ⅲ
攻击者不仅能获取部分用户的生物特征模板和身份认证凭据的密文数据,知晓这些明密文数据之间的对应关系,还可以获得任意的生物特征模板和身份认证凭据的明文所对应的密文。这种攻击模型对应认证代理服务器的数据库中的部分数据被泄露,同时在线身份认证服务器的数据库也被完全攻破(或者在线身份认证服务器获取到了认证代理服务器所泄露出的明文数据)。攻击者根据这些泄露的部分数据和其获取的用户密文数据,来尝试获取其他未被泄露的敏感信息。
为保证用户生物特征信息的安全,隐私保护的人脸认证方案需保证用户的生物特征信息在这3 种攻击模型下不会被泄露。
5 基于随机矩阵的生物特征隐私保护
针对在线生物特征认证场景的特点和需求,本节基于随机矩阵技术提出了一种生物特征隐私保护方案。该方案包括用户注册、身份认证请求和身份判别3 个阶段,具体流程如图2 所示,方案描述中用到的符号及其含义如表1 所示。
5.1 用户注册阶段
用户注册阶段包含用户人脸特征模板计算和人脸特征模板加密2 个阶段。其中,用户将其人脸特征模板发送到认证代理服务器;认证代理服务器利用矩阵加密技术对用户的人脸特征模板进行加密,并将加密后的人脸特征模板发送到在线身份认证服务器处进行身份注册;在线身份认证服务器在收到用户的注册请求后,向用户分配一个唯一标识ID,并将用户加密后的人脸特征模板保存在其数据库中;用户完成注册后,为防止遭遇攻击导致用户人脸特征模板明文数据泄露,认证代理服务器将其收到的用户人脸特征模板进行安全存储或删除。
表1 方案中相关符号及其含义
图2 本文方案的流程
5.1.1 用户特征模板的计算
用户按照Eigenface 人脸识别算法的要求,在本地进行人脸特征模板的提取。具体来说,用户按照要求拍摄P张自己的面部图像,根据Eigenface人脸识别算法并选择出这P张人脸差值在k个特征向量投影{Ω1,Ω2,⋅⋅⋅,ΩP}及各个投影之间相似度的最大值Smax,并将{Ω1,Ω2,⋅⋅⋅,ΩP}和Smax发送到认证代理服务器。
5.1.2 用户人脸特征模板的加密
认证代理服务器在收到用户的注册信息后,首先选择2 个大小为(k+2Z) × (k+2Z)的可逆随机矩阵M1和M2,以及一个(k+2Z)维的随机向量H(其中,Z由认证代理服务器设置且Z≥ 0)。之后,认证代理服务器将用户的人脸特征模板数据Ωi扩展成一个(k+2Z)维的向量Ωi−extended(扩展规则为前k维数据和Ωi保持一致,第(k+1)~(k+2Z)维数据为 1)并将其进行对角化转换,得到Di−extended=diag(Ωi−extended)。最后,选择一个随机的(k+2Z)×(k+2Z)矩阵A,矩阵A需满足Ai HT=1,A=[A1,A2,⋅⋅⋅,Ak+2Z],并通过计算,和Li=||Ωi||对用户模板进行加密。
5.2 身份认证请求阶段
用户的身份认证请求阶段包含用户身份认证凭据计算和用户身份认证凭据加密。其中,用户首先将身份认证凭据及其唯一标识发送到认证代理服务器;代理认证服务器对用户的认证凭据进行加密处理,并将密文认证凭据和用户标识发送到在线身份认证服务器。为防止遭遇攻击导致用户认证凭据明文数据泄露,认证代理服务器将收到的用户认证凭据进行删除处理。
5.2.1 用户身份认证凭据的计算
用户按照Eigenface 人脸识别算法的要求,在本地生成其身份认证凭据。用户首先拍摄一张自己的面部图像,根据Eigenface 人脸识别算法计算其身份认证凭据Ωnew,随后通过安全信道将Ωnew发送到认证代理服务器。
5.2.2 用户身份认证凭据的加密
认证代理服务器首先将身份认证凭据Ωnew扩展成为一个(k+2Z)维的向量Ωnew-extended(扩展规则为前k维数据和Ωnew保持一致,第(k+1)~(k+2Z)维的值为r1,r2,…,r2Z,其中r1,r2,…,r2Z为一组服从标准正态分布N(0,σ2)的随机数)。认证代理服务器首先提取出在注册计算所选取的加密参数,计算。之后对计算出的身份认证凭据进行加密,然后计算身份认证凭据模长。认证代理服务器将CH、CA、Lnew和身份标识ID 发送给在线身份认证服务器。
5.3 身份判别阶段
在本阶段,在线身份认证服务器根据身份认证请求中的用户标识ID,查找用户对应的身份认证模板,计算密文下的用户身份模板和用户身份认证凭据之间的相似度,将该相似度和阈值之间进行对比得出身份认证结果,并经由认证代理服务器向用户返回认证结果,具体过程如下。
在线身份认证服务器在收到认证代理服务器发送来的身份认证请求{CH,CA,Lnew}后,根据用户的身份标识ID,查找用户的身份认证模板和{L1,L2,⋅⋅⋅,LP}。在获取到用户的身份认证模板后,服务器通过scorei的计算式来计算收到的身份认证凭据和身份认证模板之间的相似度。
6 安全性分析
6.1 攻击模型Ⅰ下的安全性分析
在攻击者模型Ⅰ下,攻击者仅能获取到加密后的用户的人脸数据模板和基于用户人脸数据生成的认证请求,即方案中对应的、{L1,L2,⋅⋅⋅,LP}、CH、CA和Lnew。当Z=0时,根据第5节可知CDi=M1WDiM2,在不知对应明文WDi的条件下,攻击者无法求得可逆矩阵M1和M2的值;,由于攻击者并不知道CA所对应明文Ωnew-extended,因此其也无法得知可逆矩阵M1和M2的值。因此当安全参数Z=0时,本文所提出的方案在攻击者模型Ⅰ下是安全的。
6.2 攻击模型Ⅱ下的安全性分析
在攻击者模型Ⅱ下,攻击者能够获取到某个用户加密后的人脸图像特征模板、加密后的身份认证凭据和数据库中一些对应的明文数据,但是攻击者并不清楚这些明文之间的对应关系,即本文方案中对应的、CH、C A和Lnew。当Z=1时,根据第5节可知:,在不知对应明文的条件下,攻击者无法求得可逆矩阵M1和M2的值;,由于攻击者并不知道CA所对应明文Ωnew-extended,因此其也无法得知可逆矩阵M1和M2的值。同时,由于攻击者还可以获取一部分明文数据,因此攻击者可能根据明文与明文之间和密文与密文之间的对应关系来进行已知样本攻击。定义本文方案中的加密过程为E(⋅),当Z=1时,有
因此,本文方案中针对用户人脸特征模板所做的变换不再是等距离变换。基于此的主成分分析[25]、双样分析[26]、签名连接攻击[27]等方法都无法成功。因此,当安全参数Z=1时,本文所提出的方案在攻击者模型Ⅱ下是安全的。
6.3 攻击模型Ⅲ下的安全性分析
在攻击者模型Ⅲ下,攻击者能够获取到加密后用户的人脸数据模板和基于用户人脸数据生成的认证请求CH、CA和Lnew,也可以获取这些数据所对应的明文数据,并且可以通过恶意查询的方式获取人脸模板数据和人脸数据生成的认证请求数据的明密文对。当Z=2时,攻击者不能从、CH、{L1,L2,⋅⋅⋅,LP}中获取到可逆矩阵M1和M2、随机向量H,继而无法获得用户的生物特征模板Ωi和用户身份认证凭据Ωnew。但由于攻击者能够通过恶意查询的方式获取到一些人脸模板数据和人脸数据生成的认证请求数据的明密文对,且,其中Ωnew-extended是一个扩展到(P+2Z)维的特征向量,由线性方程组解的存在性与唯一性定理,攻击者无法从获取到的一个密文中获取到用户生物特征相关的敏感信息。攻击者从多个密文之间的交叉运算,也无法得到用户的敏感信息。因此当选取的安全参数Z=2时,本文所提出的方案在攻击者模型Ⅲ下是安全的。
6.4 安全性分析对比
为了进一步说明本文方案的安全性,将本文方案的安全性和文献[12]方案的安全性进行了对比分析,分析结果如表2 所示。
由表2 可知,本文方案的安全性和对比方案的安全性相当,但是本文方案可以通过安全参数的选择来实现方案在安全性和计算效率之间的平衡。
7 性能分析
7.1 通信开销
本文方案中的通信开销主要产生于用户在注册阶段中向服务器发送其人脸特征模板和用户在认证阶段向服务器发送身份认证请求这2 个过程。将本文方案、未进行隐私保护的基于Eigenface 人脸识别算法的原始方案(以下简称“原始方案”)和文献[12]方案的通信开销进行对比。文献[12]方案用到了Paillier 加密方案和全同态加密方案,假设文献[12]方案采用密钥长度为1 024 bit,2 种密码算法的密文长度分别为2 048 bit 和1 024 bit,本文方案中的密文长度采用64 bit 的浮点型数值表示。表3 列举了两者在注册和认证阶段中客户端的通信数据量。
表2 本文方案和文献[12]方案的安全性对比
表3 通信开销对比
表3 中,P表示注册时用户提交的人脸图像数,Z表示一个认证代理服务器选定的安全参数,k表示认证过程中选取的特征向量数,N表示用户人脸图像数据的像素数,而P和Z的数值一般不会过大且k≤P,N的取值一般远大于P,一般令P≤ 10,N>104。通过表3 可知,在加入隐私保护的功能后,本文方案中2 个阶段的通信数据量虽然有所增加,但依然在一个可以接受的范围并且通信量远小于文献[12]方案的通信量。
7.2 计算开销
本文方案中用户的计算开销主要涉及用户注册时加密其特征模板的计算开销,以及用户在生成身份认证请求时,加密其身份认证凭据所产生的计算开销。服务器端的计算开销主要涉及服务器在对用户的身份进行判别时所需要的计算开销。为进一步对计算开销进行分析,对本文方案进行了仿真实验。在仿真实验中,统一采用i7 8750H、16 GB 内存、Windows10 操作系统的实验环境,采用公开的ORL(olivetti research laboratory)人脸数据库[28]作为测试数据,其中每张人脸数据的大小为92 像素×112 像素。仿真实验中,每个用户人脸特征模板采用9 张人脸作为训练数据。首先将本文方案中加密特征模板、加密认证请求和验证用户身份的计算开销随方案参数的变化进行了测试,结果如图3和图4 所示。
图3 显示了在保持安全参数不变(Z=0)的情况下,用户加密人脸特征模板、加密认证请求和服务器验证用户身份所需的时间随所选取的特征向量数的变化情况。图4 显示了在选取的特征向量数不变(k=7)的情况下,用户加密人脸特征模板、加密认证请求和服务器验证用户身份所需的时间随用户选取的安全参数的变化情况。
图3 所提方案各阶段计算开销随特征向量数的变化情况
图4 所提方案各阶段计算开销随安全参数的变化情况
随后,本文选择文献[12]方案作为对比方案,并对2 种方案中用户在进行注册时加密用户认证凭据的计算开销和身份认证时在密文下计算用户身份认证凭据和模板之间的相似度计算开销进行了对比。在仿真实验中,将文献[12]方案中采用密钥长度设为1 024 bit,本文方案中的安全参数Z=0。2 种方案在用户注册阶段的计算开销如图5 所示,在身份认证阶段的计算开销如图6所示。
仿真结果表明,本文方案在2 个阶段所需要的计算时间均在可接受的范围内。
7.3 认证准确率
由5.3 节中分析可知,本文方案并未对原有的人脸认证方案的判别方式进行改变,因此本文方案不会对原始方案的准确率产生影响,且与原始方案的准确度保持一致。
图5 用户注册阶段计算开销对比
图6 用户身份认证阶段计算开销对比
8 结束语
针对在线人脸认证系统中用户敏感数据容易被泄露这一问题,本文基于矩阵加密提出了一种安全、高效的隐私保护人脸认证方案,所提方案能够保证用户存储在认证代理服务器数据库中的模板和用户身份认证请求中所包含的个人敏感信息的安全。理论分析表明,本文方案可以根据选取的安全参数的不同实现不同等级的隐私保护效果,能够满足不同场景中差异化的隐私保护需求;同时,隐私保护机制的引入并未使原始方案的准确度降低,保证了原始方案的可用性。实验结果证明,本文方案具有较低的计算开销和通信开销,能够在真实环境中安全高效地保护在线人脸认证。