8.2. ワンタイムパスワード (OTP) ポリシー
Red Hat build of 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. 時間ベースまたはカウンターベースのワンタイムパスワード
Red Hat build of Keycloak では、OTP ジェネレーター用に時間ベースとカウンターベースのアルゴリズムを使用できます。
タイムベースのワンタイムパスワード (TOTP) を使用すると、トークンジェネレーターは現在の時刻と共有秘密をハッシュ化します。サーバーは、ウィンドウ内のハッシュを送信した値と比較することにより、OTP を検証します。TOTP は短時間に有効です。
カウンターベースのワンタイムパスワード (HOTP) を使用すると、Red Hat build of Keycloak は現在の時刻ではなく共有カウンターを使用します。Red Hat build of Keycloak サーバーは、OTP ログインが成功するたびにカウンターをインクリメントします。ログインに成功した後、有効な OTP が変更されます。
一致可能な OTP は短時間で有効になり、OTP for HOTP は終了期間に有効であるため、TOTP は HOTP よりも安全です。OTP に入るのに時間制限が存在しないため、HOTP は TOTP よりも使いやすいことです。
HOTP では、サーバーがカウンターをインクリメントするたびにデータベースの更新が必要になります。この更新は、負荷が大きい間認証サーバーでのパフォーマンスドレイン (解放) です。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 です。このオプションは、ユーザーのカウンターがサーバーよりも先に進んだ場合に備えて Red Hat build of Keycloak に存在します。
8.2.3.4. 初期カウンター
初期カウンターの値。