<?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" [
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC3118 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3118.xml">
<!ENTITY RFC1034 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1034.xml">
<!ENTITY RFC1035 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC4033 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4033.xml">
<!ENTITY RFC6698 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6698.xml">
<!ENTITY RFC5246 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5246.xml">
<!ENTITY RFC2595 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2595.xml">
<!ENTITY RFC3501 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3501.xml">
<!ENTITY RFC3207 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3207.xml">
<!ENTITY RFC3234 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3234.xml">
<!ENTITY RFC1939 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.1939.xml">
<!ENTITY RFC5280 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5280.xml">
<!ENTITY RFC2818 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2818.xml">
<!ENTITY RFC2131 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2131.xml">
<!ENTITY RFC6891 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.6891.xml">
<!ENTITY RFC4892 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4892.xml">
<!ENTITY RFC5077 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5077.xml">

<!--
<!ENTITY RFC5077 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5077.xml">
-->

<!--<!ENTITY I-D.narten-iana-considerations-rfc2434bis SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.narten-iana-considerations-rfc2434bis.xml"> -->
]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
     please see http://xml.resource.org/authoring/README.html. -->
<?rfc symrefs="yes"?>
<!-- use symbolic references tags, i.e, [RFC2119] instead of [1] -->
<?rfc sortrefs="yes"?>
<!-- sort the reference entries alphabetically -->
<!-- control vertical white space 
     (using these PIs as follows is recommended by the RFC Editor) -->
<?rfc compact="yes" ?>
<!-- do not start each main section on a new page -->
<?rfc subcompact="no" ?>
<!-- keep one blank line between list items -->
<!-- end of list of popular I-D processing instructions -->
<rfc category="std" docName="draft-start-tls-over-dns-00" ipr="trust200902">
  <!-- category values: std, bcp, info, exp, and historic
     ipr values: full3667, noModification3667, noDerivatives3667
     you can add the attributes updates="NNNN" and obsoletes="NNNN" 
     they will automatically be output with "(if approved)" -->

  <!-- ***** FRONT MATTER ***** -->

  <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
         full title is longer than 39 characters -->
    <title abbrev="Starting TLS over DNS">Starting TLS over DNS</title>

    <author fullname="Zi Hu" initials="Z." surname="Hu">
      <organization>USC/Information Sciences Institute</organization>
      <address>
        <postal>
          <street>4676 Admiralty Way, Suite 1133</street>
          <city>Marina del Rey</city>
          <region>CA</region>
          <code>90292</code>
          <country>USA</country>
        </postal>
        <phone>+1 213 587-1057</phone>
        <email>zihu@usc.edu</email>
      </address>
    </author>
    
    <author fullname="Liang Zhu" initials="L." surname="Zhu">
      <organization>USC/Information Sciences Institute</organization>
      <address>
        <postal>
          <street>4676 Admiralty Way, Suite 1133</street>
          <city>Marina del Rey</city>
          <region>CA</region>
          <code>90292</code>
          <country>USA</country>
        </postal>
        <phone>+1 310 448-8323</phone>
        <email>liangzhu@usc.edu</email>
      </address>
    </author>

    <author fullname="John Heidemann" initials="J." surname="Heidemann">
      <organization>USC/Information Sciences Institute</organization>
      <address>
        <postal>
          <street>4676 Admiralty Way, Suite 1001</street>
          <city>Marina del Rey</city>
          <region>CA</region>
          <code>90292</code>
          <country>USA</country>
        </postal>
        <phone>+1 310 822-1511</phone>
        <email>johnh@isi.edu</email>
      </address>
    </author>

    <author fullname="Allison Mankin" initials="A." surname="Mankin">
      <organization>Verisign Labs</organization>
      <address>
	<postal>
	  <street>12061 Bluemont Way</street>
	  <city>Reston</city>
	  <region>VA</region>
	  <code>20190</code>
	</postal>
	<phone>+1 703 948-3200</phone>
        <email>amankin@verisign.com</email>
      </address>
    </author>

    <author fullname="Duane Wessels" initials="D." surname="Wessels">
      <organization>Verisign Labs</organization>
      <address>
	<postal>
	  <street>12061 Bluemont Way</street>
	  <city>Reston</city>
	  <region>VA</region>
	  <code>20190</code>
	</postal>
	<phone>+1 703 948-3200</phone>
        <email>dwessels@verisign.com</email>
      </address>
    </author>


    <date year="2014" />

    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
         in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

    <!-- Meta-data Declarations -->

    <area>Internet</area>

    <!-- WG name at the upperleft corner of the doc,
         IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
         which is used by the RFC Editor as a nod to the history of the IETF. -->

    <keyword>template</keyword>

    <!-- Keywords will be incorporated into HTML output
         files in a meta tag but they have no effect on text or nroff
         output. If you submit your draft to the RFC Editor, the
         keywords will be used for the search engine. -->

    <abstract>
      <t>
	This document describes a technique for upgrading a DNS TCP
	connection to use Transport Layer Security (TLS) over
	standard ports.  Encryption provided by DNS-over-TLS
	eliminates opportunities for eavesdropping of DNS queries
	in the network.  The proposed mechanism is backwards
	compatible with clients and servers that are not aware of
	DNS-over-TLS.
	  </t>

    </abstract>
  </front>



<middle>
  <section anchor="Intro" title="Introduction">

<t>
  Today, nearly all DNS queries (<xref target="RFC1034"/> and <xref target="RFC1035"/>)
  are sent unencrypted, which makes them
  vulnerable to eavesdropping by an attacker that has access to the network channel,
  reducing the privacy of the querier.
  Recent news reports have elevated these concerns,
  and ongoing efforts are beginning to identify privacy 
  concerns about DNS (<xref target="draft-bortzmeyer-dnsop-dns-privacy"/>).
</t>

<t>
  Prior work has addressed some aspects of DNS security,
	but none addresses privacy between a DNS client and server
	using standard protocols.
  DNS Security Extensions (DNSSEC, <xref target="RFC4033"/>)
  provide <spanx style="emph">response integrity</spanx>
	by defining mechanisms to cryptographically sign zones,
  allowing end-users (or their first-hop resolver) to verify replies are correct. 
  DNSSEC however does nothing to protect request or response privacy. 
<!-- fix:A1 -->
  Traditionally, either privacy was not considered a requirement for DNS traffic,
     or it was assumed that network traffic was sufficiently private,
     however these perceptions are evolving due to recent events.
</t>

<t>
  More recently, DNSCurve <xref target="draft-dempsky-dnscurve"/> 
  defines a method to provide link-level confidentiality and integrity
	 between DNS clients and servers.
  However, it does so with a new cryptographic protocol
    and so does not take advantage of TLS.
  ConfidentialDNS <xref target="draft-wijngaards-confidentialdns"/>
	and IPSECA <xref target="draft-osterweil-dane-ipsec"/>
  use opportunistic encryption to provide privacy for
  DNS queries and responses.
  However, it is unclear how a client 
     can locate an RR specific to its first-hop resolver.
  Finally, others have suggested DNS-over-TLS.
  Recent work suggests DNS-over-TLS (<xref target="draft-bortzmeyer-dnsop-privacy-sol"/>),
  and
   the Unbound DNS software <xref target="unbound"/> includes a DNS-over-TLS implementation.
  However, neither defines methods to negotiate TLS use over an existing
     connection; unbound instead requires DNS-over-TLS to run on a different port.
</t>

<t>
  The mechanism described in this document enables DNS clients and servers to upgrade an
  existing DNS-over-TCP connection to a DNS-over-TLS connection.
  It is analogous to STARTTLS <xref target="RFC2595"/>
	used in SMTP <xref target="RFC3207"/>, IMAP <xref target="RFC3501"/> and POP <xref target="RFC1939"/>.
</t>

<t>
  This document defines only the protocol extensions necessary to
  support TLS negotiation.   It does not describe how DNS clients
  might validate server certificates or specify trusted certificate
  authorities.  Solutions for certificate authentication are outside the scope
  of this document.
</t>
      <section title="Reserved Words">
        <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="protocol_changes" title="Protocol Changes">
  <t>
    Clients and servers indicate their support for, and desire
    to use, DNS-over-TLS by setting a bit in the Flags field of the
    EDNS0 <xref target="RFC6891"/> OPT meta-RR.  The "TLS OK"
    (TO) bit is defined as the second bit of the third and fourth
    bytes of the "extended RCODE and flags" portion of the EDNS0
    OPT meta-RR, immediately adjacent to the "DNSSEC OK" (DO) bit
    <xref target="RFC4033"/>:
    <figure>
    <artwork><![CDATA[
                  +0 (MSB)                +1 (LSB)
           +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        0: |   EXTENDED-RCODE      |       VERSION         |
           +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        2: |DO|TO|                  Z                      |
           +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
    ]]></artwork>
    </figure>
  </t>

<section anchor="client_use" title="Use by DNS Clients">
 <section anchor="client_queries" title="Sending Queries">
  <t>
    DNS clients MAY set the TO bit in queries sent using UDP transport
    to signal their general ability to support DNS-over-TLS.
    [For discussion: is this a bad idea because ignorant middleboxes
    might drop the TO=1 UDP queries?]
<!-- fix:a2 -->
  </t>
  <t>
    DNS clients MAY set the TO bit in the initial query sent to a
    server using TCP transport to signal their desire that the
    TCP connection be upgraded to TLS.  DNS clients MUST NOT set
    the TO bit on subsequent queries when using TCP or TLS transport
	(to avoid ambiguity).
	<!-- fix:B1 -->
  </t>
  <t>
    Since the motivation for DNS-over-TLS is to preserve privacy,
    DNS clients SHOULD use a query that reveals no private
    information in the initial TO=1
    query to a server.  
    To provide a standard "dummy" query,
    it is RECOMMENDED to send the initial query
    with RD=0, QNAME="STARTTLS", QCLASS=CH, and QTYPE=TXT
    ("STARTTLS/CH/TXT") analogous to administrative queries already
    in widespread use <xref target="RFC4892"/>.
  </t>
  <t>
    After sending the initial TO=1 query using TCP transport, DNS
    clients MUST wait for the initial response before sending any
    subsequent queries over the same TCP connection.
  </t>
 </section>
 <section anchor="client_responses" title="Receiving Responses">
  <t>
<!-- fix:c6 -->
   A DNS client that receives a response using UDP transport that
   has the TO bit set MUST handle that response as usual.
	It MAY record the server's support for DNS-over-TLS
   and use that information as part of its server selection algorithm
   in the case where multiple servers are available to service a
   particular query.
   [For discussion: UDP is subject to spoofing and a client which
   depends on TO=1 in a UDP response may be tricked into never upgrading
   to TLS.]
  </t>
  <t>
   A DNS client that receives a response to its initial query using
   TCP transport that has the TO bit set MUST immediately initiate
   a TLS handshake using the procedure described in <xref
   target="RFC5246"/>.
  </t>
  <t>
    A DNS client that receives a response to its initial query using
    TCP transport that has the TO bit clear MUST not initiate a TLS
    handshake and SHOULD utilize the existing TCP connection
    for subsequent queries.  DNS clients SHOULD remember server IP
    addresses that don't support DNS-over-TLS (including TLS handshake
    failures) and SHOULD NOT request DNS-over-TLS from them for 
	reasonable period.
	<!-- fix:a5 -->
	<!-- fix:c4 -->
	(We suggest 1 hour, or when the client discovers a new resolver.)
  </t>

 </section>
</section>

<section anchor="server_use" title="Use by DNS Servers">
 <section anchor="server_queries" title="Receiving Queries">
  <t>
    A DNS server receiving a query over UDP MUST ignore the TO bit.
  </t>
  <t>
    A DNS server receiving a query over an existing TLS connection MUST
    ignore the TO bit.
  </t>
  <t>
    A DNS server receiving an initial query over TCP that has the TO
    bit set MAY inform the client it is willing to establish a TLS
    session, as described in the next section.
  </t>
  <t>
    A DNS server receiving subsequent queries over TCP MUST ignore the TO bit.
<!-- fix:c5 -->
	(A client wishing to start TLS after the initial query
	MUST open a new TCP connection to do so.)
  </t>
 </section>
 <section anchor="server_responses" title="Sending Responses">
  <t>
    A DNS server sending a response over UDP SHOULD set the TO bit
    to indicate its general support for DNS-over-TLS, as long as
    it is willing and able to support a TLS connection with the
    particular client.
  </t>
  <t>
    A DNS server receiving an initial query over TCP that has the TO
    bit set MAY set the TO bit in its response.  
	<!-- fix:E4 -->
	The server MUST then proceed with the TLS handshake protocol.
  </t>
  <t>
    A DNS server receiving a "dummy" STARTTLS/CH/TXT query over TCP
    MUST respond with RCODE=0 and a TXT RR in
    the Answer section.
    Contents of the TXT RR are strictly informative (for humans) and MUST NOT
    be interpreted by the client software.
    Recommended TXT RDATA values are "STARTTLS" or "NO_TLS".
  </t>
 </section>
</section>

<section anchor="established" title="Established Sessions">
  <t>
    After TLS negotiation completes, the connection will be encrypted
    and is now protected
    from eavesdropping and normal DNS queries SHOULD take place.
  </t>

  <t>
    Both clients and servers SHOULD follow existing DNS-over-TCP
    timeout rules, which are often implementation- and situation-dependent.
    In the absence of any other advice, the RECOMMENDED timeout
    values are 30 seconds for recursive name servers, 60 seconds
    for clients of recursive name servers, 10 seconds for authoritative
    name servers, and 20 seconds for clients of authoritative name
    servers.  Current work in this area may
    assist DNS-over-TLS clients and servers select useful timeout values
   <xref target="draft-wouters-edns-tcp-keepalive"/> <xref target="tdns"/>.
  </t>
  <t> <!-- fix:e3 -->
	As with current DNS-over-TCP,
	DNS servers MAY close the connection
	at any time (e.g., due to resource constraints).
	As with current DNS-over-TCP,
	clients MUST handle abrupt closes
	and be prepared to reestablish connections and/or retry queries.
  DNS servers SHOULD use the TLS close-notify request to
    shift TCP TIME-WAIT state to the clients.
  </t>
  <t>
  DNS servers SHOULD enable fast TLS session resumption <xref target="RFC5077"/>
  to avoid keeping per-client session state.
  </t>


</section>

<section title="Middleboxes">
  <t>
    Middleboxes <xref target="RFC3234"/> may be present in some
    networks that interfere with normal DNS resolution and create
    problems for DNS-over-TLS.  
    A DNS client attempting DNS-over-TLS
    with a middlebox could have one of the following outcomes
    (as discussed in prior RFCs <xref target="RFC3207"/>):

    <list style="numbers">
      <t>
        The DNS client sends a TO=1 query and receives a TO=0 response.  In this
        case there is no upgrade to TLS and DNS resolution occurs normally, without
        encryption.
      </t>
      <t>
        The DNS client sends a TO=1 query and receives a TO=1 response,
        but the TLS handshake fails because the server's certificate
        cannot be authenticated.  In this case the client SHOULD
	close
        the established connection and fall back to unencrypted
        DNS for a reasonable period (as discussed in <xref target="client_responses"/>).
      </t>
      <t>
	<!-- fix:d3 -->
        The DNS client sends a TO=1 query and receives a TO=1 response,
	but the middlebox does not understand the TLS negotiation.
	Middleboxes SHOULD clear TO in replies if they are not prepared
	to pass through TLS negotiation.
	Clients SHOULD retry DNS without TO set if negotiation fails,
  and then retry with TLS after a reasonable period (see <xref target="client_responses"/>).
      </t>
      <t>
        The DNS client sends a TO=1 query but receives no response
        at all.  The middlebox might be silently dropping the query,
        despite <xref target="RFC6891"/> stating that the "Z" Flags
        are to be ignored by receivers.  The client SHOULD fall back
        to normal (unencrypted) DNS for a reasonable period (as discussed in <xref target="client_responses"/>).
      </t>
    </list>
<!-- fix:e5 -->
  In general, clients that attempt TLS and fail
	can either fall back on unencrypted DNS,
	or wait and retry later,
	depending on their privacy requirements.
	[For discussion: should IETF recommend defaulting to postpone and retry
	instead of non-private operation?  This is a policy decision.]
  </t>
</section>
</section>


<section anchor="Performance" title="Performance Considerations">
<!-- fix:B2 -->
  <t>
  <!-- Using TCP/TLS does latency and additional state to DNS processing. -->
  DNS-over-TLS incurs additional latency at session startup.  It also requires
  additional state (memory) increased processing (CPU).
  <list style="numbers">
	<t>
<!-- fix:C2 -->
  Latency:
  Compared to UDP, DNS-over-TCP requires an additional round-trip-time (RTT) of
  latency to establish the connection.  The TLS handshake adds another two
  RTTs of latency.
  Using a single connection for multiple requests amortizes the connection setup costs.
  Moreover, TLS connection resumption can further reduce the setup delay.  
	</t>
	<t>
<!-- fix:C3 -->
  State:
  The use of connection-oriented TCP requires keeping additional state in both
  kernels and applications.  TLS has marginal increases in state over TCP alone.
  The state requirements are of particular concerns on servers with many clients.
  Smaller timeout values will reduce the number of concurrent connections,
	and servers can preemptively close connections when resources limits are exceeded.
	</t>
	<t>
  Processing:
  Use of TLS encryption algorithms necessarily results in increased CPU usage.  Servers can
  choose to refuse new DNS-over-TCP clients if processing limits are exceeded.
        </t>
  </list>
	A full performance evaluation is outside the scope of this specification.
  A more detailed analysis of the performance implications
  of DNS-over-TLS (and DNS-over-TCP)
  is discussed in a technical report <xref target="tdns"/>.
  </t>

</section>


<section anchor="IANA" title="IANA Considerations">
  <t>
    This document defines a new bit ("TO") in the Flags field of the EDNS0 OPT meta-RR.
   At the time
   of approval of this draft in the standards track, as per the IANA 
   Considerations of RFC 6891, IANA is requested to reserve the second 
   leftmost bit of the flags as the TO bit, immediately adjacent to the DNSSEC DO bit,
   as shown in <xref target="protocol_changes"/>.
  </t>
</section>

<section anchor="Security" title="Security Considerations">
  <t>
	The goal of this proposal is to address the security risks that arise
        because DNS queries may be eavesdropped upon, as described above.
        There are a number of residual risks that may impact this goal.

	  <list style="numbers">
	<t>
    There are known attacks on TLS, such as person-in-the-middle and
    protocol downgrade.
    These are general attacks on TLS and not specific to DNS-over-TLS;
    we refer to the TLS RFCs for discussion of these security issues.
	</t>
    <t>
   Any protocol interactions prior to the TLS handshake are performed in
   the clear and can be modified by a man-in-the-middle attacker.  For
   this reason, clients MAY discard cached information about server
   capabilities advertised prior to the start of the TLS handshake.
    </t>

    <t>
	<!-- fix:A3 -->
	<!-- fix:E1 -->
	<!-- fix:E6 -->
	As with other uses of STARTTLS-upgrade to TLS, the
	  mechanism specified here is susceptible to downgrade attacks,
	where a person-in-the-middle prevents a successful TLS upgrade.
	Keeping track of servers known to support TLS (i.e., "pinning")
	enables clients to detect downgrade attacks.
	For servers with no connection history, 
  	clients may choose to refuse non-TLS DNS,
	or they may continue without TLS,
	depending on their privacy requirements.
    </t>

<t>
  This document does not propose new ideas for certificate authentication
     for TLS in the context of DNS.
  Several external methods are possible, although each has weaknesses.
  The current Certificate Authority infrastructure <xref target="RFC5280"/>
  is used by HTTP/TLS <xref target="RFC2818"/>.
  With many trusted CAs, this approach has recognized weaknesses <xref target="CA_Compromise"/>.
  Some work is underway to partially address these concerns (for example,
  with certificate pinning <xref target="certificate_pinning"/>,
	but more work is needed.
  DANE <xref target="RFC6698"/> provides mechanisms to root certificate trust
	with DNSSEC.
  That use here must be carefully evaluated to address potential issues in
	trust recursion.
  For stub-to-recursive resolver use,
	certificate authentication is sometimes either easy or nearly impossible.
  If the recursive resolver is manually configured, its certificate
	can be authenticated when it is configured.
  If the recursive resolver is automatically configured (such as with DHCP <xref target="RFC2131"/>),
	it could use DHCP authentication mechanisms <xref target="RFC3118"/>).
</t>


	  </list>
</t>
<t>
	Ongoing discussion of opportunistic TLS
	 (connections without CA validation, <xref target="draft-hoffman-uta-opportunistic-tls"/>)
	may be relevant to DNS-over-TLS. 
</t>
</section>



<section anchor="Acknowledgements" title="Acknowledgements">
	<!-- fix:a6 -->
  <t>
	We would like to thank Stephane Bortzmeyer, Brian Haberman, Paul Hoffman, 
	Kim-Minh Kaplan, Bill Manning, George Michaelson, Eric Osterweil and Glen Wiley 
	for reviewing this Internet-draft.
  </t>
</section>

</middle>
  

  <!--  *****BACK MATTER ***** -->

  <back>
    <!-- References split into informative and normative -->

    <references title="Normative References">
      <!--?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml"?-->
      &RFC2119;
      &RFC1034;
      &RFC1035;
      &RFC5246;
      &RFC6891;
      &RFC5077;
    </references>

    <references title="Informative References">
      <!-- Here we use entities that we defined at the beginning. -->
    &RFC1939;
    &RFC2131;
    &RFC2595;
    &RFC2818;
    &RFC3118;
    &RFC3207;
    &RFC3234;
    &RFC3501;
    &RFC4033;
    &RFC4892;
    &RFC5280;
    &RFC6698;

    <reference anchor="draft-bortzmeyer-dnsop-dns-privacy" target="http://tools.ietf.org/html/draft-bortzmeyer-dnsop-dns-privacy-01">
    <front>
    <title>DNS Privacy issues</title>
    <author initials="S." surname="Bortzmeyer" fullname="Stephane Bortzmeyer">
    <organization abbrev="AFNIC">AFNIC</organization>
    <address></address>
    </author>
    <date month="November" year="2013" />
    </front>
    <seriesInfo name="Internet-Draft" value="draft-bortzmeyer-dnsop-dns-privacy-01" />
    </reference>


    <reference anchor="draft-bortzmeyer-dnsop-privacy-sol" target="http://tools.ietf.org/html/draft-bortzmeyer-dnsop-privacy-sol-00">
    <front>
    <title>Solutions to DNS privacy issues</title>
    <author initials="S." surname="Bortzmeyer" fullname="Stephane Bortzmeyer">
    <organization abbrev="AFNIC">AFNIC</organization>
    <address></address>
    </author>
    <date month="December" year="2013" />
    </front>
    <seriesInfo name="Internet-Draft" value="draft-bortzmeyer-dnsop-privacy-sol-00" />
    </reference>

    <reference anchor="draft-hoffman-uta-opportunistic-tls" target="http://tools.ietf.org/html/draft-hoffman-uta-opportunistic-tls-00">
    <front>
    <title>Opportunistic Encryption Using TLS</title>
    <author initials="P." surname="Hoffman" fullname="Paul Hoffman">
    <organization abbrev="VPN_Consortium">VPN Consortium</organization>
    <address></address>
    </author>
    <date month="February" year="2014" />
    </front>
    <seriesInfo name="Internet-Draft" value="draft-hoffman-uta-opportunistic-tls-00"/>
    </reference>

    <reference anchor="draft-osterweil-dane-ipsec" target="http://tools.ietf.org/html/draft-osterweil-dane-ipsec-00">
    <front>
    <title>Opportunistic Encryption with DANE Semantics and IPsec: IPSECA</title>
    <author initials="E." surname="Osterweil" fullname="Eric Osterweil">
    <organization abbrev="VeriSign">VeriSign, Inc</organization>
    <address></address>
    </author>
    <author initials="G." surname="Wiley" fullname="Glen Wiley">
    <organization abbrev="VeriSign">VeriSign, Inc</organization>
    <address></address>
    </author>
    <author initials="D." surname="Mitchell" fullname="Dave Mitchell">
    <organization abbrev="Twitter">Twitter</organization>
    <address></address>
    </author>
    <author initials="A" surname="Newton" fullname="Andrew Newton">
    <organization abbrev="ARIN">American Registry for Internet Numbers</organization>
    <address></address>
    </author>
    <date month="February" year="2014" />
    </front>
    <seriesInfo name="Internet-Draft" value="draft-osterweil-dane-ipsec-00"/>
    </reference>

    
    <reference anchor="unbound" target="http://unbound.net/">
    <front>
    <title>Unbound</title>
    <author>
    <organization abbrev="NLnet_Verisign">NLnet Labs, Verisign labs</organization>
    <address></address>
    </author>
    <date month="December" year="2013" />
    </front>
    </reference>

    
    <reference anchor="draft-dempsky-dnscurve" target="http://tools.ietf.org/html/draft-dempsky-dnscurve-01">
    <front>
    <title>DNSCurve</title>
    <author initials="M." surname="Dempsky" fullname="Matthew Dempsky">
    <organization abbrev="OpenDNS">OpenDNS, INC.</organization>
    <address></address>
    </author>
    <date month="August" year="2010" />
    </front>
    <seriesInfo name="Internet-Draft" value="draft-dempsky-dnscurve-01" />
    </reference>

    
    <reference anchor="CA_Compromise" target="http://www.infosecisland.com/blogview/19782-Web-Authentication-A-Broken-Trust-with-No-Easy-Fix.html">
    <front>
    <title>CA Compromise</title>
    <author>
    <organization abbrev="Infosec">Infosec Island Admin</organization>
    <address></address>
    </author>
    <date month="January" year="2012" />
    </front>
    </reference>

    <!-- reference anchor="crime-attack" target="https://community.qualys.com/blogs/securitylabs/2012/09/14/crime-information-leakage-attack-against-ssltls">
    <front>
    <title>The CRIME attack against TLS</title>
    <author initials="J." surname="Rizzo" fullname="Juliano Rizzo">
    <address/>
    </author>
    <author initials="T." surname="Duong" fullname="Thai Duong">
    <address/>
    </author>
    <date month="September" year="2012" />
    </front>
    </reference -->

    <reference anchor="certificate_pinning" target="https://www.owasp.org/index.php/Certificate_and_Public_Key_Pinning">
    <front>
    <title>Certificate and Public Key Pinning</title>
    <author>
    <organization abbrev="OWASP">OWASP</organization>
    <address></address>
    </author>
    </front>
    </reference>

    <reference anchor="draft-wijngaards-confidentialdns" target="http://tools.ietf.org/html/draft-wijngaards-dnsop-confidentialdns-00">
    <front>
    <title>Confidential DNS</title>
    <author initials="W." surname="Wijngaards" fullname="Wouter Wijngaards">
    <organization abbrev="NLnet Labs">NLnet Labs</organization>
    <address></address>
    </author>
    <date month="November" year="2013" />
    </front>
    <seriesInfo name="Internet-Draft" value="draft-wijngaards-dnsop-confidentialdns-00" />
    </reference>

    <reference anchor="draft-wouters-edns-tcp-keepalive" target="http://tools.ietf.org/html/draft-wouters-edns-tcp-keepalive-00">
      <front>
        <title>The edns-tcp-keepalive EDNS0 Option</title>
        <author initials="P." surname="Wouters" fullname="Paul Wouters">
          <organization abbrev="Red Hat">Red Hat</organization>
          <address></address>
        </author>
        <author initials="J." surname="Abley" fullname="Joe Abley">
          <organization abbrev="Dyn Inc.">Dyn Inc.</organization>
          <address></address>
        </author>
        <date month="October" year="2013" />
      </front>
      <seriesInfo name="Internet-Draft" value="draft-wouters-edns-tcp-keepalive-00" />
    </reference>

    
    <reference anchor="tdns" target="Technical report, ISI-TR-688, ftp://ftp.isi.edu/isi-pubs/tr-688.pdf">
    <front>
    <title>T-DNS: Connection-Oriented DNS to Improve Privacy and Security</title>
    <author initials="L." surname="Zhu" fullname="Liang Zhu"/>
    <author initials="Z." surname="Hu" fullname="Zi Hu"/>
    <author initials="J." surname="Heidemann" fullname="John Heidemann"/>
    <author initials="D." surname="Wessels" fullname="Duane Wessels"/>
    <author initials="A." surname="Mankin" fullname="Allison Mankin"/>
    <author initials="N." surname="Somaiya" fullname="Nikita Somaiya"/>
    <date month="Feburary" year="2014" />
    </front>
    <seriesInfo name="Technical report" value="ISI-TR-688" />
    </reference>


    </references>
     
    
  </back>
</rfc>

<!-- LocalWords:  Rey McClintock RTH subdomain scalable johnh DNSEXT TXT
-->
<!-- LocalWords:  ns Vixie subdomains RRs querier's DNSSEC  TLS SMTP
-->
<!-- LocalWords:  hostname EDNS ISC IANA wrt conf Ds Verisign Reston
-->
<!--  LocalWords:  Bluemont DNSCurve ConfidentialDNS IMAP IETF RCODE
-->
<!--  LocalWords:  QNAME QCLASS QTYPE RDATA CAs Bortzmeyer Haberman
-->
<!--  LocalWords:  Minh Kaplan Michaelson AFNIC NLnet Infosec OWASP
-->
<!--  LocalWords:  edns tcp keepalive Dyn
-->
