<?xml version="1.0" encoding="US-ASCII"?>
<!-- edited with XMLSPY v5 rel. 3 U (http://www.xmlspy.com)
     by Daniel M Kohn (private) -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd">

<?rfc toc="yes" ?>
<?rfc symrefs="no" ?>
<?rfc sortrefs="no" ?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no"?>

<rfc number="4877" category="std" updates="3776">

<front>
<title abbrev="Mobile IPv6 with IKEv2 and IPsec">
Mobile IPv6 Operation with IKEv2 and the Revised IPsec Architecture
</title>

<author initials="V.D." surname="Devarapalli" fullname="Vijay Devarapalli">
<organization abbrev='Azaire Networks'>Azaire Networks</organization>
<address>
<postal>
<street>3121 Jay Street</street>
<city>Santa Clara</city>
<region>CA</region>
<code>95054</code>
<country>USA</country>
</postal>
<email>vijay.devarapalli@azairenet.com</email>
</address>
</author>
<author initials="F.D." surname="Dupont" fullname="Francis Dupont">
<organization abbrev='CELAR'>CELAR</organization>
<address>
<email>Francis.Dupont@fdupont.fr</email>
</address>
</author>

<date month="April" year="2007"/>

<area>Internet</area>
<workgroup>MIP6 Working Group</workgroup>

<!-- [rfced] Please insert any keywords (beyond those that appear in 
 the title) for use on http://www.rfc-editor.org/search.html. -->
<!-- A few other terms, Bootstrapping, MIP6, Selector Granularity, 
Mobility Header, EAP Authentication. -->

<abstract>
<t>This document describes Mobile IPv6 operation with the revised IPsec
architecture and IKEv2.
</t></abstract>

</front>


<middle>
<!--
   ******** INTRODUCTION **********
-->
<section anchor="intro" title="Introduction">
<t>
RFC 3776 describes how IPsec, as described in RFC 2401 <xref
target="RFC2401"/>, is used with Mobile IPv6 <xref target="RFC3775"/>
to protect the signaling messages. It also illustrates examples of
Security Policy Database and Security Association Database entries
that can be used to protect Mobile IPv6 signaling messages.
</t>
<t>

The IPsec architecture has been revised in RFC 4301 <xref
target="RFC4301"/>. Among the many changes, the list
of selectors has been expanded to include the Mobility Header message
type. This has an impact on how security policies and security
associations are configured for protecting mobility header
messages. It becomes easier to differentiate between the various
Mobility Header messages based on the type value instead of checking
if a particular mobility header message is being sent on a tunnel
interface between the mobile node and the home agent, as it was in RFC
3776. The revised IPsec architecture specification also includes ICMP
message type and code as selectors. This makes it possible to protect
Mobile Prefix Discovery messages without applying the same security
associations to all ICMPv6 messages.
</t>
<t>
This document discusses new requirements for the home agent and the
mobile node to use the revised IPsec architecture and IKEv2. <xref
target="requirements"/> lists the requirements. Sections <xref
target="manual" format="counter"/> and <xref target="dynamic" format="counter"/> describe the required
Security Policy Database (SPD) and Security Association Database (SAD)
entries.
</t>
<t>
The Internet Key Exchange (IKE) protocol has also been substantially
revised and simplified <xref target="RFC4306"/>. <xref target="ike"/>
of this document describes how IKEv2 can be used to set up security
associations for Mobile IPv6.
</t>
<t>
The use of EAP
within IKEv2 is allowed to authenticate the mobile node to the home agent.
This is described in <xref target="eap"/>. A method for dynamically
configuring a home address from the home agent using the Configuration
Payload in IKEv2 is described in <xref target="hoa_config"/>.
</t>
<t>

</t>
</section>

<!--
   ******** TERMINOLOGY ***********
-->
        <section anchor="term" title="Terminology">
            <t>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 <xref target="RFC2119"/>.</t>
        </section>

<!--
   ********* Stuff from RFC 3776 *********
-->

<?rfc needLines="8"?>
<section anchor="format" title="Packet Formats">
<t>
The mobile node and the home agent MUST support the packet formats as
defined in Section 3 of RFC 3776. 
</t>
<t>
In case the mobile node reverse tunnels all traffic including Mobile
IPv6 signaling messages exchanged between the mobile node and the home
agent, then the Home Address Option is not required to be present in
the messages sent to the home agent. The packet format for the binding
update when sent in the tunnel mode looks as follows.
<figure><artwork>
   IPv6 hdr (source = care-of address,
             destination = home agent)
   ESP header in tunnel mode
   IPv6 hdr (source = home address,
             destination = home agent)
   Mobility Header
      Binding Update
        Alternate Care-of Address option (care-of address)
</artwork></figure>
The binding acknowledgement sent to the mobile node when it is
away from the home link looks as follows.
<figure><artwork>
   IPv6 hdr (source = home agent,
             destination = care-of address)
   ESP header in tunnel mode
   IPv6 hdr (source = home agent,
             destination = home address)
   Mobility Header
      Binding Acknowledgement
</artwork></figure>
The packet formats for tunneled mobile prefix discovery messages are
very similar to the tunneled Binding Update and Binding Acknowledgment
with the with the home address as the source address in the inner
IP header. 
</t>
<t>
The support for the above tunneled packet format is optional on the
mobile node and the home agent.
</t>
</section>

<!--
   ********* REQUIREMENTS *************
-->
<section anchor="requirements" title="Requirements">
<t>This section describes mandatory rules and requirements for all
Mobile IPv6 mobile nodes and home agents so that IPsec, with IKEv2 as
the key management protocol, can be used to protect traffic between
the mobile node and the home agent. Many of the requirements are
repeated from RFC 3776 to make this document self-contained and
complete.
</t>

<!--
   ********* GENERAL REQUIREMENTS *********
-->
<?rfc needLines="5"?>
<section title="General Requirements">
<t>
<list style="symbols">
<t> 
RFC 3775 states that manual configuration of IPsec security
associations MUST be supported, and automated key management MAY be
supported. This document does not make any recommendations regarding
the support of manual IPsec configuration and dynamic IPsec
configuration.  This document just describes the use of manually
created IPsec security associations and the use of IKEv2 as the
automated IPsec key management protocol for protecting Mobile IPv6
signaling messages. </t>
<t> ESP encapsulation for Binding Updates and Binding Acknowledgements
MUST be supported and used.  </t>
<t> ESP encapsulation in tunnel mode for the Home Test Init (HoTi) and Home
Test (HoT) messages tunneled between the mobile node and the home agent MUST
be supported and SHOULD be used.  </t>
<t> ESP encapsulation of the ICMPv6 messages related to mobile prefix
discovery MUST be supported and SHOULD be used. 
</t>
<t> ESP encapsulation of the payload packets tunneled between the
mobile node and the home agent MAY be supported and used.  
</t>
<t> If multicast group membership control protocols or stateful
address autoconfiguration protocols are supported, payload data
protection MUST be supported for those protocols.  
</t>
<t>The home agent and the mobile node MAY support authentication using
EAP in IKEv2 as described in <xref target="eap"/>.
</t>
<t>The home agent and the mobile node MAY support remote configuration
of the home address as described in <xref target="hoa_config"/>. When the
home agent receives a configuration payload with a CFG_REQUEST for
INTERNAL_IP6_ADDRESS, it must reply with a valid home address for the
mobile node. The home agent can pick a home address from a local
database or from a DHCPv6 server on the home link.
</t>
</list>
</t>
</section>

<!--
   ********* POLICY REQUIREMENTS ************
-->
<section title="Policy Requirements">
<t>
The following requirements are related to the configuration of
the security policy database on the home agent and the mobile node.
</t>
<t><list style="symbols">
<t>RFC 3776 required configuration of the security policies per
interface in order to be able to differentiate between mobility header
messages sent to the home agent and those tunneled through the home agent to
the correspondent node. Since the Mobility Header message type is a
selector, it is now easy to differentiate between HoTi and HoT
messages from other mobility header messages. Therefore per-interface
configuration of security policies is not required for protecting
mobility header messages. Note that without per-interface security
policies, payload packet protection is limited to packets
originating/terminating at the home address. Traffic using
a link local address within the Mobile IP tunnel cannot be provided
IPsec protection without per-interface security policies.
</t>
<t>The home agent MUST be able to prevent a mobile node from using its
security association to send a Binding Update on behalf of another
mobile node. With manual IPsec configuration, the home agent MUST be
able to verify that a security association was created for a
particular home address. With dynamic keying, the home agent MUST be
able to verify that the identity presented in the IKE_AUTH exchange is
allowed to create security associations for a particular home address.
</t>
<t>
The home agent uses the Peer Authorization Database (PAD) <xref
target="RFC4301"/> to store per-mobile node state.  More specifically
the per-mobile state stores information that is used to authenticate
the mobile node and the authorization information that ties the mobile
node's identity to the home address of the mobile node. This will
allow the home agent to prevent a mobile node from creating IPsec
security associations for another mobile node's home address.  In case
of dynamic home address assignment, the home agent creates a temporary
PAD entry linking the authenticated peer identity and the newly
allocated home address.
</t>
<t>
As required in the base specification <xref target="RFC3775"/>, when a
packet destined to the receiving node is matched against IPsec
security policy or selectors of a security association, an address
appearing in a Home Address destination option is considered as the
source address of the packet.  
<vspace blankLines="1"/> 
Note that the
home address option appears before IPsec headers.  Section 11.3.2 of
the base specification describes one possible implementation approach
for this: The IPsec policy operations can be performed at the time
when the packet has not yet been modified per Mobile IPv6 rules, or
has been brought back to its normal form after Mobile IPv6 processing.
That is, the processing of the Home Address option is seen as a fixed
transformation of the packets that does not affect IPsec processing.
</t>
<t>
Similarly, a home address within a Type 2 Routing header destined to
the receiving node is considered as the destination address of the
packet, when a packet is matched against IPsec security policy or
selectors of a security association.  
<vspace blankLines="1"/>
Similar implementation considerations apply to the Routing header
processing as was described above for the Home Address destination
option.
</t>
<t>
When the mobile node returns home and de-registers with the Home
Agent, the tunnel between the home agent and the mobile node's care-of
address is torn down.  The security policy entries, which were used
for protecting tunneled traffic between the mobile node and the home
agent, SHOULD be made inactive (for instance, by removing them and
installing them back later through an API).  The corresponding
security associations could be kept as they are or deleted depending
on how they were created.  If the security associations were created
dynamically using IKE, they are automatically deleted when they
expire.  If the security associations were created through manual
configuration, they MUST be retained and used later when the mobile
node moves away from home again.  The security associations protecting
Binding Updates, Binding Acknowledgements and Mobile Prefix Discovery 
messages SHOULD NOT be deleted as they do not depend on care-of 
addresses and can be used again.  
</t> 
<t>
The mobile node MUST use the Home Address destination option in
Binding Updates and Mobile Prefix Solicitations when transport mode
IPsec protection is used, so that the home address is visible when the
IPsec policy checks are made.
</t>
<t>
The home agent MUST use the Type 2 Routing header in Binding
Acknowledgements and Mobile Prefix Advertisements sent to the mobile
node when transport mode IPsec protection is used, again due to the
need to have the home address visible when the policy checks are made.
</t>
</list></t>
</section>

<!--
   ********* IPSEC PROTOCOL PROCESSING REQUIREMENTS ****************
-->
<section anchor="ipsec_req" title="IPsec Protocol Processing Requirements">
<t>
The following lists requirements for IPsec processing at the Home
Agent and the mobile node.
</t>
<t>
<list style="symbols">
<t>The home agent and mobile node SHOULD support Mobility Header message
type as an IPsec selector.
</t>
<t>The home agent and mobile node SHOULD support ICMPv6 message type as
an IPsec selector.  
</t>
<t>The home agent MUST be able to distinguish between HoTi messages
sent to itself (when it is acting as a Correspondent Node) and those
sent to Correspondent Nodes (when it is acting as a home agent) based
on the destination address of the packet.</t>
<t>
When securing Binding Updates, Binding Acknowledgements, and Mobile
Prefix Discovery messages, both the mobile node and the home agent
MUST support the use of the Encapsulating Security Payload (ESP) <xref
target="RFC4303"/> header in transport mode and MUST use a non-null
payload authentication algorithm to provide data origin
authentication, connectionless integrity, and optional anti-replay
protection.  The use of sequence number in the ESP header to provide
anti-replay protection is optional because the sequence numbers in the
Binding Updates provide anti-replay protection.  However, the
anti-replay protection fails if the home agent loses the binding
cache state, for example, due to a reboot.  Since the IPsec security
association state can also be assumed to be lost, ESP cannot
provide anti-replay protection in this case.  Complete anti-replay
protection can only be provided by the use of a dynamic keying
mechanism, like IKEv2.
<vspace blankLines="1"/>
Support for protecting these messages using ESP in tunnel
mode is optional.  </t>
<t>
Tunnel mode IPsec ESP MUST be supported and SHOULD be used for the
protection of packets belonging to the return routability procedure.
A non-null encryption transform and a non-null authentication
algorithm MUST be applied.  
</t>
<t>
When ESP is used to protect Binding Updates, there is no protection
for the care-of address that appears in the IPv6 header outside the
area protected by ESP.  It is important for the home agent to verify
that the care-of address has not been tampered with.  As a result, the
attacker would have redirected the mobile node's traffic to another
address.  In order to prevent this, Mobile IPv6 implementations MUST
use the Alternate Care-of Address mobility option in Binding Updates
sent by mobile nodes while away from home.  The exception to this is
when the mobile node returns home and sends a Binding Update to the
home agent in order to de-register.  
<vspace blankLines="1"/>
When IPsec is used to protect return routability signaling or payload
packets, the mobile node MUST set the source address it uses for the
outgoing tunnel packets to the current primary care&nbhy;of address.
</t>
<t>
When IPsec is used to protect return routability signaling or payload
packets, IPsec security associations are needed to provide this
protection.  When the care-of address for the mobile node changes as a
result of an accepted Binding Update, special treatment is needed for
the next packets sent using these security associations.  The home
agent MUST set the new care-of address as the destination address of
these packets, as if the outer header destination address in the
security association had changed.  Similarly, the home agent starts to
expect the new source address in the tunnel packets received from the
mobile node.  
<vspace blankLines="1"/> 
Such address changes can be implemented, for instance, through an API
from the Mobile IPv6 implementation to the IPsec implementation.  One
such API is described in <xref
target="I-D.sugimoto-mip6-pfkey-migrate"/>. It should be noted that
the use of such an API and the address changes MUST only be done based
on the Binding Updates received by the home agent and protected by the
use of IPsec.  Address modifications based on other sources, such as
Binding Updates to the correspondent nodes protected by return
routability, or open access to an API from any application may result
in security vulnerabilities.
</t>
</list>
</t>
</section>

<!--
   ********* DYNAMIC KEYING REQUIREMENTS ***********
-->
<section title="Dynamic Keying Requirements">
<t>
The following requirements are related to the use of a dynamic key
management protocol by the mobile node and the home agent. <xref
target="ike"/> describes the use of IKEv2 as the dynamic key
management protocol.
</t>
<t>
<list style="symbols">
<t>The mobile node MUST use its care-of address as source address in 
protocol exchanges, when using dynamic keying. 
</t>
<t>
The mobile node and the home agent MUST create security associations
based on the home address, so that the security associations survive
changes in care-of address. When using IKEv2 as the key exchange
protocol, the home address should be carried as the initiator IP
address in the TSi payload during the CREATE_CHILD_SA exchange <xref
target="RFC4306"/>.  </t>
<t>
If the mobile node has used IKEv2 to establish security associations
with its home agent, it should follow the procedures discussed in
Sections 11.7.1 and 11.7.3 of the base specification <xref
target="RFC3775"/> to determine whether the IKE endpoints can be moved
or if the SAs, including the IKEv2 SA, have to be re-established. <vspace
blankLines="1"/></t>
<t>
If the home agent has used IKEv2 to establish security associations
with the mobile node, it should follow the procedures discussed in
Section 10.3.1 and 10.3.2 of the base specification <xref
target="RFC3775"/> to determine whether the IKE endpoints can be moved
or if the SAs, including the IKEv2 SA, have to be re-established.
</t>
</list>
</t>
</section>
</section>

<!--
   ******** SELECTOR GRANULARITY CONSIDERATIONS ********
-->
<section title="Selector Granularity Considerations">
<t>
IPsec implementations are compatible with this document even if they
do not support fine-grain selectors such as the Mobility Header
message type and ICMPv6 message type. Note that such IPsec
implementations are not compliant with RFC 4301 <xref
target="RFC4301"/>.  For various reasons, some implementations may
choose to support only coarse-grain selectors (i.e., addresses and in
some cases the protocol field) for forwarded traffic. As finer-grain
selectors give better control, i.e., the protection is only applied
when required, the examples in this document always use the finest
granularity.
<!-- [rfced] Is "this document" correct above? -->
<!-- [vijay] We refer to "This document" in the "Status of This 
Memo" section. "in this memo" is fine with me too. -->
</t>
<t>
The following describes different ways of setting up IPsec policies
for protecting Mobile IPv6 messages:
</t>
<t>
<list style="numbers">
<t> 
The IPsec implementations on the mobile node and the home agent
support fine-grain selectors, including the Mobility Header message
type. This is the case assumed in the IPsec SPD and SAD examples in
this document.
</t>
<t>
The IPsec implementations only support selectors at a protocol level.
Such an IPsec implementation can only identify
mobility header traffic and cannot identify the individual mobility
header messages. In this case, the protection of Return Routability
Messages uses a setup similar to the regular payload packets sent to the
correspondent node with the protocol selector set to Mobility Header. 
All tunneled Mobility Header messages will be protected.
</t>
<t>
The third case is where the protocol selector is not available in the
IPsec implementation. In this case, all traffic sent by the mobile node
that is reverse tunneled through the home agent is protected using ESP in
tunnel mode. This case is also applicable when the mobile node, due to
privacy considerations, tunnels all traffic to the home agent. This
includes Mobile IPv6 signaling messages exchanged between the mobile
node and the home agent and all traffic exchanged between the mobile
node and the correspondent node. This case uses IPsec tunnel mode SA
with the protocol selector set to 'any'.
</t>
</list>
</t>
<t>
The third case where all tunneled traffic is protected introduces some
additional considerations: 
</t>
<t><list style="symbols">
<t>
If there is just one IPsec SA providing protection for all traffic,
then the SA MUST fulfill the requirements for protecting the Return
Routability messages which require confidentiality protection. If the
third case is being used for privacy considerations, then there can
also be separate tunnel mode SPD entries for protecting the Return
Routability messages with a higher priority in the SPD so that the
SPD entry with the higher priority gets applied first.
</t>
<t>
The receipt of a Binding Update from the new care-of address updates
the tunnel endpoint of the IPsec SA as described in <xref
target="ipsec_req"/>.  Since the Binding Update that updates the
tunnel endpoint is received through the same tunnel interface that
needs to be updated, special care should be taken on the home agent to
ensure that the Binding Update is not dropped. This can be achieved either
by performing the source address check on the outer IPv6 header
after the binding update is processed or by having exception handling to
check the inner packet for a Binding Update when the source address
match on the outer source address fails. Typical IPsec processing does
not check the outer source address when the originator of the packet
has already been authenticated.
</t>
</list></t>
</section>

<!--
   ******** MANUAL CONFIGURATION ***********
-->

<section anchor="manual" title="Manual Configuration">
<t>
This section describes the SPD and SAD entries that can be used to
protect Mobile IPv6 signaling messages. The SPD and SAD entries are
only example configurations. A particular mobile node implementation
and a home agent implementation could configure different SPD and SAD
entries as long as they provide the required security of the Mobile
IPv6 signaling messages.
</t>
<t>
For the examples described in this document, a mobile node with home
address, "home_address_1", primary care-of address,
"care_of_address_1", a home agent with address, "home_agent_1" and a
user of the mobile node with identity "user_1" are assumed.  If the
home address of the mobile node changes, the SPD and SAD entries need
to be re-created or updated for the new home address.
</t>
<t>
The Peer Authorization Database is not used when manual IPsec
configuration is used for setting up security associations for
protecting Mobile IPv6 signaling messages.
</t>

<?rfc needLines="12"?>
<section title="Binding Updates and Acknowledgements">
<t>
The following are the SPD and SAD entries on the mobile node and the
home agent to protect Binding Updates and Acknowledgements.
</t>
<figure><artwork>
     mobile node SPD-S:
       - IF local_address = home_address_1 &amp; 
            remote_address = home_agent_1 &amp; proto = MH &amp; 
            local_mh_type = BU &amp; remote_mh_type = BAck
         Then use SA SA1 (OUT) and SA2 (IN)

     mobile node SAD:
       - SA1(OUT, spi_a, home_agent_1, ESP, TRANSPORT):
         local_address = home_address_1 &amp; 
         remote_address = home_agent_1 &amp; 
         proto = MH &amp; mh_type = BU
       - SA2(IN, spi_b, home_address_1, ESP, TRANSPORT):
         local_address = home_agent_1 &amp; 
         remote_address = home_address_1 &amp;
         proto = MH &amp; mh_type = BAck

     home agent SPD-S:
       - IF local_address = home_agent_1 &amp; 
            remote_address = home_address_1 &amp; proto = MH &amp; 
            local_mh_type = BAck &amp; remote_mh_type = BU
         Then use SA SA2 (OUT) and SA1 (IN)

     home agent SAD:
       - SA2(OUT, spi_b, home_address_1, ESP, TRANSPORT):
         local_address = home_agent_1 &amp; 
         remote_address = home_address_1 &amp;
         proto = MH &amp; mh_type = BAck
       - SA1(IN, spi_a, home_agent_1, ESP, TRANSPORT):
         local_address = home_address_1 &amp; 
         remote_address = home_agent_1 &amp;
         proto = MH &amp; mh_type = BU
</artwork></figure>
</section>

<?rfc needLines="12"?>
<section title="Return Routability Messages">
<t>
The following are the SPD and SAD entries on the mobile node and the
home agent to protect Return Routability messages.
</t>
<figure><artwork>
     mobile node SPD-S:
       - IF local_address = home_address_1 &amp; remote_address = any &amp;
         proto = MH &amp; local_mh_type = HoTi &amp; remote_mh_type = HoT
         Then use SA SA3 (OUT) and SA4 (IN)

     mobile node SAD:
       - SA3(OUT, spi_c, home_agent_1, ESP, TUNNEL):
         local_address = home_address_1 &amp; remote_address = any &amp; 
         proto = MH &amp; mh_type = HoTi
       - SA4(IN, spi_d, care_of_address_1, ESP, TUNNEL):
         local_address = any &amp; remote_address = home_address_1 &amp; 
         proto = MH &amp; mh_type = HoT

     home agent SPD-S:
       - IF remote_address = home_address_1 &amp; local_address = any &amp; 
         proto = MH &amp; local_mh_type = HoT &amp; remote_mh_type = HoTi
         Then use SA SA4 (OUT) and SA3 (IN)

     home agent SAD:
       - SA4(OUT, spi_d, care_of_address_1, ESP, TUNNEL):
         local_address = any &amp; remote_address = home_address_1 &amp; 
         proto = MH &amp; mh_type = HoT
       - SA3(IN, spi_c, home_agent_1, ESP, TUNNEL):
         local_address = home_address_1 &amp; remote_address = any &amp; 
         proto = MH &amp; mh_type = HoTi
</artwork></figure>
</section>

<?rfc needLines="20"?>
<section title="Mobile Prefix Discovery Messages">
<t>
The following are the SPD and SAD entries used to protect Mobile Prefix
Discovery messages.
</t>
<figure><artwork>
     mobile node SPD-S:
       - IF local_address = home_address_1 &amp; 
            remote_address = home_agent_1 &amp; proto = ICMPv6 &amp; 
            local_icmp6_type = MPS &amp; remote_icmp6_type = MPA
         Then use SA SA5 (OUT) and SA6 (IN)

     mobile node SAD:
       - SA5(OUT, spi_e, home_agent_1, ESP, TRANSPORT):
         local_address = home_address_1 &amp; 
         remote_address = home_agent_1 &amp;
         proto = ICMPv6 &amp; icmp6_type = MPS
       - SA6(IN, spi_f, home_address_1, ESP, TRANSPORT):
         local_address = home_agent_1 &amp; 
         remote_address = home_address_1 &amp;
         proto = ICMPv6 &amp; icmp6_type = MPA

     home agent SPD-S:
       - IF local_address = home_agent_1 &amp; 
            remote_address = home_address_1 &amp; proto = ICMPv6 &amp; 
            local_icmp6_type = MPA &amp; remote_icmp6_type = MPS
         Then use SA SA6 (OUT) and SA5 (IN)

     home agent SAD:
       - SA6(OUT, spi_f, home_address_1, ESP, TRANSPORT):
         local_address = home_agent_1 &amp; 
         remote_address = home_address_1 &amp;
         proto = ICMPv6 &amp; icmp6_type = MPA
       - SA5(IN, spi_e, home_agent_1, ESP, TRANSPORT):
         local_address = home_address_1 &amp; 
         remote_address = home_agent_1 &amp;
         proto = ICMPv6 &amp; icmp6_type = MPS
</artwork>
</figure>
</section>
<section title="Payload Packets">
<t>
Regular payload traffic between the mobile node and the correspondent
node tunneled through the home agent can be protected by IPsec, if
required. The mobile node and the home agent use ESP in tunnel mode to
protect the tunneled traffic. The SPD and SAD entries shown in Section
5.2.4 of <xref target="RFC3776"/> are applicable here.
</t>
</section>
</section>

<!--
   ******** DYNAMIC CONFIGURATION ***********
-->
<?rfc needLines="10"?>
<section anchor="dynamic" title="Dynamic Configuration">
<t>
This section describes the use of IKEv2 to set up the required security
associations.
</t>
<section anchor="dynamic_pad" title="Peer Authorization Database Entries">
<t>
The following describes PAD entries on the mobile node and the home
agent. The PAD entries are only example configurations. Note that the
PAD is a logical concept; a particular mobile node and a home agent
can implement the PAD in an implementation-specific manner. 
The PAD state may also be distributed across various
databases in a specific implementation.
</t>
<figure><artwork>
    mobile node PAD:
      - IF remote_identity = home_agent_identity_1
           Then authenticate (shared secret/certificate/)
           and authorize CHILD_SA for remote address home_agent_1

    home agent PAD:
      - IF remote_identity = user_1
           Then authenticate (shared secret/certificate/EAP)
           and authorize CHILD_SAs for remote address home_address_1
</artwork></figure>
<t>
The list of authentication mechanisms in the above examples is not
exhaustive.  There could be other credentials used for authentication
stored in the PAD.
</t>
<t>
In case of dynamic home address assignment, the home agent creates a
temporary PAD entry linking the authenticated peer identity and the
newly allocated home address.
</t>
</section>
<section anchor="dynamic_spd" title="Security Policy Database Entries">
<t>
The following sections describe the security policy entries on the
mobile node and the home agent. The SPD entries are only example
configurations.  A particular mobile node implementation and a Home
Agent implementation could configure different SPD entries as long as
they provide the required security of the Mobile IPv6 signaling
messages. 
</t>
<t>
In the examples shown below, the identity of the user of the mobile
node is assumed to be user_1, the home address of the mobile node is
assumed to be home_address_1, the primary care-of address of the
mobile node is assumed to be care_of_address_1, and the IPv6 address of
the Home Agent is assumed to be home_agent_1.
</t>

<?rfc needLines="10"?>
<section title="Binding Updates and Acknowledgements">
<t>
The following are the SPD entries on the mobile node and the home agent
for protecting Binding Updates and Acknowledgements. 
</t>
<figure><artwork>
    mobile node SPD-S:
      - IF local_address = home_address_1 &amp; 
           remote_address = home_agent_1 &amp; 
           proto = MH &amp; local_mh_type = BU &amp; remote_mh_type = BAck
        Then use SA ESP transport mode
        Initiate using IDi = user_1 to address home_agent_1

    home agent SPD-S:
      - IF local_address = home_agent_1 &amp; 
           remote_address = home_address_1 &amp; 
           proto = MH &amp; local_mh_type = BAck &amp; remote_mh_type = BU
        Then use SA ESP transport mode
</artwork></figure>
<t>
In the examples shown above, the home address of the mobile node might
not be available all the time.  For instance, the mobile node might
not have configured a home address yet.  When the mobile node acquires
a new home address, it must either add the address to the
corresponding SPD entries or create the SPD entries for the home
address.
</t>
<t>
The home agent should have named SPD entries per mobile node, based on
the identity of the mobile node.  The identity of the mobile node is
stored in the "Name" selector in the SPD <xref target="RFC4301"/>.
The home address presented by the mobile node during the IKE
negotiation is stored as the remote IP address in the resultant IPsec
security associations.  If the mobile node dynamically configures a
home agent and the home address, the home agent may not know which
mobile nodes it is supposed to be serving.  Therefore, the home agent
cannot have SPD entries configured per mobile node.  Instead, the home
agent should have generic SPD entries to prevent mobility header
traffic that requires IPsec protection from bypassing the IPsec
filters.  Once a mobile node authenticates to the home agent and
configures a home address, appropriate SPD entries are created for the
mobile node.
</t>
<t>

The Mobility Header message type is negotiated by placing it in the
most significant eight bits of the 16-bit local "port" selector during
IKEv2 exchange.  For more details, refer to <xref
target="RFC4301"/>. The TSi and TSr payloads in the
above examples will contain many other selectors apart from
home_address_1. For the sake of brevity, we show only those values
that are relevant for Mobile IPv6.

</t>
</section>

<?rfc needLines="10"?>
<section title="Return Routability Messages">
<t>
The following are the SPD entries on the mobile node and the home agent
for protecting the Return Routability messages.
</t>
<figure><artwork>
    mobile node SPD-S:
      - IF local_address = home_address_1 &amp; remote_address = any &amp; 
           proto = MH &amp; local_mh_type = HoTi &amp; remote_mh_type = HoT
        Then use SA ESP tunnel mode
        Initiate using IDi = user_1 to address home_agent_1

    home agent SPD-S:
      - IF local_address = any &amp; remote_address = home_address_1 &amp; 
           proto = MH &amp; local_mh_type = HoT &amp; remote_mh_type = HoTi
        Then use SA ESP tunnel mode
</artwork></figure>
<t>
When the mobile node's care-of address changes, the SPD entries on both
the mobile node and the home agent must be updated.  The home agent 
knows about the change in care-of address of the mobile node when it
receives a Binding Update from the mobile node.
</t>
</section>
<section title="Mobile Prefix Discovery Messages">
<t>
The following are the SPD entries on the mobile node and the home agent
for protecting Mobile Prefix Discovery messages.
</t>
<figure><artwork>
    mobile node SPD-S:
      - IF local_address = home_address_1 &amp; 
           remote_address = home_agent_1 &amp; 
           proto = ICMPv6 &amp; local_icmp6_type = MPS &amp; 
           remote_icmp6_type = MPA
        Then use SA ESP transport mode
        Initiate using IDi = user_1 to address home_agent_1

     home agent SPD-S:
      - IF local_address = home_agent_1 &amp; 
           remote_address = home_address_1 &amp; 
           proto = ICMPv6 &amp; local_icmp6_type = MPA &amp; 
           remote_icmp6_type = MPS
        Then use SA ESP transport mode
 </artwork></figure>
<t>
In the examples shown above, the home address of the mobile node might
not be available all the time.  When the mobile node acquires a new
home address, it must add the address to the corresponding SPD
entries.
</t>

<?rfc needLines="4"?>
<t>
The TSi and TSr payloads in the above examples will contain many other
selectors apart from home_address_1. For brevity, they are not shown here.
</t>
</section>

<section title="Payload Packets">
<t>
The following are the SPD entries on the mobile node and the home agent
if payload traffic exchanged between the mobile node and its Correspondent
Node needs to be protected.  The SPD entries are similar to the entries
for protecting Return Routability messages and have lower priority
than the above SPD entries.
</t>
<figure><artwork>
    mobile node SPD-S:
      - IF interface = IPv6 tunnel to home_agent_1 &amp; 
        source = home_address_1 &amp; destination = any &amp; proto = X
        Then use SA ESP tunnel mode
        Initiate using IDi = user_1 to address home_agent_1

    home agent SPD-S:
      - IF interface = IPv6 tunnel to home_address_1 &amp; 
        source = any &amp; destination = home_address_1 &amp; proto = X
        Then use SA ESP tunnel mode
</artwork></figure>
</section>
</section>
<!--
   ******** USE OF IKEV2 *********
-->
<section anchor="ike" title="Security Association Negotiation Using IKEv2">
<t>
Mobile IPv6 signaling messages are typically initiated by the mobile node.
The mobile node sends a Binding Update to the home agent whenever it moves
and acquires a new care-of address.
</t>
<t>

The mobile node initiates an IKEv2 protocol exchange if the required
security associations are not present. A possible mechanism used for
mutual authentication is a shared secret between the mobile node and
the home agent. The home agent uses the identity of the mobile node to
identify the corresponding shared secret. When a public-key-based
mechanism is available, it should be the preferred mechanism for
mutual authentication. 
</t>
<t>
If a shared secret is being used, the mobile node uses the shared
secret to generate the AUTH payload in the IKE_AUTH exchange. If the
mobile node is using a public-key-based mechanism, then it uses its
private key to generate the AUTH payload in the IKE_AUTH exchange.
</t>


<figure><artwork>
     Mobile Node                      Home Agent
     -----------                      ----------
     HDR, SAi1, KEi, Ni      -->

                            &lt;--      HDR, SAr1, KEr, Nr, [CERTREQ]

     HDR, SK {IDi, [CERT,] [CERTREQ,] [IDr,]
              AUTH, SAi2, TSi, TSr}
                             -->

                            &lt;--      HDR, SK {IDr, [CERT,] AUTH,
                                               SAr2, TSi, TSr}
</artwork></figure>

<t>
The mobile node always includes its identity in the IDi payload
in the IKE_AUTH exchange. The mobile node could use the following
different types of identities to identify itself to the home agent.
</t>
<t>
<list style="symbols">
<t>Home Address - The mobile node could use its statically configured 
home address as its identity.  In this case the ID Type field is set 
to ID_IPV6_ADDR.</t>
<t>FQDN - The mobile node can use a Fully Qualified Domain Name as the
identifier and set the ID Type field to ID_FQDN.</t>
<t>RFC 822 identifier - If the mobile node uses a RFC 822 identifier 
<xref target="RFC0822"/>, it sets the ID Type field to ID_RFC822_ADDR. </t>
</list>
</t>
<t>The above list of identities is not exhaustive.</t>
<t>
In the IKE_AUTH exchange, the mobile node includes the home address
and the appropriate selectors in the TSi (Traffic Selector-initiator)
payload to negotiate IPsec security associations for protecting the
Binding Update and Binding Acknowledgement messages. The mobile node
MAY use a range of selectors that includes the mobility message types
for Binding Update and Binding Acknowledgement to use the same pair of
IPsec security associations for both messages.
</t>
<t>
After the IKE_AUTH exchange completes, the mobile node initiates
CREATE_CHILD_SA exchanges to negotiate additional security
associations for protecting Return Routability signaling, Mobile
Prefix Discovery messages, and (optionally) payload traffic. The
CREATE_CHILD_SA exchanges are protected by IKEv2 security associations
created during the IKE_SA_INIT exchange. If a correspondent node, that
is also a mobile node, initiates the return routability exchange, then
the home agent initiates the CREATE_CHILD_SA exchange to negotiate
security associations for protecting Return Routabilty messages.
</t>
<t>
It is important that the security associations are created based on
the home address of the mobile node, so that the security associations
survive care-of address change. The mobile node MUST use its home
address as the initiator IP address in the TSi payload in the
CREATE_CHILD_SA exchange in order to create the IPsec security
associations for the home address.
</t>
<figure><artwork>
     Mobile Node                      Home Agent
     -----------                      ----------
     HDR, SK {[N], SA, Ni, [KEi],
              [TSi, TSr]}    -->

                             &lt;--      HDR, SK {SA, Nr, [KEr],
                                               [TSi, TSr]}
</artwork></figure>
<t>
When PKI-based authentication is used between the mobile node and the Home 
Agent, the identity presented by the mobile node in the IDi payload
MUST correspond to the identity in the certificate obtained by the Home
Agent. The home agent uses the identity presented in the IDi payload to
lookup the policy and the certificate that corresponds to the mobile node.
If the mobile node presents its home address in the IDi payload, then
the home agent MUST verify that the home address matches the address
in an iPAddress field in the SubjectAltName extension 
<xref target="I-D.ietf-pki4ipsec-ikecert-profile"/>.
</t>
<t>
When the mobile node uses its home address in the IDi field,
implementations are not required to match the source address in the
outermost IP header with the IP address in the IDi field.  According
to RFC 4306 <xref target="RFC4306"/>, the IP header fields in the
IKEv2 messages are ignored and used only in the IP headers for IKEv2
messages sent as replies.
</t>
</section>
<section title="Movements and Dynamic Keying">
<t>
If the mobile node moves and its care-of address changes, the IKEv2 SA
might not be valid. RFC 3775 defines a mechanism based on the
successful exchange of Binding Update and Binding Acknowledgement
messages. The mobile node establishes the IKE SA with the home agent
using its primary care-of address. The IKE SA endpoints are updated on
the home agent when it receives the Binding Update from the mobile
node's new care-of address and on the mobile node when it sends the
Binding Update to the home agent or when it receives the Binding
acknowledgement sent by the home agent. This capability to change IKE
endpoints is indicated through setting the Key Management Capability
(K) flag <xref target="RFC3775"/> in the Binding Update and Binding
Acknowledgement messages. If the mobile node or the home agent does
<?rfc needLines="3"?>
not support this capability, and has no other means to update the
addresses, then an IKEv2 exchange MUST be initiated to re-establish a
new IKE SA.
</t>
</section>
</section>

<!--
   ******** USE OF EAP *********
-->
<section anchor="eap" title="The Use of EAP Authentication">
<t>In addition to using public key signatures and shared secrets, EAP
<xref target="RFC3748"/> can be used with IKEv2 for authenticating the 
mobile node to the home agent.</t>
<t>The mobile node indicates that it wants to use EAP by including
the IDi payload but leaving out the AUTH payload in the first message
during the IKE_AUTH exchange. The home agent then includes an EAP payload
if it is willing to use an extensible authentication method. Security
associations are not created until the subsequent IKE_AUTH exchange
after successful EAP authentication.  The use of EAP adds at least two
round trips to the IKE negotiation.  The number of round trips depends
on the EAP method used.</t>
<figure><artwork>
     Mobile Node                     Home Agent
     ------------                    ----------
     HDR, SAi1, KEi, Ni      -->

                             &lt;--     HDR, SAr1, KEr, Nr, [CERTREQ]

     HDR, SK {IDi, [CERTREQ,] [IDr,]
              SAi2, TSi, TSr}-->

                             &lt;--     HDR, SK {IDr, [CERT,] AUTH,
                                              EAP }
                              .
                              .
                              .

     HDR, SK {EAP}           -->

                             &lt;--     HDR, SK {EAP (success)}

     HDR, SK {AUTH}          -->

                             &lt;--     HDR, SK {AUTH, SAr2, TSi, 
                                              TSr} 
</artwork></figure>
<t>
When EAP is used, the identity presented by the mobile node in the IDi
field may not be the actual identity of the mobile node. It could be
set to an identity that is used only for  Authentication, Authorization, and Accounting (AAA) routing purposes and
selecting the right EAP method. It is possible that the actual
identity is carried inside EAP, invisible to the home agent. While
IKEv2 does not allow an EAP Identity Request/Response message
exchange, EAP methods may exchange identities within themselves. In
this case, the home agent MUST acquire the mobile node's identity from
the corresponding AAA server. How the home agent acquires the mobile
node's identity is out of scope for this document.
</t>
<t>
Some EAP methods, when used with IKEv2, generate a shared key on the
mobile node and the Home Agent once the EAP authentication
succeeds. This shared key is used to generate the AUTH payloads in the
subsequent IKEv2 messages. The shared key, if used to generate the
AUTH payloads, MUST NOT be used for any other purpose. For more
details, refer to <xref target="RFC4306"/>.
</t>
<t>
The use of EAP between the mobile node and the home agent might require
the home agent to contact an authorization server like the AAA Home
server, on the 
home link, to authenticate the mobile node. Please refer to <xref
target ="I-D.ietf-mip6-aaa-ha-goals"/> for more details.
</t>

</section>

<!--
   ******** HOME ADDRESS CONFIGURATION *********
-->

<section anchor="hoa_config" title="Dynamic Home Address Configuration">
<t>
The mobile node can dynamically configure a home address by including
a Configuration Payload in the IKE_AUTH exchange, with a request for
an address from the home link. The mobile node should include a
zero-length INTERNAL_IP6_ADDRESS attribute in the CFG_REQUEST Payload.
The mobile node MAY include multiple instances of the
INTERNAL_IP6_ADDRESS to request multiple home address to the assigned
by the home agent.
</t>
<t>
When the home agent receives a configuration payload with a
CFG_REQUEST for INTERNAL_IP6_ADDRESS, it replies with a valid home
address for the mobile node. The INTERNAL_IP6_ADDRESS attribute in the
CFG_REPLY contains the prefix length of the home prefix in addition to
a 128 bit home address. The home agent could use a local database or
contact a DHCPv6 server on the home link to allocate a home
address. The duration for which the home address is allocated to the
mobile node is the same as the duration for which an IKEv2 security
association exists between the mobile node and the home agent.  If the
IKEv2 security association is rekeyed, the home address lifetime is
also extended.
</t>
<figure><artwork>
     Mobile Node                        Home Agent
     -----------                        ----------
     HDR, SK {IDi, [CERT,] [CERTREQ,]
              [IDr,] AUTH, CP(CFG_REQUEST),
              SAi2, TSi, TSr} 
                              -->

                              &lt;--   HDR, SK {IDr, [CERT,] AUTH,
                                             CP(CFG_REPLY), SAr2,
                                             TSi, TSr}
</artwork></figure>
<t>
The mobile node could suggest a home address that it wants to use
in the CFG_REQUEST.  
For example, this could be a home address that was allocated for
the mobile node before or an address that the mobile node 
auto-configured from the IPv6 prefix on the home link.
The Home
Agent could let the mobile node use the same home address by setting
the INTERNAL_IP6_ADDRESS attribute in the CFG_REPLY payload to the
same home address. If the home agent wants the mobile node to use 
a different home address, it sends a new home address in the
INTERNAL_IP6_ADDRESS attribute in the CFG_REPLY payload. The Mobile
Node MUST stop using its old home address and start using the newly
allocated home address.
</t>
<t>

In case the home agent is unable to allocate a home address for the
mobile node during the IKE_AUTH exchange, it MUST send a Notify
Payload with an INTERNAL_ADDRESS_FAILURE message.  When the mobile
node receives a Notify Payload with an INTERNAL_ADDRESS_FAILURE
message, it SHOULD terminate the IKE_AUTH exchange.  The mobile node
then should initiate a new IKE_SA_INIT and IKE_AUTH exchange and try
to auto-configure a home address as described in <xref
target="I-D.ietf-mip6-bootstrapping-split"/>.  The mobile node MAY
also switch to another home agent. The new home agent address can be
obtained by consulting a home agent list received during a previous
home agent discovery phase or, if such list is empty or not available,
by attempting a new home agent discovery.
</t>
<t>
If the mobile node wants to configure a DNS server from the home link,
it can request the DNS server information by including an
INTERNAL_IP6_DNS attribute in the CFG_REQUEST payload.
</t>
</section>
<!--
   ******** SECURITY CONSIDERATIONS *********
-->
<section title="Security Considerations">
<t>
This document describes how IPsec can be used to secure Mobile IPv6
signaling messages. Please refer to RFC 3775 <xref target="RFC3775"/> for security
considerations related to the use of IPsec with Mobile IPv6.
</t>
<t>
A misbehaving mobile node could create IPsec security associations for
a home address that belongs to another mobile node. Therefore, the
home agent should check if a particular mobile node is authorized to
use a home address before creating IPsec security associations for the
home address. If the home address is assigned as described in <xref
target="hoa_config"/>, the home agent MUST associate the home address
with the identity used in IKE negotiation. The home agent MAY store
the assigned home address in the SPD entries created for the mobile
node.
</t>
<t>
The use of EAP for authenticating the mobile node to the home agent is
described in <xref target="eap"/>.  Security considerations related
to the use of EAP with IKEv2 are described in <xref
target="RFC4306"/>.
</t> 
</section>

<section title="Acknowledgements">
<t>The authors would like to thank Mika Joutsenvirta, Pasi Eronen,
Jari Arkko, Gerardo Giaretta, Shinta Sugimoto, Tero Kivinen, Steve
Bellovin, Kilian Weniger, and Vijay Gurbani for reviewing the
document.</t>
<t>
Many of the requirements listed in <xref target="requirements"/> are
copied from RFC 3776. Therefore, the authors of RFC 3776 are
acknowledged.
</t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.2119" ?>
<?rfc include="reference.RFC.3775" ?>
<?rfc include="reference.RFC.3776" ?>
<?rfc include="reference.RFC.4306" ?>
<?rfc include="reference.RFC.4301" ?>
<?rfc include="reference.RFC.4303" ?>
</references>

<references title="Informative References">


<reference anchor="I-D.ietf-mip6-aaa-ha-goals">
<front>
<title>AAA Goals for Mobile IPv6</title>

<author initials="G" surname="Giaretta" fullname="Gerardo Giaretta">
    <organization/>
</author>

<date month="September" day="12" year="2006"/>

<abstract><t>In commercial deployments Mobile IPv6 can be a service offered by a Mobility Services Provider (MSP). In this case all protocol operations may need to be explicitly authorized and traced, requiring the interaction between Mobile IPv6 and the AAA infrastructure. Integrating the AAA infrastructure offers also a solution component for Mobile IPv6 bootstrapping in integrated and split scenarios. This document describes various scenarios where a AAA interface for Mobile IPv6 is actually required. Additionally, it lists design goals and requirements for such an interface.</t></abstract>

</front>

<seriesInfo name="Work" value="in Progress"/>
<format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-mip6-aaa-ha-goals-03.txt"/>
</reference>

<reference anchor="I-D.ietf-pki4ipsec-ikecert-profile">
<front>
<title>The Internet IP Security PKI Profile of IKEv1/ISAKMP, IKEv2, and PKIX</title>

<author initials="B" surname="Korver" fullname="Brian Korver">
    <organization/>
</author>

<date month="February" day="23" year="2007"/>

<abstract><t>IKE and PKIX certificate profile both provide frameworks that must be profiled for use in a given application. This document provides a profile of IKE and PKIX that defines the requirements for using PKI technology in the context of IKE/IPsec. The document complements protocol specifications such as IKEv1 and IKEv2, which assume the existence of public key certificates and related keying materials, but which do not address PKI issues explicitly. This document addresses those issues. The intended audience is implementors of PKI for IPsec.</t></abstract>

</front>

<seriesInfo name="Work" value="in Progress"/>
<format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-pki4ipsec-ikecert-profile-12.txt"/>
</reference>
<?rfc linefile="1216:/tmp/CGI90083.1"?>
<?rfc?><?rfc linefile="1:reference.RFC.0822"?>

<reference anchor="RFC0822">

<front>
<title abbrev="Standard for ARPA Internet Text Messages">Standard for the format of ARPA Internet text messages</title>
<author initials="D.H." surname="Crocker" fullname="David H. Crocker">
<organization>University of Delaware, Dept. of Electrical Engineering</organization>
<address>
<postal>
<street/>
<city>Newark</city>
<region>DE</region>
<code>19711</code>
<country>US</country></postal>
<email>DCrocker@UDel-Relay</email></address></author>
<date year="1982" day="13" month="August"/></front>

<seriesInfo name="STD" value="11"/>
<seriesInfo name="RFC" value="822"/>
<format type="TXT" octets="109200" target="ftp://ftp.isi.edu/in-notes/rfc822.txt"/>
</reference>
<?rfc linefile="1217:/tmp/CGI90083.1"?>
<?rfc?><?rfc linefile="1:reference.RFC.3748"?>



<?rfc include="reference.RFC.3748"?>
<?rfc include="reference.RFC.2401" ?>


<reference anchor="I-D.sugimoto-mip6-pfkey-migrate">
<front>
<title>PF_KEY Extension as an Interface between Mobile IPv6 and IPsec/IKE</title>

<author initials="S" surname="Sugimoto" fullname="Shinta  Sugimoto">
    <organization/>
</author>

<date month="September" day="24" year="2006"/>

<abstract><t>This document describes the need for an interface between Mobile IPv6 and IPsec/IKE and show how the two protocols can interwork. We propose a set of extensions to the PF_KEY framework which allows smooth and solid operation of IKE in a Mobile IPv6 environment. The first extension is called PF_KEY MIGRATE and is for migrating the endpoint addresses of a IPsec Security Association pair in tunnel mode. The second extension is named SADB_X_EXT_PACKET and allows IKE to make the right choice for address selection in bootstrapping process. Both extensions are helpful for assuring smooth interworking between Mobile IPv6 and IPsec/IKE and achieving performance optimization.</t></abstract>

</front>

<seriesInfo name="Work" value="in Progress"/>
<format type="TXT" target="http://www.ietf.org/internet-drafts/draft-sugimoto-mip6-pfkey-migrate-03.txt"/>
</reference>


<reference anchor="I-D.ietf-mip6-bootstrapping-split">
<front>
<title>Mobile IPv6 bootstrapping in split scenario</title>

<author initials="G" surname="Giaretta" fullname="Gerardo Giaretta">
    <organization/>
</author>

<date month="December" day="19" year="2006"/>

<abstract><t>A Mobile IPv6 node requires a Home Agent address, a home address, and IPsec security associations with its Home Agent before it can start utilizing Mobile IPv6 service. RFC 3775 requires that some or all of these are statically configured. This document defines how a Mobile IPv6 node can bootstrap this information from non- topological information and security credentials preconfigured on the Mobile Node. The solution defined in this document solves the bootstrapping problem from draft-ietf-mip6-bootstrapping-ps-02 when the Mobile Node's mobility service is authorized by a different service provider than basic network access, and is therefore generically applicable to any bootstrapping case.</t></abstract>

</front>

<seriesInfo name="Work" value="in Progress"/>
<format type="TXT" target="http://www.ietf.org/internet-drafts/draft-ietf-mip6-bootstrapping-split-04.txt"/>
</reference>

</references>


</back>

</rfc>
