<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-coap-dtls-alpn-05" category="info" consensus="true" submissionType="IETF" number="9952" tocInclude="true" sortRefs="true" symRefs="true" version="3">
 
  <link href="https://datatracker.ietf.org/doc/draft-ietf-core-coap-dtls-alpn-05" rel="prev"/>
  <front>
    <title abbrev="ALPN ID for CoAP over DTLS">Application-Layer Protocol Negotiation (ALPN) ID for CoAP over DTLS</title>
    <seriesInfo name="RFC" value="9952"/>
    <author fullname="Martine Sophie Lenders">
      <organization abbrev="TU Dresden">TUD Dresden University of Technology</organization>
      <address>
        <postal>
          <street>Helmholtzstr. 10</street>
          <city>Dresden</city>
          <code>D-01069</code>
          <country>Germany</country>
        </postal>
        <email>martine.lenders@tu-dresden.de</email>
      </address>
    </author>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss">
      <organization/>
      <address>
        <email>christian@amsuess.com</email>
      </address>
    </author>
    <author fullname="Thomas C. Schmidt">
      <organization>HAW Hamburg</organization>
      <address>
        <postal>
          <street>Berliner Tor 7</street>
          <city>Hamburg</city>
          <code>D-20099</code>
          <country>Germany</country>
        </postal>
        <email>t.schmidt@haw-hamburg.de</email>
      </address>
    </author>
    <author initials="M." surname="Wählisch" fullname="Matthias Wählisch">
      <organization abbrev="TU Dresden &amp; Barkhausen Institut">TUD Dresden University of Technology &amp; Barkhausen Institut</organization>
      <address>
        <postal>
          <street>Helmholtzstr. 10</street>
          <city>Dresden</city>
          <code>D-01069</code>
          <country>Germany</country>
        </postal>
        <email>m.waehlisch@tu-dresden.de</email>
      </address>
    </author>
    <date year="2026" month="March"/>
    <area>WIT</area>
    <workgroup>core</workgroup>
    <keyword>CoRE</keyword>
    <keyword>CoAP</keyword>
    <keyword>SVCB</keyword>
    <keyword>DTLS</keyword>
    <keyword>ALPN</keyword>
    <abstract>
      <?line 87?>

<t>This document specifies an Application-Layer Protocol Negotiation (ALPN) ID for
Constrained Application Protocol (CoAP) services that are secured by DTLS.</t>
    </abstract>
  </front>
  <middle>
    <?line 122?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Application-Layer Protocol Negotiation (ALPN) enables communicating parties to agree on an application-layer protocol during a Transport Layer Security (TLS) handshake using an ALPN ID <xref target="RFC7301"/>.
This ALPN ID can be discovered for services as part of Service Bindings (SVCBs) via the DNS, using SVCB resource records with the "alpn" Service Parameter Keys <xref target="RFC9460"/>.
As an example, applications that use the Constrained Application Protocol (CoAP) <xref target="RFC7252"/> can obtain this information as part of the discovery of DNS over CoAP (DoC) servers (see <xref section="3.2" sectionFormat="of" target="RFC9953"/>) that deploy TLS 1.3 <xref target="RFC8446"/> as well as Datagram Transport Layer Security (DTLS) 1.2 or 1.3 <xref target="RFC6347"/> <xref target="RFC9147"/> to secure their messages.
This document specifies an ALPN ID for CoAP services that are secured by DTLS.
An ALPN ID for CoAP services secured by TLS has already been specified in <xref target="RFC8323"/>.</t>
    </section>
    <section anchor="application-layer-protocol-negotiation-alpn-ids">
      <name>Application-Layer Protocol Negotiation (ALPN) IDs</name>
      <t>For CoAP over TLS, an ALPN ID is defined as "coap" in <xref target="RFC8323"/>.
As it is not advisable to reuse the same ALPN ID for a different transport layer, an ALPN for
CoAP over DTLS is registered in <xref target="iana"/>.</t>
      <t>ALPN ID values have variable length.
For CoAP over DTLS, a short value ("co") is allocated, as this can avoid fragmentation of Client Hello and Server Hello messages in constrained networks with link-layer fragmentation, such as 6LoWPAN <xref target="RFC4944"/>.</t>
      <t>To discover CoAP services that secure their messages with TLS or DTLS, the ALPN IDs "coap" and "co" can be used, respectively, in
the same manner as for any other service secured with TLS, as
described in <xref target="RFC9460"/>.
The discovery of CoAP services that rely on other security mechanisms is out of the scope of this document.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Any security considerations for ALPN (see <xref target="RFC7301"/>) and SVCB resource records (see <xref target="RFC9460"/>) also apply to this document.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>IANA has added the following entry to the "TLS Application-Layer Protocol Negotiation (ALPN) Protocol IDs" registry in the "Transport Layer Security (TLS) Extensions" registry group.</t>
      <table anchor="table1">
        <name>TLS Application-Layer Protocol Negotiation (ALPN) Protocol IDs Registry</name>
        <thead>
          <tr>
            <th align="left">Protocol</th>
            <th align="left">Identification Sequence</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">CoAP (over DTLS)</td>
            <td align="left">0x63 0x6f ("co")</td>
            <td align="left">
              <xref target="RFC7252"/>, RFC 9952</td>
          </tr>
        </tbody>
      </table>
      <t>Note that <xref target="RFC7252"/> does not define the use of the ALPN TLS extension during the DTLS connection handshake.
This document does not change this behavior and thus does not establish any rules like those in <xref section="8.2" sectionFormat="of" target="RFC8323"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6347.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7252.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7301.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9147.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9460.xml"/>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8323.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"/>

<!-- [I-D.ietf-core-dns-over-coap] - RFC 9953
draft-ietf-core-dns-over-coap-20
Companion document (C554)
-->
        <reference anchor="RFC9953" target="https://www.rfc-editor.org/info/rfc9953">
          <front>
            <title>DNS over CoAP (DoC)</title>
            <author fullname="Martine Sophie Lenders">
              <organization/>
            </author>
            <author fullname="Christian Amsüss">
              <organization/>
            </author>
            <author fullname="Cenk Gündoğan">
              <organization/>
            </author>
            <author fullname="Thomas C. Schmidt">
              <organization/>
            </author>
            <author fullname="Matthias Wählisch">
              <organization/>
            </author>
            <date year="2026" month="March"/>
          </front>
          <seriesInfo name="RFC" value="9953"/>
          <seriesInfo name="DOI" value="10.17487/RFC9953"/>
        </reference>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4944.xml"/>
      </references>
    </references>
    <?line 162?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank <contact fullname="Rich Salz"/> for the expert review on the "co" ALPN ID allocation.
We would also like to thank <contact fullname="Mohamed Boucadair"/> and <contact fullname="Ben Schwartz"/> for their early reviews before WG adoption
of this specification and <contact fullname="Esko Dijk"/>, <contact fullname="Thomas Fossati"/>, and <contact fullname="Marco Tiloca"/> for their feedback and comments.</t>
      <t>This work was supported in parts by the German Federal Ministry of Research, Technology, and Space (BMFTR) under the grant numbers 16KIS1386K (TU Dresden) and 16KIS1387 (HAW Hamburg) within the research project PIVOT and under the grant numbers 16KIS1694K (TU Dresden) and 16KIS1695 (HAW Hamburg) within the research project C-ray4edge.</t>
    </section>
  </back>
</rfc>
