<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.3 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc rfcedstyle="yes"?>
<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>

<rfc ipr="pre5378Trust200902" docName="draft-rescorla-tls-dtls-connection-id-00" category="std" obsoletes="6347">

  <front>
    <title abbrev="DTLS Connection ID">The Datagram Transport Layer Security (DTLS) Connection Identifier</title>

    <author initials="E." surname="Rescorla" fullname="Eric Rescorla" role="editor">
      <organization>RTFM, Inc.</organization>
      <address>
        <email>ekr@rtfm.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig" role="editor">
      <organization>ARM Limited</organization>
      <address>
        <email>hannes.tschofenig@arm.com</email>
      </address>
    </author>

    <date year="2017" month="October" day="12"/>

    <area>Security</area>
    <workgroup>TLS</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This document specifies the “Connection ID” concept for the Datagram Transport Layer Security
(DTLS) protocol, version 1.2 and version 1.3.</t>

<t>A Connection ID is an identifier carried in the record layer header that gives the
recipient additional information for selecting the appropriate security association.
In “classical” DTLS, selecting a security association of an incoming DTLS record
is accomplished with the help of the 5-tuple. If the source IP address and/or
source port changes during the lifetime of an ongoing DTLS session then the
receiver will be unable to locate the correct security context.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>The Datagram Transport Layer Security (DTLS) protocol was designed for securing
connection-less transports, like UDP. DTLS, like TLS, starts with a handshake,
which can be computationally demanding (particularly when public key cryptography
is used). After a successful handshake, symmetric key cryptography is used to
apply data origin authentication, integrity and confidentiality protection. This
two-step approach allows to amortize the cost of the initial handshake to subsequent
application data protection. Ideally, the second phase where application data is
protected lasts over a longer period of time since the established keys will only
need to be updated once the key lifetime expires.</t>

<t>In the current version of DTLS, the IP address and port of the peer is used to
identify the DTLS association. Unfortunately, in some cases, such as NAT rebinding,
these values are insufficient. This is a particular issue in the Internet of Things
when the device needs to enter extended sleep periods to increase the battery lifetime
and is therefore subject to rebinding. This leads to connection failure, with the
resulting cost of a new handshake.</t>

<t>This document defines an extension to DTLS to add a connection ID to each
DTLS record. The presence of the connection ID is negotiated via a DTLS
extension. It also defines a DTLS 1.3 post-handshake message to change
connection ids.</t>

</section>
<section anchor="conventions-and-terminology" title="Conventions and Terminology">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
“SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this
document are to be interpreted as described in RFC 2119 <xref target="RFC2119"/>.</t>

<t>The reader is assumed to be familiar with the DTLS specifications since this
document defines an extension to DTLS 1.2 and DTLS 1.3.</t>

</section>
<section anchor="the-connectionid-extension" title="The “connection_id” Extension">

<t>This document defines a new extension type (connection_id(TBD)), which
is used in ClientHello and ServerHello messages.</t>

<t>The extension type is specified as follows.</t>

<figure><artwork><![CDATA[
  enum {
     connection_id(TBD), (65535)
  } ExtensionType;
]]></artwork></figure>

<t>The extension_data field of this extension, when included in the
ClientHello, MUST contain the CID structure, which contains the CID which
the client wishes the server to use when sending messages towards it.
A zero-length value indicates that the client is prepared to send
with a connection ID but does not wish the server to use one when
sending (alternately, this can be interpreted as the client wishes
the server to use a zero-length CID; the result is the same).</t>

<figure><artwork><![CDATA[
  struct {
      opaque cid<0..2^8-1>;
  } ConnectionId;
]]></artwork></figure>

<t>A server which is willing to use CIDs will respond with its own
“connection_id” extension, containing the CID which it wishes the
client to use when sending messages towards it. A zero-length value
indicates that the server will send with the client’s CID but does not
wish the client to use a CID (or again, alternately, to use a
zero-length CID).</t>

<t>When a session is resumed, the “connection_id” extension is
negotiated afresh, not retained from previous connections in
the session.</t>

<t>This is effectively the simplest possible design that will work.
Previous design ideas for using cryptographically generated session
ids, either using hash chains or public key encryption, were dismissed
due to their inefficient designs. Note that a client always has the
chance to fall-back to a full handshake or more precisely to a
handshake that uses session resumption (DTLS 1.2 language) or to a
PSK-based handshake using the ticket-based approach.</t>

<t>In DTLS 1.2, connection ids are exchanged at the beginning of the DTLS
session only. There is no dedicated “connection id update” message
that allows new connection ids to be established mid-session, because
DTLS 1.2 in general does not allow post-handshake messages that do not
themselves begin other handshakes. In DTLS 1.3, which does allow such
messages, we use post-handshake message to update the connection ID
<xref target="post-handshake-messages"/> and to request new IDs.</t>

<t>DTLS 1.2 peers switch to the new record layer format when encryption
is enabled. The same is true for DTLS 1.3 but since the DTLS 1.3
enables encryption early in the handshake phase the connection ID will
be enabled earlier. For this reason, the connection ID needs to go in
the DTLS 1.3 ServerHello.</t>

</section>
<section anchor="post-handshake-messages" title="Post-Handshake Messages">

<t>In DTLS 1.3, if the client and server have negotiated the “connection_id” extension,
either side can send a new connection ID which it wishes the other side to use
in a NewConnectionId message:</t>

<figure><artwork><![CDATA[
   enum {
       cid_immediate(0), cid_spare(1), (255)
   } ConnectionIdUsage;

   struct {
       opaque cid<0..2^8-1>;
       ConnectionIdUsage usage;
   } NewConnectionId;
]]></artwork></figure>

<t><list style="hanging">
  <t hangText='cid'>
  Indicates the CID which the sender wishes the peer to use.</t>
  <t hangText='usage'>
  Indicates whether the new CID should be used immediately or is a spare.
If usage is set to “cid_immediate”, then the new CID MUST be used immediately
for all future records. If it is set to “cid_spare”, then either CID MAY
be used, as described in <xref target="sec-cons"/>.</t>
</list></t>

<t>If the client and server have negotiated the “connection_id” extension,
either side can request a new CID using the RequestConnectionId message.</t>

<figure><artwork><![CDATA[
   struct {
   } RequestConnectionId;
]]></artwork></figure>

<t>Endpoints SHOULD respond to RequestConnectionId by sending a NewConnectionId
with usage “cid_spare” as soon as possible. Note that an endpoint MAY ignore
requests which it considers excessive (though they MUST be ACKed as usual).</t>

</section>
<section anchor="record-layer-extensions" title="Record Layer Extensions">

<t>This extension is applicable for use with DTLS 1.2 and DTLS 1.3. This extension
can be used with the optimized DTLS 1.3 record layer format.</t>

<t><xref target="dtls-record12"/> and <xref target="dtls-record13"/> illustrate the record formats of DTLS 1.2
and DTLS 1.3, respectively.</t>

<figure title="DTLS 1.2 Record Format with Connection ID" anchor="dtls-record12"><artwork><![CDATA[
  struct {
     ContentType type;
     ProtocolVersion version;
     uint16 epoch;
     uint48 sequence_number;
     opaque cid[cid_length];               // New field
     uint16 length;
     select (CipherSpec.cipher_type) {
        case block:  GenericBlockCipher;
        case aead:   GenericAEADCipher;
     } fragment;
  } DTLSCiphertext;
]]></artwork></figure>

<figure title="DTLS 1.3 Record Format with Connection ID" anchor="dtls-record13"><artwork><![CDATA[
  struct {
     opaque content[DTLSPlaintext.length];
     ContentType type;
     uint8 zeros[length_of_padding];
  } DTLSInnerPlaintext;

  struct {
     ContentType opaque_type = 23; /* application_data */
     ProtocolVersion legacy_record_version = {254,253); // DTLSv1.2
     uint16 epoch;                         // DTLS-related field
     uint48 sequence_number;               // DTLS-related field
     opaque cid[cid_length];               // New field
     uint16 length;
     opaque encrypted_record[length];
  } DTLSCiphertext;
]]></artwork></figure>

<t>Besides the “cid” field, all other fields are defined in the DTLS 1.2 and
DTLS 1.3 specifications.</t>

<t>Note that for both record formats, it is not possible to parse the
records without knowing if the connection ID is in use and how long
it is.</t>

</section>
<section anchor="example" title="Example">

<t>Below is an example exchange for DTLS 1.3 using a single
connection id in each direction.</t>

<figure title="Example DTLS Exchange with Connection IDs" anchor="dtls-example"><artwork><![CDATA[
Client                                             Server
------                                             ------

ClientHello
(connection_id=5)
                            -------->


                            <--------       HelloRetryRequest
                                                     (cookie)

ClientHello                 -------->
(connection_id=5)
  +cookie

                            <--------             ServerHello
                                          EncryptedExtensions
                                          (connection_id=100)
                                                  Certificate
                                            CertificateVerify
                                                     Finished

Certificate                -------->
CertificateVerify
Finished

                           <--------                      Ack

Application Data           ========>
(cid=100)

                           <========         Application Data
                                                      (cid=5)
]]></artwork></figure>

</section>
<section anchor="sec-cons" title="Security and Privacy Considerations">

<t>The connection id replaces the previously used 5-tuple and, as such, introduces
an identifier that remains persistent during the lifetime of a DTLS connection.
Every identifier introduces the risk of linkability, as explained in <xref target="RFC6973"/>.</t>

<t>An on-path adversary, who is able to observe the DTLS 1.2 protocol exchanges between the
DTLS client and the DTLS server, is able to link the initial handshake to all
subsequent payloads carrying the same connection id pair (for bi-directional
communication). In DTLS 1.3, it is possible to provide new encrypted connection
IDs, though of course those IDs are immediately used on the wire.
Without multi-homing and mobility the use of the connection id is not different to the
use of the 5-tuple.</t>

<t>With multi-homing an adversary is able to correlate the communication
interaction over the two paths, which adds further privacy concerns. In order
to prevent this, implementations SHOULD attempt to use fresh connection IDs
whenever they change local addresses or ports (though this is not always
possible to detect). In DTLS 1.3, The RequestConnectionId message can be used
to ask for new IDs in order to ensure that you have a pool of suitable IDs.</t>

<t>This document does not change the security properties of DTLS 1.2 <xref target="RFC6347"/> and DTLS 1.3 <xref target="I-D.ietf-tls-dtls13"/>.
It merely provides a more robust mechanism for associating an incoming packet with a stored security context.</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>IANA is requested to allocate an entry to the existing TLS “ExtensionType Values”
   registry, defined in <xref target="RFC5246"/>, for connection_id(TBD) defined in this
   document.</t>

<t>IANA is requested to allocate two values in the “TLS Handshake Type”
   registry, defined in <xref target="RFC5246"/>, for request_connection_id (TBD),
   and new_connection_id (TBD), as defined in this document.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference anchor="I-D.ietf-tls-dtls13">
<front>
<title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>

<author initials='E' surname='Rescorla' fullname='Eric Rescorla'>
    <organization />
</author>

<author initials='H' surname='Tschofenig' fullname='Hannes Tschofenig'>
    <organization />
</author>

<author initials='N' surname='Modadugu' fullname='Nagendra Modadugu'>
    <organization />
</author>

<date month='July' day='11' year='2017' />

<abstract><t>This document specifies Version 1.3 of the Datagram Transport Layer Security (DTLS) protocol.  DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.  The DTLS 1.3 protocol is intentionally based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees.  Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-tls-dtls13-01' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-tls-dtls13-01.txt' />
</reference>



<reference  anchor="RFC6347" target='https://www.rfc-editor.org/info/rfc6347'>
<front>
<title>Datagram Transport Layer Security Version 1.2</title>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<author initials='N.' surname='Modadugu' fullname='N. Modadugu'><organization /></author>
<date year='2012' month='January' />
<abstract><t>This document specifies version 1.2 of the Datagram Transport Layer Security (DTLS) protocol.  The DTLS protocol provides communications privacy for datagram protocols.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.  The DTLS protocol is based on the Transport Layer Security (TLS) protocol and provides equivalent security guarantees.  Datagram semantics of the underlying transport are preserved by the DTLS protocol.  This document updates DTLS 1.0 to work with TLS version 1.2.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6347'/>
<seriesInfo name='DOI' value='10.17487/RFC6347'/>
</reference>



<reference  anchor="RFC5246" target='https://www.rfc-editor.org/info/rfc5246'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
<author initials='T.' surname='Dierks' fullname='T. Dierks'><organization /></author>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2008' month='August' />
<abstract><t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol.  The TLS protocol provides communications security over the Internet.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5246'/>
<seriesInfo name='DOI' value='10.17487/RFC5246'/>
</reference>




    </references>

    <references title='Informative References'>





<reference  anchor="RFC6973" target='https://www.rfc-editor.org/info/rfc6973'>
<front>
<title>Privacy Considerations for Internet Protocols</title>
<author initials='A.' surname='Cooper' fullname='A. Cooper'><organization /></author>
<author initials='H.' surname='Tschofenig' fullname='H. Tschofenig'><organization /></author>
<author initials='B.' surname='Aboba' fullname='B. Aboba'><organization /></author>
<author initials='J.' surname='Peterson' fullname='J. Peterson'><organization /></author>
<author initials='J.' surname='Morris' fullname='J. Morris'><organization /></author>
<author initials='M.' surname='Hansen' fullname='M. Hansen'><organization /></author>
<author initials='R.' surname='Smith' fullname='R. Smith'><organization /></author>
<date year='2013' month='July' />
<abstract><t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications.  It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices.  It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t></abstract>
</front>
<seriesInfo name='RFC' value='6973'/>
<seriesInfo name='DOI' value='10.17487/RFC6973'/>
</reference>




    </references>


<section anchor="history" title="History">

<t>RFC EDITOR: PLEASE REMOVE THE THIS SECTION</t>

<t>draft-rescorla-tls-dtls-connection-id-00</t>

<t><list style="symbols">
  <t>Initial version</t>
</list></t>

</section>
<section anchor="working-group-information" title="Working Group Information">

<t>The discussion list for the IETF TLS working group is located at the e-mail
address <eref target="mailto:tls@ietf.org">tls@ietf.org</eref>. Information on the group and information on how to
subscribe to the list is at <eref target="https://www1.ietf.org/mailman/listinfo/tls">https://www1.ietf.org/mailman/listinfo/tls</eref></t>

<t>Archives of the list can be found at:
<eref target="https://www.ietf.org/mail-archive/web/tls/current/index.html">https://www.ietf.org/mail-archive/web/tls/current/index.html</eref></t>

</section>
<section anchor="contributors" title="Contributors">

<t>Many people have contributed to this specification since the functionality has
been highly desired by the IoT community. We would like to thank the following
individuals for their contributions in earlier specifications:</t>

<figure><artwork><![CDATA[
* Thomas Fossati
  Nokia
  thomas.fossati@nokia.com
]]></artwork></figure>

<figure><artwork><![CDATA[
* Nikos Mavrogiannopoulos
  RedHat
  nmav@redhat.com
]]></artwork></figure>

<t>Additionally, we would like to thank Yin Xinxing (Huawei), Tobias Gondrom (Huawei), and the Connection ID task force team members:</t>

<t><list style="symbols">
  <t>Martin Thomson (Mozilla)</t>
  <t>Christian Huitema (Private Octopus Inc.)</t>
  <t>Jana Iyengar (Google)</t>
  <t>Daniel Kahn Gillmor (ACLU)</t>
  <t>Patrick McManus (Sole Proprietor)</t>
  <t>Ian Swett (Google)</t>
  <t>Mark Nottingham (Fastly)</t>
</list></t>

<t>Finally, we want to thank the IETF TLS working group chairs, Joseph Salowey and Sean Turner, for their patience, support and feedback.</t>

</section>


  </back>

<!-- ##markdown-source:
H4sIAD/231kAA7VabXMbN5L+jl+Bkj+clCUpW7KdRI5TYSTZ0saydZKcXCq1
pwJnQBKn4WBuMCOaVul++z3dAOaForz21h2rbJEzQKPRr083MBwORWWqTB/I
q7mWR6pSs1It5FWpclfYspLv1EqX8lIndWmqldw+unp3uSMPbZ7rpDI2l6ep
ziszNboUajIp9e2BpDG9IUcitUmuFlgmLdW0GpbaJbbM1LDK3DCl/5Jm+NCk
w6dPRaIqPbPl6kC6KhV24mymK+0O5Mv9598LYYryQBalfrH//Q9XZe2qvadP
f3y6J1Sp1UHDr1ja8mZW2rrABt9dihu9wpP0QJ7mlS5zXQ2PiB8hXKXy9Fpl
NgePK+1EYQ6ElOU00amrVll4KmVlk85Xk9Pu4wMHgZV66prfq0XvZ1WapBmc
2MUCc5u3Js9M3i6jP1XDzLhqCCITm2HY0H73N7yBJBeqKEw+82NVXc1tCWaH
eMkfk2P08UheBCHH514Bx2DiwStbzlRuPiuS/4G8uHpzNoCIklF8X1qSgE5N
Zcv4TC+UyfDwpvylrKaLETYk1rk4Gckrl8ztVOdm1ufjREHhbsPrPi/jizP5
zixMpdOvYGbOREdVQ/QXVQbOclsuQPNWk14v3hzuPXv2I309HR6NjK6mjSk+
2w8jyNDC1xd7z18eCJNP14i8/PF7jB4Oh1JNoF6VwJSu5saRlmpSr3SFTsg7
nKzgYFs9r9iCEeSJLioJuvz+nzqgCA5YlBbmZ7OBvNWlI3LPRnsSNtz5vT8S
Ytz3QwnWVC5N47MyUWVpdAp1MQOlhl2kMuNF51qlmhhTlZxh07wHgSGmMLQ3
lUIHIKwy2YgGy9BmnM5o0XzGVGGvpS1KA5fGmxBKlHNwIJ4yEqe53EoyPDKJ
yrY4ggw6RNTGadJOeTc5FEyjOO74HQjaaILnBZxojv0tTTVnXuY6K2gifX8x
rOoi0yN56n87W5eJlqfntDXEKBJWugsrCy9YIQmMbAZZpOAn7C8zU12ZhQ4M
2XxmG34cyBCvGJdH+WkIswRLWSYnWta5mmQa4URmlqIek8QmMLBq9w1ToaAA
nZK5LUyaZloI8URSLCttWrOOyfy+IY5HM5JLhQ1pZ2Y5ZOUVmPD+RCcwZySR
KpJ0A+z7RsuPR+ejoDD+7VVXKYzwUlfklqmbqxs9EMu5Seawupx2TvqpK+Vt
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
s5qjMgAA

-->

</rfc>

