第2章 FIPS モードでの OpenJDK 17 の設定

OpenJDK 17 は、起動時に FIPS モードがシステムで有効になっているかどうかを確認します。yes の場合、グローバルポリシーに従って FIPS を自己設定します。これは、RHEL 8.3 以降のデフォルトの動作です。以前の RHEL 8 リリースでは、com.redhat.fips システムプロパティーを JVM 引数として true に設定する必要があります。例: -Dcom.redhat.fips=true

注記

JVM インスタンスの実行中に FIPS モードがシステムで有効になっている場合は、変更を有効にするためにインスタンスを再起動する必要があります。

OpenJDK 17 を設定して、グローバル FIPS 調整をバイパスできます。たとえば、OpenJDK が提供するスキームではなく、Hardware Security Module (HSM) で FIPS コンプライアンスを有効にする場合があります。

OpenJDK 17 の FIPS プロパティーは次のとおりです。

  • security.useSystemPropertiesFile

    • セキュリティープロパティー $JAVA_HOME/lib/security/java.security または java.security.properties にダイレクトされたファイルにあります。
    • デフォルトの java.security ファイル内の値を変更するには、特権アクセスが必要です。
    • 永続設定。
    • false に設定すると、グローバル FIPS と crypto-policies 調整の両方が無効になります。デフォルトでは true に設定されます。
  • java.security.disableSystemPropertiesFile

    • JVM に渡されるシステムプロパティーを引数として渡すシステムプロパティー。For example, -Djava.security.disableSystemPropertiesFile=true.
    • 非特権アクセスで十分です。
    • 非永続的な設定。
    • true に設定すると、グローバル FIPS と crypto-policies アライメントの両方が無効になります。security.useSystemPropertiesFile=false セキュリティプロパティーと同じ効果が生成されます。いずれのプロパティーも異なる動作に設定されている場合は、java.security.disableSystemPropertiesFile が上書きされます。デフォルトでは false に設定されます。
  • com.redhat.fips

    • JVM に渡されるシステムプロパティーを引数として渡すシステムプロパティー。例: -Dcom.redhat.fips=false
    • 非特権アクセスで十分です。
    • 非永続的な設定。
    • false に設定すると、グローバル crypto-policies を適用している間に FIPS 調整を無効にします。以前のプロパティーのいずれかが crypto-policies 調整を無効にするように設定されている場合には、このプロパティーは効果がありません。つまり、crypto-policies は FIPS 調整の前提条件です。デフォルトでは true に設定されます。

関連情報