idnits 2.17.1 draft-ietf-dhc-dhcpv6-radius-opt-14.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 29, 2013) is 3895 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) ** Obsolete normative reference: RFC 5226 (Obsoleted by RFC 8126) -- Obsolete informational reference (is this intentional?): RFC 3633 (Obsoleted by RFC 8415) -- Obsolete informational reference (is this intentional?): RFC 3736 (Obsoleted by RFC 8415) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DHC Working Group L. Yeh 3 Internet-Draft Freelancer Technologies 4 Intended status: Standards Track M. Boucadair 5 Expires: January 30, 2014 France Telecom 6 July 29, 2013 8 RADIUS Option for DHCPv6 Relay Agent 9 draft-ietf-dhc-dhcpv6-radius-opt-14 11 Abstract 13 The DHCPv6 RADIUS option provides a mechanism to exchange 14 authorization and identification information between DHCPv6 relay 15 agent and DHCPv6 server. This architecture assumes that the Network 16 Access Server(NAS) acts as both DHCPv6 relay agent and RADIUS client. 17 When receiving messages from the DHCPv6 clients, the NAS consults the 18 RADIUS server and adds the RADIUS response when forwarding the DHCPv6 19 client's messages to the DHCPv6 server. The DHCPv6 server then uses 20 that additional information to generate appropriate response to the 21 DHCPv6 client's requests. 23 Status of this Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on January 30, 2014. 40 Copyright Notice 42 Copyright (c) 2013 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. Terminology and Language . . . . . . . . . . . . . . . . . . . 3 59 3. Network Scenarios . . . . . . . . . . . . . . . . . . . . . . 4 60 4. DHCPv6 RADIUS option . . . . . . . . . . . . . . . . . . . . . 7 61 4.1. RADIUS attributes permitted in DHCPv6 RADIUS option . . . 8 62 5. DHCPv6 Relay Agent Behavior . . . . . . . . . . . . . . . . . 8 63 6. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . . . . 8 64 7. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . . . . 8 65 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 66 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 67 10. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 10 68 11. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 69 11.1. Normative References . . . . . . . . . . . . . . . . . . . 10 70 11.2. Informative References . . . . . . . . . . . . . . . . . . 11 71 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 73 1. Introduction 75 DHCPv6 provides a mechanism that allows the server to assign or 76 delegate both stateful and stateless configuration parameters to the 77 clients. The stateful configuration parameters include IPv6 address 78 [RFC3315] and IPv6 prefix [RFC3633]. The stateless configuration 79 parameters [RFC3736] include, for example, DNS [RFC3646], or a FQDN 80 of AFTR [RFC6334]. In the scenarios described in this document, the 81 DHCPv6 server is deployed in the central part of an ISP network. 83 RADIUS [RFC2865] is widely used as the centralized authentication, 84 authorization and user management mechanism for service provision in 85 Broadband access network. [RFC3162], [RFC4818], [RFC6519] and 86 [RFC6911] specified the attributes that support the service provision 87 for IPv6-only and IPv6-transition access. The RADIUS server 88 authorizes the Network Access Server (NAS) to assign an IPv6 address 89 or prefix from the indicated pool, or to assign an IPv6 address or 90 prefix with an explicitly indicated value, and other configuration 91 parameters as per the attributes for the subscribers. 93 When the NAS acts as distributed DHCPv6 server and RADIUS client 94 simultaneously, it communicates with RADIUS server after receiving 95 request from DHCPv6 client. Upon receiving the Access-Accept message 96 from the RADIUS server, the NAS then responds to the DHCPv6 client's 97 requests per the associated authorization information indicated by 98 the RADIUS attributes in the Access-Accept message. When NAS acts as 99 DHCPv6 relay agent and RADIUS client simultaneously, and the 100 centralized DHCPv6 server is co-located with the RADIUS server, they 101 may share the same database of the users; but when the centralized 102 DHCPv6 server is not located in the same place as the RADIUS server, 103 a new communication mechanism is needed for the DHCPv6 relay agent to 104 transfer the authorization information indicated by the RADIUS 105 attributes to the DHCPv6 server. 107 2. Terminology and Language 109 This document specifies a new DHCPv6 option for the DHCPv6 Relay 110 Agent to transfer the authorization information of RADIUS attributes 111 received in the Access-Accept message from the RADIUS server to the 112 centralized DHCPv6 server. Definitions for terms and acronyms not 113 specified in this document are defined in [RFC2865] and [RFC3315]. 115 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 116 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 117 document are to be interpreted as described in [RFC2119]. 119 3. Network Scenarios 121 Figure 1 and Figure 2 show the typical network scenarios where the 122 communication mechanism introduced in this document is necessary. In 123 these scenarios, the centralized DHCPv6 server is not co-located with 124 the RADIUS server, but both of them are in the same administrative 125 domain. The NAS acts as the DHCPv6 relay agent and the RADIUS client 126 simultaneously. Figure 1 shows the sequence of DHCPv6 and RADIUS 127 messages for IP over Ethernet (IPoE) access model, when the access 128 loop adopts the direct Ethernet encapsulation. Figure 2 shows the 129 sequence of DHCPv6 and RADIUS messages for PPP over Ethernet (PPPoE) 130 access model. 132 The mechanism introduced in this document is a generic mechanism, and 133 might also be employed in other network scenarios where the DHCPv6 134 relay agent and the RADIUS client locate in the same device. 136 +-------+ +-------+ +-------+ 137 |DHCPv6 | Access Model: | NAS | |RADIUS | 138 |Client | IPoE | | |Server | 139 +-------+ +-------+ +-------+ 140 RADIUS Client/DHCPv6 Relay Agent 142 | | | 143 |---Solicit---------------->| | 144 | |---Access-Request---------->| 145 | | | 146 | |<--Access-Accept------------| 147 | |(e.g. Delegated-IPv6-Prefix)| 148 | | | 150 DHCPv6 messages RADIUS messages 152 +-------+ 153 |DHCPv6 | 154 |Server | 155 +-------+ 156 | | | 157 | |---Relay-forward----------->| 158 | | (OPTION_RADIUS) | 159 | | | 160 | |<--Relay-reply -------------| 161 |<--Advertise---------------| | 162 | (e.g. IA_PD) | | 163 | | | 164 |---Request---------------->| | 165 | (e.g. IA_PD) |---Relay-forward----------->| 166 | | (OPTION_RADIUS) | 167 | | | 168 | |<--Relay-reply -------------| 169 |<--Reply-------------------| | 170 | (e.g. IA_PD) | | 171 | | | 173 DHCPv6 messages DHCPv6 messages 175 Figure 1: Network scenario and message sequence when employing DHCPv6 176 RADIUS option in IPoE access 178 +-------+ +-------+ +-------+ 179 |DHCPv6 | Access Model: | NAS | |RADIUS | 180 |Client | PPPoE | | |Server | 181 +-------+ +-------+ +-------+ 182 RADIUS Client/DHCPv6 Relay Agent 184 | | | 185 |--PPP LCP Config-Request-->| | 186 | |---Access-Request---------->| 187 | | | 188 | |<--Access-Accept------------| 189 |<----PPP LCP Config-ACK----|(e.g. Delegated-IPv6-Prefix)| 190 | | | 192 PPP messages RADIUS messages 194 +-------+ 195 |DHCPv6 | 196 |Server | 197 +-------+ 198 | | | 199 |---Solicit---------------->| | 200 | |---Relay-forward----------->| 201 | | (OPTION_RADIUS) | 202 | | | 203 | |<--Relay-reply -------------| 204 |<--Advertise---------------| | 205 | (e.g. IA_PD) | | 206 | | | 207 |---Request---------------->| | 208 | (e.g. IA_PD) |---Relay-forward----------->| 209 | | (OPTION_RADIUS) 210 | | | 211 | |<--Relay-reply -------------| 212 |<--Reply-------------------| | 213 | (e.g. IA_PD) | | 214 | | | 216 DHCPv6 messages DHCPv6 messages 218 Figure 2: Network scenario and message sequence when employing DHCPv6 219 RADIUS option in PPPoE access 221 If the authentication or the authorization through RADIUS fails, the 222 associated message sequences will stop. The NAS acting as the DHCPv6 223 relay agent will not forward the message received from the client to 224 the DHCPv6 server. If the authentication or the authorization 225 through RADIUS passes, the NAS MUST store the information indicated 226 in the RADIUS attributes received in the Access-Accept message from 227 the RADIUS server during the whole session. How the NAS manages 228 these information during the RADIUS session is out of the scope of 229 this document. 231 After receiving RENEW (5) message from the DHCPv6 client, the NAS 232 SHOULD NOT initiate a new Access-Request/Access-Accept message 233 exchange with the RADIUS server. After receiving REBIND (6) message 234 from the DHCPv6 client, the NAS MUST initiate a new Access-Request/ 235 Access-Accept message exchange with the RADIUS server, unless RADIUS 236 capability is disabled on the NAS. 238 4. DHCPv6 RADIUS option 240 The OPTION_RADIUS is a DHCPv6 option used by the DHCPv6 relay agent 241 to carry the authorization information of RADIUS attributes received 242 in the Access-Accept message from the RADIUS server. 244 The format of the OPTION_RADIUS option is defined as follows: 246 0 1 2 3 247 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 248 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 249 | OPTION_RADIUS | option-len | 250 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 251 | option-data (List of RADIUS Attributes) 252 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 254 option-code TBD 255 option-len Length of the option-data in octets 256 option-data List of one or more RADIUS attributes 258 The option-data of OPTION_RADIUS is a list of one or more RADIUS 259 attributes received in the Access-Accept message from the RADIUS 260 server. The format of RADIUS attributes is defined in section 5 of 261 [RFC2865] as well as sections 2.1 and 2.2 of [RFC6929]. If multiple 262 attributes with the same type (including the Long Extended type 263 defined in sections 2.2 of [RFC6929]) are present, the order of 264 attributes with the same type MUST be the same as that received from 265 the RADIUS server. The OPTION_RADIUS can only contain the RADIUS 266 attributes listed in the IANA Registry of 'RADIUS attributes 267 permitted in DHCPv6 RADIUS option'. 269 According to the network scenarios described in section 3, the 270 OPTION_RADIUS should appear in the RELAY-FORW (12) message relaying 271 SOLICIT (1), REQUEST (3) and REBIND (6) from the DHCPv6 client, and 272 may appear in the RELAY-FORW (12) relaying any other message from the 273 DHCPv6 client. 275 4.1. RADIUS attributes permitted in DHCPv6 RADIUS option 277 The RADIUS attributes listed in the below table are recommended as 278 the first batch of attributes in the IANA Registry of 'RADIUS 279 attributes permitted in DHCPv6 RADIUS option'. New RADIUS attributes 280 can be added to this list after Expert Review [RFC5226]. 282 Type Code Attribute Reference 283 26 Vendor-Specific [RFC2865] 284 123 Delegated-IPv6-Prefix [RFC4818] 285 144 DS-Lite-Tunnel-Name [RFC6519] 286 168 Framed-IPv6-Address [RFC6911] 287 169 DNS-Server-IPv6-Address [RFC6911] 288 171 Delegated-IPv6-Prefix-Pool [RFC6911] 289 172 Stateful-IPv6-Address-Pool [RFC6911] 291 Note: The RADIUS attribute's 'Length' defined in section 5 of 292 [RFC2865] includes the length of 'Type' and 'Length' fields. 294 5. DHCPv6 Relay Agent Behavior 296 If the Relay Agent is configured to send OPTION_RADIUS, and the 297 Access-Accept message from the RADIUS server contained RADIUS 298 attributes permitted for use in OPTION_RADIUS, the Relay Agent MUST 299 include OPTION_RADIUS in the RELAY-FORW (12) message. The DHCPv6 300 relay agent includes the permitted RADIUS attributes into 301 OPTION_RADIUS one by one; if multiple attributes with the same type 302 are present, the order of attributes with the same type MUST be the 303 same as that received from the RADIUS server. 305 6. DHCPv6 Server Behavior 307 Upon receipt of the RELAY-FORW (12) message with OPTION_RADIUS from a 308 relay agent, the DHCPv6 server that supports OPTION_RADIUS SHOULD 309 extract and interpret the RADIUS attributes in the OPTION_RADIUS, and 310 use that information in selecting configuration parameters for the 311 requesting client. If the DHCPv6 server does not support 312 OPTION_RADIUS, the DHCPv6 server MUST silently discard this option. 314 7. DHCPv6 Client Behavior 316 OPTION_RADIUS is only exchanged between the relay agents and the 317 servers. DHCPv6 clients are not aware of the usage of OPTION_RADIUS. 319 DHCPv6 client MUST NOT send OPTION_RADIUS, and MUST ignore 320 OPTION_RADIUS if received. 322 8. Security Considerations 324 Known security vulnerabilities of the DHCPv6 and RADIUS protocol may 325 apply to its options. Security issues related with DHCPv6 are 326 described in section 23 of [RFC3315]. Security issues related with 327 RADIUS are described in section 8 of [RFC2865], section 5 of 328 [RFC3162], section 11 of [RFC6929]. 330 The mechanism described in this document may introduce new attack 331 vector against the DHCPv6 server in case the DHCPv6 relay agent is 332 compromised. By forging the RADIUS attributes contained in the 333 OPTION_RADIUS of the RELAY-FORW (12) messages, the attacker may 334 influence the parameter assignment on the DHCPv6 server for the 335 DHCPv6 clients. However, as those network scenarios described in the 336 section 3, NAS always belongs to the same administrative domain of 337 the DHCPv6 server in the real deployment. 339 Network administrators should be aware that although RADIUS messages 340 are encrypted, DHCPv6 messages are always not encrypted. It is 341 possible that some RADIUS vendor-specific attributes might contain 342 the sensitive or confidential information. Network administrators 343 are strongly advised to prevent including such information into 344 DHCPv6 messages. 346 If the use of vendor-specific attributes with confidential content is 347 required, administrators are advised to use IPsec with encryption to 348 protect the confidentiality of the RADIUS attributes. Relay agents 349 and servers implementing this specification MUST support the use of 350 IPsec ESP with encryption in transport mode according to section 351 3.1.1 of [RFC4303] and section 21.1 of [RFC3315]. 353 9. IANA Considerations 355 This document requests to assign a new DHCPv6 option code for 356 OPTION_RADIUS defined in section 4, and to create a new registry on 357 the same assignment page, which is entitled as 'RADIUS attributes 358 permitted in DHCPv6 RADIUS option' defined in section 4.1. The new 359 registry will enumerate the RADIUS Attributes Types 360 (http://www.iana.org/assignments/radius-types/radius-types.xml) that 361 are permitted to be included in the DHCPv6 RADIUS option. The 362 allocation policy of this 'RADIUS attributes permitted in DHCPv6 363 RADIUS option' registry is Expert Review [RFC5226]. Designated 364 expert should carefully consider the security implications of 365 allowing the relay agent to include new RADIUS attribute for the 366 addition to this registry. 368 10. Acknowledgements 370 Thanks to Tomek Mrugalski, Bernie Volz, Gaurav Halwasia and Roberta 371 Maglione for their thorough review comments in the mailing list of 372 DHC working group, to Ted Lemon for his continuous encouragement and 373 technical guidance. 375 11. References 377 11.1. Normative References 379 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 380 Requirement Levels", BCP 14, RFC 2119, March 1997. 382 [RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, 383 "Remote Authentication Dial In User Service (RADIUS)", 384 RFC 2865, June 2000. 386 [RFC3315] Droms, R., Bound, J., Volz, B., Lemon, T., Perkins, C., 387 and M. Carney, "Dynamic Host Configuration Protocol for 388 IPv6 (DHCPv6)", RFC 3315, July 2003. 390 [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", 391 RFC 4303, December 2005. 393 [RFC4818] Salowey, J. and R. Droms, "RADIUS Delegated-IPv6-Prefix 394 Attribute", RFC 4818, April 2007. 396 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 397 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 398 May 2008. 400 [RFC6519] Maglione, R. and A. Durand, "RADIUS Extensions for Dual- 401 Stack Lite", RFC 6519, February 2012. 403 [RFC6911] Dec, W., Sarikaya, B., Zorn, G., Miles, D., and B. 404 Lourdelet, "RADIUS Attributes for IPv6 Access Networks", 405 RFC 6911, April 2013. 407 [RFC6929] DeKok, A. and A. Lior, "Remote Authentication Dial In User 408 Service (RADIUS) Protocol Extensions", RFC 6929, 409 April 2013. 411 11.2. Informative References 413 [RFC3162] Aboba, B., Zorn, G., and D. Mitton, "RADIUS and IPv6", 414 RFC 3162, August 2001. 416 [RFC3633] Troan, O. and R. Droms, "IPv6 Prefix Options for Dynamic 417 Host Configuration Protocol (DHCP) version 6", RFC 3633, 418 December 2003. 420 [RFC3646] Droms, R., "DNS Configuration options for Dynamic Host 421 Configuration Protocol for IPv6 (DHCPv6)", RFC 3646, 422 December 2003. 424 [RFC3736] Droms, R., "Stateless Dynamic Host Configuration Protocol 425 (DHCP) Service for IPv6", RFC 3736, April 2004. 427 [RFC6334] Hankins, D. and T. Mrugalski, "Dynamic Host Configuration 428 Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite", 429 RFC 6334, August 2011. 431 Authors' Addresses 433 Leaf Y. Yeh 434 Freelancer Technologies 435 P. R. China 437 Email: leaf.yeh.sdo@gmail.com 439 Mohamed Boucadair 440 France Telecom 441 France 443 Email: mohamed.boucadair@orange.com