Internet DRAFT - draft-grayson-eap-authorisation

draft-grayson-eap-authorisation





 Network Working Group                                                  
 INTERNET DRAFT                                              M. Grayson 
 draft-grayson-eap-authorisation-01.txt                      J. Salowey 
 Expires: September 2003                                  Cisco Systems 
                                                             March 2003 
    
    
                             EAP Authorization 
                                      
    
    
Status of this Memo 
    
   This document is an Internet-Draft and is in full conformance with 
   all provisions of Section 10 of RFC2026. Distribution of this memo 
   is unlimited. 
    
   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 1of 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. 
    
Abstract 
    
   This document specifies an Extensible Authentication Protocol (EAP) 
   mechanism for authorization information exchange. EAP TLV is a 
   container type for EAP messages. This mechanism describes an EAP TLV 
   for exchange of authorization related information which can take 
   place within the EAP framework.  It allows an authentic user to 
   provide the network with additional information in order to 
   determine which Internet Service is being requested.  It also allows 
   an EAP server to request authorization for session parameters from 
   an EAP peer. This mechanism may be chained after any EAP-
   Authentication mechanism.  
    









  
Grayson and Salowey     Expires in six months                [Page 1] 
Internet Draft            EAP Authorization                March 2003 
 
 
Table of Contents 
    
   Status of this Memo.........................................1 
   Abstract....................................................1 
   Table of Contents...........................................2 
   1. Introduction.............................................2 
   2. Terms....................................................3 
   3. Overview.................................................4 
   3.1. Providing Additional Information.......................5 
   3.2. Mandatory Tunnel Example...............................5 
   3.3. Billing Rate Authorization.............................6 
   4. Message Format...........................................6 
   4.1. EAP-TLV/Authorization-Request..........................6 
   4.2. EAP-TLV/Authorization-Response.........................7 
   4.3. Authorization Attribute Format.........................8 
   4.4. Protected TLV..........................................8 
   5. Defined attributes.......................................8 
   5.1. Status.................................................8 
   5.2. Authorization Identity.................................9 
   5.3. Quality of Service....................................10 
   5.4. Billing Rate..........................................10 
   5.5. Terms and Conditions..................................10 
   5.6. Service Type..........................................10 
   5.7. Tunnel FQDN...........................................10 
   5.8. Tunnel Password.......................................11 
   6. Protection of EAP-TLV/Authorization.....................12 
   IANA Considerations........................................12 
   Security Considerations....................................12 
   Intellectual Property Right Notice.........................12 
   Acknowledgements and Contributions.........................12 
   References.................................................12 
   Editor's Address...........................................13 
    
1. Introduction 

   The Extensible Authentication Protocol (EAP), described in [2], 
   provides a standard mechanism for support of multiple authentication 
   methods. Through the use of EAP, support for a number of 
   authentication schemes may be added, including GSM smart card 
   support, one time password and others.  
    
   The encapsulation of EAP has been defined over IEEE 802 link layers 
   in IEEE 802.1X [3]. In 802.1X, an authentication failure will result 
   in denied access to the controlled port. Conversely, an 
   authenticated peer will be allowed access.  
    
   This document specifies an extension to EAP using TLV encapsulation 
   for authorization exchange which may be used to authorize additional 
   resources for the peer, e.g., above access to the controlled port 
   defined in 802.1X. In particular, this document describes techniques 
   for the definition and authorization of tunnel resources in a manner 
   which is secure, independent of the selected authentication method 
   and compatible with existing AAA based configuration, e.g., for 
  
Grayson and Salowey         September 2003                    [Page 2] 
Internet Draft            EAP Authorization                March 2003 
 
 
   configuring compulsory network based tunnels [4]. The authorization 
   TLV provides a way for the EAP server to request the EAP Peer to 
   authorize certain session attributes such as quality of service or 
   charging options.  
    
   This method relies upon a security association to provide message 
   protection established using PEAP [1] or Protected TLV [9]. This 
   approach provides a consistent authorization interfaces for various 
   access systems and allows the authorization to be decoupled from a 
   specific authentication method. 
    
2. Terms 

 
   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 [5]. 
    
   This document frequently uses the following terms and abbreviations: 
    
   AAA protocol 

      Authentication, Authorization and Accounting protocol 

   Authentication service  

      The Authentication Service verifies, from the credentials 
      supplied by the peer, the claim of identity made by the peer.  

   Authorization Service 

      The Authorization Service verifies the service requested by the 
      peer is valid. Optionally, the Authorization Service may be 
      involved in configuring the authorized service on behalf of the 
      peer. 

   EAP 

      Extensible Authentication Protocol. 

   EAP Server 

      The network element that terminates the EAP protocol. Typically, 
      the EAP server functionality is implemented in a AAA server. In 
      this document, the AAA server provides both Authentication and 
      Authorization service. 

   NAI 

      Network Access Identifier 

   PEAP 

  
Grayson and Salowey         September 2003                    [Page 3] 
Internet Draft            EAP Authorization                March 2003 
 
 
      Protected EAP 

   EAP Peer 

      A peer is an entity that is being authenticated by an 
      Authenticator. Once authenticity is validated the peer can be 
      allowed access to authorized resources.  

   TLV 

      A TLV is an attribute formatted as type, length and value. 

       

3. Overview 

   Whilst established EAP methods define exchanges for providing an 
   Authentication Service for a peer, EAP-TLV/Authorization exchanges 
   define procedures for providing an Authorization Service. EAP-
   TLV/Authorization uses a minimum of a single roundtrip to exchange 
   additional authorization information between the EAP peer and 
   server.  The peer may be requested to authorize certain session 
   attributes such as quality of service or billing rate and the server 
   may be request to provide various services to the client.  

   The EAP Authorization phase must be chained after an EAP 
   Authentication mechanism has completed and a key is available for 
   protecting the confidentiality and authenticity of the authorization 
   exchange.  The protection of the exchange may be provided by a 
   tunneling mechanism such as PEAP [1] or by Protected TLVs described 
   in [9].   

   After authentication is complete and keys are established the server 
   sends a request of type EAP-TLV/Request-Authorization.  The request 
   may contain attributes that the EAP-Server requests the client to 
   authorize.  If the request does not contain any attributes it 
   indicates that the server is willing to accept an authorization 
   request from the client.   

   The peer responds with an EAP-TLV/Response-Authorization packet 
   including zero or more EAP-Authorization attributes which the peer 
   provides to the network in order to define service parameters which 
   are to be authorized.  The EAP-TLV/Response-Authorization message 
   MUST contain a status attribute indicating the result of any 
   authorization carried out as a result of the EAP-TLV/Request-
   Authorization Packet. 

   After receiving the EAP-TLV/Authorization-Request or EAP-
   TLV/Response-Authorization packet, the EAP sever or EAP Peer can 
   confirm which services and attribute are being requested and perform 
   authorization checks. Authorization checks may involve third parties 
   for which the peer may use an identification distinct from that 
   which was previously used for port based authentication. The 
  
Grayson and Salowey         September 2003                    [Page 4] 
Internet Draft            EAP Authorization                March 2003 
 
 
   Authorization Identity attribute provides the capability to carry 
   additional identification information. 

   The server may indicate authorization failure with a Authorization-
   Status attribute in the Request-Authorization message or it may 
   indicate failure with an EAP-Failure message.  An EAP-Failure 
   message will terminate the EAP conversation.  Since the EAP-failure 
   message does not include the option to transport a Displayable 
   Message, the EAP server can use an EAP-Notification message to 
   provide the supplicant with additional information, e.g., if service 
   authorization fails.   

3.1. Providing Additional Information 

   The specific information related to authorization will depend upon 
   the authorized resources being requested. The EAP-Authorization 
   methods are extensible to allow new authorization information to be 
   defined. The document describes the minimum supported attributes for 
   the mandatory tunnel service includes authorization identifier, 
   tunnel password and tunnel endpoint description.  Additional 
   attributes may be defined to represent quality of service or billing 
   rate. 

   These are just two examples of how EAP Authorization may be used, 
   there are many other possibilities.   
    

3.2. Mandatory Tunnel Example 

   In the mandatory tunnel example the client is requesting that a 
   secure tunnel be established from within the local network to which 
   the client is connected to a home network.  A pre-arranged 
   relationship is established between the local network and the home 
   network to allow for this.  The authentication is proxied by the 
   local network to the home network using AAA techniques.  
    
   After the user has successfully completed an EAP authentication 
   method such as EAP-MD5 within PEAP the authenticator sends an EAP-
   TLV/Authorization-Request message to see if the client wishes to 
   request additional services.  The client then responds with an EAP-
   TLV/Authorization-Response message containing the following 
   attributes: 
    
   Status 
   Authorisation Identity 
   Service Type 
   Tunnel FQDN 
   Tunnel Password 
    
   The authenticator then verifies that the authenticated user is 
   allowed to use the authorisation identity and service defined by the 
   service type and tunnel FQDN.  It may also verify the tunnel 
   password.  The authenticator then saves these parameters to be 
  
Grayson and Salowey         September 2003                    [Page 5] 
Internet Draft            EAP Authorization                March 2003 
 
 
   passed back to the local network using AAA, e.g., using RADIUS 
   attributes in the Access-Accept defined in RFC 2868.  It is possible 
   that the authenticator may return different attributes to the local 
   network based on its policy (for example it may return a different 
   tunnel password).  The local network then establishes a tunnel back 
   to the home network according to the parameters in the access 
   accept.  The tunnel endpoint in the home network authenticates the 
   local endpoint using the username (authorization identity) and 
   password passed back in the access accept.   
    
3.3. Billing Rate Authorization  

   If the peer is receiving service that it will be charged for the 
   EAP-Server may request authorization for those charges. In this case 
   the EAP-Server sends an EAP/Request-Authorization message with a 
   Billing Rate attribute. The request message may contain attributes 
   that ask for additional information for the peer. 

4. Message Format 

 
   The authorization message consists of a series of attributes. The 
   collection of all attributes MUST be protected with PEAP and/or 
   protected TLV as in [11].  The following attributes are defined by 
   this document. 
 
    
4.1. EAP-TLV/Authorization-Request 

    
   The EA-TLV/Authorization-Request message is used by a peer or server 
   to request authorization of certain services or session attributes. 
   It has the following format: 
    
       0                   1                   2                   3 
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
      |M|R|             Type          |            Length             | 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
      |                              Value... 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
 
      M 

 
        0 - Non-mandatory TLV 
        1 - Mandatory TLV 
 
      R 

        Reserved, set to zero (0) 

 
Grayson and Salowey         September 2003                    [Page 6] 
Internet Draft            EAP Authorization                March 2003 
 
 
      Type 

        TBD TLV-Authorization-Request 

      Length 
    
         The length of the Value field in octets. 
 
      Value 
    
         One or more authorization attributes  
 
 
4.2. EAP-TLV/Authorization-Response 

    
   The EAP-TLV/Authorization-Response message is used by an EAP Server 
   to request additional information from the peer related to certain 
   services authorization requests. It has the following format: 
    
       0                   1                   2                   3 
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
      |M|R|             Type          |            Length             | 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
      |                              Value... 
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
 
      M 

        0 - Non-mandatory TLV 
        1 - Mandatory TLV 
 
      R 

        Reserved, set to zero (0) 

 
      Type 

        TBD TLV-Authorization-Response 

      Length 
    
         The length of the Value field in octets. 
 
      Value 
    
        Status attribute and request for additional information from 
        the server.  
 
    
    
  
Grayson and Salowey         September 2003                    [Page 7] 
Internet Draft            EAP Authorization                March 2003 
 
 
    
4.3. Authorization Attribute Format 

    
   Each authorization attribute has the following format: 
    
         
    0                   1                   2                   3 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |            Type               |             Length            | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |              Value...                             
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Type 
    
        Type of authorization attribute 
    
   Length 
    
        Length of value.  The combine length of all the attributes MUST 
        NOT exceed 2^16.   
    
   Value 
    
        Value of attribute. 
    
4.4. Protected TLV 

   The protected TLV is described in the protected TLV draft [9]. 
    
    
5. Defined attributes 

    
    
5.1. Status 

   The Status attribute is used to indicate the status of any 
   outstanding authorization requests.  It MUST be present in an EAP-
   TLV/Response-Authorization message.   

   0                    1                   2                   3 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   | Type = Status                 |         Length = 4            |         
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                          Status code                          | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Type    
  
Grayson and Salowey         September 2003                    [Page 8] 
Internet Draft            EAP Authorization                March 2003 
 
 
        TBD Authorization-Status 
    
   Length 
    
        Length of value 
    
   Status Code  
    
        Result of the outstanding authorization indicated by the 
        following values. 

        STATUS_PASS = 0 
        STATUS_FAIL = 1 
        STATUS_PENDING = 2 
         
        A value of STATUS_PASS indicates that all authorization 
        requests passed. A value of STATUS_FAIL indicated that at least 
        one authorization request failed.  A value of STATUS_PENDING 
        indicates that additional information is being requested. It 
        STATUS_PENDING is returned the message MUST contain additional 
        attributes indicating the information being requested. 
    
    
5.2. Authorization Identity 

    
   This represents an alternate identity for the authenticated 
   principal.  It may be a username on a specific system, a group name 
   that the user belongs to, or a proxy name.  The authorizing service 
   SHOULD validate that the authenticated identity can use the 
   authorization identity. 
    
    0                    1                   2                   3 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   | Type = AZN Identity           |            Length             |         
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   .                    Value                                      . 
   .                                                               . 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Type 
    
        TBD Authorization-Identity 
    
   Length 
    
        Length of value 
    
   Value 
    
  
Grayson and Salowey         September 2003                    [Page 9] 
Internet Draft            EAP Authorization                March 2003 
 
 
        String representation of the authorization identity 
    
5.3. Quality of Service 

    <TBD> 

5.4. Billing Rate 

   <TBD>  
    
5.5. Terms and Conditions 

    <TBD> 

5.6. Service Type 

    
   This attribute contains the type of service being requested. 
    
    0                    1                   2                   3 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   | Type = Service type           |            Length             |         
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   .                    Value                                      . 
   .                                                               . 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    
   Type 
    
        TBD Service-Type 
    
   Length 
    
        Length of value 
    
   Value 
    
        This is a string representation of the service types.  This 
        document defines the following service types: 
         
        None 
        Mandatory Tunnel 
    
 
5.7. Tunnel FQDN 

    
   This attribute refers to the Mandatory Tunnel service. 
  
Grayson and Salowey         September 2003                   [Page 10] 
Internet Draft            EAP Authorization                March 2003 
 
 
 
   0                    1                   2                   3 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   | Type = Tunnel FQDN            |            Length             |         
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   .                    Value                                      . 
   .                                                               . 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    

   Type 

        Tunnel FQDN = 0x0101 

    

   Length 

        Length of Tunnel FQDN string 

    

   Value 

        A string corresponding to the FQDN identifying the tunnel 
        endpoint and can be used by the Authorization Service to 
        determine which resources require authorization, and possible 
        configuration.  

 
5.8. Tunnel Password 

    
   This attribute refers to the mandatory tunnel service. 
 
    0                    1                   2                   3 
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   | Type = Tunnel Password        |             Length            |           
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
   |                                                               | 
   .                    Value                                      . 
   .                                                               . 
   |                                                               | 
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    

   Type 

        Tunnel Client Password = 0xC023 
  
Grayson and Salowey         September 2003                   [Page 11] 
Internet Draft            EAP Authorization                March 2003 
 
 
   Length 

        Length of packet format 

   Value 

        Tunnel password 

         

    

6. Protection of EAP-TLV/Authorization 

 
   The EAP-TLV/Authorization mechanism MUST be protected.  The 
   recommended way to achieve this is to run within a protected EAP 
   mechanism such as PEAP or Protected TLV.  
    
IANA Considerations 
 
   Since multi-vendor interoperability is desired, an EAP Authorization 
   Type number is required to be allocated by IANA. 

    
Security Considerations 
    
   The authorization exchange MUST be protected either by an external 
   mechanism such as PEAP or by using protected TLVs.  The endpoints 
   must be careful to authenticate each other before requiring 
   authorization.  These mechanisms SHOULD only be used when mutual 
   authentication is in place. 
    
 
Intellectual Property Right Notice 
 
 
Acknowledgements and Contributions 
    

References 

   [1] H. Andersson, F. Josefsson, G. Zorn, D. Simon, A. Palekar, 
   "Protected EAP Protocol (PEAP)", draft-josefsson-pppext-eap-tls-eap-
   05.txt, September 2002 (work in progress) 

   [2] L. Blunk, J. Vollbrecht, "PPP Extensible Authentication Protocol 
   (EAP)", RFC 2284, March 1998 

   [3] IEEE Standards for Local and Metropolitan Area Networks: Port 
   based Network Access Control, IEE Std 802.1X-2001, June 2001 


  
Grayson and Salowey         September 2003                   [Page 12] 
Internet Draft            EAP Authorization                March 2003 
 
 
   [4] G. Zorn, "RADIUS Attributed for Tunnel Protocol Support", RFC 
   2868, June 2000 

   [5] S. Bradner, "Key words for use in RFCs to Indicate Requirement 
   Level", RFC 2119, March 1997 

   [6] H. Haverinen, J. Salowey, "EAP SIM Authentication", draft-
   haverinen-pppext-eap-sim-10.txt, February 2003 (work in progress) 

   [7] B. Aboba, M. Beadles, "The Network Access Identifier", RFC 2486, 
   January 1999 

   [8] Hiller, Palekar, and Zorn  "A Container Type for the Extensible 
   Authentication Protocol (EAP)", http://www.ietf.org/internet-
   drafts/draft-hiller-eap-tlv-00.txt, October 2002 (work in progress) 
    
   [9] J. Salowey, "Protected EAP TLV", draft-salowey-eap-protectedtlv-
   01.txt, March 2003 (work in progress) 

    

 
    

    
Editor's Address 

    
Joseph Salowey  
Cisco Systems  
2901 Third Avenue  
Seattle, WA 98121  
US  
E-mail: jsalowey@cisco.com  
Phone: +1 206 256 3380 
 
Mark Grayson 
Cisco Systems 
11 Rue Desmoulins 
Issy Les Moulineaux 
92782 
France 
E-mail: mgrayson@cisco.com 
Phone: +33 6 19 98 40 99 
 








  
Grayson and Salowey         September 2003                   [Page 13]