第3章 OpenJDK 17 のデフォルトの FIPS 設定

OpenJDK 17 には、FIPS 準拠設定にデフォルト設定される FIPS (Federal Information Processing Standard) 設定の概要が含まれています。

これらのデフォルト設定に変更を加える前に、以下の OpenJDK 17 のデフォルト FIPS 設定を確認してください。

3.1. セキュリティープロバイダー

グローバル java セキュリティーポリシーファイルは、OpenJDK セキュリティーポリシーを制御します。$JRE_HOME/lib/security/java.security に java セキュリティーポリシーファイルがあります。

FIPS モードを有効にすると、OpenJDK はインストールされたセキュリティープロバイダーを以下のものに置き換えます。これは優先度が高い順になります。

SunPKCS11-NSS-FIPS

  • Network Security Services (NSS) ソフトウェアトークン (PKCS#11 バックエンド) で初期化されます。NSS ソフトウェアトークンには、以下の設定が含まれます。

    • name = NSS-FIPS
    • nssLibraryDirectory = /usr/lib64
    • nssSecmodDirectory = /etc/pki/nssdb
    • nssDbMode = readOnly
    • nssModule = fips
  • NSS ライブラリーは、FIPS 準拠のソフトウェアトークンを実装します。また、RHEL で FIPS ポリシー対応も可能にします。

SUN

  • X.509 証明書でサポートされるのは、X.509 証明書のみです。アプリケーションがこのプロバイダーの他の暗号化アルゴリズムを使用していないことを確認します。それ以外の場合は、セキュリティープロバイダーは java.security.NoSuchAlgorithmException メッセージを出力します。

SunEC

  • SunPKCS11 補助ヘルパーの場合のみ。アプリケーションがこのプロバイダーを明示的に使用していないことを確認してください。

SunJSSE

  • TLS サポートの場合、SunJSSE は X.509 証明書に SUN プロバイダーを使用し、すべての暗号化プリミティブに SunPKCS11-NSS-FIPS プロバイダーを使用します。