摘要:
随着信息技术的不断发展,电子商务、网上业务日益繁荣,人们的日常生活越来越离不开计算机网络,由于网络的开放性,各种安全威胁随之而来。身份认证作为保护网络信息资源的第一扇门,在网络安全中的地位极其重要。静态密码身份认证由于其易猜测、易穷举等安全缺陷,容易受到攻击,不能满足安全要求较高的系统,因此逐步被动态密码所取代。随着3G时代的到来,以Android为代表的智能移动终端越来越普及,很多厂家发布了基于Android的动态口令牌来取代类似key宝的传统口令牌。Android口令牌由于能够通过wifi、GPRS等技术与服务器进行通信,在数据同步与交互上具有很大优势。然而,当动态密码被偷窥或者口令牌遗失,用户的权益将受到威胁。本文在动态密码的基础上加入声纹识别,可以有效的解决该问题。并且,用户在认证的时候,只需要读出口令牌上显示的动态口令即可,简化了用户的操作,提高了用户体验。 根据系统的需求,本系统认证服务器端接收到用户含有动态密码的语音后,首先对语音进行声纹识别,判断是否为合法用户,然后通过通过语音识别,从语音中提取密码文本,进行动态密码认证,双重认证通过之后,才能访问系统被保护资源。在声纹识别方面,本文利用符合入耳听觉特性的MFCC参数进行特征提取,GMM模型进行模式识别,从而实现说话人确认。在语音识别方面,本文利用CMU大学的Sphinx开源框架,训练了Bigram、Trigram语言模型和CHMM声学模型,实现了连续中文数字串的非特定人语音识别功能。在动态密码方面,本文使用基于HmacSHA1的消息算法作为动态密码生成的核心算法,分别使用RSA非对称加密算法、DES对称加密算法进行密钥的更新、存储,通过动态的调整令牌端与服务器的时间偏移因子实现时间同步。基于Android智能终端的特点,本文将令牌与手机硬件特征码IMEI、SIM卡的国际移动用户识别码IMSI绑定,实现设备与用户的绑定,提高令牌的安全性。通过对系统和性能方面的相关测试和分析,表明系统基本满足本文认证系统的设计要求。
展开