第17章 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 モードではない場合、次のコマンドを使用して有効にできます。ただし、この方法で後から有効にするのではなく、インストール時からシステムを FIPS モードにすることが推奨されます。
fips-mode-setup --enable
17.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 準拠が実現します。
17.1.1. BouncyCastle FIPS ビット
BouncyCastle FIPS は、BouncyCastle 公式ページ からダウンロードできます。その後、使用しているディストリビューションの KEYCLOAK_HOME/providers
ディレクトリーにそれらを追加できます。Red Hat build of Keycloak の BouncyCastle 依存関係と互換性のある適切なバージョンを使用してください。サポートされている、必要な BCFIPS ビットは次のとおりです。
- BC-fips バージョン 2.0.0。
- bctls-fips バージョン 2.0.19。
- bcpkix-fips バージョン 2.0.7。
- bcutil-fips バージョン 2.0.3。