一种人类声纹生物密钥生成方法
【专利摘要】本发明提出了一种声纹生物密钥生成方法。本发明将声纹特征序列向高维空间中投影,在高维空间中将特征序列稳定到可接受的波动范围内,再对稳定后的特征序列编码,从编码中提取生物密钥。整个方法在待认证用户端、认证服务器端均无需记录用户声纹模板,用户通过采集自身的语音在本地生成(用户名、密钥)对,通过(用户名、密钥)对衍生的各种认证方法进行网络身份认证。声纹生物密钥不仅可以用于网络身份认证,更可以用于加密各种用户私有数据,安全方便。用户无需记忆冗长的密码,同时又能获得足够长度的密钥序列。本发明提取正常人类声纹生物密钥的密钥长度可大于256bit。
【专利说明】一种人类声纹生物密钥生成方法
【技术领域】
[0001]本发明属于信息安全【技术领域】,具体涉及一种从人类声纹中经由高维空间转换直接提取稳定生物密钥的方法,其能够为网络身份认证提供一种新的认证方法和思路。
【背景技术】
[0002]声纹识别技术是现今比较成熟的生物特征识别技术,在低噪音环境中声纹识别准确率可达到95%以上。基于声纹的网络身份认证技术,其基本方法为:1)采集用户语音信号,经语音信号处理提取用户声纹特征,生成声纹特征模板,存储在远端网络认证服务器中;2)当某用户需要进行身份认证时,再次采集用户语音信号,提取用户声纹特征;3)将用户声纹特征与认证服务器中的相应用户声纹特征模板进行比对,一致则认证通过,不一致则认证失败。
[0003]这一经典的网络身份认证模型需要在认证服务器端存储用户语音,或者用户声纹特征模板。采集用户语音存储在认证服务器中,不方便并且会消耗比较大的服务器资源。月艮务器需要开辟语音通道接收用户的语音流,这增加了整套认证系统的复杂性。也阻碍了声纹认证在网络认证服务中的运用。
[0004]曾经有科研工作者尝试过直接从声纹中提取生物密钥。如中国发明专利ZL201110003202.8基于声纹的文档加密及解密方法,提出了一个从声纹信息中提取稳定密钥序列的方案。但是该方案仅用棋盘法稳定声纹特征值,稳定效果有限。并且棋盘法事实是通过缩小编码空间来稳定特征值,如1024的值空间映射为16的值空间,这使得密钥序列的长度缩短,降低了安全性。
【发明内容】
[0005]本发明提出了一种声纹生物密钥生成方法。方法将声纹特征序列向高维空间中投影,在高维空间中将特征序列稳定到可接受的波动范围内,再对稳定后的特征序列编码,从编码中提取生物密钥。整个方法在待认证用户端、认证服务器端均无需记录用户声纹模板,用户通过采集自身的语音在本地生成(用户名、密钥)对,通过(用户名、密钥)对衍生的各种认证方法进行网络身份认证。声纹生物密钥不仅可以用于网络身份认证,更可以用于加密各种用户私有数据,安全方便。用户无需记忆冗长的密码,同时又能获得足够长度的密钥序列。本发明提取正常人类声纹生物密钥的密钥长度可大于256bit。
[0006]声纹生物密钥提取分两部分,第一部分为声纹生物密钥训练部分,第二部分为声纹生物密钥提取部分。
[0007]声纹生物密钥训练部分具体步骤为:
[0008]第一步,用户录取自身语音,10秒以上。
[0009]第二步,从录取语音中提取MFCC系数(Mel频率倒谱系数);用MFCC系数训练用户GMM高斯混合模型,取混合数为8?32阶,阶数可由用户根据经验选定,记为N。
[0010]第三步,混合数为N的高斯混合模型由N个高维高斯分布组成,取每一个高斯分布的均值向量,组成NX 20维的矩阵,20为MFCC系数个数。高斯混合模型对应每一个高维高斯分布有一个权值,组合在一起为I XN维的权值向量,记为λ,在用户端存储λ。
[0011]第四步,将ΝΧ20维矩阵扩展为2个矩阵,LXL维的随机误差方阵EX,LXL维的标准值方阵EY,L>N and L>20。
[0012]第五步,求解EX的广义逆矩阵,记为IEX,将IEX左乘矩阵EY得到高维空间投影矩阵ΡΕΧ=ΙΕΧΧΕΥ,在用户端存储投影矩阵ΡΕΧ。
[0013]第六步,选取标准值方阵EY的前NXD个分量组成矩阵T,1〈D〈20。对T的每一个分量进行一次棋盘法运算、正整数转化,得结果矩阵Tl。
[0014]第七步,设定一个η阶的多项式函数,形如
[0015]f (X) =a0+a1*x+a2>l<x2+a3*x3+.* * +an*xn,
[0016]η为阶数,a0~an e正整数,其值域范围为O~224,即每个系数有24bit ;将矩阵Tl的每一个分量代入f (X),计算后得结果矩阵T2,T2为正整数矩阵。在用户端存储T2及η值。
[0017]声纹生物密钥训练完成。
[0018]声纹生物密钥提取部分具体步骤为:
[0019]第一步,用户录取自身语音,3秒左右。
[0020]第二步,从录取语音中提取MFCC系数(Mel频率倒谱系数);依据声纹生物密钥训练时存储的λ,训练用户GMM高斯混合模型,取混合数阶数与声纹生物密钥训练时一致,记为N。
[0021]第三步,取每一个高斯分布的均值向量,组成ΝΧ20维的矩阵。
[0022]第四步,将ΝΧ20维矩阵扩展为NXL维矩阵,记为EC,扩展方法与声纹生物密钥训练阶段扩展方法保持一致。
[0023]第五步,将EC左乘ΡΕΧ,得NX L维矩阵,取矩阵前NXD个分量组成矩阵;对矩阵的每一个分量进行一次棋盘法运算及正整数转化,方法与声纹生物密钥训练时一致,得矩阵ED。
[0024]第六步,从矩阵ED中选取η+2个分量值,排序;从存储的Τ2矩阵中选取η+2个分
量值,排序。
[0025]将两组排序结果依次配对,组成(ζ,f (Z))的形式,z为ED中选取的值,f (Z)为T2中选取的值。
[0026]将η+2 个(z, f(z))对,代入函数 f (z) =a0+a1^z+a2^z2+ao^z3+'"' +an*zn,生成 η+2 个线性方程,其中,a0~8?为n+1个未知数,a0~an e正整数。
[0027]如方程组有唯一解,则解得的(?,?,?,?, <_,an)组成的数字序列即为提取的声纹生物密钥;如方程组没有唯一解,则从矩阵ED、T2中重新选取η+2个分量,组成(z,f (z))对,再次尝试解方程组;遍历ED、T2的所有η+2个分量的排列组合,解得声纹生物密钥。密钥序列长度为24X(n+l)bit。
[0028]本发明的有 益效果:本发明提出了一种声纹生物密钥生成方法。可以改变传统的网络生物特征身份认证模式,认证服务器无需存储用户的任何语音信息,只对用户提供的密钥进行认证,而密钥是由用户声纹信息唯一生成的。该方法可以使网络身份认证更灵活,也可以帮助用户免去记忆冗长密钥的记忆负担。【专利附图】
【附图说明】
[0029]图1为Mel频率倒谱系数计算流程图。
[0030]图2为GMM闻斯混合I旲型不意图。
[0031]图3为矩阵前NXD个分量选取示意图。
[0032]图4为声纹生物密钥提取流程图。
【具体实施方式】
[0033]下面结合附图对本发明作进一步说明。
[0034]虽然在低噪音环境中声纹识别准确率可达到95%以上,但是直接从声纹中提取生物密钥依然存在诸多困难。声纹生物特征是依概率进行识别的,从语音信号中提取的声纹特征存在很大的波动性。如果不作处理,直接比较两组声纹特征数字序列,99%的概率没有一个数字是相同的。现有的稳定声纹特征数字序列的方法主要是棋盘法,但其稳定效果有限,提取声纹生物密钥的成功率偏低。本发明提出了在高维空间中稳定声纹特征数字序列的技术,并进一步提出了对稳定后的声纹特征数字序列容错提取的技术。两者结合,可使声纹生物密钥提取成功率达到80%以上。
[0035]本发明分二部分,声纹生物密钥训练部分与声纹生物密钥提取部分。
[0036]声纹生物密钥训练部分的具体实施步骤为:
[0037]第一步,用户录取自身语音,10秒以上。
[0038]第二步,从录取语音中提取MFCC系数(Mel频率倒谱系数),如图1所示。具体方法为:
[0039]I)预增强(Pre-Emphasis)
[0040]以Sl(n) (η:0..Ν-1)表示语音时域信号,预增强公式为:
[0041]S (n) =Sl (η) - a*Sl (η_1) (0.9〈a〈l.0)
[0042]2)音框化(Framing)
[0043]音框化即对语音信号分中贞。
[0044]3)汉明窗(Hamming Windowing)处理
[0045]假设音框化后的信号为S(η), n=0,1,..., N-10那么乘上汉明窗后为:
【权利要求】
1.一种人类声纹生物密钥生成方法,其特征在于该方法包括以下步骤:声纹生物密钥训练部分和声纹生物密钥提取部分; 声纹生物密钥训练部分具体步骤为: 第一步,用户录取自身语音,10秒以上; 第二步,从录取语音中提取MFCC系数;用MFCC系数训练用户GMM高斯混合模型,取混合数为8~32阶,阶数可由用户根据经验选定,记为N ; 第三步,混合数为N的高斯混合模型由N个高维高斯分布组成,取每一个高斯分布的均值向量,组成NX 20维的矩阵,20为MFCC系数个数;高斯混合模型对应每一个高维高斯分布有一个权值,组合在一起为I XN维的权值向量,记为λ,在用户端存储λ ; 第四步,将ΝΧ20维矩阵扩展为2个矩阵,LXL维的随机误差方阵EX,LXL维的标准值方阵EY, L>N且L>20 ; 第五步,求解EX的广义逆矩阵,记为IEX,将IEX左乘矩阵EY得到高维空间投影矩阵PEX=IEXX EY,在用户端存储投影矩阵PEX ; 第六步,选取标准值方阵EY的前NXD个分量组成矩阵T,1〈D〈20 ;对T的每一个分量进行一次棋盘法运算、正整数转化,得结果矩阵Tl ; 第七步,设定一个η阶的多项式函数,形如:
f (X) =a0+a1*x+a2>l<x2+a3*x3+.* * +an*xn, 其中η为阶数,Btl~a? e正`整数,其值域范围为O~224,即每个系数有24bit ;将矩阵Tl的每一个分量代入f (X),计算后得结果矩阵T2,T2为正整数矩阵;在用户端存储T2及η值;声纹生物密钥训练完成; 声纹生物密钥提取部分具体步骤为: 第一步,用户录取自身语音,3秒左右; 第二步,从录取语音中提取MFCC系数;依据声纹生物密钥训练时存储的λ,训练用户GMM高斯混合模型,取混合数阶数与声纹生物密钥训练时一致,记为N ; 第三步,取每一个高斯分布的均值向量,组成NX20维的矩阵; 第四步,将NX 20维矩阵扩展为NX L维矩阵,记为EC,扩展方法与声纹生物密钥训练阶段扩展方法保持一致; 第五步,将EC左乘ΡΕΧ,得NX L维矩阵,取矩阵前NXD个分量组成矩阵;对矩阵的每一个分量进行一次棋盘法运算及正整数转化,方法与声纹生物密钥训练时一致,得矩阵ED ; 第六步,从矩阵ED中选取η+2个分量值,排序;从存储的Τ2矩阵中选取η+2个分量值,排序; 将两组排序结果依次配对,组成(Z,f (Z))的形式,Z为ED中选取的值,f (Z)为T2中选取的值; 将 η+2 个(z, f(z))对,代入函数 f (z)+an*zn,生成 η+2 个线性方程,其中,a0~8?为n+1个未知数,a0~an e正整数; 如方程组有唯一解,则解得的(?,?,?,?, ; ; ;,an)组成的数字序列即为提取的声纹生物密钥;如方程组没有唯一解,则从矩阵ED、T2中重新选取η+2个分量,组成(z,f (z))对,再次尝试解方程组;遍历ED、T2的所有η+2个分量的排列组合,解得声纹生物密钥;密钥序列长度为24X(n+l)bit。
【文档编号】H04L9/32GK103873254SQ201410074511
【公开日】2014年6月18日 申请日期:2014年3月3日 优先权日:2014年3月3日
【发明者】吴震东 申请人:杭州电子科技大学