プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Fusion Middlewareの管理
12c (12.2.1.2)
E82709-01
目次へ移動
目次

前
次

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

Oracle Fusion Middlewareでは、暗号化モジュールのセキュリティ要件を定義する米国政府規格である連邦情報処理規格FIPS 140–2をサポートしています。

トピック:

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でのFIPS 140-2について

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

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

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

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

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

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

  • Crypto-J V6.2.0.1

  • SSL-J V6.2

  • Cert-J V6.2

FIPS 140-2のサポートにはJDK 7が必要です。Fusion Middleware 12cでは、Oracle JDK 1.7.0_80以降を使用します。

RSAキーを引き続きサポートすることに加え、Oracle Fusion Middleware 12c (12.2.1.2)では楕円曲線暗号方式(ECC)もサポートします。ECCは、より小さいキー・サイズで同等のセキュリティを提供し、結果的に高速計算と、低電力消費、およびメモリーと帯域の節約が得られる魅力的な公開鍵暗号化として新たに使用されるようになったものです。

注意:

これらは、発行時点における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の説明が続きます
「図8-1 FIPS 140プロバイダの選択」の説明
  • 左側の最初のリクエストは、セキュリティの影響を受けるシナリオで実行されます。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 Fusion Middleware Oracle HTTP Serverの管理』の次のトピック:

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

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

Fusion Middlewareコア

Oracle WebLogic Server

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

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

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

『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティの管理』の「FIPSモードの有効化」

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

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

Fusion Middlewareコア

Oracle Platform Security Services

  • キーストア・サービス

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

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

Fusion Middlewareコア

Oracle Web Services Manager。

  • メッセージ保護

  • トークン署名

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

Fusion Middlewareコア

Oracle SOA Suite

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

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

  • JMS用のJCAアダプタ

  • Service Bus

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

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

Fusion Middlewareコア

Oracle Traffic Director

  • NZ統合

『Oracle Traffic Directorの管理』「セキュリティの管理」

データベース

Oracle Database

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

『Oracle Databaseセキュリティ・ガイド』「Oracle DatabaseのFIPS 140–2設定」

注意:

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

OHS、OWLS、OPSSおよびOWSMのSSL FIPS 140-2の詳細は、My Oracle Supportのサポート・ドキュメント2115681.1を参照してください。My Oracle Supportにはhttps://support.oracle.com/からアクセスできます。

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

機能の実装およびクライアントとサーバー間の接続の確立は、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バルク・データ暗号化、ECDSA署名アルゴリズムおよびECDH鍵合意)

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バルク・データ暗号化、ECDSA署名アルゴリズムおよびECDH鍵合意)

外部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.2).です。

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

Oracle Fusion Middlewareの様々なコンポーネントについてFIPS 140を構成しているときに問題が発生し、そのトラブルシューティング方法についての情報が必要となる場合があります。

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

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

WebLogic Serverおよびデータ・ソースのプロパティの構成時に、スタンドアロン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を変更します。

Oracle WebLogic ServerのFIPSモードの詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティの管理』の「FIPSモードの有効化」を参照してください。

データ・ソースの構成時

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)におけるFIPS構成の様々な段階で発生する問題をトラブルシューティングする方法について説明します。

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

鍵または証明書の生成時

パスワードによる保護で鍵または証明書を生成するときに、次のエラーが表示される場合があります。

javax.management.MBeanException: javax.management.MBeanException: oracle.security.jps.service.keystore.KeyStoreServiceException: Failed to generate CA signed certificate.

権限による保護を必ず使用してください。

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