【Android论文栏目提醒】:网学会员为广大网友收集整理了,基于Android令牌的动态密码认证系统的研究与实现 - 硕士论文,希望对大家有所帮助!
k1■●,■ 看rI分类号——UDC 学校代码 量Q塑2 劣滗理歹大穿 学 位 论 文 题 目 叁主墅垂兰Q迪全监丝边查蜜塑丛堡垒丝丝盟窒鱼塞丑 英文The Research and Implementation of the Dynamic Password 题 目!e选!塾曼卫!i曼垒!iQ望§Y墨!曼婴垫垦墨曼鱼Q旦笪边亟!Qi亟!鱼k曼塾 研究生姓名 圭£剑 教授 指导教师姓名——J型墨星———一职称 申请学位级别 塑±
论文提交Et期 至Q12生量旦
论文答辩日期 2Q羔2生§旦 学位授予单位盍銎垄三盘堂学位授予日期 答辩委员会主席 型 垒 评阅人 刘 泉 刘可文 2012年5月 I l l l llll ll l l ll l I I!} Y2099967 独创性声明 本人声明,所呈交的
论文是本人在导师指导下进行的研究工作及取得的研究成果。
尽我所知,除了文中特别加以标注和致谢的地方外,
论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得武汉理工大学或其他教育机构的学位或证书而使用过的材料。
与我一同工作的同志对本研究所做的任何贡献均已在
论文中作了明确的说明并表示了谢意。
2,o,2.I.声寥 学位
论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位
论文的规定,即学校有权保留并向国家有关部门或机构送交
论文的复印件和电子版,允许
论文被查阅和借阅。
本人授权武汉理工大学可以将本学位
论文的全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保存或汇编本学位
论文。
同时授权经武汉理工大学认可的国家有关机构或
论文数据库使用或收录本学位
论文,并向社会公众提供信息服务。
(保密的
论文在解密后应遵守此规定)研究生(签名):匆,参1 导师(签名 期:如I】.j.2》 摘 要 随着信息技术的不断发展,人们的日常生产活动已经离不开计算机网络,由于计算机网络的开放性,各类安全威胁随之而来,对于存储在系统中的重要信息一旦泄露,会给用户造成重大损失。
身份认证作为网络安全的基础和核心,对建立完善的安全机制意义重大,是当前网络安全的研究重点。
口令认证是最常用的一种身份认证方式,基于静态密码的口令认证以其简单易用的特点成为大部分信息系统的首选,然而静态密码由于自身的安全缺陷,受到攻击的概率很高,已完全不能满足安全要求较高的系统。
动态密码认证技术可以有效的解决其缺陷,然而现有的动态密码认证系统由于口令牌缺少通信模块,导致其内置数据无法进行更新,失步问题难以有效解决,用户的自主操作权也受到了限制,扩展性比较差。
随着移动互联网的到来,以Android为代表的智能移动终端极大的提升了数据传输速率,使得上述问题可以得到很好的解决。
基于此,本文研究和实现了一种基于Android令牌的动态密码认证系统,并将其应用于企业信息系统员工薪资查询认证。
根据系统设计要求,结合对动态密码认证技术原理的研究和对其特点、安全性的分析,本文选择基于时间同步的动态密码认证机制为方案原型进行了相关设计。
文中使用基于HMAC.SHA-1的消息摘要算法为动态密码生成算法核心,使用RSA非对称加密算法进行密钥的分配管理,使用基于NTP协议的误差调整机制实现客户端和服务器端的时间同步,由于软件令牌可以与认证服务器进行实时通信,使得上述工作都可以从口令牌发起,用户的自主操作权得到了提升。
利用Android智能移动终端的特点,本文在认证协议中加入了地理信息验证机制,在密码生成算法中加入硬件特征码IMEI做为输入参数之一,并实现客户端PIN码双因素认证。
软件令牌数据交互采用H田即协议和XML技术,客户端对XML数据的解析采用比SAX方式更快的PULL方式。
针对令牌通信安全弱点,本文采用改进的S/Key方案进行了信道优化。
认证服务器端方面本文采用企业级应用开发框架J2EE进行实现,并选择WebService技术开发对外认证接口,以实现动态密码认证系统的独立性。
经过功能、性能和安全性方面的相关测试与分析,表明系统可以稳定可靠的工作,基本满足本文认证系统的设计要求和员工薪资查询的认证需求。
关键词:Android,动态密码,时间同步,S/Key,J2EE Abstract With the continuous development of iT,people’S daily production activities havebeen inseparable from the computer network,due to the openness of the computernetwork,vadous types of security threats have appeared,when the importantinformation stored in the system iS revealed,the user will have a great loss.As thefoundation and core of network secufity’ identity authentication is of greatsignificance to establish a perfect secudty mechanism,and is the current researchfocus.Password authentication is the most common form of identity authentication,丽th its simple and easy-to-use features,password authentication based on staticpasswords has become the first choice for the most information systems.However,due to its own security flaws,the probability of attack to static password is high,thiscan not meet the hi.gh safety requirements of system.The dynamic passwordauthentication technology can effectively solve the shortcomings,however,due tothe lack of communication module for the token in the existing dynamic passwordauthentication system,its intemal data can not be updated,the loss ofsynchronization problem is difficult to solve effectively,the user’S right to operate thetoken autonomously is also limited,the expansion is rather pOOLWith the advent of mobile interact,as the representative of smart mobile terminals,Android greatly improved data transmission rates,can be a good solution to theproblem. Based on this,this article studies and realizes a kind of dynamic passwordauthentication system based on the Android token and using it in employee salaryquery authentication of enterprise information system.According to the systemdesign requirements,combined with the research on the principle of dynamicpassword authentication and the analysis on its characteristics and safety,this articlechoose dynamic password authentication mechanism based on time-synchronous forthe program prototype to design.In the article,using message digest algorithm as thecore in the dynamic password generation algorithm based on the HMAC—SHA-1,using the RSA asymmetric encryption algorithm for key distribution management,using error adjustment mechanism to achieve time synchronization between client IIand server based on NTP protocol,because of the software token Call real-timecommunicate with the authentication server,SO that the work can be initiated from thetoken,the user’S right to autonomous operation has improved.Based on the featuresof Android smart mobile terminals,this article add geographic informationauthentication mechanism in the program,add the hardware feature code IMEInumber as the one of the parameters in the password generation algorithm,and reafizethe PⅣtwo-factor authentication in client.ne software token data exchange usingthe HTTP protocol and XML technology,the XML data analysis using PULL waywhat is faster than Pull way in the client.For the vulnerability of communication onthe software token,this article use the improved S/KeY program to optimize inchannel.For the authentication server,the article using enterprise·class applicationdevelopment framework J2EE to realize,and choose WebService technology todevelop authentication interface,in order to achieve the independence of theauthentication system.ne relevant test and analysis on features,performance andsafety aspects show that the system Can work steadily and reliably,and meet thedesign requirements for authentication system and employee salary queryauthentication requirements in the article basically.Key words:Android,Dynamic password,Time synchronization,S/Key,J2EE ⅡI 目 录第1章绪论…………………………………………………………………………1 1.1选题背景和意义……………………………………………………………1 1.2国内外研究和发展现状……………………………………………………4 1.3本文研究内容和章节安排…………………………………………………6第2章动态密码认证系统总体设计………………………………………………8 2.1动态密码认证技术研究…………………………………………………….8 2.1.1动态密码认证技术基本原理…………………………………………8 2.1.2动态密码认证技术分析…………………………………………….8 2.2动态密码认证系统模型改进……………………………………………….9 2.3动态密码认证机制的选择……………………………………………….10 2.3.1 基于时间同步的认证机制…………………………………………10 2.3.2基于事件同步的认证机制………………………………………….11 2.3.3基于挑战厂应答的认证机制………………………………………。
12 2.3.4本文采用的认证机制………………………………………………12 2.4动态密码认证口令牌的选择…………………………………………….13 2.4.1动态密码的实现方式………………………………………………13 2.4.2基于Android终端的实现方式……………………………………14 2.5动态密码认证系统总体框架设计……………………………………….14 2.6本章小结………………………………………………………………….15第3章Android认证口令牌设计…………………………………………………16 3.1 Android平台技术研究……………………………………………………。
16 3.2认证口令牌功能框架设计……………………………………………….17 3.3关键技术解决方案………………………………………………………..18 3.3.1动态密码生成算法设计……………………………………………18 3.3.2密钥安全管理设计…………………………………………………19 3.3.3 时间同步方案设计…………………………………………………20 3.4认证协议设计…………………………………………………………….22 3.4.1注册阶段……………………………………………………………22 3.4.2令牌登录下载阶段………………………………………………….23 3.4.3 口令获取认证阶段…………………………………………………24 3.5令牌数据交互设计………………………………………………………。
26 3.5.1令牌配置文件设计与解析技术……………………………………26 3.5.2令牌数据交互机制设计……………………………………………27 3.6令牌通信安全机制设计………………………………………………….28 3.6.1基于S/Key的优化方案……………………………………………28 3.6.2方案分析……………………………………………………………30 3.6.3方案改进……………………………………………………………31 3.7本章小结…………………………………………………………………..33第4章认证服务器实现……………………………………………………………34 4.1认证服务器功能框架设计………………………………………………。
34 4.2开发环境搭建………………………………………………………………35 4.3 J2EE系统开发框架………………………………………………………35 4.4认证服务功能实现………………………………………………………。
37 4.4.1域账户认证实现……………………………………………………37 4.4.2短信密码认证实现…………………………………………………38 4.4.3地址认证实现………………………………………………………41 4.5数据库实现………………………………………………………………。
42 4.5.1数据库表设计………………………………………………………42 4.5.2数据库操作………………………………………………………….45 4.6认证接口实现…………………………………………………………….47 4.6.1认证接口实现机制选择……………………………………………47 4.6.2认证接口开发………………………………………………………47 4.6.3认证接口安全信道设计……………………………………………49 4.7加密算法实现………………………………………………………………50 4.8本章小结………………………………………………………………….51第5章系统测试与分析………………………………………………………….52 5.1系统功能测试与分析……………………………………………………。
52 5.2系统性能测试与分析…………………………………………………….55 5.3系统安全性测试与分析………………………………………………….56 5.4本章小结……………………………………………………………………57第6章总结与展望………………………………………………………………。
58 6.1工作总结………………………………………………………………… 6.2进一步展望……………………………………………………………..jl受谢………………………………………………………………………………………………………参考文献…………………………………………………………………………… 武汉理工大学硕士学位
论文 第1章绪论1.1选题背景和意义 21世纪,信息技术快速发展,各种网络应用层出不穷,给人们的生活带来了极大的便利,每天都有众多用户登录许多不同类型的信息系统,如社交网站,邮箱,购物网站等。
人们普遍习惯于在不同的系统设置相同的注册信息,包括相同的用户名和密码,这在带来方便记忆的同时也增加了信息泄漏的风险,由于不同的系统安全机制强度不同,一旦用户在某个系统的注册信息被盗取,则其他系统的安全也将面临着风险。
2011年下半年就发生了震惊社会的CSDN600万用户密码泄漏事件,引发用户对自身隐私外泄的担忧,也足以说明信息安全的意识还没有真正深入人心。
信息安全问题在一定程度上制约着网络应用的发展,因此利用网络安全技术来保证应用系统的安全性成为信息时代的一个重要课题。
网络安全技术一般包括身份认证,授权控制,数据机密性,数据完整性,数据抗否认性和审计等多种机制【¨,如图1-1。
1.身份认证 用户在访问系统资源时,需通过身份认证系统对其身份合法性的确认,才能够访问被保护的信息【21。
2.访问控制 限制用户对系统相关模块进行存取操作,其依赖于正确的用户身份验证,对机密性,完整性,抗否认性提供支持。
3.数据机密性 机密性是防止网络传输数据遭到被动攻击,让攻击者无法获取消息的源、宿、长度等特征。
4.数据完整性 完整性是防止遭到主动攻击,应用于消息流或其选定部分的检测。
5.数据抗否认性 抗否认性是防止发送方或接受方否认发送或接受过某条消息,消息发送出去后,接收方能证明消息确实是由发送方发出的。
武汉理工大学硕士学位
论文 6.审计 安全审计系统用于记录用户的重要操作行为,为未知安全事故留下重要据。
臼一8 授权数据库 安全管理员 // 、 西二商 控制服务器 资源 : 上 回一 审计员 图1-1安全系统结构图 可见身份认证是安全系统的第一道屏障,是信息安全的基础,一旦身份认证系统被攻破,其他的安全措施也将失去作用【31。
身份认证的实现机制通常有以下三种: 1.基于用户所具有的生物特征,如指纹、语音等进行认证; 2.基于用户所知道的秘密知识,如密码,密钥等进行认证; 3.基于用户所拥有的物品,如身份证、智能卡等进行认证。
基于生物特征的认证方式具有普遍性、唯一性和永久性等特征,但认证信息常以明文形式在网络上传输,易遭截获,受外界因素的影响,在进行特征提取或匹配时也常产生失误【41。
基于秘密知识是最常用且最易于实现的一种身份认证方式,如我们常用的Windows系统和网络社区的登录都是采用静态密码技术,即系统为每个合法用户建立包含用户名,密码的~个组合,如图1.2,当用户登录系统时,通过核对其输入的用户名和密码与系统保存的组合信息是否匹配进行用户身份的确认。
但这种基于静态密码的认证方式在安全性方面存在很多问题【5J,如: 1.网络数据流窃听 2 武汉理工大学硕士学位
论文 在上述的静态密码验证示意图中,我们看到密码需要经过网络传输,尤其是很多系统将未加密的密码直接在网络上传输,攻击者很容易通过相关软件对在网络上传输的数据进行窃听,以鉴别出用户的用户名和密码。
2.窥探、社交工程 攻击者利用与系统接近的机会,通过监视器等方式窥探用户输入密码的过程,或冒充合法用户取得管理人员的信任获得用户口令。
3.认证信息截取/重放 攻击者发送一个服务器已经接受过的数据包,欺骗认证系统,从而获得对系统的登录权。
4.字典攻击、穷举尝试 正如前文所说,很多用户习惯使用对于自己有某些意义的单词如生日、电话号码等作为密码,攻击者会使用包含大多数单词的字典或字符串全集来尝试比对用户的密码。
因此很多系统都建议用户在设定的密码是加入特殊字符,并对密码位数进行最短长度限制,以增强密码的安全性。
5.垃圾搜索 攻击者通过搜索用户的废弃物,如写在纸上的密码等,从中得到与系统有关的密码信息。
图1.2静态密码验证示意图 这些攻击手段对信息的安全保护带来了很大的隐患,因此,我们需要采用~套更安全的身份认证方式。
为了解决静态密码在安全性方面的不足,一次性口令OTP(One.Time Password)即动态密码认证技术应运而生,它一般采用基于物品的认证方式在口令的产生中加入不确定因子,使得用户每次登录时的密码都不相同,从而提高系统的安全性。
3 武汉理工大学硕士学位
论文1.2国内外研究和发展现状 美国是最早研究动态密码的国家,垄断了该领域的诸多专利技术。
上世纪80年代初,Leslie Lamport首次提出了利用哈希函数产生动态密码的思想,用户在进行身份认证时,网络上传输的密码都是密文形式,并且每次认证这些密码都是不同的,即能够成功登录的密文密码是一次有效的【副。
90年代初,被Bellcorc改进为基于DES加密算法的S/KEY密码序列身份认证方案,之后更换为安全性更高的MD4和MD5算法l丌。
而S瓜.EY方式缺点在于加密计算量比较大,针对此点,动态密码认证又发展了基于时间同步和挑战/应答两种形式,其借鉴了Lamport方式的优秀设计思想,采用不同形式的变动因子,并改进了计算量大的缺点。
此外,基于散列或异或运算的低复杂度双向认证方案也成为了一个重要方向,21世纪初,Sandirigama M提出了SAS方梨踟,因其不能抵抗重放和拒绝服务攻击,Kamioka T提出了修正版SAS〔91,Yuan Ding提出了改进方案SDPA〔101,为了减少方案的计算量,Tsuji T等改进修正版SAS为SAS.2111J。
动态密码在美国最初主要应用于军事,情报等安全级别很高的部门,随着信息技术的发展,人们的安全意识逐渐提高,动态密码开始进入商用领域。
如RSASecurity Inc.、Novell的Activcard Inc.、IBM和Enigma等公司都开发了基于动态密码的身份认证系统和商用产品,占据了全球大部分的市场分额。
由于信息安全意识的薄弱,我国在动态密码认证技术方面的研究起步比较晚,上世纪90年代末,中科院DCS中心成功研制出具有自主知识产权的动态密码认证系统。
随着我国信息技术的蓬勃发展,越来越多的研究机构和公司加入到动态密码认证技术的研发中,一些优秀的信息安全公司如上海宁盾科技,四川安盟公司脱颖而出,占据着行业的领导地位【lM31。
动态密码在我国最初主要应用于一些外企的内部管理中。
进入21世纪,随着我国互联网行业突飞猛进的发展,各种网络应用层出不穷,特别是网上交易与网上银行的用户呈现爆炸式的增长,人们的隐私信息越来越多的出现在互联网中,随之而来的安全问题也日.