WebSphere Application Server Network Deployment, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

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

認証メソッドの概要

WebSphere Application Server の Web サービス・セキュリティーの実装では、認証メソッドである BasicAuth、Lightweight Third Party Authentication (LTPA)、 デジタル・シグニチャー、および ID アサーションをサポートしています。

重要: バージョン 5.x とバージョン 6 以降のアプリケーションには重要な相違点があります。この資料の情報は、WebSphere Application Server バージョン 6.0.x 以降で使用されるバージョン 5.x アプリケーションのみをサポートしています。 この情報は、バージョン 6 以降のアプリケーションには適用されません。

WebSphere Application Server を、 BasicAuth 認証メソッドを使用するように構成すると、送信側は、 Lightweight Third Party Authentication (LTPA) トークンを、 現行セキュリティー・コンテキストまたは基本認証データ構成からの BinarySecurityToken として、 SOAP メッセージ・ヘッダーのバインディング・ファイルに付加します。 Web サービス・セキュリティー・メッセージの受信側は、ユーザー名とパスワードを構成済みのユーザー・レジストリーに照らして検証することによって、送信側の認証を行います。 LTPA メソッドでは、送信側は、 以前に SOAP メッセージ・ヘッダーで受信した LTPA BinarySecurityToken を付加します。 受信側は、LTPA トークンとそのトークンの有効期限を検証して、送信側の認証を行います。 デジタル・シグニチャー認証メソッドでは、送信側は、X509 証明書の BinarySecurityToken を、 Web サービスのセキュリティー・メッセージ・ヘッダーに、メッセージ本文、タイム・スタンプ、 セキュリティー・トークン、あるいはこの 3 つを組み合わせたもののデジタル・シグニチャーとともに付加します。 受信側は、検査済み証明書の公開鍵を使用して X.509 証明書とデジタル・シグニチャーの妥当性を検証することによって、 送信側の認証を行います。

ID アサーション認証メソッドは、他の 3 つの認証メソッドとは異なります。 このメソッドは、信頼関係に基づいて、送信側のセキュリティー信任状を作成します。 例えば、仲介サーバーがクライアントに代わってダウンストリーム・サーバーからサービスを呼び出す場合には、 ID アサーション認証メソッドを使用することができますが、その場合、クライアントの認証情報は得られません。 仲介サーバーは、ダウンストリーム・サーバーとの信頼関係を確立してから、その同じダウンストリーム・サーバーに対してクライアントの識別を表明します。

Web サービス・セキュリティーは、以下のトラスト・モードをサポートしています。

BasicAuth トラスト・モードとデジタル・シグニチャー・トラスト・モードを使用する場合、 仲介サーバーは、それ自身の認証情報を、認証の際にダウンストリーム・サーバーに渡します。 推定トラスト・モードは、何らかの外部メカニズムを使用して信頼関係を確立します。 例えば、仲介サーバーは、ダウンストリーム・サーバーとの Secure Sockets Layers (SSL) 接続や、 トランスポート層クライアント証明書認証を介して、SOAP メッセージを渡す場合があります。

WebSphere Application Server の Web サービス・セキュリティー・インプリメンテーションは、 次の手順に従って信頼関係を検証します。
  1. ダウンストリーム・サーバーが、仲介サーバーの認証情報を検証します。
  2. ダウンストリーム・サーバーは、認証済みの仲介サーバーが ID アサーションで許可されるかどうかを検証します。 例えば、仲介サーバーは、ダウンストリーム・サーバーのトラスト・リストに載っていなければなりません。

クライアント ID は、名前ストリング、識別名 (DN)、 X.509 証明書などで表されます。 クライアント ID は、ユーザー名だけが含まれる UsernameToken、DN、 あるいは証明書の BinarySecurityToken 内の、Web サービス・セキュリティー・メッセージに付加されます。 次の表は、各認証メソッドで必要なセキュリティー・トークンのタイプを要約したものです。

表 1. 認証メソッドとそのセキュリティー・トークン
認証メソッド セキュリティー・トークン
BasicAuth BasicAuth は、 <wsse:Username> および <wsse:Password> と共に <wsse:UsernameToken> を必要とします。
Signature Signature は、 <ds:Signature> および <wsse:BinarySecurityToken> を必要とします。
IDAssertion IDAssertion は、 <wsse:Username>、 または、<idType> によっては、クライアント ID のための X.509 証明書が組み込まれた <wsse:BinarySecurityToken> と共に、 <wsse:UsernameToken> を必要とします。 このメソッドでは、 <trustMode> によっては、 以下のように他のセキュリティー・トークンも必要になります。
  • If the <trustMode> is BasicAuth, IDAssertion requires <wsse:UsernameToken> with <wsse:Username> and <wsse:Password>.
  • <trustMode>Signature である場合、 IDAssertion は、<wsse:BinarySecurityToken> を必要とします。
LTPA LTPA は、LTPA トークンと共に <wsse:BinarySecurityToken> を必要とします。
Web サービスは、複数の認証メソッドを同時にサポートすることができます。 Web サービス・デプロイメント記述子の受信側は、ibm-webservices-ext.xmi XML ファイルでサポートされている認証メソッドをすべて指定することができます。 Web サービスの受信側は、次の例でわかるように、以前に記述された認証メソッドはすべて受け入れるように構成されています。
<loginConfig xmi:id="LoginConfig_1052760331326">
      <authMethods xmi:id="AuthMethod_1052760331326" text="BasicAuth"/>
      <authMethods xmi:id="AuthMethod_1052760331327" text="IDAssertion"/>
      <authMethods xmi:id="AuthMethod_1052760331336" text="Signature"/>
      <authMethods xmi:id="AuthMethod_1052760331337" text="LTPA"/>
</loginConfig>
<idAssertion xmi:id="IDAssertion_1052760331336" idType="Username" trustMode="Signature"/>
送信側の Web サービス・デプロイメント記述子では、1 つの認証メソッドしか定義できません。 Web サービスのクライアントは、特定の Web サービス・アプリケーションがサポートしている認証メソッドのいずれかを使用することができます。 次の例は、Web サービス・クライアントの ibm-webservicesclient-ext.xmi デプロイメント記述子拡張における、ID アサーションの認証メソッド構成です。
<loginConfig xmi:id="LoginConfig_1051555852697">
      <authMethods xmi:id="AuthMethod_1051555852698" text="IDAssertion"/>
</loginConfig>
<idAssertion xmi:id="IDAssertion_1051555852697" idType="Username" trustMode="Signature"/>
この例で示すように、クライアント ID のタイプは Username で、トラスト・モードはデジタル・シグニチャーです。
図 1. セキュリティー・トークンの生成と検証

送信側のセキュリティー・ハンドラーは、javax.security.auth.callback.CallbackHandler インターフェースのインプリメンテーションの handle() メソッドを呼び出します。 javax.security.auth.callback.CallbackHandler インターフェースは、 セキュリティー・トークンを作成し、それを送信側のセキュリティー・ハンドラーに戻します。 送信側のセキュリティー・ハンドラーは、コールバック配列内の認証情報に基づいてセキュリティー・トークンを構成し、そのセキュリティー・トークンを、Web サービスのセキュリティー・メッセージ・ヘッダーに挿入します。

受信側のセキュリティー・ハンドラーは、メッセージ・ヘッダーのトークン・タイプを、 デプロイメント記述子で構成された予想されるトークン・タイプと比較します。 SOAP メッセージの Web サービス・セキュリティー・ヘッダーで、予想されるトークン・タイプがまったく検出されない場合は、SOAP 障害例外が出されて要求はリジェクトされます。 それ以外の場合は、そのトークン・タイプを使用して、 トークンを検証するための Java Authentication and Authorization Service (JAAS) ログイン構成にマップします。 認証に成功すると、JAAS サブジェクトが作成され、実行中のスレッドに関連付けられます。 認証に失敗した場合は、SOAP 障害例外が出されて、要求はリジェクトされます。




関連概念
BasicAuth 認証メソッド
LTPA (Lightweight Third Party Authentication)
XML デジタル・シグニチャー
SOAP メッセージの ID アサーション
ユーザー名トークン
バイナリー・セキュリティー・トークン
関連タスク
基本認証を使用したバージョン 5.x アプリケーションの Web サービスの保護
ID アサーション認証を使用したバージョン 5.x アプリケーションの Web サービスの保護
シグニチャー認証によるバージョン 5.x アプリケーションの Web サービスの保護
プラグ可能トークンによるバージョン 5.x アプリケーションの Web サービスの保護
WS-Security を基にしたバージョン 5.x アプリケーションの Web サービスの保護
概念トピック    

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

最終更新: Jan 21, 2008 10:13:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.nd.doc/info/ae/ae/cwbs_authmeth.html