Network Working Group S. Kent
Internet-Draft BBN Technologies
Intended status: Informational March 18, 2014
Expires: September 19, 2014

Pervasive Encryption as a Countermeasure to Pervasive Monitoring


This document was prepared as part of the IETF response to concerns about "pervasive monitoring" as articulated in [I-D.farrell-perpass-attack]. It begins by exploring terminology that has been used in IETF standards (and in academic publications) to describe encryption and key management techniques, with a focus on authentication vs. anonymity. Based on this analysis, it propose a new term, "pervasive encryption" (PE) to describe a goal for IETF security protocols, one countermeasure to pervasive monitoring.

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

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any 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 September 19, 2014.

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 ( 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. What's in a Name (for Encryption)?

Recent discussions in the IETF about pervasive monitoring (PM) have suggested a desire to increase use of encryption, even when the encrypted communication is unauthenticated. The term "opportunistic encryption" has been used frequently, but often without a precise definition. Some have suggested it refers to unauthenticated encryption, others view it as a shorthand for any set of mechanisms that encourage more widespread use of encryption, a marketing term that need not be precisely defined. This document examines a range of terminology relevant to the topic, and suggests use of a new term: "pervasive encryption" (PE). It also proposes a definition for the term, in the belief that the IETF deserves more than a marketing catchphrase.

PE (for realtime communication) exhibits the following characteristics:

  1. It is invisible to users (so that they do not become confused by the set of security services they are being offered).
  2. It is not a substitute for authenticated, integrity-protected encryption when that set of security services can be provided to a user.
  3. PE makes use of perfect forward secrecy (PFS) for key agreement.
  4. Detection of a man-in-the-middle (MiTM) attacks is a desired, thought not mandatory, feature.
  5. Authentication is a desired, thought not mandatory, feature.
  6. Use of PE must not introduce delays in session/connection establishment that will discourage its use. As a result, MiTM detection and authentication should take place after an encrypted session/connection is established. This ordering implies that some data may be transmitted prior to authentication or detection of a MiTM.
  7. Because PE calls for a new key management paradigm, it requires new capabilities by peers. Thus, until PE is universally adopted, an outcome of attempting PE may be a fallback to plaintext communication.

The term opportunistic encryption (OE) was coined by Michael Richardson in "Opportunistic Encryption using the Internet Key Exchange (IKE)" an Informational RFC [RFC4322]. In this RFC the term is defined as:

This definition above is a bit opaque. The introduction to RFC 4322 provides a clearer description of the term, by stating the goal of OE:

Later the RFC notes:

The reference to "prior bilateral arrangement" is relevant to IPsec but not to most other IETF security protocols. If every pair of communicating entities were required to make prior bilateral arrangements to enable encryption between them, a substantial impediment would exist to widespread use of encryption. However, other IETF security protocols define ways to enable encryption that do not require prior bilateral arrangements. Some of these protocols require that the target of a communication make available a public key, for use by any initiator of a communication; an example of a prior unilateral arrangement. The essential difference between IPsec and most other IETF security protocols is that IPsec intrinsically incorporates access control; other IETF security protocols do not.

The definition provided in [RFC4322] is specific to the IPsec [RFC4301] context and ought not be used to describe the goals noted above, as a countermeasure to PM. Because IPsec implements access controls, it requires explicit specification (by each peer) of how to process all traffic that crosses an "IPsec boundary" (inbound and outbound). Traffic is either discarded, permitted to pass w/o IPsec protection, or protected using IPsec. The goal of OE (as per [RFC4322]) is to enable IPsec protected communication without a priori configuration of access control database entries at each peer (hence, bilateral). Opportunistic encryption calls for each party to identify the other, using IKE [RFC2409] (equivalently, IKE v2 [RFC5996]) authentication mechanisms, so it is not an unauthenticated key management approach. Also note that RFC 4322 describes OE relative to IKE, as it should; IPsec implements encryption using ESP [RFC4303]. ESP usually provides data integrity and authentication, as well as confidentiality, thus the phrase opportunistic encryption is unduly narrow relative to the anti-PM goal. OE for IPsec is described in more detail in Section 3.

RFC 4322 also defines anonymous encryption:

Thus, in RFC 4322, the term anonymous encryption refers to encrypted communication where neither party is authenticated to the other. Also note that the definition above refers to "the process of encrypting a session ..." In fact, it the key management process that causes an encrypted session to be authenticated, or not. Thus it would be more accurate to refer to "anonymous keying", rather than anonymous encryption. This document adopts the commonly used terminology, to maintain compatibility with most IETF security standards.

One can distinguish two classes of anonymous encryption, based on whether one party or both are not authenticated. For example, TLS ([RFC2246], [RFC4346], and [RFC5246]) typically is used in a fashion that provides server, but not client, authenticated communication. However, TLS also supports two-way authenticated sessions and "pure" unauthenticated sessions, in which neither party asserts an identity during the handshake protocol. Thus TLS offers 2-way anonymous communication and client-anonymous communication. (The same analysis applies to DTLS [RFC6347].)

Some security experts distinguish between anonymity and pseudonymity. Pseudonymity [merriam-webster] implies use of a identifier, but one that represents a "false name" for an entity. Use of pseudonyms is common in some Internet communication contexts. Many Gmail, Yahoo, and Hotmail mail addresses likely represent pseudonyms. From a technical perspective, a pseudonym is an attractive way to provide "unauthenticated" communication. A pseudonym typically makes use of the same syntax as a real identity, and thus protocols designed to make use of authenticated identities are compatible with use of pseudonyms, to first order.

"Traceable Anonymous Certificate", is an Experimental RFC [RFC5636] that describes a specific mechanism for a Certification Authority (CA) [RFC5280] to issue an X.509 certificate with a pseudonym. The goal of the mechanisms described in that RFC is to conceal a user's identity in PKI-based application contexts (for privacy), but to permit authorities to reveal the true identity (under controlled circumstances). This appears to be the only RFC that explicitly addresses pseudonymous key management; although it uses the term "pseudonym" extensively, it also uses the term "anonymous" more often, treating the two as synonyms.

Self-signed certificates [RFC6818] are often used with TLS in both browser and non-browser contexts. In the HTTPS (browser) context, a self-signed certificate typically is accepted after a warning has been displayed to a user; the HTTPS [RFC2818] requirement to match a server DNS name against a certificate Subject name does not apply in non-browser contexts. The Subject name in a self-signed certificate is completely under the control of the entity that issued it, thus this is a trivial way to generate a pseudonymous certificate, without using the mechanisms specified in [RFC5636]. Thus support for pseudonymous key management is supported in web browsing, as a side effect of this deviation from [RFC2818]. (Some speculate that most self-signed certificates contain accurate user or device IDs; the certificates are used to avoid the costs associated with issuance of certificates by Web PKI CAs.)

Based on the examples above, one could define an additional term: "pseudonymous encryption". Pseudonymous encryption is the result of applying techniques to distribute keys when an authentication exchange is based on a pseudonym, e.g., a self-signed certificate containing a pseudonym. As with anonymous encryption, pseudonymous encryption may apply to one or both parties in an encrypted communication. One also can imagine mixed mode communications, e.g., in which anonymous encryption is employed by one party and pseudonymous encryption is employed by the other.

An examination of about 70 papers published in ACM, IEEE, and other security conference proceedings identified numerous uses of the terms opportunistic and anonymous encryption. Most, though not all, of the papers used the terms opportunistic encryption and anonymous encryption as defined in [RFC4322], but in some papers the terminology was unclear or inconsistent with the [RFC4322] definition.

Another popular source (Wikipedia) uses a somewhat different definition for opportunistic encryption. Wikipedia [wikipedia] provides the following definition:

This definition shares some aspects of the RFC 4322 definition, but it is not exactly equivalent; it makes no mention of authentication or access control, two essential aspects of opportunistic encryption as per [RFC4322].

The Wikipedia article goes on to state that opportunistic encryption can be employed with other protocols. The article describes the potential for opportunistic encryption based on the use of self-signed certificates with TLS, instead of certificates issued by a "certificate [sic] authority." This use of the term is at odds with [RFC4322] and with TLS RFCs, which define anonymous encryption differently.

The Wikipedia article further notes that use of self-signed certificates with HTTP [sic] (really HTTPS), will result in warning to users, unless browser extensions are employed, which makes user acceptance of such problematic. It cites use of the STARTTLS extension for SMTP [RFC3207], and use of TLS with IMAP, POP3, and ACAP [RFC2595], as ways of achieving opportunistic encryption for these protocols, when self-signed certificates are employed. Use of a self-signed certificate that does not attest to an authentic identity is an example of pseudonymous encryption.

ZRTP [RFC6189] is cited in the Wikipedia article as an example of opportunistic encryption for VoIP. ZRTP uses ephemeral Diffie-Hellman key management, and thus is more accurately described as offering two-way anonymous encryption. ZRTP also offers an optional mode of operation in which X.509 certificates or OpenPGP-formatted keys are employed to counter MITM attacks. An X.509 certificate used with ZRTP might be self-signed, which could enable pseudonymous keying, or it might be issued in PKI context, which would support authenticated encryption. An OpenPGP-formatted key could offer the same services. In any case, opportunistic encryption is not the most appropriate term to describe ZRTP, based on the description in [RFC4322].

Anonymous encryption is a reasonable term to use when discussing the result of anonymous key management capabilities of protocols such as TLS and S/MIME. Access control is not part of these security protocols and there are explicit anonymous key management mechanisms that support 1-way or 2-way anonymity (for TLS). Pseudonymous encryption is the most accurate term to describe secure communication based on using identifiers that are pseudonyms. Most RFCs use the term "anonymous" even when the term "pseudonymous" is more accurate, as noted in the discussion of RFC 5636. This document uses these terms in a more precise fashion, to avoid confusion and to highlight the security-relevant differences associated with each.

Most security experts view two-way authenticated, encrypted, and integrity-protected traffic as the most desirable state for secured communications. This state allows each communicant to detect (and reject) man-in-the-middle attacks. It also seems a good match to what a user expects to be true of a communication, in the absence of attacks. Most IETF security protocols have been designed to achieve this state. However, the current concerns about pervasive monitoring motivate exploring approaches to remove barriers to the widespread use of encryption. In that light, encrypted communications without authentication are viewed as a good alternative, when the preferred approach is not readily achievable.

As noted earlier, the model for PE (for realtime communications) is to first establish an encrypted session, and then attempt to "upgrade" it to an authenticated communication. This is analogous to what IKE [RFC4306] does. As experience with IKE has shown, this creates a DoS vulnerability, i.e., an attacker can cause the target of a session/connection to expend resources performing key agreement operations prior to authenticating the initiator of the communication. Implementations of PE will have to address this concern. PE designs also will have to address various flavors of downgrade attacks, since PE will allow unauthenticated or plaintext communication. Even though PE assumes that a user is not alerted to its use, it may be appropriate to alert a user to such attacks, or provide a means by which a system administrator can become aware of them. The details of how these concerns are addressed probably will be specific to the protocol context in which PE is implemented.

The result of an authentication attempt may yield a 1-way or 2-way authenticated communication, or pseudonymous communication, depending on details of the protocol. Although the intent of PE should be the same for all realtime IETF protocols, the means by which each protocol achieves the goals of PE are likely to differ. So, for example, in some protocols, one might use DANE [RFC6698] to retrieve credentials in support of authentication, in others the existing Web PKI might be employed, etc.

For store-and-forward communication, the situation is more complex. A sender may choose to be anonymous or pseudonymous or authenticated; a recipient might be authenticated or pseudonymous. Because a message is addressed one or more recipients, it seems odd to refer to the recipient(s) as anonymous. If cryptographic message integrity is offered, tampering with a message en route is detectable. But, if the sender's identity is not authenticated, the often murky distinction between integrity and authentication becomes more significant.

Pseudonymous, encrypted communication is another potential outcome of a key management exchange, as noted above. There is an obvious downside to use of pseudonymous credentials for key management as an alternative to anonymous key management. Pseudonymous credentials often employ the same syntax for identifiers as real credentials, and thus users may be confused by the subtle distinction. Thus it is preferable to employ anonymous keying when authenticated keying is not possible, or not desired.

2. Terminology (some of these can be removed)

The following definitions are derived from the Internet Security Glossary [RFC4949], where applicable.

Anonymous keying
A key management technique that enables unauthenticated, communication between parties. The communication may be 1-way or 2-way anonymous. If 1-way, the initiator (client) or the target (server) may be anonymous.
The process of verifying a claim that a system or entity has a certain attribute value. In the IETF context, authentication typically refers to verification of an identity claim.
Client-anonymous keying
A key management technique for client/server communication in which the server is authenticated by the client, but the client does not assert its identity and thus is not authenticated by the server. This is an example of 1-way authentication.
(Data) Confidentiality
The security service that prevents information becoming available to unauthorized entities. Encryption is the security mechanism typically used to implement confidentiality.
(Data) Integrity
The security service that enables a recipient of a message or a packet to determine if the data has been modified or destroyed in an unauthorized manner.
Key agreement algorithm
A key establishment method based on asymmetric cryptography, in which a pair of entities engage in a public exchange of data (public keys and associated data), to generate the same shared secret value. (Thus both entities contribute secret values to the resulting key.) This value is later used to create symmetric keys used for encryption and/or integrity checking.
Key transport
A key establishment method by which a secret (symmetric) key is generated by one entity and securely sent to another entity. (Thus only one entity contributes secret values to the resulting key.) Key transport may make use of either symmetric or asymmetric cryptographic algorithms.
Leap of Faith (LoF)
In a protocol, a leap of faith typically consists of accepting a claimed peer identity, without authenticating that claim, and caching a key or credential associated with the claim. Subsequent communication using the cached key/credential is secure against a MITM attack, if such an attack did not succeed during the vulnerable initial communication and if the MITM is not present for all subsequent communications. The SSH protocol ([RFC4251], [RFC4252], [RFC4253]) makes use of LoF. See also TOFU, below.
Man-in-the-Middle attack (MITM)
A form of active wiretapping attack in which the attacker intercepts and selectively modifies communicated data to masquerade as one or more of the entities involved in a communication association. Masquerading enables the MITM to violate the confidentiality and/or the integrity of communicated data passing through it.
Opportunistic Encryption
A key management technique that enables authenticated, communication between parties, and that does not require a priori, bilateral arrangements. This term is defined only for IPsec.
Pervasive Encryption (PE)
The result of employing a key management technique that attempts to establish an encrypted communication automatically and invisibly to a user. PE attempts to upgrade an encrypted communication to detect MiTM attacks and/or 1-way or 2-way authentication, If PE is unable to create an encrypted communication, e.g., because the other communicant does not support PE, unencrypted (plaintext) communication results.
Perfect Forward Secrecy (PFS)
For a key management protocol, the property that compromise of long-term keying material does not compromise session/traffic keys that were previously derived from or distributed using the long-term material.
Private key
The secret component of a pair of cryptographic keys used for asymmetric cryptography.
Public key
The publicly disclosed component of a pair of cryptographic keys used for asymmetric cryptography. The phrase "public key data" includes a public key and any additional parameters required to perform computation using the public key.
Pseudonymous keying
A key management technique that enables pseudonymous communication between parties, e.g., based on use of a self-signed certificate. Pseudonymous keying may be one-way or two-way, depending on details of the key management mechanism employed.
A realtime communication between entities.
Shared secret
A value derived from a key agreement algorithm and used as an input to generate a CEK or traffic encryption key.
Symmetric cryptography
A type of cryptography in which the algorithms employ the same key for encryption and decryption, and the key is not publically disclosed.
Traffic (encryption) key (TEK)
A symmetric key used to encrypt/decrypt traffic carried via an association.
Trust on First Use (TOFU)
In a protocol, TOFU typically consists of accepting a claimed peer identity, without authenticating that claim, and caching a key or credential associated with the claimed identity. Subsequent communication using the cached key/credential is secure against a MITM attack, if such an attack did not succeed during the vulnerable, initial communication and if the MITM is not present for all subsequent communications. The SSH protocol makes use of this technique. See also Leap of Faith, above.

3. Acknowledgements

I want to thanks David Mandelberg for his help in generating this document.

4. Security Considerations


5. References

, ", "
[RFC2246] Dierks, T. and C. Allen, "The TLS Protocol Version 1.0", RFC 2246, January 1999.
[RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409, November 1998.
[RFC2595] Newman, C., "Using TLS with IMAP, POP3 and ACAP", RFC 2595, June 1999.
[RFC2818] Rescorla, E., "HTTP Over TLS", RFC 2818, May 2000.
[RFC3207] Hoffman, P., "SMTP Service Extension for Secure SMTP over Transport Layer Security", RFC 3207, February 2002.
[RFC4251] Ylonen, T. and C. Lonvick, "The Secure Shell (SSH) Protocol Architecture", RFC 4251, January 2006.
[RFC4252] Ylonen, T. and C. Lonvick, "The Secure Shell (SSH) Authentication Protocol", RFC 4252, January 2006.
[RFC4253] Ylonen, T. and C. Lonvick, "The Secure Shell (SSH) Transport Layer Protocol", RFC 4253, January 2006.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the Internet Protocol", RFC 4301, December 2005.
[RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", RFC 4303, December 2005.
[RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", RFC 4306, December 2005.
[RFC4322] Richardson, M. and D.H. Redelmeier, "Opportunistic Encryption using the Internet Key Exchange (IKE)", RFC 4322, December 2005.
[RFC4346] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.1", RFC 4346, April 2006.
[RFC4949] Shirey, R., "Internet Security Glossary, Version 2", RFC 4949, August 2007.
[RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security (TLS) Protocol Version 1.2", RFC 5246, August 2008.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R. and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, May 2008.
[RFC5636] Park, S., Park, H., Won, Y., Lee, J. and S. Kent, "Traceable Anonymous Certificate", RFC 5636, August 2009.
[RFC5996] Kaufman, C., Hoffman, P., Nir, Y. and P. Eronen, "Internet Key Exchange Protocol Version 2 (IKEv2)", RFC 5996, September 2010.
[RFC6189] Zimmermann, P., Johnston, A. and J. Callas, "ZRTP: Media Path Key Agreement for Unicast Secure RTP", RFC 6189, April 2011.
[RFC6347] Rescorla, E. and N. Modadugu, "Datagram Transport Layer Security Version 1.2", RFC 6347, January 2012.
[RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA", RFC 6698, August 2012.
[RFC6818] Yee, P., "Updates to the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 6818, January 2013.
[I-D.farrell-perpass-attack] Farrell, S. and H. Tschofenig, "Pervasive Monitoring is an Attack", Internet-Draft draft-farrell-perpass-attack-00, November 2013.
[merriam-webster]pseudonymity", March 2014.
[wikipedia]Opportunistic encryption", November 2013.

Author's Address

Stephen Kent BBN Technologies 10 Moulton St. Camridge, MA 02138 US EMail: