使用 Microsoft Entra ID 实现 NIST 验证器保证级别 3
使用本文中有关美国国家标准与技术研究院 (NIST) 验证器保证级别 3 (AAL3) 的信息。
在获取 AAL2 之前,可查看以下资源:
- NIST 概述:了解 AAL 级别
- 身份验证基础知识:术语和身份验证类型
- NIST 验证器类型:验证器类型
- NIST AALs:AAL 组件和 Microsoft Entra 身份验证方法
允许的验证器类型
使用 Microsoft 身份验证方法满足所需的 NIST 验证器类型要求。
Microsoft Entra 身份验证方法 | NIST 验证器类型 |
---|---|
推荐的方法 | |
多重硬件保护证书 FIDO 2 安全密钥 适用于 macOS 的平台 SSO(安全飞地) 带硬件 TPM 的 Windows Hello 企业版 Microsoft Authenticator 中的密钥1 |
多重加密硬件 |
其他方法 | |
密码 AND 单因素受硬件保护证书 |
记住的机密 AND 单因素加密硬件 |
1Microsoft Authenticator 中的密钥总体被视为部分满足 AAL3 要求,在整体达到 FIPS 140 级别 2(或更高)和物理安全性达到 FIPS 140 级别 3(或更高)的平台上被视为达到 AAL3 要求。 有关 Microsoft Authenticator (iOS/Android) 的 FIPS 140 合规性信息,请参阅 Microsoft Entra 身份验证的 FIPS 140 合规性
建议
对于 AAL3,建议使用多重加密硬件验证器,该验证器可提供无密码身份验证,从而消除了密码这一最大的攻击面。
如需相关指导,请参阅规划 Microsoft Entra ID 中的无密码身份验证部署。 另请参阅 Windows Hello 企业版部署指南。
FIPS 140 验证
验证程序要求
Microsoft Entra ID 使用经过验证且总体达到 Windows FIPS 140 级别 1 的加密模块来执行其身份验证加密操作,使 Microsoft Entra ID 成为合规验证程序。
验证器要求
单因素和多重加密硬件验证器要求。
单因素加密硬件
验证器需要满足以下要求:
整体达到 FIPS 140 级别 1 或更高
物理安全性达到 FIPS 140 级别 3 或更高
在以下情况下,与 Windows 设备一起使用的单因素受硬件保护证书满足此要求:
计算机的 TPM 整体达到 FIPS 140 级别 1 或更高或物理安全性达到 FIPS 140 级别 3
- 通过在加密模块验证计划中搜索“受信任的平台模块”和“TPM”,查找兼容 TPM。
咨询移动设备供应商,了解这些 TPM 是否符合 FIPS 140 要求。
多重加密硬件
验证器需要满足以下要求:
整体达到 FIPS 140 级别 2 或更高
物理安全性达到 FIPS 140 级别 3 或更高
FIDO 2 安全密钥、智能卡和 Windows Hello 企业版有助于满足这些要求。
多个 FIDO2 安全密钥提供程序满足 FIPS 要求。 建议查看受支持的 FIDO2 密钥供应商列表。 请咨询你的提供商,了解当前的 FIPS 验证状态。
智能卡是已证实的技术。 多个供应商产品满足 FIPS 要求。
- 有关详细信息,请参阅加密模块验证计划
Windows Hello for Business
FIPS 140 要求包括软件、固件和硬件在内的加密边界都在评估范围之内。 Windows 操作系统可以与数千个此类组合配对。 因此,Microsoft 无法在 FIPS 140 安全级别 2 验证 Windows Hello 企业版。 在接受此服务即 AAL3 之前,联邦客户应进行风险评估并评估以下每个组件认证,作为其风险接受的一部分:
Windows 10 和 Windows Server 使用经美国政府批准的常规用途操作系统 4.2.1 版保护配置文件,该配置文件由美国国家信息保障合作伙伴关系 (NIAP) 提供。 此组织负责监督国家/地区计划,以评估商用现货 (COTS) 信息技术产品是否符合国际通用标准。
Windows 加密库在 NIST 加密模块验证计划 (CMVP) 中整体达到 FIPS 级别 1,这是 NIST 与加拿大网络安全中心共同努力的结果。 此组织根据 FIPS 标准验证加密模块。
所选择的受信任的平台模块 (TPM) 总体应达到 FIPS 140 级别 2,物理安全性应达到 FIPS 140 级别 3。 组织确保硬件 TPM 满足所需的 AAL 级别要求。
要确定符合当前标准的 TPM,请参阅 NIST 计算机安全资源中心加密模块验证计划。 在“模块名称”框中,输入“受信任的平台模块”以获取符合标准的硬件 TPM 列表。
MacOS 平台 SSO
Apple macOS 13(及更高版本)整体达到 FIPS 140 级别 2,大多数设备的物理安全性也达到了 FIPS 140 级别 3。 建议参考 Apple 平台认证。
Microsoft Authenticator 中的密钥
有关 Microsoft Authenticator (iOS/Android) 的 FIPS 140 合规性信息,请参阅 Microsoft Entra 身份验证的 FIPS 140 合规性
重新身份验证
对于 AAL3,NIST 要求无论用户是否处于活动状态,均需每 12 小时重新进行身份验证。 在 15 分钟或更长时间内处于非活动状态时建议重新进行身份验证。 满足这两个因素,即需重新进行身份验证。
为了满足不考虑用户活动而重新进行身份验证的要求,Microsoft 建议将用户登录频率配置为 12 小时。
NIST 允许通过补偿控制来确认订阅者状态:
使用 Configuration Manager、GPO 或 Intune 运行计划任务来设置超时,而不考虑是否处于活动状态。 无论是否处于活动状态,都将在 12 小时后锁定计算机。
对于建议的非活动超时,将会话非活动超时设置为 15 分钟:使用 Microsoft Configuration Manager、组策略对象 (GPO) 或 Intune 在操作系统级别锁定设备。 如果订阅者要将其解锁,则需要进行本地身份验证。
抵御中间人攻击
请求方与 Microsoft Entra ID 之间的通信通过经身份验证的受保护通道进行,以抵御中间人 (MitM) 攻击。 此配置满足 AAL1、AAL2 和 AAL3 对抵御 MitM 攻击的要求。
验证程序模拟抵抗
满足 AAL3 的 Microsoft Entra 身份验证方法利用加密验证器,将验证器输出与正在进行身份验证的会话绑定。 这些方法使用由请求方控制的私钥。 公钥已为验证程序所知。 此配置满足 AAL3 对验证程序模拟抵抗的要求。
验证程序泄露抵抗
所有满足 AAL3 要求的 Microsoft Entra 身份验证方法:
- 使用加密验证器(要求验证程序存储与验证器所持有的私钥相对应的公钥)
- 使用经 FIPS 140 验证的哈希算法存储所需的验证器输出
有关详细信息,请参阅 Microsoft Entra 数据安全注意事项。
重放抵抗
满足 AAL3 要求的 Microsoft Entra 身份验证方法使用 nonce 或质询。 这些方法可以抵御重放攻击,因为验证程序可检测重放的身份验证事务。 此类事务不包含所需的 nonce 或及时性数据。
身份验证意向
要求提供身份验证意图进一步提高了在使用者不知情的情况下(例如由终结点上的恶意软件)使用直接连接的物理身份验证器(如多因素加密硬件)的难度。 满足 AAL3 的 Microsoft Entra 方法要求用户输入 PIN 或生物识别,以表明身份验证意图。