8.2. 一次性密码(OTP)策略


红帽构建的 Keycloak 有几个策略用于设置 FreeOTP 或 Google Authenticator 一次性密码生成器。

流程

  1. 点菜单中的 Authentication
  2. Policy 选项卡。
  3. OTP Policy 选项卡。

OTP 策略

OTP Policy

Red Hat build of Keycloak 根据 OTP Policy 选项卡中配置的信息,在 OTP 设置页面中生成一个 QR 代码。FreeOTP 和 Google Authenticator 在配置 OTP 时扫描 QR 代码。

8.2.1. 基于时间的或基于计数器的一次性密码

红帽为 OTP 生成器的 Keycloak 提供的算法基于时间和基于计数器的算法。

使用基于时间的一次性密码(TOTP),令牌生成器会哈希当前时间和共享 secret。服务器通过将时间窗内的哈希与提交的值进行比较来验证 OTP。TOTP 在较短的时间内有效。

使用基于计数器的一次性密码(HOTP),红帽构建的 Keycloak 使用共享计数器而不是当前的时间。红帽构建的 Keycloak 服务器会在每次成功 OTP 登录时递增计数器。有效 OTPs 在成功登录后改变。

TOTP 比 pollingP 更安全,因为 matchable OTP 在短时间内有效,而 OTP for housekeepingP 则有效,而在确定的时间方面有效。HOTP 比 TOTP 更友好,因为不存在时间限制来进入 OTP。

当服务器每次递增计数器时,ACMP 需要数据库更新。在这个版本中,在负载过重的过程中,身份验证服务器上的性能排空。为提高效率,TOTP 不记住所使用的密码,因此无需执行数据库更新。缺陷是可以在有效时间间隔中重新使用 TOTPs。

8.2.2. TOTP 配置选项

8.2.2.1. OTP 哈希算法

默认算法是 SHA1。其他更安全的选项包括 SHA256 和 SHA512。

8.2.2.2. 数字数

OTP 的长度。短 OTP 是用户友好的,易于输入,更容易记住。OTP 比更短的 OTP 更安全。

8.2.2.3. 查看窗口

服务器尝试与哈希匹配的间隔数。如果 TOTP 生成器或身份验证服务器的时钟不同步,则 Red Hat build of Keycloak 中存在这个选项。1 的默认值足够。例如,如果令牌的时间间隔是 30 秒,则默认值 1 表示它将在 90 秒窗口中接受有效令牌(时间间隔 30 秒 + 查看前 30 秒 + 查看后 30 秒):这个值的每个递增会将有效窗口增加 60 秒(在 30 秒后 + 在 30 秒后查找)。

8.2.2.4. OTP 令牌周期

服务器与哈希匹配的时间间隔(以秒为单位)。每次间隔通过时,令牌生成器都会生成一个 TOTP。

8.2.2.5. 可重复使用的代码

确定 OTP 令牌是否可以在身份验证过程中重复使用,或者用户需要等待下一个令牌。默认情况下,用户无法重复使用这些令牌,管理员需要明确指定可以重复使用这些令牌。

8.2.3. libpmemP 配置选项

8.2.3.1. OTP 哈希算法

默认算法是 SHA1。其他更安全的选项包括 SHA256 和 SHA512。

8.2.3.2. 数字数

OTP 的长度。短 OTP 是用户友好的,易于输入,更容易记住。较长的 OTP 比较短的 OTP 更安全。

8.2.3.3. 查看窗口

服务器尝试与哈希匹配的前和以下间隔数。如果 TOTP 生成器或身份验证服务器的时钟不同步,则 Red Hat build of Keycloak 中存在这个选项。1 的默认值足够。当用户的计数器在服务器前面时,红帽构建的 Keycloak 中存在这个选项。

8.2.3.4. 初始计数器

初始计数器的值。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat