idnits 2.17.1 draft-iab-privacy-considerations-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 == Line 1305 has weird spacing: '... states on th...' == Line 1306 has weird spacing: '...cessing of...' -- The document date (January 10, 2013) is 4123 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 2616 (Obsoleted by RFC 7230, RFC 7231, RFC 7232, RFC 7233, RFC 7234, RFC 7235) -- Obsolete informational reference (is this intentional?): RFC 4282 (Obsoleted by RFC 7542) -- Obsolete informational reference (is this intentional?): RFC 5077 (Obsoleted by RFC 8446) -- Obsolete informational reference (is this intentional?): RFC 5246 (Obsoleted by RFC 8446) Summary: 0 errors (**), 0 flaws (~~), 3 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group A. Cooper 3 Internet-Draft CDT 4 Intended status: Informational H. Tschofenig 5 Expires: July 14, 2013 Nokia Siemens Networks 6 B. Aboba 7 Microsoft Corporation 8 J. Peterson 9 NeuStar, Inc. 10 J. Morris 12 M. Hansen 13 ULD Kiel 14 R. Smith 15 JANET(UK) 16 January 10, 2013 18 Privacy Considerations for Internet Protocols 19 draft-iab-privacy-considerations-05.txt 21 Abstract 23 This document offers guidance for developing privacy considerations 24 for inclusion in IETF documents. It aims to make protocol designers 25 aware of privacy-related design choices. It suggests that whether 26 any individual RFC requires a specific privacy considerations section 27 will depend on the document's content. 29 Discussion of this document is taking place on the IETF Privacy 30 Discussion mailing list (see 31 https://www.ietf.org/mailman/listinfo/ietf-privacy). 33 Status of this Memo 35 This Internet-Draft is submitted in full conformance with the 36 provisions of BCP 78 and BCP 79. 38 Internet-Drafts are working documents of the Internet Engineering 39 Task Force (IETF). Note that other groups may also distribute 40 working documents as Internet-Drafts. The list of current Internet- 41 Drafts is at http://datatracker.ietf.org/drafts/current/. 43 Internet-Drafts are draft documents valid for a maximum of six months 44 and may be updated, replaced, or obsoleted by other documents at any 45 time. It is inappropriate to use Internet-Drafts as reference 46 material or to cite them other than as "work in progress." 48 This Internet-Draft will expire on July 14, 2013. 50 Copyright Notice 52 Copyright (c) 2013 IETF Trust and the persons identified as the 53 document authors. All rights reserved. 55 This document is subject to BCP 78 and the IETF Trust's Legal 56 Provisions Relating to IETF Documents 57 (http://trustee.ietf.org/license-info) in effect on the date of 58 publication of this document. Please review these documents 59 carefully, as they describe your rights and restrictions with respect 60 to this document. Code Components extracted from this document must 61 include Simplified BSD License text as described in Section 4.e of 62 the Trust Legal Provisions and are provided without warranty as 63 described in the Simplified BSD License. 65 Table of Contents 67 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 68 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 69 2.1. Entities . . . . . . . . . . . . . . . . . . . . . . . . . 6 70 2.2. Data and Analysis . . . . . . . . . . . . . . . . . . . . 7 71 2.3. Identifiability . . . . . . . . . . . . . . . . . . . . . 7 72 3. Communications Model . . . . . . . . . . . . . . . . . . . . . 10 73 4. Privacy Threats . . . . . . . . . . . . . . . . . . . . . . . 12 74 4.1. Combined Security-Privacy Threats . . . . . . . . . . . . 12 75 4.1.1. Surveillance . . . . . . . . . . . . . . . . . . . . . 12 76 4.1.2. Stored Data Compromise . . . . . . . . . . . . . . . . 13 77 4.1.3. Intrusion . . . . . . . . . . . . . . . . . . . . . . 13 78 4.1.4. Misattribution . . . . . . . . . . . . . . . . . . . . 13 79 4.2. Privacy-Specific Threats . . . . . . . . . . . . . . . . . 14 80 4.2.1. Correlation . . . . . . . . . . . . . . . . . . . . . 14 81 4.2.2. Identification . . . . . . . . . . . . . . . . . . . . 15 82 4.2.3. Secondary Use . . . . . . . . . . . . . . . . . . . . 15 83 4.2.4. Disclosure . . . . . . . . . . . . . . . . . . . . . . 16 84 4.2.5. Exclusion . . . . . . . . . . . . . . . . . . . . . . 16 85 5. Threat Mitigations . . . . . . . . . . . . . . . . . . . . . . 18 86 5.1. Data Minimization . . . . . . . . . . . . . . . . . . . . 18 87 5.1.1. Anonymity . . . . . . . . . . . . . . . . . . . . . . 18 88 5.1.2. Pseudonymity . . . . . . . . . . . . . . . . . . . . . 19 89 5.1.3. Identity Confidentiality . . . . . . . . . . . . . . . 20 90 5.1.4. Data Minimization within Identity Management . . . . . 20 91 5.2. User Participation . . . . . . . . . . . . . . . . . . . . 21 92 5.3. Security . . . . . . . . . . . . . . . . . . . . . . . . . 21 93 6. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 94 7. Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . 25 95 7.1. Data Minimization . . . . . . . . . . . . . . . . . . . . 25 96 7.2. User Participation . . . . . . . . . . . . . . . . . . . . 26 97 7.3. Security . . . . . . . . . . . . . . . . . . . . . . . . . 27 98 7.4. General . . . . . . . . . . . . . . . . . . . . . . . . . 27 99 8. Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 100 9. Security Considerations . . . . . . . . . . . . . . . . . . . 33 101 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 34 102 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 35 103 12. Informative References . . . . . . . . . . . . . . . . . . . . 36 104 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 39 106 1. Introduction 108 [RFC3552] provides detailed guidance to protocol designers about both 109 how to consider security as part of protocol design and how to inform 110 readers of IETF documents about security issues. This document 111 intends to provide a similar set of guidance for considering privacy 112 in protocol design. 114 Privacy is a complicated concept with a rich history that spans many 115 disciplines. With regard to data, often it is a concept applied to 116 "personal data," information relating to an identified or 117 identifiable individual. Many sets of privacy principles and privacy 118 design frameworks have been developed in different forums over the 119 years. These include the Fair Information Practices [FIPs], a 120 baseline set of privacy protections pertaining to the collection and 121 use of personal data (often based on the principles established in 122 [OECD], for example), and the Privacy by Design concept, which 123 provides high-level privacy guidance for systems design (see [PbD] 124 for one example). The guidance provided in this document is inspired 125 by this prior work, but it aims to be more concrete, pointing 126 protocol designers to specific engineering choices that can impact 127 the privacy of the individuals that make use of Internet protocols. 129 Different people have radically different conceptions of what privacy 130 means, both in general, and as it relates to them personally 131 [Westin]. Furthermore, privacy as a legal concept is understood 132 differently in different jurisdictions. The guidance provided in 133 this document is generic and can be used to inform the design of any 134 protocol to be used anywhere in the world, without reference to 135 specific legal frameworks. 137 Whether any individual document will require a specific privacy 138 considerations section will depend on the document's content. 139 Documents whose entire focus is privacy may not merit a separate 140 section (for example, "Private Extensions to the Session Initiation 141 Protocol (SIP) for Asserted Identity within Trusted Networks" 142 [RFC3325]). For certain specifications, privacy considerations are a 143 subset of security considerations and can be discussed explicitly in 144 the security considerations section. Some documents will not require 145 discussion of privacy considerations (for example, "Definition of the 146 Opus Audio Codec" [RFC6716]). The guidance provided here can and 147 should be used to assess the privacy considerations of protocol, 148 architectural, and operational specifications and to decide whether 149 those considerations are to be documented in a stand-alone section, 150 within the security considerations section, or throughout the 151 document. 153 This document is organized as follows. Section 2 explains the 154 terminology used in this document. Section 3 reviews typical 155 communications architectures to understand at which points there may 156 be privacy threats. Section 4 discusses threats to privacy as they 157 apply to Internet protocols. Section 5 outlines mitigations of those 158 threats. Section 6 describes the extent to which the guidance 159 offered is applicable within the IETF. Section 7 provides the 160 guidelines for analyzing and documenting privacy considerations 161 within IETF specifications. Section 8 examines the privacy 162 characteristics of an IETF protocol to demonstrate the use of the 163 guidance framework. 165 2. Terminology 167 This section defines basic terms used in this document, with 168 references to pre-existing definitions as appropriate. As in 169 [RFC4949], each entry is preceded by a dollar sign ($) and a space 170 for automated searching. Note that this document does not try to 171 attempt to define the term 'privacy' itself. Instead privacy is the 172 sum of what is contained in this document. We therefore follow the 173 approach taken by [RFC3552]. 175 2.1. Entities 177 Several of these terms are further elaborated in Section 3. 179 $ Attacker: An entity that intentionally works against some 180 protection goal. 182 $ Eavesdropper: A type of attacker that passively observes an 183 initiator's communications without the initiator's knowledge or 184 authorization. See [RFC4949]. 186 $ Enabler: A protocol entity that facilitates communication between 187 an initiator and a recipient without being directly in the 188 communications path. 190 $ Individual: A human being. 192 $ Initiator: A protocol entity that initiates communications with a 193 recipient. 195 $ Intermediary: A protocol entity that sits between the initiator 196 and the recipient and is necessary for the initiator and recipient 197 to communicate. Unlike an eavesdropper, an intermediary is an 198 entity that is part of the communication architecture. For 199 example, a SIP proxy is an intermediary in the SIP architecture. 201 $ Observer: An entity that is able to observe and collect 202 information from communications, potentially posing privacy 203 threats depending on the context. As defined in this document, 204 initiators, recipients, intermediaries, and enablers can all be 205 observers. Observers are distinguished from eavesdroppers by 206 being at least tacitly authorized. 208 $ Recipient: A protocol entity that receives communications from an 209 initiator. 211 2.2. Data and Analysis 213 $ Correlation: The combination of various pieces of information 214 relating to an individual. 216 $ Fingerprint: A set of information elements that identifies a 217 device or application instance. 219 $ Fingerprinting: The process of an observer or attacker uniquely 220 identifying (with a sufficiently high probability) a device or 221 application instance based on multiple information elements 222 communicated to the observer or attacker. See [EFF]. 224 $ Item of Interest (IOI): Any data item that an observer or 225 attacker might be interested in. This includes attributes, 226 identifiers, identities, communications content, and the fact that 227 a communication interaction has taken place. 229 $ Personal Data: Any information relating to an individual who can 230 be identified, directly or indirectly. 232 $ (Protocol) Interaction: A unit of communication within a 233 particular protocol. A single interaction may be compromised of a 234 single message between an initiator and recipient or multiple 235 messages, depending on the protocol. 237 $ Traffic Analysis: The inference of information from observation 238 of traffic flows (presence, absence, amount, direction, and 239 frequency). See [RFC4949]. 241 $ Undetectability: The inability of an observer or attacker to 242 sufficiently distinguish whether an item of interest exists or 243 not. 245 $ Unlinkability: Within a particular set of information, the 246 inability of an observer or attacker to distinguish whether two 247 items of interest are related or not (with a high enough degree of 248 probability to be useful to the observer or attacker). 250 2.3. Identifiability 252 $ Anonymity: The state of being anonymous. 254 $ Anonymity Set: A set of individuals that have the same 255 attributes, making them indistinguishable from each other from the 256 perspective a particular attacker or observer. 258 $ Anonymous: A state of an individual in which an observer or 259 attacker cannot identify the individual within a set of other 260 individuals (the anonymity set). 262 $ Attribute: A property of an individuals. 264 $ Identifiable: A state in which a individual's identity is capable 265 of being known to an observer or attacker. 267 $ Identifiability: The extent to which an individual is 268 identifiable. 270 $ Identified: A state in which an individual's identity is known. 272 $ Identifier: A data object uniquely referring to a specific 273 identity of a protocol entity or individual in some context. See 274 [RFC4949]. Identifiers can be based upon natural names -- 275 official names, personal names, and/or nicknames -- or can be 276 artificial (for example, x9z32vb). However, identifiers are by 277 definition unique within their context of use, while natural names 278 are often not unique. 280 $ Identification: The linking of information to a particular 281 individual to infer the individual's identity or that allows the 282 inference of the individual's identity in some context. 284 $ Identity: Any subset of an individual's attributes, including 285 names, that identifies the individual within a given context. 286 Individuals usually have multiple identities for use in different 287 contexts. 289 $ Identity Confidentiality: A property of an individual wherein any 290 party other than the recipient cannot sufficiently identify the 291 individual within a set of other individuals (the anonymity set). 292 This is a desirable property of authentication protocols. 294 $ Identity Provider: An entity (usually an organization) that is 295 responsible for establishing, maintaining, securing, and vouching 296 for the identity associated with individuals. 298 $ Official Name: A personal name for an individual which is 299 registered in some official context. For example, the name on an 300 individual's birth certificate. 302 $ Personal Name: A natural name for an individual. Personal names 303 are often not unique, and often comprise given names in 304 combination with a family name. An individual may have multiple 305 personal names at any time and over a lifetime, including official 306 names. From a technological perspective, it cannot always be 307 determined whether a given reference to an individual is, or is 308 based upon, the individual's personal name(s) (see Pseudonym). 310 $ Pseudonym: A name assumed by an individual in some context, 311 unrelated to the individual's personal names known by others in 312 that context, with an intent of not revealing the individual's 313 identities associated with her other names. 315 $ Pseudonymity: The state of being pseudonymous. 317 $ Pseudonymous: A property of an individual in which the individual 318 is identified by a pseudonym. 320 $ Real name: See personal name and official name. 322 $ Relying party: An entity that relies on assertions of 323 individuals' identities from identity providers in order to 324 provide services to individuals. In effect, the relying party 325 delegates aspects of identity management to the identity 326 provider(s). Such delegation requires protocol exchanges, trust, 327 and a common understanding of semantics of information exchanged 328 between the relying party and the identity provider. 330 3. Communications Model 332 To understand attacks in the privacy-harm sense, it is helpful to 333 consider the overall communication architecture and different actors' 334 roles within it. Consider a protocol entity, the "initiator", that 335 initiates communication with some recipient. Privacy analysis is 336 most relevant for protocols with use cases in which the initiator 337 acts on behalf of an individual (or different individuals at 338 different times). It is this individual whose privacy is potentially 339 threatened. 341 Communications may be direct between the initiator and the recipient, 342 or they may involve an application-layer intermediary (such as a 343 proxy or cache) that is necessary for the two parties to communicate. 344 In some cases this intermediary stays in the communication path for 345 the entire duration of the communication and sometimes it is only 346 used for communication establishment, for either inbound or outbound 347 communication. In rare cases there may be a series of intermediaries 348 that are traversed. At lower layers, additional entities are 349 involved in packet forwarding that may interfere with privacy 350 protection goals as well. 352 Some communications tasks require multiple protocol interactions with 353 different entities. For example, a request to an HTTP server may be 354 preceded by an interaction between the initiator and an 355 Authentication, Authorization, and Accounting (AAA) server for 356 network access and to a DNS server for name resolution. In this 357 case, the HTTP server is the recipient and the other entities are 358 enablers of the initiator-to-recipient communication. Similarly, a 359 single communication with the recipient might generate further 360 protocol interactions between either the initiator or the recipient 361 and other entities, and the roles of the entities might change with 362 each interaction. For example, an HTTP request might trigger 363 interactions with an authentication server or with other resource 364 servers wherein the recipient becomes an initiator in those later 365 interactions. 367 Thus, when conducting privacy analysis of an architecture that 368 involves multiple communications phases, the entities involved may 369 take on different -- or opposing -- roles from a privacy 370 considerations perspective in each phase. Understanding the privacy 371 implications of the architecture as a whole may require a separate 372 analysis of each phase. 374 Protocol design is often predicated on the notion that recipients, 375 intermediaries, and enablers are assumed to be authorized to receive 376 and handle data from initiators. As [RFC3552] explains, "we assume 377 that the end-systems engaging in a protocol exchange have not 378 themselves been compromised." However, by its nature privacy 379 analysis requires questioning this assumption since systems are often 380 compromised for the purpose of obtaining personal data. 382 Although recipients, intermediaries, and enablers may not generally 383 be considered as attackers, they may all pose privacy threats 384 (depending on the context) because they are able to observe, collect, 385 process, and transfer privacy-relevant data. These entities are 386 collectively described below as "observers" to distinguish them from 387 traditional attackers. From a privacy perspective, one important 388 type of attacker is an eavesdropper: an entity that passively 389 observes the initiator's communications without the initiator's 390 knowledge or authorization. 392 The threat descriptions in the next section explain how observers and 393 attackers might act to harm individuals' privacy. Different kinds of 394 attacks may be feasible at different points in the communications 395 path. For example, an observer could mount surveillance or 396 identification attacks between the initiator and intermediary, or 397 instead could surveil an enabler (e.g., by observing DNS queries from 398 the initiator). 400 4. Privacy Threats 402 Privacy harms come in a number of forms, including harms to financial 403 standing, reputation, solitude, autonomy, and safety. A victim of 404 identity theft or blackmail, for example, may suffer a financial loss 405 as a result. Reputational harm can occur when disclosure of 406 information about an individual, whether true or false, subjects that 407 individual to stigma, embarrassment, or loss of personal dignity. 408 Intrusion or interruption of an individual's life or activities can 409 harm the individual's ability to be left alone. When individuals or 410 their activities are monitored, exposed, or at risk of exposure, 411 those individuals may be stifled from expressing themselves, 412 associating with others, and generally conducting their lives freely. 413 They may also feel a general sense of unease, in that it is "creepy" 414 to be monitored or to have data collected about them. In cases where 415 such monitoring is for the purpose of stalking or violence (for 416 example, monitoring communications to or from a domestic abuse 417 shelter), it can put individuals in physical danger. 419 This section lists common privacy threats (drawing liberally from 420 [Solove], as well as [CoE]), showing how each of them may cause 421 individuals to incur privacy harms and providing examples of how 422 these threats can exist on the Internet. 424 Some privacy threats are already considered in IETF protocols as a 425 matter of routine security analysis. Others are more pure privacy 426 threats that existing security considerations do not usually address. 427 The threats described here are divided into those that may also be 428 considered security threats and those that are primarily privacy 429 threats. 431 Note that an individual's awareness of and consent to the practices 432 described below can greatly affect the extent to which they threaten 433 privacy. If an individual authorizes surveillance of his own 434 activities, for example, the harms associated with it may be 435 mitigated, or the individual may accept the risk of harm. 437 4.1. Combined Security-Privacy Threats 439 4.1.1. Surveillance 441 Surveillance is the observation or monitoring of an individual's 442 communications or activities. The effects of surveillance on the 443 individual can range from anxiety and discomfort to behavioral 444 changes such as inhibition and self-censorship to the perpetration of 445 violence against the individual. The individual need not be aware of 446 the surveillance for it to impact privacy -- the possibility of 447 surveillance may be enough to harm individual autonomy. 449 Surveillance can be conducted by observers or eavesdroppers at any 450 point along the communications path. Confidentiality protections (as 451 discussed in [RFC3552] Section 3) are necessary to prevent 452 surveillance of the content of communications. To prevent traffic 453 analysis or other surveillance of communications patterns, other 454 measures may be necessary, such as [Tor]. 456 4.1.2. Stored Data Compromise 458 End systems that do not take adequate measures to secure stored data 459 from unauthorized or inappropriate access expose individuals to 460 potential financial, reputational, or physical harm. 462 Protecting against stored data compromise is typically outside the 463 scope of IETF protocols. However, a number of common protocol 464 functions -- key management, access control, or operational logging, 465 for example -- require the storage of data about initiators of 466 communications. When requiring or recommending that information 467 about initiators or their communications be stored or logged by end 468 systems (see, e.g., RFC 6302), it is important to recognize the 469 potential for that information to be compromised and for that 470 potential to be weighed against the benefits of data storage. Any 471 recipient, intermediary, or enabler that stores data may be 472 vulnerable to compromise. 474 4.1.3. Intrusion 476 Intrusion consists of invasive acts that disturb or interrupt one's 477 life or activities. Intrusion can thwart individuals' desires to be 478 let alone, sap their time or attention, or interrupt their 479 activities. This threat is focused on intrusion into one's life 480 rather than direct intrusion into one's communications. The latter 481 is captured in Section 4.1.1. 483 Unsolicited messages and denial-of-service attacks are the most 484 common types of intrusion on the Internet. Intrusion can be 485 perpetrated by any attacker that is capable of sending unwanted 486 traffic to the initiator. 488 4.1.4. Misattribution 490 Misattribution occurs when data or communications related to one 491 individual are attributed to another. Misattribution can result in 492 adverse reputational, financial, or other consequences for 493 individuals that are misidentified. 495 Misattribution in the protocol context comes as a result of using 496 inadequate or insecure forms of identity or authentication. For 497 example, as [RFC6269] notes, abuse mitigation is often conducted on 498 the basis of source IP address, such that connections from individual 499 IP addresses may be prevented or temporarily blacklisted if abusive 500 activity is determined to be sourced from those addresses. However, 501 in the case where a single IP address is shared by multiple 502 individuals, those penalties may be suffered by all individuals 503 sharing the address, even if they were not involved in the abuse. 504 This threat can be mitigated by using identity management mechanisms 505 with proper forms of authentication (ideally with cryptographic 506 properties) so that actions can be attributed uniquely to an 507 individual to provide the basis for accountability without generating 508 false-positives. 510 4.2. Privacy-Specific Threats 512 4.2.1. Correlation 514 Correlation is the combination of various pieces of information 515 related to an individual. Correlation can defy people's expectations 516 of the limits of what others know about them. It can increase the 517 power that those doing the correlating have over individuals as well 518 as correlators' ability to pass judgment, threatening individual 519 autonomy and reputation. 521 Correlation is closely related to identification. Internet protocols 522 can facilitate correlation by allowing individuals' activities to be 523 tracked and combined over time. The use of persistent or 524 infrequently replaced identifiers at any layer of the stack can 525 facilitate correlation. For example, an initiator's persistent use 526 of the same device ID, certificate, or email address across multiple 527 interactions could allow recipients to correlate all of the 528 initiator's communications over time. 530 As an example, consider Transport Layer Security (TLS) session 531 resumption [RFC5246] or TLS session resumption without server side 532 state [RFC5077]. In RFC 5246 [RFC5246] a server provides the client 533 with a session_id in the ServerHello message and caches the 534 master_secret for later exchanges. When the client initiates a new 535 connection with the server it re-uses the previously obtained 536 session_id in its ClientHello message. The server agrees to resume 537 the session by using the same session_id and the previously stored 538 master_secret for the generation of the TLS Record Layer security 539 association. RFC 5077 [RFC5077] borrows from the session resumption 540 design idea but the server encapsulates all state information into a 541 ticket instead of caching it. An attacker who is able to observe the 542 protocol exchanges between the TLS client and the TLS server is able 543 to link the initial exchange to subsequently resumed TLS sessions 544 when the session_id and the ticket are exchanged in the clear (which 545 is the case with data exchanged in the initial handshake messages). 547 In theory any observer or attacker that receives an initiator's 548 communications can engage in correlation. The extent of the 549 potential for correlation will depend on what data the entity 550 receives from the initiator and has access to otherwise. Often, 551 intermediaries only require a small amount of information for message 552 routing and/or security. In theory, protocol mechanisms could ensure 553 that end-to-end information is not made accessible to these entities, 554 but in practice the difficulty of deploying end-to-end security 555 procedures, additional messaging or computational overhead, and other 556 business or legal requirements often slow or prevent the deployment 557 of end-to-end security mechanisms, giving intermediaries greater 558 exposure to initiators' data than is strictly necessary from a 559 technical point of view. 561 4.2.2. Identification 563 Identification is the linking of information to a particular 564 individual. In some contexts it is perfectly legitimate to identify 565 individuals, whereas in others identification may potentially stifle 566 individuals' activities or expression by inhibiting their ability to 567 be anonymous or pseudonymous. Identification also makes it easier 568 for individuals to be explicitly controlled by others (e.g., 569 governments) and to be treated differentially compared to other 570 individuals. 572 Many protocols provide functionality to convey the idea that some 573 means has been provided to guarantee that entities are who they claim 574 to be. Often, this is accomplished with cryptographic 575 authentication. Furthermore, many protocol identifiers, such as 576 those used in SIP or XMPP, may allow for the direct identification of 577 individuals. Protocol identifiers may also contribute indirectly to 578 identification via correlation. For example, a web site that does 579 not directly authenticate users may be able to match its HTTP header 580 logs with logs from another site that does authenticate users, 581 rendering users on the first site identifiable. 583 As with correlation, any observer or attacker may be able to engage 584 in identification depending on the information about the initiator 585 that is available via the protocol mechanism or other channels. 587 4.2.3. Secondary Use 589 Secondary use is the use of collected information without the 590 individual's consent for a purpose different from that for which the 591 information was collected. Secondary use may violate people's 592 expectations or desires. The potential for secondary use can 593 generate uncertainty over how one's information will be used in the 594 future, potentially discouraging information exchange in the first 595 place. 597 One example of secondary use would be an authentication server that 598 uses a network access server's Access-Requests to track an 599 initiator's location. Any observer or attacker could potentially 600 make unwanted secondary uses of initiators' data. Protecting against 601 secondary use is typically outside the scope of IETF protocols. 603 4.2.4. Disclosure 605 Disclosure is the revelation of information about an individual that 606 affects the way others judge the individual. Disclosure can violate 607 individuals' expectations of the confidentiality of the data they 608 share. The threat of disclosure may deter people from engaging in 609 certain activities for fear of reputational harm, or simply because 610 they do not wish to be observed. 612 Any observer or attacker that receives data about an initiator may 613 engage in disclosure. Sometimes disclosure is unintentional because 614 system designers do not realize that information being exchanged 615 relates to individuals. The most common way for protocols to limit 616 disclosure is by providing access control mechanisms (discussed in 617 the next section). A further example is provided by the IETF 618 geolocation privacy architecture [RFC6280], which supports a way for 619 users to express a preference that their location information not be 620 disclosed beyond the intended recipient. 622 4.2.5. Exclusion 624 Exclusion is the failure to allow individuals to know about the data 625 that others have about them and to participate in its handling and 626 use. Exclusion reduces accountability on the part of entities that 627 maintain information about people and creates a sense of 628 vulnerability about individuals' ability to control how information 629 about them is collected and used. 631 The most common way for Internet protocols to be involved in 632 enforcing exclusion is through access control mechanisms. The 633 presence architecture developed in the IETF is a good example where 634 individuals are included in the control of information about them. 635 Using a rules expression language (e.g., Presence Authorization Rules 636 [RFC5025]), presence clients can authorize the specific conditions 637 under which their presence information may be shared. 639 Exclusion is primarily considered problematic when the recipient 640 fails to involve the initiator in decisions about data collection, 641 handling, and use. Eavesdroppers engage in exclusion by their very 642 nature since their data collection and handling practices are covert. 644 5. Threat Mitigations 646 Privacy is notoriously difficult to measure and quantify. The extent 647 to which a particular protocol, system, or architecture "protects" or 648 "enhances" privacy is dependent on a large number of factors relating 649 to its design, use, and potential misuse. However, there are certain 650 widely recognized classes of mitigations against the threats 651 discussed in Section 4. This section describes three categories of 652 relevant mitigations: (1) data minimization, (2) user participation, 653 and (3) security. The privacy mitigations described in this chapter 654 can loosely be mapped to existing privacy principles, such as the 655 Fair Information Practices, but they have been adapted to fit the 656 target audience of this document. 658 5.1. Data Minimization 660 Data minimization refers to collecting, using, disclosing, and 661 storing the minimal data necessary to perform a task. The less data 662 about individuals that gets exchanged in the first place, the lower 663 the chances of that data being misused or leaked. 665 Data minimization can be effectuated in a number of different ways, 666 including by limiting collection, use, disclosure, retention, 667 identifiability, sensitivity, and access to personal data. Limiting 668 the data collected by protocol elements only to what is necessary 669 (collection limitation) is the most straightforward way to help 670 reduce privacy risks associated with the use of the protocol. In 671 some cases, protocol designers may also be able to recommend limits 672 to the use or retention of data, although protocols themselves are 673 not often capable of controlling these properties. 675 However, the most direct application of data minimization to protocol 676 design is limiting identifiability. Reducing the identifiability of 677 data by using pseudonyms or no identifiers at all helps to weaken the 678 link between an individual and his or her communications. Allowing 679 for the periodic creation of new identifiers reduces the possibility 680 that multiple protocol interactions or communications can be 681 correlated back to the same individual. The following sections 682 explore a number of different properties related to identifiability 683 that protocol designers may seek to achieve. 685 (Threats mitigated: surveillance, stored data compromise, 686 correlation, identification, secondary use, disclosure) 688 5.1.1. Anonymity 690 To enable anonymity of an individual, there must exist a set of 691 individuals with potentially the same attributes. To the attacker or 692 the observer these individuals must appear indistinguishable from 693 each other. The set of all such individuals is known as the 694 anonymity set and membership of this set may vary over time. 696 The composition of the anonymity set depends on the knowledge of the 697 observer or attacker. Thus anonymity is relative with respect to the 698 observer or attacker. An initiator may be anonymous only within a 699 set of potential initiators -- its initiator anonymity set -- which 700 itself may be a subset of all individuals that may initiate 701 communications. Conversely, a recipient may be anonymous only within 702 a set of potential recipients -- its recipient anonymity set. Both 703 anonymity sets may be disjoint, may overlap, or may be the same. 705 As an example, consider RFC 3325 (P-Asserted-Identity, PAI) 706 [RFC3325], an extension for the Session Initiation Protocol (SIP), 707 that allows an individual, such as a VoIP caller, to instruct an 708 intermediary that he or she trusts not to populate the SIP From 709 header field with the individual's authenticated and verified 710 identity. The recipient of the call, as well as any other entity 711 outside of the individual's trust domain, would therefore only learn 712 that the SIP message (typically a SIP INVITE) was sent with a header 713 field 'From: "Anonymous" ' rather 714 than the individual's address-of-record, which is typically thought 715 of as the "public address" of the user. When PAI is used, the 716 individual becomes anonymous within the initiator anonymity set that 717 is populated by every individual making use of that specific 718 intermediary. 720 Note that this example ignores the fact that the recipient may infer 721 or obtain personal data from the other SIP protocol payloads (e.g., 722 SIP Via and Contact headers, SDP). The implication is that PAI only 723 attempts to address a particular threat, namely the disclosure of 724 identity in the From header) with respect to the recipient. This 725 caveat makes the analysis of the specific protocol extension easier 726 but cannot be assumed when conducting analysis of an entire 727 architecture. 729 5.1.2. Pseudonymity 731 In the context of IETF protocols, almost all identifiers can be 732 nicknames or pseudonyms since there is typically no requirement to 733 use personal names in protocols. However, in certain scenarios it is 734 reasonable to assume that personal names will be used (with vCard 735 [RFC6350], for example). 737 Pseudonymity is strengthened when less personal data can be linked to 738 the pseudonym; when the same pseudonym is used less often and across 739 fewer contexts; and when independently chosen pseudonyms are more 740 frequently used for new actions (making them, from an observer's or 741 attacker's perspective, unlinkable). 743 For Internet protocols it is important whether protocols allow 744 pseudonyms to be changed without human interaction, the default 745 length of pseudonym lifetimes, to whom pseudonyms are exposed, how 746 individuals are able to control disclosure, how often pseudonyms can 747 be changed, and the consequences of changing them. 749 5.1.3. Identity Confidentiality 751 An initiator has identity confidentiality when any party other than 752 the recipient cannot sufficiently identify the initiator within the 753 anonymity set. Identity confidentiality aims to provide a protection 754 against eavesdroppers and intermediaries rather than the intended 755 communication end points. 757 As an example, consider the network access authentication procedures 758 utilizing the Extensible Authentication Protocol (EAP) [RFC3748]. 759 EAP includes an identity exchange where the Identity Response is 760 primarily used for routing purposes and selecting which EAP method to 761 use. Since EAP Identity Requests and Responses are sent in 762 cleartext, eavesdroppers and intermediaries along the communication 763 path between the EAP peer and the EAP server can snoop on the 764 identity, which is encoded in the form of the Network Access 765 Identifier (NAI) defined in RFC 4282 [RFC4282]). To address this 766 threat, as discussed in RFC 4282 [RFC4282], the username part of the 767 NAI (but not the realm-part) can be hidden from these eavesdroppers 768 and intermediaries with the cryptographic support offered by EAP 769 methods. Identity confidentiality has become a recommended design 770 criteria for EAP (see [RFC4017]). EAP-AKA [RFC4187], for example, 771 protects the EAP peer's identity against passive adversaries by 772 utilizing temporal identities. EAP-IKEv2 [RFC5106] is an example of 773 an EAP method that offers protection against active attackers with 774 regard to the individual's identity. 776 5.1.4. Data Minimization within Identity Management 778 Modern systems are increasingly relying on multi-party transactions 779 to authenticate individuals. Many of these systems make use of an 780 identity provider that is responsible for providing authentication, 781 authorization, and accounting functionality to relying parties that 782 offer some protected resources. To facilitate these functions an 783 identity provider will usually go through a process of verifying the 784 individual's identity and issuing credentials to the individual. 785 When an individual seeks to make use of a service provided by the 786 relying party, the relying party relies on the authentication 787 assertions provided by its identity provider. Note that in more 788 sophisticated scenarios the authentication assertions are traits that 789 demonstrate the individual's capabilities and roles. The 790 authorization responsibility may also be shared between the identity 791 provider and the relying party and does not necessarily only need to 792 reside with the identity provider. 794 Such systems have the ability to support a number of properties that 795 minimize data collection in different ways: 797 In certain use cases relying parties do not need to know the real 798 name of an individual (for example, when the individual's age is 799 the only attribute that needs to be authenticated). 801 Relying parties that collude can be prevented from using an 802 individual's credentials to track the individual. That is, two 803 different relying parties can be prevented from determining that 804 the same individual has authenticated to both of them. This 805 typically requires identity management protocol support and as 806 well as support by both the relying party and the identity 807 provider. 809 The identity provider can be prevented from knowing which relying 810 parties an individual interacted with. This requires avoiding 811 direct communication between the identity provider and the relying 812 party at the time when access to a resource by the initiator is 813 made. 815 5.2. User Participation 817 As explained in Section 4.2.5, data collection and use that happens 818 "in secret," without the individual's knowledge, is apt to violate 819 the individual's expectation of privacy and may create incentives for 820 misuse of data. As a result, privacy regimes tend to include 821 provisions to require informing individuals about data collection and 822 use and involving them in decisions about the treatment of their 823 data. In an engineering context, supporting the goal of user 824 participation usually means providing ways for users to control the 825 data that is shared about them. It may also mean providing ways for 826 users to signal how they expect their data to be used and shared. 827 (Threats mitigated: surveillance, secondary use, disclosure, 828 exclusion) 830 5.3. Security 832 Keeping data secure at rest and in transit is another important 833 component of privacy protection. As they are described in [RFC3552] 834 Section 2, a number of security goals also serve to enhance privacy: 836 o Confidentiality: Keeping data secret from unintended listeners. 838 o Peer entity authentication: Ensuring that the endpoint of a 839 communication is the one that is intended (in support of 840 maintaining confidentiality). 842 o Unauthorized usage: Limiting data access to only those users who 843 are authorized. (Note that this goal also falls within data 844 minimization.) 846 o Inappropriate usage: Limiting how authorized users can use data. 847 (Note that this goal also falls within data minimization.) 849 Note that even when these goals are achieved, the existence of items 850 of interest -- attributes, identifiers, identities, communications, 851 actions (such as the sending or receiving of a communication), or 852 anything else an attacker or observer might be interested in -- may 853 still be detectable, even if they are not readable. Thus 854 undetectability, in which an observer or attacker cannot sufficiently 855 distinguish whether an item of interest exists or not, may be 856 considered as a further security goal (albeit one that can be 857 extremely difficult to accomplish). 859 (Threats mitigated: surveillance, stored data compromise, 860 misattribution, secondary use, disclosure, intrusion) 862 6. Scope 864 The core function of IETF activity is standardizing protocols. 865 Internet protocols are often built flexibly, making them useful in a 866 variety of architectures, contexts, and deployment scenarios without 867 requiring significant interdependency between disparately designed 868 components. Although protocol designers often have a particular 869 target architecture or set of architectures in mind at design time, 870 it is not uncommon for architectural frameworks to develop later, 871 after implementations exist and have been deployed in combination 872 with other protocols or components to form complete systems. 874 As a consequence, the extent to which protocol designers can foresee 875 all of the privacy implications of a particular protocol at design 876 time is limited. An individual protocol may be relatively benign on 877 its own, and it may make use of privacy and security features at 878 lower layers of the protocol stack (Internet Protocol Security, 879 Transport Layer Security, and so forth) to mitigate the risk of 880 attack. But when deployed within a larger system or used in a way 881 not envisioned at design time, its use may create new privacy risks. 882 Protocols are often implemented and deployed long after design time 883 by different people than those who did the protocol design. The 884 guidelines in Section 7 ask protocol designers to consider how their 885 protocols are expected to interact with systems and information that 886 exist outside the protocol bounds, but not to imagine every possible 887 deployment scenario. 889 Furthermore, in many cases the privacy properties of a system are 890 dependent upon the complete system design where various protocols are 891 combined together to form a product solution; the implementation, 892 which includes the user interface design; and operational deployment 893 practices, including default privacy settings and security processes 894 within the company doing the deployment. These details are specific 895 to particular instantiations and generally outside the scope of the 896 work conducted in the IETF. The guidance provided here may be useful 897 in making choices about these details, but its primary aim is to 898 assist with the design, implementation, and operation of protocols. 900 Transparency of data collection and use -- often effectuated through 901 user interface design -- is normally a key factor in determining the 902 privacy impact of a system. Although most IETF activities do not 903 involve standardizing user interfaces or user-facing communications, 904 in some cases understanding expected user interactions can be 905 important for protocol design. Unexpected user behavior may have an 906 adverse impact on security and/or privacy. 908 In sum, privacy issues, even those related to protocol development, 909 go beyond the technical guidance discussed herein. As an example, 910 consider HTTP [RFC2616], which was designed to allow the exchange of 911 arbitrary data. A complete analysis of the privacy considerations 912 for uses of HTTP might include what type of data is exchanged, how 913 this data is stored, and how it is processed. Hence the analysis for 914 an individual's static personal web page would be different than the 915 use of HTTP for exchanging health records. A protocol designer 916 working on HTTP extensions (such as WebDAV [RFC4918]) is not expected 917 to describe the privacy risks derived from all possible usage 918 scenarios, but rather the privacy properties specific to the 919 extensions and any particular uses of the extensions that are 920 expected and foreseen at design time. 922 7. Guidelines 924 This section provides guidance for document authors in the form of a 925 questionnaire about a protocol being designed. The questionnaire may 926 be useful at any point in the design process, particularly after 927 document authors have developed a high-level protocol model as 928 described in [RFC4101]. 930 Note that the guidance does not recommend specific practices. The 931 range of protocols developed in the IETF is too broad to make 932 recommendations about particular uses of data or how privacy might be 933 balanced against other design goals. However, by carefully 934 considering the answers to each question, document authors should be 935 able to produce a comprehensive analysis that can serve as the basis 936 for discussion of whether the protocol adequately protects against 937 privacy threats. 939 The framework is divided into four sections that address each of the 940 mitigation classes from Section 5, plus a general section. Security 941 is not fully elaborated since substantial guidance already exists in 942 [RFC3552]. 944 7.1. Data Minimization 946 a. Identifiers. What identifiers does the protocol use for 947 distinguishing initiators of communications? Does the protocol 948 use identifiers that allow different protocol interactions to be 949 correlated? What identifiers could be omitted or be made less 950 identifying while still fulfilling the protocol's goals? 952 b. Data. What information does the protocol expose about 953 individuals, their devices, and/or their device usage (other than 954 the identifiers discussed in (a))? To what extent is this 955 information linked to the identities of the individuals? How does 956 the protocol combine personal data with the identifiers discussed 957 in (a)? 959 c. Observers. Which information discussed in (a) and (b) is 960 exposed to each other protocol entity (i.e., recipients, 961 intermediaries, and enablers)? Are there ways for protocol 962 implementers to choose to limit the information shared with each 963 entity? Are there operational controls available to limit the 964 information shared with each entity? 966 d. Fingerprinting. In many cases the specific ordering and/or 967 occurrences of information elements in a protocol allow users, 968 devices, or software using the protocol to be fingerprinted. Is 969 this protocol vulnerable to fingerprinting? If so, how? Can it 970 be designed to reduce or eliminate the vulnerability? If not, why 971 not? 973 e. Persistence of identifiers. What assumptions are made in the 974 protocol design about the lifetime of the identifiers discussed in 975 (a)? Does the protocol allow implementers or users to delete or 976 replace identifiers? How often does the specification recommend 977 to delete or replace identifiers by default? Can the identifiers, 978 along with other state information, be set to automatically 979 expire? 981 f. Correlation. Does the protocol allow for correlation of 982 identifiers? Are there expected ways that information exposed by 983 the protocol will be combined or correlated with information 984 obtained outside the protocol? How will such combination or 985 correlation facilitate fingerprinting of a user, device, or 986 application? Are there expected combinations or correlations with 987 outside data that will make users of the protocol more 988 identifiable? 990 g. Retention. Does the protocol or its anticipated uses require 991 that the information discussed in (a) or (b) be retained by 992 recipients, intermediaries, or enablers? If so, why? Is the 993 retention expected to be persistent or temporary? 995 7.2. User Participation 997 a. User control. What controls or consent mechanisms does the 998 protocol define or require before personal data or identifiers are 999 shared or exposed via the protocol? If no such mechanisms or 1000 controls are specified, is it expected that control and consent 1001 will be handled outside of the protocol? 1003 b. Control over sharing with individual recipients. Does the 1004 protocol provide ways for initiators to share different 1005 information with different recipients? If not, are there 1006 mechanisms that exist outside of the protocol to provide 1007 initiators with such control? 1009 c. Control over sharing with intermediaries. Does the protocol 1010 provide ways for initiators to limit which information is shared 1011 with intermediaries? If not, are there mechanisms that exist 1012 outside of the protocol to provide users with such control? Is it 1013 expected that users will have relationships that govern the use of 1014 the information (contractual or otherwise) with those who operate 1015 these intermediaries? 1016 d. Preference expression. Does the protocol provide ways for 1017 initiators to express individuals' preferences to recipients or 1018 intermediaries with regard to the collection, use, or disclosure 1019 of their personal data? 1021 7.3. Security 1023 a. Surveillance. How do the protocol's security considerations 1024 prevent surveillance, including eavesdropping and traffic 1025 analysis? 1027 b. Stored data compromise. How do the protocol's security 1028 considerations prevent or mitigate stored data compromise? 1030 c. Intrusion. How do the protocol's security considerations 1031 prevent or mitigate intrusion, including denial-of-service attacks 1032 and unsolicited communications more generally? 1034 d. Misattribution. How do the protocol's mechanisms for 1035 identifying and/or authenticating individuals prevent 1036 misattribution? 1038 7.4. General 1040 a. Trade-offs. Does the protocol make trade-offs between privacy 1041 and usability, privacy and efficiency, privacy and 1042 implementability, or privacy and other design goals? Describe the 1043 trade-offs and the rationale for the design chosen. 1045 b. Defaults. If the protocol can be operated in multiple modes 1046 or with multiple configurable options, does the default mode or 1047 option minimize the amount, identifiability, and persistence of 1048 the data and identifiers exposed by the protocol? Does the 1049 default mode or option maximize the opportunity for user 1050 participation? Does it provide the strictest security features of 1051 all the modes/options? If any of these answers are no, explain 1052 why less protective defaults were chosen. 1054 8. Example 1056 The following section gives an example of the threat analysis and 1057 threat mitigation recommended by this document. It covers a 1058 particularly difficult application protocol, presence, to try to 1059 demonstrate these principles on an architecture that is vulnerable to 1060 many of the threats described above. This text is not intended as an 1061 example of a Privacy Considerations section that might appear in an 1062 IETF specification, but rather as an example of the thinking that 1063 should go into the design of a protocol when considering privacy as a 1064 first principle. 1066 A presence service, as defined in the abstract in [RFC2778], allows 1067 users of a communications service to monitor one another's 1068 availability and disposition in order to make decisions about 1069 communicating. Presence information is highly dynamic, and generally 1070 characterizes whether a user is online or offline, busy or idle, away 1071 from communications devices or nearby, and the like. Necessarily, 1072 this information has certain privacy implications, and from the start 1073 the IETF approached this work with the aim to provide users with the 1074 controls to determine how their presence information would be shared. 1075 The Common Profile for Presence (CPP) [RFC3859] defines a set of 1076 logical operations for delivery of presence information. This 1077 abstract model is applicable to multiple presence systems. The SIP- 1078 based SIMPLE presence system [RFC3261] uses CPP as its baseline 1079 architecture, and the presence operations in the Extensible Messaging 1080 and Presence Protocol (XMPP) have also been mapped to CPP [RFC3922]. 1082 The fundamental architecture defined in RFC 2778 and RFC 3859 is a 1083 mediated one. Clients (presentities in RFC 2778 terms) publish their 1084 presence information to presence servers, which in turn distribute 1085 information to authorized watchers. Presence servers thus retain 1086 presence information for an interval of time, until it either changes 1087 or expires, so that it can be revealed to authorized watchers upon 1088 request. This architecture mirrors existing pre-standard deployment 1089 models. The integration of an explicit authorization mechanism into 1090 the presence architecture has been widely successful in involving the 1091 end users in the decision making process before sharing information. 1092 Nearly all presence systems deployed today provide such a mechanism, 1093 typically through a reciprocal authorization system by which a pair 1094 of users, when they agree to be "buddies," consent to divulge their 1095 presence information to one another. Buddylists are managed by 1096 servers but controlled by end users. Users can also explicit block 1097 one another through a similar interface, and in some deployments it 1098 is desirable to provide "polite blocking" of various kinds. 1100 From a perspective of privacy design, however, the classical presence 1101 architecture represents nearly a worst-case scenario. In terms of 1102 data minimization, presentities share their sensitive information 1103 with presence services, and while services only share this presence 1104 information with watchers authorized by the user, no technical 1105 mechanism constrains those watchers from relaying presence to further 1106 third parties. Any of these entities could conceivable log or retain 1107 presence information indefinitely. The sensitivity cannot be 1108 mitigated by rendering the user anonymous, as it is indeed the 1109 purpose of the system to facilitate communications between users who 1110 know one another. The identifiers employed by users are long-lived 1111 and often contain personal information, including personal names and 1112 the domains of service providers. While users do participate in the 1113 construction of buddylists and blacklists, they do so with little 1114 prospect for accountability: the user effectively throws their 1115 presence information over the wall to a presence server that in turn 1116 distributes the information to watchers. Users typically have no way 1117 to verify that presence is being distributed only to authorized 1118 watchers, especially as it is the server that authenticates watchers, 1119 not the end user. Connections between the server and all publishers 1120 and consumers of presence data are moreover an attractive target for 1121 eavesdroppers, and require strong confidentiality mechanisms, though 1122 again the end user has no way to verify what mechanisms are in place 1123 between the presence server and a watcher. 1125 Moreover, the sensitivity of presence information is not limited to 1126 the disposition and capability to communicate. Capability can reveal 1127 the type of device that a user employs, for example, and since 1128 multiple devices can publish the same user's presence, there are 1129 significant risks of allowing attackers to correlate user devices. 1130 An important extension to presence was developed to enable the 1131 support for location sharing. The effort to standardize protocols 1132 for systems sharing geolocation was started in the GEOPRIV working 1133 group. During the initial requirements and privacy threat analysis 1134 in the process of chartering the working group, it became clear that 1135 the system would require an underlying communication mechanism 1136 supporting user consent to share location information. The 1137 resemblance of these requirements to the presence framework was 1138 quickly recognized, and this design decision was documented in 1139 [RFC4079]. Location information thus mingles with other presence 1140 information available through the system to intermediaries and to 1141 authorized watchers. 1143 Privacy concerns about presence information largely arise due to the 1144 built-in mediation of the presence architecture. The need for a 1145 presence server is motivated by two primary design requirements of 1146 presence: in the first place, the server can respond with an 1147 "offline" indication when the user is not online; in the second 1148 place, the server can compose presence information published by 1149 different devices under the user's control. Additionally, to 1150 preserve the use of URIs as identifiers for entities, some service 1151 must operate a host with the domain name appearing in a presence URI, 1152 and in practical terms no commercial presence architecture would 1153 force end users to own and operate their own domain names. Many end 1154 users of applications like presence are behind NATs or firewalls, and 1155 effectively cannot receive direct connections from the Internet - the 1156 persistent bidirectional channel these clients open and maintain with 1157 a presence server is essential to the operation of the protocol. 1159 One must first ask if the trade-off of mediation for presence is 1160 worth it. Does a server need to be in the middle of all publications 1161 of presence information? It might seem that end-to-end encryption of 1162 the presence information could solve many of these problems. A 1163 presentity could encrypt the presence information with the public key 1164 of a watcher, and only then send the presence information through the 1165 server. The IETF defined an object format for presence information 1166 called the Presence Information Data Format (PIDF), which for the 1167 purposes of conveying location information was extended to the PIDF 1168 Location Object (PIDF-LO) - these XML objects were designed to 1169 accommodate an encrypted wrapper. Encrypting this data would have 1170 the added benefit of preventing stored cleartext presence information 1171 from being seized by an attacker who manages to compromise a presence 1172 server. This proposal, however, quickly runs into usability 1173 problems. Discovering the public keys of watchers is the first 1174 difficulty, one that few Internet protocols have addressed 1175 successfully. This solution would then require the presentity to 1176 publish one encrypted copy of its presence information per authorized 1177 watcher to the presence service, regardless of whether or not a 1178 watcher is actively seeking presence information - for a presentity 1179 with many watchers, this may place an unacceptable burden on the 1180 presence server, especially given the dynamism of presence 1181 information. Finally, it prevents the server from composing presence 1182 information reported by multiple devices under the same user's 1183 control. On the whole, these difficulties render object encryption 1184 of presence information a doubtful prospect. 1186 Some protocols that provide presence information, such as SIP, can 1187 operate intermediaries in a redirecting mode, rather than a 1188 publishing or proxying mode. Instead of sending presence information 1189 through the server, in other words, these protocols can merely 1190 redirect watchers to the presentity, and then presence information 1191 could pass directly and securely from the presentity to the watcher. 1192 In that case, the presentity can decide exactly what information it 1193 would like to share with the watcher in question, it can authenticate 1194 the watcher itself with whatever strength of credential it chooses, 1195 and with end-to-end encryption it can reduce the likelihood of any 1196 eavesdropping. In a redirection architecture, a presence server 1197 could still provide the necessary "offline" indication, without 1198 requiring the presence server to observe and forward all information 1199 itself. This mechanism is more promising than encryption, but also 1200 suffers from significant difficulties. It too does not provide for 1201 composition of presence information from multiple devices - it in 1202 fact forces the watcher to perform this composition itself, which may 1203 lead to unexpected results. The largest single impediment to this 1204 approach is however the difficulty of creating end-to-end connections 1205 between the presentity's device(s) and a watcher, as some or all of 1206 these endpoints may be behind NATs or firewalls that prevent peer-to- 1207 peer connections. While there are potential solutions for this 1208 problem, like STUN and TURN, they add complexity to the overall 1209 system. 1211 Consequently, mediation is a difficult feature of the presence 1212 architecture to remove, and due especially to the requirement for 1213 composition it is hard to minimize the data shared with 1214 intermediaries. Control over sharing with intermediaries must 1215 therefore come from some other explicit component of the 1216 architecture. As such, the presence work in the IETF focused on 1217 improving the user participation over the activities of the presence 1218 server. This work began in the GEOPRIV working group, with controls 1219 on location privacy, as location of users is perceived as having 1220 especially sensitive properties. With the aim to meet the privacy 1221 requirements defined in [RFC2779] a set of usage indications, such as 1222 whether retransmission is allowed or when the retention period 1223 expires, have been added to PIDF-LO that always travel with location 1224 information itself. These privacy preferences apply not only to the 1225 intermediaries that store and forward presence information, but also 1226 to the watchers who consume it. 1228 This approach very much follows the spirit of Creative Commons [CC], 1229 namely the usage of a limited number of conditions (such as 'Share 1230 Alike' [CC-SA]). Unlike Creative Commons, the GEOPRIV working group 1231 did not, however, initiate work to produce legal language nor to 1232 design graphical icons since this would fall outside the scope of the 1233 IETF. In particular, the GEOPRIV rules state a preference on the 1234 retention and retransmission of location information; while GEOPRIV 1235 cannot force any entity receiving a PIDF-LO object to abide by those 1236 preferences, if users lack the ability to express them at all, we can 1237 guarantee their preferences will not be honored. 1239 The retention and retransmission elements were envisioned as the only 1240 first and most essential examples of preference expression in sharing 1241 presence. The PIDF object was designed for extensibility, and the 1242 rulesets created for PIDF-LO can also be extended to provide new 1243 expressions of user preference. Not all user preference information 1244 should be bound into a particular PIDF object, however - many forms 1245 of access control policy assumed by the presence architecture need to 1246 be provisioned in the presence server by some interface with the 1247 user. This requirement eventually triggered the standardization of a 1248 general access control policy language called the Common Policy 1249 (defined in [RFC4745]) framework. This language allows one to 1250 express ways to control the distribution of information as simple 1251 conditions, actions, and transformations rules expressed in an XML 1252 format. Common Policy itself is an abstract format which needs to be 1253 instantiated: two examples can be found with the Presence 1254 Authorization Rules [RFC5025] and the Geolocation Policy 1255 [I-D.ietf-geopriv-policy]. The former provides additional 1256 expressiveness for presence based systems, while the latter defines 1257 syntax and semantic for location based conditions and 1258 transformations. 1260 Ultimately, the privacy work on presence represents a compromise 1261 between privacy principles and the needs of the architecture and 1262 marketplace. While it was not feasible to remove intermediaries from 1263 the architecture entirely, nor to prevent their access to presence 1264 information, the IETF did provide a way for users to express their 1265 preferences and provision their controls at the presence service. We 1266 have not had great successes in the implementation space with privacy 1267 mechanisms thus far, but by documenting and acknowledging the 1268 limitations of these mechanisms, the designers were able to provide 1269 implementers, and end users, with an informed perspective on the 1270 privacy properties of the IETF's presence protocols. 1272 9. Security Considerations 1274 This document describes privacy aspects that protocol designers 1275 should consider in addition to regular security analysis. 1277 10. IANA Considerations 1279 This document does not require actions by IANA. 1281 11. Acknowledgements 1283 We would like to thank Christine Runnegar for her extensive helpful 1284 review comments. 1286 We would like to thank Scott Brim, Kasey Chappelle, Marc Linsner, 1287 Bryan McLaughlin, Nick Mathewson, Eric Rescorla, Scott Bradner, Nat 1288 Sakimura, Bjoern Hoehrmann, David Singer, Dean Willis, Christine 1289 Runnegar, Lucy Lynch, Trent Adams, Mark Lizar, Martin Thomson, Josh 1290 Howlett, Mischa Tuffield, S. Moonesamy, Zhou Sujing, Claudia Diaz, 1291 Leif Johansson, Jeff Hodges, Stephen Farrel, Steven Johnston, Cullen 1292 Jennings, Ted Hardie, and Klaas Wierenga. 1294 Finally, we would like to thank the participants for the feedback 1295 they provided during the December 2010 Internet Privacy workshop co- 1296 organized by MIT, ISOC, W3C and the IAB. 1298 12. Informative References 1300 [CC] Creative Commons, "Creative Commons", 2012. 1302 [CC-SA] Creative Commons, "Share Alike", 2012. 1304 [CoE] Council of Europe, "Recommendation CM/Rec(2010)13 of the 1305 Committee of Ministers to member states on the protection 1306 of individuals with regard to automatic processing of 1307 personal data in the context of profiling", available at 1308 (November 2010) , 1309 https://wcd.coe.int/ViewDoc.jsp?Ref=CM/Rec%282010%2913, 1310 2010. 1312 [EFF] Electronic Frontier Foundation, "Panopticlick", 2011. 1314 [FIPs] Gellman, B., "Fair Information Practices: A Basic 1315 History", 2012. 1317 [I-D.ietf-geopriv-policy] 1318 Schulzrinne, H., Tschofenig, H., Cuellar, J., Polk, J., 1319 Morris, J., and M. Thomson, "Geolocation Policy: A 1320 Document Format for Expressing Privacy Preferences for 1321 Location Information", draft-ietf-geopriv-policy-27 (work 1322 in progress), August 2012. 1324 [OECD] Organization for Economic Co-operation and Development, 1325 "OECD Guidelines on the Protection of Privacy and 1326 Transborder Flows of Personal Data", available at 1327 (September 2010) , http://www.oecd.org/EN/document/ 1328 0,,EN-document-0-nodirectorate-no-24-10255-0,00.html, 1329 1980. 1331 [PbD] Office of the Information and Privacy Commissioner, 1332 Ontario, Canada, "Privacy by Design", 2011. 1334 [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., 1335 Masinter, L., Leach, P., and T. Berners-Lee, "Hypertext 1336 Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. 1338 [RFC2778] Day, M., Rosenberg, J., and H. Sugano, "A Model for 1339 Presence and Instant Messaging", RFC 2778, February 2000. 1341 [RFC2779] Day, M., Aggarwal, S., Mohr, G., and J. Vincent, "Instant 1342 Messaging / Presence Protocol Requirements", RFC 2779, 1343 February 2000. 1345 [RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, 1346 A., Peterson, J., Sparks, R., Handley, M., and E. 1347 Schooler, "SIP: Session Initiation Protocol", RFC 3261, 1348 June 2002. 1350 [RFC3325] Jennings, C., Peterson, J., and M. Watson, "Private 1351 Extensions to the Session Initiation Protocol (SIP) for 1352 Asserted Identity within Trusted Networks", RFC 3325, 1353 November 2002. 1355 [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC 1356 Text on Security Considerations", BCP 72, RFC 3552, 1357 July 2003. 1359 [RFC3748] Aboba, B., Blunk, L., Vollbrecht, J., Carlson, J., and H. 1360 Levkowetz, "Extensible Authentication Protocol (EAP)", 1361 RFC 3748, June 2004. 1363 [RFC3859] Peterson, J., "Common Profile for Presence (CPP)", 1364 RFC 3859, August 2004. 1366 [RFC3922] Saint-Andre, P., "Mapping the Extensible Messaging and 1367 Presence Protocol (XMPP) to Common Presence and Instant 1368 Messaging (CPIM)", RFC 3922, October 2004. 1370 [RFC4017] Stanley, D., Walker, J., and B. Aboba, "Extensible 1371 Authentication Protocol (EAP) Method Requirements for 1372 Wireless LANs", RFC 4017, March 2005. 1374 [RFC4079] Peterson, J., "A Presence Architecture for the 1375 Distribution of GEOPRIV Location Objects", RFC 4079, 1376 July 2005. 1378 [RFC4101] Rescorla, E. and IAB, "Writing Protocol Models", RFC 4101, 1379 June 2005. 1381 [RFC4187] Arkko, J. and H. Haverinen, "Extensible Authentication 1382 Protocol Method for 3rd Generation Authentication and Key 1383 Agreement (EAP-AKA)", RFC 4187, January 2006. 1385 [RFC4282] Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The 1386 Network Access Identifier", RFC 4282, December 2005. 1388 [RFC4745] Schulzrinne, H., Tschofenig, H., Morris, J., Cuellar, J., 1389 Polk, J., and J. Rosenberg, "Common Policy: A Document 1390 Format for Expressing Privacy Preferences", RFC 4745, 1391 February 2007. 1393 [RFC4918] Dusseault, L., "HTTP Extensions for Web Distributed 1394 Authoring and Versioning (WebDAV)", RFC 4918, June 2007. 1396 [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", 1397 RFC 4949, August 2007. 1399 [RFC5025] Rosenberg, J., "Presence Authorization Rules", RFC 5025, 1400 December 2007. 1402 [RFC5077] Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig, 1403 "Transport Layer Security (TLS) Session Resumption without 1404 Server-Side State", RFC 5077, January 2008. 1406 [RFC5106] Tschofenig, H., Kroeselberg, D., Pashalidis, A., Ohba, Y., 1407 and F. Bersani, "The Extensible Authentication Protocol- 1408 Internet Key Exchange Protocol version 2 (EAP-IKEv2) 1409 Method", RFC 5106, February 2008. 1411 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 1412 (TLS) Protocol Version 1.2", RFC 5246, August 2008. 1414 [RFC6269] Ford, M., Boucadair, M., Durand, A., Levis, P., and P. 1415 Roberts, "Issues with IP Address Sharing", RFC 6269, 1416 June 2011. 1418 [RFC6280] Barnes, R., Lepinski, M., Cooper, A., Morris, J., 1419 Tschofenig, H., and H. Schulzrinne, "An Architecture for 1420 Location and Location Privacy in Internet Applications", 1421 BCP 160, RFC 6280, July 2011. 1423 [RFC6350] Perreault, S., "vCard Format Specification", RFC 6350, 1424 August 2011. 1426 [RFC6716] Valin, JM., Vos, K., and T. Terriberry, "Definition of the 1427 Opus Audio Codec", RFC 6716, September 2012. 1429 [Solove] Solove, D., "Understanding Privacy", 2010. 1431 [Tor] The Tor Project, Inc., "Tor", 2011. 1433 [Westin] Kumaraguru, P. and L. Cranor, "Privacy Indexes: A Survey 1434 of Westin's Studies", 2005. 1436 Authors' Addresses 1438 Alissa Cooper 1439 CDT 1440 1634 Eye St. NW, Suite 1100 1441 Washington, DC 20006 1442 US 1444 Phone: +1-202-637-9800 1445 Email: acooper@cdt.org 1446 URI: http://www.cdt.org/ 1448 Hannes Tschofenig 1449 Nokia Siemens Networks 1450 Linnoitustie 6 1451 Espoo 02600 1452 Finland 1454 Phone: +358 (50) 4871445 1455 Email: Hannes.Tschofenig@gmx.net 1456 URI: http://www.tschofenig.priv.at 1458 Bernard Aboba 1459 Microsoft Corporation 1460 One Microsoft Way 1461 Redmond, WA 98052 1462 US 1464 Email: bernarda@microsoft.com 1466 Jon Peterson 1467 NeuStar, Inc. 1468 1800 Sutter St Suite 570 1469 Concord, CA 94520 1470 US 1472 Email: jon.peterson@neustar.biz 1474 John B. Morris, Jr. 1476 Email: ietf@jmorris.org 1477 Marit Hansen 1478 ULD Kiel 1480 Email: marit.hansen@datenschutzzentrum.de 1482 Rhys Smith 1483 JANET(UK) 1485 Email: rhys.smith@ja.net