idnits 2.17.1 draft-ietf-dime-mip6-split-17.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? (You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Feb 2009 rather than one of the newer Notices. See https://trustee.ietf.org/license-info/.) 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 (April 28, 2009) is 5470 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 (-15) exists of draft-ietf-dime-qos-attributes-11 ** 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) ** Downref: Normative reference to an Informational RFC: RFC 4285 ** Obsolete normative reference: RFC 4306 (Obsoleted by RFC 5996) ** Downref: Normative reference to an Informational RFC: RFC 5149 == Outdated reference: A later version (-28) exists of draft-ietf-dime-app-design-guide-08 -- Obsolete informational reference (is this intentional?): RFC 5226 (Obsoleted by RFC 8126) Summary: 7 errors (**), 0 flaws (~~), 3 warnings (==), 3 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: October 30, 2009 Orange Labs 7 G. Giaretta 8 Qualcomm 9 M. Nakhjiri 10 Motorola 11 April 28, 2009 13 Diameter Mobile IPv6: Support for Home Agent to Diameter Server 14 Interaction 15 draft-ietf-dime-mip6-split-17.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 October 30, 2009. 40 Copyright Notice 42 Copyright (c) 2009 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 in effect on the date of 47 publication of this document (http://trustee.ietf.org/license-info). 48 Please review these documents carefully, as they describe your rights 49 and restrictions with respect to this document. 51 Abstract 53 Mobile IPv6 deployments may want to bootstrap their operations 54 dynamically based on an interaction between the Home Agent and the 55 Diameter server of the Mobile Service Provider. This document 56 specifies the interaction between a Mobile IP Home Agent and a 57 Diameter server. 59 This document defines the Home Agent to the Diameter server 60 communication when the mobile node authenticates using the Internet 61 Key Exchange v2 protocol with the Extensible Authentication Protocol 62 or using the Mobile IPv6 Authentication Protocol. In addition to 63 authentication and authorization, the configuration of Mobile IPv6 64 specific parameters and accounting is specified in this document. 66 Table of Contents 68 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 5 69 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 8 70 3. Application Identifiers . . . . . . . . . . . . . . . . . . . 9 71 4. Protocol Description . . . . . . . . . . . . . . . . . . . . . 10 72 4.1. Support for Mobile IPv6 with IKEv2 and EAP . . . . . . . . 10 73 4.2. Support for the Mobile IPv6 Authentication Protocol . . . 13 74 4.3. Mobile IPv6 Session Management . . . . . . . . . . . . . . 14 75 4.3.1. Session-Termination-Request . . . . . . . . . . . . . 14 76 4.3.2. Session-Termination-Answer . . . . . . . . . . . . . . 14 77 4.3.3. Abort-Session-Request . . . . . . . . . . . . . . . . 15 78 4.3.4. Abort-Session-Answer . . . . . . . . . . . . . . . . . 15 79 4.4. Accounting for Mobile IPv6 services . . . . . . . . . . . 15 80 4.4.1. Accounting-Request . . . . . . . . . . . . . . . . . . 16 81 4.4.2. Accounting-Answer . . . . . . . . . . . . . . . . . . 16 82 5. Command Codes . . . . . . . . . . . . . . . . . . . . . . . . 17 83 5.1. Command Code for Mobile IPv6 with IKEv2 and EAP . . . . . 17 84 5.1.1. Diameter-EAP-Request . . . . . . . . . . . . . . . . . 17 85 5.1.2. Diameter-EAP-Answer . . . . . . . . . . . . . . . . . 18 86 5.2. Command Codes for Mobile IPv6 Authentication Protocol 87 Support . . . . . . . . . . . . . . . . . . . . . . . . . 19 88 5.2.1. MIP6-Request . . . . . . . . . . . . . . . . . . . . . 20 89 5.2.2. MIP6-Answer . . . . . . . . . . . . . . . . . . . . . 21 90 6. AVPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 91 6.1. User-Name AVP . . . . . . . . . . . . . . . . . . . . . . 25 92 6.2. Service-Selection AVP . . . . . . . . . . . . . . . . . . 25 93 6.3. MIP-MN-AAA-SPI AVP . . . . . . . . . . . . . . . . . . . . 25 94 6.4. MIP-MN-HA-SPI AVP . . . . . . . . . . . . . . . . . . . . 26 95 6.5. MIP-Mobile-Node-Address AVP . . . . . . . . . . . . . . . 26 96 6.6. MIP6-Agent-Info AVP . . . . . . . . . . . . . . . . . . . 26 97 6.7. MIP-Careof-Address AVP . . . . . . . . . . . . . . . . . . 27 98 6.8. MIP-Authenticator AVP . . . . . . . . . . . . . . . . . . 27 99 6.9. MIP-MAC-Mobility-Data AVP . . . . . . . . . . . . . . . . 27 100 6.10. MIP-Session-Key AVP . . . . . . . . . . . . . . . . . . . 27 101 6.11. MIP-MSA-Lifetime AVP . . . . . . . . . . . . . . . . . . . 27 102 6.12. MIP-MN-HA-MSA AVP . . . . . . . . . . . . . . . . . . . . 28 103 6.13. MIP-Algorithm-Type AVP . . . . . . . . . . . . . . . . . . 28 104 6.14. MIP-Replay-Mode AVP . . . . . . . . . . . . . . . . . . . 28 105 6.15. MIP6-Feature-Vector AVP . . . . . . . . . . . . . . . . . 29 106 6.16. MIP-Timestamp AVP . . . . . . . . . . . . . . . . . . . . 29 107 6.17. QoS-Capability AVP . . . . . . . . . . . . . . . . . . . . 29 108 6.18. QoS-Resources AVP . . . . . . . . . . . . . . . . . . . . 29 109 6.19. Chargeable-User-Identity AVP . . . . . . . . . . . . . . . 29 110 6.20. MIP6-Auth-Mode AVP . . . . . . . . . . . . . . . . . . . . 29 111 6.21. Accounting AVPs . . . . . . . . . . . . . . . . . . . . . 30 112 7. Result-Code AVP Values . . . . . . . . . . . . . . . . . . . . 32 113 7.1. Success . . . . . . . . . . . . . . . . . . . . . . . . . 32 114 7.2. Permanent Failures . . . . . . . . . . . . . . . . . . . . 32 115 8. AVP Occurrence Tables . . . . . . . . . . . . . . . . . . . . 33 116 8.1. DER, DEA, MIR and MIA AVP/Command-Code Table . . . . . . . 33 117 8.2. Coupled Accounting Model AVP Table . . . . . . . . . . . . 34 118 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 36 119 9.1. Command Codes . . . . . . . . . . . . . . . . . . . . . . 36 120 9.2. AVP Codes . . . . . . . . . . . . . . . . . . . . . . . . 36 121 9.3. Result-Code AVP Values . . . . . . . . . . . . . . . . . . 36 122 9.4. Application Identifier . . . . . . . . . . . . . . . . . . 37 123 9.5. Namespaces . . . . . . . . . . . . . . . . . . . . . . . . 37 124 10. Security Considerations . . . . . . . . . . . . . . . . . . . 38 125 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 39 126 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 40 127 12.1. Normative References . . . . . . . . . . . . . . . . . . . 40 128 12.2. Informative References . . . . . . . . . . . . . . . . . . 41 129 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 42 131 1. Introduction 133 Performing the Mobile IPv6 protocol [RFC3775], requires the Mobile 134 Node (MN) to own a Home Address (HoA) and to have an assigned Home 135 Agent (HA) to the MN. The MN needs to register with the HA in order 136 to enable its reachability and mobility, when away from its home 137 link. The registration process itself may require an establishment 138 of IPsec security associations (SA) and cryptographic material 139 between the MN and the HA. Alternatively, the registration process 140 may be secured using a mobility message authentication option, which 141 enables IPv6 mobility in a MN without having to establish an IPsec SA 142 with its HA. Providing the collection of home address, HA address 143 and keying material is generally referred to as the Mobile IPv6 144 bootstrapping problem [RFC4640]. The purpose of this specification 145 is to provide Diameter support for the interaction between the HA and 146 the Authentication, Authorization, and Accounting (AAA) server. This 147 specification satisfies the requirements defined in 148 [I-D.ietf-mext-aaa-ha-goals] for the bootstrapping problem in the 149 split scenario [RFC5026] and also specifies Diameter support for the 150 Authentication Protocol for Mobile IPv6 [RFC4285]. The Diameter 151 support defined in this specification also applies to Dual Stack 152 Mobile IPv6 [I-D.ietf-mext-nemo-v4traversal]. 154 From a Mobility Service Provider (MSP) perspective, it is important 155 to verify that the MN is authenticated and authorized to utilize 156 Mobile IPv6 service, and is accounted for those. Only when the MN is 157 authenticated and authorized, the MSP allows the bootstrapping of 158 Mobile IPv6 parameters. Thus, prior to processing the Mobile IPv6 159 registrations, the HA participates in the authentication of the MN to 160 verify the MN's identity. The HA also participates in the Mobile 161 IPv6 authorization process involving the Diameter infrastructure. 162 The HA, due to its role in traffic forwarding, may also perform 163 accounting for the Mobile IPv6 service provided to the MN. 165 This document enables the following functionality: 167 Authentication: Verifying the MN's identity. As a Diameter client 168 supporting the new Diameter Mobile IPv6 application, the HA may 169 need to support more than one authentication type depending on the 170 environment. Although the authentication is performed by the AAA 171 server there is an impact for the HA as different set of command 172 codes are needed for the respective authentication procedures. 174 Authorization: The HA must verify that the user is authorized to the 175 Mobile IPv6 service using the assistance of the MSP Diameter 176 servers. This is accomplished through the use of new Diameter 177 applications specifically designed for performing Mobile IPv6 178 authorization decisions. This document defines required AAA 179 procedures and requires the HA to support them and to participate 180 in this authorization signaling. 182 Accounting: For accounting purposes and capacity planning, it is 183 required that the HA provides accounting reports to the Diameter 184 infrastructure and thus to support the related Diameter accounting 185 procedures. 187 Session Management: The management of the mobility services may 188 require the Diameter server or the HA to terminate the Mobile IPv6 189 service before the binding expires. This document defines 190 procedures for the AAA based session management. 192 Figure 1 depicts the reference architecture for this document. 194 +--------+ 195 |Diameter| 196 |Server | 197 +--------+ 198 ^ 199 Back-End | Diameter Mobile IPv6 200 Protocol | HA<->AAA Server 201 Support | Interaction 202 | (this document) 203 v 204 +---------+ +---------------+ 205 | Mobile | Front-End Protocol |Home Agent / | 206 | Node |<-------------------->|Diameter Client| 207 +---------+ IKEv2 or RFC 4285 +---------------+ 209 Figure 1: Architecture Overview 211 Mobile IPv6 signaling between the MN and the HA can be protected 212 using two different mechanisms, namely using IPsec or the 213 Authentication Protocol for Mobile IPv6 [RFC4285]. For these two 214 approaches several different authentication and key exchange 215 solutions are available. When IPsec is used to protect Mobile IPv6 216 signaling messages, Internet Key Exchange v2 (IKEv2) is used 217 [RFC4877] for the setup of the IPsec SAs. IKEv2 supports Extensible 218 Authentication Protocol (EAP) based initiator authentication, 219 certificates and pre-shared secrets. Alternatively, the 220 Authentication Protocol for Mobile IPv6 uses a mechanism that is very 221 similar to the one used for protecting Mobile IPv4 signaling 222 messages. 224 The ability to use different credentials and methods to authenticate 225 the MN has an impact on the AAA interactions between the HA (acting 226 as a Diameter client) and the Diameter Server. This specification is 227 only limited to the following MN authentication methods: 229 o IKEv2 usage with EAP 231 o Mobile IPv6 Authentication Protocol 233 New authentication mechanisms may be added later by separate 234 specifications. 236 For accounting of Mobile IPv6 services provided to the MN, this 237 specification uses the Diameter Base Protocol accounting defined in 238 [RFC3588]. 240 2. Terminology 242 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 243 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 244 document are to be interpreted as described in [RFC2119]. 246 The Mobile IPv6 bootstrapping terminology is taken from [RFC4640]. 247 Additional terminology is defined below: 249 Authentication, Authorization, and Accounting (AAA): 251 AAA protocol based on Diameter [RFC3588] with required EAP support 252 [RFC4072]. 254 Home AAA (AAAH): 256 An authentication, authorization and accounting server located in 257 user's home network i.e., in the home realm. 259 3. Application Identifiers 261 This specification defines two new Diameter applications and their 262 respective Application Identifiers: 264 Diameter Mobile IPv6 IKE (MIP6I) TBD by IANA 265 Diameter Mobile IPv6 Auth (MIP6A) TBD by IANA 267 The MIP6I Application Identifier is used when the MN is authenticated 268 and authorized using IKEv2. The MIP6A Application Identifier is used 269 when the MN is authenticated and authorized using the Mobile IPv6 270 Authentication Protocol. 272 Mobile IPv6 related accounting information generated by the HA uses 273 either the MIP6I or the MIP6A Application Identifier in the case of 274 coupled accounting model. The Diameter Base Accounting Application 275 Identifier (value of 3) is used in case of the split accounting 276 model. Refer to Section 4.4 for more information regarding the 277 accounting models. 279 4. Protocol Description 281 4.1. Support for Mobile IPv6 with IKEv2 and EAP 283 The use of IKEv2 with EAP between the MN and the HA allows the AAA to 284 authenticate the MN. When EAP is used with IKEv2, the Diameter EAP 285 application logic and procedures, as defined in [RFC4072], are re- 286 used. EAP methods that do not establish a shared key SHOULD NOT be 287 used, as they are subject to a number of man-in-the-middle attacks as 288 stated in Section 2.16 and Section 5 of [RFC4306]. AVPs specific to 289 Mobile IPv6 bootstrapping are added to the EAP application commands. 291 Figure 2 shows the message flow involved during the authentication 292 phase when EAP is used. The communication between the mobile node 293 and the home agent use the conventions defined in [RFC4306]. 294 Similarly, the communication between the home agent and the Diameter 295 server use the conventions defined in [RFC4072]. 297 Mobile Home Diameter 298 Node Agent Server 299 | | | 300 | HDR, SAi1, KEi, Ni (1) | | 301 |-------------------------------->| | 302 | | | 303 | HDR, SAr1, KEr, Nr, [CERTREQ](2)| | 304 |<--------------------------------| | 305 | | | 306 | HDR, SK{IDi,[CERTREQ,] [IDr,] | | 307 | [CP(CFG_REQUEST),] | | 308 | SAi2, TSi, TSr} (3) | DER (EAP-Response) (4) + | 309 |-------------------------------->| MIP6 Bootstrapping AVPs | 310 | |------------------------->| 311 | | | 312 | | DEA (EAP-Request) (5) | 313 | HDR, SK{IDr, [CERT,] AUTH, EAP} |<-------------------------| 314 |<------------------------------- | | 315 | | | 316 | HDR, SK{EAP} | | 317 |-------------------------------->| DER (EAP-Response) | 318 | |------------------------->| 319 | | | 320 | | DEA (EAP-Request) | 321 | HDR, SK{EAP-Request} |<-------------------------| 322 |<--------------------------------| | 323 | | | 324 | HDR, SK{EAP-Response} | | 325 |-------------------------------->| DER (EAP-Response) | 326 | |------------------------->| 327 : ... : ... : 328 | | | 329 | | DEA (EAP-Success) + | 330 | | MIP6 Bootstrapping AVPs | 331 | HDR, SK{EAP-Success} |<-------------------------| 332 |<--------------------------------| | 333 | | | 334 | HDR, SK{AUTH} | | 335 |-------------------------------->| | 336 | | | 337 | HDR, SK{AUTH, [CP(CFG_REPLY,] | | 338 | SAr2, TSi, TSr} | | 339 |<--------------------------------| | 340 | | | 342 Figure 2: Mobile IPv6 bootstrapping using IKEv2 and EAP 344 The MN and the HA start the interaction with an IKE_SA_INIT exchange. 346 In this phase cryptographic algorithms are negotiated, nonces and 347 Diffie-Hellman parameters are exchanged. Message (3) starts the 348 IKE_AUTH phase. This second phase authenticates the previous 349 messages, exchanges identities and certificates and establishes the 350 first CHILD_SA. It is used to mutually authenticate the MN (acting 351 as an IKEv2 Initiator) and the HA (acting as an IKEv2 Responder). 352 The identity of the user/MN is provided in the IDi field. The MN 353 indicates its willingness to be authenticated via EAP by omitting the 354 AUTH field in message (3) (see Section 2.16 of [RFC4306]). 356 As part of the authentication process, the MN MAY request a Home- 357 Address, a Home Prefix or suggests one, see [RFC4877], using a 358 CFG_REQUEST payload in the message (3). 360 The HA extracts the IDi field from the message (3) and sends a 361 Diameter-EAP-Request (DER) message (4) towards the authenticating 362 Diameter server. The EAP-Payload AVP contains a EAP-Response/ 363 Identity with the identity extracted from the IDi field. 365 This message is routed to the MN's Diameter server/EAP server. The 366 Diameter server selects the EAP method and replies with the Diameter- 367 EAP-Answer (DEA) Message. Depending on the type of EAP method 368 chosen, a number of DER and DEA messages carry the method specific 369 exchanges between the MN and the Diameter server/EAP server. 371 At the end of the EAP authentication phase, the Diameter server 372 indicates the result of the authentication in the Result-Code AVP and 373 provides the corresponding EAP packet (EAP Success or EAP Failure). 374 The last IKEv2 message sent by the HA contains the Home Address or 375 the Home Prefix. In the latter case, a CREATE_CHILD_SA exchange is 376 necessary to setup IPsec SAs for Mobile IPv6 signaling. 378 In some deployment scenarios, the HA may also act as an IKEv2 379 Responder for a conventional IPsec VPN access. The challenge in this 380 case is that the IKEv2 responder may not know if IKEv2 is used for 381 Mobile IPv6 service or for IPsec VPN access service. A network 382 operator needs to be aware of this limitation. One solution already 383 supported by IKEv2 is to use different responder identities when 384 operating as a conventional IPsec VPN gateway or as a HA. The MN can 385 then indicate the preferred responder type using the appropriate IDr 386 payload in the IKE_AUTH message. 388 Eventually, when the HA receives a Binding Update (BU), the HA 389 authenticates and authorizes the MN. It is RECOMMENDED that the HA 390 sends an accounting request message every time it receives a BU. 392 4.2. Support for the Mobile IPv6 Authentication Protocol 394 Figure 3 shows the message sequence between the MN, the HA and the 395 Diameter server during the registration when Mobile IPv6 396 Authentication Protocol is used. A BU and a Binding Acknowledgement 397 (BA) messages are used in the binding registration process. 399 Receiving a BU at the HA initiates a MIP6-Request to be sent to the 400 Diameter server. The Diameter server in turn responds with a MIP6- 401 Answer. The HA may assign a Home Address to the MN and provide it to 402 the Diameter server in the MIP-Mobile-Node-Address AVP. 404 According to [RFC4285] the MN uses the Mobile Node Identifier Option, 405 specifically the MN-NAI mobility option (as defined in [RFC4283]) to 406 identify itself. The HA MUST copy the MN-NAI mobility option value 407 to the User-Name AVP in the subsequent request messages. 409 The procedure described in this specification for the Mobile IPv6 410 Authentication Protocol is only needed for the initially received BU 411 for which the HA does not have an existing security association. 412 When the HA receives subsequent BUs, they are processed locally in 413 the HA. It is RECOMMENDED that the HA sends an accounting request 414 message every time it receives a Binding Update. However, the HA MAY 415 re-authorize the MN with the Diameter server at any time depending on 416 the deployment and the local policy. 418 This specification assumes that in the case Mobile IPv6 419 Authentication Protocol is used, the MN-AAA option is included in the 420 BU as defined in [RFC4285] and the Diameter server computes required 421 session keys after having successfully authenticated the MN. The 422 computation of the session keys is out of scope of this 423 specification. Other possible ways of using Mobile IPv6 424 Authentication Protocol are also out of scope of this specification 425 and would require a new specification to describe the detailed 426 behavior of the HA-AAAH interface and corresponding session key 427 derivation. 429 Mobile Home Diameter 430 Node Agent Server 431 | | | 432 | | MIP6-Request + MIP6 | 433 | Binding Update | Bootstrapping AVPs | 434 |------------------------------------>|-------------------->| 435 | (Mobile Node Identifier Option, | | 436 | Mobility Message Replay Protection | | 437 | Option, Authentication Option) | | 438 | | | 439 | | MIP6-Answer + MIP6 | 440 | Binding Acknowledgement | Bootstrapping AVPs | 441 |<------------------------------------|<--------------------| 442 | (Mobile Node Identifier Option | | 443 | Mobility Message Replay Protection | | 444 | Option, Authentication Option) | | 446 Figure 3: Mobile IPv6 Bootstrapping using the Mobile IPv6 447 Authentication Protocol 449 4.3. Mobile IPv6 Session Management 451 The Diameter server may maintain state or may be stateless. This is 452 indicated in the Auth-Session-State AVP (or its absence). The HA 453 MUST support the Authorization Session State Machine defined in 454 [RFC3588]. 456 This specification makes an assumption that each SA created between 457 the MN and the HA as a result of a successful IKEv2 negotiation or a 458 Mobile IPv6 Authentication Protocol exchange correspond to one 459 Diameter session. In IKEv2 case we specifically mean the created IKE 460 SA. 462 4.3.1. Session-Termination-Request 464 The Session-Termination-Request (STR) message [RFC3588] is sent by 465 the HA to inform the Diameter server that an authorized session is 466 being terminated. This means that the HA MUST terminate the 467 corresponding Mobile IPv6 binding and also terminate the 468 corresponding SA. 470 4.3.2. Session-Termination-Answer 472 The Session-Termination-Answer (STA) message [RFC3588] is sent by the 473 Diameter server to acknowledge the notification that the session has 474 been terminated. 476 4.3.3. Abort-Session-Request 478 The Abort-Session-Request (ASR) message [RFC3588] is sent by the 479 Diameter server to the HA to terminate the authorized session. This 480 fulfills one of the requirement described in 481 [I-D.ietf-mext-aaa-ha-goals]. When the HA receives the ASR message, 482 it MUST terminate the corresponding SA. Subsequently, the HA MUST 483 take further actions to terminate the corresponding Mobile IPv6 484 binding. 486 4.3.4. Abort-Session-Answer 488 The Abort-Session-Answer (ASA) message [RFC3588] is sent by the Home 489 Agent in response to an ASR message. 491 4.4. Accounting for Mobile IPv6 services 493 The HA MUST be able act as a Diameter client collecting accounting 494 records needed for service control and charging. The HA MUST support 495 the accounting procedures (specifically the command codes mentioned 496 below) and the Accounting Session State Machine as defined in 497 [RFC3588]. The command codes, exchanged between the HA and Diameter 498 server for accounting purposes, are provided in the following 499 subsections. 501 The Diameter application design guideline 502 [I-D.ietf-dime-app-design-guide] defines two separate models for 503 accounting: 505 Split accounting model: 507 According to this model, the accounting messages use the Diameter 508 Base Accounting Application Identifier (value of 3). Since 509 accounting is treated as an independent application, accounting 510 commands may be routed separately from the rest of application 511 messages and thus the accounting messages generally end up in a 512 central accounting server. Since Diameter Mobile IPv6 application 513 does not define its own unique accounting commands, this is the 514 preferred choice, since it permits use of centralized accounting 515 for several applications. 517 Coupled accounting model: 519 In this model, the accounting messages will use either the MIP6I 520 or the MIP6A Application Identifiers. This means that accounting 521 messages will be routed like any other Mobile IPv6 application 522 messages. This requires the Diameter server in charge of Mobile 523 IPv6 application to handle the accounting records (e.g., sends 524 them to a proper accounting server). 526 As mentioned above, the preferred choice is to use the split 527 accounting model and thus to choose Diameter Base Accounting 528 Application Identifier (value of 3) for accounting messages. 530 4.4.1. Accounting-Request 532 The Accounting-Request command [RFC3588] is sent by the HA to the 533 Diameter server to exchange accounting information regarding the MN 534 with the Diameter server. 536 4.4.2. Accounting-Answer 538 The Accounting-Answer command [RFC3588] is sent by the Diameter 539 server to the HA to acknowledge an Accounting-Request. 541 5. Command Codes 543 5.1. Command Code for Mobile IPv6 with IKEv2 and EAP 545 For the use of Mobile IPv6 with IKEv2 and EAP this document reuses 546 the Diameter EAP application [RFC4072] commands: Diameter-EAP-Request 547 (DER) and Diameter-EAP-Answer (DEA). This specification extends the 548 existing DER and DEA command ABNFs with a number of AVPs to support 549 Mobile IPv6 split scenario bootstrapping. Other than new additional 550 AVPs and the corresponding additions to the command ABNFs, the 551 Diameter EAP application command ABNFs remain unchanged. The ABNF 552 language is defined in [RFC3588]. 554 Command-Name Abbrev. Code Reference Application 555 --------------------------------------------------------------------- 556 Diameter-EAP-Request DER 268 RFC 4072 Diameter Mobile IPv6 IKE 557 Diameter-EAP-Answer DEA 268 RFC 4072 Diameter Mobile IPv6 IKE 559 Figure 4: Command Codes 561 5.1.1. Diameter-EAP-Request 563 The Diameter-EAP-Request (DER) message, indicated by the Command-Code 564 field set to 268 and the 'R' bit set in the Command Flags field, is 565 sent by the HA to the Diameter server to initiate a Mobile IPv6 566 service authentication and authorization procedure. The 567 Application-ID field of the Diameter Header MUST be set to the 568 Diameter Mobile IPv6 IKE Application ID (value of TDB). 570 ::= < Diameter Header: 268, REQ, PXY > 571 < Session-Id > 572 { Auth-Application-Id } 573 { Origin-Host } 574 { Origin-Realm } 575 { Destination-Realm } 576 { Auth-Request-Type } 577 [ Destination-Host ] 578 [ NAS-Identifier ] 579 [ NAS-IP-Address ] 580 [ NAS-IPv6-Address ] 581 [ NAS-Port-Type ] 582 [ User-Name ] 583 ... 584 { EAP-Payload } 585 ... 586 [ MIP6-Feature-Vector ] 587 [ MIP6-Agent-Info ] 588 *2[ MIP-Mobile-Node-Address ] 589 [ Chargeable-User-Identity ] 590 [ Service-Selection ] 591 [ QoS-Capability ] 592 * [ QoS-Resources ] 593 ... 594 * [ AVP ] 596 Mobile IPv6 bootstrapping AVPs are only included in the first DER 597 message send by the HA. The subsequent DER messages required by the 598 EAP-method do not need to include any Mobile IPv6 bootstrapping AVPs. 599 The MN is both authenticated and authorized for the mobility service 600 during the EAP authentication. Thus, the Auth-Request-Type AVP MUST 601 be set to the value AUTHORIZE_AUTHENTICATE. 603 5.1.2. Diameter-EAP-Answer 605 The Diameter-EAP-Answer (DEA) message, indicated by the Command-Code 606 field set to 268 and 'R' bit cleared in the Command Flags field, is 607 sent in response to the Diameter-EAP-Request message (DER). The 608 Application-Id field in the Diameter message header MUST be set to 609 the Diameter Mobile IPv6 IKE Application-Id (value of TBD). If the 610 Mobile IPv6 authentication procedure was successful then the response 611 MAY include any set of bootstrapping AVPs. 613 ::= < Diameter Header: 268, PXY > 614 < Session-Id > 615 { Auth-Application-Id } 616 { Auth-Request-Type } 617 { Result-Code } 618 { Origin-Host } 619 { Origin-Realm } 620 [ User-Name ] 621 [ EAP-Payload ] 622 [ EAP-Reissued-Payload ] 623 [ EAP-Master-Session-Key ] 624 [ EAP-Key-Name ] 625 [ Multi-Round-Time ] 626 ... 627 *2[ MIP-Mobile-Node-Address ] 628 [ MIP6-Feature-Vector ] 629 [ MIP6-Agent-Info ] 630 [ Service-Selection ] 631 * [ QoS-Resources ] 632 [ Chargeable-User-Identity ] 633 ... 634 * [ AVP ] 636 If the EAP-based authentication and the authorization for the 637 mobility service succeeds, then the Mobile IPv6 bootstrapping AVPs 638 are included in the last DEA message that also carries the EAP- 639 Success EAP payload. The other DEA messages required by the used 640 EAP-method do not include any Mobile IPv6 bootstrapping AVPs. 642 5.2. Command Codes for Mobile IPv6 Authentication Protocol Support 644 This section defines the commands that are used for support with the 645 Mobile IPv6 Authentication Protocol. 647 There are multiple ways of deploying and utilizing Mobile IPv6 648 Authentication Protocol, especially regarding the associated AAA 649 interactions. In order to support multiple deployment models this 650 specification defines the MIP6-Auth-Mode AVP that in the request 651 message tells the mode that the HA supports. This specification 652 defines a method that requires the use of the MN-AAA option with the 653 Mobile IPv6 Authentication Protocol. 655 Command-Name Abbrev. Code Reference Application 656 --------------------------------------------------------------------- 657 MIP6-Request MIR TBD 5.3.1 Diameter Mobile IPv6 Auth 658 MIP6-Answer MIA TBD 5.3.2 Diameter Mobile IPv6 Auth 659 Command Codes 661 5.2.1. MIP6-Request 663 The MIP6-Request (MIR), indicated by the Command-Code field set to 664 TBD and the 'R' bit set in the Command Flags field, is sent by the 665 HA, acting as a Diameter client, in order to request the 666 authentication and authorization of a MN. 668 Although the HA provides the Diameter server with replay protection 669 related information, the HA is responsible for the replay protection. 671 The message format is shown below. 673 ::= < Diameter Header: TBD, REQ, PXY > 674 < Session-ID > 675 { Auth-Application-Id } 676 { User-Name } 677 { Destination-Realm } 678 { Origin-Host } 679 { Origin-Realm } 680 { Auth-Request-Type } 681 [ Destination-Host ] 682 [ Origin-State-Id ] 683 [ NAS-Identifier ] 684 [ NAS-IP-Address ] 685 [ NAS-IPv6-Address ] 686 [ NAS-Port-Type ] 687 [ Called-Station-Id ] 688 [ Calling-Station-Id ] 689 [ MIP6-Feature-Vector ] 690 { MIP6-Auth-Mode } 691 [ MIP-MN-AAA-SPI ] 692 [ MIP-MN-HA-SPI ] 693 1*2{ MIP-Mobile-Node-Address } 694 { MIP6-Agent-Info } 695 { MIP-Careof-Address } 696 [ MIP-Authenticator ] 697 [ MIP-MAC-Mobility-Data ] 698 [ MIP-Timestamp ] 699 [ QoS-Capability ] 700 * [ QoS-Resources ] 701 [ Chargeable-User-Identity ] 702 [ Service-Selection ] 703 [ Authorization-Lifetime ] 704 [ Auth-Session-State ] 705 * [ Proxy-Info ] 706 * [ Route-Record ] 707 * [ AVP ] 709 If the MN is both authenticated and authorized for the mobility 710 service, then the Auth-Request-Type AVP is set to the value 711 AUTHORIZE_AUTHENTICATE. This is the case when the MIP6-Auth-Mode is 712 set to the value MIP6_AUTH_MN_AAA. 714 5.2.2. MIP6-Answer 716 The MIP6-Answer (MIA) message, indicated by the Command-Code field 717 set to TBD and the 'R' bit cleared in the Command Flags field, is 718 sent by the Diameter server in response to the MIP6-Request message. 719 The User-Name AVP MAY be included in the MIA if it is present in the 720 MIR. The Result-Code AVP MAY contain one of the values defined in 721 Section 7, in addition to the values defined in [RFC3588]. 723 An MIA message with the Result-Code AVP set to DIAMETER_SUCCESS MUST 724 include the MIP-Mobile-Node-Address AVP. 726 The message format is shown below. 728 ::= < Diameter Header: TBD, PXY > 729 < Session-Id > 730 { Auth-Application-Id } 731 { Result-Code } 732 { Origin-Host } 733 { Origin-Realm } 734 { Auth-Request-Type } 735 [ User-Name ] 736 [ Authorization-Lifetime ] 737 [ Auth-Session-State ] 738 [ Error-Message ] 739 [ Error-Reporting-Host ] 740 [ Re-Auth-Request-Type ] 741 [ MIP6-Feature-Vector ] 742 [ MIP-Agent-Info ] 743 *2[ MIP-Mobile-Node-Address ] 744 [ MIP-MN-HA-MSA ] 745 * [ QoS-Resources ] 746 [ Chargeable-User-Identity ] 747 [ Service-Selection ] 748 [ Origin-State-Id ] 749 * [ Proxy-Info ] 750 * [ Redirect-Host ] 751 [ Redirect-Host-Usage ] 752 [ Redirect-Max-Cache-Time ] 753 * [ Failed-AVP ] 754 * [ AVP ] 756 6. AVPs 758 To provide support for [RFC4285] and for [RFC4877] the AVPs in the 759 following subsections are needed. [RFC3588], [RFC4004] and [RFC4005] 760 defined AVPs are reused whenever possible without changing the 761 existing semantics of those AVPs. 763 +--------------------+ 764 | AVP Flag rules | 765 +----+---+------+----+----+ 766 AVP Defined | | |SHOULD|MUST|MAY | 767 Attribute Name Code in Value Type |MUST|MAY| NOT | NOT|Encr| 768 +-----------------------------------------+----+---+------+----+----+ 769 |MIP6-Feature- 124 RFC5447 Unsigned64 | M | P | | V | Y | 770 | Vector | | | | | | 771 +-----------------------------------------+----+---+------+----+----+ 772 |MIP-Mobile- | M | P | | V | Y | 773 | Node-Address 334 RFC4004 Address | | | | | | 774 +-----------------------------------------+----+---+------+----+----+ 775 |MIP6-Agent-Info 486 RFC5447 Grouped | M | P | | V | Y | 776 +-----------------------------------------+----+---+------+----+----+ 777 |User-Name 1 RFC3588 UTF8String | M | P | | V | Y | 778 +-----------------------------------------+----+---+------+----+----+ 779 |Service- TBD 6.2 UTF8String | M | P | | V | Y | 780 | Selection | | | | | | 781 +-----------------------------------------+----+---+------+----+----+ 782 |QoS-Capability TBD Note 1 Grouped | M | P | | V | Y | 783 +-----------------------------------------+----+---+------+----+----+ 784 |QoS-Resources TBD Note 1 Grouped | M | P | | V | Y | 785 +-----------------------------------------+----+---+------+----+----+ 786 |MIP-MN-HA-MSA TBD 6.12 Grouped | M | P | | V | Y | 787 +-----------------------------------------+----+---+------+----+----+ 788 |Chargeable-User- OctetString| M | P | | V | Y | 789 | Identity 89 6.19 | | | | | | 790 +-----------------------------------------+----+---+------+----+----+ 792 AVPs for Mobile IPv6 IKE Application 794 Note 1: The QoS-Capability and the QoS-Resource AVPs are defined in 795 Sections 4.1 and 4.3 of [I-D.ietf-dime-qos-attributes]. 797 +--------------------+ 798 | AVP Flag rules | 799 +----+---+------+----+----+ 800 AVP Section | | |SHOULD|MUST|MAY | 801 Attribute Name Code Defined Value Type |MUST|MAY| NOT | NOT|Encr| 803 +-----------------------------------------+----+---+------+----+----+ 804 |MIP6-Feature- 124 RFC5447 Unsigned64 | M | P | | V | Y | 805 | Vector | | | | | | 806 +-----------------------------------------+----+---+------+----+----+ 807 |User-Name 1 RFC3588 UTF8String | M | P | | V | Y | 808 +-----------------------------------------+----+---+------+----+----+ 809 |Service- TBD 6.2 UTF8String | M | P | | V | Y | 810 | Selection | | | | | | 811 +-----------------------------------------+----+---+------+----+----+ 812 |MIP-MN-AAA-SPI 341 RFC4004 Unsigned32 | M | P | | V | Y | 813 +-----------------------------------------+----+---+------+----+----+ 814 |MIP-MN-HA-SPI TBD 6.4 Unsigned32 | M | P | | V | Y | 815 +-----------------------------------------+----+---+------+----+----+ 816 |MIP-Mobile- 333 RFC4004 Address | M | P | | V | Y | 817 | Node-Address | | | | | | 818 +-----------------------------------------+----+---+------+----+----+ 819 |MIP6-Agent-Info 486 RFC5447 Grouped | M | P | | V | Y | 820 +-----------------------------------------+----+---+------+----+----+ 821 |MIP-Careof- TBD 6.7 Address | M | P | | V | Y | 822 | Address | | | | | | 823 +-----------------------------------------+----+---+------+----+----+ 824 |MIP- TBD 6.8 OctetString| M | P | | V | Y | 825 | Authenticator | | | | | | 826 +-----------------------------------------+----+---+------+----+----+ 827 |MIP-MAC- TBD 6.9 OctetString| M | P | | V | Y | 828 | Mobility-Data | | | | | | 829 +-----------------------------------------+----+---+------+----+----+ 830 |MIP-Session-Key 343 6.10 OctetString| M | P | | V | Y | 831 +-----------------------------------------+----+---+------+----+----+ 832 |MIP-MSA- 367 RFC4004 Unsigned32 | M | P | | V | Y | 833 | Lifetime | | | | | | 834 +-----------------------------------------+----+---+------+----+----+ 835 |MIP-MN-HA-MSA TBD 6.12 Grouped | M | P | | V | Y | 836 +-----------------------------------------+----+---+------+----+----+ 837 |MIP-Algorithm- 345 6.13 Enumerated | M | P | | V | Y | 838 | Type | | | | | | 839 +-----------------------------------------+----+---+------+----+----+ 840 |MIP-Replay-Mode 346 6.14 Enumerated | M | P | | V | Y | 841 +-----------------------------------------+----+---+------+----+----+ 842 |MIP-Timestamp TBD 6.16 OctetString| M | P | | V | Y | 843 +-----------------------------------------+----+---+------+----+----+ 844 |QoS-Capability TBD Note 1 Grouped | M | P | | V | Y | 845 +-----------------------------------------+----+---+------+----+----+ 846 |QoS-Resources TBD Note 1 Grouped | M | P | | V | Y | 847 +-----------------------------------------+----+---+------+----+----+ 848 |Chargeable-User- OctetString| M | P | | V | Y | 849 | Identity 89 6.19 | | | | | | 850 +-----------------------------------------+----+---+------+----+----+ 851 |MIP6-Auth-Mode TBD 6.20 Enumerated | M | P | | V | Y | 852 +-----------------------------------------+----+---+------+----+----+ 853 |Rest of the AVPs RFC3588 | M | P | | V | Y | 854 |in the MIR & MIA RFC4005 | | | | | | 855 |excluding *[AVP] | | | | | | 856 +-----------------------------------------+----+---+------+----+----+ 858 AVPs for the Mobile IPv6 Auth Application 860 Note 1: The QoS-Capability and the QoS-Resource AVPs are defined in 861 Sections 4.1 and 4.3 of [I-D.ietf-dime-qos-attributes]. 863 6.1. User-Name AVP 865 The User-Name AVP (AVP Code 1) is of type UTF8String and contains an 866 NAI extracted from the MN-NAI mobility option included in the 867 received BU message. Alternatively, the NAI can be extracted from 868 the IKEv2 IDi payload included in the IKE_AUTH message sent by the 869 IKE initiator. 871 6.2. Service-Selection AVP 873 The Service-Selection AVP (AVP Code TBD) is of type UTF8String and 874 contains the name of the service or the external network that the 875 mobility service should be associated with. In the scope of this 876 specification the value can extracted from the IKEv2 IDr payload, if 877 available in the IKE_AUTH message sent by the IKE initiator. 878 Alternatively, if the Mobile IPv6 Authentication Protocol is used, 879 then the Service-Selection AVP contains the string extracted from the 880 Service Selection Mobility Option [RFC5149], if available in the 881 received BU. Future specification may define additional ways to 882 populate the Service-Selection AVP with the required information. 884 The AVP is also available to be used in messages sent from the 885 Diameter server to the Diameter client. For example, if the request 886 message did not contain the Service-Selection AVP but the MN was 887 assigned with a default service, the Diameter server MAY return the 888 name of the assigned default service to the HA. 890 If the Service-Selection AVP is present in both the request and the 891 reply messages, it SHOULD contain the same service name. If the 892 services differ, the HA MAY treat that as authorization failure. 894 6.3. MIP-MN-AAA-SPI AVP 896 The MIP-MN-AAA-SPI AVP (AVP Code 341) is of type Unsigned32 and 897 contains an SPI code extracted from the Mobility Message 898 Authentication Option included in the received BU message. This AVP 899 is re-used from [RFC4004]. 901 When the MIP6-Auth-Mode AVP is set to value MIP6_AUTH_MN_AAA, this 902 AVP MUST be present in the MIR message. 904 6.4. MIP-MN-HA-SPI AVP 906 The MIP-MN-HA-SPI AVP (AVP Code TBD) is of type Unsigned32 and 907 contains an SPI value that can be used with other parameters for 908 identifying the security association required for the validation of 909 the Mobile IPv6 MN-HA Authentication Option. 911 When the MIP6-Auth-Mode AVP is set to value MIP6_AUTH_MN_AAA, and the 912 Diameter server returns a valid MIP-MN-HA-MSA AVP in the MIA message, 913 this AVP MUST be present inside the MIP-MN-HA-MSA AVP. 915 6.5. MIP-Mobile-Node-Address AVP 917 The MIP-Mobile-Node-Address AVP (AVP Code 333) is of type Address and 918 contains the HA assigned IPv6 or IPv4 Home Address of the Mobile 919 Node. 921 If the MIP-Mobile-Node-Address AVP contains the unspecified IPv6 922 address (0::0) or the all zeroes IPv4 address (0.0.0.0) in a request 923 message, then the HA expects the Diameter server to assign the Home 924 Address in a subsequent answer message. If the Diameter server 925 assigns only an IPv6 Home Network Prefix to the Mobile Node the lower 926 64 bits of the MIP-Mobile-Node-Address AVP provided address MUST be 927 set to zero. 929 This AVP is re-used from [RFC4004]. 931 6.6. MIP6-Agent-Info AVP 933 The MIP6-Agent-Info AVP (AVP Code 486) is defined in Section 4.2.1 of 934 [RFC5447] and contains the IPv6 or the IPv4 address information of 935 the HA. The HA address in a request message is the same as in the 936 received BU message that triggered the authentication and 937 authorization procedure towards the Diameter server. One use case is 938 e.g., to inform the Diameter server of the dynamically assigned HA. 940 If the MIP6-Agent-Info AVP is present in an answer message and the 941 Result-Code AVP is set to DIAMETER_SUCCESS_RELOCATE_HA, then the 942 Diameter server is indicating to the HA that it MUST initiate a HA 943 switch procedure towards the MN (e.g., using the procedure defined in 944 [RFC5142]). If the Result-Code AVP is set to any other value, then 945 the HA SHOULD initiate the HA switch procedure towards the MN. The 946 address information of the assigned HA is defined in the MIP6-Agent- 947 Info AVP. 949 6.7. MIP-Careof-Address AVP 951 The MIP-Careof-Address AVP (AVP Code TBD) is of type Address and 952 contains the IPv6 or the IPv4 Care-of Address of the Mobile Node. 953 The HA extracts this IP address from the received BU message. 955 6.8. MIP-Authenticator AVP 957 The MIP-Authenticator AVP (AVP Code TBD) is of type OctetString and 958 contains the Authenticator Data from the received BU message. The HA 959 extracts this data from the MN-AAA Mobility Message Authentication 960 Option included in the received BU message. 962 When the MIP6-Auth-Mode AVP is set to value MIP6_AUTH_MN_AAA, this 963 AVP MUST be present in the MIR message. 965 6.9. MIP-MAC-Mobility-Data AVP 967 The MIP-MAC-Mobility-Data AVP (AVP Code TBD) is of type OctetString 968 and contains the MAC_Mobility_Data calculated by the HA as defined in 969 [RFC4285] for the MN-AAA Mobility Message Authentication Option. 971 When the MIP6-Auth-Mode AVP is set to value MIP6_AUTH_MN_AAA, this 972 AVP MUST be present in the MIR message. 974 6.10. MIP-Session-Key AVP 976 The MIP-Session-Key AVP (AVP Code 343) is of type OctetString and 977 contains the MN-HA shared secret (i.e., the session key) for the 978 associated Mobile IPv6 MH-HA authentication option. When the 979 Diameter server computes the session key it is placed in this AVP. 980 How the Diameter server computes the session key is not defined in 981 this specification. The Session key derivation is deployment 982 specific and needs to be defines in a respective deployment specific 983 system specification. 985 This AVP is re-used from [RFC4004]. 987 6.11. MIP-MSA-Lifetime AVP 989 The MIP-MSA-Lifetime AVP (AVP Code 367) is of type Unsigned32 and 990 represents the period of time (in seconds) for which the session key 991 (see Section 6.10) is valid. The associated session key MUST NOT be 992 used if the lifetime has expired. 994 This AVP is re-used from [RFC4004]. 996 6.12. MIP-MN-HA-MSA AVP 998 The MIP-MN-HA-MSA AVP (AVP Code TBD) is of type Grouped and contains 999 the session related information for use with the Mobile IPv6 1000 Authentication Protocol. 1002 MIP-MN-HA-MSA ::= < AVP Header: TBD > 1003 { MIP-Session-Key } 1004 { MIP-MSA-Lifetime } 1005 [ MIP-MN-HA-SPI ] 1006 [ MIP-Algorithm-Type ] 1007 [ MIP-Replay-Mode ] 1008 * [ AVP ] 1010 The MIP-MN-HA-SPI sub-AVP within the MIP-MN-HA-MSA grouped AVP 1011 identifies the security association required for the validation of 1012 the Mobile IPv6 MN-HA Authentication Option. The absence of the MIP- 1013 Replay-Mode AVP MUST be treated as no replay protection was selected. 1015 6.13. MIP-Algorithm-Type AVP 1017 The MIP-Algorithm-Type AVP (AVP Code 345) is of type Enumerated and 1018 contains Algorithm identifier for the associated Mobile IPv6 MN-HA 1019 Authentication Option. The Diameter server selects the algorithm 1020 type. Existing algorithm types are defined in [RFC4004] that also 1021 fulfill current RFC 4285 requirements. This AVP is re-used from 1022 [RFC4004]. 1024 When the MIP6-Auth-Mode AVP is set to value MIP6_AUTH_MN_AAA, and the 1025 Diameter server returns a valid MIP-MN-HA-MSA AVP in the MIA message, 1026 this AVP MUST be present inside the MIP-MN-HA-MSA AVP. 1028 6.14. MIP-Replay-Mode AVP 1030 The MIP-Replay-Mode AVP (AVP Code 346) is of type Enumerated and 1031 contains the replay mode the HA for authenticating the mobile node. 1032 Out of all possible replay modes defined in [RFC4004], the following 1033 are supported by this specification: 1035 1 None 1036 2 Timestamp 1038 This AVP is re-used from [RFC4004]. 1040 6.15. MIP6-Feature-Vector AVP 1042 The MIP6-Feature-Vector AVP (AVP Code 124) is defined in [RFC5447]. 1043 However, this specification does not define any Mobile IPv6 split 1044 scenario bootstrapping specific capability flag. 1046 6.16. MIP-Timestamp AVP 1048 The MIP-Timestamp AVP (AVP Code TBD) is of type OctetString and 1049 contains eight octets timestamp value (i.e. 64 bits timestamp) from 1050 the Mobility message replay protection option, defined in [RFC4285]. 1051 The HA extracts this value from the received BU message, if 1052 available. The HA includes this AVP in the MIR message when the MN- 1053 AAA Mobility Message Authentication Option is available in the 1054 received BU and the Diameter server is expected to return the key 1055 material required for the calculation and validation of the Mobile 1056 IPv6 MN-HA Authentication Option (and the MIP6-Auth-Mode AVP is set 1057 to value MIP6_AUTH_MN_AAA). 1059 6.17. QoS-Capability AVP 1061 The QoS-Capability AVP is defined in [I-D.ietf-dime-qos-attributes] 1062 and contains a list of supported Quality of Service profiles. 1064 6.18. QoS-Resources AVP 1066 The QoS-Resources AVP is defined in [I-D.ietf-dime-qos-attributes] 1067 and provides QoS and packet filtering capabilities. 1069 6.19. Chargeable-User-Identity AVP 1071 The Chargeable-User-Identity AVP (AVP code 89) is of type OctetString 1072 and contains an unique temporary handle of the user. The Chargeable- 1073 User-Identity is defined in [RFC4372]. 1075 6.20. MIP6-Auth-Mode AVP 1077 The MIP6-Auth-Mode (AVP Code TBD) is of type Enumerated and contains 1078 information of the used Mobile IPv6 Authentication Protocol mode. 1079 This specification defines only one value MIP6_AUTH_MN_AAA and the 1080 corresponding AAA interactions when MN-AAA security association is 1081 used to authenticate the Binding Update as described in [RFC4285]. 1082 When the MIP6-Auth_Mode AVP is set to the value of MIP6_AUTH_MN_AAA, 1083 the Auth-Request-Type AVP MUST be set to the value of 1084 AUTHORIZE_AUTHENTICATE. 1086 If the Diameter server does not support the Mobile IPv6 1087 Authentication Protocol usage mode proposed by the HA, then the 1088 Diameter server MUST fail the authentication/authorization and MUST 1089 set the Result-Code AVP to the value of DIAMETER_ERROR_AUTH_MODE. 1091 6.21. Accounting AVPs 1093 Diameter Mobile IPv6 applications, either MIP6I or MIP6A, are used in 1094 the case of the coupled account model. Diameter Mobile IPv4 1095 application [RFC4004] accounting AVPs are reused in this document. 1096 The following AVPs SHOULD be included in the accounting request 1097 message: 1099 o Accounting-Input-Octets: Number of octets in IP packets received 1100 from the mobile node. 1102 o Accounting-Output-Octets: Number of octets in IP packets sent by 1103 the mobile node 1105 o Accounting-Input-Packets: Number of IP packets received from the 1106 mobile node. 1108 o Accounting-Output-Packets: Number of IP packets sent by the mobile 1109 node. 1111 o Acct-Multi-Session-Id: Used to link together multiple related 1112 accounting sessions, where each session would have a unique 1113 Session-Id, but the same Acct-Multi-Session-Id AVP. 1115 o Acct-Session-Time: Indicates the length of the current session in 1116 seconds. 1118 o MIP6-Feature-Vector: The supported features for this mobility 1119 service session. 1121 o MIP-Mobile-Node-Address: The Home Address of the mobile node. 1123 o MIP-Agent-Info: The current home agent of the mobile node. 1125 o Chargeable-User-Identity: The unique temporary identity of the 1126 user. This AVP MUST be included if it is available in the home 1127 agent. 1129 o Service-Selection: Currently selected mobility service. 1131 o QoS-Resources: Assigned QoS resources for the mobile node. 1133 o QoS-Capability: The QoS capability related to the assigned QoS- 1134 Resources. 1136 o MIP-Careof-Address: The current Care-of Address of the mobile 1137 node. 1139 7. Result-Code AVP Values 1141 This section defines new Result-Code [RFC3588] values that MUST be 1142 supported by all Diameter implementations that conform to this 1143 specification. 1145 7.1. Success 1147 Errors that fall within the Success category are used to inform a 1148 peer that a request has been successfully completed. 1150 DIAMETER_SUCCESS_RELOCATE_HA (Status Code TBD) 1152 This result code is used by the Diameter server to inform the HA 1153 that the MN MUST be switched to another HA. 1155 7.2. Permanent Failures 1157 Errors that fall within the permanent failures category are used to 1158 inform the peer that the request failed and SHOULD NOT be attempted 1159 again. 1161 DIAMETER_ERROR_MIP6_AUTH_MODE (Status Code TBD) 1163 This error code is used by the Diameter server to inform the peer 1164 that the requested Mobile IPv6 Authentication Protocol usage mode 1165 is not supported. 1167 8. AVP Occurrence Tables 1169 The following tables present the AVPs defined in this document and 1170 their occurrences in Diameter messages. Note that AVPs that can only 1171 be present within a Grouped AVP are not represented in this table. 1173 The table uses the following symbols: 1175 0: 1177 The AVP MUST NOT be present in the message. 1179 0+: 1181 Zero or more instances of the AVP MAY be present in the message. 1183 0-1: 1185 Zero or one instance of the AVP MAY be present in the message. 1187 1: 1189 One instance of the AVP MUST be present in the message. 1191 8.1. DER, DEA, MIR and MIA AVP/Command-Code Table 1192 +-----------------------+ 1193 | Command-Code | 1194 |-----+-----+-----+-----+ 1195 AVP Name | DER | DEA | MIR | MIA | 1196 -------------------------------|-----+-----+-----+-----+ 1197 MIP6-Feature-Vector | 0-1 | 0-1 | 0-1 | 0-1 | 1198 MIP-Mobile-Node-Address | 1-2 | 0-2 | 1-2 | 0-2 | 1199 MIP-MN-AAA-SPI | 0 | 0 | 0-1 | 0 | 1200 MIP-MN-HA-SPI | 0 | 0 | 0-1 | 0 | 1201 MIP6-Agent-Info | 1 | 0-1 | 1 | 0-1 | 1202 MIP-Careof-Address | 0 | 0 | 0-1 | 0 | 1203 MIP-Authenticator | 0 | 0 | 0-1 | 0 | 1204 MIP-MAC-Mobility-Data | 0 | 0 | 0-1 | 0 | 1205 MIP-MSA-Lifetime | 0 | 0 | 0 | 1 | 1206 MIP-MN-HA-MSA | 0 | 0 | 0 | 0-1 | 1207 MIP-Timestamp | 0 | 0 | 0-1 | 0-1 | 1208 User-Name | 0-1 | 0-1 | 1 | 0-1 | 1209 Service-Selection | 0-1 | 0-1 | 0-1 | 0-1 | 1210 QoS-Resources | 0+ | 0+ | 0+ | 0+ | 1211 QoS-Capability | 0-1 | 0 | 0-1 | 0 | 1212 Chargeable-User-Identity | 0-1 | 0-1 | 0-1 | 0-1 | 1213 MIP6-Auth-Mode | 0 | 0 | 1 | 0 | 1214 +-----+-----+-----+-----+ 1216 8.2. Coupled Accounting Model AVP Table 1218 The table in this section is used to represent which AVPs defined in 1219 this document are to be present in the Accounting messages, as 1220 defined in [RFC3588]. 1222 +-------------+ 1223 | Command-Code| 1224 |------+------+ 1225 Attribute Name | ACR | ACA | 1226 -------------------------------------|------+------+ 1227 Accounting-Input-Octets | 0-1 | 0-1 | 1228 Accounting-Input-Packets | 0-1 | 0-1 | 1229 Accounting-Output-Octets | 0-1 | 0-1 | 1230 Accounting-Output-Packets | 0-1 | 0-1 | 1231 Acct-Multi-Session-Id | 0-1 | 0-1 | 1232 Acct-Session-Time | 0-1 | 0-1 | 1233 MIP6-Feature-Vector | 0-1 | 0-1 | 1234 MIP6-Agent-Info | 0-1 | 0-1 | 1235 MIP-Mobile-Node-Address | 0-2 | 0-2 | 1236 Event-Timestamp | 0-1 | 0 | 1237 MIP-Careof-Address | 0-1 | 0 | 1238 Service-Selection | 0-1 | 0 | 1239 QoS-Capability | 0+ | 0+ | 1240 QoS-Resources | 0+ | 0+ | 1241 Chargeable-User-Identity | 0-1 | 0 | 1242 -------------------------------------|------+------+ 1244 9. IANA Considerations 1246 This section contains the namespaces that have either been created in 1247 this specification or had their values assigned to existing 1248 namespaces managed by IANA. 1250 9.1. Command Codes 1252 IANA is requested to allocate a command code value for the following 1253 new commands from the Command Code namespace defined in [RFC3588]. 1254 See Section 5 for the assignment of the namespace in this 1255 specification. 1257 Command Code | Value 1258 -----------------------------------+------ 1259 MIP6-Request (MIR) | TBD 1260 MIP6-Answer (MIA) | TBD 1262 9.2. AVP Codes 1264 This specification requires IANA to register the following new AVPs 1265 from the AVP Code namespace defined in [RFC3588]. 1267 o MIP-Careof-Address 1269 o MIP-Authenticator 1271 o MIP-MAC-Mobility-Data 1273 o MIP-Timestamp 1275 o MIP-MN-HA-SPI 1277 o MIP-MN-HA-MSA 1279 o Service-Selection 1281 o MIP6-Auth-Mode 1283 The AVPs are defined in Section 6. 1285 9.3. Result-Code AVP Values 1287 This specification requests IANA to allocate new values to the 1288 Result-Code AVP (AVP Code 268) namespace defined in [RFC3588]. See 1289 Section 7 for the assignment of the namespace in this specification. 1291 Result-Code | Value 1292 ----------------------------------------------+------ 1293 DIAMETER_SUCCESS_RELOCATE_HA | TBD 1294 DIAMETER_ERROR_MIP6_AUTH_MODE | TBD 1296 9.4. Application Identifier 1298 This specification requires IANA to allocate two new values "Diameter 1299 Mobile IPv6 IKE" and "Diameter Mobile IPv6 Auth" from the Application 1300 Identifier namespace defined in [RFC3588]. 1302 Application Identifier | Value 1303 -----------------------------------+------ 1304 Diameter Mobile IPv6 IKE (MIP6I) | TBD 1305 Diameter Mobile IPv6 Auth (MIP6A) | TBD 1307 9.5. Namespaces 1309 IANA is requested to create a new registry "MIP6 Authentication Mode" 1310 registry for use with the enumerated MIP6-Auth-Mode AVP. The 1311 registry will initially contain the following value: 1313 Token | Value | Description 1314 ---------------------------------------------+----------+------------ 1315 MIP6_AUTH_MN_AAA | 1 | RFC TBD 1317 Allocation of new values follow the example policies described in 1318 [RFC5226] new values for the MIP6-Auth-Mode AVP will be assigned 1319 based on the "Specification Required" policy. The value 0 (zero) is 1320 reserved and the maximum value is 4294967295 (i.e. 2^32-1). 1322 10. Security Considerations 1324 The security considerations for the Diameter interaction required to 1325 accomplish the split scenario are described in [RFC5026]. 1326 Additionally, the security considerations of the Diameter Base 1327 protocol [RFC3588], Diameter EAP application [RFC4072] are applicable 1328 to this document. 1330 The Diameter messages may be transported between the HA and the 1331 Diameter server via one or more AAA brokers or Diameter agents. In 1332 this case the HA to the Diameter server AAA communication rely on the 1333 security properties of the intermediating AAA inter-connection 1334 networks, AAA brokers and Diameter agents (such as proxies). 1336 In case of the Authentication Protocol for Mobile IPv6 [RFC4285], 1337 this specification expects that the Diameter server derives the MN-HA 1338 Security Association and returns the associated session key (i.e. the 1339 MN-HA shared session key) to the HA. However, this specification 1340 does not define nor other IETF specification defines how the Diameter 1341 server actually derives required keys. The details of the key 1342 derivation depends on the deployment where this specification is used 1343 and therefore the security properties of the system depend on how 1344 this is done. 1346 11. Acknowledgements 1348 The authors would like to thank Jari Arkko, Tolga Asversen, Pasi 1349 Eronen, Santiago Zapata Hernandez, Anders Kristensen, Avi Lior, John 1350 Loughney, Ahmad Muhanna, Behcet Sarikaya, Basavaraj Patil, Vijay 1351 Devarapalli, Lionel Morand, Domagoj Premec, Semyon Mizikovsky and 1352 Yoshihiro Ohba for all the useful discussions. Ahmad Muhanna 1353 provided a detailed review of the document in August 2007. Pasi 1354 Eronen provided detailed comments and text proposals during the IESG 1355 review that helped to improved this document greatly. 1357 We would also like to thank our Area Director, Dan Romascanu, for his 1358 support. 1360 Hannes Tschofenig would like to thank the European Commission support 1361 in the co-funding of the ENABLE project, where this work is partly 1362 being developed. 1364 Julien Bournelle would like to thank GET/INT since he began this work 1365 while he was under their employ. 1367 Madjid Nakhjiri would like to thank Huawei USA as most of his 1368 contributions to this draft were possible while he was under their 1369 employ. 1371 12. References 1373 12.1. Normative References 1375 [I-D.ietf-dime-qos-attributes] 1376 Korhonen, J., Tschofenig, H., Arumaithurai, M., Jones, M., 1377 and A. Lior, "Quality of Service Attributes for Diameter", 1378 draft-ietf-dime-qos-attributes-11 (work in progress), 1379 February 2009. 1381 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1382 Requirement Levels", BCP 14, RFC 2119, March 1997. 1384 [RFC3588] Calhoun, P., Loughney, J., Guttman, E., Zorn, G., and J. 1385 Arkko, "Diameter Base Protocol", RFC 3588, September 2003. 1387 [RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support 1388 in IPv6", RFC 3775, June 2004. 1390 [RFC4004] Calhoun, P., Johansson, T., Perkins, C., Hiller, T., and 1391 P. McCann, "Diameter Mobile IPv4 Application", RFC 4004, 1392 August 2005. 1394 [RFC4005] Calhoun, P., Zorn, G., Spence, D., and D. Mitton, 1395 "Diameter Network Access Server Application", RFC 4005, 1396 August 2005. 1398 [RFC4072] Eronen, P., Hiller, T., and G. Zorn, "Diameter Extensible 1399 Authentication Protocol (EAP) Application", RFC 4072, 1400 August 2005. 1402 [RFC4283] Patel, A., Leung, K., Khalil, M., Akhtar, H., and K. 1403 Chowdhury, "Mobile Node Identifier Option for Mobile IPv6 1404 (MIPv6)", RFC 4283, November 2005. 1406 [RFC4285] Patel, A., Leung, K., Khalil, M., Akhtar, H., and K. 1407 Chowdhury, "Authentication Protocol for Mobile IPv6", 1408 RFC 4285, January 2006. 1410 [RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", 1411 RFC 4306, December 2005. 1413 [RFC4372] Adrangi, F., Lior, A., Korhonen, J., and J. Loughney, 1414 "Chargeable User Identity", RFC 4372, January 2006. 1416 [RFC4877] Devarapalli, V. and F. Dupont, "Mobile IPv6 Operation with 1417 IKEv2 and the Revised IPsec Architecture", RFC 4877, 1418 April 2007. 1420 [RFC5026] Giaretta, G., Kempf, J., and V. Devarapalli, "Mobile IPv6 1421 Bootstrapping in Split Scenario", RFC 5026, October 2007. 1423 [RFC5142] Haley, B., Devarapalli, V., Deng, H., and J. Kempf, 1424 "Mobility Header Home Agent Switch Message", RFC 5142, 1425 January 2008. 1427 [RFC5149] Korhonen, J., Nilsson, U., and V. Devarapalli, "Service 1428 Selection for Mobile IPv6", RFC 5149, February 2008. 1430 [RFC5447] Korhonen, J., Bournelle, J., Tschofenig, H., Perkins, C., 1431 and K. Chowdhury, "Diameter Mobile IPv6: Support for 1432 Network Access Server to Diameter Server Interaction", 1433 RFC 5447, February 2009. 1435 12.2. Informative References 1437 [I-D.ietf-dime-app-design-guide] 1438 Fajardo, V., Asveren, T., Tschofenig, H., McGregor, G., 1439 and J. Loughney, "Diameter Applications Design 1440 Guidelines", draft-ietf-dime-app-design-guide-08 (work in 1441 progress), November 2008. 1443 [I-D.ietf-mext-aaa-ha-goals] 1444 Giaretta, G., Guardini, I., Demaria, E., Bournelle, J., 1445 and R. Lopez, "AAA Goals for Mobile IPv6", 1446 draft-ietf-mext-aaa-ha-goals-01 (work in progress), 1447 May 2008. 1449 [I-D.ietf-mext-nemo-v4traversal] 1450 Soliman, H., "Mobile IPv6 Support for Dual Stack Hosts and 1451 Routers", draft-ietf-mext-nemo-v4traversal-10 (work in 1452 progress), April 2009. 1454 [RFC4640] Patel, A. and G. Giaretta, "Problem Statement for 1455 bootstrapping Mobile IPv6 (MIPv6)", RFC 4640, 1456 September 2006. 1458 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 1459 IANA Considerations Section in RFCs", BCP 26, RFC 5226, 1460 May 2008. 1462 Authors' Addresses 1464 Jouni Korhonen (editor) 1465 Nokia Siemens Networks 1466 Linnoitustie 6 1467 Espoo FIN-02600 1468 Finland 1470 Email: jouni.nospam@gmail.com 1472 Hannes Tschofenig 1473 Nokia Siemens Networks 1474 Linnoitustie 6 1475 Espoo FIN-02600 1476 Finland 1478 Phone: +358 (50) 4871445 1479 Email: Hannes.Tschofenig@gmx.net 1480 URI: http://www.tschofenig.priv.at 1482 Julien Bournelle 1483 Orange Labs 1484 38-4O rue du general Leclerc 1485 Issy-Les-Moulineaux 92794 1486 France 1488 Email: julien.bournelle@orange-ftgroup.com 1490 Gerardo Giaretta 1491 Qualcomm 1492 5775 MoreHouse Dr 1493 San Diego, CA 92121 1494 USA 1496 Email: gerardo.giaretta@gmail.com 1498 Madjid Nakhjiri 1499 Motorola 1500 USA 1502 Email: madjid.nakhjiri@motorola.com