プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebLogic Serverセキュリティの管理
12c (12.2.1.3.0)
E90347-05
目次へ移動
目次

前
次

37 FIPSモードの有効化

WebLogic ServerでFIPS 140-2モードを有効にする方法について学びます。

FIPSの概要

Federal Information Processing Standards (FIPS) 140-2は、アメリカ合衆国政府の機密でも未分類の使用に関する要件を記載した規格です。WebLogic Serverでは、RSA FIPS互換(FIPS 140-2)機密モジュールを使用できます。

FIPSのサポートされるバージョンは、「サポートされるFIPS標準と暗号スイート」を参照してください。

この機密モジュールをRSA JSSEプロバイダおよびRSA JCEプロバイダと組み合せて使用すると、FIPS準拠(FIPS 140-2)実装が提供されます。

注意:

RSA JSSEプロバイダとRSA JCEプロバイダはこの項で説明するようにFIPSモードで使用するだけでなく、非FIPSモードでも使用できます。たとえば、RSA JSSEプロバイダに固有の特定の暗号化アルゴリズムを使用することもできます。

次のトピックを参照してください。

Oracle Fusion MiddlewareでのFIPSのサポートの詳細は、『Oracle Fusion Middleware Oracle Fusion Middlewareの管理』のOracle Fusion MiddlewareでのFIPS-140のサポートに関する項を参照してください。

JavaオプションでのFIPS 140-2モードの有効化

Javaセキュリティ・ファイルを使用してJavaオプションをコマンドラインで指定すると、FIPS 140-2モードを有効にできます。

JavaオプションでFIPS 140-2を有効にするには、次の手順に従います。

  1. 次のURLより、使用しているJDKのバージョンに対応するJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policyファイルをダウンロードおよびインストールします。これらのJavaポリシーJARファイルは、サイズが128ビットを超える暗号鍵に影響します。
    http://www.oracle.com/technetwork/java/javase/downloads/index.html
    

    .ZIPディストリビューションを開き、JAVA_HOME/jre/lib/securitylocal_policy.jarUS_export_policy.jarを更新します。詳細およびインストール方法は、.ZIPディストリビューション内のREADME.txtファイルを参照してください。

  2. 自らのjava.securityファイルを作成します。インストールしたJDKに含まれるファイルを見本として使用できます。

    RSA JCEプロバイダとRSA JSSEプロバイダの両方を、java.securityプロパティ・ファイルに最初の2つのJavaセキュリティ・プロバイダとして追加します。

    #
    security.provider.1=com.rsa.jsafe.provider.JsafeJCE
    security.provider.2=com.rsa.jsse.JsseProvider
     
    security.provider.3=sun.security.provider.Sun
    :
    
  3. WebLogic Serverの起動コマンドラインに-Djava.security.propertiesを設定して、java.securityファイルのデフォルト構成をオーバーライドします。カスタムjava.securityファイルのフルパスを指定します。
    set JAVA_OPTIONS=-Djava.security.properties=C:\Users\user\java.security
    

    注意:

    インストールされているJREセキュリティ・プロパティにjava.securityプロパティを付加する場合は、等号を1つ(=)使用してファイル名を指定します。すべてのJavaセキュリティ・プロパティをオーバーライドする場合は、2つの等号(==)を使用します(例: -Djava.security.properties==C:\Users\user\java.security)。
  4. jcmFIPS.jar jarファイルおよびsslj.jar JARファイル(どちらもWL_HOME/server/lib/にある)をクラスパスの先頭に指定します。これには、PRE_CLASSPATH環境変数を使用します。

    (RSA JCEプロバイダCrypto-Jはデフォルトでcryptoj.jarとクラスパスにあります。)

    たとえば、jcmFIPS.jarsslj.jarPRE_CLASSPATH変数に設定してから、サーバー起動スクリプト(通常はstartWebLogic.cmd/sh)を呼び出すことができます。

    set PRE_CLASSPATH=%ORACLE_HOME%\wlserver\server\lib\jcmFIPS.jar;%ORACLE_HOME%\wlserver\server\lib\sslj.jar
    cd %ORACLE_HOME%\user_projects\domains\base_domain
    startWebLogic.cmd
    
  5. WebLogic Serverを起動します。

java.securityでのFIPS 140-2モードの有効化

インストールされているJDKのjava.securityファイルからFIPS 140-2モードを有効にできます。

構成の手順は次のとおりです。

  1. 次のURLより、使用しているJDKのバージョンに対応するJava Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policyファイルをダウンロードおよびインストールします。これらのJavaポリシーJARファイルは、サイズが128ビットを超える暗号鍵に影響します。

    インストール方法は、.ZIPディストリビューション内のREADME.txtファイルを参照してください。

    http://www.oracle.com/technetwork/java/javase/downloads/index.html
    

    .ZIPディストリビューションを開き、JAVA_HOME/jre/lib/securitylocal_policy.jarUS_export_policy.jarを更新します。詳細およびインストール方法は、.ZIPディストリビューション内のREADME.txtファイルを参照してください。

  2. java.securityファイルを編集します。RSA JCEプロバイダとRSA JSSEプロバイダの両方を、java.securityプロパティ・ファイルに最初の2つのJavaセキュリティ・プロバイダとして追加します。
    #
    security.provider.1=com.rsa.jsafe.provider.JsafeJCE
    security.provider.2=com.rsa.jsse.JsseProvider
     
    security.provider.3=sun.security.provider.Sun
    :
    
  3. jcmFIPS.jar jarファイルおよびsslj.jar JARファイル(どちらもWL_HOME/server/lib/にある)をクラスパスの先頭に指定します。これには、PRE_CLASSPATH環境変数を使用します。

    (RSA JCEプロバイダCrypto-Jはデフォルトでcryptoj.jarとクラスパスにあります。)

    たとえば、jcmFIPS.jarsslj.jarPRE_CLASSPATH変数に設定してから、サーバー起動スクリプト(通常はstartWebLogic.cmd/sh)を呼び出すことができます。

    set PRE_CLASSPATH=%ORACLE_HOME%\wlserver\server\lib\jcmFIPS.jar;%ORACLE_HOME%\wlserver\server\lib\sslj.jar
    cd %ORACLE_HOME%\user_projects\domains\base_domain
    startWebLogic.cmd
    

    または、jcmFIPS.jarsslj.jarをサーバー起動スクリプトそのもののPRE_CLASSPATH変数に追加します。

  4. WebLogic Serverを起動します。

FIPS 140-2モード有効時のJCEの検証

FIPS 140-2モードのWLSを構成するときにJCE検証を有効にするには、WebLogic Serverを起動するときに-Dweblogic.security.allowCryptoJDefaultJCEVerification=true JAVA_OPTIONS環境変数を設定します。

通常のWebLogic起動時には、パフォーマンスの理由からRSA Crypto-J JCE自己整合性テストは無効になっています。

この環境変数を設定すると、処理が追加されて、起動に時間がかかるようになることに注意してください。

Webサービスを使用する際の重要な考慮事項

FIPS 140-2モードでWebサービスを使用する際には、留意すべき重要な考慮事項があります。

例:

SHA-1セキュア・ハッシュ・アルゴリズムのサポートなし

SHA-1セキュア・ハッシュ・アルゴリズムはFIPS 140-2モードではサポートされません。したがって、次のWS-SP <sp:AlgorithmSuite>値はFIPS 140-2モードではサポートされません。

  • Basic256

  • Basic192

  • Basic128

  • TripleDes

  • Basic256Rsa15

  • Basic192Rsa15

  • Basic128Rsa15

  • TripleDesRsa15

『Oracle WebLogic Server WebLogic Webサービスの保護』のSHA-256セキュア・ハッシュ・アルゴリズムの使用に関する項で説明しているように、WebLogic Server Webサービス・セキュリティ・ポリシーでは、デジタル署名のハッシュのためにSHA-1およびより強固なSHA-2 (SHA-256)セキュア・ハッシュ・アルゴリズムの両方がサポートされています。特にSHA-256ポリシーの使用では、SHA-1セキュア・ハッシュ・アルゴリズムとSHA-2セキュア・ハッシュ・アルゴリズムを使用するポリシーを説明しています。

FIPS 140-2モードでは、デジタル署名の使用時には拡張アルゴリズム・スイートが必要です。『Oracle WebLogic Server WebLogic Webサービスの保護』の「拡張アルゴリズム・スイート(EAS)の使用」を参照してください。

FIPS 140-2モードを有効にする場合、セキュリティ・ポリシーの<sp:AlgorithmSuite要素を、次に示すサポートされている<sp:AlgorithmSuite値(詳細は、SHA-256セキュア・ハッシュ・アルゴリズムの使用に関する項を参照)のいずれかに変更します。

  • Basic256Sha256

  • Basic192Sha256

  • Basic128Sha256

  • Basic256Exn256

  • Basic192Exn256

  • Basic128Exn256

  • TripleDesSha256

  • TripleDesExn256

  • Basic256Sha256Rsa15

  • Basic192Sha256Rsa15

  • Basic128Sha256Rsa15

  • Basic256Exn256Rsa15

  • Basic192Exn256Rsa15

  • Basic128Exn256Rsa15

  • TripleDesSha256Rsa15

  • TripleDesExn256Rsa15

たとえば、既存のBasic256アルゴリズム・スイートを編集してEASアルゴリズム・スイートにするには、次のポリシーを変更します。

<sp:AlgorithmSuite>
        <wsp:Policy>
             <sp:Basic256/>
        </wsp:Policy>
</sp:AlgorithmSuite>

これを次のように変更します。

<sp:AlgorithmSuite>
         <wsp:Policy>
             <orasp:Basic256Exn256 xmlns:orasp="http://schemas.oracle.com/ws/2006/01/securitypolicy"/>
         </wsp:Policy>
</sp:AlgorithmSuite>

X509PKIPathv1トークンのサポートなし

このリリースのWebLogic Serverでは、X509PKIPathv1トークンはFIPS 140-2モードでサポートされません。カスタム・ポリシーでX509PKIPathv1トークンを使用する場合、かわりにPKCS7トークンを使用するようにポリシーを変更します。

特に、次の2つのポリシー・アサーションは、このリリースのWebLogic ServerのFIPS 140-2モードでサポートされていません。

  • <sp:WssX509PkiPathV1Token10/>

  • <sp:WssX509PkiPathV1Token11/>

これら2つのポリシー・アサーションを使用する場合、かわりに次の2つのアサーションに変更してください。

  • <sp:WssX509Pkcs7Token10/>

  • <sp:WssX509Pkcs7Token11/>

たとえば、カスタム・ポリシーのポリシーに次のアサーションがあるとします。

<wsp:Policy>
   <sp:X509Token sp:IncludeToken=". . .">
         <wsp:Policy>
               <sp:WssX509PkiPathV1Token10/>
         </wsp:Policy>
   </sp:X509Token>
</wsp:Policy>

これは次のポリシー・アサーションで置き換えてください。

<wsp:Policy>
   <sp:X509Token sp:IncludeToken=". . .">
         <wsp:Policy>
               <sp:WssX509Pkcs7Token10/>
         </wsp:Policy>
   </sp:X509Token>
</wsp:Policy>

または、カスタム・ポリシーのポリシーに次のアサーションがあるとします。

<wsp:Policy>
   <sp:X509Token sp:IncludeToken=". . .">
         <wsp:Policy>
              <sp:RequireThumbprintReference/>
              <sp:WssX509PkiPathV1Token11/>
         </wsp:Policy>
   </sp:X509Token>
</wsp:Policy>

これは次のアサーションで置き換えてください。

<wsp:Policy>
   <sp:X509Token sp:IncludeToken=". . .">
         <wsp:Policy>
               <sp:RequireThumbprintReference/>
               <sp:WssX509Pkcs7Token11/>
         </wsp:Policy>
   </sp:X509Token>
</wsp:Policy>