Internet DRAFT - draft-hallambaker-prismproof-dep

draft-hallambaker-prismproof-dep



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]