Internet Engineering Task Force (IETF)                           F. Gont
Request for Comments: 8064                        SI6 Networks / UTN-FRH
Updates: 2464, 2467, 2470, 2491, 2492,                         A. Cooper
         2497, 2590, 3146, 3572, 4291,                             Cisco
         4338, 4391, 5072, 5121                                D. Thaler
Category: Standards Track                                      Microsoft
ISSN: 2070-1721                                                   W. Liu
                                                     Huawei Technologies
                                                           February 2017

          Recommendation on Stable IPv6 Interface Identifiers

Abstract

   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.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc8064.

Copyright Notice

   Copyright (c) 2017 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 this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2   3
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Generation of IPv6 Interface Identifiers with SLAAC . . . . .   4   5
   4.  Future Work . . . . . . . . . . . . . . . . . . . . . . . . .   4   5
   5.  IANA  Security Considerations . . . . . . . . . . . . . . . . . . . . .   5
   6.  Security Considerations . . . . . . . . . . . . . . . .  References  . . .   5
   7.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . .   5
   8.  References  .   6
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   5   8
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   8   9

1.  Introduction

   [RFC4862] specifies Stateless Address Autoconfiguration (SLAAC) for
   IPv6 [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) [RFC4291] that
   typically embeds a stable link-layer address (e.g., an IEEE LAN MAC
   address).

   In some network technologies and adaptation layers, the use of an IID
   based on a link-layer address may offer some advantages.  For
   example, the IP-over-IEEE802.15.4 standard in [RFC6775] [RFC6282] allows for the compression of IPv6 addresses datagrams over
   IEEE 802.15.4-based networks [RFC4944] when the IID is based on the
   underlying link-layer address.

   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 [RFC7721].  They include:

   o  Network-activity correlation

   o  Location tracking

   o  Address scanning

   o  Device-specific vulnerability exploitation

   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 [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.

   Furthermore, some popular IPv6 implementations have already deviated
   from the traditional stable IID generation scheme to mitigate the
   aforementioned security and privacy implications [Microsoft].

   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 [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.

   NOTE:
      [RFC4291] defines the "Modified EUI-64 format" for IIDs.
      Appendix A of [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.

   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 routing router interfaces.
   Similarly, stable addresses (as opposed to temporary addresses
   [RFC4941]) allow for long-lived TCP connections and are also usually
   desirable when performing server-like functions (i.e., receiving
   incoming connections).

   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 [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.

2.  Terminology

   Stable address:
      An address that does not vary over time within the same network
      (this is consistent with
      (as defined in [RFC7721]).

   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 [RFC2119].

3.  Generation of IPv6 Interface Identifiers with SLAAC

   Nodes SHOULD implement and employ [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 Section 1.  The choice of whether or not
   to enable the security- and privacy-preserving mechanism SHOULD be
   configurable in such a case.

   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 [RFC2464], [RFC2467], [RFC2470], [RFC2491],
   [RFC2492], [RFC2497], [RFC2590], [RFC3146], [RFC3572], [RFC4338],
   [RFC4391], [RFC5072], and [RFC5121].

4.  Future Work

   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:

   o  "Compression Format for IPv6 Datagrams over IEEE 802.15.4-Based
      Networks" [RFC6282]

   o  "Transmission of IPv6 Packets over IEEE 802.15.4 Networks"
      [RFC4944]

   o  "Neighbor Discovery Optimization for IPv6 over Low-Power Wireless
      Personal Area Networks (6LoWPANs)" [RFC6775]

   o  "Transmission of IPv6 Packets over ITU-T G.9959 Networks"
      [RFC7428]

   Future revisions or updates of these documents should review consider the
   issues of privacy and security mentioned in Section 1 and explain any
   design and engineering considerations that lead to the use of stable
   IIDs based on a node's link-layer address.

5.  IANA Considerations

   This document does not require any IANA actions.

6.  Security Considerations

   This document recommends against the (default) use of predictable
   Interface Identifiers in IPv6 addresses.  It recommends [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.

7.  Acknowledgements

   The authors would like to thank (in alphabetical order) Bob Hinden,
   Ray Hunter, and Erik Nordmark, for providing a detailed review of
   this document.

   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.

8.

6.  References

8.1.

6.1.  Normative References

   [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
               Requirement Levels", BCP 14, RFC 2119,
               DOI 10.17487/RFC2119, March 1997,
               <http://www.rfc-editor.org/info/rfc2119>.

   [RFC2460]   Deering, S. and R. Hinden, "Internet Protocol, Version 6
               (IPv6) Specification", RFC 2460, DOI 10.17487/RFC2460,
               December 1998, <http://www.rfc-editor.org/info/rfc2460>.

   [RFC2464]   Crawford, M., "Transmission of IPv6 Packets over Ethernet
               Networks", RFC 2464, DOI 10.17487/RFC2464, December 1998,
               <http://www.rfc-editor.org/info/rfc2464>.

   [RFC2467]   Crawford, M., "Transmission of IPv6 Packets over FDDI
               Networks", RFC 2467, DOI 10.17487/RFC2467, December 1998,
               <http://www.rfc-editor.org/info/rfc2467>.

   [RFC2470]   Crawford, M., Narten, T., and S. Thomas, "Transmission of
               IPv6 Packets over Token Ring Networks", RFC 2470,
               DOI 10.17487/RFC2470, December 1998,
               <http://www.rfc-editor.org/info/rfc2470>.

   [RFC2491]   Armitage, G., Schulter, P., Jork, M., and G. Harter,
               "IPv6 over Non-Broadcast Multiple Access (NBMA)
               networks", RFC 2491, DOI 10.17487/RFC2491, January 1999,
               <http://www.rfc-editor.org/info/rfc2491>.

   [RFC2492]   Armitage, G., Schulter, P., and M. Jork, "IPv6 over ATM
               Networks", RFC 2492, DOI 10.17487/RFC2492, January 1999,
               <http://www.rfc-editor.org/info/rfc2492>.

   [RFC2497]   Souvatzis, I., "Transmission of IPv6 Packets over ARCnet
               Networks", RFC 2497, DOI 10.17487/RFC2497, January 1999,
               <http://www.rfc-editor.org/info/rfc2497>.

   [RFC2590]   Conta, A., Malis, A., and M. Mueller, "Transmission of
               IPv6 Packets over Frame Relay Networks Specification",
               RFC 2590, DOI 10.17487/RFC2590, May 1999,
               <http://www.rfc-editor.org/info/rfc2590>.

   [RFC3146]   Fujisawa, K. and A. Onoe, "Transmission of IPv6 Packets
               over IEEE 1394 Networks", RFC 3146, DOI 10.17487/RFC3146,
               October 2001, <http://www.rfc-editor.org/info/rfc3146>.

   [RFC4291]   Hinden, R. and S. Deering, "IP Version 6 Addressing
               Architecture", RFC 4291, DOI 10.17487/RFC4291, February
               2006, <http://www.rfc-editor.org/info/rfc4291>.

   [RFC4338]   DeSanti, C., Carlson, C., and R. Nixon, "Transmission of
               IPv6, IPv4, and Address Resolution Protocol (ARP) Packets
               over Fibre Channel", RFC 4338, DOI 10.17487/RFC4338,
               January 2006, <http://www.rfc-editor.org/info/rfc4338>.

   [RFC4391]   Chu, J. and V. Kashyap, "Transmission of IP over
               InfiniBand (IPoIB)", RFC 4391, DOI 10.17487/RFC4391,
               April 2006, <http://www.rfc-editor.org/info/rfc4391>.

   [RFC4862]   Thomson, S., Narten, T., and T. Jinmei, "IPv6 Stateless
               Address Autoconfiguration", RFC 4862,
               DOI 10.17487/RFC4862, September 2007,
               <http://www.rfc-editor.org/info/rfc4862>.

   [RFC4941]   Narten, T., Draves, R., and S. Krishnan, "Privacy
               Extensions for Stateless Address Autoconfiguration in
               IPv6", RFC 4941, DOI 10.17487/RFC4941, September 2007,
               <http://www.rfc-editor.org/info/rfc4941>.

   [RFC4944]   Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler,
               "Transmission of IPv6 Packets over IEEE 802.15.4
               Networks", RFC 4944, DOI 10.17487/RFC4944, September
               2007, <http://www.rfc-editor.org/info/rfc4944>.

   [RFC5072]   Varada, S., Ed., Haskins, D., and E. Allen, "IP Version 6
               over PPP", RFC 5072, DOI 10.17487/RFC5072, September
               2007, <http://www.rfc-editor.org/info/rfc5072>.

   [RFC5121]   Patil, B., Xia, F., Sarikaya, B., Choi, JH., and S.
               Madanapalli, "Transmission of IPv6 via the IPv6
               Convergence Sublayer over IEEE 802.16 Networks",
               RFC 5121, DOI 10.17487/RFC5121, February 2008,
               <http://www.rfc-editor.org/info/rfc5121>.

   [RFC6282]   Hui, J., Ed. and P. Thubert, "Compression Format for IPv6
               Datagrams over IEEE 802.15.4-Based Networks", RFC 6282,
               DOI 10.17487/RFC6282, September 2011,
               <http://www.rfc-editor.org/info/rfc6282>.

   [RFC6775]   Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C.
               Bormann, "Neighbor Discovery Optimization for IPv6 over
               Low-Power Wireless Personal Area Networks (6LoWPANs)",
               RFC 6775, DOI 10.17487/RFC6775, November 2012,
               <http://www.rfc-editor.org/info/rfc6775>.

   [RFC7217]   Gont, F., "A Method for Generating Semantically Opaque
               Interface Identifiers with IPv6 Stateless Address
               Autoconfiguration (SLAAC)", RFC 7217,
               DOI 10.17487/RFC7217, April 2014,
               <http://www.rfc-editor.org/info/rfc7217>.

   [RFC7428]   Brandt, A. and J. Buron, "Transmission of IPv6 Packets
               over ITU-T G.9959 Networks", RFC 7428,
               DOI 10.17487/RFC7428, February 2015,
               <http://www.rfc-editor.org/info/rfc7428>.

8.2.

6.2.  Informative References

   [Microsoft] Davies, J., "Understanding IPv6, 3rd. ed",
               page 83, Microsoft Press, 2012,
               <http://it-ebooks.info/book/1022/>.

   [NUM-IDS]   Gont, F. and I. Arce, "Security and Privacy Implications
               of Numeric Identifiers Employed in Network Protocols",
               Work in Progress, February 2016.

   [RFC3572]   Ogura, T., Maruyama, M., and T. Yoshida, "Internet
               Protocol Version 6 over MAPOS (Multiple Access Protocol
               Over SONET/SDH)", RFC 3572, DOI 10.17487/RFC3572, July
               2003, <http://www.rfc-editor.org/info/rfc3572>.

   [RFC7721]   Cooper, A., Gont, F., and D. Thaler, "Security and
               Privacy Considerations for IPv6 Address Generation
               Mechanisms", RFC 7721, DOI 10.17487/RFC7721, March 2016,
               <http://www.rfc-editor.org/info/rfc7721>.

Acknowledgements

   The authors would like to thank (in alphabetical order) Bob Hinden,
   Ray Hunter, and Erik Nordmark, for providing a detailed review of
   this document.

   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.

Authors' Addresses

   Fernando Gont
   SI6 Networks / UTN-FRH
   Evaristo Carriego 2644
   Haedo, Provincia de Buenos Aires  1706
   Argentina

   Phone: +54 11 4650 8472
   Email: fgont@si6networks.com
   URI:   http://www.si6networks.com   https://www.si6networks.com

   Alissa Cooper
   Cisco
   707 Tasman Drive
   Milpitas, CA  95035
   United States of America

   Phone: +1-408-902-3950
   Email: alcoop@cisco.com
   URI:   https://www.cisco.com/

   Dave Thaler
   Microsoft
   Microsoft Corporation
   One Microsoft Way
   Redmond, WA  98052

   Phone: +1 425 703 8835
   Email: dthaler@microsoft.com

   Will (Shucheng) Liu
   Huawei Technologies
   Bantian, Longgang District
   Shenzhen  518129
   China

   Email: liushucheng@huawei.com