WSS API を使用した Web Services Security の構成

Web Services Security アプリケーション・プログラミング・インターフェース (WSS API) は、SOAP メッセージの保護をサポートしています。

始める前に

Web Services Security は、 以下のプログラミング・モデルをサポートしています。

  • Web Services Security で SOAP メッセージを保護するためのプログラミング API (WSS API)。

    この API プログラミング・モデルは設計変更されています。新しい設計は インターフェース・ベースのプログラミング・モデルであり、Web Services Security バージョン 1.1 標準を 基にしていますが、SOAP メッセージ保護のための Web Services Security バージョン 1.0 も サポートしています。WSS API プログラミング・モデルの実装は簡素化されたバージョンで、これは Web Services Security 用の Java™ API バインディングを定義するための JSR である JSR-183 の初期ドラフト提案に基づいています。設計上、アプリケーション・コードはインターフェースに従ってプログラムされているため、オープン・ソース実装によりプログラムされたすべてのアプリケーション・コードは、最小の変更または全く変更なしで WebSphere® Application Server 上で実行できます。

  • サービス・プロバイダーのサービス・プログラミング・インターフェース (SPI)。

    同様に、Web Services Security ランタイム・トークンの生成とトークンを消費する SPI が再設計され、WSS API と SPI の両方で同じセキュリティー・トークン・インターフェースおよび JAAS ログイン・モジュール実装が使用できるようになりました。 サービス・プロバイダー用の WSS SPI はセキュリティー・トークン・タイプを拡張し、 署名用、シグニチャー検査用、暗号化および暗号化解除用の鍵と派生鍵を提供します。

使用法ステートメント: Web サービスのコンテキストでは、WS-Security 標準の IBM 実装を使用する必要があります。

このタスクについて

これらのプログラミング・モデルは以下の機能を拡張します。
  • セキュリティー・トークン・タイプと署名用の派生鍵
  • シグニチャーおよび検証
  • 暗号化と暗号化解除

次の図は、簡易 WSS API で XML デジタル署名や XML 暗号化を 使用して SOAP メッセージを保護する方法を示したものです。

Web サービスの構成モデルも、デプロイメント記述子モデルからポリシー・セット・モデルに再設計されています。構成プログラミング・モデルは、セキュリティー制約を指定するためにセキュリティー・ポリシーを使用して行う、ポリシー・セットの構成に基づいています。

ポリシー・セット構成により提供される機能は、Web Services Security ランタイムの WSS API によりサポートされている機能と同じです。ただし、 ポリシー・セットを使用して定義されるセキュリティー・ポリシーの方が WSS API よりも優先されます。アプリケーションで WSS API とポリシー・セットの両方が使用されている場合、 デフォルトの動作では、ポリシー・セットのセキュリティー・ポリシーが有効になり、 WSS API は無視されます。アプリケーションで WSS API を使用するには、 そのアプリケーションまたはアプリケーション・リソースにポリシー・セットが関連付けられていないこと、 あるいは関連付けられたポリシー・セットにセキュリティー・ポリシーが含まれていないことを 確認する必要があります。

Web Services Security を使用可能にするには、 管理コンソールから構成されるポリシー・セットを使用するか、 構成のために WSS API を使用します。

WSS API を使用する場合は、 以下のハイレベル手順に従って SOAP メッセージを保護します。

手順

  1. WSSSignature API を使用して、要求ジェネレーター (クライアント・サイド) バインディング用に 署名情報を構成します ジェネレーター側の 要求のメッセージ保護には、さまざまなメッセージ・パーツを 指定できます。デフォルトの必須パーツは BODY、ADDRESSING_HEADERS、 および TIMESTAMP です。

    WSSSignature API では、メッセージ保護用のシグニチャーで使用される 各種のアルゴリズム方式も指定されます。デフォルトのシグニチャー方式は RSA_SHA1 です。デフォルトの正規化方式は EXC_C14N です。

  2. メッセージ保護に使用される署名済みパーツを追加または変更する場合は、 WSSSignPart API を使用します デフォルトの署名済みパーツは、 WSSSignature.BODY、WSSSignature.ADDRESSING_HEADERS、および WSSSignature.TIMESTAMP です。

    WSSSignPart API では、署名済みパーツを追加または変更した場合に使用される 各種のアルゴリズム方式も指定されます。デフォルトのダイジェスト方式は SHA1 です。デフォルトの変換方式は TRANSFORM_EXC_C14N です。 例えば、デフォルト値の SHA1 の代わりに SHA256 のダイジェスト方式を使用して SOAP メッセージのシグニチャーを生成する場合は、WSSSignPart API を使用します。

  3. WSSEncryption API を使用して、 要求ジェネレーター側で暗号化情報を構成します ジェネレーター側の暗号化情報は、要求ジェネレーター (クライアント・サイド) バインディングの 発信 SOAP メッセージを暗号化するために使用されます。 暗号化のデフォルト・ターゲットは BODY_CONTENT および SIGNATURE です。

    WSSEncryption API では、 メッセージの機密性保護に使用される各種のアルゴリズム方式も 指定されます。デフォルトの データ暗号化方式は AES128 です。デフォルトの鍵暗号化方式は KW_RSA_OAEP です。

  4. メッセージの機密性に 使用される暗号化パーツを追加または変更する場合は、 WSSEncryptPart API を使用します 例えば、データ暗号化方式をデフォルト値の AES128 から TRIPLE_DES へ変更する場合です。

    暗号化されたパーツでは、 アルゴリズム方式は不要です。

  5. WSS API を使用して、 ジェネレーター側にトークンを添付します セキュリティー・トークンの要件はトークン・タイプによって異なります。JAAS ログイン・モジュールと JAAS CallbackHandler は、ジェネレーター側でセキュリティー・トークンを作成します。さまざまなスタンドアロン・トークンを要求または応答で送信できます。デフォルト・トークンは X509Token です。署名に使用できる他のトークンは、 DerivedKeyToken です。これは Web Services Secure Conversation (WS-SecureConversation) でのみ使用できます。
  6. WSSVerification API を 使用して、応答コンシューマー (クライアント・サイド) バインディングのシグニチャーを検証します コンシューマー側の応答のメッセージ保護には、さまざまなメッセージ・パーツを 指定できます。検証に必要なターゲットは、 BODY、ADDRESSING_HEADERS、および TIMESTAMP です。

    WSSVerification API では、 シグニチャーの検証やメッセージ保護に使用される各種のアルゴリズム方式も 指定されます。デフォルトのシグニチャー方式は RSA_SHA1 です。デフォルトの 正規化方式は EXC_C14N です。

  7. WSSVerifyPart API を 使用して、メッセージ保護に使用される検証署名済みパーツを追加または変更します。 必要な検証パーツは WSSVerification.BODY、WSSVerification.ADDRESSING_HEADERS、 および WSSVerification.TIMESTAMP です。

    WSSVerifyPart API では、 検証パーツを追加または変更した場合に使用される各種のアルゴリズム方式も 指定します。デフォルトのダイジェスト方式は SHA1 です。デフォルトの変換方式は TRANSFORM_EXC_C14N です。

  8. WSSDecryption API を 使用して、応答コンシューマー (クライアント・サイド) バインディング用に暗号化解除情報を 構成します コンシューマー側の暗号化解除情報は、 着信 SOAP メッセージの暗号化解除に使用されます。暗号化解除の デフォルト・ターゲットは BODY_CONTENT および SIGNATURE です。デフォルトのデータ暗号化方式は AES128 です。デフォルトの鍵暗号化方式は KW_RSA_OAEP です。

    暗号化解除では、 アルゴリズム方式は不要です。

  9. メッセージの機密性に 使用される暗号化解除パーツを追加または変更する場合は、WSSDecryptPart API を 使用します 例えば、データ暗号化方式をデフォルト値の AES128 から TRIPLE_DES へ変更する場合です。

    暗号化解除されたパーツには、 アルゴリズム方式は不要です。

  10. WSS API を使用して、コンシューマー側でトークンを構成します セキュリティー・トークンの要件はトークン・タイプによって異なります。 JAAS ログイン・モジュールと JAAS CallbackHandler は、コンシューマー側で セキュリティー・トークンを検証 (認証) する場合に使用します。さまざまなスタンドアロン・トークンを要求または応答で送信できます。

    WSS API は、暗号化解除に使用される トークン候補の情報を追加します。デフォルト・トークンは X509Token です。

タスクの結果

次のタスク

Web Services Security ランタイム・トークンの生成と、トークンを消費するサービス・プログラミング・インターフェース (SPI) が再設計され、WSS API と SPI の両方で同じセキュリティー・トークン・インターフェースおよび JAAS ログイン・モジュール実装が使用できるようになりました。詳しくは、SPI の情報を参照してください。


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



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