Web Services Security によるメッセージ保全性、機密性および認証の提供

OASIS Web Services Security (WS-Security) は、複数のセキュリティー・モデル内で Web サービスをメッセージ・レベルで保護するために使用される柔軟な標準です。 SOAP メッセージは XML デジタル署名により、機密性は XML 暗号化により、そしてクレデンシャルの伝搬はセキュリティー・トークンにより保護できます。

この WS-Security 仕様は、メッセージの保全性と機密性を保護するための中核機構を定義し、セキュリティー関連の要求と メッセージを関連付けるためのメカニズムを提供します。メッセージ・レベル・セキュリティー、すなわち、Web サービスをメッセージ・レベルで保護することは、従来の Web セキュリティーと同じセキュリティー条件に対応することです。これらのセキュリティー条件には、ID、認証、許可、保全性全、機密性、否認防止、基本メッセージ交換などがあります。従来の Web セキュリティーもメッセージ・レベル・セキュリティーも、セキュリティーの処理に多くの同じメカニズム (デジタル証明書、暗号化、デジタル署名など) を共有しています。HTTPS および Secure Sockets Layer (SSL) のトランスポート・レベル・テクノロジーは Web サービスの保護に使用できるのに対し、一部のセキュリティー・シナリオには、メッセージ・レベルのセキュリティーを使用して、より効率的に対応できます。

HTTPS などの従来の Web セキュリティー・メカニズムは、すべての Web サービスのシナリオのセキュリティー要件を管理するには十分でない場合があります。例えば、アプリケーションが HTTPS を使用して JAX-RPC による文書を送信する場合、そのメッセージは HTTPS 接続でのみ、つまり、サービス・リクエスター (クライアント) とサービス間の文書の転送中のみ、保護されます。しかし、アプリケーションがその文書データを HTTPS 接続の先まで、さらにトランスポート層の先まで保護されることを要求する場合もあります。メッセージ・レベルで Web サービスを保護することで、メッセージ・レベル・セキュリティーはこのような拡大された要求にも対応できるようになります。

メッセージ・レベル・セキュリティーは、SOAP メッセージとして送信される XML 文書に適用されます。 メッセージ・レベル・セキュリティーでは、必要なすべてのセキュリティー情報をメッセージの SOAP ヘッダーに埋め込むことにより、メッセージ自体のセキュリティー部分を作成します。さらに、メッセージ・レベル・セキュリティーは、暗号化やデジタル署名などのセキュリティー・メカニズムを、メッセージ自体のデータに適用できます。

メッセージ・レベル・セキュリティーを使用することにより、SOAP メッセージ自体がメッセージを保護するために必要な情報を含むか、またはセキュリティー要件を処理するための情報の取得先の情報を含みます。また、SOAP メッセージには、特定のメッセージ・レベルのセキュリティーを処理するためのプロトコルおよびプロシージャーに関連する情報も含まれています。ただし、メッセージ・レベルのセキュリティーは、特定のトランスポート・メカニズムとは結びついていません。 セキュリティー情報がメッセージの一部であるため、これは HTTPS などのトランスポート・プロトコルとは独立しています。

クライアントは、その特定のメッセージに適用される SOAP メッセージ・ヘッダー・セキュリティー情報を増やします。メッセージが受信されると、Web サービス・エンドポイントはヘッダー内のセキュリティー情報を使用して保護されたメッセージを検証し、ポリシーに対してその妥当性検査を行います。例えば、サービス・エンドポイントはメッセージの署名を検証し、そのメッセージが改ざんされていないことを確認します。 SOAP メッセージ内容にバインドされた ID のセキュリティー・トークン (例えば、X.509 証明書) などの他の情報だけではなく、署名および暗号化情報を SOAP メッセージ・ヘッダーに追加することもできます。

WebSphere® Application Server バージョン 6 以降では、Web Services Security はトランスポート・レベルのセキュリティーならびにメッセージ・レベルのセキュリティーとして適用できます。これらのセキュリティー・メカニズムを使用することで、非常にセキュアなクライアントおよびサーバー設計を作成することができます。 トランスポート・レベルのセキュリティーとは、クライアント・アプリケーションと Web サービスの間の接続を Secure Sockets Layer (SSL) を使用して保護することを意味します。

各 Web サービス・アプリケーションの特性に応じて、Web Services Security のさまざまなシナリオを適用できます。Web Services Security の使用時に、情報を保護する方法を選択することができます。認証メカニズム、保全性、および機密性を、メッセージ・レベルとトランスポート・レベルで適用できます。メッセージ・レベルのセキュリティーが適用されると、セキュリティー・トークン、デジタル署名および暗号化で SOAP メッセージを保護することができます。

Web Services Security がなければ、SOAP メッセージは平文で送信され、ユーザー ID やアカウント番号といった個人情報は保護されません。Web Services Security を適用しなければ、SOAP メッセージの SOAP エンベロープの下に SOAP 本体があるだけです。WS-Security 仕様のフィーチャーを適用することで、SOAP 本体が署名されて暗号化されると、SOAP セキュリティー・ヘッダーが SOAP メッセージの SOAP エンベロープの下に挿入されます。

メッセージの保全性や機密性を維持するためには、通常はデジタル署名および暗号化が適用されます。
  • 機密性は、生成されるメッセージに適用する機密性制約を指定します。これには、生成メッセージ内のどのメッセージ・パートを暗号化する必要があるのかを指定し、暗号化済みの Nonce およびタイム・スタンプ・エレメントの付加先のメッセージ・パートを指定することも含まれます。
  • 保全性は、SOAP メッセージにデジタル署名を適用することで提供されます。 機密性は、SOAP メッセージの暗号化によって適用されます。複数のシグニチャーと暗号化がサポートされています。加えて、署名および暗号化の両方が SOAP 本体のような同じパーツに適用することができます。

ユーザー名トークン (<UsernameToken> エレメント) などのさまざまなタイプのセキュリティー・トークンを挿入することにより、認証メカニズムを追加できます。 ユーザー名トークンが Web サービス・サーバーにより受信されると、ユーザー名およびパスワードが抽出され、検証されます。ユーザー名およびパスワードの組み合わせが有効な場合のみ、メッセージはサーバーで受信され処理されます。 ユーザー名トークンを使用することは、認証の実装方法の 1 つにすぎません。 このメカニズムは、基本認証としても知られています。

デジタル署名、暗号化、および基本認証の他の認証形式として ID アサーション、LTPA トークン、Kerberos トークン、およびカスタム・トークンなどがあります。 これらの他の認証形式も、WebSphere Application Server の拡張機能です。これらの認証メカニズムは、認証を実装するためのアセンブリー・ツールを使用して構成することができます。

バージョン 1.1 仕様の Web Services Security への更新により、これらの基本メカニズムに加えて追加の機能を重ねることが可能になりました。一部のバージョン 1.1 メカニズムは、署名確認および暗号化ヘッダーなどの WebSphere Application Server の拡張機能です。WebSphere Application Server によってサポートされているセキュリティー・トークン・プロファイルには、ユーザー名トークン・プロファイル、X.509 トークン・プロファイル、および Kerberos プロファイルがあります。その場合、メッセージが受信されると、Web サービス・エンドポイントはヘッダー内のセキュリティー情報を使用してメッセージに適切なセキュリティー・メカニズムを適用します。例えば、サービス・エンドポイントは SOAP メッセージ内容にバインドされたセキュリティー・トークンなどの他の情報のほかに、署名情報および暗号化情報を SOAP メッセージ・ヘッダーに追加します。 これらの新しいメカニズムはポリシー・セットを使用して実装できます。

WS-SecureConversation は、WebSphere Application Server バージョン 6.1 Feature Pack for Web Services で導入されました。Secure Conversation は、特に 1 つのセッションで複数の SOAP メッセージが転送される場合に、セッション鍵を使用して SOAP メッセージをより効果的に保護します。

その他の強化点は以下のとおりです。
  • Kerberos トークン。これは、認証および以降のメッセージ保護の両方に使用されます。
  • 動的ポリシー。これによりクライアントは、WSDL 要求を介して、または Web Services MetadataExhange (WS-MEX) を使用してプロバイダー・ポリシーを取り出し、Web サービス・クライアントのデプロイメントを容易にすることができます。

トピックのタイプを示すアイコン 概念トピック



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