基于同态加密的声纹模板设计及其分析

2014-02-28 10:27朱华虹贺前华李艳雄潘伟锵
计算机工程与应用 2014年13期
关键词:声纹同态明文

朱华虹,贺前华,李艳雄,潘伟锵

华南理工大学电子与信息学院,广州510640

1 引言

近年来,声纹识别技术在远程身份认证中的应用越来越多,但也逐渐暴露出其本身固有的一些安全性和隐私性方面的缺陷。人的生物特征具有唯一性和稳定性,且涉及个人隐私,一旦泄露将造成灾难性的后果[1]。因此,随着基于声纹的远程身份认证系统的不断推广,声纹特征的存储和传输安全成为一个重要而有价值的研究课题。

密码学为保护生物特征模板的安全性提供了有效手段,但加密算法所要求的精确性和生物特征所固有的模糊性之间的矛盾成为了两者结合的最大障碍:特征数据变成密文后丧失了原有特性,导致大部分特征识别技术失效[2]。目前的各种生物特征模板保护算法[3-5]也主要是针对具体的生物特征和识别算法提出实现方案。Fuzzy vault作为经典的生物特征模板保护方法在指纹、虹膜、声纹中都有广泛应用,基本思想是使用杂凑点(chaff point)达到隐藏真实点的目的,此方法的缺陷是安全性依赖于杂凑点(chaff point)的数量,导致存储效率不高及交叉匹配等问题[6]。文献[4]提出了基于多子空间映射的可撤销声纹模板保护方法,将声纹特征正交变换后在变换域进行模型训练和匹配,实现可撤销模板的设计目标。但有研究[7]指出该方法存在泄漏特征信息,无法保证变换的区分度而易受冒充攻击等缺陷。前期已将实数域同态加密方案用于声纹模板保护[5],该方法的优点是可对加密的声纹数据进行算术运算,因而在识别时无需解密原始特征达到保护特征的目的,其缺点是密文泄漏了明文的大小关系、小数信息和正负数信息,无法应用于安全级别较高的场合。但该文将同态加密首次应用于声纹模板保护,为传统的生物特征模板保护提供了新思路。

不同类型的生物特征具有不同的特征模式,衡量两个样本是否充分接近的方法也不同。目前尚未有任何一种算法能满足所有生物特征模板保护的要求[8]。因此,进行模板保护时,需要根据不同的生物特征、不同的信号表达形式以及相应的应用场合研究合适的算法。考虑到基于矢量量化(Vector Quantization,VQ)算法的声纹识别方法的诸多优点[9],且在声纹识别优化算法中常用于特征聚类,针对该算法的声纹模板保护方法报道也较多[4-5]。因此,本文在传统基于矢量量化VQ的声纹认证系统基础上,提出一种基于同态加密的声纹模板保护方法:首先将实数形式的码本和认证声纹特征转化为整数,然后采用改进的整数同态加密算法对数据进行加密并计算密文的欧氏距离分量差,运算结果经解密后用于计算平均最小量化误差最终进行决策输出。该方法中密文未泄漏明文的大小关系、小数和正负数信息,并可抵抗已知明文攻击,可应用于安全级别更高或者特殊的场合。最后通过仿真实验验证了本文方法的有效性。

2 同态加密

2.1 整数上的同态加密

同态加密是基于数学难题的计算复杂性理论的密码学技术,其思想起源于1978年Rivest等提出的秘密同态(Privacy Homomorphisms)[10],是一种允许直接对密文进行计算的加密变换。在实际应用中,目前最好的成果主要在整数范围内实现加乘同态,而能够对加密数据进行任意复杂操作的全同态加密[11]由于计算复杂而无法真正用于实际。同态加密可以有效保护互联网环境下重要或敏感数据的安全性和隐私性,被广泛用于移动代理安全[12]、秘密选举[13]、隐蔽通信[14]等领域。Sander和Tschudin定义了整数环上的同态加密机制[15]。设R和S为整数环,R表示明文空间,S表示密文空间。n,m∈R,加密函数E()满足:

(1)加法同态,如果从E(m)和E(n)通过加法计算可以计算出E(m+n),而不需要知道m和n的值。

(2)乘法同态,如果从E(m)和E(n)通过乘法计算可以计算出E(mn),而不需要知道m和n的值。

Lee[13]等基于大数分解难题提出了一种具体的整数同态加密算法:设R和S为整数环,R为明文空间,S为密文空间;p、q为两个大的素数,N=pq,m∈R且m≤p,c∈S,r是随机整数,则加密算法为:c=()m+rp mod N,对应的解密算法为:m=c mod p。该算法在结果为非负整数时具有加法同态特性[15]。

2.2 改进的整数同态加密算法

实际应用中,生物特征匹配的一些运算很难满足Lee算法对计算对象的限制,为此,本文构造一种改进的整数同态加密算法:首先根据定义1将整数统一转化为非负整数,再采用Lee算法对加法进行同态加密,最后根据定义2进行解密获得计算结果。

定义1[12]设p1是一个大素数,m为整数且通过公式(1)可将任意整数表示为非负整数:

定义2[12]设p1是一个大素数,n为非负整数。通过公式(2)可将经定义1转化的非负整数解密为原来的值。

同时,文献[12]也证明了当m1、m2为整数,且时,该方法满足加法同态特性,即

结合上述结论,本文提出一种改进的整数同态加密算法:选取3个大素数:p1、p2和q(p1=p2或2p1<p2,p1≠q,p2≠q),N=p2q,r为随机正整数,m为整数,为明文信息集。加密算法Enc(m,p1,p2,q,r):

解密算法Dec(c,p1,p2):

定理1 对于所有的m∈Zp,有Dec(Enc(m))=m成立。

证明(1)若

综上可得Dec(Enc(m))=m成立。

该算法满足加法同态特性,其证明如下。

定理2 对m1,m2∈Zp,有m1+m2=Dec(Enc(m1)+Enc(m2))。

证明

Dec(Enc(m1)+Enc(m2))=

证毕。

下面举一个简单例子说明上述同态加密的作用(选取数据虽然较小,但能反映出基本的加密过程,其中p1=p2=p):

明文整数m1=3,m2=-15,p=67,q=11,N=pq=737,r1=20,r2=13。Η(m1)=3,Η(m2)=67+(-15)=52,E(m1)=(3+20×67)mod 737=606,E(m2)=(52+13×67)mod 737=186,E(m1)+E(m2)=606+186=792,m1+m2=Dec(Enc(m1)+Enc(m2))=Η-1(792mod 67)=Η-1(55)=-12,与明文直接进行计算3+(-15)=-12一致。

3 基于同态加密的声纹模板保护

生物特征具有模糊性,因而加密方法需要结合具体的生物特征以及识别方法才能达到有效保护生物特征模板的目的。多年来,声纹特征主要建立在短时频谱基础上,其中美尔倒谱系数(M el-Frequency Cepstral Coefficients,MFCC)是目前使用最广泛的声纹特征参数,如NIST历年领先的说话人识别测评系统大部分都采用了MFCC作为特征参数[9]。因此,本文也选择MFCC作为认证系统使用的特征,但MFCC特征值一般均为实数。如前所述,基于实数的同态加密存在安全性不高的缺陷,而第2章中改进的同态加密算法只适用于整数。为了利用同态加密的优势,同时考虑声纹特征的特点,本文首先需要进行整数的转化。将实数明文转化为整数的方法比较简单:设明文的最大小数点位数用b表示,将明文乘以10b后就可转化为整数(不够b位用零补足)。转化后的整数可以进行加法运算,为了保证其和与转化前一致,还需要将运算结果除以10b。该方法支持对转化后的整数进行同态加密,其加法结果解密后与明文的加法结果相同。这是因为,同态加密是对转化后的整数进行的,加密整数的加法运算结果经解密后,与未加密的整数加法结果一致。未加密的整数加法结果如果要与实数明文的加法结果一致,则只需将整数加法结果除以10b。例如,假设明文为0.3和-1.5,其加法结果为0.3+(-1.5)=-1.2。将明文进行整数转化,即分别乘以10得到3和-15,结合第2章中的例子,同态加法结果解密后为-12,再除以10为-1.2,与明文加法结果一致。

进一步结合识别算法考虑,VQ算法的判决尺度为最小量化误差,其度量值为矢量间的欧氏距离|x-y|=(其中,yi,…,yd}为d维矢量,xi∈x,yi∈y)。其中,分量差xi-yi可以看做xi+(-yi),从而可使用加法同态加密算法(一般情况下,加法同态与减法同态是一致的[12])。为了使用整数同态加密算法,在加密之前需要将实数明文转化为整数。而VQ的认证判决主要通过与系统阈值比较进行决策输出,这里比较的是距离的相对大小,而非绝对数值。因此,为了提高算法效率,对xi-yi同态解密后的结果可以省略除以10b的步骤,类似于将结果扩大了10b倍,因此只需调整相应的阈值即可。一般情况下,MFCC特征有4位小数,其绝对值大小在100以内。而码字是训练矢量空间的代表点[4],因而其绝对值大小也在100以内。为降低大素数的选择难度和提高算法效率,本文选取b=1,即MFCC特征经过四舍五入取1位小数。实验结果也表明这种处理方式产生的误差对识别率不会产生太大影响。实际中,可根据各系统的精度要求以及经验值对b进行折衷选择。

综上所述,本文提出一种基于同态加密的声纹认证系统框图如图1所示。服务器端采用分布式架构,并假设各模块相互独立且不会勾结[7],模块间的通信信道也使用标准协议加密。具体的声纹模板保护方法可描述为:

(1)初始状态。客户端拥有密钥p1、p2和N,决策模块拥有密钥p1、p2。

(2)注册阶段:

步骤1 提取注册语音的M FCC特征序列X,X={x1,x2,…,xt,…,xf},xt(1≤t≤f)为d维语音特征矢量;

步骤2 使用LBG(Linde-Buzo-Gray)算法对X进行训练,获得码本C={c1,c2,…,ci,…,cM},ci(1≤i≤M)为d维码字,M为码本大小;

步骤3 将C中元素根据上文方法进行整数的转化并乘以-1,以便将减法转为加法,再利用同态加密获得加密后的码本C′={c′1,c′2,…,c′i,…,c′M},存储于码本库。

(3)认证阶段:

步骤1 提取待认证语音的MFCC特征序列X′,X′={x′1,x′2,…,x′t,…,x′T},x′t(1≤t≤T))为d维语音特征矢量;

步骤2 对X′中元素根据上文方法进行整数的转化,再利用同态加密获得加密后的特征Y′={y′1,y′2,…,y′t,…,y′T};

步骤3 匹配模块计算矢量间的欧氏距离分量差y′i+c′i(其中,c′i∈c′i,y′i∈y′t),将运算后发送给决策模块;

步骤4 决策模块利用p1、p2解密后,计算认证矢量与码字之间的欧氏距离d(y′t,c′i),并求出平均最小量化误差ξ:

步骤5 将ξ与系统阈值进行比较,并决策输出是否通过认证。

4 安全性和计算复杂度分析

4.1 安全性分析

生物特征模板保护对安全性的要求体现在两点重要特征[2]:一是识别在变换域进行;二是即使模板被盗(泄漏),敌手也无法获得原始数据。同态加密算法是一种支持对密文进行运算的加密机制,其优点在于可以对密文数据进行直接运算但又不泄漏其中的内容。注册和认证过程中,用户送给远端服务器的声纹特征和码本均经过同态加密,即变换后的模板。识别过程中,匹配模块直接对密文进行计算,而并非类似传统密码学方法那样需要解密成明文。决策模块虽然拥有密钥,但其只是对欧氏距离分量差的结果进行解密,由于分布式架构中的各模块相互独立且不会勾结,决策模板本身不能获得加密的声纹特征和码本,也就无法利用密钥获得原始数据。这个前提在基于分布式架构的生物特征模板保护框架中都会有相关假设。因此,可认为识别在变换域进行,满足上述的第一个重要特征。另一方面,加密算法通过改变r,同一个明文在相同的密钥下可加密为不同的密文;而相同的密文可能对应多个不同的明文。假设特征序列长度为f,特征矢量为d维,则特征数为fd。在密钥安全保存的前提下,每一个特征密文对应λi个可能的明文,敌手通过蛮力攻击破解所有明文的破解概率为对于随机分布的大量特征元素,且元素值均经过了非负数的转化,其破解概率是可忽略的。因此方法也满足不可逆性的第二个特征,这也说明该方法满足声纹模板保护的多样性和可撤销性。

图1 基于同态加密的声纹认证系统

进一步观察密文数据,明文经过加密后均变为非负整数,因此密文没有泄漏明文的小数和正负信息,且从第2章实例也可看出密文并未泄漏明文的大小关系。另一方面,当加密算法中p1、p2相等时,本文方法与文献[5]方法一样无法抵抗已知明文攻击;当p1、p2不等时,假设敌手获得相应的明文密文对m1、c1,如果m1为负数,根据定理1,有c1mod p2=p1+m,敌手无法根据同余性质[12]破解p1、p2。因此,本文方法可抵抗已知明文攻击。不过一旦敌手获得密钥,就可以破解系统。事实上,加密算法的安全性都是基于密钥的安全性,无条件的安全算法是不存在的。在实际应用中,可以通过安全措施尽量避免最坏情况的发生,如同一用户在不同的系统中选择不同的密钥,而一旦模板被盗,及时更换密钥产生新的模板来达到有效保护声纹模板的目的。

4.2 计算复杂度分析

本文方法相对于传统的声纹认证系统,计算复杂度的增加主要在于原始码本和认证声纹特征的加密以及加法结果的解密。设注册、认证声纹特征序列长度分别为Q和S,MFCC的阶数为D,码本大小为M。根据第3章的分析,整数和非负整数的转化复杂度均为O(D(S+M)),加密的复杂度为O(3D(S+M)),解密的计算复杂度为O(2DSM),因此,总的计算复杂度为O(5D(S+M)+2DSM)。文献[4]采用随机映射所增加的计算复杂度为O(2D2(Q+S))。一般来讲,声纹特征序列长度远大于码本大小,因此本文方法的计算复杂度会比文献[4]方法低。而文献[5]方法没有进行整数及非负整数的转化,其增加的计算复杂度主要是加密的复杂度O(3D(S+M)),解密的计算复杂度为O(DSM)。虽然本文方法的计算复杂度略高,但其克服了密文泄漏明文的大小关系、小数和正负数信息等问题,增强了安全性,所以其稍高的计算复杂度也是可以接受的。

5 实验结果与分析

本文旨在研究所提声纹模板保护方法的有效性,并非研究声纹识别算法本身,但不同的声纹识别方法适用的加密方法不同。本文主要研究VQ声纹认证系统的模板保护,而VQ算法主要用于小语料库的识别。实验采用863汉语普通话连续语音识别训练库[4],数据库中每人有1 560条语音,选取80个说话人作为注册用户集,其中男女各40人。为了消除文本内容对识别性能的影响,选取的原则是每个说话人的测试语句不同于训练语句,其他说话人的语句与之也不同。每个人各选取1 000条不同本文内容的语音进行实验,其中1条为训练样本,1条作为测试样本。每条语音用Cooledit Pro 2.0去静音后时长为4~10 s不等。语料库声音数据文件采用高质量16 kHz采样,16位数据,单声道WAV格式存储。特征采用典型的24阶MFCC特征,对语音进行分帧处理,帧长32ms,帧移16ms。

文中采用等错误率(Equal Error Ratio,EER)作为评价认证性能的指标,其反映了系统的整体准确率和用户的接受度等重要性能[16]。分别针对VQ的典型码本大小一般为32、64、96、128进行实验。同时,为了验证实数转化为整数过程中,由于b的取值而引入的误差对识别结果可能造成影响,分别对b取值为1、2、3进行实验。实验中,素数通过查询素数表的方法获取。表1给出了不同码本大小下,加密前后的认证性能。从表1可以看出,系统的认证性能随码本容量的增加而增强,当码本容量为128时,EER可达9.65%;相同码本大小下,b取值为2和3时系统的认证性能与未加密是一致的,也就是整数化引入的误差对识别结果没有影响,而当b取值为1时的EER相对未加密的EER有所增大,但总体上性能不是下降太多(在0.6%以内)。实际应用中,如果对认证性能的精度要求较高,则可以将b值取大,从而保持与未加密的认证性能一致。

表1 不同码本大小下加密前后VQ算法的认证性能(%)

6 结束语

针对声纹特征和VQ算法的特点,提出一种基于同态加密的声纹模板保护方法。理论分析和实验结果表明,本文方法在保护特征数据的同时仍可保持与传统认证系统相同的身份认证性能。现实中HMM(Hidden M arkov model)和GMM(Gaussian M ixture model)也有比较多的应用,但在分量加密的层面上,可论证HMM、GMM和VQ是一样的,从保护特征的角度也是一样的,基于这点考虑本文方法也同样适用于HMM和GMM。事实上,没有完美的生物特征模板保护技术可以满足所有生物特征以及应用场合的要求,不同的声纹识别方法所采用的加密方法肯定是不同的。因此,寻求应用于其他声纹识别算法的加密方案并降低算法的计算复杂度,将是下一步研究的重点。

[1]Lee H G,Beng Jin Teoh A,Jung H G,et al.A secure biometric discretization scheme for face template protection[J].Future Generation Computer Systems,2012,28(1):218-231.

[2]Isobe Y,Ohki T,Komatsu N.Security performance evaluation for biometric temp late protection techniques[J].International Journal of Biometrics,2013,5(1):53-72.

[3]Argones R E,Maiorana E,A lba Castro J L,et al.Biometric template protection using universal background models:an application to online signature[J].IEEE Transactions on Information Forensics and Security,2012,7(1):269-282.

[4]徐文华,贺前华,李韬,等.基于MRP的可撤销模板设计及其分析[J].电子学报,2009,37(12):2792-2795.

[5]Zhu H H,He Q H,Tang H,et al.Voice print-biometric template design and authentication based on cloud computing security[C]//Proceedings of the International Conference on Cloud and Service Computing,Hong Kong,China,2011:302-308.

[6]Nagar A,Nandakumar K,Jain A K.A hybrid biometric cryptosystem for securing fingerprint minutiae templates[J].Pattern Recognition Letters,2010,31(8):733-741.

[7]Yongjin W,Konstantinos N P.An analysis of random projection for changeable and privacy preserving biometric verification[J].IEEE Transactions on Systems,Man,and Cybernetics:Part B Cybernetics,2010,40(5):1280-1293.

[8]Jin Z,Jin Teoh A B,Ong T S,et al.Fingerprint template protection with minutiae-based bit-string for security and privacy preserving[J].Expert Systems with Applications,2012,39(6):6157-6167.

[9]王伟,邓辉文.基于MFCC参数和VQ的说话人识别系统[J].仪器仪表学报,2006,27(6):2252-2255.

[10]Rivest R L,Adleman L,Dertouzos M L.On data banks and privacy homomorphism s[J].Foundations of Secure Computation,1978,32(4):169-178.

[11]Gentry C,Halevi S.Im plementing gentry’s fully-homomorphic encryption scheme[M]//Proceedings of Advances in Cryptology(EUROCRYPT 2011).Berlin Heidelberg:Springer,2011:129-148.

[12]陈良.基于同态加密的移动代码安全技术研究[D].广州:华南理工大学,2009.

[13]Yan Y J,Hu H Y.Research and realization of security electronic voting plan based on homomorphic commitment verifiable secret sharing[J].Applied Mechanics and Materials,2013,263:1673-1676.

[14]陈嘉勇,王超,张卫明,等.安全的密文域图像隐写术[J].电子与信息学报,2012,34(7):1721-1726.

[15]Sander T,Tschudin C F.Towards mobile cryptography[C]//Proceedings of IEEE Symposium on Security and Privacy,Oakland,USA,1998:215-224.

[16]Rathgeb C,Uhl A,Wild P.Experiments on iris biometric template protection[M]//Iris Biometrics.New York:Springer,2013:245-265.

猜你喜欢
声纹同态明文
关于半模同态的分解*
拉回和推出的若干注记
屏幕即指纹识别
奇怪的处罚
一种基于LWE的同态加密方案
HES:一种更小公钥的同态加密算法
奇怪的处罚
四部委明文反对垃圾焚烧低价竞争
基于数字水印的人脸与声纹融合识别算法
声纹