draft-arkko-farrell-arch-model-t-02.txt | draft-arkko-farrell-arch-model-t.txt | |||
---|---|---|---|---|
Network Working Group J. Arkko | Network Working Group J. Arkko | |||
Internet-Draft Ericsson | Internet-Draft Ericsson | |||
Intended status: Informational S. Farrell | Intended status: Informational S. Farrell | |||
Expires: 9 August 2020 Trinity College Dublin | Expires: September 10, 2020 Trinity College Dublin | |||
6 February 2020 | March 09, 2020 | |||
Challenges and Changes in the Internet Threat Model | Challenges and Changes in the Internet Threat Model | |||
draft-arkko-farrell-arch-model-t-02 | draft-arkko-farrell-arch-model-t-03 | |||
Abstract | Abstract | |||
Communications security has been at the center of many security | Communications security has been at the center of many security | |||
improvements in the Internet. The goal has been to ensure that | improvements in the Internet. The goal has been to ensure that | |||
communications are protected against outside observers and attackers. | communications are protected against outside observers and attackers. | |||
This memo suggests that the existing RFC 3552 threat model, while | This memo suggests that the existing RFC 3552 threat model, while | |||
important and still valid, is no longer alone sufficient to cater for | important and still valid, is no longer alone sufficient to cater for | |||
the pressing security and privacy issues seen on the Internet today. | the pressing security and privacy issues seen on the Internet today. | |||
skipping to change at line 45 | skipping to change at page 1, line 46 | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on 9 August 2020. | This Internet-Draft will expire on September 10, 2020. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (http://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
extracted from this document must include Simplified BSD License text | to this document. Code Components extracted from this document must | |||
as described in Section 4.e of the Trust Legal Provisions and are | include Simplified BSD License text as described in Section 4.e of | |||
provided without warranty as described in the Simplified BSD License. | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | ||||
Table of Contents | Table of Contents | |||
1. Introduction | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2. Observations | 2. Observations . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.1. Communications Security Improvements | 2.1. Communications Security Improvements . . . . . . . . . . 5 | |||
2.2. Beyond Communications Security | 2.2. Beyond Communications Security . . . . . . . . . . . . . 6 | |||
2.3. Examples | 2.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
2.3.1. Deliberate adversarial behaviour in | 2.3.1. Deliberate adversarial behaviour in applications . . 9 | |||
applications | 2.3.2. Inadvertent adversarial behaviours . . . . . . . . . 15 | |||
2.3.2. Inadvertent adversarial behaviours | 3. Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
3. Analysis | 3.1. The Role of End-to-end . . . . . . . . . . . . . . . . . 16 | |||
3.1. The Role of End-to-end | 3.2. Trusted networks . . . . . . . . . . . . . . . . . . . . 18 | |||
3.2. Trusted networks | 3.2.1. Even closed networks can have compromised nodes . . . 19 | |||
3.2.1. Even closed networks can have compromised | 3.3. Balancing Threats . . . . . . . . . . . . . . . . . . . . 20 | |||
nodes | 4. Areas requiring more study . . . . . . . . . . . . . . . . . 21 | |||
3.3. Balancing Threats | 5. Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
4. Areas requiring more study | 6. Potential changes in BCP 72/RFC 3552 . . . . . . . . . . . . 27 | |||
5. Guidelines | 6.1. Simple change . . . . . . . . . . . . . . . . . . . . . . 28 | |||
6. Potential changes in BCP 72/RFC 3552 | 6.2. Additional discussion of compromises . . . . . . . . . . 29 | |||
7. Potential Changes in BCP 188/RFC 7258 | 6.3. Guidance with regards to communications security . . . . 29 | |||
8. Conclusions | 6.3.1. Limiting time scope of compromise . . . . . . . . . . 29 | |||
9. Informative References | 6.3.2. Forcing active attack . . . . . . . . . . . . . . . . 30 | |||
Appendix A. Acknowledgements | 6.3.3. Traffic analysis . . . . . . . . . . . . . . . . . . 31 | |||
Authors' Addresses | 6.3.4. Containing compromise of trust points . . . . . . . . 31 | |||
7. Potential Changes in BCP 188/RFC 7258 . . . . . . . . . . . . 32 | ||||
8. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 32 | ||||
9. Informative References . . . . . . . . . . . . . . . . . . . 33 | ||||
Appendix A. Contributors . . . . . . . . . . . . . . . . . . . . 42 | ||||
Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 42 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 43 | ||||
1. Introduction | 1. Introduction | |||
Communications security has been at the center of many security | Communications security has been at the center of many security | |||
improvements in the Internet. The goal has been to ensure that | improvements in the Internet. The goal has been to ensure that | |||
communications are protected against outside observers and attackers. | communications are protected against outside observers and attackers. | |||
At the IETF, this approach has been formalized in BCP 72 [RFC3552], | At the IETF, this approach has been formalized in BCP 72 [RFC3552], | |||
which defined the Internet threat model in 2003. | which defined the Internet threat model in 2003. | |||
The purpose of a threat model is to outline what threats exist in | The purpose of a threat model is to outline what threats exist in | |||
skipping to change at line 116 | skipping to change at page 3, line 35 | |||
By contrast, we assume that the attacker has nearly complete | By contrast, we assume that the attacker has nearly complete | |||
control of the communications channel over which the end-systems | control of the communications channel over which the end-systems | |||
communicate. This means that the attacker can read any PDU | communicate. This means that the attacker can read any PDU | |||
(Protocol Data Unit) on the network and undetectably remove, | (Protocol Data Unit) on the network and undetectably remove, | |||
change, or inject forged packets onto the wire. | change, or inject forged packets onto the wire. | |||
However, the communications-security -only threat model is becoming | However, the communications-security -only threat model is becoming | |||
outdated. Some of the causes for this are: | outdated. Some of the causes for this are: | |||
* Success! Advances in protecting most of our communications with | o Success! Advances in protecting most of our communications with | |||
strong cryptographic means. This has resulted in much improved | strong cryptographic means. This has resulted in much improved | |||
communications security, but also highlights the need for | communications security, but also highlights the need for | |||
addressing other, remaining issues. This is not to say that | addressing other, remaining issues. This is not to say that | |||
communications security is not important, it still is: | communications security is not important, it still is: | |||
improvements are still needed. Not all communications have been | improvements are still needed. Not all communications have been | |||
protected, and even out of the already protected communications, | protected, and even out of the already protected communications, | |||
not all of their aspects have been fully protected. Fortunately, | not all of their aspects have been fully protected. Fortunately, | |||
there are ongoing projects working on improvements. | there are ongoing projects working on improvements. | |||
* Adversaries have increased their pressure against other avenues of | o Adversaries have increased their pressure against other avenues of | |||
attack, from supply-channel attacks, to compromising devices to | attack, from supply-channel attacks, to compromising devices to | |||
legal coercion of centralized endpoints in conversations. | legal coercion of centralized endpoints in conversations. | |||
* New adversaries and risks have arisen, e.g., due to creation of | o New adversaries and risks have arisen, e.g., due to creation of | |||
large centralized information sources. | large centralized information sources. | |||
* While communications-security does seem to be required to protect | o While communications-security does seem to be required to protect | |||
privacy, more is needed, especially if endpoints choose to act | privacy, more is needed, especially if endpoints choose to act | |||
against the interests of their peers or users. | against the interests of their peers or users. | |||
In short, attacks are migrating towards the currently easier targets, | In short, attacks are migrating towards the currently easier targets, | |||
which no longer necessarily include direct attacks on traffic flows. | which no longer necessarily include direct attacks on traffic flows. | |||
In addition, trading information about users and ability to influence | In addition, trading information about users and ability to influence | |||
them has become a common practice for many Internet services, often | them has become a common practice for many Internet services, often | |||
without users understanding those practices. | without users understanding those practices. | |||
This memo suggests that the existing threat model, while important | This memo suggests that the existing threat model, while important | |||
skipping to change at line 182 | skipping to change at page 5, line 6 | |||
design and architecture affect security. The sole consideration of | design and architecture affect security. The sole consideration of | |||
communications security aspects in designing Internet protocols may | communications security aspects in designing Internet protocols may | |||
lead to accidental or increased impact of security issues elsewhere. | lead to accidental or increased impact of security issues elsewhere. | |||
For instance, allowing a participant to unnecessarily collect or | For instance, allowing a participant to unnecessarily collect or | |||
receive information may lead to a similar effect as described in | receive information may lead to a similar effect as described in | |||
[RFC8546] for protocols: over time, unnecessary information will get | [RFC8546] for protocols: over time, unnecessary information will get | |||
used with all the associated downsides, regardless of what deployment | used with all the associated downsides, regardless of what deployment | |||
expectations there were during protocol design. | expectations there were during protocol design. | |||
This memo does not stand alone. To begin with, it is a merge of | This memo does not stand alone. To begin with, it is a merge of | |||
earlier work by the two authors [I-D.farrell-etm] [I-D.arkko-arch- | earlier work by the two authors [I-D.farrell-etm] | |||
internet-threat-model]. There are also other documents discussing | [I-D.arkko-arch-internet-threat-model]. There are also other | |||
this overall space, e.g. [I-D.lazanski-smart-users-internet] [I- | documents discussing this overall space, e.g. | |||
D.arkko-arch-dedr-report]. | [I-D.lazanski-smart-users-internet] [I-D.arkko-arch-dedr-report]. | |||
The authors of this memo envisage independent development of each of | The authors of this memo envisage independent development of each of | |||
those (and other work) with an eventual goal to extract an updated | those (and other work) with an eventual goal to extract an updated | |||
(but usefully brief!) description of an extended threat model from | (but usefully brief!) description of an extended threat model from | |||
the collection of works. We consider it an open question whether | the collection of works. We consider it an open question whether | |||
this memo, or any of the others, would be usefully published as an | this memo, or any of the others, would be usefully published as an | |||
RFC. | RFC. | |||
The rest of this memo is organized as follows. Section 2 makes some | The rest of this memo is organized as follows. Section 2 makes some | |||
observations about the situation, with respect to communications | observations about the situation, with respect to communications | |||
skipping to change at line 226 | skipping to change at page 5, line 50 | |||
2. Observations | 2. Observations | |||
2.1. Communications Security Improvements | 2.1. Communications Security Improvements | |||
Being able to ask about threat model improvements is due to progress | Being able to ask about threat model improvements is due to progress | |||
already made: The fraction of Internet traffic that is | already made: The fraction of Internet traffic that is | |||
cryptographically protected has grown tremendously in the last few | cryptographically protected has grown tremendously in the last few | |||
years. Several factors have contributed to this change, from Snowden | years. Several factors have contributed to this change, from Snowden | |||
revelations to business reasons and to better available technology | revelations to business reasons and to better available technology | |||
such as HTTP/2 [RFC7540], TLS 1.3 [RFC8446], QUIC [I-D.ietf-quic- | such as HTTP/2 [RFC7540], TLS 1.3 [RFC8446], QUIC | |||
transport]. | [I-D.ietf-quic-transport]. | |||
In many networks, the majority of traffic has flipped from being | In many networks, the majority of traffic has flipped from being | |||
cleartext to being encrypted. Reaching the level of (almost) all | cleartext to being encrypted. Reaching the level of (almost) all | |||
traffic being encrypted is no longer something unthinkable but rather | traffic being encrypted is no longer something unthinkable but rather | |||
a likely outcome in a few years. | a likely outcome in a few years. | |||
At the same time, technology developments and policy choices have | At the same time, technology developments and policy choices have | |||
driven the scope of cryptographic protection from protecting only the | driven the scope of cryptographic protection from protecting only the | |||
pure payload to protecting much of the rest as well, including far | pure payload to protecting much of the rest as well, including far | |||
more header and meta-data information than was protected before. For | more header and meta-data information than was protected before. For | |||
instance, efforts are ongoing in the IETF to assist encrypting | instance, efforts are ongoing in the IETF to assist encrypting | |||
transport headers [I-D.ietf-quic-transport], server domain name | transport headers [I-D.ietf-quic-transport], server domain name | |||
information in TLS [I-D.ietf-tls-esni], and domain name queries | information in TLS [I-D.ietf-tls-esni], and domain name queries | |||
[RFC8484]. | [RFC8484]. | |||
There have also been improvements to ensure that the security | There have also been improvements to ensure that the security | |||
protocols that are in use actually have suitable credentials and that | protocols that are in use actually have suitable credentials and that | |||
those credentials have not been compromised, see, for instance, Let's | those credentials have not been compromised, see, for instance, Let's | |||
Encrypt [RFC8555], HSTS [RFC6797], HPKP [RFC7469], and Expect-CT [I- | Encrypt [RFC8555], HSTS [RFC6797], HPKP [RFC7469], and Expect-CT | |||
D.ietf-httpbis-expect-ct]. | [I-D.ietf-httpbis-expect-ct]. | |||
This is not to say that all problems in communications security have | This is not to say that all problems in communications security have | |||
been resolved - far from it. But the situation is definitely | been resolved - far from it. But the situation is definitely | |||
different from what it was a few years ago. Remaining issues will be | different from what it was a few years ago. Remaining issues will be | |||
and are worked on; the fight between defense and attack will also | and are worked on; the fight between defense and attack will also | |||
continue. Communications security will stay at the top of the agenda | continue. Communications security will stay at the top of the agenda | |||
in any Internet technology development. | in any Internet technology development. | |||
2.2. Beyond Communications Security | 2.2. Beyond Communications Security | |||
There are, however, significant issues beyond communications security | There are, however, significant issues beyond communications security | |||
in the Internet. To begin with, it is not necessarily clear that one | in the Internet. To begin with, it is not necessarily clear that one | |||
can trust all the endpoints in any protocol interaction. | can trust all the endpoints in any protocol interaction. | |||
Of course, client endpoint implemententations were never fully | Of course, client endpoint implementations were never fully trusted, | |||
trusted, but the environments in which those endpoints exist are | but the environments in which those endpoints exist are changing. | |||
changing. For instance, users may have as much control over their | For instance, users may not have as much control over their own | |||
own devices as they used to, due to manufacturer-controlled operating | devices as they used to, due to manufacturer-controlled operating | |||
system installations and locked device ecosystems. And within those | system installations and locked device ecosystems. And within those | |||
ecosystems, even the applications that are available tend to have | ecosystems, even the applications that are available tend to have | |||
privileges that users by themselves might not desire those | privileges that users by themselves might not desire those | |||
applications be granted, such as excessive rights to media, location, | applications be granted, such as excessive rights to media, location, | |||
and peripherals. There are also designated efforts by various | and peripherals. There are also designated efforts by various | |||
authorities to hack end-user devices as a means of intercepting data | authorities to hack end-user devices as a means of intercepting data | |||
about the user. | about the user. | |||
The situation is different, but not necessarily better on the side of | The situation is different, but not necessarily better on the side of | |||
servers. The pattern of communications in today's Internet is almost | servers. The pattern of communications in today's Internet is almost | |||
always via a third party that has at least as much information as the | always via a third party that has at least as much information as the | |||
other parties have. For instance, these third parties are typically | other parties have. For instance, these third parties are typically | |||
endpoints for any transport layer security connections, and able to | endpoints for any transport layer security connections, and able to | |||
see much communications or other messaging in cleartext. There are | see much communications or other messaging in cleartext. There are | |||
some exceptions, of course, e.g., messaging applications with end-to- | some exceptions, of course, e.g., messaging applications with end-to- | |||
end confidentiatlity protection. | end confidentiality protection. | |||
With the growth of trading users' information by many of these third | With the growth of trading users' information by many of these third | |||
parties, it becomes necessary to take precautions against endpoints | parties, it becomes necessary to take precautions against endpoints | |||
that are compromised, malicious, or whose interests simply do not | that are compromised, malicious, or whose interests simply do not | |||
align with the interests of the users. | align with the interests of the users. | |||
Specifically, the following issues need attention: | Specifically, the following issues need attention: | |||
* Security of users' devices and the ability of the user to control | o Security of users' devices and the ability of the user to control | |||
their own equipment. | their own equipment. | |||
* Leaks and attacks related to data at rest. | o Leaks and attacks related to data at rest. | |||
* Coercion of some endpoints to reveal information to authorities or | o Coercion of some endpoints to reveal information to authorities or | |||
surveillance organizations, sometimes even in an extra-territorial | surveillance organizations, sometimes even in an extra-territorial | |||
fashion. | fashion. | |||
* Application design patterns that result in cleartext information | o Application design patterns that result in cleartext information | |||
passing through a third party or the application owner. | passing through a third party or the application owner. | |||
* Involvement of entities that have no direct need for involvement | o Involvement of entities that have no direct need for involvement | |||
for the sake of providing the service that the user is after. | for the sake of providing the service that the user is after. | |||
* Network and application architectures that result in a lot of | o Network and application architectures that result in a lot of | |||
information collected in a (logically) central location. | information collected in a (logically) central location. | |||
* Leverage and control points outside the hands of the users or end- | o Leverage and control points outside the hands of the users or end- | |||
user device owners. | user device owners. | |||
For instance, while e-mail transport security [RFC7817] has become | For instance, while e-mail transport security [RFC7817] has become | |||
much more widely deployed in recent years, progress in securing | much more widely deployed in recent years, progress in securing | |||
e-mail messages between users has been much slower. This has lead to | e-mail messages between users has been much slower. This has lead to | |||
a situation where e-mail content is considered a critical resource by | a situation where e-mail content is considered a critical resource by | |||
some mail service providers who use the content for machine learning, | some mail service providers who use the content for machine learning, | |||
advertisement targeting, and other purposes unrelated to message | advertisement targeting, and other purposes unrelated to message | |||
delivery. Equally however, it is unclear how some useful anti-spam | delivery. Equally however, it is unclear how some useful anti-spam | |||
techniques could be deployed in an end-to-end encrypted mail universe | techniques could be deployed in an end-to-end encrypted mail universe | |||
(with today's end-to-end mail sercurity protocols) and there are many | (with today's end-to-end mail security protocols) and there are many | |||
significant challenges should one desire to deploy end-to-end email | significant challenges should one desire to deploy end-to-end email | |||
security at scale. | security at scale. | |||
The Domain Name System (DNS) shows signs of ageing but due to the | The Domain Name System (DNS) shows signs of ageing but due to the | |||
legacy of deployed systems has changed very slowly. Newer technology | legacy of deployed systems has changed very slowly. Newer technology | |||
[RFC8484] developed at the IETF enables DNS queries to be performed | [RFC8484] developed at the IETF enables DNS queries to be performed | |||
with confidentiality and authentication (of a recursive resolver), | with confidentiality and authentication (of a recursive resolver), | |||
but its initial deployment is happening mostly in browsers that use | but its initial deployment is happening mostly in browsers that use | |||
global DNS resolver services, such as Cloudflare's 1.1.1.1 or | global DNS resolver services, such as Cloudflare's 1.1.1.1 or | |||
Google's 8.8.8.8. This results in faster evolution and better | Google's 8.8.8.8. This results in faster evolution and better | |||
skipping to change at line 349 | skipping to change at page 8, line 28 | |||
are very well maintained (and a great service), they are potential | are very well maintained (and a great service), they are potential | |||
high-value targets for pervasive monitoring and Denial-of-Service | high-value targets for pervasive monitoring and Denial-of-Service | |||
(DoS) attacks. In 2016, for example, DoS attacks were launched | (DoS) attacks. In 2016, for example, DoS attacks were launched | |||
against Dyn, [DynDDoS] then one of the largest DNS providers, leading | against Dyn, [DynDDoS] then one of the largest DNS providers, leading | |||
to some outages. It is difficult to imagine that DNS resolvers | to some outages. It is difficult to imagine that DNS resolvers | |||
wouldn't be a target in many future attacks or pervasive monitoring | wouldn't be a target in many future attacks or pervasive monitoring | |||
projects. | projects. | |||
Unfortunately, there is little that even large service providers can | Unfortunately, there is little that even large service providers can | |||
do to not be a DDoS target, (though anycast and other DDoS | do to not be a DDoS target, (though anycast and other DDoS | |||
mitigations can certainly help when one is targetted), nor to refuse | mitigations can certainly help when one is targeted), nor to refuse | |||
authority-sanctioned pervasive monitoring. As a result it seems that | authority-sanctioned pervasive monitoring. As a result it seems that | |||
a reasonable defense strategy may be to aim for outcomes where such | a reasonable defense strategy may be to aim for outcomes where such | |||
highly centralised control points are unecessary or don't handle | highly centralised control points are unnecessary or don't handle | |||
sensitive data. (Recalling that with the DNS, meta-data about the | sensitive data. (Recalling that with the DNS, meta-data about the | |||
requestor and the act of requesting an answer are what is potentially | requestor and the act of requesting an answer are what is potentially | |||
sensitive, rather than the content of the answer.) | sensitive, rather than the content of the answer.) | |||
There are other examples of the perils of centralised solutions in | There are other examples of the perils of centralised solutions in | |||
Internet infrastructure. The DNS example involves an interesting | Internet infrastructure. The DNS example involves an interesting | |||
combination of information flows (who is asking for what domain | combination of information flows (who is asking for what domain | |||
names) as well as a potential ability to exert control (what domains | names) as well as a potential ability to exert control (what domains | |||
will actually resolve to an address). Routing systems are primarily | will actually resolve to an address). Routing systems are primarily | |||
about control. While there are intra-domain centralized routing | about control. While there are intra-domain centralized routing | |||
skipping to change at line 413 | skipping to change at page 9, line 44 | |||
network operators who do act primarily in the best interests of their | network operators who do act primarily in the best interests of their | |||
users. | users. | |||
2.3.1.1. Malware in curated application stores | 2.3.1.1. Malware in curated application stores | |||
Despite the best efforts of curators, so-called App-Stores frequently | Despite the best efforts of curators, so-called App-Stores frequently | |||
distribute malware of many kinds and one recent study [Curated] | distribute malware of many kinds and one recent study [Curated] | |||
claims that simple obfuscation enables malware to avoid detection by | claims that simple obfuscation enables malware to avoid detection by | |||
even sophisticated operators. Given the scale of these deployments, | even sophisticated operators. Given the scale of these deployments, | |||
distribution of even a small percentage of malware-infected | distribution of even a small percentage of malware-infected | |||
applictions can affect a huge number of people. | applications can affect a huge number of people. | |||
2.3.1.2. Virtual private networks (VPNs) | 2.3.1.2. Virtual private networks (VPNs) | |||
Virtual private networks (VPNs) are supposed to hide user traffic to | Virtual private networks (VPNs) are supposed to hide user traffic to | |||
various degrees depending on the particular technology chosen by the | various degrees depending on the particular technology chosen by the | |||
VPN provider. However, not all VPNs do what they say, some for | VPN provider. However, not all VPNs do what they say, some for | |||
example misrepresenting the countries in which they provide vantage | example misrepresenting the countries in which they provide vantage | |||
points [Vpns]. | points [Vpns]. | |||
2.3.1.3. Compromised (home) networks | 2.3.1.3. Compromised (home) networks | |||
What we normally might consider network devices such as home routers | What we normally might consider network devices such as home routers | |||
do also run applications that can end up being adversarial, for | do also run applications that can end up being adversarial, for | |||
example running DNS and DHCP attacks from home routers targeting | example running DNS and DHCP attacks from home routers targeting | |||
other devices in the home. One study [Home] reports on a 2011 attack | other devices in the home. One study [Home] reports on a 2011 attack | |||
that affected 4.5 million DSL modems in Brazil. The absence of | that affected 4.5 million DSL modems in Brazil. The absence of | |||
software update [RFC8240] has been a major cause of these issues and | software update [RFC8240] has been a major cause of these issues and | |||
rises to the level that considering this as intentional behaviour by | rises to the level that considering this as intentional behaviour by | |||
device vendors who have chosen this path is warranted. | device vendors who have chosen this path is warranted. | |||
2.3.1.4. Web browsers | 2.3.1.4. Web tracking | |||
Tracking of users in order to support advertising based business | One of the biggest threats to user privacy on the Web is ubiquitous | |||
models is ubiquitous on the Internet today. HTTP header fields (such | tracking. This is often done to support advertising based business | |||
as cookies) are commonly used for such tracking, as are structures | models. | |||
within the content of HTTP responses such as links to 1x1 pixel | ||||
images and (ab)use of Javascript APIs offered by browsers [Tracking]. | ||||
While some people may be sanguine about this kind of tracking, others | While some people may be sanguine about this kind of tracking, others | |||
consider this behaviour unwelcome, when or if they are informed that | consider this behaviour unwelcome, when or if they are informed that | |||
it happens, [Attitude] though the evidence here seems somewhat harder | it happens, [Attitude] though the evidence here seems somewhat harder | |||
to interpret and many studies (that we have found to date) involve | to interpret and many studies (that we have found to date) involve | |||
small numbers of users. Historically, browsers have not made this | small numbers of users. Historically, browsers have not made this | |||
kind of tracking visible and have enabled it by default, though some | kind of tracking visible and have enabled it by default, though some | |||
recent browser versions are starting to enable visibility and | recent browser versions are starting to enable visibility and | |||
blocking of some kinds of tracking. Browsers are also increasingly | blocking of some kinds of tracking. Browsers are also increasingly | |||
imposing more stringent requirements on plug-ins for varied security | imposing more stringent requirements on plug-ins for varied security | |||
reasons. | reasons. | |||
Third party tracking | ||||
One form of tracking is by third parties. HTTP header fields (such | ||||
as cookies, [RFC6265]) are commonly used for such tracking, as are | ||||
structures within the content of HTTP responses such as links to 1x1 | ||||
pixel images and (ab)use of Javascript APIs offered by browsers | ||||
[Tracking]. | ||||
Whenever a resource is loaded from a server, that server can include | ||||
a cookie which will be sent back to the server on future loads. This | ||||
includes situations where the resource is loaded as a resource on a | ||||
page, such as an image or a JavaScript module. When loading a | ||||
resource, the server is aware of the top-level page that the resource | ||||
is used on, through the use of the Referer HTTP header [RFC7231]. | ||||
those loads include a Referer header which contains the top-level | ||||
page from which that subresource is being loaded. | ||||
The combination of these features makes it possible to track a user | ||||
across the Web. The tracker convinces a number of content sites | ||||
("first parties") to include a resource from the tracker site. This | ||||
resource can perform some function such as displaying an | ||||
advertisement or providing analytics to the first party site. But | ||||
the resource may also be simply a tracker. When the user visits one | ||||
of the content sites, the tracker receives both a Referer header and | ||||
the cookie. For an individual user with a particular browser, the | ||||
cookie is the same regardless of which site the tracker is on. This | ||||
allows the tracker to observe what pages within the set of content | ||||
sites the user visits. The resulting information is commonly used | ||||
for targeting advertisements, but it can also be used for other | ||||
purposes. | ||||
This capability itself constitutes a major threat to user privacy. | ||||
Additional techniques such as cookie syncing, identifier correlation, | ||||
and fingerprinting make the problem even worse. | ||||
As a given tracker will not be on all sites, that tracker has | ||||
incomplete coverage. However, trackers often collude (a practice | ||||
called "cookie syncing") to combine the information from different | ||||
tracking cookies. | ||||
Sometimes trackers will be embedded on a site which collects a user | ||||
identifier, such as social media identity or an e-mail address. If | ||||
the site can inform the tracker of the identifier, that allows the | ||||
tracker to tie the identifier to the cookie. | ||||
While a browser may block cookies, fingerprinting browsers often | ||||
allows tracking the users. For instance, features such as User-Agent | ||||
string, plugin and font support, screen resolution, and timezone can | ||||
yield a fingerprint that is sometimes unique to a single user | ||||
[AmIUnique] and which persists beyond cookie scope and lifetime. | ||||
Even in cases where this fingerprint is not unique, the anonymity set | ||||
may be sufficiently small that, coupled with other data, this yields | ||||
a unique, per-user identifier. Fingerprinting of this type is more | ||||
prevalent on systems and platforms where data-set features are | ||||
flexible, such as desktops, where plugins are more commonly in use. | ||||
Fingerprinting prevention is an active research area; see [Boix2018] | ||||
for more information. | ||||
Other types of tracking linked to web tracking | ||||
Third party web tracking is not the only concern. An obvious | ||||
tracking danger exists also in popular ecosystems - such as social | ||||
media networks - that house a large part of many users' online | ||||
existence. There is no need for a third party to track the user's | ||||
browsing as all actions are performed within a single site, where | ||||
most messaging, viewing, and sharing activities happen. | ||||
Browsers themselves or services used by the browser can also become a | ||||
potential source of tracking users. For instance, the URL/search bar | ||||
service may leak information about the user's actions to a search | ||||
provider via an "autocomplete" feature. [Leith2020] | ||||
Tracking through users' IP addresses or DNS queries is also a danger. | ||||
This may happen by directly observing the cleartext IP or DNS | ||||
traffic, though DNS tracking may be preventable via DNS protocols | ||||
that are secured end-to-end. But the DNS queries are also (by | ||||
definition) seen by the used DNS recursive resolver service, which | ||||
may accidentally or otherwise track the users' activities. This is | ||||
particularly problematic if a large number of users employ either a | ||||
commonly used ISP service or an Internet-based resolver service | ||||
[I-D.arkko-arch-infrastructure-centralisation]. In contrast, use of | ||||
a DNS recursive that sees little traffic could equally be used for | ||||
tracking. Similarly, other applications, such an mail or instant | ||||
messaging protocols, that can carry HTML content can be integrated | ||||
with web tracking. (See Section 2.3.1.6.) | ||||
2.3.1.5. Web site policy deception | 2.3.1.5. Web site policy deception | |||
Many web sites today provide some form of privacy policy and terms of | Many web sites today provide some form of privacy policy and terms of | |||
service, that are known to be mostly unread [Unread]. This implies | service, that are known to be mostly unread [Unread]. This implies | |||
that, legal fiction aside, users of those sites have not in reality | that, legal fiction aside, users of those sites have not in reality | |||
agreed to the specific terms published and so users are therefore | agreed to the specific terms published and so users are therefore | |||
highly exposed to being exploited by web sites, for example | highly exposed to being exploited by web sites, for example | |||
[Cambridge] is a recent well-publicised case where a service provider | [Cambridge] is a recent well-publicised case where a service provider | |||
abused the data of 87 million users via a partnership. While many | abused the data of 87 million users via a partnership. While many | |||
web site operators claim that they care deeply about privacy, it | web site operators claim that they care deeply about privacy, it | |||
skipping to change at line 525 | skipping to change at page 13, line 50 | |||
of Things" as all devices were already things:-) have been found | of Things" as all devices were already things:-) have been found | |||
deficient when their security and privacy aspects were analysed, for | deficient when their security and privacy aspects were analysed, for | |||
example children's toys [Toys]. While in some cases this may be due | example children's toys [Toys]. While in some cases this may be due | |||
to incompetence rather than being deliberately adversarial behaviour, | to incompetence rather than being deliberately adversarial behaviour, | |||
the levels of incompetence frequently seen imply these aspects have | the levels of incompetence frequently seen imply these aspects have | |||
simply not been considered a priority. | simply not been considered a priority. | |||
2.3.1.10. Attacks leveraging compromised high-level DNS infrastructure | 2.3.1.10. Attacks leveraging compromised high-level DNS infrastructure | |||
Recent attacks [DeepDive] against DNS infrastructure enable | Recent attacks [DeepDive] against DNS infrastructure enable | |||
subsequent targetted attacks on specific application layer sources or | subsequent targeted attacks on specific application layer sources or | |||
destinations. The general method appears to be to attack DNS | destinations. The general method appears to be to attack DNS | |||
infrastructure, in these cases infrastructure that is towards the top | infrastructure, in these cases infrastructure that is towards the top | |||
of the DNS naming hierarchy and "far" from the presumed targets, in | of the DNS naming hierarchy and "far" from the presumed targets, in | |||
order to be able to fake DNS responses to a PKI, thereby acquiring | order to be able to fake DNS responses to a PKI, thereby acquiring | |||
TLS server certificates so as to subsequently attack TLS connections | TLS server certificates so as to subsequently attack TLS connections | |||
from clients to services (with clients directed to an attacker-owned | from clients to services (with clients directed to an attacker-owned | |||
server via additional fake DNS responses). | server via additional fake DNS responses). | |||
Attackers in these cases seem well resourced and patient - with | Attackers in these cases seem well resourced and patient - with | |||
"practice" runs over months and with attack durations being | "practice" runs over months and with attack durations being | |||
skipping to change at line 583 | skipping to change at page 15, line 13 | |||
currently most important security protocol (TLS). | currently most important security protocol (TLS). | |||
2.3.1.11. BGP hijacking | 2.3.1.11. BGP hijacking | |||
There is a clear history of BGP hijacking [BgpHijack] being used to | There is a clear history of BGP hijacking [BgpHijack] being used to | |||
ensure endpoints connect to adversarial applications. As in the | ensure endpoints connect to adversarial applications. As in the | |||
previous example, such hijacks can be used to trick a PKI into | previous example, such hijacks can be used to trick a PKI into | |||
issuing a certificate for a fake entity. Indeed one study | issuing a certificate for a fake entity. Indeed one study | |||
[HijackDet] used the emergence of new web server TLS key pairs during | [HijackDet] used the emergence of new web server TLS key pairs during | |||
the event, (detected via Internet-wide scans), as a distinguisher | the event, (detected via Internet-wide scans), as a distinguisher | |||
between one form of deliberate BGP hijacking and indadvertent route | between one form of deliberate BGP hijacking and inadvertent route | |||
leaks. | leaks. | |||
2.3.1.12. Anti-virus vendor selling user clickstream data | 2.3.1.12. Anti-virus vendor selling user clickstream data | |||
An anti-virus product vendor was feeding user clickstream data to a | An anti-virus product vendor was feeding user clickstream data to a | |||
subsidiary that then sold on supposedly "anonymised" but highly | subsidiary that then sold on supposedly "anonymised" but highly | |||
detailed data to unrelated parties. [avleak] After browser makers | detailed data to unrelated parties. [avleak] After browser makers | |||
had removed that vendor's browser extension from their online stores, | had removed that vendor's browser extension from their online stores, | |||
the anti-virus product itself apparently took over data collection | the anti-virus product itself apparently took over data collection | |||
initially only offering users an opt-out, with the result that | initially only offering users an opt-out, with the result that | |||
skipping to change at line 608 | skipping to change at page 15, line 38 | |||
2.3.2. Inadvertent adversarial behaviours | 2.3.2. Inadvertent adversarial behaviours | |||
Not all adversarial behaviour by applications is deliberate, some is | Not all adversarial behaviour by applications is deliberate, some is | |||
likely due to various levels of carelessness (some quite | likely due to various levels of carelessness (some quite | |||
understandable, others not) and/or due to erroneous assumptions about | understandable, others not) and/or due to erroneous assumptions about | |||
the environments in which those applications (now) run. | the environments in which those applications (now) run. | |||
We very briefly list some such cases: | We very briefly list some such cases: | |||
* Application abuse for command and control, for example, use of IRC | o Application abuse for command and control, for example, use of IRC | |||
or apache logs for [CommandAndControl] | or apache logs for [CommandAndControl] | |||
* Carelessly leaky data stores [LeakyBuckets], for example, lots of | o Carelessly leaky data stores [LeakyBuckets], for example, lots of | |||
Amazon S3 leaks showing that careless admins can too easily cause | Amazon S3 leaks showing that careless admins can too easily cause | |||
application server data to become available to adversaries | application server data to become available to adversaries | |||
* Virtualisation exposing secrets, for example, Meltdown and Spectre | o Virtualisation exposing secrets, for example, Meltdown and Spectre | |||
[MeltdownAndSpectre] [Kocher2019] [Lipp2018] and other similar | [MeltdownAndSpectre] [Kocher2019] [Lipp2018] and other similar | |||
side-channel attacks. | side-channel attacks. | |||
* Compromised badly-maintained web sites, that for example, have led | o Compromised badly-maintained web sites, that for example, have led | |||
to massive online [Passwords]. | to massive online [Passwords]. | |||
* Supply-chain attacks, for example, the [TargetAttack] or malware | o Supply-chain attacks, for example, the [TargetAttack] or malware | |||
within pre-installed applications on Android phones [Bloatware]. | within pre-installed applications on Android phones [Bloatware]. | |||
* Breaches of major service providers, that many of us might have | o Breaches of major service providers, that many of us might have | |||
assumed would be sufficiently capable to be the best large-scale | assumed would be sufficiently capable to be the best large-scale | |||
"Identity providers", for example: | "Identity providers", for example: | |||
- 3 billion accounts: https://www.wired.com/story/yahoo-breach- | * 3 billion accounts: https://www.wired.com/story/yahoo-breach- | |||
three-billion-accounts/ | three-billion-accounts/ | |||
- "up to 600M" account passwords stored in clear: | * "up to 600M" account passwords stored in clear: | |||
https://www.pcmag.com/news/367319/facebook-stored-up-to-600m- | https://www.pcmag.com/news/367319/facebook-stored-up-to-600m- | |||
user-passwords-in-plain-text | user-passwords-in-plain-text | |||
- many millions at risk: https://www.zdnet.com/article/us-telcos- | * many millions at risk: https://www.zdnet.com/article/us-telcos- | |||
caught-selling-your-location-data-again-senator-demands-new- | caught-selling-your-location-data-again-senator-demands-new- | |||
laws/ | laws/ | |||
- 50 million accounts: https://www.cnet.com/news/facebook-breach- | * 50 million accounts: https://www.cnet.com/news/facebook-breach- | |||
affected-50-million-people/ | affected-50-million-people/ | |||
- 14 million accounts: https://www.zdnet.com/article/millions- | * 14 million accounts: https://www.zdnet.com/article/millions- | |||
verizon-customer-records-israeli-data/ | verizon-customer-records-israeli-data/ | |||
- "hundreds of thousands" of accounts: | * "hundreds of thousands" of accounts: | |||
https://www.wsj.com/articles/google-exposed-user-data-feared- | https://www.wsj.com/articles/google-exposed-user-data-feared- | |||
repercussions-of-disclosing-to-public-1539017194 | repercussions-of-disclosing-to-public-1539017194 | |||
- unknown numbers, some email content exposed: | * unknown numbers, some email content exposed: | |||
https://motherboard.vice.com/en_us/article/ywyz3x/hackers- | https://motherboard.vice.com/en_us/article/ywyz3x/hackers- | |||
could-read-your-hotmail-msn-outlook-microsoft-customer-support | could-read-your-hotmail-msn-outlook-microsoft-customer-support | |||
* Breaches of smaller service providers: Too many to enumerate, | o Breaches of smaller service providers: Too many to enumerate, | |||
sadly | sadly | |||
3. Analysis | 3. Analysis | |||
3.1. The Role of End-to-end | 3.1. The Role of End-to-end | |||
[RFC1958] notes that "end-to-end functions can best be realised by | [RFC1958] notes that "end-to-end functions can best be realised by | |||
end-to-end protocols": | end-to-end protocols": | |||
The basic argument is that, as a first principle, certain required | The basic argument is that, as a first principle, certain required | |||
skipping to change at line 842 | skipping to change at page 20, line 33 | |||
proprietary programs, firmware, or even innocent-looking components | proprietary programs, firmware, or even innocent-looking components | |||
on a circuit board can be suspect. In addition, complex underlying | on a circuit board can be suspect. In addition, complex underlying | |||
computing platforms, such as modern CPUs with underlying security and | computing platforms, such as modern CPUs with underlying security and | |||
management tools are prone to problems. | management tools are prone to problems. | |||
In general, this means that one cannot entirely trust even a closed | In general, this means that one cannot entirely trust even a closed | |||
system where you picked all the components yourself. Analysis for | system where you picked all the components yourself. Analysis for | |||
the security of many interesting real-world systems now commonly | the security of many interesting real-world systems now commonly | |||
needs to include cross-component attacks, e.g., the use of car radios | needs to include cross-component attacks, e.g., the use of car radios | |||
and other externally communicating devices as part of attacks | and other externally communicating devices as part of attacks | |||
launched against the control components such as breaks in a car | launched against the control components such as brakes in a car | |||
[Savage]. | [Savage]. | |||
3.3. Balancing Threats | 3.3. Balancing Threats | |||
Note that not all information needs to be protected, and not all | Note that not all information needs to be protected, and not all | |||
threats can be protected against. But it is important that the main | threats can be protected against. But it is important that the main | |||
threats are understood and protected against. | threats are understood and protected against. | |||
Sometimes there are higher-level mechanisms that provide safeguards | Sometimes there are higher-level mechanisms that provide safeguards | |||
for failures. For instance, it is very difficult in general to | for failures. For instance, it is very difficult in general to | |||
skipping to change at line 869 | skipping to change at page 21, line 11 | |||
much value to an attacker. For instance, it does not always make | much value to an attacker. For instance, it does not always make | |||
sense to encrypt every packet transmission in a packet-carrying | sense to encrypt every packet transmission in a packet-carrying | |||
system where the traffic is already encrypted at other layers. But | system where the traffic is already encrypted at other layers. But | |||
it almost always makes sense to protect control communications and to | it almost always makes sense to protect control communications and to | |||
understand the impacts of compromised nodes, particularly control | understand the impacts of compromised nodes, particularly control | |||
nodes. | nodes. | |||
4. Areas requiring more study | 4. Areas requiring more study | |||
In addition to the guidelines in (Section 5), we suggest there may be | In addition to the guidelines in (Section 5), we suggest there may be | |||
value in further study on the topics balow, with the goal of | value in further study on the topics below, with the goal of | |||
producing more concrete guidelines. | producing more concrete guidelines. | |||
1. Isolation: Sophisticated users can sometimes deal with | 1. Isolation: Sophisticated users can sometimes deal with | |||
adversarial behaviours in applications by using different | adversarial behaviours in applications by using different | |||
instances of those applications, for example, differently | instances of those applications, for example, differently | |||
configured web browsers for use in different contexts. | configured web browsers for use in different contexts. | |||
Applications (including web browsers) and operating systems are | Applications (including web browsers) and operating systems are | |||
also building in isolation via use of different processes or | also building in isolation via use of different processes or | |||
sandboxing. Protocol artefacts that relate to uses of such | sandboxing. Protocol artefacts that relate to uses of such | |||
isolation mechanisms might be worth considering. To an extent, | isolation mechanisms might be worth considering. To an extent, | |||
the IETF has in practice already recognised some of these issues | the IETF has in practice already recognised some of these issues | |||
as being in-scope, e.g. when considering the linkability issues | as being in-scope, e.g. when considering the linkability issues | |||
with mechanisms such as TLS session tickets, or QUIC connection | with mechanisms such as TLS session tickets, or QUIC connection | |||
identifiers. | identifiers. | |||
2. Transparency: Certificate transparency (CT) [RFC6962] has been | 2. Controlling Tracking: Web browsers have a central role in terms | |||
of the deployment of anti-tracking technologies. A number of | ||||
browsers have started adding these technologies [Mozilla2019] | ||||
but this is a rapidly moving field, so is difficult to fully | ||||
characterize in this memo. The mechanisms used can be as simple | ||||
as blocking communication with known trackers, or more complex, | ||||
such identifying trackers and suppressing their ability to store | ||||
and access cookies and other state. Browsers may also treat | ||||
each third party load on different first party sites as a | ||||
different context, thereby isolating cookies and other state, | ||||
such as TLS layer information (this technique is called "Double | ||||
Keying" [DoubleKey]). The further development of browser-based | ||||
anti-tracking technology is important, but it is also important | ||||
to ensure that browsers themselves do not themselves enable new | ||||
data collection points, e.g., via search, DNS, or other | ||||
functions. | ||||
3. Transparency: Certificate transparency (CT) [RFC6962] has been | ||||
an effective countermeasure for X.509 certificate mis-issuance, | an effective countermeasure for X.509 certificate mis-issuance, | |||
which used be a known application layer misbehaviour in the | which used be a known application layer misbehaviour in the | |||
public web PKI. CT can also help with post-facto detection of | public web PKI. CT can also help with post-facto detection of | |||
some infrastructure attacks where BGP or DNS weakenesses have | some infrastructure attacks where BGP or DNS weaknesses have | |||
been leveraged so that some certification authority is tricked | been leveraged so that some certification authority is tricked | |||
into issuing a certificate for the wrong entity. While the | into issuing a certificate for the wrong entity. While the | |||
context in which CT operates is very constrained (essentially to | context in which CT operates is very constrained (essentially to | |||
the public CAs trusted by web browsers), similar approaches | the public CAs trusted by web browsers), similar approaches | |||
could perhaps be useful for other protocols or technologies. In | could perhaps be useful for other protocols or technologies. In | |||
addition, legislative requirements such as those imposed by the | addition, legislative requirements such as those imposed by the | |||
GDPR [GDPRAccess] could lead to a desire to handle internal data | GDPR [GDPRAccess] could lead to a desire to handle internal data | |||
structures and databases in ways that are reminiscent of CT, | structures and databases in ways that are reminiscent of CT, | |||
though clearly with significant authorisation being required and | though clearly with significant authorisation being required and | |||
without the append-only nature of a CT log. | without the append-only nature of a CT log. | |||
3. Same-Origin Policy: The Same-Origin Policy (SOP) [RFC6454] | 4. Same-Origin Policy: The Same-Origin Policy (SOP) [RFC6454] | |||
perhaps already provides an example of how going beyond the RFC | perhaps already provides an example of how going beyond the RFC | |||
3552 threat model can be useful. Arguably, the existence of the | 3552 threat model can be useful. Arguably, the existence of the | |||
SOP demonstrates that at least web browsers already consider the | SOP demonstrates that at least web browsers already consider the | |||
3552 model as being too limited. (Clearly, differentiating | 3552 model as being too limited. (Clearly, differentiating | |||
between same and not-same origins implicitly assumes that some | between same and not-same origins implicitly assumes that some | |||
origins are not as trustworthy as others.) | origins are not as trustworthy as others.) | |||
4. Greasing: The TLS protocol [RFC8446] now supports the use of | 5. Greasing: The TLS protocol [RFC8446] now supports the use of | |||
GREASE [I-D.ietf-tls-grease] as a way to mitigate on-path | GREASE [I-D.ietf-tls-grease] as a way to mitigate on-path | |||
ossification. While this technique is not likely to prevent any | ossification. While this technique is not likely to prevent any | |||
deliberate misbehaviours, it may provide a proof-of-concept that | deliberate misbehaviours, it may provide a proof-of-concept that | |||
network protocol mechanisms can have impact in this space, if we | network protocol mechanisms can have impact in this space, if we | |||
spend the time to try analyse the incentives of the various | spend the time to try analyse the incentives of the various | |||
parties. | parties. | |||
5. Generalise OAuth Threat Model: The OAuth threat model [RFC6819] | 6. Generalise OAuth Threat Model: The OAuth threat model [RFC6819] | |||
provides an extensive list of threats and security | provides an extensive list of threats and security | |||
considerations for those implementing and deploying OAuth | considerations for those implementing and deploying OAuth | |||
version 2.0 [RFC6749]. It could be useful to attempt to derive | version 2.0 [RFC6749]. It could be useful to attempt to derive | |||
a more abstract threat model from that RFC that considers | a more abstract threat model from that RFC that considers | |||
threats in more generic multi-party contexts. That document is | threats in more generic multi-party contexts. That document is | |||
perhaps too detailed to serve as useful generic guidance but | perhaps too detailed to serve as useful generic guidance but | |||
does go beyond the Internet threat model from RFC3552, for | does go beyond the Internet threat model from RFC3552, for | |||
example it says: | example it says: | |||
two of the three parties involved in the OAuth protocol may | two of the three parties involved in the OAuth protocol may | |||
collude to mount an attack against the 3rd party. For | collude to mount an attack against the 3rd party. For | |||
example, the client and authorization server may be under | example, the client and authorization server may be under | |||
control of an attacker and collude to trick a user to gain | control of an attacker and collude to trick a user to gain | |||
access to resources. | access to resources. | |||
6. Look again at how well we're securing infrastructure: Some | 7. Look again at how well we're securing infrastructure: Some | |||
attacks (e.g. against DNS or routing infrastructure) appear to | attacks (e.g. against DNS or routing infrastructure) appear to | |||
benefit from current infrastructure mechanisms not being | benefit from current infrastructure mechanisms not being | |||
deployed, e.g. DNSSEC, RPKI. In the case of DNSSEC, deployment | deployed, e.g. DNSSEC, RPKI. In the case of DNSSEC, deployment | |||
is still minimal despite much time having elapsed. This | is still minimal despite much time having elapsed. This | |||
suggests a number of different possible avenues for | suggests a number of different possible avenues for | |||
investigation: | investigation: | |||
* For any protocol dependent on infrastructure like DNS or BGP, | * For any protocol dependent on infrastructure like DNS or BGP, | |||
we ought analysse potential outcomes in the event the | we ought analyse potential outcomes in the event the relevant | |||
relevant infrastructure has been compromised | infrastructure has been compromised | |||
* Protocol designers perhaps ought consider post-facto | * Protocol designers perhaps ought consider post-facto | |||
detection compromise mechanisms in the event that it is | detection compromise mechanisms in the event that it is | |||
infeasible to mitigate attacks on infrastructure that is not | infeasible to mitigate attacks on infrastructure that is not | |||
under local control | under local control | |||
* Despite the sunk costs, it may be worth re-considering | * Despite the sunk costs, it may be worth re-considering | |||
infrastructure security mechanisms that have not been | infrastructure security mechanisms that have not been | |||
deployed, and hence are ineffective. | deployed, and hence are ineffective. | |||
7. Trusted Computing: Various trusted computing mechanisms allow | 8. Trusted Computing: Various trusted computing mechanisms allow | |||
placing some additional trust on a particular endpoint. This | placing some additional trust on a particular endpoint. This | |||
can be useful to address some of the issues in this memo: | can be useful to address some of the issues in this memo: | |||
* A network manager of a set of devices may be assured that the | * A network manager of a set of devices may be assured that the | |||
devices have not been compromised. | devices have not been compromised. | |||
* An outside party may be assured that someone who runs a | * An outside party may be assured that someone who runs a | |||
device employs a particular software installation in that | device employs a particular software installation in that | |||
device, and that the software runs in a protected | device, and that the software runs in a protected | |||
environment. | environment. | |||
IETF work such as TEEP [I-D.ietf-teep-architecture] [I-D.ietf- | IETF work such as TEEP [I-D.ietf-teep-architecture] | |||
teep-protocol] and RATS [I-D.ietf-rats-eat] may be helpful in | [I-D.ietf-teep-protocol] and RATS [I-D.ietf-rats-eat] may be | |||
providing attestations to other nodes about a particular | helpful in providing attestations to other nodes about a | |||
endpoint, or lifecycle management of such endpoints. | particular endpoint, or lifecycle management of such endpoints. | |||
One should note, however, that it is often not possible to fully | One should note, however, that it is often not possible to fully | |||
protect endpoints (see, e.g., [Kocher2019] [Lipp2018] [I- | protect endpoints (see, e.g., [Kocher2019] [Lipp2018] | |||
D.taddei-smart-cless-introduction] [I-D.mcfadden-smart-endpoint- | [I-D.taddei-smart-cless-introduction] | |||
taxonomy-for-cless]). And of course, a trusted computing may be | [I-D.mcfadden-smart-endpoint-taxonomy-for-cless]). And of | |||
set up and controlled by a party that itself is not trusted; a | course, a trusted computing may be set up and controlled by a | |||
client that contacts a server that the server's owner runs in a | party that itself is not trusted; a client that contacts a | |||
trusted computing setting does not change the fact that the | server that the server's owner runs in a trusted computing | |||
client and the server's owner may have different interests. As | setting does not change the fact that the client and the | |||
a result, there is a need to prepare for the possibility that | server's owner may have different interests. As a result, there | |||
another party in a communication is not entirely trusted. | is a need to prepare for the possibility that another party in a | |||
communication is not entirely trusted. | ||||
8. Trust Boundaries: Traditional forms of communication equipment | 9. Trust Boundaries: Traditional forms of communication equipment | |||
have morphed into today's virtualized environments, where new | have morphed into today's virtualized environments, where new | |||
trust boundaries exist, e.g., between different virtualisation | trust boundaries exist, e.g., between different virtualisation | |||
layers. And an application might consider itself trusted while | layers. And an application might consider itself trusted while | |||
not entirely trusting the underlying operating system. A | not entirely trusting the underlying operating system. A | |||
browser application wants to protect itself against Javascript | browser application wants to protect itself against Javascript | |||
loaded from a website, while the website considers itself and | loaded from a website, while the website considers itself and | |||
the Javascript an application that it wants to protect from the | the Javascript an application that it wants to protect from the | |||
browser. In general, there are multiple parties even in a | browser. In general, there are multiple parties even in a | |||
single device, with differing interests, including some that | single device, with differing interests, including some that | |||
have (or claim to) the interest of the human user in mind. | have (or claim to) the interest of the human user in mind. | |||
9. Develop a BCP for privacy considerations: It may be time for the | 10. Develop a BCP for privacy considerations: It may be time for the | |||
IETF to develop a BCP for privacy considerations, possibly | IETF to develop a BCP for privacy considerations, possibly | |||
starting from [RFC6973]. | starting from [RFC6973]. | |||
10. Re-consider protocol design "lore": It could be that this | 11. Re-consider protocol design "lore": It could be that this | |||
discussion demonstrates that it is timely to reconsider some | discussion demonstrates that it is timely to reconsider some | |||
protocol design "lore" as for example is done in [I-D.iab- | protocol design "lore" as for example is done in | |||
protocol-maintenance]. More specifically, protocol | [I-D.iab-protocol-maintenance]. More specifically, protocol | |||
extensibility mechanisms may inadvertently create vectors for | extensibility mechanisms may inadvertently create vectors for | |||
abuse-cases, given that designers cannot fully analyse their | abuse-cases, given that designers cannot fully analyse their | |||
impact at the time a new protocol is defined or standardised. | impact at the time a new protocol is defined or standardised. | |||
One might conclude that a lack of extensibility could be a | One might conclude that a lack of extensibility could be a | |||
virtue for some new protocols, in contrast to earlier | virtue for some new protocols, in contrast to earlier | |||
assumptions. As pointed out by one commenter though, people can | assumptions. As pointed out by one commenter though, people can | |||
find ways to extend things regardless, if they feel the need. | find ways to extend things regardless, if they feel the need. | |||
11. Consider the user perspective: [I-D.nottingham-for-the-users] | 12. Consider the user perspective: [I-D.nottingham-for-the-users] | |||
argues that, in relevant cases where there are conflicting | argues that, in relevant cases where there are conflicting | |||
requirements, the "IETF considers end users as its highest | requirements, the "IETF considers end users as its highest | |||
priority concern." Doing so seems consistent with the expanded | priority concern." Doing so seems consistent with the expanded | |||
threat model being argued for here, so may indicate that a BCP | threat model being argued for here, so may indicate that a BCP | |||
in that space could also be useful. | in that space could also be useful. | |||
12. Have explicit agreements: When users and their devices provide | 13. Have explicit agreements: When users and their devices provide | |||
information to network entities, it would be beneficial to have | information to network entities, it would be beneficial to have | |||
an opportunity for the users to state their requirements | an opportunity for the users to state their requirements | |||
regarding the use of the information provided in this way. | regarding the use of the information provided in this way. | |||
While the actual use of such requirements and the willingness of | While the actual use of such requirements and the willingness of | |||
network entities to agree to them remains to be seen, at the | network entities to agree to them remains to be seen, at the | |||
moment even the technical means of doing this are limited. For | moment even the technical means of doing this are limited. For | |||
instance, it would be beneficial to be able to embed usage | instance, it would be beneficial to be able to embed usage | |||
requirements within popular data formats. | requirements within popular data formats. | |||
As appropriate, users should be made aware of the choices made | As appropriate, users should be made aware of the choices made | |||
in a particular design, and avoid designs or products that | in a particular design, and avoid designs or products that | |||
protect against some threats but are wide open to other serious | protect against some threats but are wide open to other serious | |||
issues. (SF doesn't know what that last bit means;-) | issues. (SF doesn't know what that last bit means;-) | |||
13. Perform end-to-end protection via other parties: Information | 14. Perform end-to-end protection via other parties: Information | |||
passed via another party who does not intrinsically need the | passed via another party who does not intrinsically need the | |||
information to perform its function should be protected end-to- | information to perform its function should be protected end-to- | |||
end to its intended recipient. This guideline is general, and | end to its intended recipient. This guideline is general, and | |||
holds equally for sending TCP/IP packets, TLS connections, or | holds equally for sending TCP/IP packets, TLS connections, or | |||
application-layer interactions. As [RFC8546] notes, it is a | application-layer interactions. As [RFC8546] notes, it is a | |||
useful design rule to avoid "accidental invariance" (the | useful design rule to avoid "accidental invariance" (the | |||
deployment of on-path devices that over-time start to make | deployment of on-path devices that over-time start to make | |||
assumptions about protocols). However, it is also a necessary | assumptions about protocols). However, it is also a necessary | |||
security design rule to avoid "accidental disclosure" where | security design rule to avoid "accidental disclosure" where | |||
information originally thought to be benign and untapped over- | information originally thought to be benign and untapped over- | |||
skipping to change at line 1121 | skipping to change at page 26, line 41 | |||
leakage. Designers should balance the benefits of centralized | leakage. Designers should balance the benefits of centralized | |||
resources or control points against the threats arising. If it | resources or control points against the threats arising. If it | |||
is not possible to avoid, find a way to allow the centralized | is not possible to avoid, find a way to allow the centralized | |||
resources to be selectable, depending on context and user | resources to be selectable, depending on context and user | |||
settings. | settings. | |||
7. Treat parties with which your protocol endpoints interact with | 7. Treat parties with which your protocol endpoints interact with | |||
suspicion, even if the communications are encrypted. Other | suspicion, even if the communications are encrypted. Other | |||
endpoints may misuse any information or control opportunity in | endpoints may misuse any information or control opportunity in | |||
the communication. Similarly, even endpoints within your own | the communication. Similarly, even endpoints within your own | |||
system need to be treated with suspicision, as some may become | system need to be treated with suspicion, as some may become | |||
compromised. | compromised. | |||
8. Consider abuse-cases. Protocol developers are typically most | 8. Consider abuse-cases. Protocol developers are typically most | |||
interested in a few specific use-cases for which they need | interested in a few specific use-cases for which they need | |||
solutions. Expanding the threat model to consider adversarial | solutions. Expanding the threat model to consider adversarial | |||
behaviours [AbuseCases] calls for significant attention to be | behaviours [AbuseCases] calls for significant attention to be | |||
paid to potential abuses of whatever new or re-purposed | paid to potential abuses of whatever new or re-purposed | |||
technology is being considered. | technology is being considered. | |||
9. Consider recovery from compromse or attack during protocol | 9. Consider recovery from compromse or attack during protocol | |||
skipping to change at line 1147 | skipping to change at page 27, line 21 | |||
compromise security" as an inherent part of the design of that | compromise security" as an inherent part of the design of that | |||
protocol. | protocol. | |||
10. Consider linkability. As discussed in [RFC6973] the ability to | 10. Consider linkability. As discussed in [RFC6973] the ability to | |||
link or correlate different protocol messages with one another, | link or correlate different protocol messages with one another, | |||
or with external sources of information (e.g. public or private | or with external sources of information (e.g. public or private | |||
databases) can create privacy or security issues. As an | databases) can create privacy or security issues. As an | |||
example, re-use of TLS session tickets can enable an observer to | example, re-use of TLS session tickets can enable an observer to | |||
associate multiple TLS sessions regardless of changes in source | associate multiple TLS sessions regardless of changes in source | |||
or destination addressing, which may reduce privacy or help a | or destination addressing, which may reduce privacy or help a | |||
bad actor in targetting an attack. The same effects may result | bad actor in targeting an attack. The same effects may result | |||
regardless of how protocol exchanges can be linked to one | regardless of how protocol exchanges can be linked to one | |||
another. Protocol designs that aim to prevent such linkage may | another. Protocol designs that aim to prevent such linkage may | |||
produce have fewer unexpected or unwanted side-effects when | produce have fewer unexpected or unwanted side-effects when | |||
deployed. | deployed. | |||
But when applying these guidelines, don't take this as blanket reason | But when applying these guidelines, don't take this as blanket reason | |||
to provide no information to anyone, or (impractically) insist on | to provide no information to anyone, or (impractically) insist on | |||
encrypting everything, or other extreme measures. Designers need to | encrypting everything, or other extreme measures. Designers need to | |||
be aware of the different threats facing their system, and deal with | be aware of the different threats facing their system, and deal with | |||
the most serious ones (of which there are typically many) within | the most serious ones (of which there are typically many) within | |||
their applicable resource constraints. | their applicable resource constraints. | |||
6. Potential changes in BCP 72/RFC 3552 | 6. Potential changes in BCP 72/RFC 3552 | |||
BCP 72/RFC 3553 [RFC3552] defines an "Internet Threat Model" and | BCP 72/RFC 3553 [RFC3552] defines an "Internet Threat Model" and | |||
provides guidance on writing Security Considerations sections in | provides guidance on writing Security Considerations sections in | |||
other RFCs. It is important to note that BCP 72 is (or should be:-) | other RFCs. | |||
used by all IETF participants when developing protocols. Potential | ||||
changes to RFC 3552 therefore need to be brief - IETF participants | ||||
cannot in general be expected to devote huge amounts of time to | ||||
developing their security considerations text. Potential changes | ||||
also need to be easily understood as IETF participants from all | ||||
backgrounds need to be able to use BCP 72. In this section we | ||||
provide a couple of initial suggested changes to BCP 72 that will | ||||
need to be further developed as part of this work. (For example, it | ||||
may be possible to include some of the guidelines from Section 5 as | ||||
those are further developed.) | ||||
As evidenced in the OAuth quote in Section 4 - it can be useful to | [RFC3552] also provided a description of classic issues for the | |||
conside the effect of compromised endpoints on those that are not | development of communications security protocols. However, in the | |||
compromised. It may therefore be interesting to consider the | nearly 20 years since the publication of RFC 3552, the practice of | |||
consequeneces that would follow from a change to [RFC3552] that | protocol design has moved on to a fair extent. | |||
recognises how the landscape has changed since 2003. | ||||
It is important to note that BCP 72 is (or should be:-) used by all | ||||
IETF participants when developing protocols. Potential changes to | ||||
RFC 3552 therefore need to be brief - IETF participants cannot in | ||||
general be expected to devote huge amounts of time to developing | ||||
their security considerations text. Potential changes also need to | ||||
be easily understood as IETF participants from all backgrounds need | ||||
to be able to use BCP 72. | ||||
In this section we provide a few initial suggested changes to BCP 72 | ||||
that will need to be further developed as part of this work. (For | ||||
example, it may be possible to include some of the guidelines from | ||||
Section 5 as those are further developed.) | ||||
There are a range of possible updates. We could propose adding a | ||||
simple observation (Section 6.1), or additionally propose further | ||||
discussion about endpoint compromises and the need for system-level | ||||
security analysis (Section 6.2). | ||||
Another possibility would be to add more guidance covering areas of | ||||
concern, and recommendations of broadly-applicable techniques to use. | ||||
One suggestion (due to others) for such material is provided in | ||||
Section 6.3. | ||||
The authors of this memo believe that any updates to RFC 3552 should | ||||
be relatively high-level and short. Additional documents may be | ||||
needed to provide further detail. | ||||
6.1. Simple change | ||||
This is the simple addition we are suggesting. As evidenced in the | ||||
OAuth quote in Section 4 - it can be useful to consider the effect of | ||||
compromised endpoints on those that are not compromised. It may | ||||
therefore be interesting to consider the consequences that would | ||||
follow from a change to [RFC3552] that recognises how the landscape | ||||
has changed since 2003. | ||||
One initial, draft proposal for such a change could be: | One initial, draft proposal for such a change could be: | |||
OLD: | OLD: | |||
In general, we assume that the end-systems engaging in a protocol | In general, we assume that the end-systems engaging in a protocol | |||
exchange have not themselves been compromised. Protecting against | exchange have not themselves been compromised. Protecting against | |||
an attack when one of the end-systems has been compromised is | an attack when one of the end-systems has been compromised is | |||
extraordinarily difficult. It is, however, possible to design | extraordinarily difficult. It is, however, possible to design | |||
protocols which minimize the extent of the damage done under these | protocols which minimize the extent of the damage done under these | |||
skipping to change at line 1203 | skipping to change at page 29, line 5 | |||
NEW: | NEW: | |||
In general, we assume that the end-system engaging in a protocol | In general, we assume that the end-system engaging in a protocol | |||
exchange has not itself been compromised. Protecting against an | exchange has not itself been compromised. Protecting against an | |||
attack of a protocol implementation itself is extraordinarily | attack of a protocol implementation itself is extraordinarily | |||
difficult. It is, however, possible to design protocols which | difficult. It is, however, possible to design protocols which | |||
minimize the extent of the damage done when the other parties in a | minimize the extent of the damage done when the other parties in a | |||
protocol become compromised or do not act in the best interests | protocol become compromised or do not act in the best interests | |||
the end-system implementing a protocol. | the end-system implementing a protocol. | |||
In addition, the following new section could be added to discuss the | 6.2. Additional discussion of compromises | |||
capabilities required to mount an attack: | ||||
The following new section could be added to discuss the capabilities | ||||
required to mount an attack: | ||||
NEW: | NEW: | |||
3.x. Other endpoint compromise | 3.x. Other endpoint compromise | |||
In this attack, the other endpoints in the protocol become | In this attack, the other endpoints in the protocol become | |||
compromised. As a result, they can, for instance, misuse any | compromised. As a result, they can, for instance, misuse any | |||
information that the end-system implementing a protocol has sent | information that the end-system implementing a protocol has sent | |||
to the compromised endpoint. | to the compromised endpoint. | |||
skipping to change at line 1226 | skipping to change at page 29, line 30 | |||
from Internet technology developers and standards organizations. | from Internet technology developers and standards organizations. | |||
Here is one possible addition: | Here is one possible addition: | |||
NEW: | NEW: | |||
The design of any Internet technology should start from an | The design of any Internet technology should start from an | |||
understanding of the participants in a system, their roles, and | understanding of the participants in a system, their roles, and | |||
the extent to which they should have access to information and | the extent to which they should have access to information and | |||
ability to control other participants. | ability to control other participants. | |||
6.3. Guidance with regards to communications security | ||||
The following discusses some of the aspects that should be considered | ||||
when designing a communications security protocol that are not | ||||
covered in detail in RFC 3552. | ||||
6.3.1. Limiting time scope of compromise | ||||
[RFC3552] Section 3 says: | ||||
The Internet environment has a fairly well understood threat | ||||
model. In general, we assume that the end-systems engaging in a | ||||
protocol exchange have not themselves been compromised. | ||||
Protecting against an attack when one of the end-systems has been | ||||
compromised is extraordinarily difficult. It is, however, | ||||
possible to design protocols which minimize the extent of the | ||||
damage done under these circumstances. | ||||
Although this text is technically correct, modern protocol designs | ||||
such as TLS 1.3 and MLS often try to provide a fair amount of defense | ||||
against various kinds of temporary compromise. Specifically: | ||||
NEW: | ||||
Forward Security: Many protocols are designed so that compromise | ||||
of an endpoint at time T does not lead to compromise of data | ||||
transmitted prior to some time T' < T. For instance, if a | ||||
protocol is based on Diffie-Hellman key establishment, then | ||||
compromise of the long-term keys does not lead to compromise of | ||||
traffic sent prior to compromise if the DH ephemerals and traffic | ||||
keys have been deleted. | ||||
Post-Compromise Security: Conversely, if an endpoint is | ||||
compromised at time T, it is often desirable to have the protocol | ||||
"self-heal" so that a purely passive adversary cannot access | ||||
traffic after a certain time T' > T. MLS, for instance, is | ||||
designed with this property. | ||||
Containing Partial Authentication Key Compromise: If an endpoint | ||||
is stolen and its authentication secret is stolen, then an | ||||
attacker can impersonate that endpoint. However, there a number | ||||
of scenarios in which an attacker can obtain use of an | ||||
authentication key but not the secret itself (see, for instance | ||||
[Jager2015]). It is often desirable to limit the impact of such | ||||
compromises (for instance, by avoiding unlimited delegation from | ||||
such keys). | ||||
Short-lived keys: Typical TLS certificates last for months or | ||||
years. There is a trend towards shorter certificate lifetimes so | ||||
as to minimize risk of exposure in the event of key compromise. | ||||
Relatedly, delegated credentials are short-lived keys the | ||||
certificate's owner has delegated for use in TLS. These help | ||||
reduce private key lifetimes without compromising or sacrificing | ||||
reliability. | ||||
6.3.2. Forcing active attack | ||||
[RFC3552] Section 3.2 notes that it is important to consider passive | ||||
attacks. This is still valid, but needs further elaboration: | ||||
NEW: | ||||
In general, it is much harder to mount an active attack, both in | ||||
terms of the capabilities required and the chance of being | ||||
detected. A theme in recent IETF protocols design is to build | ||||
systems which might have limited defense against active attackers | ||||
but are strong against passive attackers, thus forcing the | ||||
attacker to go active. | ||||
Examples include DTLS-SRTP and the trend towards opportunistic | ||||
security. However, ideally protocols are built with strong defenses | ||||
against active attackers. One prominent example is QUIC, which takes | ||||
steps to ensure that off-path connection resets are intractable in | ||||
practice. | ||||
6.3.3. Traffic analysis | ||||
[RFC3552] Section 3.2.1 describes how the absence of TLS or other | ||||
transport-layer encryption may lead to obvious confidentiality | ||||
violations against passive attackers. This too is still valid, but | ||||
does not take into account additional aspects: | ||||
NEW: | ||||
However, recent trends in traffic analysis indicate encryption | ||||
alone may be insufficient protection for some types of application | ||||
data [I-D.wood-pearg-website-fingerprinting]. Encrypted traffic | ||||
metadata, especially message size, can leak information about the | ||||
underlying plaintext. DNS queries and responses are particularly | ||||
at risk given their size distributions. Recent protocols account | ||||
for this leakage by supporting padding. | ||||
Some examples of recent work in this area include support for padding | ||||
either generically in the transport protocol (QUIC | ||||
[I-D.ietf-quic-transport] and TLS [RFC8446]), or specifically in the | ||||
application protocol (EDNS(0) padding option for DNS messages | ||||
[RFC7830]). | ||||
6.3.4. Containing compromise of trust points | ||||
Many protocols are designed to depend on trusted third parties (the | ||||
WebPKI is perhaps the canonical example); if those trust points | ||||
misbehave, the security of the protocol can be completely | ||||
compromised. | ||||
Some additional guidance in RFC 3552 might be needed to remind | ||||
protocol readers of this. | ||||
NEW: | ||||
A number of recent protocols have attempted to reduce the power of | ||||
trust points that the protocol or application depends on. For | ||||
instance, Certificate Transparency attempts to ensure that a CA | ||||
cannot issue valid certificates without publishing them, allowing | ||||
third parties to detect certain classes of misbehavior by those | ||||
CA. Similarly, Key Transparency attempts to ensure that (public) | ||||
keys associated with a given entity are publicly visible and | ||||
auditable in tamper-proof logs. This allows users of these keys | ||||
to check them for correctness. | ||||
In the realm of software, Reproducible Builds and Binary Transparency | ||||
are intended to allow a user to determine that they have received a | ||||
valid copy of the binary that matches the auditable source code. | ||||
Blockchain protocols such as Bitcoin and Ethereum also employ this | ||||
principle of transparency and are intended to detect misbehavior by | ||||
members of the network. | ||||
7. Potential Changes in BCP 188/RFC 7258 | 7. Potential Changes in BCP 188/RFC 7258 | |||
Other additional guidelines may be necessary also in BCP 188/RFC | Other additional guidelines may be necessary also in BCP 188/RFC | |||
7258[RFC7258], which specifies how IETF work should take into account | 7258[RFC7258], which specifies how IETF work should take into account | |||
pervasive monitoring. | pervasive monitoring. | |||
An initial, draft suggestion for starting point of those changes | An initial, draft suggestion for starting point of those changes | |||
could be adding the following paragraph after the 2nd paragraph in | could be adding the following paragraph after the 2nd paragraph in | |||
Section 2: | Section 2: | |||
NEW: | NEW: | |||
PM attacks include those cases where information collected by a | PM attacks include those cases where information collected by a | |||
legitimate protocol participant is misused for PM purposes. The | legitimate protocol participant is misused for PM purposes. The | |||
attacks also include those cases where a protocol or network | attacks also include those cases where a protocol or network | |||
architecture results in centralized data storage or control | architecture results in centralized data storage or control | |||
functions relating to many users, raising the risk of said misuse. | functions relating to many users, raising the risk of said misuse. | |||
8. Conclusions | 8. Conclusions | |||
At this stage we don't think it approriate to claim that any strong | At this stage we don't think it appropriate to claim that any strong | |||
conclusion can be reached based on the above. We do however, claim | conclusion can be reached based on the above. We do however, claim | |||
that the is a topic that could be worth discussion and more work. | that the is a topic that could be worth discussion and more work. | |||
To start with, Internet technology developers need to be better aware | To start with, Internet technology developers need to be better aware | |||
of the issues beyond communications security, and consider them in | of the issues beyond communications security, and consider them in | |||
design. At the IETF it would be beneficial to include some of these | design. At the IETF it would be beneficial to include some of these | |||
considerations in the usual systematic security analysis of | considerations in the usual systematic security analysis of | |||
technologies under development. | technologies under development. | |||
In particular, when the IETF develops infrastructure technology for | In particular, when the IETF develops infrastructure technology for | |||
skipping to change at line 1298 | skipping to change at page 33, line 35 | |||
9. Informative References | 9. Informative References | |||
[AbuseCases] | [AbuseCases] | |||
McDermott, J. and C. Fox, "Using abuse case models for | McDermott, J. and C. Fox, "Using abuse case models for | |||
security requirements analysis", IEEE Annual Computer | security requirements analysis", IEEE Annual Computer | |||
Security Applications Conference (ACSAC'99), | Security Applications Conference (ACSAC'99), | |||
https://www.acsac.org/1999/papers/wed-b-1030-john.pdf , | https://www.acsac.org/1999/papers/wed-b-1030-john.pdf , | |||
1999. | 1999. | |||
[Attitude] "User Perceptions of Sharing, Advertising, and Tracking", | [AmIUnique] | |||
INRIA, ., "Am I Unique?", https://amiunique.org , 2020. | ||||
[Attitude] | ||||
"User Perceptions of Sharing, Advertising, and Tracking", | ||||
Symposium on Usable Privacy and Security (SOUPS), | Symposium on Usable Privacy and Security (SOUPS), | |||
https://www.usenix.org/conference/soups2015/proceedings/ | https://www.usenix.org/conference/soups2015/proceedings/ | |||
presentation/chanchary , 2015. | presentation/chanchary , 2015. | |||
[avleak] Cox, J., "Leaked Documents Expose the Secretive Market for | [avleak] Cox, J., "Leaked Documents Expose the Secretive Market for | |||
Your Web Browsing Data", | Your Web Browsing Data", | |||
https://www.vice.com/en_us/article/qjdkq7/ | https://www.vice.com/en_us/article/qjdkq7/ | |||
avast-antivirus-sells-user-browsing-data-investigation , | avast-antivirus-sells-user-browsing-data-investigation , | |||
February 2020. | 2020. | |||
[BgpHijack]Sermpezis, P., Kotronis, V., Dainotti, A., and X. | [BgpHijack] | |||
Sermpezis, P., Kotronis, V., Dainotti, A., and X. | ||||
Dimitropoulos, "A survey among network operators on BGP | Dimitropoulos, "A survey among network operators on BGP | |||
prefix hijacking", ACM SIGCOMM Computer Communication | prefix hijacking", ACM SIGCOMM Computer Communication | |||
Review 48, no. 1 (2018): 64-69, | Review 48, no. 1 (2018): 64-69, | |||
https://arxiv.org/pdf/1801.02918.pdf , 2018. | https://arxiv.org/pdf/1801.02918.pdf , 2018. | |||
[Bloatware]Gamba, G., Rashed, M., Razaghpanah, A., Tapiado, J., and | [Bloatware] | |||
Gamba, G., Rashed, M., Razaghpanah, A., Tapiado, J., and | ||||
N. Vallina, "An Analysis of Pre-installed Android | N. Vallina, "An Analysis of Pre-installed Android | |||
Software", arXiv preprint arXiv:1905.02713 (2019) , 2019. | Software", arXiv preprint arXiv:1905.02713 (2019) , 2019. | |||
[Cambridge]Isaak, J. and M. Hanna, "User Data Privacy: Facebook, | [Boix2018] | |||
Gomez-Boix, A., Laperdrix, P., and B. Baudry, "Hiding in | ||||
the crowd: an analysis of the effectiveness of browser | ||||
fingerprinting at large scale", Proceedings of the 2018 | ||||
world wide web conference , 2018. | ||||
[Cambridge] | ||||
Isaak, J. and M. Hanna, "User Data Privacy: Facebook, | ||||
Cambridge Analytica, and Privacy Protection", Computer | Cambridge Analytica, and Privacy Protection", Computer | |||
51.8 (2018): 56-59, https://ieeexplore.ieee.org/stamp/ | 51.8 (2018): 56-59, https://ieeexplore.ieee.org/stamp/ | |||
stamp.jsp?arnumber=8436400 , 2018. | stamp.jsp?arnumber=8436400 , 2018. | |||
[CommandAndControl] | [CommandAndControl] | |||
Botnet, ., "Creating botnet C&C server. What architecture | Botnet, ., "Creating botnet C&C server. What architecture | |||
should I use? IRC? HTTP?", Stackexchange.com question, | should I use? IRC? HTTP?", Stackexchange.com question, | |||
https://security.stackexchange.com/questions/100577/ | https://security.stackexchange.com/questions/100577/ | |||
creating-botnet-cc-server-what-architecture-should-i-use- | creating-botnet-cc-server-what-architecture-should-i-use- | |||
irc-http , 2014. | irc-http , 2014. | |||
[Curated] Hammad, M., Garcia, J., and S. MaleK, "A large-scale | [Curated] Hammad, M., Garcia, J., and S. MaleK, "A large-scale | |||
empirical study on the effects of code obfuscations on | empirical study on the effects of code obfuscations on | |||
Android apps and anti-malware products", ACM International | Android apps and anti-malware products", ACM International | |||
Conference on Software Engineering 2018, | Conference on Software Engineering 2018, | |||
https://www.ics.uci.edu/~seal/ | https://www.ics.uci.edu/~seal/ | |||
publications/2018ICSE_Hammad.pdf , 2018. | publications/2018ICSE_Hammad.pdf , 2018. | |||
[DeepDive] Krebs on Security, ., "A Deep Dive on the Recent | [DeepDive] | |||
Krebs on Security, ., "A Deep Dive on the Recent | ||||
Widespread DNS Hijacking Attacks", krebsonsecurity.com | Widespread DNS Hijacking Attacks", krebsonsecurity.com | |||
blog, https://krebsonsecurity.com/2019/02/a-deep-dive-on- | blog, https://krebsonsecurity.com/2019/02/a-deep-dive-on- | |||
the-recent-widespread-dns-hijacking-attacks/ , 2019. | the-recent-widespread-dns-hijacking-attacks/ , 2019. | |||
[DoubleKey] | ||||
Witte, D., "Thirdparty", | ||||
https://wiki.mozilla.org/Thirdparty , June 2010. | ||||
[DynDDoS] York, K., "Dyn's Statement on the 10/21/2016 DNS DDoS | [DynDDoS] York, K., "Dyn's Statement on the 10/21/2016 DNS DDoS | |||
Attack", Company statement: https://dyn.com/blog/ | Attack", Company statement: https://dyn.com/blog/ | |||
dyn-statement-on-10212016-ddos-attack/ , 2016. | dyn-statement-on-10212016-ddos-attack/ , 2016. | |||
[GDPRAccess] | [GDPRAccess] | |||
EU, ., "Right of access by the data subject", Article 15, | EU, ., "Right of access by the data subject", Article 15, | |||
GDPR, https://gdpr-info.eu/art-15-gdpr/ , February 2020. | GDPR, https://gdpr-info.eu/art-15-gdpr/ , n.d.. | |||
[HijackDet]Schlamp, J., Holz, R., Gasser, O., Korste, A., Jacquemart, | [HijackDet] | |||
Schlamp, J., Holz, R., Gasser, O., Korste, A., Jacquemart, | ||||
Q., Carle, G., and E. Biersack, "Investigating the nature | Q., Carle, G., and E. Biersack, "Investigating the nature | |||
of routing anomalies: Closing in on subprefix hijacking | of routing anomalies: Closing in on subprefix hijacking | |||
attacks", International Workshop on Traffic Monitoring and | attacks", International Workshop on Traffic Monitoring and | |||
Analysis, pp. 173-187. Springer, Cham, | Analysis, pp. 173-187. Springer, Cham, | |||
https://www.net.in.tum.de/fileadmin/bibtex/publications/ | https://www.net.in.tum.de/fileadmin/bibtex/publications/ | |||
papers/schlamp_TMA_1_2015.pdf , 2015. | papers/schlamp_TMA_1_2015.pdf , 2015. | |||
[Home] Nthala, N. and I. Flechais, "Rethinking home network | [Home] Nthala, N. and I. Flechais, "Rethinking home network | |||
security", European Workshop on Usable Security | security", European Workshop on Usable Security | |||
(EuroUSEC), https://ora.ox.ac.uk/objects/ | (EuroUSEC), https://ora.ox.ac.uk/objects/ | |||
uuid:e2460f50-579b-451b-b14e-b7be2decc3e1/download_file?sa | uuid:e2460f50-579b-451b-b14e-b7be2decc3e1/download_file?sa | |||
fe_filename=bare_conf_EuroUSEC2018.pdf&file_format=applica | fe_filename=bare_conf_EuroUSEC2018.pdf&file_format=applica | |||
tion%2Fpdf&type_of_work=Conference+item , 2018. | tion%2Fpdf&type_of_work=Conference+item , 2018. | |||
[I-D.arkko-arch-dedr-report] | [I-D.arkko-arch-dedr-report] | |||
Arkko, J. and T. Hardie, "Report from the IAB workshop on | Arkko, J. and T. Hardie, "Report from the IAB workshop on | |||
Design Expectations vs. Deployment Reality in Protocol | Design Expectations vs. Deployment Reality in Protocol | |||
Development", draft-arkko-arch-dedr-report-00 (work in | Development", draft-arkko-arch-dedr-report-00 (work in | |||
progress), 4 November 2019, | progress), November 2019. | |||
<http://www.ietf.org/internet-drafts/draft-arkko-arch- | ||||
dedr-report-00.txt>. | ||||
[I-D.arkko-arch-infrastructure-centralisation] | [I-D.arkko-arch-infrastructure-centralisation] | |||
Arkko, J., "Centralised Architectures in Internet | Arkko, J., "Centralised Architectures in Internet | |||
Infrastructure", draft-arkko-arch-infrastructure- | Infrastructure", draft-arkko-arch-infrastructure- | |||
centralisation-00 (work in progress), 4 November 2019, | centralisation-00 (work in progress), November 2019. | |||
<http://www.ietf.org/internet-drafts/draft-arkko-arch- | ||||
infrastructure-centralisation-00.txt>. | ||||
[I-D.arkko-arch-internet-threat-model] | [I-D.arkko-arch-internet-threat-model] | |||
Arkko, J., "Changes in the Internet Threat Model", draft- | Arkko, J., "Changes in the Internet Threat Model", draft- | |||
arkko-arch-internet-threat-model-01 (work in progress), 8 | arkko-arch-internet-threat-model-01 (work in progress), | |||
July 2019, | July 2019. | |||
<http://www.ietf.org/internet-drafts/draft-arkko-arch- | ||||
internet-threat-model-01.txt>. | ||||
[I-D.farrell-etm] | [I-D.farrell-etm] | |||
Farrell, S., "We're gonna need a bigger threat model", | Farrell, S., "We're gonna need a bigger threat model", | |||
draft-farrell-etm-03 (work in progress), 6 July 2019, | draft-farrell-etm-03 (work in progress), July 2019. | |||
<http://www.ietf.org/internet-drafts/draft-farrell-etm- | ||||
03.txt>. | ||||
[I-D.iab-protocol-maintenance] | [I-D.iab-protocol-maintenance] | |||
Thomson, M., "The Harmful Consequences of the Robustness | Thomson, M., "The Harmful Consequences of the Robustness | |||
Principle", draft-iab-protocol-maintenance-04 (work in | Principle", draft-iab-protocol-maintenance-04 (work in | |||
progress), 3 November 2019, | progress), November 2019. | |||
<http://www.ietf.org/internet-drafts/draft-iab-protocol- | ||||
maintenance-04.txt>. | ||||
[I-D.ietf-httpbis-expect-ct] | [I-D.ietf-httpbis-expect-ct] | |||
estark@google.com, e., "Expect-CT Extension for HTTP", | estark@google.com, e., "Expect-CT Extension for HTTP", | |||
draft-ietf-httpbis-expect-ct-08 (work in progress), 9 | draft-ietf-httpbis-expect-ct-08 (work in progress), | |||
December 2018, | December 2018. | |||
<http://www.ietf.org/internet-drafts/draft-ietf-httpbis- | ||||
expect-ct-08.txt>. | ||||
[I-D.ietf-mls-architecture] | [I-D.ietf-mls-architecture] | |||
Omara, E., Beurdouche, B., Rescorla, E., Inguva, S., Kwon, | Omara, E., Beurdouche, B., Rescorla, E., Inguva, S., Kwon, | |||
A., and A. Duric, "The Messaging Layer Security (MLS) | A., and A. Duric, "The Messaging Layer Security (MLS) | |||
Architecture", draft-ietf-mls-architecture-04 (work in | Architecture", draft-ietf-mls-architecture-04 (work in | |||
progress), 26 January 2020, | progress), January 2020. | |||
<http://www.ietf.org/internet-drafts/draft-ietf-mls- | ||||
architecture-04.txt>. | ||||
[I-D.ietf-quic-transport] | [I-D.ietf-quic-transport] | |||
Iyengar, J. and M. Thomson, "QUIC: A UDP-Based Multiplexed | Iyengar, J. and M. Thomson, "QUIC: A UDP-Based Multiplexed | |||
and Secure Transport", draft-ietf-quic-transport-25 (work | and Secure Transport", draft-ietf-quic-transport-27 (work | |||
in progress), 21 January 2020, | in progress), February 2020. | |||
<http://www.ietf.org/internet-drafts/draft-ietf-quic- | ||||
transport-25.txt>. | ||||
[I-D.ietf-rats-eat] | [I-D.ietf-rats-eat] | |||
Mandyam, G., Lundblade, L., Ballesteros, M., and J. | Mandyam, G., Lundblade, L., Ballesteros, M., and J. | |||
O'Donoghue, "The Entity Attestation Token (EAT)", draft- | O'Donoghue, "The Entity Attestation Token (EAT)", draft- | |||
ietf-rats-eat-02 (work in progress), 9 January 2020, | ietf-rats-eat-03 (work in progress), February 2020. | |||
<http://www.ietf.org/internet-drafts/draft-ietf-rats-eat- | ||||
02.txt>. | ||||
[I-D.ietf-teep-architecture] | [I-D.ietf-teep-architecture] | |||
Pei, M., Tschofenig, H., Thaler, D., and D. Wheeler, | Pei, M., Tschofenig, H., Thaler, D., and D. Wheeler, | |||
"Trusted Execution Environment Provisioning (TEEP) | "Trusted Execution Environment Provisioning (TEEP) | |||
Architecture", draft-ietf-teep-architecture-05 (work in | Architecture", draft-ietf-teep-architecture-07 (work in | |||
progress), 12 December 2019, | progress), March 2020. | |||
<http://www.ietf.org/internet-drafts/draft-ietf-teep- | ||||
architecture-05.txt>. | ||||
[I-D.ietf-teep-protocol] | [I-D.ietf-teep-protocol] | |||
Tschofenig, H., Pei, M., Wheeler, D., and D. Thaler, | Tschofenig, H., Pei, M., Wheeler, D., and D. Thaler, | |||
"Trusted Execution Environment Provisioning (TEEP) | "Trusted Execution Environment Provisioning (TEEP) | |||
Protocol", draft-ietf-teep-protocol-00 (work in progress), | Protocol", draft-ietf-teep-protocol-00 (work in progress), | |||
12 December 2019, | December 2019. | |||
<http://www.ietf.org/internet-drafts/draft-ietf-teep- | ||||
protocol-00.txt>. | ||||
[I-D.ietf-tls-esni] | [I-D.ietf-tls-esni] | |||
Rescorla, E., Oku, K., Sullivan, N., and C. Wood, | Rescorla, E., Oku, K., Sullivan, N., and C. Wood, | |||
"Encrypted Server Name Indication for TLS 1.3", draft- | "Encrypted Server Name Indication for TLS 1.3", draft- | |||
ietf-tls-esni-05 (work in progress), 4 November 2019, | ietf-tls-esni-05 (work in progress), November 2019. | |||
<http://www.ietf.org/internet-drafts/draft-ietf-tls-esni- | ||||
05.txt>. | ||||
[I-D.ietf-tls-grease] | [I-D.ietf-tls-grease] | |||
Benjamin, D., "Applying GREASE to TLS Extensibility", | Benjamin, D., "Applying GREASE to TLS Extensibility", | |||
draft-ietf-tls-grease-04 (work in progress), 22 August | draft-ietf-tls-grease-04 (work in progress), August 2019. | |||
2019, <http://www.ietf.org/internet-drafts/draft-ietf-tls- | ||||
grease-04.txt>. | ||||
[I-D.lazanski-smart-users-internet] | [I-D.lazanski-smart-users-internet] | |||
Lazanski, D., "An Internet for Users Again", draft- | Lazanski, D., "An Internet for Users Again", draft- | |||
lazanski-smart-users-internet-00 (work in progress), 8 | lazanski-smart-users-internet-00 (work in progress), July | |||
July 2019, | 2019. | |||
<http://www.ietf.org/internet-drafts/draft-lazanski-smart- | ||||
users-internet-00.txt>. | ||||
[I-D.mcfadden-smart-endpoint-taxonomy-for-cless] | [I-D.mcfadden-smart-endpoint-taxonomy-for-cless] | |||
McFadden, M., "Endpoint Taxonomy for CLESS", draft- | McFadden, M., "Endpoint Taxonomy for CLESS", draft- | |||
mcfadden-smart-endpoint-taxonomy-for-cless-01 (work in | mcfadden-smart-endpoint-taxonomy-for-cless-01 (work in | |||
progress), 5 February 2020, | progress), February 2020. | |||
<http://www.ietf.org/internet-drafts/draft-mcfadden-smart- | ||||
endpoint-taxonomy-for-cless-01.txt>. | ||||
[I-D.nottingham-for-the-users] | [I-D.nottingham-for-the-users] | |||
Nottingham, M., "The Internet is for End Users", draft- | Nottingham, M., "The Internet is for End Users", draft- | |||
nottingham-for-the-users-09 (work in progress), 22 July | nottingham-for-the-users-09 (work in progress), July 2019. | |||
2019, | ||||
<http://www.ietf.org/internet-drafts/draft-nottingham-for- | ||||
the-users-09.txt>. | ||||
[I-D.taddei-smart-cless-introduction] | [I-D.taddei-smart-cless-introduction] | |||
Taddei, A., Wueest, C., Roundy, K., and D. Lazanski, | Taddei, A., Wueest, C., Roundy, K., and D. Lazanski, | |||
"Capabilities and Limitations of an Endpoint-only Security | "Capabilities and Limitations of an Endpoint-only Security | |||
Solution", draft-taddei-smart-cless-introduction-02 (work | Solution", draft-taddei-smart-cless-introduction-02 (work | |||
in progress), 9 January 2020, | in progress), January 2020. | |||
<http://www.ietf.org/internet-drafts/draft-taddei-smart- | ||||
cless-introduction-02.txt>. | [I-D.wood-pearg-website-fingerprinting] | |||
Goldberg, I., Wang, T., and C. Wood, "Network-Based | ||||
Website Fingerprinting", draft-wood-pearg-website- | ||||
fingerprinting-00 (work in progress), November 2019. | ||||
[Jager2015] | ||||
Jager, T., Schwenk, J., and J. Somorovsky, "On the | ||||
Security of TLS 1.3 and QUIC Against Weaknesses in PKCS#1 | ||||
v1.5 Encryption", Proceedings of ACM CCS 2015, DOI | ||||
10.1145/2810103.2813657, https://www.nds.rub.de/media/nds/ | ||||
veroeffentlichungen/2015/08/21/Tls13QuicAttacks.pdf , | ||||
October 2015. | ||||
[Kocher2019] | [Kocher2019] | |||
Kocher, P., Horn, J., Fogh, A., Genkin, D., Gruss, D., | Kocher, P., Horn, J., Fogh, A., Genkin, D., Gruss, D., | |||
Haas, W., Hamburg, M., Lipp, M., Mangard, S., Prescher, | Haas, W., Hamburg, M., Lipp, M., Mangard, S., Prescher, | |||
T., Schwarz, M., and Y. Yarom, "Spectre Attacks: | T., Schwarz, M., and Y. Yarom, "Spectre Attacks: | |||
Exploiting Speculative Execution", 40th IEEE Symposium on | Exploiting Speculative Execution", 40th IEEE Symposium on | |||
Security and Privacy (S&P'19) , 2019. | Security and Privacy (S&P'19) , 2019. | |||
[LeakyBuckets] | [LeakyBuckets] | |||
Chickowski, E., "Leaky Buckets: 10 Worst Amazon S3 | Chickowski, E., "Leaky Buckets: 10 Worst Amazon S3 | |||
Breaches", Bitdefender blog, | Breaches", Bitdefender blog, | |||
https://businessinsights.bitdefender.com/ | https://businessinsights.bitdefender.com/ | |||
worst-amazon-breaches , 2018. | worst-amazon-breaches , 2018. | |||
[Lipp2018] Lipp, M., Schwarz, M., Gruss, D., Prescher, T., Haas, W., | [Leith2020] | |||
Leith, D., "Web Browser Privacy: What Do Browsers Say When | ||||
They Phone Home?", In submission, | ||||
https://www.scss.tcd.ie/Doug.Leith/pubs/ | ||||
browser_privacy.pdf , March 2020. | ||||
[Lipp2018] | ||||
Lipp, M., Schwarz, M., Gruss, D., Prescher, T., Haas, W., | ||||
Fogh, A., Horn, J., Mangard, S., Kocher, P., Genkin, D., | Fogh, A., Horn, J., Mangard, S., Kocher, P., Genkin, D., | |||
Yarom, Y., and M. Hamburg, "Meltdown: Reading Kernel | Yarom, Y., and M. Hamburg, "Meltdown: Reading Kernel | |||
Memory from User Space", 27th USENIX Security Symposium | Memory from User Space", 27th USENIX Security Symposium | |||
(USENIX Security 18) , 2018. | (USENIX Security 18) , 2018. | |||
[Mailbug] Englehardt, S., Han, J., and A. Narayanan, "I never signed | [Mailbug] Englehardt, S., Han, J., and A. Narayanan, "I never signed | |||
up for this! Privacy implications of email tracking", | up for this! Privacy implications of email tracking", | |||
Proceedings on Privacy Enhancing Technologies 2018.1 | Proceedings on Privacy Enhancing Technologies 2018.1 | |||
(2018): 109-126, https://www.degruyter.com/downloadpdf/j/ | (2018): 109-126, https://www.degruyter.com/downloadpdf/j/ | |||
popets.2018.2018.issue-1/popets-2018-0006/ | popets.2018.2018.issue-1/popets-2018-0006/ | |||
popets-2018-0006.pdf , 2018. | popets-2018-0006.pdf , 2018. | |||
[MeltdownAndSpectre] | [MeltdownAndSpectre] | |||
CISA, ., "Meltdown and Spectre Side-Channel Vulnerability | CISA, ., "Meltdown and Spectre Side-Channel Vulnerability | |||
Guidance", Alert (TA18-004A), | Guidance", Alert (TA18-004A), | |||
https://www.us-cert.gov/ncas/alerts/TA18-004A , 2018. | https://www.us-cert.gov/ncas/alerts/TA18-004A , 2018. | |||
[Passwords]com, haveibeenpwned., "Pwned Passwords", Website | [Mozilla2019] | |||
Camp, D., "Firefox Now Available with Enhanced Tracking | ||||
Protection by Default Plus Updates to Facebook Container, | ||||
Firefox Monitor and Lockwise", The Mozilla Blog, | ||||
https://blog.mozilla.org/blog/2019/06/04/firefox-now- | ||||
available-with-enhanced-tracking-protection-by-default/ , | ||||
June 2019. | ||||
[Passwords] | ||||
com, haveibeenpwned., "Pwned Passwords", Website | ||||
https://haveibeenpwned.com/Passwords , 2019. | https://haveibeenpwned.com/Passwords , 2019. | |||
[RFC1958] Carpenter, B., Ed., "Architectural Principles of the | [RFC1958] Carpenter, B., Ed., "Architectural Principles of the | |||
Internet", RFC 1958, DOI 10.17487/RFC1958, June 1996, | Internet", RFC 1958, DOI 10.17487/RFC1958, June 1996, | |||
<https://www.rfc-editor.org/info/rfc1958>. | <https://www.rfc-editor.org/info/rfc1958>. | |||
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC | [RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC | |||
Text on Security Considerations", BCP 72, RFC 3552, | Text on Security Considerations", BCP 72, RFC 3552, | |||
DOI 10.17487/RFC3552, July 2003, | DOI 10.17487/RFC3552, July 2003, | |||
<https://www.rfc-editor.org/info/rfc3552>. | <https://www.rfc-editor.org/info/rfc3552>. | |||
[RFC3935] Alvestrand, H., "A Mission Statement for the IETF", | [RFC3935] Alvestrand, H., "A Mission Statement for the IETF", | |||
BCP 95, RFC 3935, DOI 10.17487/RFC3935, October 2004, | BCP 95, RFC 3935, DOI 10.17487/RFC3935, October 2004, | |||
<https://www.rfc-editor.org/info/rfc3935>. | <https://www.rfc-editor.org/info/rfc3935>. | |||
[RFC4655] Farrel, A., Vasseur, J.-P., and J. Ash, "A Path | [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation | |||
Computation Element (PCE)-Based Architecture", RFC 4655, | Element (PCE)-Based Architecture", RFC 4655, | |||
DOI 10.17487/RFC4655, August 2006, | DOI 10.17487/RFC4655, August 2006, | |||
<https://www.rfc-editor.org/info/rfc4655>. | <https://www.rfc-editor.org/info/rfc4655>. | |||
[RFC6265] Barth, A., "HTTP State Management Mechanism", RFC 6265, | ||||
DOI 10.17487/RFC6265, April 2011, | ||||
<https://www.rfc-editor.org/info/rfc6265>. | ||||
[RFC6454] Barth, A., "The Web Origin Concept", RFC 6454, | [RFC6454] Barth, A., "The Web Origin Concept", RFC 6454, | |||
DOI 10.17487/RFC6454, December 2011, | DOI 10.17487/RFC6454, December 2011, | |||
<https://www.rfc-editor.org/info/rfc6454>. | <https://www.rfc-editor.org/info/rfc6454>. | |||
[RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support | [RFC6480] Lepinski, M. and S. Kent, "An Infrastructure to Support | |||
Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480, | Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480, | |||
February 2012, <https://www.rfc-editor.org/info/rfc6480>. | February 2012, <https://www.rfc-editor.org/info/rfc6480>. | |||
[RFC6749] Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", | [RFC6749] Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", | |||
RFC 6749, DOI 10.17487/RFC6749, October 2012, | RFC 6749, DOI 10.17487/RFC6749, October 2012, | |||
skipping to change at line 1572 | skipping to change at page 39, line 41 | |||
[RFC6962] Laurie, B., Langley, A., and E. Kasper, "Certificate | [RFC6962] Laurie, B., Langley, A., and E. Kasper, "Certificate | |||
Transparency", RFC 6962, DOI 10.17487/RFC6962, June 2013, | Transparency", RFC 6962, DOI 10.17487/RFC6962, June 2013, | |||
<https://www.rfc-editor.org/info/rfc6962>. | <https://www.rfc-editor.org/info/rfc6962>. | |||
[RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., | [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., | |||
Morris, J., Hansen, M., and R. Smith, "Privacy | Morris, J., Hansen, M., and R. Smith, "Privacy | |||
Considerations for Internet Protocols", RFC 6973, | Considerations for Internet Protocols", RFC 6973, | |||
DOI 10.17487/RFC6973, July 2013, | DOI 10.17487/RFC6973, July 2013, | |||
<https://www.rfc-editor.org/info/rfc6973>. | <https://www.rfc-editor.org/info/rfc6973>. | |||
[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>. | ||||
[RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an | [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an | |||
Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May | Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May | |||
2014, <https://www.rfc-editor.org/info/rfc7258>. | 2014, <https://www.rfc-editor.org/info/rfc7258>. | |||
[RFC7469] Evans, C., Palmer, C., and R. Sleevi, "Public Key Pinning | [RFC7469] Evans, C., Palmer, C., and R. Sleevi, "Public Key Pinning | |||
Extension for HTTP", RFC 7469, DOI 10.17487/RFC7469, April | Extension for HTTP", RFC 7469, DOI 10.17487/RFC7469, April | |||
2015, <https://www.rfc-editor.org/info/rfc7469>. | 2015, <https://www.rfc-editor.org/info/rfc7469>. | |||
[RFC7540] Belshe, M., Peon, R., and M. Thomson, Ed., "Hypertext | [RFC7540] Belshe, M., Peon, R., and M. Thomson, Ed., "Hypertext | |||
Transfer Protocol Version 2 (HTTP/2)", RFC 7540, | Transfer Protocol Version 2 (HTTP/2)", RFC 7540, | |||
DOI 10.17487/RFC7540, May 2015, | DOI 10.17487/RFC7540, May 2015, | |||
<https://www.rfc-editor.org/info/rfc7540>. | <https://www.rfc-editor.org/info/rfc7540>. | |||
[RFC7817] Melnikov, A., "Updated Transport Layer Security (TLS) | [RFC7817] Melnikov, A., "Updated Transport Layer Security (TLS) | |||
Server Identity Check Procedure for Email-Related | Server Identity Check Procedure for Email-Related | |||
Protocols", RFC 7817, DOI 10.17487/RFC7817, March 2016, | Protocols", RFC 7817, DOI 10.17487/RFC7817, March 2016, | |||
<https://www.rfc-editor.org/info/rfc7817>. | <https://www.rfc-editor.org/info/rfc7817>. | |||
[RFC7830] Mayrhofer, A., "The EDNS(0) Padding Option", RFC 7830, | ||||
DOI 10.17487/RFC7830, May 2016, | ||||
<https://www.rfc-editor.org/info/rfc7830>. | ||||
[RFC8240] Tschofenig, H. and S. Farrell, "Report from the Internet | [RFC8240] Tschofenig, H. and S. Farrell, "Report from the Internet | |||
of Things Software Update (IoTSU) Workshop 2016", | of Things Software Update (IoTSU) Workshop 2016", | |||
RFC 8240, DOI 10.17487/RFC8240, September 2017, | RFC 8240, DOI 10.17487/RFC8240, September 2017, | |||
<https://www.rfc-editor.org/info/rfc8240>. | <https://www.rfc-editor.org/info/rfc8240>. | |||
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
<https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
[RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS | [RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS | |||
skipping to change at line 1612 | skipping to change at page 40, line 41 | |||
[RFC8546] Trammell, B. and M. Kuehlewind, "The Wire Image of a | [RFC8546] Trammell, B. and M. Kuehlewind, "The Wire Image of a | |||
Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April | Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April | |||
2019, <https://www.rfc-editor.org/info/rfc8546>. | 2019, <https://www.rfc-editor.org/info/rfc8546>. | |||
[RFC8555] Barnes, R., Hoffman-Andrews, J., McCarney, D., and J. | [RFC8555] Barnes, R., Hoffman-Andrews, J., McCarney, D., and J. | |||
Kasten, "Automatic Certificate Management Environment | Kasten, "Automatic Certificate Management Environment | |||
(ACME)", RFC 8555, DOI 10.17487/RFC8555, March 2019, | (ACME)", RFC 8555, DOI 10.17487/RFC8555, March 2019, | |||
<https://www.rfc-editor.org/info/rfc8555>. | <https://www.rfc-editor.org/info/rfc8555>. | |||
[Saltzer] Saltzer, J.H., Reed, D.P., and D.D. Clark, "End-To-End | [Saltzer] Saltzer, J., Reed, D., and D. Clark, "End-To-End Arguments | |||
Arguments in System Design", ACM TOCS, Vol 2, Number 4, pp | in System Design", ACM TOCS, Vol 2, Number 4, pp 277-288 , | |||
277-288 , November 1984. | November 1984. | |||
[Savage] Savage, S., "Modern Automotive Vulnerabilities: Causes, | [Savage] Savage, S., "Modern Automotive Vulnerabilities: Causes, | |||
Disclosures, and Outcomes", USENIX , 2016. | Disclosures, and Outcomes", USENIX , 2016. | |||
[SmartTV] Malkin, N., Bernd, J., Johnson, M., and S. Egelman, "What | [SmartTV] Malkin, N., Bernd, J., Johnson, M., and S. Egelman, "What | |||
Can't Data Be Used For? Privacy Expectations about Smart | Can't Data Be Used For? Privacy Expectations about Smart | |||
TVs in the U.S.", European Workshop on Usable Security | TVs in the U.S.", European Workshop on Usable Security | |||
(Euro USEC), https://www.ndss-symposium.org/wp- | (Euro USEC), https://www.ndss-symposium.org/wp- | |||
content/uploads/2018/06/ | content/uploads/2018/06/ | |||
eurousec2018_16_Malkin_paper.pdf" , 2018. | eurousec2018_16_Malkin_paper.pdf" , 2018. | |||
[StackEvo] Trammell, B., Thomson, M., Howard, L., and T. Hardie, | [StackEvo] | |||
Trammell, B., Thomson, M., Howard, L., and T. Hardie, | ||||
"What Is an Endpoint?", Unpublished work, | "What Is an Endpoint?", Unpublished work, | |||
https://github.com/stackevo/endpoint-draft/blob/master/ | https://github.com/stackevo/endpoint-draft/blob/master/ | |||
draft-trammell-whats-an-endpoint.md , 2017. | draft-trammell-whats-an-endpoint.md , 2017. | |||
[Sybil] Viswanath, B., Post, A., Gummadi, K., and A. Mislove, "An | [Sybil] Viswanath, B., Post, A., Gummadi, K., and A. Mislove, "An | |||
analysis of social network-based sybil defenses", ACM | analysis of social network-based sybil defenses", ACM | |||
SIGCOMM Computer Communication Review 41(4), 363-374, | SIGCOMM Computer Communication Review 41(4), 363-374, | |||
https://conferences.sigcomm.org/sigcomm/2010/papers/ | https://conferences.sigcomm.org/sigcomm/2010/papers/ | |||
sigcomm/p363.pdf , 2011. | sigcomm/p363.pdf , 2011. | |||
skipping to change at line 1648 | skipping to change at page 41, line 35 | |||
Osborne, C., "How hackers stole millions of credit card | Osborne, C., "How hackers stole millions of credit card | |||
records from Target", ZDNET, | records from Target", ZDNET, | |||
https://www.zdnet.com/article/how-hackers-stole-millions- | https://www.zdnet.com/article/how-hackers-stole-millions- | |||
of-credit-card-records-from-target/ , 2014. | of-credit-card-records-from-target/ , 2014. | |||
[Toys] Chu, G., Apthorpe, N., and N. Feamster, "Security and | [Toys] Chu, G., Apthorpe, N., and N. Feamster, "Security and | |||
Privacy Analyses of Internet of Things Childrens' Toys", | Privacy Analyses of Internet of Things Childrens' Toys", | |||
IEEE Internet of Things Journal 6.1 (2019): 978-985, | IEEE Internet of Things Journal 6.1 (2019): 978-985, | |||
https://arxiv.org/pdf/1805.02751.pdf , 2019. | https://arxiv.org/pdf/1805.02751.pdf , 2019. | |||
[Tracking] Ermakova, T., Fabian, B., Bender, B., and K. Klimek, "Web | [Tracking] | |||
Ermakova, T., Fabian, B., Bender, B., and K. Klimek, "Web | ||||
Tracking-A Literature Review on the State of Research", | Tracking-A Literature Review on the State of Research", | |||
Proceedings of the 51st Hawaii International Conference on | Proceedings of the 51st Hawaii International Conference on | |||
System Sciences, https://scholarspace.manoa.hawaii.edu/ | System Sciences, https://scholarspace.manoa.hawaii.edu/ | |||
bitstream/10125/50485/paper0598.pdf , 2018. | bitstream/10125/50485/paper0598.pdf , 2018. | |||
[Troll] Stewart, L., Arif, A., and K. Starbird, "Examining trolls | [Troll] Stewart, L., Arif, A., and K. Starbird, "Examining trolls | |||
and polarization with a retweet network", ACM Workshop on | and polarization with a retweet network", ACM Workshop on | |||
Misinformation and Misbehavior Mining on the Web, | Misinformation and Misbehavior Mining on the Web, | |||
https://faculty.washington.edu/kstarbi/ | https://faculty.washington.edu/kstarbi/ | |||
examining-trolls-polarization.pdf , 2018. | examining-trolls-polarization.pdf , 2018. | |||
skipping to change at line 1673 | skipping to change at page 42, line 12 | |||
Information, Communication and Society (2018): 1-20 , | Information, Communication and Society (2018): 1-20 , | |||
2018. | 2018. | |||
[Vpns] Khan, M., DeBlasio, J., Voelker, G., Snoeren, A., Kanich, | [Vpns] Khan, M., DeBlasio, J., Voelker, G., Snoeren, A., Kanich, | |||
C., and N. Vallina, "An empirical analysis of the | C., and N. Vallina, "An empirical analysis of the | |||
commercial VPN ecosystem", ACM Internet Measurement | commercial VPN ecosystem", ACM Internet Measurement | |||
Conference 2018 (pp. 443-456), | Conference 2018 (pp. 443-456), | |||
https://eprints.networks.imdea.org/1886/1/ | https://eprints.networks.imdea.org/1886/1/ | |||
imc18-final198.pdf , 2018. | imc18-final198.pdf , 2018. | |||
Appendix A. Acknowledgements | Appendix A. Contributors | |||
Eric Rescorla and Chris Wood provided much of the text in | ||||
Section 2.3.1.4, item 2 of Section 4 and Section 6.3. | ||||
Appendix B. Acknowledgements | ||||
The authors would like to thank the IAB: | The authors would like to thank the IAB: | |||
Alissa Cooper, Wes Hardaker, Ted Hardie, Christian Huitema, Zhenbin | Alissa Cooper, Wes Hardaker, Ted Hardie, Christian Huitema, Zhenbin | |||
Li, Erik Nordmark, Mark Nottingham, Melinda Shore, Jeff Tantsura, | Li, Erik Nordmark, Mark Nottingham, Melinda Shore, Jeff Tantsura, | |||
Martin Thomson, Brian Trammel, Mirja Kuhlewind, and Colin Perkins. | Martin Thomson, Brian Trammel, Mirja Kuhlewind, and Colin Perkins. | |||
The authors would also like to thank the participants of the IETF | The authors would also like to thank the participants of the IETF | |||
SAAG meeting where this topic was discussed: | SAAG meeting where this topic was discussed: | |||
skipping to change at line 1710 | skipping to change at page 43, line 5 | |||
The authors would also like to thank the participants of the November | The authors would also like to thank the participants of the November | |||
2016 meeting at the IETF: | 2016 meeting at the IETF: | |||
Carsten Bormann, Randy Bush, Tommy C, Roman Danyliw, Ted Hardie, | Carsten Bormann, Randy Bush, Tommy C, Roman Danyliw, Ted Hardie, | |||
Christian Huitema, Ben Kaduk, Dirk Kutscher, Dominique Lazanski, Eric | Christian Huitema, Ben Kaduk, Dirk Kutscher, Dominique Lazanski, Eric | |||
Rescorla, Ali Rezaki, Mohit Sethi, Melinda Shore, Martin Thomson, and | Rescorla, Ali Rezaki, Mohit Sethi, Melinda Shore, Martin Thomson, and | |||
Robin Wilton ... (missing many people... did we have minutes other | Robin Wilton ... (missing many people... did we have minutes other | |||
than the list of actions?) ... | than the list of actions?) ... | |||
Thanks for specific comments on this text to: Ronald van der Pol. | ||||
Finally, the authors would like to thank numerous other people for | Finally, the authors would like to thank numerous other people for | |||
insightful comments and discussions in this space. | insightful comments and discussions in this space. | |||
Authors' Addresses | Authors' Addresses | |||
Ericsson | ||||
Jari Arkko | Jari Arkko | |||
FI- | Ericsson | |||
Valitie 1B | ||||
Kauniainen | ||||
Finland | Finland | |||
Email: jari.arkko@piuha.net | Email: jari.arkko@piuha.net | |||
Stephen Farrell | Stephen Farrell | |||
Trinity College Dublin | Trinity College Dublin | |||
College Green | ||||
Dublin | ||||
Ireland | Ireland | |||
Email: stephen.farrell@cs.tcd.ie | Email: stephen.farrell@cs.tcd.ie | |||
End of changes. 110 change blocks. | ||||
213 lines changed or deleted | 514 lines changed or added | |||
This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |