メッセージセキュリティプロバイダの作成

新しいメッセージセキュリティプロバイダを作成するには、次の手順に従います。既存のプロバイダを設定するには、「メッセージセキュリティプロバイダの設定」で説明する手順に従ってください。

  1. ツリーコンポーネントで、「設定」ノードを開きます。
  2. 「セキュリティ」ノードを開きます。
  3. 「メッセージセキュリティ」ノードを開きます。
  4. 「SOAP」ノードを選択します。
  5. 「プロバイダ」タブを選択します。
  6. 「プロバイダ設定」ページで、「新規」をクリックします。
  7. 「プロバイダ設定の作成」ページの「プロバイダ設定」セクションで、次を入力します。
  8. 「プロバイダ設定の作成」ページの「要求ポリシー」セクションで、必要に応じて、次のオプションの値を入力します。これらのプロパティはオプションですが、指定されない場合、認証はメッセージの要求にまったく適用されません。
  9. これらの設定に対して、WSS プロバイダの認証モジュールによって行われたさまざまなセキュリティポリシーの設定によって生ずるアクションの詳細については、「要求および応答ポリシー設定のアクション」を参照してください。

  10. 「プロバイダ設定の作成」ページの「応答ポリシー」セクションで、必要に応じて、次のオプションの値を入力します。これらのプロパティはオプションですが、指定されない場合、認証はメッセージの応答にまったく適用されません。
  11. これらの設定に対して、WSS プロバイダの認証モジュールによって行われたさまざまなセキュリティポリシーの設定によって生ずるアクションの詳細については、「要求および応答ポリシー設定のアクション」を参照してください。

  12. 「プロパティを追加」ボタンをクリックして、プロパティをさらに追加します。Application Server に同梱されるプロバイダは、次に表示するプロパティをサポートします。ほかのプロバイダが使用されている場合、プロパティおよび有効な値の詳細については、該当するドキュメントを参照してください。
  13. 「了解」をクリックしてこの設定を保存するか、「取消し」をクリックして保存しないで終了します。

同機能を持つ asadmin コマンド: create-message-security-provider

関連項目

要求および応答ポリシー設定のアクション

表 47 は、可能なセキュリティポリシー設定とこの設定に対して WSS プロバイダの認証モジュールが実行するセキュリティ動作の結果のリストと順序を示します。

表 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 要素に置き換えられます。

ポリシーを何も指定しない。

モジュールはセキュリティ処理を一切行いません。

多重署名および暗号化処理を実行するためのルール

対応するフラグが要求および応答ポリシーまたはそのいずれかに設定されている場合、認証プロバイダは多重署名および暗号化処理を実行することができます。マッピングのためのルールは表 48 に示すとおりです。

表 48 マッピングのためのルール 

セキュリティポリシー

モジュールが実行可能なセキュリティ処理

auth-source="content"

多重署名処理を実行できます。

この処理は、設定ファイルで xwss:Sign 要素が示す順序で実行されます。

auth-recipient=
"before-content"

         または

auth-recipient=
"after-content"

多重暗号化処理を実行できます。

この処理は、設定ファイルで xwss:Encrypt 要素が示す順序で実行されます。

auth-source="sender"

auth-recipient=
"before-content"

         または

auth-recipient=
"after-content"

多重暗号化処理は、auth-recipient フラグの設定に従って、UsernameToken の送信とともに、コンテンツの前または後で実行することができます。

暗号化処理は、設定ファイルで xwss:Encrypt 要素が示す順序で実行されます。

auth-source="content"

auth-recipient=
"before-content"

         または

auth-recipient=
"after-content"

多重暗号化処理は、aJuth-recipient フラグの設定に従って、デジタル署名とともに、コンテンツの前または後で実行することができます。

順序のルールは上記と同じです。


著作権表示