Network Working Group                                            M. King
INTERNET-DRAFT                                                   M. Tebo
Intended Status: Proposed Standard                              W. Brown
Expires: June 2012                                             D. Silver
                                                               C. Louden
                                           Protiviti Government Services
                                                            P. Patterson
                                      Carillon Information Security Inc.
                                                       December 27, 2011



                 claimSigning Extended Key Usage (EKU)
                  draft-king-pkix-claimsigning-extn-03



Abstract

   This document specifies an Extended Key Usage (EKU) value which
   indicates that the certificate holder is authorized to sign security
   tokens to assert claims, or attributes, about a subject.

   When a certificate that asserts the claimSigning EKU signs a claim,
   the owner of the service holding that certificate is asserting that a
   statement about the subject is true. For example, a IdP secure token
   service (STS) would use an X.509 certificate containing the
   claimSigning EKU to sign SAML assertions containing an identifier and
   attributes about a user. This EKU value would allow for a separation
   between the designation that a given Identity belongs within a given
   Federation, and the empowerment of that entity within the federation
   to sign claims..  This approach allows for greater flexibility for
   the operators of Federated systems and for Certification Authorities
   and avoids the overloading of other, already established methods
   (such as Assurance Level designation via certificatePolicy OID).


Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months



King, et al.             Expires June 27, 2012                  [Page 1]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on June 27, 2012.

Copyright and License Notice

   Copyright (c) <year> IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document. Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.1  Terminology . . . . . . . . . . . . . . . . . . . . . . . .  3
     1.2  claimSigning Use Cases  . . . . . . . . . . . . . . . . . .  4
     1.3  Approach  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   2.  Abstract Syntax Notation . . . . . . . . . . . . . . . . . . .  7
   3.  claimSigning Extended Key Usage Value  . . . . . . . . . . . .  7
   4.  Using the claimSinging EKU in a Certificate  . . . . . . . . .  8
   5.  Implications for a Certification Authority . . . . . . . . . .  8
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
   8.  Copyright Notice . . . . . . . . . . . . . . . . . . . . . . . 10
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 10
     9.1  Normative References  . . . . . . . . . . . . . . . . . . . 10
     9.2  Informative References  . . . . . . . . . . . . . . . . . . 11
   Appendix A - ASN.1 Structures and OIDs . . . . . . . . . . . . . . 12
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12





King, et al.             Expires June 27, 2012                  [Page 2]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


1  Introduction

   A Claim Signer is software or a service (i.e., a device) that
   packages and digitally signs statements about particular subjects
   (i.e., claims) in the form of security tokens.  Claim Signing
   services are used in a number of applications.  Examples of these
   services include Backend Attribute Exchange (BAE), SAML and other
   assertion protocols. Examples of the types of tokens being signed
   include Attribute Certificates and SAML Assertions.

   The Claim Signer conveys that it is certified to issue claims by
   using a certificate that asserts the claimSigning Extended Key Usage
   (EKU) X.509 certificate extension.  The presence of the claimSigning
   EKU simply indicates that the certificate is to be used for the
   purpose of signing claims (just as a certificate that asserts
   certSigning key usage indicates that the certificate is intended to
   be used for signing Identity Certificates). Today it is common
   practice to accept Certificates which contain the server auth
   Extended Key Usage, since the server frequently also supports TLS and
   they are reusing the same certificate. However since these
   certificates are so pervasive it means server auth does not clearly
   differentiate a service on a server which is permitted to sign
   claims. This approach supports Federated environments provides the
   ability to decouple Identity Assurance from the permission to issue
   claims and allows for a greater amount of flexibility, both for the
   operators of Federated systems, and for Certification Authorities

   This document defines an extended key usage (EKU) value [PROFILE] for
   specifying the applicability of a certificate to be used with a Claim
   Signing service.  As such, in addition to providing rules for
   processing certificates that assert the claimSigning EKU Object
   Identifier (OID), this memo also provides guidance to issuers of
   certificates for use with Claim Signing.



1.1  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [KEYWORDS].

   Additionally, the following terms are defined:

   A Claim is a statement about a particular subject. Statements may
   include values that represent identity, attributes, keys, or other
   identifiers that are related to a particular subject. While X.509
   certificatessigned by CAs when issuing user and device identity or



King, et al.             Expires June 27, 2012                  [Page 3]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


   subordinate CA certificates contain claims, there are already good
   methods in place to indicate that the Certificate holder is permitted
   to sign X.509 Identity Certificates, since those cases are covered by
     key usage bits (namely keyCertSign and basicConstraints). However,
   there currently lacks a clear method to indicate that the holder of a
   given certificate is permitted to sign other types of claims.

   A Signed Claim is a digitally signed claim about a particular subject
     where the signer is vouching for the veracity of the claim.

   A Claim Signer is software or a service (i.e. a device) that packages
   and digitally   signs claims in the form of security tokens.  The
   claim signer   conveys the authority to assert the veracity of signed
   claims by using a certificate    that asserts the claimSigning EKU.

   An Identity Provider (IdP) is a particular type of Claim Signer that
    signs one or more claims containing an assertion of identity, and
   possibly includes further attributes as claims that may be used by
   the consumer of that set of claims to make an authorization decision.


1.2  claimSigning Use Cases

   Two use cases are presented below to further describe how the
   claimSigning EKU is expected to be used.

   Federated Single Sign On Use Case

       1.  A Relying Party (RP) relies on SAML Assertions from an
       Identity Provider (IdP) to grant access to a protected resource.

       2.  The IdP authenticates the user and generates a SAML Assertion
       containing claims (email address, first-name, etc.) about the end
       user.

       3.  The IdP digitally signs the SAML Assertion using an X.509
       certificate that contains the claimSigning EKU and sends the
       Assertion to the RP.

       4.  As part of the signature validation process the RP checks
       that the certificate used to sign the assertion contains the
       claim signing EKU.

         NOTE: For this use case that most CAs issuing certificates to
         servers include serverAuth (and sometimes clientAuth) in the
         device certificate.  According to the rules for processing
         certificates that are in [PROFILE], an RP implementing a strict
         interpretation of [PROFILE] would reject the assertion, since



King, et al.             Expires June 27, 2012                  [Page 4]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


         the signing of SAML assertions is not an Authentication of the
         server (rather it is a signing "intent" operation).  In other
         words, an RP that sees clientAuth or serverAuth but not the
         claimSigning EKU on a SAML assertion will fail to validate the
         signature.

   Attribute Authority use case:

       1. An Attribute Authority (AA) is issued a certificate containing
       the claimSigning EKU.

       2. The AA then issues attribute certificates, which contain
       claims (clearance level, professional certifications, etc.) about
       a security principle

       3. An attribute certificate is then presented to an RP to convey
       this claim information

       4. As part of the signature validation process the RP verifies
       that the AA's certificate contains the claimSigning EKU.

       5. If the EKU is present and the signature validates, the RP then
       knows the AA is authorized to sign Attribute Certificates.

         NOTE: This is similar to the certSigning key usage bit, which
         is used to identify the certificate issued to a CA that is to
         be used for signing Identity Certificates.


1.3  Approach


   The value of using an Extended Key Usage value, instead of other
   methods for identifying that a given device is authorized to sign
   claims is that this allows for a separation between the designation
   that a given Identity belongs within a given Federation, and the
   empowerment of that entity within the federation to sign claims.
   Other methods (such as using a certificatePolicy OID value as a de
   facto key usage flag) suffer from the need to then have a dedicated
   policy OID for each and every assurance level possible within the
   federation. This is compounded by the inability to separate the
   identity binding and key protection aspects of normal
   certificatePolicy OID identified assurance levels, from the
   federation membership, attribute assurance, and Identity Provider /
   Attribute Authority operating rules that apply to that particular
   claim signer. Overloading other, already established methods (such as
   Assurance Level designation via certificatePolicy OID) would lead to
   an unnecessary tangling of the Certificate Policy used by the issuing



King, et al.             Expires June 27, 2012                  [Page 5]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


   Certification Authority, and the Operating Rules established by the
   Federation Trust Framework Provider.

   Consider the following:

     An Identity Provider has been proofed to a very high level, and
     their keys are stored in hardware, thus fulfilling the requirements
     for a given assurance level of identity binding by the
     Certification Authority (for the sake of this exercise, we will
     call this "medium-hardware" identity assurance). However, due to
     other reasons (lack of certain controls in attribute validation,
     for instance), the Trust Framework Provider is only willing to
     vouch for this Identity Provider to being able to satisfy a
     relatively low level of attribute assurance (let's call that "Level
     2").

     As you can see, the possible combinations and permutations between
     Certificate Policy compliance and Trust Framework Provider
     accreditation could lead to an OID explosion on the part of the
     Certification Authority. Furthermore, if you tightly couple the
     certificatePolicy OID value to the permission to sign claims,
     having a single Identity Provider that operates in multiple
     federations becomes rather unnecessarily complex. Furthermore,
     since it is a barrier to establishment of a Federation to stand up
     a dedicated CA, the author's foresee a situation developing where
     Commercial CAs issue certificates to IDPs in a given Federation,
     and since obtaining common OIDs between such CAs is improbable,
     tying the existence of a given OID asserted in the
     certificatePolicies extension will mean that Relying Parties will
     have to map between these, creating an untenable and unsupportable
     environment for deployers of small federations.

     By decoupling the Identity Assurance from the permission to issue
     claims (which the CA can easily gather from an attestation from the
     Trust Framework Provider), the approach suggested in this document
     allows for a greater amount of flexibility, both for the operators
     of Federated systems, and for Certification Authorities, and gives
     a simple method for Relying Parties to determine that a server is
     allowed to sign claims. This also removes the need for an arbitrary
     "any Federation" OID object, since there may exist situations where
     the Relying Party just wants to know it is talking to a valid IDP,
     without regards to any other framework or Federation rules.

     As stated elsewhere in this document, it is acknowledged that there
     is still a need for Federation Realm identification, but this is
     out of scope of the present document.





King, et al.             Expires June 27, 2012                  [Page 6]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


2.  Abstract Syntax Notation

   All X.509 certificate [X.509] extensions are defined using ASN.1
   [X.680, X.690].




3.  claimSigning Extended Key Usage Value

   RFC 5280 [PROFILE] specifies the extended key usage (EKU) X.509
   certificate extension.  The EKU extension indicates one or more
   purposes for which the certificate may be used.  The EKU extension
   can be used in conjunction with the key usage extension, which
   indicates the intended purpose of the certified public key. The EKU
   extension syntax is repeated here for convenience:


        ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) of KeyPurposeID

        KeyPurposeID ::= OBJECT IDENTIFIER


   This specification defines one KeyPurposeID value for use in
   transactions where Claim Signing is required. Inclusion of the Claim
   Signing value in the EKU indicates that the certificate is
   appropriate for use by an entity who intends to assert the veracity
   of a signed claim.

        id-kp  OBJECT IDENTIFIER  ::=
           { iso(1) identified-organization(3) dod(6) internet(1)
             security(5) mechanisms(5) pkix(7) 3 }

        id-kp-claimSigning  OBJECT IDENTIFIER  ::=  { id-kp TBD }

   The EKU extension MAY, at the option of the certificate issuer, be
   either critical or non-critical.

   Certificate-using applications MAY require the EKU extension to be
   present in a certificate, and they MAY require a particular
   KeyPurposeId value to be present (such as id-kp-claimSigning) within
   the EKU extension.









King, et al.             Expires June 27, 2012                  [Page 7]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


4.  Using the claimSinging EKU in a Certificate

   In order to determine whether the usage of a certificate is intended
   to serve as a claimSigning certificate only, implementations MUST
   perform the steps given below as a part of the certificate
   validation:

   A conformant implementation MUST examine the Extended Key Usage
   value(s):


      If the certificate does not contain any EKU values (i.e., the
      Extended Key Usage extension does not exist), it is a matter of
      local policy whether or not to accept the certificate for use as a
      claimSigning certificate.  Note that since certificates that do
      not follow this specification will not have the id-kp-claimSigning
      EKU value local policies might accept certificates for use as a
      claimSigning certificate to improve interoperability.

      If the certificate contains the id-kp-claimSigning EKU value, then
      implementations of this specification MUST consider the
      certificate valid for the purposes of signing claims.  Otherwise
      the Relying Party may be exposed to the risks identified in the
      Security Considerations section below.

      If the certificate does not contain the id-kp-claimSigning EKU
      value, but does contain the id-kp-anyExtendedKeyUsage EKU value,
      it is a matter of local policy whether or not to consider the
      certificate acceptable for use as a claimSigning certificate.

      If the EKU extension exists, but does not contain either the id-
      kp-claimSigning or id-kp-anyExtendedKeyUsage EKU values, the
      application MUST  NOT accept the certificate for use as a
      claimSigning certificate.


5.  Implications for a Certification Authority

   The procedures and practices employed by a conformant CA MUST ensure
   that the holder of the private key associated with the public key in
   the Certificate is authorized to sign claims within a particular
   community of interest before populating the certificate with the id-
   kp-claimSigning EKU value.  How a given community of interest
   determines authorization should be specified in the CA Certificate
   Policy or other agreements within the community and is out of scope
   for this document.

   When a conformant Certification Authority (CA) includes this EKU



King, et al.             Expires June 27, 2012                  [Page 8]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


   value, it SHALL set the digitalSignature keyUsage bit. A conformant
   CA SHOULD NOT set the nonRepudiation, keyEncipherment, keyAgreement
   or dataEncipherment keyUsage bits.  Furthermore, by declaring that
   this key pair is used for signature by issuing a Certificate with
   this EKU, a CA SHALL NOT escrow or cause the private key associated
   with this certificate to be escrowed.

   If the claimSigning EKU extension value is asserted, then no
   additional EKU KeyPurposeId values SHALL be asserted.


6.  Security Considerations

   This memo defines an EKU X.509 certificate extension that conveys to
   Relying Parties that the certificate holder is certified to issue
   claims.

   The procedures and practices employed by the CA MUST ensure that the
   correct values for the EKU are inserted in each certificate that is
   issued. Relying parties may accept or reject a particular certificate
   for an intended use based on the information provided      in the
   extension.  Incorrect representation of the information in the
   extension could cause the relying party to reject an otherwise
   appropriate certificate or accept a certificate that ought to be
   rejected.  Relying Party applications are encouraged to require this
   particular OID to be asserted in order to accept a signed claim as
   valid.

   Since the attribute assertions which are signed by the holders of
   Private keys which have corresponding Public Keys in Certificates
   which assert id-kp-claimSigning are used to provide an attestation of
   Identity, or a attestation of a particular attribute that is
   associated with an Identity, it is imperative that the Private Keys
   be kept using methods as strict as, or better than the assurance
   level of the identities which are being asserted.  Since the criteria
   for management of the private key of the server's Identity
   Certificate may be different from the requirements for the protection
   and management of the key used to sign attribute assertions
   therefore, the same Certificate should not be used as both a server
   Identity Certificate and a claimSigner certificate.

   Furthermore, the server name itself (as opposed to the Identity
   Provider) may change over time, or even be deployed in a manner that
   disassociates the interface facing the Subscriber from the server
   signing the attribute assertion, as is the case in many "Reverse
   Proxy" situations. It is recommended that the two functions be kept
   distinct.  This also has operational  impacts, in cases where the CP
   requires two person control for the Private Key of an Identity



King, et al.             Expires June 27, 2012                  [Page 9]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


   Provider, but leaves the Device certificates somewhat less
   constrained.  In such a case, the Identity Provider server may have
   an automatic restart capability or an automated failover process
   allowing it to display a secure interface (using the Device
   Certificate) indicating the issue to Relying Parties and Subscribers,
   while waiting for the conditions to be met for two person control of
   the Identity Provider Service.

   Since the Certificate which asserts id-kp-claimSigning, is in fact, a
   signature certificate, good practice dictates that the corresponding
   private key never be escrowed, even if any of the encryption key
   usages are asserted in the same certificate.  Escrowing the private
   key could lead to questions about the veracity of claims originating
   from that Identity Provider.


7.  IANA Considerations

   Certificate extended key usage values are identified by object
   identifiers (OIDs).  The OIDs used in this document were assigned
   from an arc delegated by the IANA.  No further action by the IANA is
   necessary for this document or any anticipated updates [RFC5513].

8.  Copyright Notice

   Copyright (c) 2011 IETF Trust and the persons identified as the
   document authors.  All rights reserved.


9.  References

9.1  Normative References

   [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [PROFILE]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
              Housley, R., and W. Polk, "Internet X.509 Public Key
              Infrastructure Certificate and Certificate Revocation List
              (CRL) Profile", RFC 5280, May 2008.

   [X.509]    ITU-T.  Recommendation X.509: The Directory -
              Authentication Framework.  2000.

   [X.680]    ITU-T Recommendation X.680: Information Technology -
              Abstract Syntax Notation One, 1997.

   [X.690]    ITU-T Recommendation X.690: Information Technology -



King, et al.             Expires June 27, 2012                 [Page 10]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


              Abstract Syntax Notation One Encoding Rules, 2002.






9.2  Informative References

   [RFC5513]  Farrel, A., "IANA Considerations for Three Letter
              Acronyms", RFC 5513, April 1 2009.








































King, et al.             Expires June 27, 2012                 [Page 11]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


Appendix A - ASN.1 Structures and OIDs

   BEGIN

   -- OID Arcs

   id-kp  OBJECT IDENTIFIER  ::=   { iso(1) identified-organization(3)
   dod(6) internet(1)     security(5) mechanisms(5) pkix(7) 3 }

   -- Extended Key Usage Values

   id-kp-claimSigning  OBJECT IDENTIFIER  ::=  { id-kp TBD }

   END

Authors' Addresses


   Matt King
   Protiviti Government Services
   1640 King St., Suite 400
   Alexandria, VA 22314

   Phone: 410-271-5624
   Email: Matthew.King@pgs.protiviti.com


   Matt Tebo
   Protiviti Government Services
   1640 King St., Suite 400
   Alexandria, VA 22314

   Phone: 301-312-5852
   Email: Matt.Tebo@pgs.protiviti.com


   Wendy Brown
   Protiviti Government Services
   1640 King St., Suite 400
   Alexandria, VA 22314

   Phone: 703-965-2990
   Email: Wendy.Brown@pgs.protiviti.com








King, et al.             Expires June 27, 2012                 [Page 12]


INTERNET DRAFT      claimSigning Extended Key Usage    December 27, 2011


   Dave Silver
   Protiviti Government Services
   1640 King St., Suite 400
   Alexandria, VA 22314

   Phone: 703-597-5114
   Email: Dave.Silver@pgs.protiviti.com


   Chris Louden
   Protiviti Government Services
   1640 King St., Suite 400
   Alexandria, VA 22314

   Phone: 703-447-7431
   Email: Chris.Louden@pgs.protiviti.com


   Patrick Patterson
   Carillon Information Security Inc.
   356 Joseph Carrier
   Vaudreuil-Dorion, QC  J7V5V5
   Canada

   Phone: +1 514 485 0789
   Email: ppatterson@carillon.ca

























King, et al.             Expires June 27, 2012                 [Page 13]