iOS 和 macOS 设备上 Microsoft Entra 基于证书的身份验证

本主题介绍了 Microsoft Entra 基于证书的身份验证 (CBA) 对 macOS 和 iOS 设备的支持。

macOS 设备上 Microsoft Entra 基于证书的身份验证

运行 macOS 的设备可以使用 CBA 通过其 X.509 客户端证书对 Microsoft Entra ID 进行身份验证。 Microsoft Entra CBA 支持设备上的证书和受外部硬件保护的安全密钥。 在 macOS 上,所有浏览器和 Microsoft 第一方应用程序都支持 Microsoft Entra CBA。

macOS 上支持的浏览器

Edge Chrome Safari Firefox

使用 Microsoft Entra CBA 登录 macOS 设备

目前,基于设备的 macOS 计算机登录不支持 Microsoft Entra CBA。 用于登录设备的证书可以与用于从浏览器或桌面应用程序向 Microsoft Entra ID 进行身份验证的证书相同,但设备登录本身尚不支持 Microsoft Entra ID。 

iOS 设备上 Microsoft Entra 基于证书的身份验证

连接到以下项时,运行 iOS 的设备可以通过基于证书的身份验证 (CBA) 在其设备上使用客户端证书向 Microsoft Entra ID 进行身份验证:

  • Office 移动应用程序,例如 Microsoft Outlook 和 Microsoft Word
  • Exchange ActiveSync (EAS) 客户端

Microsoft Entra CBA 支持本机浏览器上的设备端证书以及 iOS 设备上的 Microsoft 第一方应用程序上的证书。

先决条件

  • iOS 版本必须为 iOS 9 或更高版本。
  • iOS 设备上的 Office 应用程序和 Outlook 需要安装 Microsoft Authenticator。

支持设备上证书和外部存储

设备上预配设备上证书。 客户可以使用移动设备管理 (MDM) 在设备上预配证书。 由于 iOS 不支持开箱即用的受硬件保护的密钥,客户可以使用证书外部存储设备。

支持的平台

  • 仅支持本机浏览器
  • 使用最新的 MSAL 库或 Microsoft Authenticator 的应用程序可以执行 CBA
  • 带配置文件的 Edge,当用户添加帐户并登录配置文件时,支持 CBA
  • 使用最新的 MSAL 库或 Microsoft Authenticator 的Microsoft 第一方应用可以执行 CBA

浏览器

Edge Chrome Safari Firefox

Microsoft 移动应用程序支持

应用程序 支持
Azure 信息保护应用
Company Portal
Microsoft Teams
Office(移动)
OneNote
OneDrive
Outlook
Power BI
Skype for Business
Word/Excel/PowerPoint
Yammer

对 Exchange ActiveSync 客户端的支持

iOS 9 或更高版本支持本机 iOS 邮件客户端。

要确定电子邮件应用程序是否支持 Microsoft Entra CBA,请联系应用程序开发人员。

对硬件安全密钥中的证书的支持

可以在硬件安全密钥等外部设备中预配证书并使用 PIN 来保护私钥访问。 Microsoft 基于移动证书的解决方案与硬件安全密钥相结合,是一种简单、方便、通过 FIPS(美国联邦信息处理标准)认证的防网络钓鱼 MFA 方法。

对于 iOS 16/iPadOS 16.1,Apple 设备为通过 USB-C 或 Lightning 连接的 CCID 合规智能卡提供本机驱动程序支持。 这意味着,iOS 16/ iPadOS 16.1 上的 Apple 设备会将通过 USB-C 或 Lightning 连接的 CCID 合规设备视为智能卡,无需使用额外的驱动程序或第三方应用。 Microsoft Entra CBA 会在这些通过 USB-A、USB-C 或 Lightning 连接的 CCID 合规智能卡上正常运行。

硬件安全密钥中的证书的优势

带有证书的安全密钥:

  • 可以在任何设备上使用,且不需要在用户的每台设备上预配证书
  • 使用 PIN 保护硬件,使其可防网络钓鱼
  • 提供多重身份验证,使用 PIN 作为访问证书私钥的第二因素
  • 满足在单独的设备上进行 MFA 的行业要求
  • 帮助将来验证可以存储多个凭据的位置,包括 Fast Identity Online 2 (FIDO2) 密钥

包含 YubiKey 的 iOS 移动设备上的 Microsoft Entra CBA

虽然在 iOS/iPadOS 上为通过 Lightning 连接的 CCID 合规智能卡提供了本机智能卡/CCID 驱动程序,但在不使用 PIV (个人身份验证)中间件(例如 Yubico Authenticator)的情况下,不会将 YubiKey 5Ci Lightning 连接器视为这些设备上连接的智能卡。

一次性注册先决条件

  • 具有一个启用了 PIV 的 YubiKey,其上预配了智能卡证书
  • 在 iPhone 上下载应用 Yubico Authenticator for iOS v14.2 或更高版本
  • 打开该应用,插入 YubiKey 或点击近场通信 (NFC),然后按照步骤将证书上传到 iOS 密钥链

在 iOS 手机上的 Microsoft 应用中测试 YubiKey 的步骤

  1. 安装最新的 Microsoft Authenticator 应用。
  2. 打开 Outlook 并插入 YubiKey。
  3. 选择“添加帐户”并输入你的用户主体名称 (UPN)。
  4. 点击“继续”后会显示 iOS 证书选取器。
  5. 选择从 YubiKey 复制的与用户帐户关联的公共证书。
  6. 单击“需要 YubiKey”打开 YubiKey 身份验证器应用。
  7. 输入 PIN 以访问 YubiKey,然后选择左上角的返回按钮。

用户应成功登录并重定向到 Outlook 主页。

排查硬件安全密钥中的证书问题

如果用户在 iOS 设备和 YubiKey 上都有证书,会发生什么情况?

iOS 证书选取器显示了 iOS 设备上的所有证书,以及从 YubiKey 复制到 iOS 设备的证书。 根据用户选取的证书,他们可能会转到 YubiKey 身份验证器以输入 PIN,或直接进行身份验证。

在 3 次键入错误的 PIN 后,我的 YubiKey 被锁定。 如何解决问题?

  • 用户应会看到一个对话框,告知尝试输入 PIN 的次数过多。 后续尝试选择“使用证书或智能卡”时也会弹出此对话框。
  • YubiKey Manager 可以重置 YubiKey 的 PIN。

此问题的原因与证书缓存有关。 我们正在进行更新以清除缓存。 解决方法是点击“取消”,重试登录,然后选择新证书。

使用 YubiKey 的 Microsoft Entra CBA 失败。 哪些信息有助于调试问题?

  1. 打开 Microsoft Authenticator 应用,单击右上角的三点图标,然后选择“发送反馈”。
  2. 单击“遇到问题?”。
  3. 对于“选择一个选项”,请选择“添加或登录帐户”。
  4. 描述要添加的任何详细信息。
  5. 单击右上角的发送箭头。 请注意出现的对话框中提供的代码。

如何在手机上的基于浏览器的应用程序中使用硬件安全密钥强制实施防网络钓鱼 MFA?

基于证书的身份验证和条件访问身份验证强度功能使客户能够有效地强制实施身份验证需求。 作为配置文件(添加帐户)的 Edge 使用 YubiKey 等硬件安全密钥,具有身份验证强度功能的条件访问策略可以通过 CBA 强制实施防网络钓鱼身份验证。

最新的 Microsoft 身份验证库(MSAL)库以及集成最新 MSAL 的任何第三方应用程序都提供了对 YubiKey 的 CBA 支持。 所有 Microsoft 第一方应用程序都可以使用 CBA 和条件访问身份验证强度。

支持的操作系统

操作系统 设备端证书/派生 PIV 智能卡/安全密钥
iOS 仅限支持的供应商

支持的浏览器

操作系统 设备端 Chrome 证书 Chrome 智能卡/安全密钥 设备端 Safari 证书 Safari 智能卡/安全密钥 设备端 Edge 证书 Edge 智能卡/安全密钥
iOS

安全密钥提供商

提供程序 iOS
YubiKey

已知问题

  • 在 iOS 上,具有基于证书的身份验证的用户会看到“双重提示”,他们必须在其中单击“使用基于证书的身份验证”选项两次。
  • 在 iOS 上,对于采用 Microsoft Authenticator 应用的用户,如果存在强制实施 CBA 的身份验证强度策略,或者用户使用 CBA 作为第二重身份验证,则他们还会看到要求通过 CBA 进行身份验证的每小时登录提示。
  • 在 iOS 上,需要 CBA 的身份验证强度策略和 MAM 应用保护策略会在设备注册和满足 MFA 要求之间形成循环。 由于 iOS 上存在 bug,当用户使用 CBA 来满足 MFA 要求时,MAM 策略要求得不到满足,服务器会抛出错误来提示需要进行设备注册,即使设备已经注册了。 这个不正确的错误会导致重新注册,请求会陷入使用 CBA 来登录和设备需要注册的循环中。

后续步骤