プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Fusion Middlewareの管理
12c (12.2.1.1)
E77326-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

8 Oracle Fusion MiddlewareでのFIPS 140のサポート

この章では、Oracle Fusion MiddlewareでのFIPS 140のサポートについて説明します。

トピック:

8.1 FIPS標準について

FIPS (Federal Information Processing Standards)は、米国商務省の標準技術局(National Institute of Standards and Technology: NIST)によって発行されている一連の標準で、コンピュータ・システムおよびネットワークのセキュリティを評価するのに使用されます。

FIPS標準の1つであるFIPS 140-2は、機密情報を保護するために暗号化モジュールが満たしている必要があるセキュリティ要件を規定しています。この標準では、暗号化モジュールを使用する可能性のある幅広いアプリケーションおよび環境に対応するために、質的に拡張された4段階のセキュリティレベルが指定されています。


注意:

この章では以降、用語「FIPS 140」はFIPS 140-2標準のことを意味しています。

8.2 Oracle Fusion Middlewareリリース12c (12.2.1.1)でのFIPS 140-2について

Oracle Fusion Middlewareリリース12c (12.2.1.1)では、FIPS 140-2対応の暗号化ライブラリを使用できます。

FIPS 140モードで動作する機能は、汎用的で製品スイート全体にわたる要求ではありません。それよりはむしろ、関連するOracle Fusion Middleware 12c (12.2.1.1)製品コンポーネントによってサポートされているシナリオおよびトランザクションの定義済セットに固有のものです。また、認証、許可、機密保護、整合性など、セキュリティの影響を受けるタスクをサポートまたは実行するために検証済の暗号化が使用される箇所に適用されます。

セキュリティの影響を受けない他のタスクで暗号化サービスを使用する場合は、FIPS 140コンプライアンスに従う必要はありません。Oracle Fusion Middleware 12c (12.2.1.1)では、セキュリティの影響を受けるシナリオでFIPS 140モードを有効化できると同時に、このモードで動作する必要がない製品機能にも対応して共存することが可能です。

8.2.1 FIPS 140-2検証済ライブラリについて

FIPS 140動作をサポートするために、Oracle Fusion Middleware 12c (12.2.1.1)には、RSA, The Security Division of EMC (RSA)のFIPS 140検証済RSAライブラリが組み込まれています。FIPS 140の下で承認されていないアルゴリズムは、RSAライブラリでは無効化されています。

このライブラリは、RSAバージョン6.1 BSAFEおよびJCEソフトウェアを基本にしており、次のモジュールが含まれています。

  • Crypto-J V6.1.1

  • SSL-J V6.1.2

  • Cert-J V6.1.1


注意:

これらは、発行時点におけるFIPS 140認証済ライブラリおよびモジュール・バージョンです。ただし、動作保証時から製品の実際の出荷時までの間にベンダーによりパッチが発行されている場合があるため、インストール時に実際に有効なバージョンは、ここで示されているバージョンとは多少異なることがあります。この場合、実際のバージョンは、動作保証されたバージョンのドット・リリースになります。

バージョン番号は単なる参考情報であり、アルゴリズムの動作保証とセキュリティ強度について別個検証を行う必要があります。


FIPS 140標準およびアルゴリズムのバックグラウンドの詳細は、FIPS 140-2ドキュメントを参照してください。

http://csrc.nist.gov/publications/PubsFIPS.html

8.2.2 プロバイダおよびアルゴリズムの選択について

FIPS 140は、JavaプラットフォームのJava暗号化アーキテクチャ(JCA)のコンテキストに従ってOracle Fusion Middlewareに実装されます。セキュリティの影響を受けるタスク用のFIPS 140検証済アルゴリズムと、その他のタスク用のアルゴリズムを共存させるために、FIPS 140検証済RSAライブラリでサポートされていない機能、およびFIPS 140検証済RSAライブラリでは無効化されている特定の非準拠暗号化機能(MD5など)にも対応するように、追加の暗号化プロバイダ・サービスを構成します。

基本的なフローは次のとおりです。

  • アプリケーション(たとえば、外部Webクライアント、Oracle HTTP Serverなど)が、WebLogic Serverなどのサーバーに対してサービスまたは接続をリクエストします。このリクエストには通常、転送されるデータ・パケットなどの「ペイロード」が含まれています。

  • JCAがこのリクエストを評価し、FIPS 140コンプライアンスが必要であるかどうかを判別します。

  • このリクエストはJCAの「プロバイダ」フレームワークにルーティングされますが、ここには、デジタル署名、メッセージ・ダイジェスト(ハッシュ)、証明書、証明書検証、暗号化およびその他の暗号化サービス用の一連の(FIPS 140準拠および非準拠の)プロバイダが含まれています。

  • このプロバイダは優先順位に従って検索され、正しいアルゴリズムを提供している最初のプロバイダの実装が返されます。セキュリティの影響を受ける状況の場合、暗号化操作を実行するのに使用されるのはFIPS 140準拠のアルゴリズムのみです。

図8-1に、このフローを示します。

図8-1 FIPS 140プロバイダの選択

図8-1については周囲のテキストで説明しています。
  • 左側の最初のリクエストは、セキュリティの影響を受けるシナリオで実行されます。JCAは、RSA暗号化ライブラリのSHA-256プロバイダを使用してこのリクエストを処理し、FIPS 140ペイロードを配信します。

  • 右側の2番目のリクエストは、セキュリティの影響を受けないシナリオで実行されます。JCAは、非暗号化ライブラリのMD5プロバイダを使用して、非FIPS 140ペイロードが含まれたこのリクエストを処理します。

このように、FIPS 140に準拠することを目的としたHTTPS/TLSインバウンドおよびアウトバウンド通信などの、セキュリティの影響を受けるシナリオでは、FIPS 140検証済RSAライブラリで使用可能な暗号化機能のみを使用して、HTTPS/TLSネットワーク・ペイロードを暗号化して署名します。

8.3 FIPS 140によりサポートされているコンポーネント

Oracle Fusion MiddlewareでFIPS 140を取り扱う場合は、特定の機能がFIPS 140モードで動作できるようなミドルウェア・スタックの様々なレイヤーにある個別のコンポーネントに注意してください。スタック内のいずれかのコンポーネントが非FIPS 140モードで動作している場合、トランザクションがFIPS 140に準拠していない可能性があります。このため、関連コンポーネントがすべてFIPS 140モードで動作していることを確認することが重要になります。

表8-1に、FIPS 140を有効化できるコンポーネントを一覧表示し、その詳細について説明します。

  • コンポーネントが存在するOracle Fusion Middlewareレイヤー

  • コンポーネント名

  • FIPS 140対応が可能なシナリオ

  • 詳細の製品ドキュメントに対する相互参照(FIPS 140を有効化または無効化する方法、その他の関連する構成の詳細、FIPS 140検証済暗号化を使用できる製品機能を含む)


注意:

一覧表示されている各コンポーネントのすべての機能がFIPS 140に準拠しているとはかぎりません。FIPS 140をサポートしているのは指定された機能のみです。

表8-1 Oracle Fusion MiddlewareでFIPS 140-2がサポートされているコンポーネント

コンポーネント・レイヤー コンポーネント 機能 詳細

Fusion Middlewareコア

Oracle HTTP Server

  • TLSインバウンド(HTTPS)

  • OHS SSLプロキシ(mod_proxy、mod_ossl)を使用したOHSから任意のWebサーバー、プロキシ・サーバーまたはアプリケーション・サーバーへのTLSアウトバウンド

注意: OHSからWLSへのアウトバウンド接続の場合、FIPSをWebLogic (インバウンド接続用)で有効にし、OHSとWLS間のFIPS通信を有効にする必要があります。

『Oracle HTTP Server管理者ガイド』の次のトピック:

  • mod_osslの「SSLFIPS」ディレクティブ

  • 「アプリケーション・セキュリティの管理」


Oracle WebLogic Server

  • TLSインバウンド: HTTPS、T3S、JMX/T3S、JMS

  • TLSアウトバウンド: HTTPS、T3S、JMX/T3S、JMS、JDBC (Oracle RDBMS)

  • データベース接続(データ・ソースを介した)

『Oracle WebLogic Serverセキュリティの管理12c (12.2.1)』のFIPSモードの有効化に関する項

『Oracle WebLogic Server WebLogic Webサービスの保護』のSHA-256セキュア・ハッシュ・アルゴリズムの使用に関する項

『Oracle WebLogic Server JDBCデータ・ソースの管理』の暗号化済接続プロパティの使用に関する項


Oracle Platform Security Services

  • キーストア・サービス

  • 資格証明ストア・サービス

『Oracle Platform Security Servicesによるアプリケーションの保護』のOPSSでのFIPSのサポートに関する項


Oracle Web Services Manager

  • メッセージ保護

  • トークン署名

『Oracle Web Services ManagerによるWebサービスの保護とポリシーの管理』のサポートされているアルゴリズム・スイートに関する項


Oracle SOA Suite

  • ファイル/FTP用のJCAアダプタ

  • データベース用のJCAアダプタ

  • JMS用のJCAアダプタ

  • Service Bus

『Oracle Service Busでのサービスの開発』のSFTPトランスポートのFIPS準拠に関する項

『テクノロジ・アダプタの理解』のOracleファイルおよびFTPアダプタのFIPS準拠の有効化に関する項


Oracle Traffic Director

NZ統合

  • 『Oracle Traffic Director WebLogic Scripting Toolコマンド・リファレンス』

  • 『Oracle Traffic Directorの管理』

データベース

Oracle Database

  • FIPS 140-2モードでのデータベース

『Oracle Databaseセキュリティ・ガイド』のOracle DatabaseのFIPS 140-2設定に関する項



注意:

データベースは参照用です。サポートされているバージョンおよびその他の詳細は、動作保証マトリックスを参照してください。

8.4 業務系FIPS 140-2環境の一般的なシナリオ

表8-1では、FIPS 140-2機能を備えたOracle Fusion Middlewareのコンポーネントを一覧表示しています。表8-2に、コンポーネント・シナリオごとの一般的なプロトコルを一覧表示します。


注意:

これらは代表的なシナリオであり、この表は使用可能なすべてのシナリオの包括的なリストを提供することが目的ではありません。

表8-2 FIPS 140-2のシナリオ

機能または接続 通信プロトコル 署名アルゴリズムおよびプロトコルの詳細

外部WebクライアントまたはアプリケーションからOracle HTTP Serverへのインバウンド接続

  • HTTPS (OHSへのクライアント・アクセス)

  • SOAP-TLS (サーバー間の通信)

HTTPSサーバー(TLS、相互認証、SHA-256 X.509証明書を備えたRSA-2048、AES-256バルク・データ暗号化)

Oracle HTTP ServerからOracle WebLogic Serverへのアウトバウンド接続

  • OHS内の外部SSL Terminationを備えた端末間SSL用のHTTPS (OHSとWLS内のHTTP Servlet間)

HTTPSクライアント(TLS、相互認証、SHA-256 X.509証明書を備えたRSA-2048、AES-256バルク・データ暗号化)

外部WebクライアントまたはアプリケーションからOracle WebLogic Serverへのインバウンド接続

  • HTTPS (HTTP Servletへのクライアント・アクセス)

  • SOAP-TLS (サーバー間の通信)

HTTPSサーバー(TLS、相互認証、SHA-256 X.509証明書を備えたRSA-2048、AES-256バルク・データ暗号化)

Oracle WebLogic Serverから外部Webサーバー、プロキシ・サーバーまたはアプリケーション・サーバーへのアウトバウンド接続

  • HTTPS (WLSと外部HTTPSサーバー間)

  • SOAP-TLS (サーバー間の通信)

HTTPSクライアント(TLS、相互認証、SHA-256 X.509証明書を備えたRSA-2048、AES-256バルク・データ暗号化)

Oracle WebLogic ServerからOracle Database 11gR2へのアウトバウンド接続

  • DB-TLS-jdbc (WebLogicとデータベース間の通信)

JDBC (TLS、相互認証、SHA-256 X.509証明書を備えたRSA-2048、AES-256バルク・データ暗号化)

Oracle Web Services Managerを使用したSOAPメッセージ用のXMLメッセージ保護(XML署名)

  • SOAP-MsgSec

XML署名(RSA-SHA256、HMAC-SHA256)、全文、SwAアタッチメントを含める

Oracle Web Services Managerを使用したSOAPメッセージ用のXMLメッセージ保護(XML暗号化)

  • SOAP-MsgSec

XML署名(RSA-SHA256、HMAC-SHA256)、全文、SwAアタッチメントを含める

Oracle WebLogic ServerへのインバウンドJMS接続

  • 通信中のJMSトラフィックはセキュア

JMS/TLS

Oracle WebLogic ServerからのアウトバウンドJMS接続

  • 通信中のJMSトラフィックはセキュア

JMS/TLS

デプロイ済コンポーネントからのセキュアなJNDI参照

  • JDNI-EJB

T3S

サーバーへのセキュアな管理者アクセス

  • WLSサーバーへ通信中のWLSTトラフィックはセキュア

T3S

キーストアおよび証明書の生成

  • 暗号化

  • 鍵の交換

RSA 2048、AES 256、SHA-2

ハッシング・アルゴリズム、パスワードベースの暗号化

  • ハッシング

  • 暗号化

SHA-2

SOAサービスベースのコンポーネント用のOracle Service Bus

サービス・タイプ用のSFTPトランスポート:

  • メッセージング

  • 任意のXML

公開鍵アルゴリズム(diffie-hellman-group14-sha1)

キー交換アルゴリズム(ssh-rsa)

Managed File Transfer (MFT)

  • 鍵の交換

  • 暗号

  • メッセージ認証

ファイル・トランスポート:

  • SFTP

  • FTP-SSL

  • PGP

  • JCAトランスポート

一般的なアルゴリズム

  • DHG14

  • AES128CBC、TripleDESCBC

  • HMACSHA1

  • RSA、DSA

  • diffie-hellman-group14-sha1

JCAアダプタ

ファイル転送プロトコル

  • diffie-hellman-group14-sha1

  • ssh-rsa



注意:

特に指示のないかぎり、すべてのコンポーネント・サーバーはリリース12c (12.2.1.1).です。

8.5 FIPS 140問題のトラブルシューティング

この項では、FIPS 140構成で発生した問題をトラブルシューティングする方法について説明します。内容は次のとおりです。

8.5.1 スタンドアロンWebLogic ServerにおけるFIPS 140のトラブルシューティング

スタンドアロンOracle WebLogic ServerでFIPS 140モードをトラブルシューティングするには、次の手順を実行します。

WebLogic Serverの構成時

  1. jcmFIPS.jarおよびsslj.jarの先頭にサーバーのCLASSPATHが付加されていることを確認します。

  2. *AES_256*暗号スイートを明示的に検証するために、JAVA_HOME/jre/lib/securityディレクトリにあるlocal_policy.jarおよびUS_export_policy.jarを、セキュリティ強度制限のない対応するファイルで更新します。

  3. リストの上部にsecurity.provider.1=com.rsa.jsafe.provider.JsafeJCEおよびsecurity.provider.2=com.rsa.jsse.JsseProviderを追加して、JAVA_HOME/jre/lib/security/java.securityを変更します。

データ・ソースの構成時

DataSourceプロパティoracle.net.ssl_versionの値が1.0に設定されていることを確認します。

注意: oracle.net.ssl_versionは、オプションのOracle WebLogic Server DataSource構成プロパティです。値1.0は、TLS v1.0プロトコルを介して接続されていることを示します。

8.5.2 Oracle Platform Security ServicesにおけるFIPS 140のトラブルシューティング

この項では、Oracle Platform Security Services (OPSS)におけるいくつかのトラブルシューティングのヒントについて説明します。

WebLogicドメインの作成時

FIPS 140モードでのドメインの作成時に、wlsconfig_xxxxx.logに次の例外が表示される場合があります。

"CFGFWK-60455: The password
must be at least 8 alphanumeric characters with at least one number or
special character."
 
"Caused by: java.lang.NoSuchMethodError:
com.rsa.jsafe.JSAFE_SecretKey.generateInit([ILjava/security/SecureRandom;)"

この例外は、cryptoJ 5 jarを使用している場合に発生することがあります。このエラーを回避するために、cryptoJ 6 jarを備えたOracle WebLogic Serverがインストールされていることを確認してください。

ドメイン・キーストアからのエクスポート時

FIPS 140対応のドメインでJKSおよびJCEKSタイプのキーストアを使用している場合は、次のエラーが表示されます。

Command FAILED, Reason:
 oracle.security.jps.service.keystore.KeyStoreServiceException: Failed to export the keystore 

この場合は、java.securityファイルで次のプロバイダが構成されていることを確認してください。

sun.security.provider.Sun
com.sun.crypto.provider.SunJCE

8.5.3 Oracle Web Services ManagerにおけるFIPS 140のトラブルシューティング

この項では、Oracle Web Services Managerで発生する問題に関するヒントについて説明します。

メッセージ保護ポリシー実行時

Oracle Web Services Managerでメッセージ保護ポリシー実行時にこのエラーが表示される場合があります。

Caused by: java.lang.SecurityException: Algorithm not allowable in FIPS140 mode: MD5
       at com.rsa.cryptoj.o.cc.b(Unknown Source)
       at com.rsa.cryptoj.o.cc.f(Unknown Source)

この場合は、メッセージ保護実行時に使用されている証明書が、SHA1WithRSAやSHA256WithRSAなどのFIPS 140に準拠したアルゴリズムを使用して生成されていることを確認してください。

メッセージ保護ポリシー実行時に、JKSキーストアに対してこのエラーが表示される場合があります。

oracle.fabric.common.PolicyEnforcementException: WSM-00143 : Failure creating Java Keystore instance for type JKS.

この場合は、JDKでsun.security.provider.Sunが構成されていることを確認してください。

8.5.4 データベースおよびJDBCドライバにおけるFIPS 140のトラブルシューティング

データベースに関連するデータ・ソースの問題を含む、データベースおよびJDBCドライバのセキュリティ構成の詳細は、Oracle Technology Networkで入手可能なホワイト・ペーパーのOracle JDBCシン・ドライバでのSSLに関する説明を参照してください。

http://www.oracle.com/technetwork/middleware/id-mgmt/documentation/index.html