Network Working Group                                         S. Hartman
Internet-Draft                                         Painless Security
Intended status: Standards Track                              J. Howlett
Expires: April 16, 2011                                        JANET(UK)
                                                        October 13, 2010


             Name Attributes for the GSS-API EAP mechanism
                   draft-ietf-abfab-gss-eap-naming-00

Abstract

   The naming extensions to the Generic Security Services Application
   Programming interface provide a mechanism for applications to
   discover authorization and personalization information associated
   with GSS-API names.  The Extensible Authentication Protocol GSS-API
   mechanism allows an Authentication/Authorization/Accounting peer to
   provide authorization attributes along side an authentication
   response.  It also provides mechanisms to process Security Assertion
   Markup Language (SAML) messages provided in the AAA response.  This
   document describes the necessary information to use the naming
   extensions API to access that information.

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).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on April 16, 2011.

Copyright Notice

   Copyright (c) 2010 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



Hartman & Howlett        Expires April 16, 2011                 [Page 1]


Internet-Draft           GSS EAP Name Attributes            October 2010


   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
   2.  Requirements notation  . . . . . . . . . . . . . . . . . . . .  4
   3.  Naming Extensions and SAML . . . . . . . . . . . . . . . . . .  5
   4.  RADIUS and Authenticated Attributes  . . . . . . . . . . . . .  6
   5.  Name Attributes for GSS-EAP  . . . . . . . . . . . . . . . . .  8
     5.1.  Assertions . . . . . . . . . . . . . . . . . . . . . . . .  8
     5.2.  SAML Attributes  . . . . . . . . . . . . . . . . . . . . .  8
     5.3.  RADIUS Attributes  . . . . . . . . . . . . . . . . . . . .  8
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 10
   8.  Normative References . . . . . . . . . . . . . . . . . . . . . 11
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12





























Hartman & Howlett        Expires April 16, 2011                 [Page 2]


Internet-Draft           GSS EAP Name Attributes            October 2010


1.  Introduction

   The naming extensions [I-D.ietf-kitten-gssapi-naming-exts]to the
   Generic Security Services Application Programming interface (GSS-API)
   [RFC2743] provide a mechanism for applications to discover
   authorization and personalization information associated with GSS-API
   names.  The Extensible Authentication Protocol GSS-API mechanism
   [I-D.howlett-eap-gss] allows an Authentication/Authorization/
   Accounting peer to provide authorization attributes along side an
   authentication response.  It also provides mechanisms to process
   Security Assertion Markup Language (SAML) messages provided in the
   AAA response.  This document describes the necessary information to
   use the naming extensions API to access that information.






































Hartman & Howlett        Expires April 16, 2011                 [Page 3]


Internet-Draft           GSS EAP Name Attributes            October 2010


2.  Requirements notation

   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 [RFC2119].














































Hartman & Howlett        Expires April 16, 2011                 [Page 4]


Internet-Draft           GSS EAP Name Attributes            October 2010


3.  Naming Extensions and SAML

   SAML assertions can carry attributes describing properties of the
   subject of the assertion.  For example, an assertion might carry an
   attribute describing the organizational affiliation or e-mail address
   of a subject.  According to Section 8.2 and 2.7.3.1 of [SAMLCORE],
   the name of an attribute has two parts.  The first is a URI
   describing the format of the name.  The second part, whose form
   depends on the format URI, is the actual name.  As of June 2010, GSS-
   API name attributes take the form of a single URI.

   Administrators may need to type SAML attribute names into
   configuration files or otherwise tell applications how to find
   attributes.  It is desirable to support accessing these attributes
   from applications that have no awareness of SAML.  So, the GSS-API
   attribute name should be something that an administrator can
   reasonably easily construct from a SAML attribute name.  In
   particular, adding or removing URI escapes, base64 encoding or
   similar transformations would significantly decrease usability.

   Instead, it seems desirable to extend GSS-API naming extensions to
   support concepts such as SAML names where the format is specified
   separately.  The format of GSS-API attribute names should be changed.
   If no space character is found in the name, then the name is
   interpreted as a URI describing the attribute.  Otherwise, the
   portion from the beginning of the buffer to the first space is
   interpreted as a URI describing the form and interpretation of the
   rest of the buffer; this portion is known as the attribute type URI.























Hartman & Howlett        Expires April 16, 2011                 [Page 5]


Internet-Draft           GSS EAP Name Attributes            October 2010


4.  RADIUS and Authenticated Attributes

   GSS-API naming extensions have the concept of an authenticated name
   attribute.  The mechanism guarantees that the contents of an
   authenticated name attribute are an authenticated statement from the
   trusted source of the peer credential.  The fact that an attribute is
   authenticated does not imply that the trusted source of the peer
   credential is authorized to assert the attribute.

   In the federated context, the trusted source of the peer credential
   is typically some identity provider.  In the GSS EAP mechanism,
   information is combined from AAA and SAML sources.  The SAML IDP and
   home AAA server are assumed to be in the same trust domain.  However,
   this trust domain is not typically the same as the trust domain of
   the service.  Typically, the IDP is run by another organization in
   the same federation.  The IDP is trusted to make some statements,
   particularly related to the context of a federation.  For example, an
   academic federation's participants would typically trust an IDP's
   assertions about whether someone was a student or a professor.
   However that same IDP would not typically be trusted to make
   assertions about local entitlements such as group membership.  Thus,
   a service MUST make a policy decision about whether the IDP is
   permitted to assert a particular attribute and about whether the
   asserted value is acceptable.

   In contrast, attributes in an enterprise context are often verified
   by a central authentication infrastructure that is trusted to assert
   most or all attributes.  For example, in a Kerberos infrastructure,
   the KDC typically indicates group membership information for clients
   to a server using KDC-authenticated authorization data.

   The context of an attribute is an important property of that
   attribute; trust context is an important part of the context.
   Applications will often want to treat an attribute in a federated
   context the same as an attribute in an enterprise context.  In order
   for applications to distinguish the context of attributes, attributes
   with different context need different names.  For example, the name
   of an attribute containing the initiator's e-mail address in a
   federated context needs to be different from the name containing the
   initiator's e-mail address in a different context.  The determination
   of trust from this context information can never be exact: Kerberos
   typically is used in environments where the KDC is fairly trusted,
   but an application could have a key in a realm that it does not fully
   trust.  Similarly, SAML is typically in a federated context, but an
   organization could use SAML for internal authentication as well.

   It would be convenient to use the same GSS-API attribute names for
   the same information regardless of context.  However, when



Hartman & Howlett        Expires April 16, 2011                 [Page 6]


Internet-Draft           GSS EAP Name Attributes            October 2010


   considering attribute names it is critical to consider the
   appropriate interpretation of that name and the distinctions an
   application will need to make about the name.  As a result, it is
   often the case that attributes from two different mechanisms will
   have different names.

   However, the local implementation of the mechanism and layers in the
   GSS-API implementation above the mechanism can make the job of the
   application easier.  If local policy permits an attribute to be
   trusted, then the attribute can be copied to a name whose context
   indicates that local policy has been applied.  For example, an
   implementation could have an attribute for e-mail address that
   received the value both of a SAML mechanism and Kerberos mechanism's
   e-mail address attributes after local policy is applied.  Such
   mechanism-level attributes can also be used to normalize the format
   of attribute values.

   In the case of GSS-EAP, the attribute names need to be specific to
   SAML attributes obtained via AAA transport.
































Hartman & Howlett        Expires April 16, 2011                 [Page 7]


Internet-Draft           GSS EAP Name Attributes            October 2010


5.  Name Attributes for GSS-EAP

   This section describes how SAML assertions, SAML attributes and
   RADIUS attributes received with the GSS-EAP mechanism are named.

5.1.  Assertions

   Implementations of GSS-EAP MUST support an attribute with the name
   "urn:ietf:params:gss-eap:saml-aaa-assertion".  The value of this
   attribute is the assertion carried in the AAA protocol.  This
   attribute is absent from a given acceptor name if no such assertion
   is present or if the assertion fails local policy checks.  This
   attribute is always authentic when present: authentication only
   succeeds if the AAA exchange is successfully authenticated.  However,
   users of the GSS-API MUST confirm that the attribute is authenticated
   because some mechanisms MAY permit an initiator to assert an
   unauthenticated version of this attribute.

5.2.  SAML Attributes

   Each attribute carried in the assertion SHOULD also be a GSS name
   attribute.  The name of this attribute has three parts, all separated
   by an ASCII space character.  The first part is
   urn:ietf:params:gss-eap:saml-attr.  The second part is the URI for
   the SAML attribute name format.  The final part is the name of the
   SAML attribute.  If the mechanism performs an additional attribute
   query, the retrieved attributes SHOULD be GSS-API name attributes
   using the same name syntax.

   These attributes SHOULD be marked authenticated if they are contained
   in SAML assertions that have been successfully validated back to the
   trusted source of the peer credential.  In the GSS-EAP mechanism, a
   SAML assertion carried in an integrity-protected and authenticated
   AAA protocol SHALL be sufficiently validated.  An implementation MAY
   apply local policy checks to this assertion and discard it if it is
   unacceptable according to these checks.

   Attribute query results made based on this assertion also count as
   originating with the source of the peer credential.  The
   implementation MUST validate the authenticity of these results before
   they are processed.

5.3.  RADIUS Attributes

   A mechanism needs to be created to give applications access to AAA
   AVPs carried along with an access-accept message.





Hartman & Howlett        Expires April 16, 2011                 [Page 8]


Internet-Draft           GSS EAP Name Attributes            October 2010


6.  Security Considerations

   This needs to be written.
















































Hartman & Howlett        Expires April 16, 2011                 [Page 9]


Internet-Draft           GSS EAP Name Attributes            October 2010


7.  IANA Considerations

   This section needs to include URN registrations within the IETF
   namespace for URNs that are used.















































Hartman & Howlett        Expires April 16, 2011                [Page 10]


Internet-Draft           GSS EAP Name Attributes            October 2010


8.  Normative References

   [I-D.howlett-eap-gss]
              Hartman, S. and J. Howlett, "A GSS-API Mechanism for the
              Extensible Authentication Protocol",
              draft-howlett-eap-gss-00 (work in progress), March 2010.

   [I-D.ietf-kitten-gssapi-naming-exts]
              Williams, N. and L. Johansson, "GSS-API Naming
              Extensions", draft-ietf-kitten-gssapi-naming-exts-08 (work
              in progress), June 2010.

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

   [RFC2743]  Linn, J., "Generic Security Service Application Program
              Interface Version 2, Update 1", RFC 2743, January 2000.


































Hartman & Howlett        Expires April 16, 2011                [Page 11]


Internet-Draft           GSS EAP Name Attributes            October 2010


Authors' Addresses

   Sam Hartman
   Painless Security

   Email: hartmans-ietf@mit.edu


   Josh Howlett
   JANET(UK)

   Email: josh.howlett@ja.net







































Hartman & Howlett        Expires April 16, 2011                [Page 12]