表 47 セキュリティポリシー設定と WSS プロバイダの認証モジュールが実行する基本的な対応アクション
セキュリティポリシー設定
|
WSS プロバイダの認証モジュールが実行する一連のセキュリティ処理と順序
|
auth-source="sender"
|
[1.1] クライアントモジュールが SOAP 要求の wsse:Security ヘッダーの wsse:UsernameToken を送信します。クライアントセキュリティ設定ファイルは、トークンのプロパティを含む xwss:UsernameAndPassword 要素が入れ子にされたxwss:Authenticate 要素を持つ必要があります。ユーザー名とパスワードは、実行時に javax.security.auth.NameCallback および javax.security.auth.PasswordCallback を介して ClientSecurityAuthModule により取得されます。セキュリティ設定ファイルの値は無視されます。
[1.2] サーバーモジュールは、要求内の wsse:UsernameToken を想定します。サーバーセキュリティ設定ファイルは、トークン固有のサーバー要件を指定する xwss:requireAuthentication 要素を持つ必要があります。xwss:requireAuthentication のすべての値は false である必要があります。
|
auth-source="content"
|
[2.1] クライアントモジュールは、SOAP 要求とともにデジタル署名を送信します。クライアントサイドのセキュリティ設定ファイルは、その中に署名に使用されるクライアント証明書のエイリアス (senderCertificateAlias を使用して指定) を含む xwss:Sign 要素を持つ必要があります。要求の SOAP 本体が署名されます。使用する鍵参照メカニズムは DirectReference です。単一の ds:Signature 要素が wsse:Security ヘッダーに見られます。
[2.2] サーバーモジュールはクライアントの署名付き要求を想定します。サーバーセキュリティ設定ファイルは、入れ子にされたターゲット要素を介して署名のターゲット (SOAP 本体である必要がある) を指定する xwss:requireSignature 要素を持つ必要があります。また、クライアントがメッセージを署名するために使用するトークンを保持する鍵が署名に含まれていない場合は、signTokenRequired 属性 (値は false である必要がある) を含める必要があります。鍵参照メカニズムは、クライアントセキュリティ設定で指定した値と一致する必要があります。デフォルトの値は Direct (DirectReference ) です。単一の ds:Signature 要素が wsse:Security ヘッダーにあると想定されます。
|
auth-source="sender"
auth-recipient= "before-content"
|
[3.1] 最初にクライアントモジュールが要求の SOAP 本体を暗号化し、次に wsse:Security ヘッダーの UsernameToken を送信します。これらの処理の結果、wsse:Security ヘッダーに、wsse:UsernameToken が含まれ、その後に xenc:EncryptedKey が続きます。SOAP 本体のコンテンツが xenc:EncryptedData に置き換えられます。
クライアントサイドのセキュリティ設定ファイルは、トークンのプロパティを含む入れ子にされた xwss :UsernameAndPassword 要素と本体の暗号化に使用する対称キーを暗号化する receiverCertificateAlias を使用して指定された受信者の証明書エイリアスを含む xwss :Encrypt 要素を持つ <xwss:Authenticate> を持つ必要があります。[1.1] を参照してください
[3.2] サーバーモジュールは、wsse :Security ヘッダーと暗号化されたメッセージ本体 (後で復号化される) 内に wsse :UsernameToken (最初にソースを認証する) があると想定します。サーバーセキュリティ設定ファイルは、トークン固有のサーバー要件を指定する xwss :requireAuthentication と入れ子にされたターゲット要素 (SOAP 本体である必要がある) を介して暗号化のターゲットを指定する xwss :requireEncryption 要素を持つ必要があります。encryptContentRequired 属性は、SOAP 本体のコンテンツが暗号化されなければならないことを意味する true である必要があります。想定する鍵参照タイプのメカニズムは Direct (DirectReference ) です。
|
auth-source="sender"
auth-recipient= "after-content"
|
[3.1] と [3.2] を参照してください
処理の実行順序が逆になります。まずトークンがエクスポートされ、次にメッセージの本体が暗号化されます。サーバーセキュリティモジュールは、まず暗号化を実行し、次にメッセージの送信者を認証します。
SOAP 要求は、wsse :Security ヘッダー内にxenc :EncryptedKey が含まれ、その後に wsse :UsernameToken が続く必要があります。SOAP 本体のコンテンツが xenc :EncryptedData 要素に置き換えられます。
|
auth-source="content"
auth-recipient= "before-content"
|
[5.1] クライアントモジュールは、最初に要求の SOAP 本体を暗号化し、次に暗号化された本体を署名します。この処理の結果、wsse :Security ヘッダーの最上部に ds :Signature 要素が含まれ、その後に xenc :EncryptedKey が続きます。SOAP 本体のコンテンツが xenc :EncryptedData 要素に置き換えられます。
[5.2] サーバーモジュールは、暗号化されたメッセージ本体 (後で復号化される) を持つ署名付きメッセージ (最初に署名検証が実行される) を想定します。
|
auth-source="content"
auth-recipient= "after-content"
|
[5.1] と [5.2] を参照してください
処理の実行順序が逆になります。メッセージの本体が最初に署名され、次に暗号化されます。サーバーセキュリティモジュールは、まず復号化 (受信者認証) を実行し、次にソース認証を実行します。
SOAP 要求は、wsse :Security ヘッダー内にxenc:EncryptedKey が含まれ、その後に ds :Signature が続く必要があります。SOAP 本体のコンテンツが xenc :EncryptedData 要素に置き換えられます。
|
auth-recipient= "before-content"
または
auth-recipient= "after-content"
|
[7] SOAP 要求 (メッセージの本体) が暗号化されます。xenc :EncryptedKey が、wsse :Security ヘッダーに見られます。SOAP 本体のコンテンツが xenc :EncryptedData 要素に置き換えられます。
|
ポリシーを何も指定しない。
|
モジュールはセキュリティ処理を一切行いません。
|