| draft-arkko-arch-internet-threat-model-00.txt | draft-arkko-arch-internet-threat-model.txt | |||
|---|---|---|---|---|
| Network Working Group J. Arkko | Network Working Group J. Arkko | |||
| Internet-Draft Ericsson | Internet-Draft Ericsson | |||
| Intended status: Informational April 30, 2019 | Intended status: Informational July 09, 2019 | |||
| Expires: November 1, 2019 | Expires: January 10, 2020 | |||
| Changes in the Internet Threat Model | Changes in the Internet Threat Model | |||
| draft-arkko-arch-internet-threat-model-00 | draft-arkko-arch-internet-threat-model-01 | |||
| 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 threat model, while important | This memo suggests that the existing threat model, while important | |||
| and still valid, is no longer alone sufficient to cater for the | and still valid, is no longer alone sufficient to cater for the | |||
| pressing security issues in the Internet. For instance, it is also | pressing security issues in the Internet. For instance, it is also | |||
| skipping to change at page 1, line 46 | skipping to change at page 1, line 46 | |||
| and architecture affects security. | and architecture affects security. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 http://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 November 1, 2019. | This Internet-Draft will expire on January 10, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | Provisions Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Improvements in Communications Security . . . . . . . . . . . 5 | 2. Improvements in Communications Security . . . . . . . . . . . 5 | |||
| 3. Issues in Security Beyond Communications Security . . . . . . 5 | 3. Issues in Security Beyond Communications Security . . . . . . 5 | |||
| 4. The Role of End-to-end . . . . . . . . . . . . . . . . . . . 8 | 4. Impacts . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 4.1. Guidelines . . . . . . . . . . . . . . . . . . . . . . . 10 | 4.1. The Role of End-to-end . . . . . . . . . . . . . . . . . 8 | |||
| 5. Potential Changes in IETF Analysis of Protocols . . . . . . . 11 | 4.2. Trusted networks . . . . . . . . . . . . . . . . . . . . 10 | |||
| 5.1. Changes in RFC 3552 . . . . . . . . . . . . . . . . . . . 11 | 4.2.1. Even closed networks can have compromised nodes . . . 11 | |||
| 5.2. Changes in RFC 7258 . . . . . . . . . . . . . . . . . . . 12 | 4.3. Balancing Threats . . . . . . . . . . . . . . . . . . . . 12 | |||
| 5.3. System and Architecture Aspects . . . . . . . . . . . . . 12 | 5. Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 6. Other Work . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 6. Potential Changes in IETF Analysis of Protocols . . . . . . . 14 | |||
| 7. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 6.1. Changes in RFC 3552 . . . . . . . . . . . . . . . . . . . 14 | |||
| 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | 6.2. Changes in RFC 7258 . . . . . . . . . . . . . . . . . . . 15 | |||
| 9. Informative References . . . . . . . . . . . . . . . . . . . 13 | 6.3. System and Architecture Aspects . . . . . . . . . . . . . 15 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 16 | 7. Other Work . . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 8. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 15 | ||||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 16 | ||||
| 10. Informative References . . . . . . . . . . . . . . . . . . . 16 | ||||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 18 | ||||
| 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 page 3, line 26 | skipping to change at page 3, line 29 | |||
| 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. This is due to three factors: | outdated. This is due to three factors: | |||
| o Advances in protecting most of our communications with strong | o Advances in protecting most of our communications with strong | |||
| cryptographic means. This has resulted in much improved | cryptographic means. This has resulted in much improved | |||
| communications security, but also higlights 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. | |||
| o Adversaries have increased their pressure against other avenues of | o Adversaries have increased their pressure against other avenues of | |||
| attack, from compromising devices to legal coercion of centralized | attack, from compromising devices to legal coercion of centralized | |||
| endpoints in conversations. | endpoints in conversations. | |||
| skipping to change at page 4, line 39 | skipping to change at page 4, line 41 | |||
| 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 be lead to a similar effect as described in | receive information may be 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. | |||
| The rest of this memo is organized as follows. Section 2 and | The rest of this memo is organized as follows. Section 2 and | |||
| Section 3 outline the situation with respect to communications | Section 3 outline the situation with respect to communications | |||
| security and beyond it. Section 4 discusses how the author believes | security and beyond it. Section 4.1 discusses how the author | |||
| the Internet threat model should evolve, and what types of threats | believes the Internet threat model should evolve, and what types of | |||
| should be seen as critical ones and in-scope. Section 4.1 will also | threats should be seen as critical ones and in-scope. Section 5 will | |||
| discuss high-level guidance to addressing these threats. | also discuss high-level guidance to addressing these threats. | |||
| Section 5 outlines the author's suggested future changes to RFC 3552 | Section 6 outlines the author's suggested future changes to RFC 3552 | |||
| and RFC 7258 and the need for guidance on the impacts of system | and RFC 7258 and the need for guidance on the impacts of system | |||
| design and architecture on security. Comments are solicited on these | design and architecture on security. Comments are solicited on these | |||
| and other aspects of this document. The best place for discussion is | and other aspects of this document. The best place for discussion is | |||
| on the arch-discuss list (https://www.ietf.org/mailman/listinfo/ | on the arch-discuss list (https://www.ietf.org/mailman/listinfo/ | |||
| Architecture-discuss). This memo acts also as an input for the IAB | Architecture-discuss). This memo acts also as an input for the IAB | |||
| retreat discussion on threat models, and it is a submission for the | retreat discussion on threat models, and it is a submission for the | |||
| IAB DEDR workshop (https://www.iab.org/activities/workshops/dedr- | IAB DEDR workshop (https://www.iab.org/activities/workshops/dedr- | |||
| workshop/). | workshop/). | |||
| Finally, Section 6 highlights other discussions in this problem space | Finally, Section 7 highlights other discussions in this problem space | |||
| and Section 7 draws some conclusions for next steps. | and Section 8 draws some conclusions for next steps. | |||
| 2. Improvements in Communications Security | 2. Improvements in Communications Security | |||
| The fraction of Internet traffic that is cryptographically protected | The fraction of Internet traffic that is cryptographically protected | |||
| has grown tremendously in the last few years. Several factors have | has grown tremendously in the last few years. Several factors have | |||
| contributed to this change, from Snowden revelations to business | contributed to this change, from Snowden revelations to business | |||
| reasons and to better available technology such as HTTP/2 [RFC7540], | reasons and to better available technology such as HTTP/2 [RFC7540], | |||
| TLS 1.3 [RFC8446], QUIC [I-D.ietf-quic-transport]. | TLS 1.3 [RFC8446], QUIC [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 | |||
| skipping to change at page 8, line 17 | skipping to change at page 8, line 17 | |||
| In general, many recent attacks relate more to information than | In general, many recent attacks relate more to information than | |||
| communications. For instance, personal information leaks typically | communications. For instance, personal information leaks typically | |||
| happen via information stored on a compromised server rather than | happen via information stored on a compromised server rather than | |||
| capturing communications. There is little hope that such attacks can | capturing communications. There is little hope that such attacks can | |||
| be prevented entirely. Again, the best course of action seems to be | be prevented entirely. Again, the best course of action seems to be | |||
| avoid the disclosure of information in the first place, or at least | avoid the disclosure of information in the first place, or at least | |||
| to not perform that in a manner that makes it possible that others | to not perform that in a manner that makes it possible that others | |||
| can readily use the information. | can readily use the information. | |||
| 4. The Role of End-to-end | 4. Impacts | |||
| 4.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 | |||
| end-to-end functions can only be performed correctly by the end- | end-to-end functions can only be performed correctly by the end- | |||
| systems themselves. A specific case is that any network, however | systems themselves. A specific case is that any network, however | |||
| carefully designed, will be subject to failures of transmission at | carefully designed, will be subject to failures of transmission at | |||
| some statistically determined rate. The best way to cope with | some statistically determined rate. The best way to cope with | |||
| this is to accept it, and give responsibility for the integrity of | this is to accept it, and give responsibility for the integrity of | |||
| skipping to change at page 10, line 25 | skipping to change at page 10, line 25 | |||
| with anyone else than its user may be implemented on top of a | with anyone else than its user may be implemented on top of a | |||
| distributed system where some information about the user is exposed | distributed system where some information about the user is exposed | |||
| to untrusted parties. | to untrusted parties. | |||
| The implications of the system security also extend beyond | The implications of the system security also extend beyond | |||
| information and control aspects. For instance, poorly design | information and control aspects. For instance, poorly design | |||
| component protocols can become DoS vectors which are then used to | component protocols can become DoS vectors which are then used to | |||
| attack other parts of the system. Availability is an important | attack other parts of the system. Availability is an important | |||
| aspect to consider in the analysis along other aspects. | aspect to consider in the analysis along other aspects. | |||
| 4.1. Guidelines | 4.2. Trusted networks | |||
| Some systems are thought of as being deployed only in a closed | ||||
| setting, where all the relevant nodes are under direct control of the | ||||
| network administrators. Technologies developed for such networks | ||||
| tend to be optimized, at least initially, for these environments, and | ||||
| may lack security features necessary for different types of | ||||
| deployments. | ||||
| It is well known that many such systems evolve over time, grow, and | ||||
| get used and connected in new ways. For instance, the collaboration | ||||
| and mergers between organizations, and new services for customers may | ||||
| change the system or its environment. A system that used to be truly | ||||
| within an administrative domain may suddenly need to cross network | ||||
| boundaries or even run over the Internet. As a result, it is also | ||||
| well known that it is good to ensure that underlying technologies | ||||
| used in such systems can cope with that evolution, for instance, by | ||||
| having the necessary security capabilities to operate in different | ||||
| environments. | ||||
| In general, the outside vs. inside security model is outdated for | ||||
| most situations, due to the complex and evolving networks and the | ||||
| need to support mixture of devices from different sources (e.g., BYOD | ||||
| networks). Network virtualization also implies that previously clear | ||||
| notions of local area networks and physical proximity may create an | ||||
| entirely different reality from what appears from a simple notion of | ||||
| a local network. | ||||
| 4.2.1. Even closed networks can have compromised nodes | ||||
| This memo argues that the situation is even more dire than what was | ||||
| explained above. It is impossible to ensure that all components in a | ||||
| network are actually trusted. Even in a closed network with | ||||
| carefully managed components there may be compromised components, and | ||||
| this should be factored into the design of the system and protocols | ||||
| used in the system. | ||||
| For instance, during the Snowden revelations it was reported that | ||||
| internal communication flows of large content providers were | ||||
| compromised in an effort to acquire information from large number of | ||||
| end users. This shows the need to protect not just communications | ||||
| targeted to go over the Internet, but in many cases also internal and | ||||
| control communications. | ||||
| Furthermore, there is a danger of compromised nodes, so | ||||
| communications security alone will be insufficient to protect against | ||||
| this. The defences against this include limiting information within | ||||
| networks to the parties that have a need to know, as well as limiting | ||||
| control capabilities. This is necessary even when all the nodes are | ||||
| under the control of the same network manager; the network manager | ||||
| needs to assume that some nodes and communications will be | ||||
| compromised, and build a system to mitigate or minimise attacks even | ||||
| under that assumption. | ||||
| Even airgapped networks can have these issues, as evidenced, for | ||||
| instance, by the Stuxnet worm. The Internet is not the only form of | ||||
| connectivity, as most systems include, for instance, USB ports that | ||||
| proved to be the achilles heel of the targets in the Stuxnet case. | ||||
| More commonly, every system runs large amount of software, and it is | ||||
| often not practical or even possible to black the software to prevent | ||||
| compromised code even in a high-security setting, let alone in | ||||
| commercial or private networks. Installation media, physical ports, | ||||
| both open source and proprietary programs, firmware, or even | ||||
| innocent-looking components on a circuit board can be suspect. In | ||||
| addition, complex underlying computing platforms, such as modern CPUs | ||||
| with underlying security and management tools are prone for problems. | ||||
| In general, this means that one cannot entirely trust even a closed | ||||
| system where you picked all the components yourself. Analysis for | ||||
| the security of many interesting real-world systems now commonly | ||||
| needs to include cross-component attacks, e.g., the use of car radios | ||||
| and other externally communicating devices as part of attacks | ||||
| launched against the control components such as breaks in a car | ||||
| [Savage]. | ||||
| 4.3. Balancing Threats | ||||
| 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 are understood and protected against. | ||||
| Sometimes there are higher-level mechanisms that provide safeguards | ||||
| for failures. For instance, it is very difficult in general to | ||||
| protect against denial-of-service against compromised nodes on a | ||||
| communications path. However, it may be possible to detect that a | ||||
| service has failed. | ||||
| Another example is from packet-carrying networks. Payload traffic | ||||
| that has been properly protected with encryption does not provide | ||||
| much value to an attacker. As a result, it does not always make | ||||
| sense, for instance, encrypt every packet transmission in a packet- | ||||
| carrying system where the traffic is already encrypted at other | ||||
| layers. But it almost always makes sense to protect control | ||||
| communications and to understand the impacts of compromised nodes, | ||||
| particularly control nodes. | ||||
| 5. Guidelines | ||||
| As [RFC3935] says: | As [RFC3935] says: | |||
| We embrace technical concepts such as decentralized control, edge- | We embrace technical concepts such as decentralized control, edge- | |||
| user empowerment and sharing of resources, because those concepts | user empowerment and sharing of resources, because those concepts | |||
| resonate with the core values of the IETF community. | resonate with the core values of the IETF community. | |||
| To be more specific, this memo suggests the following guidelines for | To be more specific, this memo suggests the following guidelines for | |||
| protocol designers: | protocol designers: | |||
| 1. Minimizing information passed to others: Information passed to | 1. Consider first principles in protecting information and systems, | |||
| rather than following a specific pattern such as protecting | ||||
| information in a particular way or at a particular protocol | ||||
| layer. It is necessary to understand what components can be | ||||
| compromised, where interests may or may not be aligned, and what | ||||
| parties have a legitimate role in being a party to a specific | ||||
| information or a control task. | ||||
| 2. Minimize information passed to others: Information passed to | ||||
| another party in a protocol exchange should be minimized to guard | another party in a protocol exchange should be minimized to guard | |||
| against the potential compromise of that party. | against the potential compromise of that party. | |||
| 2. End-to-end protection via other parties: Information passed via | 3. Perform end-to-end protection via other parties: Information | |||
| another party who does not intrinsically need the information to | passed via another party who does not intrinsically need the | |||
| perform its function should be protected end-to-end to its | information to perform its function should be protected end-to- | |||
| intended recipient. This guideline is general, and holds equally | end to its intended recipient. This guideline is general, and | |||
| for sending TCP/IP packets, TLS connections, or application-layer | holds equally for sending TCP/IP packets, TLS connections, or | |||
| interactions. As [I-D.iab-wire-image] notes, it is a useful | application-layer interactions. As [I-D.iab-wire-image] notes, | |||
| design rule to avoid "accidental invariance" (the deployment of | it is a useful design rule to avoid "accidental invariance" (the | |||
| on-path devices that over-time start to make assumptions about | deployment of on-path devices that over-time start to make | |||
| protocols). However, it is also a necessary security design rule | assumptions about protocols). However, it is also a necessary | |||
| to avoid "accidental disclosure" where information originally | security design rule to avoid "accidental disclosure" where | |||
| thought to be benign and untapped over-time becomes a significant | information originally thought to be benign and untapped over- | |||
| information leak. This guideline can also be applied for | time becomes a significant information leak. This guideline can | |||
| different aspects of security, e.g., confidentiality and | also be applied for different aspects of security, e.g., | |||
| integrity protection, depending on what the specific need for | confidentiality and integrity protection, depending on what the | |||
| information is in the other parties. | specific need for information is in the other parties. | |||
| 3. Minimizing passing of control functions to others: Any passing of | 4. Minimize passing of control functions to others: Any passing of | |||
| control functions to other parties should be minimized to guard | control functions to other parties should be minimized to guard | |||
| against the potential misuse of those control functions. This | against the potential misuse of those control functions. This | |||
| applies to both technical (e.g., nodes that assign resources) and | applies to both technical (e.g., nodes that assign resources) and | |||
| process control functions (e.g., the ability to allocate number | process control functions (e.g., the ability to allocate number | |||
| or develop extensions). Control functions can also become a | or develop extensions). Control functions can also become a | |||
| matter of contest and power struggle, even in cases where their | matter of contest and power struggle, even in cases where their | |||
| function as such is minimal, as we saw with the IANA transition | function as such is minimal, as we saw with the IANA transition | |||
| debates. | debates. | |||
| 4. Avoiding centralized resources: While centralized components, | 5. Avoid centralized resources: While centralized components, | |||
| resources, and function provide usually a useful function, there | resources, and function provide usually a useful function, there | |||
| are grave issues associated with them. Protocol and network | are grave issues associated with them. Protocol and network | |||
| design should balance the benefits of centralized resources or | design should balance the benefits of centralized resources or | |||
| control points against the threats arising from them. The | control points against the threats arising from them. The | |||
| general guideline is to avoid such centralized resources when | general guideline is to avoid such centralized resources when | |||
| possible. And if it is not possible, find a way to allow the | possible. And if it is not possible, find a way to allow the | |||
| centralized resources to be selectable, depending on context and | centralized resources to be selectable, depending on context and | |||
| user settings. | user settings. | |||
| 5. Explicit agreements: When users and their devices provide | 6. 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. While | regarding the use of the information provided in this way. While | |||
| the actual use of such requirements and the willingness of | 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. | |||
| 5. Potential Changes in IETF Analysis of Protocols | 7. Treat parties that your equipment connects to with suspicion, | |||
| even if the communications are encrypted. The other endpoint may | ||||
| misuse any information or control opportunity in the | ||||
| communication. Similarly, even parties within your own system | ||||
| need to be treated with suspicision, as some nodes may become | ||||
| compromised. | ||||
| 5.1. Changes in RFC 3552 | 8. Do not take any of this as blanket reason to provide no | |||
| information to anyone, encrypt everything to everyone, or other | ||||
| extreme measures. However, the designers of a system need to be | ||||
| aware of the different threats facing their system, and deal with | ||||
| the most serious ones (of which there are typically many). | ||||
| Similarly, users should be aware of the choices made in a | ||||
| particular design, and avoid designs or products that protect | ||||
| against some threats but are wide open to other serious issues. | ||||
| 6. Potential Changes in IETF Analysis of Protocols | ||||
| 6.1. Changes in RFC 3552 | ||||
| This memo suggests that changes maybe necessary in RFC 3552. One | This memo suggests that changes maybe necessary in RFC 3552. One | |||
| initial, draft proposal for such changes would be this: | initial, draft proposal for such changes would be this: | |||
| 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 | |||
| skipping to change at page 12, line 29 | skipping to change at page 15, line 5 | |||
| 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. | |||
| 5.2. Changes in RFC 7258 | 6.2. Changes in RFC 7258 | |||
| This memo also suggests that additional guidelines may be necessary | This memo also suggests that additional guidelines may be necessary | |||
| in RFC 7258. An initial, draft suggestion for starting point of | in RFC 7258. An initial, draft suggestion for starting point of | |||
| those changes could be adding the following paragraph after the 2nd | those changes could be adding the following paragraph after the 2nd | |||
| paragraph in Section 2: | paragraph in 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. | |||
| 5.3. System and Architecture Aspects | 6.3. System and Architecture Aspects | |||
| This definitely needs more attention from Internet technology | This definitely needs more attention from Internet technology | |||
| developers and standards organizations. Here is one possible | developers and standards organizations. Here is one possible | |||
| 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. Other Work | 7. Other Work | |||
| See, for instance, [I-D.farrell-etm]. | See, for instance, [I-D.farrell-etm]. | |||
| 7. Conclusions | 8. Conclusions | |||
| More work is needed in this area. To start with, Internet technology | More work is needed in this area. To start with, Internet technology | |||
| developers need to be better aware of the issues beyond | developers need to be better aware of the issues beyond | |||
| communications security, and consider them in design. At the IETF it | communications security, and consider them in design. At the IETF it | |||
| would be beneficial to include some of these considerations in the | would be beneficial to include some of these considerations in the | |||
| usual systematic security analysis of technologies under development. | usual systematic security analysis of technologies under development. | |||
| In particular, when the IETF develops infrastructure technology for | In particular, when the IETF develops infrastructure technology for | |||
| the Internet (such as routing or naming systems), considering the | the Internet (such as routing or naming systems), considering the | |||
| impacts of data generated by those technologies is important. | impacts of data generated by those technologies is important. | |||
| skipping to change at page 13, line 38 | skipping to change at page 16, line 12 | |||
| provide the right security for various applications. However, more | provide the right security for various applications. However, more | |||
| work is needed in equivalently broadly deployed tools for minimising | work is needed in equivalently broadly deployed tools for minimising | |||
| or obfuscating information provided by users to other entities, and | or obfuscating information provided by users to other entities, and | |||
| the use of end-to-end security through entities that are involved in | the use of end-to-end security through entities that are involved in | |||
| the protocol exchange but who do not need to know everything that is | the protocol exchange but who do not need to know everything that is | |||
| being passed through them. | being passed through them. | |||
| Comments on the issues discussed in this memo are gladly taken either | Comments on the issues discussed in this memo are gladly taken either | |||
| privately or on the architecture-discuss mailing list. | privately or on the architecture-discuss mailing list. | |||
| 8. Acknowledgements | 9. Acknowledgements | |||
| The author would like to thank John Mattsson, Mirja Kuehlewind, | The author would like to thank John Mattsson, Mirja Kuehlewind, | |||
| Alissa Cooper, Stephen Farrell, Eric Rescorla, Simone Ferlin, | Alissa Cooper, Stephen Farrell, Eric Rescorla, Simone Ferlin, | |||
| Kathleen Moriarty, Brian Trammell, Mark Nottingham, Christian | Kathleen Moriarty, Brian Trammell, Mark Nottingham, Christian | |||
| Huitema, Karl Norrman, Ted Hardie, Mohit Sethi, Phillip Hallam-Baker, | Huitema, Karl Norrman, Ted Hardie, Mohit Sethi, Phillip Hallam-Baker, | |||
| Goran Eriksson and the IAB for interesting discussions in this | Goran Eriksson and the IAB for interesting discussions in this | |||
| problem space. | problem space. The author would also like to thank all members of | |||
| the 2019 Design Expectations vs. Deployment Reality (DEDR) IAB | ||||
| workshop held in Kirkkonummi, Finland. | ||||
| 9. Informative References | 10. Informative References | |||
| [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-00 (work in progress), April 2019. | draft-farrell-etm-03 (work in progress), July 2019. | |||
| [I-D.iab-wire-image] | [I-D.iab-wire-image] | |||
| Trammell, B. and M. Kuehlewind, "The Wire Image of a | Trammell, B. and M. Kuehlewind, "The Wire Image of a | |||
| Network Protocol", draft-iab-wire-image-01 (work in | Network Protocol", draft-iab-wire-image-01 (work in | |||
| progress), November 2018. | progress), November 2018. | |||
| [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), | draft-ietf-httpbis-expect-ct-08 (work in progress), | |||
| December 2018. | December 2018. | |||
| skipping to change at page 14, line 27 | skipping to change at page 16, line 51 | |||
| and Secure Transport", draft-ietf-quic-transport-20 (work | and Secure Transport", draft-ietf-quic-transport-20 (work | |||
| in progress), April 2019. | in progress), April 2019. | |||
| [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-03 (work in progress), March 2019. | ietf-tls-esni-03 (work in progress), March 2019. | |||
| [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-07 (work in progress), March | nottingham-for-the-users-08 (work in progress), June 2019. | |||
| 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- | |||
| <https://www.rfc-editor.org/info/rfc3552>. | 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., and J. Ash, "A Path Computation | [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path 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- | |||
| <https://www.rfc-editor.org/info/rfc4655>. | editor.org/info/rfc4655>. | |||
| [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>. | |||
| [RFC6797] Hodges, J., Jackson, C., and A. Barth, "HTTP Strict | [RFC6797] Hodges, J., Jackson, C., and A. Barth, "HTTP Strict | |||
| Transport Security (HSTS)", RFC 6797, | Transport Security (HSTS)", RFC 6797, | |||
| DOI 10.17487/RFC6797, November 2012, | DOI 10.17487/RFC6797, November 2012, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc6797>. | editor.org/info/rfc6797>. | |||
| [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- | |||
| <https://www.rfc-editor.org/info/rfc6973>. | editor.org/info/rfc6973>. | |||
| [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- | |||
| <https://www.rfc-editor.org/info/rfc7540>. | 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>. | |||
| [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>. | |||
| skipping to change at page 16, line 6 | skipping to change at page 18, line 28 | |||
| [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., Reed, D., and D. Clark, "End-To-End Arguments | [Saltzer] Saltzer, J., Reed, D., and D. Clark, "End-To-End Arguments | |||
| in System Design", ACM TOCS, Vol 2, Number 4, November | in System Design", ACM TOCS, Vol 2, Number 4, pp 277-288 , | |||
| 1984, pp 277-288. , n.d.. | November 1984. | |||
| [Savage] Savage, S., "Modern Automotive Vulnerabilities: Causes, | ||||
| Disclosures, and Outcomes", USENIX , 2016. | ||||
| Author's Address | Author's Address | |||
| Jari Arkko | Jari Arkko | |||
| Ericsson | Ericsson | |||
| Email: jari.arkko@piuha.net | Email: jari.arkko@piuha.net | |||
| End of changes. 34 change blocks. | ||||
| 70 lines changed or deleted | 200 lines changed or added | |||
This html diff was produced by rfcdiff 1.42. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||