アプリケーション・サーバーにおける Web Services Trust (WS-Trust) および Web Services Secure Conversation (WS-SecureConversation) のサポートによって、セキュリティー・コンテキスト・トークン (SCT) を発行する機能が提供されます。セキュリティー・コンテキスト・トークンへの要求は、セキュリティー・トークン・サービスによって処理されます。
WebSphere Application Server のセキュリティー・トークン・サービスは、トラスト・サービスと呼ばれます。 ただし、IBM WebSphere Application Server バージョン 6.1 Feature Pack for Web Services では、WebSphere Application Server は WS-Trust ドラフト仕様のすべてのコンテンツを実装する完全なセキュリティー・トークン・サービスを提供しません。
セキュア・セッションはセキュアな会話 と呼ばれます。これは、使用されるメッセージ・プロトコルが WS-SecureConversation および WS-Trust により定義されるからです。WebSphere Application Server はセキュアな会話をサポートします。
セキュリティー・コンテキスト・トークンを要求するには、WS-Trust および WS-SecureConversation プロトコルによって定義される RequestSecurityToken (RST) が、セキュアな会話をセットアップしているサービス・エンドポイントに送信されます。 これらの要求はトラスト・サービスに透過的に転送されます。トラスト・サービスは RST を処理し、RequestSecurityTokenResponse (RSTR) を使用して応答します。この応答は、エンドポイント・サービスによって生成されたかのように、要求側に戻されます。
WebSphere Application Server トークン・プロバイダーのサポートは、Security Context Token プロバイダーに限定されています。IBM WebSphere Application Server バージョン 6.1 Feature Pack for Web Services の WS-SecureConversation は、セキュアな会話の開始側通話者と受信側通話者間のセキュリティー・コンテキスト・トークンの設定を中心にしています。
WebSphere Application Server には、クライアントとサーバーならびに、クラスター環境と非クラスター環境の両方におけるセキュリティー・コンテキスト・トークンのキャッシング・サポートが含まれています。 WebSphere Application Server は、発行、取り消し、妥当性検査、および更新の、トラスト・サービス操作の各々について、トラスト・ポリシー・セットの管理も提供します。トラスト・システム・ポリシー・セットは、明示的なサービス・エンドポイントまたはトラスト・サービスのデフォルトに関連して、これらの各トラスト操作について管理できます。トラスト操作のデフォルトのトラスト・サービス・ポリシー・セットは、明示的な接続がない場合に実行されます。
Feature Pack for Web Services でサポートされる WS-Trust 機能については、Web Services Trust に関する情報を参照してください。
セキュリティー・トークンをよりよく理解するために、次の用語が定義されています。
WebSphere Application Server は、通信を行う通話者の 1 人により作成され、メッセージにより伝搬されるセキュリティー・コンテキスト・トークンをサポートしません。
WebSphere Application Server は、ネゴシエーションおよび交換によるセキュリティー・コンテキスト・トークンの作成をサポートしません。信頼性のある通信を行うには、あるセキュリティー・トークンまたは一連のセキュリティー・トークンの認識を示す、署名のような証明がサービスに必要です。 サービスそのものがトークンを生成することも、または別のセキュリティー・トークン・サービスを使用して、固有のトラスト・ステートメントを持つセキュリティー・トークンを発行することもできます。 一部のセキュリティー・トークン・フォーマットでは、トラストの通信が、トラスト・ブローカリングの基礎を形成する単なる再発行または共同署名の場合があることに気をつけてください。
セキュリティー・コンテキストは、通信セッションの存続時間の間、通信を行う通話者間で共有されます。セキュリティー・コンテキスト・トークンは、この抽象セキュリティー・コンテキストのワイヤー表現です。
http://schemas.xmlsoap.org/ws/2005/02/sc/sct
<wsc:SecurityContextToken> エレメントの構文は以下のようになります。
<wsc:SecurityContextToken wsu:Id="..." ...> <wsc:Identifier>...</wsc:Identifier> <wsc:Instance>...</wsc:Instance> ... </wsc:SecurityContextToken>
セキュリティー・コンテキスト・トークンは、鍵 ID や鍵名を使用した、そのセキュリティー・コンテキスト・トークンへの参照をサポートしていません。 すべての参照は wsu:Id 属性の ID を使用するか、またはセキュリティー・コンテキスト・トークン内の <wsc:Identifier> エレメントへの URI 参照、<wsse:Reference> を使用します。
この例は、セキュリティー・トークンを発行する RST 要求を示しています。この例で使用されている URI http://schemas.xmlsoap.org/ws/2005/02/sc/sct は、トークン・タイプを表します。
<wsc:SecurityContextToken> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <soapenv:Header> <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/ 2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1"> <wsse:UsernameToken><wsse:Username>user1</wsse:Username> <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-username-token-profile-1.0#PasswordText">security </wsse:Password> </wsse:UsernameToken> </wsse:Security> <wsa:To>http://localhost:8080/WSSample/services/EchoService </wsa:To> <wsa:ReplyTo> <wsa:Address>http://www.w3.org/2005/08/addressing/anonymous </wsa:Address> </wsa:ReplyTo> <wsa:MessageID>urn:uuid:646268CB30A01B89D811537688997954 </wsa:MessageID> <wsa:Action>http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT </wsa:Action> </soapenv:Header> <soapenv:Body> <wst:RequestSecurityToken Context="http://www.ibm.com/login/"> <wst:RequestType>http://schemas.xmlsoap.org/ws/2005/02/trust/Issue</wst:RequestType> <wst:TokenType>http://schemas.xmlsoap.org/ws/2005/02/sc/sct</wst:TokenType> <wst:Entropy> <wst:BinarySecret>swYVsjsi75fB+RksmDdWKQ==</wst:BinarySecret> </wst:Entropy> <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <wsa:EndpointReference> <wsa:Address>WSSample/services/EchoService</wsa:Address> </wsa:EndpointReference> </wsp:AppliesTo> </wst:RequestSecurityToken> </soapenv:Body> </soapenv:Envelope>
次の例は、セキュリティー・トークンを発行する RSTR 要求を示しています。
<soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <wsa:Action xmlns:wsa="http://www.w3.org/2005/08/addressing"> http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT </wsa:Action> <wsa:RelatesTo> 97fd1ce790c257f0:1ea9f29c:1129642ebe1:-7fff </wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <wst:RequestSecurityTokenResponse xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" Context="http://www.ibm.com/login/"> <wst:RequestedSecurityToken xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wsc:SecurityContextToken xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="uuid:617A2281DAD3C3EC211179342073467"> <wsc:Identifier xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc"> uuid:617A2281DAD3C3EC211179342073466 </wsc:Identifier> <wsc:Instance xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc"> uuid:617A2281DAD3C3EC211179342073465 </wsc:Instance> </wsc:SecurityContextToken> </wst:RequestedSecurityToken> <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"> <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Address xmlns:wsa="http://www.w3.org/2005/08/addressing"> http://localhost:9080/WSSampleSei/EchoService </wsa:Address> </wsa:EndpointReference> </wsp:AppliesTo> <wst:RequestedProofToken xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wst:ComputedKey xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> http://schemas.xmlsoap.org/ws/2005/02/trust/CK/PSHA1 </wst:ComputedKey> </wst:RequestedProofToken> <wst:Entropy xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wst:BinarySecret xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" Type="http://schemas.xmlsoap.org/ws/2005/02/trust/Nonce"> 0oK29up5fifaCkPiSX3GZg== </wst:BinarySecret> </wst:Entropy> <wst:Lifetime xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd"> 2007-05-16T19:01:12.625Z </wsu:Created> <wsu:Expires xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd"> 2007-05- 16T21:01:12.625Z </wsu:Expires> </wst:Lifetime> <wst:RequestedAttachedReference xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:Reference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-secext-1.0.xsd" URI="#uuid:617A2281DAD3C3EC211179342073467" ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct"> </wsse:Reference> </wsse:SecurityTokenReference> </wst:RequestedAttachedReference> <wst:RequestedUnattachedReference xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-secext-1.0.xsd" <wsse:Reference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-secext-1.0.xsd" URI="uuid:617A2281DAD3C3EC211179342073466" ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct"> </wsse:Reference> </wsse:SecurityTokenReference> </wst:RequestedUnattachedReference> <wst:Renewing xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" Allow="true" OK="false"> </wst:Renewing> <wst:KeySize xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> 128 </wst:KeySize> </wst:RequestSecurityTokenResponse> </soapenv:Body> </soapenv:Envelope>
次の例は、セキュリティー・トークンを取り消す RST 要求を示しています。
<soapenv:Envelope xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <wsa:To> http://newchina.austin.ibm.com:9080/WSSecConvApis03/FVTVersionSecConvApis03Service </wsa:To> <wsa:MessageID> f20b218a24bf43df:-57ea847:112b47ead6d:-7ffc </wsa:MessageID> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Cancel </wsa:Action> </soapenv:Header> <soapenv:Body> <wst:RequestSecurityToken xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" Context="http://www.ibm.com/login/"> <wst:RequestType xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> http://schemas.xmlsoap.org/ws/2005/02/trust/Cancel </wst:RequestType> <wst:CancelTarget xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wsc:SecurityContextToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:Id="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc" Id:Id="uuid:3FF175272DA6F83A291179849257996"> <wsc:Identifier xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc"> uuid:3FF175272DA6F83A291179849257985 </wsc:Identifier> <wsc:Instance xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc"> uuid:3FF175272DA6F83A291179849257984 </wsc:Instance> </wsc:SecurityContextToken> </wst:CancelTarget> <wst:TokenType xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> http://schemas.xmlsoap.org/ws/2005/02/sc/sct </wst:TokenType> <wsp:AppliesTo xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"> <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing"> <wsa:Address xmlns:wsa="http://www.w3.org/2005/08/addressing"> http://newchina.austin.ibm.com:9080/WSSecConvApis03 /FVTVersionSecConvApis03Service </wsa:Address> </wsa:EndpointReference> </wsp:AppliesTo> <wst:Entropy xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wst:BinarySecret xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust" Type="http://schemas.xmlsoap.org/ws/2005/02/trust/Nonce"> Tv6pDe6Or3grjd7t+GGCZg== </wst:BinarySecret> </wst:Entropy> <wst:KeySize xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> 128 </wst:KeySize> </wst:RequestSecurityToken> </soapenv:Body> </soapenv:Envelope>
次の例は、セキュリティー・トークンを取り消す RSTR 要求を示しています。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Cancel </wsa:Action> <wsa:RelatesTo> f20b218a24bf43df:-57ea847:112b47ead6d:-7ffc </wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <RequestSecurityTokenResponse Context="http://www.ibm.com/login/"> <wst:RequestedTokenCancelled xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> </wst:RequestedTokenCancelled> </RequestSecurityTokenResponse> </soapenv:Body> </soapenv:Envelope>
次の例は、セキュリティー・トークンを更新する RST 要求を示しています。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:To> http://synctest.austin.ibm.com:9080/WSTrust03/FVTVersionTrust03Service </wsa:To> <wsa:MessageID> urn:uuid:85f87aad1772f485:-5f8ede69:112bbe15ec7:-7ffd </wsa:MessageID> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/02/trust/RST/SCT/Renew </wsa:Action> </soapenv:Header> <soapenv:Body> <wst:RequestSecurityToken Context="http://www.ibm.com/login/" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wst:RequestType> http://schemas.xmlsoap.org/ws/2005/02/trust/Renew </wst:RequestType> <wst:RenewTarget> <wsc:SecurityContextToken Id:Id="uuid:C4E1EB7F485526962E1179973151233" xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc" xmlns:Id="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsc:Identifier> uuid:C4E1EB7F485526962E1179973151216 </wsc:Identifier> <wsc:Instance> uuid:C4E1EB7F485526962E1179973151215 </wsc:Instance> </wsc:SecurityContextToken> </wst:RenewTarget> <wst:TokenType> http://schemas.xmlsoap.org/ws/2005/02/sc/sct </wst:TokenType> </wst:RequestSecurityToken> </soapenv:Body> </soapenv:Envelope>
次の例は、セキュリティー・トークンを更新する RSTR 要求を示しています。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/SCT/Renew </wsa:Action> <wsa:RelatesTo> urn:uuid:85f87aad1772f485:-5f8ede69:112bbe15ec7:-7ffd </wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <wst:RequestSecurityTokenResponse Context="http://www.ibm.com/login/" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wst:RequestedSecurityToken> <wsc:SecurityContextToken wsu:Id="uuid:C4E1EB7F485526962E1179974951825" xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsc:Identifier> uuid:C4E1EB7F485526962E1179973151216 </wsc:Identifier> <wsc:Instance> uuid:C4E1EB7F485526962E1179974951824 </wsc:Instance> </wsc:SecurityContextToken> </wst:RequestedSecurityToken> <wst:Entropy> <wst:BinarySecret> zGIWpvaUZ55+W11GroEWHA== </wst:BinarySecret> </wst:Entropy> <wst:Lifetime> <wsu:Created xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd"> 2007-05-24T02:49:10.187Z </wsu:Created> <wsu:Expires xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd"> 2007-05-24T02:59:10.187Z </wsu:Expires> </wst:Lifetime> <wst:RequestedAttachedReference> <wsse:SecurityTokenReference xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-secext-1.0.xsd"> <wsse:Reference URI="#uuid:C4E1EB7F485526962E1179974951825" ValueType="http://schemas.xmlsoap.org/ws/2005/02/sc/sct"> </wsse:Reference> </wsse:SecurityTokenReference> </wst:RequestedAttachedReference> <wst:Renewing Allow="true" OK="true"></wst:Renewing> </wst:RequestSecurityTokenResponse> </soapenv:Body> </soapenv:Envelope>
次の例は、セキュリティー・トークンの妥当性検査をするための RST 要求を示しています。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:To> http://synctest.austin.ibm.com:9080/WSTrust03/FVTVersionTrust03Service </wsa:To> <wsa:MessageID> urn:uuid:85f87aad1772f485:-5f8ede69:112bbe15ec7:-7fff </wsa:MessageID> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Validate </wsa:Action> </soapenv:Header> <soapenv:Body> <wst:RequestSecurityToken Context="http://www.ibm.com/login/" xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wst:RequestType> http://schemas.xmlsoap.org/ws/2005/02/trust/Validate </wst:RequestType> <wst:ValidateTarget> <wsc:SecurityContextToken Id:Id="uuid:C4E1EB7F485526962E1179973151233" xmlns:wsc="http://schemas.xmlsoap.org/ws/2005/02/sc" xmlns:Id="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/ oasis-200401-wss-wssecurity-utility-1.0.xsd"> <wsc:Identifier> uuid:C4E1EB7F485526962E1179973151216 </wsc:Identifier> <wsc:Instance> uuid:C4E1EB7F485526962E1179973151215 </wsc:Instance> </wsc:SecurityContextToken> </wst:ValidateTarget> <wst:TokenType> http://schemas.xmlsoap.org/ws/2005/02/sc/sct </wst:TokenType> </wst:RequestSecurityToken> </soapenv:Body> </soapenv:Envelope>
次の例は、セキュリティー・トークンの妥当性検査をするための RSTR 要求を示しています。
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing"> <soapenv:Header> <wsa:Action> http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Validate </wsa:Action> <wsa:RelatesTo> urn:uuid:85f87aad1772f485:-5f8ede69:112bbe15ec7:-7fff </wsa:RelatesTo> </soapenv:Header> <soapenv:Body> <RequestSecurityTokenResponse Context="http://www.ibm.com/login/"> <wst:Status xmlns:wst="http://schemas.xmlsoap.org/ws/2005/02/trust"> <wst:Code> http://schemas.xmlsoap.org/ws/2005/02/trust/status/valid </wst:Code> </wst:Status> </RequestSecurityTokenResponse> </soapenv:Body> </soapenv:Envelope>
セキュリティー・コンテキスト・トークンの設定を説明する 2 つのシナリオ例を検討してください。