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

Mule 4 Runtime は、Federal Information Processing Standard (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 セキュリティプロバイダーを使用したセットアップ手順

次の手順は、FIPS 140-2 Java 環境をセットアップする方法を示しています。

- [Java 8 でのセットアップ手順](#setupjava8)
- [Java 11 以降でのセットアップ手順](#setupjava11)

#### [](#setupjava8)Java 8 でのセットアップ手順

Java 8 で Bouncy Castle セキュリティプロバイダーをインストールして設定する手順は次のとおりです。

1. [BouncyCastle の Web ページ](https://www.bouncycastle.org/fips-java/)​からプロバイダーファイルをダウンロードします。
2. 必要な JAR ファイルを ​`$JAVA_HOME/lib/ext`​ フォルダーにインストールします。
    
    ![FIPS JAR ファイルを Java ホームディレクトリにインストールするコマンドライン](/mulesoft/current/ja-jp/mule-runtime/4.7/_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`​)。
        
        ![プロバイダーを変更するセキュリティプロバイダーのリスト](/mulesoft/current/ja-jp/mule-runtime/4.7/_images/fips-register-jar.png)
4. 他のセキュリティプロバイダーの番号を調整して、番号が連続するようにします。
    
    ![セキュリティプロバイダーが順番に表示されているリスト](/mulesoft/current/ja-jp/mule-runtime/4.7/_images/fips-register-jar-renumber.png)
5. 変更を保存します。

#### [](#setupjava11)Java 11 以降でのセットアップ手順

Java 11 以降で Bouncy Castle セキュリティプロバイダーをインストールして設定する手順は次のとおりです。

1. Java 11 以降を使用していて、​`JAVA_HOME`​ が設定されていることを確認します。
2. [BouncyCastle の Web ページ](https://www.bouncycastle.org/fips-java/)​からプロバイダーファイルをダウンロードします。
    
    Provider:bc-fips-1.0.2.4  TLS: bctls-fips-1.0.17.jar  PKIX: bcpkix-fips-1.0.7.jar
3. ダウンロードした 3 つのファイルを Mule Runtime の ​`/lib/boot`​ フォルダー (Mule Runtime 用に必要) と ​`/mule-agent-plugin/lib`​ フォルダー (Mule エージェント用に必要) にコピーします。
4. `amc_setup`​ を実行し、Mule Runtime を登録します。たとえば、​**\[Add Server (サーバーを追加)\]**​ には登録トークン ​`/amc_setup -H d32c4bde-7184-444a-bd87-7a274623e14f---704247 node10 --fips`​ が表示されます。ここで ​`d32c4bde-7184-444a-bd87-7a274623e14f---704247`​ は Anypoint Runtime Manager からのキーです。
5. FIPS を有効にするには、​`$MULE_HOME/conf/wrapper.conf`​ を更新します。プロパティ ​`wrapper.java.additional.<n>=-Dmule.security.model=fips140-2`​ と ​`wrapper.java.additional.<n>=-Dmule.cluster.network.encryption.key={someKey}`​ を追加します。ここで、​`someKey`​ はクラスターからのキーで、クラスター環境を使用する場合には定義する必要があります。
6. 最新の Mule Runtime ディストリビューション ​`4.5.x`​ を取得すると、プロバイダー ​`BouncyCastleFipsProvider`​ と ​`BouncyCastleJsseProvider`​ が有効になります。次に、アルゴリズムを PKIX に設定します。
7. Mule Runtime を起動します。

## [](#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 140-2 モードを有効にする設定が含まれるファイル](/mulesoft/current/ja-jp/mule-runtime/4.7/_images/fips-wrapper-conf-edit.png)
3. 変更を保存します。

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

![FIPS 140-2 セキュリティモデルが有効になっている Mule サーバーの起動ログが表示されているコンソール出力](/mulesoft/current/ja-jp/mule-runtime/4.7/_images/fips-startup.png)

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

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

クラスタリングされた環境で Mule Runtime を使用して FIPS モードで実行している場合、クラスターの暗号化キーを定義する必要があります。詳細は、​[クラスターリファレンス](https://docs.mulesoft.com/jp/mule-runtime/4.7/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

## [](#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.7/securing#cryptography-module)​ と ​[Mule セキュアプロパティ](https://docs.mulesoft.com/jp/mule-runtime/4.7/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)