17.8. 非 FIPS 環境からの移行
以前に Red Hat build of Keycloak を非 FIPS 環境で使用していた場合は、そのデータを含めて FIPS 環境に移行できます。ただし、前のセクションで述べたように、次のような制限と考慮事項が存在します。
-
Red Hat build of Keycloak 25 以降、パスワードハッシュのデフォルトアルゴリズムは
argon2
です。ただし、このアルゴリズムは FIPS 140-2 ではサポートされていません。つまり、ユーザーがargon2
でパスワードをハッシュ化すると、FIPS 環境への切り替え後にログインできなくなります。FIPS 環境への移行を計画している場合は、最初からレルムの Password ポリシーを設定し(ユーザーが作成される前)、たとえば FIPS に準拠するpbkdf2-sha512
にデフォルトのアルゴリズムを上書きすることを検討してください。この戦略は、FIPS 環境への移行をスムーズに行うのに役立ちます。それ以外の場合は、ユーザーがすでにargon2
パスワードにある場合は、FIPS 環境への移行後にユーザーにパスワードをリセットするよう要求します。たとえば、ユーザーに "Forget password" を使用するか、すべてのユーザーに reset-password のメールを送信するように依頼します。 - キーストアに依存するすべての Red Hat build of Keycloak 機能が、サポートされているキーストアタイプのみを使用していることを確認してください。これは、strict モードと non-strict モードのどちらが使用されているかによりことなります。
-
Kerberos 認証が機能しない可能性があります。認証フローで
Kerberos
オーセンティケーターを使用している場合、FIPS 環境に以降すると、そのオーセンティケーターは自動的にDISABLED
に切り替わります。FIPS 環境に切り替える前に、レルムからKerberos
ユーザーストレージプロバイダーを削除し、LDAP プロバイダーのKerberos
関連機能を無効にすることが推奨されます。
FIPS strict モードに切り替える前に、前述の要件に加えて、次の点を必ず再確認してください。
- キー (レルムキーやクライアントキーなど) に依存するすべての Red Hat build of Keycloak 機能が、2048 ビット以上の RSA Red Hat build of Keycloak を使用していることを確認します。
-
Signed JWT with Client Secret
に依存するクライアントが、長さが 14 文字以上のシークレット (理想的には生成されたシークレット) を使用していることを確認します。 -
前述したパスワードの長さの制限。ユーザーのパスワードがこれよりも短い場合は、前述したように、最大パディング長が 14 に設定された PBKDF2 プロバイダーを使用してサーバーを起動します。この方法を避ける場合は、たとえば全ユーザーに、新しい環境での初回認証時に (
Forgot password
リンクを使用するなどして) パスワードをリセットするように依頼できます。