《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 采用特征与用户名分离方法保护声纹特征
采用特征与用户名分离方法保护声纹特征
来源:微型机与应用2012年第1期
徐文华,陈国华,黄国权
(广东药学院 医药信息工程学院,广东 广州 510006)
摘要: 基于用户名与其特征分离的思路提出一种声纹保护方法。首先对用户名称与随机数做哈希变换,然后采用分别传输和异地存储的方式达到特征与用户名分离的目的,最后在模式匹配和签名验证两种方式下实现认证。对于该方法,即使敌手获得用户密钥,也不能冒充真实用户,从而达到特征保护的目的。
Abstract:
Key words :

摘  要: 基于用户名与其特征分离的思路提出一种声纹保护方法。首先对用户名称与随机数做哈希变换,然后采用分别传输和异地存储的方式达到特征与用户名分离的目的,最后在模式匹配和签名验证两种方式下实现认证。对于该方法,即使敌手获得用户密钥,也不能冒充真实用户,从而达到特征保护的目的。
关键词: 声纹认证;声纹保护;哈希变换;存储和传输安全

 生物特征的稳定性、唯一性及与实体间的固有联系性为身份认证提供了更安全、更便捷的途径,同时,也带来日益严峻的存储和传输安全问题[1]。生物特征保护问题在国外已有不少的研究成果,在国内最近也有相关的报道,主要有特征转换[2]、生物特征加密[3]及结合成熟密码方案三类方法[4-5]。
本文提出一种新的生物特征保护方法。其思想是通过哈希变换和分别传输以及异地存储,使得敌手无法获得用户名与特征的关联性,从而达到保护特征的目的。参考文献[4-5]与该方法在形式上很相似,但两者存在本质的不同:前者是基于传统密码技术保护生物特征,其安全基础是敌手无法获得密钥;而本文所提方法的安全基础是敌手无法获知特征与用户名的对应关系。这种差异性的形成原因在于前者直接把生物特征视为需要保密的数据进行加密,而本文所提方法是在分析系统四构成要素间信任关系和签名功能分配的基础上[5],通过对用户名与随机数的单向转换,在特征和用户名的传输和存储过程中采取分别传输和异地存储的方式达到特征与用户名分离的目的,从而实现“即使敌手获得用户密钥,也不能冒充真实用户”。  

 (2)用户Ui产生其用户名IDi,并经过哈希转换后提交给模板库,签名过程中的签名消息为用户名的哈希值。传感器端提取该用户特征,并传送至模板库(模板库虽然保存的是用户的原始特征,但由于哈希函数的单向性,模板库并不知道该特征对应的用户名)。传感器端根据用户名哈希值做的签名一并存储在模板库中。用户产生签名消息的过程为:首先产生用户名的哈希值,用户
 (3)服务提供端S设置门限值值λ。
1.1.2 认证过程
 传感器端C首先提取特征m′,并提取该用户模板库中的特征验证H(m′,m)=λ。如果是,则拒绝服务;否则,用户提交用户名称Ui给服务提供端,服务提供端先对该用户名做哈希变换,然后根据该哈希值向模板库提取其签名进行验证。验证签名时先验证e是否为257 bit的奇数,并根据用户ID号向模板库DB提取该用户的注册特征验证ye=hH(ui)?茌emod n。如果验证通过,则认证成功,否则认证失败。
该方案具有以下特点:
 (1)特征和用户名分别传输。在注册过程中,用户向模板库传输的虽然是原始特征,但用户名称经过哈希变换,这种条件下不诚实的模板库无法获得模板与特征的对应关系。在认证过程中,虽然用户名是以明文发送至服务提供端,但在用户与服务提供端之间并没有特征的传输,因此,敌手获得的仅仅是用户名,而无法获得特征与用户名的对应关系。这种情形会导致敌手可能存在的一个攻击是通过一段时间的攻击,敌手有可能获得全部或部分用户的用户名或特征。但这种攻击对于上述方案无法达到有效攻击,因为认证过程的最后一步仍然需要签名的验证,而签名过程使用了用户自己产生的随机数,这就意味着敌手无法伪造用户的签名,因此,这种攻击无法奏效。
 (2)特征和用户名分别存储。用户认证过程中H(m′,m)>λ是由传感器端完成,这个过程用户与传感器之间不存在信道传输。因此,用户可以根据用户名称的哈希值从模板库中提取注册特征进行距离的判断。
 (3)单向函数。模板库存放了用户的原始特征,但由于哈希函数的单向性,模板库并不能知道这些特征所对应的用户。因此,对于不诚实的模板库,不能获得用户与特征的对应关系。哈希函数安全性是本方案安全性的基础。自20世纪90年代中期以来,有不少密码分析学家对MD系列和SHA系列的函数提出了各种攻击算法,尤其是2004年,我国学者王小云教授[6]找出MD5的一个碰撞。这些攻击算法对所有以哈希函数安全性为基础的安全方案(比如签名方案、认证协议、MAC码等)提出挑战,但并不意味着目前的方案都已经不安全。因为从理论上讲,所有的密码体制都可以破解,关键是运算时间的问题。而目前对哈希函数的碰撞是指找出了比理论值更低的碰撞算法,在实际当中,MD5仍然是可靠的。
1.2 存储和传输安全性分析
 本文从两个角度考虑安全的含义:第一个是敌手或第三方不能获得原始声纹特征,这是比较直观的理解;第二个是敌手或第三方不能获得特征与用户名之间的关联性。
根据四个要素间(传感器端、用户端、服务提供端、模板库)的信任关系,用户信任传感器端和服务提供端,因此把认证的功能分配至这两个要素。对于不被用户信任的模板库和信道,通过在不同信道(用户与服务提供端、用户、传感器和模板库)传送用户名和特征的方法使得敌手无法获得两者的关联性。并且,用户名称是经过哈希变换的形式,在存储了原始特征的模板库中无论是敌手还是不诚实的模板库都无法获得两者的关联性。极端情况下,假设敌手获得用户的密钥,在传统密码体制下,上述签名是可冒充的,但本文所提方案中的签名验证是H(m′,m)≤λ的条件下进行的。而对于敌手,由于无法满足该条件(敌手无法获得用户名与特征的关联性),因此,也就无法进入签名验证过程。综上所述,由于敌手无法获得用户与特征的关联关系,因此,上述方案是安全的,即“即使敌手获得用户密钥,也不能冒充真实用户”。该方案的安全性是比较直观的,下面分析该方案的有效性。
1.3 有效性分析
 在解决模板保护的基本问题下,方案的最终要求是能够“有效地认证”,有效性的定义是加入特征保护措施后,系统的识别率不会明显低于加入前的,也就是不会恶化识别性能。本文所提方法在认证过程中首先采用判据H(m′,m)>λ,然后才是签名方案能否通过验证。因此,系统的最终识别率等于认证过程第一步H(m′,m)>λ的识别率和系统对签名验证通过率的乘积。
 第一部分的概率分析为根据“同一个发音人在不同的时刻发同一个字具有足够相似性”和“敌手不可能足够相似地模仿发音人的发音”的基本假设。H(m′,m)>λ的识别率等于原有系统的识别率,假设为1-P(H(m′,m)>λ)。
 第二部分为签名方案的通过率。在认证过程中,认证服务器根据用户提交的用户ID,向数据库提取该用户名哈希值所对应的用户名。这一过程验证公式ye=hH(ui)?茌emod n中的H(Ui)与签名公式中的一致。在认证过程中,用户使用的随机数e与签名过程产生的一致。这两点实质上保证了真实用户的验证算法通过率为100%。因此,上述方案的最终识别率仍然等于1-P(H(m′,m)>λ),也就是没有恶化识别性能。
注意到上述过程中的一个现象是H(m′,m)>λ的判断是个概率计算过程,真实用户的验证通过率为100%。这是否说明“不管是否签名验证,肯定是要通过认证的”,同时意味着签名验证过程是多余的呢?其实不然,上述100%通过验证是在真实用户利用其真实参数去验证的结果,如果是非法用户,则不能通过验证。
2 实验与分析
    有效性的分析包括服务提供端S验证H(m′,m)>λ和签名验证。签名验证是数学运算,其通过率为100%。而H(m′,m)>λ的计算仍然属于模式匹配,存在某个识别率,并且这个概率与是否采用签名算法是不相关的。即这个概率与加入签名前的识别率是相等的,这从逻辑关系上说明了方案的有效性。

 


 由于上述认证过程既包括签名验证,也包含模式匹配,使得耗时增加,因此实验部分需要验证系统验证H(m′,m)>λ和签名所需要的时间是否符合现实要求,通常在几秒内完成认证为可接受的。实验所用计算机为奔腾2.4 GHz双核CPU,1 GB内存,Window XP操作系统,软件平台为Matlab7.0。语音样本取自在CADCC (Chinese Annotated Dialogue and Conversation Corpus)、RASC863(863 Annotated 4 Regional Accent Speech Corpus)以及CMSC(Continous Mandarin Speech Corpus)3个语音数据库,共选用100个样本。其中50个为训练样本,另外50个为测试样本;每个样本的长度都为5 s~6 s。数据存储格式都为16 kS/s采样,16 bit,单声道,WAV格式存储。梅尔倒谱系数MFCC(Mel-Frequency Cepstrum Coefficients)特征阶数为16阶,每一帧的长度为30 ms,帧移为10 ms。实验采用时间动态规整DTW (Dynamic Time Warping) 算法。素数采用randprime()函数产生,该函数可以随机产生1到某给定大数之间的素数。采用rsatest()函数生成密钥和签名。
 如上所述,在逻辑关系上本文所提方案加入数字签名前后的识别率是相等的,满足了有效性要求。实验所验证的是方案所需时间,整个认证所需要的时间包括采用DTW算法判断特征之间距离的时间和签名算法的验证时间。特征间距离判断采用50个训练样本与50个测试样本两两比较,以最小距离为认证结果的方式计算认证的总时间。实验结果为距离判断的总时间为166 s。50个签名验证所用时间为152 s。因此,整个系统完成50次认证所需要的时间为(166+152) s,即318 s。平均到每次认证所需要的时间为6.36 s。这就说明在上述实验环境下的认证速度可以满足用户的需求,一般情况下,实际当中的认证服务器配置比实验所用机器的高。因此,本文所提方案在时间上也是满足现实要求。
 本文通过用户名与特征不关联的方法解决了声纹认证系统中的特征传输和存储安全问题。由于敌手无法获得用户与特征的对应关系,因而该方法是安全的。逻辑分析和实验验证了方法的有效性,该方法在理论上提供了一种解决特征保护问题的新思路,在现实中也能与现有认证系统融合。
参考文献
[1] JAIN A K, NANDAKUMAR K, NAGAR A. Biometric template security[J]. EURASIP Jounmal on Advances in Signal Processing, Special Issucial on Biometrics. 2008, 2008(1):1-20.
[2] 徐文华,贺前华,李韬.基于MRP的可撤销模板设计及其分析[J].电子学报,2009,37(12):2792-2795.
[3] ULUDAG U, PANKANTI S, JAIN A K. Fingerprint template protection using fuzzy vault[C]. ICCAS 2007, Portsmouth, UK:. Springer, LNCS 4707, Part III, 2007: 1141-1151.
[4] XU W H, HE Q H, LI Y X, et al. Cancelable voiceprint templates based on knowledge signatures[C]. ISECS 2008, Guangzhou, China: IEEE, 2008: 412-415.
[5] BRINGER J, CHABANNE H, POINTCHEVAL D, et al. Extended private information retrieval and its application in biometrics authentication[C]. LNCS, 2007,175-193.
[6] 王小云,冯登国,于秀源.HAVAL-128的碰撞攻击[J].中国科学(E辑),2005,35(4):405-416.

此内容为AET网站原创,未经授权禁止转载。