WCF 安全术语

在讨论安全时使用的某些术语可能是您所不熟悉的。 本主题提供了一些安全术语的扼要解释,但并不试图提供每个术语的全面文档。

有关 Windows Communication Foundation (WCF) 文档中使用的术语的详细信息,请参阅 Windows Communication Foundation 基础概念

Access Control List (ACL) — 访问控制列表 (ACL)
适用于某个对象的安全保护的列表。 (对象可以是文件、进程、事件或其他任何具有安全描述符的事物。)ACL 中的条目是访问控制项 (ACE)。 有两种类型的 ACL:自由和系统。

authentication
验证用户、计算机、服务或进程声称具有的身份是否属实的过程。

authorization
控制对资源的访问和权限的操作。 例如,允许一个组的成员读取某个文件,但是仅允许另一个组的成员更改该文件。

证书颁发机构 (CA) 证书
标识 CA,CA 将服务器和客户端身份验证证书颁发给请求这些证书的服务器和客户端。 由于该证书包含在数字签名中使用的公钥,因此也称为签名证书。 如果 CA 是根证书颁发机构,则 CA 证书可称为根证书, 有时也称为站点证书。

CA 层次结构
一个 CA 层次结构包含多个 CA。 该层次结构是按如下方式组织的:每个 CA 都由该层次结构的较高级别中的另一个 CA 进行认证,直至到达该层次结构的顶级(也称为根证书颁发机构)。

证书 (certificate)
一个经过数字签名的声明,该声明包含与某个实体以及该实体的公钥有关的信息,从而将这两部分信息绑定在一起。 证书由称为证书颁发机构的受信任组织(或实体)颁发,颁发时间是在该颁发机构已验证实体声称具有的身份属实之后。

证书可以包含不同类型的数据。 例如,一个 X.509 证书包括该证书的格式、该证书的序列号、用于对该证书进行签名的算法、颁发该证书的 CA 的名称、请求该证书的实体的名称和公钥以及 CA 的签名。

证书存储
通常是一个永久性存储器,用于存储证书、证书吊销列表 (CRL) 和证书信任列表 (CTL)。 但是,在使用无需放在永久性存储器中的证书时,可以在内存中单独创建并打开一个证书存储。

声明
从一个实体传递到另一个实体的用于建立发送方标识的信息。 例如,用户名和密码令牌,或 X.509 证书。

客户端证书
指用于进行客户端身份验证(如在 Web 服务器上对 Web 浏览器进行身份验证)的证书。 当 Web 浏览器客户端试图访问受保护的 Web 服务器时,客户端会将其证书发送给服务器,以便服务器可以验证该客户端的标识。

凭据
安全主体用来建立自己的标识的、先前经过身份验证的登录数据,如密码或 Kerberos 协议票证。 凭据用于控制对资源的访问。

摘要数据
一种由公钥加密标准 (PKCS) #7 定义的数据内容类型,其中包含任意类型的数据以及内容的消息哈希(摘要)。

数字签名
用于将发送方的标识绑定到要发送的信息的数据。 数字签名可以与任何消息、文件或其他经过数字编码的信息捆绑在一起,也可以单独传送。 数字签名用于公钥环境中,并提供身份验证和完整性服务。

encoding
将数据转换为位流的过程。 编码是将数据转换为由 1 和 0 组成的流的序列化过程的一部分。

交换密钥对
一个公钥/私钥对,用于加密会话密钥,以便可以安全地存储以及与其他用户交换会话密钥。

hash
一个固定大小的数值,通过将某个数学函数(请参见哈希算法)应用于任意数量的数据来获取。 该数据通常包含随机数据,称为 nonce。 服务和客户端都致力于交换 Nonce 以增加结果的复杂性。 结果也称为消息摘要。 发送哈希值要比发送敏感数据(如密码)更加安全(即使密码经过加密)。 哈希发送方和接收方必须就哈希算法和 Nonce 达成一致,以便在接收到哈希后,可以对其进行验证。

哈希算法
一种算法,用于生成某段数据(如消息或会话密钥)的哈希值。 典型的哈希算法包括 MD2、MD4、MD5 和 SHA-1。

Kerberos 协议
一种协议,定义客户端与网络身份验证服务进行交互的方式。 客户端从 Kerberos 密钥分发中心 (KDC) 获取票证,并在建立连接时向服务器出示这些票证。 Kerberos 票证表示客户端的网络凭据。

本地安全机构 (LSA)
一个受到保护的子系统,对用户进行身份验证并使用户登录到本地系统。 LSA 还维护与系统本地安全的所有方面(统称为系统的本地安全策略)相关的信息。

Negotiate
一种安全支持提供程序 (SSP),充当安全支持提供程序接口 (SSPI) 和其他 SSP 之间的应用层。 当某个应用程序调入 SSPI 以登录到网络时,该应用程序可以指定一个 SSP 来处理请求。 如果该应用程序指定 Negotiate,则 Negotiate 将分析该请求,并根据客户配置的安全策略选取最好的 SSP 来处理该请求。

nonce
一个随机生成的值,用于抵御“重播”攻击。

不可否认性
一种功能,能够标识执行某些特定操作的用户,从而对用户推卸责任的任何企图进行无可辩驳的反驳。 例如,每当删除文件时,系统都可能记录用户的 ID。

公钥加密标准 (PKCS)
由 RSA Data Security, Inc. 联合全世界的安全系统开发人员开发的规范,旨在提高公钥加密算法的部署速度。

PKCS #7
加密消息语法标准。 可以对其应用加密算法(如数字签名和加密)的数据的通用语法。 它还提供了用于向消息传播证书或证书吊销列表以及其他消息属性(如时间戳)的语法。

明文
一个未加密的消息。 纯文本消息有时称为明文消息。

特权
用户用于执行各种系统相关操作(如关闭系统、加载设备驱动程序或更改系统时间)的权限。 用户的访问令牌包含用户或用户所属组拥有的特权的列表。

私钥 (private key)
公钥算法中使用的密钥对中机密的那一半。 私钥通常用于加密对称会话密钥、对消息进行数字签名或解密已经用相应的公钥加密的消息。 另请参见“公钥”。

进程
用来运行应用程序的安全上下文。 安全上下文通常与用户相关联,因此在给定进程下运行的所有应用程序都具有进程所属用户的权限和特权。

公钥/私钥对
一组用于公钥加密算法的加密密钥。 对于每个用户,加密服务提供程序 (CSP) 通常保持两个公钥/私钥对:一个交换密钥对和一个数字签名密钥对。 在会话之间进行切换时,这两个密钥对都会保持下来。

公钥 (public key)
一个加密密钥,通常在揭密会话密钥或数字签名时使用。 公钥还可以用于加密消息,以保证只有具有相应私钥的人员才可以解密该消息。

公钥加密
使用一对密钥进行加密的加密算法,其中一个密钥用于加密数据,另一个密钥用于解密数据。 与之相对的是对称加密算法,该算法使用同一密钥进行加密和解密。 实际上,公钥加密算法通常用于保护对称加密算法所使用的会话密钥。 在这种情况下,公钥用于加密会话密钥,会话密钥又用于加密某些数据,而私钥用于解密。 除了保护会话密钥之外,公钥加密算法还可用于对消息进行数字签名(使用私钥)以及对签名进行验证(使用公钥)。

公钥基础结构 (PKI)
一种基础结构,提供一组用于创建、部署和管理公钥应用程序的集成式服务和管理工具。

可否认性
用户能够虚伪地否认执行过某个操作,而其他各方无法做出相反的证明。 例如,用户删除了某个文件,但可以成功地否认执行过这样一个操作。

根证书颁发机构
位于 CA 层次结构顶级的 CA。 根证书颁发机构对层次结构中下一个级别的 CA 进行认证。

安全哈希算法 (SHA)
一种生成消息摘要的哈希算法。 SHA 与数字签名标准 (DSS) 以及其他标准中的数字签名算法 (DSA) 一起使用。 有四种 SHA:SHA-1、SHA-256、SHA-384 和 SHA-512。 SHA-1 生成 160 位消息摘要。 SHA-256、SHA-384 和 SHA-512 分别生成 256 位、384 位和 512 位消息摘要。 SHA 由美国国家标准与技术研究院 (NIST) 和美国国家安全局 (NSA) 开发。

安全套接字层(Secure Sockets Layer,SSL)
一种协议,用于将公钥技术和私钥技术结合起来以确保网络通信的安全。

安全性上下文
当前生效的安全属性或规则。 例如,当前登录到计算机中的用户或由智能卡用户输入的个人识别码。 对于 SSPI,安全上下文是一种不透明的数据结构,其中包含与连接相关的安全数据,如会话密钥或会话持续时间指示。

安全主体 (security principal)
一个可由安全系统识别的实体。 安全主体可以包括人类用户以及自治进程。

安全支持提供程序 (SSP)
一个动态链接库 (DLL),它通过使一个或多个安全包可供应用程序使用来实现 SSPI。 每个安全包都提供了应用程序的 SSPI 函数调用与实际安全模型的函数之间的映射。 安全包支持安全协议,如 Kerberos 身份验证和 Microsoft LAN Manager (LanMan)。

安全支持提供程序接口 (SSPI)
传输级应用程序(如 Microsoft 远程过程调用 (RPC))与安全提供程序(如 Windows 分布式安全)之间的一种公共接口。 SSPI 使传输应用程序可以调用几个安全提供程序中的一个,以获取经过身份验证的连接。 这些调用不需要对安全协议的细节进行详细了解。

安全令牌服务
用于在多服务方案中颁发和管理自定义安全令牌(颁发令牌)的服务。 自定义令牌通常是包含自定义凭据的安全断言标记语言 (SAML) 令牌。

服务器证书
指用于服务器身份验证(如在 Web 浏览器上对 Web 服务器进行身份验证)的证书。 当 Web 浏览器客户端试图访问受保护的 Web 服务器时,服务器会将其证书发送给该浏览器,以便该浏览器可以验证服务器的标识。

会话
一种在一段密钥材料保护下进行的消息交换。 例如,SSL 会话使用一个密钥往来发送处于该密钥保护下的多个消息。

会话密钥
一个随机生成的密钥,该密钥在被使用一次后丢弃。 会话密钥是对称密钥(既用于加密,又用于解密)。 会话密钥随消息一起发送,并通过使用来自目标接收方的公钥进行加密来加以保护。 一个会话密钥包含一个大约有 40 到 2,000 位的随机数字。

补充凭据
用于向外部安全域证明安全主体身份的凭据。

对称加密
将单个密钥同时用于加密和解密的加密算法。 在对大量数据进行加密时,对称加密算法是首选算法。 一些比较常用的对称加密算法是 RC2、RC4 和数据加密标准 (DES)。

另请参见“公钥加密”。

对称密钥 (symmetric key)
同时用于加密和解密的单个密钥。 会话密钥通常是对称密钥。

令牌(访问令牌)
访问令牌包含登录会话的安全信息。 当用户登录时,系统会创建一个访问令牌,并且代表该用户执行的每个进程都拥有该令牌的一个副本。 该令牌标识用户、用户所属组和用户的特权。 系统使用该令牌控制对可保护对象的访问,并控制用户在本地计算机上执行各种系统相关操作的能力。 有两种访问令牌,即主令牌和模拟令牌。

传输层
同时负责保证服务质量和准确传递信息的网络层。 此层中执行的任务中包括错误检测和更正。

信任列表(证书信任列表,即 CTL)
一个预定义列表,其中包含的项已由受信任的实体签名。 CTL 可以是任何类型的列表,如证书哈希列表或文件名列表。 列表中的所有项都由签名实体进行了身份验证(批准)。

信任提供程序
决定是否信任给定文件的软件。 此决定基于与该文件相关联的证书。

用户主体名称 (UPN)
一个用户帐户名(有时称为用户登录名)和一个域名(标识用户帐户所在的域)。 这是登录到 Windows 域的标准用法。 格式为:someone@example.com(与电子邮件地址一样)。

注意

除了标准 UPN 形式外,WCF 还接受使用下级形式表示的 UPN,例如 cohowinery.com\someone

X.509
一种国际上认可的证书标准,用于定义证书的必需部分。

另请参阅