<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
    <!ENTITY rfc2119 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
    <!ENTITY rfc3971 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3971.xml'>
    <!ENTITY rfc3972 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3972.xml'>
    <!ENTITY rfc4389 PUBLIC '' 
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4389.xml'>
    <!ENTITY rfc4861 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4861.xml'>
    <!ENTITY rfc3775 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml/reference.RFC.3775.xml'>
    <!ENTITY I-D.ietf-netlmm-proxymip6 PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-netlmm-proxymip6.xml'>
    <!ENTITY I-D.krishnan-cgaext-send-cert-eku PUBLIC ''
      'http://xml.resource.org/public/rfc/bibxml3/reference.I-D.krishnan-cgaext-send-cert-eku.xml'>

]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>

<rfc category="std" ipr="full3978">
  <front>
    <title abbrev="Secure Proxy ND Support for SEND">Secure Proxy ND Support for SEND</title>
      <author initials="S.K." surname="Krishnan" fullname='Suresh Krishnan'>
        <organization>Ericsson</organization>
	<address>
  	  <postal>
	    <street>8400 Decarie Blvd.</street>
	      <city>Town of Mount Royal</city>
		<region>QC</region>
		<country>Canada</country>
	  </postal>
          <phone>+1 514 345 7900 x42871</phone>
          <email>suresh.krishnan@ericsson.com</email>
	  </address>
     </author>

    <author initials="J." surname="Laganier" fullname="Julien Laganier">
        <organization abbrev="DoCoMo Euro-Labs">
                DoCoMo Communications Laboratories Europe GmbH
        </organization>
        <address> <postal>
                        <street> Landsberger Strasse 312
                                </street>
                                <city>Munich</city>
                <code>D-80687</code>
                <country>Germany</country>
            </postal>
            <phone>+49 89 56824 231</phone>
            <email>julien.ietf@laposte.net</email>
            <uri>http://www.docomolab-euro.com/</uri>
    </address>
    </author>

    <author initials="M." surname="Bonola" fullname="Marco Bonola">
        <organization abbrev="Rome Tor Vergata University">
                Rome Tor Vergata University
        </organization>
        <address> <postal>
                        <street> Via del Politecnico, 1
                                </street>
                                <city>Rome</city>
                <code>I-00133</code>
                <country>Italy</country>
            </postal>
            <phone></phone>
            <email>marco.bonola@gmail.com</email>

    </address>
    </author>






        <date year="2008"/>
        <abstract>
	
	
<t>

Secure Neighbor Discovery (SEND) specifies a method for securing Neighbor
Discovery (ND) signaling against specific threats. As specified today, SEND
assumes that the node advertising an address is the owner of the address and is
in possession of the private key used to generate the digital signature on the
message. This means that the Proxy ND signaling initiated by
nodes that do not possess knowledge of the address owner's private key cannot
be secured using SEND.  This document extends the current SEND specification
with support for Proxy ND, the Secure Proxy ND Support for SEND.  

</t> 
	
	</abstract>
    </front>

    <middle>
        <section title="Requirements notation">
            <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>


<section title="Introduction">

<t>Secure Neighbor Discovery  <xref target="RFC3971"/> specifies a method for
securing neighbor discovery signaling <xref target="RFC4861"/> against specific
threats. As specified today, SEND assumes that the node advertising an address
is the owner of the address and is in possession of the private key used to
generate the digital signature on the message. This means that the Proxy
ND signaling initiated by nodes that do not possess knowledge
of the address owner's private key cannot be secured using SEND. 

<vspace blankLines="1"/>

This document extends the current SEND specification with support for Proxy ND.
From this point on we refer to such extension as "Secure Proxy ND Support for
SEND".  

</t> 
</section>

<section title="Terminology">
<t>

<list style="hanging"> 
<t hangText="Secure Proxy ND"><vspace blankLines="1"/> 
A node authorized to either modify or generate a SEND message without knowing
the private key related to the source address of the ICMPv6 ND message.  </t>

<t hangText="Proxied IPv6 address"><vspace blankLines="1"/>	
An IPv6 address that doesn't belong to the Secure Proxy ND and for which the
Secure Proxy ND is advertising. </t> 
</list>

</t>
</section>

<section title="Application Scenarios" anchor="scenarios_section"> 

<t> In this section we provide three different application scenarios for which
the ICMPv6 Neighbor Discovery signaling cannot be secured by using the current
SEND specification.  

<vspace blankLines="1"/>
 
Either of the entities described in the following three scenarios, (i.e.: ND
Proxy, MIPv6 Home Agent, PMIPv6 Mobile Access Gateway) can be consider as a
Secure Proxy ND.</t>

<section title="Scenario 1: RFC 4389 Neighbor Discovery Proxy">
<t>
<figure title="Proxy ND operations" anchor="ProxyND_fig">
<artwork align="center">
<![CDATA[
 Link 1 					      Link 2

 Host A                   ND Proxy (P) 		      Host B
   |                          |                          |
   | SRC = A                  |                          |
   | DST = solicited_node(B)  |		      	         |
   | ICMPv6 NS                |                          |
   | TARGET = B               |                          |
   | SLLAO = B_LL             |                          |
   |------------------------->|                          |
   | 			      | SRC = A                  |
   | 			      | DST = solicited_node(B)  |
   |                          | ICMPv6 NS                |
   | 			      | TARGET = B               |
   | 			      | SLLAO = P_LL             |
   |			      |------------------------->|
   |			      |                          |
   | 			      | SRC = B                  |
   | 			      | DST = A                  |
   |                          | ICMPv6 NA                | 
   | 			      | TARGET = B               |
   | 			      | TLLAO = B_LL             |
   |                          |<-------------------------|
   | SRC = B                  |                          |
   | DST = A                  |		      	         |
   | ICMPv6 NA                |                          |
   | TARGET = B               |                          |
   | TLLAO = B_LL             |                          |
   |<-------------------------|                          |
   |                          |                          |
]]>
</artwork>
</figure>

<xref target="RFC4389">The Neighbor Discovery (ND) Proxy specification </xref>
provides a method by which multiple link layer segments are bridged into a
single segment and specifies the IP-layer support that enables bridging under
these circumstances.

<vspace blankLines="1"/> 

A ND Proxy shall parse any IPv6 packet it receives on a proxy interface to
check whether it contains one of the following ICMPv6 messages: Neighbor
Solicitation (NS), Neighbor Advertisement (NA), Router Advertisement, or
Redirect.  Since each of these messages contains a link-layer address which
might not be valid on another segment, the ND Proxy proxies these packets as
follows, and as illustrated in <xref target="ProxyND_fig" />:

<list style="numbers">
	
	<t>
	The source link layer address will be the address of the outgoing interface.
	</t>
	
	<t>
	The destination link layer address will be the address in the neighbor entry corresponding to the destination IPv6 address.
	</t>

	<t> A link layer address within the payload (that is, in a Source Local
	Link Address option - SLLAO, or a Target Local Link Address option -
	TLLAO) is substituted with the link-layer address of the outgoing interface.  </t>

</list>

Moreover, when any other IPv6 unicast packet is received on a proxy interface,
if it is not locally destined then it is forwarded unchanged (other than using
a new link-layer header) to the proxy interface for which the next hop address
appears in the neighbor cache. If no neighbor cache entry is present, the ND
proxy should queue the packet and initiate a Neighbor Discovery signalling as
if the ICMPv6 NS message were locally generated.

<vspace blankLines="1"/> 

A ND proxy cannot protect proxied ND messages since protection of an ND message
as per the current SEND specification requires knowledge of the private key of
each node for which it is generating or forwarding a ND message on the bridged
link layer segments.

</t>
</section>



<section title="Scenario 2: Mobile IPv6">

<t> The Mobile IPv6 protocol <xref target="RFC3775"/> allows a mobile node (MN)
to move from one link to another while maintaining reachability at a stable
address, the so-called MN's home address (HoA.)  When a mobile node attaches
to a foreign network, all the packets sent to the MN's HoA and forwarded on the
home link by a correspondent node (CN) or a router are intercepted by the home
agent (HA) on that home link, encapsulated and tunneled to the mobile node's
registered care-of address (CoA.)

<vspace blankLines="1"/>

The HA intercepts these packets by being a Neighbor Discovery proxy for this MN.
When a Neighbor Solicitation (NS) is intercepted on the home link, the home
agent checks if the Target address within the NS
matches with any of the MN's Home Address in the
Binding Cache and if so, it replies with a Neighbor Advertisement (NA)
containing its own link layer address (HA_LL) as the Target Link Layer Address Option (TLLAO), as illustrated in <xref target="MIP6_fig"/>.

<figure title="Proxy ND role of the Home agent in MIPv6" anchor="MIP6_fig">
<artwork align="center">
<![CDATA[
 Node (N)                Home Agent (HA)   	Mobile Node (MN)
 on Home Link 		  on Home Link		on Foreign Link	
   |                          |                          |
   | SRC = N                  |                          |
   | DST = solicited_node(MN) |		      	         |
   | ICMPv6 NS                |                          |
   | TARGET = MN              |                          |
   | SLLAO = N_LL             |                          |
   |------------------------->|                          |
   |			      |                          |
   | SRC = MN                 |                          |
   | DST = N                  |		      	         |
   | ICMPv6 NA                |                          |
   | TARGET = MN              |                          |
   | TLLAO = HA_LL            |                          |
   |<-------------------------|                          |
   |                          |                          |
   | traffic                  |                          |
   | dest= MN HoA             |                          |
   |------------------------->|                          |
   |                          |                          |
   |                          | tunnelled traffic        |
   |                          | dest= MN CoA             |
   |                          |------------------------->|
   |                          |                          |

 ]]>
</artwork>
</figure>

It is not possible to apply the current SEND specification to protect the NA
message issued by the HA. To generate an ICMPv6 NA with a valid CGA option and
the corresponding RSA Signature option, the HA needs knowledge of the private
key related to the MN's Cryptographically Generated Address (CGA.) Any ICMPv6
NA without a valid CGA and RSA signature option is to be treated as insecure by
a SEND receiver.

</t>
</section>



<section title="Scenario 3: Proxy Mobile IPv6">
<t>
<figure title="Mobile node's handover in PMIPv6" anchor="PMIP6_fig">
<artwork align="center">
<![CDATA[
    MN                   new MAG                  LMA 
     |                      |                      |
 MN Attached                |                      |
     |                      |                      |
     |       MN Attached Event from MN/Network     |
     |                      |                      |
     |--- ICMPv6 RS ------->|                      |
     |                      |                      |
     |                      |--- PBU ------------->|
     |                      |                      |
     |                      |                  Accept PBU
     |                      |                      |
     |                      |<------------- PBA ---|
     |                      |                      |
     |                 Accept PBA                  |
     |                      |                      |
     |                      |==== Bi-Dir Tunnel ===|
     |                      |                      |
     |<------ ICMPv6 RA ----|                      |
     |                      |                      |
     |                      |                      |
     |                      |                      |
]]>
</artwork>
</figure>

Proxy Mobile IPv6 <xref target="I-D.ietf-netlmm-proxymip6"/> is a network-based
mobility management protocol that provides an IP mobility management support
for MNs without requiring MNs being involved in the mobility related signaling.
The IP mobility management is totally hidden to the MN in a Proxy Mobile IPv6
domain and is performed by two functional entities: the Local Mobility Anchor
(LMA) and the Mobile Access Gateway (MAG.) 

<vspace blankLines="1"/>

When the MN connects to a new access link it will send a multicast ICMPv6
Router Solicitation (RS.) The MAG on the new access link, upon detecting the
MN's attachment, will signal the LMA for updating the binding state of the MN
(Proxy Binding Update - PBU) and once the signaling is complete (Proxy Binding
Ack - PBA - received), it will reply to the MN with a ICMPv6 Router
Advertisement (RA) containing its home network prefix(es) that were assigned to
that mobility session, making the MN believe it is still on the same link and
not triggering the IPv6 address reconfiguration (figure <xref
target="PMIP6_fig" />.)

<vspace blankLines="1"/>

To avoid potential link-local address collisions between the MAG and the MN
after a handoff to a new link, the Proxy Mobile IPv6 specification requires the
MAG's link-local address configured on the link to which the MN is attached to
be generated once by the LMA when the MN first attach to a PMIPv6 domain, and
to be provided to the new MN's serving MAG after each handoff. Thus, from the
MN's point of view, the MAG's link-local address remains constant for the
duration of that MN's session. 

<vspace blankLines="1"/>

The approach described above and the current SEND specification are incompatible
since:


<list>

<t>
Sharing the same link-local address on different MAGs would require
all MAGs of a PMIPv6 domain to construct the CGA and the RSA Signature
option with the same public-private key pair, which is not acceptable from
a security point of view. </t>

<t> Using different public-private key pairs on different MAGs would mean
different MAGs use different CGAs as link-local address. Thus the serving MAG's
link-local address changes after each handoff of the MN which is contradiction
with the way MAG link-local address assignment occurs in a PMIPv6 domain.
</t>
</list>

</t>
</section>
</section>


<section title="Secure Proxy ND Overview"> 

<t> The original SEND specification <xref target="RFC3971"/> has implicitly
assumed that the owner of the address was the one who was advertising the
prefix. This assumption does not allow proxying of a CGA based address as the
receiver requires the advertiser to generate a valid CGA and RSA Signature
option, which in turns requires possession of the public-private key pair that
was used to generate the CGA.

<vspace blankLines="1"/>

This specification explicitly separates the roles of ownership and advertiser
by extending the SEND protocol as follows:

<list style="symbols"> 

<t>A certificate authorizing an entity to act as an ND proxy is introduced.
This is achieved via specifying explicitly in the X509v3 certificate the
purpose for which the certificate is issued, as described in a companion
document <xref target="I-D.krishnan-cgaext-send-cert-eku"/>.  Briefly, two KeyPurposeID values are
defined:  one for authorizing routers, and one for authorizing proxies. The
inclusion of the proxy authorization value allows the certificate owner to
perform proxying of SEND messages for a set of prefixes indicated in the same
certificate.  </t>

<t>A new option called Proxy Signature option (PSO) is defined. This option
contains the key hash value of the Secure Proxy ND's public key and the digital
signature computed over the SEND message. The key has value is computed over
the public key within the Secure Proxy ND's certificate.</t>

<t>The SEND processing rules are modified for all Neighbor Discovery messages:
NA, NS, RS, RA, and Redirect. When any of these messages is received with a
valid Proxy Signature option, it is considered as secure even if it doesn't
contain a CGA option. </t>

</list>


The Secure Proxy ND becomes part of the trusted infrastructure just like a SEND
router. The Secure Proxy ND is granted a certificate that specifies the range
of addresses for which it is allowed to perform proxying of SEND messages.
Hosts can use the same process to discover the certification path between a
proxy and one of the host's trust anchors as the one defined for routers in
Section 6 of <xref target="RFC3971">SEND specification</xref>.

<vspace blankLines="1"/>

The proposed approach resolves the incompatibilities between the current SEND
specification and the application scenarios described in <xref
target="scenarios_section" />.  Since SEND messages containing a Proxy
Signature option are not required to carry a CGA option, the IPv6 source
address is no longer cryptographically bound to the signature, and the sender
of a Neighbor Discovery message is not required to be the owner of the claimed
address. Thus, the Secure Proxy ND is able to either forward and generate SEND
messages for a proxied address within the set of prefixes for which it is
authorized.

</t>
</section>



<section title="Secure Proxy ND Specification">



<t> A Secure ND Proxy performs all the operation described in the SEND
specification <xref target="RFC3971"/> with the addition of new processing
rules to ensure that the receiving node can differentiate between an authorized
proxy generating or forwarding a SEND message for a proxied address, and a
malicious node doing the same. 

<vspace blankLines="1"/>

This is accomplished by signing the message with the public key of the
authorized Secure Proxy ND.  The signature of the neighbor discovery proxy is
included in a new option called Proxy Signature option (PSO.) The signature is
performed over all the NDP options present in the message and the PSO is
appended as the last option in the message.</t> 


<section title="Proxy Signature Option" anchor="PSO_section">
<t>
The Proxy Signature option allows public key-based signatures to be
attached to NDP messages.  The format of the PSO is described in the following diagram:

<figure title="PSO layout" anchor="pso_option_type_layout">
<artwork align="center">
<![CDATA[
     0                   1                   2                   3
     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |    Length     |           Reserved            |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    |                          Key Hash                             |
    |                                                               |
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    .                                                               .
    .                       Digital Signature                       .
    .                                                               .
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               |
    .                                                               .
    .                           Padding                             .
    .                                                               .
    |                                                               |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]>
</artwork>
</figure>

<list style="hanging">
	<t hangText="Type"><vspace blankLines="1"/>
      	TBA
	</t>

	<t hangText="Length"><vspace blankLines="1"/>
      	The length of the option (including the Type, Length, Reserved,
      	Key Hash, Digital Signature, and Padding fields) in units of 8
     	octets.
	</t>

	<t hangText="Reserved"><vspace blankLines="1"/>
      	A 16-bit field reserved for future use.  The value MUST be
      	initialized to zero by the sender, and MUST be ignored by the
      	receiver.
	</t>

	<t hangText="Key Hash"><vspace blankLines="1"/> A 128-bit field
	containing the most significant (leftmost) 128 bits of a SHA-1 <xref
	target="SHA1"/> hash of the public key used for constructing the
	signature.  Its purpose is to associate the signature to a particular
	key known by the receiver.  Such a key MUST be the same one within the
	Secure Proxy ND's certificate.  </t>

	<t hangText="Digital Signature"><vspace blankLines="1"/>
      	A variable-length field containing a PKCS#1 v1.5 signature,
      	constructed by using the sender's private key over the following
      	sequence of octets:
     
	<list style="numbers"> 

		<t> The 128-bit CGA Message Type tag <xref target="RFC3972"/>
		value for Secure Proxy ND, 0x09F5 2BE5 3B62 4C76 CB96 4E7F CDC9
		2804 (The tag value has been generated randomly by the editor
		of this specification.) </t>
	
		<t>
      		The 128-bit Source Address field from the IP header.
		</t>

		<t>
	      	The 128-bit Destination Address field from the IP header.
		</t>
      
		<t>
		The 8-bit Type, 8-bit Code, and 16-bit Checksum fields from the ICMP header.
		</t>

		<t>
		The NDP message header, starting from the octet after the ICMP
	        Checksum field and continuing up to but not including NDP options.
		</t>
	
		<t>
		All NDP options preceding the Proxy Signature option.
		</t>
      	</list>

      	The signature value is computed with the RSASSA-PKCS1-v1_5
      	algorithm and SHA-1 hash, as defined in <xref target="RSA"/>.
	<vspace blankLines="1"/>
      	This field starts after the Key Hash field.  The length of the
      	Digital Signature field is determined by the length of the RSA
      	Signature option minus the length of the other fields (including
      	the variable length Pad field.)
	</t>

	<t hangText="Padding"><vspace blankLines="1"/>
      	This variable-length field contains padding, as many bytes long as
      	remain after the end of the signature.
	</t>
</list>

</t>
</section>

<section title="Modified SEND processing rules"> 

<t> The modifications described in the following section applies when a SEND
message contains the Proxy Signature option (PSO), i.e. the message was sent by
a Secure Proxy ND.

<vspace blankLines="1" />

This specification modifies the sender and receiver processing rules for the
following options defined in the <xref target="RFC3971"> SEND specification
</xref>: CGA option, RSA option.  </t>

<section title="Processing rules for senders">

<t>A ICMPv6 message sent by a Secure Proxy ND for a proxied address MUST contain
a Proxy Signature option (PSO) and MUST NOT contain CGA and RSA Signature
options.

<vspace blankLines="1" />

A Secure Proxy ND sending a SEND message with the PSO Signature option MUST
construct the message as follows:

<list style="numbers">

	<t>
	The SEND message is constructed without the PSO as follow:
	
	<list style="letters">
	
		<t>If the Secure Proxy ND is locally generating the SEND
		message for a proxied address, the message is constructed as
		described in Neighbor Discovery for IP version 6 specification
		<xref target="RFC4861" />.</t>
	
		<t>If the Secure Proxy ND is forwarding a SEND message, first
		the authenticity of the intercepted message is verified as
		specified in SEND specification <xref target="RFC3971" />
		Section 5. If the SEND message is valid, any CGA or RSA option
		MUST be removed from the message. The intercepted message is
		finally modified as described in Section 4 of the ND Proxy
		specification <xref target="RFC4389" />.</t>
	
	</list>		
	</t>
	
	<t>
	
	The Proxy Signature option is added as the last option in the message.
      
      	</t>
	<t>
	
	The data is signed as explained in <xref target="PSO_section" />.
	
	</t>
	
</list>

</t>
</section>

<section title="Processing rules for receivers">

<t>

Any SEND message without a Proxy Signature option MUST be treated as
specified in the <xref target="RFC3971">SEND specification</xref>.

<vspace blankLines="1" />

A SEND message including a Proxy Signature option MUST be processed as specified below:

</t><t>


<list style="numbers">

	<t>

	The receiver MUST ignore any RSA and CGA options, as well as any
	options that might come after the first PSO. The options are ignored
	for both signature verification and NDP processing purposes.

	</t> <t>

	The Key Hash field MUST indicate the use of a known public key.  A
	valid certification path (see <xref target="RFC3971" /> Section 6.3)
	between the receiver's trust anchor and the sender's public key MUST be
	known.  The Secure Proxy ND's X509v3 certificate MUST contain a
	extended key usage extension including the KeyPurposeId value for the
	proxy authorization. 

	</t> <t>

	The Digital Signature field MUST have correct encoding and MUST NOT
	exceed the length of the Proxy Signature option minus the Padding.
      
	</t> <t>
	
	The Digital Signature verification MUST show that the signature
      	has been calculated as specified in <xref target="PSO_section" />.
	
	</t>
</list>

Messages that do not pass all the above tests MUST be silently discarded if the
host has been configured to accept only secured ND messages.  

<!--

The messages MAY be accepted if the host has been configured to accept both
secured and unsecured messages but MUST be treated as an unsecured message.  

JL: this shouldn't be there. According to the original SEND spec, an "unsecured"
message is a message that does not contain a signature. In this section we're
talking about messages that are sent by a secure proxy ND, and these messages
contains the signature. If the message is sent by an unsecure/plain proxy ND,
then it has no PSO, this spec doesn't apply and normal SEND processing rules
for unsecured message applies.

The receiver MAY also otherwise silently discard packets (e.g., as a response
to an apparent CPU exhausting DoS attack.) 

JL: I don't understand why we need to state that here. That's part of the 
original SEND spec.
-->

</t>

</section>
</section>
</section>

<section title="Backward Compatibility with legacy SEND nodes">

<t>

The PSO added by a Secure Proxy ND will be ignored by nodes implementing the
original SEND specification and hence will not cause any interoperability
problems. Since the Secure Proxy ND also removes the original RSA option,
these messages will be treated as "unsecured" message as described in 
Section 8 "Transitions Issues" of the <xref target="RFC3971">SEND specification
</xref>. Thus, this specification does not introduce any new transition issue
compared to the original SEND specification.

</t>
</section>

<section title="Security Considerations">

<t>

The mechanism described in this document introduce a new Proxy Signature Option
(PSO) allowing a Secure
Proxy ND to generate or modify a SEND message for a proxied address. A
node will only accept such a message if it includes a valid PSO 
generated by an authorized Secure Proxy ND.

</t>

<t>

If, on the other hand, a message does not include a PSO, then the Secure Proxy
ND support doens't introduce any further security issues since this
specification does not modify the SEND processing rules if an ICMPv6 ND message
does not contain a PSO.  Thus, the same security considerations than that of
SEND applies (cf. Section 9 of the <xref target="RFC3971"> SEND
specification</xref>.) </t>

</section>

<section title="IANA Considerations">
<t>

IANA is requested to allocate:

<list>
<t>

A new IPv6 Neighbor Discovery Option types for the PSO, as TBA.  The value need
to be allocated from the namespace specified in the IANA registry IPv6 NEIGHBOR
DISCOVERY OPTION FORMATS located at
http://www.iana.org/assignments/icmpv6-parameters.

</t>
<t>

A new 128-bit value under the CGA Message Type <xref
target="RFC3972"/> namespace, 0x09F5 2BE5 3B62 4C76 CB96 4E7F CDC9 2804.

</t>

</list>
</t>

        </section>

    </middle>
    

    <back>
        <references title="Normative References">
	
	&rfc2119;
	&rfc3971;
	&rfc3972;
	&rfc4389;
	&rfc4861;
	&rfc3775;
	&I-D.ietf-netlmm-proxymip6;
	&I-D.krishnan-cgaext-send-cert-eku;

<reference anchor='RSA'>
<front>
<title>RSA Encryption Standard, Version 2.1</title>

<author surname='RSA Laboratories' fullname='RSA Laboratories'>
    <organization />
</author>

<date month='November' day='1' year='2002' />

</front>

<seriesInfo name='PKCS 1' value='' />
	</reference>

<reference anchor='SHA1'>
<front>
<title>Secure Hash Standard</title>

<author surname='National Institute of Standards and Technology' fullname='National Institute of Standards and Technology'>
    <organization />
</author>

<date month='April' day='1' year='1995' />

</front>

<seriesInfo name='FIPS PUB 180-1' value='' />
	</reference>
<!--
<reference anchor='SENDEKU'>
<front>
<title>Authorization Certificates for Routers and Proxies</title>

<author initials='S' surname='Krishnan' fullname='Suresh Krishnan'>
    <organization />
</author>

<date month='October' day='30' year='2007' />

</front>

<seriesInfo name='Internet-Draft' value=' draft-krishnan-cgaext-send-cert-eku-00' />
<format type='TXT'
		target='http://www.ietf.org/internet-drafts/draft-krishnan-cgaext-send-cert-eku-00.txt' />
	</reference>
-->
        </references>
    </back>

</rfc>
