NPS 身份验证方法 下载本文

由于证书可提供对用户和计算机进行身份验证的强大安全性而且可消除对基于密码的不太安全的身份验证方法的需要,因此用于网络访问身份验证。

使用基于证书的身份验证类型配置的两种身份验证方法均使用以下证书:EAP 和 PEAP。使用 EAP,可以配置身份验证类型 TLS (EAP-TLS),而使用 PEAP,可以配置身份验证类型 TLS (PEAP-TLS) 和 MS-CHAP v2 (PEAP-MS-CHAP v2)。这些身份验证方法始终使用证书进行服务器身份验证。根据使用身份验证方法配置的身份验证类型,证书还可用于用户身份验证和客户端计算机身份验证。

备注 使用证书对 VPN 连接进行身份验证是 Windows Server? 2008 中最强大的可用身份验证形式。必须根据采用 Internet 协议安全的第二层隧道协议 (L2TP/IPsec) 对 VPN 连接使用基于证书的身份验证。使用 EAP-TLS 作为身份验证方法时,虽然您可以将 PPTP 连接配置为使用证书进行计算机身份验证,但点对点隧道协议 (PPTP) 连接不需要证书。对于无线客户端,带 EAP-TLS 以及智能卡或证书的 PEAP 是建议的身份验证方法。 通过安装和配置 Active Directory 证书服务服务器角色,可以部署与 NPS 一同使用的证书。有关详细信息,请参阅 AD CS 文档。

证书类型

使用基于证书的身份验证方法时,了解以下类型的证书及其使用方式非常重要。

?

CA 证书

如果证书位于客户端和服务器计算机上,则向客户端或服务器表明它可以信任其他证书,如用于客户端或服务器身份验证的证书(由此 CA 颁发)。此证书是基于证书的身份验证方法的所有部署所必需的。

?

客户端计算机证书

由 CA 颁发给客户端计算机且在客户端计算机在身份验证过程中需要向运行 NPS 的服务器证明其身份时使用。

?

服务器证书

由 CA 颁发给 NPS 服务器且在 NPS 服务器在身份验证过程中需要向客户端计算机证明其身份时使用。

?

用户证书

由 CA 颁发给个人且通常作为智能卡中嵌入的证书进行分发。当个人在身份验证过程中需要向 NPS 服务器证明其身份时,会将智能卡上的证书与连接到客户端计算机的智能卡读卡器一同使用。

基于证书的身份验证方法

使用强 EAP 类型的 EAP(如带有智能卡或证书的 TLS)时,客户端和服务器都使用证书相互进行身份验证。此过程称为相互身份验证。证书必须满足某些要求,才允许服务器和客户端使用它们进行相互身份验证。

这类要求之一就是,证书是使用与证书使用关联的 EKU 扩展中的一个或多个目的来配置的。例如,客户端对服务器进行身份验证时所使用的证书必须是使用“客户端身份验证”目的来配置的。同样,用于服务器身份验证的证书必须是使用“服务器身份验证”目的来配置的。使用证书进行身份验证时,身份验证器将检查客户端证书,以在 EKU 扩展中寻找正确目的的对象标识符。例如,用于客户端身份验证目的的对象标识符为 1.3.6.1.5.5.7.3.2。使用证书进行客户端计算机身份验证时,此对象标识符必须存在于证书的 EKU 扩展中,否则身份验证将会失败。

证书模板是一个 Microsoft 管理控制台 (MMC) 管理单元,可用于对 AD CS 颁发的证书进行自定义。自定义可能性包括如何颁发证书以及证书包含哪些内容(包括其目的)。在证书模板中,可以使用默认模板(如计算机模板)来定义 CA 为计算机分配证书时所使用的模板。您还可以创建证书模板,并为证书分配 EKU 扩展中的目的。默认情况下,计算机模板包括 EKU 扩展中的“客户端身份验证”目的和“服务器身份验证”目的。

创建的证书模板可以包括将证书用于的任何目的。例如,如果使用智能卡进行身份验证,则除了“客户端身份验证”目的以外,还可以包括“智能卡登录”目的。您可以将 NPS 配置为在授予网络权限之前对证书目的进行检查。NPS 可以检查其他的 EKU 和颁发策略目的(也称为证书策略)。

备注 有些非 Microsoft CA 软件可能包含所谓的“全部”目的,表示所有可能的目的。这由一个空白的(或空)EKU 扩展表示。尽管“全部”旨在表示“所有可能的目的”,但不能将“全部”目的替换为“客户端身份验证”目的、“服务器身份验证”目的,或与网络访问身份验证有关的任何其他目的。 了解使用证书的身份验证

将证书作为身份证明提供给客户端或服务器计算机时,身份验证器必须检查该证书以确定其有效性(无论出于何种目的进行配置),并了解证书是否由身份验证器所信任的 CA 颁发。

假设证书的配置正确且有效,身份验证过程最重要的方面就是通过身份验证器检查它是否信任颁发证书的 CA。 如果身份验证器信任 CA,而且证书有效且按照最低的客户端和服务器证书要求正确进行了配置,则身份验证将成功。如果身份验证器不信任 CA,则身份验证将失败。

如何建立信任

基于 Windows 的计算机将证书保留在本地计算机上的证书存储区中。存在专门为本地计算机、当前用户和各个服务(如网络连接、自动更新和计算机浏览器)设置的证书存储区。在每个证书存储区中都有名为“受信任的根证书颁发机构”的文件夹,其中包含来自受信任的每个 CA 的证书,无论它们是公共的还是专用的 CA。

为了确定信任,身份验证器将针对当前用户或本地计算机检查“受信任的根证书颁发机构”证书存储区。

如果颁发用于身份验证的客户端、用户或服务器证书的 CA 在本地计算机上的“受信任的根证书颁发机构”证书存储区中具有证书,则身份验证器将信任证书。如果颁发证书的 CA 在本地计算机上的“受信任的根证书颁发机构”证书存储区中没有 CA 证书,则身份验证器不信任证书。

重要事项 CA 证书必须存在于本地计算机(无论计算机为客户端还是服务器)上的“受信任的根证书颁发机构”证书存储区中,由 CA 颁发的其他证书才会得到信任。 公共 CA

默认情况下,某些受信任的根 CA 证书(由公共的受信任根证书颁发机构颁发)包括在 Windows 的所有安装中;它们包括在产品安装光盘中或存在于由提供安装了 Windows 的计算机的原始设备制造商 (OEM) 出售的计算机中。 例如,位于运行 Windows XP 的计算机上的证书存储区中的“受信任的根证书颁发机构”文件夹中,存在来自 Verisign Trust Network CA、Thawte Premium Server CA 和 Microsoft 根证书颁发机构的 CA 证书。如果运行 Windows XP 的计算机中存在由上述某个 CA 颁发的证书和正确配置且有效的证书,则运行 Windows XP 的计算机信任该证书。

可以从许多公司(如 Verisign 和 Thawte)购买要在身份验证基础结构中使用的其他证书。例如,部署 PEAP-MS-CHAP v2 且在客户端上启用“验证服务器证书”设置时,客户端计算机将使用 NPS 服务器证书对 NPS 服务器进行身份验证。如果不想部署您自己的 CA 并将您自己的服务器证书颁发给 NPS 服务器,则可以从其 CA 已受到客户端计算机信任的公司购买服务器证书。

专用 CA

当组织部署其各自的公钥基础结构 (PKI) 并安装专用的受信任根 CA 时,其 CA 会将其证书自动发送给组织中的所有域成员计算机。域成员客户端和服务器计算机将 CA 证书存储在“受信任的根证书颁发机构”证书存储区中。出现这种情况后,域成员计算机将信任组织的受信任根 CA 颁发的证书。

例如,如果您安装了 AD CS,则 CA 会将其证书发送给组织中的域成员计算机,并且它们将 CA 证书存储在本地计算机上的“受信任的根证书颁发机构”证书存储区中。如果您还为 NPS 服务器配置并自动注册了服务器证书,然后由为无线连接部署了 PEAP-MS-CHAP v2,则所有的域成员无线客户端计算机都可以使用 NPS 服务器证书成功地对 NPS 服务器进行身份验证,因为它们信任颁发 NPS 服务器证书的 CA。

备注 非域成员计算机必须在“受信任的根证书颁发机构”证书存储区中手动安装专用的 CA 证书才会信任专用 CA 颁发的证书,如 NPS 服务器证书。 所需的证书

下表标识了成功部署每种基于证书的身份验证方法所需的证书。

对于 EAP-TLS 和 PEAP-TLS 对于 PEAP-MS-CHAP v2 证书 是否是必需的? 是否是必需的? 详细信息 本地计算机是。系统将为域成员计算机自动是。系统将为域成员计算机自对于 PEAP-MS-CHAP v2,和当前用户的“受信任的根证书颁发机构”证书存储区中的 CA 证书。 客户端的证书存储区中的客户端计算机证书。 注册 CA 证书。对于非域成员计算机,必须将证书手动导入证书存储区中。 动注册此证书。对于非域成员计算机,必须将证书手动导入证书存储区中。 此证书是在客户端与服务器之间进行相互身份验证所必需的。 是。客户端计算机证书是必需的,否。使用基于密码的凭据(而除非已在智能卡上分发了用户证书。系统将为域成员计算机自动注册客户端证书。对于非域成员计算机,必须手动导入该证书或使用 Web 注册工具获取该证书。 不是证书)来执行用户身份验证。 如果在智能卡上部署用户证书,则客户端计算机不需要客户端证书。 NPS 服务器的证书存储区中的服务器证书。 是。可以配置 AD CS,以便为 Active Directory 域服务 (AD DS) 中的 RAS 和 IAS 服务器组的成员自动注册服务器证书。 是。除了对服务器证书使用 AD CS 以外,还可以从客户端计算机已信任的其他 CA 处购买服务器证书。 NPS 服务器会将服务器证书发送给客户端计算机;客户端计算机将使用该证书对 NPS 服务器进行身份验证。 智能卡上的用户证书。 否。只有当您选择部署智能卡而不自动注册客户端计算机证书时,此证书才是必需的。 否。使用基于密码的凭据(而不是证书)来执行用户身份验证。 对于 EAP-TLS 和 PEAP-TLS,如果您没有自动注册客户端计算机证书,则智能卡上的用户证书就是必需的。 重要事项 IEEE 802.1x 身份验证对 802.11 无线网络和有线以太网网络提供了经过验证的访问权限。802.1X 对安全的 EAP 类型(如带有智能卡或证书的 TLS)提供支持。可以采用多种方式使用 EAP-TLS 来配置 802.1X。如果在客户端上配置了“验证服务器证书”选项,则客户端将使用其证书对服务器进行身份验证。可以使用客户端证书存储或智能卡中的证书(提供相互身份验证)来完成客户端计算机和用户身份验证。借助无线客户端,可以使用 PEAP-MS-CHAP v2 作为身份验证方法。PEAP-MS-CHAP v2 是结合使用 TLS 和服务器证书的基于密码的用户身份验证方法。在执行 PEAP-MS-CHAP v2 身份验证期间,IAS 或 RADIUS 服务器将提供用于向客户端验证其身份的证书(如果在 Windows Vista? 和 Windows XP Professional 客户端上配置了“验证服务器证书”选项)。客户端计算机和用户身份验证是使用密码完成的,这消除了为无线客户端计算机部署证书时的一些困难。 向域和非域成员计算机注册证书

要为其注册证书的计算机的域成员身份会影响可以选择的证书注册方法。可以自动注册域成员计算机的证书,但管理员必须使用 AD CS Web 注册工具或软盘或光盘来为非域成员计算机注册证书。

域成员证书注册

如果您的 VPN 服务器、NPS 服务器或运行 Windows 2000、Windows XP 或 Windows Vista 的客户端是运行