idnits 2.17.1 draft-ietf-dime-mip6-split-16.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** The document seems to lack a License Notice according IETF Trust Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009 Section 6.b -- however, there's a paragraph with a matching beginning. Boilerplate error? -- It seems you're using the 'non-IETF stream' Licence Notice instead 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 seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (December 29, 2008) is 5590 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) == Outdated reference: A later version (-12) exists of draft-ietf-dime-mip6-integrated-11 == Outdated reference: A later version (-15) exists of draft-ietf-dime-qos-attributes-09 ** Obsolete normative reference: RFC 3588 (Obsoleted by RFC 6733) ** Obsolete normative reference: RFC 3775 (Obsoleted by RFC 6275) ** Obsolete normative reference: RFC 4005 (Obsoleted by RFC 7155) ** Obsolete normative reference: RFC 4306 (Obsoleted by RFC 5996) == Outdated reference: A later version (-28) exists of draft-ietf-dime-app-design-guide-08 == Outdated reference: A later version (-10) exists of draft-ietf-mext-nemo-v4traversal-07 -- Obsolete informational reference (is this intentional?): RFC 5226 (Obsoleted by RFC 8126) Summary: 5 errors (**), 0 flaws (~~), 5 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Diameter Maintenance and J. Korhonen, Ed. 3 Extensions (DIME) H. Tschofenig 4 Internet-Draft Nokia Siemens Networks 5 Intended status: Standards Track J. Bournelle 6 Expires: July 2, 2009 Orange Labs 7 G. Giaretta 8 Qualcomm 9 M. Nakhjiri 10 Motorola 11 December 29, 2008 13 Diameter Mobile IPv6: Support for Home Agent to Diameter Server 14 Interaction 15 draft-ietf-dime-mip6-split-16.txt 17 Status of this Memo 19 This Internet-Draft is submitted to IETF in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF), its areas, and its working groups. Note that 24 other groups may also distribute working documents as Internet- 25 Drafts. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 The list of current Internet-Drafts can be accessed at 33 http://www.ietf.org/ietf/1id-abstracts.txt. 35 The list of Internet-Draft Shadow Directories can be accessed at 36 http://www.ietf.org/shadow.html. 38 This Internet-Draft will expire on July 2, 2009. 40 Copyright Notice 42 Copyright (c) 2008 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. 52 Abstract 54 Mobile IPv6 deployments may want to bootstrap their operations 55 dynamically based on an interaction between the Home Agent and the 56 Diameter server of the Mobile Service Provider. This document 57 specifies the interaction between a Mobile IP Home Agent and that 58 Diameter server. 60 Several different mechanisms for authenticating a Mobile Node are 61 supported. The usage of the Internet Key Exchange v2 protocol allows 62 different mechanisms, such as the Extensible Authentication Protocol, 63 certificates and pre-shared secrets to be used. Furthermore, another 64 method makes use of the Mobile IPv6 Authentication Protocol. In 65 addition to authentication and authorization, the configuration of 66 Mobile IPv6 specific parameters and accounting is specified in this 67 document. 69 Table of Contents 71 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 6 72 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 9 73 3. Application Identifiers . . . . . . . . . . . . . . . . . . . 10 74 4. Protocol Description . . . . . . . . . . . . . . . . . . . . . 11 75 4.1. Support for Mobile IPv6 with IKEv2 and EAP . . . . . . . . 11 76 4.2. Support for the Mobile IPv6 Authentication Protocol . . . 14 77 4.3. Mobile IPv6 Session Management . . . . . . . . . . . . . . 15 78 4.3.1. Session-Termination-Request . . . . . . . . . . . . . 15 79 4.3.2. Session-Termination-Answer . . . . . . . . . . . . . . 15 80 4.3.3. Abort-Session-Request . . . . . . . . . . . . . . . . 16 81 4.3.4. Abort-Session-Answer . . . . . . . . . . . . . . . . . 16 82 4.4. Accounting for Mobile IPv6 services . . . . . . . . . . . 16 83 4.4.1. Accounting-Request . . . . . . . . . . . . . . . . . . 17 84 4.4.2. Accounting-Answer . . . . . . . . . . . . . . . . . . 17 85 5. Command Codes . . . . . . . . . . . . . . . . . . . . . . . . 18 86 5.1. Command Code for Mobile IPv6 with IKEv2 and EAP . . . . . 18 87 5.1.1. Diameter-EAP-Request . . . . . . . . . . . . . . . . . 18 88 5.1.2. Diameter-EAP-Answer . . . . . . . . . . . . . . . . . 19 89 5.2. Command Codes for Mobile IPv6 Authentication Protocol 90 Support . . . . . . . . . . . . . . . . . . . . . . . . . 20 91 5.2.1. MIP6-Request . . . . . . . . . . . . . . . . . . . . . 21 92 5.2.2. MIP6-Answer . . . . . . . . . . . . . . . . . . . . . 22 93 6. AVPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 94 6.1. User-Name AVP . . . . . . . . . . . . . . . . . . . . . . 26 95 6.2. Service-Selection AVP . . . . . . . . . . . . . . . . . . 26 96 6.3. MIP-MN-AAA-SPI AVP . . . . . . . . . . . . . . . . . . . . 27 97 6.4. MIP-MN-HA-SPI AVP . . . . . . . . . . . . . . . . . . . . 27 98 6.5. MIP-Mobile-Node-Address AVP . . . . . . . . . . . . . . . 27 99 6.6. MIP6-Agent-Info AVP . . . . . . . . . . . . . . . . . . . 28 100 6.7. MIP-Careof-Address AVP . . . . . . . . . . . . . . . . . . 28 101 6.8. MIP-Authenticator AVP . . . . . . . . . . . . . . . . . . 28 102 6.9. MIP-MAC-Mobility-Data AVP . . . . . . . . . . . . . . . . 28 103 6.10. MIP-Session-Key AVP . . . . . . . . . . . . . . . . . . . 29 104 6.11. MIP-MSA-Lifetime AVP . . . . . . . . . . . . . . . . . . . 29 105 6.12. MIP-MN-HA-MSA AVP . . . . . . . . . . . . . . . . . . . . 29 106 6.13. MIP-Algorithm-Type AVP . . . . . . . . . . . . . . . . . . 29 107 6.14. MIP-Replay-Mode AVP . . . . . . . . . . . . . . . . . . . 30 108 6.15. MIP6-Feature-Vector AVP . . . . . . . . . . . . . . . . . 30 109 6.16. MIP-Timestamp AVP . . . . . . . . . . . . . . . . . . . . 30 110 6.17. QoS-Capability AVP . . . . . . . . . . . . . . . . . . . . 30 111 6.18. QoS-Resources AVP . . . . . . . . . . . . . . . . . . . . 30 112 6.19. Chargeable-User-Identity AVP . . . . . . . . . . . . . . . 31 113 6.20. MIP6-Auth-Mode AVP . . . . . . . . . . . . . . . . . . . . 31 114 6.21. Accounting AVPs . . . . . . . . . . . . . . . . . . . . . 31 115 7. Result-Code AVP Values . . . . . . . . . . . . . . . . . . . . 33 116 7.1. Success . . . . . . . . . . . . . . . . . . . . . . . . . 33 117 7.2. Permanent Failures . . . . . . . . . . . . . . . . . . . . 33 118 8. AVP Occurrence Tables . . . . . . . . . . . . . . . . . . . . 34 119 8.1. DER, DEA, MIR and MIA AVP/Command-Code Table . . . . . . . 34 120 8.2. Coupled Accounting Model AVP Table . . . . . . . . . . . . 35 121 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 37 122 9.1. Command Codes . . . . . . . . . . . . . . . . . . . . . . 37 123 9.2. AVP Codes . . . . . . . . . . . . . . . . . . . . . . . . 37 124 9.3. Result-Code AVP Values . . . . . . . . . . . . . . . . . . 37 125 9.4. Application Identifier . . . . . . . . . . . . . . . . . . 38 126 9.5. Namespaces . . . . . . . . . . . . . . . . . . . . . . . . 38 127 10. Security Considerations . . . . . . . . . . . . . . . . . . . 39 128 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 40 129 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 41 130 12.1. Normative References . . . . . . . . . . . . . . . . . . . 41 131 12.2. Informative References . . . . . . . . . . . . . . . . . . 42 132 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 43 134 1. Introduction 136 Performing the Mobile IPv6 protocol [RFC3775], requires the Mobile 137 Node (MN) to own a Home Address (HoA) and to have an assigned Home 138 Agent (HA) to the MN. The MN needs to register with the HA in order 139 to enable its reachability and mobility, when away from its home 140 link. The registration process itself may require an establishment 141 of IPsec security associations (SA) and cryptographic material 142 between the MN and the HA. Alternatively, the registration process 143 may be secured using a mobility message authentication option, which 144 enables IPv6 mobility in a MN without having to establish an IPsec SA 145 with its HA. Providing the collection of home address, HA address 146 and keying material is generally referred to as the Mobile IPv6 147 bootstrapping problem [RFC4640]. The purpose of this specification 148 is to provide Diameter support for the interaction between the HA and 149 the Authentication, Authorization, and Accounting (AAA) server. This 150 specification satisfies the requirements defined in 151 [I-D.ietf-mext-aaa-ha-goals] for the bootstrapping problem in the 152 split scenario [RFC5026] and also specifies Diameter support for the 153 Authentication Protocol for Mobile IPv6 [RFC4285]. The Diameter 154 support defined in this specification also applies to Dual Stack 155 Mobile IPv6 [I-D.ietf-mext-nemo-v4traversal]. 157 From a Mobility Service Provider (MSP) perspective, it is important 158 to verify that the MN is authenticated and authorized to utilize 159 Mobile IPv6 service, and is accounted for those. Only when the MN is 160 authenticated and authorized, the MSP allows the bootstrapping of 161 Mobile IPv6 parameters. Thus, prior to processing the Mobile IPv6 162 registrations, the HA participates in the authentication of the MN to 163 verify the MN's identity. The HA also participates in the Mobile 164 IPv6 authorization process involving the Diameter infrastructure. 165 The HA, due to its role in traffic forwarding, may also perform 166 accounting for the Mobile IPv6 service provided to the MN. 168 This document enables the following functionality: 170 Authentication: Verifying the MN's identity. As a Diameter client 171 supporting the new Diameter Mobile IPv6 application, the HA may 172 need to support more than one authentication type depending on the 173 environment. Although the authentication is performed by the AAA 174 server there is an impact for the HA as different set of command 175 codes are needed for the respective authentication procedures. 177 Authorization: The HA must verify that the user is authorized to the 178 Mobile IPv6 service using the assistance of the MSP Diameter 179 servers. This is accomplished through the use of new Diameter 180 applications specifically designed for performing Mobile IPv6 181 authorization decisions. This document defines required AAA 182 procedures and requires the HA to support them and to participate 183 in this authorization signaling. 185 Accounting: For accounting purposes and capacity planning, it is 186 required that the HA provides accounting reports to the Diameter 187 infrastructure and thus to support the related Diameter accounting 188 procedures. 190 Session Management: The management of the mobility services may 191 require the Diameter server or the HA to terminate the Mobile IPv6 192 service before the binding expires. This document defines 193 procedures for the AAA based session management. 195 Figure 1 depicts the reference architecture for this document. 197 +--------+ 198 |Diameter| 199 |Server | 200 +--------+ 201 ^ 202 Back-End | Diameter Mobile IPv6 203 Protocol | HA<->AAA Server 204 Support | Interaction 205 | (this document) 206 v 207 +---------+ +---------------+ 208 | Mobile | Front-End Protocol |Home Agent / | 209 | Node |<-------------------->|Diameter Client| 210 +---------+ IKEv2 or RFC 4285 +---------------+ 212 Figure 1: Architecture Overview 214 Mobile IPv6 signaling between the MN and the HA can be protected 215 using two different mechanisms, namely using IPsec or the 216 Authentication Protocol for Mobile IPv6 [RFC4285]. For these two 217 approaches several different authentication and key exchange 218 solutions are available. When IPsec is used to protect Mobile IPv6 219 signaling messages, Internet Key Exchange v2 (IKEv2) is used 220 [RFC4877] for the setup of the IPsec SAs. IKEv2 supports Extensible 221 Authentication Protocol (EAP) based initiator authentication, 222 certificates and pre-shared secrets. Alternatively, the 223 Authentication Protocol for Mobile IPv6 uses a mechanism that is very 224 similar to the one used for protecting Mobile IPv4 signaling 225 messages. 227 The ability to use different credentials and methods to authenticate 228 the MN has an impact on the AAA interactions between the HA (acting 229 as a Diameter client) and the Diameter Server. This specification is 230 only limited to the following MN authentication methods: 232 o IKEv2 usage with EAP 234 o Mobile IPv6 Authentication Protocol 236 New authentication mechanisms may be added later by separate 237 specifications. 239 For accounting of Mobile IPv6 services provided to the MN, this 240 specification uses the Diameter Base Protocol accounting defined in 241 RFC 3588 [RFC3588]. 243 2. Terminology 245 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 246 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 247 document are to be interpreted as described in RFC 2119 [RFC2119]. 249 The Mobile IPv6 bootstrapping terminology is taken from [RFC4640]. 250 Additional terminology is defined below: 252 Authentication, Authorization, and Accounting (AAA): 254 AAA protocol based on Diameter [RFC3588] with required EAP support 255 [RFC4072]. 257 Home AAA (AAAH): 259 An authentication, authorization and accounting server located in 260 user's home network i.e., in the home realm. 262 3. Application Identifiers 264 This specification defines two new Diameter applications and their 265 respective Application Identifiers: 267 Diameter Mobile IPv6 IKE (MIP6I) TBD by IANA 268 Diameter Mobile IPv6 Auth (MIP6A) TBD by IANA 270 The MIP6I Application Identifier is used when the MN is authenticated 271 and authorized using IKEv2. The MIP6A Application Identifier is used 272 when the MN is authenticated and authorized using the Mobile IPv6 273 Authentication Protocol. 275 Mobile IPv6 related accounting information generated by the HA uses 276 either the MIP6I or the MIP6A Application Identifier in the case of 277 coupled accounting model. The Diameter Base Accounting Application 278 Identifier (value of 3) is used in case of the split accounting 279 model. Refer to Section 4.4 for more information regarding the 280 accounting models. 282 4. Protocol Description 284 4.1. Support for Mobile IPv6 with IKEv2 and EAP 286 The use of IKEv2 with EAP between the MN and the HA allows the AAA to 287 authenticate the MN. When EAP is used with IKEv2, the Diameter EAP 288 application logic and procedures, as defined in [RFC4072], are re- 289 used. EAP methods that do not establish a shared key SHOULD NOT be 290 used, as they are subject to a number of man-in-the-middle attacks as 291 stated in Section 2.16 and Section 5 of RFC 4306 [RFC4306]. AVPs 292 specific to Mobile IPv6 bootstrapping are added to the EAP 293 application commands. 295 Figure 2 shows the message flow involved during the authentication 296 phase when EAP is used. 298 Mobile Home Diameter 299 Node Agent Server 300 | | | 301 | HDR, SAi1, KEi, Ni (1) | | 302 |-------------------------------->| | 303 | | | 304 | HDR, SAr1, KEr, Nr, [CERTREQ](2)| | 305 |<--------------------------------| | 306 | | | 307 | HDR, SK{IDi,[CERTREQ,] [IDr,] | | 308 | [CP(CFG_REQUEST),] | | 309 | SAi2, TSi, TSr} (3) | DER (EAP-Response) (4) + | 310 |-------------------------------->| MIP6 Bootstrapping AVPs | 311 | |------------------------->| 312 | | | 313 | | DEA (EAP-Request) (5) | 314 | HDR, SK{IDr, [CERT,] AUTH, EAP} |<-------------------------| 315 |<------------------------------- | | 316 | | | 317 | HDR, SK{EAP} | | 318 |-------------------------------->| DER (EAP-Response) | 319 | |------------------------->| 320 | | | 321 | | DEA (EAP-Request) | 322 | HDR, SK{EAP-Request} |<-------------------------| 323 |<--------------------------------| | 324 | | | 325 | HDR, SK{EAP-Response} | | 326 |-------------------------------->| DER (EAP-Response) | 327 | |------------------------->| 328 | ... | ... | 329 | | | 330 | | DEA (EAP-Success) + | 331 | | MIP6 Bootstrapping AVPs | 332 | HDR, SK{EAP-Success} |<-------------------------| 333 |<--------------------------------| | 334 | | | 335 | HDR, SK{AUTH} | | 336 |-------------------------------->| | 337 | | | 338 | HDR, SK{AUTH, [CP(CFG_REPLY,] | | 339 | SAr2, TSi, TSr} | | 340 |<--------------------------------| | 341 | | | 343 Figure 2: Mobile IPv6 bootstrapping using IKEv2 and EAP 345 The MN and the HA start the interaction with an IKE_SA_INIT exchange. 347 In this phase cryptographic algorithms are negotiated, nonces and 348 Diffie-Hellman parameters are exchanged. Message (3) starts the 349 IKE_AUTH phase. This second phase authenticates the previous 350 messages, exchanges identities and certificates and establishes the 351 first CHILD_SA. It is used to mutually authenticate the MN (acting 352 as an IKEv2 Initiator) and the HA (acting as an IKEv2 Responder). 353 The identity of the user/MN is provided in the IDi field. The MN 354 indicates its willingness to be authenticated via EAP by omitting the 355 AUTH field in message (3) (see Section 2.16 of [RFC4306]). 357 As part of the authentication process, the MN MAY request a Home- 358 Address, a Home Prefix or suggests one, see [RFC4877], using a 359 CFG_REQUEST payload in the message (3). 361 The HA extracts the IDi field from the message (3) and sends a 362 Diameter-EAP-Request (DER) message (4) towards the authenticating 363 Diameter server. The EAP-Payload AVP contains a EAP-Response/ 364 Identity with the identity extracted from the IDi field. 366 This message is routed to the MN's Diameter server/EAP server. The 367 Diameter server selects the EAP method and replies with the Diameter- 368 EAP-Answer (DEA) Message. Depending on the type of EAP method 369 chosen, a number of DER and DEA messages carry the method specific 370 exchanges between the MN and the Diameter server/EAP server. 372 At the end of the EAP authentication phase, the Diameter server 373 indicates the result of the authentication in the Result-Code AVP and 374 provides the corresponding EAP packet (EAP Success or EAP Failure). 375 The last IKEv2 message sent by the HA contains the Home Address or 376 the Home Prefix. In the latter case, a CREATE_CHILD_SA exchange is 377 necessary to setup IPsec SAs for Mobile IPv6 signaling. 379 In some deployment scenarios, the HA may also acts as a IKEv2 380 Responder for IPsec VPN access. A challenge in this case is that the 381 IKEv2 responder may not know if IKEv2 is used for Mobile IPv6 service 382 or for IPsec VPN access service. A network operator needs to be 383 aware of this limitation. The MN may provide a hint of the intended 384 service, for example, by using different identities in the IKE_AUTH 385 message for the IPsec VPN service and Mobile IPv6 service. However, 386 the use of different identities during the IKEv2 negotiation is 387 deployment specific. Another possibility is to make the distinction 388 on the MN subscription basis. In this case the Diameter server can 389 inform the HA during the IKEv2 negotiation whether the MN is 390 provisioned with an IPsec VPN access service or Mobile IPv6 service. 392 Eventually, when the HA receives a Binding Update (BU), the HA 393 authenticates and authorizes the MN. It is RECOMMENDED that the HA 394 sends an accounting request message every time it receives a BU. 396 4.2. Support for the Mobile IPv6 Authentication Protocol 398 Figure 3 shows the message sequence between the MN, the HA and the 399 Diameter server during the registration when Mobile IPv6 400 Authentication Protocol is used. A BU and a Binding Acknowledgement 401 (BA) messages are used in the binding registration process. 403 Receiving a BU at the HA initiates a MIP6-Request to be sent to the 404 Diameter server. The Diameter server in turn responds with a MIP6- 405 Answer. The HA may assign a Home Address to the MN and provide it to 406 the Diameter server in the MIP-Mobile-Node-Address AVP. 408 According to [RFC4285] the MN uses the Mobile Node Identifier Option, 409 specifically the MN-NAI mobility option (as defined in [RFC4283]) to 410 identify itself. The HA MUST copy the MN-NAI mobility option value 411 to the User-Name AVP in the subsequent request messages. 413 The procedure described in this specification for the Mobile IPv6 414 Authentication Protocol is only needed for the initially received BU 415 for which the HA does not have an existing security association. 416 When the HA receives subsequent BUs, they are processed locally in 417 the HA. It is RECOMMENDED that the HA sends an accounting request 418 message every time it receives a Binding Update. However, the HA MAY 419 re-authorize the MN with the Diameter server at any time depending on 420 the deployment and the local policy. 422 In some architectures and network deployments the MN-HA security 423 associations may be established as a result of a successful network 424 access authentication. In such deployments, both the MN and the 425 Diameter server share the keying material required for computation 426 and validation of the MN-HA Authentication Option, and a Security 427 Parameter Index (SPI) for indexing an appropriate security 428 association. Upon receiving a BU with a MN-HA Authentication Option, 429 the HA retrieves the keying material required for the computation and 430 validation of the MN-HA Authentication Option from the Diameter 431 server. The Diameter request message sent by the HA must contain 432 enough information (such as SPI, MN-NAI, etc) so that the Diameter 433 server is able to locate the matching MN-HA security association and 434 return correct keying material back to the HA. 436 This specification assumes that in the case Mobile IPv6 437 Authentication Protocol is used, the MN-AAA option is included in the 438 BU. Other possible uses of Mobile IPv6 Authentication Protocol are 439 out of scope of this specification and would require a new 440 specification to describe the detailed behavior of the HA-AAAH 441 interface. However, the HA-AAAH interface has been designed in a way 442 that the Mobile IPv6 Authentication Protocol may also be used without 443 the MN-AAA option. 445 Mobile Home Diameter 446 Node Agent Server 447 | | | 448 | | MIP6-Request + MIP6 | 449 | Binding Update | Bootstrapping AVPs | 450 |------------------------------------>|-------------------->| 451 | (Mobile Node Identifier Option, | | 452 | Mobility Message Replay Protection | | 453 | Option, Authentication Option) | | 454 | | | 455 | | MIP6-Answer + MIP6 | 456 | Binding Acknowledgement | Bootstrapping AVPs | 457 |<------------------------------------|<--------------------| 458 | (Mobile Node Identifier Option | | 459 | Mobility Message Replay Protection | | 460 | Option, Authentication Option) | | 462 Figure 3: Mobile IPv6 Bootstrapping using the Mobile IPv6 463 Authentication Protocol 465 4.3. Mobile IPv6 Session Management 467 The Diameter server may maintain state or may be stateless. This is 468 indicated in the Auth-Session-State AVP (or its absence). The HA 469 MUST support the Authorization Session State Machine defined in 470 [RFC3588]. 472 This specification makes an assumption that each SA created between 473 the MN and the HA as a result of a successful IKEv2 negotiation or a 474 Mobile IPv6 Authentication Protocol exchange correspond to one 475 Diameter session. 477 4.3.1. Session-Termination-Request 479 The Session-Termination-Request (STR) message [RFC3588] is sent by 480 the HA to inform the Diameter server that an authorized session is 481 being terminated. This means that the HA MUST terminate the 482 corresponding Mobile IPv6 binding and also terminate the 483 corresponding SA. 485 4.3.2. Session-Termination-Answer 487 The Session-Termination-Answer (STA) message [RFC3588] is sent by the 488 Diameter server to acknowledge the notification that the session has 489 been terminated. 491 4.3.3. Abort-Session-Request 493 The Abort-Session-Request (ASR) message [RFC3588] is sent by the 494 Diameter server to the HA to terminate the authorized session. This 495 fulfills one of the requirement described in 496 [I-D.ietf-mext-aaa-ha-goals]. When the HA receives the ASR message, 497 it MUST terminate the corresponding SA. Subsequently, the HA MUST 498 take further actions to terminate the corresponding Mobile IPv6 499 binding. 501 4.3.4. Abort-Session-Answer 503 The Abort-Session-Answer (ASA) message [RFC3588] is sent by the Home 504 Agent in response to an ASR message. 506 4.4. Accounting for Mobile IPv6 services 508 The HA MUST be able act as a Diameter client collecting accounting 509 records needed for service control and charging. The HA MUST support 510 the accounting procedures (specifically the command codes mentioned 511 below) and the Accounting Session State Machine as defined in 512 [RFC3588]. The command codes, exchanged between the HA and Diameter 513 server for accounting purposes, are provided in the following 514 subsections. 516 The Diameter application design guideline 517 [I-D.ietf-dime-app-design-guide] defines two separate models for 518 accounting: 520 Split accounting model: 522 According to this model, the accounting messages use the Diameter 523 Base Accounting Application Identifier (value of 3). Since 524 accounting is treated as an independent application, accounting 525 commands may be routed separately from the rest of application 526 messages and thus the accounting messages generally end up in a 527 central accounting server. Since Diameter Mobile IPv6 application 528 does not define its own unique accounting commands, this is the 529 preferred choice, since it permits use of centralized accounting 530 for several applications. 532 Coupled accounting model: 534 In this model, the accounting messages will use either the MIP6I 535 or the MIP6A Application Identifiers. This means that accounting 536 messages will be routed like any other Mobile IPv6 application 537 messages. This requires the Diameter server in charge of Mobile 538 IPv6 application to handle the accounting records (e.g., sends 539 them to a proper accounting server). 541 As mentioned above, the preferred choice is to use the split 542 accounting model and thus to choose Diameter Base Accounting 543 Application Identifier (value of 3) for accounting messages. 545 4.4.1. Accounting-Request 547 The Accounting-Request command [RFC3588] is sent by the HA to the 548 Diameter server to exchange accounting information regarding the MN 549 with the Diameter server. 551 4.4.2. Accounting-Answer 553 The Accounting-Answer command [RFC3588] is sent by the Diameter 554 server to the HA to acknowledge an Accounting-Request. 556 5. Command Codes 558 5.1. Command Code for Mobile IPv6 with IKEv2 and EAP 560 For the use of Mobile IPv6 with IKEv2 and EAP this document reuses 561 the Diameter EAP application [RFC4072] commands: Diameter-EAP-Request 562 (DER) and Diameter-EAP-Answer (DEA). This specification extends the 563 existing DER and DEA command ABNFs with a number AVPs to support 564 Mobile IPv6 split scenario bootstrapping. Other than new additional 565 AVPs and the corresponding additions to the command ABNFs, the 566 Diameter EAP application command ABNFs remain unchanged. The ABNF 567 language is defined in [RFC3588]. 569 Command-Name Abbrev. Code Reference Application 570 --------------------------------------------------------------------- 571 Diameter-EAP-Request DER 268 RFC 4072 Diameter Mobile IPv6 IKE 572 Diameter-EAP-Answer DEA 268 RFC 4072 Diameter Mobile IPv6 IKE 574 Figure 4: Command Codes 576 5.1.1. Diameter-EAP-Request 578 The Diameter-EAP-Request (DER) message, indicated by the Command-Code 579 field set to 268 and the 'R' bit set in the Command Flags field, is 580 sent by the HA to the Diameter server to initiate a Mobile IPv6 581 service authentication and authorization procedure. The 582 Application-ID field of the Diameter Header MUST be set to the 583 Diameter Mobile IPv6 IKE Application ID (value of TDB). 585 ::= < Diameter Header: 268, REQ, PXY > 586 < Session-Id > 587 { Auth-Application-Id } 588 { Origin-Host } 589 { Origin-Realm } 590 { Destination-Realm } 591 { Auth-Request-Type } 592 [ Destination-Host ] 593 [ NAS-Identifier ] 594 [ NAS-IP-Address ] 595 [ NAS-IPv6-Address ] 596 [ NAS-Port-Type ] 597 [ User-Name ] 598 ... 599 { EAP-Payload } 600 ... 601 [ MIP6-Feature-Vector ] 602 [ MIP6-Agent-Info ] 603 *2[ MIP-Mobile-Node-Address ] 604 [ Chargeable-User-Identity ] 605 [ Service-Selection ] 606 [ QoS-Capability ] 607 * [ QoS-Resources ] 608 ... 609 * [ AVP ] 611 Mobile IPv6 bootstrapping AVPs are only included in the first DER 612 message send by the HA. The subsequent DER messages required by the 613 EAP-method do not need to include any Mobile IPv6 bootstrapping AVPs. 614 The MN is both authenticated and authorized for the mobility service 615 during the EAP authentication. Thus, the Auth-Request-Type AVP MUST 616 be set to the value AUTHORIZE_AUTHENTICATE. 618 5.1.2. Diameter-EAP-Answer 620 The Diameter-EAP-Answer (DEA) message, indicated by the Command-Code 621 field set to 268 and 'R' bit cleared in the Command Flags field, is 622 sent in response to the Diameter-EAP-Request message (DER). The 623 Application-Id field in the Diameter message header MUST be set to 624 the Diameter Mobile IPv6 IKE Application-Id (value of TBD). If the 625 Mobile IPv6 authentication procedure was successful then the response 626 MAY include any set of bootstrapping AVPs. 628 ::= < Diameter Header: 268, PXY > 629 < Session-Id > 630 { Auth-Application-Id } 631 { Auth-Request-Type } 632 { Result-Code } 633 { Origin-Host } 634 { Origin-Realm } 635 [ User-Name ] 636 [ EAP-Payload ] 637 [ EAP-Reissued-Payload ] 638 [ EAP-Master-Session-Key ] 639 [ EAP-Key-Name ] 640 [ Multi-Round-Time 641 ... 642 *2[ MIP-Mobile-Node-Address ] 643 [ MIP6-Feature-Vector ] 644 [ MIP6-Agent-Info ] 645 [ Service-Selection ] 646 * [ QoS-Resources ] 647 [ Chargeable-User-Identity ] 648 ... 649 * [ AVP ] 651 If the EAP-based authentication and the authorization for the 652 mobility service succeeds, then the Mobile IPv6 bootstrapping AVPs 653 are included in the last DEA message that also carries the EAP- 654 Success EAP payload. The other DEA messages required by the used 655 EAP-method do not include any Mobile IPv6 bootstrapping AVPs. 657 5.2. Command Codes for Mobile IPv6 Authentication Protocol Support 659 This section defines the commands that are used for support with the 660 Mobile IPv6 Authentication Protocol. 662 There are multiple ways of deploying and utilizing Mobile IPv6 663 Authentication Protocol, especially regarding the associated AAA 664 interactions. In order to support multiple deployment models this 665 specification defines the MIP6-Auth-Mode AVP that in the request 666 message tells the mode that the HA supports. This specification 667 defines a method that requires the use of the MN-AAA option with the 668 Mobile IPv6 Authentication Protocol. 670 Command-Name Abbrev. Code Reference Application 671 --------------------------------------------------------------------- 672 MIP6-Request MIR TBD 5.3.1 Diameter Mobile IPv6 Auth 673 MIP6-Answer MIA TBD 5.3.2 Diameter Mobile IPv6 Auth 674 Command Codes 676 5.2.1. MIP6-Request 678 The MIP6-Request (MIR), indicated by the Command-Code field set to 679 TBD and the 'R' bit set in the Command Flags field, is sent by the 680 HA, acting as a Diameter client, in order to request the 681 authentication and authorization of a MN. 683 Although the HA provides the Diameter server with a replay protection 684 related information, the HA is responsible for the replay protection. 686 The message format is shown below. 688 ::= < Diameter Header: XXX, REQ, PXY > 689 < Session-ID > 690 { Auth-Application-Id } 691 { User-Name } 692 { Destination-Realm } 693 { Origin-Host } 694 { Origin-Realm } 695 { Auth-Request-Type } 696 [ Destination-Host ] 697 [ Origin-State-Id ] 698 [ NAS-Identifier ] 699 [ NAS-IP-Address ] 700 [ NAS-IPv6-Address ] 701 [ NAS-Port-Type ] 702 [ Called-Station-Id ] 703 [ Calling-Station-Id ] 704 [ MIP6-Feature-Vector ] 705 { MIP6-Auth-Mode } 706 [ MIP-MN-AAA-SPI ] 707 [ MIP-MN-HA-SPI ] 708 1*2{ MIP-Mobile-Node-Address } 709 { MIP6-Agent-Info } 710 { MIP-Careof-Address } 711 [ MIP-Authenticator ] 712 [ MIP-MAC-Mobility-Data ] 713 [ MIP-Timestamp ] 714 [ QoS-Capability ] 715 * [ QoS-Resources ] 716 [ Chargeable-User-Identity ] 717 [ Service-Selection ] 718 [ Authorization-Lifetime ] 719 [ Auth-Session-State ] 720 * [ Proxy-Info ] 721 * [ Route-Record ] 722 * [ AVP ] 724 If the MN is both authenticated and authorized for the mobility 725 service, then the Auth-Request-Type AVP is set to the value 726 AUTHORIZE_AUTHENTICATE. This is the case when the MIP6-Auth-Mode is 727 set to the value MIP6_AUTH_MN_AAA. 729 5.2.2. MIP6-Answer 731 The MIP6-Answer (MIA) message, indicated by the Command-Code field 732 set to TBD and the 'R' bit cleared in the Command Flags field, is 733 sent by the Diameter server in response to the MIP6-Request message. 734 The User-Name AVP MAY be included in the MIA if it is present in the 735 MIR. The Result-Code AVP MAY contain one of the values defined in 736 Section 7, in addition to the values defined in RFC 3588 [RFC3588]. 738 An MIA message with the Result-Code AVP set to DIAMETER_SUCCESS MUST 739 include the MIP-Mobile-Node-Address AVP. 741 The message format is shown below. 743 ::= < Diameter Header: XXX, PXY > 744 < Session-Id > 745 { Auth-Application-Id } 746 { Result-Code } 747 { Origin-Host } 748 { Origin-Realm } 749 { Auth-Request-Type } 750 [ User-Name ] 751 [ Authorization-Lifetime ] 752 [ Auth-Session-State ] 753 [ Error-Message ] 754 [ Error-Reporting-Host ] 755 [ Re-Auth-Request-Type ] 756 [ MIP6-Feature-Vector ] 757 [ MIP-Agent-Info ] 758 *2[ MIP-Mobile-Node-Address ] 759 [ MIP-MN-HA-MSA ] 760 * [ QoS-Resources ] 761 [ Chargeable-User-Identity ] 762 [ Service-Selection ] 763 [ Origin-State-Id ] 764 * [ Proxy-Info ] 765 * [ Redirect-Host ] 766 [ Redirect-Host-Usage ] 767 [ Redirect-Max-Cache-Time ] 768 * [ Failed-AVP ] 769 * [ AVP ] 771 6. AVPs 773 To provide support for RFC 4285 [RFC4285] and for RFC 4877 [RFC4877] 774 the AVPs in the following subsections are needed. RFC 3588, RFC 4004 775 and RFC 4005 [RFC4005] defined AVPs are reused whenever possible 776 without changing the existing semantics of those AVPs. 778 +-------------------------+ 779 | AVP Flag rules | 780 +----+----+----+-----+----+ 781 AVP Defined | | |SHLD| MUST|MAY | 782 Attribute Name Code in Value Type |MUST| MAY| NOT| NOT|Encr| 783 +-----------------------------------------+----+----+----+-----+----+ 784 |MIP6-Feature- TBD Note 1 Unsigned64 | M | P | | V | Y | 785 | Vector | | | | | | 786 +-----------------------------------------+----+----+----+-----+----+ 787 |MIP-Mobile- | M | P | | V | Y | 788 | Node-Address 334 RFC4004 Address | | | | | | 789 +-----------------------------------------+----+----+----+-----+----+ 790 |MIP6-Agent-Info TBD Note 3 Grouped | M | P | | V | Y | 791 +-----------------------------------------+----+----+----+-----+----+ 792 |User-Name 1 RFC3588 UTF8String | M | P | | V | Y | 793 +-----------------------------------------+----+----+----+-----+----+ 794 |Service- TBD 6.2 UTF8String | M | P | | V | Y | 795 | Selection | | | | | | 796 +-----------------------------------------+----+----+----+-----+----+ 797 |QoS-Capability TBD Note 2 Grouped | M | P | | V | Y | 798 +-----------------------------------------+----+----+----+-----+----+ 799 |QoS-Resources TBD Note 2 Grouped | M | P | | V | Y | 800 +-----------------------------------------+----+----+----+-----+----+ 801 |MIP-MN-HA-MSA TBD 6.12 Grouped | M | P | | V | Y | 802 +-----------------------------------------+----+----+----+-----+----+ 803 |Chargeable-User- OctetString| M | P | | V | Y | 804 | Identity 89 6.19 | | | | | | 805 +-----------------------------------------+----+----+----+-----+----+ 807 AVPs for Mobile IPv6 IKE Application 809 Note 1: The MIP6-Feature-Vector AVP is defined in Section 4.7.4 of 810 [I-D.ietf-dime-mip6-integrated]. 812 Note 2: The QoS-Capability and the QoS-Resource AVPs are defined in 813 Sections 4.1 and 4.3 of [I-D.ietf-dime-qos-attributes]. 815 Note 3: The MIP6-Agent-Info AVP is defined in Section 4.5.1 of 816 [I-D.ietf-dime-mip6-integrated]. 818 +-------------------------+ 819 | AVP Flag rules | 820 +----+----+----+-----+----+ 821 AVP Section | | |SHLD| MUST|MAY | 822 Attribute Name Code Defined Value Type |MUST| MAY| NOT| NOT|Encr| 823 +-----------------------------------------+----+----+----+-----+----+ 824 |MIP6-Feature- TBD Note 1 Unsigned64 | M | P | | V | Y | 825 | Vector | | | | | | 826 +-----------------------------------------+----+----+----+-----+----+ 827 |User-Name 1 RFC3588 UTF8String | M | P | | V | Y | 828 +-----------------------------------------+----+----+----+-----+----+ 829 |Service- TBD 6.2 UTF8String | M | P | | V | Y | 830 | Selection | | | | | | 831 +-----------------------------------------+----+----+----+-----+----+ 832 |MIP-MN-AAA-SPI 341 RFC4004 Unsigned32 | M | P | | V | Y | 833 +-----------------------------------------+----+----+----+-----+----+ 834 |MIP-MN-HA-SPI TBD 6.4 Unsigned32 | M | P | | V | Y | 835 +-----------------------------------------+----+----+----+-----+----+ 836 |MIP-Mobile- 333 RFC4004 Address | M | P | | V | Y | 837 | Node-Address | | | | | | 838 +-----------------------------------------+----+----+----+-----+----+ 839 |MIP6-Agent-Info TBD Note 3 Grouped | M | P | | V | Y | 840 +-----------------------------------------+----+----+----+-----+----+ 841 |MIP-Careof- TBD 6.7 Address | M | P | | V | Y | 842 | Address | | | | | | 843 +-----------------------------------------+----+----+----+-----+----+ 844 |MIP- TBD 6.8 OctetString| M | P | | V | Y | 845 | Authenticator | | | | | | 846 +-----------------------------------------+----+----+----+-----+----+ 847 |MIP-MAC- TBD 6.9 OctetString| M | P | | V | Y | 848 | Mobility-Data | | | | | | 849 +-----------------------------------------+----+----+----+-----+----+ 850 |MIP-Session-Key 343 6.10 OctetString| M | P | | V | Y | 851 +-----------------------------------------+----+----+----+-----+----+ 852 |MIP-MSA- 367 RFC4004 Unsigned32 | M | P | | V | Y | 853 | Lifetime | | | | | | 854 +-----------------------------------------+----+----+----+-----+----+ 855 |MIP-MN-HA-MSA TBD 6.12 Grouped | M | P | | V | Y | 856 +-----------------------------------------+----+----+----+-----+----+ 857 |MIP-Algorithm- 345 6.13 Enumerated | M | P | | V | Y | 858 | Type | | | | | | 859 +-----------------------------------------+----+----+----+-----+----+ 860 |MIP-Replay-Mode 346 6.14 Enumerated | M | P | | V | Y | 861 +-----------------------------------------+----+----+----+-----+----+ 862 |MIP-Timestamp TBD 6.16 Time | M | P | | V | Y | 863 +-----------------------------------------+----+----+----+-----+----+ 864 |QoS-Capability TBD Note 2 Grouped | M | P | | M | Y | 865 +-----------------------------------------+----+----+----+-----+----+ 866 |QoS-Resources TBD Note 2 Grouped | M | P | | V | Y | 867 +-----------------------------------------+----+----+----+-----+----+ 868 |Chargeable-User- OctetString| M | P | | V | Y | 869 | Identity 89 6.19 | | | | | | 870 +-----------------------------------------+----+----+----+-----+----+ 871 |MIP6-Auth-Mode TBD 6.20 Enumerated | M | P | | V | Y | 872 +-----------------------------------------+----+----+----+-----+----+ 873 |Rest of the AVPs RFC3588 | M | P | | V | Y | 874 |in the MIR & MIA RFC4005 | | | | | | 875 |excluding *[AVP] | | | | | | 876 +-----------------------------------------+----+----+----+-----+----+ 878 AVPs for the Mobile IPv6 Auth Application 880 Note 1: The MIP6-Feature-Vector AVP is defined in Section 4.7.4 of 881 [I-D.ietf-dime-mip6-integrated]. 883 Note 2: The QoS-Capability and the QoS-Resource AVPs are defined in 884 Sections 4.1 and 4.3 of [I-D.ietf-dime-qos-attributes]. 886 Note 3: The MIP6-Agent-Info AVP is defined in Section 4.5.1 of 887 [I-D.ietf-dime-mip6-integrated]. 889 6.1. User-Name AVP 891 The User-Name AVP (AVP Code 1) is of type UTF8String and contains an 892 NAI extracted from the MN-NAI mobility option included in the 893 received BU message. Alternatively, the NAI can be extracted from 894 the IKEv2 IDi payload included in the IKE_AUTH message sent by the 895 IKE initiator. 897 6.2. Service-Selection AVP 899 The Service-Selection AVP (AVP Code TBD) is of type UTF8String and 900 contains the name of the service or the external network that the 901 mobility service should be associated with. In the scope of this 902 specification the value can extracted from the IKEv2 IDr payload, if 903 available in the IKE_AUTH message sent by the IKE initiator. 904 Alternatively, if the Mobile IPv6 Authentication Protocol is used, 905 then the Service-Selection AVP contains the string extracted from the 906 Service Selection Mobility Option [RFC5149], if available in the 907 received BU. Future specification may define additional ways to 908 populate the Service-Selection AVP with the required information. 910 The AVP is also available to be used in messages sent from the 911 Diameter server to the Diameter client. For example, if the request 912 message did not contain the Service-Selection AVP but the MN was 913 assigned with a default service, the Diameter server MAY return the 914 name of the assigned default service to the HA. 916 If the Service-Selection AVP is present in both the request and the 917 reply messages, it SHOULD contain the same service name. If the 918 services differ, the HA MAY treat that as authorization failure. 920 6.3. MIP-MN-AAA-SPI AVP 922 The MIP-MN-AAA-SPI AVP (AVP Code 341) is of type Unsigned32 and 923 contains an SPI code extracted from the Mobility Message 924 Authentication Option included in the received BU message. The HA 925 includes this AVP in the MIR message when the MN-AAA Mobility Message 926 Authentication Option is available in the received BU (and the MIP6- 927 Auth-Mode AVP is set to value MIP6_AUTH_MN_AAA). 929 This AVP is re-used from [RFC4004]. 931 6.4. MIP-MN-HA-SPI AVP 933 The MIP-MN-HA-SPI AVP (AVP Code TBD) is of type Unsigned32 and 934 contains an SPI value that can be used with other parameters for 935 identifying the security association required for the validation of 936 the Mobile IPv6 MN-HA Authentication Option. 938 When included in the MIR message, the Diameter server needs to return 939 a valid MIP-MN-HA-MSA AVP in the corresponding MIA message. Either 940 the MIP-MN-HA-SPI AVP or the MIP-MN-AAA-SPI AVP MUST be present in 941 the MIR message, but not both. 943 6.5. MIP-Mobile-Node-Address AVP 945 The MIP-Mobile-Node-Address AVP (AVP Code 333) is of type Address and 946 contains the HA assigned IPv6 or IPv4 Home Address of the Mobile 947 Node. 949 If the MIP-Mobile-Node-Address AVP contains the unspecified IPv6 950 address (0::0) or the all zeroes IPv4 address (0.0.0.0) in a request 951 message, then the HA expects the Diameter server to assign the Home 952 Address in a subsequent answer message. If the Diameter server 953 assigns only an IPv6 Home Network Prefix to the Mobile Node the lower 954 64 bits of the MIP-Mobile-Node-Address AVP provided address MUST be 955 set to zero. 957 This AVP is re-used from [RFC4004]. 959 6.6. MIP6-Agent-Info AVP 961 The MIP6-Agent-Info AVP is defined in Section 4.5.1 of 962 [I-D.ietf-dime-mip6-integrated] and contains the IPv6 or the IPv4 963 address information of the HA. The HA address in a request message 964 is the same as in the received BU message that triggered the 965 authentication and authorization procedure towards the Diameter 966 server. One use case is e.g., to inform the Diameter server of the 967 dynamically assigned HA. 969 If the MIP6-Agent-Info AVP is present in an answer message and the 970 Result-Code AVP is set to DIAMETER_SUCCESS_RELOCATE_HA, then the 971 Diameter server is indicating to the HA that it MUST initiate a HA 972 switch procedure towards the MN (e.g., using the procedure defined in 973 [RFC5142]). If the Result-Code AVP is set to any other value, then 974 the HA SHOULD initiate the HA switch procedure towards the MN. The 975 address information of the assigned HA is defined in the MIP6-Agent- 976 Info AVP. 978 6.7. MIP-Careof-Address AVP 980 The MIP-Careof-Address AVP (AVP Code TBD) is of type Address and 981 contains the IPv6 Care-of Address of the Mobile Node. The HA 982 extracts this IP address from the received BU message. 984 6.8. MIP-Authenticator AVP 986 The MIP-Authenticator AVP (AVP Code TBD) is of type OctetString and 987 contains the Authenticator Data from the received BU message. The HA 988 extracts this data from the MN-AAA Mobility Message Authentication 989 Option included in the received BU message. The HA includes this AVP 990 in the MIR message and sets the Diameter server is expected to return 991 the key material required for the calculation and validation of the 992 Mobile IPv6 MN-HA Authentication Option (and the MIP6-Auth-Mode AVP 993 is set to value MIP6_AUTH_MN_AAA). 995 6.9. MIP-MAC-Mobility-Data AVP 997 The MIP-MAC-Mobility-Data AVP (AVP Code TBD) is of type OctetString 998 and contains the calculated MAC_Mobility_Data, as defined in 999 [RFC4285]. The HA includes this AVP in the MIR message when the MN- 1000 AAA Mobility Message Authentication Option is available in the 1001 received BU and the Diameter server is expected to return the key 1002 material required for the calculation and validation of the Mobile 1003 IPv6 MN-HA Authentication Option (and the MIP6-Auth-Mode AVP is set 1004 to value MIP6_AUTH_MN_AAA). 1006 6.10. MIP-Session-Key AVP 1008 The MIP-Session-Key AVP (AVP Code 343) is of type OctetString and 1009 contains the MN-HA shared secret (i.e., the session key) for the 1010 associated Mobile IPv6 MH-HA authentication option. When the 1011 Diameter server computes the session key it is placed in this AVP. 1013 This AVP is re-used from [RFC4004]. 1015 6.11. MIP-MSA-Lifetime AVP 1017 The MIP-MSA-Lifetime AVP (AVP Code 367) is of type Unsigned32 and 1018 represents the period of time (in seconds) for which the session key 1019 (see Section 6.10) is valid. The associated session key MUST NOT be 1020 used if the lifetime has expired. 1022 This AVP is re-used from [RFC4004]. 1024 6.12. MIP-MN-HA-MSA AVP 1026 The MIP-MN-HA-MSA AVP (AVP Code TBD) is of type Grouped and contains 1027 the session related information for use with the Mobile IPv6 1028 Authentication Protocol. 1030 MIP-MN-HA-MSA ::= < AVP Header: TBD > 1031 { MIP-Session-Key } 1032 { MIP-MSA-Lifetime } 1033 [ MIP-MN-HA-SPI ] 1034 [ MIP-Algorithm-Type ] 1035 [ MIP-Replay-Mode ] 1036 * [ AVP ] 1038 The MIP-MN-HA-SPI sub-AVP within the MIP-MN-HA-MSA grouped AVP 1039 identifies the security association required for the validation of 1040 the Mobile IPv6 MN-HA Authentication Option. 1042 6.13. MIP-Algorithm-Type AVP 1044 The MIP-Algorithm-Type AVP (AVP Code 345) is of type Enumerated and 1045 contains Algorithm identifier for the associated Mobile IPv6 MN-HA 1046 Authentication Option. The Diameter server selects the algorithm 1047 type. Existing algorithm types are defined in RFC 4004 that also 1048 fulfill current RFC 4285 requirements. 1050 This AVP is re-used from [RFC4004]. 1052 6.14. MIP-Replay-Mode AVP 1054 The MIP-Replay-Mode AVP (AVP Code 346) is of type Enumerated and 1055 contains the replay mode the HA for authenticating the mobile node. 1056 The replay modes, defined in RFC 4004 [RFC4004], are supported. 1058 This AVP is re-used from [RFC4004]. 1060 6.15. MIP6-Feature-Vector AVP 1062 The MIP6-Feature-Vector AVP (AVP Code TBD) is of type Unsigned64 and 1063 defined in [I-D.ietf-dime-mip6-integrated]. This document defines a 1064 new capability flag for signaling the support of Mobile IPv6 split 1065 scenario bootstrapping. 1067 MIP6_SPLIT (0x0000000100000000) 1069 When this flag is set by the NAS then it means that the Mobile 1070 IPv6 split scenario bootstrapping functionality is supported by 1071 the NAS. When this flag is set by the Diameter server then the 1072 Mobile IPv6 split scenario bootstrapping is supported by the 1073 Diameter server. 1075 6.16. MIP-Timestamp AVP 1077 The MIP-Timestamp AVP (AVP Code TBD) is of type Time and may contain 1078 the timestamp value from the Mobility message replay protection 1079 option, defined in [RFC4285]. The HA extracts this value from the 1080 received BU message, if available. The HA includes this AVP in the 1081 MIR message when the MN-AAA Mobility Message Authentication Option is 1082 available in the received BU and the Diameter server is expected to 1083 return the key material required for the calculation and validation 1084 of the Mobile IPv6 MN-HA Authentication Option (and the MIP6-Auth- 1085 Mode AVP is set to value MIP6_AUTH_MN_AAA). 1087 6.17. QoS-Capability AVP 1089 The QoS-Capability AVP is defined in [I-D.ietf-dime-qos-attributes] 1090 and contains a list of supported Quality of Service profiles. 1092 6.18. QoS-Resources AVP 1094 The QoS-Resources AVP is defined in [I-D.ietf-dime-qos-attributes] 1095 and provides QoS and packet filtering capabilities. 1097 6.19. Chargeable-User-Identity AVP 1099 The Chargeable-User-Identity AVP (AVP code 89) is of type OctetString 1100 and contains an unique temporary handle of the user. The Chargeable- 1101 User-Identity is defined in RFC 4372 [RFC4372]. 1103 6.20. MIP6-Auth-Mode AVP 1105 The MIP6-Auth-Mode (AVP Code TBD) is of type Enumerated and contains 1106 information of the used Mobile IPv6 Authentication Protocol mode. 1107 This specification defines only one value MIP6_AUTH_MN_AAA and the 1108 corresponding AAA interactions when MN-AAA security association is 1109 used to authenticate the Binding Update. When the MIP6-Auth_Mode AVP 1110 is set to the value of MIP6_AUTH_MN_AAA, the Auth-Request-Type AVP 1111 MUST be set to the value of AUTHORIZE_AUTHENTICATE. 1113 If the Diameter server does not support the Mobile IPv6 1114 Authentication Protocol usage mode proposed by the HA, then the 1115 Diameter server MUST fail the authentication/authorization and MUST 1116 set the Result-Code AVP to the value of DIAMETER_ERROR_AUTH_MODE. 1118 6.21. Accounting AVPs 1120 Diameter Mobile IPv6 applications, either MIP6I or MIP6A, are used in 1121 the case of the coupled account model. Diameter Mobile IPv4 1122 application [RFC4004] accounting AVPs are reused in this document. 1123 The following AVPs SHOULD be included in the accounting request 1124 message: 1126 o Accounting-Input-Octets: Number of octets in IP packets received 1127 from the mobile node. 1129 o Accounting-Output-Octets: Number of octets in IP packets sent by 1130 the mobile node 1132 o Accounting-Input-Packets: Number of IP packets received from the 1133 mobile node. 1135 o Accounting-Output-Packets: Number of IP packets sent by the mobile 1136 node. 1138 o Acct-Multi-Session-Id: Used to link together multiple related 1139 accounting sessions, where each session would have a unique 1140 Session-Id, but the same Acct-Multi-Session-Id AVP. 1142 o Acct-Session-Time: Indicates the length of the current session in 1143 seconds. 1145 o MIP6-Feature-Vector: The supported features for this mobility 1146 service session. 1148 o MIP-Mobile-Node-Address: The Home Address of the mobile node. 1150 o MIP-Agent-Info: The current home agent of the mobile node. 1152 o Chargeable-User-Identity: The unique temporary identity of the 1153 user. This AVP MUST be included if it is available in the home 1154 agent. 1156 o Service-Selection: Currently selected mobility service. 1158 o QoS-Resources: Assigned QoS resources for the mobile node. 1160 o QoS-Capability: The QoS capability related to the assigned QoS- 1161 Resources. 1163 o MIP-Careof-Address: The current Care-of Address of the mobile 1164 node. 1166 7. Result-Code AVP Values 1168 This section defines new Result-Code [RFC3588] values that MUST be 1169 supported by all Diameter implementations that conform to this 1170 specification. 1172 7.1. Success 1174 Errors that fall within the Success category are used to inform a 1175 peer that a request has been successfully completed. 1177 DIAMETER_SUCCESS_RELOCATE_HA (Status Code TBD) 1179 This result code is used by the Diameter server to inform the HA 1180 that the MN MUST be switched to another HA. 1182 7.2. Permanent Failures 1184 Errors that fall within the permanent failures category are used to 1185 inform the peer that the request failed and SHOULD NOT be attempted 1186 again. 1188 DIAMETER_ERROR_MIP6_AUTH_MODE (Status Code TBD) 1190 This error code is used by the Diameter server to inform the peer 1191 that the requested Mobile IPv6 Authentication Protocol usage mode 1192 is not supported. 1194 8. AVP Occurrence Tables 1196 The following tables present the AVPs defined in this document and 1197 their occurrences in Diameter messages. Note that AVPs that can only 1198 be present within a Grouped AVP are not represented in this table. 1200 The table uses the following symbols: 1202 0: 1204 The AVP MUST NOT be present in the message. 1206 0+: 1208 Zero or more instances of the AVP MAY be present in the message. 1210 0-1: 1212 Zero or one instance of the AVP MAY be present in the message. 1214 1: 1216 One instance of the AVP MUST be present in the message. 1218 8.1. DER, DEA, MIR and MIA AVP/Command-Code Table 1219 +-----------------------+ 1220 | Command-Code | 1221 |-----+-----+-----+-----+ 1222 AVP Name | DER | DEA | MIR | MIA | 1223 -------------------------------|-----+-----+-----+-----+ 1224 MIP6-Feature-Vector | 0-1 | 0-1 | 0-1 | 0-1 | 1225 MIP-Mobile-Node-Address | 1-2 | 0-2 | 1-2 | 0-2 | 1226 MIP-MN-AAA-SPI | 0 | 0 | 0-1 | 0 | 1227 MIP-MN-HA-SPI | 0 | 0 | 0-1 | 0 | 1228 MIP6-Agent-Info | 1 | 0-1 | 1 | 0-1 | 1229 MIP-Careof-Address | 0 | 0 | 0-1 | 0 | 1230 MIP-Authenticator | 0 | 0 | 0-1 | 0 | 1231 MIP-MAC-Mobility-Data | 0 | 0 | 0-1 | 0 | 1232 MIP-MSA-Lifetime | 0 | 0 | 0 | 1 | 1233 MIP-MN-HA-MSA | 0 | 0 | 0 | 0-1 | 1234 MIP-Timestamp | 0 | 0 | 0-1 | 0-1 | 1235 User-Name | 0-1 | 0-1 | 1 | 0-1 | 1236 Service-Selection | 0-1 | 0-1 | 0-1 | 0-1 | 1237 QoS-Resources | *0 | *0 | *0 | *0 | 1238 QoS-Capability | 0-1 | 0 | 0-1 | 0 | 1239 Chargeable-User-Identity | 0-1 | 0-1 | 0-1 | 0-1 | 1240 MIP6-Auth-Mode | 0 | 0 | 1 | 0 | 1241 +-----+-----+-----+-----+ 1243 8.2. Coupled Accounting Model AVP Table 1245 The table in this section is used to represent which AVPs defined in 1246 this document are to be present in the Accounting messages, as 1247 defined in [RFC3588]. 1249 +-------------+ 1250 | Command-Code| 1251 |------+------+ 1252 Attribute Name | ACR | ACA | 1253 -------------------------------------|------+------+ 1254 Accounting-Input-Octets | 0-1 | 0-1 | 1255 Accounting-Input-Packets | 0-1 | 0-1 | 1256 Accounting-Output-Octets | 0-1 | 0-1 | 1257 Accounting-Output-Packets | 0-1 | 0-1 | 1258 Acct-Multi-Session-Id | 0-1 | 0-1 | 1259 Acct-Session-Time | 0-1 | 0-1 | 1260 MIP6-Feature-Vector | 0-1 | 0-1 | 1261 MIP6-Agent-Info | 0-1 | 0-1 | 1262 MIP-Mobile-Node-Address | 0-2 | 0-2 | 1263 Event-Timestamp | 0-1 | 0 | 1264 MIP-Careof-Address | 0-1 | 0 | 1265 Service-Selection | 0-1 | 0 | 1266 QoS-Capability | *0 | *0 | 1267 QoS-Resources | *0 | *0 | 1268 Chargeable-User-Identity | 0-1 | 0 | 1269 -------------------------------------|------+------+ 1271 9. IANA Considerations 1273 This section contains the namespaces that have either been created in 1274 this specification or had their values assigned to existing 1275 namespaces managed by IANA. 1277 9.1. Command Codes 1279 IANA is requested to allocate a command code values for the following 1280 new commands from the Command Code namespace defined in [RFC3588]. 1281 See Section 5 for the assignment of the namespace in this 1282 specification. 1284 Command Code | Value 1285 -----------------------------------+------ 1286 MIP6-Request (MIR) | TBD 1287 MIP6-Answer (MIA) | TBD 1289 9.2. AVP Codes 1291 This specification requires IANA to register the following new AVPs 1292 from the AVP Code namespace defined in [RFC3588]. 1294 o MIP-Careof-Address 1296 o MIP-Authenticator 1298 o MIP-MAC-Mobility-Data 1300 o MIP-Timestamp 1302 o MIP-MN-HA-SPI 1304 o MIP-MN-HA-MSA 1306 o Service-Selection 1308 o MIP6-Auth-Mode 1310 The AVPs are defined in Section 6. 1312 9.3. Result-Code AVP Values 1314 This specification requests IANA to allocate new values to the 1315 Result-Code AVP (AVP Code 268) namespace defined in [RFC3588]. See 1316 Section 7 for the assignment of the namespace in this specification. 1318 Result-Code | Value 1319 ----------------------------------------------+------ 1320 DIAMETER_SUCCESS_RELOCATE_HA | TBD 1321 DIAMETER_ERROR_MIP6_AUTH_MODE | TBD 1323 9.4. Application Identifier 1325 This specification requires IANA to allocate two new values "Diameter 1326 Mobile IPv6 IKE" and "Diameter Mobile IPv6 Auth" from the Application 1327 Identifier namespace defined in [RFC3588]. 1329 Application Identifier | Value 1330 -----------------------------------+------ 1331 Diameter Mobile IPv6 IKE (MIP6I) | TBD 1332 Diameter Mobile IPv6 Auth (MIP6A) | TBD 1334 9.5. Namespaces 1336 This specification defines new values to the "Mobility Capability" 1337 registry (see [I-D.ietf-dime-mip6-integrated]) for use with the MIP6- 1338 Feature-Vector AVP: 1340 Token | Value | Description 1341 ---------------------------------+----------------------+------------ 1342 MIP6_SPLIT | 0x0000000100000000 | RFC TBD 1344 IANA is requested to create a new registry "MIP6 Authentication Mode" 1345 registry for use with the enumerated MIP6-Auth-Mode AVP. The 1346 registry will initially contain the following values: 1348 Token | Value | Description 1349 ---------------------------------------------+----------+------------ 1350 MIP6_AUTH_MN_AAA | 1 | RFC TBD 1352 Allocation of new values follow the example policies described in 1353 [RFC5226] new values for the MIP6-Auth-Mode AVP will be assigned 1354 based on the "Specification Required" policy. 1356 10. Security Considerations 1358 The security considerations for the Diameter interaction required to 1359 accomplish the split scenario are described in in [RFC5026]. 1360 Additionally, the security considerations of the Diameter Base 1361 protocol [RFC3588], Diameter EAP application [RFC4072] are applicable 1362 to this document. 1364 The Diameter messages may be transported between the HA and the 1365 Diameter server via one or more AAA brokers or Diameter agents. In 1366 this case the HA to the Diameter server AAA communication rely on the 1367 security properties of the intermediate AAA brokers and Diameter 1368 agents (such as proxies). 1370 11. Acknowledgements 1372 The authors would like to thank Jari Arkko, Tolga Asversen, Pasi 1373 Eronen, Santiago Zapata Hernandez, Anders Kristensen, Avi Lior, John 1374 Loughney, Ahmad Muhanna, Behcet Sarikaya, Basavaraj Patil, Vijay 1375 Devarapalli, Lionel Morand, Domagoj Premec, Semyon Mizikovsky and 1376 Yoshihiro Ohba for all the useful discussions. Ahmad Muhanna 1377 provided a detailed review of the document in August 2007. 1379 We would also like to thank our Area Director, Dan Romascanu, for his 1380 support. 1382 Hannes Tschofenig would like to thank the European Commission support 1383 in the co-funding of the ENABLE project, where this work is partly 1384 being developed. 1386 Julien Bournelle would like to thank GET/INT since he began this work 1387 while he was under their employ. 1389 Madjid Nakhjiri would like to thank Huawei USA as most of his 1390 contributions to this draft were possible while he was under their 1391 employ. 1393 12. References 1395 12.1. Normative References 1397 [I-D.ietf-dime-mip6-integrated] 1398 Korhonen, J., Bournelle, J., Tschofenig, H., Perkins, C., 1399 and K. Chowdhury, "Diameter Mobile IPv6: Support for 1400 Network Access Server to Diameter Server Interaction", 1401 draft-ietf-dime-mip6-integrated-11 (work in progress), 1402 November 2008. 1404 [I-D.ietf-dime-qos-attributes] 1405 Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., 1406 and A. Lior, "Quality of Service Attributes for Diameter", 1407 draft-ietf-dime-qos-attributes-09 (work in progress), 1408 December 2008. 1410 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1411 Requirement Levels", BCP 14, RFC 2119, March 1997. 1413 [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. 1414 Arkko, "Diameter Base Protocol", RFC 3588, September 2003. 1416 [RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support 1417 in IPv6", RFC 3775, June 2004. 1419 [RFC4004] Calhoun, P., Johansson, T., Perkins, C., Hiller, T., and 1420 P. McCann, "Diameter Mobile IPv4 Application", RFC 4004, 1421 August 2005. 1423 [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, 1424 "Diameter Network Access Server Application", RFC 4005, 1425 August 2005. 1427 [RFC4072] Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible 1428 Authentication Protocol (EAP) Application", RFC 4072, 1429 August 2005. 1431 [RFC4283] Patel, A., Leung, K., Khalil, M., Akhtar, H., and K. 1432 Chowdhury, "Mobile Node Identifier Option for Mobile IPv6 1433 (MIPv6)", RFC 4283, November 2005. 1435 [RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", 1436 RFC 4306, December 2005. 1438 [RFC4372] Adrangi, F., Lior, A., Korhonen, J., and J. Loughney, 1439 "Chargeable User Identity", RFC 4372, January 2006. 1441 [RFC4877] Devarapalli, V. and F. Dupont, "Mobile IPv6 Operation with 1442 IKEv2 and the Revised IPsec Architecture", RFC 4877, 1443 April 2007. 1445 [RFC5026] Giaretta, G., Kempf, J., and V. Devarapalli, "Mobile IPv6 1446 Bootstrapping in Split Scenario", RFC 5026, October 2007. 1448 [RFC5142] Haley, B., Devarapalli, V., Deng, H., and J. Kempf, 1449 "Mobility Header Home Agent Switch Message", RFC 5142, 1450 January 2008. 1452 12.2. Informative References 1454 [I-D.ietf-dime-app-design-guide] 1455 Fajardo, V., Asveren, T., Tschofenig, H., McGregor, G., 1456 and J. Loughney, "Diameter Applications Design 1457 Guidelines", draft-ietf-dime-app-design-guide-08 (work in 1458 progress), November 2008. 1460 [I-D.ietf-mext-aaa-ha-goals] 1461 Giaretta, G., Guardini, I., Demaria, E., Bournelle, J., 1462 and R. Lopez, "AAA Goals for Mobile IPv6", 1463 draft-ietf-mext-aaa-ha-goals-01 (work in progress), 1464 May 2008. 1466 [I-D.ietf-mext-nemo-v4traversal] 1467 Soliman, H., "Mobile IPv6 Support for Dual Stack Hosts and 1468 Routers (DSMIPv6)", draft-ietf-mext-nemo-v4traversal-07 1469 (work in progress), December 2008. 1471 [RFC4285] Patel, A., Leung, K., Khalil, M., Akhtar, H., and K. 1472 Chowdhury, "Authentication Protocol for Mobile IPv6", 1473 RFC 4285, January 2006. 1475 [RFC4640] Patel, A. and G. Giaretta, "Problem Statement for 1476 bootstrapping Mobile IPv6 (MIPv6)", RFC 4640, 1477 September 2006. 1479 [RFC5149] Korhonen, J., Nilsson, U., and V. Devarapalli, "Service 1480 Selection for Mobile IPv6", RFC 5149, February 2008. 1482 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 1483 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 1484 May 2008. 1486 Authors' Addresses 1488 Jouni Korhonen (editor) 1489 Nokia Siemens Networks 1490 Linnoitustie 6 1491 Espoo FIN-02600 1492 Finland 1494 Email: jouni.nospam@gmail.com 1496 Hannes Tschofenig 1497 Nokia Siemens Networks 1498 Linnoitustie 6 1499 Espoo FIN-02600 1500 Finland 1502 Phone: +358 (50) 4871445 1503 Email: Hannes.Tschofenig@gmx.net 1504 URI: http://www.tschofenig.priv.at 1506 Julien Bournelle 1507 Orange Labs 1508 38-4O rue du general Leclerc 1509 Issy-Les-Moulineaux 92794 1510 France 1512 Email: julien.bournelle@orange-ftgroup.com 1514 Gerardo Giaretta 1515 Qualcomm 1516 5775 MoreHouse Dr 1517 San Diego, CA 92121 1518 USA 1520 Email: gerardo.giaretta@gmail.com 1522 Madjid Nakhjiri 1523 Motorola 1524 USA 1526 Email: madjid.nakhjiri@motorola.com