WebSphere Application Server Version 6.1 Feature Pack for Web Services   
             オペレーティング・システム: AIX , HP-UX, i5/OS, Linux, Solaris, Windows, Windows Vista, z/OS

             目次と検索結果のパーソナライズ化

連邦情報処理標準 (FIPS) Java セキュア・ソケット拡張機能ファイルの構成

このトピックを使用して、連邦情報処理標準 (FIPS) Java セキュア・ソケット拡張機能ファイルを構成します。

このタスクについて

WebSphere Application Server で使用される Java Secure Socket Extension (JSSE) プロバイダーは、IBMJSSE2 プロバイダーです。 このプロバイダーは、暗号化およびシグニチャー機能を Java Cryptography Extension (JCE) プロバイダーに委任します。 したがって、IBMJSSE2 は暗号化を行わないため、連邦情報処理標準 (FIPS) の承認は必要ありません。 ただし、JCE プロバイダーには FIPS の承認が必要です。
WebSphere Application Server は、IBMJSSE2 が使用可能な、FIPS の承認済みの IBMJCEFIPS プロバイダーを提供します。 WebSphere Application Server バージョン 6.1 に付属している IBMJCEFIPS プロバイダーは、以下の SSL 暗号をサポートしています。
  • SSL_RSA_WITH_AES_128_CBC_SHA
  • SSL_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
  • SSL_DHE_RSA_WITH_AES_128_CBC_SHA
  • SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  • SSL_DHE_DSS_WITH_AES_128_CBC_SHA
  • SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA

IBMJSSEFIPS プロバイダーはまだ存在していますが、ランタイムはこのプロバイダーを使用しません。IBMJSSEFIPS が contextProvider として指定される場合、WebSphere Application Server は自動的にデフォルトの (IBMJCEFIPS プロバイダーを使用する) IBMJSSE2 プロバイダーを指定し、FIPS を サポートします。 サーバーの「SSL 証明書および鍵管理」パネルで「Use the United States Federal Information Processing Standard (FIPS) algorithms」オプションを使用可能に設定する場合には、 SSL 用に指定する contextProvider (IBMJSSE、IBMJSSE2、または IBMJSSEFIPS) に関係なく、ランタイムは常に IBMJSSE2 を使用します。 また、FIPS は SSL プロトコルが TLS であることを必要とするため、SSL レパートリーで設定されている SSL プロトコルに関係なく、FIPS が使用可能になっている場合は、ランタイムは常に TLS を使用します。 SSL を使用するすべてのトランスポートを使用可能にするには、 管理者がサーバーの「SSL 証明書および鍵管理」パネルで「Use the United States Federal Information Processing Standard (FIPS) algorithms」オプションのみを使用可能にすればよいので、 これによりバージョン 6.1 における FIPS 構成が単純化されます。

プロシージャー

  1. セキュリティー」>「SSL 証明書および鍵管理」とクリックします。
  2. Use the United States Federal Information Processing Standard (FIPS) algorithm」オプションを選択し、「適用」をクリックします。 このオプションにより、IBMJSSE2 と IBMJCEFIPS はアクティブなプロバイダーとなります。
  3. エンタープライズ Bean にアクセスする必要のある Java クライアントが対応するようにします。

    profile_root/properties/ssl.client.props ファイルにある com.ibm.security.useFIPS プロパティー値を false から true に変更します。

  4. java.security にプロバイダーが含まれていることを確認します。

    java.security ファイルを編集して IBMJCE プロバイダーの前に IBMJCEFIPS プロバイダー (com.ibm.crypto.fips.provider.IBMJCEFIPS) を挿入し、プロバイダー・リストにある他のプロバイダーを再番号付けします。 IBMJCEFIPS プロバイダーは、java.security ファイルのプロバイダー・リスト内に存在している必要があります。

    [i5/OS] java.security ファイルは、profile_root/properties ディレクトリーにあります。

    [AIX HP-UX Linux Solaris Windows] [z/OS] java.security ファイルは、WASHOME/java/jre/lib/security ディレクトリーに配置されています。

    IBM SDK java.security は、このステップの完了後は以下の例のようになります。 [AIX HP-UX Linux Solaris Windows] [z/OS]
    security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.jsse.IBMJSSEProvider
    security.provider.4=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.5=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.6=com.ibm.security.cert.IBMCertPath
    security.provider.7=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    security.provider.8=com.ibm.security.cmskeystore.CMSProvider
    security.provider.9=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    [i5/OS]
    security.provider.1=com.ibm.crypto.provider.IBMJCEFIPS
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.jsse.IBMJSSEProvider
    security.provider.4=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.5=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.6=com.ibm.security.cert.IBMCertPath
    security.provider.7=com.ibm.i5os.jsse.JSSEProvider
    #security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    security.provider.9=com.ibm.security.cmskeystore.CMSProvider
    security.provider.10=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    [AIX HP-UX Linux Solaris Windows] [i5/OS] Sun JDK を使用している場合、java.security ファイルは、 このステップの完了後は以下の例のようになります。
    security.provider.1=sun.security.provider.Sun
    security.provider.2=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.4=com.ibm.crypto.provider.IBMJCE
    security.provider.5=com.ibm.jsse.IBMJSSEProvider
    security.provider.6=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.7=com.ibm.security.cert.IBMCertPath
    security.provider.8=com.ibm.security.cmskeystore.CMSProvider
    #security.provider.9=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    

    java.security ファイルを編集して IBMJCEFIPS プロバイダーの行のコメントを外し、プロバイダー・リストの残りを再番号付けします。 IBMJCEFIPS プロバイダーは、java.security ファイルのプロバイダー・リスト内に存在している必要があります。 java.security ファイルは、WASHOME/java/jre/lib/security ディレクトリーに配置されています。 ファイルを編集するには、以下のステップを実行します。

    [z/OS]
    1. 書き込み許可のあるディレクトリーに java.security ファイルをコピーします。
    2. java.security ファイルを編集して、IBMJCE プロバイダーの行をコメント化し、IBMJCEFIPS プロバイダーの行のコメントを外し、ファイルを保管します。

      このステップを完了する前は、IBM Software Development Kit (SDK) の java.security ファイルは次の例のようになっています。

      #security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS
      security.provider.1=com.ibm.crypto.provider.IBMJCE
      security.provider.2=com.ibm.jsse.IBMJSSEProvider
      security.provider.3=com.ibm.jsse2.IBMJSSEProvider2
      security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
      security.provider.5=com.ibm.security.cert.IBMCertPath
      security.provider.6=com.ibm.crypto.pkcs11.provider.IBMPKCS11
      security.provider.7=com.ibm.security.cmskeystore.CMSProvider
      security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO
    3. セル内の各 Java 仮想マシン (JVM) ごとに、 security.overridePropertiesFile および java.security.properties のシステム・プロパティーを構成します。 以下のプロパティーと値のペアを追加します。
      表 1. java.security ファイルの新規のロケーションを指定するカスタム・プロパティー
      プロパティー名
      security.overrideProperties true
      java.security.properties java.security ファイルの新規のロケーションを指定します。
      デプロイメント・マネージャー、ノード・エージェントおよび他のアプリケーション・サーバーに対して、 前のシステム・プロパティーのセットを指定する必要があります。 デプロイメント・マネージャーでは、コントロールとサーバントの両方に対してこのシステム・プロパティーのセットを指定します。 ノード・エージェントでは、コントロールに対してこのシステム・プロパティーのセットを指定します。 すべてのアプリケーション・サーバーでは、付加属性、コントロールおよびサーバントに対して、このシステム・プロパティーのセットを指定します。 例えば、アプリケーション・サーバー上のコントロールに対してこれらのシステム・プロパティーを指定するには、以下のステップを実行します。
      1. 管理コンソールで、「サーバー」>「アプリケーション・サーバー」>「server_name」をクリックします。
      2. 「サーバー・インフラストラクチャー」の下で、「Java およびプロセス管理」>「プロセス定義」>「Control」とクリックします。
      3. 「追加プロパティー」の下で、「Java 仮想マシン」>「カスタム・プロパティー」とクリックします。
      4. 名前と値のペアからなる 2 つのセットの形でプロパティーを入力します。
      5. 保管」をクリックします。

次の作業

これらのステップが完了したら、FIPS 承認済み JSSE または JCE プロバイダーは、より高度な暗号化機能を提供します。 ただし、FIPS 承認済みプロバイダーを使用する場合は、以下のようにします。
[AIX HP-UX Linux Solaris Windows] 重要: FIPS オプションを使用可能にした後、 WebSphere Application Server を停止しようとすると、次のエラーが発生することがあります。
ADMU3007E: Exception com.ibm.websphere.management.exception.ConnectorException
java.security ファイルにある次のエントリーは、既に除去またはコメント化している場合は、コメントを外してからサーバーを再始動してください。
security.provider.2=com.ibm.crypto.provider.IBMJCE
java.security ファイルは、 WAS_HOME/java/jre/lib/security ディレクトリーにあります。
注: FIPS を使用可能にする場合は、SSL レパートリーで暗号トークン装置を構成することはできません。IBMJSSE2 は、 FIPS 用の暗号サービスを使用する場合は、IBMJCEFIPS を使用する必要があります。
以下の FIPS 140-2 は、暗号プロバイダーを FIPS オプションでサポートされる唯一のデバイスであると承認しました。
  • IBMJCEFIPS (証明書 376)
  • IBM Cryptography for C (ICC) (証明書 384)
関連する証明書は NIST Web サイト「Cryptographic Module Validation Program FIPS 140-1 and FIPS 140-2 Pre-validation List」にリストされています。
FIPS プロバイダーの構成を解除するには、前のステップで行った変更を元に戻します。変更を元に戻した後、sas.client.propssoap.client.props および java.security の各ファイルに以下のような変更が行われていることを確認します。
  • ssl.client.props ファイルで、com.ibm.security.useFIPS 値を false に変更する必要があります。
  • [AIX HP-UX Linux Solaris Windows] [z/OS] java.security ファイルで、FIPS プロバイダーを 非 FIPS プロバイダーに変更する必要があります。
    IBM SDK の java.security ファイルを使用している場合は、以下の例に示されているように、最初のプロバイダーを非 FIPS プロバイダーに変更する必要があります。
    #security.provider.1=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.1=com.ibm.crypto.provider.IBMJCE
    security.provider.2=com.ibm.jsse.IBMJSSEProvider
    security.provider.3=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.4=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.5=com.ibm.security.cert.IBMCertPath
    #security.provider.6=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    Sun JDK の java.security ファイルを使用している場合は、以下の例に示されているように、3 つ目のプロバイダーを非 FIPS プロバイダーに変更する必要があります。
    security.provider.1=sun.security.provider.Sun
    security.provider.2=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.3=com.ibm.crypto.fips.provider.IBMJCEFIPS
    security.provider.4=com.ibm.crypto.provider.IBMJCE
    security.provider.5=com.ibm.jsse.IBMJSSEProvider
    security.provider.6=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.7=com.ibm.security.cert.IBMCertPath
    #security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    
  • [i5/OS] java.security ファイルを編集して、FIPS プロバイダーを除去し、以下の例のようにプロバイダーを再番号付けします。
    security.provider.1=sun.security.provider.Sun
    #security.provider.2=com.ibm.crypto.provider.IBMJCEFIPS
    security.provider.2=com.ibm.crypto.provider.IBMJCE
    security.provider.3=com.ibm.jsse.IBMJSSEProvider
    security.provider.4=com.ibm.jsse2.IBMJSSEProvider2
    security.provider.5=com.ibm.security.jgss.IBMJGSSProvider
    security.provider.6=com.ibm.security.cert.IBMCertPath
    security.provider.7=com.ibm.i5os.jsse.JSSEProvider
    #security.provider.8=com.ibm.crypto.pkcs11.provider.IBMPKCS11
    security.provider.8=com.ibm.security.jgss.mech.spnego.IBMSPNEGO



関連タスク
WebSphere セキュリティー・インフラストラクチャーに対する拡張の開発
関連資料
管理、アプリケーション、およびインフラストラクチャー保護の設定
関連情報
Cryptographic Module Validation Program FIPS 140-1 and FIPS 140-2 Pre-validation List
タスク・トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 4:10:06 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.wsfep.multiplatform.doc/info/ae/ae/tsec_fips.html