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。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部