论文部分内容阅读
随着信息技术的不断发展,人们的日常生产活动已经离不开计算机网络,由于计算机网络的开放性,各类安全威胁随之而来,对于存储在系统中的重要信息一旦泄露,会给用户造成重大损失。身份认证作为网络安全的基础和核心,对建立完善的安全机制意义重大,是当前网络安全的研究重点。口令认证是最常用的一种身份认证方式,基于静态密码的口令认证以其简单易用的特点成为大部分信息系统的首选,然而静态密码由于自身的安全缺陷,受到攻击的概率很高,已完全不能满足安全要求较高的系统。动态密码认证技术可以有效的解决其缺陷,然而现有的动态密码认证系统由于口令牌缺少通信模块,导致其内置数据无法进行更新,失步问题难以有效解决,用户的自主操作权也受到了限制,扩展性比较差。随着移动互联网的到来,以Android为代表的智能移动终端极大的提升了数据传输速率,使得上述问题可以得到很好的解决。基于此,本文研究和实现了一种基于Android令牌的动态密码认证系统,并将其应用于企业信息系统员工薪资查询认证。根据系统设计要求,结合对动态密码认证技术原理的研究和对其特点、安全性的分析,本文选择基于时间同步的动态密码认证机制为方案原型进行了相关设计。文中使用基于HMAC-SHA-1的消息摘要算法为动态密码生成算法核心,使用RSA非对称加密算法进行密钥的分配管理,使用基于NTP协议的误差调整机制实现客户端和服务器端的时间同步,由于软件令牌可以与认证服务器进行实时通信,使得上述工作都可以从口令牌发起,用户的自主操作权得到了提升。利用Android智能移动终端的特点,本文在认证协议中加入了地理信息验证机制,在密码生成算法中加入硬件特征码IMEI做为输入参数之一,并实现客户端PIN码双因素认证。软件令牌数据交互采用HTTP协议和XML技术,客户端对XML数据的解析采用比SAX方式更快的PULL方式。针对令牌通信安全弱点,本文采用改进的S/Key方案进行了信道优化。认证服务器端方面本文采用企业级应用开发框架J2EE进行实现,并选择WebService技术开发对外认证接口,以实现动态密码认证系统的独立性。经过功能、性能和安全性方面的相关测试与分析,表明系统可以稳定可靠的工作,基本满足本文认证系统的设计要求和员工薪资查询的认证需求。