RFC 8280
Research into Human Rights Protocol Considerations
Part 1 of 18 ๐
Research into Human Rights Protocol Considerations ๐
Okay bestie, so this is RFC 8280 ๐ฆ It's an Informational doc from the IRTF (Internet Research Task Force), not a standard. It's by N. ten Oever from ARTICLE 19 and C. Cath from the Oxford Internet Institute. It came out in October 2017, and its ISSN is 2070-1721. The header doesn't list any RFCs that it obsoletes or updates, so it doesn't replace or change anything else. โจ
Abstract โจ
Okay so the big idea here is proposing guidelines for human rights considerations ๐ธ It's kind of like the privacy considerations guidelines in RFC 6973, just for human rights instead. The other parts of the document explain where the guidelines came from and how they were put together ๐
This doc is the first milestone in a longer research effort (it's giving long-term project energy ๐ง). The Human Rights Protocol Considerations (HRPC) Research Group reviewed it, and so did people who aren't in the group. ๐ซถ
Status of This Memo
This doc is not an Internet Standards Track spec. It's published just for information ๐
It's a product of the IRTF, which publishes research and development results related to the Internet. Those results might not be ready for deployment, so keep that in mind ๐ This RFC represents the consensus of the HRPC Research Group of the IRTF. Documents the IRSG approves for publication are not candidates for any level of Internet Standard, and you can read more about that in Section 2 of RFC 7841 ๐
For the current status, any errata, and how to send feedback, go to https://www.rfc-editor.org/info/rfc8280 ๐ฅ
Copyright Notice
Copyright (c) 2017 IETF Trust and the people listed as document authors. All rights reserved ๐
This doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they stand on the publication date. Read these carefully, because they spell out your rights and restrictions for this document ๐
Table of Contents
1. Introduction ....................................................4
2. Vocabulary Used .................................................6
3. Research Questions .............................................12
4. Literature and Discussion Review ...............................12
5. Methodology ....................................................15
5.1. Data Sources ..............................................17
5.1.1. Discourse Analysis of RFCs .........................17
5.1.2. Interviews with Members of the IETF Community ......17
5.1.3. Participant Observation in Working Groups ..........17
5.2. Data Analysis Strategies ..................................18
5.2.1. Identifying Qualities of Technical Concepts
That Relate to Human Rights ........................18
5.2.2. Relating Human Rights to Technical Concepts ........20
5.2.3. Mapping Cases of Protocols, Implementations, and
Networking Paradigms That Adversely Impact Human
Rights or Are Enablers Thereof .....................21
6. Model for Developing Human Rights Protocol Considerations ......40
6.1. Human Rights Threats ......................................40
6.2. Guidelines for Human Rights Considerations ................42
6.2.1. Connectivity .......................................43
6.2.2. Privacy ............................................43
6.2.3. Content Agnosticism ................................44
6.2.4. Security ...........................................45
6.2.5. Internationalization ...............................46
6.2.6. Censorship Resistance ..............................47
6.2.7. Open Standards .....................................48
6.2.8. Heterogeneity Support ..............................50
6.2.9. Anonymity ..........................................51
6.2.10. Pseudonymity ......................................51
6.2.11. Accessibility .....................................53
6.2.12. Localization ......................................53
6.2.13. Decentralization ..................................54
6.2.14. Reliability .......................................55
6.2.15. Confidentiality ...................................56
6.2.16. Integrity .........................................58
6.2.17. Authenticity ......................................59
6.2.18. Adaptability ......................................60
6.2.19. Outcome Transparency ..............................61
7. Security Considerations ........................................61
8. IANA Considerations ............................................61
9. Research Group Information .....................................62
10. Informative References ........................................62
Acknowledgements ..................................................80
Authors' Addresses ................................................81
1. Introduction โจ
okay so the RFC opens with two quotes that set the whole mood ๐
"There's a freedom about the Internet: As long as we accept the rules of sending packets around, we can send packets containing anything to anywhere." [Berners-Lee]
"The Internet isn't value-neutral, and neither is the IETF." [RFC3935]
the Internet keeps getting more connected to society, so it hits people's real lives harder every year ๐ which means how we design and build the Internet's infrastructure also has a bigger impact on society. this is why there's a broad recognition that human rights [UDHR] [ICCPR] [ICESCR] have a role in how the Internet gets developed and managed [UNGA2013] [NETmundial]. it's also been argued that the Internet should be strengthened as an enabling environment for human rights [Brown]. it's giving important ๐
this document has three goals ๐ฆ:
- (1) expose the relationship between protocols and human rights,
- (2) propose possible guidelines to protect the Internet as an enabling environment for human rights in future protocol development, in a manner similar to the work done for privacy considerations [RFC6973], and
- (3) increase the awareness, in both the human rights community and the technical community, of the importance of the technical workings of the Internet and its impact on human rights.
if you're an author who wants to apply this work to your own protocol, you can go straight to Section 6 of this document ๐ง
open, secure, and reliable connectivity is necessary (although not sufficient) to exercise human rights such as freedom of expression and freedom of association [FOC], as defined in the Universal Declaration of Human Rights [UDHR]. the purpose of the Internet is to be a global network of networks that provides unfettered connectivity to all users, and for any content [RFC1958]. this goal of stimulating global connectivity is part of why the Internet is an enabler of human rights ๐ the Internet has given people a platform to exchange opinions and gather information. it has enabled people of different backgrounds and genders to join the public debate, and it has let people gather and organize too ๐ซถ
next to that, the strong commitment to security [RFC1984] [RFC3365] and privacy [RFC6973] [RFC7258] in the Internet's architectural design helps strengthen the Internet as an enabling environment for human rights. one could even argue that the Internet isn't just an enabler of human rights, but that human rights lie at the base of, and are ingrained in, the architecture of the networks that make up the Internet ๐ญ internet connectivity increases people's capacity to exercise their rights, so the core of the Internet, its architectural design, is closely intertwined with the human rights framework [CathFloridi]. lots of people have argued that the link between the Internet's infrastructure and human rights is quintessential. [Bless1], for instance, argues that "to a certain extent, the Internet and its protocols have already facilitated the realization of human rights, e.g., the freedom of assembly and expression. In contrast, measures of censorship and pervasive surveillance violate fundamental human rights." [DeNardis15] argues that "Since the first hints of Internet commercialization and internationalization, the IETF has supported strong security in protocol design and has sometimes served as a force resisting protocol-enabled surveillance features." so by doing that, the IETF enabled people to actually exercise the right to privacy through the Internet's infrastructure, which is so iconic ๐ plus, freely available information gives people knowledge that helps them satisfy other human rights, so the Internet is increasingly a precondition for human rights rather than a supplement ๐
human rights can conflict with each other, like the right to freedom of expression and the right to privacy ๐ when that happens, the different affected rights need to be balanced. to do that well, it's crucial that the impacts on rights are clearly documented so potential harm can be mitigated. this research aims to make that process tangible and practical for protocol developers ๐ technology can never be fully equated with a human right. a specific technology might be a strong enabler of one human right while having an adverse impact on another, so decisions on design and deployment need to take this into account.
the open nature of the initial technical design, its open standards, and developments like open source all fostered freedom of communication. what emerged was a network of networks that could enable everyone to connect and to exchange data, information, and code. for many people, enabling those connections became a core value ๐ but as the Internet scaled up and got commercialized, topics like access, rights, and connectivity have had to compete with other values. so important characteristics of the Internet that enable human rights might get degraded if they aren't properly defined, described, and protected as such. on the flip side, not protecting the characteristics that enable human rights could also result in (partial) loss of functionality and connectivity, along with other inherent parts of the Internet's architecture of networks. new protocols, especially ones that upgrade the core infrastructure of the network, should be designed to keep enabling fundamental human rights โญ
the IETF has produced guidelines and procedures to ensure and galvanize the privacy of individuals and the security of the network during protocol development. this document explores whether we can develop similar procedures for human rights considerations, so that protocols developed in the IETF don't have an adverse impact on the realization of human rights on the Internet. by carefully considering the answers to the questions in Section 6 of this document, authors should be (1) able to produce a comprehensive analysis that can serve as the basis for discussion on whether the protocol adequately protects against specific human rights threats, and (2) potentially stimulated to think about alternative design choices ๐ฆ
this document was developed within the framework of the Human Rights Protocol Considerations (HRPC) Research Group, based on discussions on the HRPC mailing list (Section 9). it was also extensively discussed during HRPC sessions. it has received eleven in-depth reviews on the mailing list, plus lots of comments from inside and outside the IRTF and IETF communities ๐
2. Vocabulary Used ๐
okay this part is the glossary and it's lowkey important, because concepts from computer science, networking, law, policy-making, and advocacy are all coming together [Dutton] [Kaye] [Franklin] [RFC1958]. the same concept can mean something pretty different in another field, so this glossary is here to keep the interdisciplinary debate constructive and reduce differences in interpretation ๐ธ it builds as much as possible on existing definitions. when there weren't any in IETF documents, the definitions were taken from other Standards Development Organizations (SDOs) or academic literature ๐ง
Accessibility: "Full Internet Connectivity", as described in [RFC4084], to provide unfettered access to the Internet.
The design of protocols, services, or implementations that provide an enabling environment for people with disabilities.
The ability to receive information available on the Internet.
Anonymity: The condition of an identity being unknown or concealed [RFC4949].
Anonymous: A state of an individual in which an observer or attacker cannot identify the individual within a set of other individuals (the anonymity set) [RFC6973].
Authenticity: The property of being genuine and able to be verified and be trusted [RFC4949].
Blocking: The practice of preventing access to resources in the aggregate [RFC7754]. Both blocking and filtering can be implemented at the level of "services" (web hosting or video streaming, for example) or at the level of particular "content" [RFC7754].
Censorship: Technical mechanisms, including both blocking and filtering, that certain political or private actors around the world use to block or degrade Internet traffic. For further details on the various elements of Internet censorship, see [Hall].
Censorship resistance: Methods and measures to mitigate Internet censorship.
Confidentiality: The property that data is not disclosed to system entities unless they have been authorized to know the data [RFC4949].
Connectivity: The extent to which a device or network is able to reach other devices or networks to exchange data. The Internet is the tool for providing global connectivity [RFC1958]. Different types of connectivity are further specified in [RFC4084].
The end-to-end principle, interoperability, distributed architecture, resilience, reliability, and robustness in combination constitute the enabling factors that result in connectivity to, and on, the Internet. โจ
Content agnosticism: Treating network traffic identically regardless of content.
Decentralized: Implementation or deployment of standards, protocols, or systems without one single point of control.
End-to-end principle: The principle that application-specific functions should not be embedded into the network and thus stay at the endpoints. In many cases, especially when dealing with failures, the right decisions can only be made with the corresponding application-specific knowledge, which is available at endpoints not in the network.
The end-to-end principle is one of the key architectural guidelines of the Internet. The argument in favor of the end-to-end approach to system design is laid out in the fundamental papers by Saltzer, Reed, and Clark [Saltzer] [Clark]. In these papers, the authors argue in favor of radical simplification: system designers should only build the essential and shared functions into the network, as most functions can only be implemented at network endpoints. Building features into the network for the benefit of certain applications will come at the expense of others. As such, in general system designers should attempt to steer clear of building anything into the network that is not a bare necessity for its functioning. Following the end-to-end principle is crucial for innovation, as it makes innovation at the edges possible without having to make changes to the network, and it protects the robustness of the network. [RFC2775] further elaborates on various aspects of end-to-end connectivity. ๐ฆ
Federation: The possibility of connecting autonomous and possibly centralized systems into a single system without a central authority. ๐ซถ
Filtering: The practice of preventing access to specific resources within an aggregate [RFC7754].
Heterogeneity: okay so this one is basically "the Internet is a whole mix and it's not sorry about it" ๐ The original says: "The Internet is characterized by heterogeneity on many levels: devices and nodes, router scheduling algorithms and queue management mechanisms, routing protocols, levels of multiplexing, protocol versions and implementations, underlying link layers (e.g., point-to-point, multi-access links, wireless, FDDI, etc.), in the traffic mix and in the levels of congestion at different times and places. Moreover, as the Internet is composed of autonomous organizations and internet service providers, each with their own separate policy concerns, there is a large heterogeneity of administrative domains and pricing structures." [FIArch]
So, as a result, per [FIArch], the heterogeneity principle proposed in [RFC1958] needs to be supported by design. Built in from day one, bestie ๐
Human rights: these are principles and norms that are indivisible, interrelated, unalienable, universal, and mutually reinforcing ๐ซถ They've been codified in national and international bodies of law. The Universal Declaration of Human Rights [UDHR] is the most well-known document in the history of human rights, iconic behavior ๐ The aspirations from [UDHR] were later codified into treaties such as the International Covenant on Civil and Political Rights [ICCPR] and the International Covenant on Economic, Social and Cultural Rights [ICESCR], after which signatory countries were obliged to reflect them in their national bodies of law. There is also a broad recognition that not only states have obligations vis-a-vis human rights, but non-state actors do as well.
Integrity: the property that data has not been changed, destroyed, or lost in an unauthorized or accidental manner [RFC4949] ๐
Internationalization (i18n): the practice of making protocols, standards, and implementations usable in different languages and scripts (see Section 6.2.12 ("Localization")) ๐
The IETF's take: "In the IETF, 'internationalization' means to add or improve the handling of non-ASCII text in a protocol" [RFC6365].
A different perspective, more appropriate to protocols that are designed for global use from the beginning, is the definition used by the World Wide Web Consortium (W3C) [W3Ci18nDef]: "Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language." ะงะตััะฝะพ, this one is giving global-first energy โจ
Many protocols that handle text only handle one charset (US-ASCII), or they leave the question of encoding up to local guesswork (which leads, of course, to interoperability problems) [RFC3536] ๐ If multiple charsets are permitted, they must be explicitly identified [RFC2277]. Adding non-ASCII text to a protocol allows the protocol to handle more scripts, hopefully all scripts in use in the world. In today's world, that is normally best accomplished by allowing Unicode encoded in UTF-8 only, thereby shifting conversion issues away from ad hoc choices. UTF-8 only, no more vibes-based encoding ๐
Interoperable: a property of a documented standard or protocol that allows different independent implementations to work with each other without any restriction on functionality ๐ฆ
Localization (l10n): the practice of translating an implementation to make it functional in a specific language or for users in a specific locale (see Section 6.2.5 ("Internationalization")) ๐
(cf. [RFC6365]): the process of adapting an internationalized application platform or application to a specific cultural environment. In localization, the same semantics are preserved while the syntax may be changed [FRAMEWORK]. Basically the meaning stays the same but the wrapping can change โจ
Localization is the act of tailoring an application for a different language, script, or culture. Some internationalized applications can handle a wide variety of languages. Typical users only understand a small number of languages, so the program must be tailored to interact with users in just the languages they know. The major work of localization is translating the user interface and documentation. Localization involves not only changing the language interaction but also other relevant changes, such as display of numbers, dates, currency, and so on. The better internationalized an application is, the easier it is to localize it for a particular language and character-encoding scheme. The more prepared it is at the start, the less work later ๐ง
Open standards: these need to conform with [RFC2026], which states the following: "Various national and international standards bodies, such as ANSI, ISO, IEEE, and ITU-T, develop a variety of protocol and service specifications that are similar to Technical Specifications defined here. National and international groups also publish 'implementors' agreements' that are analogous to Applicability Statements, capturing a body of implementation-specific detail concerned with the practical application of their standards. All of these are considered to be 'open external standards' for the purposes of the Internet Standards Process." ๐
Openness: absence of centralized points of control, "a feature that is assumed to make it easy for new users to join and new uses to unfold" [Brown] ๐ธ
Permissionless innovation: the freedom and ability to freely create and deploy new protocols on top of the communications constructs that currently exist ๐
Privacy: the right of an entity (normally a person), acting on its own behalf, to determine the degree to which it will interact with its environment, including the degree to which the entity is willing to share its personal information with others [RFC4949] ๐
The right of individuals to control or influence what information related to them may be collected and stored, and by whom and to whom that information may be disclosed. Main character boundaries energy ๐
Privacy is a broad concept relating to the protection of individual or group autonomy and the relationship between an individual or group and society, including government, companies, and private individuals. It is often summarized as "the right to be left alone", but it encompasses a wide range of rights, including protections from intrusions into family and home life, control of sexual and reproductive rights, and communications secrecy. It is commonly recognized as a core right that underpins human dignity and other values such as freedom of association and freedom of speech. Not a small thing at all ๐ซถ
The right to privacy is also recognized in nearly every national constitution and in most international human rights treaties. It has been adjudicated upon by both international and regional bodies. The right to privacy is also legally protected at the national level through provisions in civil and/or criminal codes. It's literally everywhere, periodt โ๏ธ
Reliability: ensures that a protocol will execute its function consistently as described and function without unexpected results. A system that is reliable degenerates gracefully and will have a documented way to announce degradation. It also has mechanisms to recover from failure gracefully and, if applicable, allow for partial healing [dict] ๐ช
Resilience: the maintaining of dependability and performance in the face of unanticipated changes and circumstances [Meyer] ๐ค๏ธ
Robustness: the resistance of protocols and their implementations to errors, and resistance to involuntary, legal, or malicious attempts to disrupt their modes of operation [RFC760] [RFC791] [RFC793] [RFC1122]. Or, framed more positively, a system can provide functionality consistently and without errors despite involuntary, legal, or malicious attempts to disrupt its mode of operation. Unbothered, even under pressure ๐ค
Scalability: the ability to handle increased or decreased system parameters (number of end systems, users, data flows, routing entries, etc.) predictably within defined expectations. There should be a clear definition of its scope and applicability. The limits of a system's scalability should be defined. Growth or shrinkage of these parameters is typically considered by orders of magnitude. Scaling up or down without chaos ๐
Strong encryption / cryptography: used to describe a cryptographic algorithm that would require a large amount of computational power to defeat it [RFC4949]. In the modern usage of the definition of "strong encryption", this refers to an amount of computing power currently not available, not even to major state-level actors. Locked, bestie ๐๐
Transparency: in this context, linked to the comprehensibility of a protocol in relation to the choices it makes for users, protocol developers, and implementers, and to its outcome. ๐
Outcome transparency is linked to the comprehensibility of the effects of a protocol in relation to the choices it makes for users, protocol developers, and implementers, including the comprehensibility of possible unintended consequences of protocol choices (e.g., lack of authenticity may lead to lack of integrity and negative externalities). Like, you need to be able to see what your choices actually cause ๐
3. Research Questions ๐ฌ
The Human Rights Protocol Considerations (HRPC) Research Group in the Internet Research Task Force (IRTF) embarked on its mission to answer the following two questions, which are also the main two questions that this document seeks to answer ๐
- How can Internet protocols and standards impact human rights, by either enabling them or creating a restrictive environment?
- Can guidelines be developed to improve informed and transparent decision-making about the potential impact of protocols on human rights?
4. Literature and Discussion Review โจ
Okay so people act like protocols and standards just do technical stuff, but they don't exist in a technical bubble ๐ซง. They're shaped by political, historical, economic, legal, and cultural context too ๐๐ . The IANA transition, [RFC7258] ("Pervasive Monitoring Is an Attack"), and global innovation policy are all proof that some Internet processes and protocols became part and parcel of political processes and public policies ๐ญ. If you want receipts, [DeNardis15] has concrete examples. [Abbate] says "protocols are politics by other means." Ngl the IETF probably wouldn't reach consensus on that one ๐, but it still shows that protocols come out of decision-making, usually by humans ๐ซถ. The values and ideas about what a technology should do in society get embedded right into the design. Sometimes a design choice is "purely technical," and sometimes it's inspired by a worldview about how technology should work, shaped by personal, corporate, and political views ๐ฎ. Inside the IETF community there's a strong desire to solve technical problems and keep engagement with political processes and non-protocol-related political issues to a minimum ๐.
Since the late 1990s, a whole group of academics and practitioners has been researching the societal impact of protocols and the politics behind them ๐โจ. The studies are all over the place in focus and scope ๐ฆ. Some zoom in on specific standards [Davidson-etal] [Musiani]. Others look at the political, legal, commercial, or social impact of protocols [BrownMarsden] [Lessig] [Mueller]. And others dig into how engineers' personal sets of values get translated into technology [Abbate] [CathFloridi] [DeNardis15] [WynsbergheMoura] ๐ง.
Commercial and political influences on how the Internet's infrastructure gets managed are already well documented in the academic literature, so we won't go over them here ๐. Check [Benkler], [Brown-etal], [DeNardis15], [Lessig], [Mueller], and [Zittrain] if you want the deep dive. The short version is that the IETF community consistently pushes back against the standardization of surveillance and certain other issues that hurt an end user's experience of, and trust in, the Internet ๐ก๏ธ [DeNardis14]. How human rights fit into engineering, infrastructure maintenance, and protocol design is a lot less clear ๐ค.
It's really important to understand how protocols and standards affect human rights, especially because SDOs are increasingly becoming places where social values (like human rights) get discussed, though often from a technological point of view ๐. These SDOs are turning into a new focal point for conversations about "values by design" and the role of technical engineers in protecting or enabling human rights [Brown-etal] [Clark-etal] [DeNardis14] [CathFloridi] [Lessig] [Rachovitsa] ๐.
In the academic literature, five clear positions stand out on the role of human rights in protocol design and on how to account for them during protocol development ๐. First up, Clark et al. [Clark-etal] argue that we need to design "for variation in outcome -- so that the outcome can be different in different places, and the tussle takes place within the design (...)" [as] "Rigid designs will be broken; designs that permit variation will flex under pressure and survive." ๐ They hold that human rights should not be hard-coded into protocols, for three reasons. First, the rights in the UDHR are not absolute. Second, technology is not the only tool in the tussle over human rights. And last but not least, it is dangerous to make promises that can't be kept. The open nature of the Internet will never, they argue, be enough on its own to fully protect individuals' human rights ๐ฌ.
Brown et al. [Brown-etal] take the opposite view, stating that "some key, universal values -- of which the UDHR is the most legitimate expression -- should be baked into the architecture at design time." ๐ They argue that design choices have offline consequences and can shape the power positions of groups or individuals in society. So the people making these technical decisions have a moral obligation to think about how their decisions affect society and, by extension, human rights ๐ซถ. Brown et al. recognize that values and the implementation of human rights vary across the globe. Even so, they argue that all members of the United Nations have found "common agreement on the values proclaimed in the Universal Declaration of Human Rights. In looking for the most legitimate set of global values to embed in the future Internet architectures, the UDHR has the democratic assent of a significant fraction of the planet's population, through their elected representatives." ๐
The main disagreement between these two academic positions is mostly about whether (1) a particular value system should be embedded into the Internet's architectures or (2) the architectures need to account for a varying set of values ๐ฅ.
A third position, similar to that of Brown et al., comes from [Broeders], who argues that "we must find ways to continue guaranteeing the overall integrity and functionality of the public core of the Internet." ๐ง He thinks the best way to do that is to declare the backbone of the Internet a common public good. That backbone includes the TCP/IP protocol suite, numerous standards, the Domain Name System (DNS), and routing protocols ๐ค๏ธ. This is a different approach from [Clark-etal] and [Brown-etal], because Broeders doesn't suggest that social values should (or should not) be explicitly coded into the Internet. Instead, he says the existing infrastructure should be seen as an entity of public value ๐.
Bless and Orwat [Bless2] represent a fourth position. They argue that it's too early to make any definitive claims, but that we need more careful analysis of how protocol design choices affect human rights ๐. They also argue that it's important to search for solutions that "create awareness in the technical community about impact of design choices on social values" and "work towards a methodology for co-design of technical and institutional systems." ๐
Berners-Lee and Halpin [BernersLeeHalpin] represent a fifth position ๐. They argue that the Internet could lead to even newer capabilities, and that these capabilities may over time be viewed as new kinds of rights. For example, Internet access may be viewed as a human right in and of itself if it's taken to be a precondition for other rights, even if nobody could have predicted that when the UDHR was written (after the end of World War II) ๐๏ธ.
It's important to put the technical discussion in context with these academic discussions too ๐งฉ. They're also worth documenting, because they inform the position of this document's authors. The research group's position is that hard-coding human rights into protocols is complicated and changes with the context ๐. At this point, it's hard to say whether hard-coding human rights into protocols is wise or feasible ๐คทโโ๏ธ. There are also many human rights, but not all of them are relevant for information and communications technologies (ICTs). A partial catalog (with references to sources) of human rights related to ICTs can be found in [Hill2014] ๐. Still, it's important to make conscious and explicit design decisions that take into account the human rights protocol considerations guidelines developed below ๐ซถ. That helps everyone, developers and users alike, understand the impact protocols can have on human rights โจ. It also supports (1) careful consideration of the impact a specific protocol might have on human rights and (2) spreading the practice of documenting protocol design decisions related to human rights ๐.
Pursuant to the principle of constant change, the function and scope of the Internet keep evolving, and so does the IETF's role in developing standards ๐. Internet Standards are adopted based on a series of criteria, including high technical quality, support by community consensus, and their overall benefit to the Internet ๐. That last one calls for assessing the interests of all affected parties and the specifications' impact on the Internet's users ๐. In this respect, the effective exercise of Internet users' human rights is a relevant consideration that needs to be appreciated in the standardization process, insofar as it's directly linked to the reliability and core values of the Internet [RFC1958] [RFC2775] [RFC3439] [RFC3724] ๐.
This document details the steps the HRPC Research Group took in researching human rights protocol considerations, to clarify the relationship between technical concepts used in the IETF and human rights ๐ฌ๐. It sets out some preliminary steps and considerations for engineers to take into account when developing standards and protocols ๐ธ.
5. Methodology โจ
okay so mapping how human rights, protocols, and architectures connect is a brand new research challenge ๐ญ it needs a LOT of interdisciplinary and cross-organizational teamwork to come up with one consistent methodology ๐ซถ
the methods in this doc come from political science, specifically discourse analysis and ethnographic research methods [Cath] ๐ the core idea is that language reflects how people understand concepts. Or, as [Jabri] puts it, policy documents are "social relations represented in texts where the language contained within these texts is used to construct meaning and representation." ๐ this happens in society [Denzin] and shows up in institutions and organizations [King], and we pulled it out using ethnographic methods like semi-structured interviews and participant observation ๐ in non-academic terms: how IETF/IRTF documents talk about the problems they're trying to solve tells you the social assumptions and relationships engineers have with their engineering ๐ so by reading and analyzing these documents, interviewing engineers, and actually participating in the IETF/IRTF working groups, you can distill the relationship between human rights, protocols, and the Internet's infrastructure as it applies to the IETF's work ๐ฆ
the discourse analysis ran on both qualitative and quantitative methods ๐ step one was the authors and contributors reading RFCs and other official IETF documents ๐ step two was a Python-based analyzer using the "Bigbang" tool, adapted by Nick Doty [Doty] ๐ it scanned for the concepts we'd flagged as important architectural principles (distilled from the first reading and then supplemented by the interviews and participant observation) โจ this kind of quantitative method is super precise and speeds things up [Ritchie] ๐โโ๏ธ BUT the tool can't understand "latent meaning" [Denzin] ๐ so to fix the problems with automated word-frequency approaches and get a sense of the "thick meaning" [Geertz] in the data, we ran a second qualitative analysis on the data set ๐ง the rounds of discourse analysis fed into the interviews and further data analysis ๐ the early quantitative rounds informed the later qualitative rounds, and the interview results fed brand new concepts back into the quantitative analysis ๐ so the two methods kept supporting and enriching each other, it's giving teamwork ๐ซถ
the ethnographic data collection and processing let the research group get the data needed to "provide a holistic understanding of research participants' views and actions" [Denzin] ๐ธ that's how we surfaced ongoing issues and case studies where protocols impact human rights ๐ the interview participants were picked through purposive sampling [Babbie] because the research group wanted a wide range of opinions on the role of human rights in guiding protocol development ๐ฏ this sampling also made sure we targeted people with lots of IETF experience in various roles ๐ the interviewees included people in leadership positions (Working Group (WG) chairs, Area Directors (ADs)), "regular participants", and people working for specific entities (corporate, civil society, political, academic) ๐ they also represented different backgrounds, nationalities, and genders ๐
5.1. Data Sources
to map the potential relationship between human rights and protocols, the HRPC Research Group gathered data from three specific sources: ๐ง
5.1.1. Discourse Analysis of RFCs
okay first up, we mapped Internet infrastructure and protocol features against their possible impact on human rights ๐บ๏ธ we looked at (1) the language used in current and historic RFCs and (2) information gathered from mailing-list discussions ๐ฌ the goal was to expose core architectural principles, language, and debates about the human rights of people affected by the network ๐ฅ
5.1.2. Interviews with Members of the IETF Community
we did over 30 interviews ๐๏ธ with current and past members of the Internet Architecture Board (IAB), current and past members of the Internet Engineering Steering Group (IESG), chairs of selected working groups, and RFC authors ๐ผ they happened at the IETF 92 meeting in Dallas in March 2015 ๐ค the point was to get an insider's understanding of how people see the relationship (if any) between human rights and protocols, and how that relationship plays out in their work ๐ several participants chose to stay anonymous ๐ if you're curious about this data set, please contact the authors of this document ๐
5.1.3. Participant Observation in Working Groups
we joined various working groups, in person at IETF meetings and on mailing lists, to learn how the IETF actually works day to day ๐ซ from that we pulled out general themes, technical concepts, and use cases about human rights and protocols โจ this started at the IETF 91 meeting in Honolulu ๐บ and it's still going today ๐
5.2. Data Analysis Strategies
the data above got processed with three back-to-back strategies: mapping protocols related to human rights, extracting concepts from those protocols, and creating a common glossary (detailed under Section 2) ๐ before we get into those, we need to explain how we identified technical concepts as they relate to human rights ๐งฉ
5.2.1. Identifying Qualities of Technical Concepts That Relate to Human Rights
5.2.1.1. Mapping Protocols and Standards to Human Rights
we combined data from the three sources above and made a big list of protocols and standards that could enable the Internet as a tool for freedom of expression and association ๐ to figure out which features enable (or inhibit) that, we relied on direct references in the RFCs about such impacts, plus input from the community ๐ซถ based on this analysis, we compiled a list of RFCs describing standards and protocols that are potentially closely related to human rights ๐
5.2.1.2. Extracting Concepts from Selected RFCs
step one was identifying the protocols and standards related to human rights and figuring out how to create an environment that enables them ๐ฏ for that, we had to zoom in on the specific technical concepts underlying those protocols and standards ๐ from that list, we pulled out the technical concepts that showed up most often and used them to build a second list of technical terms ๐ when combined and applied in different situations, those terms create an enabling environment for exercising human rights on the Internet ๐ฆ
5.2.1.3. Building a Common Vocabulary of Technical Concepts That Impact Human Rights
while we interviewed experts, investigated RFCs, and compiled technical definitions, we spotted several concepts of convergence and divergence ๐ so we made a list of definitions to make sure everyone was talking about the same terms ๐ the definitions are based on wording found in various IETF documents ๐ if the IETF documents didn't have a definition, we took one from other SDOs or academic literature, as indicated in Section 2 ๐
5.2.1.4. Translating Human Rights Concepts into Technical Definitions
the previous steps helped clarify the relationships between human rights and technical concepts ๐ง we basically "zoomed in" ๐ starting from a broad list of protocols and standards related to human rights, then extracting the precise technical concepts that make up those protocols and standards, so we could understand the relationship between the two ๐ this subsection covers the next step: translating human rights into technical concepts by matching the individual parts of each right to the matching technical concepts ๐งฉ that gives us a list of technical concepts that, when partially combined, can create an enabling environment for human rights ๐ธ
5.2.1.5. List of Technical Terms That, When Partially Combined, Can Create an Enabling Environment for Human Rights
based on the prior steps, we drafted the following list of technical terms ๐ when partially combined, this list can create an enabling environment for human rights, such as freedom of expression and freedom of association ๐
Architectural principles Enabling features
and system properties for user rights
/------------------------------------------------\
| |
+=================|=============================+ |
= | = |
= | End-to-end = |
= | Reliability = |
= | Resilience = Access as |
= | Interoperability = human right |
= Good enough | Transparency = |
= principle | Data minimization = |
= | Permissionless innovation = |
= Simplicity | Graceful degradation = |
= | Connectivity = |
= | Heterogeneity support = |
= | = |
= | = |
= \------------------------------------------------/
= =
+===============================================+
Figure 1: Relationship between Architectural Principles and Enabling
Features for User Rights
ok that's the whole methodology bestie, the diagram is literally the vibe ๐โจ
5.2.2. Relating Human Rights to Technical Concepts โจ
okay so the technical concepts from the steps above got sorted into groups based on how much they affect specific rights ๐ซถ The sorting came from the interviews at IETF 92 and from the literature we reviewed (see Section 4 ("Literature and Discussion Review") above) ๐
This analysis is here to help protocol devs understand what role each concept plays in building an enabling environment, where people can actually exercise their human rights ๐ธ
Bestie, this is not a complete or exhaustive mapping of every way a protocol could affect human rights ๐ It's a starter map built from the interviews and from reading the literature ๐
+-----------------------+-----------------------------------------+
| Technical Concepts | Rights Potentially Impacted |
+-----------------------+-----------------------------------------+
| Connectivity | |
| Privacy | |
| Security | |
| Content agnosticism | Right to freedom of expression |
| Internationalization | |
| Censorship resistance | |
| Open standards | |
| Heterogeneity support | |
+-----------------------+-----------------------------------------+
| Anonymity | |
| Privacy | |
| Pseudonymity | Right to non-discrimination |
| Accessibility | |
+-----------------------+-----------------------------------------+
| Content agnosticism | |
| Security | Right to equal protection |
+-----------------------+-----------------------------------------+
| Accessibility | |
| Internationalization | Right to political participation |
| Censorship resistance | |
| Connectivity | |
+-----------------------+-----------------------------------------+
| Open standards | |
| Localization | Right to participate in cultural life, |
| Internationalization | arts, and science, and |
| Censorship resistance | Right to education |
| Accessibility | |
+-----------------------+-----------------------------------------+
| Connectivity | |
| Decentralization | |
| Censorship resistance | Right to freedom of assembly |
| Pseudonymity | and association |
| Anonymity | |
| Security | |
+-----------------------+-----------------------------------------+
| Reliability | |
| Confidentiality | |
| Integrity | Right to security |
| Authenticity | |
| Anonymity | |
| | |
+-----------------------+-----------------------------------------+
Figure 2: Relationship between Specific Technical Concepts
with Regard to Their Contribution to an Enabling Environment
for People to Exercise Their Human Rights
5.2.3. Mapping Cases of Protocols, Implementations, and Networking Paradigms That Adversely Impact Human Rights or Are Enablers Thereof ๐
okay so this is the list of cases of protocols, implementations, and networking paradigms that either hurt or help human rights, based on everything above ๐ง
Important tea โ: this is not a general judgment on these protocols, and it's not a full list of every possible negative or positive impact either ๐ When these protocols were dreamed up, there were tons of criteria to juggle. For example, relying on a centralized service can be bad for freedom of speech (it creates one more control point where censorship could be applied), but it might be a necessity if the endpoints aren't connected and reachable all the time ๐ญ So when we say "protocol X has feature Y, which may endanger freedom of speech," that does NOT mean protocol X is bad, and definitely not that its authors were evil ๐ซ
The goal is to show, with real examples, that protocol design has practical consequences for some human rights, and that those consequences need to be considered during the design phase ๐
5.2.3.1. IPv4 ๐ฆ
okay so IPv4, also known as "Layer 3" of the Internet, comes with a common encapsulation and protocol header, and it's defined in [RFC791] ๐ The evolution of Internet communications kept going in this area, "encapsulated" in the development of version 6 (IPv6) of the protocol [RFC8200] โจ Even with that updated protocol out there, 23 years after IPv6 was specified, the older IPv4 standard still accounts for a sizable majority of Internet traffic ๐ Most of the issues discussed here are valid for IPv4 as well as IPv6 (NATs are a major exception, though; see Section 5.2.3.1.2 ("Address Translation and Mobility")) ๐
The Internet was designed as a platform for free and open communication, most notably encoded in the end-to-end principle, and that philosophy is also present in the technical implementation of IP [RFC3724] ๐ IP was designed for an environment where the intelligence lives at the end hosts, but it turns out it provides enough information that a more intelligent network core can make policy decisions and enforce policy-based traffic shaping ๐ฌ That can restrict the communications of end hosts. These network control capabilities, and the limits they place on freedom of expression by end hosts, can be traced back to the design of IPv4, which helps us understand which technical protocol decisions have harmed this human right ๐ A feature that can harm freedom of expression, as well as the right to privacy, through misuse of IP is the exploitation of the public visibility of host pairs for all communications, and the ability to differentiate and block traffic based on that metadata ๐ฅ
5.2.3.1.1. Network Visibility of Source and Destination ๐
The IPv4 protocol header has fixed location fields for both the source IP address and the destination IP address [RFC791] ๐ซถ These addresses identify both the host sending and the host receiving each message. They also let the core network understand who is talking to whom, and practically limit communication selectively between pairs of hosts ๐ณ Blocking communication based on the source and destination pair is one of the most common limits on people's ability to communicate today [CAIDA], and it can be seen as a restriction on people's ability to assemble or to consensually express themselves ๐ฅบ
Including an Internet-wide identified source in the IP header is not the only possible design, especially since the protocol is most commonly implemented over Ethernet networks, which expose only link-local identifiers [RFC894] ๐งโโ๏ธ
A variety of alternative designs do exist, such as the Accountable and Private Internet Protocol [APIP] and High-speed Onion Routing at the Network Layer (HORNET) [HORNET], as well as source routing ๐ฆ The latter would let the sender choose a predefined (safe) route, and spoofing of the source IP address. Both are technically supported by IPv4, but neither is considered good practice on the Internet [Farrow] ๐ While projects like [TorProject] provide an alternative implementation of anonymity in connections, they were developed in spite of the IPv4 protocol design ๐
5.2.3.1.2. Address Translation and Mobility ๐ธ
A major structural shift in the Internet that undermined the protocol design of IPv4, and significantly reduced the freedom of end users to communicate and assemble, was the introduction of network address translation [RFC3022] ๐ค Network address translation is a process where organizations and autonomous systems connect two networks by translating the IPv4 source and destination addresses between them. This puts the router doing the translation in a privileged position, where it is predetermined which subset of communications will be translated ๐ซ
This translation has widespread adoption, even though it promotes a process that goes against the stated end-to-end principle of the underlying protocol [NATusage] ๐ By contrast, the proposed mechanism for mobility, and for forwarding to clients that may move, was encoded instead as an option in IP [RFC5944], and it has failed to gain traction ๐ In this situation, the compromise made in the protocol's design produced a technology that isn't coherent with the end-to-end principles, and so it creates an extra possible hurdle for freedom of expression, even though a viable alternative exists ๐ฅ There's a particular problem with NATs and Virtual Private Networks (VPNs) (as well as other connections used for privacy purposes), because NATs sometimes cause VPNs not to work ๐ญโจ
5.2.3.2. DNS โจ
okay so the Domain Name System (DNS) [RFC1035] is literally the service discovery queen ๐. It gives us a way to link human-readable names to services, so nobody has to memorize a string of numbers ๐ง. The DNS is run by a bunch of independently operated "root servers," and those are run by organizations that follow ICANN's policy. They answer queries by pointing to whoever has been delegated to manage registration under each Top-Level Domain (TLD). Here's the tea ๐ซ: the DNS is organized as a rooted tree, and that raises political and social concerns about who controls what. ICANN maintains and determines the TLDs, and those namespaces cover several classes of services.
The early namespaces, like ".com" and ".net," are shared spaces for expressing ideas ๐. Their policies do get enacted through US-based companies though, so it's not all sunshine. Other namespaces are delegated to specific nationalities, and they can impose limits meant to focus speech in those forums. The goal is to (1) promote speech from that nationality and (2) comply with local limits on expression and social norms. Then the system got even bigger with extra generic and sponsored namespaces, like ".travel" and ".ninja" ๐งณ๐ฅท. These are run by a range of organizations that can decide their own registration policies, and honestly this is giving both good and bad energy when it comes to human rights ๐ .
Some people say it undermines the right to freedom of expression, because some of these new generic TLDs have restricted registration policies and specific rules about hate speech content ๐ค. Others say those exact properties are the wins, because they let certain (mostly minority) communities build safer spaces for association, which supports their right to freedom of association ๐ซถ. An often-mentioned example is an application like .gay [CoE] ๐ณ๏ธโ๐.
As discussed in [RFC7626], DNS has some serious privacy issues ๐ญ. The biggest one is the lack of encryption to hide domain resolution requests from intermediary parties. There's also limited deployment of DNSSEC, which is the thing that lets a client know it got a correct, "authoritative" answer to a query ๐. To respond to these privacy issues, the IETF DNS Private Exchange (DPRIVE) Working Group is developing mechanisms that give DNS transactions confidentiality. The goal is to address concerns about pervasive monitoring [RFC7258] ๐.
Authentication through DNSSEC creates a validation path for records, and that protects against forged or manipulated DNS data ๐ก๏ธ. So DNSSEC protects directory lookups and makes it harder to hijack a session. This matters a lot, because interfering with the DNS is becoming one of the central tools used to block access to websites ๐ซ. That interference limits both the freedom of expression of the publisher, who wants to offer their content, and the freedom of assembly for clients who want to gather in a shared virtual space ๐. Even though DNSSEC doesn't prevent censorship, it makes it clear that the returned information is not the information that was requested. That helps the right to security and builds trust in the network ๐ฆ. Still, DNSSEC is currently not widely supported or deployed by domain name registrars, which makes it hard to authenticate and use correctly ๐.
5.2.3.2.1. Removal of Records
okay this one is so sad ๐ฅบ. There have been a number of cases where records for a domain got removed from the name system because of political events. Examples include the "seizure" of wikileaks [BBC-wikileaks] and the names of illegally operating gambling operations taken down by the United States Immigration and Customs Enforcement (ICE) unit ๐ฐ. In the first case, a US court ordered the registrar to take down the domain. In the second, ICE made the US-based registry in charge of the .com TLD hand ownership of those domains over to the US government. The same technique has been used in Libya to remove sites that violate "our Country's Law and Morality (which) do not allow any kind of pornography or its promotion." [techyum] ๐ โโ๏ธ
At a protocol level, there is no technical auditing for name ownership, the way there is in alternate systems like Namecoin [Namecoin] ๐ช. So users have no way to tell a seizure apart from a legitimate transfer of name ownership. That call is purely a policy decision made by registrars ๐. DNSSEC deals with the network distortion events described below, but it does not tackle this problem ๐.
(Although we mention alternative techniques, this is not a comparison of DNS with Namecoin: the latter has its own problems and limitations. The idea here is to show that there are several possible choices, and they have consequences for human rights. ๐)
5.2.3.2.2. Distortion of Records
the most common way the DNS gets abused to limit freedom of expression is through manipulation of protocol messages by the network ๐ต๏ธโโ๏ธ. One form happens at an organizational level, where client computers are told to use a local DNS resolver that the organization controls. That resolver then selectively distorts responses instead of asking the upstream system for the authoritative lookup ๐. The second form happens through Deep Packet Inspection (DPI), where all DNS protocol messages get inspected by the network and objectionable content gets distorted. This has been observed in Chinese networks ๐จ๐ณ.
A notable instance of distortion happened in Greece [Ververis] ๐ฌ๐ท, where a study found evidence of both (1) DPI being used to distort DNS replies and (2) more excessive blocking of content than was legally required or requested. That second thing is also known as "overblocking." Internet Service Providers (ISPs) followed a governmental order and stopped clients from resolving the names of domains, which led to this particular blocking of systems there ๐ง.
At a protocol level, these attacks work because the DNS protocol lacks authentication ๐ฌ. DNSSEC can determine the authenticity of responses when it's used, but resolvers don't regularly check it. DNSSEC also isn't effective when the local resolver for a network is complicit in the distortion. For example, that happens when the resolver an ISP assigns for use is the source of the injection ๐ซ . Selective distortion of records is also made possible by two things. The first is the predictable structure of DNS messages, which makes it computationally easy for a network device to watch all passing messages, even at high speeds. The second is the lack of encryption, which lets the network distort only an objectionable subset of protocol messages ๐ฏ. Specific distortion mechanisms are discussed further in [Hall] ๐.
Users can switch to another resolver, like a public resolver ๐โโ๏ธ. The distorter can then try to block or hijack the connection to that resolver. This can kick off an arms race, where the user switches to secured connections to the alternative resolver [RFC7858] and the distorter keeps hunting for more sophisticated ways to block or hijack the connection โ๏ธ. In some cases, the search for an alternative, non-disrupting resolver can lead to more centralization, because lots of people end up switching to a few big commercial public resolvers ๐ข.
5.2.3.2.3. Injection of Records
responding incorrectly to name lookup requests is the most common way in-network devices limit the ability of end users to discover services ๐ท. A similar move that gets the same result, and that may be seen as different from a "freedom of expression" perspective, is injecting incorrect responses to queries ๐. The biggest example of this happens in China. There, requests for lookups of sites deemed inappropriate trigger the network to return a false response. That makes the client ignore the real response when it shows up later [greatfirewall] ๐ฑ. Unlike the other network paradigms we just covered, injection doesn't stop a server from announcing its name. It just adds another voice that answers sooner โฉ. This works because, without DNSSEC, the protocol responds to whichever answer arrives first and doesn't listen for subsequent answers ๐.
5.2.3.3. HTTP
the Hypertext Transfer Protocol (HTTP) version 1.1 [RFC7230] [RFC7231] [RFC7232] [RFC7233] [RFC7234] [RFC7235] [RFC7236] [RFC7237] is a request-response application protocol that got developed through the 1990s ๐ฐ๏ธ. HTTP really did fuel the exponential growth of the Internet and the way populations around the world connect ๐. Its simple design is a big reason HTTP became the foundation of most modern Internet platforms and communication systems, from websites to chat systems and computer-to-computer applications ๐ป. As the World Wide Web, HTTP totally revolutionized technological development and the ways people interact with online content and with each other ๐ธ.
BUT, HTTP is also a fundamentally insecure protocol that doesn't natively provide encryption properties ๐ฉ. The Secure Sockets Layer (SSL) [RFC6101] and later Transport Layer Security (TLS) [RFC5246] were also defined during the 1990s. However, HTTP doesn't require developers and service providers to use those encryption layers, and that's one reason encryption got adopted really late ๐ข. It wasn't until the middle of the 2000s that we saw big ISPs, like Google, start offering encrypted access to their web services ๐.
The lack of sensitivity and understanding of how critical it is to secure web traffic encouraged certain (offensive) actors to build, deploy, and use interception systems at large scale. Later, they started launching active injection attacks to swipe large amounts of data and compromise Internet-enabled devices ๐. Commercially available systems and tools for these attacks also led to a bunch of human rights abuses that have been discovered and reported over the years ๐.
Generally, we can point to traffic interception (Section 5.2.3.3.1) and traffic manipulation (Section 5.2.3.3.2) as the two most problematic attacks against applications that use a cleartext HTTP transport layer ๐จ. That said, the IETF is taking steady steps toward the encrypted version of HTTP, HTTP Secure (HTTPS) ๐โจ.
This is commendable, but we can't lose track of the fact that different protocols, implementations, configurations, and networking paradigms can intersect in ways that (can be used to) adversely impact human rights ๐ฅ. For instance, to facilitate surveillance, certain countries will throttle HTTPS connections, forcing users to switch to (unthrottled) HTTP [Aryan-etal] ๐.
5.2.3.3.1. Traffic Interception โจ
okay so we're seeing an increasing trend over the last couple of years to use SSL/TLS as a secure traffic layer for HTTP-based apps ๐, but we are still far from seeing encryption used everywhere on the World Wide Web ๐. it's important to remember that SSL/TLS adoption is also a pretty recent glow-up ๐ .
Email providers like riseup.net were the first to turn on SSL by default ๐ฆ. Google didn't give Gmail users an option to navigate with SSL until 2008 [Rideout], and then turned TLS on by default later, in 2010 [Schillace]. it took a growing pile of security breaches and the revelations about global surveillance from Edward Snowden before other mail providers followed suit ๐ญ. for example, Yahoo didn't enable SSL/TLS by default on its webmail services until early 2014 [Peterson].
TLS itself has been hit by lots of attacks and bugs ๐. this can be traced back to some fundamental design weaknesses, like the lack of a state machine (which opens a vulnerability for triple handshake attacks) and flaws caused by early US government restrictions on cryptography, which led to cipher-suite downgrade attacks (Logjam attacks). the good news is that these vulnerabilities are being corrected in TLS 1.3 [Bhargavan] [Adrian] ๐.
HTTP upgrading to HTTPS is also vulnerable to an attacker removing the "s" from any links to HTTPS URIs in a web page transferred in cleartext over HTTP, an attack called "SSL Stripping" [sslstrip]. so for high-security use of HTTPS, IETF standards such as HTTP Strict Transport Security (HSTS) [RFC6797], certificate pinning [RFC7469], and/or DNS-Based Authentication of Named Entities (DANE) [RFC6698] should be used ๐ก๏ธ.
As we learned through Snowden's revelations, intelligence agencies have been intercepting and collecting unencrypted traffic at large for many years ๐. there are documented examples of such mass-surveillance programs: the Government Communications Headquarters's (GCHQ's) Tempora [WP-Tempora] and the National Security Agency's (NSA's) XKeyscore [Greenwald]. through these programs, the NSA and the GCHQ have been able to swipe large amounts of data, including email and instant messaging communications that have been transported in the clear for years by providers who had no idea how pervasive and large-scale governments' efforts and investment in global mass-surveillance capabilities were ๐ซ .
However, similar mass interception of unencrypted HTTP communications is also often employed at the national level by some democratic countries, by exercising control over state-owned ISPs and through the use of commercially available monitoring, collection, and censorship equipment. over the last few years, a lot of information has come to public attention on the role and scale of a surveillance industry dedicated to developing different types of interception gear, making use of known and unknown weaknesses in existing protocols [RFC7258]. we have several records of such equipment being sold and utilized by some regimes to monitor entire segments of a population, especially at times of social and political distress, uncovering massive human rights abuses ๐จ. for example, in 2013, the group Telecomix revealed that the Syrian regime was making use of Blue Coat products to intercept cleartext traffic as well as to enforce censorship of unwanted content [RSF]. similarly, in 2011, it was found that the French technology firm Amesys provided the Gadhafi government with equipment able to intercept emails, Facebook traffic, and chat messages at a country-wide level [WSJ]. the use of such systems, especially in the context of the Arab Spring and of civil uprisings against the dictatorships, has caused serious concerns regarding significant human rights abuses in Libya ๐ฑ๐พ.
5.2.3.3.2. Traffic Manipulation ๐งจ
The lack of a secure transport layer under HTTP connections not only exposes users to interception of the content of their communications, but is more and more commonly abused as a vehicle for actively compromising computers and mobile devices. if an HTTP session travels in the clear over the network, any node positioned at any point in the network is able to perform man-in-the-middle attacks: the node can observe, manipulate, and hijack the session, and can modify the content of the communication in order to trigger unexpected behavior by the application generating the traffic. for example, in the case of a browser, the attacker would be able to inject malicious code in order to exploit vulnerabilities in the browser or any of its plugins. similarly, the attacker would be able to intercept, add malware to, and repackage binary software updates that are very commonly downloaded in the clear by applications such as word processors and media players. if the HTTP session were encrypted, the tampering of the content would not be possible, and these network injection attacks would not be successful ๐ โโ๏ธ.
While traffic manipulation attacks have long been known, documented, and prototyped, especially in the context of Wi-Fi and LAN networks, in the last few years we have observed an increasing investment in the production and sale of network injection equipment that is both commercially available and deployed at scale by intelligence agencies ๐.
For example, we learned from some of the documents provided by Edward Snowden to the press that the NSA has constructed a global network injection infrastructure, called "QUANTUM", able to leverage mass surveillance in order to identify targets of interest and subsequently task man-on-the-side attacks to ultimately compromise a selected device ๐. Among other attacks, the NSA makes use of an attack called "QUANTUMINSERT" [Haagsma], which intercepts and hijacks an unencrypted HTTP communication and forces the requesting browser to redirect to a host controlled by the NSA instead of the intended website. Normally, the new destination would be an exploitation service, referred to in Snowden documents as "FOXACID", which would attempt to execute malicious code in the context of the target's browser. The Guardian reported in 2013 that the NSA has, for example, been using these techniques to target users of the popular anonymity service Tor [Schneier]. The German Norddeutscher Rundfunk (NDR) reported in 2014 that the NSA has also been using its mass-surveillance capabilities to identify Tor users at large [Appelbaum].
Recently, similar capabilities used by Chinese authorities have been reported as well in what has been informally called the "Great Cannon" [Marcak] ๐, which raised numerous concerns about a potential curb on human rights and freedom of speech, due to the increasingly tighter control of Chinese Internet communications and access to information.
Network injection attacks are also made widely available to state actors around the world through the commercialization of similar, smaller-scale equipment that can be easily acquired and deployed at a country-wide level. Certain companies are known to have network injection gear within their products portfolio [Marquis-Boire]. The technology devised and produced by some of them to perform network traffic manipulation attacks on HTTP communications is even the subject of a patent application in the United States [Googlepatent]. Access to offensive technologies available on the commercial lawful interception market has led to human rights abuses and illegitimate surveillance of journalists, human rights defenders, and political activists in many countries around the world [Collins]. While network injection attacks haven't been the subject of much attention, they do enable even unskilled attackers to perform silent and very resilient compromises, and unencrypted HTTP remains one of the main vehicles ๐ฅ.
There is a new version of HTTP, called "HTTP/2" [RFC7540], which aims to be largely backwards compatible while also offering new options such as data compression of HTTP headers, pipelining of requests, and multiplexing multiple requests over a single TCP connection. In addition to decreasing latency to improve page-loading speeds, it also facilitates more efficient use of connectivity in low-bandwidth environments, which in turn enables freedom of expression; the right to assembly; the right to political participation; and the right to participate in cultural life, arts, and science ๐. [RFC7540] does not mandate TLS or any other form of encryption, nor does it support opportunistic encryption even though opportunistic encryption is now addressed in [RFC8164].
5.2.3.4. XMPP ๐ฌ
The Extensible Messaging and Presence Protocol (XMPP), specified in [RFC6120], provides a standard for interactive chat messaging and has evolved to encompass interoperable text, voice, and video chat ๐๏ธ. The protocol is structured as a federated network of servers, similar to email, where users register with a local server that acts on their behalf to cache and relay messages. This protocol design has many advantages, allowing servers to shield clients from denial of service and other forms of retribution for their expression; it is also designed to avoid central entities that could control the ability to communicate or assemble using the protocol ๐.
Nonetheless, there are plenty of aspects of the protocol design of XMPP that shape the ability for users to communicate freely and to assemble via the protocol ๐ซถ.
5.2.3.4.1. User Identification ๐ชช
The XMPP specification [RFC6120] dictates that clients are identified with a resource (<node@domain/home> / <node@domain/work>) to distinguish the conversations to specific devices. While the protocol does not specify that the resource must be exposed by the client's server to remote users, in practice this has become the default behavior. In doing so, users can be tracked by remote friends and their servers, who are able to monitor the presence of not just the user but of each individual device the user logs in with ๐. This has proven to be misleading to many users [Pidgin], since many clients only expose user-level rather than device-level presence. Likewise, user invisibility so that communication can occur while users don't notify all buddies and other servers of their availability is not part of the formal protocol and has only been added as an extension within the XML stream rather than enforced by the protocol ๐.
5.2.3.4.2. Surveillance of Communication ๐
Okay bestie, XMPP has a whole standard for encrypting channels, but ๐ it doesn't tell clients whether their messages are encrypted on each link. So even if both clients make sure they've got an encrypted connection to their own XMPP server (so the local network can't read or mess with their messages), the protocol still gives you zero visibility into the encryption between the two servers. Not it. ๐
This means an intermediate network can selectively disrupt communications by using DPI to find certain keywords. Many operators have promised to only set up encrypted server-to-server links because they know this is a vulnerability, which is nice of them โจ. But users still can't audit that behavior, and the protocol itself doesn't require encrypted connections [XMPP-Manifesto]. Lowkey wild.
It's not a secret either. Section 13.14 of the XMPP specification [RFC6120] literally acknowledges a downgrade attack where an adversary controlling an intermediate network forces the inter-domain federation between servers to fall back to a non-encrypted protocol. Once that happens, the adversary can disrupt selected messages. The spec knows, bestie. ๐ซ
5.2.3.4.3. Group Chat Limitations ๐ฌ
Group chat in XMPP is an extension to the XMPP XML spec, found at https://xmpp.org/extensions/xep-0045.html. But here's the tea ๐ต: it's not encoded or required at the protocol level, and clients don't implement it uniformly. Some apps have it, some just don't, and that's a whole mood.
Multi-user chat in XMPP is kind of a stretch ๐ . It's an add-on to a protocol that wasn't originally built with lots of users gathering in mind. In the federated protocol, multi-user communities have a distinguished "owner" who controls the participants and the structure of the conversation. So one person is basically running the whole group.
Multi-user chat rooms are identified by a name on one specific server. The overall protocol is federated, but the ability for people to gather in a community is controlled by that one server. It can block the room and stop people from meeting, even two users who don't trust or use that server directly. Main character server energy, but not in a good way ๐.
5.2.3.5. Peer-to-Peer ๐
Peer-to-Peer (P2P) is a distributed network architecture [RFC5694] where every participant node can be responsible for storing and sharing information from any other node. See [RFC7574], an IETF standard that discusses a P2P architecture called the "Peer-to-Peer Streaming Peer Protocol" (PPSPP) ๐.
A P2P network is a logical overlay sitting on top of the physical network. It lets nodes (or "peers") find each other and swap information directly ๐ฆ. P2P can look super different depending on the build: it can be structured or unstructured, and it can have stronger or weaker cryptographic and anonymity properties. Its most common use has traditionally been file-sharing (and other content delivery systems), but P2P is also popular for networks and apps that want, or need, decentralization. Prime examples include Bitcoin and other proprietary multimedia applications โจ.
In a time when online services are super centralized, P2P gets described as this more democratic, resistant alternative. It moves control over data and communications away from central structures and makes every peer equally responsible for the functioning, integrity, and security of the data ๐. Honestly, P2P is still important for future content distribution, messaging, and publishing systems. But it comes with plenty of security and privacy challenges, and those are mostly left to individual developers to spot, analyze, and solve in each implementation of a given P2P network ๐ซถ.
5.2.3.5.1. Network Poisoning โ ๏ธ
Content, and sometimes peer lists, are kept safe and shared by the members themselves. So P2P networks are prone to what are generally called "poisoning attacks" ๐ฌ. These can target:
- the data being distributed, for example by intentionally corrupting it,
- the index tables used to tell peers where to fetch the data, or
- the routing tables, by giving connecting peers lists of rogue or nonexistent peers, with the goal of effectively causing a denial of service on the network.
5.2.3.5.2. Throttling ๐ข
P2P traffic (BitTorrent especially) makes up a significant percentage of global Internet traffic [Sandvine] ๐. ISPs have gotten really into throttling customers' lines to limit bandwidth usage [torrentfreak1]. Sometimes this is probably a side effect of the ongoing fight between copyright holders and file-sharing communities [wikileaks]. Either way, throttling undermines the end-to-end principle, and that's not it ๐ โโ๏ธ.
Throttling P2P traffic makes some uses of P2P networks ineffective. It might also come with stricter inspection of users' Internet traffic through DPI techniques, which can pose extra security and privacy risks ๐.
5.2.3.5.3. Tracking and Identification ๐
One of the biggest and most problematic issues with traditional P2P networks is that users have basically no anonymization. With BitTorrent, for example, every peer's IP address is openly available to the other peers ๐ณ. This has led to ever-increasing tracking of P2P and file-sharing users [ars]. The user's geographic location is directly exposed, and so could their identity be. That can make them a target for harassment and for attacks of a physical or legal nature ๐ญ. For instance, it's known that in Germany, law firms have used P2P and file-sharing tracking systems extensively to identify downloaders and start legal actions seeking compensation [torrentfreak2]. Yikes.
Some P2P networks do use cryptographic practices and introduce anonymization for their users, though ๐ฆ. Those implementations have been shown to succeed at resisting censorship of content and tracking of network peers. A prime example is Freenet [freenet1], a free software application that is (1) designed to make it significantly harder to identify users and content, and (2) dedicated to fostering freedom of speech online [freenet2] ๐.
5.2.3.5.4. Sybil Attacks ๐ญ
In open-membership P2P networks, a single attacker can pretend to be many participants, usually by creating multiple fake identities of whatever kind the network uses [Douceur]. Attackers can use Sybil attacks to bias the choices the network makes collectively, to their own advantage. For example, they can make it more likely that a particular data item (or some threshold of its replicas or shares) gets assigned to attacker-controlled participants ๐.
If the P2P network has any voting, moderation, or peer-review-like functionality, Sybil attacks can be used to "stuff the ballots" in the attacker's favor ๐ณ๏ธ. Companies and governments can also use Sybil attacks on discussion-oriented P2P systems for "astroturfing", which means creating the appearance of mass grassroots support for a position where there's really none ๐. It's important to know that there are no known complete, environmentally sustainable, and fully distributed solutions to Sybil attacks. Routing via "friends" also lets users be de-anonymized through their social graph. And Sybil attacks in this context (like astroturfing) matter for more than P2P protocols. They're also common on web-based systems, and governments and commercial entities exploit them too ๐ .
Encrypted P2P and anonymous P2P networks have already shown up. They provide viable platforms for sharing material [Tribler], publishing content anonymously, and communicating securely [Bitmessage] ๐ธ. These platforms aren't perfect, and more research needs to happen. If they're adopted at large, well-designed and resistant P2P networks might become a critical component of a future secure and distributed Internet, enabling freedom of speech and freedom of information at scale โจ๐ซถ.
5.2.3.6. Virtual Private Networks ๐
The VPNs discussed here are point-to-point connections that let two computers communicate over an encrypted tunnel. There are many implementations and protocols for deploying VPNs, and they mostly vary by encryption protocol or particular requirements, most commonly in proprietary and enterprise solutions ๐ผ.
VPNs are commonly used to (1) let some devices communicate through peculiar network configurations, (2) use some privacy and security properties to protect the traffic generated by the end user, or both. VPNs have also become super popular among human rights defenders, dissidents, and journalists worldwide, to avoid local monitoring and, eventually, to get around censorship ๐ฝ. People often debate whether VPNs are a good alternative to Tor or other anonymous networks. Those comparisons are misleading, though ๐. Less tech-savvy users often misunderstand some of the privacy and security properties of VPNs, and that could ultimately lead to unintended problems.
As VPNs have grown in popularity, commercial VPN providers have started growing as businesses too. Human rights defenders and people at risk often pick them, since they're normally offered as an easy-to-use service and sometimes even come with custom applications to set up the VPN tunnel ๐ฒ. But when you can't control the configuration of the network, let alone the security of the application, it's really hard to assess the general privacy and security state of common VPNs ๐ตโ๐ซ. These services have often been found leaking information, and their custom applications have turned out to be flawed. Tor and similar networks get a lot of scrutiny from the public and the academic community, but commercial and non-commercial VPNs are far less analyzed and understood [Insinuator] [Alshalan-etal]. It might be valuable to set some standards that guarantee a minimal level of privacy and security for the people who need them most ๐ซถ๐.
5.2.3.6.1. No Anonymity against VPN Providers ๐
One of the most common misconceptions among VPN users is how much anonymity a VPN can actually provide ๐ฌ. This false sense of anonymity can be betrayed by a number of attacks or misconfigurations of the VPN provider. Remember that, unlike Tor and similar systems, VPNs were not designed to provide anonymity properties ๐จ. From a technical point of view, a VPN might leak identifiable information, or it might be the target of correlation attacks that could expose the originating address of a connecting user.
Most importantly, it's vital to understand that commercial and non-commercial VPN providers are bound by the law of the jurisdiction where they reside or where their infrastructure is located. They might be legally forced to hand over data about specific users if legal investigations or intelligence requirements call for it ๐ญ. In those cases, if the VPN provider keeps logs, a user's information could be handed to the user's adversary and lead to their identification. Bestie, read your provider's policy before you trust it ๐ซ ๐.
5.2.3.6.2. Logging ๐
okay so, VPNs are point-to-point connections ๐ซถ, which means the service providers can actually see the original location of connecting users ๐. They can also track what time a session started and, eventually, which destinations someone was trying to reach ๐ญ. If the VPN providers keep logs for a long enough time, they might be forced to hand over the relevant data, or they might get compromised, and then the same data ends up exposed ๐. A clear log-retention policy could be enforced, but countries enforce different levels of data-retention policies, so VPN providers should at least be transparent about what information they store and for how long it's kept ๐ .
5.2.3.6.3. Third-Party Hosting ๐ง
VPN providers very commonly rely on third parties to provision the infrastructure that will later be used to run VPN endpoints ๐ธ. For example, they might rely on external dedicated server providers or on uplink providers. In those cases, even if the VPN provider isn't retaining any significant logs, the information on connecting users might be retained by those third parties instead, which adds an extra collection point for the adversary ๐.
5.2.3.6.4. IPv6 Leakage ๐
Some studies proved that several commercial VPN providers and applications suffer from critical leakage of information through IPv6 due to improper support and configuration [PETS2015VPN]. This is generally caused by a lack of proper configuration of the client's IPv6 routing tables ๐. Considering that most popular browsers and similar applications have been supporting IPv6 by default, if the host is provided with a functional IPv6 configuration, the traffic that's generated might leak if the VPN application isn't designed to manipulate that traffic properly ๐ญ.
5.2.3.6.5. DNS Leakage ๐
Similarly, VPN services that aren't handling DNS requests and aren't running DNS servers of their own might be prone to DNS leaking. That can not only expose sensitive information on a user's activity, but could also potentially lead to DNS hijacking attacks and subsequent compromises ๐จ.
5.2.3.6.6. Traffic Correlation ๐
Some VPN implementations appear to be particularly vulnerable to identification and collection of key exchanges that, according to some Snowden documents, are systematically collected and stored for future reference ๐๏ธ. The ability of an adversary to monitor network connections at many different points over the Internet can allow them to perform traffic correlation attacks and identify the origin of certain VPN traffic. They do this by cross-referencing the connection time of the user to the endpoint with the connection time of the endpoint to the final destination ๐งฉ. These types of attacks are very expensive and normally only performed by very resourceful adversaries, but they have been documented [SPIEGEL] as already happening in practice. They could completely nullify the use of a VPN and ultimately expose the activity and identity of a user at risk ๐ฑ.
5.2.3.7. HTTP Status Code 451 ๐ฅ
"Every Internet user has run into the '404 Not Found' Hypertext Transfer Protocol (HTTP) status code when trying, and failing, to access a particular website" [Cath]. It's a response status that the server sends to the browser when the server cannot locate the URL ๐. "403 Forbidden" is another example of this class of code, one that gives users information about what's going on. In the "403" case, the server can be reached but is blocking the request because the user is trying to access content that's forbidden to them, typically because the content is only for identified users, based on a payment or on a special status in the organization ๐. Most of the time, 403 is sent by the origin server, not by an intermediary. If a firewall stops a government employee from accessing pornography on a work computer, it does not use 403 ๐ โโ๏ธ.
As surveillance and censorship of the Internet become more commonplace, voices were raised at the IETF to introduce a new status code that indicates when something is not available for "legal reasons" (like censorship) ๐ซ:
The 451 status code would allow server operators to operate with greater transparency in circumstances where issues of law or public policy affect their operation. This transparency may be beneficial to both (1) these operators and (2) end users [RFC7725].
The status code is named "451" in reference to both Bradbury's famous novel "Fahrenheit 451" and to 451 degrees Fahrenheit, the temperature at which some claim book paper autoignites ๐๐ฅ.
During the IETF 92 meeting in Dallas, there was discussion about how useful 451 really is ๐ค. The main tension revolved around the lack of an apparent machine-readable technical use for the information. Whether 451 is just "political theatre" or whether it has a concrete technical use was heatedly debated. Some argued that "the 451 status code is just a status code with a response body"; others said it was problematic because "it brings law into the picture." Still others argued that it would be useful for individuals, or for organizations like the "Chilling Effects" project that crawl the Web to get an indication of censorship (IETF discussion on 451 -- author's field notes, March 2015) ๐ธ๏ธ. There was no outright objection during the Dallas meeting to moving forward on status code 451. On December 18, 2015, the IESG approved "An HTTP Status Code to Report Legal Obstacles" (now [RFC7725]) for publication ๐. HTTP status code 451 is now an IETF-approved HTTP status code that signals when resource access is denied as a consequence of legal demands โ .
What's so interesting about this case is that not only technical arguments, but also the status code's outright potential political use for civil society, played a substantial role in shaping the discussion and the decision to move forward with this technology ๐.
It's still important to note that HTTP status code 451 is not a solution for detecting all occasions of censorship โ ๏ธ. A large swath of Internet filtering happens in the network, at a lower level than HTTP, rather than at the server itself. For these forms of censorship, 451 plays a limited role, as typical censoring intermediaries won't generate it. Besides technical reasons, such filtering regimes are unlikely to voluntarily inject a 451 status code. The use of 451 is most likely to apply in the case of cooperative, legal versions of content removal resulting from requests to providers. You can think of content that's removed or blocked for legal reasons, like copyright infringement, gambling laws, child abuse, and so on. Large Internet companies and search engines are constantly asked to censor content in various jurisdictions, and 451 lets this be easily discovered, for instance by initiatives like the Lumen Database ๐ญ.
Overall, the strength of 451 lies in its ability to provide transparency by giving the reason for blocking and giving the end user the ability to file a complaint ๐ฃ. It allows organizations to easily measure censorship in an automated way, and it prompts the user to access the content via another path (e.g., Tor, VPNs) when (s)he encounters the 451 status code ๐ค๏ธ.
Status code 451 impacts human rights by making censorship more transparent and measurable ๐. It increases transparency by signaling the existence of censorship (instead of a much broader HTTP error message such as HTTP status code 404), and by providing details of the legal restriction, which legal authority is imposing it, and to what class of resources it applies. This empowers the user to seek redress ๐ช.
5.2.3.8. DDoS Attacks ๐ฅ
Many individuals, including IETF engineers, have argued that DDoS attacks are fundamentally against freedom of expression ๐ฃ๏ธ. Technically, DDoS attacks are attacks where one host, or multiple hosts, overload the bandwidth or resources of another host by flooding it with traffic or making resource-intensive requests, causing it to temporarily stop being available to users. One can roughly differentiate three types of DDoS attacks:
- volume-based attacks (which aim to make the host unreachable by using up all its bandwidth; often-used techniques are UDP floods and ICMP floods)
- protocol attacks (which aim to use up actual server resources; often-used techniques are SYN floods, fragmented packet attacks, and "ping of death" [RFC4949])
- application-layer attacks (which aim to bring down a server, such as a web server)
DDoS attacks can stifle freedom of expression and make it harder for independent media and human rights organizations to exercise their right to (online) freedom of association, while making it easier for governments to censor dissent ๐ค. When it comes to comparing DDoS attacks to protests in offline life, it's important to remember that only a limited number of DDoS attacks solely involve willing participants. In the overwhelming majority of cases, the clients are hacked hosts belonging to unrelated parties who have not consented to being part of a DDoS (for exceptions, see Operation Ababil [Ababil] or the Iranian Green Movement's DDoS campaign at election time [GreenMovement]). On top of that, DDoS attacks are increasingly used as an extortion tactic ๐ธ.
All of this seems to suggest that the IETF should try to ensure that its protocols cannot be used for DDoS attacks. This is consistent with the long-standing IETF consensus that DDoS is an attack that protocols should mitigate to the extent they can [BCP72] ๐ก๏ธ. Decreasing the number of vulnerabilities in protocols, and (outside of the IETF) the number of bugs in the network stacks of routers or computers, could address this issue. The IETF can clearly play a role in bringing about some of these changes, but the IETF can't be expected to take a positive stance on (specific) DDoS attacks, or to create protocols that enable some attacks and inhibit others. What the IETF can do is critically reflect on its role in the development of the Internet, and on how this impacts people's ability to exercise their human rights, such as freedom of expression ๐ซก.
6. Model for Developing Human Rights Protocol Considerations ๐
This section outlines a set of human rights protocol considerations for protocol developers ๐. It provides questions that engineers should ask themselves when developing or improving protocols if they want to understand their impact on human rights. It should, however, be noted that the impact of a protocol can't be deduced from its design alone. Its usage and implementation should also be studied to form a full assessment of the protocol's impact on human rights ๐ง.
The questions are based on the research performed by the HRPC Research Group. This research was documented prior to the writing of these considerations. The research establishes that human rights relate to standards and protocols. It also offers a common vocabulary of technical concepts that impact human rights, and how these technical concepts can be combined to ensure that the Internet remains an enabling environment for human rights. With this, a model for developing human rights protocol considerations has taken shape โจ.
6.1. Human Rights Threats ๐
Okay, so human rights threats on the Internet are everywhere and they come in a myriad of forms ๐. Protocols and standards can either harm or enable the right to freedom of expression, the right to non-discrimination, the right to equal protection, the right to participate in cultural life, arts, and science, the right to freedom of assembly and association, and the right to security ๐. An end user who gets blocked from certain services, data, or websites might not be able to share vital info about malpractice by a government or other authority ๐ญ. Someone whose communications are being monitored might be stopped from exercising their right to freedom of association or taking part in political processes [Penney]. In a worst-case scenario, protocols that leak information can lead to physical danger ๐. A realistic example: based on information that state agencies collected through information leakage in protocols, people seen as threats to the state get subjected to torture, extrajudicial killings, or detention. Scary, but it's real, so we have to talk about it ๐ซถ.
This section goes through several "common" threats to human rights and shows how each one can lead to harm or violations. It also gives examples of how these threats actually show up on the Internet โจ. This threat modeling is inspired by [RFC6973] ("Privacy Considerations for Internet Protocols"), which is based on security threat analysis ๐ฆ. It is NOT a perfect solution for assessing human rights risks in Internet protocols and systems, but it's the best approach currently available, so we use it ๐ . Some specific human rights threats are indirectly considered in Internet protocols as part of their security considerations [BCP72], but privacy guidelines [RFC6973] or reviews, let alone assessments of how protocols affect human rights, are not standardized or implemented ๐ฌ.
Lots of threats, enablers, and risks are linked to different rights, and honestly that makes total sense once you remember that human rights are interrelated, interdependent, and indivisible ๐. We're not covering all human rights, though, because not all of them are relevant to ICTs in general or to protocols and standards in particular [Bless1]. Here's the breakdown from that source:
The main source of the values of human rights is the International Bill of Human Rights, which is made up of the Universal Declaration of Human Rights [UDHR] along with the International Covenant on Civil and Political Rights [ICCPR] and the International Covenant on Economic, Social and Cultural Rights [ICESCR]. Because of several cases of Internet censorship, the Human Rights Council Resolution 20/8 was adopted in 2012 [UNHRC2016], affirming "... that the same rights that people have offline must also be protected online ..." In 2015, the Charter of Human Rights and Principles for the Internet [IRP] was developed and released. According to these documents, some examples of human rights relevant for ICT systems are human dignity (Art. 1 UDHR), non-discrimination (Art. 2), rights to life, liberty and security (Art. 3), freedom of opinion and expression (Art. 19), freedom of assembly and association (Art. 20), rights to equal protection, legal remedy, fair trial, due process, presumed innocent (Art. 7-11), appropriate social and international order (Art. 28), participation in public affairs (Art. 21), participation in cultural life, protection of intellectual property (Art. 27), and privacy (Art. 12).
A partial catalog of human rights related to ICTs, including economic rights, can be found in [Hill2014] ๐.
This is NOT an attempt to exclude specific rights or to rank some rights above others ๐ โโ๏ธ. If you think other rights seem relevant, please contact the authors of this document ๐.
6.2. Guidelines for Human Rights Considerations ๐ธ
This section gives document authors guidance in the form of a questionnaire about protocols and their (potential) impact ๐. The questionnaire can be useful at any point in the design process, especially after authors have developed a high-level protocol model as described in [RFC4101] โจ. These guidelines don't try to replace any existing referenced specifications. Instead, they add to them and look at the design process from a human rights perspective ๐ง.
Protocols and Internet Standards might benefit from a documented discussion of potential human rights risks that could come from misapplying the protocol or technology described in the RFC in question ๐. This could be paired with an Applicability Statement for that RFC.
Note that the guidance in this section does NOT recommend specific practices ๐ โโ๏ธ. The range of protocols developed in the IETF is way too broad to make recommendations about particular uses of data or how human rights might be balanced against other design goals. Still, by carefully considering the answers to the questions below, document authors should be able to produce a comprehensive analysis that can serve as the basis for discussion on whether a protocol adequately takes specific human rights threats into account ๐. This guidance is meant to help the thought process of a human rights analysis. It does NOT give specific directions for how to write a human rights protocol considerations section (following the example set in [RFC6973]), and adding such a section hasn't been proposed yet ๐คทโโ๏ธ. While thinking this through, authors need to be aware that technical advances or the passage of time can undermine protections โณ. In general, considerations of rights tend to work better when they're tied to a purpose and specific use cases, rather than treated as abstract absolute goals ๐ฏ.
6.2.1. Connectivity ๐
Questions:
- Does your protocol add application-specific functions to intermediary nodes?
- Could this functionality be added to end nodes instead of intermediary nodes?
- Is your protocol optimized for low bandwidth and high-latency connections?
- Could your protocol also be developed in a stateless manner?
Explanation: The end-to-end principle [Saltzer] holds that "the intelligence is end to end rather than hidden in the network" [RFC1958]. The end-to-end principle matters a lot for the robustness of the network and for innovation ๐. That robustness is crucial for enabling human rights like freedom of expression ๐ฆ.
Example: Middleboxes (which can be content delivery networks, firewalls, NATs, or other intermediary nodes that provide "services" other than routing) serve plenty of legitimate purposes ๐. But the protocols guiding them can shape how freely and privately people can communicate online ๐. The potential for abuse, for intentional and unintentional censoring, and for limiting permissionless innovation is real. That means middleboxes can ultimately affect the Internet as a place of unfiltered, unmonitored freedom of speech ๐ค.
Impacts:
- Right to freedom of expression
- Right to freedom of assembly and association
6.2.2. Privacy ๐
Questions:
- Did you have a look at the guidelines in Section 7 of [RFC6973] ("Privacy Considerations for Internet Protocols")?
- Could your protocol in any way impact the confidentiality of protocol metadata?
- Could your protocol counter traffic analysis?
- Could your protocol improve data minimization?
- Does your document identify potentially sensitive data logged by your protocol and/or for how long that data needs to be retained for technical reasons?
Explanation: "Privacy" refers to the right of an entity (normally a person), acting on its own behalf, to decide how much it will interact with its environment, including how much it's willing to share its personal information with others [RFC4949] ๐ซฃ. If a protocol gives insufficient privacy protection, it can hurt freedom of expression, because users end up self-censoring out of fear of surveillance or feel unable to express themselves freely ๐ญ.
Example: See [RFC6973] ๐.
Impacts:
- Right to freedom of expression
- Right to non-discrimination
6.2.3. Content Agnosticism ๐งบ
Questions:
- If your protocol impacts packet handling, does it use user data (packet data that is not included in the header)?
- Does your protocol make decisions based on the payload of the packet?
- Does your protocol prioritize certain content or services over others in the routing process?
- Is the protocol transparent about the prioritization that is made (if any)?
Explanation: "Content agnosticism" is the idea that network traffic is treated identically regardless of payload, with some exceptions for effective traffic handling, like delay-tolerant or delay-sensitive packets identified from the header ๐ฆ.
Example: Content agnosticism prevents payload-based discrimination against packets, and that matters a ton ๐ . Changing this principle could create a two-tiered Internet, where certain packets get prioritized over others based on their content. Basically, all users are entitled to receive their packets at a certain speed, but some users would become more equal than others ๐.
Impacts:
- Right to freedom of expression
- Right to non-discrimination
- Right to equal protection
6.2.4. Security ๐ก๏ธ
Questions:
- Did you have a look at [BCP72] ("Guidelines for Writing RFC Text on Security Considerations")?
- Have you found any attacks that are somewhat related to your protocol yet considered out of scope for your document?
- Would these attacks be pertinent to the features of the Internet that enable human rights (as described throughout this document)?
Explanation: Most people talk about security like it's one single, monolithic property of a protocol or system, but if you think about it, that's clearly not true ๐คฏ. Security is actually a series of related but somewhat independent properties. Not all of them are required for every application. Since communications are carried out by systems and access to systems happens through communications channels, these goals obviously interlock, but they can also be provided independently [BCP72] ๐.
Example: See [BCP72] ๐.
Impacts:
- Right to freedom of expression
- Right to freedom of assembly and association
- Right to non-discrimination
- Right to security
6.2.5. Internationalization โจ
okay so, questions time bestie ๐
- Does your protocol have text strings that have to be understood or entered by humans?
- Does your protocol allow Unicode? If so, do you accept texts in one charset (which must be UTF-8) or several (which is dangerous for interoperability)?
- If character sets or encodings other than UTF-8 are allowed, does your protocol mandate proper tagging of the charset?
- Did you have a look at [RFC6365]? ๐
Explanation: "Internationalization" is the practice of making protocols, standards, and implementations usable in different languages and scripts (see Section 6.2.12 ("Localization")). "In the IETF, 'internationalization' means to add or improve the handling of non-ASCII text in a protocol" [RFC6365]. ๐
A different vibe, more fitting for protocols built for the whole world from day one, is the W3C's definition [W3Ci18nDef]: "Internationalization is the design and development of a product, application or document content that enables easy localization for target audiences that vary in culture, region, or language." ๐ง
Many protocols that handle text only handle one charset (US-ASCII), or they leave the question of what coded character set (CCS) and encoding are used up to local guesswork. Ngl, that's how you get interoperability problems ๐ [RFC3536]. If multiple charsets are permitted, they must be explicitly identified [RFC2277]. Adding non-ASCII text lets a protocol handle more scripts, hopefully every script in use in the world. In today's world, that is normally best accomplished by allowing Unicode encoded in UTF-8 only. ๐ธ
Under the current IETF policy [RFC2277], internationalization is aimed at user-facing strings, not protocol elements like the verbs used by some text-based protocols. (Do note that some strings, such as identifiers, are both content and protocol elements, so it's a little bit of both ๐ซถ.) If the Internet wants to be a global network of networks, protocols should work with languages other than English and character sets other than Latin characters. It is therefore crucial that at least the content carried by the protocol can be in any script and that all scripts are treated equally. This is literally the main character energy of the whole thing ๐โจ
Example: See Section 6.2.12 ("Localization").
Impacts:
- Right to freedom of expression
- Right to political participation
- Right to participate in cultural life, arts, and science
6.2.6. Censorship Resistance ๐ฆ
Questions:
- Does this protocol introduce new identifiers or reuse existing identifiers (e.g., Media Access Control (MAC) addresses) that might be associated with persons or content?
- Does your protocol make it apparent or transparent when access to a resource is restricted?
- Can your protocol contribute to filtering in such a way that it could be implemented to censor data or services? If so, could your protocol be designed to ensure that this doesn't happen?
Explanation: "Censorship resistance" refers to the methods and measures used to prevent Internet censorship. ๐ซ๐ โโ๏ธ
Example: When IPv6 was being developed, embedding a MAC address into unique IP addresses was discussed. Per [RFC4941], this makes it possible for "eavesdroppers and other information collectors to identify when different addresses used in different transactions actually correspond to the same node." Obsessed with the privacy fix, honestly: this is why privacy extensions for stateless address autoconfiguration in IPv6 [RFC4941] were introduced ๐
Identifiers of content exposed within a protocol might be used to facilitate censorship, as in application-layer-based censorship, which affects protocols like HTTP. Denial or restriction of access can be made apparent through status code 451, which lets server operators be more transparent in situations where issues of law or public policy affect their operation [RFC7725]. Transparency is iconic ๐
Impacts:
- Right to freedom of expression
- Right to political participation
- Right to participate in cultural life, arts, and science
- Right to freedom of assembly and association
6.2.7. Open Standards ๐
Questions:
- Is your protocol fully documented in such a way that it could be easily implemented, improved, built upon, and/or further developed?
- Do you depend on proprietary code for the implementation, running, or further development of your protocol?
- Does your protocol favor a particular proprietary specification over technically equivalent and competing specification(s), for instance by making any incorporated vendor specification "required" or "recommended" [RFC2026]?
- Do you normatively reference another standard that is not available without cost (and could you possibly do without it)?
- Are you aware of any patents that would prevent your standard from being fully implemented [RFC6701] [RFC8179]?
Explanation: The Internet grew into the global network of networks it is because of open, non-proprietary standards [Zittrain]. They are crucial for interoperability. Yet, open standards are not explicitly defined within the IETF. On this subject, [RFC2026] states the following: "Various national and international standards bodies, such as ANSI, ISO, IEEE, and ITU-T, develop a variety of protocol and service specifications that are similar to Technical Specifications defined" at the IETF. "National and international groups also publish 'implementors' agreements' that are analogous to Applicability Statements, capturing a body of implementation-specific detail concerned with the practical application of their standards. All of these are considered to be 'open external standards' for the purposes of the Internet Standards Process." ๐
Similarly, [RFC3935] doesn't define open standards but does stress the importance of "open process": any interested person can participate in the work, know what is being decided, and make his or her voice heard on the issue. Part of this principle is the IETF's commitment to making its documents, WG mailing lists, attendance lists, and meeting minutes publicly available on the Internet. Transparent receipts, bestie ๐งพโจ
Open standards are important because they allow for permissionless innovation, which in turn is important for keeping the freedom and ability to create and deploy new protocols on top of the communications constructs that already exist. It's at the heart of the Internet as we know it, and to keep its fundamentally open nature, we need to be mindful of developing open standards. ๐ซถ
All standards that need to be normatively implemented should be freely available and should provide reasonable protection against patent infringement claims, so they can also be implemented in open-source or free software. Patents have often held back open standardization, or have been used against those deploying open standards, particularly in the domain of cryptography [Newegg]. An exemption is sometimes made when a protocol that normatively relies on specifications produced by other SDOs that are not freely available is standardized. Patents in open standards, or in normative references to other standards, should have a patent disclosure [notewell], royalty-free licensing [patentpolicy], or some other form of reasonable protection. Reasonable patent protection should include, but is not limited to, cryptographic primitives. ๐
Example: [RFC6108] describes a system deployed by Comcast, an ISP, for providing critical end-user notifications to web browsers. This notification system provides almost-immediate notifications to customers, such as warning them that their traffic shows patterns indicative of malware or virus infection. Other proprietary systems can perform such notifications, but those systems use Deep Packet Inspection (DPI) technology. In contrast to DPI, [RFC6108] describes a system that does not rely on DPI and is instead based on open IETF standards and open-source applications. No DPI drama here, just vibes ๐ฆ
Impacts:
- Right to freedom of expression
- Right to participate in cultural life, arts, and science
6.2.8. Heterogeneity Support ๐ท
Questions:
- Does your protocol support heterogeneity by design?
- Does your protocol allow for multiple types of hardware?
- Does your protocol allow for multiple types of application protocols?
- Is your protocol liberal in what it receives and handles?
- Will your protocol remain usable and open if the context changes?
- Does your protocol allow well-defined extension points? If so, do these extension points allow for open innovation?
Explanation: [FIArch] notes the following: "The Internet is characterized by heterogeneity on many levels: devices and nodes, router scheduling algorithms and queue management mechanisms, routing protocols, levels of multiplexing, protocol versions and implementations, underlying link layers (e.g., point-to-point, multi-access links, wireless, FDDI, etc.), in the traffic mix and in the levels of congestion at different times and places. Moreover, as the Internet is composed of autonomous organizations and internet service providers, each with their own separate policy concerns, there is a large heterogeneity of administrative domains and pricing structures." ๐ As a result, as also noted in [FIArch], the heterogeneity principle proposed in [RFC1958] needs to be supported by design. Mix-and-match energy, and it's giving flexibility ๐งโจ
Example: Heterogeneity is inevitable and needs to be supported by design. For example, multiple types of hardware must be allowed, for transmission speeds differing by at least seven orders of magnitude, various computer word lengths, and hosts ranging from memory-starved microprocessors up to massively parallel supercomputers. As noted in [RFC1958], "Multiple types of application protocol must be allowed for, ranging from the simplest such as remote login up to the most complex such as distributed databases." Literally everything from a tiny microprocessor to a supercomputer, all invited to the party ๐
Impacts:
- Right to freedom of expression
- Right to political participation
6.2.9. Anonymity
Question:
- Did you have a look at [RFC6973] ("Privacy Considerations for Internet Protocols"), especially Section 6.1.1 of that document? ๐ต๏ธโโ๏ธโจ
Explanation: okay so "Anonymity" just means an identity being unknown or hidden [RFC4949]. Full anonymity is super hard to achieve, but it's not all-or-nothing, it's a whole spectrum ๐. Stopping pervasive monitoring and tracking is important for lots of users AND for the IETF [RFC7258] ๐. Getting a higher level of anonymity is a big deal for end users, because it lets them pick their own degree of privacy online ๐ .
Example: protocols tend to expose personal data, so it's important to think about how to reduce the obvious privacy impacts ๐ซถ. A protocol that uses data that could help identify a sender (items of interest) should be protected from third parties. Like, if you want to hide the source/destination IP addresses of a packet, using IPsec in tunneling mode (e.g., inside a VPN) can help protect against third parties who are likely to eavesdrop on packets exchanged between the tunnel endpoints ๐.
Impacts:
- Right to non-discrimination ๐ธ
- Right to political participation ๐ณ๏ธ
- Right to freedom of assembly and association ๐ฆ
- Right to security ๐ก๏ธ
6.2.10. Pseudonymity
Questions:
- Have you considered [RFC6973] ("Privacy Considerations for Internet Protocols"), especially Section 6.1.2 of that document? ๐ง
- Does the protocol collect personally derived data? ๐ค
- Does the protocol generate or process anything that can be, or that can be tightly correlated with, personally identifiable information? ๐
- Does the protocol utilize data that is personally derived, i.e., derived from the interaction of a single person or from their device or address? ๐ฑ
- Does this protocol generate personally derived data? If so, how will that data be handled? ๐งพ
Explanation: okay bestie, "Pseudonymity" is the ability to use a persistent identifier that isn't immediately linked to your offline identity ๐ญ. It's so important for end users because it lets them choose different degrees of disguised identity and privacy online ๐.
Example: when you're designing a standard that exposes personal data, you need to think about how to mitigate the obvious impacts ๐ . Pseudonyms can't easily be reverse-engineered, and yeah, some early approaches used stuff like simply hashing IP addresses, which could easily be reversed by hashing every possible IP address and comparing the result to the pseudonym ๐. So limiting how much personal data gets exposed still matters a lot ๐ท.
"Pseudonymity" means using a pseudonym instead of your "real" name. There are SO many reasons people use pseudonyms ๐: to hide their gender, protect themselves from harassment, protect their families' privacy, talk openly about sexuality, or build an artistic or journalistic persona without getting punished by an employer, (potential) customers, or their social circle [geekfeminism] ๐. The difference between anonymity and pseudonymity is that a pseudonym is often persistent ๐ง. As [RFC6973] puts it: "Pseudonymity is strengthened when less personal data can be linked to the pseudonym; when the same pseudonym is used less often and across fewer contexts; and when independently chosen pseudonyms are more frequently used for new actions (making them, from an observer's or attacker's perspective, unlinkable)." ๐ฅ
Impacts:
- Right to non-discrimination ๐ธ
- Right to freedom of assembly and association ๐ฆ
6.2.11. Accessibility
Questions:
- Is your protocol designed to provide an enabling environment for people who are not able-bodied? ๐ฆฝ
- Have you looked at the W3C Web Accessibility Initiative [W3CAccessibility] for examples and guidance? ๐
Explanation: the Internet is basically designed to work for everyone, whatever their hardware, software, language, culture, location, or physical or mental ability ๐โจ. When the Internet hits that goal, it's accessible to people with a wide range of hearing, movement, sight, and cognitive abilities [W3CAccessibility] ๐ซถ. But sometimes, when protocols, websites, web technologies, or web tools get designed, they accidentally create barriers that keep people from using the Web ๐ญ.
Example: the HTML protocol defined in [HTML5] specifically requires that (with a few exceptions) every image must have an "alt" attribute, so images are accessible to people who can't decode non-text content on web pages by themselves ๐ผ๏ธ๐.
Impacts:
- Right to non-discrimination ๐ธ
- Right to freedom of assembly and association ๐ฆ
- Right to education ๐
- Right to political participation ๐ณ๏ธ
6.2.12. Localization
Questions:
- Does your protocol uphold the standards of internationalization? ๐
- Have you taken any concrete steps towards localizing your protocol for relevant audiences? ๐ฃ๏ธ
Explanation: according to [W3Ci18nDef], "Localization refers to the adaptation of a product, application or document content to meet the language, cultural and other requirements of a specific target market (a 'locale')." ๐ It's also described as the practice of translating an implementation so it works in a specific language or for users in a specific locale (see Section 6.2.5 ("Internationalization")) ๐ง.
Example: the Internet is a global medium, but a lot of its protocols and products get built with one particular audience in mind ๐. That audience often shares certain traits, like knowing how to read and write in ASCII and knowing English. This limits how much of the world's online population can use the Internet in a way that's culturally and linguistically accessible ๐ค. An example of a protocol that takes into account that individuals like having access to data in their native language is [RFC5646] ๐บ. Such a protocol would label the information content with an identifier for the language it's written in, and would allow information to be presented in more than one language ๐.
Impacts:
- Right to non-discrimination ๐ธ
- Right to participate in cultural life, arts, and science ๐จ
- Right to freedom of expression ๐ฃ
6.2.13. Decentralization
Questions:
- Can your protocol be implemented without one single point of control? ๐ธ๏ธ
- If applicable, can your protocol be deployed in a federated manner? ๐
- What is the potential for discrimination against users of your protocol? ๐ฉ
- Can your protocol be used to negatively implicate users (e.g., incrimination, accusation)? ๐ฌ
- Does your protocol create additional centralized points of control? ๐
Explanation: decentralization is one of the central technical concepts of network architecture, and the IETF embraces it as such [RFC3935] ๐. It refers to the absence or minimization of centralized points of control, "a feature that is assumed to make it easy for new users to join and new uses to unfold" [Brown] โจ. It also cuts down on issues around single points of failure, and it spreads the network out so it keeps working even if one or several nodes are disabled ๐ฆ. With the commercialization of the Internet in the early 1990s, there's been a slow trend away from decentralization, which is a loss for the technical benefits a decentralized Internet otherwise gives us ๐.
Example: the bits traveling across the Internet are increasingly open to monitoring and censorship, from governments, ISPs, and third (malicious) parties alike ๐. The ability to monitor and censor gets even easier when the network is centralized, because that creates central infrastructure points that can be tapped into ๐จ. Building P2P networks, and developing voice-over-IP protocols that use P2P technology together with a distributed hash table (DHT) for scalability, are examples of how protocols can preserve decentralization ๐ง [Pouwelse].
Impacts:
- Right to freedom of expression ๐ฃ
- Right to freedom of assembly and association ๐ฆ
6.2.14. Reliability
Questions:
- Is your protocol fault tolerant? ๐ ๏ธ
- Does your protocol degrade gracefully? ๐ท
- Can your protocol resist malicious degradation attempts? ๐ก๏ธ
- Do you have a documented way to announce degradation? ๐ข
- Do you have measures in place for recovery or partial healing from failure? ๐ฉน
- Can your protocol maintain dependability and performance in the face of unanticipated changes or circumstances? ๐ช
Explanation: reliability means a protocol will execute its function consistently, be error resistant as described, and function without unexpected results โ . A reliable system degrades gracefully and has a documented way to announce degradation ๐. It also has mechanisms to recover from failure gracefully and, if applicable, allow for partial healing ๐ฑ. It's super important to tell apart random degradation from malicious degradation ๐จ. Lots of current attacks against TLS, for example, exploit TLS's ability to gracefully degrade to older cipher suites. From a functional perspective that ability is good, but from a security perspective it can be very bad ๐. Just like with confidentiality, the growth of the Internet and innovation in services depend on users having confidence and trust [RFC3724] in the network ๐ซถ. For reliability, services need to notify users if packet delivery fails ๐ฌ. For real-time systems, the protocol needs to safeguard timeliness in addition to providing reliable delivery โฑ๏ธ.
Example: in the modern IP stack structure, a reliable transport layer needs an indication that transport processing has successfully completed, like the indication given by TCP's ACK message [RFC793], and not just an indication from the IP layer that the packet arrived ๐ฆ. Similarly, an application-layer protocol may need an application-specific acknowledgement that includes, among other things, a status code indicating the disposition of the request (see [RFC3724]) ๐.
Impacts:
- Right to freedom of expression ๐ฃ
- Right to security ๐ก๏ธ
6.2.15. Confidentiality ๐
Questions:
- Does this protocol expose information related to identifiers or data? If so, does it do so to each of the other protocol entities (i.e., recipients, intermediaries, and enablers) [RFC6973]?
- What options exist for protocol implementers to choose to limit the information shared with each entity?
- What operational controls are available to limit the information shared with each entity?
- What controls or consent mechanisms does the protocol define or require before personal data or identifiers are shared or exposed via the protocol? If no such mechanisms or controls are specified, is it expected that control and consent will be handled outside of the protocol?
- Does the protocol provide ways for initiators to share different pieces of information with different recipients? If not, are there mechanisms that exist outside of the protocol to provide initiators with such control?
- Does the protocol provide ways for initiators to limit which information is shared with intermediaries? If not, are there mechanisms that exist outside of the protocol to provide users with such control?
- Is it expected that users will have relationships that govern the use of the information (contractual or otherwise) with those who operate these intermediaries?
- Does the protocol prefer encryption over cleartext operation?
- Does the protocol provide ways for initiators to express individuals' preferences to recipients or intermediaries with regard to the collection, use, or disclosure of their personal data?
Explanation: Okay so "Confidentiality" just means keeping a user's data secret from unintended listeners [BCP72]. โจ The internet only grows if people actually trust the network to protect their personal data [RFC1984]. Trust is everything, bestie ๐ซถ
Example: Protocols that don't encrypt their payload basically hand the entire content of the communication to the idealized attacker along their path [RFC7624] ๐. Following the advice in [RFC3365], most of these protocols have a secure variant that encrypts the payload for confidentiality, and those secure variants are getting deployed more and more ๐. A noteworthy exception is DNS [RFC1035], because DNSSEC [RFC4033] doesn't have confidentiality as a requirement ๐. This implies that, unless the protocol changes currently being developed in the IETF's DNS Private Exchange (DPRIVE) Working Group land, all DNS queries and answers generated by the activities of any protocol are available to the attacker. Also, when store-and-forward protocols are used (e.g., SMTP [RFC5321]), intermediaries leave this data open to observation by an attacker who has compromised them, unless the data is encrypted end to end by the application-layer protocol or the implementation uses an encrypted store for this data [RFC7624] ๐ญ
Impacts:
- Right to privacy
- Right to security
6.2.16. Integrity ๐งฉ
Questions:
- Does your protocol maintain, assure, and/or verify the accuracy of payload data?
- Does your protocol maintain and assure the consistency of data?
- Does your protocol in any way allow the data to be (intentionally or unintentionally) altered?
Explanation: "Integrity" is all about maintaining and assuring that data stays accurate and consistent, so it hasn't been altered (intentionally or unintentionally) ๐
Example: Integrity verification is a big deal for stopping vulnerabilities and attacks like man-in-the-middle attacks ๐ฑ. These happen when a third party (often for shady reasons) intercepts a communication between two parties, slides right into the middle, and changes the content of the data. In practice, it looks like this:
Alice wants to communicate with Bob.
Corinne forges and sends a message to Bob, impersonating Alice.
Bob cannot see that the data from Alice was altered by Corinne.
Corinne intercepts and alters the communication as it is sent
between Alice and Bob.
Corinne is able to control the communication content.
Impacts:
- Right to freedom of expression
- Right to security
6.2.17. Authenticity ๐ชช
Questions:
- Do you have sufficient measures in place to confirm the truth of an attribute of an entity or of a single piece of data?
- Can attributes get garbled along the way (see Section 6.2.4 ("Security"))?
- If relevant, have you implemented IPsec, DNSSEC, HTTPS, and other standard security best practices?
Explanation: Authenticity makes sure data really does come from the source it says it came from ๐. This matters for preventing (1) certain attacks or (2) unauthorized access to, and use of, data.
Example: Authentication of data is key for stopping vulnerabilities and attacks like man-in-the-middle attacks ๐ต๏ธโโ๏ธ. These happen when a third party (often for malicious reasons) intercepts a communication between two parties, inserts themselves in the middle, and poses as both parties. Here's the messy version:
Alice wants to communicate with Bob.
Alice sends data to Bob.
Corinne intercepts the data sent to Bob.
Corinne reads and alters the message to Bob.
Bob cannot see that the data did not come from Alice but instead
came from Corinne.
And here's the version where proper authentication is in place:
Alice wants to communicate with Bob.
Alice sends data to Bob.
Corinne intercepts the data sent to Bob.
Corinne reads and alters the message to Bob.
Bob can see that the data did not come from Alice but instead came
from Corinne.
Impacts:
- Right to privacy
- Right to freedom of expression
- Right to security
6.2.18. Adaptability ๐ฆ
Questions:
- Is your protocol written in such a way that it would be easy for other protocols to be developed on top of it or to interact with it?
- Does your protocol impact permissionless innovation (see Section 6.2.1 ("Connectivity") above)?
Explanation: Adaptability and permissionless innovation are super intertwined ๐. Both keep the freedom and ability to create and deploy new protocols on top of the communications constructs that already exist. Permissionless innovation is literally at the heart of the Internet as we know it ๐. To keep the Internet fundamentally open and make sure it can keep developing, we have to be mindful of how protocols either maintain or reduce permissionless innovation.
Example: WebRTC generates audio and/or video data ๐ฅ. So that WebRTC can be used in different locations by different parties, it's important that standard JavaScript APIs get developed to support applications from different voice service providers. Lots of parties will have similar capabilities, so these standards need to be adaptable and allow for permissionless innovation so everyone can build on them ๐
Impacts:
- Right to education
- Right to freedom of expression
- Right to freedom of assembly and association
6.2.19. Outcome Transparency ๐
Question:
- Are the effects of your protocol fully and easily comprehensible, including with respect to unintended consequences of protocol choices?
Explanation: Certain technical choices can have unintended consequences ๐
Example: Lack of authenticity can lead to lack of integrity and negative externalities, and spam is a perfect example ๐ง. Lack of data that could be used for billing and accounting can lead to so-called "free" arrangements that hide the actual costs and how those costs get distributed. Two examples: (1) the barter arrangements that are commonly used for Internet interconnection, and (2) the commercial exploitation of personal data for targeted advertising, which is the most common funding model for so-called "free" services like search engines and social networks ๐ซ
Impacts:
- Right to freedom of expression
- Right to privacy
- Right to freedom of assembly and association
- Right to access to information
7. Security Considerations ๐ก๏ธ
As this document discusses research, there are no security considerations. ๐ Bestie, that's a whole vibe check, but it's giving "nothing to see here" ๐
8. IANA Considerations ๐
This document does not require any IANA actions. โจ
9. Research Group Information ๐ฌ
The discussion list for the IRTF Human Rights Protocol Considerations Research Group is located at the email address <hrpc@ietf.org>. Information on the group and on how to subscribe to the list is provided at <https://www.irtf.org/mailman/listinfo/hrpc>. ๐
Archives of the list can be found at <https://www.irtf.org/mail-archive/web/hrpc/current/index.html>. ๐
10. Informative References ๐
[Ababil] Danchev, D., "Dissecting 'Operation Ababil' - an OSINT
Analysis", September 2012, <http://ddanchev.blogspot.be/
2012/09/dissecting-operation-ababil-osint.html>.
[Abbate] Abbate, J., "Inventing the Internet", MIT Press, 2000,
<https://mitpress.mit.edu/books/inventing-internet>.
[Adrian] Adrian, D., Bhargavan, K., Durumeric, Z., Gaudry, P.,
Green, M., Halderman, J., Heninger, N., Springall, D.,
Thome, E., Valenta, L., VanderSloot, B., Wustrow, E.,
Zanella-Beguelin, S., and P. Zimmermann, "Imperfect
Forward Secrecy: How Diffie-Hellman Fails in Practice",
Proceedings of the 22nd ACM SIGSAC Conference on Computer
and Communications Security, pp. 5-17,
DOI 10.1145/2810103.2813707, October 2015.
[Alshalan-etal]
Alshalan, A., Pisharody, S., and D. Huang, "A Survey of
Mobile VPN Technologies", IEEE Communications Surveys &
Tutorials, Volume 18, Issue 2, pp. 1177-1196,
DOI 10.1109/COMST.2015.2496624, 2016,
<http://ieeexplore.ieee.org/
document/7314859/?arnumber=7314859>.
[APIP] Naylor, D., Mukerjee, M., and P. Steenkiste, "Balancing
accountability and privacy in the network", SIGCOMM '14,
Proceedings of the 2014 ACM Conference on
SIGCOMM, pp. 75-86, DOI 10.1145/2740070.2626306,
October 2014,
<https://dl.acm.org/citation.cfm?id=2626306>.
[Appelbaum]
Appelbaum, J., Gibson, A., Goetz, J., Kabisch, V., Kampf,
L., and L. Ryge, "NSA targets the privacy-conscious",
2014, <http://daserste.ndr.de/panorama/aktuell/
nsa230_page-1.html>.
[ars] Anderson, N., "P2P researchers: use a blocklist or you
will be tracked... 100% of the time", October 2007,
<http://arstechnica.com/uncategorized/2007/10/
p2p-researchers-use-a-blocklist-or-you-will-be-tracked-
100-of-the-time/>.
[Aryan-etal]
Aryan, S., Aryan, H., and J. Alex Halderman, "Internet
Censorship in Iran: A First Look", 2013,
<https://jhalderm.com/pub/papers/iran-foci13.pdf>.
[Babbie] Babbie, E., "The Basics of Social Research",
Cengage, Belmont, CA, 2017.
[BBC-wikileaks]
BBC, "Whistle-blower site taken offline", February 2008,
<http://news.bbc.co.uk/2/hi/technology/7250916.stm>.
[BCP72] Rescorla, E. and B. Korver, "Guidelines for Writing RFC Text on Security Considerations", BCP 72, RFC 3552, July 2003, <https://www.rfc-editor.org/info/bcp72>. โจ
[Benkler] Benkler, Y., "The Wealth of Networks - How Social Production Transforms Markets and Freedom", Yale University Press, New Haven and London, 2006, <http://is.gd/rxUpTQ>. ๐
[Berners-Lee] Berners-Lee, T. and M. Fischetti, "Weaving the Web: The Original Design and Ultimate Destiny of the World Wide Web", HarperCollins, p. 208, 1999. ๐ธ๏ธ
[BernersLeeHalpin] Berners-Lee, T. and H. Halpin, "Internet Access is a Human Right", 2012, <http://www.ibiblio.org/hhalpin/homepage/publications/def-timbl-halpin.pdf>. ๐
[Bhargavan] Bhargavan, K., Delignat-Lavaud, A., Fournet, C., Pironti, A., and P. Strub, "Triple Handshakes and Cookie Cutters: Breaking and Fixing Authentication over TLS", 2014 IEEE Symposium on Security and Privacy, pp. 98-113, DOI 10.1109/SP.2014.14, May 2014. ๐
[Bitmessage] Bitmessage, "Bitmessage Wiki", March 2017, <https://bitmessage.org/wiki/Main_Page>. ๐
[Bless1] Orwat, C. and R. Bless, "Values and Networks - Steps Toward Exploring their Relationships", ACM SIGCOMM Computer Communication Review, Volume 46, Number 2, pp. 25-31, DOI 10.1145/2935634.2935640, April 2016, <http://www.sigcomm.org/sites/default/files/ccr/papers/2016/April/0000000-0000003.pdf>. ๐ฆ
[Bless2] Bless, R. and C. Orwat, "Values and Networks", July 2015, <https://www.ietf.org/proceedings/93/slides/slides-93-hrpc-2.pdf>. ๐
[Broeders] Broeders, D., "The public core of the Internet. An international agenda for Internet governance", The Netherlands Scientific Council for Government Policy (WRR) Report No. 94 (under "Reports to the government"), 2015, <https://english.wrr.nl/publications/reports/2015/10/01/the-public-core-of-the-internet> ๐๏ธ
[Brown] Ziewitz, M. and I. Brown, Ed., "A Prehistory of Internet Governance", Research Handbook on Governance of the Internet, Part 1, Chapter 1 (pp. 3-26), Edward Elgar Publishing Ltd, Cheltenham, DOI 10.4337/9781849805049, 2013. ๐
[Brown-etal] Brown, I., Clark, D., and D. Trossen, "Should Specific Values Be Embedded In The Internet Architecture?", ReARCH '10, Proceedings of the Re-Architecting the Internet Workshop, Article No. 10, DOI 10.1145/1921233.1921246, November 2010, <http://conferences.sigcomm.org/co-next/2010/Workshops/REARCH/ReArch_papers/10-Brown.pdf>. ๐ง
[BrownMarsden] Brown, I. and C. Marsden, "Regulating Code: Good Governance and Better Regulation in the Information Age", MIT Press, 2013, <https://mitpress.mit.edu/books/regulating-code>. โ๏ธ
[CAIDA] Dainotti, A., Squarcella, C., Aben, E., Claffy, K., Chiesa, M., Russo, M., and A. Pescape, "Analysis of Country-wide Internet Outages Caused by Censorship", DOI 10.1109/TNET.2013.2291244, December 2013, <http://www.caida.org/publications/papers/2014/outages_censorship/outages_censorship.pdf>. ๐
[Cath] Cath, C., "A Case Study of Coding Rights: Should Freedom of Speech Be Instantiated in the Protocols and Standards Designed by the Internet Engineering Task Force?", August 2015, <https://www.ietf.org/mail-archive/web/hrpc/current/pdf36GrmRM84S.pdf>. ๐ฃ๏ธ
[CathFloridi] Cath, C. and L. Floridi, "The Design of the Internet's Architecture by the Internet Engineering Task Force (IETF) and Human Rights", April 2017. ๐ธ
[Clark] Clark, D., "The Design Philosophy of the DARPA Internet Protocols", SIGCOMM '88, Proceedings of the ACM CCR, Volume 18, Number 4, pp. 106-114, DOI 10.1145/52324.52336, August 1988. ๐
[Clark-etal] Clark, D., Wroclawski, J., Sollins, K., and R. Braden, "Tussle in cyberspace: defining tomorrow's Internet", IEEE/ACM Transactions on Networking (TON) archive, Volume 13, Issue 3, pp. 462-475, DOI 10.1109/TNET.2005.850224, June 2005, <https://dl.acm.org/citation.cfm?id=1074049>. โ๏ธ
[CoE] Council of Europe, "Applications to ICANN for Community-based New Generic Top Level Domains (gTLDs): Opportunities and challenges from a human rights perspective", 2016, <https://rm.coe.int/CoERMPublicCommonSearchServices/DisplayDCTMContent?documentId=09000016806b5a14>. ๐ช๐บ
[Collins] Collins, K., "Hacking Team's oppressive regimes customer list revealed in hack", July 2015, <http://www.wired.co.uk/news/archive/2015-07/06/hacking-team-spyware-company-hacked>. ๐ฌ
[Davidson-etal] Davidson, A., Morris, J., and R. Courtney, "Strangers in a Strange Land: Public Interest Advocacy and Internet Standards", Telecommunications Policy Research Conference, Alexandria, VA, September 2002, <https://www.cdt.org/files/publications/piais.pdf>. ๐ซถ
[DeNardis14] DeNardis, L., "The Global War for Internet Governance", Yale University Press, 2014, <https://www.jstor.org/stable/j.ctt5vkz4n>. ๐
[DeNardis15] DeNardis, L., "The Internet Design Tension between Surveillance and Security", IEEE Annals of the History of Computing, Volume 37, Issue 2, DOI 10.1109/MAHC.2015.29, 2015, <http://is.gd/7GAnFy>. ๐
[Denzin] Denzin, N., Ed., and Y. Lincoln, Ed., "The SAGE Handbook of Qualitative Research", SAGE Handbooks, Thousand Oaks, CA, 2011, <http://www.amazon.com/SAGE-Handbook-Qualitative-Research-Handbooks/dp/1412974178>. ๐
[dict] BusinessDictionary.com, "Reliability (dictionary entry)", WebFinance, Inc., 2017, <http://www.businessdictionary.com/definition/reliability.html>. ๐งพ
[Doty] Doty, N., "Automated text analysis of Requests for Comment (RFCs)", 2014, <https://github.com/npdoty/rfc-analysis>. ๐ค
[Douceur] Douceur, J., "The Sybil Attack", 2002, <https://www.microsoft.com/en-us/research/wp-content/uploads/2002/01/IPTPS2002.pdf>. ๐ญ
[Dutton] Dutton, W., Dopatka, A., Law, G., and V. Nash, "Freedom of Connection, Freedom of Expression: The Changing Legal and Regulatory Ecology Shaping the Internet", 2011, <http://www.unesco.org/new/en/communication-and-information/resources/publications-and-communication-materials/publications/full-list/freedom-of-connection-freedom-of-expression-the-changing-legal-and-regulatory-ecology-shaping-the-internet/>. ๐๏ธ
[Farrow] Farrow, R., "Source Address Spoofing", 2016, <https://technet.microsoft.com/library/cc723706.aspx>. ๐ฅธ
[FIArch] "Future Internet Design Principles", January 2012, <http://www.future-internet.eu/uploads/media/FIArch_Design_Principles_V1.0.pdf>. ๐ญ
[FOC] Ministers of the Freedom Online Coalition, "The Tallinn Agenda - Recommendations for Freedom Online", 2014, <https://www.freedomonlinecoalition.com/wp-content/uploads/2014/04/FOC-recommendations-consensus.pdf>. ๐ฝ
[FRAMEWORK] ISO/IEC, "Information technology - Framework for internationalization", prepared by ISO/IEC JTC 1/SC 22/WG 20 ISO/IEC TR 11017, 1998. ๐
[Franklin] Franklin, U., "The Real World of Technology", June 1999, <http://houseofanansi.com/products/the-real-world-of-technology-digital>. ๐งต
[freenet1] Freenet, "What is Freenet?", n.d., <https://freenetproject.org/whatis.html>. ๐ฑ
[freenet2] Clarke, I., "The Philosophy behind Freenet", n.d., <https://freenetproject.org/pages/about.html>. ๐
[geekfeminism] Geek Feminism Wiki, "Pseudonymity", 2015, <http://geekfeminism.wikia.com/wiki/Pseudonymity>. ๐
[Geertz] Geertz, H. and C. Geertz, "Kinship in Bali", University of Chicago Press, Chicago, 1975, <http://press.uchicago.edu/ucp/books/book/chicago/K/bo25832222.html>. ๐บ
[Googlepatent] Google, "Method and device for network traffic manipulation", 2012, <https://www.google.com/patents/EP2601774A1?cl=en>. ๐
[greatfirewall] Anonymous, "Towards a Comprehensive Picture of the Great Firewall's DNS Censorship", 4th USENIX Workshop on Free and Open Communications on the Internet (FOCI) '14, August 2014, <https://www.usenix.org/system/files/conference/foci14/foci14-anonymous.pdf>. ๐งฑ
[GreenMovement] Villeneuve, N., "Iran DDoS", 2009, <https://www.nartv.org/2009/06/16/iran-ddos/>. ๐
[Greenwald] Greenwald, G., "XKeyscore: NSA tool collects 'nearly everything a user does on the internet'", July 2013, <https://www.theguardian.com/world/2013/jul/31/nsa-top-secret-program-online-data>. ๐ต๏ธ
[Haagsma] Haagsma, L., "Deep dive into QUANTUM INSERT", April 2015, <http://blog.fox-it.com/2015/04/20/deep-dive-into-quantum-insert/>. ๐
[Hall] Hall, J., Aaron, M., Jones, B., and N. Feamster, "A Survey of Worldwide Censorship Techniques", Work in Progress, draft-hall-censorship-tech-04, July 2016. ๐ง
[Hill2014] Hill, R., "Partial Catalog of Human Rights Related to ICT Activities", May 2014, <http://www.apig.ch/UNIGE%20Catalog.pdf>. ๐งพ
[HORNET] Chen, C., Asoni, D., Barrera, D., Danezis, G., and A. Perrig, "HORNET: High-speed Onion Routing at the Network Layer", CCS '15, Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, pp. 1441-1454, DOI 10.1145/2810103.2813628, October 2015, <https://dl.acm.org/citation.cfm?id=2813628>. ๐ง
[HTML5] Hickson, I., Ed., Berjon, R., Ed., Faulkner, S., Ed., Leithead, T., Ed., Navara, E., Ed., O'Connor, E., Ed., and S. Pfeiffer, Ed., "HTML5", W3C Recommendation, October 2014, <https://www.w3.org/TR/html5/>. ๐ป
[ICCPR] United Nations General Assembly, "International Covenant on Civil and Political Rights", 1966, <http://www.ohchr.org/EN/ProfessionalInterest/Pages/CCPR.aspx>. ๐๏ธ
[ICESCR] United Nations General Assembly, "International Covenant on Economic, Social and Cultural Rights", 1966, <http://www.ohchr.org/EN/ProfessionalInterest/Pages/CESCR.aspx>. ๐ซถ
[Insinuator] Schiess, N., "Vulnerabilities & attack vectors of VPNs (Pt 1)", August 2013, <https://www.insinuator.net/2013/08/vulnerabilities-attack-vectors-of-vpns-pt-1/>. ๐
[IRP] Internet Rights and Principles Dynamic Coalition, "10 Internet Rights & Principles", 2017, <http://internetrightsandprinciples.org/site/campaign/>. ๐
[Jabri] Jabri, V., "Discourses on violence: conflict analysis reconsidered", Manchester University Press, 1996.
[Kaye] Kaye, D., "Freedom of expression and the private sector in the digital age", 2016, <http://www.ohchr.org/EN/Issues/FreedomOpinion/Pages/Privatesectorinthedigitalage.aspx>.
[King] King, C., "Power, Social Violence and Civil Wars", Chapter 8 of "Leashing the Dogs of War: Conflict Management in a Divided World", United States Institute of Peace Press, Washington, D.C., 2007.
[Lessig] Lessig, L., "Code and Other Laws of Cyberspace, Version 2.0 ('Codev2')", Basic Books, New York, 2006, <http://codev2.cc/>.
[Marcak] Marcak, B., Weaver, N., Dalek, J., Ensafi, R., Fifield, D., McKune, S., Rey, A., Scott-Railton, J., Deibert, R., and V. Paxson, "China's Great Cannon", April 2015, <https://citizenlab.org/2015/04/chinas-great-cannon/>.
[Marquis-Boire] Marquis-Boire, M., "Schrodinger's Cat Video and the Death of Clear-Text", August 2014, <https://citizenlab.org/2014/08/cat-video-and-the-death-of-clear-text/>. ๐ฑ
[Meyer] Meyer, J., "Defining and Evaluating Resilience: A Performability Perspective", presentation at International Workshop on Performability Modeling of Computer and Communication Systems, September 2009.
[Mueller] Mueller, M., "Networks and States: The Global Politics of Internet Governance", MIT Press, DOI 10.7551/mitpress/9780262014595.001.0001, 2010, <https://mitpress.mit.edu/books/networks-and-states>. ๐
[Musiani] Musiani, F., "Giants, Dwarfs and Decentralized Alternatives to Internet-based Services: An Issue of Internet Governance", Westminster Papers in Communication and Culture, 10(1), pp. 81-94, DOI 10.16997/wpcc.214, 2015, <https://www.westminsterpapers.org/articles/10.16997/wpcc.214/>.
[Namecoin] Namecoin, "Namecoin", 2015, <https://namecoin.info/>.
[NATusage] Maier, G., Schneider, F., and A. Feldmann, "NAT usage in Residential Broadband networks", PAM: International Conference on Passive and Active Network Measurement Lecture Notes in Computer Science, Volume 6579, Springer, Berlin and Heidelberg, DOI 10.1007/978-3-642-19260-9_4, 2011, <http://www.icsi.berkeley.edu/pubs/networking/NATusage11.pdf>. ๐ธ
[NETmundial] NETmundial, "NETmundial Multistakeholder Statement", April 2014, <http://netmundial.br/wp-content/uploads/2014/04/NETmundial-Multistakeholder-Document.pdf>.
[Newegg] Mullin, J., "Newegg on trial: Mystery company TQP rewrites the history of encryption", November 2013, <http://arstechnica.com/tech-policy/2013/11/newegg-on-trial-mystery-company-tqp-re-writes-the-history-of-encryption/>. ๐
[notewell] IETF, "Note Well", 2015, <https://www.ietf.org/about/note-well.html>.
[patentpolicy] Weitzner, D., Ed., "W3C Patent Policy", World Wide Web Consortium, February 2004, <https://www.w3.org/Consortium/Patent-Policy-20040205/>.
[Penney] Penney, J., "Chilling Effects: Online Surveillance and Wikipedia Use", 2016, <http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2769645>.
[Peterson] Peterson, A., Gellman, B., and A. Soltani, "Yahoo to make SSL encryption the default for Webmail users. Finally.", October 2013, <https://www.washingtonpost.com/news/the-switch/wp/2013/10/14/yahoo-to-make-ssl-encryption-the-default-for-webmail-users-finally/?utm_term=.a17eca45ddfe>. ๐
[PETS2015VPN] Perta, V., Barbera, M., Tyson, G., Haddadi, H., and A. Mei, "A Glance through the VPN Looking Glass: IPv6 Leakage and DNS Hijacking in Commercial VPN clients", DOI 10.1515/popets-2015-0006, 2015, <http://www.eecs.qmul.ac.uk/~hamed/papers/PETS2015VPN.pdf>. ๐ต๏ธโโ๏ธ
[Pidgin] js and Pidgin Developers, "[XMPP] Invisible mode violating standard", 2007, <https://developer.pidgin.im/ticket/4322>.
[Pouwelse] Pouwelse, J., Ed., "Media without censorship (CensorFree) scenarios", Work in Progress, draft-pouwelse-censorfree-scenarios-02, October 2012.
[Rachovitsa] Rachovitsa, A., "Engineering and lawyering privacy by design: understanding online privacy both as a technical and an international human rights issue", International Journal of Law and Information Technology, Volume 24, Issue 4, pp. 374-399, DOI 10.1093/ijlit/eaw012, December 2016, <https://academic.oup.com/ijlit/article/24/4/374/2566975/Engineering-and-lawyering-privacy-by-design>. โ๏ธ
[RFC760] Postel, J., "DoD standard Internet Protocol", RFC 760, DOI 10.17487/RFC0760, January 1980, <https://www.rfc-editor.org/info/rfc760>. ๐ฆ
[RFC791] Postel, J., "Internet Protocol", STD 5, RFC 791, DOI 10.17487/RFC0791, September 1981, <https://www.rfc-editor.org/info/rfc791>. ๐
[RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC 793, DOI 10.17487/RFC0793, September 1981, <https://www.rfc-editor.org/info/rfc793>. ๐ซถ
[RFC894] Hornig, C., "A Standard for the Transmission of IP Datagrams over Ethernet Networks", STD 41, RFC 894, DOI 10.17487/RFC0894, April 1984, <https://www.rfc-editor.org/info/rfc894>.
[RFC1035] Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, November 1987, <https://www.rfc-editor.org/info/rfc1035>. ๐งญ
[RFC1122] Braden, R., Ed., "Requirements for Internet Hosts - Communication Layers", STD 3, RFC 1122, DOI 10.17487/RFC1122, October 1989, <https://www.rfc-editor.org/info/rfc1122>.
[RFC1958] Carpenter, B., Ed., "Architectural Principles of the Internet", RFC 1958, DOI 10.17487/RFC1958, June 1996, <https://www.rfc-editor.org/info/rfc1958>. ๐๏ธ
[RFC1984] IAB and IESG, "IAB and IESG Statement on Cryptographic Technology and the Internet", BCP 200, RFC 1984, DOI 10.17487/RFC1984, August 1996, <https://www.rfc-editor.org/info/rfc1984>. ๐
[RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996, <https://www.rfc-editor.org/info/rfc2026>.
[RFC2277] Alvestrand, H., "IETF Policy on Character Sets and Languages", BCP 18, RFC 2277, DOI 10.17487/RFC2277, January 1998, <https://www.rfc-editor.org/info/rfc2277>. ๐
[RFC2775] Carpenter, B., "Internet Transparency", RFC 2775, DOI 10.17487/RFC2775, February 2000, <https://www.rfc-editor.org/info/rfc2775>. ๐
[RFC3022] Srisuresh, P. and K. Egevang, "Traditional IP Network Address Translator (Traditional NAT)", RFC 3022, DOI 10.17487/RFC3022, January 2001, <https://www.rfc-editor.org/info/rfc3022>.
[RFC3365] Schiller, J., "Strong Security Requirements for Internet Engineering Task Force Standard Protocols", BCP 61, RFC 3365, DOI 10.17487/RFC3365, August 2002, <https://www.rfc-editor.org/info/rfc3365>. ๐ช
[RFC3439] Bush, R. and D. Meyer, "Some Internet Architectural Guidelines and Philosophy", RFC 3439, DOI 10.17487/RFC3439, December 2002, <https://www.rfc-editor.org/info/rfc3439>.
[RFC3536] Hoffman, P., "Terminology Used in Internationalization in the IETF", RFC 3536, DOI 10.17487/RFC3536, May 2003, <https://www.rfc-editor.org/info/rfc3536>. ๐ฃ๏ธ
[RFC3724] Kempf, J., Ed., Austein, R., Ed., and IAB, "The Rise of the Middle and the Future of End-to-End: Reflections on the Evolution of the Internet Architecture", RFC 3724, DOI 10.17487/RFC3724, March 2004, <https://www.rfc-editor.org/info/rfc3724>. ๐
[RFC3935] Alvestrand, H., "A Mission Statement for the IETF", BCP 95, RFC 3935, DOI 10.17487/RFC3935, October 2004, <https://www.rfc-editor.org/info/rfc3935>. โจ
[RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, DOI 10.17487/RFC4033, March 2005, <https://www.rfc-editor.org/info/rfc4033>.
[RFC4084] Klensin, J., "Terminology for Describing Internet Connectivity", BCP 104, RFC 4084, DOI 10.17487/RFC4084, May 2005, <https://www.rfc-editor.org/info/rfc4084>. ๐
[RFC4101] Rescorla, E. and IAB, "Writing Protocol Models", RFC 4101, DOI 10.17487/RFC4101, June 2005, <https://www.rfc-editor.org/info/rfc4101>.
[RFC4941] Narten, T., Draves, R., and S. Krishnan, "Privacy Extensions for Stateless Address Autoconfiguration in IPv6", RFC 4941, DOI 10.17487/RFC4941, September 2007, <https://www.rfc-editor.org/info/rfc4941>. ๐
[RFC4949] Shirey, R., "Internet Security Glossary, Version 2", FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, <https://www.rfc-editor.org/info/rfc4949>. ๐
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, DOI 10.17487/RFC5246, August 2008, <https://www.rfc-editor.org/info/rfc5246>. ๐
[RFC5321] Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, DOI 10.17487/RFC5321, October 2008, <https://www.rfc-editor.org/info/rfc5321>. ๐ฌ
[RFC5646] Phillips, A., Ed., and M. Davis, Ed., "Tags for Identifying Languages", BCP 47, RFC 5646, DOI 10.17487/RFC5646, September 2009, <https://www.rfc-editor.org/info/rfc5646>. ๐ท๏ธ
[RFC5694] Camarillo, G., Ed., and IAB, "Peer-to-Peer (P2P) Architecture: Definition, Taxonomies, Examples, and Applicability", RFC 5694, DOI 10.17487/RFC5694, November 2009, <https://www.rfc-editor.org/info/rfc5694>. ๐ค
[RFC5944] Perkins, C., Ed., "IP Mobility Support for IPv4, Revised", RFC 5944, DOI 10.17487/RFC5944, November 2010, <https://www.rfc-editor.org/info/rfc5944>. ๐ฑ
[RFC6101] Freier, A., Karlton, P., and P. Kocher, "The Secure Sockets Layer (SSL) Protocol Version 3.0", RFC 6101, DOI 10.17487/RFC6101, August 2011, <https://www.rfc-editor.org/info/rfc6101>. ๐ฐ๏ธ
[RFC6108] Chung, C., Kasyanov, A., Livingood, J., Mody, N., and B. Van Lieu, "Comcast's Web Notification System Design", RFC 6108, DOI 10.17487/RFC6108, February 2011, <https://www.rfc-editor.org/info/rfc6108>. ๐
[RFC6120] Saint-Andre, P., "Extensible Messaging and Presence Protocol (XMPP): Core", RFC 6120, DOI 10.17487/RFC6120, March 2011, <https://www.rfc-editor.org/info/rfc6120>. ๐ฌ
okay bestie, the reference list keeps going and these are the receipts ๐๐
[RFC6365] Hoffman, P. and J. Klensin, "Terminology Used in
Internationalization in the IETF", BCP 166, RFC 6365,
DOI 10.17487/RFC6365, September 2011,
<https://www.rfc-editor.org/info/rfc6365>.
[RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication
of Named Entities (DANE) Transport Layer Security (TLS)
Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698,
August 2012, <https://www.rfc-editor.org/info/rfc6698>.
[RFC6701] Farrel, A. and P. Resnick, "Sanctions Available for
Application to Violators of IETF IPR Policy", RFC 6701,
DOI 10.17487/RFC6701, August 2012,
<https://www.rfc-editor.org/info/rfc6701>.
[RFC6797] Hodges, J., Jackson, C., and A. Barth, "HTTP Strict
Transport Security (HSTS)", RFC 6797,
DOI 10.17487/RFC6797, November 2012,
<https://www.rfc-editor.org/info/rfc6797>.
[RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
Morris, J., Hansen, M., and R. Smith, "Privacy
Considerations for Internet Protocols", RFC 6973,
DOI 10.17487/RFC6973, July 2013,
<https://www.rfc-editor.org/info/rfc6973>.
[RFC7230] Fielding, R., Ed., and J. Reschke, Ed., "Hypertext
Transfer Protocol (HTTP/1.1): Message Syntax and Routing",
RFC 7230, DOI 10.17487/RFC7230, June 2014,
<https://www.rfc-editor.org/info/rfc7230>.
[RFC7231] Fielding, R., Ed., and J. Reschke, Ed., "Hypertext
Transfer Protocol (HTTP/1.1): Semantics and Content",
RFC 7231, DOI 10.17487/RFC7231, June 2014,
<https://www.rfc-editor.org/info/rfc7231>.
[RFC7232] Fielding, R., Ed., and J. Reschke, Ed., "Hypertext
Transfer Protocol (HTTP/1.1): Conditional Requests",
RFC 7232, DOI 10.17487/RFC7232, June 2014,
<https://www.rfc-editor.org/info/rfc7232>.
[RFC7233] Fielding, R., Ed., Lafon, Y., Ed., and J. Reschke, Ed.,
"Hypertext Transfer Protocol (HTTP/1.1): Range Requests",
RFC 7233, DOI 10.17487/RFC7233, June 2014,
<https://www.rfc-editor.org/info/rfc7233>.
[RFC7234] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
Ed., "Hypertext Transfer Protocol (HTTP/1.1): Caching",
RFC 7234, DOI 10.17487/RFC7234, June 2014,
<https://www.rfc-editor.org/info/rfc7234>.
[RFC7235] Fielding, R., Ed., and J. Reschke, Ed., "Hypertext
Transfer Protocol (HTTP/1.1): Authentication", RFC 7235,
DOI 10.17487/RFC7235, June 2014,
<https://www.rfc-editor.org/info/rfc7235>.
[RFC7236] Reschke, J., "Initial Hypertext Transfer Protocol (HTTP)
Authentication Scheme Registrations", RFC 7236,
DOI 10.17487/RFC7236, June 2014,
<https://www.rfc-editor.org/info/rfc7236>.
[RFC7237] Reschke, J., "Initial Hypertext Transfer Protocol (HTTP)
Method Registrations", RFC 7237, DOI 10.17487/RFC7237,
June 2014, <https://www.rfc-editor.org/info/rfc7237>.
[RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an
Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258,
May 2014, <https://www.rfc-editor.org/info/rfc7258>.
[RFC7469] Evans, C., Palmer, C., and R. Sleevi, "Public Key Pinning
Extension for HTTP", RFC 7469, DOI 10.17487/RFC7469,
April 2015, <https://www.rfc-editor.org/info/rfc7469>.
[RFC7540] Belshe, M., Peon, R., and M. Thomson, Ed., "Hypertext
Transfer Protocol Version 2 (HTTP/2)", RFC 7540,
DOI 10.17487/RFC7540, May 2015,
<https://www.rfc-editor.org/info/rfc7540>.
[RFC7574] Bakker, A., Petrocco, R., and V. Grishchenko, "Peer-to-
Peer Streaming Peer Protocol (PPSPP)", RFC 7574,
DOI 10.17487/RFC7574, July 2015,
<https://www.rfc-editor.org/info/rfc7574>.
[RFC7624] Barnes, R., Schneier, B., Jennings, C., Hardie, T.,
Trammell, B., Huitema, C., and D. Borkmann,
"Confidentiality in the Face of Pervasive Surveillance: A
Threat Model and Problem Statement", RFC 7624,
DOI 10.17487/RFC7624, August 2015,
<https://www.rfc-editor.org/info/rfc7624>.
[RFC7626] Bortzmeyer, S., "DNS Privacy Considerations", RFC 7626,
DOI 10.17487/RFC7626, August 2015,
<https://www.rfc-editor.org/info/rfc7626>.
[RFC7725] Bray, T., "An HTTP Status Code to Report Legal Obstacles",
RFC 7725, DOI 10.17487/RFC7725, February 2016,
<https://www.rfc-editor.org/info/rfc7725>.
[RFC7754] Barnes, R., Cooper, A., Kolkman, O., Thaler, D., and E.
Nordmark, "Technical Considerations for Internet Service
Blocking and Filtering", RFC 7754, DOI 10.17487/RFC7754,
March 2016, <https://www.rfc-editor.org/info/rfc7754>.
[RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D.,
and P. Hoffman, "Specification for DNS over Transport
Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858,
May 2016, <https://www.rfc-editor.org/info/rfc7858>.
[RFC8164] Nottingham, M. and M. Thomson, "Opportunistic Security for
HTTP/2", RFC 8164, DOI 10.17487/RFC8164, May 2017,
<https://www.rfc-editor.org/info/rfc8164>.
[RFC8179] Bradner, S. and J. Contreras, "Intellectual Property
Rights in IETF Technology", BCP 79, RFC 8179,
DOI 10.17487/RFC8179, May 2017,
<https://www.rfc-editor.org/info/rfc8179>.
[RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", STD 86, RFC 8200,
DOI 10.17487/RFC8200, July 2017,
<https://www.rfc-editor.org/info/rfc8200>.
[Rideout] Rideout, A., "Making security easier", July 2008,
<http://gmailblog.blogspot.de/2008/07/
making-security-easier.html>.
[Ritchie] Ritchie, J. and J. Lewis, "Qualitative Research Practice:
A Guide for Social Science Students and Researchers", SAGE
Publishing, London, 2003, <http://www.amazon.co.uk/
Qualitative-Research-Practice-Students-Researchers/
dp/0761971106>.
[RSF] Reporters Without Borders (RSF), "Syria using 34 Blue Coat
servers to spy on Internet users", January 2016,
<https://rsf.org/en/news/
syria-using-34-blue-coat-servers-spy-internet-users>.
[Saltzer] Saltzer, J., Reed, D., and D. Clark, "End-to-End Arguments
in System Design", ACM Transactions on Computer Systems
(TOCS), Volume 2, Number 4, pp. 277-288,
DOI 10.1145/357401.357402, November 1984.
[Sandvine] Sandvine, "Sandvine: Over 70% Of North American Traffic Is
Now Streaming Video And Audio", December 2015,
<https://www.sandvine.com/pr/2015/12/7/sandvine-over-70-
of-north-american-traffic-is-now-streaming-video-and-
audio.html>.
[Schillace] Schillace, S., "Default https access for Gmail",
January 2010, <http://gmailblog.blogspot.de/2010/01/
default-https-access-for-gmail.html>.
[Schneier] Schneier, B., "Attacking Tor: how the NSA targets users'
online anonymity", October 2013,
<http://www.theguardian.com/world/2013/oct/04/
tor-attacks-nsa-users-online-anonymity>.
[SPIEGEL] SPIEGEL, "Prying Eyes - Inside the NSA's War on Internet
Security", December 2014,
<http://www.spiegel.de/international/germany/
inside-the-nsa-s-war-on-internet-security-a-1010361.html>.
[sslstrip] Marlinspike, M., "Software >> sslstrip", 2011,
<https://moxie.org/software/sslstrip/>.
[techyum] Violet, "Official - vb.ly Link Shortener Seized by Libyan
Government", October 2010, <http://techyum.com/2010/10/
official-vb-ly-link-shortener-seized-by-libyan-
government/>.
[TorProject]
The Tor Project, "Anonymity Online", 2006,
<https://www.torproject.org/>.
[torrentfreak1]
Van der Sar, E., "Is Your ISP Messing With BitTorrent
Traffic? Find Out", January 2014,
<https://torrentfreak.com/is-your-isp-messing-with-
bittorrent-traffic-find-out-140123/>.
[torrentfreak2]
Andy, "Lawyers Sent 109,000 Piracy Threats in Germany
During 2013", March 2014, <https://torrentfreak.com/
lawyers-sent-109000-piracy-threats-in-germany-during-
2013-140304/>.
[Tribler] Delft University of Technology, Department EWI/PDS/
Tribler, "About Tribler", 2013,
<https://www.tribler.org/about.html>.
[UDHR] United Nations General Assembly, "The Universal
Declaration of Human Rights", 1948, <http://www.un.org/en/
universal-declaration-human-rights/index.html>.
[UNGA2013] United Nations General Assembly, "UN General Assembly
Resolution "The right to privacy in the digital age"
(A/C.3/68/L.45)", 2013,
<https://documents-dds-ny.un.org/doc/UNDOC/LTD/N13/
576/77/PDF/N1357677.pdf?OpenElement>.
[UNHRC2016]
United Nations Human Rights Council, "The promotion,
protection and enjoyment of human rights on the Internet",
Resolution A/HRC/32/L.20, 2016,
<http://ap.ohchr.org/documents/alldocs.aspx?doc_id=20340>.
[Ververis] Ververis, V., Kargiotakis, G., Filasto, A., Fabian, B.,
and A. Alexandros, "Understanding Internet Censorship
Policy: The Case of Greece", 5th USENIX Workshop on Free
and Open Communications on the Internet (FOCI) '15,
August 2015, <https://www.usenix.org/system/files/
conference/foci15/foci15-paper-ververis-update.pdf>.
[W3CAccessibility]
World Wide Web Consortium, "Accessibility", 2016,
<https://www.w3.org/standards/webdesign/accessibility>.
[W3Ci18nDef]
Ishida, R. and S. Miller, "Localization vs.
Internationalization", World Wide Web Consortium,
April 2015, <http://www.w3.org/International/
questions/qa-i18n.en>.
[wikileaks]
Sladek, T. and E. Broese, "Market Survey: Detection &
Filtering Solutions to Identify File Transfer of Copyright
Protected Content for Warner Bros. and movielabs", 2011,
<https://wikileaks.org/sony/docs/05/docs/Anti-Piracy/CDSA/
EANTC-Survey-1.5-unsecured.pdf>.
[WP-Tempora]
Wikipedia, "Tempora", September 2017,
<https://en.wikipedia.org/wiki/Tempora>.
[WSJ] Sonne, P. and M. Coker, "Firms Aided Libyan Spies", The
Wall Street Journal, August 2011,
<http://www.wsj.com/articles/
SB10001424053111904199404576538721260166388>.
[WynsbergheMoura]
Nguyen, B., Ed., van Wynsberghe, A., van Wynsberghe, A.,
and G. Moreira Moura, "The concept of embedded values and
the example of internet security", June 2013,
<http://doc.utwente.nl/87095/>.
[XMPP-Manifesto]
Saint-Andre, P. and XMPP Operators, "A Public Statement
Regarding Ubiquitous Encryption on the XMPP Network",
March 2014, <https://raw.githubusercontent.com/
stpeter/manifesto/master/manifesto.txt>.
[Zittrain] Zittrain, J., "The Future of the Internet - And How to
Stop It", Yale University Press & Penguin UK, 2008,
<https://dash.harvard.edu/bitstream/handle/1/4455262/
Zittrain_Future%20of%20the%20Internet.pdf?sequence=1>.
And that's the last reference, bestie! ๐ Zittrain's book is the final stop on the reading list. ๐ง
Acknowledgements ๐
A huge special thanks to everyone in the HRPC Research Group who helped with this document! ๐ These people deserve a special shoutout:
- Joana Varon ๐ธ helped draft the first iteration of the methodology and previous drafts, directed the film "Net of Rights," and worked on the interviews at IETF 92 in Dallas.
- Daniel Kahn Gillmor (dkg) ๐ helped with the first iteration of the glossary (Section 2) and gave a lot of technical guidance, support, and language suggestions.
- Claudio Guarnieri ๐ฆ wrote the first iterations of the case studies on VPNs, HTTP, and P2P.
- Will Scott ๐ wrote the first iterations of the case studies on DNS, IP, and XMPP.
- Avri Doria ๐ proposed writing a glossary in the first place, helped with the initial proposals and Internet-Drafts, did reviews, and contributed to the glossary.
Thanks also to Stephane Bortzmeyer, John Curran, Barry Shein, Joe Hall, Joss Wright, Harry Halpin, and Tim Sammut, who made a lot of excellent suggestions, many of which went straight into the text. โจ We want to thank Amelia Andersdotter, Stephen Farrell, Stephane Bortzmeyer, Shane Kerr, Giovane Moura, James Gannon, Alissa Cooper, Andrew Sullivan, S. Moonesamy, Roland Bless, and Scott Craig for their reviews and for testing the HRPC guidelines in the wild. ๐ซถ We would also like to thank Molly Sauter, Arturo Filasto, Nathalie Marechal, Eleanor Saitta, Richard Hill, and everyone else who gave input on this document or on the conceptualization of the idea. Thanks to Edward Snowden for his comments at IETF 93 in Prague regarding the impact of protocols on the rights of users. ๐
Authors' Addresses ๐
Here's who wrote it, and how to reach them! ๐ฆ
Niels ten Oever
ARTICLE 19
Email: mail@nielstenoever.net
Corinne Cath
Oxford Internet Institute
Email: corinnecath@gmail.com
๐ฆ where this page comes from
- ietf: rfc8280 2017-10
- ๐ girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms