Microsoft 云 PKI是一项Intune套件功能,使 IT 专业人员能够管理云中的 PKI) (公钥基础结构。 可以创建、配置和管理自己的证书颁发机构 (CA) 证书,而无需安装和维护本地基础结构。 Microsoft 云 PKI服务与Microsoft Entra ID和Microsoft Intune集成,为基于云的设备和应用提供标识和设备管理。
本文介绍配置Microsoft 云 PKI时需要了解的 PKI 基础知识和概念。 建议在Intune租户中配置Microsoft 云 PKI服务之前查看所有信息。
证书颁发机构类型
证书颁发机构执行以下任务:
- 验证证书请求者的标识
- 向请求者颁发证书
- 管理证书吊销
Microsoft 云 PKI支持以下类型的证书颁发机构:
- 根 CA
- 颁发 CA
根证书颁发机构
(CA) 根证书颁发机构是 CA 层次结构中最顶层的 CA。 在 PKI 中,根 CA 充当层次结构中 CA 颁发的证书的信任点。 如果证书可以通过 CA 层次结构跟踪到用户、计算机、网络设备或服务信任的根 CA,则证书被视为 受信任 。
根 CA 是唯一的,因为它的证书是 自行颁发的,这意味着证书的颁发者名称和使用者名称包含相同的可分辨名称。 验证根证书是否有效的唯一方法是将根 CA 证书包含在受信任的根存储中。 受信任的根存储区包含实际的根 CA 证书,以指定证书受信任。
根 CA 可以向其他 CA 或网络上的用户、计算机、网络设备或服务颁发证书。 当根 CA 向另一个实体颁发证书时,根 CA 证书使用其私钥对证书进行签名。 签名可防止内容修改,并指示根 CA 颁发了证书。
重要
Microsoft 云 PKI仅向已注册 MDM 的网络设备颁发证书。
颁发证书颁发机构
注意
术语“中间”、“发证”和“从属”都是可互换的标签,用于指代 CA 结构中的相同角色。 Microsoft 云 PKI使用术语发出来描述这种类型的 CA。
颁发 CA 是一个从属于另一个 CA 的 CA,可以:
- 向 CA 层次结构中的其他 CA 颁发证书。
- 向服务器、服务、客户端或设备等最终实体颁发叶证书。
颁发 CA 可以存在于 CA 层次结构中的任何级别,根 CA 级别除外。
链接
链接 是确定需要验证和信任的任何给定证书的最佳信任路径的过程。 每个作系统或服务执行此计算过程,通常称为 证书链引擎。
链构建过程包括:
- 证书发现:查找到受信任的根 CA 证书的最终实体叶证书的颁发 CA 证书。
- 证书验证:创建所有可能的证书链。 根据名称、时间、签名、吊销和其他可能定义的约束等各种参数验证链中的每个证书。
- 返回最佳质量链。
提供证书进行验证时,证书链引擎将遍历其认证存储,并选择中间证书和根证书候选项。 它可能需要多个中间证书才能形成完整的链。
证书链引擎尝试使用使用者密钥标识符 (SKI) 和颁发机构密钥标识符 (AKI) 选择证书。 Microsoft CA 颁发的最终实体证书包含 AKI,因此证书链引擎必须选择具有匹配 SKI 的中间证书。 该过程将重复,直到枚举自签名证书。
链验证过程
注意
对证书链验证方法的支持因 OS 平台而异。 本部分介绍运行 Windows 10 或更高版本的设备上支持的方法。
在 Windows 上,有三个链验证过程:完全匹配、键匹配和名称匹配。
完全匹配:如果 AKI 扩展包含颁发者的使用者、颁发者序列号和 KeyID,则只会在链构建过程中选择与其使用者、序列号和 KeyID 匹配的父证书。
密钥匹配:如果 AKI 扩展仅包含 KeyID,则仅选择在“使用者密钥标识符” (SKI) 扩展中包含匹配 KeyID 的证书作为有效的颁发者。
名称匹配:如果 AKI 中不存在任何信息,或者 AKI 扩展不在证书中,则会发生名称匹配。 在这种情况下,颁发者证书的使用者名称必须与当前证书的颁发者属性匹配。
对于不包含 SKI 和 AKI 字段的证书,链接引擎会尝试使用名称匹配来生成链。 如果有两个同名证书,则会选择较新的证书。
当直接父级不是计算机上的本地时,将启动证书发现。 客户端使用此进程来检索缺少的父证书。 将分析证书的颁发机构信息访问字段中显示的 URL 并用于检索父 CA 证书。 此过程类似于 CRL 下载。
生成链后,对链中的每个证书执行以下检查:
- 检查其格式是否正确且已签名。 执行证书的哈希检查。
- 检查证书中的 “发件人 ”和“ 到 ”字段,确保该证书未过期。
- 检查证书是否已吊销。
- 检查链是否在受信任的根存储区中的证书中终止。
证书及其链在完成所有检查后被视为有效,并成功返回。
具有有序证书列表的证书链使信赖方能够验证发件人是否可信。 它可以双向工作,从客户端到服务器和服务器到客户端。
下图演示了 名称匹配 链验证流。
确保信任链
使用证书执行基于证书的身份验证时,必须确保两个信赖方都具有 CA 证书 (公钥) 信任链。 在这种情况下,信赖方是Intune托管设备和身份验证接入点,例如 Wi-Fi、VPN 或 Web 服务。
根 CA 必须存在。 如果颁发 CA 证书不存在,则信赖方可以使用针对预期 OS 平台的本机证书链引擎请求该证书。 信赖方可以使用叶证书的 颁发机构信息访问 属性请求颁发 CA 证书。
基于证书的身份验证
本部分基本了解客户端或设备执行基于证书的身份验证时所使用的各种证书。
以下步骤描述了在基于证书的身份验证期间客户端与信赖方服务之间发生的握手。
- 客户端向信赖方发出某种形式的 hello 数据包。
- 信赖方会做出响应,指出它希望通过安全的 TLS/SSL 进行通信。 客户端和信赖方执行 SSL 握手并建立安全通道。
- 信赖方请求用于客户端身份验证的证书。
- 客户端将其客户端身份验证证书提交信赖方进行身份验证。
在没有Microsoft 云 PKI的环境中,专用 CA 负责颁发信赖方使用的 TLS/SSL 证书和设备客户端身份验证证书。 Microsoft 云 PKI可用于颁发设备客户端身份验证证书,从而有效地替换此特定任务的专用 CA。