基于神经网络与全同态加密的多生物特征融合安全认证方案
2024-04-20林雨康刘云皓王文丽
林雨康,刘云皓,王文丽
(西藏民族大学 信息工程学院,陕西咸阳,712082)
同态加密技术的提出和发展为实现生物特征的安全认证提供了新思路,基于同态加密的生物特征加密域匹配技术成为研究的热点。贺康等人[1]提出了一种基于Fingercode 和同态加密的指纹安全认证方案,用于解决开放网络中指纹身份认证时的隐私保护问题。吴俊青等人[2]提出一种基于深度学习和加密算法的人脸安全认证方案,在不影响人脸识别准确率、效率的前提下提高了安全性。目前大多生物特征认证方案采用单一生物特征进行身份认证,这缺乏足够的准确性,并且容易受到欺骗攻击。因此,在上述研究工作的基础上,本文基于Triplet 神经网络和CKKS 全同态加密算法,结合用户的人脸、指纹和虹膜信息,设计了一种多生物特征融合安全认证方案。
1 基础理论
1.1 Triplet 神经网络
Triplet 网络是一种用于度量学习的监督模型,能够度量数据样本之间的相似度,由Siamese 网络[3]扩展得到。通过引入三元组的概念,Triplet网络利用三个样本组成一个训练组,在这三个样本中,一个被称为基准样本(Anchor),另两个分别被称为正样本(Positive)和负样本(Negative),如图1 所示,从而解决了Siamese 网络在处理多类别小样本数据集时的训练困难问题。Triplet网络的优化目标是要让属于同一个人的特征向量尽可能地“近”,而与其他人的特征向量尽可能地“远”,其中起到关键作用的是损失函数Triplet Loss[4]。训练完毕后,只需保留模型的特征提取能力,即可有效提取出生物特征模板,而后实现身份认证等应用。
图1 Triplet 神经网络框架
1.2 CKKS 全同态加密算法
CKKS 算法[5]于2017 年由Cheon 等人提出,是一种支持浮点数进行近似值计算的全同态加密算法,其安全性依赖于RLWE 困难问题假设[6]。与以往的算法不同,CKKS 的加密对象不局限于整数,还可以支持对实数和复数进行加密。此外,CKKS 允许误差,放宽了对准确性的限制,因此计算效率也有了很大提升。CKKS 算法的整体流程如图2 所示,首先由消息编码成明文,其次加密成密文,接着进行同态计算,最后解密和解码成消息。CKKS 算法能够实现生物特征模板的加密域匹配,保证在外包给云服务器进行距离计算时不会泄露用户的隐私数据,从而在客户端与云服务器之间进行安全认证。
图2 CKKS 全同态加密算法流程图
2 方案设计
本文中的方案采用客户端—云服务器模型,并且假定客户端是可信的,云服务器是诚实且好奇的,客户端与云服务器之间通过公共信道传输数据。本方案融合了人脸、指纹和虹膜三种生物特征,借助Triplet 神经网络训练融合特征模板提取器,同时使用CKKS 全同态加密算法进行特征模板加密域匹配,从而实现多生物特征融合安全认证。
2.1 融合特征模板提取
残差网络(ResNet)[7]通过引入残差连接,解决了深度神经网络的退化问题,提高了模型的准确率和收敛速度,能够从原始图像数据中自动学习到良好的特征表示,实现端到端的训练,因此使用ResNet50 作为特征提取网络,使用简单的全连接网络(FCNN)作为特征融合网络,整体结构如图3 所示,输入为经过预处理成像素的一组生物特征图像,输出为128 维的实值融合特征模板。
图3 融合特征模板提取网络结构
本节采用Triplet 网络框架训练融合特征模板提取器,主要包括特征提取和融合两部分。首先,分别导入人脸、指纹以及虹膜数据集,训练各自的ResNet50 模型,采用Triplet Loss 损失函数,参见公式(1)。其中,、和分别表示基准样本、正样本和负样本,f(x)2表示L2 范数。接着,将三组ResNet50 模型的参数全部冻结,只训练后面的特征融合网络FCNN,同样采用Triplet Loss 损失函数。训练完毕后,将整个网络作为融合特征模板提取器,每一组人脸、指纹和虹膜都会生成一个128 维的融合特征模板。
2.2 特征模板加密域匹配
由于本方案中假定云服务器是诚实且好奇的,不能保证用户生物特征数据的安全,因此模板匹配需要在加密域中进行。特征模板的相似性采用欧氏平方距离度量,当云服务器收到待认证的特征模板密文T_enc*后,需要对该密文与数据库中已注册的全部密文T_enc1,T_enc2,… ,T_encN进行欧氏平方距离的同态计算。具体步骤如下:
(1)执行差平方计算。参见公式(2),计算得到R_enci,i=1,2,… ,N。其中,⊖表示同态减法,⊗表示同态乘法,Enc表示用公钥进行同态加密。
(2)向量内元素求和。CKKS 算法采用了SIMD 技术[8],无法在加密域中操作向量内的单个元素。通过重复执行旋转和加法计算进行向量内元素的求和,参见公式(3),计算得到D_enci,i=1,2,… ,N。其中,⊕表示同态加法,Rotate表示旋转操作。
(3)清除冗余元素。可以看到,D_enci对应的明文向量中,各个元素是相同的,为了减少客户端与云服务器之间的通信量,仅保留D_enci对应明文向量中的第(i-1)mod128 + 1个元素,其它冗余元素通过与0 相乘的方式清除,然后对密文进行相加合并,计算得到S_enci,i=1,2,… ,n。其中,n=N/128。密文S_enci中包含全部欧氏平方距离,将其传回客户端进行解密即可得到认证结果。
2.3 注册阶段
注册阶段流程如图4 所示,该阶段包括图像预处理、模板提取、模板加密和模板存储四部分,具体步骤如下:
图4 注册阶段流程图
(1)客户端通过智能传感器采集到同一用户的人脸、指纹和虹膜信息,经过预处理得到大小为224 ×224像素的生物特征图像1P,2P,3P。
(2)将图像P1,P2,P3加载到融合特征模板提取器中,生成128 维的实值融合特征模板T=[t1,t2,… ,t128]。
(3)应用CKKS 算法,由密钥管理中心提供公钥,对模板T进行全同态加密,生成特征模板密文T_enc。
(4)客户端通过公共信道将模板密文T_enc传给云服务器,存储到特征模板数据库中,完成注册。
2.4 认证阶段
认证阶段流程如图5 所示,该阶段包括图像预处理、模板提取、模板加密、模板匹配和相似度解密五部分,具体步骤如下:
图5 认证阶段流程图
(1)客户端通过智能传感器采集到同一用户的人脸、指纹和虹膜信息,经过预处理得到大小为224 ×224像素的生物特征图像
(3)应用CKKS 算法,由密钥管理中心提供公钥,对模板T*进行全同态加密,生成特征模板密文T_enc*。
(4)客户端通过公共信道将模板密文T_enc*以及公钥传给云服务器,将该密文与特征模板数据库中的各个模板T_enc1,T_enc2,… ,T_encN分别进行欧氏平方距离的同态计算,得到相似度密文S_enc1,S_enc2,…,S_encn。
(5)云服务器通过公共信道将相似度密文S_enc1,S_enc2,… ,S_encn传给客户端,由密钥管理中心提供私钥,解密后执行向量拼接操作,获得相似度向量S=[s1,s2,…,sN]。在S中查找最小值smin,将其与预设阈值进行比对,得到认证结果,完成认证。
3 仿真实验及分析
本实验使用的深度学习框架为PyTorch,在NVIDIA GeForce RTX 3090 GPU 上运行。操作系统为Windows 10 专业版,内存为16GB,编译环境为Anaconda 3,Python 3.7.15。用于训练模型的数据集分别为CASIA-WebFace[9]、NIST DB10[10]和CASIA-Iris-Thousand[11],使用的全同态加密库为TenSEAL 0.3.14。
3.1 效率分析
在明文和密文状态下进行生物特征认证的用时情况如表1 所示。可以看到,由于同态加密在保证安全性的同时带来了一定的计算开销,在密文状态下进行认证的用时约为明文状态的7.98 倍。此外,文献[12~14]分别给出了针对人脸、指纹和虹膜的单一生物特征安全认证方案,其用时明显高于本文方案,这是因为本文方案实现了特征级别的融合,并且采用具备SIMD 技术的CKKS 算法,支持并行计算,从而提高了计算效率。
表1 认证用时情况对比
3.2 准确性分析
为验证本文方案在融合不同生物特征时是否能够有效地综合利用各种特征的信息,本节测试了单一生物特征认证以及简单决策级别融合认证的准确率进行对比,如表2 所示。可以看到,由于决策级别融合仅仅是对单一特征认证的决策结果进行融合,没有表征出更多的信息,准确率反而不如单一生物特征认证方案。与之相比,本文方案实现了特征级别融合,能够有效地协同多种生物特征的信息,而不仅仅是融合最终的认证决策,因此可以提供准确率更高的身份认证服务。
表2 认证准确率对比
3.3 安全性分析
本文提出的多生物特征融合安全认证方案采用了CKKS全同态加密,能够保证用户生物特征数据的隐私性以及认证结果的机密性。具体分析如下:
(1)客户端与云服务器之间传输的数据均为密文状态,即使中间信道被攻击者监听并窃取数据,也无法获得明文状态的生物特征模板和相似度向量。
(2)云服务器数据库中存储的特征模板均为密文状态,即使云服务器遭到拖库攻击导致密文注册模板泄露,攻击者也无法推测出原始生物特征模板。
(3)云服务器上的模板匹配始终以密文状态进行,同态计算得到的相似度同样是密文状态,云服务器无法获知认证结果,从而无法窥探用户的行为隐私。
4 结论
本文提出了一种多生物特征融合安全认证方案,实现了对用户的人脸、指纹和虹膜信息综合认证。Triplet 神经网络用于训练融合特征模板提取器,能够很好地适应生物特征的复杂性,模型泛化能力强,认证准确率高。CKKS 全同态加密算法用于特征模板加密域匹配,始终以密文状态对生物特征模板进行传输、存储和计算,不会泄露用户的隐私数据,认证效率高。本方案解决了将生物特征数据及其计算委托给第三方云服务器的安全问题,在保证生物特征模板机密性的基础上为用户提供了高效、可靠的身份认证服务,在金融、医疗、物联网等领域具有广泛的应用前景。