FaceEncAuth:基于FaceNet和国密算法的人脸识别隐私安全方案

2022-06-09 11:58吴俊青彭长根谭伟杰吴振强
计算机工程与应用 2022年11期
关键词:同态密文人脸

吴俊青,彭长根,3,谭伟杰,吴振强,4

1.贵州大学 计算机科学与技术学院,贵阳 550025

2.贵州大学 公共大数据国家重点实验室,贵阳 550025

3.贵州大学 贵州省大数据产业发展应用研究院,贵阳 550025

4.陕西师范大学 计算机科学学院,西安710062

随着人工智能在社会实践中的广泛应用,其人脸识别技术领域得以快速发展,在行政、公共安全、交通、商业等各领域发挥重要作用。然而,人脸识别技术的运用在减少人力物力资源消耗的同时,也产生一些不利影响,特别是技术滥用令个人隐私安全受到威胁,其损害结果往往是不可逆的。由于人脸识别信息的特殊性,需要法律对其严加保护。今年7月,最高人民法院才初次针对该技术发布相关规定,8月20日通过的《中华人民共和国个人信息保护法》针对其安全性提出具体要求。但考虑到人脸识别信息暴露程度高、唯一且永久的特性,初步提出的法律规范很可能难以对其提供完备保护。其次,人脸识别技术仍存在许多漏洞。目前该领域的研究主要集中于对原始人脸特征信息进行识别,并以明文形式存储,忽略数据的安全性。因此,人脸生物特征数据仍面临被窃取或恶意攻击的巨大风险。

例如,2019年8月,生物识别平台BioStar2泄露超过2 780万条记录,数据量达23 GB,其中包括指纹、人脸识别和用户图片、未加密的用户名和口令及员工数据等。2021年3月,科勒卫浴、宝马、maxmara等,在主体不知情情况下,对人脸信息捕捉、记录,并对该信息进行行为分析,导致个人行踪泄露。甚至,还有通过人脸信息获取人体健康状况的研究[1]。除上述案例外,在各大商场、酒店、旅游景点等公共场合,人脸信息过度采集与非法存储行为屡见不鲜。人脸特征提取后的直接存储与比对,令其仍处在易被泄露、篡改或攻击的危险境地,故生物特征加密认证技术应运而生。该技术可对原始人脸生物特征数据进行加密,以密文形式存入数据库,且因其支持密文域运算的性质,保证了人脸特征数据的密文域识别比对功能。同时,考虑到生物特征模糊性对隐私安全人脸识别系统整体性能的影响,应选取合适的特征提取方法,基于深度学习的人脸识别算法以其稳定、高识别精度的优越性成为了最佳选择。但是,以往隐私安全人脸识别方案仍存在安全性不足、性能有待提高的问题。

基于以上原因,文中提出一种基于FaceNet深度学习算法、CKKS全同态加密和国密SM4、SM9算法的人脸识别隐私安全方案,特别是国密算法的应用提高了人脸特征密文抵抗多种恶意攻击的能力,在确保识别效率(运算速率、模板占用空间)、准确率的同时,进一步提高人脸识别信息的安全性,从而有效遏制违法行为,避免用户隐私安全受到威胁。

1 相关工作

1.1 非同态加密

生物特征加密认证技术在人脸识别信息保护的应用中,非同态加密方案种类繁多。Wang等[2]提出一种基于隐私保护人脸识别技术的身份认证框架,用DeepID[3]提取人脸特征,用AES算法加密,用计算加密特征向量余弦相似度的安全最近邻方案和秘密共享保护人脸信息,引入边缘计算以提高认证效率。Nakachi等[4]提出边缘和云网络中人脸识别的隐私保护学习框架,提出一种基于随机酉变换的低复杂度加密算法,分析该算法对字典学习和稀疏表示的影响,且证明这种影响不会影响人脸识别的准确性。El-Shafai等[5]提出基于遗传算法加密的认证框架,遗传算法从大量模板开始搜索,统计操作符用初始种群产生连续种群,执行替代和变异扰乱生物统计图像像素值,降低相邻像素相关性,产生可取消人脸特征模板。且提出未来的方向在于各种加密、水印和隐写算法的应用,以实现生物特征的鲁棒性和可靠存储。但是,以上非同态加密方案准确率均低于人类的97.53%,仍有待提高。

1.2 同态加密

生物特征加密认证常用的同态加密技术允许进行密文域的运算,故成为隐私安全人脸识别方案的最佳选择之一。其中,部分同态加密算法可有限制地进行同态加法和乘法计算,而全同态加密算法可无限制地同态计算任意函数。

部分同态加密算法的应用中,Bouzerna等[6]结合Paillier密码算法提出安全的人脸识别系统架构,但该方案耗时过长且没有保证识别准确率。随后,Jin等[7]提出两种安全高效的云端人脸识别方案,分别用稀疏表示和深度学习提取特征,通过Paillier同态加密算法和OT协议实现密文域的安全人脸识别。识别时,服务器无需解密数据,与以往方案相比,极大提高了识别准确率和效率。Kumar等[8]提出的方案则结合特征脸法和主成分分析法来提取人脸特征,结合Paillier和椭圆加密算法加密特征,在密文域用欧氏距离进行相似性度量来匹配人脸,进一步提高了安全性但耗时较长。Im等[9]提出针对智能手机的安全人脸识别系统,用线性同态加密对加密特征向量执行基于欧氏距离的匹配计算,改进将线性同态加密转换为二次方案的Catalano-Fiore变换,再用OpenMP对变换并行化解密,可抵御恶意客户端。

全同态加密算法的应用中Troncoso-Pastorizov等[10]提出一种使用Gabor特征的人脸识别加密认证方案。该方案基于RSA全同态加密算法,计算量大,且没有充分利用人脸比对问题的特定性质。Vishnu[11]提出早期全同态加密算法改进的人脸识别加密认证方案,将环R上人脸特征编码,再用批处理技术,利用中国剩余定理将向量编码为一个多项式,以单个同态乘法代价实现多个同态乘法,显著提升计算效率,并用主成分分析法进行降维进一步减轻计算负担。近期,Jindal等[12]提出一种基于CKKS全同态加密算法[13]的人脸特征模板隐私保护方案,有力打破了以往全同态方案效率不及部分同态方案的刻板印象。该方案计算效率高,实用性强,支持对实值特征向量的运算,无需量化,可将其打包成一段密文,保证性能的同时提高了人脸特征的安全性。

2 人脸识别隐私安全方案

2.1 系统框架

扬提方案系统框架如图1所示

(1)客户端提取人脸特征,产生原始人脸特征模板。

(2)用加密公钥及对称密钥对原始人脸特征进行加密,生成加密特征模板,其中对称密钥由其他非对称密码算法管理。

(3)将加密人脸特征模板及身份声明(ID)发送至数据库服务器。

(4)数据库服务器中,在密文域进行模板间距离计算,获得距离密文。

(5)将距离密文发送至身份验证服务器。

(6)使用私钥及对称密钥解密距离密文,获得距离明文,并将其与预先设定的阈值进行比较。

(7)向客户端发送识别结果。

2.2 FaceNet人脸识别

先用MTCNN[14]算法对原始人脸图像进行精准的人脸检测,将检测到的人脸调整为160×160图像,再用VGGFace2人脸数据集预先训练的FaceNet[15]模型对其进行特征提取(128维人脸特征),在明文状态下,一般将欧氏距离作为人脸相似性度量方法。

FaceNet架构如图2所示。

该架构起始部分是一个batch输入层和深度CNN架构,随后用L2范式将单位向量归一化,得到embedding人脸特征向量,再用triplet损失函数进行训练。通过该损失函数将所有特征映射到一个超球面,相同身份间特征距离尽量小,不同身份间则尽量大,原理如图3所示。

锚—正关系为同身份间的关系,锚—负关系为不同身份间的关系。

f (x)将人脸图像x 嵌入d维欧几里德空间,且把这种嵌入限制在d维超球面上,即‖ f(x)‖2=1。

从损失函数生成的三元组中选择难样本三元组以优化模型。

2.3 人脸识别加密

2.3.1 CKKS全同态加密

全同态加密可在密文域直接计算密文数据,且相同的操作可映射至明文空间,故其可用于实现人脸特征的密文域识别比对。对于任何函数操作f和明文x,满足公式(Enc()指加密操作):

人脸特征数据经过编码、加密后,在密文域进行相似性度量的运算,故转而采用汉明距离的方法得出距离密文,解密后再与预先设置的阈值(查询资料易知最佳阈值为1.242)进行比对,以提高运算效率。

2.3.2 国密SM4及密钥管理

采用SM4算法[16]将CKKS算法加密所得密文ct加密为ct s,进一步确保传输、存储过程安全性的同时兼顾运算效率。人脸识别时,在数据库服务器对双重加密模板进行一次SM4算法解密以授权暂时的比对功能,比对完成后则再次演化、加密成新模板,且汉明距离密文也进行一次SM4加密(注意:该算法密钥需设定使用期限,若过期则用户需设置新密钥)。国密SM4算法是块密码算法,其分块及密钥大小均为128位,加解密及密钥生成算法采用32轮非线性迭代结构。加密过程如图4所示。

图4 SM4加密过程Fig.4 Process of SM4 encryption

加密时,输入明文(X0,X1,X2,X3)(此处输入为CKKS算法加密人脸特征向量所得密文字符串),输出密文(Y0,Y1,Y2,Y3),轮密钥rk i(i=0,1,…,31),变换式:

解密变换与加密所用结构相同,仅轮密钥使用顺序不同,加密轮密钥顺序(rk0,rk1,…,rk31),解密轮密钥顺序(rk31,rk30,…,rk1)。

但SM4算法是对称密码算法,需考虑密钥管理,防止密钥泄露,常见方法是用非对称密码算法将其加密,可采用国密SM9[17]算法实现这一目的。考虑到效率问题,选取其序列密码算法,将密钥MK加密得密文C。当需授权识别比对功能时,身份验证服务器通过秘密信道向数据库服务器提供封装的私钥,基于用户身份标识解封装,再对密文C解密获得对称密钥MK,待密文域识别运算完成,则用新公钥再将其加密成密文C′(或直接删除)。

3 安全性分析

假设采用诚实但好奇的安全模型,各方都诚实地遵循注册和验证步骤,除自身输出外不知道任何信息。在该模型下,客户端和数据库服务器间、数据库服务器和身份验证服务器间的通信通道是安全的,不会受到对手的攻击,因其只携带加密的内容(加密的人脸特征模板或加密的比对距离),若无对应密钥则无法访问。同理,数据在服务器上也是安全的,无需担心针对数据库的攻击。

所提方案极大满足了生物特征模板保护要求的安全性、可撤销性和多样性。CKKS算法密钥被设为4 096位,而SM4算法密钥为128位,故密钥空间为24096×2128=24224,针对密钥恢复攻击和伪造攻击的安全性可达到4 224位。可撤销性:若用户人脸特征模板数据受到侵害,可轻易撤销其模板。有两种方法,一是通过加密对用户原始生物识别性的否定并将其添加到服务器存储的保护模板中,二是为用户创建一组新的密钥。多样性:所用方法对明文信息(甚至同一信息)的每次加密操作,都可生成不同密文及新的密钥,以此为同一用户生成不同加密保护模板。

这归功于CKKS算法的密钥演化特性,其允许生成新的私钥sk′和计算密钥evk′替换旧的私钥sk和计算密钥evk,且生成一个转换密钥tk,数据库服务器(仅有转换密钥tk和新计算密钥evk′)可将语料库中的所有密文ct转换为新密文ct′,仅可用新私钥sk′解密,且即使面对持有旧私钥sk的攻击者也满足语义安全性。由于侧信道攻击(来自可获得私钥部分信息的攻击者)无法违反语义安全,基于整数格问题难解性的CKKS算法很大程度上满足针对此类攻击的泄漏恢复能力,且明显优于RSA算法。

但是,CKKS算法仍面临着被线性密钥恢复攻击破解的风险。设算法中环尺寸为n,模为q,生成密钥元组(pk,sk,evk),令k=O(n),密文ct i(1≤i≤k),在用pk加密或evk同态计算时,给出其近似解密结果=Decode(Dec sk(ct i);Δ)及缩放因子Δ,若对所有1≤i≤k,满足则大概率可有效恢复私钥sk。此外,若模q是素数或不同素数的乘积,则以上内容适用于所有k≥1。因此,SM4算法的应用尤为重要。由文献[18]可知S盒最大概率为2-6,故至少需13个线性活跃S盒数才能防止线性特征概率大于2-128,而32轮国密SM4算法模型至少有77个活跃S盒数,具有较强的抵抗相关线性密码分析的能力,有效弥补了CKKS算法的不足。

同时,文献[19]中对比了SM4算法与AES-128、CAST-128及SEED加密算法抵抗各种攻击的能力,面对数轮线性攻击、多维线性攻击、差分攻击、不可能差分攻击,SM4加密算法的时间复杂度分别为2123、2122.7、2126.7、2132,明显优于其他算法。又因其向量置换和异或运算都是基于32位的字的运算,针对其的猜测确定过程可看做是以32位的字为变量进行猜测,要想通过猜测至多3个变量恢复所有内部状态是不可能的,因此所提方案也具有抵抗猜测确定攻击的能力。

而由文献[20]可知,管理SM4对称密钥的SM9密码算法是ID-IND-CCA2安全的,即可在基于身份的适应性选择密文攻击下具有不可区分性。因此,该密钥管理算法也可抵抗非适应性选择密文攻击、唯密文攻击、适应性选择明文攻击(例如差分攻击)[21]、非适应性选择明文攻击、已知明文攻击(例如线性攻击)。

由此可见,国密SM4、SM9算法的应用,增强了人脸特征密文的抗攻击能力,解决了以往方案安全性不足的问题。

4 实验结果及分析

实验所用计算机型号为华硕飞行堡垒7-FX95G,CPU为英特尔i7-9750H-2.60 GHz,GPU为NVIDIA GeForce GTX1660Ti,运行内存为16 GB。操作系统为Windows10专业版,用基于python3.6的PyCharm2019运行系统代码,将经典的LFW人脸数据集用于测试。

不同情况下,一对人脸特征模板相似性度量计算耗时见表1。

表1 相似性度量计算耗时对比Table 1 Comparison of time-consuming calculation of similarity measures

由表1可知,在密文域用欧氏距离进行人脸特征相似性度量计算的耗时竟高达明文域的135倍,可见加密保护人脸特征极易对人脸识别性能产生不利影响。而方案中采用的密文域汉明距离计算耗时仅为欧氏距离的5.85%,极大提高了运算效率。

人脸识别隐私安全方案的完整测试过程如图5所示。

图5 方案测试过程Fig.5 Process of scheme test

测试内容包括各模块及整体效率(损耗时间、模板占用空间)、识别准确率,其与近年来各方案性能对比见表2。

表2 各方案性能对比Table 2 Performance comparison of each scheme

由表2可知,本文方案特征提取耗时比文献[6]少99.93%;加密耗时比文献[6]少97.57%,比文献[7]少63.52%;比对耗时比文献[6]少59.96%,比文献[7]少93.74%;总耗时比文献[6]少99.85%,比文献[8]少99.23%,比文献[10]少69.31%;加密模板占用空间比文献[6]小99.98%,比文献[7]小99.87%;识别准确率比人类的97.53%高出1.86个百分点,比最高的文献[12]还高出0.06个百分点。

除此之外,还与近些年明文人脸识别领域的研究成果进行对比,如图6所示。

图6 与明文方案的准确率对比Fig.6 Accuracy comparison with plaintext scheme

由图6可知,所提方案的识别准确率甚至比较早提出的DeepID方案还高出1.94个百分点,且十分接近后续提出的更先进的明文人脸识别方案,有效协调了人脸生物特征模糊性与密码系统的精确性。

5 结束语

针对人脸识别的安全性,提出一种基于深度学习、同态加密及国密算法的人脸识别隐私安全方案。所提方案采用FaceNet算法高效提取人脸特征数据,结合CKKS全同态加密算法性质及国密SM4、SM9算法的抗攻击能力,在密文域完成安全的人脸识别。该方案与以往方案相比,有效提高了密文域人脸识别效率和准确率,SM4、SM9密码算法的应用弥补了CKKS算法的不足并兼顾了运算效率,在提高安全性的同时保证了人脸识别性能。

由于这类方案在实际生活中具有很高的应用价值,未来,该领域的研究将集中于具体的多种应用场景下人脸识别信息安全性及性能的提升。

猜你喜欢
同态密文人脸
相对于模N的完全不变子模F的N-投射模
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
有特点的人脸
一起学画人脸
小R-投射模
基于网络报文流量的协议密文分析方法
D4-δ-盖及其应用
拉回和推出的若干注记
密钥共享下跨用户密文数据去重挖掘方法*