コンシューマー・バインディング向け暗号化解除方式の選択

コンシューマー・バインディング向け応答暗号化解除用クライアントを構成するには、 クライアントが SOAP メッセージを暗号化解除するときに使用する データおよび変換アルゴリズムの方式を指定します。

始める前に

以下のステップを実行する前に、XML 暗号化情報に目を通して、 SOAP メッセージの暗号化と暗号化解除について十分理解してください。

暗号化解除構成を完了して SOAP メッセージをセキュアにするには、 以下のタスクを行う必要があります。

  • SOAP メッセージ・パーツの暗号化解除を構成します。
  • 暗号化解除方式を指定します。

WSSDecryption API と WSSDecryptPart API を使用して暗号化解除方式を構成できます。 または、暗号化解除方式を構成するための管理コンソールを使用して、ポリシー・セットを構成することもできます。

このタスクについて

一部の暗号化解除関連の定義は、XML 暗号化仕様に基づいています。 以下の情報は、データ暗号化に関連するいくつかの用語の定義です。

データ暗号化方式アルゴリズム
データ暗号化アルゴリズムでは、データ暗号化方式のアルゴリズム URI (Uniform Resource Identifier) を指定します。 このアルゴリズムは、固定サイズの複数オクテット・ブロックでデータを暗号化および暗号化解除します。

デフォルトでは、Java™ Cryptography Extension (JCE) は、強度が制限または限定された暗号を使用します。 192 ビットおよび 256 ビットの Advanced Encryption Standard (AES) 暗号化アルゴリズムを使用するには、 無制限の管轄権ポリシー・ファイルを適用する必要があります。

AES256-cbc アルゴリズムと AES192-cbc アルゴリズムの場合、Web サイト http://www.ibm.com/developerworks/java/jdk/security/index.html から非制限 Java™ Cryptography Extension (JCE) ポリシー・ファイルをダウンロードする必要があります。

鍵暗号化方式アルゴリズム
鍵暗号化アルゴリズムでは、鍵暗号化方式のアルゴリズム URI (Uniform Resource Identifier) を指定します。 このアルゴリズムは、暗号化鍵および暗号化解除鍵のために指定されている公開鍵暗号化アルゴリズムです。
デフォルトでは、RSA_OAEP アルゴリズムは、暗号化操作の一部として、SHA1 メッセージ・ダイジェスト・アルゴリズムを使用してメッセージ・ダイジェストを計算します。 オプションで、鍵暗号化アルゴリズム・プロパティーを指定することにより、SHA256 または SHA512 メッセージ・ダイジェスト・アルゴリズムを使用できます。 プロパティー名は com.ibm.wsspi.wssecurity.enc.rsaoaep.DigestMethod です。 プロパティー値は、以下のダイジェスト方式の URI のいずれかです。
  • http://www.w3.org/2001/04/xmlenc#sha256
  • http://www.w3.org/2001/04/xmlenc#sha512

デフォルトでは、RSA_OAEP アルゴリズムは、 OAEPParams 用のオプショナル・エンコードのオクテット・ストリングとしてヌル・ストリングを使用します。 鍵暗号化アルゴリズム・プロパティーを指定することにより、明示的エンコードのオクテット・ストリングを提供できます。 プロパティー名として、com.ibm.wsspi.wssecurity.enc.rsaoaep.OAEPparams を指定できます。プロパティー値は、オクテット・ストリングを Base 64 でエンコードした値です。

重要: これらのダイジェスト方式および OAEPParams プロパティーは、 ジェネレーター側でのみ設定することができます。コンシューマー側では、着信 SOAP メッセージからこれらのプロパティーが読み取られます。

KW_AES256 および KW_AES192 鍵暗号化アルゴリズムの場合、 Web サイト http://www.ibm.com/developerworks/java/jdk/security/index.html から非制限 JCE ポリシー・ファイルをダウンロードする必要があります。

重要: お客様の国において、暗号ソフトウェアの輸入、所持、使用、または他国への再輸出が規制されている可能性があります。 無制限ポリシー・ファイルをダウンロードまたは使用する前に、お客様の国の法律、規制、暗号ソフトウェアの輸入、所持、使用、または他国への再輸出に関する方針を確認し、許可されているかどうかを判別してください。

暗号化解除構成を完了するには、 アルゴリズム URI (Uniform Resource Identifier) およびその使用タイプを指定する必要があります。URI が複数の使用タイプに使われる場合、それぞれの使用タイプごとに URI を定義する必要があります。 WebSphere® Application Server は、以下の暗号化解除の使用タイプをサポートしています。

表 1. 暗号化解除の使用タイプ. 以下の暗号化解除タイプが WebSphere Application Server によってサポートされています。
使用タイプ 説明
データの暗号化 データの暗号化と暗号化解除の両方に使用するアルゴリズム URI を指定します。 固定サイズの複数オクテット・ブロック単位でデータを暗号化および暗号化解除します。
鍵の暗号化 暗号鍵の暗号化と暗号化解除に使用するアルゴリズム URI を指定します。

暗号化解除アルゴリズムと暗号化解除パーツ・アルゴリズムを構成するには、 WSSDecryption API と WSSDecryptPart API を使用するか、または管理コンソールでポリシー・セットを構成します。

注: ポリシー・セットは対称鍵の暗号化をサポートしません。対称鍵の暗号化用に WSS API を使用する場合は、ポリシー・セットを使用する Web サービスのエンドポイントと相互運用することができなくなります。
WSS API を使用する場合は、WSSDecryption API と WSSDecryptPart API で、クライアントが SOAP メッセージを暗号化解除するときに使用されるアルゴリズム方式を指定します。
  • WSSDecryption API を使用して、データ暗号化アルゴリズム方式と鍵暗号化アルゴリズム方式を構成します。
  • WSSDecryptPart API を使用して変換アルゴリズム方式を構成します。

WSS API プロセスは以下の高水準ステップを実行して、 応答暗号化解除のクライアントを構成するときに使用する暗号化解除アルゴリズム方式と暗号化解除パーツ・ アルゴリズム方式を指定します。

手順

  1. WSSDecryption API を使用して、必要なデータ暗号化アルゴリズムを追加します。 データ暗号化アルゴリズムは、 SOAP メッセージのパーツを暗号化または暗号化解除するために使用されます。 データ暗号化解除アルゴリズムでは、データ暗号化方式のアルゴリズム URI (Uniform Resource Identifier) を指定します。

    デフォルトのデータ暗号化アルゴリズムは AES 128 です。データの暗号化名は AES128 で、 データ暗号化アルゴリズムの URI は http://www.w3.org/2001/04/xmlenc#aes128-cbc です。 WebSphere Application Server は、以下の事前構成済みデータ暗号化解除アルゴリズムをサポートしています。

    • AES128: http://www.w3.org/2001/04/xmlenc#aes128-cbc

      AES 128 アルゴリズムは、 デフォルトのデータ・アルゴリズム方式です。

    • AES256: http://www.w3.org/2001/04/xmlenc#aes256-cbc

      この AES 256-cbc アルゴリズムを使用するには、Web サイト http://www.ibm.com/developerworks/java/jdk/security/index.html から非制限 Java Cryptography Extension (JCE) ポリシー・ファイルをダウンロードする必要があります。

    • AES192: http://www.w3.org/2001/04/xmlenc#aes192-cbc

      構成済みアプリケーションを Basic Security Profile (BSP) に準拠させる場合は、 192 ビットの鍵暗号化アルゴリズムを使用しないでください。

      この AES 192-cbc アルゴリズムを使用するには、Web サイト http://www.ibm.com/developerworks/java/jdk/security/index.html から非制限 Java Cryptography Extension (JCE) ポリシー・ファイルをダウンロードする必要があります。

    • TRIPLE_DES: http://www.w3.org/2001/04/xmlenc#tripledes-cbc
  2. 必要に応じて、別のデータ暗号化アルゴリズムを指定するように WSSEncryption API 方式を変更します。 例えば、以下のコードを追加して、デフォルトの AES 128 アルゴリズムから Triple DES アルゴリズムに変更することも可能です。
    dec.addAllowedKeyEncryptionMethod(WSSDecryption.TRIPLE_DES); 
  3. WSSDecryption API を使用して、必要な鍵暗号化アルゴリズムを追加します。 鍵暗号化アルゴリズムは、 SOAP メッセージ内のメッセージ・パーツの暗号化に使用する鍵を暗号化するために使用されます。 データを暗号化する鍵が不要な場合は、WSSDecryption.encryptKey(false) を指定する必要があります。

    コンシューマー側のために選択する鍵暗号化アルゴリズムは、 生成プログラム側のために選択する鍵暗号化方式と一致する必要があります。

    鍵暗号化アルゴリズムのデフォルト値は、鍵ラップ RSA_OAEP です。鍵の暗号化名は KW_RSA_OAEP で、 鍵暗号化アルゴリズムの URI は http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p です。 WebSphere Application Server は、次の事前構成済み鍵暗号化アルゴリズムをサポートしています。

    • KW_AES128: http://www.w3.org/2001/04/xmlenc#kw-aes128
    • KW_AES192: http://www.w3.org/2001/04/xmlenc#kw-aes192

      この鍵ラップ AES 192 アルゴリズムを使用するには、Web サイト http://www.ibm.com/developerworks/java/jdk/security/index.html から非制限 Java Cryptography Extension (JCE) ポリシー・ファイルをダウンロードする必要があります。

      制約事項: 構成済みアプリケーションを Basic Security Profile (BSP) に準拠させる場合は、 192 ビットの鍵暗号化アルゴリズムを使用しないでください。
    • KW_AES256: http://www.w3.org/2001/04/xmlenc#kw-aes256

      この鍵ラップ AES 256-cbc アルゴリズムを使用するには、Web サイト http://www.ibm.com/developerworks/java/jdk/security/index.html から非制限 Java Cryptography Extension (JCE) ポリシー・ファイルをダウンロードする必要があります。

    • KW_RSA_OAEP: http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p

      KW_RSA_OAEP アルゴリズムは、 デフォルトの鍵アルゴリズム方式です。

      Software Development Kit (SDK) バージョン 1.4 で実行する場合は、 サポートされる鍵トランスポート・アルゴリズムのリストに、このアルゴリズムは含まれていません。 SDK バージョン 1.5 で実行する場合、このアルゴリズムはサポートされる鍵トランスポート・アルゴリズムのリストに表示されます。 詳しくは、 http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1pを参照してください。

    • KW_RSA_15: http://www.w3.org/2001/04/xmlenc#rsa-1_5
    • KW_TRIPLE_DES: http://www.w3.org/2001/04/xmlenc#kw-tripledes
    注: Web Services Secure Conversation の場合、WSSEncryption API で、 以下のような追加の鍵関連情報を指定することもできます。
    • algorithmName
    • keyLength
  4. 必要に応じて、WSSDecryption API 方式を使用して、他の鍵暗号化アルゴリズムに変更します。 例えば、以下のコードを追加して、デフォルトの鍵暗号化アルゴリズム KW_RSA_OAEP から TRIPLE_DES アルゴリズムに変更することも可能です。
    dec.addAllowedKeyEncryptionMethod(WSSDecryption.KW_TRIPLE_DES);
  5. 必要に応じて、WSSDecryptPart API を使用して変換アルゴリズムを追加します。 デフォルトの変換アルゴリズムはありません。しかし、WebSphere Application Server は事前構成された暗号化解除パーツ WSSDecryptPart.TRANSFORM_ATTACHMENT_CIPHERTEXT を提供します。これは、追加できます。

タスクの結果

エラー条件がある場合は、WSSException が発生します。正常な場合、API は WSSConsumerContext.process() メソッドを呼び出し、WS-Security ヘッダーは妥当性検査され、さらに SOAP メッセージは Web Services Security を使用して保護されます。

以下の例は、本文の内容を暗号化解除し、 またデータ暗号化アルゴリズムおよび鍵暗号化アルゴリズムをデフォルト値から変更する、WSS API のサンプル・コードです。

// Get the message context
   Object msgcontext = getMessageContext();

// Generate the WSSFactory instance 
   WSSFactory factory = WSSFactory.getInstance();

// Generate the WSSConsumingContext instance 
   WSSConsumingContext gencont = factory.newWSSConsumingContext();

// Generate the callback handler
   X509ConsumeCallbackHandler callbackHandler = new
      X509ConsumeCallbackHandler(
                                 "",
                                 "enc-sender.jceks",
                                 "jceks", 
                                 "storepass".toCharArray(),
                                 "alice",
                                 "keypass".toCharArray(),
                                 "CN=Alice, O=IBM, C=US");

// Generate WSSDecryption instance 
   WSSDecryption dec = factory.newWSSDecryption(X509Token.class, 
                                                callbackHandler);

// Set the candidates for the data encryption method
// DEFAULT : WSSDecryption.AES128
   dec.addAllowedEncryptionMethod(WSSDecryption.AES128);
   dec.addAllowedEncryptionMethod(WSSDecryption.AES192);

// Set the candidates for the key encryption method
// DEFAULT : WSSDecryption.KW_RSA_OAEP
   dec.addAllowedKeyEncryptionMethod(WSSDecryption.KW_TRIPLE_DES);
// Add the WSSDecryption to WSSConsumingContext 
   concont.add(dec);

// Validate the WS-Security header
concont.process(msgcontext);

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_confwssdecryptalgorithms
ファイル名:twbs_confwssdecryptalgorithms.html