Internet DRAFT - draft-arkko-arch-internet-threat-model

draft-arkko-arch-internet-threat-model







Network Working Group                                           J. Arkko
Internet-Draft                                                  Ericsson
Intended status: Informational                             July 09, 2019
Expires: January 10, 2020


                  Changes in the Internet Threat Model
               draft-arkko-arch-internet-threat-model-01

Abstract

   Communications security has been at the center of many security
   improvements in the Internet.  The goal has been to ensure that
   communications are protected against outside observers and attackers.

   This memo suggests that the existing threat model, while important
   and still valid, is no longer alone sufficient to cater for the
   pressing security issues in the Internet.  For instance, it is also
   necessary to protect systems against endpoints that are compromised,
   malicious, or whose interests simply do not align with the interests
   of the users.  While such protection is difficult, there are some
   measures that can be taken.

   It is particularly important to ensure that as we continue to develop
   Internet technology, non-communications security related threats are
   properly understood.  While the consideration of these issues is
   relatively new in the IETF, this memo provides some initial ideas
   about potential broader threat models to consider when designing
   protocols for the Internet or when trying to defend against pervasive
   monitoring.  Further down the road, updated threat models could
   result in changes in RFC 3552 (guidelines for writing security
   considerations) and RFC 7258 (pervasive monitoring), to include
   proper consideration of non-communications security threats.  It may
   also be necessary to have dedicated guidance on how systems design
   and architecture affects security.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any



Arkko                   Expires January 10, 2020                [Page 1]

Internet-Draft            Internet Threat Model                July 2019


   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on January 10, 2020.

Copyright Notice

   Copyright (c) 2019 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Improvements in Communications Security . . . . . . . . . . .   5
   3.  Issues in Security Beyond Communications Security . . . . . .   5
   4.  Impacts . . . . . . . . . . . . . . . . . . . . . . . . . . .   8
     4.1.  The Role of End-to-end  . . . . . . . . . . . . . . . . .   8
     4.2.  Trusted networks  . . . . . . . . . . . . . . . . . . . .  10
       4.2.1.  Even closed networks can have compromised nodes . . .  11
     4.3.  Balancing Threats . . . . . . . . . . . . . . . . . . . .  12
   5.  Guidelines  . . . . . . . . . . . . . . . . . . . . . . . . .  12
   6.  Potential Changes in IETF Analysis of Protocols . . . . . . .  14
     6.1.  Changes in RFC 3552 . . . . . . . . . . . . . . . . . . .  14
     6.2.  Changes in RFC 7258 . . . . . . . . . . . . . . . . . . .  15
     6.3.  System and Architecture Aspects . . . . . . . . . . . . .  15
   7.  Other Work  . . . . . . . . . . . . . . . . . . . . . . . . .  15
   8.  Conclusions . . . . . . . . . . . . . . . . . . . . . . . . .  15
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .  16
   10. Informative References  . . . . . . . . . . . . . . . . . . .  16
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  18

1.  Introduction

   Communications security has been at the center of many security
   improvements in the Internet.  The goal has been to ensure that
   communications are protected against outside observers and attackers.
   At the IETF, this approach has been formalized in BCP 72 [RFC3552],
   which defined the Internet threat model in 2003.



Arkko                   Expires January 10, 2020                [Page 2]

Internet-Draft            Internet Threat Model                July 2019


   The purpose of a threat model is to outline what threats exist in
   order to assist the protocol designer.  But RFC 3552 also ruled some
   threats to be in scope and of primary interest, and some threats out
   of scope [RFC3552]:

      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.

      By contrast, we assume that the attacker has nearly complete
      control of the communications channel over which the end-systems
      communicate.  This means that the attacker can read any PDU
      (Protocol Data Unit) on the network and undetectably remove,
      change, or inject forged packets onto the wire.

   However, the communications-security -only threat model is becoming
   outdated.  This is due to three factors:

   o  Advances in protecting most of our communications with strong
      cryptographic means.  This has resulted in much improved
      communications security, but also highlights the need for
      addressing other, remaining issues.  This is not to say that
      communications security is not important, it still is:
      improvements are still needed.  Not all communications have been
      protected, and even out of the already protected communications,
      not all of their aspects have been fully protected.  Fortunately,
      there are ongoing projects working on improvements.

   o  Adversaries have increased their pressure against other avenues of
      attack, from compromising devices to legal coercion of centralized
      endpoints in conversations.

   o  New adversaries and risks have arisen, e.g., due to creation of
      large centralized information sources.

   In short, attacks are migrating towards the currently easier targets,
   which no longer necessarily include direct attacks on traffic flows.
   In addition, trading information about users and ability to influence
   them has become a common practice for many Internet services, often
   without consent of the users.

   This memo suggests that the existing threat model, while important
   and still valid, is no longer alone sufficient to cater for the
   pressing security issues in the Internet.  For instance, while it



Arkko                   Expires January 10, 2020                [Page 3]

Internet-Draft            Internet Threat Model                July 2019


   continues to be very important to protect Internet communications
   against outsiders, it is also necessary to protect systems against
   endpoints that are compromised, malicious, or whose interests simply
   do not align with the interests of the users.

   Of course, there are many trade-offs in the Internet on who one
   chooses to interact with and why or how.  It is not the role of this
   memo to dictate those choices.  But it is important that we
   understand the implications of different practices.  It is also
   important that when it comes to basic Internet infrastructure, our
   chosen technologies lead to minimal exposure with respect to the non-
   communications threats.

   It is particularly important to ensure that non-communications
   security related threats are properly understood for any new Internet
   technology.  While the consideration of these issues is relatively
   new in the IETF, this memo provides some initial ideas about
   potential broader threat models to consider when designing protocols
   for the Internet or when trying to defend against pervasive
   monitoring.  Further down the road, updated threat models could
   result in changes in BCP 72 [RFC3552] (guidelines for writing
   security considerations) and BCP 188 [RFC7258] (pervasive
   monitoring), to include proper consideration of non-communications
   security threats.

   It may also be necessary to have dedicated guidance on how systems
   design and architecture affects security.  The sole consideration of
   communications security aspects in designing Internet protocols may
   lead to accidental or increased impact of security issues elsewhere.
   For instance, allowing a participant to unnecessarily collect or
   receive information may be lead to a similar effect as described in
   [RFC8546] for protocols: over time, unnecessary information will get
   used with all the associated downsides, regardless of what deployment
   expectations there were during protocol design.

   The rest of this memo is organized as follows.  Section 2 and
   Section 3 outline the situation with respect to communications
   security and beyond it.  Section 4.1 discusses how the author
   believes the Internet threat model should evolve, and what types of
   threats should be seen as critical ones and in-scope.  Section 5 will
   also discuss high-level guidance to addressing these threats.

   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
   design and architecture on security.  Comments are solicited on these
   and other aspects of this document.  The best place for discussion is
   on the arch-discuss list (https://www.ietf.org/mailman/listinfo/
   Architecture-discuss).  This memo acts also as an input for the IAB



Arkko                   Expires January 10, 2020                [Page 4]

Internet-Draft            Internet Threat Model                July 2019


   retreat discussion on threat models, and it is a submission for the
   IAB DEDR workshop (https://www.iab.org/activities/workshops/dedr-
   workshop/).

   Finally, Section 7 highlights other discussions in this problem space
   and Section 8 draws some conclusions for next steps.

2.  Improvements in Communications Security

   The fraction of Internet traffic that is cryptographically protected
   has grown tremendously in the last few years.  Several factors have
   contributed to this change, from Snowden revelations to business
   reasons and to better available technology such as HTTP/2 [RFC7540],
   TLS 1.3 [RFC8446], QUIC [I-D.ietf-quic-transport].

   In many networks, the majority of traffic has flipped from being
   cleartext to being encrypted.  Reaching the level of (almost) all
   traffic being encrypted is no longer something unthinkable but rather
   a likely outcome in a few years.

   At the same time, technology developments and policy choices have
   driven the scope of cryptographic protection from protecting only the
   pure payload to protecting much of the rest as well, including far
   more header and meta-data information than was protected before.  For
   instance, efforts are ongoing in the IETF to assist encrypting
   transport headers [I-D.ietf-quic-transport], server domain name
   information in TLS [I-D.ietf-tls-esni], and domain name queries
   [RFC8484].

   There has also been improvements to ensure that the security
   protocols that are in use actually have suitable credentials and that
   those credentials have not been compromised, see, for instance, Let's
   Encrypt [RFC8555], HSTS [RFC6797], HPKP [RFC7469], and Expect-CT
   [I-D.ietf-httpbis-expect-ct].

   This is not to say that all problems in communications security have
   been resolved - far from it.  But the situation is definitely
   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
   continue.  Communications security will stay at the top of the agenda
   in any Internet technology development.

3.  Issues in Security Beyond Communications Security

   There are, however, significant issues beyond communications security
   in the Internet.  To begin with, it is not necessarily clear that one
   can trust all the endpoints.




Arkko                   Expires January 10, 2020                [Page 5]

Internet-Draft            Internet Threat Model                July 2019


   Of course, the endpoints were never trusted, but the pressures
   against endpoints issues seem to be mounting.  For instance, the
   users may not be in as much control over their own devices as they
   used to be due to manufacturer-controlled operating system
   installations and locked device ecosystems.  And within those
   ecosystems, even the applications that are available tend to have
   features that users by themselves would most likely not desire to
   have, such as excessive rights to media, location, and peripherals.
   There are also designated efforts by various authorities to hack end-
   user devices as a means of intercepting data about the user.

   The situation is different, but not necessarily better on the side of
   servers.  The pattern of communications in today's Internet is almost
   always via a third party that has at least as much information than
   the other parties have.  For instance, these third parties are
   typically endpoints for any transport layer security connections, and
   able to see any communications or other messaging in cleartextx.
   There are some exceptions, of course, e.g., messaging applications
   with end-to-end protection.

   With the growth of trading users' information by many of these third
   parties, it becomes necessary to take precautions against endpoints
   that are compromised, malicious, or whose interests simply do not
   align with the interests of the users.

   Specifically, the following issues need attention:

   o  Security of users' devices and the ability of the user to control
      their own equipment.

   o  Leaks and attacks related to data at rest.

   o  Coercion of some endpoints to reveal information to authorities or
      surveillance organizations, sometimes even in an extra-territorial
      fashion.

   o  Application design patterns that result in cleartext information
      passing through a third party or the application owner.

   o  Involvement of entities that have no direct need for involvement
      for the sake of providing the service that the user is after.

   o  Network and application architectures that result in a lot of
      information collected in a (logically) central location.

   o  Leverage and control points outside the hands of the users or end-
      user device owners.




Arkko                   Expires January 10, 2020                [Page 6]

Internet-Draft            Internet Threat Model                July 2019


   For instance, while e-mail transport security [RFC7817] has become
   much more widely distributed in recent years, progress in securing
   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
   mail providers who use it for machine learning, advertisement
   targeting, and other purposes.

   The Domain Name System (DNS) shows signs of ageing but due to the
   legacy of deployed systems, has changed very slowly.  Newer
   technology [RFC8484] developed at the IETF enables DNS queries to be
   performed confidentially, but its deployment is happening mostly in
   browsers that use 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 security for end users.

   However, if one steps back and considers the overall security effects
   of these developments, the resulting effects can be different.  While
   the security of the actual protocol exchanges improves with the
   introduction of this new technology, at the same time this implies a
   move from using a worldwide distributed set of DNS resolvers into
   more centralised global resolvers.  While these resolvers are very
   well maintained (and a great service), they are potential high-value
   targets for pervasive monitoring and Denial-of-Service (DoS) attacks.
   In 2016, for example, DoS attacks were launched against Dyn, one of
   the largest DNS providers, leading to some outages.  It is difficult
   to imagine that DNS resolvers wouldn't be a target in many future
   attacks or pervasive monitoring projects.

   Unfortunately, there is little that even large service providers can
   do to refuse authority-sanctioned pervasive monitoring.  As a result
   it seems that the only reasonable course of defense is to ensure that
   no such information or control point exists.

   There are other examples about the perils of centralised solutions in
   Internet infrastructure.  The DNS example involved an interesting
   combination of information flows (who is asking for what domain
   names) as well as a potential ability to exert control (what domains
   will actually resolve to an address).  Routing systems are primarily
   about control.  While there are intra-domain centralized routing
   solutions (such as PCE [RFC4655]), a control within a single
   administrative domain is usually not the kind of centralization that
   we would be worried about.  Global centralization would be much more
   concerning.  Fortunately, global Internet routing is performed a
   among peers.  However, controls could be introduced even in this
   global, distributed system.  To secure some of the control exchanges,
   the Resource Public Key Infrastructure (RPKI) system ([RFC6480])
   allows selected Certification Authorities (CAs) to help drive
   decisions about which participants in the routing infrastructure can



Arkko                   Expires January 10, 2020                [Page 7]

Internet-Draft            Internet Threat Model                July 2019


   make what claims.  If this system were globally centralized, it would
   be a concern, but again, fortunately, current designs involve at
   least regional distribution.

   In general, many recent attacks relate more to information than
   communications.  For instance, personal information leaks typically
   happen via information stored on a compromised server rather than
   capturing communications.  There is little hope that such attacks can
   be prevented entirely.  Again, the best course of action seems to be
   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
   can readily use the information.

4.  Impacts

4.1.  The Role of End-to-end

   [RFC1958] notes that "end-to-end functions can best be realised by
   end-to-end protocols":

      The basic argument is that, as a first principle, certain required
      end-to-end functions can only be performed correctly by the end-
      systems themselves.  A specific case is that any network, however
      carefully designed, will be subject to failures of transmission at
      some statistically determined rate.  The best way to cope with
      this is to accept it, and give responsibility for the integrity of
      communication to the end systems.  Another specific case is end-
      to-end security.

   The "end-to-end argument" was originally described by Saltzer et al
   [Saltzer].  They said:

      The function in question can completely and correctly be
      implemented only with the knowledge and help of the application
      standing at the endpoints of the communication system.  Therefore,
      providing that questioned function as a feature of the
      communication system itself is not possible.

   These functional arguments align with other, practical arguments
   about the evolution of the Internet under the end-to-end model.  The
   endpoints evolve quickly, often with simply having one party change
   the necessary software on both ends.  Whereas waiting for network
   upgrades would involve potentially a large number of parties from
   application owners to multiple network operators.

   The end-to-end model supports permissionless innovation where new
   innovation can flourish in the Internet without excessive wait for
   other parties to act.



Arkko                   Expires January 10, 2020                [Page 8]

Internet-Draft            Internet Threat Model                July 2019


   But the details matter.  What is considered an endpoint?  What
   characteristics of Internet are we trying to optimize?  This memo
   makes the argument that, for security purposes, there is a
   significant distinction between actual endpoints from a user's
   interaction perspective (e.g., another user) and from a system
   perspective (e.g., a third party relaying a message).

   This memo proposes to focus on the distinction between "real ends"
   and other endpoints to guide the development of protocols.  A
   conversation between one "real end" to another "real end" has
   necessarily different security needs than a conversation between,
   say, one of the "real ends" and a component in a larger system.  The
   end-to-end argument is used primarily for the design of one protocol.
   The security of the system, however, depends on the entire system and
   potentially multiple storage, compute, and communication protocol
   aspects.  All have to work properly together to obtain security.

   For instance, a transport connection between two components of a
   system is not an end-to-end connection even if it encompasses all the
   protocol layers up to the application layer.  It is not end-to-end,
   if the information or control function it carries actually extends
   beyond those components.  For instance, just because an e-mail server
   can read the contents of an e-mail message does not make it a
   legitimate recipient of the e-mail.

   This memo also proposes to focus on the "need to know" aspect in
   systems.  Information should not be disclosed, stored, or routed in
   cleartext through parties that do not absolutely need to have that
   information.

   The proposed argument about real ends is as follows:

      Application functions are best realised by the entities directly
      serving the users, and when more than one entity is involved, by
      end-to-end protocols.  The role and authority of any additional
      entities necessary to carry out a function should match their part
      of the function.  No information or control roles should be
      provided to these additional entities unless it is required by the
      function they provide.

   For instance, a particular piece of information may be necessary for
   the other real endpoint, such as message contents for another user.
   The same piece of information may not be necessary for any additional
   parties, unless the information had to do with, say, routing
   information for the message to reach the other user.  When
   information is only needed by the actual other endpoint, it should be
   protected and be only relayed to the actual other endpoint.  Protocol




Arkko                   Expires January 10, 2020                [Page 9]

Internet-Draft            Internet Threat Model                July 2019


   design should ensure that the additional parties do not have access
   to the information.

   Note that it may well be that the easiest design approach is to send
   all information to a third party and have majority of actual
   functionality reside in that third party.  But this is a case of a
   clear tradeoff between ease of change by evolving that third party
   vs. providing reasonable security against misuse of information.

   Note that the above "real ends" argument is not limited to
   communication systems.  Even an application that does not communicate
   with anyone else than its user may be implemented on top of a
   distributed system where some information about the user is exposed
   to untrusted parties.

   The implications of the system security also extend beyond
   information and control aspects.  For instance, poorly design
   component protocols can become DoS vectors which are then used to
   attack other parts of the system.  Availability is an important
   aspect to consider in the analysis along other aspects.

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.



Arkko                   Expires January 10, 2020               [Page 10]

Internet-Draft            Internet Threat Model                July 2019


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].





Arkko                   Expires January 10, 2020               [Page 11]

Internet-Draft            Internet Threat Model                July 2019


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:

      We embrace technical concepts such as decentralized control, edge-
      user empowerment and sharing of resources, because those concepts
      resonate with the core values of the IETF community.

   To be more specific, this memo suggests the following guidelines for
   protocol designers:

   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
       against the potential compromise of that party.

   3.  Perform end-to-end protection via other parties: Information
       passed via another party who does not intrinsically need the
       information to perform its function should be protected end-to-
       end to its intended recipient.  This guideline is general, and



Arkko                   Expires January 10, 2020               [Page 12]

Internet-Draft            Internet Threat Model                July 2019


       holds equally for sending TCP/IP packets, TLS connections, or
       application-layer interactions.  As [I-D.iab-wire-image] notes,
       it is a useful design rule to avoid "accidental invariance" (the
       deployment of on-path devices that over-time start to make
       assumptions about protocols).  However, it is also a necessary
       security design rule to avoid "accidental disclosure" where
       information originally thought to be benign and untapped over-
       time becomes a significant information leak.  This guideline can
       also be applied for different aspects of security, e.g.,
       confidentiality and integrity protection, depending on what the
       specific need for information is in the other parties.

   4.  Minimize passing of control functions to others: Any passing of
       control functions to other parties should be minimized to guard
       against the potential misuse of those control functions.  This
       applies to both technical (e.g., nodes that assign resources) and
       process control functions (e.g., the ability to allocate number
       or develop extensions).  Control functions can also become a
       matter of contest and power struggle, even in cases where their
       function as such is minimal, as we saw with the IANA transition
       debates.

   5.  Avoid centralized resources: While centralized components,
       resources, and function provide usually a useful function, there
       are grave issues associated with them.  Protocol and network
       design should balance the benefits of centralized resources or
       control points against the threats arising from them.  The
       general guideline is to avoid such centralized resources when
       possible.  And if it is not possible, find a way to allow the
       centralized resources to be selectable, depending on context and
       user settings.

   6.  Have explicit agreements: When users and their devices provide
       information to network entities, it would be beneficial to have
       an opportunity for the users to state their requirements
       regarding the use of the information provided in this way.  While
       the actual use of such requirements and the willingness of
       network entities to agree to them remains to be seen, at the
       moment even the technical means of doing this are limited.  For
       instance, it would be beneficial to be able to embed usage
       requirements within popular data formats.

   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.



Arkko                   Expires January 10, 2020               [Page 13]

Internet-Draft            Internet Threat Model                July 2019


   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
   initial, draft proposal for such changes would be this:

   OLD:

      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.

   NEW:

      In general, we assume that the end-system engaging in a protocol
      exchange has not itself been compromised.  Protecting against an
      attack of a protocol implementation itself is extraordinarily
      difficult.  It is, however, possible to design protocols which
      minimize the extent of the damage done when the other parties in a
      protocol become compromised or do not act in the best interests
      the end-system implementing a protocol.

   In addition, the following new section could be added to discuss the
   capabilities required to mount an attack:

   NEW:

   3.x.  Other endpoint compromise

      In this attack, the other endpoints in the protocol become
      compromised.  As a result, they can, for instance, misuse any
      information that the end-system implementing a protocol has sent
      to the compromised endpoint.





Arkko                   Expires January 10, 2020               [Page 14]

Internet-Draft            Internet Threat Model                July 2019


6.2.  Changes in RFC 7258

   This memo also suggests that additional guidelines may be necessary
   in RFC 7258.  An initial, draft suggestion for starting point of
   those changes could be adding the following paragraph after the 2nd
   paragraph in Section 2:

   NEW:

      PM attacks include those cases where information collected by a
      legitimate protocol participant is misused for PM purposes.  The
      attacks also include those cases where a protocol or network
      architecture results in centralized data storage or control
      functions relating to many users, raising the risk of said misuse.

6.3.  System and Architecture Aspects

   This definitely needs more attention from Internet technology
   developers and standards organizations.  Here is one possible

      The design of any Internet technology should start from an
      understanding of the participants in a system, their roles, and
      the extent to which they should have access to information and
      ability to control other participants.

7.  Other Work

   See, for instance, [I-D.farrell-etm].

8.  Conclusions

   More work is needed in this area.  To start with, Internet technology
   developers need to be better aware of the issues beyond
   communications security, and consider them in design.  At the IETF it
   would be beneficial to include some of these considerations in the
   usual systematic security analysis of technologies under development.

   In particular, when the IETF develops infrastructure technology for
   the Internet (such as routing or naming systems), considering the
   impacts of data generated by those technologies is important.
   Minimising data collection from users, minimising the parties who get
   exposed to user data, and protecting data that is relayed or stored
   in systems should be a priority.

   A key focus area at the IETF has been the security of transport
   protocols, and how transport layer security can be best used to
   provide the right security for various applications.  However, more
   work is needed in equivalently broadly deployed tools for minimising



Arkko                   Expires January 10, 2020               [Page 15]

Internet-Draft            Internet Threat Model                July 2019


   or obfuscating information provided by users to other entities, and
   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
   being passed through them.

   Comments on the issues discussed in this memo are gladly taken either
   privately or on the architecture-discuss mailing list.

9.  Acknowledgements

   The author would like to thank John Mattsson, Mirja Kuehlewind,
   Alissa Cooper, Stephen Farrell, Eric Rescorla, Simone Ferlin,
   Kathleen Moriarty, Brian Trammell, Mark Nottingham, Christian
   Huitema, Karl Norrman, Ted Hardie, Mohit Sethi, Phillip Hallam-Baker,
   Goran Eriksson and the IAB for interesting discussions in this
   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.

10.  Informative References

   [I-D.farrell-etm]
              Farrell, S., "We're gonna need a bigger threat model",
              draft-farrell-etm-03 (work in progress), July 2019.

   [I-D.iab-wire-image]
              Trammell, B. and M. Kuehlewind, "The Wire Image of a
              Network Protocol", draft-iab-wire-image-01 (work in
              progress), November 2018.

   [I-D.ietf-httpbis-expect-ct]
              estark@google.com, e., "Expect-CT Extension for HTTP",
              draft-ietf-httpbis-expect-ct-08 (work in progress),
              December 2018.

   [I-D.ietf-quic-transport]
              Iyengar, J. and M. Thomson, "QUIC: A UDP-Based Multiplexed
              and Secure Transport", draft-ietf-quic-transport-20 (work
              in progress), April 2019.

   [I-D.ietf-tls-esni]
              Rescorla, E., Oku, K., Sullivan, N., and C. Wood,
              "Encrypted Server Name Indication for TLS 1.3", draft-
              ietf-tls-esni-03 (work in progress), March 2019.

   [I-D.nottingham-for-the-users]
              Nottingham, M., "The Internet is for End Users", draft-
              nottingham-for-the-users-08 (work in progress), June 2019.



Arkko                   Expires January 10, 2020               [Page 16]

Internet-Draft            Internet Threat Model                July 2019


   [RFC1958]  Carpenter, B., Ed., "Architectural Principles of the
              Internet", RFC 1958, DOI 10.17487/RFC1958, June 1996,
              <https://www.rfc-editor.org/info/rfc1958>.

   [RFC3552]  Rescorla, E. and B. Korver, "Guidelines for Writing RFC
              Text on Security Considerations", BCP 72, RFC 3552,
              DOI 10.17487/RFC3552, July 2003, <https://www.rfc-
              editor.org/info/rfc3552>.

   [RFC3935]  Alvestrand, H., "A Mission Statement for the IETF",
              BCP 95, RFC 3935, DOI 10.17487/RFC3935, October 2004,
              <https://www.rfc-editor.org/info/rfc3935>.

   [RFC4655]  Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
              Element (PCE)-Based Architecture", RFC 4655,
              DOI 10.17487/RFC4655, August 2006, <https://www.rfc-
              editor.org/info/rfc4655>.

   [RFC6480]  Lepinski, M. and S. Kent, "An Infrastructure to Support
              Secure Internet Routing", RFC 6480, DOI 10.17487/RFC6480,
              February 2012, <https://www.rfc-editor.org/info/rfc6480>.

   [RFC6797]  Hodges, J., Jackson, C., and A. Barth, "HTTP Strict
              Transport Security (HSTS)", RFC 6797,
              DOI 10.17487/RFC6797, November 2012, <https://www.rfc-
              editor.org/info/rfc6797>.

   [RFC6973]  Cooper, A., Tschofenig, H., Aboba, B., Peterson, J.,
              Morris, J., Hansen, M., and R. Smith, "Privacy
              Considerations for Internet Protocols", RFC 6973,
              DOI 10.17487/RFC6973, July 2013, <https://www.rfc-
              editor.org/info/rfc6973>.

   [RFC7258]  Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an
              Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May
              2014, <https://www.rfc-editor.org/info/rfc7258>.

   [RFC7469]  Evans, C., Palmer, C., and R. Sleevi, "Public Key Pinning
              Extension for HTTP", RFC 7469, DOI 10.17487/RFC7469, April
              2015, <https://www.rfc-editor.org/info/rfc7469>.

   [RFC7540]  Belshe, M., Peon, R., and M. Thomson, Ed., "Hypertext
              Transfer Protocol Version 2 (HTTP/2)", RFC 7540,
              DOI 10.17487/RFC7540, May 2015, <https://www.rfc-
              editor.org/info/rfc7540>.






Arkko                   Expires January 10, 2020               [Page 17]

Internet-Draft            Internet Threat Model                July 2019


   [RFC7817]  Melnikov, A., "Updated Transport Layer Security (TLS)
              Server Identity Check Procedure for Email-Related
              Protocols", RFC 7817, DOI 10.17487/RFC7817, March 2016,
              <https://www.rfc-editor.org/info/rfc7817>.

   [RFC8446]  Rescorla, E., "The Transport Layer Security (TLS) Protocol
              Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
              <https://www.rfc-editor.org/info/rfc8446>.

   [RFC8484]  Hoffman, P. and P. McManus, "DNS Queries over HTTPS
              (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018,
              <https://www.rfc-editor.org/info/rfc8484>.

   [RFC8546]  Trammell, B. and M. Kuehlewind, "The Wire Image of a
              Network Protocol", RFC 8546, DOI 10.17487/RFC8546, April
              2019, <https://www.rfc-editor.org/info/rfc8546>.

   [RFC8555]  Barnes, R., Hoffman-Andrews, J., McCarney, D., and J.
              Kasten, "Automatic Certificate Management Environment
              (ACME)", RFC 8555, DOI 10.17487/RFC8555, March 2019,
              <https://www.rfc-editor.org/info/rfc8555>.

   [Saltzer]  Saltzer, J., Reed, D., and D. Clark, "End-To-End Arguments
              in System Design", ACM TOCS, Vol 2, Number 4, pp 277-288 ,
              November 1984.

   [Savage]   Savage, S., "Modern Automotive Vulnerabilities: Causes,
              Disclosures, and Outcomes", USENIX , 2016.

Author's Address

   Jari Arkko
   Ericsson

   Email: jari.arkko@piuha.net
















Arkko                   Expires January 10, 2020               [Page 18]