使用智能卡实现集成Windows身份验证的实践 - 中国一卡通网
用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

使用智能卡实现集成Windows身份验证的实践

来源:中国一卡通网  作者:程超  发布时间:2007-06-18 22:00:54  字体:[ ]

关键字:智能卡  Windows  身份验证  

摘   要:本文简速了在微软技术体系中身份验证技术的研究与应用。根据微软操作系统中身份验证技术的特点,将智能卡的高安全性和普遍应用的Windows身份集成验证技术结合起来,实现高强度的身份验证和通讯安全,为此类应用的信息安全保障提供了全新的解决方案。

1 引言

随着信息安全需求和技术的飞速发展,有效、便捷、安全的身份验证已成为众多应用系统的必须,身份验证是指验证实体身份(是用户、计算机还是程序)的过程。该过程确定实体是它所声称的身份,从而可以正确应用数据安全的保密性、完整性和可用性三个原则。目前在企业的应用中,结合AD(Active Directory)目录服务的集成Windows身份验证正在成为流行的身份验证方式。它提供了包括单一机密和二元身份验证以及二者相结合的访问控制和身份验证的方法。

2 身份验证概述
传统方式下,用户只需要提供网络用户名和与其相关联的登录密码就可以通过身份验证来访问网络资源。然而,网络用户名经常会在名片、杂志文章等公开的信息中出现,或者很容易被猜到,甚至在输入的时候被别人看到,因此网络密码成为保护公司网络仅存的安全机制。

单一机密(如密码)可以作为有效的安全控制手段。由随机字母、数字和特殊字符组成的1O个字符以上的长密码很难破解。遗憾的是,用户并不总是能够记住此类密码,部分原因是人类固有的局限性。George A.Miller于1956年在The Psychological Review上发表的研究报告指出:人脑的短期记忆能力有限,只能记忆5至9个随机字符,平均为7个字符。但是。大多数安全指导建议的密码至少为八字符随机密码。由于大多数用户无法记住八字符随机密码,许多用户选择将密码记在纸上或者设置一些容易记忆的密码,比如“ p~sword”等,这在给自己带来方便的同时,也为攻击者打开了方便之门。

二元身份验证要求用户提交某种形式的唯一令牌(比如硬件令牌或智能卡)及个人标识号(PIN),明显优于简单的用户名和密码组合。目前,使用智能卡及关联PIN是越来越流行、可靠、经济实惠的二元身份验证形式。它主要有如下优势:

a、提高了攻击者破解难度,加强了对敏感数据的保护。由于智能卡使用难以伪造的数字证书作为登录凭证,因此黑客必须窃取智能卡并获取PIN才能登录网络。
b、降低抵赖的可能性。由于智能卡能够识别已登录用户的真实身份,因此降低了个人拒绝承担其行为责任的能力,同时也提高了监控日志的可信度。

3 集成Windows身份验证
使用智能卡实现集成Windows身份验证正是二元身份验证的典型模式,此模式的实现主要包括:安装根证书、配置集成Windows身份验证、安装服务器证书及配置SSL、启用目录服务映射器、数字证书和账号的映射等几个关键点。

3 1 安装第三方认证中心(CA)根证
如果您的域中有Windows证书机构,那么您没有必要安装CA根证,因为与客户在相同域中的Windows证书机构的根证是自动安装的。另外如果你的域中正使用企业CA,也可以跳过这一部分,因为本来企业根证书在系统中是被信任的。但是如果您选择使用一个没有预先安装的商业CA,就必须安装CA根证书来进行相应信任关系的处理,只有根证被信任,用户的数字证书才有可能验证通过。

对于第三方CA的根证我们可以通过Windows2003控制台中的证书管理单元添加到“受信任的根证书颁发机构”中,对于已经添加好的根证会被罗列出来,用户在安装之前最好先仔细检查自己选择的CA机构根证是否已经存在。

3.2 启动集成Windows身份验证
集成Windows身份验证(以前称为NTLM身份验证和Windows NT质询/响应身份验证)可以使用NTLM或Kerbetas身份验证,NTLM是Microsoft的一项专有技术,自问世以来已几经更新,虽然这种机制稳定可靠但它有一个致命缺点是不能进行委派,这就意味着用户凭据不能流动到远程服务(如SQL Server)。而Kerberos却不存在这种问题,在保持稳定安全的验证机制的同时还可以在Windows环境中轻松地使用委派,我们要讨论的就是这种机制。

Kerberos大多数情况下要求使用Microsoft Active Directory,因为Active Directory 充当Kerberos令牌授予服务(TGS/TGT)。

3.3 安装服务器证书并配置SSL服务
服务器身份证书中包含服务器信息、公钥及CA的签名,在网络通讯中标识证书持有服务器的身份。利用证书机制保证与其他服务器或用户通信的安全性。web服务器证书是Web Server与用户浏览器之问建立安全连接时所使用的数字证书,配置后,可以要求浏览器客户端拥有数字证书,建立通信时Web Server和浏览器交换证书,验证对方身份后建立安全连接通道。web服务器证书的安装可以通过IIs配置中的安全通信将服务器证书导人。

服务器证书安装成功后就可以设置SSL了,SSL是“安全套接层”的简称,是一套提供身份验证、保密性和数据完整性的加密技术。在IIs安全通信属性中我们可以选择“接受客户端证书”或者“要求客户端证书”,“接受客户端证书”设置需要在客户端证书和浏览器之间进行协商。如果失败了,它就会退回到标准验证协议中的一个。如果想选中“要求客户端证书”,那么你需要先选中“要求安全通道”,这就意味着web站点将不能通过H rrP协议进行访问,只可以通过Hrl’I ;协议进行访问。

3.4 启用目录服务映射器
Active Directory 是实施智能卡部署的关键组件。Windows Server 2003中的Active Directory 包含对实施智能卡交互式登录的内置支持以及将帐户映射至证书的功能。这种将用户帐户映射至证书的功能将智能卡上的私钥与ActiveDirectory中存储的证书捆绑。登录时提供智能卡凭据要求Active Directory将该特定卡与唯一的用户帐户匹配。

3.5 将证书映射到用户账号
将已颁发给用户的证书映射到用户帐户(或创建与帐户的关联),这样服务器应用程序可以使用公钥加密技术来验证使用该证书的用户身份。如果用户的身份通过验证,则可登录到该用户的帐户上。最终结果与用户提供了用户ID和密码一样。

一般情况下,将数字证书映射到用户帐号主要有在AD中映射和在IIs服务器中映射两种途径,这两种途径各有利弊,我们可以灵活选择自己的映射途径。
另外数字证书映射到用户帐户有以下两种方式:一个证书映射一个用户帐户(一对一映射)或者多个证书映射到一个用户帐户(多对一映射)。

3.5.1 一对一映射
一对一映射将单个用户证书映射到单个用户帐户。实际应用中可以为每一位用户发放一张属于自己的数字证书,然后将这些用户证书映射到员工的用户帐户。这允许用户从任何地方,通过提供其客户端证书使用SSL(安全套接字层)连接到web页。然后,用户登录到自己的用户帐户,并可应用正常的访问控制。

3.5.2 多对一映射
多对一映射将许多证书映射到单个用户帐户。例如,您认识一家专为您的工作空缺提供临时工的代理。您可能想让代理人查看只有公司员工才能看到的介绍当前工作空缺的网页。代理有自己的证书颁发机构,用于为其员工颁发证书。将代理证书颁发机构的根证书作为您企业的受信任根证书进行安装之后,您可以设置一种规则,将该证书颁发机构颁发的所有证书都映射到某一账号。然后设置帐户访问权利,以使该帐户可访问那个网页。

4 结束语
使用智能卡实现集成Windows身份验证,有效的整合了单一机密和二元身份验证技术的特点,在不对应用系统进行二次开发改造的情况下,实现了强身份验证并保障通讯安全。目前青岛市委市政府基于微软.NET环境开发的办公系统,用Active Directory存储、管理用户信息和控制访问权限,结合山东CA的数字证书,实现了用户使用智能卡登录办公系统,进行身份验证和数字签名,使系统的安全更加有保障。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖