8.2. 一次性密码(OTP)策略
红帽构建的 Keycloak 有几个策略用于设置 FreeOTP 或 Google Authenticator 一次性密码生成器。
流程
- 点菜单中的 Authentication。
- 点 Policy 选项卡。
- 点 OTP Policy 选项卡。
OTP 策略
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 登录时递增计数器。成功登录后有效的 OTP 已更改。
TOTP 更安全,因为可匹配的 OTP 在短时间内有效,而 OTPP 的 OTP 在非确定时间内有效。与 TOTP 相比,PP 更为友好,因为没有时间限制来进入 OTP。
当服务器每次递增计数器时,ChatP 都需要一个数据库更新。在这个版本中,在负载过重的过程中,身份验证服务器上的性能排空。为提高效率,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. slirpP 配置选项 复制链接链接已复制到粘贴板!
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. 初始计数器 复制链接链接已复制到粘贴板!
初始计数器的值。