DHC Working Group                                            L. Yeh, Ed.
Internet-Draft                                       Huawei Technologies
Intended status: Standards Track                            M. Boucadair
Expires: November 8, 2012 January 31, 2013                                 France Telecom
                                                                T. Lemon
                                                            Nominum, Inc
                                                             May 7,
                                                           July 30, 2012

    RADIUS Option for DHCPv6 Relay Agents on Broadband Access Server
                  draft-ietf-dhc-dhcpv6-radius-opt-00
                  draft-ietf-dhc-dhcpv6-radius-opt-01

Abstract

   The DHCPv6 RADIUS option provides a communication mechanism between
   relay agent and the server.  This mechanism can help the centralized
   DHCPv6 server to select the right configuration for the client based
   on the authorization information received from a separate RADIUS
   server which is not located at the same place of DHCPv6 server in the
   cases where the NAS acts as DHCPv6 relay agent and RADIUS client
   simultaneously.

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 November 8, 2012. January 31, 2013.

Copyright Notice

   Copyright (c) 2012 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
   2.  Terminology and Language  . . . . . . . . . . . . . . . . . . . 3
   3.  Network Scenarios . . . . . . . . . . . . . . . . . . . . . . . 4
   4.  OPTION_RADIUS . . . . . . . . . . . . . . . . . . . . . . . . . 6
   5.  Relay Agent Behavior  . . . . . . . . . . . . . . . . . . . . . 6
   6.  Server Behavior . . . . . . . . . . . . . . . . . . . . . . . . 7
   7.  Client Behavior . . . . . . . . . . . . . . . . . . . . . . . . 7
   8.  Security Considerations . . . . . . . . . . . . . . . . . . . . 7
   9.  IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
   10. Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . 7
   11. References  . . . . . . . . . . . . . . . . . . . . . . . . . . 7 8
     11.1.  Normative References . . . . . . . . . . . . . . . . . . . 7 8
     11.2.  Informative References . . . . . . . . . . . . . . . . . . 8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . . . 8

1.  Introduction

   DHCPv6 provides a mechanism that allows the server to assign or
   delegate both stateful and stateless configuration parameters to the
   clients.  The stateful configuration parameters include IPv6 address
   [RFC3315], IPv6 prefix [RFC3633], and etc.  The stateless
   configuration parameters [RFC3736] include, for example, DNS
   [RFC3646].  The DHCPv6 server is typically deployed in the central
   part of an ISP network.

   RADIUS [RFC2865], an essentially stateless protocol, is used widely
   as the centralized authentication, authorization and user management
   mechanism for the service provision in Broadband access network.
   [RFC3162], [RFC4818] and [ietf-radext-ipv6-access-06] [ietf-radext-ipv6-access-10] specify
   attributes that supports the provision of service for IPv6 access.
   RADIUS authorizes that the NAS assigns to assign an IPv6 address or prefix from
   the indicated pool, or assigns to assign an IPv6 address or prefix with an
   explicitly indicated value in the attributes for the subscribers.

   These mechanisms work well in the deployment scenario where the NAS
   acts as the distributed DHCPv6 server.  In this case the NAS responds
   as the indication conveyed by the attributes in the Access-Accept
   message from the RADIUS server.  These mechanisms also work in the
   scenario where the centralized DHCPv6 server is co-located with the
   RADIUS server, where they can share the same database of the users.
   But when the NAS acts as the relay agent and RADIUS client
   simultaneously, and the centralized DHCPv6 server is not located in
   the same place as the RADIUS server, a new communication mechanism is
   needed for the relay agent to transfer the authorization information
   indicated by the RADIUS attributes to the DHCPv6 server.

2.  Terminology and Language

   This document specifies a DHCPv6 option for the distributed Relay
   Agent to transfer the authorization information of RADIUS attributes
   received in the Access-Accept message to the centralized DHCPv6
   server.  This document should be read in conjunction with the
   following specifications: [RFC2865], [RFC2869], [RFC3315] and
   [RFC4818].  These specifications will help the reader to understand
   how DHCPv6 and RADIUS work together to provide IPv6 service.
   Definitions for terms and acronyms not specified in this document are
   defined in [RFC2865], [RFC2869], [RFC3315] and [RFC4818].

   The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
   SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
   document, are to be interpreted as described in BCP 14, [RFC2119].

3.  Network Scenarios

   Figure 1 and Figure 2 shows the typical network scenarios where the
   communication mechanism introduced in this document is necessary.  In
   these scenarios, the centralized DHCPv6 server is not co-located with
   the RADIUS server, but both of them are in the same administrative
   domain.  The NAS acts as the relay agent and the RADIUS client
   simultaneously.  Figure 1 shows the sequence of DHCPv6 and RADIUS
   messages for IPoE access mode.  Figure 2 shows the sequence of DHCPv6
   and RADIUS messages for PPPoE access mode.

   +-------+                   +-------+                    +-------+
   |DHCPv6 |   Access Mode:    |  NAS  |                    |Radius |
   |Client |       IPoE        |(DHCPv6|                    |Server |
   |       |                   | Relay)|                    |       |
   +-------+                   +-------+                    +-------+
       |                           |                            |
       |---Solicit---------------->|                            |
                                   |---Access-Request---------->|
                                   |<--Access-Accept------------|
                                   |   (e.g. Framed-Pool)
                                   |   (e.g. Delegated-IPv6-Prefix)

              DHCPv6 messages             RADIUS messages

                                   |                        +-------+
                                   |                        |DHCPv6 |
                                   |                        |Server |
                                   |                        |       |
                                   |                        +-------+
                                   |---Relay-Forward----------->|
                                   |   (OPTION_RADIUS)
                                   |
                                   |<--Relay-Reply -------------|
       |<--Advertise---------------|
           (e.g. Prefix, Address)  |
       |---Request---------------->|
           (e.g. Prefix, Address)  |
                                   |---Relay-Forward----------->|
                                   |   (OPTION_RADIUS)
                                   |
                                   |<--Relay-Reply -------------|
       |<--Reply-------------------|
           (e.g. Prefix, Address)  |

              DHCPv6 messages             DHCPv6 messages

   Figure 1: Network scenario and message sequence when employing DHCPv6
                       RADIUS option in IPoE access

   +-------+                   +-------+                    +-------+
   |DHCPv6 |   Access Mode:    |  NAS  |                    |Radius |
   |Client |      PPPoE        |(DHCPv6|                    |Server |
   |       |                   | Relay)|                    |       |
   +-------+                   +-------+                    +-------+
       |                           |                            |
       |--PPP LCP Config-Request-->|                            |
                                   |---Access-Request---------->|
                                   |<--Access-Accept------------|
                                   |   (e.g. Framed-Pool)
                                   |   (e.g. Delegated-IPv6-Prefix)
                                   |
       |<----PPP LCP Config-ACK----|

               PPP messages               RADIUS messages

                                   |                        +-------+
                                   |                        |DHCPv6 |
                                   |                        |Server |
                                   |                        |       |
                                   |                        +-------+
       |---Solicit---------------->|                            |
                                   |---Relay-Forward----------->|
                                   |   (OPTION_RADIUS)
                                   |
                                   |<--Relay-Reply -------------|
       |<--Advertise---------------|
           (e.g. Prefix, Address)  |
       |---Request---------------->|
           (e.g. Prefix, Address)  |
                                   |---Relay-Forward----------->|
                                   |   (OPTION_RADIUS)
                                   |
                                   |<--Relay-Reply -------------|
       |<--Reply-------------------|
           (e.g. Prefix, Address)  |

              DHCPv6 messages             DHCPv6 messages

   Figure 2: Network scenario and message sequence when employing DHCPv6
                       RADIUS option in PPPoE access

   If the authorization through RADIUS fails, the associated message
   sequences will stop.  The DHCPv6 relay will not forward the message
   from the client to the server.

4.  OPTION_RADIUS

   The OPTION_RADIUS is a stateless DHCPv6 option, and is used by the
   relay agent to carry the authorization information of RADIUS
   attributes received in the Access-Accept message.

   The format of the OPTION_RADIUS option is defined as follows:

    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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |         OPTION_RADIUS         |         option-length         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            option-data (List of RADIUS Attributes... Attributes)
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   option-code      TBD
   option-length    Length of the option-data in Octets
   option-data      One or a list of RADIUS Attributes

   The option-data of OPTION_RADIUS is one or a list of RADIUS
   attributes received in the Access-Accept message from the RADIUS
   server.  As the same method in [RFC4014], only the attributes listed
   in the table below may be included in the OPTION_RADIUS.

   Type Code  Attribute                   Reference
   26         Vendor-Specific             [RFC2865]
   88         Framed-Pool                 [RFC2869]
   123        Delegated-IPv6-Prefix       [RFC4818]
   [TBD]      Framed-IPv6-Address      [ietf-radext-ipv6-access-06]         [ietf-radext-ipv6-access-10]
   [TBD]      Stateful-IPv6-Address-Pool  [ietf-radext-ipv6-access-10]
   [TBD]      Delegated-IPv6-Prefix-Pool  [ietf-radext-ipv6-access-10]
   [TBD]      DNS-Server-IPv6-Address     [ietf-radext-ipv6-access-10]

   Note: The above table might have more attributes in the future.

5.  Relay Agent Behavior

   The DHCPv6 relay agent may include OPTION_RADIUS in the RELAY-FORW
   (12) message.  When the value in the attributes of Framed-Pool (88), (88)
   (or Stateful-IPv6-Address-Pool, Delegated-IPv6-Prefix-Pool,) Delegated-
   IPv6-Prefix Delegated-IPv6-Prefix-Pool),
   Delegated-IPv6-Prefix (123) and Framed-IPv6-Address in the Access-Accept Access-
   Accept message replied from RADIUS server are valid, the relay agent
   that supports OPTION_RADIUS SHOULD include these RADIUS attributes in
   the container option, OPTION_RADIUS.  The relay agent MUST ignore
   OPTION_RADIUS if received.

6.  Server Behavior

   Upon receipt of the RELAY-FORW message with OPTION_RADIUS from a
   relay agent, the DHCPv6 server SHOULD extract and interpret the
   RADIUS attributes in the OPTION_RADIUS, and use that information in
   selecting configuration parameters for the requesting client.  If the
   DHCPv6 server does not support OPTION_RADIUS, the DHCPv6 server
   SHOULD ignore this option.  The DHCPv6 server MUST NOT include
   OPTION_RADIUS in RELAY-REPL messages.

7.  Client Behavior

   OPTION_RADIUS option is only exchanged between the relay agents and
   the servers.  DHCPv6 clients are not aware of the usage of
   OPTION_RADIUS.  DHCPv6 Client MUST NOT send OPTION_RADIUS, and MUST
   ignore OPTION_RADIUS if received.

8.  Security Considerations

   Known security vulnerabilities of the DHCPv6 and RADIUS protocol may
   apply to its options.  Security issues related with DHCPv6 are
   described in section 23 of [RFC3315].  Security issues related with
   RADIUS are described in section 8 of [RFC2865], section 5 of
   [RFC3162].

9.  IANA Considerations

   The authors of this document request to assign a new DHCPv6 option
   code for OPTION_RADIUS.

10.  Acknowledgements

   Expert comments from Bernie Volz and Tomek Mrugalski for the
   discussion on the technology selection in the mailing list are
   appreciated.

11.  References
11.1.  Normative References

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

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

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

   [RFC3315]  Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C.,
              and M. Carney, "Dynamic Host Configuration Protocol for
              IPv6 (DHCPv6)", RFC 3315, July 2003.

   [RFC3736]  Droms, R., "Stateless Dynamic Host Configuration Protocol
              (DHCP) Service for IPv6", RFC 3736, April 2004.

   [RFC4014]  Droms, R. and J. Schnizlein, "Remote Authentication
              Dial-In User Service (RADIUS) Attributes Suboption for the
              Dynamic Host Configuration Protocol (DHCP) Relay Agent
              Information Option", RFC 4014, February 2005.

   [RFC4818]  Salowey, J. and R. Droms, "RADIUS Delegated-IPv6-Prefix
              Attribute", RFC 4818, April 2007.

11.2.  Informative References

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

   [RFC3633]  Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic
              Host Configuration Protocol (DHCP) version 6", RFC 3633,
              December 2003.

   [RFC3646]  Droms, R., "DNS Configuration options for Dynamic Host
              Configuration Protocol for IPv6 (DHCPv6)", RFC 3646,
              December 2003.

   [ietf-radext-ipv6-access-06]

   [ietf-radext-ipv6-access-10]
              Lourdelet, B., Dec, W., Sarikaya, B., Zorn, G., and D.
              Miles, "RADIUS attributes for IPv6 Access Networks",
              July 2011.

Authors' Addresses

   Leaf Y. Yeh (editor)
   Huawei Technologies
   P. R. China

   Email: leaf.y.yeh@huawei.com

   Mohamed Boucadair
   France Telecom
   France

   Email: mohamed.boucadair@orange.com

   Ted Lemon
   Nominum, Inc
   USA

   Email: Ted.Lemon@nominum.com