第2章 Red Hat build of OpenJDK 21 における FIPS 設定


起動時に、Red Hat build of OpenJDK 21 は、システムの FIPS ポリシーが有効化されているか確認します。このポリシーが有効化されている場合、Red Hat build of OpenJDK 21 は、Java アプリケーションが FIPS 要件に準拠できるようにするための一連の自動設定を実行します。

これらの自動設定には、次のアクションが含まれます。

  • 暗号化操作用の FIPS 認定ネットワークセキュリティーサービス (NSS) ソフトウェアトークンモジュールを含むセキュリティープロバイダーの制限リストをインストールする
  • 利用可能なアルゴリズムとパラメーターを制限する Java 用の Red Hat Enterprise Linux (RHEL) FIPS rypto-policy を適用する
注記

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

前述した FIPS 自動化をバイパスするように、Red Hat build of OpenJDK 21 を設定できます。たとえば、NSS ソフトウェアトークンモジュールではなく、Hardware Security Module (HSM) を使用して FIPS 準拠を実現することを推奨します。

システム または セキュリティー プロパティーを使用して FIPS 設定を指定できます。

FIPS プロパティーをより深く理解するには、次の JDK プロパティークラスを理解する必要があります。

  • システムプロパティーは、-D という接頭辞が付いた JVM 引数であり、通常は ‑Dproperty.name=property.value という形式になります。これらの値を渡すための特権アクセスは必要ありません。起動された JVM のみが設定の影響を受け、永続性はランチャースクリプトの存在に依存します。UTF-8 でエンコードされた値はシステムプロパティーに有効です。
  • セキュリティープロパティーは、$JRE_HOME/conf/security/java.security または java.security.properties システムプロパティーが指すファイルで使用できます。$JRE_HOME/conf/security/java.security ファイルの値を変更するには、特権アクセスが必要です。このファイルへの変更は保持され、同じ Red Hat build of OpenJDK 21 のすべてのインスタンスに影響します。基本ラテン文字以外の Unicode 文字は \uXXXX でエンコードする必要があります。

システムプロパティーとセキュリティープロパティーの名前が同じで、異なる値に設定されている場合、システムプロパティーが優先されます。設定によっては、プロパティーが異なる名前を持つ他のプロパティーに影響を与える場合があります。

セキュリティープロパティーとそのデフォルト値の詳細は、java.security ファイルを参照してください。

次のリストは、Red Hat build of OpenJDK 21 の FIPS 設定に影響するプロパティーの詳細を示しています。

Expand
プロパティーデフォルト値説明

security.useSystemPropertiesFile

セキュリティー

true

このプロパティーを false に設定すると、グローバル crypto-policies の調整を含む FIPS 自動化が無効になります。

java.security.disableSystemPropertiesFile

システム

false

true に設定すると、このプロパティーはグローバル crypto-policies の調整を含む FIPS 自動化を無効にします。これは、security.useSystemPropertiesFile=false セキュリティープロパティーと同じ効果があります。両方のプロパティーが異なる動作に設定されている場合、java.security.disableSystemPropertiesFile が優先されます。

com.redhat.fips

システム

true

このプロパティーを false に設定すると、FIPS crypto-policy は引き続き適用されますが、FIPS 自動化は無効になります。上記のいずれかのプロパティーが FIPS 自動化を無効にするように設定されている場合、このプロパティーは効果がありません。暗号化ポリシーは FIPS 自動化の前提条件です。

fips.keystore.type

セキュリティー

PKCS12

このプロパティーは、Red Hat build of OpenJDK 21 が FIPS モードの場合のデフォルトのキーストアタイプを設定します。サポートされる値は PKCS12PKCS11 です。

前述の設定に加えて、FIPS モードで NSS DB キーストアを使用するために特定の設定を適用できます。これらのキーストアは、SunPKCS11 セキュリティープロバイダーと、セキュリティープロバイダーの PKCS#11 バックエンドである NSS ソフトウェアトークンによって処理されます。

次のリストは、Red Hat build of OpenJDK 21 の NSS DB FIPS プロパティーの詳細を示しています。

Expand
プロパティーデフォルト値説明

fips.nssdb.path

システムまたはセキュリティー

sql:/etc/pki/nssdb

NSS DB の場所を指すファイルシステムパス。

このプロパティーの構文は、SunPKCS11 NSS 設定ファイルで使用可能な nssSecmodDirectory 属性と同じです。このプロパティーでは、参照される NSS DB が SQLite タイプであることを示す sql: 接頭辞を使用できます。

fips.nssdb.pin

システムまたはセキュリティー

pin:
(空の PIN)

fips.nssdb.path が指す NSS DB の PIN (パスワード)。

このプロパティーを使用して、NSS DB PIN を次のいずれかの形式で渡すことができます。

  • pin:<value>

    この場合、<value> はクリアテキストの PIN 値 (例: pin:1234abc) です。

  • env:<value>

    この場合、<value> は PIN 値を含む環境変数です (例: env:NSSDB_PIN_VAR)。

  • file:<value>

    この場合、<value> は、最初の行に PIN 値が含まれる UTF-8 でエンコードされたファイルへのパスです (例: file:/path/to/pin.txt)。

pin:<value> オプションは、PIN 値が JVM 引数として渡されるか、システムプロパティーを通じてプログラムで渡されるかの両方のケースに対応します。PIN 値をプログラムで設定すると、アプリケーションが PIN を取得する方法を柔軟に決定できるようになります。

file:<value> オプションは、NSS DB PIN の変更に使用される NSS modutil -pwfile および -newpwfile 引数と互換性があります。

注記

暗号化操作に NSS DB 認証が必要で、ステータスが認証されていない場合、Red Hat build of OpenJDK 21 はこの PIN 値を使用して暗黙的なログインを実行します。アプリケーションは、暗号化操作の前に KeyStore::load を呼び出すことで、明示的なログインを実行できます。

重要

セキュリティー評価を実行して、保存されたキーと証明書のインテグリティーと機密性を保護する設定を決定できるようにします。この評価では、脅威、コンテキスト情報、およびオペレーティングシステムのユーザー分離やファイルシステムの権限など、実施されているその他のセキュリティー対策を考慮する必要があります。たとえば、キーを保存し、マルチユーザー環境で実行されるアプリケーションには、デフォルトの設定値が適切でない場合があります。RHEL の modutil ツールを使用して NSS DB キーストアを作成および管理し、certutil または keytool を使用して証明書とキーをインポートします。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat