DHC Working Group | L. Yeh |
Internet-Draft | Huawei Technologies |
Intended status: Standards Track | M. Boucadair |
Expires: April 16, 2013 | France Telecom |
T. Lemon | |
Nominum, Inc | |
October 15, 2012 |
RADIUS Option for DHCPv6 Relay Agents on Broadband Access Server
draft-ietf-dhc-dhcpv6-radius-opt-02
The DHCPv6 RADIUS option provides a mechanism to exchange authorization and identification information between relay agent and server. This mechanism is meant to the centralized DHCPv6 server to select the right configuration for the requesting client based on the authorization information received from the RADIUS server, which is not co-located with the DHCPv6 server. NAS acts as DHCPv6 relay agent and RADIUS client simultaneously in this document.
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, 2013.
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.
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], etc. The stateless configuration parameters [RFC3736] include, for example, DNS [RFC3646], or a FQDN of AFTR [RFC6334]. In this document, the DHCPv6 server is deployed in the central part of an ISP network.
RADIUS [RFC2865] is widely used as the centralized authentication, authorization and user management mechanism for the service provision in Broadband access network. [RFC3162], [RFC4818], [RFC6519] and [I-D.ietf-radext-ipv6-access] specified attributes that support the service provision for IPv6-only and IPv6-transition access. RADIUS server authorizes the NAS to assign an IPv6 address or prefix from the indicated pool, or to assign an IPv6 address or prefix with an explicitly indicated value, and other configuration parameters as per the attributes for the subscribers.
These mechanisms work well in the deployment scenarios where the NAS acts as the distributed DHCPv6 server. In that case the NAS directly responds the DHCPv6 messages as per the indication conveyed by the attributes in the Access-Accept message from the RADIUS server. These mechanisms might also work well 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.
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. Definitions for terms and acronyms not specified in this document are defined in [RFC2865] and [RFC3315].
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].
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 | | |Server | +-------+ +-------+ +-------+ | | | |---Solicit---------------->| | | |---Access-Request---------->| | | | | |<--Access-Accept------------| | |(e.g. Delegated-IPv6-Prefix)| | | | DHCPv6 messages RADIUS messages +-------+ |DHCPv6 | |Server | +-------+ | | | | |---Relay-Forward----------->| | | (OPTION_RADIUS) | | | | | |<--Relay-Reply -------------| |<--Advertise---------------| | | (e.g. IA_PD) | | | | | |---Request---------------->| | | (e.g. IA_PD) |---Relay-Forward----------->| | | (OPTION_RADIUS) | | | | | |<--Relay-Reply -------------| |<--Reply-------------------| | | (e.g. IA_PD) | | | | | 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 | | |Server | +-------+ +-------+ +-------+ | | | |--PPP LCP Config-Request-->| | | |---Access-Request---------->| | | | | |<--Access-Accept------------| |<----PPP LCP Config-ACK----|(e.g. Delegated-IPv6-Prefix)| | | | PPP messages RADIUS messages +-------+ |DHCPv6 | |Server | +-------+ | | | |---Solicit---------------->| | | |---Relay-Forward----------->| | | (OPTION_RADIUS) | | | | | |<--Relay-Reply -------------| |<--Advertise---------------| | | (e.g. IA_PD) | | | | | |---Request---------------->| | | (e.g. IA_PD) |---Relay-Forward----------->| | | (OPTION_RADIUS) | | | | |<--Relay-Reply -------------| |<--Reply-------------------| | | (e.g. IA_PD) | | | | | 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. After receiving RENEW (5) message from the DHCPv6 client, NAS does not have to initiate a new Access-Request/Access message exchange with the RADIUS server; but after receiving REBIND (6) message from the DHCPv6 client, NAS has to initiate a new Access-Request/Access message exchange with the RADIUS server.
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) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 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] 123 Delegated-IPv6-Prefix [RFC4818] 144 DS-Lite-Tunnel-Name [RFC6519] [TBD] Framed-IPv6-Address [I-D.ietf-radext-ipv6-access] [TBD] Stateful-IPv6-Address-Pool [I-D.ietf-radext-ipv6-access] [TBD] Delegated-IPv6-Prefix-Pool [I-D.ietf-radext-ipv6-access] [TBD] DNS-Server-IPv6-Address [I-D.ietf-radext-ipv6-access]
Note: The above table might have more attributes to join in the future.
The DHCPv6 relay agent may include OPTION_RADIUS in the RELAY-FORW (12) message. When the value in the attributes of Stateful-IPv6-Address-Pool, Delegated-IPv6-Prefix-Pool, Delegated-IPv6-Prefix (123) or Framed-IPv6-Address in the Access-Accept message replied from RADIUS server are valid, the relay agent that supports OPTION_RADIUS SHOULD include these RADIUS attributes into the container option, OPTION_RADIUS. The relay agent MUST silently discard OPTION_RADIUS if received.
Upon receipt of the RELAY-FORW (12) 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 MUST silently discard this option. The DHCPv6 server MUST NOT include OPTION_RADIUS in RELAY-REPL (13) messages.
OPTION_RADIUS option is only sent from the relay agents to 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.
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].
The authors of this document request to assign a new DHCPv6 option code for OPTION_RADIUS.
Expert comments from Bernie Volz and Tomek Mrugalski for the discussion on the technology selection in the mailing list are appreciated.
[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. |
[RFC6334] | Hankins, D. and T. Mrugalski, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite", RFC 6334, August 2011. |