Internet DRAFT - draft-wei-abfab-differentiation-authn

draft-wei-abfab-differentiation-authn



ABFAB                                                        Juan Wei
Internet Draft                                     Shenzhen University
Intended status: Informational                           Jianyong Chen
Expires: December 12, 2014                         Shenzhen University
                                                            Jun Zhang
                                                Sun Yat-Sen University
                                                         June 10, 2014



                 Differentiation authentication for ABFAB
               draft-wei-abfab-differentiation-authn-01.txt


Abstract

   This document describes how to implement the differentiation
   authentication with Level of Assurance (LOA). In order to achieve
   the goal, we define a new authentication context class schema for
   SAML V2.0 which is used to specify the LOA requirement of Relying
   Provider (RP), a function which is used by Identity Provider (IdP)
   to transform the required LOA to specific authentication method(s),
   and a profile which describes the application of this new
   authentication context.

Status of this Memo

   This Internet-Draft is submitted 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 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/ietf/1id-abstracts.txt

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

   This Internet-Draft will expire on December 10, 2014.




Wei                  Expires December 10, 2014               [Page 1]

Internet-Draft     Differentiation authentication            June 2014


Copyright Notice

   Copyright (c) 2014 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 ................................................ 2
   2. A new authentication context with LOA ....................... 3
   3. Transform function .......................................... 3
   4. Differentiation authentication profile ...................... 4
      4.1. Profile overview ....................................... 4
   5. Security Considerations ..................................... 6
   6. IANA Considerations ......................................... 6
   7. Acknowledgements ............................................ 6
   8. References .................................................. 7
      8.1. Normative References ................................... 7
      8.2. Informative References ................................. 7
   Appendix A. XML Schema ......................................... 8

1. Introduction

   This document describes how to realize the differentiation
   authentication with Level of Assurance (LOA) [b-ITU-T X.1254]. In
   order to achieve the goal, we define a new authentication context
   class schema for SAML V2.0 which is used to specify the LOA
   requirement of Relying Provider (RP), and a function which is used
   by Identity Provider (IdP) to transform the required LOA to specific
   authentication method(s) and a profile which describes the
   application of this new authentication context.

   In the federation identity management, the Relying Party (RP)
   typically delegates the authentication service to a third party,
   Identity Provider (IdP). The RP itself is mainly responsible for the
   authorization service based on the authentication result from the
   IdP. Authentication methods which an IdP uses to identify users, are


Wei                  Expires December 12, 2014               [Page 2]

Internet-Draft     Differentiation authentication            June 2014


   either specified by the RP or decided by the IdP. In the former way,
   the RP can specify authentication methods by some attributes. For
   example, in SAML, the RP can impose the method by setting the value
   of <RequestedAuthnContext> element in [OASIS-saml-core-2.0-os]. But
   this way requires the RP to know the detail authentication methods
   that IdP supports. The latter way can be realized by a null value of
   the element in SAML. In this way, the IdP does not take the security
   requirements of a particular service into consideration when it
   negotiates authentication methods with client users.

   In this document, we define:

   o A new authentication context class that is used to provide a new
      SAML authentication context to identify users.

   o A function which is used to transmit the LOA requirement to
      authentication methods.

   o A profile that uses the LOA for authentication to affect SAML-
      based authentication and authorization.

2. A new authentication context with LOA

   The authentication context classes defined in [OASIS-saml-authn-
   context-2.0-os] are initial authentication context classes for using
   with SAML. The SAML requester can use the
   <samlp:AuthnContextClassesRef> element of <RequestedAuthnContext>
   element to specify an authentication context class with a specific
   authentication mechanism, such as Kerberos, Public Key-X.509 etc.
   The IdP can choose its own authentication methods when the SP does
   not provide one. In the new authentication context with LOA, we
   define a new authentication context class
   "urn:oasis:names:tc:SAML:2.0:ac:classes:SpecificLOA" [Appendix A.]
   with a new attribute for <PrincipalAuthenticationMechanismType>,
   "requiredLOA", which represents the security requirement from RP.
   The new context can make the SP express its security requirement as
   well as need not know what authentication mechanisms the IdP
   supports.

3. Transform function

   This section specifies a transform function, S=f(LOA,E,H),used by
   the IdP to pass the LOA to actual authentication method(s). The
   function has three parameters, one is S which represents the
   security strength of the authentication algorithm; one is E which
   expresses security threat from access network that user terminal



Wei                  Expires December 12, 2014               [Page 3]

Internet-Draft     Differentiation authentication            June 2014


   connect to; another is H which represents the threat history of the
   user recorded in IdP.

   The parameter S describes the security strength that authentication
   algorithms can guarantee. For example, the simple password
   authentication mechanism typically provides a lower security level
   than that the certificate-based SSL provides.

   The parameter LOA represents the security expectation of RP, and the
   higher the value is, the more secure the RP's security requirement
   is. For instance, the 4-LOA is safer than 1-LOA.

   The E parameter describes the security threat of network environment.
   When a user accesses network resource in public places such as
   airport or coffeehouse, the network security threat is serious.
   While when he or she is in a private or protected place, such as a
   campus or an enterprise context, the security threat mitigates
   evidently.

   The H parameter indicates the history records of being attacked to a
   user. Such as the number of attacks, the geographical location of
   each attack etc. With these records from IdP, the IdP can provides a
   customized authentication service.

4. Differentiation authentication profile

   In the scenario supported by the differentiation authentication, a
   Principal controlling a User Agent requests access to a Relying
   Party. The Relying Party uses SAML to request Principal's Identity
   Provider to authenticate the Principal. In the authentication
   request, the RP sends the LOA for authentication to IdP by the
   "requiredLOA" attribute in <samlp:AuthnContextClassesRef> element.
   If the Identity Provider successfully authenticates the Principal,
   it produces an authentication assertion which is consumed by the
   Relying Party.

4.1. Profile overview

   This profile is based on the ABFAB Authentication Profile [I-D.ietf-
   abfab-aaa-saml]. There are some important differences, specifically:

   Authentication: This profile does not require the use of any
   particular authentication method. The ABFAB architecture does
   require the use of EAP [RFC3579], but this specification indicates
   the LOA for authentication in order to provide a more targeted
   certification service. And it may be used in non-ABFAB scenarios.



Wei                  Expires December 12, 2014               [Page 4]

Internet-Draft     Differentiation authentication            June 2014


   Requests: The profile requires the use of the new authentication
   context class in order to pass the LOA requirement of RP to IdP, and
   at the same time it does not require any particular authentication
   method.

   Figure 1 below describes the flow of messages within this profile.

     User Agent      Relying Party       Identity Provider

         +                +                     +
         |     (1)        |                     |
         |+-------------->|                     |
         |                |                     |
         |                |        (2)          |
         |                |+------------------->|
         |                |                     |
         |           (3)  |                     |
         |<------------------------------------>|
         |                |                     |
         |                |        (4)          |
         |                |<-------------------+|
         |      (5)       |                     |
         |<--------------+|                     |
         |                |                     |
         |                |                     |
         |                |                     |
         v                v                     v

                                 Figure 1

   The following steps are described by the profile. Within an
   individual step, there may be one or more actual message exchanges.

   1. User Agent Request to Relying Party: In step 1, the Principal, via
      User Agent, makes a Request for a service at the Relying Party.
      The Relying Party determines that no authentication context for
      the User Agent exists and initiates authentication of the
      Principal.

   2. Relying Party issues <samlp:AuthnRequest> to Identity Provider. In
      step 2, the Relying Party should set the
      <saml:AuthnContextClassesRef> element to be the new authentication
      context class, in which "requiredLOA" attribute is the LOA.

   3. Identity Provider identifies Principal. In step 3, the Identity
      Provider obtains the LOA requirement from the "requiredLOA" ,which
      is defined in the new authentication context class and imposed by


Wei                  Expires December 12, 2014               [Page 5]

Internet-Draft     Differentiation authentication            June 2014


      Relying Party, and computes the security strength with the
      transform function (Section 3), which will take the location
      environment and history records into consideration so that it can
      provide a customized authentication services. Then the IdP
      negotiates authentication methods with the Principal according to
      the resulted strength, and at last authenticates the Principal
      with the selected method if negotiation is successful, or returns
      an error when negotiation fails.

   4. Identity Provider issues <samlp:Response> to Relying Party. In
      step 4, the response either includes an authentication statement
      in exact one assertion or indicates an error.

   5. Relying Party grants or denies access from Principal. In step 5,
      once having received the response from the Identity Provider, the
      Relying Party can establish its own security context for the
      principal and return the requested resource, or response to the
      Principal's user agent with its own error.

5. Security Considerations

   The document is based on SAML specification document, so it has the
   security considerations of SAML protocols.

   Another security consideration is that in the mechanism proposed in
   this document, the LOA requirement is based on XML syntax, and the
   selection of final authentication method is based on it. So when the
   parameter is faked, the overall security will be compromised.
   Therefore it suggests that much more attention should be taken to
   the LOA transmitted between RP and IdP.

6. IANA Considerations

   The XML schema of authentication context class defined in this
   document will be processed as described in [OASIS-saml-authn-
   context-2.0-os], subjected to the additional requirements of a
   published specification. And the detailed definition is in Appendix
   A.

7. Acknowledgements

   Need to acknowledge Jianyong Chen and Jun Zhang.







Wei                  Expires December 12, 2014               [Page 6]

Internet-Draft     Differentiation authentication            June 2014


8. References

8.1. Normative References

   [OASIS-saml-core-2.0-os]  Cantor, S., Kemp, J., Philpott, R., and E.
                            Maler, "Assertions and Protocol for the
                            OASIS Security Assertion Markup Language
                            (SAML) V2.0", OASIS Standard saml-core-2.0-
                            os, March 2005.

   [OASIS-saml-authn-context-2.0-os] Kemp, J., Cantor, S., Mishra, P.,
                            Philpott, R., and E. Maler, "Authentication
                            Context for Assertions and Protocol for the
                            OASIS Security Assertion Markup Language
                            (SAML) V2.0", OASIS Standard saml-authn-
                            context-2.0-os, March 2005.

   [I-D.ietf-abfab-aaa-saml] Howlett, J. and S. Hartman, "A RADIUS
                            Attribute, Binding, Profiles, Name
                            Identifier Format, and Confirmation Methods
                            for SAML", draft-ietf-abfab-aaa-saml-09
                            (work in progress), February 2014.

   [RFC3579]            Aboba, B. and P. Calhoun, "RADIUS (Remote
                            Authentication Dial In User Service)
                            Support For Extensible Authentication
                            (EAP)", RFC 3579, September 2003.

8.2. Informative References

   [b-ITU-T X.1254]  Recommendation ITU-T X.1254(2012), Entity
                    authentication assurance framework.
















Wei                  Expires December 12, 2014               [Page 7]

Internet-Draft     Differentiation authentication            June 2014


Appendix A. XML Schema

   The following schema formally defines the
   "urn:oasis:names:tc:SAML:2.0:ac:classes:SpecificLOA" namespace.
   While XML validation is optional, the schema that follows is the
   normative definition of the constructs it defines.

   <xs:schema
     targetNamespace="urn:oasis:names:tc:SAML:2.0:ac:classes:SpecificLO
     A"
     xmlns:xs="http://www.w3.org/2001/XMLSchema"
     xmlns="urn:oasis:names:tc:SAML:2.0:ac:classes:SpecificLOA"
     finalDefault="extension"
     blockDefault="substitution"
     version="2.0">

     <xs:redefine
        schemaLocation="saml-schema-authn-context-types-2.0.xsd">
        <xs:annotation>
           <xs:documentation>
               Class identifier:
               urn:oasis:names:tc:SAML:2.0:ac:classes:SpecificLOA
               Document identifier: saml-schema-authn-context-
        specificloa-2.0
               Location: http://docs.oasis-open.org/security/saml/v2.0/
               Revision history:
                 V2.0 (March, 2005):
                 New core authentication context schema for SAML V2.0.
           </xs:documentation>
        </xs:annotation>

        <xs:complexType name="AuthnContextDeclarationBaseType">
         <xs:complexContent>
          <xs:restriction base="AuthnContextDeclarationBaseType">
            <xs:sequence>
            <xs:element ref="Identification" minOccurs="0" />
            <xs:element ref="TechnicalProtection" minOccurs="0" />
            <xs:element ref="OperationalProtection" minOccurs="0" />
            <xs:element ref="AuthnMethod" />
            <xs:element ref="GoverningAgreement" minOccurs="0" />
            <xs:element ref="Extension" minOccurs="0"
     maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="ID" type="xs:ID" use="optional"/>
           </xs:restriction>
         </xs:complexContent>
        </xs:complexType>


Wei                  Expires December 12, 2014               [Page 8]

Internet-Draft     Differentiation authentication            June 2014


     <xs:complexType name="AuthnMethodBaseType">
       <xs:complexContent>
         <xs:restriction base="AuthnMethodBaseType">
           <xs:sequence>
           <xs:element ref="PrincipalAuthenticationMechanism" />
           <xs:element ref="Authenticator" minOccurs="0"/>
           <xs:element ref="AuthenticatorTransportProtocol"
   minOccurs="0"/>
           <xs:element ref="Extension" minOccurs="0"
   maxOccurs="unbounded"/>
           </xs:sequence>
         </xs:restriction>
       </xs:complexContent>
     </xs:complexType>

     <xs:complexType name="PrincipalAuthenticationMechanismType">
       <xs:complexContent>
         <xs:restriction base="PrincipalAuthenticationMechanismType">
           <xs:attribute name="requiredLOA" type="xs:integer"
   use="required" />
         </xs:restriction>
       </xs:complexContent>
     </xs:complexType>

     </xs:redefine>
   </xs:schema>






















Wei                  Expires December 12, 2014               [Page 9]

Internet-Draft     Differentiation authentication            June 2014


Authors' Addresses
   Juan Wei
   Shenzhen University
   Dept. of Computer Science and Technology
   China

   Phone: +86 13751039454
   Email: juanwei2012@gmail.com

   Prof. Jianyong Chen
   Shenzhen University
   Dept. of Computer Science and Technology
   China

   Phone: +86 13823278100
   Email: jychen@szu.edu.cn

   Prof. Jun Zhang
   Sun Yat-Sen University
   College of Advanced Computing
   China

   Phone: +86 13570277588
   Email: junzhang@ieee.org
























Wei                  Expires December 12, 2014              [Page 10]