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


Red Hat build of Keycloak 有几个用于设置 FreeOTP 或 Google Authenticator 一次性密码生成器的策略。

流程

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

OTP 策略

OTP Policy

红帽构建的 Keycloak 根据 OTP Policy 选项卡中配置的信息,在 OTP 设置页面中生成一个 QR 代码。在配置 OTP 时,FreeOTP 和 Google Authenticator 会扫描 QR 代码。

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

红帽构建的 OTP 生成器中提供了基于时间的算法和计数器的算法。

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

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

TOTP 比 HOTP 更安全,因为可匹配 OTP 在较短的时间窗内有效,而 OTP 代表对 indeterminate 的时间有效。HOTP 比 TOTP 更用户友好,因为存在输入 OTP 的时间限制。

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

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. HOTP 配置选项

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