-
Notifications
You must be signed in to change notification settings - Fork 3
/
draft-krishnan-dhc-dhcpv6-privacy.xml
624 lines (516 loc) · 29.6 KB
/
draft-krishnan-dhc-dhcpv6-privacy.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY rfc3315 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3315.xml">
<!ENTITY rfc3633 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3633.xml">
<!ENTITY rfc4580 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4580.xml">
<!ENTITY rfc4649 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4649.xml">
<!ENTITY rfc4704 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4704.xml">
<!ENTITY rfc4776 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4776.xml">
<!ENTITY rfc4941 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4941.xml">
<!ENTITY rfc6355 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6355.xml">
<!ENTITY rfc6939 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6939.xml">
<!ENTITY rfc6973 PUBLIC "" "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.6973.xml">
<!ENTITY I-D.ietf-6man-ipv6-address-generation-privacy SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-6man-ipv6-address-generation-privacy.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<rfc category="std" docName="draft-krishnan-dhc-dhcpv6-privacy-00"
ipr="trust200902">
<front>
<title abbrev="DHCPv6 Privacy considerations">Privacy considerations for
DHCPv6</title>
<author fullname="Suresh Krishnan" initials="S." surname="Krishnan">
<organization>Ericsson</organization>
<address>
<postal>
<street>8400 Decarie Blvd.</street>
<city>Town of Mount Royal</city>
<region>QC</region>
<country>Canada</country>
</postal>
<phone>+1 514 345 7900 x42871</phone>
<email>[email protected]</email>
</address>
</author>
<author fullname="Tomek Mrugalski" initials="T." surname="Mrugalski">
<organization abbrev="ISC">Internet Systems Consortium,
Inc.</organization>
<address>
<postal>
<street>950 Charter Street</street>
<city>Redwood City</city>
<region>CA</region>
<code>94063</code>
<country>USA</country>
</postal>
<phone>+1 650 423 1345</phone>
<email>[email protected]</email>
</address>
</author>
<author fullname="Sheng Jiang" initials="S." surname="Jiang">
<organization>Huawei Technologies Co., Ltd</organization>
<address>
<postal>
<street>Q14, Huawei Campus, No.156 BeiQing Road</street>
<city>Hai-Dian District, Beijing</city>
<region></region>
<code>100095</code>
<country>P.R. China</country>
</postal>
<email>[email protected]</email>
</address>
</author>
<date year="2014" />
<area>Internet</area>
<workgroup>dhc</workgroup>
<abstract>
<t>DHCPv6 is a protocol that is used to provide addressing and
configuration information to IPv6 hosts. This document discusses the
various identifiers used by DHCPv6 and the potential privacy issues.</t>
</abstract>
</front>
<middle>
<section anchor="intro" title="Introduction">
<t>DHCPv6 <xref target="RFC3315"></xref> is a protocol that is used to
provide addressing and configuration information to IPv6 hosts. The
DHCPv6 protocol uses several identifiers that could become a source for
gleaning additional information about the IPv6 host. This information
may include device type, operating system information, location(s) that
the device may have previously visited, etc. This document discusses the
various identifiers used by DHCPv6 and the potential privacy issues
<xref target="RFC6973"></xref>.</t>
<t>Future works may propose protocol changes to fix the privacy issues
that have been analyzed in this document. It is out of scope for this
document.</t>
<t>Editor notes: for now, the document is mainly considering the privacy
of DHCPv6 client. The privacy of DHCPv6 server and relay agent are
considered less important because they are open for public services.
However, this may be a subject to change if further study shows opposite
result.</t>
</section>
<section title="Terminology">
<t>This section clarifies the terminology used throughout this
document.</t>
<t>Stable identifier - any property disclosed by a DHCPv6 client that
does not change over time or changes very infrequently and is unique for
said client in a given context. Examples include MAC address, client-id
that does not change or a hostname. Stable identifier may or may not be
globally unique.</t>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref
target="RFC2119"></xref>. When these words are not in ALL CAPS (such as
"should" or "Should"), they have their usual English meanings, and are
not to be interpreted as <xref target="RFC2119"></xref> key words.</t>
</section>
<section title="Identifiers in DHCPv6">
<t>There are several identifiers used in DHCPv6. This section provides
an introduction to the various options that will be used further in the
document.</t>
<section anchor="duid" title="DUID">
<t>Each DHCPv6 client and server has a DHCPv6 Unique Identifier (DUID)
<xref target="RFC3315"></xref>. The DUID is designed to be unique
across all DHCPv6 clients and servers, and to remain stable after it
has been initially generated. The DUID can be of different forms.
Commonly used forms are based on the link-layer address of one of the
device's network interfaces (with or without a timestamp), on the
Universally Unique IDentifier (UUID) <xref target="RFC6355"></xref>.
The default type, recommended by <xref target="RFC3315"></xref>, is
DUID-LLT that is based on link-layer address, which is commonly
implemented in most popular clients.</t>
<t>It is important to understand DUID lifecycle. Clients and servers
are expected to generate their DUID once (during first operation) and
store it in a non-volatile storage or use the same deterministic
algorithm to generate the same DUID value again. This means that most
implementations will use the available link-layer address during its
first boot. Even if the administrator enables privacy extensions (see
<xref target="RFC4941"></xref>) and its equivalent for link-layer
address randomization, it is likely that those privacy mechanisms were
disabled during the first device boot. Hence the original,
unobfuscated link-layer address will likely end up being announced as
client DUID, even if the link-layer address has changed (or even if
being changed on a periodic basis).</t>
</section>
<section title="Client ID Option">
<t>The Client Identifier Option (OPTION_CLIENTID) <xref
target="RFC3315"></xref> is used to carry the DUID of a DHCPv6 client
between a client and a server. There is an analogous Server Identifier
Option but it is not as interesting in the privacy context (unless a
host can be convinced to start acting as a server). Client ID is an
example of DUID. See <xref target="duid"></xref> for relevant
discussion about DUIDs.</t>
</section>
<section title="IA_NA, IA_TA, IA_PD, IA Address and IA Prefix Options">
<t>The Identity Association for Non-temporary Addresses (IA_NA) option
<xref target="RFC3315"></xref> is used to carry the parameters and any
non-temporary addresses associated with the given IA_NA. The Identity
Association for Temporary Addresses (IA_TA) option <xref
target="RFC3315"></xref> is analogous to the IA_NA option but for
temporary addresses. The IA Address option <xref
target="RFC3315"></xref> is used to specify IPv6 addresses associated
with an IA_NA or an IA_TA and is encapsulated within the Options field
of such an IA_NA or IA_TA option. The Identity Association for Prefix
Delegation (IA_PD) <xref target="RFC3633"></xref> option is used to
carry the prefixes that are assigned to the requesting router. IA
Prefix option <xref target="RFC3633"></xref> is used to specify IPv6
prefixes associated with an IA_PD and is encapsulated within the
Options field of such an IA_PD option.</t>
<t>To differentiate between instances of the same type of IA
containers, each IA_NA, IA_TA and IA_PD options have an IAID field
that is unique for each client/option type pair. It is up to the
client to pick unique IAID values. At least one popular implementation
uses last four octets of the link-layer address. In most cases, that
means that merely two bytes are missing for a full link-layer address
reconstruction. However, the first three octets in a typical
link-layer address are vendor identifier. That can be determined with
high level of certainty using other means, thus allowing full
link-layer address discovery.</t>
</section>
<section title="Interface ID">
<t>A DHCPv6 relay includes the Interface ID <xref
target="RFC3315"></xref> option to identify the interface on which it
received the client message that is being relayed.</t>
<t>Although in principle Interface ID can be arbitrarily long with
completely random values, it is often a text string that includes the
relay agent name followed by interface name. This can be used for
fingerprinting the relay or determining client's point of
attachment.</t>
</section>
<section title="Subscriber ID">
<t>A DHCPv6 relay includes a Subscriber ID option <xref
target="RFC4580"></xref> to associate some provider-specific
information with clients' DHCPv6 messages that is independent of the
physical network configuration.</t>
<t>In many deployments, the relay agent that inserts this option is
configured to use client's link-layer address as Subscriber ID.</t>
</section>
<section title="Remote ID">
<t>A DHCPv6 relay includes a Remote ID option <xref
target="RFC4649"></xref> to identify the remote host end of the
circuit.</t>
<t>The remote-id is vendor specific, for which the vendor is indicated
in the enterprise-number field. The remote-id field may encode the
information that identified the DHCPv6 clients:</t>
<t><list style="symbols">
<t>a "caller ID" telephone number for dial-up connection</t>
<t>a "user name" prompted for by a Remote Access Server</t>
<t>a remote caller ATM address o a "modem ID" of a cable data
modem</t>
<t>the remote IP address of a point-to-point link</t>
<t>an interface or port identifier</t>
</list></t>
</section>
<section title="Client FQDN Option">
<t>The Client Fully Qualified Domain Name (FQDN) option <xref
target="RFC4704"></xref> is used by DHCPv6 clients and servers to
exchange information about the client's fully qualified domain name
and about who has the responsibility for updating the DNS with the
associated AAAA and PTR RRs.</t>
<t>A client can use this option to convey all or part of its domain
name to a DHCPv6 server for the IPv6-address-to-FQDN mapping. In most
case a client sends its hostname as a hint for the server. The DHCPv6
server MAY be configured to modify the supplied name or to substitute
a different name. The server should send its notion of the complete
FQDN for the client in the Domain Name field.</t>
</section>
<section title="Client Link-layer Address Option">
<t>The Client link-layer address option <xref target="RFC6939"></xref>
is used by first-hop DHCPv6 relays to provide the client's link-layer
address towards the server.</t>
<t>DHCPv6 relay agents that receive messages originating from clients
may include the link-layer source address of the received DHCPv6
message in the Client Link-Layer Address option, in relayed DHCPv6
Relay-Forward messages.</t>
</section>
<section title="Option Request Option">
<t>DHCPv6 clients include an Option Request option <xref
target="RFC3315"></xref> in DHCPv6 messages to inform the server about
options the client wants the server to send to the client.</t>
<t>The content of an Option Request option are the option codes for an
option requested by the client. The client may additionally include
instances of those options that are identified in the Option Request
option, with data values as hints to the server about parameter values
the client would like to have returned.</t>
</section>
<section title="Vendor Class Option">
<t>This Vendor Class option <xref target="RFC3315"></xref> is used by
a DHCPv6 client to identify the vendor that manufactured the hardware
on which the client is running.</t>
<t>The information contained in the data area of this option is
contained in one or more opaque fields that identify details of the
hardware configuration, for example, the version of the operating
system the client is running or the amount of memory installed on the
client.</t>
</section>
<section title="Civic Location Option">
<t>DHCPv6 servers use the Civic Location option <xref
target="RFC4776"></xref> to delivery of location information (the
civic and postal addresses) from the DHCPv6 server to the DHCPv6
clients. It may refer to three locations: the location of the DHCPv6
server, the location of the network element believed to be closest to
the client, or the location of the client, identified by the "what"
element within the option.</t>
</section>
<section title="Coordinate-Based Location Option">
<t>The GeoLoc options <xref target="RFC6225"></xref> is used by DHCPv6
server to provide the coordinate- based geographic location
information to the DHCPv6 clients. It enable a DHCPv6 client to obtain
its location.</t>
<t>After the relevant DHCPv6 exchanges have taken place, the location
information is stored on the end device rather than somewhere else,
where retrieving it might be difficult in practice.</t>
</section>
<section title="Client System Architecture Type Option">
<t>The Client System Architecture Type option <xref
target="RFC5970"></xref> is used by DHCPv6 client to send a list of
supported architecture types to the DHCPv6 server. It is used to
provide configuration information for a node that must be booted using
the network rather than from local storage.</t>
<t><!--Client Network Interface Identifier [RFC5970] seems not in use. It provides information about the level of UNDI support.--></t>
</section>
<!--<section title="Options for Home Network/Agent Dynamic Discovery">
<t>A set of DHCP options <xref target="RFC6610"></xref> are used to
deliver the home agent information (the home agent's IPv6 address,
IPv6 home network prefix, or FQDN information) to the mobile node
(DHCPv6 client), including MIPv6 Home Network ID FQDN option, Home
Network Information options, MIPv6 Home Network Prefix option, MIPv6
Home Agent Address option, MIPv6 Home Agent FQDN option. They contains
the information of target home networks for which the client is
requesting configuration information.</t>
</section>-->
</section>
<section title="Existing Mechanisms That Affect Privacy">
<t>This section describes available DHCPv6 mechanisms that one can use
to protect or enhance one's privacy.</t>
<section title="Temporary addresses">
<t><xref target="RFC3315"></xref> defines a mechanism for a client to
request temporary addresses. The idea behind temporary addresses is
that a client can request a temporary address for a specific purpose,
use it, and then never renew it. i.e. let it expire.</t>
<t>There are number of serious issues, both protocolar and
implementational, that make them nearly useless for their original
goal. First, <xref target="RFC3315"></xref> does not include T1 and T2
renewal timers in IA_TA (a container for temporary addresses).
However, it mentions that temporary addresses can be renewed. Many
client implementations renew those addresses during a renewal
procedure initiated by other resources (non-temporary addresses or
prefixes), thus forfeiting shortliveness. Second, <xref
target="RFC4704"></xref> allows servers to update DNS for assigned
temporary addresses. Publishing client's IPv6 address in DNS that is
publicly available is a major privacy breach.</t>
</section>
<section title="DNS Updates">
<t>DNS Updates <xref target="RFC4704"></xref> defines a mechanism that
allows both clients and server to insert into DNS domain information
about clients. Both forward (AAAA) and reverse (PTR) resource records
can be updated. This allows other nodes to conveniently refer to a
host, despite the fact that its IPv6 address may be changing.</t>
<t>This mechanism exposes two important pieces of information: current
address (which can be mapped to current location) and client's
hostname. The stable hostname can then by used to correlate the client
across different network attachments even when its IPv6 address keeps
changing.</t>
</section>
<section title="Allocation strategies">
<t>A DHCPv6 server running in typical, stateful mode is given a task
of managing one or more pools of IPv6 resources (currently
non-temporary addresses, temporary addresses and/or prefixes, but more
resource types may be defined in the future). When a client requests a
resource, server must pick a resource out of configured pool.
Depending on the server's implementation, various allocation
strategies are possible. Choices in this regard may have privacy
implications.</t>
<t>Iterative allocation - a server may choose to allocate addresses
one by one. That strategy has the benefit of being very fast, thus can
be favored in deployments that prefer performance. However, it makes
the resources very predictable. Also, since the resources allocated
tend to be clustered at the beginning of available pool, it makes
scanning attacks much easier.</t>
<t>Identifier-based allocation - a server may choose to allocate an
address that is based on one of available identifiers, e.g. IID or MAC
address. This has a property of being convenient for converting IP
address to/from other identifiers, especially if the identifier is or
contains MAC address. It is also convenient, as returning client is
very likely to get the same address, even if the server does not store
previous client's address. Those properties are convenient for system
administrators, so DHCPv6 server implementors are sometimes requested
to implement it. There is at least one implementation that supports
it. On the other hand, the downside of such allocation is that the
client now discloses its identifier in its IPv6 address to all
services it connects to. That means that correlation of activities
over time, location tracking, address scanning and OS/vendor discovery
apply.</t>
<t>Hash allocation - it's an extension of identifier based allocation.
Instead of using the identifier directly, it is being hashed first. If
the hash is implemented correctly, it removes the flaw of disclosing
the identifier, a property that eliminates susceptibility to address
scanning and OS/vendor discovery. If the hash is poorly implemented
(e.g. can be reverted), it introduces no improvement over
identifier-based allocation.</t>
<t>Random allocation - a server can pick a resource randomly out of
available pool. That strategy works well in scenarios where pool
utilization is small, as the likelihood of collision (resulting in the
server needing to repeat randomization) is small. With the pool
allocation increasing, the collision is disproportionally large, due
to birthday paradox. With high pool utilization (e.g. when 90% of
available resources being allocated already), the server will use most
computational resources to repeatedly pick a random resource, which
will degrade its performance. This allocation scheme essentially
prevents returning clients from getting the same address or prefix
again. On the other hand, it is beneficial from privacy perspective as
addresses and prefixes generated that way are not susceptible to
correlation attacks, OS/vendor discovery attacks or identity discovery
attacks. Note that even though the address or prefix itself may be
resilient to a given attack, the client may still be susceptible if
additional information is disclosed other way, e.g. client's address
can be randomized, but it still can leak its MAC address in client-id
option.</t>
<t>Other allocation strategies may be implemented.</t>
</section>
</section>
<section title="Attacks">
<section title="Device type discovery (fingerprinting)">
<t>The type of device used by the client can be guessed by the
attacker using the Vendor Class option, the Client Link-layer Address
option, and by parsing the Client ID option. All of those options may
contain OUI (Organizationally Unique Identifier) that represents the
device's vendor. That knowledge can be used for device-specific
vulnerability exploitation attacks. See Section 3.4 of <xref
target="I-D.ietf-6man-ipv6-address-generation-privacy"></xref> for a
discussion about this type of attack.</t>
</section>
<section title="Operating system discovery (fingerprinting)">
<t>The operating system running on a client can be guessed using the
Vendor Class option, the Client System Architecture Type option, or by
using fingerprinting techniques on the combination of options
requested using the Option Request option. See Section 3.4 of <xref
target="I-D.ietf-6man-ipv6-address-generation-privacy"></xref> for a
discussion about this type of attack.</t>
</section>
<section title="Finding location information">
<t>The location information can be obtained by the attacker by many
means. The most direct way to obtain this information is by looking
into a server initiated message that contains the Civic Location or
GeoLoc option. It can also be indirectly inferred using the Remote ID
Option (e.g. using a telephone number), the Interface ID option (e.g.
if an access circuit on an Access Node corresponds to a civic
location), or the Subscriber ID Option (if the attacker has access to
subscriber info).</t>
</section>
<section title="Finding previously visited networks">
<t>When DHCPv6 clients connect to a network, they attempt to obtain
the same address they had used before they attached to the network.
They do this by putting the previously assigned address(es) in the IA
Address Option(s) inside the IA_NA, IA_TA. By observing these
addresses, an attacker can identify the network the client had
previously visited.</t>
</section>
<section title="Finding a stable identity">
<t>An attacker might use a stable identity gleaned from DHCPv6
messages to correlate activities of a given client on unrelated
networks. The Client FQDN option, the Subscriber ID Option and the
Client ID options can serve as long lived identifiers of DHCPv6
clients. The Client FQDN option can also provide an identity that can
easily be correlated with web server activity logs.</t>
</section>
<section title="Pervasive monitoring">
<t>This is an enhancement, or a combination of most aforementioned
mechanisms. Operator, who controls non-trivial number of access points
or network segments, may use obtained information about a single
client and observer client's habits.</t>
</section>
<section title="Finding client's IP address or hostname">
<t>Many DHCPv6 deployments use DNS Updates <xref
target="RFC4704"></xref> that put client's information (current IP
address, client's hostname). Client ID is also disclosed, able it in
not easily accessible form (SHA-256 digest of the client-id). Although
SHA-256 is irreversible, so DHCPv6 client ID can't be converted back
to client-id. However, SHA-256 digest can be used as a unique
identifier that is accessible by any host.</t>
</section>
<section title="Correlation of activities over time">
<t>As with other identifiers, an IPv6 address can be used to correlate
the activities of a host for at least as long as the lifetime of the
address. If that address was generated from some other, stable
identifier and that generation scheme can be deducted by an attacker,
the duration of correlation attack extends to that identifier. In many
cases, its lifetime is equal to the lifetime of the device itself. See
Section 3.1 of <xref
target="I-D.ietf-6man-ipv6-address-generation-privacy"></xref> for
detailed discussion.</t>
</section>
<section title="Location tracking">
<t>If a stable identifier is used for assigning an address and such
mapping is discovered by an attacker (e.g. a server that uses
IEEE-identifier-based IID to generate IPv6 address), all scenarios
discussed in Section 3.2 of <xref
target="I-D.ietf-6man-ipv6-address-generation-privacy"></xref> apply.
In particular both passive (a service that the client connects to can
log client's address and draw conclusions regarding its location and
movement patterns based on prefix it is connecting from) and active
(attacker can send ICMPv6 echo requests or other probe packets to
networks of suspected client locations).</t>
</section>
<section title="Leasequery & bulk leasequery">
<t>Attackers may pretend as an access concentrator, either DHCPv6
relay agent or DHCPv6 client, to obtain location information directly
from the DHCP server(s) using the DHCPv6 Leasequery <xref
target="RFC5007"></xref> mechanism.</t>
<t>Location information is information needed by the access
concentrator to forward traffic to a broadband-accessible host. This
information includes knowledge of the host hardware address, the port
or virtual circuit that leads to the host, and/or the hardware address
of the intervening subscriber modem.</t>
<t>Furthermore, the attackers may use DHCPv6 bulk leasequery <xref
target="RFC5460"></xref> mechanism to obtain bulk information about
DHCPv6 bindings, even without knowing the target bindings.</t>
</section>
</section>
<section anchor="security" title="Security Considerations">
<t>TBD</t>
</section>
<section anchor="privacy-consider" title="Privacy Considerations">
<t>This document at its entirety discusses privacy considerations in
DHCPv6. As such, no separate section about this is needed.</t>
</section>
<section title="IANA Considerations">
<t>This draft does not request any IANA action.</t>
</section>
<section anchor="acks" title="Acknowledgements">
<t>The authors would like to thanks the valuable comments made by
Stephen Farrell, Ted Lemon, Ines Robles, Russ White, Christian Schaefer
and other members of DHC WG.</t>
<t>This document was produced using the xml2rfc tool <xref
target="RFC2629"></xref>.</t>
</section>
</middle>
<back>
<references title="Normative References">
&rfc2119;
&rfc3315;
</references>
<references title="Informative References">
&rfc3633;
<?rfc include='reference.RFC.2629'?>
&rfc4580;
&rfc4649;
&rfc4704;
&rfc4776;
&rfc4941;
<?rfc include='reference.RFC.5007'?>
<?rfc include='reference.RFC.5460'?>
<?rfc include='reference.RFC.5970'?>
<?rfc include='reference.RFC.6225'?>
&rfc6355;
&rfc6939;
&rfc6973;
&I-D.ietf-6man-ipv6-address-generation-privacy;
</references>
</back>
</rfc>