IKEv2 Mobility and Multihoming T. Kivinen (mobike) Safenet, Inc. Internet-Draft H. Tschofenig Expires:August 24, 2005January 19, 2006 SiemensFebruary 20,July 18, 2005 Design of the MOBIKE Protocoldraft-ietf-mobike-design-02.txtdraft-ietf-mobike-design-03.txt Status of this MemoThis document is an Internet-Draft and is subject to all provisions of Section 3 of RFC 3667.By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or shebecomebecomes aware will be disclosed, in accordance withRFC 3668.Section 6 of BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents asInternet-Drafts.Internet- Drafts. 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." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. This Internet-Draft will expire onAugust 24, 2005.January 19, 2006. Copyright Notice Copyright (C) The Internet Society (2005). Abstract The MOBIKE (IKEv2 Mobility and Multihoming) working group is developingprotocolextensionstofor the Internet Key Exchange Protocol version 2(IKEv2) to(IKEv2). These extensions should enableits use in the context where there arean efficient management of IKE and IPsec Security Associations when a host possesses multiple IP addressesper host orand/or where IP addresses of an IPsec host change over time (for example, due to mobility). This document discusses the involved network entities, and the relationship between IKEv2 signaling and information provided by otherprotocols and the rest of the network.protocols. Design decisions for thebaseMOBIKE protocol, background information and discussions within the working group are recorded. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1 Mobility Scenario . . . . . . . . . . . . . . . . . . . . 7 3.2 Multihoming Scenario . . . . . . . . . . . . . . . . . . . 8 3.3 Multihomed Laptop Scenario . . . . . . . . . . . . . . . . 9 4. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 10 5. Design Considerations . . . . . . . . . . . . . . . . . . . . 13 5.1 Indicating Support for MOBIKE . . . . . . . . . . . . . . 13 5.2 Changing a Preferred Address andMultihomingMulti-homing Support . ..13 5.2.1 Storing a single or multiple addresses . . . . . . . . 14 5.2.2 Indirect or Direct Indication . . . . . . . . . . . . 15 5.2.3 Connectivity Tests using IKEv2 Dead-Peer Detection . . 16 5.3 Simultaneous Movements . . . . . . . . . . . . . . . . . . 17 5.4 NAT Traversal . . . . . . . . . . . . . . . . . . . . . . 18 5.5 Changing addresses or changing the paths . . . . . . . . .1920 5.6 Return Routability Tests . . . . . . . . . . . . . . . . . 20 5.7 Employing MOBIKE results in other protocols . . . . . . .2223 5.8 Scope of SA changes . . . . . . . . . . . . . . . . . . .2324 5.9 Zero Address Set . . . . . . . . . . . . . . . . . . . . .2425 5.10 IPsec Tunnel or Transport Mode . . . . . . . . . . . . . . 25 5.11 Message Representation . . . . . . . . . . . . . . . . . .2526 6. Security Considerations . . . . . . . . . . . . . . . . . . . 28 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 30 9. Open Issues . . . . . . . . . . . . . . . . . . . . . . . . . 31 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 10.1 Normative references . . . . . . . . . . . . . . . . . . . 32 10.2 Informative References . . . . . . . . . . . . . . . . . . 32 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 34 Intellectual Property and Copyright Statements . . . . . . . . 35 1. Introduction The purpose of IKEv2 isused for performing mutual authentication and establishing and maintainingto mutually authenticate two hosts, establish one or more IPsecsecurity associations (SAs).Security Associations (SAs) between them, and subsequently manage these SAs (for example, by rekeying or deleting). IKEv2establishesenables the hosts to share information that is relevant to both the usage of the cryptographicstate (such asalgorithms that should be employed (e.g., parameters required by cryptographic algorithms and sessionkeyskeys) andalgorithms) as wellto the usage of local security policies, such asnon-cryptographicinformation(such as IP addresses). The currentabout the traffic that should experience protection. IKEv2and IPsec documents explicitly sayassumes thatthe IPsec andan IKESAs areSA is created implicitly between the IP address pair that is used during the protocol execution when establishing the IKEv2 SA. This meansthat there isthat, in each host, only one IP address pair is stored for the IKEv2SA, and this single IP address pair is usedSA asan outer endpoint addresspart of a single IKEv2 protocol session, and, for tunnel modeIPsec SAs. AfterSAs, theIKE SA is created there ishosts places this single pair in the outer IP headers. Existing documents make nowayprovision to changethem.this pair after an IKE SA is created. There are scenarios wherethisone or both of the IPaddress might change, even frequently.addresses of this pair may change during an IPsec session. Insome casesprinciple, theproblem could be solved by rekeyingIKE SA and allthecorresponding IPsecand IKESAs could be re-established after the IP address has changed. However, this can be problematic, as the device might be too slowto rekey the SAs that often, and other scenarios the rekeying and required IKEv2 authentication might requirefor this task. Moreover, manual user interaction(SecurID cards etc). Due to these reasons, a mechanism to update the IP addresses tied to(for example when using SecurID cards) might be required as part of theIPsec andIKEv2SAsauthentication procedure. Therefore, an automatic mechanism isneeded. MOBIKE provides solution to the problem of the updatingneeed that updates the IP addressesstoredassociated with the IKESAsSA and the IPsec SAs. MOBIKE provides such a mechanism. Thecharterwork of the MOBIKE working grouprequires IKEv2 [I-D.ietf-ipsec-ikev2],andas IKEv2 assumestherefore this document is based on the assumption that theRFC2401bis architecture [I-D.ietf-ipsec-rfc2401bis]mobility and multi-homing extensions are developed for IKEv2 [I-D.ietf-ipsec-ikev2]. As IKEv2 isused,built on the architecture described in RFC2401bis [I-D.ietf-ipsec-rfc2401bis], all protocols developedwill usewithin the MOBIKE working group must be compatible with both IKEv2 and the architecture described in RFC2401bis.MOBIKEThe document does not aim to neither provide support IKEv1 [RFC2409]ornor theold RFC2401architecture described in RFC2401 [RFC2401]. This document is structured as follows. After introducing some important terms in Section 2we listafewnumber of relevant usage scenarios are discussed in Section3, to illustrate possible deployment environments.3. Section 4 discusses the interoperation of MOBIKEdepends on information fromwith othersources (e.g., detect an address change) which are discussedprotocols and processes that may run inSection 4.the local machine. Finally, Section 5 discusses design considerationseffectingaffecting the MOBIKE protocol. The document concludeswith security considerationsin Section6.6 with security considerations. 2. Terminology This section introducessome useful terms for a MOBIKE protocol. Peer: Withinthe terminology that is used in thisdocument we refer to IKEv2 endpoints as peers.document. Peer: A peer is an IKEv2 endpoint. In addition, a peer implements the MOBIKE extensions, as defined in this andtherefore IKEv2.related documents. Available address: An address is said to be available if the following conditions arefulfilled:met: * The address has been assigned to aninterface of the node.interface. * If the address is an IPv6 address, we additionally requirethat(a) that the address is valid as defined inthe sense ofRFC 2461 [RFC2461], andthat(b) that the address is not tentative as defined inthe sense ofRFC 2462 [RFC2462]. In other words, we require the address assignmentis complete so that communications canto bestarted.complete. Note that this explicitly allows an address to be optimistic as defined in [I-D.ietf-ipv6-optimistic-dad]. * If thesense of [I-D.ietf-ipv6-optimistic-dad] even though implementations are probably better off using other addresses as long as thereaddress is analternative. * The addressIPv6 address, it is a global unicast or unique site-localaddress [I-D.ietf-ipv6-unique-local-addr].address, as defined in [I-D.ietf-ipv6-unique- local-addr]. That is, it is not an IPv6link-local or site-local address.link-local. Where IPv4 is considered, it is not an RFC 1918 [RFC1918] address. * The address and interface is acceptable forusesending and receiving traffic according to a local policy. This definition isreusedtaken from[I-D.arkko-multi6dt-failure-detection][I-D.arkko-multi6dt-failure- detection] . Locally Operational Address: Anavailableaddress is said to be locally operationalwhenif it is available and its use is locally known to be possiblelocally.and permitted. This definition is taken from [I-D.arkko-multi6dt-failure-detection]. Operational address pair: A pair of operational addresses are said to be an operational address pair,iffif and only if bidirectional connectivity can be shown between the two addresses. Note that sometimes it is necessary to considera 5-tuple whenconnectivity on a per-flow level between two endpointsneedneeds to be tested. This differentiation might be necessary to addressload balancers,certain Network Address Translation types or specific firewalls. This definition is taken from[I-D.arkko-multi6dt-failure-detection][I-D.arkko- multi6dt-failure-detection] andenhanced to fitadapted for the MOBIKE context. Although it is possible to further differentiate unidirectional and bidirectional operational addresspairspairs, only bidirectional connectivity is relevantforto this document and unidirectional connectivity is out of scope. Path: Theroute takensequence of routers traversed by the MOBIKEand/orand IPsec packetssent via the IP address of one peer to a specific destination address ofexchanged between theother peer.two peers. Note thatthethis pathmightmay beeffectedaffected not only by the involved source and destination IPaddressesaddresses, but also by theselected transport protocol andtransportprotocol identifier.protocol. Since MOBIKE and IPsec packets have a different appearance on the wire they might be routed along a differentpath.path, for example by load balancers. This definition is taken from [RFC2960] andmodifiedadapted tofitthe MOBIKE context. Primary Path: Theprimary path issequence of routers traversed by an IP packet that carries thedestination anddefault sourceaddress that will be put into a packet outboundand destination addresses is said to be thepeer by default.Primary Path. This definition is taken from [RFC2960] andmodifiedadapted tofitthe MOBIKE context. Preferred Address:AnThe IP addresson whichof a peerpreferstoreceivewhich MOBIKEmessagesand IPsecprotected data traffic.traffic should be sent by default. A given peer has only one active preferred address at a given point intime (ignoringtime, except for the small time period where itneeds to switchswitches fromthean oldpreferred addressto a new preferredaddress).address. This definition is taken from [I-D.ietf-hip-mm] andmodifiedadapted tofitthe MOBIKE context. Peer Address Set: We denote the two peersin this Mobikeof a MOBIKE session by peer A and peer B. A peer address set isathe subset of locally operational addresses of peer A thatareis sent to peer B. A policy available at peer A indicates which addressesto includeare included in the peer address set. Such a policy might beimpacted by manual configurationcreated either manually orbyautomatically through interaction with otherprotocolsmechanisms that indicate new available addresses. Terminologyfor differentregarding NATtypes, such astypes (e.g. Full Cone, Restricted Cone, Port Restricted Cone andSymmetric,Symmetric), can be found in Section 5 of [RFC3489]. For mobility relatedterminology, such asterminology (e.g. Make-before-break orBreak-before-makeBreak-before-make) see [RFC3753]. 3. ScenariosTheIn this section we discuss three typical usage scenarios for the MOBIKEprotocol can be used in different scenarios. Three of them are discussed below.protocol. 3.1 Mobility Scenario Figure 1 shows a break-before-make mobility scenario where a mobile nodeattaches to, for example a wireless LAN, to obtain connectivitychanges its point of network attachment. Prior tosome security gateway. This security gateway might connectthe change, the mobile nodetohad established an IPsec connection with acorporate network,security gateway which offered, for example, access to a3G network or to some othercorporate network. TheinitialIKEv2 exchangetakesthat facilitated the set up of the IPsec SA(s) took placealongover the path labeled as 'oldpath' frompath'. The involved packets carried theMN using its oldMN's "old" IP addressviaand were forwarded by theold"old" access router (OAR)towardsto the security gateway (GW).The IPsec tunnel mode terminates there but the decapsulated data packet will typically address another destination. Since only MOBIKE communication from the MN to the gateway is relevant for this discussion the end-to-end communication between the MN and some destination is not shown in Figure 1.When the MNmoves to a newchanges its point of networkandattachment, it obtains a new IP addressfrom a new access router (NAR) it isusing statefu address configuration techniques or via theresponsibilitystateless address autoconfiguration mechanism. The goal ofMOBIKEMOBIKE, in this scenario, is toavoid restartingenable theIKEv2 exchange from scratch. As a result,MN and the GW to continue using the existing SAs and to avoid setting up a new IKE SA. A protocol exchange, denoted by 'MOBIKE AddressUpdate' , will performUpdate', enables thenecessarypeers to update their stateupdate.as necessary. Note that in a break-before-makemobilityscenario the MN obtainsathe new IP address afterreachability toit can no longer be reached at the old IPaddress has been lost. MOBIKE is also assumed to work in scenarios where the mobile node is able to establish connectivity withaddress. In a make-before-break scenario, thenew IP address while still beingMN is, for a given period of time, reachable at both the old and the new IP address. MOBIKE should work in both the above scenarios. (Initial IKEv2 Exchange) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>v Old IP +--+ +---+ v address |MN|------> |OAR| -------------V v +--+ +---+ Old path V v . +----+ v>>>>> +--+ .move | R | -------> |GW| . | | >>>>> | | v +----+ ^ +--+ +--+ +---+ New path ^ ^ New IP |MN|------> |NAR|--------------^ ^ address +--+ +---+ ^ >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>^ (MOBIKE Address Update) ---> = Path taken by data packets >>>> = Signaling traffic (IKEv2 and MOBIKE) ...> = End host movement Figure 1: Mobility Scenario 3.2 Multihoming Scenario Anotherscenario whereMOBIKEmight be usedusage scenario isbetween twodepicted in Figure 2. In this scenario, the MOBIKE peers are equipped with multiple interfaces (and multiple IP addresses).Figure 2 shows two such multi-homed peers.Peer A has two interface cards with two IPaddressesaddresses, IP_A1 andIP_A2. Additionally, PeerIP_A2, and peer Balsohas two IP addresses, IP_B1 and IP_B2. Each peer selects one of its IP addresses as the preferred address whichwill subsequently beis used for subsequent communication. Various reasons,such as problems with the interface card, might(e.g hardware or network link failures), may require a peer to switch from oneIP addressinterface tothe other one.another. +------------+ +------------+ | Peer A | *~~~~~~~~~* | Peer B | | |>>>>>>>>>> * Network *>>>>>>>>>>| | | IP_A1 +-------->+ +--------->+ IP_B1 | | | | | | | | IP_A2 +********>+ +*********>+ IP_B2 | | | * * | | +------------+ *~~~~~~~~~* +------------+ ---> = Path taken by data packets >>>> = Signaling traffic (IKEv2 and MOBIKE) ***> = Potential future path through the network (if Peer A and Peer B change their preferred address) Figure 2: Multihoming Scenario Note that MOBIKE does not aim to support load balancing between multiple IP addresses. That is, each peer uses only one of the available IP addresses at a given point in time. 3.3 Multihomed Laptop ScenarioIn the multihomed laptopThe third scenario we consider is about a laptop, which has multiple interface cards and therefore several ways to connect toathe network. Itmightmay for example have a fixedEthernet, WLAN, GPRS,Ethernet card, a WLAN interface, a GPRS adaptor, a Bluetooth interface or USBhardware in order to send IP packets. A number ofhardware. Not all interfacesmightare connected toathe networkover time depending onat all times for a number of reasons (e.g., cost, availability of certain link layer technologies, user convenience).NoteThe mechanism thata policy for selecting a network interface based on cost, etc. is out of scope for MOBIKE. For example, the user can disconnect himself from the fixed Ethernet, use the office WLAN, and then later leave the office and start using GPRS duringdetermines which interfaces are connected to thetrip home. At home he might use WLAN. At a certainnetwork at any given point in timemultiple interfaces might be connected. As such, the laptopisa multihomed device. In any case,outside theIP addressscope of theindividual interfaces are subject to change. The user desires to keep the established IKE-SA and IPsec SAs alive all the time withoutMOBIKE protocol and, as such, this document. However, as theneedlaptop changes its point of attachment tore-runtheinitial IKEv2 exchange which could require user interaction as partnetwork, the set of IP addresses under which theauthentication process. Furthermore, evenlaptop is reachable, changes too. Even if IP addresses change due to interface switching or mobility, the IPsource and destinationaddress obtained via the configuration payloads within IKEv2and used insideremain unaffected. The IP address obtained via the IKEv2 configuration payloads allow the configuration of the inner IP address of the IPsectunnel remains unaffected, i.e.,tunnel. As such, applications might not detect any change at all. 4. Framework The working group will develop a MOBIKE protocol which needs to perform the followingfunctionality:operations: oAbility toinform the other peer about the peer address set oAbility toinform the other peer about the preferred address oAbility totest connectivity along a path and thereby to detect an outage situation oAbility tochange the preferred address oAbility tochange the peer address set o Ability to deal with Network Address Translation devices The technical details of these functions are discussed below. Althoughthe interaction with other protocols is important forMOBIKE will have tooperate correctlyinteract with other mechanisms, the working group is chartered to leave this aspect outside the scope. When a MOBIKE peer initiates a protocol exchangewith its MOBIKE peerit needs to define a peer address set based on the IP addresses availableaddresses. It mightto it. The peer may want to make thispeer addressset available to the other peer. The IKEv2 Initiator does not need toexplicitlyindicateits preferredwhich of the addresses in the peer addresssince itset isalready usingits preferred address.The outgoing IKEv2 and MOBIKE messages use thisThis is because the Initiator has to place its preferred addressasinto the source IP addressandfield of theMOBIKE peerIP header with the initial message exchange. Additionally, the Initiator expects incoming signaling messages tobe sent toarrive at this address.Interaction with other protocols at the MOBIKE host is required to build theThe peer address set and the preferredaddress.address are defined based on interaction with other components within a host. In somecasescases, the peer address setismay be available before the initial protocol exchange and does not change during the lifetime of the IKE-SA. The preferred address might change due to policy reasons. Section 3 describes three scenarios in which the peer address set is modified (by adding or deleting addresses). In these scenarios the preferred addressneeds to be changedmay change as well.ModifyingA modification of the peer address set orchanginga change of the preferred address typically iseffected bythehost'sresult of the MOBIKE peer's local policy and by the interaction with other protocols (such as DHCP or IPv6 Neighbor Discovery). Figure 3 shows an example protocol interactionatbetween a pair of MOBIKEpeer.peers. MOBIKE interacts with the IPsec engine using the PF_KEYinterface [RFC2367] toAPI [RFC2367]. Using this API, the MOBIKE daemon can create entries in the Security Association (SAD) and Security PolicyDatabases.Databases (SPD). The IPsec enginemightmay also interact with IKEv2 andMOBIKE. Established state atMOBIKE daemon using this API. The content of the Security Policy and Security Association Databases determines what traffic is protected with IPsecdatabases has an impactin which fashion. MOBIKE, on theincoming and outgoing data traffic. MOBIKEother hand, receives information fromother protocols running ina number of sources that may run both in kernel-mode anduser-mode, as previously mentioned.in user-mode. Information relevant for MOBIKEismight be stored in a database. The contents of such a database,referred as Trigger database, that guidesalong with the occurrence of events of which the MOBIKEin its decisionsprocess is notified, form the basis on which MOBIKE decides regarding the set of available addresses, the peer address set, and the preferred address. Policiesmightmay also affect the selection process.Building and maintainingThe a peer address set andselecting or changing athe preferred addressbased on locally available information is, however, insufficient. This informationneeds to be available to the otherpeer and inpeer. In order to addressvariouscertain failurecases it is necessary to testcases, MOBIKE should perform connectivityalongtests between the peers (potentially over a number of different paths). Although apath. Anumber of address pairsmightmay be available forconnectivity tests butsuch tests, the most importantare the source andis the pair (source address, destinationIP addressaddress) of the primarypath since these addresses arepath. This is because this pair is selected for sending and receiving MOBIKE signalingmessages and for sendingandreceivingIPsecprotected datatraffic. If a problem along this primary path is detected (e.g., due to a router failure) it is necessary to switch tothea new primary path.Optionally, periodic testingIn order to be able to do so quickly, it may be helpful to perform connectivity tests of other pathsmight be useful to determine whenperiodically. Such a technique would also help in identifying previously disconnectedpath becomespaths that become operational. +-------------+ +---------+ |User-space | | MOBIKE | |Protocols | +-->>| Daemon | |relevant for | | | | |MOBIKE | | +---------+ +-------------+ | ^ User Space ^ | ^ ++++++++++++++++++++++++++++ API ++++++ API ++++ PF_KEY ++++++++ Kernel Space v | v _______ | v +-------------+ / \ | +--------------+ |Routing | / Trigger \ | | IPsec | |Protocols |<<-->>| Database |<<-+ +>+ Engine | | | \ / | | (+Databases) | +-----+---+---+ \_______/ | +------+-------+ ^ ^ ^ | ^ | +---------------+-------------+--------+-----+ | v | | | | +-------------+ | | | I | |Kernel-space | | | | I n | +-------->+Protocols +<----+-----+ | | n t v v |relevant for | | v v v t e +----+---+-+ |MOBIKE | | +-+--+-----+-+ e r | Input | +-------------+ | | Outgoing | r f | Packet +<--------------------------+ | Interface | f ==a>|Processing|===============================| Processing |=a> c | | | | c e +----------+ +------------+ e s s ===> = IP packets arriving/leaving a MOBIKE node <-> = control and configuration operations Figure 3: Framework Please note that Figure 3is only one wayillustrates an example ofimplementing MOBIKE.how a MOBIKE implementation could work. Hence, it serves illustrative purposes only. Extensions of the PF_KEY interface required by MOBIKE are also within the scope of the working group. Finally, certain optimizationsinfor wirelessenvironment willenvironments are alsobecovered. 5. Design Considerations This section discusses aspects affecting the design of the MOBIKE protocol. 5.1 Indicating Support for MOBIKE In order for MOBIKE tofunction correctly,function, both peers must implementthis extension. We propose extensions to IKEv2 described below forthe MOBIKEsupport.extension of IKEv2. Ifonlyonepeer supports MOBIKE, thenor none of the peers supports MOBIKE, then, whenever an IP address changes, IKEv2 willjust run IKEv2. Specifically,have to be re-run in order to create anodenew IKE SA and the respective IPsec SAs. In MOBIKE, a peer needs to beableconfident that its address change messages are understood by the other peer. If these messages are not understood, it is possible that connectivity between the peers is lost. One way toguaranteeensure that a peer receives feedback on whether or not itsaddress changemessages are understood byits corresponding peer. Otherwise an address change may rendertheconnection useless, and itother peer, isimportant that both sides realize this as earlyby using IKEv2 messaging for MOBIKE and to mark some messages aspossible. Ensuring that"critical". According to the IKEv2 specification, such messagesare understood can in be arrangedeither have to be understood bymarking some IKEv2 payloads critical so that they are either processedthe receiver, or an error message has to be returned to the sender. A second way to ensure receipt of the above-mentioned feedback isreturned,by using Vendor ID payloadsor via a Notify. The first solution approach is to use Vendor ID payloadsthat are exchanged during the initial IKEv2exchange using a specific string denoting MOBIKE to signal the support of the MOBIKE protocol. This ensures that in all cases a MOBIKE capable node knowsexchange. These payloads would then indicate whetheritsor not a given peer supports the MOBIKEor not. The second solutionprotocol. A third approachuseswould use the Notify payload which is also used for NAT detection (via NAT_DETECTION_SOURCE_IP andNAT_DETECTION_DESTINATION_IP).NAT_DETECTION_DESTINATION_IP payloads). Both a Vendor ID and a Notify payloadmightmay be used to indicate the support of certain extensions. Note thatthe nodea MOBIKE peer could also attempt to execute MOBIKE opportunistically with the critical bit set when an address change has occurred. The drawback of this approach is, however, thatthean unnecessary MOBIKE message exchange is introduced. Although Vendor ID payloads and Notifications are technicallyequivalentequivalent, Notifications are already used in IKEv2 as a capability negotiationmechanismmechanism. Hence, Notifications andis thereforeVendor ID payloads are the preferredmechanism.mechanisms. 5.2 Changing a Preferred Address andMultihomingMulti-homing Support From MOBIKE's point ofview multihomingview, support for multi-homing isintegratedinherently provided bysupportingthe fact that it manages apeer addressset of peer addresses, rather than a singleaddress and protocoladdress. Further, MOBIKE provides mechanisms to changeto useanewpeer's preferred IP address.From a protocol point of view eachEach peer needs to learn the preferred address and the peer addressset either implicitly or explicitly.set. 5.2.1 Storing a single or multiple addresses One design decision is whether an IKE-SA shouldstorebe associated with a single IP address or multiple IPaddresses as part of the peer address set.addresses. One option is thatthe other enda peer can provide a list of addresses to its counterpart which can then be used as destination addresses. Note that MOBIKE does not support load balancing, i.e., only one IP address is set to a preferred address at a time and changing the preferred address typically requires some MOBIKE signaling. Another option is to only communicate one address to the other peer and both peers only use that address when communicating. If thispreferredaddress cannot be used anymore then an address update is sent to the other peerchangingthat changes the preferred address.IfAlternatively, if peerA providesA, for example,provides a peer address set with multiple IP addresses then peer B can recover from a failure of the preferred addresson its own, meaning that whenwithout further communication with peer A. That is, if it detects that the primary path does not work anymore it can either switch to a new preferred address locally (i.e.,causingchanging the source IP address of outgoing MOBIKEmessages to have a non-preferred address)messages) or to try an IP address from A's peer addressset.set (i.e., changing the destination address). If peer B only received a singleIP address as the A's peerIP addresssetfrom peer A for A then peer B can only change its own preferred address.The other end hasPeer B would have to wait for an address update from peer A with a new IP address in order to fix the problem. The main advantageabout usingof storing only a single IP address for the remotehostpeer is that it makes retransmissioneasy, andhandling easier. Moreover, italsosimplifies the recovery procedure. Thepeer,peer whose IP addresschanged,changed must start the recovery process and send the new IP address to the other peer.FailuresHowever, connectivity failures along the path are not wellcoveredaddressed with advertising a single IP address. The single IP address approachwilldoes not work if both peershappen to loosechange their IPaddressaddresses at the sametime (due to, say, the failure of one of the links thattime, for example if bothnodeshosts move simultaneously, even though multiple addresses areconnected to). It may also requireavailable to the two peers. The IKEv2 implementation might also require window size to be larger than1, especially if only direct indications are used. This is1 because thehostMOBIKE peer needs to be able to send the IP address change notifications before itcan switchswitches to anotheraddress, and dependingaddress. Depending on the occurrence of return routability checks, retransmissions policiesetc, itand similar message exchanges a window size larger than 1 might behardrequired tomake the protocol such that it worksdeal withwindow size of 1 too.more than one pending response at the same time. Furthermore, the single IP address approach does not really benefit much from indirect indications as the peer receiving these indications might not be able to fix the situation by itself (e.g., even if a peer receives an ICMP host unreachable message for the old IP address, it cannot tryotheranother IPaddresses,address, sincethey are unknown).it does not know any). The problems with IP address listsarelie mostly initstheir complexity. Notification and recovery processes are morecomplex.complicated. Both ends can recover from the IP address changes. However, both peers should not attempt to recover at the same time or nearly the same time asitthis could cause them to lose connectivity. The MOBIKE protocol is required to prevent this. The previous discussion is independent of the question of how many addresses to send in a single MOBIKE message. A MOBIKE message might be able to carry more than one IP address (with the IP address list approach) or a single address only.The latter approach has the advantage of dealing with NAT traversal in a proper fashion.A NATcannotdoes not change addresses carried inside the MOBIKE message but it can change IP address (and transport layer addresses) in the IP header and Transport Protocol header (if NAT traversal isenabled).enabled as part of configuration or dynamically through the NAT discovery mechanism. Furthermore, a MOBIKE message carrying the peer address set could be idempotent (i.e., always resending the full address list) or the protocol may allow add/delete operations to be specified.[I-D.dupont-ikev2-addrmgmt],[I-D.dupont-ikev2- addrmgmt], for example, offers an approach which defines add/delete operations. The same is true for the dynamic address reconfiguration extension for SCTP [I-D.ietf-tsvwg-addip-sctp]. 5.2.2 Indirect or Direct Indication An indication to change the preferred IP address might be either direct or indirect. Direct indication: A direct indication means that the other peer will send an message with the address change.Such a messageThis can, for example, be accomplished by having MOBIKE sending an authenticated address update notification with a different preferred address. Indirect indication: An indirect indication to change the preferred address can be obtained by observing the environment. An indirect indication might, for example, bebethe receipt of an ICMP message or informationofabout a link failure. This information should be seen as a hint andmightshould notdirectlycauseany changes toa change of the remote peer's preferred address. Depending on the localpolicypolicy, MOBIKEmightmay decide to perform a dead-peer detection exchange for the preferred address pair (or another address pair from the peer address set). When a peer detects that the other end started to use a different source IP address than before, it might want to authorize the new preferred address (if not already authorized).A peer might also startAuthorization aims to ensure that aconnectivity test of thisparticularaddress. If a bidirectionally operational address pairpeer isselected then MOBIKE needs to communicate this new preferred addressallowed toits remote peer. MOBIKE will utilize both mechanisms, direct and indirect indications,use the indicated address. Claiming tomakebe at an arbitrary address without performing amore intelligent decision whichreturn-routability test or without verifying that the IP addresspair to select asis listed within a certificate opens thepreferreddoor for various denial of service attacks. Hence a peer may also start a connectivity test of this particular address.TheIf more informationwill beis available to the MOBIKE daemon then a more intelligent decision regarding thefasterselection of a new primary path can beselected among the available candiates.made. 5.2.3 Connectivity Tests using IKEv2 Dead-Peer Detection This section discusses the suitability of the IKEv2 dead-peer detection (DPD) mechanism for connectivity tests between address pairs. The basic IKEv2 DPD mechanism is not modified by MOBIKE but it needs to be investigated whether it can be used for MOBIKE purposes as well. The IKEv2 DPD mechanismis done byinvolves sending an empty informational exchange packet to a given address of theother peer, in which caseremote peer. On receipt, theother end will respondremote peer responds with an acknowledgement. If no acknowledgement is received after a certain timeout period (and after couple of retransmissions), theotherremote peer is considered to be notreachable. Note thatreachable at the address in question. On the other hand, receipt of IPsec protecteddata trafficacknowledgement isalsoa guarantee that the other peer isalive.reachable at the address in question. When reusing dead-peer detection in MOBIKE for connectivity tests it seems to be reasonable to try other IP addresses (if they are available) in case of an unsuccessful connectivity test for a given address pair. Dead-peer detection messages using a different address pair should use the same message-id as the original dead-peer detection message (i.e. they are simply retransmissions of thedead-peerdead- peer detection packet using different destination IP address). If different message-id is used then it violates constraints placed by the IKEv2 specification on the DPD message with regard to the mandatory ACK for each message-id, causing the IKEv2 SA to be deleted. If MOBIKE strictly follows the guidelines of the dead-peer detection mechanism in IKEv2 then an IKE-SA should be marked as dead and deleted if the connectivity test for all available address pairs fails. Note that this is not in-line with the approach used, for example, in SCTP where a failed connectivity test for an address does not lead to (a) the IP address or IP address pair to be marked as dead and (b) delete state. Connectivity tests will be continued for the address pairs in hope that the problem will recover soon. This comparison with SCTP aims to point at another IETF protocol that aims to address the multi-homing problem (although with a different scope and a different layer). Note thatasIKEv2 implementationsmightmay have a window size of 1,which prevents it from initiatingand therefore be unable to initiate a dead-peer detection exchange whiledoinganotherexchange.exchange is pending. As a result, all other exchangesexperience the identical retransmission policy as used for the dead-peer detection. The dead-peer detection for the other IP address pairs can also be executed simultaneously (with a window size larger than 1), meaning that after the initial timeout of the preferred address expires, we send packets simultaneously to all other address pairs. It is necessary to differentiate individual acknowledgement messages in order to determine which address pair is operational. Therefore the source IP address of the acknowledgement should match the destination IP towards the message that was previously sent. Also the other peer is most likely going to reply only to the first packet it receives, and that first packet might not be the best (by whatever criteria) address pair. The reason the other peer is only respondingare subject tothe first packet it receives is that implementations should not send retransmissions if they have just sent outan identicalresponse message. This isretransmission policy as used for the dead- peer detection. To use a different policy for different message types seems toprotectbe reasonable. The dead-peer detection mechanism for thepacket multiplication problem, whichother IP address pairs canhappenalso be executed simultaneously ifsome node inthenetwork queues up packets and then sends them towindow size larger than 1, meaning that after thedestination. Ifinitial timeout period of thedestination were to replypreferred address expires, DPD packets are sent simultaneously to allof them then theotherend will again see multiple packets, and will replyaddress pairs. It is necessary toalldifferentiate acknowledgement messages in order to determine which address pair is operational. The source IP address ofthem, etc.the acknowledgement can be used for this purpose. The protocol should also be nice to the network, meaning, that when some corerouterlink goes down, and a large number of MOBIKE clients noticeit,this, they should not start sending a large number of messages while trying to recover from the problem. Thismightmay beespecially badparticularly unfortunate because packetsaremay be dropped because of congestion in thecongested network.first place. If MOBIKE clients simultaneously try to test all possible address pairs by executing connectivity tests then the congestion problem only gets worse. Also note that the IKEv2 dead-peer detection is not sufficient for the return routability check. See Section 5.6 for more information. 5.3 Simultaneous Movements MOBIKE does not aim to provide afullmobility solutionwhichthat allows simultaneous movements. Instead, the MOBIKE working group focuses on selected scenarios as described in Section 3. Some of the scenarios assume that one peer has a fixed set of addresses (from which some subset might be in use). Thus it cannot move tothean address that is unknown to the other peer. Situations in which both peers moveand the movement notifications cannot reach the other peersimultaneously are outside the scope of the MOBIKE WG. MOBIKE has notbeingbeen chartered to deal with the rendezvous problem, or with the introduction ofanynew entities in the network. Note that if only a single address is stored in the peer address set (instead of an address list) we might end up in the case where it seems that both peers changed their addresses at the sametime.time (e.g., if both nodes change their addresses at the same time). This is something that the MOBIKE protocol must deal with. Three cases can be differentiated: o Two mobile nodes obtain a new address at the same time, and then being unable to tell each other where they are (in abreak-before-makebreak-before- make scenario). This problem is called the rendezvous problem, and is traditionally solved by introducing another third entity, for example, the home agents (in Mobile IPv4/IPv6) or forwarding agents (in the Host Identity Protocol). Essentially, solving this problem requires the existence ofa stableadditional infrastructurenode somewhere.nodes. o Simultaneous changes to addresses such that at least one of the new addresses is known to the other peer before the change occurred. o No simultaneous changes at all. 5.4 NAT Traversal IKEv2has support ofsupports legacy NATtraversal built-in.traversal. This feature is known as NAT-T which allows IKEv2 to work even if a NAT along the path between the Initiator and the Respondermodifiedmodifies the source and possibly the destination IP address. With NAPT even the transport protocol identifiers are modified (which then requires UDP encapsulation forsubsequentexchanged IPsec protected data traffic). Therefore, the MOBIKE daemon needs to obtain to required IP addressinformation is taken frominformationfrom the IP header (if a NAT was detectedwho rewrotethat modified the IPheader information)header) rather than from the protected payload. This problem is not new andwas discovered during the designis an issues of every mobility protocol where theonly valuablemost important information exchanged is the IP addressinformation.. One of the goals in the MOBIKE protocol is to securely exchange one or more addresses of the peer address set and to securely set the primary address. If no other protocol is used to securely retrieve the IP address and port information allocated by the NAT then it is not possible to tackle all attacks against MOBIKE. Section 6 discusses this aspect in more detail. Varioussolutionapproaches to solve the problem have been presented: o Securely retrieving IP address and port information allocated by the NAT using a protocol different from MOBIKE. This approach is outside the scope of the MOBIKE working group since other working groups, such as MIDCOM and NSIS, already deal with this problem. The MOBIKE protocol can benefit from the interaction with theseprotocols.protocols but the interaction with these protocols it outside the scope of this document. o Design a protocol in such a way that NAT boxes are able to inspect (or even participate) in the protocol exchange. This approach was taken withHIPthe Host Identity Protocol but is not an option for IKEv2 andMOBIKE.MOBIKE since most IKEv2 messages are encrypted with the established IKE SA. This prevents the NAT from learning required information from the protocol exchange in a similar fashion as in HIP. o Disable NAT-Tsupportby indicating the desire never to use information from the (unauthenticated) header. While this approach prevents some security problems it effectively disallows the protocol to work incertain environments.environments with NATs. There is no way to distinguish thecases wherewhether there is a NAT device along the path that modifies the header information in packets orwhetheran adversarymountsmounting an attack. If a NAT is detectedinduring the creation of an IKESA creation,SA, that should automatically disable the MOBIKE extensions and use NAT-T. A design question is whether NAT detection capabilities should be enabled only during the initial IKEv2 exchange oreven atalso during subsequent message exchanges. If MOBIKE is executed with no NAT along the path when the IKE SA was created, then a NAT which appears after moving to a new network cannot be dealt with if NAT detection is enabled only during the initial exchange. Hence, itmight beis desirable to also support a scenario where a MOBIKE peer moves from anetwork which doessubnet that is notdeploybehind a NAT to a networkwhich uses a private address space.that is. A NAT prevention mechanism can be used to make sure that no adversary can interact with the protocol if no NAT is expected between the Initiator and the Responder.The(reference? Explanation?) Whether or not MOBIKE should supportforNAT traversal iscertainlyone of the most important designdecisions with an impact on other protocol aspects.decisions. 5.5 Changing addresses or changing the paths A design decision is whether it is enough for the MOBIKE protocol to detect deadaddress,addresses, ordoesitneedalso needs to detectalsodead paths. Dead address detectionmeans that we only detect that we cannot get packets throughrefers tothat remote address by usingthelocal IP addressability to establish whether or not a givenby the local IP-stack (i.e., localIP addressselected normally by the routing information).pair is operational. Dead path detectionmeans that we needrefers totry all possible local interfaces/IP addresses for each remote addresses, i.e., find all possible paths betweenthehosts and try them allability tosee which of them workestablish whether or not all possible (local/remote) address pairs are operational (or at least find oneworking path).such pair). While performing justanone address change is simpler, the existence of locally operational addressesareis not, however, a guarantee that communications can be established with the peer. A failure in the routing infrastructure can prevent the sent packets from reaching their destination.Or a failure of an interface on one side can be related to the failure of an interface on the other side, making it necessary to change more than one address at a time.5.6 Return Routability TestsSetting a newChanging the preferred addresswhich isand subsequentlyusedusing it for communication is associated with an authorization decision: Is a peer allowed to use this address? Does this peer own this address? Two mechanisms have been proposed in the past to allow a peer to determine the answer to this question: o The addresses a peer is using are part of a certificate. [RFC3554] which is introduced by this approach. If the other peer is, for example, a security gateway with a limited set of fixed IP addresses, then the security gateway may have a certificate with all the IP addresses appear in the certificate. o A return routability check is performed by the remote peer before the address isused to ensureupdated in that peer's Security Association Database. This is done in order provide a certain degree of confidence to the remote peer that local peer is reachable at the indicated address. Withoutperformingtaking an authorization decision a malicious peer can redirect traffic towards a third party or a blackhole.An IP addressA MOBIKE peer should notbe useduse an IP addressed provided by another MOBIKE peer as a primary address without computing the authorization decision. If the addresses are part ofthe certificate then it is not necessary to execute the weaker return routability test.the certificate then it is not necessary to execute the weaker return-routability test. The return-routability test is a form of authorization check, although it provides weaker guarantees then the inclusion of the IP address as part of a certificate. If multiple addresses are communicated toanother peer as part ofthe remote peeraddress setthen some of these addressesmightmay be already verified even if the primary address is still operational. Another option is to use the [I-D.dupont-mipv6-3bombing] approach which suggests todoperform a return routability test onlyif you have to sendwhen an address update needs to be sent from someotheraddress other than the indicated preferred address. Finally it would be possible not to execute return routability checks at all. In case of indirect change notificationsthenwe only move to the new preferred address after successful dead-peer detection (i.e., a response to a DPD test) on the new address, which is already a return routability check. With a directnotificationsnotification the authenticated peer may have provided an authenticated IPaddress, thus we couldaddress. Thus it is would be possible to simply trust theother end.MOBIKE peer to provide a proper IP address. There is no wayexternal attackeran adversary cancause any attacks, but we aresuccessfully launch an attack by injecting faked addresses since it does notprotected fromknow the IKE SA and the corresponding keying material.A protection against an internal attacker, i.e. the authenticated peer forwarding its traffic to the newaddress.address, is not provided. This might be an issue when extensions are added to IKEv2 that do not require authentication of end points (e.g., opportunistic security using anonymous Diffie- Hellman). On the other hand wedoknow the identity of the peer in that case.As such, itThe identity of the IKEv2 Initiator and the IKEv2 Responder can take various forms: IP address, FQDN, DN, email address alike identifiers, etc. It seems that there it is also a policy issue when to schedule a return routability test. The basic format of the return routability check could be similar to dead-peer detection, but the problem is that if that fails then the IKEv2 specification requires the IKE SA to be deleted. Because of thiswe might need to do some kinda different type ofother exchange.exchange is required and thereby avoiding modifications to the IKEv2 specification. There are potential attacks if a return routability check does not include some kind of nonce.In this attack theThe valid end pointsendscould send an address update notification forthea third party, trying to get all the traffic to be sent there, causing a denial of service attack. If the return routability checks does not contain any cookies or other random information not knownbyto the other end, then that valid node could reply to the return routability checks even when it cannot see the request. This might causethe other enda peer toturnmove the traffic tothere, even whena location where thetrueoriginal recipient cannot bereached at this address.reached. The IKEv2 NAT-T mechanism does not performanyreturn routability checks. It simply uses the last seen source IP address used by the other peer as the destination address to send response packets. An adversary can change those IP addresses, and can cause the response packets to be sent to wrong IP address. The situation is self-fixing when the adversary is no longer able to modify packets and the first packet withtruean unmodified IP address reaches the other peer.In a certain sense mobility handling makesMobility environments make this attack more difficult for an adversary since itneedsrequires the adversary to be located somewherealong the path whereon the individual paths ({CoA1, ..., CoAn} towards the destination IP address) have a shared path or if the adversary is located near the MOBIKE client then it needs to follow theusersuser mobility patterns. With IKEv2 NAT-T, the genuine client can cause third party bombing by redirecting all the traffic pointed to him to third party. As the MOBIKE protocol tries to provide equal or better security than IKEv2 NAT-Tthe MOBIKE protocolmechanism it should protect against these attacks. Theremightmay bealsoreturn routability information available from the other parts of the system too (as shown in Figure 3), but the checks donemightmay have a different quality. There are multiple levels for return routability checks: o None, no tests o A party willing to answer the return routability check isonlocated along the path to the claimedaddress.address (). This is the basic form of return routability test. o There is an answer from the tested address, and that answer wasauthenticated (including the address) to be from our peer.authenticated, integrity and replay protected. o There was anauthenticatedauthenticated, integrity and replay protected answer from the peer, but it is not guaranteed tobe fromoriginate at the tested address or path to it (because the peer can construct a response without seeing the request). Thebasicreturn routability checks do not protect against 3rd party bombing if the attacker is along the path, as the attacker can forward the return routability checks to the real peer (even if those packets are cryptographically authenticated). If the address to be tested is carried inside the MOBIKEpacket too,payload, then the adversary cannotforward packets, thus it preventsforward packets. Thus 3rd partybombings.bombings are prevented. If the reply packet can be constructed without seeing the request packet (for example, if there is no nonce, challenge or similar mechanism to show liveness), then the genuine peer can cause 3rd party bombing, by replying to those requests without seeing them at all. Other levels might only provideinformationa guarantee that there issomeonea node at the IP address which replied to the request. Theremight not be anis no indicationthatas to whether or not the replywas freshly generated or repeated,is fresh, and whether or not the requestmightmay have been transmitted from a different source address.Requirements for a MOBIKE protocol for the return routability test might be able to verify that there is the same (cryptographically) authenticated node at the other peer and it can now receive packets from the IP address it claims to have.5.7 Employing MOBIKE results in other protocols If MOBIKE has learned about new locations or verified the validity ofana remote address through a return routabilitytest,check, can this information be useful for other protocols? When considering the basic MOBIKE VPN scenario, the answer is no. Transport and application layer protocols running inside the VPN tunnelhave no consideration aboutare unaware of the outer addresses or their status. Similarly, IP layer tunnel termination at a gateway rather than a host endpoint limits the benefits for "other protocols" that could be informed -- all application protocols at the other side arerunning in a node that isunaware of IPsec, IKE, or MOBIKE. However, it is conceivable that future uses or extensions of the MOBIKE protocol make such information distribution useful. For instance, if transport mode MOBIKE and SCTP were made to work together, it wouldlikelypotentially be useful for SCTP to learn about the new addresses at the same time asMOBIKE learns them.MOBIKE. Similarly, various IP layer mechanismsmightmay make use of the fact that a return routability test of a specific type hasalreadybeen performed. However,in all of these cases careful considerationcare should beapplied. This consideration should answer to questions such as whether other alternative sources exist for the information, whether dependencies are created between parts that prior to this had no dependencies, and what the impactsexercised interms of number of messages or latency are.all these situations . [I-D.crocker-celp]discusseddiscusses the use of common locator information pools in a IPv6multihomingmulti-homing context; it assumed that both transport and IP layer solutionswouldare be usedfor providing multihoming,in order to support multi-homing, and that it would be beneficial for different protocols to coordinate their results in somemanner,way, for instance by sharingexperiencedthroughput informationforof address pairs. This may apply to MOBIKE as well, assuming it co-exists with non-IPsec protocols that are faced with the samemultiaddressingor similar multi-homing choices. Nevertheless, all of this is outside the scope of current MOBIKE base protocol design and may be addressed in future work. (so why do you elaborate so much on this stuff?) 5.8 Scope of SA changes Most sections of this document discuss design considerations for updating and maintaining addressesforin the database entries that relate to an IKE-SA. However, changing the preferred address alsohas an impact foraffects the entries of the IPsecSAs.SA database. The outer tunnel header addresses (sourceIPand destination IP addresses) need to be modified according to the primary path to allow the IPsec protected data traffic to travel along the same path as the MOBIKE packets (if we only consider the IP header information). If the MOBIKE messages and the IPsec protected data traffic travel along a different path then NAT handling is severely complicated. The basic question is then how the IPsec SAs are changed to use the new address pair (the same address pair as the MOBIKE signaling traffic -- the primary path). One option is that when the IKE SA address is changed then automatically all IPsec SAs associated with it are moved along with it to new address pair. Another option is to have a separate exchange to move the IPsec SAs separately. If IPsec SAs should be updated separately then a more efficient format than the notification payload isneeded.needed to preserve bandwidth. A notification payload can only store one SPI per payload. A separate payload which would have list of IPsec SA SPIs and new preferred address. If thereareis a large number of IPsec SAs, those payloads can be quite large unless ranges of SPI values are supported. If we automatically move all IPsec SAs when the IKE SA moves, then we only need to keep track which IKE SA was used to create the IPsec SA, and fetch the IP addresses. Note that IKEv2 [I-D.ietf-ipsec-ikev2] already requires implementations to keep track which IPsec SAs are created using which IKE SA. If we do allow each IPsecSAsSA address set to be updated separately, then we can support scenarios, where the machine has fast and/or cheap connections and slow and/or expensive connections, and it wants to allow moving some of the SAs to the slower and/or more expensive connection, and prevent the move, for example, of the news video stream from the WLAN to the GPRS link. On the other hand, even if we tie the IKE SA update to the IPsec SA update, then we can create separate IKE SAs for this scenario, e.g., we create one IKE SA which have both links as endpoints, and it is used for important traffic, and then we create another IKE SA which have only the fast and/or cheap connection, which is then used for that kind of bulk traffic. 5.9 Zero Address Set One of the features whichmight beis potentially usefulwould beis for the peer to announcethe other endthat it will now disconnect for some time,i.e.,i.e. it will not be reachable at all. For instance, a laptop might go to suspend mode. In this case thepeerit could send address notification with zero new addresses, which means that it will not have any valid addresses anymore. The responder of that kind of notification would then acknowledge that, and could then temporarily disable allSAs.SAs and therefore stop sending traffic. If any of the SAs gets any packets they are simply dropped. This could also include some kind of ACK spoofing to keep the TCP/IP sessions alive (or simply set the TCP/IP keepalives and timeouts large enough not to cause problems), or it could simply be left to the applications,e.g.,e.g. allow TCP/IP sessions to notice the link is broken. The local policy couldthen decide how long the peer would allow other peers to be disconnected, e.g., whether this is only allowed for few minutes, or do they allow users to disconnect Friday evening and reconnect Monday morning (consuming resources during weekend too, but on the other hand not more than is normally used during week days, but we do not need lots of extra resources onthen indicate how long theMonday morning to support all those people connecting backpeer should allow remote peers tonetwork).remain disconnected. From a technical point of view this feature addresses two aspects: o There is no need to transmit IPsec data traffic. IPsec protected data needs to be dropped which saves bandwidth. This does not provide a functionalbenefit i.e,benefit, i.e., nothing breaks if this feature is not provided. o MOBIKE signaling messages are alsoignored and need to be suspended.ignored. The IKE-SA must not be deleted and the suspend functionality (realized with the zero address set)mightmay require the IKE-SA to be tagged with a lifetime value since the IKE-SAwillshould not be kept inmemoryalive for anarbitrary amountundefined period of time. Note that IKEv2 does not require that the IKE-SA hasnoa lifetime associated with it. In order to prevent the IKE-SAto befrom being deleted the dead-peer detection mechanism needs to be suspended as well. Due to theenhanced complexity offact that this extension would be complicated, a first version of the MOBIKE protocol will not provide this feature. 5.10 IPsec Tunnel or Transport Mode Current MOBIKE design is focused only on the VPN type usage and tunnel mode. Transport mode behaviour would also be useful, but will be discussed in future documents. 5.11 Message Representation ThebasicIP address change notifications can be sent either via an informational exchange already specified in the IKEv2, or via a MOBIKE specific message exchange. Using informational exchange has the main advantage that it is already specified in the IKEv2 and implementationsincorporatedincorporate the functionality already. Another question is thebasicformat of the address update notifications. The address update notifications can include multiple addresses, of which somecanmay be IPv4 and some IPv6 addresses. The number of addresses is most likely going to bequite small (lesslimited in typical environments (with less than10).10 addresses). The formatmightmay need to indicate a preference value for each address.Furthermore, one of the addresses in the peer address set must be labeled as the preferred address.The format could either containthea preferencenumber, giving outnumber that determines the relative order of the addresses, or it could simply beorderedordered, according to preference, list of IPaddresses in the order of the most preferred first.addresses. While two addresses can have the same preference value an ordered list avoids thisproblem.situation. Even if load balancing is currently outside the scope of MOBIKE,there might befuture workto include this feature.might include. Theformatselected format needs to be flexible enough to include additional information(e.g.,(e.g. to enable load balancing). Thismightmay besomething like onerealized with an reserved field, which can later be used to store additional information. As thereismay arise otherpotentialinformation whichmightmay have to be tied tothean address in the future, a reserved field seems like a prudent design in any case. There are twobasicformatsfor puttingthat place IP addresslist in to the exchange, we can includelists into a message. One includes each IP address as separate payload (where the payload order indicates the preference value, or the payload itself might include the preference value), or we can put the IP address list as one payload to the exchange, and that one payload will then have internal format which includes the list of IP addresses. Having multiple payloads with each one having carrying one IP address makes the protocol probably easier to parse, as we can already use the normal IKEv2 payload parsingprocedures to get the list out.procedures.. It also offers an easy way for the extensions, as the payload probably contains only the type of the IP address (or the type is encoded to the payload type), and the IP address itself, and as each payload already has length associated to it, we can detect if there is any extra data after the IP address. Some implementations might have problems parsingtoo long of a list ofIKEv2payloads,payloads that are longer than a certain threshold, but if the sender sends them in the most preferred first, theother endreceiver cansimplyonlytakeuse the firstaddresses and use them.addresses. Having all IP addresses in one big MOBIKE specified internal format provides more compact encoding, and keeps the MOBIKE implementation more concentrated to one module.The nextIt also avoids problems of packets arriving in an order different from what they were sent. Another choice is which type of payloads to use. IKEv2 already specifies a notify payload. It includes some extra fields (SPI size, SPI, protocol etc), which gives 4 bytes of the extra overhead, and there is the notify data field, which could include the MOBIKE specific data. Another option would be to have a custom payload type, which then includes the information needed for the MOBIKE protocol. MOBIKE might send the full peer address list once one of the IP addresses changes (either addresses are added, removed, the order changes or the preferred address is updated) or an incremental update. Sending incremental updates provides more compact packets (meaning we can support more IP addresses), but on the other hand have more problems in the synchronization and packet reordering cases, i.e., the incremental updates must be processed in order, but for full updates we can simply use the most recent one, and ignore old ones, even if they arrive after the most recent one (IKEv2 packets have message id which is incremented for each packet, thus we know the sending order easily). Note that each peer needs to communicate its peer address set to the other peer. 6. Security Considerations As all the messages are already authenticated by the IKEv2 there is no problem that any attackers would modify theactualcontents of the packets. The IP addresses in the IP header of the packets are not authenticated, thus the protocol defined must take care that they are only used as an indication that something might be different,they shouldand that do not cause any direct actions.AttackerAn attacker can also spoof ICMP error messages in an effort to confuse the peers about which addresses are not working. At worst this causes denial of service and/or the use of non-preferredaddresses, so it is not that serious.addresses. One type of attack that needs to be taken care of in the MOBIKE protocol isalso various flooding attacks.the "flooding attack" type. See [I-D.ietf-mip6-ro-sec] and [Aur02] for more information about flooding attacks.[EDITOR's NOTE: This section needs more work.]7. IANA Considerations This document does not introduce any IANA considerations. 8. Acknowledgments This document is the result of discussions in the MOBIKE working group. The authors would like to thank Jari Arkko, Pasi Eronen, Francis Dupont, Mohan Parthasarathy, Paul Hoffman, Bill Sommerfeld, James Kempf, Vijay Devarapalli, Atul Sharma, Bora Akyol, Joe Touch, Udo Schilcher, TomHendersonHenderson, Andreas Pashalidis and Maureen Stillman for their input. We would like to particularly thank Pasi Eronen for tracking open issues on the MOBIKE mailing list. He helped us to make good progress on the document. 9. Open Issues This document is not yet complete, the following open issues need to be addressed in a future version: o Section 4 needs an example to better illustrate the functionality of MOBIKE o Section 6 requires a more detailed discussion about the potential security vulnerabilities andtheir solution.corresponding countermeasures. o Some text isneedneeded to address the implications of unidirectional connectivity aspect for MOBIKE (see also issue #19). o A discussion about the scalability aspects of connectivity tests would be benefical. o More details are necessary to describe the implications of NAT traversal for MOBIKE. A complete list of issues is available atTBD.http://www.vpnc.org/ietf-mobike/issues.html. 10. References 10.1 Normative references [I-D.ietf-ipsec-ikev2] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol",Internet-Draft draft-ietf-ipsec-ikev2-17,draft-ietf-ipsec-ikev2-17 (work in progress), October 2004. [I-D.ietf-ipsec-rfc2401bis] Kent, S. and K. Seo, "Security Architecture for the Internet Protocol",Internet-Draft draft-ietf-ipsec-rfc2401bis-05, December 2004.draft-ietf-ipsec-rfc2401bis-06 (work in progress), April 2005. 10.2 Informative References [I-D.arkko-multi6dt-failure-detection] Arkko, J., "Failure Detection and Locator Selection in Multi6",Internet-Draft draft-arkko-multi6dt-failure-detection-00,draft-arkko-multi6dt-failure-detection-00 (work in progress), October 2004. [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409, November 1998. [RFC2401] Kent, S. and R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998. [I-D.dupont-mipv6-3bombing] Dupont, F., "A note about 3rd party bombing in Mobile IPv6",Internet-Draft draft-dupont-mipv6-3bombing-01, Januarydraft-dupont-mipv6-3bombing-02 (work in progress), June 2005. [I-D.ietf-mip6-ro-sec] Nikander, P., "Mobile IP version 6 Route Optimization Security Design Background",Internet-Draft draft-ietf-mip6-ro-sec-02, October 2004.draft-ietf-mip6-ro-sec-03 (work in progress), May 2005. [I-D.ietf-hip-mm] Nikander, P., "End-Host Mobility and Multi-Homing with Host Identity Protocol",Internet-Draft draft-ietf-hip-mm-00, October 2004.draft-ietf-hip-mm-01 (work in progress), February 2005. [I-D.crocker-celp] Crocker, D., "Framework for Common Endpoint Locator Pools",Internet-Draft draft-crocker-celp-00,draft-crocker-celp-00 (work in progress), February 2004. [RFC3489] Rosenberg, J., Weinberger, J., Huitema,C.C., and R. Mahy, "STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs)", RFC 3489, March 2003. [RFC2960] Stewart, R., Xie, Q., Morneault, K., Sharp, C., Schwarzbauer, H., Taylor, T., Rytina, I., Kalla, M., Zhang,L.L., and V. Paxson, "Stream Control Transmission Protocol", RFC 2960, October 2000. [RFC3753] Manner, J. and M. Kojo, "Mobility Related Terminology", RFC 3753, June 2004. [I-D.ietf-tsvwg-addip-sctp] Stewart, R., "Stream Control Transmission Protocol (SCTP) Dynamic Address Reconfiguration",Internet-Draft draft-ietf-tsvwg-addip-sctp-10, Januarydraft-ietf-tsvwg-addip-sctp-12 (work in progress), June 2005. [I-D.dupont-ikev2-addrmgmt] Dupont, F., "Address Management for IKE version 2",Internet-Draft draft-dupont-ikev2-addrmgmt-06, October 2004.draft-dupont-ikev2-addrmgmt-07 (work in progress), May 2005. [RFC3554] Bellovin, S., Ioannidis, J., Keromytis,A.A., and R. Stewart, "On the Use of Stream Control Transmission Protocol (SCTP) with IPsec", RFC 3554, July 2003. [I-D.ietf-ipv6-optimistic-dad] Moore, N., "Optimistic Duplicate Address Detection for IPv6",Internet-Draft draft-ietf-ipv6-optimistic-dad-05,draft-ietf-ipv6-optimistic-dad-05 (work in progress), February 2005. [I-D.ietf-ipv6-unique-local-addr] Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast Addresses",Internet-Draft draft-ietf-ipv6-unique-local-addr-09,draft-ietf-ipv6-unique-local-addr-09 (work in progress), January 2005. [RFC1918] Rekhter, Y., Moskowitz, R., Karrenberg, D., Groot,G.G., and E. Lear, "Address Allocation for Private Internets", BCP 5, RFC 1918, February 1996. [RFC2367] McDonald, D., Metz,C.C., and B. Phan, "PF_KEY Key Management API, Version 2", RFC 2367, July 1998. [RFC2462] Thomson, S. and T. Narten, "IPv6 Stateless Address Autoconfiguration", RFC 2462, December 1998. [RFC2461] Narten, T., Nordmark,E.E., and W. Simpson, "Neighbor Discovery for IP Version 6 (IPv6)", RFC 2461, December 1998. [Aur02] Aura, T., Roe,M.M., and J. Arkko, "Security of Internet Location Management", In Proc. 18th Annual Computer Security Applications Conference, pages 78-87, Las Vegas, NV USA, December 2002. Authors' Addresses Tero Kivinen Safenet, Inc. Fredrikinkatu 47 HELSINKI FIN-00100 FI Email: kivinen@safenet-inc.com Hannes Tschofenig Siemens Otto-Hahn-Ring 6 Munich, Bavaria 81739 Germany Email: Hannes.Tschofenig@siemens.com URI: http://www.tschofenig.com Intellectual Property Statement The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Disclaimer of Validity This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Copyright Statement Copyright (C) The Internet Society (2005). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society.