1. 引言
随着互联网技术的高速发展,获得较好的人脸识别效果已经满足不了现在用户的需求,越来越多的用户开始注重自己的个人隐私数据的保护。比如现在的支付宝,微信,银行理财APP等许多关系到客户切身利益的系统,都需要来保证隐私安全,由于摄像机,监控,扫描器等是生物特征提取较为方便快捷的手段,也是现实生活中比较常见的获取人脸图像的终端,传统的人脸图像数据是以明文的形式存在数据库或者云端。而这种情况会被一些不法分子,投机者利用,来窃取,传播,篡改用户信息,尤其是在现今社会的资源共享,虚拟经济高速发展的大环境下,人脸数据的隐私性是现在必须要考虑进去的。所以在尽可能的保证人脸识别正确率的前提下,找到一种隐秘安全的计算方法应用到人脸识别技术当中,如果这种设计方案可以保证人脸数据的安全,那就说明这种方案是有用的。
稀疏保局投影(SPP)算法 [1] 是基于稀疏表示理论所提出的一种较为鲁棒的子空间特征提取方法,该算法进行稀疏重构某些样本时,会出现错误学习的情况,即可能会被与该样本不同类的其他样本错误逼近。针对(SPP)算法的问题,2012年,Tan等人 [2] 利用鉴别信息提出了基于鉴别稀疏保持嵌入(Discriminant Sparsity Preserving Embedding, DSPE)的人脸识别算法,该算法通过求解最小二乘问题来更新SPP算法的稀疏权重矩阵,得到一个鉴别稀疏矩阵,避免样本的误逼近,提高识别性能。DSPE算法是一种线性流行学习子空间算法,虽然在LPP基础上做了改进,但是在复杂的非约束环境的条件下,DSPE算法鲁棒性依然不足,同时该算法得到的是人脸图像的线性鉴别稀疏矩阵,而人脸结构在现实中是非刚性的,是非线性结构的。因此本文利用核技术的思想对DSPE算法做出了改进,提出了核鉴别稀疏保持嵌入(KDSPE)的算法。KDSPE算法将原始样本通过非线性映射投影到高维空间中,然后将高维空间的计算转成利用核函数求解内积的问题。KDSPE作为一个非线性的监督学习方法,不仅获得了图像全局最优低维嵌入,还有效的提取人脸非线性特征,同时在非约束环境下具有较好的鲁棒性。
近年来,随着人脸识别技术和密码学的快速发展,将安全的计算方法应用到传统的人脸识别技术中的研究热度持续上升。文献 [3] 中提出了一种结合同态加密和不经意传输协议的安全协议实现在云环境下的人脸识别隐秘算法,该方法具体较好的灵活性,可行性,安全性,该算法的人脸特征提取是线性的,同时不能很好的区分真实近邻和伪近邻,此外该算法的安全协议下的通信通道安全性不足。考虑到在高维空间的人脸特征提取,以及在不经意传输协议的使用过程中是否存在对参与者的隐秘信息存在泄露和通信通道的安全性的问题。本文利用同态加密和基于身份加密系统(IBE) [4] 的不经意传输协议,提出一种基于核鉴别稀疏表示的隐秘人脸识别方案。终端采集待测样本的数据和数据库的人脸图像数据在安全协议下隐秘对比,从而判断终端采集的人脸数据是否在数据库存在。这里利用KDSPE算法得到的核鉴别稀疏矩阵,在安全协议下计算加密后的核鉴别稀疏矩阵的欧式距离来判断是否匹配。这种算法可以在保证不泄露双方信息的前提下进行人脸识别。具体系统要求如下:一种具有实用性,有效性的人脸识别算法KDSPE。一种是利用同态加密和基于IBE的不经意传输协议的算法,这两种算法结合起来的算法可以保证终端和数据库都不会获取双方信息的情况下实现的。
2. 基本知识
2.1. 同态加密算法
同态加密 [5] 是:对经过同态加密的数据进行处理得到输出,然后对输出进行解密,其结果与未加密的数据处理的输出一样,设加密算法为E( ),解密算法为D( )。
加法同态性质:存在有效算法♁,
或者
成立,显然完成x+y的计算,无需解密x,y。
乘法同态性质:存在有效算法
,
或者
成立,显然完成x×y的计算,无需解密x,y。
2.2. 基于传统身份加密系统(IBE)的不经意传输协议
基于传统IBE的不经意传输协议 [6] 的描述及步骤:
描述:发送方同意采用不经意传输协议发送它的n个秘密信息
的加密信息给接受者,并允许接受者获得其中k个秘密信息
。
步骤:首先给出定义,发送者的公私钥对为
,接受者的公私钥对为
,发送者任意选取
,计算出
作为选择的参照点同步发布出去,其中
。接受者任意选取k个数
,计算出
,并发送给发送者,发送者再任意选取随机数
,计算出
,
,密文
,并发给接受者,接受者对接到的数据处理,计算
,然后在计算
,
恢复出秘密消息
。
该协议安全性分析模型:
1) 本文是假设参与者是半诚实的,其中参与者包括发送方和接收方,参与者对数据的访问权限问题:
对发送方的隐私(相对于接收方),假如接受者是半诚信攻击者,他想获得自己权限以外的数据
,必须有解密辅助数据
,又因为
都是对接受者保密的,所以无法获得
之间的关联性,也就是说
是n个相互独立的辅助数据,没有线性关系。再考虑到椭圆曲线离散对数困难假设问题,通过
求解
是非常困难的。这就证明了基于IBE的不经意传输协议能够保证发送方的隐私。
对接受者的隐私(相对于发送方),因为
是接受者随机选取的,对发送方是保密的。假设发送方计算出
,由于
,得
,这就保证了接受者的隐私。
对接受者,发送者的隐私(相对于其他攻击者),在现实环境中存在着各种攻击者,在本文中为了方便研究,我们定义这些攻击者为其他攻击者A,同时我们只考虑了两种以下情况,假如其他攻击人想获得发送方发给接受者的信息,或者接收方发给发送方的信息。证明如下:
事实1:A不知道
的值,也就不知道
是由那个
计算出来的。
事实2:计算
或
,必须知道
,而这些参数是除发送者外所有人保密的。
事实3:即使A知道公钥系统的公共参数和截获的数据,计算
也是相当于计算椭圆曲线离散对数问题。
综上所述其他攻击人无法获得密文,这就保证了对接受者,发送者的隐私。
2) 通信通道的安全性:由于基于IBE的不经意传输协议充分利用了公钥系统的验证性,不需要提前协商安全通信通道,这就保证了通信通道的安全。
2.3. 基于IBE改进方案的不经意传输协议
2001年,Cocks [7] 等人基于二次剩余假设理论提出了第一个实用性的IBE方案,2005年,Boneh [8] 等人基于子群判定问题提出了可以对密文进行无限加法运算和一次乘法运算的BGN方案,同时利用二次多元多项式的思想重新评估了加密算法。2013年,Clear等人 [4] 基于Cocks的方案做出了改进,虽然同态加法的计算性能有所提高,但是只能支持加法同态性质。随后,2016年,文献 [9] 基于Cocks和Boneh的方案提出了具有密文无限加和一次乘法同态性质的新型IBSHE方案。
现给出Cocks等人和Boneh等人算法的同态性质如下:
设系统的公钥为
,明文
分别对应的密文
,加密计算公式
,得
。所以它满足同态加性质,由于受到IBE公钥密码系统的双线性对性质的限制,加密公式只能进行一次乘法运算,但不影响密文乘法运算后再无限进行加法运算。
本节的工作就是结合具有同态性质的IBE改进方案和不经意传输协议设计一个安全计算协议,由于Cocks等人和Boneh等人的算法是在传统身份加密系统的基础上改进的,所以本节设计的安全协议和2.2节的协议设计流程是一致的,主要区别是加密函数计算公式改变了,我们只需证明加密计算的正确性就可以,而Boneh等人的BNG方案中已经给出证明。同时本节设计的安全协议也符合根据基于传统身份加密系统(IBE)的不经意传输协议安全性分析模型的整体框架。
3. 改进算法
3.1. DSPE算法
人脸超完备字典为
,
为属于第i类的人脸样本集合。
a) 最小二乘法求解鉴别信息权重:
(1)
其中
,I为全1行向量。
b) 人脸样本由鉴别信息权重重构后得到的残差由其它类的所有样本进行稀疏重构:
(2)
其中
,超完备字典
,其中
。
c) 求解鉴别稀疏权重:
设
是(2)的最优解,则将
中的系数按照不同的类别进行分块,从而得
,再结合(1)的最优解假设是
,则更新后的鉴别稀疏权重设为
。
DSPE的目标函数为:
(3)
其中
。
3.2. 本文KDSPE算法
3.2.1. 核稀疏表示
假设原始样本通过非线性映射Φ变换到一个高维的特征空间H上,则X在高维特征空间H中的表示为:
(4)
则高维空间的稀疏表示问题如下:
(5)
其中
是原始空间的一个样本信号b映射到高维空间形成的。
考虑到实际环境噪声的影响,一般无法精确重构原始信号,设ε是误差容,
(5)常被写成下列形式:
(6)
因为
和
都是未知的,根据高维空间中的内积可以用核函数
求解,对于任意的
,有
,再根据定理1,如下:
定理1:对任意的
,都存在
,只要
,就一定有
。
(6)的求解问题转换为:
(7)
3.2.2. KDSPE算法
根据3.2.1节的理论介绍,可将(1),(2)分别表示如下:
(8)
(9)
得到的核鉴别稀疏权重设为
。
通过
建立KDSPE目标函数:
(10)
其中
由拉格朗日乘子法的,设:
(11)
对(11)求导得:
(12)
设投影向量
代入(12)求得前d个最大本征值的本征向量
,求得映射
。
3.3. 本文加密方案
3.3.1. 核鉴别稀疏矩阵欧式距离算法
通过KDSPE得到的核鉴别稀疏权重,计算两矩阵的欧氏距离来判断人脸相似性。两个n维向量
与
的欧式距离:
(13)
训练人脸字典的训练样本建立为20个人5张不同的人脸图像,经过图像预处理(这里取18个像素值),得到这样一个矩阵:每列代表一个图像的所有像素:
(14)
经过标准化得到一个
的标准化人脸字典矩阵。设两个不同的测试样本
和
,由公式(8),(9)分别得到相应的核鉴别稀疏矩阵:
(15)
利用(15)计算两个矩阵的欧式距离:
(16)
3.3.2. 基于核鉴别稀疏表示的隐秘人脸识别方案
加密方案准备工作:为了方便同态加密的计算,在这里我们根据(13)式可以重新定义核稀疏矩阵的欧式距离为:
(17)
由公式(15),(16),(17)可知欧式距离的最大数量级为105,并设
,我们对2.2节介绍的允许接受者获得其中k个秘密信息进行k赋值为1,然后设200对公钥对等分
,每份500,这样构造出1-out-of-200的不经意传输协议,发送者是服务器,它的输出是
。接收者是终端,它的输入是欧式距离
。我们设协议映射规则为如果
小于阈值
,则
等于1表示匹配,否则等于0表示不匹配,其中
。
总体方案具体设计步骤:
1) 终端发送人脸图像的核稀疏矩阵
每一位的同态加密结果和每一位的平方值
的加密结果。服务器接收到的同态加密后的数据分别就是:
和
,对于服务器里数据库的每一个人脸图像的核稀疏矩阵
做出以上同样的操作。
2) 服务器进行欧式距离的计算,针对向量中的每一位j,为了方便计算设
代表获得的核稀疏矩阵里的向量,
代表数据库里的每一个人脸图像的核稀疏矩阵里的向量。设
,计算出每一位的加密后的距离
。然后利用同态加密的加法特性计算出总的加密距离
。
3) 服务器将计算出的
,发给终端,终端收到后进行解密,双方通过1-out-of-200不经意传输协议映射规则来进行匹配。
4. 实验结果
在AR,FERET,CMU-PIE这三个人脸库分别取20个人5张不同的100张人脸图像,针对每个库进行10次重复测试,然后取测试数据的平均值,以下给出DSPE(主要成分分析方法降维)和KDSPE(核函数为高斯核函数)在AR,FERET,CMU-PIE这三个人脸库的人脸识别率数据对比,如表1所示。
对于AR的100张图像,随机取出10张图像放在电脑终端,然后把这100张的图像存到服务器的数据库里建立数据集。然后进行数据测试,终端的10张图像里每张图像测试出一个匹配率,然后对这10条数据进行均值化,作为AR人脸库匹配率,同理对于FERET,CMU-PIE也是做同样的操作,KDSPE的欧式距离算法和KDSPE结合基于IBE公钥系统的不经意传输协议加密的欧式距离算法在数据库样本库上的匹配正确率的数据对比,如表2所示。
为了对比本文的加密算法和未加密算法的系统运行时间,单位是秒,测试数据分别是来自AR,FERET,CMU-PIE人脸库的100张图像里的10张图像,分别对属于各个库的10张图像进行系统匹配运行时间进行测试,最终的测试数据取10条数据的平均值,如图1所示。
5. 本文特点与总结
特点:本文研究了传统的人脸特征提取算法,利用核函数的技巧,提出了一种非线性流行学习子空间KDSPE算法;本文用核稀疏表示的人脸特征向量长度远远小于传统的图像块提取方法表示的向量长度。大大减少了算法的计算复杂度,提高了运行效率。同时,利用IBE公钥系统来构造不经意传输协议,引用一种改进的IBE方案使其满足同态加密性质,这样就可以在服务器端实现安全计算。
总结:本文基于图像子空间和稀疏表示的DSPE算法,同时结合核稀疏的理论,提出了KDSPE算法,考虑到算法安全问题,结合同态加密和基于IBE的不经意传输协议,设计了一种隐秘安全的人脸识别算
Table 1. Comparison of recognition rate of two face recognition algorithms
表1. 两种人脸识别算法的识别率的对比
Table 2. Comparison of matching accuracy of KDSPE and unencrypted KDSPE algorithm
表2. KDSPE和未加密KDSPE算法的匹配正确率%的对比
Figure 1. Comparison of the running time between the encryption algorithm KDSPE euclidian distance and the unencrypted KDSPE euclidian distance algorithm
图1. 加密算法KDSPE欧式距离和未加密KDSPE欧式距离算法运行时间对比
法,通过对本文算法的数学推导,可行性分析,安全性分析,实验结果分析认为该算法具有识别率高,实用性强的优点,但是本文算法在时间效率问题存在一些问题,使得算法有些不太灵活。