<?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.3.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-ietf-tls-dtls-connection-id-08" category="std" updates="6347">

  <front>
    <title abbrev="DTLS 1.2 Connection ID">Connection Identifiers for DTLS 1.2</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>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Arm Limited</organization>
      <address>
        <email>thomas.fossati@arm.com</email>
      </address>
    </author>

    <date year="2020" month="November" day="02"/>

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

    <abstract>


<t>This document specifies the Connection ID (CID) construct for the Datagram Transport
Layer Security (DTLS) protocol version 1.2.</t>

<t>A CID 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) <xref target="RFC6347"/> 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 endpoints to amortize the cost of the initial
handshake across subsequent application data protection. Ideally, the
second phase where application data is protected lasts over a long
period of time since the established keys will only need to be updated
once the key lifetime expires.</t>

<t>In DTLS as specified in RFC 6347, the IP address and port of the peer are 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 devices enter extended sleep periods to increase their battery lifetime. The
NAT rebinding leads to connection failure, with the resulting cost of a new handshake.</t>

<t>This document defines an extension to DTLS 1.2 to add a CID to the
DTLS record layer. The presence of the CID is negotiated via a DTLS
extension.</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>This document assumes familiarity with DTLS 1.2 <xref target="RFC6347"/>.</t>

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

<t>This document defines the “connection_id” extension, which
is used in ClientHello and ServerHello messages.</t>

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

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

<t>The extension_data field of this extension, when included in the
ClientHello, MUST contain the ConnectionId structure. This structure 
contains the CID value the client wishes the server to use when sending 
messages to the client. A zero-length CID value indicates that the client 
is prepared to send with a CID but does not wish the server to use one when
sending. Alternatively, 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 willing to use CIDs will respond with a “connection_id” 
extension in the ServerHello, containing the CID 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 include a CID (or again, alternately, to use a
zero-length CID).</t>

<t>Because each party sends the value in the “connection_id” extension it wants to 
receive as a CID in encrypted records, it is possible
for an endpoint to use a globally constant length for such connection
identifiers.  This can in turn ease parsing and connection lookup,
for example by having the length in question be a compile-time constant.
Such implementations MUST still be able to send
CIDs of different length to other parties.
Implementations that want to use variable-length CIDs are responsible
for constructing the CID in such a way that its length can be determined
on reception.  Note that there is no CID
length information included in the record itself.</t>

<t>In DTLS 1.2, CIDs are exchanged at the beginning of the DTLS
session only. There is no dedicated “CID update” message
that allows new CIDs to be established mid-session, because
DTLS 1.2 in general does not allow TLS 1.3-style post-handshake messages
that do not themselves begin other handshakes. When a DTLS session is 
resumed or renegotiated, the “connection_id” extension is negotiated afresh.</t>

<t>If DTLS peers have not negotiated the use of CIDs then the RFC 6347-defined 
record format and content type MUST be used.</t>

<t>If DTLS peers have negotiated the use of a CIDs using the ClientHello and
the ServerHello messages then the peers need to take the following steps.</t>

<t>The DTLS peers determine whether incoming and outgoing messages need 
to use the new record format, i.e., the record format containing the CID. 
The new record format with the the tls12_cid content type is only used once encryption 
is enabled. Plaintext payloads never use the new record type and the CID content 
type.</t>

<t>For sending, if a zero-length CID has been negotiated then the RFC 6347-defined 
record format and content type MUST be used (see Section 4.1 of <xref target="RFC6347"/>)
else the new record layer format with the tls12_cid content type defined in <xref target="dtls-ciphertext"/> MUST be used.</t>

<t>When transmitting a datagram with the tls12_cid content type, 
the new MAC computation defined in <xref target="mac"/> MUST be used.</t>

<t>For receiving, if the tls12_cid content type is set, then the CID is used to look up 
the connection and the security association. If the tls12_cid content type is not set, 
then the connection and security association is looked up by the 5-tuple and a 
check MUST be made to determine whether the expected CID value is indeed 
zero length. If the check fails, then the datagram MUST be dropped.</t>

<t>When receiving a datagram with the tls12_cid content type, 
the new MAC computation defined in <xref target="mac"/> MUST be used. When receiving a datagram
with the RFC 6347-defined record format the MAC calculation defined in Section 4.1.2 
of <xref target="RFC6347"/> MUST be used.</t>

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

<t>This specification defines the DTLS 1.2 record layer format and 
<xref target="I-D.ietf-tls-dtls13"/> specifies how to carry the CID in DTLS 1.3.</t>

<t>To allow a receiver to determine whether a record has a CID or not,
connections which have negotiated this extension use a distinguished
record type tls12_cid(TBD2). Use of this content type has the following
three implications:</t>

<t><list style="symbols">
  <t>The CID field is present and contains one or more bytes.</t>
  <t>The MAC calculation follows the process described in <xref target="mac"/>.</t>
  <t>The true content type is inside the encryption envelope, as described
below.</t>
</list></t>

<t>Plaintext records are not impacted by this extension. Hence, the format 
of the DTLSPlaintext structure is left unchanged, as shown in <xref target="dtls-plaintext"/>.</t>

<figure title="DTLS 1.2 Plaintext Record Payload." anchor="dtls-plaintext"><artwork><![CDATA[
     struct {
         ContentType type;
         ProtocolVersion version;
         uint16 epoch;
         uint48 sequence_number;
         uint16 length;
         opaque fragment[DTLSPlaintext.length];
     } DTLSPlaintext;
]]></artwork></figure>

<t>When CIDs are being used, the content to be sent 
is first wrapped along with its content type and optional padding into a 
DTLSInnerPlaintext structure. This newly introduced structure is shown in 
<xref target="dtls-innerplaintext"/>. The DTLSInnerPlaintext 
byte sequence is then encrypted. To create the DTLSCiphertext structure shown in 
<xref target="dtls-ciphertext"/> the CID is added.</t>

<figure title="New DTLSInnerPlaintext Payload Structure." anchor="dtls-innerplaintext"><artwork><![CDATA[
     struct {
         opaque content[length];
         ContentType real_type;
         uint8 zeros[length_of_padding];
     } DTLSInnerPlaintext;
]]></artwork></figure>

<t><list style="hanging">
  <t hangText='content'>
  Corresponds to the fragment of a given length.</t>
  <t hangText='real_type'>
  The content type describing the payload.</t>
  <t hangText='zeros'>
  An arbitrary-length run of zero-valued bytes may appear in
the cleartext after the type field.  This provides an opportunity
for senders to pad any DTLS record by a chosen amount as long as
the total stays within record size limits.  See Section 5.4 of
<xref target="RFC8446"/> for more details. (Note that the term TLSInnerPlaintext in 
RFC 8446 refers to DTLSInnerPlaintext in this specification.)</t>
</list></t>

<figure title="DTLS 1.2 CID-enhanced Ciphertext Record." anchor="dtls-ciphertext"><artwork><![CDATA[
     struct {
         ContentType outer_type = tls12_cid; 
         ProtocolVersion version;
         uint16 epoch;
         uint48 sequence_number;
         opaque cid[cid_length];               // New field
         uint16 length;
         opaque enc_content[DTLSCiphertext.length];
     } DTLSCiphertext;
]]></artwork></figure>

<t><list style="hanging">
  <t hangText='outer_type'>
  The outer content type of a DTLSCiphertext record carrying a CID
is always set to tls12_cid(TBD2). The real content
type of the record is found in DTLSInnerPlaintext.real_type after
decryption.</t>
  <t hangText='cid'>
  The CID value, cid_length bytes long, as agreed at the time the extension
has been negotiated.  Recall that (as discussed previously) each peer chooses
the CID value it will receive and use to identify the connection, so an
implementation can choose to always recieve CIDs of a fixed length.  If,
however, an implementation chooses to receive different lengths of CID,
the assigned CID values must be self-delineating since there is no other
mechanism available to determine what connection (and thus, what CID length)
is in use.</t>
  <t hangText='enc_content'>
  The encrypted form of the serialized DTLSInnerPlaintext structure.</t>
</list></t>

<t>All other fields are as defined in RFC 6347.</t>

</section>
<section anchor="mac" title="Record Payload Protection">

<t>Several types of ciphers have been defined for use with TLS and DTLS and the 
MAC calculations for those ciphers differ slightly.</t>

<t>This specification modifies the MAC calculation as defined in <xref target="RFC6347"/> and
<xref target="RFC7366"/>, as well as the definition of the additional data used with AEAD
ciphers provided in <xref target="RFC6347"/>, for records with content type tls12_cid.  The
modified algorithm MUST NOT be applied to records that do not carry a CID, i.e.,
records with content type other than tls12_cid.</t>

<t>The following fields are defined in this document; all other fields are as 
defined in the cited documents.</t>

<t><list style="hanging">
  <t hangText='cid'>
  Value of the negotiated CID (variable length).</t>
  <t hangText='cid_length'>
  1 byte field indicating the length of the negotiated CID.</t>
  <t hangText='length_of_DTLSInnerPlaintext'>
  The length (in bytes) of the serialised DTLSInnerPlaintext (two-byte integer).<vspace />
The length MUST NOT exceed 2^14.</t>
</list></t>

<t>Note “+” denotes concatenation.</t>

<section anchor="block-ciphers" title="Block Ciphers">

<t>The following MAC algorithm applies to block ciphers 
that do not use the with Encrypt-then-MAC processing
described in <xref target="RFC7366"/>.</t>

<figure><artwork><![CDATA[
    MAC(MAC_write_key, seq_num +
        tls12_cid +                     
        DTLSCiphertext.version +
        cid +                           
        cid_length +                    
        length_of_DTLSInnerPlaintext +  
        DTLSInnerPlaintext.content +    
        DTLSInnerPlaintext.real_type +  
        DTLSInnerPlaintext.zeros        
    )
]]></artwork></figure>

</section>
<section anchor="block-ciphers-with-encrypt-then-mac-processing" title="Block Ciphers with Encrypt-then-MAC processing">

<t>The following MAC algorithm applies to block ciphers 
that use the with Encrypt-then-MAC processing
described in <xref target="RFC7366"/>.</t>

<figure><artwork><![CDATA[
    MAC(MAC_write_key, seq_num +
        tls12_cid +
        DTLSCipherText.version +
        cid +                  
        cid_length +            
        length of (IV + DTLSCiphertext.enc_content) +
        IV +
        DTLSCiphertext.enc_content);
]]></artwork></figure>

</section>
<section anchor="aead-ciphers" title="AEAD Ciphers">

<t>For ciphers utilizing authenticated encryption with additional 
data the following modification is made to the additional data calculation.</t>

<figure><artwork><![CDATA[
    additional_data = seq_num + 
                      tls12_cid +
                      DTLSCipherText.version +
                      cid +                   
                      cid_length +            
                      length_of_DTLSInnerPlaintext;
]]></artwork></figure>

</section>
</section>
<section anchor="peer-address-update" title="Peer Address Update">

<t>When a record with a CID is received that has a source address 
different than the one currently associated with the DTLS connection,
the receiver MUST NOT replace the address it uses for sending records 
to its peer with the source address specified in the received datagram
unless the following three conditions are met:</t>

<t><list style="symbols">
  <t>The received datagram has been cryptographically verified using 
the DTLS record layer processing procedures.</t>
  <t>The received datagram is “newer” (in terms of both epoch and sequence 
number) than the newest datagram received. Reordered datagrams that are 
sent prior to a change in a peer address might otherwise cause a valid 
address change to be reverted. This also limits the ability of an attacker 
to use replayed datagrams to force a spurious address change, which 
could result in denial of service. An attacker might be able to succeed 
in changing a peer address if they are able to rewrite source addresses 
and if replayed packets are able to arrive before any original.</t>
  <t>There is a strategy for ensuring that the new peer address is able to 
receive and process DTLS records. No such test is defined in this specification.</t>
</list></t>

<t>The conditions above are necessary to protect against attacks that use datagrams with 
spoofed addresses or replayed datagrams to trigger attacks. Note that there 
is no requirement for use of the anti-replay window mechanism defined in 
Section 4.1.2.6 of DTLS 1.2. Both solutions, the “anti-replay window” or 
“newer” algorithm, will prevent address updates from replay attacks while the 
latter will only apply to peer address updates and the former applies to any 
application layer traffic.</t>

<t>Note that datagrams that pass the DTLS cryptographic verification procedures
but do not trigger a change of peer address are still valid DTLS records and
are still to be passed to the application.</t>

<t>Application protocols that implement protection against these attacks depend on
being aware of changes in peer addresses so that they can engage the necessary
mechanisms. When delivered such an event, an application layer-specific
address validation mechanism can be triggered, for example one that is based on 
successful exchange of a minimal amount of ping-pong traffic with the peer. 
Alternatively, an DTLS-specific mechanism may be used, as described in 
<xref target="I-D.tschofenig-tls-dtls-rrc"/>.</t>

<t>DTLS implementations MUST silently discard records with bad MACs or that are 
otherwise invalid.</t>

</section>
<section anchor="examples" title="Examples">

<t><xref target="dtls-example2"/> shows an example exchange where a CID is
used uni-directionally from the client to the server. To indicate that 
a zero-length CID is present in the “connection_id” extension
we use the notation ‘connection_id=empty’.</t>

<figure title="Example DTLS 1.2 Exchange with CID" anchor="dtls-example2"><artwork><![CDATA[
Client                                             Server
------                                             ------

ClientHello                 -------->
(connection_id=empty)       


                            <--------      HelloVerifyRequest
                                                     (cookie)

ClientHello                 --------> 
(connection_id=empty)
(cookie)                   

                                                  ServerHello
                                          (connection_id=100)
                                                  Certificate
                                            ServerKeyExchange
                                           CertificateRequest
                            <--------         ServerHelloDone

Certificate                 
ClientKeyExchange
CertificateVerify
[ChangeCipherSpec]
Finished                    -------->
<CID=100>                   

                                           [ChangeCipherSpec]
                            <--------                Finished


Application Data            ========>
<CID=100>

                            <========        Application Data

Legend:

<...> indicates that a connection id is used in the record layer
(...) indicates an extension
[...] indicates a payload other than a handshake message
]]></artwork></figure>

<t>Note: In the example exchange the CID is included in the record layer 
once encryption is enabled. In DTLS 1.2 only one handshake message is 
encrypted, namely the Finished message. Since the example shows how to 
use the CID for payloads sent from the client to the server, only the 
record layer payloads containing the Finished message or application data
include a CID.</t>

</section>
<section anchor="priv-cons" title="Privacy Considerations">

<t>The CID 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 observing the DTLS protocol exchanges between the
DTLS client and the DTLS server is able to link the observed payloads to all
subsequent payloads carrying the same ID pair (for bi-directional
communication).  Without multi-homing or mobility, the use of the CID
exposes the same information as the 5-tuple.</t>

<t>With multi-homing, a passive attacker is able to correlate the communication
interaction over the two paths and the sequence number makes it possible 
to correlate packets across CID changes. The lack of a CID update mechanism 
in DTLS 1.2 makes this extension unsuitable for mobility scenarios where 
correlation must be considered. Deployments that use DTLS in multi-homing
environments and are concerned about this aspects SHOULD refuse to use CIDs in 
DTLS 1.2 and switch to DTLS 1.3 where a CID update mechanism is provided and 
sequence number encryption is available.</t>

<t>The specification introduces record padding for the CID-enhanced record layer, 
which is a privacy feature not available with the original DTLS 1.2 specification. 
Padding allows to inflate the size of the ciphertext making traffic analysis 
more difficult. More details about record padding can be found in Section 5.4 
and Appendix E.3 of RFC 8446.</t>

<t>Finally, endpoints can use the CID to attach arbitrary per-connection metadata
to each record they receive on a given connection. This may be used as a mechanism to communicate
per-connection information to on-path observers. There is no straightforward way to
address this concern with CIDs that contain arbitrary values. Implementations
concerned about this aspect SHOULD refuse to use CIDs.</t>

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

<t>An on-path adversary can create reflection attacks
against third parties because a DTLS peer has no means to distinguish a 
genuine address update event (for example, due to a NAT rebinding) from one 
that is malicious. This attack is of concern when there is a large asymmetry 
of request/response message sizes.</t>

<t>Additionally, an attacker able to observe the data traffic exchanged between 
two DTLS peers is able to replay datagrams with modified IP address/port numbers.</t>

<t>The topic of peer address updates is discussed in <xref target="peer-address-update"/>.</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(TBD1) as described
in the table below. IANA is requested to add an extra column to the 
TLS ExtensionType Values registry to indicate whether an extension is only 
applicable to DTLS and to include this document as an additional reference
for the registry.</t>

<figure><artwork><![CDATA[
Value   Extension Name  TLS 1.3  DTLS Only  Recommended  Reference
--------------------------------------------------------------------
TBD1    connection_id   CH, SH   Y          N           [[This doc]]
]]></artwork></figure>

<t>Note: The value “N” in the Recommended column is set because this 
extension is intended only for specific use cases. This document describes 
the behavior of this extension for DTLS 1.2 only; it is not applicable to TLS, and
its usage for DTLS 1.3 is described in <xref target="I-D.ietf-tls-dtls13"/>.</t>

<t>IANA is requested to allocate tls12_cid(TBD2) in the “TLS ContentType
Registry”. The tls12_cid ContentType is only applicable to DTLS 1.2.</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="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>



<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="RFC8446" target='https://www.rfc-editor.org/info/rfc8446'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2018' month='August' />
<abstract><t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t><t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t></abstract>
</front>
<seriesInfo name='RFC' value='8446'/>
<seriesInfo name='DOI' value='10.17487/RFC8446'/>
</reference>



<reference  anchor="RFC7366" target='https://www.rfc-editor.org/info/rfc7366'>
<front>
<title>Encrypt-then-MAC for Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
<author initials='P.' surname='Gutmann' fullname='P. Gutmann'><organization /></author>
<date year='2014' month='September' />
<abstract><t>This document describes a means of negotiating the use of the encrypt-then-MAC security mechanism in place of the existing MAC-then-encrypt mechanism in Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS).  The MAC-then-encrypt mechanism has been the subject of a number of security vulnerabilities over a period of many years.</t></abstract>
</front>
<seriesInfo name='RFC' value='7366'/>
<seriesInfo name='DOI' value='10.17487/RFC7366'/>
</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>



<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='May' day='29' year='2020' />

<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 with the exception of order protection/non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t></abstract>

</front>

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



<reference anchor="I-D.tschofenig-tls-dtls-rrc">
<front>
<title>Return Routability Check for DTLS 1.2 and DTLS 1.3</title>

<author initials='T' surname='Fossati' fullname='Thomas Fossati'>
    <organization />
</author>

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

<date month='March' day='2' year='2020' />

<abstract><t>This document specifies a return routability check for use in context of the Connection ID (CID) construct for the Datagram Transport Layer Security (DTLS) protocol versions 1.2 and 1.3.</t></abstract>

</front>

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




    </references>


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

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

<t>draft-ietf-tls-dtls-connection-id-08</t>

<t><list style="symbols">
  <t>RRC draft moved from normative to informative.</t>
</list></t>

<t>draft-ietf-tls-dtls-connection-id-07</t>

<t><list style="symbols">
  <t>Wording changes in the security and privacy 
consideration and the peer address update 
sections.</t>
</list></t>

<t>draft-ietf-tls-dtls-connection-id-06</t>

<t><list style="symbols">
  <t>Updated IANA considerations</t>
  <t>Enhanced security consideration section to describe a potential 
man-in-the-middle attack concerning address validation.</t>
</list></t>

<t>draft-ietf-tls-dtls-connection-id-05</t>

<t><list style="symbols">
  <t>Restructed Section 5 “Record Payload Protection”</t>
</list></t>

<t>draft-ietf-tls-dtls-connection-id-04</t>

<t><list style="symbols">
  <t>Editorial simplifications to the ‘Record Layer Extensions’ and the ‘Record Payload Protection’ sections.</t>
  <t>Added MAC calculations for block ciphers with and without Encrypt-then-MAC processing.</t>
</list></t>

<t>draft-ietf-tls-dtls-connection-id-03</t>

<t><list style="symbols">
  <t>Updated list of contributors</t>
  <t>Updated list of contributors and acknowledgements</t>
  <t>Updated example</t>
  <t>Changed record layer design</t>
  <t>Changed record payload protection</t>
  <t>Updated introduction and security consideration section</t>
  <t>Author- and affiliation changes</t>
</list></t>

<t>draft-ietf-tls-dtls-connection-id-02</t>

<t><list style="symbols">
  <t>Move to internal content types a la DTLS 1.3.</t>
</list></t>

<t>draft-ietf-tls-dtls-connection-id-01</t>

<t><list style="symbols">
  <t>Remove 1.3 based on the WG consensus at IETF 101</t>
</list></t>

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

<t><list style="symbols">
  <t>Initial working group version
(containing a solution for DTLS 1.2 and 1.3)</t>
</list></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>RFC EDITOR: PLEASE REMOVE THE THIS SECTION</t>

<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 and we would like to thank 
the following individuals for their contributions:</t>

<figure><artwork><![CDATA[
* Yin Xinxing
  Huawei
  yinxinxing@huawei.com
]]></artwork></figure>

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

<figure><artwork><![CDATA[
* Tobias Gondrom 
  tobias.gondrom@gondrom.org
]]></artwork></figure>

<t>Additionally, we would like to thank 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 (Mozilla)</t>
  <t>Ian Swett (Google)</t>
  <t>Mark Nottingham (Fastly)</t>
</list></t>

<t>The task force team discussed various design ideas, including cryptographically generated session     <vspace />
ids using hash chains and public key encryption, but dismissed them due to their 
inefficiency. The approach described in this specification is the 
simplest possible design that works given the limitations of DTLS 1.2. DTLS 1.3 provides
better privacy features and developers are encouraged to switch to the new version of DTLS.</t>

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

</section>
<section anchor="acknowledgements" title="Acknowledgements">

<t>We would like to thank Achim Kraus for his review comments and implementation feedback.</t>

</section>


  </back>

<!-- ##markdown-source:
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

-->

</rfc>

