论文部分内容阅读
计算机网络是一个开放的系统,也正由于其开放性导致计算机网络中存在相当多的安全漏洞和安全威胁,网络中的各类资源很容易被人非法访问和复制。因此对网络资源访问者的合法身份进行认证就显得非常重要,身份认证技术已经成为网络系统安全中最重要的技术之一。身份认证是一种证实用户所声称的身份是否真实的技术,结合密码学技术,许多专家和学者提出了有关身份认证的有效方案。1981年,Lamport提出了一种基于密码表的用户认证方案。此方案可以抵抗重传攻击,然而,当存储在主机的口令一旦遭到攻击者的攻击,方案将无任何安全可言,同时该方案的计算量非常大,实用性不强。为改进远程认证的效率并增强其安全性,避免对密码表的所有可能的攻击,许多基于智能卡的认证方案被提出。智能卡可以作为一种更有效的用以认证身份的个人持有物。由于智能卡具有数据处理能力,它可进行较复杂的操作,能实现系统与持卡人之间的相互认证,所以用智能卡作为用户身份标识时,采用合适的认证协议,可以使系统的安全性大大提高,它在认证系统中起到非常重要的作用。安全可靠的身份认证方案是认证系统的核心。本文首先对智能卡的基础知识、身份认证技术及其密码学基础进行了相关的介绍,然后对一系列基于智能卡的认证方案进行分析,尤其是Manik Lal Das的双线性对身份认证方案,针对其存在时钟同步问题,易遭受伪造攻击等安全隐患,在“智能卡”方案基础上,采用双线性对和"nonce"概念,提出了双私钥双随机数认证方案DDAS。该方案在很好地解决时钟同步问题的同时,还能有效地防止伪造攻击,更加安全高效地完成交互认证。本文采用B/S模式对DDAS进行了模拟实现。该认证系统使用Java语言编程实现,它采用目前流行的Struts框架作为web应用框架,Tomcat作为web应用服务器,客户端采用JSP表现形式,数据库使用了mysql。系统设计简练,认证灵活,实现了高强度的认证保护,在文章的最后部分,对认证模型进行了总结,并对需要改进和扩展的地方进行了说明。