<?xml version="1.0" encoding="US-ASCII"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
     which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!-- One method to get references from the online citation libraries.
     There has to be one entity for each item to be referenced. 
     An alternate method (rfc include) is described in the references. -->

<!ENTITY RFC2119 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<rfc category="info" docName="draft-osterweil-dane-ent-email-reqs-00" ipr="trust200902">
  <front>
    <title abbrev="Ent Reqs for Secure Email Key Management">Enterprise Requirements for Secure Email Key Management</title>
    <author fullname="Eric Osterweil" initials="E.O." surname="Osterweil">
      <organization>Verisign Labs</organization>
      <address>
        <postal>
          <street></street>
          <city>Reston</city>
          <region>VA</region>
          <code></code>
          <country>US</country>
        </postal>
        <email></email>
      </address>
    </author>

    <author fullname="Scott Rose" initials="S.R." surname="Rose">
      <organization>NIST</organization>
      <address>
        <postal>
          <street>100 Bureau Dr.</street>
          <city>Gaithersburg</city>
          <region>MD</region>
          <code>20899</code>
          <country>US</country>
        </postal>
        <email>scottr@nist.gov</email>
      </address>
    </author>

    <author fullname="Doug Montgomery" initials="D.M." surname="Montgomery">
      <organization>NIST</organization>
      <address>
        <postal>
          <street>100 Bureau Dr.</street>
          <city>Gaithersburg</city>
          <region>MD</region>
          <code>20899</code>
          <country>US</country>
        </postal>
        <email>dougm@nist.gov</email>
      </address>
    </author>

    <date year="2014" />
    <area>Security</area>

    <workgroup></workgroup>
    <keyword>S/MIME</keyword>
    <keyword>DANE</keyword>
    <keyword>Email</keyword>
    <keyword>Secure</keyword>

    <abstract>
      <t>
      Individuals and organizations have expressed a wish to have the ability to send encrypted and/or digitally signed email end-to-end. 
      One key obstacle to end-to-end email security is the difficulty in discovering, obtaining, and validating email credentials across 
      administrative domains. 
       This document addresses foreseeable adoption obstacles for DANE's cryptographic key management for email in enterprises, and
        outlines requirements.
      </t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>
        The management of security protections for email constituencies can vary by organization and by type of organization.
        Some organizations can have large sets of users with prescribed controls and policies,
        some may have a lot of churn in their users, and there are many other ways in which deployments may differ.
      </t>

      <t>
        As a result of the variability of deployments,
        aligning key management semantics with the behaviors of email users (and their organizations) can be an important differentiator when administrators 
        choose a solution in which to invest.
        Designs and cryptographic protocols that do not fit the requirements of users run
        the risk that deployments may falter and/or may not gain traction.
      </t>

      <t>
        This document addresses foreseeable requirements for DANE's cryptographic key management for email in enterprises, and
        outlines requirements.  This document generally categorizes requirements as being relevant to the domain authorities, the 
        Relying Parties (RPs), or both. In the following text, "domain authorities" refers to the owners of a given domain, which
        may not necessarily be the operators of the authoritative DNS servers for the zone(s) that make up the domain.
      </t>

      <section title="Requirements Language">
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
        "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
        document are to be interpreted as described in <xref
        target="RFC2119">RFC 2119</xref>.</t>
      </section>
    </section>

    <section anchor="sec:both" title="Requirements for Both">
      <t>
        <list counter="reqs" hangIndent="4" style="format REQ-%d">
          <t>
            Credentials stored can be either entire credential (i.e. the key/certificate) or one-way hash of the credential.
            <list style="empty" hangIndent="4">
              <t>
                Intuition: This can reduce the size of DNS responses.
              </t>
            </list>
          </t>

          <t>
            The Protocol MUST be able to handle the use of DNS redirection via CNAME/DNAME and wildcards.
    
            <list style="empty" hangIndent="4">
              <t>
                Intuition: Managing user domain names may be a different cardinality than number of S/MIME certificates.
                For example, if the domain's users employ the same certificate for both digital signature and encryption, 
                a DNAME record enables a single Resource Record (RR) for each user.
              </t>
            </list>
          </t>
        </list>
      </t>
    </section>

    <section anchor="sec:auth" title="Requirements for Authorities">
      <t>
        <list counter="reqs" hangIndent="4" style="format REQ-%d">
          <t>
            The protocol MUST support incremental rollout of DANE-centric cryptographic protections, 
            whereby not all users in an enterprise may be cut over to a DANE solution at the
            same time and MUST be backwards compatible

            <list style="empty" hangIndent="4">
              <t>
                Intuition: Enterprise operations may wish be able to enroll subsets 
                of all of their users in a DANE architecture without disrupting existing email cryptographic services
                for all users.
              </t>
            </list>
          </t>

          <t>
            The protocol MUST have the ability to either scope a Certification Authority (CA) or local Trust Anchor (TA) in use for a given domain.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: Enterprises may issue certificates from a TA and prefer to authorize that certificate in DNS 
                (instead of End Entity certificates for every user).
              </t>
            </list>
          </t>

          <t>
            The protocol SHOULD have the ability to signal that a particular key/certificate is no longer to be trusted or is revoked.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: Allows default TA authorizations to be overridden by revocation.
              </t>
            </list>
          </t>

		 <t>
            The protocol SHOULD have the ability to signal that a particular email address is not (or no longer) a valid sender for the given domain.            <list style="empty" hangIndent="4">
              <t>
                Intuition: Allows for authenticated denial of existence of a network identity.
              </t>
            </list>
          </t>
          
          <t>
            The protocol MUST allow for separate management, publication, and learning of keys that are used for signing versus encryption.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: Separating, scaling, delegating, and general management for different keys in different ways and in different branches of the DNS allows
                administrators to manage different material in different systems if needed.
              </t>
            </list>
          </t>

          <t>
            The protocol MUST have the ability to delegate authority for user names.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: Some enterprises may wish to use a service provider.
              </t>
            </list>
          </t>

          <t>
            The protocol MUST have the ability to manage keys in different ways for different user names.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: Not all members of a medium/large enterprise may be migrated onto a DANE 
                system overnight, and must operate alongside current email key management. This could include users
                that use a different email security protocol. 
              </t>
            </list>
          </t>
          
          <t>
            The protocol MUST have the ability to signal that a given network identity (or entire zone) only sends digitally
            signed messages.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: A domain owner may wish to signal that their email security policy is to sign all outgoing message so
                a receiver can infer an unsigned message is likely a phishing attempt. 
              </t>
            </list>
          </t>
          
        </list>
      </t>
    </section>

    <section anchor="sec:rps" title="Requirements for Relying Parties">
      <t>
        <list counter="reqs" hangIndent="4" style="format REQ-%d">
          <t>
            Key material for DANE-enabled email users MUST be verifiably discoverable and learnable using just an email address.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: Email addresses are all the RP has, but may point to external management systems.
              </t>
            </list>
          </t>

          <t>
            The protocol SHOULD have the ability to provide opportunistic encryption at the user's discretion.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: Compliance controls (for example) may mandate the encryption of all messages under certain circumstances.
              </t>
            </list>
          </t>

          <t>
            The protocol MUST support default verification configurations (such as enterprise TA or stapling) with user-specific overrides.
            Overrides MUST include specifying specific cryptographic information for specific users and disallowing users (either specific cryptographic or entirely).
          </t>

          <t>
            The protocol MUST be resistant to downgrade attacks targeting the DNS response.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: If DNSSEC is stripped, the protocol MUST alert the user or refuse to send an unencrypted email message.
              </t>
            </list>
          </t>

          <t>
            The protocol MUST provide separate semantics to discover certificates that are used for specific purposes.

            <list style="empty" hangIndent="4">
              <t>
                Intuition: keep DNS response size minimal.
              </t>
            </list>
          </t>

          <t>
            Encryption keys MUST be discoverable separately from signature keys.
            Possible means includes (but not limited to) naming conventions, sub-typing or unique RR types for each use

            <list style="empty" hangIndent="4">
              <t>
                Intuition: Not all certificates for a user may be needed for all circumstances.  Fetching them separately can be 
                a management, a scaling, or even a security concern.
              </t>
            </list>
          </t>
        </list>
      </t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>
        TBD
      </t>
    </section>

    <!-- Possibly a 'Contributors' section ... -->

    <section anchor="IANA" title="IANA Considerations">
      <t>
        This document only discusses requirements for publishing and querying for security credentials used in email. 
        No new IANA actions are required in this document, but specifications addressing these requirements may have
        IANA required actions.  
      </t>
      <t>
      This section should be removed in final publication.
      </t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>
        The motivation for this document is to outline requirements needed to facilitate the secure publication
        and learning of cryptographic keys for email, using DANE semantics.  There are numerous documents that 
        more generally address security considerations for email.  By contrast, this document is not proposing
        a protocol or any facilities that need to be secured.  Instead, these requirements are intended to 
        inform security considerations in follow-on works.
      </t>
    </section>
  </middle>

  <back>
    <!-- References split into informative and normative -->

    <!-- There are 2 ways to insert reference entries from the citation libraries:
     1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
     2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
        (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

     Both are cited textually in the same manner: by using xref elements.
     If you use the PI option, xml2rfc will, by default, try to find included files in the same
     directory as the including file. You can also define the XML_LIBRARY environment variable
     with a value containing a set of directories to search.  These can be either in the local
     filing system or remote ones accessed by http (http://domain/dir/... ).-->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->

      &RFC2119;

    </references>
  </back>
</rfc>
