<?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-09" 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="2021" month="January" day="18"/>

    <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.</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).
The length MUST NOT exceed 2^14.</t>
  <t hangText='seq_num_placeholder'>
  8 bytes of 0xff</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_placeholder +
        tls12_cid +
        cid_length +
        tls12_cid +
        DTLSCiphertext.version +
        epoch +
        sequence_number +
        cid +
        length_of_DTLSInnerPlaintext +
        DTLSInnerPlaintext.content +
        DTLSInnerPlaintext.real_type +
        DTLSInnerPlaintext.zeros
    );
]]></artwork></figure>

<t>The rationale behind this construction is to separate the MAC input
for DTLS without the connection ID from the MAC input with the
connection ID. The former always consists of a sequence number
followed by some other content type than tls12_cid; the latter
always consists of the seq_num_placeholder followed by tls12_cid.
Although 2^64-1 is potentially a valid sequence number, tls12_cid
will never be a valid content type when the connection ID is not in use.
In addition, the epoch and sequence_number are now fed into
the MAC in the same order as they appear on the wire.</t>

</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_placeholder +
        tls12_cid +
        cid_length +
        tls12_cid +
        DTLSCiphertext.version +
        epoch +
        sequence_number +
        cid +
        DTLSCiphertext.length +
        IV +
        ENC(content + padding + padding_length));
]]></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_placeholder +
                      tls12_cid +
                      cid_length +
                      tls12_cid +
                      DTLSCiphertext.version +
                      epoch +
                      sequence_number +
                      cid +
                      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='November' day='2' 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-39' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-tls-dtls13-39.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
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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
HUw2XHbPBjs/DDkM9j+NxrCebWAAAA==

-->

</rfc>

