<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> 
<?rfc toc="yes" ?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="1"?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes" ?>
<?rfc strict="no" ?>

<rfc number="8064" category="std" submissionType="IETF" consensus="yes"
  ipr="trust200902" updates="2464, 2467, 2470, 2491, 2492, 2497, 2590, 3146, 3572, 4291, 4338, 4391, 5072, 5121">

<front>
<title abbrev="Default Interface Identifiers">Recommendation on Stable IPv6 Interface Identifiers</title>


    <author fullname="Fernando Gont" initials="F." surname="Gont">
      <organization abbrev="SI6 Networks / UTN-FRH">SI6 Networks / UTN-FRH</organization>

      <address>
        <postal>
          <street>Evaristo Carriego 2644</street>

          <code>1706</code>

          <city>Haedo</city>

          <region>Provincia de Buenos Aires</region>

          <country>Argentina</country>
        </postal>

        <phone>+54 11 4650 8472</phone>

        <email>fgont@si6networks.com</email>

        <uri>https://www.si6networks.com</uri>
      </address>
    </author>

<author initials="A." surname="Cooper" fullname="Alissa Cooper">
    <organization>Cisco</organization>
    <address>
      <postal>
        <street>707 Tasman Drive</street>
        <city>Milpitas</city>
		  <region>CA</region>
        <code>95035</code>
        <country>United States of America</country>
      </postal>
      <phone>+1-408-902-3950</phone>
      <email>alcoop@cisco.com</email>
      <uri>https://www.cisco.com/</uri>
    </address>
  </author>

	<author
	        fullname="Dave Thaler"
	        initials="D."
	        surname="Thaler">
	        <organization>Microsoft</organization>

	        <address>

	            <postal>    
				<street>Microsoft Corporation</street>
				<street>One Microsoft Way</street>
			<city>Redmond</city>
			<region>WA</region>
			<code>98052</code>
	            </postal>
	            <phone>+1 425 703 8835</phone>

	            <email>dthaler@microsoft.com</email>

	        </address>
	    </author>

    <author initials="W." surname="Liu" fullname="Will (Shucheng) Liu">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <street>Bantian, Longgang District</street>
          <city>Shenzhen</city>
          <code>518129</code>
          <country>China</country>
        </postal>
        <email>liushucheng@huawei.com</email>
      </address>
    </author>


<date month="February" year="2017"/>
<area>Internet</area>
<workgroup>IPv6 maintenance Working Group (6man)</workgroup>

<!-- [rfced] Please insert any keywords (beyond those that appear in 
the title) for use on https://www.rfc-editor.org/search.
-->

<keyword>security</keyword><keyword>privacy</keyword><keyword>address</keyword>
<keyword>scanning</keyword><keyword>tracking</keyword><keyword>correlation</keyword>

    <abstract>
    <t>

This document changes the recommended default Interface Identifier (IID) generation scheme
for cases where Stateless Address Autoconfiguration (SLAAC) is used to
generate a stable IPv6 address. It recommends using the mechanism specified in
RFC 7217 in such cases, and recommends against embedding stable link-layer
addresses in IPv6 IIDs. It formally updates RFC 2464, RFC 2467, RFC 2470,
RFC 2491, RFC 2492, RFC 2497, RFC 2590, RFC 3146, RFC 3572, RFC 4291, RFC 4338,
RFC 4391, RFC 5072, and RFC 5121. This document does not change any existing
recommendations concerning the use of temporary addresses as specified in RFC
4941. 
    </t>
    </abstract>
  </front>

  <middle>
  
  
<section title="Introduction" anchor="intro">
<t><xref target="RFC4862"/> specifies Stateless Address Autoconfiguration
(SLAAC) for IPv6 <xref target="RFC2460"/>, which typically results in hosts
configuring one or more "stable" addresses composed of a network prefix
advertised by a local router, and an Interface Identifier (IID) <xref
target="RFC4291"/> that typically embeds a stable link-layer address (e.g., an
IEEE LAN MAC address). </t> 

<t>In some network technologies and adaptation layers, the use of an IID based
on a link-layer address may offer some advantages.  

<!-- [rfced] Because RFC 4944 seems to be the IP-over-IEEE802.15.4 standard,
we suggest the following update.  Please let us know if this is acceptable: 

Original:
   For
   example, the IP-over-IEEE802.15.4 standard in [RFC6775] allows for
   compression of IPv6 addresses when the IID is based on the underlying
   link-layer address.

Suggested:
   For
   example, the IP-over-6LoWPAN optimizations [RFC6775] (which updates the
   IP-over-IEEE802.15.4 standard [RFC4944]) allow for
   compression of IPv6 addresses when the IID is based on the underlying
   link-layer address.
-->

<!-- [fgont] The correct reference here seems to be RFC6282, which specifies header compression (RFC6775 is related, but unnecessary here) -->

   For example, <xref target="RFC6282"/> allows for the compression of IPv6 datagrams over IEEE 802.15.4-based networks <xref target="RFC4944"/> when the IID is based on the underlying link-layer address.</t>





<t>The security and privacy implications of embedding a stable link-layer
address in an IPv6 IID have been known for some time now and are discussed in
great detail in <xref target="RFC7721"/>. They include: 

<list style="symbols">
<t>Network-activity correlation</t>
<t>Location tracking</t>
<t>Address scanning</t>
<t>Device-specific vulnerability exploitation</t>
</list>
</t>

<t>More generally, the reuse of identifiers that have their own semantics or
properties across different contexts or scopes can be detrimental for security
and privacy <xref target="NUM-IDS"/>.  In the case of
traditional stable IPv6 IIDs, some of the security and privacy implications
are dependent on the properties of the underlying link-layer addresses (e.g.,
whether the link-layer address is ephemeral or randomly generated), while
other implications (e.g., reduction of the entropy of the IID) depend on the
algorithm for generating the IID itself. In standardized recommendations for
stable IPv6 IID generation meant to achieve particular security and privacy
properties, it is necessary to recommend against embedding stable link-layer
addresses in IPv6 IIDs.

</t>

<t>Furthermore, some popular IPv6 implementations have already deviated from
the traditional stable IID generation scheme to mitigate the aforementioned
security and privacy implications <xref target="Microsoft"/>.</t> 

<t>As a result of the aforementioned issues, this document changes the
recommended default IID generation scheme for generating stable IPv6 addresses
with SLAAC to that specified in <xref target="RFC7217"/> and recommends
against embedding stable link-layer addresses in IPv6 Interface Identifiers,
such that the aforementioned issues are mitigated. That is, this document
simply replaces the default algorithm that is recommended to be employed when
generating stable IPv6 IIDs. 
</t>


<t>
<list style="hanging">
<t hangText="NOTE:">
<vspace blankLines="0" /><xref target="RFC4291"/> defines the "Modified EUI-64 format" for IIDs.
Appendix A of <xref target="RFC4291"/> then describes how to transform an IEEE
EUI-64 identifier, or an IEEE 802 48-bit MAC address from which an EUI-64
identifier is derived, into an IID in the Modified EUI-64 format. 
</t>
</list>
</t>
<t>In a variety of scenarios, addresses that remain stable for the lifetime of
a host's connection to a single subnet are viewed as desirable. For example,
stable addresses may be viewed as beneficial for network management, event
logging, enforcement of access control, provision of quality of service, or
for server or router interfaces. Similarly, stable addresses (as opposed to
temporary addresses <xref target="RFC4941"/>) allow for long-lived TCP
connections and are also usually desirable when performing server-like
functions (i.e., receiving incoming connections).  
</t>


<t>The recommendations in this document apply only in cases where
implementations otherwise would have configured a stable IPv6 IID containing a
link-layer address.  For example, this document does not change any existing
recommendations concerning the use of temporary addresses as specified in
<xref target="RFC4941"/> and the recommendations do not apply to cases where
SLAAC is employed to generate non-stable IPv6 addresses (e.g., by embedding a
link-layer address that is periodically randomized); in addition, this
document does not introduce any
new requirements regarding when stable addresses are to be configured.  Thus,
the recommendations in this document simply improve the security and privacy
properties of stable addresses. 
</t>


</section>

<section title="Terminology" anchor="terminology">

<!-- [fgont] I backed out the change applied by the RFC-Ed, as suggested by Alissa -->
<t>
<list style="hanging">
<t hangText="Stable address:">
<vspace blankLines="0" />An address that does not vary over time within the
same network (as defined in <xref target="RFC7721"/>).</t>
</list>
</t>

<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
   RFC 2119 <xref target="RFC2119"/>.</t>
</section>

<section title="Generation of IPv6 Interface Identifiers with SLAAC" anchor="iid-generation">




<t>
   Nodes SHOULD implement and employ <xref target="RFC7217"/> as the default scheme for generating stable IPv6 addresses with SLAAC.  A link layer MAY also
   define a mechanism for stable IPv6 address generation that is more efficient and does not address the security and privacy considerations discussed in <xref target="intro"/>.  The
   choice of whether or not to enable the security- and privacy-preserving
   mechanism SHOULD be configurable in 
   such a case.
</t>

<t>By default, nodes SHOULD NOT employ IPv6 address generation schemes that embed a stable link-layer address in the IID. In particular, this document RECOMMENDS that nodes do not generate stable IIDs with the schemes specified in <xref target="RFC2464"/>, <xref target="RFC2467"/>, <xref target="RFC2470"/>, 
<xref target="RFC2491"/>, <xref target="RFC2492"/>, <xref target="RFC2497"/>,
<xref target="RFC2590"/>, <xref target="RFC3146"/>, <xref target="RFC3572"/>,
<xref target="RFC4338"/>, <xref target="RFC4391"/>, <xref target="RFC5072"/>,
and <xref target="RFC5121"/>. 

</t>
</section>


	<section title="Future Work" anchor="future-work">
<t>
At the time of this writing, the mechanisms specified in the following documents might require updates to be fully compatible with the recommendations in this document:
<list style="symbols">
<t>&quot;Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based Networks&quot; <xref target="RFC6282"/></t>
<t>&quot;Transmission of IPv6 Packets over IEEE 802.15.4 Networks&quot; <xref target="RFC4944"/></t>
<t>&quot;Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)&quot; <xref target="RFC6775"/></t>
<t>&quot;Transmission of IPv6 Packets over ITU-T G.9959 Networks&quot; <xref target="RFC7428"/></t>
</list>

Future revisions or updates of these documents should consider the issues of privacy and security mentioned in <xref target="intro"/> and explain any design and engineering considerations that lead to the use of stable IIDs based on a node's link-layer address.
</t>
</section>

<!--  [fgont] I've commented out the IANA considerations section, as suggested by Dave. This is still to be ok'ed by the other folks.

	<section title="IANA Considerations" anchor="iana-considerations">
<t>This document does not require any IANA actions.</t>
</section>
-->

    <section title="Security Considerations" anchor="sec-cons">
<t>This document recommends against the (default) use of predictable Interface
 Identifiers in IPv6 addresses. It recommends <xref
 target="RFC7217"/> as the default scheme for generating IPv6 stable addresses
 with SLAAC, such that the security and privacy issues of IIDs that embed
 stable link-layer addresses 
 are mitigated.</t>


    </section>


    <section title="Acknowledgements">
<t>The authors would like to thank (in alphabetical order) Bob Hinden, Ray
Hunter, and Erik Nordmark, for providing a detailed review of this
document.</t> 

<t>The authors would like to thank (in alphabetical order) Fred Baker, Carsten
Bormann, Scott Brim, Brian Carpenter, Samita Chakrabarti, Tim Chown, Lorenzo
Colitti, Jean-Michel Combes, Greg Daley, Esko Dijk, Ralph Droms, David Farmer,
Brian Haberman, Ulrich Herberg, Philip Homburg, Jahangir Hossain, Jonathan
Hui, Christian Huitema, Ray Hunter, Erik Kline, Sheng Jiang, Roger Jorgensen,
Dan Luedtke, Kerry Lynn, George Mitchel, Gabriel Montenegro, Erik Nordmark,
Simon Perreault, Tom Petch, Alexandru Petrescu, Michael Richardson, Arturo
Servin, Mark Smith, Tom Taylor, Ole Troan, Tina Tsou, Glen Turner, Randy
Turner, James Woodyatt, and Juan Carlos Zuniga, for providing valuable comments
on earlier draft versions of this document.</t>
    </section>


  </middle>




  <back>
  <references title='Normative References'>
	<?rfc include="reference.RFC.2119" ?>
	<?rfc include="reference.RFC.2460" ?>
	<?rfc include="reference.RFC.2464" ?>
	<?rfc include="reference.RFC.2467" ?>
	<?rfc include="reference.RFC.2470" ?>
	<?rfc include="reference.RFC.2492" ?>
	<?rfc include="reference.RFC.4291" ?>
	<?rfc include="reference.RFC.4862" ?>
	<?rfc include="reference.RFC.4941" ?>
	<?rfc include="reference.RFC.7217" ?>
	<?rfc include="reference.RFC.2491" ?>
	<?rfc include="reference.RFC.2497" ?>
	<?rfc include="reference.RFC.2590" ?>
	<?rfc include="reference.RFC.3146" ?>

	<?rfc include="reference.RFC.4338" ?>
	<?rfc include="reference.RFC.4391" ?>
	<?rfc include="reference.RFC.4944" ?>
	<?rfc include="reference.RFC.5121" ?>
	<?rfc include="reference.RFC.5072" ?>
<!--
	<?rfc include="reference.RFC.5453" ?>
-->
<!-- Link layers agregadas:
2491
2492
2497
2590
3146
3572
4338
4391
4944
5121
5072

-->

<!-- These ones are marked for "Future Work" -->
	<?rfc include="reference.RFC.6282" ?>
	<?rfc include="reference.RFC.6775" ?>
	<?rfc include="reference.RFC.7428" ?>
  </references>

  <references title='Informative References'>

<!-- [fgont] This should really be a normative reference, but I moved it here to avoid the downref  -->
	<?rfc include="reference.RFC.3572" ?>

<!--	<?rfc include="reference.I-D.gont-predictable-numeric-ids" ?>  -->

<reference anchor='NUM-IDS'>
<front>
<title>Security and Privacy Implications of Numeric Identifiers Employed in
Network Protocols</title> 

<author initials='F' surname='Gont' fullname='Fernando Gont'>
    <organization />
</author>

<author initials='I' surname='Arce' fullname='Ivan Arce'>
    <organization />
</author>

<date month='February' year='2016' />

<abstract><t>This document performs an analysis of the security and privacy implications of different types of "numeric identifiers" used in IETF protocols, and tries to categorize them based on their interoperability requirements and the assoiated failure severity when such requirements are not met.  It describes a number of algorithms that have been employed in real implementations to meet such requirements and analyzes their security and privacy properties. Additionally, it provides advice on possible algorithms that could be employed to satisfy the interoperability requirements of each identifier type, while minimizing the security and privacy implications, thus providing guidance to protocol designers and protocol implementers.  Finally, it provides recommendations for future protocol specifications regarding the specification of the aforementioned numeric identifiers.</t></abstract>

</front>

<seriesInfo name='Work in' value='Progress' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-gont-predictable-numeric-ids-00.txt' />
</reference>




	<?rfc include="reference.RFC.7721" ?>

 	<reference anchor="Microsoft" target="http://it-ebooks.info/book/1022/">
		<front>
			<title>Understanding IPv6, 3rd. ed</title>
<author
        fullname="Joseph Davies"
        initials="J."
        surname="Davies">
    </author>  
<date year="2012"/>
		</front>
		<seriesInfo name="page&nbsp;83," value="Microsoft Press"/>
	</reference>



</references>
  </back>
</rfc>
