idnits 2.17.1 draft-ietf-dhc-anonymity-profile-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (January 13, 2016) is 3020 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 3315 (Obsoleted by RFC 8415) ** Obsolete normative reference: RFC 4941 (Obsoleted by RFC 8981) == Outdated reference: A later version (-16) exists of draft-ietf-6man-default-iids-08 == Outdated reference: A later version (-05) exists of draft-ietf-dhc-dhcp-privacy-02 == Outdated reference: A later version (-05) exists of draft-ietf-dhc-dhcpv6-privacy-02 == Outdated reference: A later version (-13) exists of draft-ietf-dhc-rfc3315bis-02 Summary: 2 errors (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group C. Huitema 3 Internet-Draft Microsoft 4 Intended status: Standards Track T. Mrugalski 5 Expires: July 16, 2016 ISC 6 S. Krishnan 7 Ericsson 8 January 13, 2016 10 Anonymity profile for DHCP clients 11 draft-ietf-dhc-anonymity-profile-05.txt 13 Abstract 15 Some DHCP options carry unique identifiers. These identifiers can 16 enable device tracking even if the device administrator takes care of 17 randomizing other potential identifications like link-layer addresses 18 or IPv6 addresses. The anonymity profile is designed for clients 19 that wish to remain anonymous to the visited network. The profile 20 provides guidelines on the composition of DHCP or DHCPv6 requests, 21 designed to minimize disclosure of identifying information. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on July 16, 2016. 40 Copyright Notice 42 Copyright (c) 2016 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 58 1.1. Requirements . . . . . . . . . . . . . . . . . . . . . . 3 59 2. Application domain . . . . . . . . . . . . . . . . . . . . . 3 60 2.1. MAC address Randomization hypotheses . . . . . . . . . . 4 61 2.2. MAC address Randomization and DHCP . . . . . . . . . . . 5 62 2.3. Radio fingerprinting . . . . . . . . . . . . . . . . . . 5 63 2.4. Operating system fingerprinting . . . . . . . . . . . . . 6 64 2.5. No anonymity profile identification . . . . . . . . . . . 6 65 2.6. Using the anonymity profiles . . . . . . . . . . . . . . 7 66 2.7. What about privacy for DHCP servers . . . . . . . . . . . 8 67 3. Anonymity profile for DHCPv4 . . . . . . . . . . . . . . . . 8 68 3.1. Avoiding fingerprinting . . . . . . . . . . . . . . . . . 9 69 3.2. Client IP address field . . . . . . . . . . . . . . . . . 9 70 3.3. Requested IP address option . . . . . . . . . . . . . . . 10 71 3.4. Client hardware address field . . . . . . . . . . . . . . 10 72 3.5. Client Identifier Option . . . . . . . . . . . . . . . . 11 73 3.6. Parameter Request List Option . . . . . . . . . . . . . . 12 74 3.7. Host Name Option . . . . . . . . . . . . . . . . . . . . 12 75 3.8. Client FQDN Option . . . . . . . . . . . . . . . . . . . 13 76 3.9. UUID/GUID-based Client Identifier Option . . . . . . . . 13 77 3.10. User and Vendor Class DHCP options . . . . . . . . . . . 14 78 4. Anonymity profile for DHCPv6 . . . . . . . . . . . . . . . . 14 79 4.1. Avoiding fingerprinting . . . . . . . . . . . . . . . . . 15 80 4.2. Do not send Confirm messages, unless really sure where . 15 81 4.3. Client Identifier DHCPv6 Option . . . . . . . . . . . . . 16 82 4.3.1. Anonymous Information-Request . . . . . . . . . . . . 16 83 4.4. Server Identifier Option . . . . . . . . . . . . . . . . 16 84 4.5. Address assignment options . . . . . . . . . . . . . . . 17 85 4.5.1. Obtain temporary addresses . . . . . . . . . . . . . 17 86 4.5.2. Prefix delegation . . . . . . . . . . . . . . . . . . 18 87 4.6. Option Request Option . . . . . . . . . . . . . . . . . . 18 88 4.6.1. Previous option values . . . . . . . . . . . . . . . 18 89 4.7. Authentication Option . . . . . . . . . . . . . . . . . . 19 90 4.8. User and Vendor Class DHCPv6 options . . . . . . . . . . 19 91 4.9. Client FQDN Option . . . . . . . . . . . . . . . . . . . 19 92 5. Operational Considerations . . . . . . . . . . . . . . . . . 19 93 6. Security Considerations . . . . . . . . . . . . . . . . . . . 20 94 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 95 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 20 96 9. Changes from previous versions . . . . . . . . . . . . . . . 20 97 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 98 10.1. Normative References . . . . . . . . . . . . . . . . . . 22 99 10.2. Informative References . . . . . . . . . . . . . . . . . 23 100 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 102 1. Introduction 104 Reports surfaced recently of systems that would monitor the wireless 105 connections of passengers at Canadian airports [CNBC]. We can assume 106 that these are either fragments or trial runs of a wider system that 107 would attempt to monitor Internet users as they roam through wireless 108 access points and other temporary network attachments. We can also 109 assume that privacy conscious users will attempt to evade this 110 monitoring, for example by ensuring that low level identifiers such 111 as link-layer addresses are "randomized," so that the devices do not 112 broadcast a unique identifier in every location that they visit. 114 Of course, link layer "MAC" addresses are not the only way to 115 identify a device. As soon as it connects to a remote network, the 116 device may use DHCP and DHCPv6 to obtain network parameters. The 117 analysis of DHCP and DHCPv6 options shows that parameters of these 118 protocols can reveal identifiers of the device, negating the benefits 119 of link-layer address randomization. This is documented in detail in 120 [I-D.ietf-dhc-dhcp-privacy] and [I-D.ietf-dhc-dhcpv6-privacy]. The 121 natural reaction is to restrict the number and values of such 122 parameters in order to minimize disclosure. 124 In the absence of a common standard, different system developers are 125 likely to implement this minimization of disclosure in different 126 ways. Monitoring entities could then use the differences to identify 127 the software version running on the device. The proposed anonymity 128 profile provides a common standard that minimizes information 129 disclosure, including the disclosure of implementation identifiers. 131 1.1. Requirements 133 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 134 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 135 document are to be interpreted as described in [RFC2119]. 137 2. Application domain 139 Mobile nodes can be tracked using multiple identifiers, the most 140 prominent being link-layer addresses, a.k.a. MAC addresses. For 141 example, when devices use Wi-Fi connectivity, they place the MAC 142 address in the header of all the packets that they transmit. 143 Standard implementation of Wi-Fi use unique 48 bit link-layer 144 addresses, assigned to the devices according to procedures defined by 145 IEEE 802. Even when the Wi-Fi packets are encrypted, the portion of 146 the header containing the addresses will be sent in clear text. 147 Tracking devices can "listen to the airwaves" to find out what 148 devices are transmitting near them. 150 We can easily imagine that the MAC addresses can be correlated with 151 other data, e.g., clear text names and cookies, to build a registry 152 linking MAC addresses to the identity of devices' owners. Once that 153 correlation is done, tracking the MAC address is sufficient to track 154 individual people, even when all application data sent from the 155 devices is encrypted. link-layer addresses can also be correlated 156 with IP addresses of devices, negating potential privacy benefits of 157 IPv6 "privacy" addresses. Privacy advocates have reasons to be 158 concerned. 160 The obvious solution is to "randomize" the MAC address. Before 161 connecting to a particular network, the device replaces the MAC 162 address with a randomly drawn 48 bit value. Link-layer address 163 randomization was successfully tried at the IETF in Honolulu in 164 November 2014 [IETFMACRandom]. However, we have to consider the 165 linkage between link-layer addresses, DHCP identifiers and IP 166 addresses. 168 2.1. MAC address Randomization hypotheses 170 There is not yet an established standard for randomizing link-layer 171 addresses. Various prototypes have tried different strategies, such 172 as: 174 Per connection: Configure a random link-layer address at the time of 175 connecting to a network, e.g. to specific Wi-Fi SSID, and keep it 176 for the duration of the connection. 178 Per network: Same as "per connection," but always use the same link- 179 layer address for the same network -- different of course from the 180 addresses used in other networks. 182 Time interval: Change the link-layer address at regular time 183 intervals. 185 In practice, there are many reasons to keep the link-layer address 186 constant for the duration of a link-layer connection, as in the "per 187 connection" or "per network" variants. On Wi-Fi networks, changing 188 the link-layer address requires dropping the existing Wi-Fi 189 connection and then re-establishing it, which implies repeating the 190 connection process and associated procedures. The IP addresses will 191 change, which means that all required TCP connections will have to be 192 re-established. If the network access is provided through a NAT, 193 changing IP address also means that the NAT traversal procedures will 194 have to be restarted. This means a lot of disruption. At the same 195 time, an observer on the network will easily notice that a station 196 left, another came in just after that, and that the new one appears 197 to be communicating with pretty much the same set of IP addresses as 198 the old one. This provides for easy correlation. 200 The anonymity profile pretty much assumes that the link-layer address 201 randomization follows the "per connection" or "per network" 202 strategies, or a variant of the "time interval" strategy in which the 203 interval has about the same duration as the average connection. 205 2.2. MAC address Randomization and DHCP 207 From a privacy point of view, it is clear that link-layer address, IP 208 address and DHCP identifier shall evolve in synchrony. For example, 209 if the link-layer address changes and the DHCP identifier stays 210 constant, then it is really easy to correlate old and new link-layer 211 addresses, either by listening to DHCP traffic or by observing that 212 the IP address remains constant, since it is tied to the DHCP 213 identifier. Conversely, if the DHCP identifier changes but the link- 214 layer address remains constant, the old and new identifiers and 215 addresses can be correlated by listening to L2 traffic. The 216 procedures documented in the following sections construct DHCP 217 identifiers from the current link-layer address, automatically 218 providing for this synchronization. 220 The proposed anonymity profiles solve this synchronization issues by 221 deriving most identifiers from the link-layer address, and generally 222 by making sure that DHCP parameter values do not remain constant 223 after an address change. 225 2.3. Radio fingerprinting 227 MAC address randomization solves the trivial monitoring problem in 228 which someone just uses a Wi-Fi scanner and records the MAC addresses 229 seen on the air. DHCP anonymity solves the more elaborated scenario 230 in which someone monitor link-layer addresses and identities used in 231 DHCP at the access point or DHCP server. But these are not the only 232 ways to track a mobile device. 234 Radio fingerprinting is a process that identifies a radio transmitter 235 by the unique "fingerprint" of its signal transmission, i.e., the 236 tiny differences caused by minute imperfections of the radio 237 transmission hardware. This can be applied to diverse types of 238 radios, including Wi-Fi as described for example in 239 [WiFiRadioFingerprinting]. No amount of link-layer address 240 randomization will protect against such techniques. Protections may 241 exist, but they are outside the scope of the present document. 243 On the other hand, we should not renounce randomization just because 244 radio fingerprinting exists. The radio fingerprinting techniques are 245 harder to deploy than just recording link-layer addresses with a 246 scanner. They can only track devices for which the fingerprint are 247 known, and thus have a narrower scope of application than mass 248 monitoring of addresses and DHCP parameters. 250 2.4. Operating system fingerprinting 252 When a standard like DHCP allows for multiple options, different 253 implementers will make different choices for the options that they 254 support or the values they chose for the options. Conversely, 255 monitoring the options and values present in DHCP messages reveals 256 these differences and allows for "operating system fingerprinting," 257 i.e., finding the type and version of software that a particular 258 device is running. Finding these versions provides some information 259 about the device identity, and thus goes against the goal of 260 anonymity. 262 The design of the anonymity profiles attempts to minimize the number 263 of options and the choice of values, in order to reduce the 264 possibilities of operating system fingerprinting. 266 2.5. No anonymity profile identification 268 Reviewers of the anonymity profiles have sometimes suggested adding 269 an option to explicitly identify the profiles as "using the anonymity 270 option." One suggestion is that if the client wishes to remain 271 anonymous, it would be good if the client told the server about that 272 in case the server is willing to co-operate. Another possibility 273 would be to use specific privacy-oriented construct, such as for 274 example a new type of DUID for a temporary DUID that would be 275 changing over time. 277 This is not workable in a large number of cases as it is possible 278 that the network operator (or other entities that have access to the 279 operator's network) might be actively participating in surveillance 280 and anti-privacy, willingly or not. Declaring a preference for 281 anonymity is a bit like walking around with a Guy Fawkes mask. When 282 anonymity is required, it is generally not a good idea to stick out 283 of the crowd. Simply revealing the desire for privacy, could cause 284 the attacker to react by triggering additional surveillance or 285 monitoring mechanisms. Therefore we feel that it is preferable to 286 not disclose one's desire for privacy. 288 This preference leads to some important implications. In particular, 289 we make an effort to make the mitigation techniques difficult to 290 distinguish from regular client behaviors, if at all possible. 292 2.6. Using the anonymity profiles 294 There are downsides to randomizing link-layer addresses and DHCP 295 identifiers. By definition, randomization will break management 296 procedures that rely on tracking link-layer addresses. Even if this 297 is not too much of a concern, we have to be worried about the 298 frequency of link-layer address randomization. Suppose for example 299 that many devices would get new random link-layer addresses at short 300 intervals, maybe every few minutes. This would generate new DHCP 301 requests in rapid succession, with a high risk of exhausting DHCPv4 302 address pools. Even with IPv6, there would still be a risk of 303 increased neighbor discovery traffic, and bloating of various address 304 tables. Implementers will have to be cautious when programming 305 devices to use randomized MAC addresses. They will have to carefully 306 chose the frequency with which such addresses will be renewed. 308 This document only provides guidelines for using DHCP when clients 309 care about privacy and servers do not object. We assume that the 310 request for anonymity is materialized by the assignment of a 311 randomized link-layer address to the network interface. Once that 312 decision is made, the following guidelines will avoid leakage of 313 identity in DHCP parameters or in assigned addresses. 315 There may be rare situations where the clients want anonymity to 316 attackers but not to their DHCP server. These clients should still 317 use link-layer address randomization to hide from observers, and some 318 form of encrypted communication to the DHCP server. This scenario is 319 out of scope for this document. 321 To preserve anonymity, the clients need to not use stable values for 322 the client identifiers. This is clearly a tradeoff, because a stable 323 client identifier guarantees that the client will receive consistent 324 parameters over time. An example is given in [RFC7618], where the 325 client identifier is used to guarantee that the same client will 326 always get the same combination of IP address and port range. Static 327 clients benefit most from stable parameters, and can often be already 328 identified by physical connection layer parameters. These static 329 clients will normally not use the anonymity profile. Mobile clients, 330 in contrast, have the option of using the anonymity profile in 331 conjunction with [RFC7618] if they are more concerned with privacy 332 protection than with stable parameters. 334 2.7. What about privacy for DHCP servers 336 This document only provides recommendations for DHCP clients. The 337 main target are DHCP clients used in mobile devices. Such devices 338 are a tempting target for various monitoring systems, and providing 339 them with a simple anonymity solution is urgent. We can argue that 340 some mobile devices embed DHCP servers, and that providing solutions 341 for such devices is also quite important. Two plausible examples 342 would be a DHCP server for a car network, or a DHCP server for a 343 mobile hot spot. However, mobile servers get a lot of privacy 344 protection through the use of access control and link layer 345 encryption. Servers may disclose information to clients through 346 DHCP, but they normally only do that to clients that have passed the 347 link-layer access control and have been authorized to use the network 348 services. This arguably makes solving the server problem less urgent 349 than solving the client problem. 351 Server privacy issues are presented in [I-D.ietf-dhc-dhcp-privacy] 352 and [I-D.ietf-dhc-dhcpv6-privacy]. Mitigation of these issues is 353 left to further study. 355 3. Anonymity profile for DHCPv4 357 Clients using the DHCPv4 anonymity profile limit the disclosure of 358 information by controlling the header parameters and by limiting the 359 number and values of options. The number of options depend on the 360 specific DHCP message: 362 DHCPDISCOVER: The anonymized DHCPDISCOVER messages MUST contain the 363 Message Type, MAY contain the Client Identifier, and MAY contain 364 the Parameter Request List options. It SHOULD NOT contain any 365 other option. 367 DHCPREQUEST: The anonymized DHCPREQUEST messages MUST contain the 368 Message Type, MAY contain the Client Identifier, and MAY contain 369 the Parameter Request List options. If the message is in response 370 to a DHCPOFFER, it MUST contain the corresponding Server 371 Identifier option and the Requested IP address. If the message is 372 not in response to a DHCPOFFER, it MAY contain a Requested IP 373 address as explained in Section 3.3. It SHOULD NOT contain any 374 other option. 376 DHCPDECLINE: The anonymized DHCPDECLINE messages MUST contain the 377 Message Type, Server Identifier, and Requested IP address options, 378 and MAY contain the Client Identifier options. 380 DHCPRELEASE: The anonymized DHCPRELEASE messages MUST contain the 381 Message Type and Server Identifier options, and MAY contain the 382 Client Identifier option. 384 DHCPINFORM: The anonymized DHCPINFORM messages MUST contain the 385 Message Type, and MAY contain the Client Identifier and Parameter 386 Request List options. It SHOULD NOT contain any other option. 388 Header fields and option values SHOULD be set in accordance with the 389 DHCP specification, but some header fields and option values SHOULD 390 be constructed per the following guidelines. 392 The inclusion of HostName and FQDN options in DHCPDISCOVER, 393 DHCPREQUEST or DHCPINFORM messages is discussed in Section 3.7 and 394 Section 3.8. 396 3.1. Avoiding fingerprinting 398 There are many choices for implementing DHCPv4 messages. Clients can 399 choose to transmit a specific set of options, pick particular 400 encoding for these options, and transmit options in different orders. 401 These choices can be use to fingerprint the client. 403 The following sections provide guidance on the encoding of options 404 and fields within the packets. However, this guidance alone may not 405 be sufficient to prevent fingerprinting from revealing information, 406 such as the device type, vendor type or OS type and in some cases 407 specific version, or from revealing whether the client is using the 408 anonymity profile. 410 The client willing to protect its privacy SHOULD limit the subset of 411 options sent in messages to the subset listed in the following 412 sections. 414 The client willing to protect its privacy SHOULD randomize options 415 order before sending any DHCPv4 message. If this random ordering 416 cannot be implemented, the client MAY arrange options by increasing 417 order of option codes. 419 3.2. Client IP address field 421 Four bytes in the header of the DHCP messages carry the "Client IP 422 address" (ciaddr) as defined in [RFC2131]. In DHCP, this field is 423 used by the clients to indicate the address that they used 424 previously, so that as much as possible the server can allocate them 425 the same address. 427 There is very little privacy implication of sending this address in 428 the DHCP messages, except in one case, when connecting to a different 429 network than the last network connected. If the DHCP client somehow 430 repeated the address used in a previous network attachment, 431 monitoring services might use the information to tie the two network 432 locations. DHCP clients should ensure that the field is cleared when 433 they know that the network attachment has changed, and in particular 434 if the link layer address is reset by the device's administrator. 436 The clients using the anonymity profile MUST NOT include in the 437 message a Client IP Address that has been obtained with a different 438 link-layer address. 440 3.3. Requested IP address option 442 The Requested IP address option id defined in [RFC2132] with code 50. 443 It allows the client to request that a particular IP address be 444 assigned. The option is mandatory in some protocol messages per 445 [RFC2131], for example when a client selects to use an address 446 offered by a server. However, this option is not mandatory in the 447 DHCPDISCOVER message. It is simply a convenience, an attempt to 448 regain the same IP address that was used in a previous connection. 449 Doing so entails the risk of disclosing an IP address used by the 450 client at a previous location, or with a different link-layer 451 address. 453 When using the anonymity profile, clients SHOULD NOT use the 454 Requested IP address option in DHCPDISCOVER messages. They MUST use 455 the option when mandated by the DHCP protocol, for example in 456 DHCPREQUEST messages. 458 There are scenarios in which a client connecting to a network 459 remembers previously allocated address, i.e. is in the INIT-REBOOT 460 state. In that state, the client that is concerned with privacy 461 SHOULD perform a complete four way handshake starting with 462 DHCPDISCOVER to obtain a new address lease. If the client can 463 ascertain that this is exactly the same network to which it was 464 previously connected, and if the link layer address did not change, 465 the client MAY issue a DHCPREQUEST to try reclaim the current 466 address. 468 3.4. Client hardware address field 470 Sixteen bytes in the header of the DHCP messages carry the "Client 471 hardware address" (chaddr) as defined in [RFC2131]. The presence of 472 this address is necessary for the proper operation of the DHCP 473 service. 475 Hardware addresses, called "link layer address" in many RFCs, can be 476 used to uniquely identify a device, especially if they follow the 477 IEEE 802 recommendations. These unique identifiers can be used by 478 monitoring services to track the location of the device and its user. 479 The only plausible defense is to somehow reset the hardware address 480 to a random value when visiting an untrusted location, before 481 transmitting anything at that location with the hardware address. If 482 the hardware address is reset to a new value, or randomized, the DHCP 483 client SHOULD use the new randomized value in the DHCP messages. 485 3.5. Client Identifier Option 487 The client identifier option is defined in [RFC2132] with option code 488 61. It is discussed in detail in [RFC4361]. The purpose of the 489 client identifier option is to identify the client in a manner 490 independent of the link layer address. This is particularly useful 491 if the DHCP server is expected to assign the same address to the 492 client after a network attachment is swapped and the link layer 493 address changes. It is also useful when the same node issues 494 requests through several interfaces, and expects the DHCP server to 495 provide consistent configuration data over multiple interfaces. 497 The considerations for hardware independence and strong client 498 identity have an adverse effect on the privacy of mobile clients, 499 because the hardware-independent unique identifier obviously enables 500 very efficient tracking of the client's movements. One option would 501 be to not transmit this option at all, but this may affect 502 interoperability and will definitely mark the client as requesting 503 anonymity, exposing it to the risks mentioned in Section 2.5. 505 The recommendations in [RFC4361] are very strong, stating for example 506 that "DHCPv4 clients MUST NOT use client identifiers based solely on 507 layer two addresses that are hard-wired to the layer two device 508 (e.g., the Ethernet MAC address)." These strong recommendations are 509 in fact a tradeoff between ease of management and privacy, and the 510 tradeoff should depend on the circumstances. 512 In contradiction to [RFC4361], when using the anonymity profile, DHCP 513 clients MUST use client identifiers based solely on the link layer 514 address that will be used in the underlying connection. This will 515 ensure that the DHCP client identifier does not leak any information 516 that is not already available to entities monitoring the network 517 connection. It will also ensure that a strategy of randomizing the 518 link layer address will not be nullified by DHCP options. 520 There are usages of DHCP where the underlying connection is a point 521 to point link, in which case there is no link layer address available 522 to construct a non-revealing identifier. If anonymity is desired in 523 such networks, the client SHOULD pick a random identifier that is 524 unique to the current link, using for example a combination of a 525 local secret and an identifier of the connection. 527 3.6. Parameter Request List Option 529 The Parameter Request List (PRL) option is defined in [RFC2132] with 530 option code 61. It list the parameters requested from the server by 531 the client. Different implementations request different 532 parameters.[RFC2132] specifies that "the client MAY list the options 533 in order of preference." It practice, this means that different 534 client implementations will request different parameters, in 535 different orders. 537 The choice of option numbers and the specific ordering of option 538 numbers in the Parameter Request List can be used to fingerprint the 539 client. This may not reveal the identity of a client, but may 540 provide additional information, such as the device type, vendor type 541 or OS type and in some cases specific version. 543 The client willing to protect its privacy SHOULD only request a 544 minimal number of options in PRL, and SHOULD also randomly shuffle 545 the option codes order in PRL. If this random ordering cannot be 546 implemented, the client MAY order option codes order in PRL by 547 increasing order of option codes. 549 3.7. Host Name Option 551 The Host Name option is defined in [RFC2132] with option code 12. 552 Depending on implementations, the option value can carry either a 553 fully qualified domain name such as "node1984.example.com," or a 554 simple host name such as "node1984." The host name is commonly used 555 by the DHCP server to identify the host, and also to automatically 556 update the address of the host in local name services. 558 Fully qualified domain names are obviously unique identifiers, but 559 even simple host names can provide a significant amount of 560 information on the identity of the device. They are typically chosen 561 to be unique in the context where the device is most often used. If 562 that context is wide enough, in a large company or in a big 563 university, the host name will be a pretty good identifier of the 564 device. Monitoring services could use that information in 565 conjunction with traffic analysis and quickly derive the identity of 566 the device's owner. 568 When using the anonymity profile, DHCP clients SHOULD NOT send the 569 host name option. If they chose to send the option, DHCP clients 570 MUST always send a non-qualified host name instead of a fully 571 qualified domain name, and MUST obfuscate the host name value. 573 There are many ways to obfuscate a host name. The construction rules 574 SOULD guarantee that a different host name is generated each time the 575 link-layer address changes and that the obfuscated host name will not 576 reveal the underlying link layer address. The construction SHOULD 577 generate names that are unique enough to minimize collisions in the 578 local link. Clients MAY use the following algorithm: compute a 579 secure hash of a local secret and of the link layer address that will 580 be used in the underlying connection, and then use the hexadecimal 581 representation of the first 6 bytes of the hash as the obfuscated 582 host name. 584 There is a potential downside to having a specific name pattern for 585 hosts that require anonymity, as explained in Section 2.5. For this 586 reason, the above algorithm is just a suggestion. 588 3.8. Client FQDN Option 590 The Client FQDN option is defined in [RFC4702] with option code 81. 591 The option allows the DHCP clients to advertise to the DHCP server 592 their fully qualified domain name (FQDN) such as 593 "mobile.example.com." This would allow the DHCP server to update in 594 the DNS the PTR record for the IP address allocated to the client. 595 Depending on circumstances, either the DHCP client or the DHCP server 596 could update in the DNS the A record for the FQDN of the client. 598 Obviously, this option uniquely identifies the client, exposing it to 599 the DHCP server or to anyone listening to DHCP traffic. In fact, if 600 the DNS record is updated, the location of the client becomes visible 601 to anyone with DNS lookup capabilities. 603 When using the anonymity profile, DHCP clients SHOULD NOT include the 604 Client FQDN option in their DHCP requests. Alternatively, they MAY 605 include a special purpose FQDN using the same hostname as in the Host 606 Name Option, with a suffix matching the connection-specific DNS 607 suffix being advertised by that DHCP server. Having a name in the 608 DNS allows working with legacy systems that require one to be there, 609 e.g., by verifying a forward and reverse lookup succeeds with the 610 same result. 612 3.9. UUID/GUID-based Client Identifier Option 614 The UUID/GUID-based Client Machine Identifier option is defined in 615 [RFC4578], with option code 97. The option is part of a set of 616 options for Intel Preboot eXecution Environment (PXE). The purpose 617 of the PXE system is to perform management functions on a device 618 before its main OS is operational. The Client Machine Identifier 619 carries a 16-octet Globally Unique Identifier (GUID), which uniquely 620 identifies the device. 622 The PXE system is clearly designed for devices operating in a 623 controlled environment, and its functions are not meant to be used by 624 mobile nodes visiting untrusted networks. If only for privacy 625 reasons, nodes visiting untrusted networks MUST disable the PXE 626 functions, and MUST NOT send the corresponding options. 628 3.10. User and Vendor Class DHCP options 630 Vendor identifying options are defined in [RFC2132] and [RFC3925]. 631 When using the anonymity profile, DHCP clients SHOULD NOT use the 632 Vendor Specific Information option (code 43), the Vendor Class 633 Identifier Option (60), the Vendor Class option (code 124), or the 634 Vendor Specific Information option (code 125) as these options 635 potentially reveal identifying information. 637 4. Anonymity profile for DHCPv6 639 DHCPv6 is typically used by clients in one of two scenarios: stateful 640 and stateless configuration. In the stateful scenario, clients use a 641 combination of SOLICIT, REQUEST, CONFIRM, RENEW, REBIND and RELEASE 642 messages to obtain addresses, and manage these addresses. 644 In the stateless scenario, clients configure addresses using a 645 combination of client managed identifiers and router-advertised 646 prefixes, without involving the DHCPv6 services. Different ways of 647 constructing these prefixes have different implications on privacy, 648 which are discussed in [I-D.ietf-6man-default-iids] and 649 [I-D.ietf-6man-ipv6-address-generation-privacy]. In the stateless 650 scenario, clients use DHCPv6 to obtain network configuration 651 parameters, through the INFORMATION-REQUEST message. 653 The choice between the stateful and stateless scenarios depends on 654 flag and prefix options published by the "Router Advertisement" 655 messages of local routers, as specified in [RFC4861]. When these 656 options enable stateless address configuration hosts using the 657 anonymity profile SHOULD choose it over stateful address 658 configuration, because stateless configuration requires fewer 659 information disclosures than stateful configuration. 661 When using the anonymity profile, DHCPv6 clients carefully select 662 DHCPv6 options used in the various messages that they send. The list 663 of options that are mandatory or optional for each message is 664 specified in [RFC3315]. Some of these options have specific 665 implications on anonymity. The following sections provide guidance 666 on the choice of option values when using the anonymity profile. 668 4.1. Avoiding fingerprinting 670 There are many choices for implementing DHCPv6 messages. As 671 explained in Section 3.1, these choices can be use to fingerprint the 672 client. 674 The following sections provide guidance on the encoding of options. 675 However, this guidance alone may not be sufficient to prevent 676 fingerprinting from revealing information, such as the device type, 677 vendor type or OS type and in some cases specific version, or from 678 revealing whether the client is using the anonymity profile. 680 The client willing to protect its privacy SHOULD limit the subset of 681 options sent in messages to the subset listed in the following 682 sections. 684 The client willing to protect its privacy SHOULD randomize options 685 order before sending any DHCPv6 message. If this random ordering 686 cannot be implemented, the client MAY arrange options by increasing 687 order of option codes. 689 4.2. Do not send Confirm messages, unless really sure where 691 [RFC3315] requires clients to send a Confirm message when they attach 692 to a new link to verify whether the addressing and configuration 693 information they previously received is still valid. This 694 requirement was relaxed in [I-D.ietf-dhc-rfc3315bis]. When these 695 clients send Confirm messages, they include any IAs assigned to the 696 interface that may have moved to a new link, along with the addresses 697 associated with those IAs. By examining the addresses in the Confirm 698 message an attacker can trivially identify the previous point(s) of 699 attachment. 701 Clients interested in protecting their privacy SHOULD NOT send 702 Confirm messages and instead directly try to acquire addresses on the 703 new link. However, not sending confirm messages can result in 704 connectivity hiatus in some scenarios, e.g. roaming between two 705 access points in the same wireless network. DHCPv6 clients that can 706 verify that the previous link and the current link are part of the 707 same network MAY send Confirm messages while still protecting their 708 privacy. 710 4.3. Client Identifier DHCPv6 Option 712 The client identifier option is defined in [RFC3315] with option code 713 1. The purpose of the client identifier option is to identify the 714 client to the server. The content of the option is a DHCP Unique 715 Identifier (DUID). One of the primary privacy concerns is that a 716 client is disclosing a stable identifier (the DUID) that can be use 717 for tracking and profiling. Three DUID formats are specified in 718 [RFC3315]: Link-layer address plus time, Vendor-assigned unique ID 719 based on Enterprise Number, Link-layer address. A fourth type, DUID- 720 UUID is defined in [RFC6355]. 722 When using the anonymity profile in conjunction with randomized link- 723 layer addresses, DHCPv6 clients MUST use the DUID format number 3, 724 Link-layer address. The value of the Link-layer address should be 725 that currently assigned to the interface. 727 When using the anonymity profile without the benefit of randomized 728 link-layer addresses, clients that want to protect their privacy 729 SHOULD generate a new randomized DUID-LLT every time they attach to a 730 new link or detect a possible link change event. The exact details 731 are left up to implementors, but there are several factors should be 732 taken into consideration. The DUID type SHOULD be set to 1 (DUID- 733 LLT). Hardware type SHOULD be set appropriately to the hardware 734 type. Time MAY be set to current time, but this will reveal the fact 735 that the DUID is newly generated. Implementors interested in hiding 736 this fact MAY use a time stamp from the past. e.g. a random timestamp 737 from the previous year could be a good value. 739 4.3.1. Anonymous Information-Request 741 According to [RFC3315], a DHCPv6 client typically includes its client 742 identifier in most of the messages it sends. There is one exception, 743 however. Client is allowed to omit its client identifier when 744 sending Information-Request. 746 When using stateless DHCPv6, clients wanting to protect their privacy 747 SHOULD NOT include client identifiers in their Information-Request 748 messages. This will prevent the server from specifying client- 749 specific options if it is configured to do so, but the need for 750 anonymity precludes such options anyway. 752 4.4. Server Identifier Option 754 When using the anonymity profile, DHCPv6 clients SHOULD use the 755 Server Identifier Option (code 2) as specified in [RFC3315]. Clients 756 MUST only include server identifier values that were received with 757 the current link-layer address, because reuse of old values discloses 758 information that can be used to identify the client. 760 4.5. Address assignment options 762 When using the anonymity profile, DHCPv6 clients might have to use 763 SOLICIT or REQUEST messages to obtain IPv6 addresses through the DHCP 764 server. Clients interested in privacy SHOULD request addresses using 765 the Identity Association for Non-temporary Addresses Option (IA_NA, 766 code 3). 768 The IA_NA option includes an IAID parameter that identifies a unique 769 identity association for the interface for which the Address is 770 requested. Clients interested in protecting their privacy MUST 771 ensure that the IAID does not enable client identification. They 772 also need to conform to the requirement of [RFC3315] that the IAID 773 for that IA MUST be consistent across restarts of the DHCP client. 774 We interpret that as requiring that the IAID MUST be constant for the 775 association, as long as the link layer address remains constant. 777 Clients MAY meet the privacy, uniqueness and stability requirement of 778 the IAID by constructing it as the combination of one byte encoding 779 the interface number in the system, and the first three bytes of the 780 link layer address. 782 The clients MAY use the IA Address Option (code 5) but need to 783 balance the potential advantage of "address continuity" versus the 784 potential risk of "previous address disclosure." A potential 785 solution is to remove all stored addresses when a link-layer address 786 changes, and to only use the IA Address option with addresses that 787 have been explicitly assigned through the current link-layer address. 789 4.5.1. Obtain temporary addresses 791 [RFC3315] defines a special container (IA_TA, code 4) for requesting 792 temporary addresses. This is a good mechanism in principle, but 793 there are a number of issues associated with it. First, this is not 794 a widely used feature, so clients depending solely on temporary 795 addresses may lock themselves out of service. Secondly, [RFC3315] 796 does not specify any lifetime or lease length for temporary 797 addresses. Therefore support for renewing temporary addresses may 798 vary between client implementations, including not being supported at 799 all. Finally, by requesting temporary addresses a client reveals its 800 desire for privacy and potentially risks countermeasures as described 801 in Section 2.5. 803 Because of these Clients interested in their privacy SHOULD NOT use 804 IA_TA. 806 The addresses obtained according to Section 4.5 are temporary in 807 nature, and will be discarded when the link layer address is changed. 808 They thus meet most of the use cases of the temporary addresses 809 defined in [RFC4941]. Clients interested in their privacy should not 810 publish their IPv6 addresses in the DNS or otherwise associate them 811 with name services, and thus do not normally need two classes of 812 addresses, one public, one temporary. 814 The use of mechanisms to allocate several IPv6 addresses to a client 815 while preserving privacy is for further study. 817 4.5.2. Prefix delegation 819 The interaction between prefix delegation and anonymity require 820 further study. For now, the simple solution is to avoid using prefix 821 delegation when striving for anonymity. When using the anonymity 822 profiles, clients SHOULD NOT use IA_PD, the prefix delegation form of 823 address assignment. 825 4.6. Option Request Option 827 The Option Request Option (ORO) is defined in [RFC3315] with option 828 code 6. It specifies the options that the client is requesting from 829 the server. The choice of requested options and the order of 830 encoding of these options in the ORO can be used to fingerprint the 831 client. 833 The client willing to protect its privacy SHOULD only request a 834 minimal subset of options and SHOULD randomly shuffle the option 835 codes order in ORO. If this random ordering cannot be implemented, 836 the client MAY order option codes in ORO by increasing order of 837 option codes. 839 4.6.1. Previous option values 841 According to [RFC3315], the client that includes an Option Request 842 Option in a Solicit or Request message MAY additionally include 843 instances of those options that are identified in the Option Request 844 option, with data values as hints to the server about parameter 845 values the client would like to have returned. 847 When using the anonymity profile, clients SHOULD NOT include such 848 instances of options because old values might be used to identify the 849 client. 851 4.7. Authentication Option 853 The purpose of the Authentication option (code 11) is to authenticate 854 the identity of clients and servers and the contents of DHCP 855 messages. As such, the option can be used to identify the client, 856 and is incompatible with the stated goal of "client anonymity." 857 DHCPv6 clients that use the anonymity profile SHOULD NOT use the 858 authentication option. They MAY use it if they recognize that they 859 are operating in a trusted environment, e.g., in a work place 860 network. 862 4.8. User and Vendor Class DHCPv6 options 864 When using the anonymity profile, DHCPv6 clients SHOULD NOT use the 865 User Class option (code 15) or the Vendor Class option (code 16), as 866 these options potentially reveal identifying information. 868 4.9. Client FQDN Option 870 The Client FQDN option is defined in [RFC4704] with option code 29. 871 The option allows the DHCP clients to advertise to the DHCP server 872 their fully qualified domain name (FQDN) such as 873 "mobile.example.com." When using the anonymity profile, DHCPv6 874 clients SHOULD NOT include the Client FQDN option in their DHCPv6 875 messages because it identifies the client. As explained in 876 Section 3.8 they MAY use a local-only FQDN by combining a host name 877 derived from the link layer address and a suffix advertised by the 878 local DHCP server. 880 5. Operational Considerations 882 The anonymity profile has the effect of hiding the client identity 883 from the DHCP server. This is not always desirable. Some DHCP 884 servers provide facilities like publishing names and addresses in the 885 DNS, or ensuring that returning clients get reassigned the same 886 address. 888 Clients using the anonymity profile may be consuming more resources. 889 For example when they change link-layer address and request for a new 890 IP, the old one is still marked as leased by the server. 892 Implementers SHOULD provide a way for clients to control when the 893 anonymity profile is used, and when standard behavior is preferred. 894 Implementers MAY implement this control by tying use of the anonymity 895 profile to that of link-layer address randomization. 897 6. Security Considerations 899 The use of the anonymity profile does not change the security 900 considerations of the DHCPv4 or DHCPv6 protocols. 902 7. IANA Considerations 904 This draft does not require any IANA action. 906 8. Acknowledgments 908 The inspiration for this draft came from discussions in the Perpass 909 mailing list. Several people provided feedback on this draft, 910 notably Noel Anderson, Lorenzo Colitti, Stephen Farrell, Nick Grifka, 911 Tushar Gupta, Gabriel Montenegro, Marcin Siodelski, Dave Thaler, 912 Bernie Volz, and Jun Wu. 914 9. Changes from previous versions 916 The RFC Editor must ensure that this section is removed prior to RFC 917 publication. 919 Changes from draft-00 to draft-01: 921 1. In Section 2.6, added guidance when using [RFC7618]. 923 2. In Section 3.5, added guidance for case when no link layer 924 address is available. 926 3. In Section 3.7, changed the recommended mechanism for obfuscating 927 host names, in order to avoid reveal the underlying link layer 928 address. 930 4. In Section 4.2, added an exception to the "should not send 931 confirm" recommendation, to account for the "good" use of Confirm 932 when roaming between access points on the same network. 934 Changes from draft-01 to draft-02: 936 1. In Section 3, checked the requirements of parameters in messages 937 to ensure consistency with the main text. 939 2. In Section 3.5, added guidance for case when no link layer 940 address is available. 942 3. In Section 3.7, specified that clients SHOULD NOT send the 943 option, and that the optional obfuscation mechanism is just a 944 suggestion. 946 4. Updated the text in Section 4.5.1 for temporary IPv6 address 947 allocation. 949 5. Rewrote Section 5 on operational requirements for clarity. 951 Changes from draft-02 to draft-03: 953 1. Removed the update of [RFC4361] since we are specifying when to 954 use that RFC, but are not recommending any specific change. 956 2. Fixed a number of typos and nits. 958 3. In Section 2.7, specified that mitigation of server privacy 959 issues is left for further study. 961 4. Moved the guidance on avoiding fingerprinting to Section 3.1 and 962 Section 4.1. 964 5. In Section 3.5, added text explaining why the client identifier 965 option should still be sent, even when anonymity is desired. 967 6. Added Section 3.6 specifying the random ordering of requested 968 option codes in the PRL parameter, with an alternative option for 969 strict ordering. 971 7. Changed the requirement in Section 4.6 to allow "increasing order 972 of option codes" as an alternative to "randomized order of 973 options". 975 8. In Section 4.5.1 revised the language stating lack of support for 976 renewing temporary addresses, as RFC 3315 does in fact specify a 977 mechanism for doing so. 979 Changes from draft-03 to draft-04 address comments received during 980 Working Group Last Call: 982 1. In Section 3, tightened the normative language and the use of 983 message codes. 985 2. In Section 3.3, clarified the reference to the INIT-REBOOT 986 scenario. 988 3. Revised the writing of Section 4.5 for greater clarity. 990 Changes from draft-04 to draft-05 address comments received after 991 Working Group Last Call: 993 1. Changed the title of Section 4.1 to "Avoiding fingerprinting" to 994 align with Section 3.1. 996 2. Fixed editing nits in Section 4.5, and added specification that 997 the IAID is composed of the interface identifier and the first 998 three bytes of the HW address. This matches the implementation 999 in Windows 10, and insures that variations will not be used to 1000 fingerprint the client software. 1002 3. Dropping "This draft updates RFC4361" from the Abstract, since 1003 this draft does not actually update RFC4361. 1005 4. Pruned the list of normative references. 1007 10. References 1009 10.1. Normative References 1011 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1012 Requirement Levels", BCP 14, RFC 2119, 1013 DOI 10.17487/RFC2119, March 1997, 1014 . 1016 [RFC2131] Droms, R., "Dynamic Host Configuration Protocol", 1017 RFC 2131, DOI 10.17487/RFC2131, March 1997, 1018 . 1020 [RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins, 1021 C., and M. Carney, "Dynamic Host Configuration Protocol 1022 for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July 1023 2003, . 1025 [RFC4702] Stapp, M., Volz, B., and Y. Rekhter, "The Dynamic Host 1026 Configuration Protocol (DHCP) Client Fully Qualified 1027 Domain Name (FQDN) Option", RFC 4702, 1028 DOI 10.17487/RFC4702, October 2006, 1029 . 1031 [RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, 1032 "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, 1033 DOI 10.17487/RFC4861, September 2007, 1034 . 1036 [RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy 1037 Extensions for Stateless Address Autoconfiguration in 1038 IPv6", RFC 4941, DOI 10.17487/RFC4941, September 2007, 1039 . 1041 10.2. Informative References 1043 [CNBC] Weston, G., Greenwald, G., and R. Gallagher, "CBC News: 1044 CSEC used airport Wi-Fi to track Canadian travellers", Jan 1045 2014, . 1049 [I-D.ietf-6man-default-iids] 1050 Gont, F., Cooper, A., Thaler, D., and S. LIU, 1051 "Recommendation on Stable IPv6 Interface Identifiers", 1052 draft-ietf-6man-default-iids-08 (work in progress), 1053 October 2015. 1055 [I-D.ietf-6man-ipv6-address-generation-privacy] 1056 Cooper, A., Gont, F., and D. Thaler, "Privacy 1057 Considerations for IPv6 Address Generation Mechanisms", 1058 draft-ietf-6man-ipv6-address-generation-privacy-08 (work 1059 in progress), September 2015. 1061 [I-D.ietf-dhc-dhcp-privacy] 1062 Jiang, S., Krishnan, S., and T. Mrugalski, "Privacy 1063 considerations for DHCPv4", draft-ietf-dhc-dhcp-privacy-02 1064 (work in progress), December 2015. 1066 [I-D.ietf-dhc-dhcpv6-privacy] 1067 Krishnan, S., Mrugalski, T., and S. Jiang, "Privacy 1068 considerations for DHCPv6", draft-ietf-dhc- 1069 dhcpv6-privacy-02 (work in progress), December 2015. 1071 [I-D.ietf-dhc-rfc3315bis] 1072 Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., 1073 Richardson, M., Jiang, S., and T. Lemon, "Dynamic Host 1074 Configuration Protocol for IPv6 (DHCPv6) bis", draft-ietf- 1075 dhc-rfc3315bis-02 (work in progress), October 2015. 1077 [IETFMACRandom] 1078 Zuniga, JC., "MAC Privacy", November 2014, 1079 . 1081 [RFC2132] Alexander, S. and R. Droms, "DHCP Options and BOOTP Vendor 1082 Extensions", RFC 2132, DOI 10.17487/RFC2132, March 1997, 1083 . 1085 [RFC3925] Littlefield, J., "Vendor-Identifying Vendor Options for 1086 Dynamic Host Configuration Protocol version 4 (DHCPv4)", 1087 RFC 3925, DOI 10.17487/RFC3925, October 2004, 1088 . 1090 [RFC4361] Lemon, T. and B. Sommerfeld, "Node-specific Client 1091 Identifiers for Dynamic Host Configuration Protocol 1092 Version Four (DHCPv4)", RFC 4361, DOI 10.17487/RFC4361, 1093 February 2006, . 1095 [RFC4578] Johnston, M. and S. Venaas, Ed., "Dynamic Host 1096 Configuration Protocol (DHCP) Options for the Intel 1097 Preboot eXecution Environment (PXE)", RFC 4578, 1098 DOI 10.17487/RFC4578, November 2006, 1099 . 1101 [RFC4704] Volz, B., "The Dynamic Host Configuration Protocol for 1102 IPv6 (DHCPv6) Client Fully Qualified Domain Name (FQDN) 1103 Option", RFC 4704, DOI 10.17487/RFC4704, October 2006, 1104 . 1106 [RFC6355] Narten, T. and J. Johnson, "Definition of the UUID-Based 1107 DHCPv6 Unique Identifier (DUID-UUID)", RFC 6355, 1108 DOI 10.17487/RFC6355, August 2011, 1109 . 1111 [RFC7618] Cui, Y., Sun, Q., Farrer, I., Lee, Y., Sun, Q., and M. 1112 Boucadair, "Dynamic Allocation of Shared IPv4 Addresses", 1113 RFC 7618, DOI 10.17487/RFC7618, August 2015, 1114 . 1116 [WiFiRadioFingerprinting] 1117 Brik, V., Banerjee, S., Gruteser, M., and S. Oh, "Wireless 1118 Device Identification with Radiometric Signatures", 1119 September 2008, 1120 . 1123 Authors' Addresses 1125 Christian Huitema 1126 Microsoft 1127 Redmond, WA 98052 1128 U.S.A. 1130 Email: huitema@microsoft.com 1131 Tomek Mrugalski 1132 Internet Systems Consortium, Inc. 1133 950 Charter Street 1134 Redwood City, CA 94063 1135 USA 1137 Email: tomasz.mrugalski@gmail.com 1139 Suresh Krishnan 1140 Ericsson 1141 8400 Decarie Blvd. 1142 Town of Mount Royal, QC 1143 Canada 1145 Phone: +1 514 345 7900 x42871 1146 Email: suresh.krishnan@ericsson.com