FHE*KDFRS:全同态加密相容的核基人脸识别系统
陆正福, 李佳
云南大学 数学与统计学院,云南 昆明 650500

作者简介:陆正福(1965-),男,安徽人,教授,主要研究方向:信息安全、协议工程和网络计算.E-mail:zhflu@ynu.edu.cn.李 佳(1991-),男,云南人,硕士生,主要研究方向:信息安全.E-mail:JiaLi0873@163.com.

摘要

生物特征识别是一种有着特征唯一、不易复制等良好特性的个人身份鉴定与识别技术.但在识别过程中,个人信息通过公开信道传输或网络服务器存储时,有可能会受到第三方的截获和修改,或通信双方提供虚假信息进行相互欺骗.可通过引入全同态加密协议以保护数据与分类器.此类方案设计主要存在2方面问题:一方面是只支持“加乘”运算的全同态加密算法与识别算法的运算相容性问题;另一方面是由于加密算法的约束导致识别率与运行效率的降低.以C/S模型为基础,采用了Gabor小波和核主成分分析法,利用数据的非线性信息和高阶统计特性以提高识别率;并设计了通信协议,使用了多项式核和改进后的DGHV加密方案,以解决相容性问题.原型实现的实验数据表明,该方案在承接源自全同态加密的隐私保护的前提下,有着较高的识别率与运行效率,其累积匹配率为91.9%,最高识别率为97.62%,最大识别时间花销约为1s.

关键词: 分布式人脸识别系统; 支持向量机; 全同态加密; 核方法; 隐私保护
中图分类号:TP309 文献标志码:A 文章编号:0258-7971(2018)06-1116-12
FHE*KDFRS:FHE-compatible kernel based face recognition system
LU Zheng-fu, LI Jia
School of Mathematics and Statistics,Yunnan University,Kunming 650500,China
Abstract

Biometrics is a kind of personal identification and recognition technology where the personalized face data are unique and not easily replicated.But when personal information transmitted through public network channel or stored through a network sever,it is likely to be intercepted and modified by the third party or deceived by other side of communication in the process of identification.To ensure data security,data and classifiers are encrypted by introducing cryptographic protocols.There are two main challenges in solving the privacy-preserving design:one is the compatibility problem between the cryptographic protocols and the kernel based recognition algorithms,the other is the low recognition rate and the low recognition efficiency caused by the constraint of the selected encryption algorithms with only support for "multiplication and addition".To keep the recognition rate,the Gabor wavelets and K-PCAs are used for feature extractions which try to retain data nonlinearity and higher-order statistics as far as possible based on the C/S model;To meet the demand for operation compatibility,communication protocols are designed by utilizing polynomial kernel and the improved DGHV homomorphic encryption scheme.Experiments of prototype implementation show that the proposed scheme,which based on the premise of privacy protection from FHE,has the appropriate time and acceptable recognition rate for cumulative matching rate was 91.9%,the highest was 97.62%,and a maximum recognition time was about 1 s.

Keyword: distributed face recognition system; support vector machines; fully homomorphic encryption; kernel approach; privacy-preserving

分布式身份识别系统中由于2个实体(C/S结构中的客户机与服务器, 或P2P中的对等实体)是相对独立的, 两者不仅需要常规的密码协议以防止第三方的入侵, 而且还需要隐私保护型密码协议相互设防, 以期能够保证在通信主体双方信息不泄漏的前提下进行远程身份认证.本文将隐私保护型密码协议(全同态加密, FHE)与非线性识别算法(核方法, KM)有机结合, 设计了隐私保护的分布式核基人脸识别系统.为行文方便计, 我们将这样的系统简称为FHE* KDFRS.

FHE* KDFRS借鉴了FHE* DFRS[1]提出的体系结构— — 客户机/服务器体系(C/S)和管道-过滤器体系的融合体系结构, 并沿用全同态加密方案保护远程管道中的敏感数据, 但是改变其中的识别算法为核方法.

熟知, 常用的识别算法可分为:基于距离的和基于子空间(线性映射或非线性映射)的分类算法.文献[1] 的FHE* DFRS采用了基于距离的分类算法, 易受光线、投影方向以及时间跨度的影响, 导致识别效果差, 所以需要加强图像的预处理过程, 使得样本特征在子空间中的距离足够大.而线性映射的子空间方法中, 数据经过简化的线性变化, 使得有用信息丢失, 影响识别效率, 同样需要加强图像的预处理过程.非线性的分类算法则可以避免外界因素的影响和转化时信息的丢失.使用非线性分类且不削弱图像预处理过程, 则可以进一步提升人脸识别的效果.支持向量机中核方法相对于传统的子空间分析方法, 能更有效地描述人脸局部特征.与距离方法或线性方法相比, 有一定的优越性[2].

FHE* KDFRS虽然能保护通信双方隐私、完成人脸识别和个人身份鉴定, 但由于全同态加密在密文域中进行有运算类型限制的“ 加乘” 运算, 并且运行效率受限, 从而限制了非线性分类器的核方法的选择、进而限制了识别率和效率, 最终导致安全性与性能的相互制约.

鉴于上述, 本文研究了以下问题:①体系结构与识别系统设计问题.重点研究如何选择合适的子空间映射函数以及全同态方案.由于全同态加密方案与核基识别算法两者之间存在相容性问题, 如:核基的方法类别与参数选择; 安全参数的设计与选择; 以及由于全同态加密方案的约束导致识别率低和识别响应时间长的问题.②关键算法及通信协议设计问题.设计识别系统中, DGHV加密方案相容的识别算法和通信协议, 使得整个识别算法在密文域中完成, 并改进加密方案、图像预处理算法和识别分类算法以满足实际应用的性能要求.

1 相关工作

现今, 已有许多的人脸检测和人脸识别算法被提出以及实现.如AdaBoost作为人脸检测的分类器, 将多个强、弱分类器融合在一起以实现更高精度的人脸检测分类器[3].针对不同的现实与应用问题, 如何权衡资源消耗和识别精度是人脸检测的关键问题.

对于人脸识别来说, 据我们所知, 国内大多数研究都侧重于人脸识别的基础问题研究, 即提高识别率和降低误识率的问题.或是安全多方计算的理论研究.只有很少部分的研究是将安全多方计算应用于人脸识别.如陆正福等[1]提出了一种FHE相容的DFRS(分布式人脸识别系统)方案, 该方案融合C/S和管道-过滤器协议构建了一种分布式人脸识别系统体系结构, 引入并改进DGHV方案, 以此为基础设计了基于距离的远程管道协议和人脸识别方案.但是, 基于距离的分类算法在几何特征的提取过程中容易受到光线、投影方向以及时间跨度等因素的影响, 为达到较为理想的识别效果, 势必要加强图像的预处理和特征提取.反过来说, 若加强了图像预处理与特征提取, 再进一步地改进或替换更好的识别算法, 则能得到更好的识别效果.国外也有部分学者做了该领域的相关研究.如Z.Erkin等[2]和Sadeghi[3]提出一种线性化的安全人脸识别方案.将加同态与混合电路相结合, 再根据文献[4], 通过主成分分析法降维, 最后使用加密后特征脸(Eigenface)进行人脸识别.文献[5]提出了一种不使用同态加密的安全人脸识别算法.文献[6]提出了一种盲的人脸验证系统— SciFI.文章采用1-out-of-N不经意传输协议和ElGamal加密算法.Chao-Yung Hsu等[7], 采用Paillier加密算法对原始图像加密, 然后再通过隐私保护的SIFT提取加密图像的特征点, 最后进行线性化的特征点匹配计算.文献[8]提出了一种基于支持向量机的人脸验证算法, 其中采用了GGH同态加密算法.

2 核方法与全同态加密的相容性研究

常用的核方法有:线性核函数, 多项式核函数和径向基函数等.对于不能表达为有限次加乘运算的核函数而言, 不满足同态性.考虑实际环境的需求, 选定有着可接受效率的全同态加密方案后, 需要选取合适的预处理算法和核方法.在常用的核方法中, 径向基函数有着较好的识别效果, 但是, 径向基函数的运算并不满足同态性(如指数函数, 三角函数等), 所以核函数与FHE是否相容直接影响方案的可行性.此外, 即使选定核方法后, 不同核参数的选择还会影响识别率与识别响应时间.若识别算法使用多项式核, 对于过高的幂次, 将花费过高的计算资源和时间, 但对识别率影响不大; 过低的幂次导致识别效果不理想.

2.1 支持向量机与核方法

支持向量机[9]是一种用于分类的可监督机器学习算法, 它的基本模型是一种二分类模型, 即用于将一个整体数据分类为拥有不同特征的2类数据集.假设, 给定一个训练样本集合{x1, x2, …, xN}以及对应的样本分类标签{y1, y2, …, yN}, 通过支持向量机的训练算法可以计算出一个分离超平面w· x+b=0, 使得分离超平面的间隔最大.其中, xi∈ RN, yi∈ {+1, -1}, i=1, 2, …, N.

定义1 线性可分支持向量机[10]:给定线性可分训练数据集, 通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为

w· x+b* =0, (1)

以及相应的分类决策函数

f(x)=sign(w· x+b), (2)

称为线性可分支持向量机.

然而, 现实中的分类问题往往是线性不可分的, 线性不可分意味着样本空间中存在着某些样本点分类不正确, 即yi(w· xi+b)不能满足≥ 1的约束条件.为此, 对于每个不正确的分类点( x̅i, y̅i)引入一个松弛变量ξ i≥ 0, 使得这些分类点( x̅i, y̅i)正确分类, 从而约束条件变为yi(w· xi+b)≥ 1-ξ i.同时, 对于问题的目标函数, 支付一个代价ε i, 从而目标函数变为 12w2+C i=1Nξ i.其中, C> 0为惩罚参数, 一般由具体的现实应用问题决定.根据以上描述, 将原始线性可分模型转化为线性不可分模型如下:

minw, b, ξ12w2+C i=1Nξ i, (3)

s.t yi(w· xi+b)≥ 1-ξ i, (4)

i=1, 2, …, N

ξ i≥ 0, i=1, 2, …, N.

通过求解该线性不可分问题, 得到分离超平面为

w* · x+b* =0, (5)

以及相应的分类决策函数

f(x)=sign(w* · x+b). (6)

对于非线性问题, 利用核技巧与核函数, 可以将线性支持向量机的学习方法应用到非线性支持向量机中, 只需将原型中的点积形式(xi· xj)转化为目标核函数K(xi· xj).

定义2 非线性支持向量机[11]:从非线性分类训练集, 通过核函数与间隔最大化, 学习得到的分类决策函数

f(x)=sign( i=1Nai* yiK(x· xi)+b* ), (7)

称为非线性支持向量, 其中K(x· xi)是核函数.

非线性支持向量机的学习算法如下:

算法1 非线性支持向量机算法

输入:数据训练集T=((x1, y1), (x2, y2), (x3, y3), …, (xN, yN)), 其中, 实例xi属于空间RN, xix=RN, 对应的2类标签yiy=(-1, +1), i=1, 2, …, N.

输出:决策函数

f(x)=sign( i=1Nai* yiK(xi· xj)+b* )

步骤1:选取适当的核函数K(xi· xj)和适当的参数C, 构造并求解最优化问题

minα12i=1Nj=1Nα iα jyiyj(xi· xj)- i=1Nα i

s.t α iyi=0

0≤ α iC, i=1, 2, …, N

得到最优解α * =( α1* , α2* , …, αN* )T.

步骤2:选择α * 的一个正分量0< αi* < C, 计算b* =yj- i=1Nαi* yiK(xi· xj)

步骤3:计算决策函数:

f(x)=sign( i=1Nai* yiK(xi· xj)+b* ).

对于线性分类问题, 线性分类支持向量机是一种非常有效的方法.但是, 现实应用中的分类问题往往是非线性的, 这时可以使用非线性支持向量机.而非线性支持向量机的主要特点就是利用核技巧.表1给出了具有代表性的常见核方法[12].

表1 常见核方法 Tab.1 Common nuclear methods

不同的核方法能够适用于不同的实际问题.Polynomial Kernel是一个非稳定核, 非常适合训练样本标准化的问题.Sigmoid Kernel适用于多层感知机, 用于SVM时相当于两层感知神经网络.Log Kernel适用于图像应用.对于本文的识别系统, 由于引入了全同态方案, 只能选用Linear Kernel 和Polynomial Kernel.其中k(x, y)=(α xTy+c)d可以展开为只存在加乘运算的核函数.而Gaussian Kernel虽然更适于做人脸分类, 但其指数函数无法在密文下进行计算; 同样地, Sigmoid Kernel、Multiquadric Kernel以及Log Kernel中存在无法只使用加乘运算计算的三角函数、开方运算以及对数函数.

2.2 整数全同态加密方案

自从Gentry等提出全同态加密方案后, 越来越多的人开始致力于研究全同态加密(或部分同态)的性质与应用.不同的全同态方案有着各自的优势与限制.半同态加密方案只支持一种运算, 不能满足实际应用的需求, 如Paillier方案 (加同态)和ElGamal方案(乘同态); 同时支持两种运算, 计算量大的方案也不适于具体应用, 如 BGV方案是一种层次型全同态, 需要进行密钥交换, 大大增加了计算量; 对于支持两种运算, 计算量可接受, 但单个密文太大, 在通信时增加响应时间, 使得整个系统时间复杂度提高也是不可取的, 如GGH方案.所以本文选取具有良好的同态性和实用性的DGHV方案, 但是由于原始方案只能加密1-bit明文不满足本文方案需求, 故需改进其加解密方案.同时考虑到本文研究的目标问题是人脸识别问题, 其实质是一个N维8-bit向量x=(x1, x2, …, xN), xi∈ [0, 255], i=1, 2, …, N的训练分类问题, 即明文大小是在一定范围内的(实际大小不超过105).通过控制DGHV方案中的安全参数λ 的选取, 从而实现高效安全的加密方案.

一个全同态加密方案通常有以下4个算法构成:①密钥生成算法(KeyGen); ②加密算法(Encrypt); ③解密算法(Decrypt); ④同态计算(Evaluate).其中, 密钥生成算法依赖于安全参数, 加密算法使用生成的公钥加密单bit明文m∈ {0, 1}k, 解密时, 用已知的私钥消去干扰项和噪声, 得到明文.同态计算允许在不知道明文的前提下, 进行有限次数的加或乘计算.具体描述如下:

根据实际的问题规模以及欲抵抗的攻击类型与强度, 选择合适的安全参数.

γ :公钥的bit位长度; η :私钥的bit位长度; ρ :噪声的bit位长度; ρ ':另一个噪声的bit位长度; τ :公钥的个数.

以上参数必须满足下述条件和限制:

ρ =ω (logλ ), 满足该条件可以防止攻击者使用蛮力攻击破译噪声, 从而对密文进行攻击; ρ '=ρ +ω (logλ ), 该条件使得另一个噪声长度为噪声ρ 的2倍; η ≥ ρ Θ (λ log2λ ), 满足该条件, 能够使得在足够深的电路层同态地计算“ 扁平化的解密电路” ; γ =η 2ω (logλ ), 该条件使得加密方案能够抵抗基于格的近似最大公约数假设的各种攻击; τ ≥ γ +ω (logλ ), 该条件为能够使用哈希剩余引理(Leftover Hash Lemma)提供了理论依据.

其中, ω ()表示高阶无穷大量, Θ ()表示同阶无穷大量.

同时, 上述参数与安全参数有以下关系:ρ =λ , ρ '=2λ , η =Õ (λ 2), γ =Õ (λ 5), 以及τ =γ +λ .该关系将使得计算复杂度达到Õ (λ 10).

对于一个η -bit的奇正整数p, 根据以下分布可以得到γ -bit的整数x:

Dγ , ρ (p)={x=pq+2kr|随机均匀选取q←

Z∩ 0, 2γp, 和r← Z∩ (-2ρ , 2ρ ).

KeyGen(λ ):输入一个安全参数, 根据限制条件η ≥ ρ Θ (λ log2λ ), η =Õ (λ 2), 从区间(2Z+1)∩ [2η +1, 2η )中随机均匀地选取η -bit的奇整数p作为私钥ks, 即{p|p← (2Z+1)∩ [2η +1, 2η )}.公钥kp由分布Dγ , ρ (p)根据私钥p随机均匀地选出, 即{xi|xi← Dγ , ρ (p), i=0, 1, …, τ }.其中, x0为最大的公钥.当且仅当x0为奇数且rp(x0)整除2k时, 公钥kp=< x0, x1, …, xτ > 的选取有效.输出密钥对(kp, ks).

Encrypt(kp, m∈ [0, 2k)):选取一个随机的子集合S⊆{1, 2, …, τ }, 和一个随机整数{r'|r'← (-2ρ ', 2ρ ')}.输出密文c=[m+2kr'+2k iSxi ]x0.

Decrypt(ks, c):输出明文m'=(c mod p)mod 2k.

2.3 相容性及安全性分析

本文对于人脸图像预处理采用级联分类器进行人脸检测, 提高了对图像中人脸区域的检测率.Gabor小波[13]K-PCA[10]用于提取人脸图像的特征, 保证数据的非线性和高阶统计量, 提高识别率, 同时还减少传输数据量, 提高识别效率; 通过使用DGHV整数上的同态加密算法保证客户机与服务器双方的数据信息安全, 虽然DGHV方案加密的密文在进行乘运算时增长较快, 但本文使用的多项式核映射在进行密文计算时, 加乘算法次数与训练模型的支持向量个数相同, 通过设置安全参数以及加密参数, DGHV能够满足需求; 由于DGHV具有明文空间与密文空间线性运算同态性不变的性质, 将核映射拆解为多个线性运算, 使得数据在密文下进行核映射成为了可能, 因此能够将DGHV与非线性人脸识别算法结合, 保证了方案的可行性.

本文采用改进后k-bit-DGHV加密方案对训练模型和特征向量进行加密.加密方案安全性基于近似最大公约数问题(Approximate Greatest Common Divisor Problem, AGCD)[14].

定义3 AGCD:AGCD问题指的是给定n个随机选择的p的近似倍数集合{x1, x2, x3, …, xn}, 求解近似公因子p的问题.

AGCD问题需要一个随机的抽样算法Dγ , ρ (p), 其中, p是一个η -bit的奇数, Dγ , ρ (p)={x=pq+2kr|随机均匀选取q← Z∩ 0, 2γp和r← Z∩ (-2ρ , 2ρ ), 给定Dγ , ρ (p)的多个输出x, 求解p.

定理1[15] 对于2.2节的DGHV方案, 根据安全参数λ 选取设置参数(γ , η , ρ , ρ ', τ ), 若存在一个具有优势的攻击算法A攻破本方案, 则存在另一攻击算法能够以至少 ε2的优势攻破本方案.

AGCD是一个困难问题, 目前还不存在有效的多项式时间算法.由定理1可知, 若攻击者可以攻破2.2节的DGHV方案, 则攻击者可以通过给定Dγ , ρ (p)的多个输出x求解p.文献[16]证明了, 破解本方案至少需要复杂度为O( 2γ/η2)的格归约算法, 所以本文的DGHV方案是安全的.

3 分布式安全人脸识别方案设计
3.1 分布式安全人脸识别系统体系结构

本文采用客户机/服务器模型(Client/Server, C/S), 如图1所示.

图1 客户机服务器模型Fig.1 Clientl/server model

一般情况下, 服务器拥有巨大的存储空间和强力的计算能力, 并且一直处于等待请求状态.客户机提供原始数据, 并可以进行一些有限的简单计算.例如, 客户机提供一张待识别的人脸, 在本地进行图像预处理, 使用个人公钥加密数据, 发送给服务器.服务器接收由客户机发送过来的加密向量, 进行识别运算, 返回客户机一个验证结果.如表2所示.在识别过程中满足以下几个要求:①客户机和服务器都是半诚实参与者; ②客户机和服务器的数据都不会泄露, 客户机只知道个人的图像信息和识别结果, 不知道自己服务器的人脸信息, 而服务器只知道识别算法与本地加密的人脸信息, 不清楚任何有关明文图像的信息.

表2 协议1客户机/服务器交互协议 Tab.2 Client/server interaction protocols

在客户机端, 通常情况下, 我们得到的是一张带有背景的人脸图像, 需要对该图像进行预处理, 才能得到可以进行分类的特征向量.如图2所示.

图2 图像预处理Fig.2 Image pre-processing

通过摄像机得到图2中的原始图像, 使用人脸检测算法得到目标人脸.由于分类识别时只需要人脸区域, 所以此处只留取人脸区域图像, 通过图像金字塔缩放, 将其尺寸规范化.再通过Gabor小波变换得到40幅相同尺寸不同内容的滤波图像.然后将这40幅转变为一个40(n× m)维的向量.最后, 通过PCA算法进行降维和去相关得到可以进行分类的特征向量.至此, 完成图像的预处理.

3.2 分布式安全人脸识别系统关键算法

支持向量机是一种非线性的识别算法, 加密后的数据只支持加乘运算, 我们通过选择合理的核方法, 以及分类策略, 结合两者给出了两种不同的分类识别策略, 并以此设计分布式安全人脸识别方案.

3.2.1 二分类分布式安全人脸识别 众所周知, 支持向量机的基本模型是一种二分类模型, 非常适合解决二分类问题.人脸识别算法主要分为2个阶段:①训练与注册阶段; ②识别阶段.其关系如图3所示.

图3 训练注册阶段与识别阶段联系图Fig.3 Contaet diagram for traning registration phase and recognition phase

其中, 训练阶段对于加法、乘法和比较运算次数较多, 若直接使用加密后的数据进行训练, 资源消耗过大, 正确性也无法得到保证.其次训练阶段是一种离线学习的过程, 在在线识别系统运行前就可以单独地完成.所以, 我们在客户端完成样本数据训练.又因为本文所做人脸识别需要在安全分布式环境中进行, 同态加密只能进行有限次数的加乘运算, 故本文选取线性核与多项式核来进行人脸识别.由此, 我们先给出二分类的安全人脸识别方案(表3).

表3 二分类人脸识别算法协议 Tab.3 Two classification face recognition algorithm protocols

3.2.2 多分类分布式安全人脸识别 人脸识别实质上是一种多分类问题, 即将一个已知的待测样本正确地分类到所属类别.假设, 服务器端有N个人的数据信息, 我们可以将该N类问题化为N-1个二分类问题.从而得到N-1个二分类问题.为解决这一多分类问题, 我们将其抽象为一对多分类问题和一对一分类问题.

(1) 一对多策略人脸识别 一对多策略是将当前选定的个人人脸信息作为“ 一” 类, 而剩下的其余客户人脸信息作为“ 多” 类.其本质还是二分类问题.具体过程描述如表4所示.

表4 一对多策略人脸识别协议 Tab.4 One-to-many fale recognition protocols

(2) 一对一策略人脸识别 一对一策略的人脸识别方案主要思想是, 将当前人脸信息作为“ 正类” , 将剩余的N-1个人脸信息分别作为负类, 训练N-1个分类决策函数.换句话说, 若人脸库中存在N张人脸, 则应该对应存储 N(N-1)2个分类决策函数.表5给出了第N个用户注册与识别的具体算法.

表5 一对一策略人脸识别协议 Tab.5 One-to-one face rocognition protocols
4 实验结果与分析

采用实验平台为Java1.7+OpenCV2.4.11+jama1.0.3+libsvm3.21.实验主机配置为i7-4710MQ CPU, 8G* 2内存, GTX970M显卡, 以及PX-256M6S固态硬盘.采用宿主机与虚拟机模拟分布式C/S环境.实验对象为ORL人脸库, 任意选取每个人5张图像作为训练样本, 其余作为测试样本.对每张人脸区域进行标准化得到m× m维的人脸图像, 再通过Gabor小波变化, 得到40幅m× m维的滤波图像, 经过PCA处理, 最终得到40* 5维的训练识别样本数据.

在DGHV加密实验方案中, 选取安全参数λ =6; 随机生成以下参数私钥长度η =94; 公钥长度γ =9087; 公钥个数τ =9093; 噪声长度ρ =10261690019088495344990262485, 私钥ks=32586925342845694871651.加密测试数据m=3, m1=1638得到2736位密文c=127052…457, c1=127052…092.所有密钥存储于文本文档中, 共15.8MB.

在支持向量机的核函数及其参数的选择时, 没有固定的标准, 一般情况下只能根据实际应用场景来进行参数的选取, 并且核函数的选择不仅影响识别系统对于人脸图像的识别性能, 也会在一定程度上影响核函数的泛化能力[17].由于本文需要在密文状态下进行计算.故本文选取线性核函数和多项式核函数及不同参数进行实验对比.

我们采用随机获取的公钥加密训练得到的模型, 得到以下对比结果如表6所示.

表6 加密训练模型所需时间和通讯数据大小与文献[8]比较 Tab.6 Compared the time required for encryption training model and the size of communication data with literature [8]

相对于文献[8]中的人脸验证, 本文提出的人脸识别方案对于单一模型有着更少的时间和空间消耗.但是本文提出的方案是针对人脸识别, 即方案中有着多个训练模型, 故总的加解密时间及消息传输量都高于文献[8].具体原因如下:由于每个训练模型包含有大约10个支持向量, 每个支持向量包含400个分量, 所以单个模型需要加密的数据约为4000个, 所需时长为20~30s, 生成的加密后数据大小为11.4MB.本文所选取的ORL人脸库共有40个分类, 所以总共有1560个训练模型.但是, 对于第i与第j的两个训练模型(一个是i为正类, j为负类; 另一个是j为正类, i为负类), 它们在训练和结果上是相同的, 只是分类标签不同, 所以实际所需训练和传输的模型个数为780个, 所需加密时长为2× 107 ms, 数据大小为8.71GB.解密只需使用私玥进行一次幂运算和2次模运算, 所以时间和空间消耗少.

本文对ORL人脸库中40个分类人脸进行不同的主成分贡献率和检测目标人脸大小进行实验, 随机选取每个分类中的5张人脸作为训练样本, 其余5张人脸作为测试样本, 得到表7~8结果.其中, RPCAC表示主成分分析法贡献率, p为多项式核的次数, RCR为识别率, tpre为预处理时间, ttra训练时间, tRC识别时间, SNot训练样本个数.

表7 随机样本累积匹配率结果 Tab.7 The cumulative matching rate of random samples
表8 训练识别各阶段时间花销 Tab.8 Time spent in training phoise and recognition phase

由实验结果(表7~8)可知, 识别率都达到了90%左右.对于不同的检测人脸大小和主成分贡献率, 识别率有所变化.

表8可知, 当增加检测人脸大小从20× 20增加到30× 30时, 人脸图像预处理时间显著增加, 从102增加到104.但是对于训练与识别时间影响不大.这是因为预处理阶段对检测的人脸图像进行K-PCA处理时, 图像越大, 求解其对应的协方差矩阵的特征值与特征向量时间消耗越多.然而, 对于相同人脸图像大小, 不同贡献率的情况下, 贡献率越大, 所需提取的主成分份量越多, 训练与识别所使用的样本维数就越高, 从而导致时间的花费就越大.

由于使用随机选取的样本进行训练与识别, 导致识别率不理想, 故本文调整训练样本, 选取ORL人脸库中, 特定的人脸作为训练样本, 其余样本作为测试样本, 得到结果见表9.

表9 最高识别率结果与其他文献识别率比较 Tab.9 Comparison of the highest recognition rate with other literatiure recognition rates

通过调整训练样本后, 识别率均高于随机样本识别率.当增加训练样本个数时, 得到了更高的识别率.所以训练样本的质量和数量对于本文提出的方案有着较大的影响.从表7表9可以看出, 本文提出的方案, 在选取特定的训练样本后, 识别率有所提升.

通过以上实验数据可知, 本文提出的方案在传输数据大小和时间花费上只与检测的人脸大小和主成分贡献率有关, 识别率受到检测的人脸大小和主成分贡献率的影响较小, 故在人脸训练时, 应当尽可能多地提供特征性强的、有区别的训练样本, 以得到更高的识别率.但是, 由于本文进行人脸识别是在DGHV加密下完成, 存在一定的舍入误差, 所以实验所得识别率略低于明文状态下的识别率.

5 结束语

FHE* KDFRS结合了如下要素:支持向量机的非线性核函数, 整数环上的DGHV全同态加密算法, 网络应用程序的体系结构与协议, 研究了其中的运算相容性和性能问题.通过改变核技巧来提高识别率, 选择合适的识别策略来权衡算法效率与资源消耗问题.针对识别策略, 我们提出了两种不同的分类策略:一对多策略和一对一策略.

支持向量机是一种用于分类的可监督机器学习算法, 训练阶段是可以在识别阶段前进行预先处理, 训练算法由客户机实现, 不占用系统运行时的计算资源和网络花销.FHE* KDFRS的方案具有一定的通用性与实用性, 可作为安全人脸识别系统的基础框架.

FHE* KDFRS的研究价值在于提出并实现了一种隐私保护的核基人脸识别系统, 但如何选择与加密方案相容的核方法来获得更高的识别率和更快的识别响应, 更合理的模块分工与体系结构、隐私保护下的学习问题, 需要更多的理论探索与实验探究.

The authors have declared that no competing interests exist.

参考文献
[1] 陆正福, 王欢. FHE-相容的分布式人脸识别方案设计与分析[J]. 计算机工程与设计, 2016(6): 1428-1434.
LU Z F, WANG H. Design and analysis of FHE-Compatible distributed face recognition scheme[J]. Computer Engineering and Design, 2016(6): 1428-1434. [本文引用:3]
[2] ERKIN Z, FRANZ M, GUAJARDO J, et al. Privacy-preserving face recognition[C]//Privacy Enhancing Technologies, International Symposium, Seattle, Wa, USA. Proceedings DBLP, 2009: 235-253. [本文引用:2]
[3] SADEGHI A R, SCHNEIDER T, WEHRENBERG I. Efficient privacy-preserving face recognition[C]//International Conference on Information Security and Cryptology, Springer-Verlag, 2009: 229-244. [本文引用:2]
[4] TURK M, PENTLAND A. Eigenfaces for recognition[J]. Journal of Cognitive Neuroscience, 1991, 3(1): 71-86. [本文引用:1]
[5] UPMANYU M, NAMBOODIRI A M, SRINATHAN K, et al. Blind authentication: a secure crypto-biometric cerification protocol[J]. Proc IEEE Transactions on Information Forensics and Security, 2010, 5(2): 255-268. [本文引用:1]
[6] OSADCHY M, PINKAS B, JARROUS A, et al. SCiFI-A system for secure face identification[C]//IEEE Security and Privacy, 2010: 239-254. [本文引用:1]
[7] HSU C Y, LU C S, PEI S C. Image feature extraction in encrypted domain with privary-preserving SIFT[J]. IEEE Transactions on Image Processing, 2012, 21(11): 4593-4607. [本文引用:1]
[8] TRONCOSO-PASTORIZA J R, GONZÁLEZ-JIMÉNEZ D, PÉREZ-GONZÁLEZ F. Fully private noninteractive face verification[J]. IEEE Transactions on Information Forensics & Security, 2013, 8(7): 1101-1114. [本文引用:2]
[9] 李航. 统计学习方法[M]. 北京: 清华大学出版社, 2013.
LI H. Statistical learning method[M]. Beijing: Tsinghua University Press, 2013. [本文引用:1]
[10] GUMUS E, KILIC N, SERTBAS A, et al. Evaluation of face recognition techniques using PCA, wavelets and SVM[J]. Expert Systems with Applications, 2010, 37(9): 6404-6408. [本文引用:2]
[11] 叶超. 基于Gabor小波和SVM的人脸识别算法研究[D]. 太原: 中北大学, 2014.
YE C. The optimzation algorithm of face recognition based on Gabor wavelet and SVM[M]. Taiyuan: North Universty of China, 2014. [本文引用:1]
[12] YANG M H. Kernel eigenfaces vs. Kernel fisherfaces: face Recognition using kernel methods[C]//Proceedings IEEE International Conference on Automatic Face and Gesture Recognition, 2002: 215-220. [本文引用:1]
[13] 李云峰. 基于Gabor小波变换的人脸识别[D]. 大连: 大连理工大学, 2006.
LI Y F. Gabor wavelet transform based face recognition[D]. Dalian: Dalian University of Technology, 2016. [本文引用:1]
[14] DIJK M V, GENTRY C, HALEVI S, et al. Fully homomorphic encryption over the integers[D]. Springer Berlin Heidelberg, 2010. [本文引用:1]
[15] LINDELL Y, PINKAS B. A proof of Yao's protocol for secure two-party computation[J]. Electronic Colloquium on Computational Complexity, 2004: 2004. [本文引用:1]
[16] CORON J, MANDAL A, NACCACHE D, et al. Fully homomorphic encryption over the integers with shorter public keys[C]//Conference on Advances in Cryptology, Springer-Verlag, 2015: 487-504. [本文引用:1]
[17] HUANG J, YUEN P C, CHEN W S, et al. Choosing parameters of kernel subspace LDA for recognition of face images under pose and illumination variations[J]. IEEE Transactions on Systems Man & Cybernetics Part B Cybernetics, 2007, 37(4): 847-862. [本文引用:1]