Network-Based Mobility Extensions J. Korhonen (Netext) Nokia Siemens Networks Internet-Draft U. Nilsson Obsoletes: 5149 (if approved) TeliaSonera Updates: 5213 (if approved) V. Devarapalli Intended status: Standards Track August 2, 2012 Expires: February 3, 2013 Service Selection for Mobile IPv6 and Proxy Mobile IPv6 draft-ietf-netext-rfc5149bis-02.txt Abstract In some Mobile IPv6 deployments, identifying the mobile node or the mobility service subscriber is not enough to distinguish between multiple services possibly provisioned to the mobile node and its mobility service subscription. A capability to specify different services in addition to the mobile node identity can be leveraged to provide flexibility for mobility service providers on provisioning multiple services to one mobility service subscription. This document describes a Service Selection Mobility Option for both conventional Mobile IPv6 and Proxy Mobile IPv6 that is intended to assist home agents and local mobility agents to make a specific service selection for the mobility service subscription during the binding registration procedure. This specification updates RFC5213 and obsoletes RFC5149. Requirements The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." Korhonen, et al. Expires February 3, 2013 [Page 1] Internet-Draft Service Selection August 2012 This Internet-Draft will expire on February 3, 2013. Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Korhonen, et al. Expires February 3, 2013 [Page 2] Internet-Draft Service Selection August 2012 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Service Selection Mobility Option . . . . . . . . . . . . . . 5 3. Processing Considerations . . . . . . . . . . . . . . . . . . 6 3.1. Binding Cache Entry Lookup Considerations . . . . . . . . 6 3.2. Mobile Node Considerations . . . . . . . . . . . . . . . . 7 3.3. Home Agent and Local Mobility Agent Considerations . . . . 7 3.4. Correspondent Node Considerations . . . . . . . . . . . . 8 4. Configuration Objects . . . . . . . . . . . . . . . . . . . . 9 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 7.1. Normative references . . . . . . . . . . . . . . . . . . . 10 7.2. Informative references . . . . . . . . . . . . . . . . . . 10 Appendix A. Changes from RFC5149 . . . . . . . . . . . . . . . . 11 A.1. Service Selection option in a PBA . . . . . . . . . . . . 11 A.2. Service Selection Identifier encoding . . . . . . . . . . 11 A.3. Using Service Selection as a BCE lookup key . . . . . . . 11 A.4. Addition of a new Status Code . . . . . . . . . . . . . . 11 A.5. Change of the document category from Informational to Standards Track . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 12 Korhonen, et al. Expires February 3, 2013 [Page 3] Internet-Draft Service Selection August 2012 1. Introduction Mobile IPv6 [RFC6275] can identify mobile nodes in various ways, including home addresses, Network Access Identifiers (NAIs) [RFC4282][RFC4283], and credentials suitable for the Internet Key Exchange Protocol version 2 (IKEv2) [RFC4877]. Proxy Mobile IPv6 [RFC5213] uses Home Network Prefix (HNP) and/or Mobile Node Identifier [RFC4283]. In some Mobile IPv6 deployments, identifying the mobile node or the mobility service subscriber via a Proxy Mobile IPv6 client [RFC5213] (hereafter, the mobile node and the Proxy Mobile IPv6 client are used interchangeably) is not enough to distinguish between multiple services possibly provisioned to the mobile node . The capability to specify different services in addition to the mobile node identity can be leveraged to provide flexibility for mobility service providers to provide multiple services within the same mobility service subscription. For example: o Provide an enterprise data access for which the mobility service provider hosts connectivity and mobility services on behalf of the enterprise. o Provide access to service domains that are otherwise not accessible from public networks because of some mobility service provider's business reasons. o Provide simultaneous access to different service domains that are separated based on policies of the mobility service provider. o Enable easier policy and quality of service assignment for mobility service providers based on the subscribed services. o In the absence of a specifically indicated service, the home agent MUST act as if the default service, plain Internet access, had been requested. There is no absolute requirement that this default service be allowed to all subscribers, but it is highly RECOMMENDED in order to avoid having normal subscribers employ operator-specific configuration values in order to get basic service. This document describes a Service Selection Mobility Option for (Proxy) Mobile IPv6 that is intended to assist home agents or local mobility agents to make specific service selections for the mobility service subscription during the binding registration procedure. The service selection may affect home agent or local mobility agent routing decisions, Home Address or Home Network Prefix assignment policies, firewall settings, charging and security policies among Korhonen, et al. Expires February 3, 2013 [Page 4] Internet-Draft Service Selection August 2012 others. The Service Selection option should be used in every (Proxy) Binding Update or Acknowledgement message. Some of the potential use-cases were listed earlier in this section. The general aim is better manageability of services and service provisioning from the point of view of both operators and service providers. However, it should be understood that there are potential deployment possibilities where selecting a certain service may restrict simultaneous access to other services from a user's point of view. For example, services may be located in different administrative domains or external customer networks that practice excessive filtering of inbound and outbound traffic. There are existing deployments using the Service Selection option. 3GPP PMIPv6-based Evolved Packet Core (EPC) [RFC6459] deployments use the Service Selection option to carry the Access Point Name (APN) [TS.23003]. Recently, service provider Wi-Fi services over residential architectures [I-D.gundavelli-v6ops-community-wifi-svcs] that intend to integrate into e.g., 3GPP EPC using PMIPv6, need Service Selection option again to carry the APN information for identifying a particular routing domain. 2. Service Selection Mobility Option At most one Service Selection Mobility option SHOULD be included in any (Proxy) Binding Update message. If and only if the (Proxy) Binding Update message included the Service Selection Option, then the corresponding (Proxy) Binding Acknowledgement message SHOULD also contain the Service Selection option with the service name in the Identifier. If the (Proxy) Binding Update message includes any authorization- related options (such as the Binding Authorization Data option [RFC6275]) or authentication related options (such as the Mobility Message Authentication option [RFC4285]), then the Service Selection option MUST appear before any mobility message authorization- or authentication-related options. The Service Selection option SHOULD NOT be sent to a correspondent node. The mobile node cannot assume that the correspondent node has any knowledge about a specific service selection made between the mobile node and the home agent. The Service Selection option has no alignment requirement as such. Korhonen, et al. Expires February 3, 2013 [Page 5] Internet-Draft Service Selection August 2012 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type = 20 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Identifier... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: Service Selection Mobility Option o Type: 8-bit identifier set to 20 of the type of the skipable mobility option. o Length: 8-bit unsigned integer, representing the length of the Service Selection Mobility Option in octets, excluding the Option Type and Option Length fields. A value of zero (0) is not allowed. o Identifier: A variable-length encoded service identifier string used to identify the requested service. The identifier string length is between 1 and 255 octets. This specification allows international identifier strings that are based on the use of Unicode characters, encoded as UTF-8 [RFC3269], and formatted using Normalization Form KC (NFKC) as specified in [NFKC]. Alternatively, based on the local configuration, the identifier string can be encoded using the domain name style encoding described in Section 3.1 of [RFC1035]. However, the terminating length of zero octet (i.e. the '\0' octet) is not included into the encoded identifier since the option length implicitly tells when the identifier string ends [TS.23003]. The selection of the encoding is controlled by the ServiceSelectionMobilityOptionFormat configuration object, see Section 4. 'ims', 'voip', and 'voip.companyxyz.example.com' are valid examples of Service Selection option Identifiers. At minimum, the Identifier MUST be unique among the home agents to which the mobile node is authorized to register. 3. Processing Considerations 3.1. Binding Cache Entry Lookup Considerations Section 5.4.1 of [RFC5213] describes various Binding Cache Entry (BCE) lookup variations in the local mobility agent. Some existing Proxy Mobile IPv6 deployments have added the Service Selection option Korhonen, et al. Expires February 3, 2013 [Page 6] Internet-Draft Service Selection August 2012 as one of the used BCE lookup keys. This implies that the Service Selection option SHOULD be included in all Proxy Binding Update messages, especially when the Home Network Prefix is not readily available. 3.2. Mobile Node Considerations A mobile node or a Proxy Mobile IPv6 client MAY include, at most, one Service Selection Mobility Option into a (Proxy) Binding Update message. The option is used to identify the service to be associated with the binding registration and SHOULD only be included into the initial Binding Update message sent to a home agent. If the mobile node wishes to change the selected service, it is RECOMMENDED that the mobile node de-register the existing binding with the home agent before proceeding with a binding registration for a different service. The provisioning of the service identifiers to the mobile node or to the Proxy Mobile IPv6 client is out of the scope of this specification. The placement of the Service Selection option is as follows: when present, this option MUST appear after the Mobile Node-Network Access Identifier (MN-NAI) option, if the MN-NAI option is present, and before any authorization- and authentication-related options. The Service Selection option can be used with any mobile node identification method such as a home address, an MN-NAI, and credentials suitable for IKEv2. If the mobile node receives a (Proxy) Binding Acknowledgement with a Status Code set to SERVICE_AUTHORIZATION_FAILED and the mobile node has an existing binding with the Home Address or the Home Network Prefix used in the failed (Proxy) Binding Update message, the mobile node MUST delete the existing binding. If there is no existing binding, the mobile node proceeds as with any failed initial binding registration. If the mobile node receives a (Proxy) Binding Acknowledgement with a Status Code set to MISSING_OR_UNKNOWN_SERVICE the mobile node proceeds as with any failed initial binding registration. The mobile node SHOULD log the event as it is usually an indication of a configuration error. 3.3. Home Agent and Local Mobility Agent Considerations Upon receiving a (Proxy) Binding Update message with a Service Selection option, the home agent or the local mobility agent authenticates and authorizes the mobile node. If the home agent or the local mobility anchor supports the Service Selection and the Service Selection is required by the local policy, the home agent or Korhonen, et al. Expires February 3, 2013 [Page 7] Internet-Draft Service Selection August 2012 the local mobility anchor MUST also verify that the mobile node is authorized for the service it included in the Service Selection option. The services the mobile node is authorized for SHOULD be part of the general mobile node subscription profile. If the mobile node is not authorized for the service, the home agent or the local mobility agent MUST deny the registration and send a (Proxy) Binding Acknowledgement with a Status Code set to SERVICE_AUTHORIZATION_FAILED (151). If the (Proxy) Binding Update does not contain the Service Selection option or the indicated service is unknown, the home agent or the local mobility agent SHOULD deny the registration and send a (Proxy) Binding Acknowledgement with a Status Code set to MISSING_OR_UNKNOWN_SERVICE (TBD). If binding registration was successful in the home agent or the local mobility agent, then the (Proxy) Binding Acknowledgement SHOULD contain the Service Selection option with the service name in the Identifier. The Service Selection option is used to assist the authorization and identifies a specific service that is to be authorized. The Service Selection option MAY also affect the Home Address or the Home Network Prefix allocation when, for example, used with the MN-NAI option. For example, for the same NAI there MAY be different Home Addresses or Home Network Prefixes depending on the identified service. Furthermore, the Service Selection option MAY also affect the routing of the outbound IP packets in the home agent or the local mobility agent depending on the selected service. The home agent MAY also apply different policy or quality of service treatment to traffic flows based on the selected service. If the newly arrived (Proxy) Binding Update message with a Service Selection option indicates a change in the selected service, then the home agent MUST re-authorize the mobile node. Depending on the home agent or the local mobility agent policies, the services policies, Home Address or Home Network Prefix allocation policies, and the subscription policies, the home agent may or may not be able to authorize the mobile node to the new service. For example, the existing service and the new service could require different Home Network Prefixes. If the authorization fails, then the home agent or the local mobility agent MUST deny the registration, delete any binding with the existing Home Address or Home Network Prefix, and send a (Proxy) Binding Acknowledgement with a Status Code set to SERVICE_AUTHORIZATION_FAILED (151). 3.4. Correspondent Node Considerations Unless the correspondent node and the home agent share the same knowledge about mobility services, the Service Selection option is Korhonen, et al. Expires February 3, 2013 [Page 8] Internet-Draft Service Selection August 2012 more or less useless information to the correspondent node. The correspondent node SHOULD silently ignore the Service Selection option in this case. There are deployment cases where the home agent and a correspondent node, for example, belong to the same administrative domain. In this case, it is possible that the correspondent node shares the same knowledge of the services as the home agent. Therefore, the correspondent node is, for example, able to provide service-based traffic handling to mobile nodes. 4. Configuration Objects This specification defines one configuration object that controls the encoding of the service identifier string. ServiceSelectionMobilityOptionFormat This configuration object is available in both a MAG and in a LMA. When set to 'label', the PMIPv6 node encodes the service identifier string using [RFC1035] domain name encoding. When set to 'dotted', the PMIPv6 node encodes the service identifier string as any UTF-8 string. 5. Security Considerations The protection for the Service Selection Mobility Option depends on the service that is being identified and eventually selected. If the service selection information should not be revealed on the wire, (Proxy) Binding Updates and (Proxy) Binding Acknowledgements should use Encapsulating Security Payload (ESP) [RFC4303] in transport mode with a non-null encryption transform to provide message confidentiality. 6. IANA Considerations A Mobile IPv6 Mobility Option type has been assigned for the following new mobility option from [RFC6275] "Mobility Options" registry. The mobility option is defined in Section 2: Service Selection Mobility Option is set to 20 A Mobile IPv6 registration denied by home agent Status Code has been assigned. The Status Code was allocated from the range 128-255: Korhonen, et al. Expires February 3, 2013 [Page 9] Internet-Draft Service Selection August 2012 SERVICE_AUTHORIZATION_FAILED is set to 151 MISSING_OR_UNKNOWN_SERVICE is set to TBD 7. References 7.1. Normative references [NFKC] Davis, M. and M. Durst, "Unicode Standard Annex #15; Unicode Normalization Forms", Unicode 5.0.0, October 2006. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC5213] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K., and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008. [RFC6275] Perkins, C., Johnson, D., and J. Arkko, "Mobility Support in IPv6", RFC 6275, July 2011. 7.2. Informative references [I-D.gundavelli-v6ops-community-wifi-svcs] Gundavelli, S., Grayson, M., Seite, P., and Y. Lee, "Service Provider Wi-Fi Services Over Residential Architectures", draft-gundavelli-v6ops-community-wifi-svcs-04 (work in progress), April 2012. [RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, November 1987. [RFC3269] Kermode, R. and L. Vicisano, "Author Guidelines for Reliable Multicast Transport (RMT) Building Blocks and Protocol Instantiation documents", RFC 3269, April 2002. [RFC4282] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The Network Access Identifier", RFC 4282, December 2005. [RFC4283] Patel, A., Leung, K., Khalil, M., Akhtar, H., and K. Chowdhury, "Mobile Node Identifier Option for Mobile IPv6 (MIPv6)", RFC 4283, November 2005. [RFC4285] Patel, A., Leung, K., Khalil, M., Akhtar, H., and K. Chowdhury, "Authentication Protocol for Mobile IPv6", RFC 4285, January 2006. [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", Korhonen, et al. Expires February 3, 2013 [Page 10] Internet-Draft Service Selection August 2012 RFC 4303, December 2005. [RFC4877] Devarapalli, V. and F. Dupont, "Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture", RFC 4877, April 2007. [RFC6459] Korhonen, J., Soininen, J., Patil, B., Savolainen, T., Bajko, G., and K. Iisakkila, "IPv6 in 3rd Generation Partnership Project (3GPP) Evolved Packet System (EPS)", RFC 6459, January 2012. [TS.23003] 3GPP, "Numbering, addressing and identification", 3GPP TS 23.003 10.2.0, June 2011. Appendix A. Changes from RFC5149 A.1. Service Selection option in a PBA 3GPP EPC PMIPv6-based interfaces echo the Service Selection option always back in Proxy Binding Acknowledgements. This is clarified from the RFC5149, which did not say anything about the Service Selection option in Proxy Binding Acknowledgement messages. A.2. Service Selection Identifier encoding 3GPP EPC decided to encode their Service Selection Identifiers using the [RFC1035] domain name style encoding [TS.23003]. Implementations has to take this into account when they intend to interoperate with 3GPP EPC. A.3. Using Service Selection as a BCE lookup key 3GPP EPC use the Service Selection option as one of the BCE lookup keys. This is additional to RFC5213 defined set of BCE lookup keys. A.4. Addition of a new Status Code RFC5149 did not make a difference between a service authorization failure (SERVICE_AUTHORIZATION_FAILED) and a service not being provisioned in a home agent/local mobility agent or otherwise unknown (MISSING_OR_UNKNOWN_SERVICE). A.5. Change of the document category from Informational to Standards Track RFC5149 has implementations by multiple vendors and there are several Korhonen, et al. Expires February 3, 2013 [Page 11] Internet-Draft Service Selection August 2012 deployments. Furthermore, RFC5149 is not specific to 3GPP networks anymore. Authors' Addresses Jouni Korhonen Nokia Siemens Networks Linnoitustie 6 FIN-02600 Espoo Finland Email: jouni.nospam@gmail.com Ulf Nilsson TeliaSonera Corporation Marbackagatan 11 S-123 86 Farsta SWEDEN Email: ulf.s.nilsson@teliasonera.com Vijay Devarapalli Email: dvijay@gmail.com Korhonen, et al. Expires February 3, 2013 [Page 12]