メッセージセキュリティの責任は、次のように割り当てます。
アプリケーション開発者はメッセージセキュリティを有効にできますが、そうする責任はありません。メッセージセキュリティは、すべての Web サービスがセキュリティ保護されるようにシステム管理者によって設定されるか、または Application Server プロバイダの設定が不十分なときにアプリケーション配備担当者によって設定されます。
アプリケーション開発者またはプログラマは次の責任を負います。
アプリケーション配備担当者は次の責任を負います。
これらのセキュリティタスクについては、『Developers' Guide』の「Securing Applications」の章で説明されています。この章へのリンクについては、「詳細情報」を参照してください。
システム管理者は次の責任を負います。
システム管理者は、管理コンソールを使用してサーバーセキュリティの設定を管理し、keytool
を使用して証明書を管理します。このマニュアルは主にシステム管理者を対象にしています。メッセージセキュリティのタスクの概要については、「メッセージセキュリティのための Application Server の設定」を参照してください。
WSS は、SOAP メッセージをセキュリティ保護するために、XML デジタル署名、XML 暗号化、およびユーザー名とパスワードトークンのバインドを定義します。Application Server 内の WSS は、Application Server に配備された Web サービスを含む Web サービスの呼び出しをセキュリティ保護するために WSS を使用する方法を定義します。
WSS 仕様は、セキュリティトークンを SOAP メッセージに関連付ける拡張可能なメカニズムを提供します。WSS 仕様自体は、さまざまなタイプのセキュリティトークンの形式を定義していません。その代わり、一連のセキュリティトークンのプロファイルドキュメントが発行されているか、または発行の途中の段階にあります。これらの各プロファイルドキュメントは、デジタル署名または暗号化を使用して SOAP メッセージをセキュリティ保護するために、特定のタイプのセキュリティトークン (たとえば、X.509) の使用を定義します。
ユーザー名トークン検証は、ユーザー名トークンをメッセージとともに送信するプロセスを指定します。受信者は、送信者が送信するデジタル署名を検証することにより、送信者の ID を確認します。デジタル署名は、セキュリティトークン (たとえば、ユーザー名トークンまたは X.509 証明書トークン) を内部的に参照して、署名に使用する鍵を指定します。これらのトークンをメッセージに付属して送信することにより、トークンの ID (およびセキュリティトークンで発生するその他の要求) をメッセージにバインドします。これらのセキュリティトークンの詳細については、「詳細情報」を参照してください。
メッセージレイヤセキュリティのサポートは、プラグイン可能な認証モジュールの形式で Application Server とそのクライアントコンテナに統合されています。Application Server では、メッセージレイヤセキュリティはデフォルトで無効になっています。メッセージレイヤセキュリティを設定するには、「メッセージセキュリティのための Application Server の設定」に要約されている手順に従ってください。
Application Server は、ユーザー名トークンを使用してユーザー名とパスワードを配信し、Web サービスの呼び出しでピアを認証します。通常、ユーザー名トークンはデジタル署名の代わりに使用されます。デジタル署名は、認証 ID をメッセージのコンテンツにバインドするために使用されます。ユーザー名トークンは、認証 ID をメッセージの送信者にバインドするために使用されます。
ユーザー名トークンを使用する場合、有効なユーザーデータベースを Application Server 上に設定する必要があります。このトピックの詳細については、「レルムの編集」を参照してください。
Application Server は、XML デジタル署名を使用して、メッセージコンテンツのソースを認証します。デジタル署名は認証メカニズムです。クライアントはデジタル署名を使用して、呼び出し元 ID を確立します。この方法は、トランスポートレイヤセキュリティが使用されている場合に、基本認証または SSL クライアント証明書認証が同じ目的で使用される方法に類似しています。デジタル署名は、署名後にメッセージが改ざんされていないことを受信者が確認でき、したがって、署名者がメッセージを送信しなかった場合でも、 署名者がコンテンツを定義したことを確認できるようにするために使用されます。
デジタル署名を使用する場合、有効なキーストアおよびトラストストアファイルを Application Server 上に設定する必要があります。このトピックの詳細については、「証明書ファイルについて」を参照してください。
暗号化の目的は、対象読者だけが理解できるようにデータを変更することです。これは、元のコンテンツを暗号化された要素に置き換えることにより行われます。公開鍵暗号方式に関して言えば、暗号化はメッセージを読み取ることができる関係者の ID を確立するために使用されます。
暗号化を使用する場合は、暗号化をサポートする JCE プロバイダがインストールされている必要があります。このトピックの詳細については、「JCE プロバイダの設定」を参照してください。
Application Server は WSS Soap Message Security の仕様に準拠しています。この仕様は次の URL から参照することができます。http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf
この仕様は、Application Server の基礎となる Web Services Security の実装に使用されます。
このマニュアルで使用されている用語の一部は WSS 仕様で説明され、以下に要約されています。また、コンセプトについては、「メッセージセキュリティのための Application Server の設定」で説明されています。
認証レイヤとは、認証処理を実行する必要のあるメッセージレイヤです。
Sun Java Systems Application Server の今回のリリースでは、Application Server は認証プロバイダを呼び出して、SOAP メッセージレイヤのセキュリティを処理します。
デフォルトサーバープロバイダは、特定のサーバープロバイダがバインドされていない任意のアプリケーションに対して呼び出されるサーバープロバイダを識別するために使用されます。
デフォルトクライアントプロバイダは、特定のクライアントプロバイダがバインドされていない任意のアプリケーションに対して呼び出されるクライアントプロバイダを識別するために使用されます。
要求ポリシーは、認証プロバイダが実行する要求処理に関連付けられた認証ポリシー要件を定義します。ポリシーはメッセージ送信者の順序で送信されます。この順序には、メッセージ受信者が復号化を行ってから署名を検証するという想定を示すコンテンツの後で暗号化するという要件があります。
要求ポリシーの詳細については、「要求および応答ポリシー設定のアクション」を参照してください。
応答ポリシーは、認証プロバイダが実行する応答処理に関連付けられた認証ポリシー要件を定義します。ポリシーはメッセージ送信者の順序で送信されます。この順序には、メッセージ受信者が復号化を行ってから署名を検証するという想定を示すコンテンツの後で暗号化するという要件があります。
メッセージセキュリティを実現するには、サーバーとクライアントの両方で要求ポリシーと応答ポリシーが有効化されている必要があります。これらのポリシーは、使用する認証ポリシーのタイプに基づいて設定されます。クライアントおよびサーバーのポリシーを設定する場合は、クライアントポリシーがアプリケーションレベルのメッセージのバインドで要求および応答保護のサーバーポリシーと一致する必要があります。
開発者は、Sun 固有のアプリケーション配備記述子でメッセージセキュリティのバインドを定義することにより、デフォルトのオーバーライドとは相反するアプリケーション固有の保護ポリシーを定義することができます。このトピックの詳細については、『Developers' Guide』の「Securing Applications」の章を参照してください。「詳細情報」に、この章へのリンクが掲載されています。
応答ポリシーの詳細については、「要求および応答ポリシー設定のアクション」を参照してください。
対応するフラグが要求および応答ポリシーまたはそのいずれかに設定されている場合、認証プロバイダは多重署名/暗号化処理を実行することができます。マッピングのためのルールは、表 48 に示すとおりです。
関連項目