现状
允许外界远程访问网络信息资产的公司越来越容易受到黑客或恶意入侵者的攻击。
解决方案
使用现有 Microsoft® Windows® 2000 Server 或 Windows Server™ 2003 的基础结构,企业可以利用智能卡极大地增强其网络安全强度。
优点
| • | 安全性得到增强:智能卡双因素身份验证不仅要求输入有效凭据。您还必须拥有智能卡并且知道自己的个人识别号。 |
| • | 灵活:智能卡内存包含安全证书,可用于内部开发项目。 |
| • | 简单:智能卡简单易用。不附带麻烦的密码生成器。不需要控制庞大的设备。 |
| • | 利用现有基础结构:使用 Windows 2000 Server 或 Windows 2003 Server 的 PKI,可以创建自己的安全证书,并无需依靠外部合作伙伴即可在内部管理此进程。 |
产品和技术
| • | Windows 2000 Server 和 Windows Server 2003 |
| • | Active Directory® |
| • | 基于 Windows 的公钥基础结构 (PKI) 和证书颁发机构 (CA) |
| • | 可使用智能卡的 Windows |
| • | 智能卡 |
| 执行摘要 | |
| 介绍 | |
| 部署规划 | |
| 智能卡解决方案 | |
| 全新的远程访问身份验证过程 | |
| 部署过程 | |
| 成效 | |
| 经验 | |
| 结论 | |
| 有关详细信息 |
在全球范围内,保护信息资产安全已成为公司和政府的首要任务。随着计算机和网络攻击工具的复杂性、可用性和易用性不断增加,很多以前被视为安全的企业网络远程访问路径,实际上现在通常对恶意入侵者没有防范能力。Microsoft 操作和技术组 (OTG) 针对这种威胁采取了措施,要求用户采用智能卡(一种双因素身份验证)远程访问网络。这一改进大大地增强了 Microsoft 的企业网络信息资产和数据的总体安全性。
作为业界领先的科技公司,Microsoft 赋予员工远程访问公司电子邮件帐户、数据文件和公司计算机网络资源的能力。远程访问是服务和连接方面的一个广义术语,允许在员工工从远程位置(如家中或旅馆内)连接到 Microsoft 公司网络。作为一家全球性公司,Microsoft 拥有 61,000 多名员工(包括临时员工和供应商),这些员工可以在全球范围内多达 400 个地点使用远程访问功能。 一直以来,OTG 为解决由这些大量远程访问帐户引起的安全风险进行了不懈地努力。
为了访问其他公司网络资源,员工使用远程访问来连接至全世界超过 175 个接入点。Microsoft 支持的远程访问方法包括拨号、网络服务提供商 (ISP) 和直接的 Internet 连接,如数字用户线 (DSL) 或电缆调制解调器。
过去,仅使用一个由网络用户名以及与其相关联的登录密码组成的有效凭据组合,公司员工就可以通过身份验证,这与员工工作期间用于登录的标准相同。然而,员工网络用户名经常会在名片、杂志文章中出现,或者很容易被猜到。因此,网络密码成为保护公司网络仅存的安全机制。
OTG 担心的主要问题是,当用户通过身份验证可以访问网络后,能够对其进行限制的其他安全壁垒太少。并且,在仅需要登录名和密码进行访问的环境下,很难检测并阻止某一持有有效凭据但未经授权的个人的活动。
目前,OTG 在所有网络用户中强制推行“强”密码策略。此标准对密码提出下列要求:
| • | 具有域管理员权限的帐户密码不能少于 15 个字母数字字符,所有其他帐户密码不能少于 7 个字母数字字符。 |
| • | 同时包含大写和小写字符,如 a-z、A-Z。 |
| • | 包含数字、标点和字母,如 0-9, !@#$%^&*()_+|~-=\`{}[]:";'<>?,./。一个或多个标点字符必须处于密码第二位 (2) 和第六位 (6) 之间。 |
| • | 不要包含任何语言的俚语、方言或行话。 |
| • | 不要以个人信息、姓氏等作为确定密码的依据。 |
| • | 不要在密码中使用包含 O(会误以为是零)和/或 I(会误以为是管线符号)的单词。 |
| • | 要明显区别于以前的密码。例如,用户一定不要使用 "cyclical" 作为密码,因为此密码包含的基本内容与以前的密码相同,而只是更改了部分内容。 |
尽管使用了此策略,OTG 认为仍然需要更可靠的身份验证形式,特别是对那些通过远程计算机访问公司网络的用户。
针对未经授权用户潜在访问 Microsoft 公司网络的问题,OTG 对多种保护网络远程访问安全的技术进行了调研。经过慎重考虑,OTG 决定采用智能卡技术作为其安全解决方案。
选择智能卡前,OTG 也考虑过其他几种技术解决方案。评估过的技术包括生物测定(如指纹扫描)、硬件令牌(如安全 ID、这是一台钥匙串大小的设备,可自动按照预先确定的间隔计算新的密码以在身份验证服务器上匹配相似的密码更改设备)、USB 令牌读取器设备(与智能卡有些类似)。 。
基于对可靠性、性能、成本、功能、移动性优点以及与 OTG Windows 网络环境的集成等各个方面的综合评价,OTG 选择了部署智能卡,而非其他技术。在评估阶段,OTG 对智能卡的最初评价是技术不够成熟。智能卡和硬件令牌被认为具有一定相似性,因为这两个解决方案都要求用户携带一个有可能丢失、损坏或出现故障的组件。不过,硬件令牌需要消耗品(如电池),这些消耗品不是在全球所有地点始终易于更换。在安全性和身份验证方面,OTG 认为智能卡的可靠性要远大于生物测定扫描设备。
对于双因素身份验证解决方案的支持成本,OTG 没有相关经验,因此需要作一些假设。智能卡曾被认为是比较难于管理的解决方案之一,其管理难点主要在于安全地分发和维护卡、缺少商业化的管理工具和管理用于实现安全技术的公钥结构 (PKI) 和证书结构等。但与智能卡相比,对所有备选技术的最终评价是,有的可靠性较差、难于支持,有的人均费用较高,甚至有的备选技术兼具这些缺点。
说明:数字证书与身份证类似,是一组加密的身份验证电子凭据,用于证明个人、组织和计算机的联机身份。证书是由证书颁发机构 (CA) 颁发和认证的。与驱动程序许可证类似,数字证书由 CA 颁发,用于为要验证身份的联机实体提供证明。不过,数字证书并不包含证书所有者的照片和签名,而是包含将证书所有者(称为使用者)标识为网络上实体的信息和所有者公钥,数字证书合并了上述两个信息元素。此外,证书还可以标识颁发证书的 CA(称为颁发者)。
OTG 估计每个用户的费用大约在 55-75 美元之间,其中包括部署和工具开发的人力成本以及硬件(例如卡和读取器)费用,智能卡是一种显著增强公司网络安全的较经济的方法。
Microsoft 公司安全部总经理 Greg Wood 称:“使用智能卡可以提高 Microsoft 公司对每一位远程访问公司网络的员工和业务合作伙伴进行身份验证的能力,从而大大增强公司的网络安全”。
OTG 认为智能卡平台带来的综合好处要超过其他相关备选技术,所以 OTG 继续推行智能卡部署计划。
与仅仅使用网络用户名和密码的方法来保护网络信息资产安全不同,智能卡提供双因素身份验证。双因素验证包括用户已有(例如智能卡)和已知(例如智能卡的个人标识号或 PIN,即个人卡所有者设置并存储在卡上的加密码)的事物。使用个人识别码用户可以访问存储在智能卡上的数字证书,在 OTG 实施了智能卡的情况下,使用智能卡用户可以通过公司网络的身份验证。用户必须持有智能卡才能进行远程访问身份验证,这一要求大大地减少了入侵者访问公司网络的可能。
智能卡解决方案利用了初始 Microsoft® Windows 2000 Server™ 基础结构中的技术,包括“证书服务”功能和 PKI 安全性、加密服务提供程序 (CSP) 和可扩展身份验证协议–传输层安全 (EAP-TLS) 协议。Windows 2000 Server 基础结构使 OTG 可以创建和颁发自己的安全证书,并在内部管理进程,无需依赖外部数字证书提供商合作伙伴。
OTG 在部署智能卡期间将其网络基础结构升级至 Microsoft Windows Server™ 2003 时,智能卡解决方案随即得到增强。Windows Server 2003 的 PKI 增强功能使 OTG 可以更好地管理证书自动注册和自动续订,以及委托创建和分发证书的过程。
通过在自己的 Windows Server 2003 基础结构中广泛使用“证书服务”功能,Microsoft 现在管理着全球最大的基于 Windows 的 PKI 之一。
与考察的其他通常在应用程序中功能较单一的技术相比,智能卡提供进一步应用程序开发可能需要的其他优势。其可扩展、开放式平台和安全的内存内容可以用于各种有用的公司程序。例如,智能卡可以用于:
| • | 个人支付系统,例如借记公司用餐卡或为员工跟踪公司存储采购费用分摊。 |
| • | 个人数据存储,例如个人医疗记录,或者在计算机之间转移个人联系人列表。 |
| • | 在应用程序之间移植个人数据,例如个人专用软件产品密钥和数字证书。 |
OTG 在智能卡部署项目方面有两个主要目标:
1. | 通过保护远程访问连接增强 Microsoft 公司网络的安全性,并 |
2. | 使采用的解决方案对用户的影响最小。 |
将一项新技术移植到一个新应用程序之前,OTG 要考虑的问题很多。OTG 需要完全理解智能卡的技术功能及其如何适应当前需要。并考虑到对此应用进行决策将最终影响超过 61,000 人。他们还必须考虑各个技术层次的用户群,从顶尖的高级开发人员和技术研发人员到技术水平较低的管理人员。解决方案及其要求应该能够为每个人理解并使用。
OTG 还考虑到建议系统的安全性。通过何种方式识别个人用户 —— 公共、第三方还是专用内部数字证书颁发机构?需要对内部安全基础结构进行怎样的改动?一旦使用申请的数字证书创建智能卡后,如何以一种安全的方式将智能卡分发给全球所有员工?需要使用哪种工具安全有效地将智能卡分发给员工?要使用智能卡,用户需要在计算机上设置哪些工具?要在保证安全的同时使各种用户群使用起来复杂程度最小,需要哪些分发和维护步骤?如何支持此技术?
有许多问题需要 OTG 考虑。自从着手设计项目时起,OTG 就面临着巨大的挑战,因为就 OTG 考虑实施的用于验证远程网络用户身份的智能卡部署规模而言,世界上还没有先例。另外,还没有 OTG 可以使用的商业化主流智能卡部署和管理工具。OTG 需要透彻考虑每个问题,还需要开发自定义工具来解决问题。
OTG 必须从头开始,使用在智能卡中可能实现的技术设计一个企业级的安全系统。由于需要完成上述步骤,所以 OTG 没有其他选择,只能继续努力,设计一个涵盖前面提到所有问题的部署计划。
OTG 认为成功地保护公司安全性的唯一方法就是利用该解决方案开发部门的内部资源。另外,还可以通过经验获得一些知识,将这些知识反馈给产品开发部门,从而进一步增强 Microsoft 企业服务器产品。
OTG 首先确定最好能够管理 Microsoft 的内部安全需要,因此选择 Windows 2000 PKI 安全基础结构(特别是内部 CA)来创建部署所需的所有数字证书。OTG 希望严格控制哪些人可以获得证书、其所获证书级别,以及颁发和分发证书的方式。基于内部的解决方案还可以为 OTG 节约资金,因为他们无需为第三方数字证书颁发服务支付费用。
OTG 认为如果按照计划实施解决方案,网络技术适应方面基本不需要更改。OTG 利用了 Microsoft 网络体系结构中多个目录林之间的现有信任。OTG 还使用“远程身份验证拨号用户服务”(RADIUS) Internet 验证服务 (IAS) 服务器的现有结构,以验证远程访问用户的身份。IAS 要求的唯一更改是它需要升级至可以使用 EAP-TLS。
OTG 意识到从位于华盛顿州 Redmond 的 Microsoft 公司总部向全球所有员工分发智能卡是一个严峻考验。应该以一种安全方式管理分发智能卡,这一要求使问题变得复杂化。每个智能卡要求受信任的安全管理人员 (SO) 和员工之间物理交换旧的 ID 徽章,以获取新的智能卡徽章,这是项目早期做出的决策。SO 从而可以实际验证接收新智能卡用户的身份。
因为这一决策,OTG 认识到利用 Redmond 的资源不能充分有效地完成任务,所以决定在各个地区寻找可以协助分发智能卡的人员。OTG 委任 45 名委派颁发官员 (DIO) 为全球各个地区提供支持。虽然允许 DIO 按照需要生成和分发新智能卡,但他们仍然需要向 Redmond 提交新证书请求。一旦 OTG SO 批准了请求后,DIO 就被授权为智能卡创建并应用已批准证书,并将这些证书分发给用户。
使用 DIO 地区代表的方法还可以满足当地程序支持和快速分发卡的未来需要。全球各地区员工不必等待 Redmond 颁发并发运新智能卡。不过,OTG 必须将网络升级至 Windows Server 2003 以利用增强的 PKI 功能,才能实施用于分发的委托证书颁发模型。
OTG 认为部署过程需要分阶段逐步推进。将员工分成按地理区域定义的组。在 Redmond,小组按办公楼定义,在其他地区,通常是按地区办事处定义。OTG 为每个地区智能卡分发事件制定计划,并开发结构化通信计划,以协助每个地理区域的用户为卡更换事件做准备。
OTG 通过检查卡分发和客户端安装及配置过程需要的任务,来解决工具需要。还需要管理证书和卡生命周期的工具。因为没有商业化的工具,OTG 已决定投资开发自己的工具和程序。这样可以从始至终控制过程的安全性。它还考虑到员工希望轻松安装并物理部署至其远程计算机的需要。
OTG 确定智能卡系统可能需要为内部员工提供有序级别的持续支持。他们还与帮助台的现有远程访问网络支持技术人员协同工作,为其提供技术文档和支持脚本。OTG 保持定期与支持人员的计划通信,以丰富支持小组的有关技术知识,并向 OTG 提供程序和技术反馈。
另外一个难题是现在有若干智能卡处理平台可用,它们之间没有标准化兼容性。缺少标准化兼容性对于 OTG 而言不是一个大问题。一旦选择了一个特定平台,OTG 就会为所选平台制定标准。OTG 决定在内部开发必要工具,解决了缺少工具这一问题。
为更好地组织智能卡计划和部署工作,并维护项目的最高级安全性,OTG 创建了集中化的 CardMan 小组。小组的任务包括项目规划、工具开发、试验、证书颁发、智能卡分发管理以及以后升级的最终用户支持(服务台后)。
CardMan 在 2000 年下半年开始调查智能卡技术的使用。在 2001 年初进行了一个小型可行性试验。三个月后,即 2001 年中,成功地开展了第二个较大型的试验项目。从 2001 年秋天开始直到 2002 年冬天,开始在 Redmond 逐个办公楼地进行正式产品的大量安装。因为所使用技术的不断变更,在进行技术调整期间曾临时停止产品的安装。2002 年夏季在 Redmond 重新开始大量安装,并在 2002 秋季继续为全球员工进行安装,并于 2002 年年底在全球范围内结束。
产品安装计划是基于每周为固定用户数分发卡,并考虑到了他们预期的支持需要。在部署的结束阶段,CardMan 按照每周 2000 人的速度为智能卡用户 ID 生成徽章。
OTG 所选择的智能卡本质上是一个 32 位微处理器和嵌于卡上的存储芯片。大部分的智能卡是实现在信用卡大小的硬件上,但智能卡也可包含在全球移动通信系统 (GSM) 电话、用户身份识别卡 (SIM) 和通用串行总线 (USB) 令牌设备中。现在所使用的大部分智能卡都拥有 4 KB 到 64 KB 大小,用于安全数据存储的随机访问存储器(RAM)。典型智能卡的期望寿命为 18-24 个月。
虽然智能卡具有数据处理能力,但要想将智能卡用于对 Windows 2000 Server 和 Windows Server 2003 Active Directory® 中的登录进行身份验证等功能,则必须将智能卡与计算机进行连接。
虽然人们经常将智能卡与硬盘驱动器相比较,但实际上智能卡是“带有大脑的安全驱动器”—— 它们存储和处理信息。它们有操作系统和文件系统配置,经过配置的文件系统可分为公共和专用空间,这些空间可供使用,也可以用锁定的方法拒绝公共访问。隔离的锁定区域为证书、整个操作系统等信息提供了保护。除了如只读和读/写等传统的数据存储状态外,一些供应商开始使用子状态,这些子状态描述为“仅添加”和“仅更新”最恰当。
本质上智能卡是防篡改的。如果有人篡改智能卡,本部署中所用的智能卡操作系统 Microsoft Windows for Smart Cards 会使智能卡失效。没有智能卡读取器时,卡内所含的数据是不可访问的,卡也是无法使用的。即使有了智能卡读取器,用户也必须知道卡的 PIN 才能访问智能卡的内容。这保证了智能卡中所存数据的安全,这些数据包括有登录证书的私钥、电子邮件签名证书和用户个人信息。
智能卡的一个关键功能就是为数据提供了安全存储。智能卡必须支持身份验证和授权:持卡人通过 PIN 得到身份验证后,可获得访问卡上特定范围内数据的授权,或者可对卡进行特定范围内的操作。
通过使用安装在客户端计算机上的软件工具,用户可以查看他们智能卡的内容,重新设置 PIN 或添加个人数据。在未来,用户可以为增加功能的智能卡添加不同应用程序的新证书,这个过程的验证则使用已有的登录证书进行。OTG 将对智能卡过程的投资视为未来的盈利点,那时会有更多的功能添加到企业环境中,以利用该平台。
利用其内建的存储器,智能卡采用了一种开放平台的操作系统,不仅能允许第三方和内部的开发,而且能为其他应用程序保存信息,例如特殊的数字证书。
由于智能卡非常轻巧,因此用户可随身携带个人安全证书和相应的密钥对。智能卡也增强了基于软件的解决方案,包括强化的验证过程,例如本地登录、广域网 (WAN) 登录和应用程序验证。
如果员工遗失了智能卡,那么一个很简单的管理过程就可以取消遗失网络登录证书的合法性,从而使遗失的智能卡无法用于远程访问。即时能够访问合法的智能卡,入侵者也必须有 PIN 才能访问智能卡的登录证书,这进一步降低了无授权网络访问的风险。
OTG 实现的智能卡解决方案有五个主要组件:智能卡、必要的客户端硬件、客户端软件、服务器端软件和网络要求。表 1 列出了组成各个元素的组件示例。
表 1 OTG 智能卡解决方案的详细元素
| 组件 | 功能 | ||||||||||||
智能卡 |
| ||||||||||||
客户端硬件 |
| ||||||||||||
客户端软件 |
| ||||||||||||
服务器软件 |
| ||||||||||||
网络 |
|
CardMan 小组在智能卡技术评估内应仔细考虑如下的智能卡元素:
| • | 卡和芯片 |
| • | 智能卡操作系统 |
| • | 文件系统和个性化 |
选择特定智能卡和芯片的一个关键标准是其与特定智能卡操作系统的兼容性。与其他微处理器一样,智能卡不能运行所有可能的操作系统。
另一个选择智能卡的关键标准是其硬件规格。OTG 不愿意给员工增加不必要的负担,例如让员工再多带一张卡或一个设备同时又面对遗失的风险。Microsoft 的每个员工都带有一张进入大楼时需使用的 RFID 方式的照片 ID 卡钥匙。
CardMan 小组找到 RFID 卡钥匙解决方案的供应商并要求他们在已有的员工 ID 卡中嵌入一个智能卡芯片。供应商答应了这个要求,从而简化了 Microsoft 智能卡部署计划的难度。将智能卡技术与 RFID 卡钥匙结合,不需要部署新的卡钥匙基础结构。
CardMan 小组指定要求在 RFID 卡钥匙中集成一个特定型号的 32 KB 智能卡芯片,这主要是因为这种芯片与 Windows for Smart Cards 兼容。芯片与 Windows for Smart Cards 的兼容性,以及由此带来的与 OTG 最初的 Windows 2000 Server 网络(和较新的 Windows Server 2003 网络)的互操作性和芯片提供的 PKI 服务都大大简化了工具的开发、分发和管理。
RFID 徽章和智能卡技术的结合为员工提供了访问 Microsoft 物理和逻辑资产的方法。此外,这也意味着员工将随身携带带有员工登录证书的智能卡,而不是将其留在桌子抽屉或计算机旁的智能卡读取器中。
智能卡运行嵌入式操作系统,很多情况下这是一个用来保存数据的文件系统。CardMan 小组要求所选用的智能卡操作系统能够执行下列任务:
| • | 存储用户的公钥和私钥 |
| • | 存储相关的公钥证书 |
| • | 检索公钥证书 |
| • | 代表用户执行私钥操作 |
此外,在选择使用哪种智能卡操作系统时,CardMan 小组还必须考虑表 2 中所列的因素。
表 2 操作系统选取标准
| 问题 | 考虑 |
兼容性 | 卡的操作系统是否与智能卡芯片以及所选择的 CSP 兼容?如果这些元素的某一个已确定,解决方案的剩余部分必须与该选择匹配。 |
可扩展性 | 卡的操作系统是否提供了针对其他应用程序的可扩展性?OTG 主要将智能卡用来验证远程网络访问。但是,在卡中添加用于其他目的的额外证书(例如电子邮件签名和加密)在未来是可能的。 |
易于管理 | 智能卡操作系统下有可用的管理工具吗?如果没有,那么内部开发人员需要什么级别的技术才能创建用于管理部署的自定义工具? |
开发平台 | 内部开发人员可以使用智能卡操作系统平台开发其他的内部应用程序吗? |
CardMan 小组选择用作智能卡平台的是 Windows for Smart Cards 操作系统,这是一个基于组件的体系结构,它支持多个智能卡芯片和平台。选择它并不是仅仅因为它能够完成表 2 所示的任务,而是因为它还提供如下功能:安全、与已有 PKI 的互操作性以及可扩展性。
CardMan 小组配置的 Windows for Smart Cards 在每个创建的卡上都使用唯一的、安全的管理员 PIN。进一步的配置使操作系统在出现对管理员 PIN 进行未经授权的访问尝试时永久破坏智能卡。CardMan 小组还要求员工在使用智能卡进行远程访问验证前创建一个用户 PIN。
说明:Microsoft 已不再将 Windows for Smart Cards 操作系统作为技术解决方案出售。不过,独立解决方案提供商提供了几个与 Windows XP Professional 完全兼容的智能卡解决方案。
与磁盘技术中使用的文件系统相类似,智能卡文件系统是一种结构,该结构使卡上的数据得以存储。下面的图 1 显示了存储于CardMan 小组所实现的智能卡平台上的数据的结构。
图 1 OTG 智能卡配置中的内存使用
在可用的 32 KB 内存中,15 KB 用于 Windows for Smart Card 2.0 操作系统。剩余的 17 KB 配置为智能卡的文件系统,其余的解决方案就建立在该文件系统上。在剩下的内存中,用于协助服务器到智能卡通信的 Microsoft PIN/卡管理应用程序使用了大约 3.5 KB。其余的文件和文件夹使用了大约 4 KB,智能卡用户登录证书用掉了另外的 2.5 KB。目前的智能卡中还有约 7 KB 的可用内存,而有关在以后智能卡应用程序的扩展中如何能够最好地使用这一剩余空闲内存容量的计划已经得到考虑。
用户登录证书中所含的数据包括员工标识、颁发证书的 CA 服务器的标识、CA 颁发的 ID 号、证书实现和续订/吊销日期、CA 的数字签名和 PKI 公钥值。
操作系统一旦应用到空白智能卡上,就会创建文件系统结构。一旦这个过程完成,其他数据,例如验证证书,就能存放到卡上。
CardMan 小组的智能卡解决方案中的第二个组件是针对与客户端计算机的硬件。
为了满足 OTG 对于所有远程访问用户要在客户端计算机上运行 Microsoft Windows XP Professional 的要求,客户端计算机必须达到或超过如下条件:
| • | 推荐使用 300 MHz 或具有更高处理器时钟速度的 CPU;最低要求 233 MHz(单或多处理器系统)。推荐包括 Intel Pentium/Celeron 系列、AMD K6/Athlon/Duron 系列及其他兼容的 CPU |
| • | 推荐使用 128 MB 或更高容量的 RAM |
| • | 1.5 GB 或更大容量的可用硬盘驱动器空间 |
| • | Super VGA (800 × 600) 或更高分辨率的视频适配器和监视器 |
| • | CD-ROM 或 DVD 驱动器 |
| • | 键盘和 Microsoft 鼠标或兼容的点设备 |
| • | 33.6 Kbps 或更高速的调速解调器或网络连接 |
智能卡读取器可连接标准串行接口,如 RS-232 串行口、PS/2、PC Card 或通用串行总线 (USB)。读取器被视为标准的 Windows 设备,它带有一个安全说明符和即插即用标识符。对读取器的控制由 Windows 设备驱动程序提供,可使用 Windows 硬件向导在系统中添加或删除读取器。
制造商的差别意味着并非所有的读取器都能与所有的智能卡配合使用。不同的读取器设备间也存在性能差异,因此CardMan 小组对所选择的特定智能卡中的数个型号进行了性能和可靠性测试。几种型号的智能卡通过了测试,并被允许在 Microsoft 中使用。已经将这些设备加入到 Microsoft MS Market Intranet 站点上供员工购买。
智能卡开始在全公司范围内分发时,将为每位在家中或旅行途中使用远程访问的员工发给一个智能卡读取器。
客户端软件构成了CardMan 小组智能卡解决方案的第三个组件。下面几节内容对该组件中的特定元素进行了具体说明。
CardMan 小组规定所有使用智能卡远程连接访问连接到 Microsoft 公司网的客户端计算机都必须安装 Windows XP Professional。只有 Windows XP 计算机才可以使用以 Kerberos 为验证协议,符合 PC/SC 的智能卡读取器。
Windows XP 还提供对 EAP-TLS 协议的支持。虽然作为新的智能卡远程访问过程的要求,EAP-TLS 协议在 Windows 2000 Workstation 发布时就已可用,但还是将 Windows XP Professional 选为标准的远程访问平台,这样可以帮助简化企业服务台小组的支持事项和集成 Windows XP 的附加安全功能。
为每位使用远程访问的员工提供一张 Windows XP Professional 光盘用于升级员工的远程访问客户端计算机。同时还需要其他一些非智能卡客户端软件。必须安装符合企业标准的第三方防病毒应用程序。在允许远程访问连接前还必须启用 Windows XP Internet 连接防火墙。
每个客户端计算机都需要安装一个 CSP 以允许对智能卡芯片内容的访问。CSP 可以:
| • | 执行所有加密操作,例如数字签名 |
| • | 管理私钥 |
| • | 保证客户端计算机智能卡读取器和智能卡间的安全通信 |
CSP 是经过特殊设计的,能与特定智能卡操作系统协作,从而读取存储在智能卡上的证书。CSP 和智能卡操作系统完全是匹配的一对。因此,智能卡 CSP 可以命令智能卡完成指定的加密操作。
虽然各个智能卡解决方案供应商都提供一个 CSP 用来从智能卡上的操作系统中读取证书,但并非所有的 CSP 都一样。CardMan 小组测试了多个用在 Windows for Smart Cards 中的 CSP,发现这些 CSP 提供的性能和智能卡安全级别差别巨大。此外,很多 CSP 解决方案在设计上不能满足 CardMan 小组所要求的大规模、企业级解决方案的要求。在确定没有针对 Windows for Smart Cards 的商用 CSP 可满足小组的安全和性能要求后,CardMan 小组与 Windows 产品开发小组合作创建了一个新的,完全符合小组要求的 Microsoft CSP。这个新 CSP 是基于 Microsoft 已开发的新智能卡构架上的。
Microsoft 开发的 CSP 小巧、安全、高效、快速、可靠并能提供清晰的最终用户错误消息,这些都是 CardMan 小组所能获得的好处。简单说,Microsoft CSP 的性能满足了 OTG 对其客户端的所有要求。目前 Microsoft CSP 仅供内部使用,但在不久的将来,Windows 产品组计划将其智能卡构架提供给外部使用,以便供应商能够为他们的智能卡解决方案添加支持。
智能卡资源管理器负责管理和控制所有应用程序对与 Windows 计算机连接的读取器内的智能卡的访问。它以受信任服务形式运行于客户端计算机的一个单进程中。
资源管理器执行管理多个读取器和智能卡访问的三个基本任务:
1. | 识别和跟踪资源 |
2. | 控制多应用程序间读取器和资源的分配 |
3. | 支持用于访问指定卡上可用服务的事务原语 |
最后一点非常重要,因为现在的卡是单线程设备,通常需要执行多个命令才能完成一个功能。事务控制允许多个命令在没有中断的条件下执行,保证中间状态的信息不被破坏。
智能卡读取器的设备驱动程序将读取器的功能映射到 Windows XP 和智能卡结构所提供的本地服务上。读取器设备驱动程序将智能卡插入和取出事件通知给资源管理器并通过 T=0 或 T=1 协议提供入卡和出卡的数据通信能力。
作为 CardMan 小组智能卡部署的一部分,Microsoft 与读取器设备制造商紧密配合,提高智能卡读取器设备驱动程序的性能。
作为 Windows XP 标准功能的 CM 是一个协助和管理网络拨号连接和 VPN 连接的工具。OTG 通过创建特殊配置的、与正确的服务器连接设置相应的 connectoid 来为使用拨号或 VPN 方式连接 Microsoft 远程访问服务器而修改默认的 CM。CardMan 小组还在程序中加入了特定的支持用户界面(UI)文本以帮助用户理解过程、设置期望,并在问题发生时传达应采取的对应措施。这大大简化了与用户和远程访问连接相关的支持问题。
CardMan 小组中的开发人员使用连接管理器管理工具包 (CMAK) 来自定义 CM 实现。CMAK 是一个基于向导的管理工具,它允许 ISP、企业或管理器创建自定义的 CM 配置文件,文件中可包括:
| • | 拨号程序将执行的连接动作,例如运行脚本检查和配置机器安全 |
| • | 为桌面自定义图标 |
| • | 支持动画的带标识登录屏幕 |
| • | 支持和本地拨号访问电话号码以及客户企业专用的帮助文件 |
| • | 拨号程序显示给客户的语言 |
客户端的变化包括一个要求远程用户使用 CM 进行连接的策略,策略要求 CM 中使用自定义的配置文件,配置文件负责在登录时执行如下系统配置检查:
| • | 最新的防病毒软件和签名文件 |
| • | Internet 连接防火墙(启用) |
| • | Internet 连接共享(关闭) |
| • | 当前安装了必要修补程序的企业标准操作系统(进行本文写作时为 Windows XP Professional SP1) |
只有所有检查被确认后,远程用户才能获得访问网络的授权。
使用 CMAK 时,可根据相关的安全威胁使用安全脚本内的自动更新功能对这些配置检查进行进一步的自定义和更新。
CardMan 小组要求客户端计算机安装一个客户端智能卡管理、连接和安全的工具集后才能使用智能卡进行远程访问。
利用这些 CardMan 小组提供的智能卡管理工具,用户可以查看他们智能卡的内容,重新设置用户 PIN 或者添加个人数据和其他证书。在未来,用户可以为各种增加智能卡功能的不同应用程序添加新的证书,这个过程的验证则使用已有的登录证书。OTG 将对智能卡过程的投资视为未来的赚钱点,因为利用这个平台更多的功能可添加到企业环境中。
CardMan 小组智能卡解决方案的第四个组件由服务器端软件要求组成。
Active Directory 是 Windows 2000 Server 和 Windows Server 2003 下轻量目录访问协议(LDAP) V3 兼容的目录服务。它存储有关网络中对象的信息并使这一信息易于管理员和用户找到和使用。Active Directory 采用结构化的数据存储作为目录信息逻辑层次组织的基础。OTG 在 1999 年第一次展示的 Windows 2000 Server 中实现了 Active Directory 目录服务。
通过登录验证和对目录内对象的访问控制,安全被集成进了 Active Directory。智能卡远程访问验证使用的数字证书被存储在 Active Directory 中,随同在一起的还有用户帐号组和相关规则。CardMan 小组将已有的 OTG Active Directory 基础结构作为智能卡部署的安全管理基础。
OTG 的 Windows 2000 Server PKI 在 Microsoft 做成实现用于验证远程访问的智能卡的决定时就已经存在。 因此,CardMan 小组决定采用已有的安全结构,而不是采用第三方的服务来创建和管理智能卡的证书。 智能卡小组使用自建的 PKI 服务创建安装入智能卡的数字证书。运行这一服务的 Windows Server 就是 CA。
一开始 OTG 采用 Windows 2000 Server 的 PKI 部署 Redmond 的 25,000 多张智能卡和用户证书。 如果不是因为 Microsoft 是在全球各地拥有 60,000 多员工的跨国企业,Windows 2000 Server 就将是一个用来创建智能卡解决方案的非常好的平台。但是,随着部署数目的增加,CardMan 小组发现 Redmond 以外用户的部署和支持时间已无法满足目标要求。此外,CardMan 小组设定的证书一年有效期的标准似乎也将导致巨大的支持费用,原因就是每年都需要手动更新成千上万的用户证书 —— 这是 CardMan 小组无法应付的管理工组量。CardMan 小组要求 PKI 有更大的灵活性。
Windows Server 2003 中增强的 PKI 功能提供了 CardMan 小组所要求的更大的灵活性。分配权限给默认证书模板的元素以及自定义自己的模板等新加的细化功能帮助 CardMan 小组满足了跨国企业所需的服务和安全目标。模板权限的细化改进是使 CardMan 小组能够在 Redmond 外的部署中安全使用委托证书颁发模式的关键因素。
经过设置的证书模板指定了默认的属性,例如证书过期日期。
CardMan 小组还充分利用了 Windows Server 2003 的较大灵活性和 2003 中增强的 PKI 功能,为证书的自动续订设置规则。利用新的细化的证书模板权限功能,CardMan 小组可以要求所有新智能卡证书的登记必须由 CardMan 小组 SO 手动创建。而所有已有的智能卡证书可由用户自动续订,使用已有的合法证书来签署替代证书用的续订请求。
如果 CardMan 小组采用 Windows 2000 Server 的 PKI 进行自动续订,那么他们必须为公司内的所有证书做成选择,要么全部自动续订,要么全部手动续订。使所有证书使用自动续订将消除 CardMan 小组对 PKI 系统进行细化管理的工作。
为了能在 Microsoft 的多林 Active Directory 结构下正确工作,各个单独林间已有的信任关系,包括单向信任(例如较小的开发组林和主要的公司林间的信任)的使用不需要修改证书模板。
网络要求是 CardMan 小组智能卡解决方案的第五个,也是最后一个组件。以前员工通过输入他们的网络凭证登录网络,新的智能卡项目使用了与此相同的基本远程访问体系结构。
EAP 允许任何的使用证书和任意长度信息交换的验证方法。
EAP-TLS 是一个双向验证方法协议,即客户端和服务器需向彼此证明各自身份。在验证过程中,远程访问客户端发送它的用户证书,而远程访问服务器则发送它的计算机证书。 如果任何一个证书未被发送或不合法,连接就被终止。
为了让智能卡部署项目正常工作,CardMan 小组必须在企业网上启用 EAP-TLS。
除了要求在 VPN 服务器上启用 EAP-TLS 验证外,对 VPN 并有很大变动要求。
和以前一样,OTG 继续在远程访问连接中使用点对点隧道协议 (PPTP) 技术,这使该技术可被用于智能卡验证。
IAS 是 Microsoft 的 RADIUS 实现。最初,经过配置的 IAS 服务器可以要求远程访问用户提供证书进行验证,然后授予网络访问权。但是,最初的 IAS 没有办法确定证书的颁发来源。CardMan 小组与 Windows Server 产品组合作,让 IAS 能够在给定证书中过滤出一个特定的对象识别码(OID)值。一旦明确了 OID 值,就能限制 IAS,使其只接受那些由 Microsoft 内部拥有与智能卡验证证书相同 OID 的 CA 颁发的证书。
编写本文档时,OTG 每周管理超过 250,000 次远程连接。智能卡解决方案的实施使得变革远程访问过程成为必要。全新的远程访问身份验证过程包括:
| • | IAS 代理服务的使用 |
| • | EAP-TLS 协议 |
| • | 组策略的更改 |
图 2 显示了 Microsoft 全新的远程访问登录过程
图 2 远程访问过程中用于实施智能卡的体系结构
以下为用于远程访问的全新程序:
1. | 运行具备现成访问 Internet 连接(一般为有线连接、拨号上网调制解调器或宽带网络)计算机的远程用户启动 CardMan 自定义的 CM 应用程序并双击标有“OTG Connection Manager for Smart Cards(智能卡 OTG 连接管理器)”的连接标识。 |
2. | 系统会提示用户将智能卡插入连接至远程访问客户端计算机的智能卡读取器设备。用户插入卡后,Windows 登录服务 (WINLOGON) 会将该事件发送至 Microsoft 全球识别和身份验证 (MSGINA)。 |
3. | 一旦系统读取智能卡,屏幕就会显示一个请求输入卡的 PIN 的对话框。用户输入 PIN 后按ENTER 键。如果用户输入正确,系统将解除卡的锁定并允许继续进行远程访问登录过程的剩余部分。 |
4. | MSGINA 将 PIN 发送至安装在客户端计算机上的本地安全机构 (LSA)。LSA 使用用户 PIN 来访问智能卡并使用用户的私钥提取用户证书。 |
5. | 通过连接至 Microsoft IAS 服务器的拨号上网或某条 VPN 隧道激活经由 CM 的连接序列。Kerberos 安全服务提供程序使用 EAP-TLS 将用户证书以小签名邮件的形式从用户的智能卡发送至 Microsoft 密钥发行中心 (KDC), 该中心对客户进行身份验证。 |
6. | KDC 将证书中的 UPN(用户主要名称)与 Active Directory 中的 UPN 进行比较。KDC 还验证证书上的签名以确保其是由 Active Directory 林中的受信任的 CA 发出。 |
7. | KDC 首先验证用户的证书。如果证书有效,那么 KDC 会对预授权数据字段中的以已签名数据,该数据由用户在用户证书中使用公钥的初始请求中发送的。然后 KDC 使用随机产生的对称密钥加密授权票证 (TGT),之后再用证书的公钥将其作为来自 KDC 响应预授权字段的一部分进行加密。这就确保了仅具备正确私钥的客户才可解密登录会话密钥。系统将密钥传输至客户端计算机。客户端计算机通过收到密钥来对远程访问服务器进行身份验证。双方的计算机因此而进行了相互的身份验证。 |
8. | 客户端计算机解密登录密钥并向授权票证显示 TGT。该过程完成之后,Kerberos 中所有的其他通信均使用对称加密。 |
9. | 如果使用的是拨号上网连接,那么系统会要求用户提供正规的网络用户名和密码凭据。一旦成功提交,远程用户即可通过身份验证并能够访问所有通常可用的 Microsoft 网络数据和资源。本步骤不适用于使用 VPN 连接的用户。 |
附加的处理过程,即从读取存储在智能卡中的登录证书到将智能卡的登录证书与 Active Directory 中的登录证书相匹配,使得初始身份验证过程延长了 20-25 秒钟。但是,一旦完成身份验证,就无须进行附加操作了,因为从此时开始不再需要使用智能卡,并可将其从智能卡读取器中抽出。
为了确保智能卡部署操作的最终完整性,要求使用严格的安全措施。CardMan 小组对执行这些任务的人数进行了限制。
管理 PKI 服务的服务器需要安全的运行,因此仅授权少数系统管理员访问那些计算机。如果出现丢失卡或员工离职,这些系统管理员有权吊销其登录证书。
对于认为智能卡部署也许信任其的某些企业客户,必须使用外部的 PKI CA 服务,例如 VeriSign 或 Baltimore。但是对于那些使用 Windows 2000 Server 或 Windows Server 2003 的企业而言,则没有必要使用第三方产品。使用现有的自主 PKI 会使 Microsoft 显著节省预发证书的费用,并允许 OTG 通过多种不同的实施来共享 PKI 服务。
与考虑使用的其他安全技术相比,智能卡部署和管理的成本通常相对较高。这是因为全面考虑了涉及到的端对端问题,范围从 PKI 服务器和证书的管理,到用户持有的智能卡,其中还包括用于管理分发过程的安全措施。根据 CardMan 的预算,大约要在每个人身上花费 $55-75,其中包括智能卡和智能卡读取器。这与管理的基础结构、工具开发以及支持费用相当。
因为 CardMan 已经具备了需要的操作系统,所以会向卡供应商购买空白、闪存智能卡。CardMan 可以购买其上已经闪存了指定操作系统的卡。但是,CardMan 想自始至终控制卡的安全。CardMan 还具有独特的优势,即所拥有的设施(用于创建原始 RFID 卡)和技术人员支持(具备管理 OTG PKI 的经验)。该优势可在准备超过 61,000 张单独的智能卡时发挥作用。
对于 CardMan 小组而言,建立智能卡是一个多步骤过程:
1. | 将操作系统闪存至智能卡芯片上。 CardMan 创建了一个工具将用于智能卡操作系统的 Windows 应用到卡的芯片上。 注意 通常,在智能卡制造商供应的卡的芯片上,已经按照购买规格闪存了操作系统,所以本步骤并不是必要的。 |
2. | 将文件系统加载至芯片上。 CardMan 必须制定星系的规划,以明确想要系统将要使用的卡如何设计由智能卡文件系统创建的应用程序空间。CardMan 考虑到了要应用的证书的大小和数量、管理员和用户 PIN 的安全权限以及 PIN 管理工具空间要求。一旦这些规划出台,CardMan 就可开发自己的工具来创建必要的文件系统存储区域和目录结构,以符合卡的需求。本步骤会应用唯一管理员 PIN 和卡的全局唯一标识符 (GUID)。 |
3. | 将印刷应用至卡上。 现有卡打印应用程序可用于印刷卡,该卡也用作 RFID 启用的员工 ID 徽章。每张卡上都印刷有员工的照片、全名、雇佣状态(员工或供应商人员)、员工编号以及 Microsoft 徽标。 |
4. | 将员工个人化添加至卡。 本步骤可将数个个人化数据应用至卡,其中包括用户证书及其密钥对、用户 GUID和唯一的用户 PIN。 |
5. | 将证书应用至卡。 一旦卡上应用了其他所有事物,就可将用户登录证书应用至卡了。 |
CardMan 为远程访问项目选择进行了两个相对独立的试验。第一个试验开始于 2001 年初,单独作为可行性测试以确定用于保护远程访问的智能卡技术的生存能力,该试验包括了大约 75 名来自于 OTG 成员的高级技术参与者。
大约三个月后,第二个更大的部署和产品试验开始,此次为一个较大的不同的组,在一个建筑综合体中有大约 800 名用户。第二个试验对于确定影响技术和支持问题的部署所方比例十分必要。该问题是通过第一个试验发现的。
一旦两个试验成功完成,就可按照正常大小,结合经验教训为公司范围技术的部署指定规划了。
在卡分发过程之前,CardMan 将预期的智能卡收件人帐户放入了 Active Directory 中的级组。一旦完全准备好分发的物理智能卡,就会加倍注意以将正确的卡发至正确的人手中。CardMan 授权受信任的智能卡 SO 在身份验证的基础上给员工发放新的智能卡徽章。一旦确认收件人的身份,智能卡 SO 就会将收件人的旧的 RFID 建筑物进入徽章更换为新的智能卡徽章。SO 还提供一份说明书来解释远程计算机设置要求,其中包括 Windows XP Professional、智能卡驱动程序更新、自定义 CM、Microsoft CSP 以及一个 OTG 许可的防病毒软件的安装。然后智能卡 SO 会在 SCMan 中记录该卡已经发出,这是 CardMan 小组的智能卡管理数据库工具,可启用将要由用户激活的卡。
一旦在 SCMan 中记录了某张卡已经发出,该卡的用户帐户就会自动从级组移至智能卡组。 当用户试图进行远程连接时,OTG IAS 服务器就会对与该用户帐户相关的 Active Directory 组规则做出响应(要求智能卡或不),并根据这些规则接受或拒绝访问。如果用户是在智能卡组中,他(她)会要求具备一张智能卡并在授权可进行远程访问之前知道其 PIN。
所有的卡均是在挂起状态下分发的,因此在使用前要求将其激活。为了顺利激活过程,智能卡发放事件配备了激活工作站。智能卡收件人登录激活工作站计算机,定位到一个安全、基于 intranet 的网页,并将他们的新智能卡插入读取器设备。激活卡的部分过程会创建与证书相关的初始 PIN。该 PIN 仅该用户知道。Microsoft 选择在未发放的卡上不使用预设 PIN 是以防万一准备好但还没有发放的智能卡出现丢失或被盗。 CardMan 要求 PIN 是文字数字的,长度在五到八个字符数之间。在激活期间设置完 PIN 之后,用户可使用安装在远程访问计算机上的 CardMan 提供的客户卡管理软件来管理自己的 PIN。
一旦初始分发事件通过某一特定位置,不管该处的员工是否已经拿到新的智能卡,都会在 Active Directory 范围内强制执行使用智能卡来进行远程访问。仅活动安排比 CardMan 小组预期要早的员工,例如在事件期间外出的员工,允许继续暂时使用自己标准的网络登录凭据以进行远程访问。
某些 Microsoft 员工处于偏远的办事处,并且小组成员也很少。在这种情况下,会使用可用的 DIO 将新的智能卡发出。DIO 带有一系列预建智能卡,包括除用户证书外的所有东西,并在 SCMan 工具中对用户的唯一的序列号小心地跟踪。识中要求对智能卡进行人对人分发,可启用 DIO 来验证用户的身份。某些员工必须行进适当的距离来拿他们的智能卡。
一旦将帐户修改为要求的智能卡,CardMan 就认为在强制使用智能卡范围之外允许管理例外存在。一些可能是永久性的例外,例如在 Microsoft 的要求远程访问的 Macintosh 开发小组成员(Macintosh 计算机不支持 EAP-TLS)。另一些例外可能是暂时的,例如当某位 Microsoft 员工去国外出差,途中他的智能卡受损。在这种情况下,将损坏的智能卡寄回 Redmond 并等待修复很可能需要花费很长的时间。OTG 需要另外的解决方案。
为了使需要暂时远程访问的用户可以重新联机, CardMan 用帮助台创建了一个基于 Web 的 Intranet 工具,这样帮助台技术人员可使用该工具将用户添加至 Active Directory 中的暂时例外组,该组取代了智能卡组的正规策略限制。该咱使例外组中的用户可在 24-48 小时之间从拨号上网或 VPN 连接对公司网络进行非智能卡访问。由于在任何时间都会有少数暂时的例外出现,所以 OTG 公司安全小组能够轻而易举地监视通过暂时例外 Active Directory 组中员工的凭据进行的连接,确保在此帐户连接期间不会发生恶意活动。暂时访问过期后,帮助台工具自动将用户从暂时例外组中删除,并恢复用于智能卡组成员的默认策略限制限制。
在切换至使用智能卡之前通知员工并向其说明如何进行转换。准备好基于地点的电子邮件通信。第一封邮件会在切换时间的前两周发出以通知某处的员工即将来临的智能卡分发事件。一封提醒邮件会在计划的事件的前一周发出。
在 Redmond,智能卡分发小组会造访每栋建筑物。通知邮件的内容包括地点/建筑物的分发事件的安排日期和时间,预期何时将旧 RFID 徽章更换为新的智能卡,以及员工在收到智能卡后该如何将其激活。
其中包括有关员工如果无法参加该地点的预先计划的分发事件,该如何获得智能卡的信息。这是个关键信息,因为 Cardman 的分发过程既要求接收新智能卡的每个人进行可视身份验证,还要求旧 RFID 徽章更换至新智能卡的物理过程,所以该信息应在系统中保持最高安全级别和完整性。
CardMan 创建了一个特定的智能卡分发小组电子邮件别名以组织分发过程。为每个地点均创建了分发列表。给定了大小和范围的智能卡分发将影响超过 61,000 位的用户,尤其是为解决预期的电子邮件反馈和问题而创建了 Exchange 服务器邮箱。按请求,还配置了跟踪对疑问和特殊请求的反馈及响应的人员。
除电子邮件外,还制作了随新卡一同分发的传单,以帮助用户了解对其的要求,使其可获得智能卡工作(激活过程),知道卡解决方案的工作原理,以及遭遇故障时该怎样做。
为了协助传单发放,开发了一种专门用于智能卡程序的特殊 Intranet 网站。该网站为所有与智能卡设置、使用、问题解决相关的信息的集中网关,其中对新卡激活进行了详细说明,并可访问用于设置客户端计算机的软件下载和过程。有关智能卡的附加信息,以常见问答 (FAQ)、用户视频、分发计划及更多的形式和过程加以提供。
CardMan 专门开发了一件用于管理智能卡分发过程的数据库工具。在卡发放后,其已事先添加至数据库的唯一序列号会标记为“用户已接收”。这样就允许收件人激活其所持的卡。
CardMan 开发的另一件工具是智能卡激活 Intranet 网页。该网页将用户的 Windows 身份验证与智能卡的序列号相比较。如果匹配,则允许用户为智能卡的用户证书设置初始 PIN。在远程访问验证过程期间,稍后的证书访问中要求使用该 PIN。
为了给全球员工发放卡时提供积极响应的支持,并维持最高安全级别,CardMan 小组开发了自己的委派发行模型。
委派发行模型是一种分发模型,CardMan 用其部署 Redmod 之外的智能卡。在 Redmond 之外部署前,CardMan 小组亲自造访并培训全球不同的 DIO,使其了解要求的过程、职责,保护智能卡分发方法的安全以及如何使用内部开发的智能卡工具。之后,DIO 会与 CardMan 每周开一次电话会议,以在紧急和持续问题上保持更新。
图 3 中的流程图显示在为获得证书 请求许可而采取的步骤:
图 3 远程访问过程中用于实施智能卡的体系结构
1. | 用户智能卡如果丢失、受损或被盗,该用户可向 DIO 请求租用或更换智能卡。 |
2. | DIO 通过查看域内该用户帐户来验证用户的身份。如果身份有效,DIO 会向 Redmond 的安全官员 (SO) 提交证书请求。 |
3. | SO 通过检查是否之前已有以该用户名义发放的证书来验证该请求。SO 还要检查是否目前正有以该用户名义进行的其他请求审核。如果 SO 确定没有反对的理由,那么其将会发出批准。如果 SO 确实发现有问题存在,该过程会跳至步骤 7 之前。 |
4. | DIO 收到批准并使用 EA 帐户来发放请求证书。用“卡创建过程”一节的步骤创建一张新智能卡。然后将该智能卡发给用户。该过程跳至步骤 6。 |
5. | SO 激活该请求的审核以确定是否批准用户请求智能卡。在审核得出结论后,必须进行新的请求。 |
6. | 委派发行过程结束。 |
仅在 OTG 将公司 CA 移植至 Windows Server 2003 后,才有可能实施委派问题模型。其 PKI 增强的灵活性,尤其是在确定证书模板详细权限的部分,使得委派模型可支持委派注册代理要求的限制功能。
在 CardMan 开始准备智能卡测试和部署时,美国相关的智能卡行业还不是很成熟,这也就意味着没多少适用的商业智能卡系统管理和管理工具,尤其是那些符合 CardMan 小组的所有企业级部署需求的管理及工具。因为 CardMan 无法从商业供应处获得用以实施委派注册模型的工具,所以小组就必须设计并建立属于自己的工具。
注册代理是一个管理员权限的证书,可以 Active Directory 中任何用户的名义请求和发放证书。CardMan 在其他智能卡上创建并存储 DIO 使用的特殊证书和用户帐号以便更好地管理它们的使用并监视它们的安全。这样仅物理存取 EA 智能卡(不使用时进行物理保护)及知道 EA PIN 的人可使用 EA。
在一般注册过程期间,EA 会在用户的智能卡上书写证书,然后 EA 就会成为 Active Directory 中证书请求组中的成员。
一旦在 Redmond 之外开始智能卡部署,就会创建一个委派注册代理程序来管理并支持使用 Redmond 的 EA 生成的证书来创建新的和更换智能卡。这些角色就会成为前面论述过的 DIO。
每个DIO 都会给自己权限限制的 EA 访问权。分配给 DIO 的证书权限允许 DIO 以其范围内的员工名义发放请求,以获取用于新的或更换智能卡的身份验证证书。如果 CardMan SO 批准了该请求,那么 DIO 就有权获得新的权限证书并将其应用于新的空白智能卡。
RA 是一种服务,其主要任务是证明证书请求者的身份。使用 RA 进行一种特殊形式的证书注册,以获取公钥和预期证书持有用户(在 CA 上验证)的身份和属性之间的关联性。RA 具有包含为 CA 识别用户信息的特殊证书。一般而言,RA 建立了公钥和用户之间的关联性,然后签署用户生成的请求以向 CA 提供证据,证明 RA 正在进行用户/证书关联性的审核。本质上,使用 RA 是一种管理授权的形式,CA 授权委派给 RA 以任务,证明某位用户与公钥之间的关联性。
RA 生成一个在用户和公钥之间建立强关联的证书。在 Windows 2000 Server 和 Windows Server 2003 操作系统中,证书服务使用域身份验证来识别发出请求的用户,该方法适用于多种类型的证书。智能卡注册站由 RA 使用,该站可创建智能卡登录证书。RA 验证智能卡收件人的身份,该验证提供的用户与公钥之间的关联比仅使用域凭据身份验证的更强。
CardMan 需要一件综合工具,该工具须具备跟踪每个账户拥有的证书数量,这些证书的状态、智能卡序列号以及用户发放的功能。该工具还需要去跟踪硬件故障、芯片故障、故障率,并将比率返回制造商以获取保修信息,CardMan 小组为此开发了SCMAN 来满足这些要求。
信智能卡的收件人必须在第一次试图进行远程访问连接前将卡激活,收件人既可在分发事件提供的激活工作站上将卡激活,也可在任一直接访问 Microsoft 公司网络的计算机上将卡激活,该计算机已事先配备了智能卡远程访问必要的客户端组件,包括智能卡读取器和 Microsoft CSP。
一旦激活了卡,就需要用户将 CardMan 的 CM 自定义版本、Microsoft CSP 以及智能卡读取器和相关设备的驱动程序安装到用作远程访问计算机的计算机上。激活 Instranet 网页上提供有软件组件。如果用户正在设置一台便携机以达到此目的,那么只需简单地将该计算机连接至公司网络,如此就可下载安装软件了。如果用户的远程访问计算机是家中或其他偏远地点的台式机算计,CardMan 设置了一个 Extranet 网站,该网站要求用户输入公司网络登录凭据以获取访问权,一旦通过 Extranet 身份验证过程的验证,就可获得与Intranet 提供的同样的可下载安装的软件,另外,如果仅需要安装 Microsoft CSP,可将其复制到软盘(该程序足够小)并带至家中在计算机上安装。
CardMan 在整个分发过程中勤奋地工作,以使 Microsoft 员工的智能卡安装过程更为合理精简。多数安装均为自动进行,还有 Intranet 激活网站上的五个简单步骤(配有有用的详细说明)。这些步骤帮助用户:
1. | 进行智能卡读取器设备及其驱动程序的安装 |
2. | 安装 Microsoft CSP |
3. | 激活智能卡 |
4. | 安装 CardMan 的自定义CM |
5. | 删除智能卡软件旧版本(可能保留在之前的采用者和试验用户计算机上) |
智能卡部署项目的主要组件是为支持小组作准备。这主要是针对 Microsoft 帮助台远程访问网络小组而言。但是,DIO 人员按照假设他们在 Microsoft 安全基础结构中的新角色也需要准备方面的培训。
在实验部署前期,帮助台远程访问网络小组接受了附加的,特殊化的培训,该培训主要针对于对智能卡远程访问问题进行诊断和故障排除。使帮助台为解决最近复发的问题而保持最当前的技术信息和解决过程,是十分艰巨的工作,因为部署是在公司内分阶段进行的。为了迎接这些挑战,CardMan 小组撰写了许多帮助台远程访问团体特定使用的技术及支持文章。他们开发了诊断故障排除过程检验表,甚至还创建了适用于帮助台的带有特定安排的启发问题的调查问卷。
将复发问题编入帮助台事件跟踪工具中,可使得帮助台远程访问网络小组开发智能卡相关问题的故障排除分类。帮助台小组开始与全球所有智能卡帮助台技术人员小组每周开一次电话会议,并持续至今。以上努力持续精简并改善了为用户提供的支持。CardMan 为帮助台技术员创建了智能卡知识基础 Intranet 以供参考。CardMan 还为帮助台提供培训(包括视频电话会议)以便更进一步帮助支持小组发展其技术和问题解决方案。
因为使用智能卡的主要 OTG 目标是提高网络安全,所以存储在智能卡上的数据安全是部署期间首当其要的事情,部署期间,忘记 PIN 成了十分难对付的问题。CardMan 意识到许多用户可能会忘记自己的 PIN,并且这个问题经常出现在用户外出途中试图获取远程访问权时。CardMan 需要用工具和过程来保证访问智能卡管理员 PIN 的安全,这样用户就可重置他们的用户 PIN。
在要求用户在使用智能卡进行初次远程访问之前将私人用户 PIN 应用至卡的同时,CardMan 为 Microsoft 发放的每张卡应用了一个唯一的安全的管理员 PIN ,以确保智能卡基础结构的安全。
管理员 PIN 由 OTG 安全小组来控制,并通过一个后端数据库、一个可靠的硬件安全模块(HSM)以及一个用于存储私钥的保密柜的组合来进行管理。正确访问卡上的管理员 PIN 是非常关键的。如果连续五次输入正确的管理员 PIN 失败,智能卡 Windows 将永久性地破坏智能卡芯片,使其无用且不可抢救。但是,连续五次输入用户 PIN 失败仅会锁定该卡以防进一步使用。
此处为用户提供了两种方法来解除智能卡上的用户 PIN 锁定。智能卡客户端计算机配备了自定义建立智能卡工具,其中包括了一个可解除用卡的锁定的工具,在知道正确的用户 PIN 的情况下可使用其来解除锁定。如果不知道用户 PIN ,提供有第二种访问方法。
通过配置了由 CardMan 开发的特殊工具的帮助台的帮助,可运行一个特殊算法来创建一个暂时的管理员 PIN。该算法使用了诸如锁定智能卡的序列号,分配给卡的用户帐号名、当前日期和时间、HSM中持有的私钥以给卡哈希唯一管理员 PIN 之类的信息。由帮助台发放的有效管理员 PIN 仅具有五分钟的有效使用时间。如果使用帮助台帮助正确地输入了管理员 PIN ,则用户可使用安装在其客户端计算机上的智能卡管理工具来访问智能卡管理功能。这可使他们解除用户 PIN 的锁定并将其重置。在远程访问登录过程期间,需要 PIN 来访问卡的身份验证证书。
在工作小组偶尔无法解决现有智能卡问题时,按需会将问题逐步升级至 CardMan 小组以寻求第二或第三层支持。
智能卡部署完成后,OTG 的 CardMan 小组(管理连接至公司网络的远程访问)和公司安全的建筑物访问安全小组(管理建筑物和RFID卡键基础结构的物理访问)会结合成为 CSAM 小组。由公司安全管理的 CSAM 负责智能卡管理和帮助台后终端用户支持的所有方面。所涵盖的范围包括智能卡部分的技术问题和员工使用用于访问安全的建筑物的 RFID 徽章问题。
OTG 中的智能卡项目已开始发生转变,即从部署转变为进行中的维护和操作。曾经负责部署任务活动的大小组 CSAM,也已经将其主要角色转变为注重管理了。CSAM 小组还在部署结束后缩减了其规模,并实行基于 24 小时的五天工作制。
公司范围智能卡部署完成后,CSAM 小组开始注重查看 MSE 日志(补写每次收到帮助台呼叫的 MSE 日志)、从帮助台获取的二层支持呼叫升级以及在 DIO 请求新智能卡时对其进行支持。
CSAM 小组的后部署规模缩小为大约只有九人,这已满足整个公司的需求。他们会按需要提供的升级的帮助台支持并管理 Redmond 和全球 DIO 的新智能卡证书发放。
因为这个项目牵涉到每位员工和已授予远程访问权的供应商人员(总数超过了 61,000),所以智能卡部署成为 OTG 有史以来最大范围的一次部署。
项目是作为可行性试验来开始的,其中使用了来自有许多竞争和不兼容的制造商产品的行业的不成熟技术。智能卡技术本身也随着项目的进展发生了明显的变化。在项目开始时,4KB 的智能卡是标准产品。Microsoft 使用 32 KB 为标准的智能卡。编写本文档时,已经有 64 KB 的智能卡出现,而且许诺不久的将来会有更大容量的智能卡面市。PKI 技术的先进部署,尤其是建立在 Windows Server 2003 中的部署,就从管理的观点出发,其显著提高了智能卡解决方案的灵活性。OTG 使用了充分的灵活性和远见来完全从头开始建立世界最大的智能卡部署。
但是,最重要的是 OTG 为 Microsoft 智能卡部署设定的初始目标的成功达成。这个目标就是通过保护远程访问连通性的安全和并将其结果对远程用户的影响降至最小来增加 Microsoft 公司网络的安全性。
OTG 智能卡的介绍和其相关的双因素身份验证对输入标准员工网络登录凭据提供的安全进行了补充。OTG 没有停止要求使用用户登陆名和密码。所有的远程访问用户依然需要遵守该要求。但是,在用户到达身份验证过程中的要求输入其用户网络凭据的地方之前,远程访问过程受到严格的安全要求保护。该要求是用户须拥有自己的个人化智能卡,卡中包含有有效用户证书并在建立至拨号上网或 VPN 服务器的连接之前知道其 PIN。这个附加的安全层显著降低了网络入侵事件的风险。
如果员工的智能卡丢失或被盗,该卡很可能会被其他人用来访问 Microsoft 公司网络。使用一张捡来的卡来对 Microsoft 公司网络进行未授权访问的入侵者必须克服以下障碍:
1. | 未授权用户必须具备适用于智能卡特殊模型的兼容智能卡读取器。 |
2. | 未授权用户需要知道智能卡的 PIN 方可访问智能卡的用户证书。如果未授权用户试图侵入或强制访问智能卡芯片的内容以获得 PIN,用于智能卡操作系统的 Windows 将立即放弃该卡,使其无效。 |
3. | 未授权用户的计算机需要具备安装正确的 CSP,方可读取智能卡上的用户证书。 |
4. | 未授权用户还需要知道特定的服务器信息和 CardMan 的自定义 CM 中其他特定的配置设置。 |
几乎不可能的情况下未授权用户会具备所有要求的硬件和软件,并且知道机密信息,同时丢卡的员工还未向 Microsoft 公司权报告卡丢失(如果不报告,该员工将无法进入办公建筑物,这样公司就会立即知道丢卡情况)。报告卡丢失后,Microsoft 身份验证服务器会立即撤销智能卡的证书,永久性阻止持有丢失智能卡的人员的访问。
CardMan 努力工作以将使用智能卡对远程访问身份验证的影响降至最低。CardMan 将智能卡设置要求用户所做之事与系统配置合并。修改 CM 以最大限度简化智能卡远程访问连接。Microsoft 与读取器设备制造商共同合作并提高了设备的性能。CardMan 测试了数种 Microsoft 批准购买的卡读取器和最佳性能。此外,在测试得出商业提供的 CP 不是很令人满意后,Microsoft 开发了自己的 CSP,该 CSP 可提高智能卡的可靠性、证书安全性并极大地改善了整体性能。
即使极其重视性能,添加智能卡验证至远程登录还是延长了获取远程访问公司网络权的过程。但是,小组还是努力以将延长的时间减至最短。整个身份验证过程延长的时间一般少于 25 秒。身份验证后,不再需要使用智能卡,并且不会影响之后的远程网络的性能。
有某些用户认为五至二十秒之间的登陆延迟不方便。但是,让用户多等待一会的价值大大超过了成本。目前由于智能卡用户的远程访问,Microsoft 已的加强了相应范围内所有网络资产和数据的安全。
在智能卡项目从研究到试验到完整实际开展的过程中,OTG 的 CardMan 小组学到了很多经验。
CardMan 从智能卡部署过程中吸取的某些经验与项目、现存计算机问题以及某些第三方技术服务问题关联的产品相关。
智能卡制造商持续快速地为其产品添加新功能,包括更强的处理能力和增加的内存空间(现在可提供 64KB 的卡)。随着技术的快速发展,在一个长期、企业范围、测试和部署项目模型上保持标准化充满挑战性。确定其特定需要并选择满足这些需求的平台帮助 CardMan 成功部署了他们的智能卡。
OTG 主要使用智能卡以提高到 Microsoft 公司网络的远程访问的安全。但是,解决方案的扩展性是更进一步的内部应用程序的开发所需要的因素。OTG 推荐选择可随业务需求增长的解决方案。
移动个人数字助理 (PDA) 设备(例如 Pocket PC 或 Smartphone)的用户,当其在 Active Directory 中的用户帐户转换为要求使用智能卡后,就不能再对公司网络进行远程访问。当前的移动设备不支持需要的 EAP-TLS 协议。此外,获取读取器设备和相关设备驱动程序以连接至 PDA 处理器平台并在器上工作,也是一项挑战。
一旦要求使用智能卡,配备了 Macintosh、UNIX 和 Linux 的计算机的家庭用户也不再能远程访问 Microsoft 公司网络,因为这些系统缺乏 EAP-TLS 协议要求版本的支持 。需要远程访问特权的 Microsoft Macintosh 产品开发组中的员工,已经得到了智能卡要求的永久性例外。
OTG 意识到其既不想也不能管理 Microsoft 员工的家庭计算机。对于没有运行 Windows XP 的员工家庭计算机,OTG 提供了另外的无需智能卡的 Outlook Web Access (OWA) 来使员工进行仅限于他们的公司电子邮件、任务、联系和日历功能的 Internet 访问。要求 OWA 所做的就是访问万维网和支持超文本传输协议 — 安全 (HTTPS) 的浏览器。OWA 允许员工访问他们的 Outlook 数据而不用直接访问公司网络,因此不需要保持与公司网络安全同样高的级别(智能卡提供的)。
CardMan 小组发现只有极少数的 ISDN 设备制造商支持带有绑定隧道(两台条 ISDN 线路结合成一条以实现更好的性能)的 EAP-TLS。许多使用 ISDN 设备远程连接至 Microsoft 公司网络的员工在使用 EAP-TLS 和智能卡远程访问解决方案时,面临着潜在的 ISDN 性能显著降低。因而鼓励 ISDN 用户查看 ISDN 设备制造商的网站以确定其设备是否支持 EAP-TLS。
CardMan 还没有关如何有力并高效地开展整个企业智能卡项目的经验。
CardMan 明白了预先知道智能卡的功能和项目的部署目标同样重要,例如为什么部署它们、它们可为企业带来什么好处、在哪些方面智能卡的优点可以帮助节省时间和资金以及项目规划者在之后的 12-24 个月中如何预期使用的技术。一旦确定下来,CardMan 就意识到利用以上知识设计整个项目是最佳做法。拥有熟悉 PKI 技术的人员也使 CardMan 受益非浅。
OTG 推荐,如果您不具备这样的内部专门技术,则应当和与解决方案供应商无关联的第三方顾问合作。在部署阶段选择具备智能卡专门技术的人员以确保可正确涵盖所有需要考虑到的问题,尤其是安全。
OTG 还推荐在修改这样的核心 IT 服务(例如远程访问)前谨慎考虑网络带宽约束。很可能网络的设计是基于不同的假定,以便小心管理业务破坏风险。在 OTG 的依赖新安全协议和身份验证证书的智能卡技术部署经验中,Microsoft 公司网络带宽并没有收到明显影响。
谁来提供 PKI 服务的问题对于 CardMan 的智能卡部署的成功至关重要。CardMan 考虑是自主开发还是将 PKI 需求外包给第三方。有两个关键因素,企业计划使用的证书数量和使用数字证书启用的应用程序类型。
在 Microsoft,OTG 已经具备了严格的 PKI,其是基于 Windows Server 2003 网络。OTG 为所有事物均使用了证书,范围包括从远程访问到代码签名和安全电子邮件。外包 PKI 给第三方会受限于成本并且缺乏灵活性,尤其是 Microsof 已经具备了现成的基础结构。
CardMan 选择在 Redmond 以外使用委派分发来最优化系统安全性和响应的本地支持的需求。这就允许智能卡分发至所有用户时严密管理证书的生成。证书是验证卡收件人身份的最安全的方法。
CardMan 意识到智能卡不是符合所有用户的解决方案。总会出现一些标准化规则的例外,例如非兼容硬件的用户(例如 Macintosh 或无线 PDA)。CardMan 考虑到了允许例外存在以及如何管理这些例外。CardMan 确定的解决方案适用于百分之九十的用户并严格控制可允许的例外,以使小组可以轻松管理并监视这些例外。
为了将例外减至最少,OTG 提供了另外的网络访问方法,例如 OWA 和 Mobile Information Server (MIS),这些方法适用于硬件不支持 EAP-TLS 的用户(例如 Macintosh 计算机和 Pocket PC 设备)。
CardMan 小组学到在试验中使用与将要在更大规模的小组中部署的技术同样的技术最为有效。CardMan 没有在试验和实际情形之间移植至更先进的智能卡技术。否则可能会出现未曾预料到的问题。
OTG 推荐先在小的、可控制的区域内进行试验项目。当地一个试验成功结束后,如果预期最终实际规模大小非常大,可以再进行较大规模用户组的第二次试验,但仍需密切监视。一旦认识到规模问题并将其考虑在内,如果资源和时间允许,那么就可开始在组织的剩余部分开展项目。
智能卡分发过程中训练有素的安全人员可帮助 CardMan 管理新用户疑问和问题。他们还可帮助维护整个过程的安全。他们在分发事件中的积极位置使得用户可以在同一时间兼顾到整个智能卡的设置过程,更进一步地减轻新用户的问题并减少之后的支持呼叫。
CardMan 意识到并不是每位 Microsoft 员工都认为获得新的计算机软件和硬件并进行安装和配置过程是一件惬意的事。CardMan 小组努力试图简化整个安装过程。自动的软件安装过程降低了员工的挫折感,同时还降低了帮助台支持成本。
CardMan 积极管理着员工的教育和通信,设定早期预想并管理反馈意见。CardMan 给即将转换的用户发出早期公告电子邮件,同时允许合理的例外规划。也将发出提醒电子邮件。在 Exchange 中建立特殊项目邮箱帐户,成员可以专注于管理反馈和收到的用户请求。CardMan 开发了提供软件下载和附加支持信息的 Intranet 和 Extranet 网站。
美国国内的智能卡行业还正处于不成熟时期,许多小企业提供的系统无法互相兼容。行业专家预测随着智能卡行业的成熟,很可能会在未来的 12-24 个月内出现一个整个行业范围的合并。
预期的合并会带来提高的产品标准和更好的标准化,而不仅仅是停留在程序(API 或 CSP)级别上,而要包括完善的即插即用兼容性。这也将包括更大的智能卡与 Windows 平台的集成。
OTG 正在调查智能卡使用,以便更好地管理高特权帐户。在不久的将来,OTG 规划实施一项策略,即通过安装映射证书可锁定这些智能卡持有者的帐户和高特权的使用。这可将这些帐户泄漏功能将至最低,而同时尽可能改善高特权使用的审计追踪功能。
现在,要求数字电子邮件签名的员工必须将签名保留在自己使用的每台客户端计算机上。这些员工希望可以将用于智能卡上签名电子邮件的便携数字签名从一台计算机携带至另一台计算机。
应用程序支持是智能卡使用的另一项理想中的项目。对于诸如签名库存授权、保护财务和人力资源数据安全、签名源代码、获取访问安全源代码库以及公司网络资产的权限之类的规划,目前还都只是考虑扩大智能卡在 Microsoft 中的角色的想法。
更新的具备更多功能、容量和特性的智能卡目前已经面市。在 Microsoft,OTG 以超越安全角色的位置正在规划如何利用这些改进的产品,以便更广泛地将其集成到推动业务发展的 OTG 的 Windows 企业网络环境和特定应用程序中。
全世界的公司和政府开始对安全进行全新的关注。随着持续增加的公司网络资产安全威胁,Microsoft 力求对远程访问实施双因素身份验证安全解决方案。与具有竞争力的双因素安全技术相比较,智能卡技术更具有数种优势。这种安全解决方案不会增加远程用户的负担。它利用了 OTG 现有的 Windows 2000 Server 和 Windows Server 2003 PKI,最终会给 OTG 提供一个便于将来内部应用程序开发的可扩展平台。
有关 Microsoft 产品或服务的详细信息,请致电 Microsoft 销售信息中心:(800) 426-9400。在加拿大,请致电 Microsoft 加拿大信息中心:(800) 563-9048。美国和加拿大以外的地区,请与您当地的 Microsoft 分公司联系。要通过万维网访问信息,请访问:
http://www.microsoft.com/china/
http://www.microsoft.com/china/technet/itsolutions/msit/default.mspx
关于本文档的任何疑问、意见或建议,或获取有关 Microsoft IT Showcase 的附加信息,请发电子邮件至: