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

             目次と検索結果のパーソナライズ化
             New or updated topic for this feature pack

WSS API を使用してメッセージの機密性を保護するための 暗号化の構成

クライアント・サイドの要求ジェネレーター (送信側) バインディングで 暗号化情報を構成することができます。暗号化情報は、ジェネレーター (送信側) による 発信 SOAP メッセージの暗号化方法を指定するために使用されます。暗号化を構成するためには、 暗号化するメッセージ・パーツを指定して、暗号化に使用するアルゴリズム方式と セキュリティー・トークンを指定します。

始める前に

機密性は暗号化に関連し、保全性はデジタル署名に関連します。機密性は、インターネット上を流れるメッセージが 誰かに読み取られるリスクを軽減します。機密性の仕様を使用して、メッセージは、送信される前に暗号化され、 正しいターゲットによる受信時に、暗号化解除されます。 暗号化を構成する前に、 XML 暗号化について知っておく必要があります。

このタスクについて

暗号化では、以下を指定する必要があります。
  • 暗号化するメッセージ・パーツ
  • 使用する暗号化アルゴリズム

クライアント・サイドで暗号化と暗号化パーツを構成するには、 WSSEncryption API と WSSEncryptPart API を使用するか、管理コンソールから ポリシー・セットを構成します。

WebSphere Application Server には、バインディングのデフォルト値が用意されています。 しかし、管理者は実稼働環境に合わせてデフォルトを変更する必要があります。

WebSphere Application Server では、デフォルト・ジェネレーター用の 暗号化情報を使用して SOAP メッセージ・パーツを暗号化します。 WSSEncryption API は、以下の必須パーツを暗号化の対象パーツとして 構成します。

表 1. 必須の暗号化パーツ
暗号化パーツ 説明
キーワード キーワードは、SOAP メッセージに暗号化パーツを追加する場合に 使用されます。
XPath 式 XPath 式は、SOAP メッセージに暗号化パーツを追加する場合に 使用されます。
WSSEncryptPart オブジェクト このオブジェクトは、SOAP メッセージに暗号化パーツを追加します。
WSSSignature オブジェクト このオブジェクトは、シグニチャー・コンポーネントを暗号化パーツとして 追加します。
ヘッダー このパーツは、QName で指定される SOAP ヘッダー内のヘッダーを、 暗号化パーツとして追加します。
セキュリティー・トークン・オブジェクト このオブジェクトは、セキュリティー・トークンを暗号化パーツとして 追加します。

Web サービス・セキュリティー API (WSS API) は、Web Services Secure Conversation (WS-SecureConversation) が 使用されている場合に限り、共有鍵を使用して 対称暗号化をサポートします。

WSS API では、キーワードまたは XPath 式を使用することで、 メッセージの暗号化パーツを指定できます。WebSphere Application Server で使用できるキーワードは次のとおりです。

表 2. サポートされる 暗号化キーワード
キーワード 参照
BODY_CONTENT SOAP メッセージ本体の内容を 暗号化ターゲットにするためのキーワード。
SIGNATURE シグニチャー・コンポーネントを 暗号化ターゲットにするためのキーワード。

WSS API を使用して WSSEncryption API および WSSEncryptPart API を 構成する場合は、以下のハイレベル手順を実行してください。

プロシージャー

  1. WSSEncryption API を使用して暗号化を構成します。 WSSEncryption API は、 デフォルトで以下のタスクを実行します。
    1. コールバック・ハンドラーの生成。
    2. ジェネレーター・セキュリティー・トークン・オブジェクトの生成。
    3. セキュリティー・トークン参照タイプの追加。
    4. シグニチャー・コンポーネントの追加。
    5. WSSEncryptPart オブジェクトの追加。
    6. 暗号化するパーツの追加。 キーワードと XPath 式を使用して、 デフォルト・パーツを暗号化のターゲットとして追加します。
    7. SOAP メッセージのヘッダー (QName で指定) の追加。
    8. デフォルトのデータ暗号化方式の設定。
    9. 鍵の暗号化にブール値を使用するかどうかの 指定。
    10. デフォルトの鍵暗号化方式の設定。
    11. パーツ参照の選択。
    12. MTOM 最適化のブール値の設定。
  2. 暗号化パーツを構成したり、変換方式を追加したりするには、 WSSEncryptPart API を使用します。WSSEncryptPart API は、デフォルトで以下のタスクを実行します。
    1. キーワードまたは XPath 式で指定した暗号化パーツの 設定。
    2. XPath 式で指定した暗号化パーツの設定。
    3. シグニチャー・コンポーネント・オブジェクト WSSSignature の設定。
    4. SOAP メッセージのヘッダー (QName で指定) の設定。
    5. ジェネレーター・セキュリティー・トークンの設定。
    6. 変換方式の追加 (必要な場合)。
  3. 必要に応じ、アルゴリズムまたはメッセージ・パーツのデフォルト値を 変更します。 例えば、次のような変更 (複数可) が 可能です。
    • データ暗号化アルゴリズムをデフォルト値 AES 128 から変更します。
    • 鍵暗号化アルゴリズムをデフォルト値 KW_RSA_OAEP から変更します。
    • 鍵を暗号化しないように (false) 指定します。
    • セキュリティー・トークン・タイプをデフォルトの X.509 トークンから変更します。
    • セキュリティー・トークン・タイプをデフォルト値 SecurityToken.REF_STR から変更します。
    • 暗号化パーツとして BODY_CONTENT のみを使用し、SIGNATURE は使用しません。
    • MTOM 最適化をオン (true) にします。

結果

暗号化情報がジェネレーター・バインディング用に構成されます。

WSSEncryption API の例を以下に示します。
    WSSFactory factory = WSSFactory.getInstance();
    WSSGenerationContext gencont = factory.newWSSGenerationContext();
   
    X509GenerateCallbackHandler callbackhandler = generateCallbackHandler();
    SecurityToken token = factory.newSecurityToken(X509Token.class, callbackHandler);
    WSSEncryption enc = factory.newWSSEncryption(token);
    
    gencont.add(enc);

次の作業

クライアント・サイドの応答コンシューマー (受信側) バインディングで まだ暗号化解除情報を構成していない場合は、同様の暗号化解除情報を構成する必要があります。

次に、WSSEncryption API プロセスを確認します。




サブトピック
WSSEncryption API を使用した SOAP メッセージの暗号化
ジェネレーター・バインディング向け暗号化方式の選択
暗号化方式
twbs_confwssencryptsecretkey.html
関連概念
XML 暗号化
関連タスク
ポリシー・セットを使用したメッセージ・パーツの署名と暗号化
twbs_configencryptinfoconjaxws.html
WSS API を使用した要求ジェネレーターでのメッセージの保護
タスク・トピック    

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

最終更新: 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/twbs_configencryptinfogenjaxws.html