单点登录安全性
单点登录
iOS 和 iPadOS 支持通过单点登录 (SSO) 对企业网络进行认证。SSO 与基于 Kerberos 的网络配合使用,针对用户有权访问的服务对用户进行认证。SSO 可用于各种网络活动,从安全的 Safari 浏览器会话到第三方 App。同时还支持基于证书的认证,如 PKINIT。
macOS 支持使用 Kerberos 对企业网络进行认证。App 可以使用 Kerberos 针对用户有权访问的服务对用户进行认证。Kerberos 还可用于各种网络活动,从安全的 Safari 浏览器会话和网络文件系统认证到第三方 App。还支持基于证书的认证,但需要 App 采用开发者 API。
iOS、iPadOS 和 macOS 的 SSO 使用 SPNEGO 令牌和 HTTP Negotiate 协议,与基于 Kerberos 的认证网关和支持 Kerberos 票证的“Windows 集成身份验证”系统配合使用。SSO 支持基于开源 Heimdal 项目。
iOS、iPadOS 和 macOS 中支持以下加密类型:
AES-128-CTS-HMAC-SHA1-96
AES-256-CTS-HMAC-SHA1-96
DES3-CBC-SHA1
ARCFOUR-HMAC-MD5
Safari 浏览器支持 SSO,且使用标准 iOS 和 iPadOS 联网 API 的第三方 App 也可进行配置来使用它。为了配置 SSO,iOS 和 iPadOS 支持配置描述文件有效负载,允许移动设备管理 (MDM) 解决方案向下推送必要的设置。其中包括:设置用户主体名称(即 Active Directory 用户账户)和 Kerberos 领域设置,以及配置应允许哪些 App 和 Safari 浏览器网站 URL 使用 SSO。
可扩展单点登录
App 开发者可使用 SSO 扩展来执行自己的单点登录。当原生 App 或网页 App 需要将某些身份提供者用于用户认证时,会调用 SSO 扩展。开发者可提供两种扩展:重定向至 HTTPS 的扩展和使用质询/响应机制(如 Kerberos)的扩展。这使可扩展单点登录支持 OpenID、OAuth、SAML2 和 Kerberos 认证方案。SSO 扩展还可能通过采用原生 SSO 协议来支持 macOS 认证,从而允许在 macOS 登录过程中获取 SSO 令牌。
若要使用单点登录扩展,App 可以使用 AuthenticationServices API,或者依靠操作系统所提供的 URL 拦截机制。WebKit 和 CFNetwork 为任何原生 App 或 WebKit App 提供一个可无缝支持单点登录的拦截层。若要调用单点登录扩展,则必须通过移动设备管理 (MDM) 描述文件来安装管理员所提供的配置文件。此外,重定向类型的扩展必须使用“关联域”有效负载以证明其所支持的身份识别服务器知道其存在。
Kerberos SSO 扩展是操作系统所提供的唯一扩展。