第14章 FIPS 140-2 サポート
Federal Information Processing Standard Publication 140-2 (FIPS 140-2) は、暗号化モジュールを承認するために使用される米国政府のコンピューターセキュリティー標準です。Red Hat build of Keycloak は、FIPS 140-2 準拠モードでの実行をサポートしています。この場合、Red Hat build of Keycloak は、その機能に FIPS 承認の暗号化アルゴリズムのみ使用します。
FIPS 140-2 で実行するには、Red Hat build of Keycloak が FIPS 140-2 対応システム上で実行されていなければなりません。この要件は通常、インストール時に FIPS が有効化された RHEL または Fedora を前提としています。詳細は、RHEL のドキュメント を参照してください。システムが FIPS モードの場合、基盤となる OpenJDK も FIPS モードであることが確認され、FIPS 対応のセキュリティープロバイダー のみが使用されます。
システムが FIPS モードであることを確認するには、コマンドラインから次のコマンドを使用します。
fips-mode-setup --check
fips-mode-setup --check
システムが FIPS モードではない場合、次のコマンドを使用して有効にできます。ただし、この方法で後から有効にするのではなく、インストール時からシステムを FIPS モードにすることが推奨されます。
fips-mode-setup --enable
fips-mode-setup --enable
14.1. BouncyCastle ライブラリー
Red Hat build of Keycloak の内部では、多くの暗号化ユーティリティーに BouncyCastle ライブラリーが使用されています。ただし、Red Hat build of Keycloak に同梱されている BouncyCastle ライブラリーのデフォルトフレーバーは FIPS に準拠していません。しかしBouncyCastle はそのライブラリーの FIPS 検証済みバージョンも提供します。FIPS 検証済みの BouncyCastle ライブラリーは、ライセンスの制約により Red Hat build of Keycloak に同梱できず、Red Hat build of Keycloak がその公式サポートを提供することもできません。したがって、FIPS 準拠モードで実行するには、BouncyCastle-FIPS ビットをダウンロードし、それを Red Hat build of Keycloak のディストリビューションに追加する必要があります。Red Hat build of Keycloak が FIPS モードで実行される場合、デフォルトの BouncyCastle ビットの代わりに BCFIPS ビットが使用されます。これにより、FIPS 準拠が実現されます。
14.1.1. BouncyCastle FIPS ビット
BouncyCastle FIPS は、BouncyCastle の公式ページ からダウンロードできます。その後、使用しているディストリビューションの KEYCLOAK_HOME/providers
ディレクトリーにそれらを追加できます。BouncyCastle Keycloak の依存関係と互換性のある適切なバージョンを使用してください。サポートされている、必要な BCFIPS ビットは次のとおりです。
-
bc-fips-1.0.2.3.jar
-
bctls-fips-1.0.16.jar
-
bcpkix-fips-1.0.7.jar