7.2. 身份管理中的一次性密码(OTP)身份验证
身份管理(IdM)通过将标准密码与自动生成的一次性密码(OTP)相结合来提供多因素身份验证。您可以使用 OTP 方法,通过增加一层额外的安全防护来保护用户帐户和 LDAP 客户端。
要生成一次性密码,您可以使用硬件或软件令牌。IdM 同时支持软件和硬件令牌。
身份管理支持以下标准的 OTP 机制:
- 基于 HMAC 的一次性密码(HOTP)算法是基于计数器的。HMAC 代表哈希消息身份验证代码。
- 基于时间的一次性密码(TOTP)算法是 HOTP 的扩展,来支持基于时间的移动因子。
重要
IdM 不支持活动目录信任用户的 OTP 登录。
警告
目前,IdM 中的 OTP 支持存在以下安全性及其他方面的限制:
- 最重要的安全限制是整个系统中可能存在重放攻击漏洞。复制过程是异步的,因此在复制期间,OTP 代码可能会被重复使用。用户可以同时登录两台服务器。但是,由于采用了全面的加密机制,这种漏洞通常很难被利用。
-
无法使用不支持 OTP 身份验证的客户端获取票据授予票(TGT)。这可能会影响某些用例,如使用
mod_auth_kerb模块或通用安全服务 API (GSSAPI)的身份验证。
7.2.1. 可用的 OTP 身份验证方法 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在启用 OTP 身份验证时,您可以从以下验证方法中选择:
- 双因素身份验证(密码 + OTP)
- 使用此方法时,始终用户需要输入标准密码和 OTP 代码。
- 密码
- 使用此方法时,用户仍可以选择使用标准密码进行身份验证。
- RADIUS 代理服务器身份验证
- 您可以在 IdM 中使用 RADIUS 服务器进行 OTP 验证。
- 全局和特定于用户的身份验证方法
您可以在全局范围内或个人用户配置这些身份验证方法:
- 默认情况下,特定于用户的身份验证方法设置优先于全局设置。如果没有为用户设置验证方法,则应用全局定义的方法。
- 您可以为任何用户禁用按用户配置的身份验证方法设置。这可以确保 IdM 忽略用户级设置,并始终为用户应用全局设置。
- 合并多个验证方法
如果您配置了多种身份验证方法,则其中任何一种都足以成功验证用户。例如:
如果您同时配置双因素和密码身份验证,在使用命令行时用户必须提供密码(第一个因素),但提供 OTP (第二个因素)是可选的。
First Factor: Second Factor (optional):- 而在 Web UI 中,用户必须仍然提供这两个因素。
但是,当配置了 RADIUS 和另一个验证方法时,存在一个小的例外:
- Kerberos 始终使用 RADIUS,而 LDAP 不使用。LDAP 仅支持密码身份验证和双因素身份验证方法。
- 如果您使用外部双因素身份验证供应商,请从应用程序中使用 Kerberos。如果您只想让用户使用密码进行身份验证,请使用 LDAP。建议应用程序使用 Apache 模块和 SSSD,这允许配置 Kerberos 或 LDAP。