NetworkCGA & SEND maintenance WorkingGroupS. KrishnanInternet-DraftGroup Ericsson Internet-Draft J. Laganier Intended status: Standards TrackJ. LaganierQUALCOMM Inc. Expires:January 14,September 4, 2010DoCoMo Euro-LabsM. Bonola Rome Tor Vergata UniversityJuly 13, 2009A. Garcia-Martinez UC3M March 3, 2010 Secure Proxy ND Support for SENDdraft-ietf-csi-proxy-send-01draft-ietf-csi-proxy-send-02 Abstract Secure Neighbor Discovery (SEND) specifies a method for securing Neighbor Discovery (ND) signaling against specific threats. As defined today, SEND assumes that the node sending a ND message is the owner of the address from which the message is send, so that it is in possession of the private key used to generate the digital signature on the message. This means that the Proxy ND signaling performed 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 in order to support Proxy ND operation. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79.This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.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 as 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 onJanuary 14,September 4, 2010. Copyright Notice Copyright (c)20092010 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of thisdocument (http://trustee.ietf.org/license-info).document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.Abstract 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 ownerCode Components extracted from this document must include Simplified BSD License text as described in Section 4.e of theaddressTrust Legal Provisions andisare provided without warranty as described inpossession of the private key used to generatethedigital 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.BSD License. Table of Contents 1. Requirements notation . . . . . . . . . . . . . . . . . . . .43 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . .54 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . .65 4.Application Scenarios .Secure Proxy ND Overview . . . . . . . . . . . . . . . . . . .7 4.1. Scenario 1: RFC 4389 Neighbor Discovery6 5. Secure Proxy ND Specification . . . . . . . . . .7 4.2. Scenario 2: Mobile IPv6. . . . . . 8 5.1. Proxy Signature Option . . . . . . . . . . . . . . . . . . 84.3. Scenario 3: Proxy Mobile IPv65.2. Modified SEND processing rules . . . . . . . . . . . . . . 105. Secure Proxy ND Overview5.2.1. Processing rules for senders . . . . . . . . . . . . . 10 5.2.2. Processing rules for receivers . . . . . . . . . . . . 11 5.3. Proxying Link-Local Addresses . . . . . . . . . . . . . . 12 6.Secure Proxy ND SpecificationApplication Scenarios . . . . . . . . . . . . . . . . . . .14 6.1. Proxy Signature Option. 13 6.1. Scenario 1: Mobile IPv6 . . . . . . . . . . . . . . . . .1413 6.2.Modified SEND processing rulesScenario 2: Proxy Mobile IPv6 . . . . . . . . . . . . . .16 6.2.1. Processing rules for senders15 6.3. Scenario 3: RFC 4389 Neighbor Discovery Proxy . . . . . . 17 7. Backward Compatibility with RFC3971 nodes and non-SEND nodes . . . . . . . . . .16 6.2.2. Processing rules for receivers. . . . . . . . . . . .17 7.. . . . . . 20 7.1. Backward Compatibility withlegacy SENDRFC3971 nodes . . . . . . . . 20 7.2. Backward Compatibility with non-SEND nodes . . . . . . . .1820 8. Security Considerations . . . . . . . . . . . . . . . . . . .1923 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . .2024 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 25 10.1. Normative References . . . . . . . . . . . . . . . . . . . 25 10.2. Informative References . .21 Authors' Addresses. . . . . . . . . . . . . . . . 25 Authors' Addresses . . . . . . . .22 1. Requirements notation The key words "MUST", "MUST NOT", "REQUIRED", "SHALL",. . . . . . . . . . . . . . . . 26 1. Requirements notation 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 [RFC2119]. 2. Introduction Secure Neighbor Discovery (SEND) [RFC3971] specifies a method for securingneighbor discoveryNeighbor Discovery (ND) signaling [RFC4861] against specific threats. Asspecifieddefined today, SEND assumes that the nodeadvertising an addresssending a ND message is the owner of the addressandfrom which the message is sent, so that it is in possession of the private key used to generate the digital signature on the message. This means that the Proxy ND signalinginitiatedperformed 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. From this point on we refer to such extension as "Secure Proxy ND Support for SEND". 3. Terminology Secure Proxy ND 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. Proxied IPv6 address An IPv6 address thatdoesn'tdoes not belong to the Secure Proxy ND and for which the Secure Proxy ND isadvertising. 4. Application Scenarios Inperforming advertisements. Non-SEND node An IPv6 node that does not implement the SEND [RFC3971] specification but uses only the ND protocol defined in [RFC4861] and [RFC4862], without security. RFC3971 node An IPv6 node that does not implement the specification defined in thissection we provide three different application scenariosdocument forwhichSecure Proxy ND support, but uses only theICMPv6 Neighbor Discovery signaling cannot be secured by usingSEND specification as defined in [RFC3971]. SPND node An IPv6 node that implements thecurrentspecification defined in this document for Secure Proxy ND support. 4. Secure Proxy ND Overview The original SENDspecification. Eitherspecification [RFC3971] has implicitly assumed that only the node sending a ND message is the owner of theentities described inaddress from which thefollowing three scenarios, (i.e.:message is sent. This assumption does not allow proxying of NDProxy, MIPv6 Home Agent, PMIPv6 Mobile Access Gateway) can be consider asmessages since the advertiser is required to generate a valid RSA Signature option, which in turns requires possession of the public-private key pair that was used to generate a CGA, or that was associated to a router certificate. To be able to separate the roles of ownership and advertiser the following extensions to the SEND protocol are defined: o A Secure ProxyND. 4.1. Scenario 1: RFC 4389 Neighbor Discovery Proxy Link 1 Link 2 Host ANDProxy (P) Host B | | | | SRC =certificate, which is a certificate authorizing an entity to act as an ND proxy. It is a X509v3 certificate in which the purpose for which the certificate is issued has been specified explicitly as described in a companion document [I-D.ietf-csi-send-cert]. Briefly, a KeyPurposeID value is defined for authorizing proxies. The inclusion of the proxy authorization value allows the certificate owner to perform proxying of SEND messages for a range of addresses indicated in the same certificate. This certificate can be exchanged as a result of the Authorization Delegation Discovery process defined in [RFC3971]. o A| | | DST = solicited_node(B) | | | ICMPv6 NS | | | TARGET = B | | | SLLAO = B_LL | | |------------------------->| | | | SRC =new Neighbor Discovery option called Proxy Signature option (PSO). This option contains the hash value of the public key of the proxy, and the digital signature of the SEND message computed with the private key of the proxy. The hash of the public key of the proxy is computed over the public key contained in the Secure Proxy ND's certificate. When a ND message contains a PSO, it MUST NOT contain CGA and RSA Signature options. This option can be appended to any ND message: NA, NS, RS, RA and Redirect. o A modification of the SEND processing rules for all ND 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. These extensions are applied in the following way: o A Secure Proxy ND which proxies ND messages on behalf of a node can use the PSO option to protect the proxied messages. This Secure Proxy ND becomes part of the trusted infrastructure just like a SEND router. o In order to allow nodes to successfully validate secured proxied messages, the nodes must know the Secure Proxy ND certificate (in the format described in [I-D.ietf-csi-send-cert]) and must apply the modified processing rules specified in this document. We call this nodes 'SPND nodes'. Note that the rules for generating ND messages in SPND nodes do not change, so these nodes behave as defined in [RFC3971] for sending ND messages. o To allow SPND nodes to know the certificate path required to validate the public key of the proxy, devices responding to CPS (Certification Path Solicitation) messages with CPA (Certification Path Advertisements) as defined in Section 6 of SEND specification [RFC3971] must handle the certificate format specified in [I-D.ietf-csi-send-cert], and must be configured with the appropriate certification path. The proposed approach resolves the incompatibilities between the current SEND specification and the application scenarios described in Section 6. 5. Secure Proxy ND Specification A Secure Proxy ND performs all the operation described in the SEND specification [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. This is accomplished by signing the message with the public key of the authorized Secure Proxy ND. The signature of the ND 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. 5.1. Proxy Signature Option 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: 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 |DST = solicited_node(B) | |Reserved |ICMPv6 NS+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | |TARGET = BKey Hash | | |SLLAO = P_LL| ||------------------------->|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | . . . Digital Signature . . . | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |SRC = B| . . . Padding . . . | |DST =+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 1: PSO layout Type TBA Length The length of the option (including the Type, Length, Reserved, Key Hash, Digital Signature, and Padding fields) in units of 8 octets. Reserved A 11-bit field reserved for future use. The value MUST be initialized to zero by the sender, and MUST be ignored by the receiver. Key Hash A 128-bit field containing the most significant (leftmost) 128 bits of a SHA-1 [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 corresponding Secure Proxy ND's certificate. Digital Signature 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: 1. The 128-bit CGA Message Type tag [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). 2. The 128-bit Source Address field from the IP header. 3. The 128-bit Destination Address field from the IP header. 4. The 8-bit Type, 8-bit Code, and 16-bit Checksum fields from the ICMP header. 5. The NDP message header, starting from the octet after the ICMP Checksum field and continuing up to but not including NDP options. 6. All NDP options preceding the Proxy Signature option. The signature value is computed with the RSASSA-PKCS1-v1_5 algorithm and SHA-1 hash, as defined in [RSA]. This field starts after the Key Hash field. The length of the Digital Signature field is determined by the ASN.1 BER coding of the PKCS#1 v1.5 signature. Padding This variable-length field contains padding. The length of the padding field is determined by the length of the Proxy Signature Option minus the length of the other fields. 5.2. Modified SEND processing rules 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. This specification modifies the sender and receiver processing rules for the CGA and RSA options defined in the SEND specification [RFC3971]. 5.2.1. Processing rules for senders A| | |ICMPv6NA | | | TARGET = B | | | TLLAO = B_LL | | |<-------------------------| | SRC = B | | | DST =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. A| | | ICMPv6 NA | | | TARGET = B | | | TLLAO = B_LL | | |<-------------------------| | | | | Figure 1:Secure Proxy NDoperationssending a SEND message with the PSO Signature option MUST construct the message as follows: 1. The SEND message is constructed without the PSO as follows: A. 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 [RFC4861]. B. If the Secure Proxy ND is forwarding a SEND message, first the authenticity of the intercepted message is verified as specified in SEND specification [RFC3971], Section 5. If the SEND message is valid, any CGA or RSA option MUST be removed from the message. TheNeighbor Discovery (ND)intercepted message is finally modified as described in Section 4 of the ND Proxy specification[RFC4389] provides[RFC4389]. C. If the Secure Proxy ND is forwarding amethod by which multiple link layer segments are bridged intoSEND message already containing asingle segment and specifiesPSO, first the authenticity of the intercepted message is verified as specified in Section 6.2.2 of this draft. If the SEND message is valid, the original PSO MUST be removed from the message. The intercepted message is finally modified as described in Section 4 of theIP-layer support that enables bridging under these circumstances. AND Proxyshall parse any IPv6 packet it receives on a proxy interfacespecification[RFC4389]. 2. Timestamp and Nonce options are included according tocheck whether it contains one ofthefollowing ICMPv6 messages: Neighbor Solicitation (NS), Neighbor Advertisement (NA), Router Advertisement, or Redirect. Since each of these messages containsrules specified in SEND [RFC3971]. The value in the Timestamp option MUST be generated by the Proxy. If the proxy is forwarding alink-layer address which might notmessage, the Nonce value in the proxied message MUST bevalid on another segment,theNDsame as in the forwarded message. 3. The Proxy Signature option is added as the last option in the message. 4. The data is signed as explained in Section 5.1. 5.2.2. Processing rules for receivers Any SEND message without a Proxy Signature option MUST be treated as specified in the SEND specification [RFC3971]. A SEND message including a Proxyproxies these packetsSignature option MUST be processed asfollows,specified below: 1. The receiver MUST ignore any RSA and CGA options, asillustrated in Figure 1: 1.well as any options that might come after the first PSO. Thesource link layer address will beoptions are ignored for both signature verification and NDP processing purposes. 2. The Key Hash field MUST indicate theaddressuse of a known public key. A valid certification path (see [RFC3971] Section 6.3) between theoutgoing interface. 2. The destination link layer address will bereceiver's trust anchor and theaddress insender's public key MUST be known. The Secure Proxy ND's X509v3 certificate MUST contain a extended key usage extension including theneighbor entry corresponding toKeyPurposeId value for thedestination IPv6 address.proxy authorization. 3.A link layer address withinThe Digital Signature field MUST have correct encoding. 4. The Digital Signature verification MUST show that thepayload (that is,signature has been calculated as specified in Section 5.1. 5. Timestamp and Nonce options MUST be processed as specified in [RFC3971] Section 5.3.4, except for replacing 'RSA Signature option' by 'PSO option'. 6. Messages with the Override bit [RFC4861] set should override an existing cache entry regardless if it was created as aSource Local Link Addressresult of a RSA Signature option- SLLAO,or aTarget Local Link AddressPSO option- TLLAO)validation. When it issubstituted withnot set the advertisement will not update a cached link-layer address created securily by means of RSA Signature option or PSO option validation. Messages that do not pass all theoutgoing interface. Moreover, when any other IPv6 unicast packet is receivedabove tests MUST be silently discarded if the host has been configured to accept only secured ND messages. 5.3. Proxying Link-Local Addresses Secure Neighbor Discovery [RFC3971] relies on certificates to prove that routers are authorized to announce aproxy interface, if it iscertain prefix. However, Neighbor Discovery [RFC4861] states that router does notlocally destined thenannounce the Link-Local prefix (fe80::/64). Hence, it isforwarded unchanged (other than usingnot required for anew link-layer header)SEND certificate tothe proxy interface for which the next hophold a X.509 IP addressappears inextensions that authorizes theneighbor cache. If no neighbor cache entry is present,fe80::/64 prefix. Some scenarios ([RFC4389], [RFC5213]) impose that the Secure ND proxyshould queueprovides proxying function for thepacket and initiateLink-Local address of aNeighbor Discovery signalling as if the ICMPv6 NS message were locally generated. Anode. When Secure ND proxycannot protect proxied ND messages since protectionfunctionality on a Link- Local address is required, either a list ofan ND message as perlink-local addresses, or thecurrent SEND specification requires knowledge offe80::/64 prefix MUST be explicitly authorized to be proxied in theprivate key of each nodecorresponding certificate. 6. Application Scenarios In this section we describe three different application scenarios for whichitSecure Proxy ND Support for SEND can be applied. Note that the particular way in which Secure Proxy ND support isgenerating or forwarding aapplied (which NDmessagemessages are proxied, in which directions, how the interaction with non-SEND hosts and RFC3971 hosts is handled, etc.) largely depends on thebridged link layer segments. 4.2.particular scenario considered. In the first two scenarios presented below, ND messages are synthesized on behalf of off-link nodes. In the third one, ND messages are generated in reaction to ND messages being received by other interfaces of the proxied node. 6.1. Scenario2:1: Mobile IPv6 The description of the problems for deploying SEND in this scenario can be found in [I-D.ietf-csi-sndp-prob]. The Mobile IPv6 protocol (MIPv6) [RFC3775] allows amobile nodeMobile Node (MN) to move from one link to another while maintaining reachability at a stable address, the so-called MN'shome address (HoA.)Home Address (HoA). When amobile nodeMN attaches to a foreign network, all the packets sent to the MN's HoAand forwarded on the home linkby acorrespondent nodeCorrespondent Node (CN) on the home link, or arouterrouter, are intercepted by thehome agentHome Agent (HA) on that home link, encapsulated and tunneled to themobile node'sMN's registeredcare-of address (CoA.)Care-of Address (CoA). The HA intercepts these packetsby beingacting as aNeighbor DiscoveryND proxy for this MN. Lets assume that the nodes in the home link use SEND. When aNeighbor Solicitation (NS)secured NS is intercepted on the home link, thehome agentHA checks the validity of the received message according to the rules stated in [RFC3971]. If the message is valid, it 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)containingconstructed as described in [RFC4861], so it contains its own link layer address (HA_LL) as the Target Link Layer Address Option (TLLAO),as illustrated in Figure 2. 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 | | |------------------------->| | | | Figure 2: Proxy ND role of the Home agent in MIPv6 It is not possible to apply the current SEND specification to protect the NA message issued by the HA. To generate an ICMPv6 NAwith avalid CGAPSO optionandsigning thecorresponding RSA Signature option,message, added as theHA needs knowledgelast option of theprivate 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. 4.3. Scenario 3: Proxy Mobile IPv6 MN new MAG LMA | | | MN Attachedmessage. Node (N) Home Agent (HA) Mobile Node (MN) on Home Link on Home Link on Foreign Link | | | | SRC = N | |MN Attached Event from MN/Network| DST = solicited_node(MN) | | ||---ICMPv6RS ------->| | | | | | |--- PBU ------------->| | | | | | Accept PBU | | | | |<------------- PBA ---| | | |NS |Accept PBA| | TARGET = MN | | ||==== Bi-Dir Tunnel ===|SLLAO = N_LL | | ||<------ ICMPv6 RA ----|[CGA] | | | RSA signature | | |------------------------->| | | | | |Figure 3: Mobile node's handover in PMIPv6 Proxy Mobile IPv6 [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.) 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 Figure 3.) To avoid potential link-local address collisions between the MAG and theSRC = HA | | | DST = N | | | ICMPv6 NA | | | TARGET = MNafter 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| | | TLLAO = HA_LL | | | PSO signature | | |<-------------------------| | | | | | traffic | | | dest= MNis attached to be generated once by the LMA when theHoA | | |------------------------->| | | | | | | tunnelled traffic | | | dest= MNfirst 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 durationCoA | | |------------------------->| | | | Figure 2: Proxy ND role ofthat MN's session. The approach described above andthecurrent SEND specification are incompatible since: SharingHome agent in MIPv6 A node receiving thesame link-local address on different MAGs would require all MAGs of a PMIPv6 domain to constructNA containing theCGA andPSO (e.g.: theRSA Signature option withCN in thesame public-private key pair, which is not acceptable fromhome link, or asecurity pointrouter) must have a certificate ofview. Using different public-private key pairs on different MAGs would mean different MAGs use different CGAs as link-local address. Thustheserving MAG's link-local address changes after each handoffpublic key of theMN which is contradiction with the way MAG link- local address assignment occurs inHA acting as aPMIPv6 domain. 5.Secure ProxyND Overview The original SEND specification [RFC3971] has implicitly assumed that the owner of the address wasND. To do so, a certificate for theone who was advertisingHA could be made available through theprefix. This assumption does not allow proxying of a CGA based address asAuthorization Delegation Discovery process [RFC3971] performed at thereceiver requireshome link, i.e. theadvertiserdevices responding togenerate a valid CGA and RSA Signature option, whichCPS messages should be configured to include inturns requires possessionCPA messages information about the HA certificate. The Override bit of thepublic- private key pair that wasNA message is used togenerate the CGA. This specification explicitly separatescontrol which messages should prevail each case: theroles of ownership and advertisermessage generated byextendingtheSEND protocol as follows: o A certificate authorizing an entityproxy once the MN moves from the home network, or the MN if it come back toactthe home link, asan ND proxy is introduced. This is achieved via specifying explicitlydefined in theX509v3 certificate the purposeMIPv6 specification [RFC3775] 6.2. Scenario 2: Proxy Mobile IPv6 Proxy Mobile IPv6 [RFC5213] is a network-based mobility management protocol that provides an IP mobility management support forwhichMNs without requiring MNs being involved in thecertificatemobility related signaling. The IP mobility management isissued, as describedtotally hidden to the MN in acompanion document [I-D.krishnan-cgaext-send-cert-eku]. Briefly,Proxy Mobile IPv6 domain and is performed by twoKeyPurposeID values are defined: one for authorizing routers,functional entities: the Local Mobility Anchor (LMA) andone for authorizing proxies. The inclusion oftheproxy authorization value allowsMobile Access Gateway (MAG). When thecertificate ownerMN connects toperform proxying of SEND messages foraset of prefixes indicated innew access link it will send a multicast ICMPv6 Router Solicitation (RS). The MAG on thesame certificate. o Anewoption called Proxy Signature option (PSO) is defined. This option containsaccess link, upon detecting the MN's attachment, will signal the LMA for updating thekey hash valuebinding state of theSecure Proxy ND's public keyMN (Proxy Binding Update - PBU) and once thedigital signature computed oversignaling is complete (it receives a Proxy Binding Ack - PBA), it will reply to theSEND message. The key has valueMN with a ICMPv6 Router Advertisement (RA) containing the home network prefix(es) that were assigned to that mobility session, making the MN believe it iscomputed overstill on thepublic key withinsame link and not triggering theSecure Proxy ND's certificate. o The SEND processing rules are modified for all Neighbor Discovery messages: NA, NS, RS, RA,IPv6 address reconfiguration (figure Figure 3). MN new MAG LMA | | | MN Attached | | | | | | MN Attached Event from MN/Network | | | | | SRC = MN | | | DST = all-routers | | | ICMPv6 RS | | | [CGA] | | | RSA signature | | |--------------------->| | | | | | |--- PBU ------------->| | | | | | Accept PBU | | | | |<------------- PBA ---| | | | | Accept PBA | | | | | |==== Bi-Dir Tunnel ===| | | | | SRC = MAG4MN | | | DST = MN | | | ICMPv6 RA | | | SLL = MAG_LL | | | PSO | | |<---------------------| | | | | | | | | | | Figure 3: Mobile node's handover in PMIPv6 To avoid potential link-local address collisions between the MAG andRedirect. When any of these messages is received withthe MN after a handoff to avalidnew link, the ProxySignature option, itMobile IPv6 specification requires the MAG's link-local address configured on the link to which the MN isconsidered as secure even if it doesn't containattached to, to be generated once by the LMA when the MN first attach to aCGA option. The Secure Proxy ND becomes partPMIPv6 domain, and to be provided to the new MN's serving MAG after each handoff. Thus, from the MN's point of view, thetrusted infrastructure just like a SEND router. The Secure Proxy ND isMAG's link-local address remains constant for the duration of that MN's session. Each MAG can be granted a certificate per each link-local address expected by any MN thatspecifies the range of addresses for which it is allowedcould attach toperform proxyingthe link. However, the use ofSEND messages. HostsSecure Proxy ND canusegreatly reduce thesame processnumber of certificates needed. In this case, each MAG is configured todiscover the certification path betweenact as a proxyand oneby means ofthe host'sa certification path from a trustanchors asanchor associated to theone defined for routers in Section 6 of SEND specification [RFC3971]. The proposed approach resolvesPMIPv6 domain, authorizing each MAG to proxy securely ND messages. When a secured RS message is issued by theincompatibilities betweenMN, thecurrent SEND specification andMAG checks its validity according to theapplication scenarios describedrules stated inSection 4. Since SEND messages containing[RFC3971]. If the message is valid, it replies with aProxy Signature option are not requiredRA with source address equal tocarry a CGA option,theIPv6 sourceMAG link-local addressis no longer cryptographically boundassociated to thesignature, andMN in this PMIPv6 domain and its own link layer address as Source link-layer address, with the PSO option signing the message, added as thesenderlast option of the message. When the MN receives this message, it may issue aNeighbor DiscoveryCPS messageis not requiredin order tobe the owner of the claimed address. Thus,obtain theSecure Proxy ND is ablecertification path associated toeither forward and generate SEND messages for a proxied address withinthesetpublic key ofprefixes for which it is authorized. 6. Secure Proxy ND Specification A Secure ND Proxy performs all the operation described intheSEND specification [RFC3971]PSO (or may have this certification path already available). The MN node must be configured with a trust anchor related with theaddition of new processing rulesMAG's certificate. The MAG (or other device) could be configured toensure that the receiving node can differentiate between an authorized proxy generating or forwardingprovide its certification path in aSENDCPS messageforas aproxied address, andresponse to amalicious node doing the same. This is accomplished by signing theCPA messagewithissued by thepublic key ofMN. With this information, theauthorized Secure Proxy ND. The signature ofMN can validate theneighbor discovery proxy is included in a new option called Proxy Signature option (PSO.) The signature is performed over allRS information, and use theNDP options present insame link-local address to access to themessageMAG. The MAG will intercept secured NS messages and reply with NA messages containing its own link layer address as the Target Link Layer Address Option (TLLAO), with a PSOis appendedoption signing the message, added as the last optioninof the message.6.1. Proxy Signature OptionTheProxy Signature option allows public key-based signatures to be attached to NDPsame applies for Redirect messages. 6.3. Scenario 3: RFC 4389 Neighbor Discovery Proxy Theformatdescription of thePSO is describedproblems for deploying SEND in this scenario can be found inthe following diagram: 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[I-D.ietf-csi-sndp-prob]. Link 1 Link 23 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Host A ND Proxy (P) Host B |Type|Length|Reserved|+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+SRC = A | | |Key HashDST = solicited_node(B) | | | ICMPv6 NS | | | TARGET = B |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| |. . . Digital Signature . . .SLLAO = A_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 = P_LL | | |<-------------------------| | |. . . Padding . . .| |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+Figure 4:PSO layout Type TBA LengthProxy ND operations The Neighbor Discovery (ND) Proxy specification [RFC4389] 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. A Secure ND Proxy shall parse any IPv6 packet it receives on a proxy interface to check whether it contains one of the following secured ICMPv6 messages: NS, NA, RA, or Redirect. ThelengthSecure ND Proxy MUST verify the authenticity of theoption (includingreceived ND message, according to [RFC3971]. If theType, Length, Reserved, Key Hash, Digital Signature, and Padding fields) in units of 8 octets. Reserved A 16-bit field reserved for future use.SEND message is valid, then it proxied the original message with the following changes: 1. Thevalue MUST be initializedmessage is processed according tozero by[RFC4389]. This includes changing thesender, and MUSTsource link layer address will beignored by the receiver. Key Hash A 128-bit field containingthemost significant (leftmost) 128 bits of a SHA-1 [SHA1] hashaddress of thepublic key used for constructingoutgoing interface, maintaining thesignature. Its purpose is to associatedestination link layer address as thesignature to a particular key known byaddress in thereceiver. Such a key MUST beneighbor entry corresponding to thesame onedestination IPv6 address, etc. In particular any link layer address within theSecure Proxy ND's certificate. Digital Signature A variable-length field containingpayload (that is, in aPKCS#1 v1.5 signature, constructed by using the sender's private key overSource Local Link Address option - SLLAO, or a Target Local Link Address option - TLLAO) is substituted with thefollowing sequencelink-layer address ofoctets: 1. The 128-bit CGA Message Type tag [RFC3972] value for Secure Proxy ND, 0x09F5 2BE5 3B62 4C76 CB96 4E7F CDC9 2804 (The tag value has been generated randomly bytheeditor of this specification.)outgoing interface. 2.The 128-bit Source Address field from the IP header.Any CGA or RSA option is removed. 3. If a Nonce option existed in the original message, its value is preserved in the proxied message. The128-bit Destination Address field fromTimestamp is generated by theIP header.proxy. 4. The8-bit Type, 8-bit Code, and 16-bit Checksum fields fromPSO option is added as theICMP header. 5. The NDP message header, starting fromlast option in theoctet aftermessage, signing all theICMP Checksum field and continuing up to butinformation contained so far in the message. Moreover, when any other IPv6 unicast packet is received on a proxy interface, if it is notincluding NDP options. 6. All NDP options precedinglocally destined then it is forwarded unchanged (other than using a new link-layer header) to theProxy Signature option. The signature valueproxy interface for which the next hop address appears in the neighbor cache. If no neighbor cache entry iscomputed withpresent, theRSASSA-PKCS1-v1_5 algorithmND proxy should queue the packet andSHA-1 hash,initiate a Neighbor Discovery signalling asdefinedif the ICMPv6 NS message were locally generated. In order to deploy this scenario, nodes in[RSA]. This field starts afterproxied segments MUST know theKey Hash field. The length ofcertificate authorizing proxy operation. To do so it could be required to configure at least one device per each proxied segment (may be theDigital Signature field is determined byproxy itself) to propagate thelengthrequired certification path to authorize proxy operation by means of a CPS/CPA exchange. While more robust mechanisms could be developed for securing theRSA Signature option minusscenario described in [RFC4389], if hosts have been upgraded to apply thelengthrules stated in Section 5.2.2, for example, to benefit from secure support for other scenarios, the application of this mechanism is straighforward. 7. Backward Compatibility with RFC3971 nodes and non-SEND nodes In this section we discuss the interaction of Secure Proxy ND nodes and SPND nodes with RFC3971 nodes and non-SEND nodes. 7.1. Backward Compatibility with RFC3971 nodes RFC3971 nodes, i.e. SEND nodes not compliant with theother fields (includingmodifications required in Section 5 cannot interpret correctly a PSO option received in a proxied ND message. These SEND nodes silently discard thevariable length Pad field.) Padding This variable-length field contains padding,PSO option, as specified in [RFC4861] for any unknown option. As a result, these messages will be treated asmany bytes longunsecured asremain after the enddescribed in Section 8 "Transitions Issues" of thesignature. 6.2. ModifiedSENDprocessing rules The modifications describedspecification [RFC3971]. When RFC3971 nodes and SPND nodes exchange ND messages (without proxy intervention), in either direction, messages are generated according to thefollowing section applies when aSENDmessage containsspecification [RFC3971], so these nodes interoperate seamlessly. In theProxy Signature option (PSO), i.e.scenarios in which themessage was sentproxy translates ND messages, the messages to translate can either be originated in a RFC3971 node or in an SPND node, without interoperability issues. 7.2. Backward Compatibility with non-SEND nodes Plain ND nodes receiving NDP packets silently discard PSO options, as specified in [RFC4861] for any unknown option. Therefore, these node interpret messages proxied by a Secure ProxyND. This specification modifies the senderND as any other ND message. When non-SEND nodes andreceiver processing rules for the following options definedSPND nodes exchange ND messages (without proxy intervention), in either direction, theSEND specification [RFC3971]: CGA option, RSA option. 6.2.1. Processingrules specified in section 8 of [RFC3971] apply. A secure Proxy ND SHOULD support the use of secured and unsecured NDP messages at the same time, although it MAY have a configuration that causes not to perform proxing forsendersunsecured NDP messages. AICMPv6 message sentsecure Proxy ND MAY also have a configuration option whereby it disables secure ND proxying completely. This configuration SHOULD be switched off by default, that is SEND is used. In the next paragraphs we discuss the recommended behavior of the Secure Proxy ND regarding to which protection level provide to proxied messages in a mixed scenario involving SPND/RFC3971 nodes and non-SEND nodes. In particular, two different situations occur depending on if the proxied nodes are RFC3971 or SPND, or if they are non-SEND nodes. As a rule of thumb, the Secure Proxy ND should only generate PSO options fora proxied address MUST contain a Proxy Signature option (PSO) and MUST NOT contain CGA and RSA Signature options. A Secure Proxy ND sending anodes which have SENDmessage withcapabilities (i.e. that they could use SEND to defend their messages if being in thePSO Signature option MUST constructsame link than themessage as follows: 1. The SEND messageproxy, either RFC3971 nodes or SPND nodes). This isconstructed withoutrelevant to allow nodes preferring secured information over unsecured one, and for executing thePSODAD procedure, asfollow: A. Ifspecified in [RFC3971]. Therefore, the Secure Proxy NDis locally generatingSHOULD generate messages containing theSEND messagePSO option fora proxied address,SPND and RFC3971 hosts, and SHOULD NOT generate messages containing themessage is constructed as described in Neighbor DiscoveryPSO option forIP version 6 specification [RFC4861]. B. If thenon-SEND nodes. Note that ND advertisements in response to solicitations generated by a Secure Proxy NDis forwarding a SEND message, firstmust be secured or not according to theauthenticityprevious considerations (i.e. to the nature of theintercepted message is verified as specified in SEND specification [RFC3971] Section 5. Ifproxied node), and not according to theSEND message is valid, any CGAsecure orRSA option MUST be removed fromunsecure nature of the solicitation message.The intercepted message is finally modified as described in Section 4 ofTo apply this rule, we have to consider that depending on the application scenario the proxy may translate NDProxy specification [RFC4389]. 2. The Proxy Signature option is added asmessages generated by a node or synthetise ND messages on behalf of a node. o For ND translated messages, thelast optionrule can be easily applied: only messages validated in themessage. 3. The data is signed as explained in Section 6.1. 6.2.2. Processing rules for receivers Any SEND message without aSecure ProxySignature optionND according to the SEND specification [RFC3971] MUST betreated as specifiedproxied securely by the inclusion of a PSO option. Unsecured ND messages could be proxied if unsecured operation is enabled in theSEND specification [RFC3971]. A SENDproxy, but the messageincluding agenerated by the Secure ProxySignature optionND for the received message MUST NOT include a PSO option. o For ND messages synthesised on behalf of remote nodes, different considerations should beprocessed as specified below: 1. The receiver MUST ignore any RSA and CGA options, as well as any options that might come aftermade according to thefirst PSO. The options are ignoredparticular application scenario. * For MIPv6, if the MN can return to the home link, it is required forboth signature verification and NDP processing purposes. 2. The Key Hash field MUST indicatethe proxy to know if the node could useof a known public key.SEND to defend its address or not. Avalid certification path (see [RFC3971] Section 6.3)mismatch between thereceiver's trust anchorproxy andthe sender's public key MUST be known. The Secure Proxy ND's X509v3 certificate MUST contain a extended key usage extensionproxied node behavior regarding to SEND operation would result in unaproppriate operation. A HA including theKeyPurposeId valuePSO option for proxying a non-SEND MN would make ND messages sent by the proxyauthorization. 3. The Digital Signature field MUSTto be more preferred than ND message of the non-SEND MN if the MN returns to the home link (even if the proxied messages havecorrect encoding and MUST NOT exceedthelength ofOverride bit set to 1). Not using the PSO option for a RFC3971 or SPND MN would make more vulnerable the address in the home link when the MN is away than when it is in the home link (and would defeat the purpose of the Secure Proxy ND mechanism). Therefore, in this case the HA must know the SEND capabilities of the MN. * We can state the same for the ProxySignature option minusMobile IPv6 scenario as for thePadding. 4. The Digital Signature verification MUST showMIPv6 scenario. Note thatthe signaturea node moving from a link in which PSO has beencalculated as specifiedused to protect a link-layer address to a link inSection 6.1. Messages that dowhich ND messages are notpass allSEND-enabled would prevent theabove tests MUST be silently discarded ifnode from adquiring thehost has been configurednew information until the corresponding cache expires. However, in this case it is reasonable toaccept only securedconsider that all MAGs provide the same security for protecting NDmessages. 7. Backward Compatibility with legacy SEND nodesmessages, and that either all MAGs will behave as Secure Proxy ND, or none, so configuration could be easier. 8. Security Considerations ThePSO added bymechanism described in this document introduces a new Proxy Signature Option (PSO) allowing a Secure Proxy NDwill be ignored by nodes implementing the originalto generate or modify a SENDspecification and hencemessage for a proxied address. An SPND node willnot cause any interoperability problems. Since theonly accept such a message if it includes a valid PSO generated by an authorized Secure ProxyND also removesND. Such a message has equivalent protection to theoriginalthreats presented in section 9 of [RFC3971] as a message signed with a RSAoption, theseSignature option. The security of proxied ND messageswill be treated as "unsecured"not including a PSO option is the same of an unsecured ND message. The security of a proxied ND messageas described in Section 8 "Transitions Issues"received by a non-SEND host or RFC3971 host is the same of an unsecured ND message. Thanks to theSEND specification [RFC3971]. Thus, this specification does not introduce any new transition issue comparedauthorization certificate it is provisioned with, a proxy ND is authorized to issue ND signaling on behalf of nodes on theoriginal SEND specification. 8. Security Considerations The mechanism described in this document introducesubnet. Thus, anew Proxy Signature Option (PSO) allowingcompromised proxy is able, like aSecure Proxy NDcompromised router, togeneratesiphon off traffic from the host, ormodify a SEND message formount aproxied address. A node will only accept suchman-in-the- middle attack. However, when two on-link hosts communicate using their respective link-local addresses, the threats involved with amessage if it includescompromised router and avalid PSO generated by an authorized Secure Proxy ND. If, oncompromised proxy ND differs because theother hand, a message doesrouter is notincludeable to siphon off traffic exchanged between the hosts or mount aPSO, thenman-in-the-middle attack, while the proxy ND can, even if the hosts use SEND. The messages for which a Secure Proxy NDsupport doens't introduce any further security issues since this specification does not modifyperform its function, and theSEND processing ruleslink for which this function is performed MUST be configured appropriately for each proxy and scenario. This configuration is specially relevant ifan ICMPv6Secure Proxy NDmessage doesis used for translating ND messages from one link to another. Proper configuration of when the PSO option must or must notcontain a PSO. Thus,be included, depending on thesame security considerations than that ofproxied node being SENDapplies (cf.or non-SEND may result in security considerations, as discussed in Section97. Attacks to the timestamp of theSEND specification [RFC3971].)secured ND message can be performed as describe in section 7.3 of [I-D.ietf-csi-sndp-prob]. 9. IANA Considerations IANA is requested to allocate: A new IPv6 Neighbor Discovery Optiontypestype 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. A new 128-bit value under the CGA Message Type [RFC3972] namespace, 0x09F5 2BE5 3B62 4C76 CB96 4E7F CDC9 2804. 10. References 10.1. Normative References[I-D.ietf-netlmm-proxymip6] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K., and B. Patil, "Proxy Mobile IPv6", draft-ietf-netlmm-proxymip6-18 (work in progress), May 2008. [I-D.krishnan-cgaext-send-cert-eku][I-D.ietf-csi-send-cert] Gagliano, R., Krishnan, S.,Kukec, A.,andK. Ahmed,A. Kukec, "Certificate profile and certificate management for SEND",draft-krishnan-cgaext-send-cert-eku-03draft-ietf-csi-send-cert-02 (work in progress),March 2009.February 2010. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support in IPv6", RFC 3775, June 2004. [RFC3971] Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure Neighbor Discovery (SEND)", RFC 3971, March 2005. [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", RFC 3972, March 2005. [RFC4389] Thaler, D., Talwar, M., and C. Patel, "Neighbor Discovery Proxies (ND Proxy)", RFC 4389, April 2006. [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, September 2007. [RFC4862] Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless Address Autoconfiguration", RFC 4862, September 2007. [RFC5213] Gundavelli, S., Leung, K., Devarapalli, V., Chowdhury, K., and B. Patil, "Proxy Mobile IPv6", RFC 5213, August 2008. [RSA] RSA Laboratories, "RSA Encryption Standard, Version 2.1", PKCS 1 , November 2002. [SHA1] National Institute of Standards and Technology, "Secure Hash Standard", FIPS PUB 180-1 , April 1995. 10.2. Informative References [I-D.ietf-csi-sndp-prob] Combes, J., Krishnan, S., and G. Daley, "Securing Neighbor Discovery Proxy: Problem Statement", draft-ietf-csi-sndp-prob-04 (work in progress), January 2010. Authors' Addresses Suresh Krishnan Ericsson 8400 Decarie Blvd. Town of Mount Royal, QC Canada Phone: +1 514 345 7900 x42871 Email: suresh.krishnan@ericsson.com Julien LaganierDoCoMo Communications Laboratories Europe GmbH Landsberger Strasse 312 Munich D-80687 GermanyQUALCOMM Incorporated 5775 Morehouse Dr San Diego, CA 92121 USA Phone:+49 89 56824 231+1 858 658 3538 Email:julien.ietf@laposte.net URI: http://www.docomolab-euro.com/julienl@qualcomm.com Marco Bonola Rome Tor Vergata University Via del Politecnico, 1 Rome I-00133 Italy Phone: Email: marco.bonola@gmail.com Alberto Garcia-Martinez U. Carlos III de Madrid Av. Universidad 30 Leganes, Madrid 28911 Spain Phone: +34 91 6248782 Email: alberto@it.uc3m.es URI: http://www.it.uc3m.es/