---
schema_version: "1"
id: f88fcef44f141928737f775f6c8c489f2481571dc280b62d446d02948a95e1a0
title: FIPS 140-2 コンプライアンスサポート
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/mule-runtime/4.4/fips-140-2-compliance-support.md
canonical_url: https://docs.mulesoft.com/jp/mule-runtime/4.4/fips-140-2-compliance-support
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 5b0f422b5ce7192d74b30e3456ea019a93c4322cfafc79c3bbdf122146edfd46
description: MuleSoft Documentation Site
release: "4.4"
latest: false
---
# FIPS 140-2 コンプライアンスサポート

Mule 4 Runtime は、FIPS 140-2 認証済み環境で実行するように設定できます。これには、HTTP Connector などのすべての Runtime Connector を含みます。Mule は、デフォルトでは FIPS セキュリティモードで実行されません。2 つの要件があります。

- 認証済みの Cryptography Module が Java 環境にインストールされている。
- Mule Runtime の設定が FIPS セキュリティモードで実行されるように調整されている。

<table>
<tbody><tr>
<td class="icon">
<i class="fa icon-note" title="Note"></i>
</td>
<td class="content">
<div class="paragraph">
<p>Government Cloud はデフォルトで FIPS 140-2 向けに設定されています。そのため、Government Cloud を使用している場合は、次の手順を実行する必要はありません。</p>
</div>
<div class="paragraph">
<p>Runtime Fabric を使用している場合は、これらの手順を実行せずに​<a href="https://docs.mulesoft.com/runtime-fabric/latest/enable-fips-140-2-compliance" class="xref page">「Enabling FIPS 140-2 Compliance Mode for Runtime Fabric (Runtime Fabric での FIPS 140-2 コンプライアンスモードの有効化)」</a>​を参照してください。</p>
</div>
</td>
</tr>
</tbody></table>

## [](#前提条件)前提条件

このドキュメントは、読者が [FIPS 140-2](http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf)​ に精通していることを前提としています。FIPS 140-2 は、米国政府のセキュリティ標準で、準拠者は NIST によって認証された暗号化アルゴリズムおよび手法のみを使用することが求められます。このドキュメントは、読者が [認証済みセキュリティプロバイダー](https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules)​を選択、取得済みであることも前提としています。

## [](#set_up_environment)FIPS 140-2 Java 環境のセットアップ

Mule は、FIPS に準拠するセキュリティモジュールの提供を Java ランタイムに依存しています。そのため、最初の要件は、FIPS 140-2 Java 環境が適切にセットアップされていることです。FIPS に準拠するシステムを初めてセットアップしていて、認証済みセキュリティプロバイダーをまだ設定していない場合は、まず [認証済みセキュリティプロバイダーを選択して取得](https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules)​してから、選択したプロバイダーに固有の手順に従って Java 環境をセットアップする必要があります。

このプロセスの詳細は、選択したセキュリティプロバイダーによって異なります。セキュリティプロバイダーのドキュメントを参照して手順を実行してください。

### [](#例-bouncy-castle-セキュリティプロバイダーを使用したセットアップ手順)例: Bouncy Castle セキュリティプロバイダーを使用したセットアップ手順

次の例は、Bouncy Castle セキュリティプロバイダーをインストールして設定する方法を示しています。

1. [BouncyCastle の Web ページ](https://www.bouncycastle.org/fips-java/)​からプロバイダーファイルをダウンロードします。
2. 必要な JAR ファイルを ​`$JAVA_HOME/lib/ext`​ フォルダーにインストールします。
    
    ![FIPS-install-jars](/mulesoft/current/ja-jp/mule-runtime/4.4/_images/fips-install-jars.png)
3. セキュリティプロバイダーを、​`$JAVA_HOME/lib/security`​ フォルダーのセキュリティプロパティファイルに登録します。
    
    1. `java.security`​ ファイルを開き、プロバイダーのクラス (​`org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider`​ など) をプロバイダーリストの最初の項目として追加します。
    2. SSL プロバイダーの行を Bouncy Castle プロバイダーを使用するように変更します (​`security.provider.4=com.sun.net.ssl.internal.ssl.Provider BCFIPS`​)。
        
        ![FIPS-register-jar](/mulesoft/current/ja-jp/mule-runtime/4.4/_images/fips-register-jar.png)
4. 他のセキュリティプロバイダーの番号を調整して、番号が連続するようにします。
    
    ![FIPS-register-jar-renumber](/mulesoft/current/ja-jp/mule-runtime/4.4/_images/fips-register-jar-renumber.png)
5. 変更を保存します。

## [](#fips-セキュリティモードでの-mule-の実行)FIPS セキュリティモードでの Mule の実行

[FIPS 140-2 Java 環境のセットアップ](#set_up_environment)​の手順に従った後に、Mule インスタンスが FIPS 140-2 準拠環境で動作するようにセットアップするために、Mule アプリケーションサーバーを起動するラッパーの設定を更新します。

1. `wrapper.conf`​ ファイルを開きます (​`$MULE_HOME/conf`​ フォルダー内)。
2. Mule が FIPS セキュリティモードで動作するように設定する行のコメントを解除します (図を参照)。​`<n>`​ を ​`wrapper.conf`​ ファイル内の連続する次の番号に置き換えます。
    
    ![FIPS-wrapper-conf-edit](/mulesoft/current/ja-jp/mule-runtime/4.4/_images/fips-wrapper-conf-edit.png)
3. 変更を保存します。

Mule がもう一度起動すると、起動時の表示に FIPS セキュリティモードが有効になっていることが示されます。

![FIPS-startup](/mulesoft/current/ja-jp/mule-runtime/4.4/_images/fips-startup.png)

FIPS セキュリティモードが有効になると、Mule では自動的にプロトコルネゴシエーションが制限され、承認された暗号化スイートのサブセットのみが使用されます。すべての HTTPS Connector と TLS セキュリティレイヤーを使用するその他のコネクタは、自動的にこの制限の影響を受けます。

### [](#fips-モードのクラスター環境)FIPS モードのクラスター環境

クラスター化された環境で Mule Runtime を使用して FIPS モードで実行している場合、クラスターの暗号化キーを定義する必要があります。詳細は、​[クラスターリファレンス](https://docs.mulesoft.com/jp/mule-runtime/4.4/mule-high-availability-ha-clusters#cluster_fips)​を参照してください。

## [](#fips-140-2-準拠の暗号化スイート)FIPS 140-2 準拠の暗号化スイート

次のリストには、サポートされる FIPS 140-2 準拠の暗号化スイートが記載されています。 オンプレミス Mule インストールで使用される暗号化スイートを設定するには、​[SSL Connector の微調整](#fine-tuning-ssl-connectors)​を参照してください。

- TLS\_ECDHE\_ECDSA\_WITH\_AES\_128\_GCM\_SHA256
- TLS\_ECDHE\_RSA\_WITH\_AES\_128\_GCM\_SHA256
- TLS\_ECDHE\_ECDSA\_WITH\_AES\_256\_GCM\_SHA384
- TLS\_DHE\_RSA\_WITH\_AES\_256\_GCM\_SHA384
- TLS\_ECDHE\_RSA\_WITH\_AES\_256\_GCM\_SHA384
- TLS\_ECDHE\_RSA\_WITH\_AES\_256\_CBC\_SHA384
- TLS\_ECDHE\_ECDSA\_WITH\_AES\_256\_CBC\_SHA384
- TLS\_ECDHE\_ECDSA\_WITH\_AES\_128\_CBC\_SHA
- TLS\_ECDHE\_RSA\_WITH\_AES\_128\_CBC\_SHA
- TLS\_ECDHE\_ECDSA\_WITH\_AES\_256\_CBC\_SHA
- TLS\_ECDHE\_RSA\_WITH\_AES\_256\_CBC\_SHA

## [](#fips-140-2-準拠のキーストア形式)FIPS 140-2 準拠のキーストア形式

Mule アプリケーションのキーストアまたはトラストストアは、通常 ​`PKCS12`​ または ​`JKS`​ 形式になります。 これらの形式は FIPS に準拠していません。準拠するように、これらを ​`BCFKS`​ 形式に変換します。

`JKS`​ キーストアを ​`BCFKS`​ 形式に変換するには、以下を行っていることを確認します。

1. Java 8 以降を使用し、​`JAVA_HOME`​ が設定されていることを確認する。
2. [Bouncy Castle Web サイト](https://www.bouncycastle.org/download/bouncy-castle-java-fips/)​から ​`bc-fips.jar`​ ファイルをダウンロードする。
3. 次のサンプルコマンドを使用して、キーストアを ​`BCFKS`​ 形式に変換する。

BC\_FIPS\_JAR=${BC\_PATH}/bc-fips-\*.jar  # Replace with a correct path
OLD\_KEYSTORE="keystore.jks"           # Replace with the keystore to convert
OLD\_PASSWD="changeit"                 # Replace with the keystore password
NEW\_KEYSTORE="keystore.bcfks"         # Replace with the new keystore
NEW\_PASSWD="changeit"                 # Replace with the new keystore password
keytool -importkeystore \\
 -providerclass org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider \\
 -providerpath ${BC\_FIPS\_JAR} \\
 -srckeystore  ${OLD\_KEYSTORE}   -srcstoretype JKS       -srcstorepass ${OLD\_PASSWD} \\
 -destkeystore ${NEW\_KEYSTORE}   -deststoretype BCFKS    -deststorepass ${NEW\_PASSWD}

<table><tbody><tr><td class="icon"><i class="fa icon-important" title="Important"></i></td><td class="content">Java 17 以降を使用している場合、​<code>-J—​add-exports=java.base/sun.security.provider=ALL-UNNAMED</code>​ パラメーターを keytool コマンドの ​<code>-importkeystore</code>​ パラメーターの前に追加します。</td></tr></tbody></table>

1. 新しいキーストアまたはトラストストアを使用するには、Mule 設定ファイルで ​[TLS 設定](https://docs.mulesoft.com/jp/mule-runtime/4.4/tls-configuration)​を更新します。

<tls:context>
	<tls:key-store   type="bcfks" path="server.bcfks" password="changeit" keyPassword="changeit" alias="default" />
	<tls:trust-store type="bcfks" path="client.bcfks" password="changeit" />
</tls:context>

<table><tbody><tr><td class="icon"><i class="fa icon-note" title="Note"></i></td><td class="content">ソースキーストアが ​<code>PKCS12</code>​ の場合、​<code>keytool</code>​ コマンドでパラメーター ​<code>-srcstoretype</code>​ を ​<code>PKCS12</code>​ に設定します。</td></tr></tbody></table>

## [](#ssl-connector-の微調整)SSL Connector の微調整

Mule conf フォルダーには、SSL Connector の設定を微調整するための 2 つのファイルがあります。これらのファイルでは、Mule が使用できる暗号化スイートと許可される SSL プロトコルを手動で設定できます。

- `tls-default.conf`​ (Mule が FIPS セキュリティモードで実行するように設定されていない場合に微調整できます)
- `tls-fips140-2.conf`​ (Mule が FIPS セキュリティモードで実行されている場合に微調整できます)

該当するファイルを開き、リストの項目をコメントアウトまたはコメント解除して、使用できる暗号化スイートと SSL プロトコルを手動で設定します。これらのファイルを変更しない場合、Mule では、設定されたセキュリティマネージャーが暗号化スイートとプロトコルを選択することが許可されます。

## [](#ヒントと制限事項)ヒントと制限事項

- Mule Runtime ディストリビューションにバンドルされている Bouncy Castle セキュリティプロバイダーは、FIPS 認証済みではありません。Mule が FIPS セキュリティモードを開始すると、Bouncy Castle プロバイダーは登録されず、使用されません。
- [Mule Cryptography Module](https://docs.mulesoft.com/jp/mule-runtime/4.4/securing#cryptography-module)​ と ​[Mule セキュアプロパティ](https://docs.mulesoft.com/jp/mule-runtime/4.4/secure-configuration-properties)​の設定オプションに含まれる一部の暗号化スキームと署名は FIPS に準拠していません。アプリケーションで FIPS 認証済みでないアルゴリズムを使用している場合は、実行時に次のようなエラーが表示されます。

	Could not find encryption algorithm '<algorithm-name>'. (暗号化アルゴリズム「<algorithm-name>」が見つかりません。)
	You are running in FIPS mode, so please verify that
	the algorithm is compliant with FIPS. (FIPS モードで実行中です。アルゴリズムが FIPS に準拠していることを確認してください。)

- 環境によってセキュリティ設定が異なり、暗号化スキームやアルゴリズムの選択も異なる可能性があることに注意してください。そのため、セットアップ方法に応じて、一部の環境でこのエラーが表示され、他の環境では表示されないことがあります。
- 同様に、Red Hat などの OS レベルで FIPS を有効にすると、ライセンス検証時に暗号化スイートエラーが発生するため、この操作はサポートされていません。

## [](#関連情報)関連情報

- [Validated FIPS-2 Cryptographic Modules (検証済み FIPS-2 Cryptography Module)](https://csrc.nist.gov/projects/cryptographic-module-validation-program/validated-modules)
- [Approved Cryptographic Algorithms (承認済み暗号化アルゴリズム)](http://csrc.nist.gov/publications/fips/fips140-2/fips1402annexa.pdf)