| < draft-ietf-6lo-privacy-considerations-00.txt | draft-ietf-6lo-privacy-considerations-01.txt > | |||
|---|---|---|---|---|
| Network Working Group D. Thaler | Network Working Group D. Thaler | |||
| Internet-Draft Microsoft | Internet-Draft Microsoft | |||
| Intended status: Informational October 18, 2015 | Intended status: Informational July 6, 2016 | |||
| Expires: April 20, 2016 | Expires: January 7, 2017 | |||
| Privacy Considerations for IPv6 over Networks of Resource-Constrained | Privacy Considerations for IPv6 over Networks of Resource-Constrained | |||
| Nodes | Nodes | |||
| draft-ietf-6lo-privacy-considerations-00 | draft-ietf-6lo-privacy-considerations-01 | |||
| Abstract | Abstract | |||
| This document discusses how a number of privacy threats apply to | This document discusses how a number of privacy threats apply to | |||
| technologies designed for IPv6 over networks of resource-constrained | technologies designed for IPv6 over networks of resource-constrained | |||
| nodes, and provides advice to protocol designers on how to address | nodes, and provides advice to protocol designers on how to address | |||
| such threats in IPv6-over-foo adaptation layer specifcations. | such threats in adaptation layer specifications for IPv6 over such | |||
| links. | ||||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on April 20, 2016. | This Internet-Draft will expire on January 7, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2016 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Amount of Entropy Needed . . . . . . . . . . . . . . . . . . 3 | 2. Amount of Entropy Needed in Global Addresses . . . . . . . . 3 | |||
| 3. Potential Approaches . . . . . . . . . . . . . . . . . . . . 4 | 3. Potential Approaches . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3.1. IEEE-Identifier-Based Addresses . . . . . . . . . . . . . 5 | 3.1. IEEE-Identifier-Based Addresses . . . . . . . . . . . . . 5 | |||
| 3.2. Short Addresses . . . . . . . . . . . . . . . . . . . . . 5 | 3.2. Short Addresses . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 6 | 4. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 7 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 7 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 7 | 7.2. Informative References . . . . . . . . . . . . . . . . . 8 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 1. Introduction | 1. Introduction | |||
| RFC 6973 [RFC6973] discusses privacy considerations for Internet | RFC 6973 [RFC6973] discusses privacy considerations for Internet | |||
| protocols, and Section 5.2 in particular covers a number of privacy- | protocols, and Section 5.2 in particular covers a number of privacy- | |||
| specific threats. In the context of IPv6 addresses, Section 3 of | specific threats. In the context of IPv6 addresses, Section 3 of | |||
| [I-D.ietf-6man-ipv6-address-generation-privacy] provides further | [RFC7721] provides further elaboration on the applicability of the | |||
| elaboration on the applicability of the privacy threats. | privacy threats. | |||
| When interface identifiers (IIDs) are generated without sufficient | When interface identifiers (IIDs) are generated without sufficient | |||
| entropy compared to the link lifetime, devices and users can become | entropy compared to the link lifetime, devices and users can become | |||
| vulnerable to the various threats discussed there, including: | vulnerable to the various threats discussed there, including: | |||
| o Correlation of activities over time, if the same identifier is | o Correlation of activities over time, if the same identifier is | |||
| used for Internet traffic over period of time | used for traffic over period of time | |||
| o Location tracking, if the same interface identifier is used with | o Location tracking, if the same interface identifier is used with | |||
| different prefixes as a device moves between different networks | different prefixes as a device moves between different networks | |||
| o Device-specific vulnerability exploitation, if the identifier | o Device-specific vulnerability exploitation, if the identifier | |||
| helps identify a vendor or version or protocol and hence suggests | helps identify a vendor or version or protocol and hence suggests | |||
| what types of attacks to try | what types of attacks to try | |||
| o Address scanning, which enables all of the above attacks by off- | o Address scanning, which enables all of the above attacks by off- | |||
| link attackers. | link attackers. (On some Non-Broadcast Multi-Access (NBMA) links | |||
| where all nodes aren't already privy to all on-link addresses, | ||||
| address scans might also be done by on-link attackers, but in most | ||||
| cases address scans are not an interesting threat from on-link | ||||
| attackers and thus address scans generally apply only to routable | ||||
| addresses.) | ||||
| Typically "enough" bits of entropy means at least 46 bits (see | For example, for links that may last for years, "enough" bits of | |||
| Section 2 for why); ideally all 64 bits of the IID should be used, | entropy means at least 46 or so bits (see Section 2 for why) in a | |||
| routable address; ideally all 64 bits of the IID should be used, | ||||
| although historically some bits have been excluded for reasons | although historically some bits have been excluded for reasons | |||
| discussed in [RFC7421]. | discussed in [RFC7421]. Link-local addresses can also be susceptible | |||
| to the same privacy threats from off-link attackers, since experience | ||||
| shows they are often leaked by upper-layer protocols such as SMTP, | ||||
| SIP, or DNS. | ||||
| For these reasons, [I-D.ietf-6man-default-iids] recommends using an | For these reasons, [I-D.ietf-6man-default-iids] recommends using an | |||
| address generation scheme in [RFC7217], rather than addresses | address generation scheme in [RFC7217], rather than addresses | |||
| generated from a fixed IEEE identifier. | generated from a fixed link-layer address. | |||
| Furthermore, to mitigate the threat of correlation of activities over | Furthermore, to mitigate the threat of correlation of activities over | |||
| time on long-lived links, [RFC4941] specifies the notion of a | time on long-lived links, [RFC4941] specifies the notion of a | |||
| "temporary" address to be used for transport sessions (typically | "temporary" address to be used for transport sessions (typically | |||
| locally-initiated outbound traffic to the Internet) that should not | locally-initiated outbound traffic to the Internet) that should not | |||
| be linkable to a more permanent identifier such as a DNS name, user | be linkable to a more permanent identifier such as a DNS name, user | |||
| name, or stable hardware address. Indeed, the default address | name, or fixed link-layer address. Indeed, the default address | |||
| selection rules [RFC6724] now prefer temporary addresses by default | selection rules [RFC6724] now prefer temporary addresses by default | |||
| for outgoing connections. If a device needs to simultaneously | for outgoing connections. If a device needs to simultaneously | |||
| support unlinkable traffic as well as traffic that is linkable to | support unlinkable traffic as well as traffic that is linkable to | |||
| such a stable identifier, this necessitates supporting simultaneous | such a stable identifier, this necessitates supporting simultaneous | |||
| use of multiple addresses per device. | use of multiple addresses per device. | |||
| 2. Amount of Entropy Needed | 2. Amount of Entropy Needed in Global Addresses | |||
| In terms of privacy threats discussed in | In terms of privacy threats discussed in [RFC7721], the one with the | |||
| [I-D.ietf-6man-ipv6-address-generation-privacy], the one with the | need for the most entropy is address scans of routable addresses. To | |||
| need for the most entropy is address scans. To mitigate address | mitigate address scans, one needs enough entropy to make the | |||
| scans, one needs enough entropy to make the probability of a | probability of a successful address probe be negligible. Typically | |||
| successful address probe be negligible. Typically this is measured | this is measured in the length of time it would take to have a 50% | |||
| in the length of time it would take to have a 50% probability of | probability of getting at least one hit. Address scans often rely on | |||
| getting at least one hit. Address scans often rely on sending a | sending a packet such as a TCP SYN or ICMP Echo Request, and | |||
| packet such as a TCP SYN or ICMP Echo Request, and determining | determining whether the reply is an ICMP unreachable error (if no | |||
| whether the reply is an ICMP unreachable error (if no host exists) or | host exists with that address) or a TCP response or ICMP Echo Reply | |||
| a TCP response or ICMP Echo Reply (if a host exists), or neither in | (if a host exists), or neither in which case nothing is known for | |||
| which case nothing is known for certain. | certain. | |||
| Many privacy-sensitive devices support a "stealth mode" as discussed | Many privacy-sensitive devices support a "stealth mode" as discussed | |||
| in Section 5 of [RFC7288] whereby they will not send a TCP RST or | in Section 5 of [RFC7288] or are behind a network firewall that will | |||
| ICMP Echo Reply. In such cases, and when the device does not listen | drop unsolicited inbound traffic (e.g., TCP SYNs, ICMP Echo Requests, | |||
| on a well-known TCP port known to the scanner, the effectiveness of | etc.) and thus no TCP RST or ICMP Echo Reply will be sent. In such | |||
| an address scan is limited by the ability to get ICMP unreachable | cases, and when the device does not listen on a well-known TCP or UDP | |||
| errors, since the attacker can only infer the presence of a host | port known to the scanner, the effectiveness of an address scan is | |||
| based on the absense of an ICMP unreachable error. | limited by the ability to get ICMP unreachable errors, since the | |||
| attacker can only infer the presence of a host based on the absense | ||||
| of an ICMP unreachable error. | ||||
| Generation of ICMP unreachable errors is typically rate limited to 2 | Generation of ICMP unreachable errors is typically rate limited to 2 | |||
| per second (the default in routers such as Cisco routers running IOS | per second (the default in routers such as Cisco routers running IOS | |||
| 12.0 or later). Such a rate results in taking about a year to | 12.0 or later). Such a rate results in taking about a year to | |||
| completely scan 26 bits of space. | completely scan 26 bits of space. | |||
| The actual math is as follows. Let 2^N be the number of devices on | The actual math is as follows. Let 2^N be the number of devices on | |||
| the subnet. Let 2^M be the size of the space to scan (i.e., M bits | the subnet. Let 2^M be the size of the space to scan (i.e., M bits | |||
| of entropy). Let S be the number of scan attempts. The formula for | of entropy). Let S be the number of scan attempts. The formula for | |||
| a 50% chance of getting at least one hit in S attempts is: P(at least | a 50% chance of getting at least one hit in S attempts is: P(at least | |||
| one success) = 1 - (1 - 2^N/2^M)^S = 1/2. Assuming 2^M >> S, this | one success) = 1 - (1 - 2^N/2^M)^S = 1/2. Assuming 2^M >> S, this | |||
| simplifies to: S * 2^N/2^M = 1/2, giving S = 2^(M-N-1), or M = N + 1 | simplifies to: S * 2^N/2^M = 1/2, giving S = 2^(M-N-1), or M = N + 1 | |||
| + log_2(S). Using a scan rate of 2 per second, this results in the | + log_2(S). Using a scan rate of 2 per second, this results in the | |||
| following rule of thumb: | following rule of thumb: | |||
| Bits of entropy needed = log_2(# devices per link) + log_2(seconds | Bits of entropy needed = log_2(# devices per link) + log_2(seconds | |||
| of link lifetime) + 2 | of link lifetime) + 2 | |||
| For example, for a network with at most 2^16 devices on the same | For example, for a network with at most 2^16 devices on the same | |||
| long-lived link, and the average lifetime of a device being 8 years | long-lived link, and the average lifetime of a link being 8 years | |||
| (2^28 seconds) or less, this results in a need for at least 46 bits | (2^28 seconds) or less, this results in a need for at least 46 bits | |||
| of entropy (16+28+2) so that an address scan would need to be | of entropy (16+28+2) so that an address scan would need to be | |||
| sustained for longer than the lifetime of devices to have a 50% | sustained for longer than the lifetime of the link to have a 50% | |||
| chance of getting a hit. | chance of getting a hit. | |||
| Although 46 bits of entropy may be enough to provide privacy in such | Although 46 bits of entropy may be enough to provide privacy in such | |||
| cases, 59 or more bits of entropy would be needed if addresses are | cases, 59 or more bits of entropy would be needed if addresses are | |||
| used to provide security against attacks such as spoofing, as CGAs | used to provide security against attacks such as spoofing, as CGAs | |||
| [RFC3972] and HBAs [RFC5535] do, since attacks are not limited by | [RFC3972] and HBAs [RFC5535] do, since attacks are not limited by | |||
| ICMP rate limiting but by the processing power of the attacker. See | ICMP rate limiting but by the processing power of the attacker. See | |||
| those RFCs for more discussion. | those RFCs for more discussion. | |||
| If, on the other hand, the devices being scanned for do not implement | If, on the other hand, the devices being scanned for respond to | |||
| a "stealth mode", but respond with TCP RST or ICMP Echo Reply | unsolicited inbound packets, then the address scan is not limited by | |||
| packets, then the address scan is not limited by the ICMP unreachable | the ICMP unreachable rate limit in routers, since an adversary can | |||
| rate limit in routers, since the attacker can determine the presence | determine the presence of a host without them. In such cases, more | |||
| of a host without them. In such cases, more bits of entropy would be | bits of entropy would be needed to provide the same level of | |||
| needed to provide the same level of protection. | protection. | |||
| 3. Potential Approaches | 3. Potential Approaches | |||
| The table below shows the number of bits of entropy currently | The table below shows the number of bits of entropy currently | |||
| available in various technologies: | available in various technologies: | |||
| +---------------+--------------------------+--------------------+ | +---------------+--------------------------+--------------------+ | |||
| | Technology | Reference | Bits of Entropy | | | Technology | Reference | Bits of Entropy | | |||
| +---------------+--------------------------+--------------------+ | +---------------+--------------------------+--------------------+ | |||
| | 802.15.4 | [RFC4944] | 16+ or any EUI-64 | | | 802.15.4 | [RFC4944] | 16+ or any EUI-64 | | |||
| | Bluetooth LE | [I-D.ietf-6lo-btle] | 48 | | | Bluetooth LE | [RFC7668] | 48 | | |||
| | DECT ULE | [I-D.ietf-6lo-dect-ule] | 40 or any EUI-48 | | | DECT ULE | [I-D.ietf-6lo-dect-ule] | 40 or any EUI-48 | | |||
| | MS/TP | [I-D.ietf-6lo-6lobac] | 8 or 64 | | | MS/TP | [I-D.ietf-6lo-6lobac] | 7 or 64 | | |||
| | ITU-T G.9959 | [RFC7428] | 8 | | | ITU-T G.9959 | [RFC7428] | 8 | | |||
| | NFC | [I-D.ietf-6lo-nfc] | 6 or ??? | | | NFC | [I-D.ietf-6lo-nfc] | 6 or ??? | | |||
| +---------------+--------------------------+--------------------+ | +---------------+--------------------------+--------------------+ | |||
| Such technologies generally support either IEEE identifiers or so | Such technologies generally support either IEEE identifiers or so | |||
| called "Short Addresses", or both, as link layer addresses. We | called "Short Addresses", or both, as link layer addresses. We | |||
| discuss each in turn. | discuss each in turn. | |||
| 3.1. IEEE-Identifier-Based Addresses | 3.1. IEEE-Identifier-Based Addresses | |||
| Some technologies allow the use of IEEE EUI-48 or EUI-64 identifiers, | Some technologies allow the use of IEEE EUI-48 or EUI-64 identifiers, | |||
| or allow using an arbitrary 64-bit identifier. Using such an | or allow using an arbitrary 64-bit identifier. Using such an | |||
| identifier to construct IPv6 addresses makes it easy to use the | identifier to construct IPv6 addresses makes it easy to use the | |||
| normal LOWPAN_IPHC encoding with stateless compression, allowing such | normal LOWPAN_IPHC encoding with stateless compression, allowing such | |||
| IPv6 addresses to be fully elided in common cases. | IPv6 addresses to be fully elided in common cases. | |||
| Interfaces identifiers formed from IEEE identifiers can have | Global addresses with interface identifiers formed from IEEE | |||
| insufficient entropy unless the IEEE identifier itself has sufficient | identifiers can have insufficient entropy to mitigate address scans | |||
| entropy, and enough bits of entropy are carried over into the IPv6 | unless the IEEE identifier itself has sufficient entropy, and enough | |||
| address to sufficiently mitigate the threats. Privacy threats other | bits of entropy are carried over into the IPv6 address to | |||
| than "Correlation over time" can be mitigated using per-network | sufficiently mitigate the threats. Privacy threats other than | |||
| randomized IEEE identifiers with 46 or more bits of entropy. A | "Correlation over time" can be mitigated using per-network randomized | |||
| number of such proposals can be found at | link-layer addresses with enough entropy compared to the link | |||
| lifetime. A number of such proposals can be found at | ||||
| <https://mentor.ieee.org/privecsg/documents>, and Section 10.8 of | <https://mentor.ieee.org/privecsg/documents>, and Section 10.8 of | |||
| [BTCorev4.1] specifies one for Bluetooth. Using IPv6 addresses | [BTCorev4.1] specifies one for Bluetooth. Using routable IPv6 | |||
| derived from such IEEE identifiers would be roughly equivalent to | addresses derived from such link-layer addresses would be roughly | |||
| those specified in [RFC7217]. | equivalent to those specified in [RFC7217]. | |||
| Correlation over time can be mitigated if the IEEE identifier itself | Correlation over time (for all addresses, not just routable | |||
| changes often enough, such as each time the link is established, if | addresses) can be mitigated if the link-layer address itself changes | |||
| the link lifetime is short. For further discussion, see | often enough, such as each time the link is established, if the link | |||
| lifetime is short. For further discussion, see | ||||
| [I-D.huitema-6man-random-addresses]. | [I-D.huitema-6man-random-addresses]. | |||
| Another potential concern is that of efficiency, such as avoiding DAD | Another potential concern is that of efficiency, such as avoiding | |||
| all together when IPv6 addresses are IEEE-identifier-based. | Duplicate Address Detection (DAD) all together when IPv6 addresses | |||
| Appendix A of [RFC4429] provides an analysis of address collision | are IEEE-identifier-based. Appendix A of [RFC4429] provides an | |||
| probability based on the number of bits of entropy. A simple web | analysis of address collision probability based on the number of bits | |||
| search on "duplicate MAC addresses" will show that collisions do | of entropy. A simple web search on "duplicate MAC addresses" will | |||
| happen with MAC addresses, and thus based on the analysis in | show that collisions do happen with MAC addresses, and thus based on | |||
| [RFC4429], using sufficient bits of entropy in random addresses can | the analysis in [RFC4429], using sufficient bits of entropy in random | |||
| provide greater protection against collision than using MAC | addresses can provide greater protection against collision than using | |||
| addresses. | MAC addresses. | |||
| 3.2. Short Addresses | 3.2. Short Addresses | |||
| An IPv6 interface identifier formed from a "Short Address" and a set | A routable IPv6 address with an interface identifier formed from the | |||
| of well-known constant bits (such as padding with 0's) lacks | combination of a "Short Address" and a set of well-known constant | |||
| sufficient entropy to mitigate address scanning unless the link | bits (such as padding with 0's) lacks sufficient entropy to mitigate | |||
| lifetime is extremely short. Furthermore, an adversary could also | address scanning unless the link lifetime is extremely short. | |||
| use statisical methods to determine the size of the L2 address space | Furthermore, an adversary could also use statisical methods to | |||
| and thereby make some inference regarding the underlying technology | determine the size of the L2 address space and thereby make some | |||
| on a given link, and target further attacks accordingly. | inference regarding the underlying technology on a given link, and | |||
| target further attacks accordingly. | ||||
| When Short Addresses are desired on links that are not guaranteed to | When Short Addresses are desired on links that are not guaranteed to | |||
| have a short enough lifetime, the mechanism for constructing an IPv6 | have a short enough lifetime, the mechanism for constructing an IPv6 | |||
| interface identifier from a Short Address could be designed to | interface identifier from a Short Address could be designed to | |||
| sufficiently mitigate the problem. For example, if all nodes on a | sufficiently mitigate the problem. For example, if all nodes on a | |||
| given L2 network have a shared secret (such as the key needed to get | given L2 network have a shared secret (such as the key needed to get | |||
| on the layer-2 network), the 64-bit IID might be generated using a | on the layer-2 network), the 64-bit IID might be generated using a | |||
| one-way hash that includes (at least) the shared secret together with | one-way hash that includes (at least) the shared secret together with | |||
| the Short Address. The use of such a hash would result in the IIDs | the Short Address. The use of such a hash would result in the IIDs | |||
| being spread out among the full range of IID address space, thus | being spread out among the full range of IID address space, thus | |||
| mitigating address scans, while still allowing full stateless | mitigating address scans, while still allowing full stateless | |||
| compression/elision. | compression/elision. | |||
| For long-lived links, "temporary" addresses might even be generated | For long-lived links, "temporary" addresses might even be generated | |||
| in the same way by (for example) also including in the hash the | in the same way by (for example) also including in the hash the | |||
| Version Number from the Authoritative Border Router Option (ABDO) if | Version Number from the Authoritative Border Router Option | |||
| any. This would allow changing temporary addresses whenever the | (Section 4.3 of [RFC6775]), if any. This would allow changing | |||
| Version Number is changed, even if the set of prefix or context | temporary addresses whenever the Version Number is changed, even if | |||
| information is unchanged. | the set of prefix or context information is unchanged. | |||
| In summary, any specification using Short Addresses should carefully | In summary, any specification using Short Addresses should carefully | |||
| construct an IID generation mechanism so as to provide sufficient | construct an IID generation mechanism so as to provide sufficient | |||
| entropy compared to the link lifetime. | entropy compared to the link lifetime. | |||
| 4. Recommendations | 4. Recommendations | |||
| The following are recommended for adaptation layer specifications: | The following are recommended for adaptation layer specifications: | |||
| o Security (privacy) sections should say how address scans are | o Security (privacy) sections should say how address scans are | |||
| mitigated. An address scan might be mitigated by having a link | mitigated. An address scan might be mitigated by having a link | |||
| always be short-lived, or might be mitigated by having a large | always be short-lived, or might be mitigated by having a large | |||
| number of bits of entropy, or some combination. Thus, a | number of bits of entropy in routable addresses, or some | |||
| specification should explain what the maximum lifetime of a link | combination. Thus, a specification should explain what the | |||
| is in practice, and show how the number of bits of entropy is | maximum lifetime of a link is in practice, and show how the number | |||
| sufficient given that lifetime. | of bits of entropy is sufficient given that lifetime. | |||
| o Technologies must define a way to include sufficient bits of | o Technologies should define a way to include sufficient bits of | |||
| entropy in the IPv6 interface identifier, based on the maximum | entropy in the IPv6 interface identifier, based on the maximum | |||
| link lifetime. Specifying that a random EUI-48 or EUI-64 can be | link lifetime. Specifying that randomized link-layer addresses | |||
| used is one easy way to do so, for technologies that support such | can be used is one easy way to do so, for technologies that | |||
| identifiers. | support such identifiers. | |||
| o Specifications should not simply construct an IPv6 interface | o Specifications should not simply construct an IPv6 interface | |||
| identifier by padding a short address with a set of other well- | identifier by padding a short address with a set of other well- | |||
| known constant bits, unless the link lifetime is guaranteed to be | known constant bits, unless the link lifetime is guaranteed to be | |||
| extremely short. | extremely short. | |||
| o Specifications should make sure that an IPv6 address can change | o Specifications should make sure that an IPv6 address can change | |||
| over long periods of time. For example, the interface identifier | over long periods of time. For example, the interface identifier | |||
| might change each time a device connects to the network (if | might change each time a device connects to the network (if | |||
| connections are short), or might change each day (if connections | connections are short), or might change each day (if connections | |||
| skipping to change at page 8, line 14 ¶ | skipping to change at page 8, line 34 ¶ | |||
| [RFC5535] Bagnulo, M., "Hash-Based Addresses (HBA)", RFC 5535, | [RFC5535] Bagnulo, M., "Hash-Based Addresses (HBA)", RFC 5535, | |||
| DOI 10.17487/RFC5535, June 2009, | DOI 10.17487/RFC5535, June 2009, | |||
| <http://www.rfc-editor.org/info/rfc5535>. | <http://www.rfc-editor.org/info/rfc5535>. | |||
| [RFC6724] Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown, | [RFC6724] Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown, | |||
| "Default Address Selection for Internet Protocol Version 6 | "Default Address Selection for Internet Protocol Version 6 | |||
| (IPv6)", RFC 6724, DOI 10.17487/RFC6724, September 2012, | (IPv6)", RFC 6724, DOI 10.17487/RFC6724, September 2012, | |||
| <http://www.rfc-editor.org/info/rfc6724>. | <http://www.rfc-editor.org/info/rfc6724>. | |||
| [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>. | ||||
| [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., | [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., | |||
| Morris, J., Hansen, M., and R. Smith, "Privacy | Morris, J., Hansen, M., and R. Smith, "Privacy | |||
| Considerations for Internet Protocols", RFC 6973, | Considerations for Internet Protocols", RFC 6973, | |||
| DOI 10.17487/RFC6973, July 2013, | DOI 10.17487/RFC6973, July 2013, | |||
| <http://www.rfc-editor.org/info/rfc6973>. | <http://www.rfc-editor.org/info/rfc6973>. | |||
| [RFC7217] Gont, F., "A Method for Generating Semantically Opaque | [RFC7217] Gont, F., "A Method for Generating Semantically Opaque | |||
| Interface Identifiers with IPv6 Stateless Address | Interface Identifiers with IPv6 Stateless Address | |||
| Autoconfiguration (SLAAC)", RFC 7217, | Autoconfiguration (SLAAC)", RFC 7217, | |||
| DOI 10.17487/RFC7217, April 2014, | DOI 10.17487/RFC7217, April 2014, | |||
| skipping to change at page 8, line 41 ¶ | skipping to change at page 9, line 20 ¶ | |||
| Petrescu, A., and A. Yourtchenko, "Analysis of the 64-bit | Petrescu, A., and A. Yourtchenko, "Analysis of the 64-bit | |||
| Boundary in IPv6 Addressing", RFC 7421, | Boundary in IPv6 Addressing", RFC 7421, | |||
| DOI 10.17487/RFC7421, January 2015, | DOI 10.17487/RFC7421, January 2015, | |||
| <http://www.rfc-editor.org/info/rfc7421>. | <http://www.rfc-editor.org/info/rfc7421>. | |||
| [RFC7428] Brandt, A. and J. Buron, "Transmission of IPv6 Packets | [RFC7428] Brandt, A. and J. Buron, "Transmission of IPv6 Packets | |||
| over ITU-T G.9959 Networks", RFC 7428, | over ITU-T G.9959 Networks", RFC 7428, | |||
| DOI 10.17487/RFC7428, February 2015, | DOI 10.17487/RFC7428, February 2015, | |||
| <http://www.rfc-editor.org/info/rfc7428>. | <http://www.rfc-editor.org/info/rfc7428>. | |||
| [I-D.ietf-6man-ipv6-address-generation-privacy] | [RFC7668] Nieminen, J., Savolainen, T., Isomaki, M., Patil, B., | |||
| Cooper, A., Gont, F., and D. Thaler, "Privacy | Shelby, Z., and C. Gomez, "IPv6 over BLUETOOTH(R) Low | |||
| Energy", RFC 7668, DOI 10.17487/RFC7668, October 2015, | ||||
| <http://www.rfc-editor.org/info/rfc7668>. | ||||
| [RFC7721] Cooper, A., Gont, F., and D. Thaler, "Security and Privacy | ||||
| Considerations for IPv6 Address Generation Mechanisms", | Considerations for IPv6 Address Generation Mechanisms", | |||
| draft-ietf-6man-ipv6-address-generation-privacy-08 (work | RFC 7721, DOI 10.17487/RFC7721, March 2016, | |||
| in progress), September 2015. | <http://www.rfc-editor.org/info/rfc7721>. | |||
| [I-D.ietf-6man-default-iids] | [I-D.ietf-6man-default-iids] | |||
| Gont, F., Cooper, A., Thaler, D., and S. LIU, | Gont, F., Cooper, A., Thaler, D., and S. (Will), | |||
| "Recommendation on Stable IPv6 Interface Identifiers", | "Recommendation on Stable IPv6 Interface Identifiers", | |||
| draft-ietf-6man-default-iids-08 (work in progress), | draft-ietf-6man-default-iids-11 (work in progress), April | |||
| October 2015. | 2016. | |||
| [I-D.ietf-6lo-6lobac] | [I-D.ietf-6lo-6lobac] | |||
| Lynn, K., Martocci, J., Neilson, C., and S. Donaldson, | Lynn, K., Martocci, J., Neilson, C., and S. Donaldson, | |||
| "Transmission of IPv6 over MS/TP Networks", draft-ietf- | "Transmission of IPv6 over MS/TP Networks", draft-ietf- | |||
| 6lo-6lobac-02 (work in progress), July 2015. | 6lo-6lobac-05 (work in progress), June 2016. | |||
| [I-D.ietf-6lo-btle] | ||||
| Nieminen, J., Savolainen, T., Isomaki, M., Patil, B., | ||||
| Shelby, Z., and C. Gomez, "IPv6 over BLUETOOTH(R) Low | ||||
| Energy", draft-ietf-6lo-btle-17 (work in progress), August | ||||
| 2015. | ||||
| [I-D.ietf-6lo-dect-ule] | [I-D.ietf-6lo-dect-ule] | |||
| Mariager, P., Petersen, J., Shelby, Z., Logt, M., and D. | Mariager, P., Petersen, J., Shelby, Z., Logt, M., and D. | |||
| Barthel, "Transmission of IPv6 Packets over DECT Ultra Low | Barthel, "Transmission of IPv6 Packets over DECT Ultra Low | |||
| Energy", draft-ietf-6lo-dect-ule-03 (work in progress), | Energy", draft-ietf-6lo-dect-ule-05 (work in progress), | |||
| September 2015. | May 2016. | |||
| [I-D.ietf-6lo-nfc] | [I-D.ietf-6lo-nfc] | |||
| Hong, Y. and J. Youn, "Transmission of IPv6 Packets over | Hong, Y. and J. Youn, "Transmission of IPv6 Packets over | |||
| Near Field Communication", draft-ietf-6lo-nfc-02 (work in | Near Field Communication", draft-ietf-6lo-nfc-03 (work in | |||
| progress), October 2015. | progress), March 2016. | |||
| [I-D.huitema-6man-random-addresses] | [I-D.huitema-6man-random-addresses] | |||
| Huitema, C., "Implications of Randomized Link Layers | Huitema, C., "Implications of Randomized Link Layers | |||
| Addresses for IPv6 Address Assignment", draft-huitema- | Addresses for IPv6 Address Assignment", draft-huitema- | |||
| 6man-random-addresses-02 (work in progress), August 2015. | 6man-random-addresses-03 (work in progress), March 2016. | |||
| [BTCorev4.1] | [BTCorev4.1] | |||
| Bluetooth Special Interest Group, "Bluetooth Core | Bluetooth Special Interest Group, "Bluetooth Core | |||
| Specification Version 4.1", December 2013, | Specification Version 4.1", December 2013, | |||
| <https://www.bluetooth.org/DocMan/handlers/ | <https://www.bluetooth.org/DocMan/handlers/ | |||
| DownloadDoc.ashx?doc_id=282159>. | DownloadDoc.ashx?doc_id=282159>. | |||
| Author's Address | Author's Address | |||
| Dave Thaler | Dave Thaler | |||
| End of changes. 41 change blocks. | ||||
| 107 lines changed or deleted | 126 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||