WebSphere® Application Server バージョン 6 では、Simple Object Access Protocol (SOAP) メッセージ内で保全性、機密性、関連するトークンを使用可能にすると、セキュリティーは保証されません。 Web サービス・セキュリティーを構成すると、その結果がさまざまなアタック・メカニズムに対してぜい弱でないことを確認する検証に積極的に取り組む必要があります。 本項では、Web サービスを保護する際に起こる可能性のあるセキュリティーに関する問題についての情報を提供します。 このセキュリティー問題のリストは完全ではありません。 ご使用の環境に合わせて、ユーザー自身でセキュリティー分析を行う必要があります。
WS-Security 2004 仕様は、Simple Object Access Protocol (SOAP) ヘッダーで XML デジタル・シグニチャーと XML 暗号化を使用する方法を定義します。 このため、ユーザーは他のセキュリティー・メカニズムのコンテキストおよび考えられるエンティティーへの脅威における XML デジタル・シグニチャーと XML 暗号化を理解する必要があります。 XML デジタル・シグニチャーの場合、一般的なデジタル・シグニチャーの使用や、特別な XML デジタル・シグニチャーの使用から起こるすべてのセキュリティーへの影響に気付く必要があります。 デジタル・シグニチャーに基づいてアプリケーションにトラストを構築すると、Public Key Infrastructure (PKI) に基づいて証明書トラスト検証などの他の技術を組み込む必要があります。 XML 暗号化の場合、共通データ項目へのデジタル署名と暗号化の組み合わせが一部の暗号のぜい弱性を生み出すことがあります。 例えば、デジタル署名されたデータを暗号化すると、デジタル・シグニチャーはプレーン・テキストのままになり、アタックが予想されるプレーン・テキストに対してメッセージをぜい弱なままにします。 一般的に、データを暗号化する場合、データ上のダイジェストまたはシグニチャーを暗号化します。 詳しくは、http://www.w3.org/TR/xmlenc-core/#sec-Sign-with-Encryptを参照してください。
トークン置換アタックの可能性があります。 このシナリオでは、デジタル・シグニチャーがセキュリティー・トークンからよく派生する鍵で検証され、メッセージに含まれています。 トークンが置換されると、受信側は置換された鍵に基づいてメッセージを受け入れることがあり、予期しない事態が起こることがあります。 この問題に対する解決策の 1 つは、署名されたデータとともに、セキュリティー・トークン (または署名鍵が派生する固有の識別データ) に署名することです。 一部の状態では、トラステッド権限によって発行されたトークンは署名されます。 これは、保全性の問題ではない場合があります。ただし、アプリケーション・セマンティクスおよび環境は時間とともに変化するため、ベスト・プラクティスはこのアタックを回避することです。 デプロイされた環境に基づいてリスク査定を評価する必要があります。
デジタル・シグニチャーに使用されるトークン識別の認証性または検証が正しくトラストされているかを確認することを推奨します。 X.509 トークンでは特に、この問題は証明書パスの検証および証明書失効リスト (CRL) の使用に関係します。 WebSphere Application Server バージョン 6 の Web サービス・セキュリティーの実装では、証明書は TokenConsumer 要素によって検証されます。WebSphere Application Server は、Java™ CertPath ライブラリーを使用する X.509 証明書のデフォルト実装を提供し、証明書の検証および妥当性検査を行います。 実装では、CRL の明示的な概念はありません。 その代わり、ファイルにのみルート証明書と中間証明書が準備されています。 洗練された解決策として、オンライン CRL データベースまたは Online Certificate Status Protocol (OCSP) を使用して証明書および CRL 検証を行うユーザー自身の TokenConsumer 実装を開発することができます。
UsernameToken のパスワードを保護なしでダウンストリーム・サーバーに送信しないことを推奨します。 パスワードを保護するために、SSL (例えば、HTTPS) などのトランスポート・レベルのセキュリティーを使用したり、Web サービス・セキュリティー内で XML 暗号化を使用することができます。 保護の優先メソッドは、ご使用の環境によって異なります。ただし、アタックに対してぜい弱ではないと確信が持てる特別の環境では、プレーン・テキストでダウンストリーム・サーバーにパスワードを送信することができます。
Web サービスの保護には、XML デジタル・シグニチャーおよび XML 暗号化以外の作業が含まれます。 正しく Web サービスを保護するには、Public Key Infrastructure (PKI) に関する知識を習得する必要があります。 必要なセキュリティーの量は、デプロイされた環境や使用パターンによって異なります。 ただし、Web サービスの保護には一部の基本的なルールやベスト・プラクティスがあります。 PKI に関する資料や Web Services Interoperability Organization (WS-I) Basic Security Profile (BSP) に関する情報を読むことを推奨します。