恶人谷

大道如青天,恶人走半边;心善莫入内,谷中人心奸。<br>恶山钟灵秀,邪云涧间生;满目皆苍翠,虎豹入谷惊。<br>我辈人中奸,自在谷中仙;善恶站两边,指手划青天。

697 成员6,551 主题52,039 回复4 张照片

Windows 2000 安全性技术概述 ----嘿嘿,,看过系统说明书没有,没有的话,see it

荒
荒原
2001-07-12 14:47
Windows 2000 安全性技术概述
作系统
白皮书
摘要

Microsoft&reg; Windows&reg; 2000 Server 作系统的分布式安全服务能让组织识别网络用户并控制他们对资源的访问。作系统的安全模型使用信任域控制器身份验证、服务之间的信任委派以及基于对象的访问控制。其核心功能包括了与 Windows 2000 Active Directory&#8482; 服务的集成、支持 Kerberos 版本 5 身份验证协议(用于验证 Windows 2000 用户的身份)、验证外部用户的身份时使用公钥证书、保护本地数据的加密文件系统 (EFS),及使用 Internet 协议安全性 (IPSec) 来支持公共网络上的安全通讯。此外,开发人员可在自定义应用程序中使用 Windows 2000 安全性元素,且组织可以将 Windows 2000 安全设置与其他使用基于 Kerberos 安全设置的作系统集成在一起。

引言

Microsoft&reg; Windows&reg; 2000 Server 作系统不仅通过新的网络技术来协助组织扩展其作,也通过增强的安性服务来协助组织保护其信息及网络资源。

Windows 2000 分布式安全服务针对主要业务需求,其中包括:

让用户登录一次即可访问所有企业资源的能力。
强大的用户身份验证及授权能力。
内部和外部资源间的安全通讯。
设置及管理必要安全性策略的能力。
自动化的安全性审核。
与其他作系统和安全协议的互作性。
支持使用 Windows 2000 安全设置功能进行应用程序开发的可扩展架构。
这些功能是整体 Windows 2000 安全设置架构的重要元素。Windows 2000 安全性基于简单的身份验证和授权模型。身份验证在用户登录时识别用户并将网络连接到服务。经过识别后,用户就会有权按照权限对一组特定的网络资源进行访问。授权是通过访问控制机制来进行的,使用存储在 Active Directory&#8482; 中的数据项以及访问控制列表 (ACL),后者定义对象(包括打印机、文件、网络文件、及打印共享)的权限。

此安全模型让经过授权的用户在扩展的网络上工作时更为容易,同时也提供强大的保护以对抗攻击。Windows 2000 分布式安全模型基于信任域控制器身份验证、服务之间的信任委派以及基于对象的访问控制。

首先,域中的每台客户机都通过安全地对域控制器验证身份来创建直接信任路径。其次,客户端不可能直接访问网络资源;相反,网络服务创建客户端访问令牌并使用客户端的凭据来执行请求的作以模拟客户端。最后,Windows 作系统核心在访问令牌中使用安全性标识符来验证用户是否被授予所需的对目标对象的访问权限。

本白皮书描述 Windows 2000 分布式安全服务支持此模型的主要元素;包括 Active Directory、身份验证和授权、以及有关 Kerberos 身份验证协议的介绍。并对 Windows 2000 如何使用公钥基本结构以及作系统如何支持证书服务进行概述。另外还介绍用来保护硬盘上数据的加密文件系统 (EFS)。最后,它描述应用程序开发人员如何获得 Windows 2000 安全服务以及这些安全服务如何与其他作系统提供的服务进行互作。

注意 本白皮书的每个主题在 Windows 2000 Web 站点技术库 http://www.microsoft.com/windows2000/library 中都有更详细的说明。在那里可以找每项主要技术的白皮书、作系统联机文档及资源工具箱。

Active Directory 的角色

Windows 2000 Active Directory 服务在网络安全性中扮演重要角色。Windows 2000 Server 和 Windows 2000 Professional 都有安全性功能保护存储在个别 PC 上的信息。但对于控制网络资源访问的广泛的、基于策略的安全,组织应该同时使用 Windows 2000 Server 和 Professional 才可利用 Active Directory 所提供的分布式安全性功能的优势。

Active Directory 提供一个中央位置来存储关于用户、硬件、应用程序和网络上数据的信息,这样用户就可以找到他们所需要的信息。它也保存了必要的授权及身份验证信息以确保只有适当的用户才可访问每一网络资源。

此外,Active Directory 与 Windows 2000 安全服务(如 Kerberos 身份验证协议、公钥基本结构、加密文件系统 (EFS)、安全性配置管理器、组策略以及委派管理等)紧密集成。此集成允许 Windows 应用程序利用现有安全性架构,这项功能在本白皮书中的稍后部分有说明。

Active Directory 基础

由于两者密不可分的关系,若要了解安全服务在 Windows 2000 中的工作方式,就需要对 Active Directory 架构有个基本了解。若您不熟悉 Active Directory,本部分提供了简要概述。

注意 有关 Active Directory 的详细信息,请浏览 Windows 2000 技术库 中的资源。

与用在 Windows NT&reg; Server 作系统中的平面文件目录不同,Windows 2000 Active Directory 在以表示您的业务结构的逻辑层次结构中存储信息。这种方式允许更大的增长空间及简化的管理。为了创建层次结构,Active Directory 使用域、组织单元 (OU) 及对象来让您以更类似于在 Windows 中使用文件夹和文件来组织您 PC 上信息的方式来组织网络资源。


如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

图 1 Active Directory 服务的层次结构

域是网络对象(包括组织单元、用户帐户、组和计算机,他们都共享与安全性有关的公用目录数据库)的集合。域形成 Active Diectory 内逻辑体系结构的核心单元,因此在安全性中扮演重要角色。如果将对象分组到一个或多个域中,您的网络就可反映您公司的组织方式。

较大型的组织可以含有多个域,这种情况下的域层次结构就称为域目录树。第一个创建的域是根域,它是在其下创建的域的父域,其下的域称为子域。若要支持非常大型的组织,可将域目录树链接在一起,形成一种称为目录林的排列。(在使用多个域控制器的情况下,Active Directory 会按固定时间间隔复制到域中的每个域控制器上,以使数据库永远同步。)

域可标识一个安全机构,并使用一致的内部策略及与其它域间的明确安全性关系形成一个安全边界。特定域的管理员只在本域中有设置策略的权限。这对大型企业的帮助很大,因为不同的管理员可以创建并管理组织中不同的域。此管理含义在下面的“管理委派”部分有进一步的探讨。

站点是在学习有关 Active Directory 的知识时会碰到的另一个术语。域通常会反映一个组织的商业结构,而站点则通常被用来定义与地理分布有关的 Active Directory 服务器组。这些计算机通常都以高速链接来连接,但它们彼此之间可以有也可以没有逻辑关系。例如,若您有一个大型建筑物供一些相对无关的组织活动使用,如视频产品设备、备办食物、文件存储等,则这栋建筑物中的 Active Directory 服务器可以被当作一个站点(即使在该服务器上所完成的处理是不相关的)。

所谓组织单元(OU),是指一个容器,可用它将对象组织成域中的逻辑管理组。OU 可包含对象,如:用户帐户、组、计算机、打印机、应用程序、文件共享和其他的 OU。

对象包含关于个别项目(如特定用户、计算机或硬件)等的信息(称为属性)。例如,用户对象的属性可能包含姓和名、电话号码和管理器名称。计算机的对象可能包含计算机的位置及访问控制列表 (ACL),列表中会指定对该计算机拥有访问权限的组和个人。

通过将信息分组到域和 OU 中,可以管理对象集合(如用户组和计算机组)的安全性,而不是逐个管理每个用户和对象。此概念将在下面的“使用组策略来管理安全性”部分作进一步描述。首先,还有另一个对了解安全性如何使用 Active Directory 极为重要的概念:信任。

域间的信任关系

为了让用户登录网络一次就可以使用网络上所有资源(通常称为单一登录能力),Windows 2000 支持域间的信任关系。所谓信任关系,是指一种逻辑关系,这种逻辑关系在域之间建立,用来支持直接传递身份验证,让用户和计算机可以在目录林的任何域中接受身份验证。这让用户或计算机仅需登录网络一次就可以对任何他们有适当权限的资源进行访问。这种穿越许多域的能力说明了传递信任这个术语,它是指跨越一连串信任关系的身份验证。

基于 Windows NT 的网络使用单向、非传递的信任关系。相反,当基于 Windows 2000 的域被组织成目录树时(如上面的 图 1 所示),域间会创建隐含信任关系。这使在中型和大型组织中建立域间的信任关系更为容易。属于域目录树的域定义与目录树中的父域的双向信任关系,而所有域都隐含地信任目录树中的其他域。(如果有不应该有双向信任的特定域,您应该定义明确的单向信任关系。)对于具有多个域的组织,使用 Windows 2000 比使用 Windows NT 4.0,明确的单向信任关系总数显著减少,这种改变将大大简化域的管理。传递信任在默认情况下建立于目录树中,这样做之所以有意义是因为通常是由单个管理员来管理一个目录树。但因为目录林不太可能被单个管理员控制,因此目录林的目录树间的传递信任关系必须特别创建。

有关信任关系工作方式的说明,请再次参考上面的图 1。Windows 2000 自动于根域 (Microsoft.com) 及其两个子域(FarEast.Microsoft.com 和 Europe.Microsoft.com)间建立双向信任关系。此外,因为 Microsoft.com 信任这两个子域,因此信任关系也在 FarEast 和 Europe 域间传递性地建立。这些关系在基于 Windows 2000 的域间自动建立。在有基于 Windows 2000 和基于 Windows NT 域的网络中,管理员可以创建用在基于 Windows NT 的网络中明确的单向信任关系。

为了向后兼容性,在 Windows 2000 中,信任关系通过使用 Kerberos V5 协议及 NTLM 身份验证(描述如下)支持跨域的身份验证。这一点很重要,因为许多组织的基于 Windows NT 的企业域模型非常复杂,具有多个主域和许多资源域,而这些组织发现管理资源域和其主帐户域间的信任关系既花费成本又非常复杂。因为基于 Windows 2000 的域目录树支持传递信任目录树,它简化了较大型组织的网络域集成及管理。不过请注意,对于 ACL 不同意授予某些权限的人,传递信任不会自动将这些权限指派给他(或她)。传递信任让管理员更容易定义和配置访问权限。

使用组策略管理安全性

组策略设置是配置设置,管理者可用此设置来控制 Actove Directory 中对象的各种行为。“组策略”是 Active Directory 一项显著的功能,它让您以相同的方式将所有类型的策略应用到众多计算机上。例如,可以使用“组策略”来配置安全性选项,管理应用程序,管理桌面外观,指派脚本,以及将文件夹从本地计算机重新定向到网络位置。系统将“组策略”设置在计算机激活时应用于计算机,在用户登录时应用于用户。

可以将“组策略”配置设置与三个 Active Directory 容器相关联:组织单元 (OU)、域或站点。与给定的容器相关的“组策略”设置不是影响该容器中所有的用户或计算机,就是影响该容器中特定的对象集合。

可以使用“组策略”来定义广泛的安全性策略。域级策略应用于域中的所有用户并包含如帐户策略等的信息 - 例如,最短密码长度或用户多久该更改密码一次。可以指定在较低级别是否可改写这些设置。

在使用“组策略”功能来应用广泛的策略后,可以进一步细化个别 PC 上的安全性设置。本地计算机安全性设置控制您想要授予特定用户或计算机的权限和特权。例如可以指定谁可在服务器上进行备份和还原、或希望审核桌上型计算机的数据访问量。

特定计算机的设置是从域到 OU 所有策略设置的组合。例如,在上面的图 1 中,Europe.Microsoft.com 域中用户的设置是 Microsoft.com 域、Europe.Microsoft.com 域及域中所有 OU 上设置的所有策略的集合。

身份验证和访问控制

身份验证是系统安全性的基本方面。身份验证是用来确认任何试图登录到域或访问网络资源的用户的身份。Windows 2000 身份验证过程是使单一登录可访问所有网络资源的过程的一部分。使用单一登录,用户可以用单一密码或智能卡登录到域中一次,并可对域中任何计算机进行身份验证。

在基于 Windows 2000 的计算环境中,成功的用户身份验证是由两个单独的过程组成的: 互动式登录,这会向域帐户或本地计算机确认用户的身份;以及网络身份验证,这会向用户试图访问的任何网络服务确认用户的身份。

一旦用户帐户经过身份验证并可访问对象时,要么是分配至该用户的权力要么就是附加于对象的许可来决定所授予的访问权限的类型。至于域中的对象,该对象类型的对象管理器会实施访问控制。例如,注册表会对注册表项实施访问控制。

本节后面会更为详尽地描述 Windows 2000 身份验证过程及访问控制规定。

身份验证

用户在 Active Directory 中必须有一个 Windows 2000 用户帐户,以登录到计算机或域中。此帐户会为用户创建一个身份,然后作系统会使用此身份验证用户的身份并授予访问特定域资源的权限。

用户帐户还可用作一些应用程序的服务帐户。也就是说,服务可被配置成以用户帐户登录(身份验证),然后通过该用户帐户授予对特定网络资源的访问权限。

就像用户帐户一样,Windows 2000 计算机帐户提供一种方法来进行身份验证以及审核计算机对网络的访问权限以及对域资源的访问权限。每一台您想要授予访问资源权限的基于 Windows 2000 计算机都必须有一个唯一的计算机帐户。

注意 运行 Windows 98 和 Windows 95 的计算机没有那些运行 Windows 2000 和 Windows NT 的计算机所拥有的高级安全功能,并且在基于 Windows 2000 的域中不能被指派计算机帐户。不过,您可以登录网络并在 Active Directory 域中使用基于 Windows 98 和 Windows 95 的计算机。

Windows 2000 支持多重身份验证机制以供用户在进入网络时证明自己的身份。在使用 Extranet 和电子商务应用程序来延伸您的网络到公司外的用户时,这个机制就非常重要。

当用户进入网络时,用户必须提供身份验证信息以便安全系统身份验证其身份,之后再决定要允许该用户以什么权限(如果有的话)访问网络资源。Kerberos 身份验证协议(描述如下)用来验证您公司中的 Windows 2000 用户的身份。当将系统延伸到合作伙伴、供货商和 Internet 上的客户时,您必须支持多种方法让您公司以外的用户证明他们的身份。

为了帮助您满足这种需求,Windows 2000 支持数种产业标准身份验证机制,包括 X.509 证书、智能卡和 Kerberos 协议。此外,Windows 2000 还支持在 Windows 中使用多年的 NTLM 协议,并为开发生物身份验证机制的厂商提供接口。

在 Active Directory 中使用“组策略”,可以根据用户的角色和您的安全需要为个别用户或用户组指派特定身份验证机制。例如,您可能需要执行人员仅使用智能卡来验证其身份,以便在证明其身份时提供额外的安全元素;对于 Internet 客户,您可能需要以 X.509 证书(可与任何浏览器并用)进行身份验证;对于内部职员,您可以继续使用 NTLM 用户名称/密码身份验证。无论用什么方法来证明身份,Windows 2000 总是使用 Active Directory 来查阅身份验证机制所呈现的身份。

若身份验证成功,可以根据身份验证机制所提供的身份找到用户帐户,Windows 2000 会为用户提供一组凭据,该凭据可用来访问整个网络上的资源。

访问控制

Windows 2000 通过让管理员给对象指派安全性描述符,如文件、打印机和服务等来执行访问控制。对象的安全性描述符包括访问控制列表 (ACL),该列表是用来定义哪一用户(依照个人或组)有权限对该对象执行特定作。对象的安全性描述符还指定该对象待审核的各种访问事件,如所有写入到安全文件的活动。通过管理对象的属性,管理员可以设置使用权限,指派拥有权,并监视用户的访问。

管理者不仅可控制对特定对象的访问,也可控制对该对象的特定属性的访问。例如,通过对象的安全性描述符的适当配置,可允许用户访问信息子集,如职员姓氏、名字和电话号码,但不包括他们的家庭住址。

使用对象的 ACL,Windows 2000 会比较关于客户端和关于对象的信息来决定用户对该对象(例如,文件)是否具有所需的访问权(例如,读取/写入权限)。访问检查是在 Windows 2000 的安全性子系统内的核心模式中完成的。服务会根据此比较的结果来响应客户端,要么对对象提供服务,要么返回一个访问遭拒绝的失败。

精密的访问控制

为了给管理者较大的弹性来指派安全性设置,Active Directory 提供对目录中对象的精密访问控制。目录中的项可以有丰富的架构:用户或组可以有数百种属性,如电话号码、办公室号码、管理器以及成员所属的组等。可以对该用户帐户的所选属性授予权限,但不授予对所有属性的完整读取/写入权限。也可以依照属性来审核客户端帐户的更改或其他 Active Directory 记录的更改。

管理委派

Active Directory 让管理者在域的目录林中委派管理任务子集,这样组织就可以将域管理的责任分发给数个职员。可以通过创建包含您想委派控制的对象的组织单元来对域目录树的任何级别委派管理控制,然后把这些组织单元的管理控制委派给特定用户或组。

在组织单元级别,管理员可授予特定作权限,如谁可以创建组,谁可以控制那些组的成员资格列表,或谁可以向域中添加计算机帐户等。“组策略”设置和用户组允许管理员精确定义委派的授权单位。例如,修订用户记录的授权就可以委派给特定用户组,如“会计支持小组”,而该组的授权又可以限于所选用户子集,如会计工资单职员。

另外,因为精密的访问控制(上述),管理员可严密地定义委派任务的范围。例如,不需给支持组完整的用户帐户记录权限,管理者可给支持组以重设用户密码的能力,但不给予更改用户地址的能力。

注意 有关 Active Directory 与安全性之间的关系的详细信息,请参阅 Windows 2000 服务器技术库中的“Active Directory Users, Computers, and Groups”白皮书 。

Kerberos 身份验证协议

Windows 2000 使用 Internet 标准 Kerberos V5 协议 (RFC 1510) 作为验证用户身份的主要方法。Kerberos 协议提供在客户机和服务器两者之间的网络连接打开前交互身份验证的机制。此方法对包含开放通讯(如那些已经在 Internet 上实现的)的网络来说是非常理想的。

Kerberos 身份验证是根据票据。当客户端登录到基于 Windows 2000 的域时,会收到一张票据,这张票据是用来向所访问网络资源验证客户端,以及向客户端验证网络资源。为此,Kerberos 协议依靠身份验证技术,这个技术叫做共享机密身份验证。这个方法的前提很简单:若仅有两个人知道秘密,那么两人中的任何一个人都可以通过确认另一个人是否知道这个秘密来确认对方的身份。

使用 Kerberos 协议,客户机和服务器都会向 Kerberos 身份验证服务器注册。使用 Kerberos 身份验证的客户端将由用户密码派生的加密信息发送到 Kerberos 服务器,该服务器使用它来验证用户的身份。同样地,服务器将信息发送到客户端的 Kerberos 软件,该软件就可验证服务器的身份。此交互身份验证过程(下面有较详尽的描述)可同时避免客户机和服务器被恶意的用户冒充。

此方法是对 Windows NT 4.0 身份验证过程(称为 NTLM)的一种改进,后者需要对用户所访问的每个网络资源进行单独的客户端身份验证。Kerberos 替换 NTLM 成为访问基于 Windows 2000 Server 的域内或域间的资源的主要安全协议。(为确保向后兼容性,仍支持 NTLM。)完整的 Kerberos 协议支持提供对基于 Windows 2000 Server 的资源以及支持此协议的其它环境进行快速、单一的登录。

Kerberos 身份验证过程

用最简单的说法,Kerberos 身份验证过程就是在客户机和服务器之间检查和发送凭据。以下是它运作的方式:当用户登录到基于 Windows 2000 的域时,Windows 2000 会找到 Active Directory 服务器和 Kerberos 身份验证服务,并将客户端凭据发送给 Kerberos 服务。客户端是由用来取得密钥的密码来验证身份,这个密钥可由服务器验证,或(在使用智能卡登录的情况下)由使用私钥加密的信息来验证身份,此私钥的公开部分是在 Active Directory 中注册的。在检查客户端身份验证信息后,Kerberos 服务,称为“密钥发行服务”(KDC),为用户签发授予票据的票据 (TGT),当客户端要求后续 Kerberos 票据以登录到网络资源时,这个票据就会用来标识客户端。(使用 TGT 减少 KDC 必须查阅客户端信息的次数。)虽然这是一个复杂的过程,但用户唯一要做的就是输入自己的密码来登录。

图 2 显示了客户机、KDC 和使用 Kerberos 身份验证协议的应用程序服务器三者之间的关系。


如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

图 2 Kerberos 身份验证过程。

Kerberos 和 Active Directory

每个基于 Windows 2000 的域控制器将 Active Directory 实现为其目录并集成 KDC。这允许所有用户帐户信息存储在单个目录中。若您的组织是中型或大型的,您可能有多个域控制器来给组织提供可用性和容量。这不会影响您使用 Kerberos 身份验证的能力,因为只要有 Active Directory 的副本,就会有 Kerberos 身份验证服务的副本。

身份验证委派

此讨论已经说明了客户端访问单个服务器的情况。然而,对应用程序而言,使用几个服务器来执行任务是很平常的。例如,基于 Web 的应用程序可能既使用 Web 服务器,又使用一个数据库服务器,以此为基于浏览器的客户端提供信息。不用让客户端通过其所使用的每个服务器的个别身份验证过程,Windows 2000 提供跨多层应用程序(也称为三层应用程序)的安全措施。

如先前所述,基于 Windows 2000 的域间的传递信任关系极大地扩展了运行 Windows 2000 或 Windows NT 工作站的客户端在登录到基于 Windows 2000 的域后可访问的资源范围,不需许多不同密码来访问不同服务器和资源。访问范围(称为单一登录)是通过结合 Windows 2000 信任机制和 Kerberos 协议使用 Active Directory 来处理客户端身份验证的方法而达成。

作系统提供单一安全模型及基本结构以定义用户帐户及管理访问权限。这表示您可以在 Active Directory 中一次性定义设置,然后将他们用于您组织中的所有应用程序服务器。这种用来支持三层模型的方法就叫做身份验证委派。


如果您的浏览器不支持嵌入框架,请单击此处在单独的页中查看。

图 3 身份验证委派。

如上面的图 3 所示,这种模型允许客户端身份验证交给应用程序涉及的服务器。此服务器会模拟客户端,并代表客户端来执行访问请求。这表示所有身份验证凭据和票据的传递并不需要用户输入。虽然服务器会模拟客户端,但对原始客户端的审核记录会被保存。当服务器处理一个由另一个服务器转送过来的请求时,其记录会显示客户机的名称,而非中介服务器的名称。

此模型是 Windows 2000 的一个重要元素,因为它支持单一登录并简化(不影响)安全性。今天的许多应用程序需要为安全性准备单独的帐户数据库。但是使用 Active Directory 集中存储安全信息的应用程序有助于创建更易于管理和伸缩的网络。

注意 有关 Kerberos 身份验证的详细信息,请参阅 Windows 2000 技术库中的“Windows 2000 Kerberos Authentication”和“Windows 2000 Kerberos Interoperability”白皮书,网址是 http://www.microsoft.com/windows2000/library。

公钥基本结构

公钥加密技术用于保护开放网络上活动的安全,如在 Internet 上。它允许您加密数据、签名、并通过使用证书来验证客户机和服务器的身份。此技术的挑战在于跟踪证书。公钥基本结构(PKI) 提供使用、管理、及查找公钥证书的能力。本节内容详尽描述 PKI 并解释 Windows 2000 PKI 运作的方式。

PKI 是数字证书、证书颁发机构 (CA) 和其他检查并验证参与电子交易各方合法身份的注册机构的一种行业标准系统。可以使用您的公钥基本结构来支持广泛的网络和信息安全性需求。例如,在您的网络上没有 Windows 2000 帐户的用户(如业务伙伴)需要另一种方法证明其身份以便您可以控制它们对信息的访问。这些用户的身份可以通过使用 PKI 来验证。

公钥证书是用来验证身份并发送用来加密和解密数据的密钥。有两种用于公钥加密技术的密钥类型,一种是公钥£?另一种是私钥。公钥在证书中很容易取得,但通过公钥加密后的数据只可以使用私钥来解密。一笔受到保护的交易需要公钥和私钥两种密钥来对包含于交易中的数据进行加密和解密。

Windows 2000 PKI 提供服务架构、技术、协议和允许您部署并管理强大的信息安全性系统(该系统基于公钥技术)的标准。Windows 2000 中的 PKI 支持公钥加密技术,应用程序和用户轻易可以找到并使用证书,而无须了解它们存放的地方和运作的方式。此外,Windows 2000 PKI 与 Active Directory 和作系统的分布式安全服务完全集成在一起。


如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

图 4 Windows 2000 公钥基本结构组件。

PKI 证书支持

基本上,证书是一个由颁发机构签发的数字声明,它可担保私钥持有者的身份。证书将公钥与持有相应私钥的人员、计算机或服务等身份连接到一起。

基于 Windows 2000 证书的过程所使用的标准证书格式是 X.509v3。X.509 证书包含关于证书接收方的人或实体的信息、证书的信息、还有签发证书的颁发机构的可选信息。

证书服务

为使您可以实现 PKI 而不需依靠外部 CA,Windows 2000 包含一个称为“证书服务”的组件,用来创建并管理 CA。“证书服务”与 Active Directory 和分布式安全服务集成,如上面的图 4 所示。

CA 负责创建并担保证书持有人的身份。CA 也可以撤消证书(如果证书不再被视为有效),并发布证书撤消列表 (CRL) 供证书确认方使用。最简单的 PKI 设计仅有一个根 CA。然而,实际上,大多数部署 PKI 的组织会使用许多 CA,这些 CA 组织成信任组(称为证书层次结构)。

“证书服务”有一个独立的组件是 CA Web 登记页。默认情况下,这些 Web 页在您设置 CA 并允许证书请求者具有用网页浏览器提交证书请求的能力时就安装好了。此外,CA Web 页可以安装在未安装证书颁发机构的基于 Windows 2000 的服务器上。这种情况下,Web 页用于将证书请求定向到 CA,因为无论出于什么原因,您都不会希望请求者直接进行访问。若您选择为您的组织创建自定义 Web 页来访问 CA,则可将 Windows 2000 中所提供的 Web 页当作示例使用。<0}

为使部署公钥安全措施变成一项简单的工作,在 Windows 2000 内实现了计算机所用证书登记步骤的自动化。因为使用了 Active Directory,服务器会知道他们可以取得证书,而且会在需要时自动取得。这表示服务器管理员不需要到每一个服务器上手动执行所有步骤来登记服务器证书。

公钥策略

使用 Windows 2000 中的“组策略”不仅可以自动将证书分发给计算机,建立证书信任列表及信任证书颁发机构的列表,而且可以管理加密文件系统的恢复策略。

CryptoAPI

除“证书服务”外,Windows 2000 PKI 还依靠 Microsoft CryptoAPI 版本 2 来进行安全的密码作及私钥管理。CryptoAPI 是 Windows 2000 应用程序编程接口 (API),为 Windows 和 Windows 应用程序提供密码服务。它提供一组功能,以允许应用程序加密数据或以数字方式灵活地签发数据,而同时又提供对私钥的保护。实际的密码功能由被称为密码服务提供程序 (CSP) 的独立模块实现。

开发人员可以使用 CryptoAPI 将“证书服务”与现有数据库及第三方目录服务集成到一起。CryptoAPI 的常规用途包括支持自定义过程来保护电子文档。

使用证书来验证外部用户的身份

在某些情况下,您可能希望为外部用户提供一些对某 Web 站点上发行的特定数据的安全访问权(通常公众无法访问该站点)。典型的情况有:合作伙伴需要 Extranet 访问权;某一部门需要访问另一部门的 Intranet 网页;或您希望对部分公众提供选择性访问权。

为此,Windows 2000 提供一种方法可安全地为用户授予访问权限,即使用 PKI 和 Active Directory 来验证用户的身份。这里是它的运作方式的一般概述: 您是通过在 Active Directory 中创建用户帐户并指派给外部用户来提供访问权的。此帐户对外部用户可在您的网络上使用的资源具有访问权。每个外部用户都需要有证书来验证其身份。该证书必须由证书颁发机构签发,这些机构列在 Active Directory 站点、域或组织单元(您已在其中创建了用户帐户的)的证书信任列表中。当用户登录时,系统会将用户的证书映射到帐户,然后决定用户可以使用您内部 Web 站点的哪些部分。身份验证过程对外部用户来说是透明的。

PKI 用于 Windows 2000 的情况

除了上述的供外部用户验证其身份的方法外,还有其他一些情况也需要仰仗 PKI。使用公钥技术的常规安全功能有:

使用安全/多重目的 Internet 邮件扩展 (S/MIME) 来保护电子邮件通讯的安全。
为进行安全交易而创建数字签名。
使用 Secure Sockets Layer (SSL) 或 Transport Layer Security (TLS) 来保护 Web 上的通讯安全。
签署可执行代码以便在公用网络上传递。
支持本地网络登录或远程网络登录。
为不使用 Kerberos 协议的客户端,或为 IPSec 通讯的共享机密密码提供 Internet 协议安全性 (IPSec) 身份验证。
使用 Windows 2000 EFS 对文件进行加密。
使用智能卡保护登录凭据的安全。
这些情况中的某些情况(包括 EFS、IPSec、和智能卡等)在本白皮书中的其他地方有相应的描述。

注意 有关 PKI 在 Windows 2000 中运作方法的详细说明,请参阅《Microsoft Windows 2000 公钥基本结构》白皮书,网址是:http://www.microsoft.com/windows2000/library/planning/security/pki.asp。有关 PKI 在 Windows 2000 中其他用途的信息,请参阅“技术库”,网址是:http://www.microsoft.com/windows2000/library。

智能卡

各公司正在加紧寻求增加其网络资源安全性的方法。近来比较盛行的一种方法是使用智能卡。若要使未经授权的人更难取得访问网络的权限,智能卡是相对简单的一种方法。因此,Windows 2000 中包含对智能卡安全性的内置支持。

智能卡通常和信用卡大小一样,它所提供的抗篡改存储能够保护用户的证书和私钥。因此,智能卡提供了一种十分安全的用于用户身份验证、交互式登录、代码签名以及安全电子邮件的方法。智能卡包含一个芯片,用于存储用户私钥、登录信息和具有多种用途(如数字签名和数据加密)的公钥证书。

由于以下几种原因,智能卡要比密码安全一些:

验证用户身份时需要实体对象,即智能卡。
智能卡必须与个人标识号码 (PIN) 一起使用,以确保专人用专卡。
入侵者使用偷来的凭据这一风险被有效地排除了,因为要从卡中抽取密钥实际上是不可能的。
没有此卡,入侵者就无法访问智能卡所保护的资源。
没有任何密码形式或任何可重复使用的信息是通过网络传的。
智能卡增强了仅针对软件的身份验证,方法是在让用户访问资源前先要求用户提供实际对象(智能卡)并需要知道卡片的 PIN 码。这种既要展示卡片又要展示 PIN 的需求称为两项因素身份验证。在额外安全性很重要的情况下使用智能卡验证用户身份是理想之选,如在提供访问您的工资单软件的权限时。

用户不是输入密码,而是将卡片插入附于 PC 上的读取器,然后输入卡的 PIN。Windows 2000 使用私钥和存储在卡片上的证书以对在 Windows 2000 域控制器上的 KDC 验证用户身份。验证用户身份后,KDC 会返回授予票据的票据。自此,用户在此会话期间所进行的其它连接也都会使用上述的 Kerberos 身份验证。

加密文件系统

至此,本白皮书已经描述了用来保护存储在集中式网络上的资源的技术。但是除简单的密码保护之外,怎样保护桌上型或膝上型计算机上存储的数据呢?

Windows 2000 加密文件系统 (EFS) 正涉及到这个问题。为使本地存储的数据多一些保护措施,EFS 允许您对本地计算机上指定的文件或文件夹进行加密,这样未经授权的人就无法读取这些文件。EFS 对保护可能被偷窃的计算机(如膝上型计算机)上的数据特别有用。可在膝上型计算机上配置 EFS 以确保用户的文档文件夹中的所有商业信息均被加密。

当您对 NTFS 文件系统 (NTFS) 卷上的文件或文件夹启用 EFS 时,作系统会使用公钥和通过 CryptoAPI 取得的对称加密算法来加密文件。虽然基本机制很复杂,但管理员和用户只需在“高级属性”对话框(通过“文件属性”对话框访问)中选中一个复选框就可以利用额外安全性。

EFS 在保存文件时自动对其进行加密,并且在用户再次打开文件时解密。除了加密文件的人和具有 EFS 文件恢复证书(请参阅以下说明)的管理员以外,没有人可以读取这些文件。由于加密机制已经内置于文件系统中,因此它的作对用户是透明的而且很难侵犯。

EFS 使用对每个文件都各不相同的对称加密密钥对文件进行加密。然后它还要使用来自文件拥有者的 EFS 证书的公钥对加密密钥进行加密。由于文件拥有者是唯一能够访问私钥的人,因此他是唯一能为密钥、从而为文件解密的人。

即使有人想绕过 EFS 并使用低阶磁盘实用程序尝试读取信息,加密功能还是可以保护文件。即使文件在网络上或实体上被偷,如果不先以适当的用户身份登录到网络,也无法解密文件。既然文件不能被读取,它也不可能被暗中修改。

在发生紧急事件时,或职员离开您的单位时,EFS 包含允许您恢复公司信息的恢复机制。使用 EFS 时,会创建单独的恢复密钥。系统会自动完成这项任务,即用管理员的 EFS 文件恢复证书的公钥对原始加密密钥进行加密。管理员可以使用该证书中的私钥来恢复文件(若有此需要)。

安全配置模板

为使组织的网络的安全性设置的管理及设置更容易一些,Windows 2000 Server 中包含了“安全模板”工具。Microsoft Management Console (MMC) 管理单元允许管理员定义标准模板并将它以同样的方式应用于多个计算机或用户。

安全模板是安全配置的实际体现;换句话说,它是一个可以存储一组安全设置的文件。Windows 2000 包含一组标准安全模板,每个模板分别适合一台计算机的角色: 模板适用的范围从低安全性域客户端的安全性设置到高安全性域控制器的安全性设置皆可。这些模板可以用于提供、修改,也可以被当作创建自定义安全模板的基础。

“安全配置”和“分析”工具是“安全模板”管理单元所附带的。它用于将定义在安全模板中的限制应用到实际系统中。它还可用于分析系统的安全性并与计算机上已经部署好的设置进行比较以确保它们符合公司标准。

使用 IPSec 确保网络安全性

至此,本白皮书已经涉及了有关用户访问基于 Windows 2000 的网络以及保护本地磁盘上存储的信息的安全性问题。网络安全性的另一特殊问题是数据在网络间发送时的保护。为解决此问题,Windows 2000 合并了 Internet 协议安全措施 (IPSec)。

IPSec 是一套 Internet 标准协议,允许两台计算机在不安全的网络上进行安全的、加密的通讯。加密应用于 IP 网络层,亦即它对大部分使用特定网络协议的应用程序都是透明的。此外,IPSec 提供端对端的安全性,意味着 IP 包由发送计算机加密,在途中不可读取,只能由收件计算机解密。为了更加安全,此过程使用加密算法来产生用于连接两端的单一加密密钥,因此密钥不需通过网络发送。

可以配置 IPSec 使其执行下列安全功能中的一个或多个:

根据 Kerberos 身份验证、数字证书或共享机密密钥(密码)来验证 IP 数据包发送者身份
确保在网络上传送的 IP 数据包的完整性
按照绝密等级对所有在网络上传送的数据进行加密。
隐藏起始的 IP 地址(当它们在途中时)
这些功能允许您确保网络交通是安全的,数据在途中不会被修订也不会被未经授权的一方截取、查看或复制。

至于其他安全策略,您可以在本地级别或域级别应用 IPSec 策略。

注意 有关 IPSec 的详细信息,请参阅 Windows 2000 技术库的“安全服务”部分,网址是:http://www.microsoft.com/windows2000/library/technologies/security/default.asp。

扩展的体系结构

为了提供与现有客户端的兼容性并利用专门的安全机制,Windows 2000 支持多种安全协议。提供此支持的作系统的结构元素称为“安全性支持提供程序接口”(SSPI)。应用程序和系统服务(如 Microsoft Internet Explorer 和 Internet Information Services)要使用 Windows 32 API,才能在不让应用程序看到网络身份验证安全协议的复杂性的情况下利用安全机制。此外,使用 SSPI 可确保在基于 Windows 的环境中实现一致的安全性。下面的图 5 说明 SSPI 位于特定安全机制间的方式以及使用他们的过程。


如果您的浏览器不支持内嵌框,请单击此处在单独的页中查看。

图 5 SSPI 将应用程序协议链接到安全协议。

应用程序开发人员可以利用 SSPI 来创建使用 Windows 2000 安全协议的应用程序。简单地说,SSPI 提供一个应用程序接口,该接口可以创建已验证过身份的连接。SSPI 充当中层过程,即应用程序看不见用于身份验证的特定方法,因此管理员可以从多种安全性支持提供程序 (SSP) 中选择,而不需考虑兼容性。例如,Kerberos 身份验证和 NTLM 在 Windows 2000 中是作为 SSP 实现的,因此写入 SSPI 的应用程序可以使用 NTLM 或 Kerberos 身份验证,到底用哪一个要视客户机和服务器的配置而定。

互作性

如您所见,Windows 2000 运用标准 Kerberos 网络身份验证协议来改善安全性和互作性。因为 Kerberos 协议已经运用在许多作系统平台上,所以要将 Windows 2000 中的 Kerberosru 技术与其他 Kerberos 实现混合及匹配是可能的。这允许您集成 Windows 2000 网络安全性与其他作系统的安全性基本结构。例如,您可以让基于 UNIX 的客户端登录到基于 Windows 2000 的服务器,反之亦然。(Microsoft 已经展现了与主要第三方 Kerberos 实现间的互作性。有关详细信息,请参阅以下的白皮书的引述的〈Windows 2000 Kerberos 互作性〉。)

安全性元素的混合和匹配牵涉到三个主要变量:

用来对 Kerberos 服务验证用户身份的 Kerberos 客户端
为一个领域(在 Kerberos 协议中,领域就等价于基于 Windows 2000 的域)提供身份验证服务的 Kerberos KDC
要进行身份验证的访问方法和网络资源
有了 Windows 2000 Kerberos 支持,您就可以对任何支持 Kerberos V5 的系统进行身份验证。也可以设置基于 UNIX 的领域和基于 Windows 2000 的域之间的信任关系。

注意 有关 Kerberos 互作性的特定信息,请参阅《Windows 2000 Kerberos 互作性》白皮书,网址是 http://www.microsoft.com/windows2000/library/howitworks/security/kerbint.asp。

审核

一旦您设置了安全性基本结构,就必须确保它能正常运作。也就是说,为什么创建审核记录对安全性而言是一个重要的部分。监控对象的创建或修改可让您有办法跟踪可能的安全性问题,帮助您确保用户帐户的能力,并提供安全性受侵害事件的证明。

为了帮助您完成这项工作,Windows 2000 包含了安全性审核功能,允许您监视与安全性相关的事件(如失败的登录尝试),因此您可以检测到入侵者和试图危害系统上数据的事件。Windows 2000 审核功能提供比在 Windows NT 4.0 上可用的相关功能更为详细的信息。

在要审核的事件类型中,最常见的有:

访问对象(如文件和文件夹)
用户帐户和组帐户的管理
当用户登录到系统和注销系统时
除了审核与安全性相关的事件外,Windows 2000 还产生安全性日志并提供一个方法让您查看记录中所报告的安全性事件。

摘要

Windows 2000 中的安全性基本结构合并了强大的网络资源安全性与高级管理基本结构的效能。有关这种集成是如何影响常规组织的最佳示例是支持单一登录。单一登录允许 Windows 2000 和 Windows NT 用户在提供密码一次或插入智能卡一次后,就可以访问所有网络上的资源。

Windows 2000 安全措施将 Active Directory 所提供的集中式信息存储及基于策略的控制与用于客户机和服务器间的跨平台、安全连接的行业标准协议集成到一起。

此外,Windows 2000 包含集成的公钥基本结构组件,以支持高级安全功能(如智能卡)来进行两项因素身份验证,以及支持 EFS 来保护磁盘上的数据存储。

若要扩展使用 Windows 2000 的组织的能力,应用程序开发人员可使用 SSPI 来利用 Windows 2000 安全性基本结构,这样开发人员便可在自定义应用程序中使用 Windows 2000 安全性基本结构。此外,作系统对标准 Kerberos V5 协议的使用让组织可以集成 Windows 2000 安全性与其他与 Kerberos 兼容的作系统所提供的安全性。

为管理 Windows 2000 中的安全性,作系统包含了可以简化设置任务并应用安全性设置的模板。最后,审核功能还可帮助管理员确认安全性系统能否正常运作。

其它信息

有关 Windows 2000 Server 的最新信息,请查阅 Microsoft TechNet 和我们的 Web 站点 http://www.microsoft.com/windows2000 以及“Windows 2000/Windows NT 论坛” http://computingcentral.msn.com/topics/windowsnt。

本文档包含的信息代表了自发布之日,Microsoft Corporation 对所讨论问题的当前看法。因为 Microsoft 必须顺应不断变化的市场条件,故本文档不应理解为 Microsoft 一方的承诺,Microsoft 并不保证所给的信息在发布之日以后的准确性。

本白皮书仅供参考。在本文档中,Microsoft 不做任何明示的或默示的保证。

遵守所有适用的版权法律是用户的责任。在不对版权法所规定的权利加以限制的情况下,未经 Microsoft Corporation 书面许可,不得为任何目的而使用任何形式或方法(电子、机械、影印、复印等)复制、保存在数据捕获系统或发送本文件的任何部分。

正文可能涉及 Microsoft 的专利、专利申请、商标、版权及其它知识财产权。除非在 Microsoft 的任何书面许可协议中明确表述,否则获得本文档不代表您将同时获得这些专利、商标、版权或其它知识产权的许可证。

&copy; 2000 Microsoft Corporation.版权所有。Microsoft、BackOffice、Active Directory、Windows 和 Windows NT 是 Microsoft Corporation 在美国和(或)其它国家或区域的注册商标或商标。

此处提及的其它产品和公司名称可能是其各自所有者的商标。

Microsoft Corporation One Microsoft Way Redmond, WA 98052-6399 USA


原先那个用户名出现密码错误问题
我暂时不用了,等待管理员还给我密码。
我是焦皮
- ---------------焦皮
点
点点猫
2001-07-13 20:39
我听说
windows2000可以向微软总部定期发送数据,政府还专门下文规定政府部门不能使用win2000,不知道是真是假



独
独孤炎柯
2001-07-14 03:23
最近我进行了 降级活动。把2000降为98了。
荒
荒原
2001-07-14 05:28
点点,你说的当然不是真的了,
还听说呢,都不知道是听谁说的,哈,
~~~~~~~~~~

这个你也信~~~~~~~

无赖啊, 98还是不好的啊,,嘿嘿,,不过我知道你喜欢玩游戏,:)
原先那个用户名出现密码错误问题
我暂时不用了,等待管理员还给我密码。
我是焦皮
- ---------------焦皮
卡
卡戎
2001-07-17 07:35
帖这么多有人看的懂么?







媳妇儿,看见这张脸想到什么?

荒
荒原
2001-08-01 05:11
看不看得懂,这个就不知道了
不过,总有人看得懂,总有人需要的,,要不然要这个空间何用??

大家有什么好文章就拿出来分享,就是这样的啊,~~

嘿嘿,,黑客的文章要不要,,我有一些,,不过好像被禁止呢,不贴啦,不贴拉~~

有好的文章再说~~~
原先那个用户名出现密码错误问题
我暂时不用了,等待管理员还给我密码。
我是焦皮
- ---------------焦皮
1 / 1

登录后回复。