Network Working Group                                           R. Droms
Internet-Draft                                             J. Schnizlein
Expires: September 30, October 11, 2004                                  Cisco Systems
                                                          April 1, 12, 2004

   RADIUS Attributes Sub-option for the DHCP Relay Agent Information
                                 Option
                 draft-ietf-dhc-agentopt-radius-05.txt
                 draft-ietf-dhc-agentopt-radius-06.txt

Status of this Memo

   This document is an Internet-Draft

      By submitting this Internet-Draft, I certify that any applicable
      patent or other IPR claims of which I am aware have been
      disclosed, and is any of which I become aware will be disclosed, in full conformance
      accordance with
   all provisions of Section 10 of RFC2026. RFC 3667.

      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 September 30, October 11, 2004.

Copyright Notice

      Copyright (C) The Internet Society (2004). All Rights Reserved.

Abstract

      A NAS (network access server) may choose to authenticate the
      identity of a device before granting that device access to the
      network.  The IEEE 802.1X protocol is an example of a mechanism
      for providing authenticated layer 2 network access.  A network
      element using RADIUS as an authentication authority will receive
      attributes from a RADIUS server that may be used by a DHCP server
      in the selection of configuration parameters to be delivered to
      the device through its DHCP client. The RADIUS Attributes
      sub-option enables a network element to pass along attributes for
      the user of a device received during RADIUS authentication to a
      DHCP server.

   1. Introduction and Background

      The RADIUS Attributes sub-option for the DHCP Relay Agent option
      provides a way in which network elements a NAS can pass information attributes obtained through layer 2 authentication from a
      RADIUS server to a DHCP server [2]. [1].  IEEE 802.1X [2] is an example
      of a mechanism through which a NAS such as a switch or a wireless
      LAN access point can authenticate the identity of the user of a
      device before providing layer 2 network access using RADIUS as the
      Authentication Service specified in RFC3580 [9]. [10].  In 802.1X
      authenticated access, a device must first exchange some
      authentication credentials with the NAS.  The NAS then supplies
      these credentials to a RADIUS server, which eventually sends
      either confirms an Access-Accept or denies the
   identity of the user of the device requesting network access. an Access-Reject in response to an
      Access-Request.  The NAS, based on the reply of the RADIUS server,
      then allows or denies network access to the requesting device.

      Figure 1 summarizes the message exchange among the participants in
      IEEE 802.1X authentication.

         +-----------------+
         |Device requesting|
         | network access  |
         +-----------------+
          |         ^
          |         |
         (1) Request for access
          |         |
          |        (4) Success/Failure
          v         |
         +-----------------+
         |       NAS       |
         |(802.1X and DHCP |
         |   relay agent}  |
         +-----------------+
            |     ^
            |     |
           (2) Request for authentication
            |     |
            |    (3) Authentication confirm/deny Access-Accept/Reject
            v     |
         +-----------------+
         |     RADIUS      |
         |     Service     Server      |
         +-----------------+

                                Figure 1

      In the application described in this document, the access device
      acts as an 802.1X Authenticator and adds DHCP relay agent options
      to DHCP messages. At the successful conclusion of IEEE 802.1X
      authentication, a RADIUS Access-Accept provides attributes for
      service authorizations to the NAS.  The NAS stores these
      attributes locally. When the NAS subsequently forwards DHCP
      messages from the network device, the NAS adds these attributes in
      a RADIUS Attributes sub-option.  The RADIUS Attributes sub-option
      is another suboption of the Relay Agent Information option [4]. [5].

      This document uses IEEE 802.1X as an example to motivate the use
      of RADIUS by a NAS.  The RADIUS Attributes sub-option described in
      this document is not limited to use in conjunction with IEEE
      802.1X and can be used to carry RADIUS attributes obtained by the
      relay agent for any reason.

   2. 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 [1].
      [3].

   2.1 DHCP Terminology

      The following terms are used as defined in RFC2131 and RFC3046:
      DHCP relay agent, DHCP server, DHCP client.

   2.2 RADIUS Terminology

      The following terms are used in conjunction with RADIUS:
      RADIUS server: An entity that provides A RADIUS server is responsible for receiving user
         connection requests, authenticating the user, and then
         returning all configuration information necessary for the
         client to deliver service through to the
      exchange of RADIUS protocol messages user.
      Attribute: Data value carried A Type-Length-Value tuple encapsulating data elements
         as defined in a RADIUS protocol message RFC 2865 [4].
      NAS:  A Network Access Server (NAS) provides access server; unlike to the network
         and operates as a client of RADIUS. The client is responsible
         for passing user information to designated RADIUS servers, and
         then acting on the response which is returned.  Unlike a
         traditional dial NAS, the NAS considered here may not have a
         protocol like PPP through which it can pass configuration
         information from the RADIUS attributes to the client

   2.3 802.1X Terminology

      The following terms are used as defined in the IEEE 802.1X
      protocol: Authenticator, Supplicant.

   3. RADIUS Attributes sub-option format

      The RADIUS Attributes Sub-option is a new sub-option for the DHCP
      Relay Agent option.

      The format of the RADIUS Attributes sub-option is:

        SubOpt   Len     RADIUS attributes
         code
       +-------+-----+------+------+------+------+--...-+------+
       |  TBD  |  N  |  b1  o1  |  b2  o2  |  b3  o3  |  b4  o4  |      |  bN  oN  |
       +-------+-----+------+------+------+------+--...-+------+

      The RADIUS attributes are encoded according to the encoding rules
      in RFC 2865, in bytes octets b1...bN.

      The NAS truncates the RADIUS attributes to fit in the RADIUS
      Attributes sub-option.  For predictable behavior, the RADIUS
      server should be configured to return few than 255 octets of
      RADIUS attributes.

   4. RADIUS Server Behavior

      The RADIUS server that implements this specification MUST be
      configured to return the User-Name and Class attributes to the
      NAS, and MAY return other attributes.

      To avoid dependencies between the address allocation and other
      state information between the RADIUS server and the DHCP server,
      only the attributes in the table below SHOULD be included in this
      sub-option. Because RADIUS servers rely on the directive in
      section 1.1 or RFC 2865 that "A NAS MUST treat a RADIUS
      access-accept authorizing an unavailable service as an
      access-reject instead.", a RADIUS server SHOULD send only those
      attributes for which the relay agent can ensure that either the
      relay agent or the DHCP server will provide the associated
      service.  The following table, based on the analysis in RFC 3580 [9],
      [10], lists attributes that MAY be included:

            #   Attribute
          ---   ---------
            1   User-Name (RFC 2865 [3])
            4   NAS-IP-Address (RFC 2865)
            6   Service-Type (RFC 2865)
           25   Class (RFC 2865)
           26   Vendor-Specific (RFC 2865)
           27   Session-Timeout (RFC 2865)
           30   Called-Station-Id (RFC 2865)
           31   Calling-Station-Id (RFC 2865)
           32   NAS-Identifier (RFC 2865)
           44   Acct-Session-Id (RFC 2866 [5])
           50   Acct-Multi-Session-Id (RFC 2866)
           87   NAS-Port-Id (RFC 2869 [6])
           88   Framed-Pool (RFC 2869)
          100   Framed-IPv6-Pool (RFC 3162 [8])

   5. DHCP Relay Agent Behavior

      When the DHCP relay agent receives a DHCP message from the client,
      it MAY append a DHCP Relay Agent Information option containing the
      RADIUS Attributes sub-option, along with any other sub-options it
      is configured to supply.  The RADIUS Attributes sub-option MUST
      only contain the attributes provided in the RADIUS Access/Accept
      message.  The DHCP relay agent MUST NOT add more than one RADIUS
      Attributes sub-option in a message.

      The relay agent SHOULD include the User-Name and Class attributes
      in the RADIUS Attributes sub-option if available, and MAY include
      other attributes.

   6. DHCP Server Behavior

      When the DHCP server receives a message from a relay agent
      containing a RADIUS Attributes sub-option, it extracts the
      contents of the sub-option and uses that information in selecting
      configuration parameters for the client.  Even if  If the relay agent
      forwards other RADIUS attributes from not included in the RADIUS server, table in Section 4,
      the DHCP server SHOULD ignore any attributes it receives for which it cannot ensure that the
   associated service will be provided either by the DHCP server or the
   relay agent. them.  If the DHCP server uses
      attributes not specified here, it might result in side effects not
      anticipated in the existing RADIUS specifications.

   7. DHCP Client Behavior

      Relay agent options are exchanged only between relay agents and
      DHCP server, so DHCP clients are never aware of their use.

   8. Security Considerations

      Message authentication in DHCP for intradomain use where the
      out-of-band exchange of a shared secret is feasible is defined in
      RFC 3118 [7]. [8].  Potential exposures to attack are discussed in
      section 7 of the DHCP protocol specification in RFC 2131.

      The DHCP Relay Agent option depends on a trusted relationship
      between the DHCP relay agent and the server, as described in
      section 5 of RFC 3046.  While the introduction of fraudulent
      relay-agent options can be prevented by a perimeter defense that
      blocks these options unless the relay agent is trusted, a deeper
      defense using the authentication option for relay agent options [10]
      [11] or IPsec [11] [12] SHOULD be deployed as well.

   9. IANA Considerations

      IANA has assigned the value of TBD for the DHCP Relay Agent
      Information option sub-option code for this sub-option.  This
      document does not define any new namespaces or other constants for
      which IANA must maintain a registry.

   10. Acknowledgments

      Bernard Aboba's expert advice on avoiding RADIUS entanglements is
      gratefully acknowledged.

Normative References

      [1]  Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
           March 1997.

      [2]  Institute of Electrical and Electronics Engineers, "Local and
           Metropolitan Area Networks: Port based Network Access
           Control", IEEE Standard 802.1X, March 2001.

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

   [2]  Droms, R., "Dynamic Host Configuration Protocol", RFC 2131,
        March 1997.

   [3]

      [4]  Rigney, C., Willens, S., Rubens, A. and W. Simpson, "Remote
           Authentication Dial In User Service (RADIUS)", RFC 2865, June
           2000.

   [4]

      [5]  Patrick, M., "DHCP Relay Agent Information Option", RFC 3046,
           January 2001.

Informative References

   [5]

      [6]   Rigney, C., "RADIUS Accounting", RFC 2866, June 2000.

   [6]

      [7]   Rigney, C., Willats, W. and P. Calhoun, "RADIUS Extensions",
            RFC 2869, June 2000.

   [7]

      [8]   Droms, R. and W. Arbaugh, "Authentication for DHCP
            Messages", RFC 3118, June 2001.

   [8]

      [9]   Aboba, B., Zorn, G. and D. Mitton, "RADIUS and IPv6", RFC
            3162, August 2001.

   [9]

      [10]  Congdon, P., Aboba, B., Smith, A., Zorn, G. and J. Roese,
            "IEEE 802.1X Remote Authentication Dial In User Service
            (RADIUS) Usage Guidelines", RFC 3580, September 2003.

   [10]

      [11]  Stapp, M. and T. Lemon, "The Authentication Suboption for
            the DHCP Relay Agent Option",
            draft-ietf-dhc-auth-suboption-02 (work in progress), October
            2003.

   [11]

      [12]  Droms, R., "Authentication of DHCP Relay Agent Options Using
            IPsec", draft-ietf-dhc-relay-agent-ipsec-00 (work in
            progress), September 2003.

Authors' Addresses

   Ralph Droms
   Cisco Systems
   1414 Massachusetts Avenue
   Boxborough, MA  01719
   USA

   EMail: rdroms@cisco.com

   John Schnizlein
   Cisco Systems
   9123 Loughran Road
   Fort Washington, MD  20744
   USA

   EMail: jschnizl@cisco.com

Intellectual Property Statement

      The IETF takes no position regarding the validity or scope of any
   intellectual property
      Intellectual Property Rights 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 nor does it
      represent that it has made any independent effort to identify any
      such rights. Information on the IETF's procedures with respect to
      rights in standards-track and
   standards-related documentation IETF Documents can be found in BCP-11. BCP 78 and BCP 79.

      Copies of
   claims of rights IPR disclosures made available for publication to the IETF Secretariat 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 implementers or users of this
      specification can be obtained from the IETF Secretariat. on-line IPR repository
      at http://www.ietf.org/ipr.

      The IETF invites any interested party to bring to its attention
      any copyrights, patents or patent applications, or other
      proprietary rights which that may cover technology that may be required
      to practice implement this standard. Please address the information to the
      IETF Executive
   Director. at ietf-ipr@ietf.org.

      The IETF has been notified of intellectual property rights claimed
      in regard to some or all of the specification contained in this
      document. For more information consult the online list of claimed
      rights.

Full Copyright Statement

   Copyright (C) The Internet Society (2004). 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

Disclaimer 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 may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process 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 the Internet Society or its successors or assignees. Validity

      This document and the information contained herein is are provided on
      an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
      REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND
      THE INTERNET ENGINEERING TASK FORCE DISCLAIMS DISCLAIM 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 Statement

      Copyright (C) The Internet Society (2004). This document is
      subject to the rights, licenses and restrictions contained in BCP
      78, and except as set forth therein, the authors retain all their
      rights.

Acknowledgment

      Funding for the RFC Editor function is currently provided by the
      Internet Society.