Web Services Security X509 Certificate Token Profile

Similar documents
Web Services Security: XCBF Token Profile

Web Services Security XCBF Token Profile

Web Services Security: SOAP Message Security

Web Services Security: SOAP Message Security

Web Services Security Addendum

Metadata for SAML 1.0 Web Browser Profiles

Web Services Secure Conversation Language (WS-SecureConversation)

Metadata for SAML 1.0 Web Browser Profiles

Web Services Security: SOAP Message Security 1.0 (WS-Security 2004) Errata 1.0

XDI Requirements and Use Cases

XACML Profile for Requests for Multiple Resources

Deployment Profile Template Version 1.0 for WS-Reliability 1.1

WS-Federation: Active Requestor Profile

Web Services Security UsernameToken Profile 1.0

Web Services Security X.509 Certificate Token Profile

OpenOffice Specification Sample

WS-SecureConversation v1.0

Web Services Security X.509 Certificate Token Profile 1.1

{Describe the status and stability of the specification here.}

Abstract Code-Signing Profile of the OASIS Digital Signature Services

SSTC Response to Security Analysis of the SAML Single Sign-on Browser/Artifact Profile

OASIS - Artifact naming guidelines

Web Services Trust Language (WS-Trust)

Web Services Security: X.509 Certificate Token Profile

Web Services Security: SOAP Message Security

Web Services Security UsernameToken Profile 1.1

Kerberos SAML Profiles

WS-SecureConversation 1.3

Test Assertions for the SCA Assembly Model Version 1.1 Specification

Hierarchical Resources: Non-XML Resource Use Case

SAML V2.0 Profile for Mandator Credentials

Signature Gateway Profile of the OASIS Digital Signature Service

TestCases for the SCA Assembly Model Version 1.1

Asynchronous Processing Abstract Profile of the OASIS Digital Signature Services Version 1.0

Web Services Security X.509 Certificate Token Profile 1.1

SAML V2.0 Profile for Token Correlation

Test Assertions for the SCA Web Service Binding Version 1.1 Specification

SCA JMS Binding v1.1 TestCases Version 1.0

Category: Standards Track March Extensible Provisioning Protocol (EPP) Transport Over TCP

Use and Interpretation of HTTP Version Numbers

Category: Standards Track September MIB Textual Conventions for Uniform Resource Identifiers (URIs)

Web Services Security SOAP Messages with Attachments (SwA) Profile 1.1

Web Services Security Policy Language (WS-SecurityPolicy)

XACML v3.0 XML Digital Signature Profile Version 1.0

Hierarchical Resource profile of XACML

Test Assertions for the SCA Policy Framework 1.1 Specification

Position Paper: Facets for Content Components

Web Services Security X.509 Certificate Token Profile 1.1

Web Services Security Kerberos Token Profile 1.1

Network Working Group Request for Comments: 3634 Category: Standards Track Comcast Cable J. Bevilacqua N. Davoust YAS Corporation December 2003

Web Services Policy Framework (WS- Policy)

Category: Standards Track September 2003

Network Working Group. November Encoding Long Options in the Dynamic Host Configuration Protocol (DHCPv4)

Web Services Secure Conversation Language (WS-SecureConversation)

Updates: 2710 September 2003 Category: Standards Track. Source Address Selection for the Multicast Listener Discovery (MLD) Protocol

Request for Comments: 2711 Category: Standards Track BBN October 1999

Request for Comments: TIS Labs March Storing Certificates in the Domain Name System (DNS)

Web Services Security: SAML Interop 1 Scenarios

Key Management Interoperability Protocol Crypto Profile Version 1.0

Multi-Server Based Namespace Data Management of Resource Namespace Service

Network Working Group Internet-Draft October 27, 2007 Intended status: Experimental Expires: April 29, 2008

J. Basney, NCSA Category: Experimental October 10, MyProxy Protocol

Using the AMQP Anonymous Terminus for Message Routing Version 1.0

Network Working Group Internet-Draft August 2005 Expires: February 2, Atom Link No Follow draft-snell-atompub-feed-nofollow-03.

J2ME Code-Signing Profile of the OASIS Digital Signature Services

Network Working Group Internet-Draft August 2005 Expires: February 2, Atom Link No Follow draft-snell-atompub-feed-nofollow-00.

SCA JMS Binding Specification v1.1 Test Assertions Version 1.0

Enhanced Client Profile (PAOS-LECP) Solution Proposal for SAML 2.0

WS-SecurityPolicy 1.3

Updates: 2535 November 2003 Category: Standards Track

Service Component Architecture Client and Implementation Model for C++ Test Cases Version 1.1

Web Services Security SOAP Messages with Attachments (SwA) Profile 1.0 Interop 1 Scenarios

E. Lewis ARIN September 23, KEY RR Secure Entry Point Flag draft-ietf-dnsext-keyrr-key-signing-flag-09. Status of this Memo

Network Working Group. Category: Standards Track September 2003

OIO WS-Trust Profile. Version 1.0. IT- & Telestyrelsen October 2009

Network Working Group Request for Comments: Category: Best Current Practice January 2004

Network Working Group. Category: Standards Track February SIEVE Filtering: Spamtest and VirusTest Extensions

OASIS Specification Document Template Usage

KMIP Opaque Managed Object Store Profile Version 1.0

Open Command and Control (OpenC2) Language Specification. Version 0.0.2

Category: Standards Track December 2003

Network Working Group. Intended status: Standards Track Columbia U. Expires: March 5, 2009 September 1, 2008

Category: Standards Track January 1999

Authentication, Authorization and Accounting Requirements for the Session Initiation Protocol

Web Services Security: SOAP Message Security

Expires: February 25, 2004 August 27, Using the NETCONF Configuration Protocol over Secure Shell (SSH) draft-wasserman-netconf-over-ssh-00.

Level of Assurance Authentication Context Profiles for SAML 2.0

Network Working Group Request for Comments: 3397 Category: Standards Track Apple Computer, Inc. November 2002

Intended status: Standards Track August 15, 2008 Expires: February 16, 2009

Network Working Group Request for Comments: 4147 Category: Informational August Proposed Changes to the Format of the IANA IPv6 Registry

Open Cloud Computing Interface Service Level Agreements

SCA-J POJO Component Implementation v1.1 TestCases Version 1.0

SAML V2.0 EAP GSS SSO Profile Version 1.0

XML Security Derived Keys

Steven Newhouse, Microsoft Mario Antonioletti, EPCC August 1, 2011

TestCases for the SCA POJO Component Implementation Specification Version 1.1

Michel Drescher, FLE, Ltd. Standardised Namespaces for XML in GGF (draft 09) N/A

OCCI Compute Resource Templates Profile

TestCases for the SCA Web Service Binding Specification Version 1.1

TestCases for the SCA Web Service Binding Specification Version 1.1

Transcription:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 Web Services Security X509 Certificate Token Profile Working Draft 04, 19th May 2003 Document identifier: WSS-X509-04 Location: http://www.oasis-open.org/committees/documents.php Editors: Phillip Hallam-Baker, VeriSign Chris Kaler, Microsoft Ronald Monzillo, Sun Anthony Nadalin, IBM Contributors: TBD Revise this list to include WSS TC contributors Bob Atkinson, Microsoft Giovanni Della-Libera, Microsoft Satoshi Hada, IBM Phillip Hallam-Baker, VeriSign Maryann Hondo, IBM Chris Kaler, Microsoft Johannes Klein, Microsoft Brian LaMacchia, Microsoft Paul Leach, Microsoft John Manferdelli, Microsoft Hiroshi Maruyama, IBM Anthony Nadalin, IBM Nataraj Nagaratnam, IBM Hemma Prafullchandra, VeriSign John Shewchuk, Microsoft Dan Simon, Microsoft Kent Tamura, IBM Hervey Wilson, Microsoft Abstract: This document describes how to use X509 Certificates with the WS-Security specification. Status: This is an interim draft. Please send comments to the editors. Committee members should send comments on this specification to the wss@lists.oasisopen.org list. Others should subscribe to and send comments to the wsscomment@lists.oasis-open.org list. To subscribe, visit http://lists.oasisopen.org/ob/adm.pl. For information on whether any patents have been disclosed that may be essential to implementing this specification, and any offers of patent licensing terms, please refer to the Intellectual Property Rights section of the Security Services TC web page (http://www.oasis-open.org/who/intellectualproperty.shtml). Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 1 of 12

30 Table of Contents 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 1 Introduction 3 2 Notations and Terminology. 4 2.1 Notational Conventions.. 4 2.2 Namespaces.. 4 2.3 Terminology 4 3 Usage.. 5 3.1 Processing Model. 5 3.2 Attaching Security Tokens 5 3.3 Identifying Certificates 6 3.3.1 Identifying End Entity Certificates by Value. 6 3.3.2 Identifying and Referencing Certificate Chains.. 6 3.3.3 Identifying End Entity Certificates by Reference 7 3.4 Authentication. 7 3.5 Encryption 8 3.6 Error Codes. 8 3.7 Threat Model and Countermeasures 8 4 Acknowledgements 9 5 References..10 Appendix A: Revision History..11 Appendix B: Notices 12 Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 2 of 12

52 53 54 55 56 57 58 59 60 61 62 1 Introduction This specification describes the use of X509 certificates with respect to the WS-Security specification. An X.509 Certificate specifies a binding between a public key and a set of attributes that include a subject name, issuer name, serial number and validity interval. This binding may be subject to subsequent revocation advertised by mechanisms that include issue of CRLs, OCSP tokens or mechanisms that are outside the X.509 framework such as XKMS. An X.509 Certificate may be used to establish the authenticity of a public key used to authenticate a WS-Security enhanced message or to identify the public key under which a WS-Security enhanced message is encrypted. Note that Section 1 is non-normative. Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 3 of 12

63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 2 Notations and Terminology This section specifies the notations, namespaces, and terminology used in this specification. 2.1 Notational Conventions The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119. Namespace URIs (of the general form "some-uri") represent some application-dependent or context-dependent URI as defined in RFC2396. This specification is designed to work with the general SOAP message structure and message processing model, and should be applicable to any version of SOAP. The current SOAP 1.2 namespace URI is used herein to provide detailed examples, but there is no intention to limit the applicability of this specification to a single version of SOAP. Readers are presumed to be familiar with the terms in the Internet Security Glossary. 2.2 Namespaces The XML namespace URIs that MUST be used by implementations of this specification are as follows (note that different elements in this specification are from different namespaces): http://schemas.xmlsoap.org/ws/2002/xx/secext http://schemas.xmlsoap.org/ws/2002/xx/utility The following namespaces are used in this document: Prefix S ds xenc wsse wsu Namespace http://www.w3.org/2001/12/soap-envelope http://www.w3.org/2000/09/xmldsig# http://www.w3.org/2001/04/xmlenc# http://schemas.xmlsoap.org/ws/2002/xx/secext http://schemas.xmlsoap.org/ws/2002/xx/utility 82 83 2.3 Terminology This specification employs the terminology defined in the WS-Security Core Specification. Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 4 of 12

84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 3 Usage This section describes the profile (specific mechanisms and procedures) for the X509 binding of WS-Security. Identification: urn:oasis:names:tc:wss:1.0:profiles:wss-x509-token Contact information: TBD Description: Given below. Updates: None. 3.1 Processing Model The processing model for WS-Security with X509 certificates is no different from that of WS-Security with other token formats as described in WS-Security. 3.2 Attaching Security Tokens X.509 Certificates that are attached as security tokens within a WS-Security enhanced message SHOULD be attached by means of the <wsse:binarysecuritytoken> element. The WS-Security specification indicates that X.509 certificates MAY be described inside of a <ds:keyinfo> element, however, it is RECOMMENDED that they be specified using a <wsse:binarysecuritytoken>. If, however, an implementation needs to use <ds:keyinfo>, it SHOULD place the <ds:keyinfo> element as a child of the <wsse:security> header rather than embedded within the signature. This allows receivers to have a single processing model. The following values are defined for the ValueType attribute of the <wsse:binarysecuritytoken> element. QName wsse:x509v3 wsse:pkcs7 Description X.509 v3 end entity certificate An X.509 certificate chain packaged in a PKCS#7 wrapper 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 The following example illustrates a SOAP message with an X509 Certificate. <S:Envelope xmlns:s=""> <S:Header> <wsse:security xmlns:wsse=""> <wsse:binarysecuritytoken xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext" Id="myToken" ValueType="wsse:X509v3" EncodingType="wsse:Base64Binary"> MIIEZzCCA9CgAwIBAgIQEmtJZc0 </wsse:binarysecuritytoken> </wsse:security> </S:Header> Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 5 of 12

122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 <S:Body> </S:Body> </S:Envelope> 3.3 Identifying Certificates 3.3.1 Identifying End Entity Certificates by Value An attached X.509 certificate that identifies an end entity is attached by means of the wsse:binarysecuritytoken element and referenced by means of a wsse:securitytokenreference element that contains a wsse:keyidentifier element. The wsu:id attribute of the wsse:keyidentifier element references the value of the wsu:id attribute specified in the wsse:binarysecuritytoken. The following example shows a SOAP message that contains an X509v3 Certificate as a binary token: Example TBS <S:Envelope xmlns:s=""> <S:Header> <wsse:security xmlns:wsse=""> <wsse:binarysecuritytoken xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext" Id="myToken" ValueType="wsse:X509v3" EncodingType="wsse:Base64Binary"> MIIEZzCCA9CgAwIBAgIQEmtJZc0 </wsse:binarysecuritytoken> </wsse:security> </S:Header> <S:Body> </S:Body> </S:Envelope> 3.3.2 Identifying and Referencing Certificate Chains An attached X.509 certificate that identifies an end entity is attached by means of the wsse:binarysecuritytoken element and referenced by means of a wsse:securitytokenreference element that contains a wsse:keyidentifier element. The wsu:id attribute of the wsse:keyidentifier element references the value of the wsu:id attribute specified in the wsse:binarysecuritytoken. The wsse:binarysecuritytoken element contains a PKCS#7 SignedData object, with the only significant field being certificates. In particular, the signature and the contents are ignored. If no certificates are present, a zero-length CertPath is assumed. Warning: PKCS#7 does not maintain the order of certificates in a certification path. This means that if a CertPath is converted to PKCS#7 encoded bytes and then converted back, the order of the certificates may change, potentially rendering the CertPath invalid. Users should be aware of this behavior. See [PKCS7] for more information. Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 6 of 12

169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 The following example shows a SOAP message that contains an X509v3 Certificate chain encoded inside a PKCS#7 package: Example TBS <S:Envelope xmlns:s=""> <S:Header> <wsse:security xmlns:wsse=""> <wsse:binarysecuritytoken xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/04/secext" Id="myToken" ValueType="wsse:PKCS7" EncodingType="wsse:Base64Binary"> MIIEZzCCA9CgAwIBAgIQEmtJZc0 </wsse:binarysecuritytoken> </wsse:security> </S:Header> <S:Body> </S:Body> </S:Envelope> 3.3.3 Identifying End Entity Certificates by Reference An X.509 certificate that identifies an end entity that is not attached to the message payload is referenced by means of the Issuer Subject Name and Serial Number using the XML Signature <X509IssuerSerial> element. The following example shows a SOAP message that identifies an X.509v3 end entity certificate by reference to the Issuer and serial number: Example TBS <S:Envelope xmlns:s=""> <S:Header> <wsse:security xmlns:wsse=""> <ds:keyinfo> <X509Data> <X509IssuerSerial> <X509IssuerName>CN=TAMURA Kent, OU=TRL, O=IBM, L=Yamato-shi, ST=Kanagawa, C=JP</X509IssuerName> <X509SerialNumber>12345678</X509SerialNumber> </X509IssuerSerial> <X509SKI>31d97bd7</X509SKI> </X509Data> </ds:keyinfo> </wsse:security> </S:Header> <S:Body> </S:Body> </S:Envelope> 3.4 Authentication When an X.509 certificate is used to specify a signature key, the signature algorithm MUST be a digital signature algorithm. Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 7 of 12

223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 The value of the signature key is the value of the public key specified in the certificate. 3.5 Encryption When an X.509 certificate is used to specify an encryption key, the encryption algorithm MUST be a public key encryption algorithm. The certificate that specifies the encryption key SHOULD be identified by reference since the receiver only requires the use of the certificate to identify the corresponding encryption key and does not require the certificate or the certificate chain to authenticate the public key it holds. The value of the encryption key is the value of the public key specified in the certificate. 3.6 Error Codes When using X509 Certificates the error codes defined in the WS-Security specification MUST be used. If an implementation requires the use of a custom error it is recommended that a sub-code be defined as an extension of one of the codes defined in the WS-Security specification. 3.7 Threat Model and Countermeasures The use of X509 certificates with WS-Security introduces no new threats beyond those identified for WS-Security with other types of security tokens. Message alteration and eavesdropping can be addressed by using the integrity and confidentiality mechanisms described in WS-Security. Replay attacks can be addressed by using message timestamps and caching, as well as other applicationspecific tracking mechanisms. For X.509 certificates ownership is verified by use of keys, man-in-the-middle attacks are generally mitigated. It is strongly RECOMMENDED that all relevant and immutable message data be signed. It should be noted that transport-level security MAY be used to protect the message and the security token. Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 8 of 12

252 253 254 255 256 257 258 259 4 Acknowledgements This specification was developed as a result of joint work of many individuals from the WSS TC including: TBD The input specifications for this document were developed as a result of joint work with many individuals and teams, including: Keith Ballinger, Microsoft, Bob Blakley, IBM, Allen Brown, Microsoft, Joel Farrell, IBM, Mark Hayes, VeriSign, Kelvin Lawrence, IBM, Scott Konersmann, Microsoft, David Melgar, IBM, Dan Simon, Microsoft, Wayne Vicknair, IBM. Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 9 of 12

260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 5 References [DIGSIG] Informational RFC 2828, "Internet Security Glossary," May 2000. [KEYWORDS] S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels," RFC 2119, Harvard University, March 1997 [SOAP] W3C Note, "SOAP: Simple Object Access Protocol 1.1," 08 May 2000. [URI] T. Berners-Lee, R. Fielding, L. Masinter, "Uniform Resource Identifiers (URI): Generic Syntax," RFC 2396, MIT/LCS, U.C. Irvine, Xerox Corporation, August 1998. [WS-Security] TBS point to the OASIS draft [XML-ns] W3C Recommendation, "Namespaces in XML," 14 January 1999. [XML Signature] W3C Recommendation, "XML Signature Syntax and Processing," 12 February 2002. [PKCS7] TBS http://www.rsasecurity.com/rsalabs/pkcs/pkcs-7/index.html [X509] TBS [PKIPATH] TBS ftp://ftp.bull.com/pub/osidirectory/defectresolution/technicalcorrigenda /ApprovedTechnicalCorrigendaToX.509/8%7CX.509-TC1(4th).pdf. Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 10 of 12

278 Appendix A: Revision History Rev Date What 01 18-Sep-02 Initial draft based on input documents and editorial review 03 30-Jan-03 Changes in title 04 19-May-03 Added by reference and pkipath modes of cert identification. Added section 1 introduction, changes to formatting etc. 279 Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 11 of 12

280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 Appendix B: Notices OASIS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on OASIS's procedures with respect to rights in OASIS specifications can be found at the OASIS website. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification, can be obtained from the OASIS Executive Director. OASIS invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to implement this specification. Please address the information to the OASIS Executive Director. Copyright OASIS Open 2002. All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself does not be modified in any way, such as by removing the copyright notice or references to OASIS, except as needed for the purpose of developing OASIS specifications, in which case the procedures for copyrights defined in the OASIS Intellectual Property Rights document must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by OASIS or its successors or assigns. This document and the information contained herein is provided on an AS IS basis and OASIS DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright OASIS Open 2002, 2003. All Rights Reserved. Page 12 of 12