在这个移动互联网大行其道的年代,人们不用互相见面就能够完成不少事情,好比社交、购物、网上开店、金融交易等等,可是如何验证身份变成了人和人在不见面的状况下最难的事情。传统的解决方案就是密码或者秘钥,它须要你记住或者存起来,容易忘又容易丢,还容易被黑客利用各类手段攻击。有多少人使用“123456“这种简单密码在网络上行走,他们就是黑客们最喜欢的目标;你家的路由器是否是还在用”admin”这种默认密码,这就是物联网领域中安全最薄弱的环节。不过,好在咱们每一个人身上都长满了“活密码”,指纹、脸、声音、眼睛等等,都是人和人之间相互区分的独一无二的标识,咱们称之为“生物特征”。声音就是这种一种能够反映人身份的生物特征,参考“指纹”的命名方式,咱们能够叫它“声纹”。算法
各类生物特征比较后端
声纹是指人类语音中携带言语信息的声波频谱,它同指纹同样,具有独特的生物学特征,具备身份识别的做用,不只具备特定性,并且具备相对的稳定性。声音信号是一维连续信号,将它进行离散化后,就能够获得咱们如今常见的计算机能够处理的声音信号。安全
计算机能够处理的离散声音信号网络
声纹识别(也称说话人识别)技术也如同如今在智能手机上应用十分普遍的指纹识别技术同样,从说话人发出的语音信号中提取语音特征,并据此对说话人进行身份验证的生物识别技术。每一个人都具备独一无二的声纹,这是由咱们的发声器官在成长过程当中逐渐造成的特征。不管别人对咱们的说话模仿的多么类似,声纹其实都是具备显著区别的。框架
现实生活中的“未见其人,先闻其声”就是人类经过声音去识别另外一我的身份的真实描述,你妈甚至经过你电话里的一个“喂”字就知道是你,而不是隔壁老王家的儿子打的电话,这是咱们人类通过长期进化所得到到的超常的能力。虽然目前计算机还作不到经过一个字就判断出人的身份,可是利用大量的训练语音数据,能够学出一个“智商”还不错的“声纹”大脑,它在你说出8-10个字的状况下能够判断出是否是你在说话,或者在你说1分钟以上的话后,就能够准确地判断出你是不是给定的1000人中的一员。这里面其实包含了大部分生物识别系统都适用的重要概念:1:1 和 1:N,同时也包含了只有在声纹识别技术中存在的独特的概念:内容相关和内容无关。机器学习
对于一个生物识别系统而言,若是它的工做模式是须要你提供本身的身份(帐号)以及生物特征,而后跟以前保存好的你本人的生物特征进行比对,确认二者是否一致(即你是否是你),那么它是一个1:1的识别系统(也能够叫说话人确认,Speaker Verification);若是它只须要你提供生物特征,而后从后台多条生物特征记录中搜寻出哪一个是你(即你是谁),或者哪一个都不是你,那么它是一个1:N的识别系统(也能够叫辨认,Speaker Identification),见图1。技术上,简单的声纹识别的系统工做流程图来见图2。性能
图1 说话人确认和说话人辨认学习
图2 声纹识别工做流程图测试
对于声纹识别系统而言,若是从用户所说语音内容的角度出发,则能够分为内容相关和内容无关两大类技术。顾名思义,“内容相关”就是指系统假定用户只说系统提示内容或者小范围内容许的内容,而“内容无关”则并不限定用户所说内容。前者只须要识别系统可以在较小的范围内处理不一样用户之间的声音特性的差别就能够,因为内容大体相似,只须要考虑声音自己的差别,难度相对较小;然后者因为不限定内容,识别系统不只须要考虑用户声音之间的特定差别,还须要处理内容不一样而引发的语音差别,难度较大。设计
目前有一种介于二者之间的技术,能够称之为“有限内容相关”,系统会随机搭配一些数字或符号,用户需正确念出对应的内容才可识别声纹,这种随机性的引入使得文本相关识别中每一次采集到的声纹都有内容时序上的差别,这种特性正好与互联网上普遍存在的短随机数字串(如数字验证码)相契合,能够用来校验身份,或者和其余人脸等生物特征结合起来组成多因子认证手段。
具体到声纹识别算法的技术细节,在特征层面,经典的梅尔倒谱系数MFCC,感知线性预测系数PLP、深度特征Deep Feature、以及能量规整谱系数PNCC 等,均可以做为优秀的声学特征用于模型学习的输入,但使用最多的仍是MFCC特征,也能够将多种特征在特征层面或者模型层面进行组合使用。在机器学习模型层面,目前仍是N.Dehak在2009年提出的iVector框架一统天下,虽然在深度学习大红大紫的今天,声纹领域也不免被影响,在传统的UBM-iVector框架下衍化出了DNN-iVector,也仅仅是使用DNN(或者BN)提取特征代替MFCC或者做为MFCC的补充,后端学习框架依然是iVector。
图3示出了一个完整的声纹识别系统的训练和测试流程,能够看到在其中iVector模型的训练以及随后的信道补偿模型训练是最重要的环节。在特征阶段,可使用BottleNeck特征取代或者补充MFCC特征,输入到iVector框架中训练模型,如图4所示。
图3 声纹识别算法的完整训练和识别框架
图4 使用BottleNeck特征训练iVector模型
在系统层面,不一样的特征及模型,能够从不一样的维度刻画说话人的声音特征,加上有效的分数规整,将各子系统融合能有效的提升系统的总体性能。
在这次的阿里聚安全攻防挑战赛,参赛选手即可以真实的感觉这一过程。
由阿里巴巴集团安所有主办的“阿里聚安全攻防挑战赛”即日起在天池平台开始报名。据了解此类比赛已成功举办过两届,并逐渐成为安全行业经典赛事品牌,主要是让参赛选手真实的挑战阿里巴巴移动安全和业务安全的防护。
本届挑战赛的最大亮点之一就是声纹身份验证攻防。参赛者能够尝试用声音攻击一套声纹验证系统,经过设计攻击用的音频骗过声纹验证系统,让系统验证成功。