<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tiloca-core-group-oscore-kem-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="Quantum-Resistant KEMs in Group OSCORE">Using Quantum-Resistant Key Encapsulation Mechanisms (KEMs) in the Pairwise Mode of Group Object Security for Constrained RESTful Environments (Group OSCORE)</title>
    <seriesInfo name="Internet-Draft" value="draft-tiloca-core-group-oscore-kem-01"/>
    <author initials="M." surname="Tiloca" fullname="Marco Tiloca">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>164 40</code>
          <country>Sweden</country>
        </postal>
        <email>marco.tiloca@ri.se</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <area>WIT</area>
    <workgroup>CoRE Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 94?>

<t>Group communication for the Constrained Application Protocol (CoAP) can be protected end-to-end by using the security protocol Group Object Security for Constrained RESTful Environments (Group OSCORE). The pairwise mode of Group OSCORE provides authenticated encryption of CoAP messages, by means of symmetric keys that two group members establish only among themselves to achieve pairwise secure communication. This document defines the use of quantum-resistant Key Encapsulation Mechanisms (KEMs) as Pairwise Key Agreement Algorithm of Group OSCORE, enabling post-quantum secure derivation of the symmetric keys used in the pairwise mode. The Group Manager facilitates the exchange of KEM public keys and encapsulated KEM shared secrets among group members.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Constrained RESTful Environments Working Group mailing list (core@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://gitlab.com/crimson84/draft-tiloca-core-group-oscore-kem"/>.</t>
    </note>
  </front>
  <middle>
    <?line 98?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The Constrained Application Protocol (CoAP) <xref target="RFC7252"/> also supports group communication <xref target="I-D.ietf-core-groupcomm-bis"/>, e.g., over IP multicast. Building on Object Security for Constrained RESTful Environments (OSCORE) <xref target="RFC8613"/>, the security protocol Group Object Security for Constrained RESTful Environments (Group OSCORE) <xref target="I-D.ietf-core-oscore-groupcomm"/> provides end-to-end security of CoAP messages when using group communication for CoAP.</t>
      <t>An OSCORE group is associated with a Group Manager, i.e., an entity responsible for managing identifiers and keying material in the group and for handling the join process to add group members, among other tasks (see <xref section="12" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
      <t>Group OSCORE provides two ways to protect a CoAP message:</t>
      <ul spacing="normal">
        <li>
          <t>The group mode, which achieves group-level data confidentiality and provides source authentication by means of a digital signature. The message sender computes the signature with its own private key and embeds it in the protected CoAP message.</t>
        </li>
        <li>
          <t>The pairwise mode, which achieves pairwise data confidentiality and provides source authentication by means of integrity tags. The message sender performs authenticated encryption of the CoAP message by using a symmetric pairwise key that is exclusively shared with another group member as the intended message recipient.  </t>
          <t>
Symmetric pairwise keys are derived from a pairwise shared secret, which in turn is computed from asymmetric keys of the message sender and recipient, ensuring authenticated key agreement.</t>
        </li>
      </ul>
      <t>In the event that a Cryptographically Relevant Quantum Computer (CRQC) is constructed, it is relatively simple to adapt the group mode of Group OSCORE to be quantum-resistant. That is, it is sufficient to rely on a quantum-resistant signature algorithm (e.g., ML-DSA <xref target="FIPS204"/><xref target="RFC9964"/>) as the Signature Algorithm used in the group (see <xref section="2.1.8" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
      <t>However, equivalent drop-in replacements are not available for the Pairwise Key Agreement Algorithm (see <xref section="2.1.10" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), which is used to compute the shared secret from which pairwise keys are derived (see <xref section="2.5.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). In particular, the currently available Pairwise Key Agreement Algorithms are based on a direct Elliptic Curve Diffie-Hellman Static-Static key agreement <xref target="NIST-800-56A"/>.</t>
      <t>At the time of writing, there is no standardized Diffie-Hellman/Non-Interactive Key Exchange (DH/NIKE) that can be used for post-quantum secure establishment of the shared secret, which makes the pairwise mode of Group OSCORE vulnerable to quantum attacks. Moreover, a future quantum-resistant DH/NIKE might not be (immediately) usable as a drop-in replacement for Group OSCORE (see <xref target="kem-on-dh-nike"/>).</t>
      <t>This document defines the use of quantum-resistant Key Encapsulation Mechanisms (KEMs), such as ML-KEM <xref target="FIPS203"/>, as Pairwise Key Agreement Algorithm of Group OSCORE. Consequently, it enables the post-quantum secure establishment of the shared secret and thus the post-quantum secure derivation of the symmetric keys used in the pairwise mode of Group OSCORE.</t>
      <t>The Group Manager facilitates the exchange of KEM public keys and encapsulated KEM shared secrets among group members that perform the KEM-based Pairwise Key Agreement Algorithm.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

<t>Readers are expected to be familiar with the terms and concepts related to CoAP <xref target="RFC7252"/>, OSCORE <xref target="RFC8613"/>, Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/>, and CBOR Object Signing and Encryption (COSE) <xref target="RFC9052"/>.</t>
      </section>
    </section>
    <section anchor="sec-agreement-alg">
      <name>Pairwise Key Agreement Algorithm</name>
      <t>In an OSCORE group that uses the pairwise mode and a quantum-resistant KEM as Pairwise Key Agreement Algorithm, the KEM is identified by the Pairwise Key Agreement Algorithm parameter, within the Common Context of the Group OSCORE Security Context (see <xref section="2.1.10" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
      <t>Like for other algorithms used in Group OSCORE, the KEM used as Pairwise Key Agreement Algorithm <bcp14>MUST</bcp14> be one of those defined for COSE and registered at <xref target="COSE.Algorithms"/>. For example, the COSE algorithms ML-KEM-512, ML-KEM-768, and ML-KEM-1024 are being registered by <xref target="I-D.ietf-cose-pqc-kem"/>, consistent with the three corresponding parameter sets of the standard ML-KEM <xref target="FIPS203"/>.</t>
      <t>For endpoints that support the pairwise mode and use a quantum-resistant KEM as Pairwise Key Agreement Algorithm, the algorithm ML-KEM-512 defined in <xref target="I-D.ietf-cose-pqc-kem"/> is mandatory to implement.</t>
      <t>Conventions for using quantum-resistant KEMs within COSE are described in <xref target="I-D.ietf-cose-pqc-kem"/>. When using a quantum-resistant KEM as Pairwise Key Agreement Algorithm in Group OSCORE, the shared secret is computed as the result of the KEM encapsulation function with a KEM public key as input, or as the result of the KEM decapsulation function with a KEM private key and an encapsulated KEM shared secret as input. That is, the computed shared secret corresponds to the initial shared secret SS' in <xref target="I-D.ietf-cose-pqc-kem"/>.</t>
    </section>
    <section anchor="sec-pairwise-keys">
      <name>Derivation of Pairwise Keys</name>
      <t>This section defines how pairwise keys are derived when the Pairwise Key Agreement Algorithm used is a quantum-resistant KEM.</t>
      <t>Analogous to the construction used by OSCORE in <xref section="3.2.1" sectionFormat="of" target="RFC8613"/>, the derivation of pairwise keys is aligned with the one defined in <xref section="2.5.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>, with the difference that two shared secrets are established through the Pairwise Key Agreement Algorithm, and they are separately used to derive a Pairwise Sender Key and the corresponding Pairwise Recipient Key.</t>
      <t>For a given endpoint, the derivation of the pairwise keys to use between itself and each other endpoint X in the group is as below:</t>
      <artwork><![CDATA[
Pairwise Sender Key    = HKDF(Sender Key, IKM-Sender, info, L)
Pairwise Recipient Key = HKDF(Recipient Key, IKM-Recipient, info, L)

with

IKM-Sender    = Sender Auth Cred | Recipient Auth Cred |
                Sender Shared Secret
IKM-Recipient = Recipient Auth Cred | Sender Auth Cred |
                Recipient Shared Secret
]]></artwork>
      <t>where:</t>
      <ul spacing="normal">
        <li>
          <t>The same as defined in <xref section="2.5.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/> applies for:  </t>
          <ul spacing="normal">
            <li>
              <t>The HMAC-based key derivation function (HKDF) <xref target="RFC5869"/>.</t>
            </li>
            <li>
              <t>The Sender Key, the Recipient Key, info, and L.</t>
            </li>
            <li>
              <t>Sender Auth Cred and Recipient Auth Cred.</t>
            </li>
            <li>
              <t>The Pairwise Sender Key, i.e., the AEAD key for processing outgoing messages addressed to endpoint X.</t>
            </li>
            <li>
              <t>The Pairwise Recipient Key, i.e., the AEAD key for processing incoming messages from endpoint X.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>IKM-Sender is the Input Keying Material (IKM) used in the HKDF for the derivation of the Pairwise Sender Key. IKM-Sender is the byte string concatenation of Sender Auth Cred, Recipient Auth Cred, and the Sender Shared Secret. The authentication credentials Sender Auth Cred and Recipient Auth Cred are binary encoded as defined in <xref section="2.4" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>.</t>
        </li>
        <li>
          <t>IKM-Recipient is the IKM used in the HKDF for the derivation of the Pairwise Recipient Key. IKM-Recipient is the byte string concatenation of Recipient Auth Cred, Sender Auth Cred, and the Recipient Shared Secret. The authentication credentials Recipient Auth Cred and Sender Auth Cred are binary encoded as defined in <xref section="2.4" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>.</t>
        </li>
        <li>
          <t>The Sender Shared Secret is computed by the endpoint using the endpoint X's KEM public key, and it is associated with the encapsulated KEM shared secret computed by the endpoint and intended to endpoint X. The Sender Shared Secret of the endpoint is equal to the Recipient Shared Secret of endpoint X.</t>
        </li>
        <li>
          <t>The Recipient Shared Secret is computed by the endpoint using the endpoint's own KEM private key and the encapsulated KEM shared secret from endpoint X. The Recipient Shared Secret of the endpoint is equal to the Sender Shared Secret of endpoint X.</t>
        </li>
      </ul>
      <t>For what concerns the derivation of Pairwise Keys, a KEM public key associated with the endpoint is used by any and exactly one other endpoint X in the group to compute exactly one Sender Shared Secret. The endpoint computes the same value as its Recipient Shared Secret using its own KEM private key and the encapsulated KEM shared secret from endpoint X.</t>
      <t>That is, in order to compute its Sender Shared Secret and derive its Pairwise Sender Key, the endpoint has to obtain the endpoint X's KEM public key. Conversely, in order to compute its Recipient Shared Secret and derive its Pairwise Recipient Key, the endpoint has to obtain the encapsulated KEM shared secret from endpoint X.</t>
      <t>However, KEM public keys and encapsulated KEM shared secrets are not provided within messages that group members directly send to each other. Instead, group members exchange KEM public keys and encapsulated KEM shared secrets via the Group Manager responsible for the group, as defined in <xref target="sec-group-manager"/>.</t>
    </section>
    <section anchor="change-of-sender-id">
      <name>Change of Sender ID</name>
      <t>An endpoint that is a member of an OSCORE group can obtain a new Sender ID from the Group Manager (see <xref section="2.6.3.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>). For instance, this can happen when the endpoint requests a new Sender ID from the Group Manager, or when the endpoint requests to re-join the group.</t>
      <t>In an OSCORE group that uses the pairwise mode and a quantum-resistant KEM as Pairwise Key Agreement Algorithm, an endpoint performs the following actions after it obtains a new Sender ID:</t>
      <ul spacing="normal">
        <li>
          <t>The endpoint <bcp14>MUST</bcp14> delete the Pairwise Sender Keys that it stores in its Sender Context, within the Group OSCORE Security Context that it uses in the group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
        </li>
        <li>
          <t>The endpoint <bcp14>MUST</bcp14> delete the Recipient Pairwise Keys that it stores in its Recipient Contexts, within the Group OSCORE Security Context that it uses in the group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-group-manager">
      <name>Assistance from the Group Manager</name>
      <t>This section defines the operations that the Group Manager performs to facilitate the exchange of KEM public keys and encapsulated KEM shared secrets among group members, when the Pairwise Key Agreement Algorithm used in the group is a quantum-resistant KEM.</t>
      <t>The following is not relevant for a node that joins the group exclusively as a silent server (see <xref section="1.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>), or that does not support or does not intend to use the pairwise mode in the group.</t>
      <t>There are different ways to perform such supportive operations, depending on the specific realization of Group Manager. For example, when considering the realization of Group Manager specified in <xref target="I-D.ietf-ace-key-groupcomm-oscore"/> and based on the Authentication and Authorization for Constrained Environments (ACE) framework <xref target="RFC9200"/>, it is possible to accordingly extend its interface as defined in <xref target="I-D.tiloca-ace-oscore-gm-kem"/>.</t>
      <t>Given an OSCORE group, the following applies.</t>
      <section anchor="uploading-a-kem-public-key">
        <name>Uploading a KEM Public Key</name>
        <t>A group member P has to be able to upload its own KEM public keys at the Group Manager. In particular, P can upload a KEM public key at the Group Manager already when joining the group, and then upload other KEM public keys later on as a group member.</t>
        <t>After generating a KEM public/private key pair, P uploads the KEM public key at the Group Manager. Then, P stores the KEM public key, the corresponding KEM private key, and a SHA-256 hash <xref target="SHA-256"/> of the KEM public key as corresponding identifier.</t>
        <t>When the Group Manager receives a KEM public key from P, the Group Manager stores the KEM public key as associated with the Sender ID of P in the group. The Group Manager is able to identify P and thereby determine its Sender ID in the group, e.g., by means of the secure communication association shared with P.</t>
        <t>The Group Manager <bcp14>MUST</bcp14> keep the association between the KEM Public Key and Sender ID of P up-to-date over time, in the event that P changes its Sender ID in the group.</t>
        <t>The Group Manager is expected to be able to store multiple KEM public keys from the same group member P at any given time, up to a local upper bound. When the group member P is removed from the group, the Group Manager deletes from its local storage any KEM public key of P.</t>
        <t>A KEM public key of P is intended to be retrieved from the Group Manager and used by any and exactly one other group member.</t>
      </section>
      <section anchor="retrieve-kem-public-key">
        <name>Retrieving a KEM Public Key</name>
        <t>Another group member Q has to be able to retrieve a KEM public key of P from the Group Manager.</t>
        <t>Q retrieves a KEM public key of P when it wants to send to P a message protected with the pairwise mode and does not have the Pairwise Sender Key required to process the message.</t>
        <t>In order to retrieve a KEM public key of P from the Group Manager, Q specifies the Sender ID of P to the Group Manager.</t>
        <t>After the Group Manager provides Q with the KEM public key of P, the Group Manager deletes the KEM public key of P from its local storage.</t>
        <t>P has to be able to gain knowledge about the number of own KEM public keys that are currently stored at the Group Manager. For example, this can rely on P accessing a dedicated resource hosted by the Group Manager. If such resource is observable <xref target="RFC7641"/>, P can use CoAP Observe to subscribe for updates about the resource representation, thereby receiving notifications from the Group Manager.</t>
      </section>
      <section anchor="uploading-an-encapsulated-kem-shared-secret">
        <name>Uploading an Encapsulated KEM Shared Secret</name>
        <t>After Q retrieves a KEM public key of P from the Group Manager (see <xref target="retrieve-kem-public-key"/>), Q uses the KEM public key of P to compute the shared secret and produces the encapsulated KEM shared secret intended to P.</t>
        <t>Q uses the shared secret as the Sender Shared Secret for deriving its own Pairwise Sender Key to use with P (see <xref target="sec-pairwise-keys"/>). After that, Q stores the Pairwise Sender Key to use with P in its Sender Context, within the Group OSCORE Security Context used in the group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
        <t>Q has to be able to upload the following information at the Group Manager:</t>
        <ul spacing="normal">
          <li>
            <t>The encapsulated KEM shared secret.</t>
          </li>
          <li>
            <t>The Sender ID of P, identifying the intended consumer of the encapsulated KEM shared secret.</t>
          </li>
          <li>
            <t>The SHA-256 hash of the KEM public key of P that Q used to compute the shared secret.</t>
          </li>
        </ul>
        <t>When the Group Manager receives from Q an encapsulated KEM shared secret intended to P, the Group Manager stores the encapsulated KEM shared secret as associated with the following information:</t>
        <ul spacing="normal">
          <li>
            <t>The Sender ID of Q, identifying the producer of the encapsulated KEM shared secret. The Group Manager is able to identify Q and thereby determine its Sender ID in the group, e.g., by means of the secure communication association shared with Q.</t>
          </li>
          <li>
            <t>The Sender ID of P received from Q, identifying the intended consumer of the encapsulated KEM shared secret.</t>
          </li>
          <li>
            <t>The SHA-256 hash received from Q, as the identifier of the KEM public key of P that Q used to compute the shared secret.</t>
          </li>
        </ul>
        <t>When doing so, the Group Manager overwrites any already stored encapsulated KEM shared secret and SHA-256 hash identifier that are associated with the same consumer Sender ID and producer Sender ID.</t>
        <t>The Group Manager <bcp14>MUST</bcp14> keep up-to-date the association between the encapsulated KEM shared secret and the three pieces of information above, in the event that P or Q change their Sender IDs in the group.</t>
        <t>When a group member is removed from the group, the Group Manager deletes from its local storage any encapsulated KEM shared secret of which that group member is the producer or the intended consumer. For each of such encapsulated KEM shared secrets, the Group Manager also deletes the associated SHA-256 hash identifying a KEM public key, freeing up their association with the consumer Sender ID and producer Sender ID.</t>
      </section>
      <section anchor="retrieving-an-encapsulated-kem-shared-secret">
        <name>Retrieving an Encapsulated KEM Shared Secret</name>
        <t>P has to be able to retrieve the following information from the Group Manager:</t>
        <ul spacing="normal">
          <li>
            <t>The encapsulated KEM shared secret computed for P by Q.</t>
          </li>
          <li>
            <t>The SHA-256 hash identifier of its own KEM public key that Q used to compute the shared secret.</t>
          </li>
        </ul>
        <t>In order to retrieve that information, P specifies the Sender ID of Q to the Group Manager. Then, the Group Manager provides the requested information, if it stores an encapsulated KEM shared secret associated with both:</t>
        <ul spacing="normal">
          <li>
            <t>The specified Sender ID of Q, identifying the producer of the encapsulated KEM shared secret; and</t>
          </li>
          <li>
            <t>The Sender ID of P, identifying the intended consumer of the encapsulated KEM shared secret. The Group Manager is able to identify P and thereby determine its Sender ID in the group, e.g., by means of the secure communication association shared with P.</t>
          </li>
        </ul>
        <t>After providing P with the encapsulated KEM shared secret and SHA-256 hash identifier, the Group Manager deletes those two pieces of information from its local storage, freeing up their association with the consumer Sender ID and producer Sender ID.</t>
        <t>P retrieves the encapsulated KEM shared secret computed by Q when it receives from Q a message protected with the pairwise mode and does not have the Pairwise Recipient Key required to process the message.</t>
        <t>P uses the SHA-256 hash identifier to retrieve its own corresponding KEM public key and KEM private key from its local storage.</t>
        <t>Then, P computes the shared secret by using its own KEM private key and the encapsulated KEM shared secret computed by Q. After that, P deletes the encapsulated KEM shared secret, and it deletes from its local storage the KEM private key just used as well as the corresponding KEM public key and the corresponding SHA-256 hash identifier.</t>
        <t>P uses the shared secret as the Recipient Shared Secret for deriving its own Pairwise Recipient Key to use with Q (see <xref target="sec-pairwise-keys"/>). After that, P stores the Pairwise Recipient Key to use with Q in its Recipient Context associated with Q, within the Group OSCORE Security Context used in the group (see <xref section="2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>).</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations from <xref target="I-D.ietf-core-oscore-groupcomm"/> and <xref target="I-D.ietf-cose-pqc-kem"/> hold for this document too. The security considerations for the specific KEM used as Pairwise Key Agreement Algorithm in the Group OSCORE Security Context also apply. Security considerations for ML-KEM are compiled in <xref target="I-D.sfluhrer-cfrg-ml-kem-security-considerations"/>.</t>
      <t>Using a quantum-resistant KEM typically requires a good source of randomness, e.g., in order to generate KEM public/private keys and to compute shared secrets and encapsulated KEM shared secrets. In turn, for endpoints that use the pairwise mode of Group OSCORE with a quantum-resistant KEM as the Pairwise Key Agreement Algorithm, this requires those endpoints to use a cryptographically secure random number generator.</t>
      <t>In the case that the Pairwise Key Agreement Algorithm used is not quantum-resistant, an adversary equipped with a CRQC is able to derive a shared secret computed by two group members.</t>
      <t>Consequently, if the adversary leaks the shared secret to a third group member or if the adversary is in control or such third group member, then the same exploitation discussed in <xref section="14.2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/> is possible.</t>
      <t>That is, the third group member can derive the pairwise keys of the two group members and use those to impersonate either of the two group members to the other, or to decrypt previously stored messages exchanged between those two members and protected with their pairwise keys. Fundamentally, this would break the following security properties that are expected from the pairwise mode (see <xref section="14.2" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>):</t>
      <ul spacing="normal">
        <li>
          <t>Symmetric source authentication, as it becomes possible to impersonate either group member when sending a message protected with the pairwise mode.</t>
        </li>
        <li>
          <t>Symmetric pairwise confidentiality, as a message protected with the pairwise mode becomes possible to decrypt also for other group members than the two intended ones.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no actions for IANA.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5869">
          <front>
            <title>HMAC-based Extract-and-Expand Key Derivation Function (HKDF)</title>
            <author fullname="H. Krawczyk" initials="H." surname="Krawczyk"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <date month="May" year="2010"/>
            <abstract>
              <t>This document specifies a simple Hashed Message Authentication Code (HMAC)-based key derivation function (HKDF), which can be used as a building block in various protocols and applications. The key derivation function (KDF) is intended to support a wide range of applications and requirements, and is conservative in its use of cryptographic hash functions. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5869"/>
          <seriesInfo name="DOI" value="10.17487/RFC5869"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7641">
          <front>
            <title>Observing Resources in the Constrained Application Protocol (CoAP)</title>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <date month="September" year="2015"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful application protocol for constrained nodes and networks. The state of a resource on a CoAP server can change over time. This document specifies a simple protocol extension for CoAP that enables CoAP clients to "observe" resources, i.e., to retrieve a representation of a resource and keep this representation updated by the server over a period of time. The protocol follows a best-effort approach for sending new representations to clients and provides eventual consistency between the state observed by each client and the actual resource state at the server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7641"/>
          <seriesInfo name="DOI" value="10.17487/RFC7641"/>
        </reference>
        <reference anchor="RFC8613">
          <front>
            <title>Object Security for Constrained RESTful Environments (OSCORE)</title>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="F. Palombini" initials="F." surname="Palombini"/>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <date month="July" year="2019"/>
            <abstract>
              <t>This document defines Object Security for Constrained RESTful Environments (OSCORE), a method for application-layer protection of the Constrained Application Protocol (CoAP), using CBOR Object Signing and Encryption (COSE). OSCORE provides end-to-end protection between endpoints communicating using CoAP or CoAP-mappable HTTP. OSCORE is designed for constrained nodes and networks supporting a range of proxy operations, including translation between different transport protocols.</t>
              <t>Although an optional functionality of CoAP, OSCORE alters CoAP options processing and IANA registration. Therefore, this document updates RFC 7252.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8613"/>
          <seriesInfo name="DOI" value="10.17487/RFC8613"/>
        </reference>
        <reference anchor="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="I-D.ietf-core-groupcomm-bis">
          <front>
            <title>Group Communication for the Constrained Application Protocol (CoAP)</title>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="10" month="February" year="2026"/>
            <abstract>
              <t>   The Constrained Application Protocol (CoAP) is a web transfer
   protocol for constrained devices and constrained networks.  In a
   number of use cases, constrained devices often naturally operate in
   groups (e.g., in a building automation scenario, all lights in a
   given room may need to be switched on/off as a group).  This document
   specifies the use of CoAP for group communication, including the use
   of UDP/IP multicast as the default underlying data transport.  Both
   unsecured and secured CoAP group communication are specified.
   Security is achieved by use of the Group Object Security for
   Constrained RESTful Environments (Group OSCORE) protocol.  The target
   application area of this specification is any group communication use
   cases that involve resource-constrained devices or networks that
   support CoAP.  This document replaces and obsoletes RFC 7390, while
   it updates RFC 7252 and RFC 7641.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-groupcomm-bis-18"/>
        </reference>
        <reference anchor="I-D.ietf-core-oscore-groupcomm">
          <front>
            <title>Group Object Security for Constrained RESTful Environments (Group OSCORE)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="23" month="December" year="2025"/>
            <abstract>
              <t>   This document defines the security protocol Group Object Security for
   Constrained RESTful Environments (Group OSCORE), providing end-to-end
   security of messages exchanged with the Constrained Application
   Protocol (CoAP) between members of a group, e.g., sent over IP
   multicast.  In particular, the described protocol defines how OSCORE
   is used in a group communication setting to provide source
   authentication for CoAP group requests, sent by a client to multiple
   servers, and for protection of the corresponding CoAP responses.
   Group OSCORE also defines a pairwise mode where each member of the
   group can efficiently derive a symmetric pairwise key with each other
   member of the group for pairwise OSCORE communication.  Group OSCORE
   can be used between endpoints communicating with CoAP or CoAP-
   mappable HTTP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-groupcomm-28"/>
        </reference>
        <reference anchor="I-D.ietf-cose-pqc-kem">
          <front>
            <title>Post-Quantum Key Encapsulation Mechanisms (PQ KEMs) for COSE</title>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Aritra Banerjee" initials="A." surname="Banerjee">
              <organization>Nokia</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of the Bundeswehr Munich</organization>
            </author>
            <date day="29" month="October" year="2026"/>
            <abstract>
              <t>   This document describes conventions for using Post-Quantum Key
   Encapsulation Mechanisms (PQ-KEMs) with CBOR Object Signing and
   Encryption (COSE).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cose-pqc-kem-00"/>
        </reference>
        <reference anchor="FIPS203" target="https://doi.org/10.6028/NIST.FIPS.203">
          <front>
            <title>Module-Lattice-Based Key-Encapsulation Mechanism Standard</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="NIST" value="FIPS 203"/>
        </reference>
        <reference anchor="SHA-256" target="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf">
          <front>
            <title>Secure Hash Standard</title>
            <author>
              <organization>NIST</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
          <seriesInfo name="NIST FIPS PUB 180-4, DOI 10.6028/NIST.FIPS.180-4" value=""/>
        </reference>
        <reference anchor="COSE.Algorithms" target="https://www.iana.org/assignments/cose/cose.xhtml#algorithms">
          <front>
            <title>COSE Algorithms</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <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="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9200">
          <front>
            <title>Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a framework for authentication and authorization in Internet of Things (IoT) environments called ACE-OAuth. The framework is based on a set of building blocks including OAuth 2.0 and the Constrained Application Protocol (CoAP), thus transforming a well-known and widely used authorization solution into a form suitable for IoT devices. Existing specifications are used where possible, but extensions are added and profiles are defined to better serve the IoT use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9200"/>
          <seriesInfo name="DOI" value="10.17487/RFC9200"/>
        </reference>
        <reference anchor="RFC9964">
          <front>
            <title>ML-DSA for JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE)</title>
            <author fullname="M. Prorock" initials="M." surname="Prorock"/>
            <author fullname="O. Steele" initials="O." surname="Steele"/>
            <date month="May" year="2026"/>
            <abstract>
              <t>This document specifies JSON Object Signing and Encryption (JOSE) and CBOR Object Signing and Encryption (COSE) serializations for the Module-Lattice-Based Digital Signature Standard (ML-DSA), a Post-Quantum Cryptography (PQC) digital signature scheme defined in US NIST FIPS 204.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9964"/>
          <seriesInfo name="DOI" value="10.17487/RFC9964"/>
        </reference>
        <reference anchor="I-D.ietf-ace-key-groupcomm-oscore">
          <front>
            <title>Key Management for Group Object Security for Constrained RESTful Environments (Group OSCORE) Using Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="14" month="March" year="2026"/>
            <abstract>
              <t>   This document defines an application profile of the Authentication
   and Authorization for Constrained Environments (ACE) framework, to
   request and provision keying material in group communication
   scenarios that are based on the Constrained Application Protocol
   (CoAP) and are secured with Group Object Security for Constrained
   RESTful Environments (Group OSCORE).  This application profile
   delegates the authentication and authorization of Clients, which join
   an OSCORE group through a Resource Server acting as Group Manager for
   that group.  This application profile leverages protocol-specific
   transport profiles of ACE to achieve communication security, server
   authentication, and proof of possession of a key owned by the Client
   and bound to an OAuth 2.0 access token.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ace-key-groupcomm-oscore-21"/>
        </reference>
        <reference anchor="I-D.tiloca-ace-oscore-gm-kem">
          <front>
            <title>Quantum-Resistant Key Encapsulation Mechanisms (KEMs) via the OSCORE Group Manager Using Authentication and Authorization for Constrained Environments (ACE)</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="6" month="July" year="2026"/>
            <abstract>
              <t>   RFC 9594 defines a Key Distribution Center (KDC) to provision keying
   material for secure group communication, using the Authentication and
   Authorization for Constrained Environments (ACE) framework.  An
   instance of KDC is the Group Manager for provisioning keying material
   in group communication scenarios that use the Constrained Application
   Protocol (CoAP) and the security protocol Group Object Security for
   Constrained RESTful Environments (Group OSCORE).  To make the
   pairwise mode of Group OSCORE post-quantum secure, it is possible to
   rely on a quantum-resistant Key Encapsulation Mechanism (KEM) as the
   Pairwise Key Agreement Algorithm used to derive pairwise keys.  This
   document extends the interface of the ACE-based Group Manager to
   enable the exchange of KEM public keys and KEM ciphertexts among
   group members via the Group Manager, thus making the derivation of
   pairwise keys in Group OSCORE post-quantum secure.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tiloca-ace-oscore-gm-kem-00"/>
        </reference>
        <reference anchor="I-D.sfluhrer-cfrg-ml-kem-security-considerations">
          <front>
            <title>ML-KEM Security Considerations</title>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Quynh Dang" initials="Q." surname="Dang">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Kevin Milner" initials="K." surname="Milner">
              <organization>Individual</organization>
            </author>
            <author fullname="Daniel Shiu" initials="D." surname="Shiu">
              <organization>Arqit Quantum Inc</organization>
            </author>
            <date day="13" month="May" year="2026"/>
            <abstract>
              <t>   NIST standardized ML-KEM as FIPS 203 in August 2024.  This document
   discusses how to use ML-KEM within protocols - that is, what problem
   it solves, and what you need to do to use it securely.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-sfluhrer-cfrg-ml-kem-security-considerations-05"/>
        </reference>
        <reference anchor="FIPS204" target="https://doi.org/10.6028/NIST.FIPS.204">
          <front>
            <title>Module-Lattice-Based Digital Signature Standard</title>
            <author>
              <organization/>
            </author>
            <date year="2024" month="August"/>
          </front>
          <seriesInfo name="NIST" value="FIPS 204"/>
        </reference>
        <reference anchor="NIST-800-56A" target="https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-56Ar3.pdf">
          <front>
            <title>Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography - NIST Special Publication 800-56A, Revision 3</title>
            <author initials="E." surname="Barker" fullname="Elaine Barker">
              <organization/>
            </author>
            <author initials="L." surname="Chen" fullname="Lily Chen">
              <organization/>
            </author>
            <author initials="A." surname="Roginsky" fullname="Allen Roginsky">
              <organization/>
            </author>
            <author initials="A." surname="Vassilev" fullname="Apostol Vassilev">
              <organization/>
            </author>
            <author initials="R." surname="Davis" fullname="Richard Davis">
              <organization/>
            </author>
            <date year="2018" month="April"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 325?>

<section anchor="kem-on-dh-nike">
      <name>Prospective KEMs Based on a DH/NIKE</name>
      <t>The construct defined in this document makes it seamlessly possible to use as Pairwise Key Agreement Algorithm of Group OSCORE also a KEM that builds on a quantum-resistant DH/NIKE, when one is available.</t>
      <t>For example, assuming that a quantum-resistant equivalent of Elliptic Curve Diffie-Hellman exists, the following would apply:</t>
      <ul spacing="normal">
        <li>
          <t>The encapsulated KEM shared secret is the ephemeral Diffie-Hellman public key of the endpoint that computes the shared secret first.</t>
        </li>
        <li>
          <t>The KEM public/private key is the ephemeral Diffie-Hellman public/private key of the endpoint that computes the shared secret last.</t>
        </li>
      </ul>
      <t>The ability to build such a KEM to use as Pairwise Key Agreement Algorithm is expected to be useful in the future: Even when a standardized, quantum-resistant DH/NIKE exists and is defined for COSE as registered at <xref target="COSE.Algorithms"/>, it might not be (immediately) possible to directly use such DH/NIKE in Group OSCORE.</t>
      <t>In the particular case where an OSCORE group uses only the pairwise mode, such a DH/NIKE can be directly used as Pairwise Key Agreement Algorithm. Consequently, pairwise keys are derived like originally defined in <xref section="2.5.1" sectionFormat="of" target="I-D.ietf-core-oscore-groupcomm"/>.</t>
      <t>Instead, in the case where an OSCORE group uses both the group mode and the pairwise mode, authentication credentials of group members correspond to public/private key pairs to use for signature operations, as per the Signature Algorithm used in the group. Therefore, consistent with the security properties of Group OSCORE, the direct use of such a DH/NIKE requires that all the following conditions are fulfilled:</t>
      <ul spacing="normal">
        <li>
          <t>The public/private key pairs associated with group members' authentication credentials can be used for both signature operations and static-static key agreement operations, as per the Signature Algorithm and Pairwise Key Agreement Algorithm used in the group.</t>
        </li>
        <li>
          <t>The use of the same public/private key pair for both signature operations and key agreement operations is proven to be secure for Group OSCORE.</t>
        </li>
      </ul>
      <t>Until such conditions are fulfilled, the Pairwise Key Agreement Algorithm used can be a KEM that builds on the quantum-resistant DH/NIKE, with pairwise keys derived as defined in this document.</t>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author sincerely thanks <contact fullname="Christian Amsüss"/> and <contact fullname="Göran Selander"/> for their feedback and comments.</t>
      <t>The work on this document has been partly supported by the Sweden's Innovation Agency VINNOVA and the Celtic-Next project CYPRESS.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
F9KlKbFdZQAA

-->

</rfc>
