back to all blogsすべてのブログ投稿を表示

25.0.0.3におけるFIPS 140-3のサポートとlibrary設定の簡素化

image of author image of author
David Mueller and 田中 孝清 (翻訳) 2025年3月25日
他言語版へのリンク: English ,

25.0.0.3リリースでは、連邦情報処理標準(FIPS)140-3のサポートと、fileとfolderの管理方法を簡素化する新しいlibrary設定オプションが追加されました。このリリースには、監査ログ、AESおよびハッシュ暗号化アルゴリズムの更新も含まれています。

Open Liberty 25.0.0.3では:以下のアップデートが行われました。

25.0.0.3で修正されたバグの一覧をご確認ください。

25.0.0.3を使用してアプリを開発および実行する

Mavenを使用している場合は、pom.xml ファイルに以下の内容を含めます。

<plugin>
    <groupId>io.openliberty.tools</groupId>
    <artifactId>liberty-maven-plugin</artifactId>
    <version>3.11.3</version>
</plugin>

Gradleを使用している場合は、build.gradle ファイルに以下の内容を含めます。

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.3'
    }
}
apply plugin: 'liberty'

コンテナ イメージを使用している場合。

FROM icr.io/appcafe/open-liberty

または、ダウンロード・ページをご覧ください。

IntelliJ IDEAVisual Studio Code、または Eclipse IDE を使用している場合は、オープンソースの Liberty developer tools を活用して、IDE 内から効果的な開発、テスト、デバッグ、アプリケーション管理を行うこともできます。

Stack Overflowで質問する

fileとfolderの管理方法を簡素化する新しいlibrary設定オプション

Libertyでは、アプリケーションから参照するライブラリを設定する library で、filefolderfileset の各構成要素のリストを使った構成ができます。 file 要素と folder 要素は、設定のターゲットがファイル(JARなど)かフォルダかを事前に知っておく必要があります。 fileset は、ファイルであるターゲットにマッチし、フォルダは無視します。 Liberty 25.0.0.3リリースでは、path という新しい library 設定オプションが追加されました。 path 設定は、ファイルまたはフォルダのいずれかをターゲットにできます。 このオプションを使用すると、path 構成はファイルまたはフォルダーのどちらのターゲットも受け入れることができるため、事前にターゲットのタイプを知っておく必要はありません。

例えば、次のような someLib の構成を考えてみます。

    <library id="someLib">
       <!-- path to a jar -->
       <file name="libs/lib1.jar"/>
       <!-- path to a folder -->
       <folder dir="libs/lib2folder"/>
    </library>

この someLib の設定は、代わりに両方に path を使うことができるようになりました。

    <library id="someLib">
       <!-- path to a jar -->
       <path name="libs/lib1.jar"/>
       <!-- path to a folder -->
       <path name="libs/lib2folder"/>
    </library>

LibertyとIBM JDK 8によるFIPS 140-3のサポート

FIPS 140-3はFIPS 140標準の最新バージョンで、暗号モジュールのセキュリティと完全性を保証するための一連のガイドラインを提供しています。

この更新以前は、FIPS 140-2がサポートされていましたが、IBM SDK 8に対するその認定は現在失効しています。新しい FIPS 140-3 サポートは、IBM SDK 8 を使用する Liberty ユーザーに、更新されたより安全な暗号モジュールを提供します。

サポートされているオペレーティング・システムなど、IBM SDK 8 の FIPS 140-3 サポートについては、IBM SDK 8 ドキュメントの FIPS 140-3 を参照してください。FIPS と Open Liberty の詳細については、Run FIPS-compliant applications on Open Liberty を参照してください。

FIPS 140-3の有効化

Liberty で FIPS 140-3 を有効にするには、以下の手順を実行します。IBM SDK for Java 8.0.8.30 以降を使用する必要があります。

  1. Liberty サーバーが実行中の場合は、サーバーを停止します。

  2. jvm.options jvm.options ファイルで、次のシステム・プロパティを設定します:

    -Xenablefips140-3
    -Dcom.ibm.jsse2.usefipsprovider=true
    -Dcom.ibm.jsse2.usefipsProviderName=IBMJCEPlusFIPS
  3. LTPA鍵がある場合、サーバを再起動する前にltpa.keysファイルを削除し、新しいFIPS 140-3準拠鍵を生成する。

    詳細については、LTPA サポート のセクションを参照してください。

  4. Liberty サーバーを再起動して、FIPS 140-3 を有効にします。

TLS サポート

FIPS 140-3は、TLS 1.2と1.3プロトコルのみをサポートしています。

LTPA サポート

FIPS 140-3が有効になっている場合、LTPAの鍵はFIPS 140-3が承認した暗号 アルゴリズムを使用します。LTPAシングルサインオン(SSO)を使用するには、すべての参加サーバがFIPS 140-3を使用するように構成されていなければいけません。

FIPS 140-3を有効にしてLTPA鍵を作成するには、以下のオプションの1つを選択します。

  • 既存の ltpa.keys ファイルを削除し、FIPS 140-3 を構成した後にサーバを再起動する。

    このファイルのデフォルトの場所は、${server.output.dir}/resources/security/ltpa.keys です。Libertyサーバーが再起動すると、新しい ltpa.keys ファイルが作成されます。この新しいLTPA鍵は、FIPS 140-3標準に対応しています。

  • securityUtility コマンドに createLTPAKeys オプションをつけて実行する。

    LTPA 検証鍵がある場合は、FIPS 140-3を有効にした後、これらの鍵も削除し、新しい検証鍵を生成することが必要です。以下の例に示すように、securityUtility createLTPAKeys コマンドを使用して、新しい検証鍵を生成することができます。

    securityUtility createLTPAKeys コマンドを使用して、FIPS 140-3 で承認されたアルゴリズムを使用する LTPA キーを作成するには、コマンドを実行する前に、以下のシステムプロパティをエクスポートします。

    export JVM_ARGS="-Xenablefips140-3 -Dcom.ibm.jsse2.usefipsprovider=true -Dcom.ibm.jsse2.usefipsProviderName=IBMJCEPlusFIPS"

    その上で、securityUtility createLTPAKeys コマンドを実行します。

    securityUtility createLTPAKeys --password=mypassword --passwordEncoding=aes

LTPAの詳細については、Configuring LTPA in Libertyを参照してください。

監査ログの暗号化と署名に関する更新

25.0.0.3リリースから、Libertyは、FIPS 140-3が有効になっているかどうかに関係なく、監査ログの署名と暗号化に更新されたアルゴリズムを使用します。更新された auditUtility コマンドは、バージョン25.0.0.3より前に署名または暗号化された監査ログを読み取りません。これらの以前のバージョンのログを読み取るには、バージョン 25.0.0.2 以前の Liberty サーバーから auditUtility コマンドを実行します。

パスワードのハッシュおよびAESに関する更新

Starting with the 25.0.0.3 release, all new AES passwords in Liberty use AES 256 algorithms and all new hash passwords use PBKDF2WithHmacSHA512 algorithms, regardless of whether FIPS 140-3 is enabled. If FIPS 140-3 is not enabled, secrets from previous versions are tolerated. With FIPS 140-3 enabled, old secrets must be regenerated by using the securityUtility command. 25.0.0.3リリースから、Libertyの新しいAESパスワードはすべて AES 256 アルゴリズムを使用し、新しいハッシュパスワードはすべて PBKDF2WithHmacSHA512 アルゴリズムを使用します。FIPS 140-3が有効でない場合、以前のバージョンのsecrets(秘密鍵)も許容されます。FIPS 140-3 が有効な場合、古いsecretsは securityUtility コマンド を使用して再生成しなければいけません。

Open Liberty 25.0.0.3を今すぐ入手