第 2 章 - 智能卡技术
网络数据存储是几乎所有组织的基本业务要求。 组织为了进行通信和产生收入,常常必须将包含敏感和专有数据的网络连接至 Internet。 不断要求更大的连接性暴露很大的安全风险,因为大多数组织使用用户名和密码进行身份验证以及授权访问网络资源。
第 1 章“简介”重点介绍用户名和密码组合的主要安全问题。 用户名不保密,因此只有密码提供有效的安全性,防止攻击者试图假冒有效用户。 人们认识到用户名和密码凭据的脆弱性,因此越来越关注二元身份验证系统。
二元身份验证
二元身份验证优于简单的用户名和密码组合,要求用户提交某种形式的唯一令牌及 PIN。 实施二元身份验证有多种方式,毫无疑问将来会更多。
硬件令牌
硬件令牌是一种二元身份验证方法。使用这种方法时,用户拥有物理实体,如密钥卡或信用卡验证器。 此硬件提供简单的一次性身份验证代码,该代码通常每 60 秒更改一次。 用户必须同时匹配一次性代码和保密 PIN 才能唯一地标识自己的身份,从而获得访问权。
硬件令牌具有智能卡的许多优点,但是可能涉及更复杂的规划和部署过程。 Microsoft? Windows Server? 2003 和 Windows? XP 不提供对硬件令牌的内置支持。
智能卡
智能卡是信用卡大小的塑料物体,包含微型计算机和少量内存,为私钥和 X.509 安全证书提供安全的防篡改存储。 智能卡通常具有 32 或 64 KB 的电可擦可编程只读存储器 (EEPROM) 和只读存储器 (ROM) 以及仅为 1 KB 的 RAM。 ROM 包含智能卡操作系统,EEPROM 包含文件和目录结构、PIN 管理小程序以及身份验证证书。 RAM 为卡操作(如加密和解密)提供工作内存。
要向计算机或通过远程访问连接进行身份验证,用户将智能卡插入适当的读取器并输入 PIN。 用户不能仅凭 PIN 或仅凭智能卡获取访问权。 因为在尝试输入 PIN 失败若干次之后智能卡锁定,所以暴力攻击智能卡 PIN 是不可能的。 PIN 通常为八个字符或更少,因此比长长的随机字符密码容易记。 智能卡是 Microsoft 首选的二元身份验证机制。
注意: 智能卡 PIN 不一定为数字。 智能卡供应商开发工具包使您能够指定需要多少个字母、数字、大写、小写或非字母数字字符。
Microsoft 为域管理员和网络资源远程访问部署智能卡,并希望作为纵深防御计划的一部分促进这项实践。 Microsoft 咨询服务、高级支持、客户支持服务、Microsoft 合作伙伴及其他解决方案供应商鼓励组织使用智能卡保护网络访问。
以下列表概述为网络管理员实施智能卡解决方案所需的步骤:
?使目标服务器能够支持使用启用智能卡的帐户进行交互式辅助远程桌面登录。
?标识必须使用启用智能卡的域级管理员帐户的管理员。
?部署智能卡读取器。
?制定分发智能卡和注册管理员的安全过程。
以下列表概述集成远程访问智能卡解决方案所需的过程。
?升级远程访问服务器以支持智能卡身份验证。
?标识必须使用智能卡进行远程访问的用户。
?部署智能卡读取器。
?将智能卡分发给适当的管理员并注册远程用户。
实施先决条件
智能卡部署需要有计划地进行,以确保组织在实施阶段开始之前考虑所有问题。 本节讨论最常见的先决条件,您的环境中可能还有其他要求。
标识帐户
标识需要智能卡访问的用户和组是智能卡部署的重要部分。
注意: 如果组织有预算和安全要求,对所有用户实施智能卡访问,则可以跳过此步骤。
需要智能卡的组和用户可能包括:
?林中所有域的域管理员
?架构管理员
?企业管理员
?数据库管理员
?人力资源管理员
?具有远程访问权的用户
?对敏感资源(如会计和财务信息)具有用户或管理访问权的用户
组织还可能对不在以上列表中的用户和组(如董事级人员)要求智能卡访问。 在该过程中及早标识这些帐户有助于定义项目范围和控制成本。
要标识重要帐户,必须定义何时使用智能卡。 例如,作为好的安全做法,建议为管理员提供两个用户帐户: 一个标准帐户(用于电子邮件等日常任务)和一个管理员级帐户(用于服务器维护及其他管理任务)。 通常,管理员使用用户级帐户登录,使用 Secondary Logon 服务执行管理任务。 另外,管理员也可以使用 Windows Server 2003 的用于管理的远程桌面组件,该组件支持智能卡登录。 有关管理员帐户的详细信息,请参阅第 3 章“使用智能卡帮助保护管理员帐户”中的“标识管理员帐户和组”一节。
智能卡基础结构支持
智能卡需要适当的基础结构以及操作系统和网络元素的支持。 Microsoft 提供对使用下列组件的智能卡实施的支持:
?Microsoft 证书服务或外部公钥基础结构 (PKI)
?证书模板
?Windows Server 2003
?Active Directory? 目录服务
?安全组
?组策略
?注册站和注册代理
?激活 Web 服务器
?可扩展的身份验证协议-传输层安全 (EAP-TLS) - 仅对远程访问解决方案是必需的
其他组件包括注册站和注册代理。
公钥基础结构
智能卡需要 PKI,以便提供包含公钥/私钥对的证书,这些公钥/私钥对实现 Active Directory 中的帐户映射。 您可以使用下列两种方式之一实施此 PKI: 为外部组织提供内部证书基础结构,或者使用 Windows Server 2003 中的证书服务。组织可以将智能卡的证书管理过程全部或部分外包。
如果金融组织将其 PKI 链接至外部受信任根,用于电子邮件验证以及与伙伴组织进行安全交易,则可以受益。 另一方法是使用 Windows Server 2003 中的证书服务来提供 PKI。
有关 Windows Server 2003 中的证书服务的详细信息,请参阅 Windows Server 2003 公钥基础结构网站,网址为 www.microsoft.com/windowsserver2003/technologies/pki/default.mspx
PKI 必须具有处理证书吊销的机制。 当证书过期时,或者攻击者已盗用证书时,证书吊销是必要的。 每个证书包括其证书吊销列表 (CRL) 的位置。 有关如何管理证书吊销的详细信息,请参阅 Manage Certificate Revocation 主题,网址为 www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/sag_CS_procs_revocation.asp
证书模板
Windows Server 2003 提供特定证书模板以颁发用于智能卡的数字证书。 您可以复制并自定义这些证书以满足您的组织的要求。 供智能卡使用的三种证书是:
?注册代理。 允许授权用户为其他用户请求证书。
?智能卡用户。 允许用户使用智能卡登录并签署电子邮件。 还提供客户端身份验证。
?智能卡登录。 允许用户使用智能卡登录,并提供客户端身份验证,但是不启用签名电子邮件。
Windows Server 2003 Enterprise Edition 提供版本 2 (v2) 模板。您可以修改和扩展这些模板以提供多种功能,如登录、签名电子邮件和文件加密。 您还可以扩展证书模板以提供您的组织需要的其他信息,如医疗详细信息或养老金。 Windows Server 2003 Enterprise Edition 支持自动注册,从而使大型组织的智能卡管理更容易。 证书续订请求可以使用当前证书来签署请求。
注意: Microsoft 强烈建议将当前的 Windows Server 2003 PKI 升级到 Windows Server 2003 Service Pack 1 (SP1) PKI,以便利用增强的安全功能。
有关证书模板的详细信息,请参阅 Certificate Templates 主题,网址为 www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/sag_ct_topnode.asp。
Windows Server 2003
Microsoft Windows 2000 Server 支持对远程访问和管理员身份验证(仅限控制台登录)实施智能卡。 要对管理员实施智能卡,要求被管理的服务器运行 Windows Server 2003。Windows Server 2003 支持辅助操作,如通过远程桌面协议 (RDP) 连接进行智能卡登录。 此操作系统要求包括域控制器。 有关此要求的详细信息,请参阅第 3 章“使用智能卡帮助保护管理员帐户”。
Active Directory
Active Directory 是实施智能卡部署的关键组件。 Windows Server 2003 中的 Active Directory 包含对实施智能卡交互式登录的内置支持以及将帐户映射至证书的功能。 这种将用户帐户映射至证书的功能将智能卡上的私钥与 Active Directory 中存储的证书捆绑。 登录时提供智能卡凭据要求 Active Directory 将该特定卡与唯一的用户帐户匹配。 有关证书映射的详细信息,请参阅 Map Certificates to User Accounts 主题,网址为 www.microsoft.com/resources/documentation/WindowsServ/2003/all/deployguide/en-us/dssch_pki_cyek.asp。
Active Directory 还支持安全组和组策略,以便管理智能卡登录过程和智能卡发放。
安全组
如果使用 Active Directory 中的安全组来组织用户,智能卡部署和管理过程会容易得多。 例如,典型智能卡部署可能要求创建下列安全组:
?智能卡注册代理。 智能卡注册代理负责将智能卡分发给用户。 下一节详细讨论注册代理。
?智能卡暂存。 智能卡暂存组包含被授权接收智能卡但是还没有为其注册一个注册代理并激活其智能卡的所有用户。
?智能卡用户。 此组包含已完成注册过程并激活了智能卡的所有用户。 注册代理将用户从智能卡暂存组移至智能卡用户组。
?智能卡临时例外。 此组用于需要临时排除智能卡要求的用户,例如,丢失智能卡或忘记携带智能卡的用户。
?智能卡永久例外。 此组包括需要永久排除智能卡登录要求的帐户,例如,在服务器上运行服务或计划任务的帐户,或使用的操作系统和设备不满足智能卡登录要求的用户。
有关如何创建组的详细信息,请参阅 Checklist: Creating a Group 主题,网址为 www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/sag_adgroups_checklist_create_group.asp。
组策略
组策略使您能够将配置设置应用于多个计算机。 您可以在组策略对象 (GPO) 中设置对交互式登录智能卡的要求,然后将该 GPO 应用于 Active Directory 中的组织单位或站点。 有关如何使用组策略的详细信息,请参阅第 3 章“使用智能卡帮助保护管理员帐户”。
注册站和注册代理
组织可以使用基于 Web 的界面向用户发放智能卡或注册用户,从而用户可以输入凭据并获取智能卡。 但是,这种方案实际上使智能卡的安全性降低到向 Web 界面提供凭据的相同级别。 首选解决方案是创建注册站并指定一个或多个管理员作为注册代理。
注意: 组织可以使用 Microsoft 管理控制台 (MMC) 界面或开发他们自己的激活应用程序。
典型注册站是连接有两个智能卡读取器的计算机。 一个读取器允许注册代理登录,另一个读取器向用户发放新智能卡。 注册站需要注册证书并且必须具有访问证书模板的权限。 只要注册代理取出智能卡,注册站的组策略设置就会强制注销。
指定的管理员充当注册代理的角色并使用智能卡登录至注册站。 然后管理员打开证书服务网页,验证用户身份,注册用户并发放已注册的智能卡。
组织应仔细考虑必需的注册站数量以及这些站的位置。 组织可能将其安全部门办公室内的注册站与发放设施访问权或站点访问权及其他通行证的设施放在同一位置。 为加快大型组织的初始部署,注册代理小组可以使用便携式计算机作为分支机构的移动注册站。
注意: 为减少管理复杂性并控制智能卡注册,强烈建议将注册代理和注册站的数量限制为部署所需的最小数量。
激活 Web 服务器
激活 Web 服务器是自定义组件,允许用户通过 PIN 重置来激活新智能卡。 某些供应商软件开发工具包 (SDK) 提供帮助构造激活 Web 服务器的工具。 Microsoft 不提供激活服务器组件。
要重置 PIN,用户运行加密服务提供程序 (CSP) 实用工具,该工具从智能卡生成十六进制质询字符串。 用户在网页上的一个字段中输入此质询字符串,激活 Web 服务器将生成响应。 用户在实用工具中的响应字段中键入响应,实用工具然后允许用户设置智能卡 PIN。
激活 Web 服务器还可以成为管理过程的一部分。 咨询台操作员可以使用此过程解除用户因输入错误 PIN 的次数太多而造成的卡锁定。 在此情况下,用户向咨询台操作员报出质询字符串,操作员以响应作出答复。
EAP-TLS
基于证书的安全环境使用 EAP-传输层安全 (EAP-TLS) 提供最强身份验证和密钥确定方法。 EAP-TLS 提供客户端与验证器之间的相互身份验证、加密方法协商以及加密密钥确定。 RFC 2284 提供 EAP 的详细描述。
评估智能卡
评估智能卡期间的主要因素是确保您选择的模型可以支持计划的密钥长度。 Windows Server 2003 支持的证书密钥长度为 384 位(低安全性)到 16,384 位(最高安全性)。
证书密钥长度越长,证书安全性越高,但是密钥长度较长会导致使用智能卡登录时所用的时间显著增加。 智能卡中的内存限制也会限制可以使用的最大密钥长度。
1,024 位的证书密钥长度适合保护管理员帐户或远程访问。 具有 1,024 位密钥的证书占用大约 2.5 KB 的智能卡内存空间。 其他内存要求包括操作系统 (16 KB)、CSP 之类的智能卡供应商应用程序 (8 KB) 以及智能卡文件和目录结构 (4 KB)。 因此,内存少于 32 KB 的智能卡不太可能适合存储登录证书,并且不太可能提供扩展智能卡解决方案所必需的功能。
要考虑的第二个因素是智能卡是否具有对 Windows Server 2003 和 Windows XP 的内置支持。 在购买智能卡之前,与供应商讨论您的要求。
注意: 您应该直接从智能卡的各自供应商处获取智能卡。 Microsoft 不提供智能卡。
尽管 Windows XP 和 Windows Server 2003 系列包括对某些智能卡的内置支持,但是其他基于 RSA 的加密智能卡也能够在这些操作系统中运行得很好。 对于 Windows 本来不支持的智能卡,智能卡供应商必须对使用 CryptoAPI 的智能卡实施 CSP。
有关智能卡评估的详细信息,请参阅 Evaluating Smart Cards and Readers 主题,网址为 www.microsoft.com/technet/prodtechnol/windowsserver2003/library/DepKit/0eae38ec-d6e5-4ca7-96a3-42f2fd6c6e74.mspx。
PIN 管理
用户可以使用一种使 CSP 能够显示私钥 PIN 对话框的实用工具,随时更改智能卡的 PIN。 然后用户输入旧 PIN,并输入新 PIN 两次。 用户认为自己选择的 PIN 更容易记住,因此应提供允许用户更改 PIN 的工具。
注意: 可能需要提醒用户不要设置容易猜测的 PIN,如他们的生日、车牌或电话号码。
用户负责通过 CSP 提供的设施来管理 PIN。 Windows XP 和 Windows Server 2003 系列操作系统不管理 PIN。 有关 PIN 管理工具和说明,请与智能卡供应商联系。
大多数智能卡供应商提供的智能卡直接与 Windows 2000 或更高版本集成,不需要其他自定义或开发。 制造商为这些智能卡提供预设 PIN,您可以对智能卡设置一些限制,如要求在注册时重置 PIN。 但是,许多企业不接受此方案。
要创建更复杂和安全的 PIN,使用 PIN 管理工具要求用户选择长度为五到八个字符的 PIN。 确保您选择的智能卡制造商支持多达八个字符的 PIN。
智能卡软件开发工具包
Microsoft 不提供智能卡部署的现成解决方案。 如果环境有要求,您可能必须提供其他自定义。
智能卡供应商提供 SDK 和个性化工具,使组织能够自定义智能卡部署。 例如,开发人员可以使用 SDK 在挂起状态下发放智能卡。 当注册代理发放智能卡时,用户激活智能卡并更改 PIN。 如果您要利用此方法提供的更高安全性,必须作好其他自定义和开发的预算。
评估智能卡读取器
选择适当的智能卡读取器时,一个主要因素是选择一个最适合其用途的智能卡读取器。 例如,管理员桌子下面的一台现代工作站有两个或更多 USB 连接,因此 USB 智能卡读取器可能是最适当的选择。 用户可以将智能卡读取器连接至监视器侧面或者将读取器放在另一方便位置。 从便携式计算机进行远程访问连接的用户通常喜欢使用 PC 卡格式的智能卡读取器。
键盘可以包括同样通过 USB 接口工作的智能卡读取器。 这些键盘适用于单台计算机,并且可能通过配备了 USB 的键盘视频鼠标 (KVM) 切换器与服务器机架中的多台计算机一起工作。 咨询您选择的 KVM 切换器制造商,了解他们的 KVM 切换器是否支持对多台服务器使用智能卡身份验证。
Windows XP 和 Windows Server 2003 系列支持下表中列出的智能卡读取器。 Windows 在检测到即插即用智能卡读取器硬件时安装正确的驱动程序。
注意: Microsoft 强烈建议使用具有 Windows 兼容徽标的智能卡读取器。
表 2.1: Windows Server 2003 中支持的智能卡读取器
品牌 |
型号 |
接口 |
American Express |
GCR435 |
USB |
Bull |
SmarTLP3 |
串行 |
Compaq |
Serial reader |
串行 |
Gemplus |
GCR410P |
串行 |
Gemplus |
GPR400 |
PCMCIA |
Gemplus |
GemPC430 |
USB |
Hewlett Packard |
ProtectTools |
串行 |
Litronic |
220P |
串行 |
Schlumberger |
Reflex 20 |
PCMCIA |
Schlumberger |
Reflex 72 |
串行 |
Schlumberger |
Reflex Lite |
串行 |
SConnection Manager Microsystems |
SCR111 |
串行 |
SConnection Manager Microsystems |
SCR200 |
串行 |
SConnection Manager Microsystems |
SCR120 |
PCMCIA |
SConnection Manager Microsystems |
SCR300 |
USB |
Systemneeds |
External |
串行 |
Omnikey AG |
2010 |
串行 |
Omnikey AG |
2020 |
USB |
Omnikey AG |
4000 |
PCMCIA |
注意: 使用串行接口的智能卡读取器要求在安装后重新启动计算机。 此要求可能不适用于服务器实施。
Microsoft 既不支持也不建议使用非即插即用的智能卡读取器。 如果您使用此类读取器,必须直接从智能卡读取器的制造商处获取安装说明(包括关联的设备驱动程序软件)。
Woodgrove National Bank 方案
本指南剩下的章节使用 Woodgrove National Bank 方案。 Woodgrove National Bank 是一家虚构的全球投资银行,作为金融中介角色为公共机构、公司、政府和个人客户提供服务。 其业务包括证券、销售和贸易、金融咨询服务、投资研究、风险资本以及为金融机构提供经纪服务。
Woodgrove National Bank 的员工人数超过 15,000,在全球有 60 多个办事处。 他们的公司总部(中心位置)在纽约(5,000 名员工)、伦敦(5,200 名员工)和东京(500 名员工)。 每个总部支持若干办事处。
虽然 Woodgrove National Bank 拥有使用 Windows 和 UNIX 的混合服务器环境,但是他们的基础结构在 Windows Server 主干网上运行。 他们拥有 1,712 台 Windows 服务器,其中大部分运行 Windows Server 2003。其中 100 台服务器接入 Internet。 组织内还有 18,000 台工作站和 2,000 台便携式计算机。 组织正在将计算机操作系统标准化为 Windows XP Professional SP2,并将服务器操作系统标准化为 Windows Server 2003 SP1。
大部分服务器位于三个公司总部。 组织的工作站和便携式计算机分布在所有位置。 便携式计算机通常在国家或地区之间移动。 Woodgrove National Bank 使用 Microsoft Systems Management Server 2003 来管理桌面计算机和便携式计算机,并使用 Microsoft Operations Manager (MOM) 2005 来管理服务器。
Woodgrove National Bank 必须在它运营业务所在的每个国家/地区的有关金融法规框架的要求内运营。 它还必须遵守所有适用的数据保护法规并证明有效的运营安全性。
本文档的剩下部分描述在 Woodgrove National Bank 规划智能卡部署时可用的设计选择。
总结
本章描述规划智能卡身份验证解决方案所需的常见考虑事项。 这包括先决条件,如 PKI 和 Active Directory。 它概述了评估智能卡和智能卡读取器的必要性,讨论了智能卡内存、密钥长度和 PIN 管理的问题。 接下来的章节重点讨论使用智能卡帮助保护管理员帐户和网络远程访问的独特方面。
共4页: 上一页 [1] 2 [3] [4] 下一页 |