资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
基于数字证书的UKEY安全登录与身份认证技术研究 摘 要 本文在研究身份认证技术、uKey技术及Windows系统登录原理基础上,提出了基于数字证书的uKey身份认证与安全登录方案,设计了自定义登录模块,从而实现了使用uKey进行主机安全登录的功能。 关键词 uKey;安全登录;身份认证 1 引言 用户在访问安全系统之前,首先经过身份认证系统识别身份,然后访问监控模块,系统根据用户身份和授权情况决定用户是否能够访问某个资源。因此系统安全登录与身份认证是安全系统中的第一道关卡,也是实施访问控制的基础,在系统安全领域具有十分重要的作用。本文提出了基于数字证书的uKey安全登录与身份认证方案,采用将第三方开发的uKey与用户身份信息相结合的认证方式,保证每个用户在登录时具有证明其身份的唯一标志,从而使系统通过这个惟一标志验证用户身份合法性。2 身份认证技术 身份认证是网络安全技术的一个重要方面。用户在访问安全系统之前,首先经过身份认证系统识别身份,然后访问监控模块,系统根据用户身份和授权情况决定用户是否能够访问某个资源,常用的口令认证方式有以下几种: 1)基于口令的认证方式 基于口令的认证方式是目前在互联网和计算机领域中最简单、最容易实现的一种身份认证技术,也是目前应用最广泛的认证方法。例如:操作系统及诸如邮件系统等一些应用系统的登录和权限管理都基于口令1,当用户登录计算机网络时,需要输入口令。计算机系统将其认证机制建立在用户名和口令的基础上,如果用户将用户名和口令告诉其它人,则计算机也将给予那个人以访问权限2。 2)基于智能卡的认证方式 智能卡(Smart Card)是法国人Roland Moreno于1970年发明的3。法国BULL公司首创智能卡产品,并将这项技术应用到金融、交通、医疗、身份认证等多个方面。基于智能卡的身份认证属于通过物理设备进行身份认证的机制,该机制结合电子技术和现代密码学知识,大大提高了基于物理设备机制的安全性。每个用户持有一张智能卡,智能卡存储用户秘密信息,同时在验证服务器中也存放该秘密信息。进行认证时,用户输入PIN码(个人身份认证码),服务器认证PIN码,成功后即可读出智能卡中的秘密信息,进而利用该秘密信息与主机之间进行认证。基于智能卡的认证方式是一种双因素认证方式(PIN+智能卡),即使PIN码或智能卡单独被窃取,合法用户的身份仍不会被冒充(即不能获得访问权)。 3)基于生物特征的认证方式 生物特征识别是一种根据人体自身所固有的生理特征和行为特征来识别身份的技术,即通过计算机与光学、声学、生物传感器和生物统计学原理等高科技手段的密切结合,利用人体固有生理特征(如手形、指纹、面部特征、虹膜、视网膜等)和行为特征(如笔迹、声音、步态等)来进行个人身份鉴定4。 生物特征认证技术的主要应用有辨识和验证两种。辨识(Identification)指的是确定用户身份,通常是在生物特征模版库中进行一对多匹配(One-to-Many Matching)或基于知识判别;验证(Verification)指的是验证用户是否为他所声明的身份,通常是用单模板进行一对一匹配5(One-to-One)。 4) 基于数字证书的认证方式 数字证书(Digital Certificate)是标志一个用户身份的一系列特征数据,其作用类似于现实生活中的身份证6。国际电信联盟的X.509建议定义了一种提供认证服务的框架。采用基于X.509证书的认证技术依赖于共同信赖的第三方来实现认证,所不同的是其采用非对称密码体制,实现上更加简单明了。这里的第三方是指称为CA(Certificate Authority)的认证机构,该认证机构负责认证用户身份并向用户签发数字证书。数字证书遵循X.509标准所规定的格式,因此称为X.509证书。持有此证书的用户就可以凭此证书访问那些信任的CA服务器,通过CA服务器实现用户身份的验证。3 基于数字证书的uKey安全登录与身份认证 Windows 2000操作系统以及微软后续的操作系统,如Windows XP都内置了对智能卡用户认证的支持,计算机用户可以选择使用传统的用户名、口令验证方式进行域内用户身份验证,也可使用智能卡来自动完成用户身份验证。3.1 uKey技术 uKey又名智能电子密码钥匙,既完全继承了已有智能卡技术的安全性,又结合了新型USB接口的数据传输能力。 1)uKey简介 uKey是集智能卡与读卡器于一体的USB设备,支持热插热拔和即插即用,体积小、重量轻、便于携带7。uKey本身作为密钥存储器,自身硬件结构决定了用户只能通过厂商编程接口访问数据,这就保证了保存在uKey中的数字证书无法被复制,并且每一个uKey都带有PIN码保护,这样uKey的硬件与PIN码就构成了使用uKey进行身份认证的双因子。如果用户uKey丢失,获得者由于不知道该硬件的PIN码,就无法冒充合法用户身份;如果用户PIN码泄露,只要保存好uKey硬件就可以保证自己的身份不被冒充。 安全性是众多应用(特别是网络应用)的基础,而实现安全性的手段一般都是通过加密算法来达到,因为加密算法可以更好地实现数据保密性、数据完整性、身份可鉴别性以及交易不可抵赖性。加密算法安全性主要取决于密钥的秘密性,而不必对算法保密。智能卡作为一种有效的安全保障设备,是保存密钥信息的最可靠手段。传统智能卡的封装形式需要额外的读卡器设备,因为设备体积较大且不便于携带,所以使用很不方便,另外读卡器设备也增加了整体的成本8。如表1所示:uKey系列产品在完全继承智能卡优点的同时很好地解决了传统封装形式的诸多不足。表1 uKey与传统智能卡的比较比较项目 uKey 读卡器+PK卡 成本 远低于读片器+PK卡的成本之和。 虽然PK卡成本较低,但读卡器成本通常很高。 移动办公 体积小、重量轻,方便随身携带,非常适用于移动办公。 读卡器体积大,也比较重,不便随身携带。 通讯速率 连接电脑主机的USB 口,通讯速率为12M bps,是高速设备。 通讯速率一般在9600bps115200bps之间。 多用户 USB设备,共享方式,支持多用户访问。USB级联设备,通过级联方式,一台电脑可以接多个uKey。 对于串口读写器,串口资源是独占的且主机串口数量有限,如果串口已经被其它设备占用,将不能使用读卡器。USB接口读写器可支持多用户。 操作方便性 直接插在电脑主机的USB口或延长线接口上,操作极为简单。热插拔设备,可以随时插/拔uKey而不必担心损坏。 对于串口读写器,电脑主机串口不支持热插拔,经常插拔、操作不当时容易烧坏主机串口。USB读写器操作方便性同uKey。 2) uKey特点 (1)高安全性。uKey通过了国家安全管理权威部门国密办的技术鉴定和认可,支持国密办认证的分组算法SSF33,也是国内唯一能同时支持ECC、RSA密码算法的同类产品。使用基于硬件RSA算法的uKey比单纯软件实现RSA的应用更加安全可靠。敏感数据都被保存在uKey的安全存储区域中,未授权用户将无法接触到这些信息。uKey的安全性还在于uKey所使用的加密算法都是被广泛公开、业界公认并经受了多年考验的算法。 (2)灵活易用。使用uKey无需任何附加外部设备。用户只需简单地将uKey插入任何带有USB接口的设备就可以使用uKey,使用完毕后直接拔下uKey就可以了。 (3)造价低廉。uKey比任何传统基于硬件的安全系统都节省开支。由于使用uKey无需任何附加设备,因此很适合大范围发行。uKey能够实现智能卡提供的所有功能,但是不需要智能卡读卡器。 (4)携带方便。uKey体积小,重量轻,精美时尚,可以随身携带。 (5)无缝集成。uKey提供符合业界广泛认可的PKCS#11和Microsoft CryptoAPI两种标准接口。任何兼容这两种接口的应用程序,都可以立即集成uKey进行使用。uKey内置大容量智能卡安全芯片,可以同时存储多个数字证书和用户私钥及其它数据。也就是说,多个PKI应用程序可以共用同一个uKey。 (6)高可靠性。uKey使用严格工艺制造,可长期安全的保存用户数据。3.2 Windows登录原理 Windows 2000的登录方式分为两种:一种是交互式登录(Interactive Logon),另一种是远程登录9 (Remote Logon)。交互式登录是最典型的登录方式,并且由大部分访问域的用户所使用。当用户第一次登录到某台计算机时将发生交互式登录,该过程使用登录用户的用户名和密码来确切验证用户真实身份。 Windows操作系统的身份认证机制可以用Windows登录模块体系图来说明。如图1所示,Winlogon进程是Windows 2000及以上版本提供的一个支持交互式操作的组件,用于负责管理与承担登录相关的安全工作,包括处理用户的登录与注销、启动用户SHELL、输入密码、更改密码、锁定与解锁计算机等。GINA(Graphical Identification and Authentication)是一个图形动态链接库,在Winlogon进程中运行,用于提供可定制的登录界面并对用户进行身份验证。LSA(Local Security Authority,本地安全认证)是在用户模式下运行Winnt System32Lsass.exe映像的进程,负责本地系统安全策略。图1 Windows登录模块体系结构图 在Windows登录过程中,如果用户在Windows系统启动后按下“Ctrl+Alt+Del”组合键,则会引起硬件中断,该中断信息被系统捕获后,操作系统立即激活Winlogon进程。Winlogon进程通过调用GINA.DLL将登录窗口(账户名和口令登录提示符)展示在用户面前。GINA.DLL在收集好用户登录信息后,就调用LSA的LsaLogonUser命令,将用户登录信息传递给LSA。实际上认证部分的功能是通过LSA来实现的,这三部分相互协作实现了Windows的登录认证功能。 缺省状态下,Windows系统提供微软公司自己实现的GINA.DLLmsgina.dll供Winlogon进程调用。用户登录前后计算机的状态有3个,分别是LOGGED_OFF(未登录)、LOGGED_ON(已登录)、LOCKED(锁定)。3.3 msgina.dll的状态流程 msgina.dll的状态流程如图2所示,图中部分英文是调用的函数名称。图2 msgina.dll状态流程图 (1)系统启动后,首先调用WlxNegotiate函数确认该DLL是否支持当前版本的Winlogon.exe,接着调用函数WlxInitialize进行相关函数初始化。完成初始化工作后,Winlogon进程调用函数WlxDisplaySASNotice显示欢迎用户登录界面,该函数还会检测是否有自定义的SAS(Secure Attention Sequence,安全提示码序列)出现。如果出现则通知Winlogon进程有登录请求发出。SAS在Windows 2000下缺省为“Ctrl+Alt+Del”,用户也可以定义自己的SAS。 (2)当发现有SAS事件发生时,Winlogon进程调用WlxLoggedOutSAS函数,并向下调用WlxDialogBoxParam显示用户登录对话框,然后调用LSA进行验证,如果验证通过,Winlogon进程调用函数WlxActivateUserShell启动用户外壳程序。 (3)当系统处于登录成功且
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号