7.2. Identity Management におけるワンタイムパスワード (OTP) 認証
ワンタイムパスワードにより、認証セキュリティーに関する手順が追加されます。この認証では、ユーザーのパスワードと自動的に生成されたワンタイムパスワードを使用します。
ワンタイムパスワードを生成するには、ハードウェアまたはソフトウェアのトークンを使用できます。IdM は、ソフトウェアトークンとハードウェアトークンの両方をサポートします。
Identity Management は、次の標準的な OTP メカニズムをサポートしています。
- HMAC ベースのワンタイムパスワード (HOTP) アルゴリズムは、カウンターに基づいています。HMAC は、Hashed Message Authentication Code (ハッシュメッセージ認証コード) を表しています。
- 時間ベースのワンタイムパスワード (TOTP) アルゴリズムは、時間ベースの移動要素に対応する HOTP の拡張機能です。
IdM は、Active Directory 信頼ユーザーの OTP ログインに対応していません。
現在、以下のセキュリティーと、IdM の OTP サポートに関連しています。
- 最も重要なセキュリティー制限は、システム全体で攻撃を再生する可能性のある脆弱性です。レプリケーションは非同期であるため、OTP コードはレプリケーション期間中に再利用できます。ユーザーは 2 つのサーバーに同時にログインできる場合があります。ただし、この脆弱性は通常、包括的な暗号化のために悪用するのが難しくなります。
-
OTP 認証をサポートしないクライアントを使用して、TGT (Ticket-Granting Ticket) を取得することはできません。これは、
mod_auth_kerb
モジュールまたは Generic Security Services API (GSSAPI) を使用した認証など、特定のユースケースに影響する可能性があります。
7.2.1. 利用可能な OTP 認証方法 リンクのコピーリンクがクリップボードにコピーされました!
OTP 認証を有効にする場合、以下の認証方法を選択できます。
- 2 要素認証 (パスワード + OTP)
- この方法では、標準パスワードと OTP コードの両方を入力する必要があります。
- Password
- この方法では、標準のパスワードのみを使用して認証を行うオプションがあります。
- RADIUS プロキシーサーバー認証
- IdM で OTP 検証用に RADIUS サーバーを設定する方法については、IdM で OTP 検証用に RADIUS サーバーを設定するを 参照してください。
- グローバルおよびユーザー固有の認証方法
これらの認証方法は、グローバルまたは個々のユーザーに対して設定できます。
- デフォルトでは、ユーザー固有の認証方法設定はグローバル設定よりも優先されます。ユーザーに認証方法が設定されていない場合、グローバルに定義されているメソッドが適用されます。
- 任意のユーザーのユーザーごとの認証方法設定を無効にできます。これにより、IdM はユーザーごとの設定を無視し、常にユーザーにグローバル設定を適用するようになります。
- 複数の認証方法を組み合わせる
複数の認証方法を設定する場合、そのいずれか 1 つでユーザーを正常に認証できます。以下に例を示します。
2 要素とパスワード認証の両方を設定する場合、ユーザーはパスワード (最初の係数) を指定する必要がありますが、コマンドラインを使用する場合は OTP(2 番目の係数) を提供することは任意です。
First Factor: Second Factor (optional):
First Factor: Second Factor (optional):
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Web UI では、ユーザーは両方の要素を指定する必要があります。
ただし、RADIUS と別の認証方法が設定されている場合には、マイナーな例外が存在します。
- Kerberos は常に RADIUS を使用しますが、LDAP は使用しません。LDAP は、パスワードと 2 要素認証メソッドのみを認識します。
- 外部の 2 要素認証プロバイダーを使用する場合は、アプリケーションから Kerberos を使用します。パスワードを使用した認証のみを許可する場合は、LDAP を使用します。アプリケーションでは、Kerberos または LDAP のいずれかを設定できる Apache モジュールと SSSD を使用することを推奨します。
7.2.2. GNOME キーリングサービスのサポート リンクのコピーリンクがクリップボードにコピーされました!
IdM は、OTP 認証と GNOME Keyring サービスを統合します。GNOME Keyring 統合では、ユーザーは最初の要素と 2 番目の要素を個別に入力する必要があります。
First factor: static_password Second factor: one-time_password
First factor: static_password
Second factor: one-time_password
7.2.3. OTP によるオフライン認証 リンクのコピーリンクがクリップボードにコピーされました!
IdM は、オフラインの OTP 認証に対応します。ただし、オフラインでログインできるようにするには、静的パスワードと OTP を個別に入力して、システムがオンラインになると、最初に認証する必要があります。
First factor: static_password Second factor: one-time_password
First factor: static_password
Second factor: one-time_password
ユーザーがオンラインでログインするときにこのように両方のパスワードを個別に入力すると、中央認証サーバーが利用できない場合でも、その後はユーザーは認証できます。IdM は、ユーザーがオフライン時に従来の静的パスワードのみを要求することに注意してください。
IdM は、First factor
プロンプトで 1 つの文字列に静的パスワードと OTP の両方を入力することもできます。ただし、この方法はオフライン OTP 認証とは互換性がありません。ユーザーが 1 つのプロンプトで両方の要素を入力すると、IdM は中央認証サーバーに接続して認証情報を検証する必要があり、そのためにはシステムがオンラインになっている必要があります。
ノートパソコンなど、オフラインでも動作するデバイスで OTP 認証を使用する場合、Red Hat では、オフライン認証が確実に利用できるように、静的パスワードと OTP を個別に入力することを推奨しています。そうしないと、システムがオフラインになった後に IdM にログインできなくなります。
OTP オフライン認証を活用する場合は、静的パスワードと OTP パスワードを別々に入力する以外には、以下の条件を満たしていることを確認してください。
-
/etc/sssd/sssd.conf
ファイルのcache_credentials
オプションがTrue
に設定され、第 1 要素パスワードのキャッシュが有効になります。 -
第一要素の静的パスワードは、
/etc/sssd/sssd.conf
で設定されたcache_credentials_minimal_first_factor_length
オプションで定義されたパスワードの長さ要件を満たしています。デフォルトの最小長は 8 文字です。オプションの詳細は、sssd.conf(5) の
man ページを参照してください。
/etc/sssd/sssd.conf
ファイルで krb5_store_password_if_offline
オプションが true に設定されている場合でも、システムがオンライン状態に戻ったときに、SSSD は KerberosTicket-Granting Ticket (TGT) の更新を試行しません。これは、その時点でワンタイムパスワード (OTP) がすでに無効になっている可能性があるためです。このような状況で新しい TGT を取得するには、ユーザーは両方の要素を使用して再認証する必要があります。