diff options
Diffstat (limited to 'doc/rfc/rfc7435.txt')
| -rw-r--r-- | doc/rfc/rfc7435.txt | 619 | 
1 files changed, 619 insertions, 0 deletions
| diff --git a/doc/rfc/rfc7435.txt b/doc/rfc/rfc7435.txt new file mode 100644 index 0000000..6bcd144 --- /dev/null +++ b/doc/rfc/rfc7435.txt @@ -0,0 +1,619 @@ + + + + + + +Internet Engineering Task Force (IETF)                       V. Dukhovni +Request for Comments: 7435                                     Two Sigma +Category: Informational                                    December 2014 +ISSN: 2070-1721 + + +        Opportunistic Security: Some Protection Most of the Time + +Abstract + +   This document defines the concept "Opportunistic Security" in the +   context of communications protocols.  Protocol designs based on +   Opportunistic Security use encryption even when authentication is not +   available, and use authentication when possible, thereby removing +   barriers to the widespread use of encryption on the Internet. + +Status of This Memo + +   This document is not an Internet Standards Track specification; it is +   published for informational purposes. + +   This document is a product of the Internet Engineering Task Force +   (IETF).  It represents the consensus of the IETF community.  It has +   received public review and has been approved for publication by the +   Internet Engineering Steering Group (IESG).  Not all documents +   approved by the IESG are a candidate for any level of Internet +   Standard; see Section 2 of RFC 5741. + +   Information about the current status of this document, any errata, +   and how to provide feedback on it may be obtained at +   http://www.rfc-editor.org/info/rfc7435. + +Copyright Notice + +   Copyright (c) 2014 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. + + + + + +Dukhovni                      Informational                     [Page 1] + +RFC 7435                 Opportunistic Security            December 2014 + + +Table of Contents + +   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2 +     1.1.  Background  . . . . . . . . . . . . . . . . . . . . . . .   2 +     1.2.  A New Perspective . . . . . . . . . . . . . . . . . . . .   3 +   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   5 +   3.  Opportunistic Security Design Principles  . . . . . . . . . .   5 +   4.  Example: Opportunistic TLS in SMTP  . . . . . . . . . . . . .   8 +   5.  Operational Considerations  . . . . . . . . . . . . . . . . .   8 +   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   9 +   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10 +     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  10 +     7.2.  Informative References  . . . . . . . . . . . . . . . . .  10 +   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  11 +   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  11 + +1.  Introduction + +1.1.  Background + +   Historically, Internet security protocols have emphasized +   comprehensive "all or nothing" cryptographic protection against both +   passive and active attacks.  With each peer, such a protocol achieves +   either full protection or else total failure to communicate (hard +   fail).  As a result, operators often disable these security protocols +   when users have difficulty connecting, thereby degrading all +   communications to cleartext transmission. + +   Protection against active attacks requires authentication.  The +   ability to authenticate any potential peer on the Internet requires +   an authentication mechanism that encompasses all such peers.  No IETF +   standard for authentication scales as needed and has been deployed +   widely enough to meet this requirement. + +   The Public Key Infrastructure (PKI) model employed by browsers to +   authenticate web servers (often called the "Web PKI") imposes cost +   and management burdens that have limited its use.  With so many +   Certification Authorities (CAs), not all of which everyone is willing +   to trust, the communicating parties don't always agree on a mutually +   trusted CA.  Without a mutually trusted CA, authentication fails, +   leading to communications failure in protocols that mandate +   authentication.  These issues are compounded by operational +   difficulties.  For example, a common problem is for site operators to +   forget to perform timely renewal of expiring certificates.  In Web +   PKI interactive applications, security warnings are all too frequent, +   and end users learn to actively ignore security problems, or site +   administrators decide that the maintenance cost is not worth the +   benefit so they provide a cleartext-only service to their users. + + + +Dukhovni                      Informational                     [Page 2] + +RFC 7435                 Opportunistic Security            December 2014 + + +   The trust-on-first-use (TOFU) authentication approach assumes that an +   unauthenticated public key obtained on first contact (and retained +   for future use) will be good enough to secure future communication. +   TOFU-based protocols do not protect against an attacker who can +   hijack the first contact communication and require more care from the +   end user when systems update their cryptographic keys.  TOFU can make +   it difficult to distinguish routine key management from a malicious +   attack. + +   DNS-Based Authentication of Named Entities (DANE) [RFC6698] defines a +   way to distribute public keys bound to DNS names.  It can provide an +   alternative to the Web PKI.  DANE needs to be used in conjunction +   with DNSSEC [RFC4033].  At the time of writing, DNSSEC is not +   sufficiently widely deployed to allow DANE to authenticate all +   potential peers.  Protocols that mandate authenticated communication +   cannot yet generally do so via DANE (at the time of writing). + +   The lack of a global key management system means that for many +   protocols, only a minority of communications sessions can be +   predictably authenticated.  When protocols only offer a choice +   between authenticated-and-encrypted communication, or no protection, +   the result is that most traffic is sent in cleartext.  The fact that +   most traffic is not encrypted makes pervasive monitoring easier by +   making it cost-effective, or at least not cost-prohibitive (see +   [RFC7258] for more detail). + +   For encryption to be used more broadly, authentication needs to be +   optional.  The use of encryption defends against pervasive monitoring +   and other passive attacks.  Even unauthenticated, encrypted +   communication (defined below) is preferable to cleartext. + +1.2.  A New Perspective + +   This document describes a change of perspective.  Until now, the +   protocol designer has viewed protection against both passive and +   active attacks as the default, and anything short of that as +   "degraded security" or a "fallback".  The new viewpoint is that +   without specific knowledge of peer capabilities (or explicit +   configuration or direct request of the application), the default +   protection is no protection, and anything more than that is an +   improvement. + +   "Opportunistic Security" (OS) is defined as the use of cleartext as +   the baseline communication security policy, with encryption and +   authentication negotiated and applied to the communication when +   available. + + + + + +Dukhovni                      Informational                     [Page 3] + +RFC 7435                 Opportunistic Security            December 2014 + + +   Cleartext, not comprehensive protection, is the default baseline.  An +   OS protocol is not falling back from comprehensive protection when +   that protection is not supported by all peers; rather, OS protocols +   aim to use the maximum protection that is available.  (At some point +   in time for a particular application or protocol all but a negligible +   fraction of peers might support encryption.  At that time, the +   baseline security might be raised from cleartext to always require +   encryption, and only authentication would have to be done +   opportunistically.) + +   To achieve widespread adoption, OS must support incremental +   deployment.  Incremental deployment implies that security +   capabilities will vary from peer to peer, perhaps for a very long +   time.  OS protocols will attempt to establish encrypted communication +   whenever both parties are capable of such, and authenticated +   communication if that is also possible.  Thus, use of an OS protocol +   may yield communication that is authenticated and encrypted, +   unauthenticated but encrypted, or cleartext.  This last outcome will +   occur if not all parties to a communication support encryption (or if +   an active attack makes it appear that this is the case). + +   When less than complete protection is negotiated, there is no need to +   prompt the user with "your security may be degraded, please click OK" +   dialogs.  The negotiated protection is as good as can be expected. +   Even if not comprehensive, it is often better than the traditional +   outcome of either "no protection" or "communications failure". + +   OS is not intended as a substitute for authenticated, encrypted +   communication when such communication is already mandated by policy +   (that is, by configuration or direct request of the application) or +   is otherwise required to access a particular resource.  In essence, +   OS is employed when one might otherwise settle for cleartext.  OS +   protocols never preempt explicit security policies.  A security +   administrator may specify security policies that override OS.  For +   example, a policy might require authenticated, encrypted +   communication, in contrast to the default OS security policy. + +   In this document, the word "opportunistic" carries a positive +   connotation.  Based on advertised peer capabilities, an OS protocol +   uses as much protection as possible.  The adjective "opportunistic" +   applies to the adaptive choice of security mechanisms peer by peer. +   Once that choice is made for a given peer, OS looks rather similar to +   other designs that happen to use the same set of mechanisms. + +   The remainder of this document provides definitions of important +   terms, sets out the OS design principles, and provides an example of +   an OS design in the context of communication between mail relays. + + + + +Dukhovni                      Informational                     [Page 4] + +RFC 7435                 Opportunistic Security            December 2014 + + +2.  Terminology + +   Trust on First Use (TOFU):  In a protocol, TOFU calls for accepting +      and storing a public key or credential associated with an asserted +      identity, without authenticating that assertion.  Subsequent +      communication that is authenticated using the cached key or +      credential is secure against an MiTM attack, if such an attack did +      not succeed during the vulnerable initial communication.  The SSH +      protocol [RFC4251] in its commonly deployed form makes use of +      TOFU.  The phrase "leap of faith" [RFC4949] is sometimes used as a +      synonym. + +   Authenticated, encrypted communication:  Encrypted communication +      using a session establishment method in which at least the +      initiator (or client) authenticates the identity of the acceptor +      (or server).  This is required to protect against both passive and +      active attacks.  Mutual authentication, in which the server also +      authenticates the client, plays a role in mitigating active +      attacks when the client and server roles change in the course of a +      single session. + +   Unauthenticated, encrypted communication:  Encrypted communication +      using a session establishment method that does not authenticate +      the identities of the peers.  In typical usage, this means that +      the initiator (client) has not verified the identity of the target +      (server), making MiTM attacks possible. + +   Perfect Forward Secrecy (PFS):  As defined in [RFC4949]. + +   Man-in-the-Middle (MiTM) attack:  As defined in [RFC4949]. + +   OS protocol:  A protocol that follows the opportunistic approach to +      security described herein. + +3.  Opportunistic Security Design Principles + +   OS provides a near-term approach to counter passive attacks by +   removing barriers to the widespread use of encryption.  OS offers an +   incremental path to authenticated, encrypted communication in the +   future, as suitable authentication technologies are deployed.  OS +   promotes the following design principles: + +   Coexist with explicit policy:  Explicit security policies preempt OS. +      Opportunistic security never displaces or preempts explicit +      policy.  Many applications and types of data are too sensitive to +      use OS, and more traditional security designs are appropriate in +      such cases. + + + + +Dukhovni                      Informational                     [Page 5] + +RFC 7435                 Opportunistic Security            December 2014 + + +   Prioritize communication:  The primary goal of OS is to not impede +      communication while maximizing the deployment of usable security. +      OS protocols need to be deployable incrementally, with each peer +      configured independently by its administrator or user.  With OS, +      communication is still possible even when some peers support +      encryption or authentication and others do not. + +   Maximize security peer by peer:  OS protocols use encryption when it +      is mutually supported.  OS protocols enforce peer authentication +      when an authenticated out-of-band channel is available to provide +      the requisite keys or credentials.  In general, communication +      should be at least encrypted.  OS should employ PFS wherever +      possible in order to protect previously recorded encrypted +      communication from decryption even after a compromise of long-term +      keys. + +   No misrepresentation of security:  Unauthenticated, encrypted +      communication must not be misrepresented to users or in +      application logs of non-interactive applications as equivalent to +      authenticated, encrypted communication. + +   An OS protocol first determines the capabilities of the peer with +   which it is attempting to communicate.  Peer capabilities may be +   discovered by out-of-band or in-band means.  (Out-of-band mechanisms +   include the use of DANE records or cached keys or credentials +   acquired via TOFU.  In-band determination implies negotiation between +   peers.)  The capability determination phase may indicate that the +   peer supports authenticated, encrypted communication; +   unauthenticated, encrypted communication; or only cleartext +   communication. + +   Encryption is used to mitigate the risk of passive monitoring +   attacks, while authentication is used to mitigate the risk of active +   MiTM attacks.  When encryption capability is advertised over an +   insecure channel, MiTM downgrade attacks to cleartext may be +   possible.  Since encryption without authentication only mitigates +   passive attacks, this risk is consistent with the expected level of +   protection.  For authentication to protect against MiTM attacks, the +   peer capability advertisements that convey support for authentication +   need to be over an out-of-band authenticated channel that is itself +   resistant to MiTM attack. + +   Opportunistic security protocols may hard-fail with peers for which a +   security capability fails to function as advertised.  Security +   services that work reliably (when not under attack) are more likely +   to be deployed and enabled by default.  It is vital that the +   capabilities advertised for an OS-compatible peer match the deployed +   reality.  Otherwise, OS systems will detect such a broken deployment + + + +Dukhovni                      Informational                     [Page 6] + +RFC 7435                 Opportunistic Security            December 2014 + + +   as an active attack and communication may fail.  This might mean that +   advertised peer capabilities are further filtered to consider only +   those capabilities that are sufficiently operationally reliable. +   Capabilities that can't be expected to work reliably should be +   treated by an OS protocol as "not present" or "undefined". + +   With unauthenticated, encrypted communication, OS protocols may +   employ more liberal settings than would be best practice when +   security is mandated by policy.  Some legacy systems support +   encryption, but implement only outdated algorithms or protocol +   versions.  Compatibility with these systems avoids the need to resort +   to cleartext fallback. + +   For greater assurance of channel security, an OS protocol may enforce +   more stringent cryptographic parameters when the session is +   authenticated.  For example, the set of enabled Transport Layer +   Security (TLS) [RFC5246] cipher suites might exclude deprecated +   algorithms that would be tolerated with unauthenticated, encrypted +   communication. + +   OS protocols should produce authenticated, encrypted communication +   when authentication of the peer is "expected".  Here, "expected" +   means a determination via a downgrade-resistant method that +   authentication of that peer is expected to work.  Downgrade-resistant +   methods include: validated DANE DNS records, existing TOFU identity +   information, and manual configuration.  Such use of authentication is +   "opportunistic", in that it is performed when possible, on a per- +   session basis. + +   When communicating with a peer that supports encryption but not +   authentication, any authentication checks enabled by default must be +   disabled or configured to soft-fail in order to avoid unnecessary +   communications failure or needless downgrade to cleartext. + +   The support of cleartext and the use of outdated algorithms, and +   especially broken algorithms, is for backwards compatibility with +   systems already deployed.  Protocol designs based on Opportunistic +   Security prefer to encrypt and prefer to use the best available +   encryption algorithms available.  OS protocols employ cleartext or +   broken encryption algorithms only with peers that do not appear to be +   capable of doing otherwise.  The eventual desire is to transition +   away from cleartext and broken algorithms, and particularly for +   broken algorithms, it is highly desirable to remove such +   functionality from implementations. + + + + + + + +Dukhovni                      Informational                     [Page 7] + +RFC 7435                 Opportunistic Security            December 2014 + + +4.  Example: Opportunistic TLS in SMTP + +   Most Message Transfer Agents (MTAs) [RFC5598] support the STARTTLS +   [RFC3207] ESMTP extension.  MTAs acting as SMTP [RFC5321] clients +   generally support cleartext transmission of email.  They negotiate +   TLS encryption when the SMTP server announces STARTTLS support. +   Since the initial ESMTP negotiation is not cryptographically +   protected, the STARTTLS advertisement is vulnerable to MiTM downgrade +   attacks. + +   Recent reports from a number of large providers (e.g., [fb-starttls] +   and [goog-starttls]) suggest that the majority of SMTP email +   transmission on the Internet is now encrypted, and the trend is +   toward increasing adoption. + +   Various MTAs that advertise STARTTLS exhibit interoperability +   problems in their implementations.  As a work-around, it is common +   for a client MTA to fall back to cleartext when the TLS handshake +   fails, or when TLS fails during message transmission.  This is a +   reasonable trade-off, since STARTTLS only protects against passive +   attacks.  In the absence of an active attack, TLS failures are +   generally one of the known interoperability problems. + +   Some client MTAs employing STARTTLS abandon the TLS handshake when +   the server MTA fails authentication and immediately start a cleartext +   connection.  Other MTAs have been observed to accept unverified self- +   signed certificates, but not expired certificates; again falling back +   to cleartext.  These and similar behaviors are NOT consistent with OS +   principles, since they needlessly fall back to cleartext when +   encryption is clearly possible. + +   Protection against active attacks for SMTP is described in +   [SMTP-DANE].  That document introduces the terms "Opportunistic TLS" +   and "Opportunistic DANE TLS", and is consistent with the OS design +   principles defined in this document.  With "Opportunistic DANE TLS", +   authenticated, encrypted communication is enforced with peers for +   which appropriate DANE records are present.  For the remaining peers, +   "Opportunistic TLS" is employed as before. + +5.  Operational Considerations + +   OS protocol designs should minimize the possibility of failure of +   negotiated security mechanisms.  OS protocols may need to employ +   "fallback", to work-around a failure of a security mechanisms that is +   found in practice to encounter interoperability problems.  The choice +   to implement or enable fallback should only be made in response to +   significant operational obstacles. + + + + +Dukhovni                      Informational                     [Page 8] + +RFC 7435                 Opportunistic Security            December 2014 + + +   When protection only against passive attacks is negotiated over a +   channel vulnerable to active downgrade attacks and the use of +   encryption fails, a protocol might elect non-intrusive fallback to +   cleartext.  Failure to encrypt may be more often a symptom of an +   interoperability problem than an active attack.  In such a situation, +   occasional fallback to cleartext may serve the greater good.  Even +   though some traffic is sent in the clear, the alternative is to ask +   the administrator or user to manually work-around such +   interoperability problems.  If the incidence of such problems is non- +   negligible, the user or administrator might find it more expedient to +   just disable Opportunistic Security. + +6.  Security Considerations + +   OS supports communication that is authenticated and encrypted, +   unauthenticated and encrypted, or cleartext.  And yet the security +   provided to communicating peers is not reduced by the use of OS +   because the default OS policy employs the best security services +   available based on the capabilities of the peers, and because +   explicit security policies take precedence over the default OS +   policy.  OS is an improvement over the status quo; it provides better +   security than the alternative of providing no security services when +   authentication is not possible (and not strictly required). + +   While the use of OS is preempted by a non-OS explicit policy, such a +   non-OS policy can be counter-productive when it demands more than +   many peers can in fact deliver.  A non-OS policy should be used with +   care, lest users find it too restrictive and act to disable security +   entirely. + +   When protocols follow the OS approach, attackers engaged in large- +   scale passive monitoring can no longer just collect everything, and +   have to be more selective and/or mount more active attacks.  In +   addition, OS means active attacks on everyone all the time are much +   more likely to be noticed. + +   Specific techniques for detection and mitigation of active attacks in +   the absence of authentication are out of scope for this document. +   Some existing protocols that could support OS may be vulnerable to +   relatively low-cost downgrade attacks for attackers on the path. +   However, when such attacks are employed pervasively in order to +   facilitate, for example, surveillance, this is often detectable; +   hence, even in such scenarios, OS protocols provide a positive +   benefit. + +   Protocols following the OS approach may need to define additional +   measures to make systematic downgrades less likely to succeed or more +   likely to be detected.  When we have more experience in this space, + + + +Dukhovni                      Informational                     [Page 9] + +RFC 7435                 Opportunistic Security            December 2014 + + +   future revisions of this or related documents may be able to make +   more generally applicable recommendations. + +7.  References + +7.1.  Normative References + +   [RFC3207]  Hoffman, P., "SMTP Service Extension for Secure SMTP over +              Transport Layer Security", RFC 3207, February 2002, +              <http://www.rfc-editor.org/info/rfc3207>. + +   [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S. +              Rose, "DNS Security Introduction and Requirements", RFC +              4033, March 2005, +              <http://www.rfc-editor.org/info/rfc4033>. + +   [RFC4251]  Ylonen, T. and C. Lonvick, "The Secure Shell (SSH) +              Protocol Architecture", RFC 4251, January 2006, +              <http://www.rfc-editor.org/info/rfc4251>. + +   [RFC4949]  Shirey, R., "Internet Security Glossary, Version 2", RFC +              4949, August 2007, +              <http://www.rfc-editor.org/info/rfc4949>. + +   [RFC5246]  Dierks, T. and E. Rescorla, "The Transport Layer Security +              (TLS) Protocol Version 1.2", RFC 5246, August 2008, +              <http://www.rfc-editor.org/info/rfc5246>. + +   [RFC5321]  Klensin, J., "Simple Mail Transfer Protocol", RFC 5321, +              October 2008, <http://www.rfc-editor.org/info/rfc5321>. + +   [RFC6698]  Hoffman, P. and J. Schlyter, "The DNS-Based Authentication +              of Named Entities (DANE) Transport Layer Security (TLS) +              Protocol: TLSA", RFC 6698, August 2012, +              <http://www.rfc-editor.org/info/rfc6698>. + +7.2.  Informative References + +   [RFC5598]  Crocker, D., "Internet Mail Architecture", RFC 5598, July +              2009, <http://www.rfc-editor.org/info/rfc5598>. + +   [RFC7258]  Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an +              Attack", BCP 188, RFC 7258, May 2014, +              <http://www.rfc-editor.org/info/rfc7258>. + + + + + + + +Dukhovni                      Informational                    [Page 10] + +RFC 7435                 Opportunistic Security            December 2014 + + +   [SMTP-DANE] +              Dukhovni, V. and W. Hardaker, "SMTP security via +              opportunistic DANE TLS", Work in Progress, draft-ietf- +              dane-smtp-with-dane-13, October 2014. + +   [fb-starttls] +              Facebook, "The Current State of SMTP STARTTLS Deployment", +              May 2014, <https://www.facebook.com/notes/protect-the- +              graph/the-current-state-of-smtp-starttls-deployment/ +              1453015901605223>. + +   [goog-starttls] +              Google, "Safer email - Transparency Report - Google", June +              2014, <https://www.google.com/transparencyreport/ +              saferemail/>. + +Acknowledgements + +   I would like to thank Dave Crocker, Peter Duchovni, Paul Hoffman, +   Benjamin Kaduk, Steve Kent, Scott Kitterman, Pete Resnick, Martin +   Thomson, Nico Williams, Paul Wouters, and Stephen Farrell for their +   many helpful suggestions and support. + +Author's Address + +   Viktor Dukhovni +   Two Sigma + +   EMail: ietf-dane@dukhovni.org + + + + + + + + + + + + + + + + + + + + + + +Dukhovni                      Informational                    [Page 11] + |