论文部分内容阅读
在分布式通讯网络日益普及和发展的今天,任何两台相距遥远的计算机都可利用公众网络共享各种资源。但是这种数据的传输与交流给人们带来极大方便的同时,也提出一个问题:如何进行远程的身份认证,即如何向远方的计算机证明自己的合法性。毋庸质疑,远程口令认证系统是目前防止非法进入计算机网络最有效,也是最常被采用的做法。同普通的口令系统相比,远程口令认证系统的认证信息是在公众网络中传播的,很容易被截获,因此数据采用密文传送,而且同时保证密文的安全性:即使认证信息被截获,非法入侵者也很难利用该信息冒充合法用户。 智能卡也称CPU卡,同普通的IC卡相比,它具有自己的CPU,存储器,读写系统和卡内操作系统COS。智能卡的核心是芯片操作系统,它相当于一台微型计算机,不仅具有数据存储功能,同时又具有数据安全保护、复杂密码运算等功能。因此智能卡是防窜绕的并具有潜在的密码处理能力的器件,它在远程口令认证系统中起到非常重要的作用。 安全可靠的身份认证方案是认证系统的核心。本文首先对智能卡的基础知识、身份认证技术及其密码学基础进行了相关的介绍,然后对一系列基于智能卡的远程口令认证方案进行分析,尤其是著名的Hwang-Li认证方案,针对其存在的Chan-Cheng攻击,Shen-Lin-Hwang攻击等安全隐患,结合PKI中基础的RSA公钥密码体制和USB Key冲击/响应模式的认证流程,提出了一个基于冲击/响应模式的智能卡认证方案。该方案参考Hwang-Li认证方案和USB Key冲击/响应认证方案的思想和步骤,使用内部实现了RSA加解密的智能卡,消除了Hwang-Li认证方案中用户ID_i和PW_i之间的函数关系,能够积极有效的防范拒绝服务攻击以及由此引起的Chan-Cheng攻击和Shen-Lin-Hwang攻击等网络攻击。它引入了系统时间戳的随机数函数R(T)来代替系统时间戳,更有效的消除了通讯线路上的重放攻击。另外,它还可以让远程用户自由的选择自己的口令。 采用C/S模式和B/S模式,本文分别对基于智能卡的远程口令认证系统进行了模拟实现。C/S模式认证系统使用Delphi 7.0编程实现,它主要采用微软的CryptoAPI函数实现智能卡的加解密功能,主体包括远程客户端,认证服务器端和数据库表三个模块。对通过认证的远程合法用户,认证服务器端可以提供安