From bd958c1345b1f3bbc4a8456cacb99e79ffa13d08 Mon Sep 17 00:00:00 2001 From: IsmathBadsha Date: Thu, 12 Feb 2026 06:53:11 +0000 Subject: [PATCH] Add Japanese translation for blog 2025-12-02-25.0.0.12.adoc --- posts/ja/2025-12-02-25.0.0.12.adoc | 714 ++++++++++++++--------------- 1 file changed, 357 insertions(+), 357 deletions(-) diff --git a/posts/ja/2025-12-02-25.0.0.12.adoc b/posts/ja/2025-12-02-25.0.0.12.adoc index 85cbbc90b..2787db355 100755 --- a/posts/ja/2025-12-02-25.0.0.12.adoc +++ b/posts/ja/2025-12-02-25.0.0.12.adoc @@ -1,357 +1,357 @@ ---- -layout: post -title: "25.0.0.12 で独自の AES-256 キーの持ち込みと、IBM Semeru Runtimes による FIPS 140-3 のサポート" -# Do NOT change the categories section -categories: blog -author_picture: https://avatars3.githubusercontent.com/navaneethsnair1 -author_github: https://github.com/navaneethsnair1 -seo-title: 25.0.0.12 で独自の AES-256 キーの持ち込みと、IBM Semeru Runtimes による FIPS 140-3 のサポート - OpenLiberty.io -seo-description: このリリースでは、独自の Base64 エンコードされた AES-256 キーを提供するサポートが導入され、起動時に Liberty がキーを導出する必要がなくなり、より高速で効率的なパスワード暗号化が実現されます。また、適切な IBM Semeru Runtime バージョンで Liberty を実行する際の FIPS 140-3 準拠が追加されます。 -blog_description: このリリースでは、独自の Base64 エンコードされた AES-256 キーを提供するサポートが導入され、起動時に Liberty がキーを導出する必要がなくなり、より高速で効率的なパスワード暗号化が実現されます。また、適切な IBM Semeru Runtime バージョンで Liberty を実行する際の FIPS 140-3 準拠が追加されます。 -open-graph-image: https://openliberty.io/img/twitter_card.jpg -open-graph-image-alt: Open Liberty Logo -blog-available-in-languages: -- lang: en - path: /blog/2025/12/02/25.0.0.12.html -additional_authors: -- name: 高宮 裕子 (翻訳) - github: https://github.com/una-tapa - image: https://avatars.githubusercontent.com/una-tapa ---- -= 25.0.0.12 で独自の AES-256 キーの持ち込みと、IBM Semeru Runtimes による FIPS 140-3 のサポート -Navaneeth S Nair -:imagesdir: / -:url-prefix: -:url-about: / -//Blank line here is necessary before starting the body of the post. - -このリリースでは、独自の Base64 エンコードされた AES-256 キーを提供するサポートが導入され、起動時に Liberty がキーを導出する必要がなくなり、より高速で効率的なパスワード暗号化が実現されます。また、サポートされている IBM Semeru Runtime バージョン(11.0.29、17.0.17、21.0.9、25.0.1 以降)で Liberty を実行する際の FIPS 140-3 準拠が追加されます。 - -// // // // // // // // -// In the preceding section: -// Leave any instances of `tag::xxxx[]` or `end:xxxx[]` as they are. -// -// Replace RELEASE_SUMMARY with a short paragraph that summarises the release. Start with the lead feature but also summarise what else is new in the release. You will agree which will be the lead feature with the reviewers so you can just leave a placeholder here until after the initial review. -// // // // // // // // - -// // // // // // // // -// Replace the following throughout the document: -// Replace 25.0.0.12 with the version number of Open Liberty, eg: 22.0.0.2 -// Replace 250010 with the version number of Open Liberty wihtout the periods, eg: 22002 -// // // // // // // // - -In link:{url-about}[Open Liberty] 25.0.0.12: - -* <> -* <> -* <> - -25.0.0.12 で修正されたバグのリストは link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A250012+label%3A%22release+bug%22[こちら] です。 - -link:{url-prefix}/blog/?search=release&search!=beta[以前の Open Liberty GA リリースのブログ投稿] もチェックして下さい。 - -[#run] -== 25.0.0.12 でアプリを開発して実行する - -もし link:{url-prefix}/guides/maven-intro.html[Maven] を使用しているなら、`pom.xml` に以下を含めます。 - -[source,xml] ----- - - io.openliberty.tools - liberty-maven-plugin - 3.11.5 - ----- - -link:{url-prefix}/guides/gradle-intro.html[Gradle] を使用している場合は、`build.gradle` ファイルに以下を含めます。 - -[source,gradle] ----- -buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.6' - } -} -apply plugin: 'liberty' ----- - -link:{url-prefix}/docs/latest/container-images.html[コンテナ・イメージ] を使用する場合は以下です。 - -[source] ----- -FROM icr.io/appcafe/open-liberty ----- - -もしくは link:{url-prefix}/start/[ダウンロード・ページ] をご覧下さい。 - -link:https://plugins.jetbrains.com/plugin/14856-liberty-tools[IntelliJ IDEA]、link:https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext[Visual Studio Code] または link:https://marketplace.eclipse.org/content/liberty-tools[Eclipse IDE] を使用している場合、これらの IDE で効率的な開発・テスト・デバッグとアプリケーション管理のすべてを実行するために、オープンソースの link:https://openliberty.io/docs/latest/develop-liberty-tools.html[Liberty Tools] を利用することができます。 - -[link=https://stackoverflow.com/tags/open-liberty] -image::img/blog/blog_btn_stack_ja.svg[Stack Overflow で質問する, align="center"] - -// // // // DO NOT MODIFY THIS COMMENT BLOCK // // // // -// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/33391 -// Contact/Reviewer: jacobwdv -// // // // // // // // -[#aes256] -== 独自の AES-256 キーの持ち込み - -Liberty では、パスワード暗号化のために Base64 エンコードされた 256 ビット AES キーを提供できるようになりました。 - -=== 新機能 - -以前、Liberty は `wlp.password.encryption.key` プロパティをサポートしており、パスワードを受け取り、計算集約的なプロセスを通じて AES キーを導出していました。この導出には、ソルトを使用した繰り返しハッシュが多数の反復にわたって含まれており、サーバー起動時にオーバーヘッドが追加されていました。 - -現在では、事前に生成された AES キーを直接提供できるようになりました。これにより導出ステップが不要になり、起動時間が短縮され、パスワードの暗号化と復号化時のランタイム・パフォーマンスが向上します。 - -=== 有効化の方法 - -. **256 ビット AES キーの取得** -+ -セキュリティ・インフラストラクチャから 256 ビット AES キーを取得するか、`securityUtility generateAESKey` コマンドを使用して生成できます。 -+ -`securityUtility` を使用して 256 ビット AES キーを生成するには、新しい `securityUtility generateAESKey` タスクを実行します: - -* ランダムな AES キーを生成する: -+ -```bash -./securityUtility generateAESKey -``` -* オプションで、ランダムな AES キーを XML ファイルに保存する: -+ -```bash - securityUtility generateAESKey --createConfigFile=myAesConfig.xml -``` -* または、パスフレーズから非ランダムな AES キーを生成する: -+ -```bash -./securityUtility generateAESKey --key= -``` -* オプションで、パスフレーズから非ランダムな AES キーを生成し、XML ファイルに保存する: -+ -```bash - securityUtility generateAESKey --key= --createConfigFile=myAesConfig.xml -``` - -. *Liberty でキーを設定する* -+ -`server.xml` ファイルで AES キーを直接設定するには、以下の変数定義を追加します: -+ -[source, xml] ----- - ----- -+ -または、外部設定ファイル(`generateAESKey --createConfigFile` で生成されたファイルなど)から AES キーをロードするには、以下の設定を使用してファイルをインクルードします。 -+ -*注意:* インクルードされるファイルには、前述のように `wlp.aes.encryption.key` の変数定義が含まれている必要があります。 -+ -[source, xml] ----- - ----- - -. *パスワードを暗号化する* -+ -`securityUtility encode` コマンドを実行して、AES-256 キーを使用するパスワードを暗号化できます: - -- キーを直接提供する: -+ -```bash -securityUtility encode --encoding=aes --base64Key= -``` -- AES キー変数を含む XML または Java プロパティ・ファイルを使用するには、`--aesConfigFile` オプションを指定します: -+ -```bash -securityUtility encode --encoding=aes --aesConfigFile= -``` -. *設定を更新する* -+ -結果として得られた暗号化された値を Liberty 設定にコピーします。 - ---- - -*パフォーマンスのヒント:* 最高のパフォーマンスを得るには、新しい AES-256 キーを使用してすべてのパスワードを再暗号化してください。Open Liberty は古いパスワード形式をサポートしていますが、完全な移行により一貫した起動パフォーマンスが提供されます。 - -AES 暗号化をサポートする Liberty コマンドは、以下のオプションを受け入れます: - -* `--base64Key` または `--passwordBase64Key`:Base64 エンコードされた AES-256 キーを直接提供します。 -* `--aesConfigFile`:`wlp.aes.encryption.key` または `wlp.password.encryption.key` を定義する設定ファイルを提供します。 - -その他のコマンドライン・タスクも、同様の方法で Base64 キーと AES 設定ファイルを受け入れるように更新されています: - -. `securityUtility` - * `createSSLCertificate` - * `createLTPAKeys` - * `encode` -. `configUtility` - * `install` -. `collective` - * `create` - * `join` - * `replicate` - -// DO NOT MODIFY THIS LINE. - -// // // // DO NOT MODIFY THIS COMMENT BLOCK // // // // -// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/33359 -// Contact/Reviewer: abutch3r -// // // // // // // // -[#fips] -== IBM Semeru Runtimes による FIPS 140-3 のサポート - -FIPS 140-3 は FIPS 140 標準の最新バージョンであり、暗号化モジュールのセキュリティと整合性を確保するための一連のガイドラインを提供します。FIPS 140-3 のサポートは、バージョン link:https://openliberty.io/blog/2025/03/25/25.0.0.3.html[25.0.0.3] で IBM JDK 8 を使用した Liberty で初めて導入されました。このリリースでは、Open Liberty は link:https://developer.ibm.com/languages/semeru-runtimes[IBM Semeru Runtimes] バージョン 11.0.29、17.0.17、21.0.9、25.0.1 以降を使用する際に FIPS 140-3 標準をサポートします。 - -=== FIPS 140-3 の有効化 - -`securityUtility` には、FIPS 140-3 を有効にするための configureFIPS という新しいタスクがあります。この新しいタスクは、IBM Semeru Runtimes と IBM SDK 8 の両方に適用されます。 - -`configureFIPS` タスクは 3 つのレベルで動作します: - -1. Install -2. Server -3. Client - -すべてのサーバー、クライアント、およびツール全体で有効にするには、以下を実行して Install レベルで FIPS 140-3 を有効にできます: -``` -securityUtility configureFIPS -``` - -特定のサーバーを有効化または設定するには、以下を実行します: -``` -securityUtility configureFIPS --server= -``` - -特定のクライアントを有効化または設定するには、以下を実行します: -``` -securityUtility configureFIPS --client= -``` - -IBM Semeru Runtimes の場合、これらのコマンドは FIPS 有効化要件を設定し、アプリケーションの必要な制約を設定するために編集できる Java セキュリティ・プロパティ・ファイルを作成します。 -制約の設定の詳細については、link:https://www.ibm.com/support/pages/node/7113528#creatingextensionsofprofiles[プロファイルの拡張の作成] に関するドキュメントを参照してください。 - -特定の場所または特定の名前でプロファイルを作成するには、`--customProfileFile=` 引数を指定でき、編集可能なファイルが作成されます。ファイルの名前がプロファイルの名前として使用されます。設定は、提供されたファイルを指すように設定されます。 -プロパティには複数のファイルを指定できます。すべてのファイルが作成され、前のファイルを拡張し、指定された最後のファイルがチェーンの最後になります。 - -`securityUtility configureFIPS` コマンドの一部として `--customProfileFile` を指定しない場合、ファイルは以下の場所に作成されます。場所は、サーバーまたはクライアントを指定したかどうかによって異なります。 - -- サーバーもクライアントも指定されていない場合 `/wlp/etc/FIPS140-3-Liberty-Application.properties` -- サーバーが指定されている場合 `/resources/security/FIPS140-3-Liberty-Application.properties` -- クライアントが指定されている場合 `/resources/security/FIPS140-3-Liberty-Application.properties` - -有効化されている必要なレベルで FIPS 140-3 を無効にするには、コマンドに以下のオプションを追加します。 -``` ---disable -``` - -=== LTPA - -FIPS 140-3 が有効になっている場合、サーバーは FIPS 140-3 承認の暗号化アルゴリズムを使用して生成された LTPA キーのみをロードできます。LTPA シングル・サインオン(SSO)を機能させるには、ユーザーはすべてのサーバーで FIPS 140-3 を使用するように設定する必要があります。設定の詳細については、link:https://www.ibm.com/docs/en/was-liberty/base?topic=liberty-configuring-ltpa-in[ドキュメント] を参照してください。 - -FIPS 140-3 が有効化された後にサーバーが再起動されると、FIPS 承認アルゴリズムで生成された新しい `ltpa.keys` ファイルが自動的に作成されます。FIPS 140-3 が有効化される前に作成された既存の `ltpa.keys` ファイルは、`ltpa.keys.nofips` にバックアップされます。 -お客様は、FIPS 140-3 が有効化される前に作成された検証キー・ファイルを再作成するために、securityUtility `createLTPAKeys` コマンドを使用する必要があります。 - -==== securityUtility を使用した新しい FIPS 承認 LTPA キーの作成: - -securityUtility コマンドの `createLTPAKeys` オプションを使用して LTPA キーを作成することもできます。FIPS 140-3 承認アルゴリズムで LTPA キーを生成するには、インストール・レベルで FIPS 140-3 を設定します。 -``` -securityUtility createLTPAKeys --password=mypassword --passwordEncoding=aes -``` - -=== SAML - -Liberty SAML Web Browser SSO 暗号化は、IBM Semeru FIPS 140-3 認定の ECDH-ES キー交換をサポートするようになりました。 -Liberty は、`SHA256`、`SHA384`、`SHA512`、および `ECDSAwithSHA256`、`ECDSAwith384`、`ECDSAwith512` を含む、SAML のより強力な署名アルゴリズムをサポートするようになりました。 - -=== FIPS 140-3 モードが有効な場合にサポートされる署名メソッド・アルゴリズム・オプション -*サポート対象:* - -- SHA256 -- SHA384(25.0.0.12 以降) -- SHA512(25.0.0.12 以降) -- ECDSAwithSHA256(25.0.0.12 以降) -- ECDSAwithSHA384(25.0.0.12 以降) -- ECDSAwithSHA512(25.0.0.12 以降) - -*サポート対象外:* - -- SHA1 - -*使用例* -``` - -``` - -=== FIPS 140-3 モードが有効な場合にサポートされる暗号化アルゴリズム -*サポート対象:* - -- ECDH-ES - -*サポート対象外:* - -- SAML 暗号化が有効な場合の RSA-OAEP 暗号化キー転送。 - -*注意:* IBM Semeru ランタイムで使用されている FIPS モジュールは、将来のリリースで RSA-OAEP 操作を認定する予定です。 - -=== wsSecurity-1.1 - -`wsSecurity-1.1` フィーチャーは、ECDH-ES アルゴリズムを活用して、署名と暗号化のための楕円曲線キーの使用をサポートするようになりました。 - -=== アプリケーションの制約の定義 - -FIPS 140-3 が設定されている場合、Semeru ランタイムは、link:https://www.ibm.com/support/pages/node/7113528#restrictedsecuritymode[FIPS140-3-Strongly-Enforced 制限付きセキュリティ・モード・プロファイル] が有効になっているときに、サーバー全体で FIPS 140-3 承認アルゴリズムの使用を強制します。Semeru FIPS 140-3 の暗号化アルゴリズムの強制は、アルゴリズムの使用を区別しません。たとえば、メッセージ・ダイジェスト・ハッシュ(通常は 2 つの値を比較するために使用される)での `SHA1` の使用は FIPS 140-3 仕様で許可されていますが、`SHA1` の使用に区別がないため、Semeru FIPS 140-3 は依然として例外をスローします。例外が発生した場合は常に、原因を調査し、必要に応じてアルゴリズムを更新してください(この場合、たとえば `SHA-256` または `SHA-512` に)。問題が暗号化に関連しておらず、その使用が FIPS 140-3 仕様で許可されている場合は、許可された制約としてカスタム・プロファイルの例外リストに追加してください。 - -IBM Semeru は、プロファイルを使用して制約を適用し、Java セキュリティ・プロバイダーとアルゴリズムへのアクセスを許可して、FIPS 140-3 準拠を確保します。Strongly-enforced または Strict プロファイルがベースとして使用される場合、`SHA-1` などのアルゴリズムは、制約が追加されて許可されるまで、どのアプリケーション・クラスでも使用できません。 - -`SHA-1` などの非 FIPS 140-3 メッセージ・ダイジェストを使用している場合、次のような例外が表示される場合があります: -``` -java.security.NoSuchAlgorithmException: SHA1 MessageDigest not available - at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:159) - at java.base/java.security.MessageDigest.getInstance(MessageDigest.java:185) - at io.openliberty.fips.test.application.ObjectComparator.compareObjects(ObjectComparator.java:463) -``` -アプリケーションがオブジェクトを比較しているため、`SHA-1` を使用できます。 - -FIPS を有効にする一環として作成されたプロパティ・ファイルで、アルゴリズムを提供するプロバイダーの下に制約を追加できます。 -``` -RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3-Liberty-Application.jce.provider.1 = com.ibm.crypto.plus.provider.OpenJCEPlusFIPS [+ \ - {MessageDigest, SHA-1, *, FullClassName:io.openliberty.fips.test.application.ObjectComparator}] -``` -*注意:* 例外では `SHA1` が欠落していると述べられていますが、アルゴリズムの名前は `SHA-1` であり、`SHA1` はそのエイリアスです。 - -アプリケーションに Java セキュリティ・プロバイダーが含まれている場合、または `FIPS140-3-Liberty` または `FIPS140-3-Strongly-Enforced` プロファイルにまだ登録されていない新しいプロバイダーを追加する必要がある場合は、FIPS セキュリティ・プロパティ・ファイルにも含める必要があります。 - -次のようにプロバイダーを追加できます: -``` -RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3-Liberty-Application.jce.provider.51 = io.openliberty.fips.test.custom.SecurityProvider -``` -プロバイダーの定義内に制約を指定しない場合、そのプロバイダーが提供するすべてのアルゴリズムがランタイム内のすべてのクラスで使用可能になります。さらに、追加する新しいプロバイダーは、プロバイダー位置 51 から配置する必要があります。 - -link:https://www.ibm.com/support/pages/fips-140-3-cryptography-ibm-semeru-runtimes[FIPS 140-3 サポート] および link:https://openliberty.io/docs/latest/reference/config/samlWebSso20.html[SAML Web Browser SSO] の詳細については、ドキュメントを参照してください。 - -また、いくつかの異なるシナリオで追加する必要がある制約の例については、link:https://www.ibm.com/docs/en/was-liberty/nd?topic=liberty-troubleshooting-fips-140-3[トラブルシューティング] セクションを参照してください。 - -// DO NOT MODIFY THIS LINE. - -[#CVEs] -== このリリースでのセキュリティ脆弱性(CVE)の修正 -[cols="5*"] -|=== -|CVE |CVSS スコア |脆弱性評価 |影響を受けるバージョン |備考 - -|https://www.cve.org/CVERecord?id=CVE-2025-7962[CVE-2025-7962] -|7.5 -|SMTP インジェクション -|17.0.0.3-25.0.0.11 -|`javaMail-1.5`、`javaMail-1.6`、`mail-2.0`、`mail-2.1` フィーチャーに影響 -|=== - -過去のセキュリティ脆弱性修正のリストについては、link:{url-prefix}/docs/latest/security-vulnerabilities.html[セキュリティ脆弱性(CVE)リスト] を参照してください。 - -== 今すぐ Open Liberty 25.0.0.12 を入手する - -<> から可能です。 \ No newline at end of file +--- +layout: post +title: "25.0.0.12 での独自の AES-256 キーの持ち込みと IBM Semeru Runtimes による FIPS 140-3 のサポート" +# Do NOT change the categories section +categories: blog +author_picture: https://avatars3.githubusercontent.com/navaneethsnair1 +author_github: https://github.com/navaneethsnair1 +seo-title: 25.0.0.12 での独自の AES-256 キーの持ち込みと IBM Semeru Runtimes による FIPS 140-3 のサポート - OpenLiberty.io +seo-description: このリリースでは、独自の Base64 エンコードされた AES-256 キーを提供するサポートが導入され、起動時に Liberty がキーを導出する必要がなくなり、より高速で効率的なパスワード暗号化が実現されます。また、適切な IBM Semeru Runtime バージョンで Liberty を実行する際の FIPS 140-3 準拠が追加されます。 +blog_description: このリリースでは、独自の Base64 エンコードされた AES-256 キーを提供するサポートが導入され、起動時に Liberty がキーを導出する必要がなくなり、より高速で効率的なパスワード暗号化が実現されます。また、適切な IBM Semeru Runtime バージョンで Liberty を実行する際の FIPS 140-3 準拠が追加されます。 +open-graph-image: https://openliberty.io/img/twitter_card.jpg +open-graph-image-alt: Open Liberty Logo +blog-available-in-languages: +- lang: en + path: /blog/2025/12/02/25.0.0.12.html +additional_authors: +- name: IsmathBadsha (翻訳) + github: https://github.com/IsmathBadsha + image: https://avatars.githubusercontent.com/IsmathBadsha +--- += 25.0.0.12 での独自の AES-256 キーの持ち込みと IBM Semeru Runtimes による FIPS 140-3 のサポート +Navaneeth S Nair +:imagesdir: / +:url-prefix: +:url-about: / +//Blank line here is necessary before starting the body of the post. + +このリリースでは、独自の Base64 エンコードされた AES-256 キーを提供するサポートが導入され、起動時に Liberty がキーを導出する必要がなくなり、より高速で効率的なパスワード暗号化が実現されます。また、サポートされている IBM Semeru Runtime バージョン(11.0.29、17.0.17、21.0.9、25.0.1 以降)で Liberty を実行する際の FIPS 140-3 準拠が追加されます。 + +// // // // // // // // +// In the preceding section: +// Leave any instances of `tag::xxxx[]` or `end:xxxx[]` as they are. +// +// Replace RELEASE_SUMMARY with a short paragraph that summarises the release. Start with the lead feature but also summarise what else is new in the release. You will agree which will be the lead feature with the reviewers so you can just leave a placeholder here until after the initial review. +// // // // // // // // + +// // // // // // // // +// Replace the following throughout the document: +// Replace 25.0.0.12 with the version number of Open Liberty, eg: 22.0.0.2 +// Replace 250010 with the version number of Open Liberty wihtout the periods, eg: 22002 +// // // // // // // // + +link:{url-about}[Open Liberty] 25.0.0.12 では以下の機能が提供されます。 + +* <> +* <> +* <> + +25.0.0.12 で修正されたバグのリストは link:https://github.com/OpenLiberty/open-liberty/issues?q=label%3Arelease%3A250012+label%3A%22release+bug%22[こちら] です。 + +link:{url-prefix}/blog/?search=release&search!=beta[以前の Open Liberty GA リリースのブログ投稿] もチェックして下さい。 + +[#run] +== 25.0.0.12 でアプリを開発して実行する + +もし link:{url-prefix}/guides/maven-intro.html[Maven] を使用しているなら、`pom.xml` に以下を含めます。 + +[source,xml] +---- + + io.openliberty.tools + liberty-maven-plugin + 3.11.5 + +---- + +link:{url-prefix}/guides/gradle-intro.html[Gradle] を使用している場合は、`build.gradle` ファイルに以下を含めます。 + +[source,gradle] +---- +buildscript { + repositories { + mavenCentral() + } + dependencies { + classpath 'io.openliberty.tools:liberty-gradle-plugin:3.9.6' + } +} +apply plugin: 'liberty' +---- + +link:{url-prefix}/docs/latest/container-images.html[コンテナ・イメージ] を使用する場合は以下です。 + +[source] +---- +FROM icr.io/appcafe/open-liberty +---- + +または、link:{url-prefix}/start/[ダウンロード・ページ] をご覧ください。 + +link:https://plugins.jetbrains.com/plugin/14856-liberty-tools[IntelliJ IDEA]、link:https://marketplace.visualstudio.com/items?itemName=Open-Liberty.liberty-dev-vscode-ext[Visual Studio Code]、または link:https://marketplace.eclipse.org/content/liberty-tools[Eclipse IDE] を使用している場合は、オープンソースの link:https://openliberty.io/docs/latest/develop-liberty-tools.html[Liberty 開発者ツール] を利用して、IDE 内から効果的な開発、テスト、デバッグ、およびアプリケーション管理を行うこともできます。 + +[link=https://stackoverflow.com/tags/open-liberty] +image::img/blog/blog_btn_stack_ja.svg[Stack Overflow で質問する, align="center"] + +// // // // DO NOT MODIFY THIS COMMENT BLOCK // // // // +// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/33391 +// Contact/Reviewer: jacobwdv +// // // // // // // // +[#aes256] +== 独自の AES-256 キーの持ち込み + +Liberty では、パスワード暗号化のために Base64 エンコードされた 256 ビット AES キーを提供できるようになりました。 + +=== 新機能 + +これまで、Liberty は `wlp.password.encryption.key` プロパティをサポートしており、パスワードを受け取り、計算量の多いプロセスを通じて AES キーを導出していました。この導出には、ソルトを使用した繰り返しハッシュが多数の反復にわたって含まれており、サーバー起動時にオーバーヘッドが追加されていました。 + +現在では、事前に生成された AES キーを直接提供できるようになりました。これにより、導出ステップが不要になり、起動時間が短縮され、パスワードの暗号化と復号化時のランタイムパフォーマンスが向上します。 + +=== 有効化方法 + +. **256 ビット AES キーを取得する** ++ +セキュリティインフラストラクチャから 256 ビット AES キーを取得するか、`securityUtility generateAESKey` コマンドを使用して生成できます。 ++ +`securityUtility` を使用して 256 ビット AES キーを生成するには、新しい `securityUtility generateAESKey` タスクを実行します。 + +* ランダムな AES キーを生成する: ++ +```bash +./securityUtility generateAESKey +``` +* オプションで、ランダムな AES キーを XML ファイルに保存する: ++ +```bash + securityUtility generateAESKey --createConfigFile=myAesConfig.xml +``` +* または、パスフレーズから非ランダムな AES キーを生成する: ++ +```bash +./securityUtility generateAESKey --key= +``` +* オプションで、パスフレーズから非ランダムな AES キーを生成し、XML ファイルに保存する: ++ +```bash + securityUtility generateAESKey --key= --createConfigFile=myAesConfig.xml +``` + +. *Liberty でキーを設定する* ++ +`server.xml` ファイルで AES キーを直接設定するには、以下の変数定義を追加します。 ++ +[source, xml] +---- + +---- ++ +または、外部設定ファイル(`generateAESKey --createConfigFile` で生成されたファイルなど)から AES キーをロードするには、以下の設定を使用してファイルをインクルードします。 ++ +*注意:* インクルードされるファイルには、前述のように `wlp.aes.encryption.key` の変数定義が含まれている必要があります。 ++ +[source, xml] +---- + +---- + +. *パスワードを暗号化する* ++ +`securityUtility encode` コマンドを実行して、AES-256 キーを使用するパスワードを暗号化できます。 + +- キーを直接提供する: ++ +```bash +securityUtility encode --encoding=aes --base64Key= +``` +- AES キー変数を含む XML または Java プロパティファイルを使用するには、`--aesConfigFile` オプションを指定します: ++ +```bash +securityUtility encode --encoding=aes --aesConfigFile= +``` +. *設定を更新する* ++ +結果として得られた暗号化された値を Liberty 設定にコピーします。 + +--- + +*パフォーマンスのヒント:* 最高のパフォーマンスを得るには、新しい AES-256 キーを使用してすべてのパスワードを再暗号化してください。Open Liberty は古いパスワード形式をサポートしていますが、完全な移行により一貫した起動パフォーマンスが提供されます。 + +AES 暗号化をサポートする Liberty コマンドは、以下のオプションを受け入れます。 + +* `--base64Key` または `--passwordBase64Key`: Base64 エンコードされた AES-256 キーを直接提供します。 +* `--aesConfigFile`: `wlp.aes.encryption.key` または `wlp.password.encryption.key` を定義する設定ファイルを提供します。 + +その他のコマンドラインタスクも、同様の方法で Base64 キーと AES 設定ファイルを受け入れるように更新されました。 + +. `securityUtility` + * `createSSLCertificate` + * `createLTPAKeys` + * `encode` +. `configUtility` + * `install` +. `collective` + * `create` + * `join` + * `replicate` + +// DO NOT MODIFY THIS LINE. + +// // // // DO NOT MODIFY THIS COMMENT BLOCK // // // // +// Blog issue: https://github.com/OpenLiberty/open-liberty/issues/33359 +// Contact/Reviewer: abutch3r +// // // // // // // // +[#fips] +== IBM Semeru Runtimes による FIPS 140-3 のサポート + +FIPS 140-3 は FIPS 140 標準の最新バージョンであり、暗号化モジュールのセキュリティと整合性を確保するための一連のガイドラインを提供します。FIPS 140-3 のサポートは、バージョン link:https://openliberty.io/blog/2025/03/25/25.0.0.3.html[25.0.0.3] で IBM JDK 8 を使用した Liberty に初めて導入されました。このリリースでは、Open Liberty は link:https://developer.ibm.com/languages/semeru-runtimes[IBM Semeru Runtimes] バージョン 11.0.29、17.0.17、21.0.9、25.0.1 以降を使用する際に FIPS 140-3 標準をサポートします。 + +=== FIPS 140-3 の有効化 + +`securityUtility` には、FIPS 140-3 を有効にするための configureFIPS という新しいタスクがあります。この新しいタスクは、IBM Semeru Runtimes と IBM SDK 8 の両方に適用されます。 + +`configureFIPS` タスクは 3 つのレベルで動作します。 + +1. Install +2. Server +3. Client + +すべてのサーバー、クライアント、およびツール全体で有効にするには、以下を実行して Install レベルで FIPS 140-3 を有効にできます。 +``` +securityUtility configureFIPS +``` + +特定のサーバーを有効化または設定するには、以下を実行します。 +``` +securityUtility configureFIPS --server= +``` + +特定のクライアントを有効化または設定するには、以下を実行します。 +``` +securityUtility configureFIPS --client= +``` + +IBM Semeru Runtimes の場合、これらのコマンドは FIPS 有効化要件を設定し、アプリケーションの必要な制約を設定するために編集できる Java セキュリティプロパティファイルを作成します。 +制約の設定の詳細については、link:https://www.ibm.com/support/pages/node/7113528#creatingextensionsofprofiles[プロファイルの拡張の作成] に関するドキュメントを参照してください。 + +特定の場所または特定の名前でプロファイルを作成するには、`--customProfileFile=` 引数を指定でき、編集可能なファイルが作成されます。ファイルの名前がプロファイルの名前として使用されます。設定は、提供されたファイルを指すように設定されます。 +プロパティには複数のファイルを指定できます。すべてのファイルが作成され、その前のファイルを拡張し、指定された最後のファイルがチェーンの最後になります。 + +`securityUtility configureFIPS` コマンドの一部として `--customProfileFile` を指定しない場合、ファイルは以下の場所に作成されます。場所は、サーバーまたはクライアントを指定したかどうかによって異なります。 + +- サーバーもクライアントも指定されていない場合 `/wlp/etc/FIPS140-3-Liberty-Application.properties` +- サーバーが指定されている場合 `/resources/security/FIPS140-3-Liberty-Application.properties` +- クライアントが指定されている場合 `/resources/security/FIPS140-3-Liberty-Application.properties` + +有効になっている必要なレベルで FIPS 140-3 を無効にするには、コマンドに以下のオプションを追加します。 +``` +--disable +``` + +=== LTPA + +FIPS 140-3 が有効になっている場合、サーバーは FIPS 140-3 承認の暗号化アルゴリズムを使用して生成された LTPA キーのみをロードできます。LTPA シングルサインオン (SSO) を機能させるには、ユーザーは FIPS 140-3 を使用するようにすべてのサーバーを設定する必要があります。設定の詳細については、link:https://www.ibm.com/docs/en/was-liberty/base?topic=liberty-configuring-ltpa-in[ドキュメント] を参照してください。 + +FIPS 140-3 が有効になった後にサーバーが再起動されると、FIPS 承認アルゴリズムで生成された新しい `ltpa.keys` ファイルが自動的に作成されます。FIPS 140-3 が有効になる前に作成された既存の `ltpa.keys` ファイルは、`ltpa.keys.nofips` にバックアップされます。 +お客様は、FIPS 140-3 が有効になる前に作成された検証キーファイルを再作成するために、securityUtility `createLTPAKeys` コマンドを使用する必要があります。 + +==== securityUtility を使用した新しい FIPS 承認 LTPA キーの作成: + +securityUtility コマンドの `createLTPAKeys` オプションを使用して LTPA キーを作成することもできます。FIPS 140-3 承認アルゴリズムで LTPA キーを生成するには、インストールレベルで FIPS 140-3 を設定します。 +``` +securityUtility createLTPAKeys --password=mypassword --passwordEncoding=aes +``` + +=== SAML + +Liberty SAML Web Browser SSO 暗号化は、IBM Semeru FIPS 140-3 認定の ECDH-ES キー交換をサポートするようになりました。 +Liberty は、`SHA256`、`SHA384`、`SHA512`、および `ECDSAwithSHA256`、`ECDSAwith384`、`ECDSAwith512` を含む、SAML のより強力な署名アルゴリズムをサポートするようになりました。 + +=== FIPS 140-3 モードが有効な場合にサポートされる署名メソッドアルゴリズムオプション +*サポート対象:* + +- SHA256 +- SHA384 (25.0.0.12 以降) +- SHA512 (25.0.0.12 以降) +- ECDSAwithSHA256 (25.0.0.12 以降) +- ECDSAwithSHA384 (25.0.0.12 以降) +- ECDSAwithSHA512 (25.0.0.12 以降) + +*サポート対象外:* + +- SHA1 + +*使用例* +``` + +``` + +=== FIPS 140-3 モードが有効な場合にサポートされる暗号化アルゴリズム +*サポート対象:* + +- ECDH-ES + +*サポート対象外:* + +- SAML 暗号化が有効な場合の RSA-OAEP 暗号化キートランスポート。 + +*注意:* IBM Semeru ランタイムで使用されている FIPS モジュールは、将来のリリースで RSA-OAEP 操作を認定する予定です。 + +=== wsSecurity-1.1 + +`wsSecurity-1.1` 機能は、ECDH-ES アルゴリズムを活用することで、署名と暗号化に楕円曲線キーの使用をサポートするようになりました。 + +=== アプリケーションの制約の定義 + +FIPS 140-3 が設定されている場合、Semeru ランタイムは、link:https://www.ibm.com/support/pages/node/7113528#restrictedsecuritymode[FIPS140-3-Strongly-Enforced 制限付きセキュリティモードプロファイル] が有効になっているときに、サーバー全体で FIPS 140-3 承認アルゴリズムの使用を強制します。Semeru FIPS 140-3 の暗号化アルゴリズムの強制は、アルゴリズムの使用を区別しません。たとえば、メッセージダイジェストハッシュ(通常は 2 つの値を比較するために使用される)に `SHA1` を使用することは FIPS 140-3 仕様で許可されていますが、`SHA1` の使用に区別がないため、Semeru FIPS 140-3 は依然として例外をスローします。例外が発生した場合は常に、原因を調査し、必要に応じてアルゴリズムを更新してください(たとえば、この場合は `SHA-256` または `SHA-512` に)。問題が暗号化に関連しておらず、その使用が FIPS 140-3 仕様で許可されている場合は、許可された制約としてカスタムプロファイルの例外リストに追加してください。 + +IBM Semeru は、プロファイルを使用して制約を適用し、Java セキュリティプロバイダーとアルゴリズムへのアクセスを許可して、FIPS 140-3 準拠を確保します。Strongly-enforced または Strict プロファイルがベースとして使用される場合、`SHA-1` のようなアルゴリズムは、それを許可する制約が追加されるまで、どのアプリケーションクラスでも使用できません。 + +`SHA-1` のような非 FIPS 140-3 メッセージダイジェストを使用している場合、次のような例外が表示される可能性があります。 +``` +java.security.NoSuchAlgorithmException: SHA1 MessageDigest not available + at java.base/sun.security.jca.GetInstance.getInstance(GetInstance.java:159) + at java.base/java.security.MessageDigest.getInstance(MessageDigest.java:185) + at io.openliberty.fips.test.application.ObjectComparator.compareObjects(ObjectComparator.java:463) +``` +アプリケーションがオブジェクトを比較しているため、`SHA-1` を使用できます。 + +FIPS を有効にする一環として作成されたプロパティファイルで、アルゴリズムを提供するプロバイダーの下に制約を追加できます。 +``` +RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3-Liberty-Application.jce.provider.1 = com.ibm.crypto.plus.provider.OpenJCEPlusFIPS [+ \ + {MessageDigest, SHA-1, *, FullClassName:io.openliberty.fips.test.application.ObjectComparator}] +``` +*注意:* 例外では `SHA1` が欠落していると記載されていましたが、アルゴリズムの名前は `SHA-1` であり、`SHA1` はそのエイリアスです。 + +アプリケーションに Java セキュリティプロバイダーが含まれている場合、または `FIPS140-3-Liberty` または `FIPS140-3-Strongly-Enforced` プロファイルにまだ登録されていない新しいプロバイダーを追加する必要がある場合は、FIPS セキュリティプロパティファイルにも含める必要があります。 + +次のようにプロバイダーを追加できます。 +``` +RestrictedSecurity.OpenJCEPlusFIPS.FIPS140-3-Liberty-Application.jce.provider.51 = io.openliberty.fips.test.custom.SecurityProvider +``` +プロバイダーの定義内に制約を指定しない場合、そのプロバイダーが提供するすべてのアルゴリズムがランタイム内のすべてのクラスで使用可能になります。さらに、追加する新しいプロバイダーは、プロバイダー位置 51 から配置する必要があります。 + +link:https://www.ibm.com/support/pages/fips-140-3-cryptography-ibm-semeru-runtimes[FIPS 140-3 サポート] および link:https://openliberty.io/docs/latest/reference/config/samlWebSso20.html[SAML Web Browser SSO] の詳細については、ドキュメントを参照してください。 + +また、いくつかの異なるシナリオで追加する必要がある可能性のある制約の例については、link:https://www.ibm.com/docs/en/was-liberty/nd?topic=liberty-troubleshooting-fips-140-3[トラブルシューティング] セクションも参照してください。 + +// DO NOT MODIFY THIS LINE. + +[#CVEs] +== このリリースでのセキュリティ脆弱性 (CVE) の修正 +[cols="5*"] +|=== +|CVE |CVSS スコア |脆弱性評価 |影響を受けるバージョン |備考 + +|https://www.cve.org/CVERecord?id=CVE-2025-7962[CVE-2025-7962] +|7.5 +|SMTP インジェクション +|17.0.0.3-25.0.0.11 +|`javaMail-1.5`、`javaMail-1.6`、`mail-2.0`、および `mail-2.1` 機能に影響します +|=== + +過去のセキュリティ脆弱性修正のリストについては、link:{url-prefix}/docs/latest/security-vulnerabilities.html[セキュリティ脆弱性 (CVE) リスト] を参照してください。 + +== 今すぐ Open Liberty 25.0.0.12 を入手する + +<> から入手できます。