Internet Engineering Task Force (IETF)             Phillip Hallam-Baker
Internet-Draft                                        Comodo Group Inc.
Intended Status: Standards Track                        October 27, 2014
Expires: April 30, 2015


               PRISM-Proof Email Deployment Requirements
                  draft-hallambaker-prismproof-dep-01

Abstract

   This document describes previous efforts and their deployment legacy
   and the requirements for a successful email security infrastructure.
   A gap analysis is performed and the tasks divided into problems that
   are generally considered solved albeit possibly requiring improved
   execution and problems that may be regarded as research.

   This division of the problem space into 'execution' and 'research'
   portions allows different groups of developers to address each
   independently and avoid unnecessary duplication of effort. A testbed
   for development and early adopter deployment that achieves this
   separation is described.

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
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

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.




                             April 30, 2015                     [Page 1]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
      1.1.  Earlier and Existing work . . . . . . . . . . . . . . . .  3
   2.  Requirements for Email Security  . . . . . . . . . . . . . . .  5
      2.1.  Commercial Use  . . . . . . . . . . . . . . . . . . . . .  6
      2.2.  Usability . . . . . . . . . . . . . . . . . . . . . . . .  6
      2.3.  Availability  . . . . . . . . . . . . . . . . . . . . . .  7
      2.4.  Confidentiality and Access  . . . . . . . . . . . . . . .  7
      2.5.  Integrity and Authenticity  . . . . . . . . . . . . . . .  9
      2.6.  Key Publication, Discovery, and Identity  . . . . . . . .  9
      2.7.  Administrative Privileges . . . . . . . . . . . . . . . . 10
   3.  Common Testbed   . . . . . . . . . . . . . . . . . . . . . . . 11
      3.1.  Dividing the problem space between execution and research 11
      3.2.  Problem Simplification  . . . . . . . . . . . . . . . . . 12
      3.3.  Transport   . . . . . . . . . . . . . . . . . . . . . . . 13
      3.4.  Data Formats  . . . . . . . . . . . . . . . . . . . . . . 14
         3.4.1.  Email Security Policy Extensions . . . . . . . . . . 14
      3.5.  Key Generation and Disclosure   . . . . . . . . . . . . . 15
         3.5.1.  Key and Endorsement Publication  . . . . . . . . . . 16
      3.6.  Key Discovery and Validation  . . . . . . . . . . . . . . 16
         3.6.1.  Omnibroker . . . . . . . . . . . . . . . . . . . . . 17
         3.6.2.  Exchange Contact Synchronization . . . . . . . . . . 17
   4.  Deployment Vehicles  . . . . . . . . . . . . . . . . . . . . . 17
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . . 18
   6.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 18
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 18
      7.1.  Normative References  . . . . . . . . . . . . . . . . . . 18
      7.2.  Informative References  . . . . . . . . . . . . . . . . . 19
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 20
























                             April 30, 2015                     [Page 2]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

1. Introduction

   Establishing a ubiquitous infrastructure for end-to-end
   confidentiality, integrity and authenticity of email has been an
   unrealized goal of IETF security efforts for over two decades. This
   document examines the deployment legacy of these previous email
   security efforts with a view to identifying which parts may be
   adopted in a new email security scheme with only minor modification
   to improve execution and which limitations or deficiencies are better
   considered research.

   This analysis results in a proposal for an email security research
   testbed which separates the parts of the infrastructure that
   researchers can adopt in their current form without modification from
   areas in which innovation is needed. It is hoped that dividing the
   problem in this fashion will enable the most effective use of
   developer resources permitting a developer with expertise in
   developing extensions for one email user agent to support all the
   research proposals based on the testbed and to a allow researchers
   using the testbed to support all the clients that have been enabled.

   Recent events have renewed interest in email privacy and may present
   a fresh opportunity to deploy a comprehensive email security
   infrastructure. But even if the threat of a PRISM-class attack
   provides the necessary momentum to restart development efforts, any
   infrastructure developed must address the full range of email
   security concerns if it is to become ubiquitous.

1.1. Earlier and Existing work

   The IETF has attempted to produce an email security scheme on six
   previous occasions:

      Privacy Enhanced Mail (PEM) [~RFC1421]
         PEM provided an email encryption and signature capability but
         was not compatible with MIME message extensions that users
         found to be more important and deployment of PEM depended on
         establishing a PKI based on a trust model that is now
         understood to be unfeasible.

      S/MIME [!RFC5751]
         S/MIME has achieved ubiquitous deployment in dedicated email
         user agents but is not currently supported in Web Mail
         products. Use of S/MIME requires a PKIX [!RFC5280] certificate
         issued by a CA, a step that has proved too difficult for the
         typical user and introduces a frequently criticized potential
         point of failure.







                             April 30, 2015                     [Page 3]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

      OpenPGP [~RFC2440]
         OpenPGPhas achieved ubiquitous mindshare but almost no widely
         used email user agent offers native support. OpenPGP supports
         the same capabilities as S/MIME but uses a Web of Trust
         approach to key validation which eliminates the need for CAs
         but introduces scaling and usability limitations.

      DKIM [!RFC6376]
         DKIM provides only a means to authenticate a message to a
         sending domain and does not offer the ability to authenticate
         the user who sent the message or provide confidentiality
         capabilities.

      STARTTLS [!RFC3207]
         STARTTLS is an SMTP extension that enables the use of Transport
         Layer Security [!RFC5246]. While STARTTLS is supported by many
         if not most modern mail servers, these deployments only provide
         protection against a passive attack as the client does not
         typically validate the credentials of the server receiving the
         mail and the lack of a policy mechanism permits a man in the
         middle to achieve a downgrade attack.

      DANE [!RFC6698]
         DANE provides a mechanism which is in principle capable of
         being used to advise mail senders that a mail server offers the
         STARTTLS extension and validating the certificate to be used
         based on DNSSEC [!RFC4033].

   Of these efforts, only S/MIME, DKIM and STARTTLS have achieved
   ubiquitous deployment to date while only OpenPGP has achieved
   ubiquity in mindshare. The resulting stalemate has lasted over a
   decade.

   Attempting to revisit work previously attempted that has failed
   requires us to ask whether it is necessary to re-invent the wheel and
   whether a new attempt has better prospects for success. In order to
   answer such objections we must understand the reasons for the earlier
   failures.

   The Internet has two 'killer applications'; email, and the Web. The
   Web has succeeded in establishing a comprehensive security
   infrastructure while email has failed.

   The chief security infrastructure of the World Wide Web is SSL/TLS
   and the WebPKI. This security infrastructure presented a clear and
   immediate benefit to parties deploying SSL security, in particular
   the ability to use the Web for an important purpose not possible
   otherwise (the ability to accept credit cards). Secure email has a
   similar potential to enable the use of email for purposes not
   currently possible. For example the ability to remit electronic
   invoices and other transactional data in machine readable formats.



                             April 30, 2015                     [Page 4]


Internet-Draft       PRISM-Proof Email Deployment           October 2014


   Another key element in the success of SSL/TLS is the ease of
   deployment (and to a lesser extent, development). To enable
   'security' on a Web site, the system manager needs to do nothing more
   than obtain and install an X.509/PKIX certificate.

   Finally, and perhaps most importantly, SSL/TLS places no burden on
   the end user. The end user need take no action whatsoever (although
   to be secure the end user should take notice of the security
   indicators provided). In contrast, use of S/MIME requires that each
   user obtain a certificate and renew it at regular intervals,
   typically a year. This is a significant burden on the end user.
   Sending an encrypted message requires the user first obtain the
   certificate of the intended recipient, a process that is hardly
   simple. Use of PGP requires the user to understand and navigate the
   Web of Trust.

   One factor that made developing a security infrastructure for the Web
   considerably easier than developing an infrastructure for email is
   that efforts to add cryptography began within a few months of the
   first public release of the Web. Email was an established
   infrastructure before the (public) invention of public key
   cryptography and efforts to retrofit cryptography had to work within
   the constraints of what had already become a complex legacy
   infrastructure.

   Another factor that makes email security a more difficult problem
   than Web security is that the basic unit of interaction in email is
   the individual user while Web security is provided at the level of
   the site.

2. Requirements for Email Security

   A comprehensive email security infrastructure must meet a wide range
   of requirements, not all of which may be compatible. In the
   enterprise, the confidentiality provided by strong encryption may
   conflict with a security policy that requires all inbound email be
   scanned for potential malware.

   At the time PGP and S/MIME were developed it was common to refer to
   'Internet users'. Today the Internet has over 2.4 billion users and
   virtually every literate person in the developed world is an Internet
   user. It makes no more sense to refer to 'Internet users' as a
   distinct class of people as it would to refer to 'telephone users' or
   'electricity users'.

   A security infrastructure that can support a population that size
   must work as easily and reliably as the telephone and electricity
   infrastructures do. A security infrastructure that requires users
   think is not going to succeed.




                             April 30, 2015                     [Page 5]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

   A common mistake made in considering requirements is that prospects
   for deployment are improved by reducing requirements to the bare
   minimum. While this approach may reduce development costs it also
   reduces functionality and the potential value to adopters. Worse
   still is the approach in which the design team performs triage on the
   set of requirements before beginning the design work. While it is
   acceptable, possibly even inevitable that a design will not meet
   every requirement raised in the design process, parties considering
   adoption should know which requirements a design does not meet.

   The discovery of PRISM-class attacks requires all aspects of a
   protocol to become transparent including the design process. If a
   legitimate requirement is raised during the development process it
   must be listed in the requirements document even if the final design
   does not address it.

2.1. Commercial Use

   One of the main reasons that SSL has succeeded despite the cost of
   using the WebPKI and OpenPGP has failed to become ubiquitous despite
   being free for use is that SSL presented a valuable commercial
   opportunity while OpenPGP did not.

   The Internet has over 2.4 billion users and any infrastructure
   supporting such a userbase will inevitably incur maintenance costs.
   Even if those costs are a fraction of a cent per user, the aggregate
   cost is millions of dollars. In practice the inevitable need for some
   level of instruction and customer service means that the costs are
   likely to be rather higher.

2.2. Usability

   The least effective security control is the one that is never used.
   An email security infrastructure can only become ubiquitous if using
   email securely requires no more effort than using it insecurely does.

   Usability studies are difficult to perform well, security usability
   studies are even harder. A typical usability study is focused on the
   question most important to the manufacturer of a product: How to make
   a sale. Such studies are usually focused on the type of short term
   interactions a potential customer makes while deciding whether to buy
   rather than long term use. In particular there is a tendency to
   'solve' a usability problem by hiding information from the user if it
   might cause concern.

      *  Installing an configuring security should take no more effort
         than configuring a mail application does today.

      *  Sending a mail message should require no more knowledge of the
         recipient than their email address.




                             April 30, 2015                     [Page 6]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

      *  Mail should be secure by default, there should be no need to
         click a button to sign or encrypt the message.

      *  A user MUST be able to force use of encryption when necessary
         at the message, recipient and domain level.

      *  The MUA must provide the user with sufficient information to
         perform their tasks securely and provide additional explanation
         when necessary.

2.3. Availability

   Email has become an essential facility for most people in the modern
   world. Secure email is of no use to them if they cannot rely on being
   able to access their email or email archives.

      [[Multiple-Devices]
         Users must be able to access their secure mail from any of the
         devices they currently read mail including mobile devices and
         multiple desktop computers.

      [[Archive]
         Users must be certain that they will not lose access to their
         email messages or archives.

      [[Policy]
         Users must be able to tell email senders which encrypted
         formats they are capable of accepting and whether they prefer
         email to be encrypted by default or not.

2.4. Confidentiality and Access

   Earlier attempts to provide email security were developed at a time
   when the Internet was a community of people. The modern Internet is
   both a community of users and also the communication medium that
   supports the vast majority of commercial and government activities.

   Commercial and government use of the Internet have confidentiality
   needs that are distinct from the needs of private individuals. In
   particular an employee of a government or commercial entity my be
   acting in a personal or an official capacity.

      *  An enterprise needs access to all email messages sent to their
         employees and contractors in their official capacity.

      *  An enterprise may be subject to regulations that require all
         communications made in certain environments be recorded,
         archived and made available for later inspection.






                             April 30, 2015                     [Page 7]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

      *  An enterprise may need to balance their need for
         confidentiality against their other security objectives. In
         particular efforts to block spam and malware.

      *  An email sender should know whether the message they are
         sending is confidential to the identified individual or to the
         domain name holder.

   These concerns give rise to the following requirements:

   [[Enterprise-Access]

         A domain name holder must be able to control the use of
         encryption enhancements in mail sent to their domain.

      [[Sender-Notification]
         An email sender must know whether the message they are sending
         is confidential to the identified individual or to the domain
         name holder.

   Confidentiality is not a binary quality. An email sent by
   alice@example.com to bob@example.net may be encrypted as follows:

      *  TLS security between Alice's MUA and the example.com outbound
         mail server.

      *  TLS security between the example.com outbound mail server and
         the example.net inbound server.

      *  TLS security between the example.net inbound server and Bob's
         MUA.

      *  Message layer security under a public encryption key of
         bob@example.net

      *  Message layer security under a public encryption key of
         example.net

   TLS security only protects the confidentiality of messages during
   transport and is thus only a sufficient confidentiality control if we
   can be confident that transport security will be used on each of the
   three occasions the messages travel across the Internet and that the
   message will be acceptably secure when queued at the outbound server
   waiting for dispatch, on the inbound server at example.net and on any
   MUAs that Bob might be using that download and store a copy of the
   message.

   Message layer security provides a more comprehensive confidentiality
   guarantee for the message contents but cannot provide protection for
   the routing information (aka meta-data) necessary to route the
   information over the public network. In the case of S/MIME and PGP,



                             April 30, 2015                     [Page 8]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

   the confidentiality is further compromised by the odd decision to
   transmit message subject lines as plaintext.

   Rather than considering TLS and Message Layer security to be
   competing alternatives, we should acknowledge the fact that both
   approaches are valuable and that we should encourage the use of both.

2.5. Integrity and Authenticity

   While the desire for confidentiality has been the traditional driver
   for Internet email security efforts (e.g. Pretty Good Privacy), it is
   far more likely that a user will suffer harm or economic loss as a
   result of an authenticity attack.

   This morning I have three messages that have evaded my spam filter
   that are telling me that I need to reset my username and password.
   All three are fraudulent but appear identical in virtually every
   respect to the genuine messages that the purported senders have sent
   in the past.

   Establishing a usable infrastructure for establishing the
   authenticity of email messages is as important and necessary as
   establishing a usable confidentiality infrastructure.

2.6. Key Publication, Discovery, and Identity

   The Internet email system is based on the principle that all a user
   needs to send a message to another is to have an email sending
   account and to know the email address of the intended recipient. Any
   secure email infrastructure must recognize that same constraint.

   Accordingly mechanisms are required that can:

      [[Publication]
         Enable Alice, the authorized holder of example.com to generate
         a public keypair and publish the public portion thereof for use
         by email senders.

      [[Discovery]
         Map an email address (e.g. alice@example.com) to a certificate
         purportedly belonging to the holder of account
         alice@example.com.

      [[Identity]
         Establish whether the certificate purportedly belonging to
         alice@example.com does in fact belong to the party the sender
         intends.

   Identity is and is likely to remain an ongoing research topic because
   it is this aspect of PKI that represents the interface between the
   online and offline worlds. All the rest of the cryptography and



                             April 30, 2015                     [Page 9]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

   infrastructure is merely protocol and math. Identity cannot be
   reduced to mere math because it involves people and names.

   Identity is not an objective truth and it is highly unlikely that
   research will arrive at a single definitive approach that is suited
   to all purposes and all times. Rather than deciding between the PKIX
   CA approach and the OpenPGP Web of Trust we sypport the use of both
   or a system that is capable of supporting both.

   Identity has multiple dimensions. Even the simple system described
   gives rise to multiple identity requirements reflecting the different
   dimensions of trust:

      [[Account-Identity]
         The encryption key to use to encrypt email sent to
         alice@example.com

      [[Personal-Identity]
         The encryption key to use to encrypt email sent to Alice

      [[Organizational-Identity]
         The encryption key to use to encrypt email sent to Alice
         working at Example Inc, the owner of example.com.

2.7. Administrative Privileges

   One of the major lessons learned in the successful deployment of the
   World Wide Web in comparison to its rivals was the importance of
   allowing Web users to post pictures of their cats.

   Unlike rival systems such as Hyper-G, setting up a Web client or
   server needed no system administration privilege or purchase order.
   Any user granted ordinary UNIX or VMS user privileges could set up a
   client or server. One unexpected consequence of this difference was
   that systems like Hyper-G were bought for a specific purpose and use
   for frivolous purposes such as pictures of cats was strongly
   discouraged. The Web in contrast, was a free for all. The only
   barrier to putting information on the Web was the willingness of
   someone to publish. As a result the fact that prior to the launch of
   Netscape Navigator in late 1994, Hyper-G had a far nicer, slicker
   client was irrelevant. The Web won the standards war in part because
   it won the content war: The Web had pictures of cute cats and Hyper-G
   did not.

   For email security to succeed in deployment, users must be able to
   publish a key without first obtaining permission from their system
   administration. But this is a matter of convenience, not right.

   The holder of a DNS domain name also has the right to control how
   their domain is used. If example.com is a bank, the bank has a
   security interest in telling potential relying parties to only trust



                             April 30, 2015                    [Page 10]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

   credentials duly authorized by the bank itself. If bank employees
   find this to be inconvenient, they can use a different domain or
   register their own.

      [[User-Autonomy]
         It must be possible for Alice, the authorized holder of
         alice@example.com to publish a public key for her account
         without action by the domain administrator.

      [[DNS-Control]
         A DNS domain name owner must have the ability to control the
         credentials issued for their domain should they choose to do
         so.

3. Common Testbed

   Previous efforts to develop an Internet email security infrastructure
   have left unsolved problems but what is more important is the much
   larger number of problems that may be fairly regarded as solved
   whether in actual running code or through obvious extensions. To
   deploy an secure email infrastructure that resists PRISM-class attack
   we should build on what works whetever that is adequate for our
   purpose and only revisit design decisions where unmet requirements
   demonstrate that further work is required.

   One factor that complicates this pragmatic approach is the schism
   between S/MIME and OpenPGP which in addition to specifying two
   different trust management approaches, also specify two message
   formats, two key signing formats and two of everything else that
   might be required. In these cases the existence of deployed code is
   considered the deciding factor.

   In particular adopting the S/MIME message and key formats as the base
   to work from makes it possible to build a system that allows many
   users to receive encrypted email using existing clients without
   modification. Working from the OpenPGP message formats does not.
   Therefore the S/MIME message formats are preferred over the OpenPGP
   formats but this particular design decision does not preclude the use
   of OpenPGP style 'Web of Trust' key validation.

3.1. Dividing the problem space between execution and research

   The Testbed is designed to partition the solution space for secure
   email into two parts; 'execution' and 'research' so that development
   work can proceed independently on each part.

   The interface between the two parts of the solution space is to be
   addressed by a Web Service protocol. Current best practice and the
   need to support a wide range of platforms including scripting
   environments strongly favors the adoption of a JSON/REST style
   syntax.



                             April 30, 2015                    [Page 11]


Internet-Draft       PRISM-Proof Email Deployment           October 2014


   The Omnibroker Web Service is designed to meet this need in the
   context of TLS and the protocol has been designed to support
   discovery of peer-to-peer connections but has not yet been tested.

   Omnibroker is built from two components, the JSON Service Connect
   (JCX) Protocol [I-D.hallambaker-wsconnect] which establishes and
   manages a secure authenticated connection between the client and
   service and the Omnibroker Query Protocol [I-D.hallambaker-
   omnibroker] which answers queries.

   JCX is designed to provide a general facility that can be used in any
   Web Service and should be applicable without specific modification to
   address email. The query protocol is in theory designed to support
   establishing peer-to-peer connections but this has not been tested
   and the asynchronous nature of email may result in additional
   requirements being discovered.

3.2. Problem Simplification

   Since email is currently insecure by default, a testbed that offers
   less than perfect end-to-end security is still a significant
   improvement. The email infrastructure has taken four decades to
   evolve to its current state. It will take some time to carry the
   legacy infrastructure to the desired state of security. In the near
   term it is much more important that an email user be able to exchange
   email with users of experimental trust infrastructures than achieve
   the end to end benefits they may be designed to offer.

   One of the reasons that the Web succeeded while Ted Nelson's Xanadu
   failed is that the Web cut the right corners. HTTP does not offer the
   referential transparency or the integrated search that Nelson
   insisted was essential. But excluding those from HTTP made the
   problem of deploying network hypertext tractable and third parties
   offered tools and services to fill the gaps as soon as it became
   clear that the Web was approaching critical mass.

   To make the problem tractable, the following simplifications are
   allowed:

      *  A user MUST be able to configure any email client so that they
         can read encrypted email but the encryption provided MAY not be
         end to end.

      *  A user MUST be able to send encrypted email from at least one
         platform but MAY not be able to send encrypted email from every
         platform.

      *  A user MUST be able to sent encrypted email to any party that
         publishes a public key but MAY not be able to fully or even
         partially validate the encryption key used.



                             April 30, 2015                    [Page 12]


Internet-Draft       PRISM-Proof Email Deployment           October 2014


      *  No extensions to the email client user interface are required.

      *  The problem of email authentication is not addressed in the
         testbed as improved authentication requires considerable
         modification of the client user interface. For a comprehensive
         description of the changes I believe to be necessary, see my
         book The dotCrime Manifesto [!PHB2008].

      *  Discovery and validation of trust chains MAY be performed
         partially or wholly in the cloud rather than end-to-end.

   Accepting these simplifications for short term expediency does not
   require them to be accepted as permanent concessions. I expect it to
   be possible to eliminate each of the simplifications except for the
   last as the testbed approaches a critical mass of users.

   Performing trust chain discovery and validation end-to-end instead of
   end-to-end is a very different proposition. Performing trust chain
   discovery in particular is a task that is already delegated to a
   cloud based service in many moderately complex trust topologies as
   the success of SCVP demonstrates [RFC5055].

   It might well prove to be the case that it is also desirable for at
   least some trust chain validation steps to be performed in the cloud
   by a service rather than at the relying application. Insisting that
   every trust chain validation step be performed end-to-end limits the
   scope of validation steps that can be applied using the techniques
   supported by and the data available to the client.

3.3. Transport

   Transport security and message security serve distinct purposes and a
   comprehensive email security infrastructure should provide both forms
   of security on each and every message sent.

      *  SMTP, SUBMIT and IMAP traffic should always use TLS transport.

      *  Clients should support the use of a strong authentication
         mechanism that does not disclose the authentication secret to
         any party, including the purported service to which the client
         is authenticating.

      *  Clients should be capable of validating the TLS Certificates
         presented by the service.

   The last criteria is not currently supported by existing
   infrastructure. DANE [RFC6698] proposes one mechanism for validating
   the certificates using the DNSSEC trust hierarchy [RFC4033]. But this
   is only one mechanism and one that in its current form limits the
   verifier to a single root of trust.



                             April 30, 2015                    [Page 13]


Internet-Draft       PRISM-Proof Email Deployment           October 2014


   MUAs should be capable of pinning TLS certificates presented by
   SUBMIT and IMAP services [I-D.evans-palmer-key-pinning] and
   instructing the outbound mail server to only forward a message over a
   TLS secured channel. These precautions enable a MUA that has received
   security policy information for the intended target mail server to
   relay it to the outbound server which may not have access to that
   source.

3.4. Data Formats

   Secured mail is exchanged in S/MIME formats [RFC5751] so as to take
   advantage of the deployed base of S/MIME clients.

   The choice of S/MIME as the message format naturally leads to the use
   of X.509v3/PKIX as the certificate format but not necessarily
   according to the PKIX trust model.

   When OpenPGP and PEM were being developed, few software libraries
   were available to support parsing and validation of X.509v3
   certificates. Today these resources are commonplace and supported in
   virtually every major code development platform. Certificate
   generation tools, while somewhat less common are also freely
   available.

3.4.1. Email Security Policy Extensions

   The following X.509v3 extension may be included in an end-entity
   certificate to describe the encrypted email security policy of the
   corresponding address.

   [[Details TBD, the extension must allow the party identified to
   specify policies such as the following]

      *  Transport Security Policy: Required / Always offered /
         Sometimes offered / Unknown

      *  Account Message Encryption Policy: Always / Sometimes / Never

      *  Domain Message Encryption Policy: Always / Sometimes / Never

      *  Message Signature Policy: Always / Sometimes / Never

      *  Domain Message Signature Policy: Always / Sometimes / Never

   While the policy language could in principle include key pinning it
   is contrary to the PKIX architecture to incorporate information that
   constrains the use of one end-entity certificate in a different end-
   entity certificate.





                             April 30, 2015                    [Page 14]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

3.5. Key Generation and Disclosure

   One of the key weaknesses in the currently deployed S/MIME
   infrastructure is that most S/MIME clients rely on a Web browser to
   generate keys. This is unsatisfactory in many ways:

      *  The process is not transparent. It is not clear to the user
         that their public/private keypair is being generated by the Web
         browser that they are using rather than by the CA that issues
         the certificate.

      *  The key generation mechanism is potentially vulnerable to
         weaknesses in the random number generation routine used and may
         even be compromised by a covert channel attack (kleptography).

      *  Only the PKIX trust model is supported.

      *  The certificate will only be published to a directory if the CA
         performs the operation.

      *  The user is left to configure their MUA(s) themselves, a
         process that frequently requires them to interact with a user
         interface that is frequently illogical and obscure.

   To address these shortcomings I propose that key generation and MUA
   configuration be the task of a new type of application, a key
   generation / MUA configuration tool supporting the following
   functions:

      *  Allows the user/domain to specify their email encryption policy
         (always, sometimes, never)

      *  Generates public/private key pairs [[Stretch] Generate private
         keys in a format that precludes/minimizes covert channel.
         Supports use of an archival service with appropriate safeguards
         to protect confidentiality of the private key (e.g. key
         shares).

      *  Recovers a private key from archival format

      *  Registers the public key with disclosure service: Generate a
         Certificate Signing Request (CSR) [!RFC2986]. Generate a Self-
         Signed certificate

      *  Configures a MUAs installed on the machine to make use of the
         private keypair in accordance with the specified policy.

   The functions of the key generation / MUA configuration tool could be
   integrated into an MUA but this is neither necessary nor necessarily
   desirable. Configuration of the user's security context should be an
   occasional event rather than one requiring frequent attention or even



                             April 30, 2015                    [Page 15]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

   one that demands attention at regular intervals.

   An MUA can assist the developers of such tools by publishing
   specifications that describe how to configure the application or by
   adopting standardized interfaces for exchange of the information (for
   example through the Windows registry or configuration files in well
   known locations on UNIX based machines).

   While implementing the proposed features requires a new specification
   and new code, the work required is well understood and the design
   choices are limited to issues of syntax rather than substance.
   Accordingly, this portion of the testbed is considered to fall under
   the heading of execution rather than research. A detailed
   specification and sample code is in development.

3.5.1. Key and Endorsement Publication

   In order to support Key Validation, some form of key endorsement
   infrastructure is required. The structure of endorsement
   infrastructure itself is research problem and MAY involve endorsement
   by specialist trust providers (i.e. Certificate Authorities), peer-
   to-peer endorsement by end entities (i.e. Web of Trust) and
   notarization (i.e. Certificate Transparency).

   A standardized interface is required to separate the email client
   from the endorsement infrastructure. Such an interface MUST be
   capable of supporting existing key endorsement infrastructures (hence
   the need to generate a Certificate Signing Request) and MUST be
   capable of supporting the new infrastructures resulting from new
   research.

   This interface is currently undefined. An additional JSON/REST based
   Web Service is required.

3.6. Key Discovery and Validation

   Key Discovery and Validation represent the research component of the
   email security problem. Previous experience suggests that rather than
   searching for 'the' solution to this problem we should seek out
   multiple solutions and ask which solutions are best suited for which
   purpose. The trust infrastructure that is suitable for protecting the
   confidentiality of communications between designers of network
   security protocols is not necessarily best suited for protecting the
   confidentiality and authenticity of email exchanges with a bank. It
   is even possible that different approaches to trust infrastructure
   may be best suited to different customers of the same bank.

   To separate the research part of the problem from the execution part,
   the email client queries a Web Service each time an email message is
   sent to determine whether cryptographic enhancements should be
   applied and if so which ones.



                             April 30, 2015                    [Page 16]


Internet-Draft       PRISM-Proof Email Deployment           October 2014


3.6.1. Omnibroker

   The Omnibroker protocol is a JSON/REST style query protocol that is
   designed to answer questions of the form 'How should client X best
   connect to service Y'.

   [TBD describe the exact means of applying Omnibroker to ask how to
   send an email to a recipient and answers that indicate use cases such
   as, send in plaintext, send encrypted under encryption Key X.]

3.6.2. Exchange Contact Synchronization

   Microsoft Outlook provides a mechanism for discovery of email contact
   data using a proprietary but documented protocol [MS-ASCNTC].

   This might prove useful as a mechanism for supporting legacy clients
   that support S/MIME but do not provide an interface to a standards
   based certificate discovery mechanism. Though being based on the
   user's contact list, the mechanism only covers email sent to an
   address that is already in the contact list when the message is sent
   and synchronization of the contacts list may only take place on an
   infrequent basis with the result being cached rather than causing a
   fresh query to be made for each email message sent.

   One option for using this feature would be to write a proxy to
   intercept interactions between the client and the Exchange server,
   adding entries for certificates that are found to be missing. A
   possibly better approach would be to scan the user's exchange
   contacts list on a regular basis and attempt to discover and add a
   certificate for each entry lacking one.

4. Deployment Vehicles

   Making use of the testbed, whether for experimental or production
   purposes requires that it be integrated into some form of deployment
   vehicle. Three types of deployment vehicle are considered:

      *  Native functionality in a mail client

      *  A mail client plug-in

      *  A proxy service.

   Native functionality is clearly preferred over the use of a plug-in
   or proxy but requires the most development effort. Native
   functionality offers the opportunity to extend the user interface to
   offer features such as the option to require encryption for specific
   messages, users or groups of users.





                             April 30, 2015                    [Page 17]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

   Many mail clients offer a plug-in capability that provides almost the
   same degree of flexibility as native code. But plug-ins are
   justifiably considered an unwelcome hazard in most Enterprise
   computing environments and increasingly so in consumer environments
   as well. However robust the design of the plug-in framework, the
   plug-in and host application must inevitably follow divergent
   development paths. Each update to the host application may affect the
   plug-in as may any other plug-in that is installed.

   Writing a plug-in typically requires a detailed knowledge of the mail
   client and plug-in architecture that is only sometimes revealed in
   accessible documentation.

   Use of a proxy service is probably the simplest deployment vehicle
   but is limited by the user interface functionality supported by the
   existing clients and the protocols by which the client interacts with
   the proxy.

   Many email clients already support decryption of encrypted mail once
   the necessary decryption key is installed on the machine. It may be
   sufficient therefore to proxy the outbound email sent via SMTP/SUBMIT
   and perform opportunistic encryption if a corresponding encryption
   certificate can be found and the recipient prefers all email to be
   encrypted.

5. Security Considerations

   I am sure there are some.

6. Acknowledgments

   Thanks to the many people who have encouraged me in this work and in
   particular the members of the IETF PERPASS list and the Cryptography
   mailing list. Future versions of the draft will have a more complete
   list.

7. References

7.1. Normative References

   [PHB2008]  Hallam_Baker, P, "The dotCrime Manifesto: How to Stop
              Internet Crime", Semptember 2013.

   [I-D.hallambaker-omnibroker]  Hallam-Baker, P, "OmniBroker Protocol",
              Internet-Draft draft-hallambaker-omnibroker-06, 8 July
              2013.

   [I-D.hallambaker-wsconnect]  Hallam-Baker, P, "JSON Service Connect
              (JCX) Protocol", Internet-Draft draft-hallambaker-
              wsconnect-04, 8 July 2013.




                             April 30, 2015                    [Page 18]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

   [MS-ASCNTC]  , "[Reference Not Found!]".

   [RFC2986]  ,Nystrom, M.,Kaliski, B., "PKCS #10: Certification Request
              Syntax Specification Version 1.7", RFC 2986, November
              2000.

   [I-D.evans-palmer-key-pinning]  Evans, C,Palmer, C, "Public Key
              Pinning Extension for HTTP", Internet-Draft draft-evans-
              palmer-key-pinning-00, 14 November 2011.

   [RFC4033]  Arends, R.,Austein, R.,Larson, M.,Massey, D.,Rose, S.,
              "DNS Security Introduction and Requirements", RFC 4033,
              March 2005.

   [RFC6376]  Crocker, D.,Hansen, T.,Kucherawy, M., "DomainKeys
              Identified Mail (DKIM) Signatures", STD 76, RFC 6376,
              September 2011.

   [RFC5280]  Cooper, D.,Santesson, S.,Farrell, S.,Boeyen, S.,Housley,
              R.,Polk, W., "Internet X.509 Public Key Infrastructure
              Certificate and Certificate Revocation List (CRL)
              Profile", RFC 5280, May 2008.

   [RFC5751]  Ramsdell, B.,Turner, S., "Secure/Multipurpose Internet
              Mail Extensions (S/MIME) Version 3.2 Message
              Specification", RFC 5751, January 2010.

   [RFC6698]  Hoffman, P.,Schlyter, J., "The DNS_Based Authentication of
              Named Entities (DANE) Transport Layer Security (TLS)
              Protocol: TLSA", RFC 6698, August 2012.

   [RFC5246]  Dierks, T.,Rescorla, E., "The Transport Layer Security
              (TLS) Protocol Version 1.2", RFC 5246, August 2008.

   [RFC3207]  Hoffman, P., "SMTP Service Extension for Secure SMTP over
              Transport Layer Security", RFC 3207, February 2002.

7.2. Informative References

   [RFC5055]  Freeman, T.,Housley, R.,Malpani, A.,Cooper, D.,Polk, W.,
              "Server_Based Certificate Validation Protocol (SCVP)", RFC
              5055, December 2007.

   [RFC2440]  Callas, J.,Donnerhacke, L.,Finney, H.,Thayer, R., "OpenPGP
              Message Format", RFC 2440, November 1998.

   [RFC1421]  Linn, J., "Privacy Enhancement for Internet Electronic
              Mail: Part I: Message Encryption and Authentication
              Procedures", RFC 1421, February 1993.





                             April 30, 2015                    [Page 19]


Internet-Draft       PRISM-Proof Email Deployment           October 2014

Author's Address

   Phillip Hallam-Baker
   Comodo Group Inc.

   philliph@comodo.com
















































                             April 30, 2015                    [Page 20]