<?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  (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-amsuess-t2trg-onion-coap-00" category="exp" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="Onion CoAP">Using onion routing with CoAP</title>
    <seriesInfo name="Internet-Draft" value="draft-amsuess-t2trg-onion-coap-00"/>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss">
      <organization/>
      <address>
        <postal>
          <country>Austria</country>
        </postal>
        <email>christian@amsuess.com</email>
      </address>
    </author>
    <author initials="M." surname="Tiloca" fullname="Marco Tiloca">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440</code>
          <country>Sweden</country>
        </postal>
        <email>marco.tiloca@ri.se</email>
      </address>
    </author>
    <author initials="R." surname="Höglund" fullname="Rikard Höglund">
      <organization>RISE AB</organization>
      <address>
        <postal>
          <street>Isafjordsgatan 22</street>
          <city>Kista</city>
          <code>16440</code>
          <country>Sweden</country>
        </postal>
        <email>rikard.hoglund@ri.se</email>
      </address>
    </author>
    <date year="2023" month="July" day="04"/>
    <workgroup>t2trg</workgroup>
    <keyword>tor</keyword>
    <keyword>onion</keyword>
    <keyword>coap</keyword>
    <keyword>oscore</keyword>
    <keyword>edhoc</keyword>
    <keyword>hidden</keyword>
    <abstract>
      <t>The CoAP protocol was designed with direct connections and proxies in mind.
This document defines mechanisms by which chains of proxies can be set up.
In combination, they enable the operation of hidden services
and client similar to how Tor (The Onion Router) enables it for TCP based protocols.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Thing-to-Thing Research Group mailing list (t2trg@irtf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/search/?email_list=t2trg"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://gitlab.com/chrysn/onion-coap"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>[ See also abstract. ]</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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>
    </section>
    <section anchor="mechanism-outline">
      <name>Mechanism outline</name>
      <ul spacing="normal">
        <li>The client can hide its position in the network from the origin server, while still possibly protecting communications end-to-end with OSCORE.</li>
        <li>Use the method defined in <xref section="3" sectionFormat="of" target="I-D.tiloca-core-oscore-capable-proxies-06"/> to achieve OSCORE-protected onion forwarding, through a chain of proxies (at least three are expected). Every message generated by or intended to the origin client must traverse the whole chain of proxies until the intended other endpoint (typically, the origin server). The chain of proxies has to be known in advance by the client, i.e., the exact proxies and their order in the chain.</li>
        <li>
          <t>The typical case addressed in this document considers an origin client that, at most, shares one OSCORE Security Context with the origin server and one OSCORE Security Context with the first proxy in the chain.  </t>
          <t>
If onion forwarding is used, the origin client shares an OSCORE Security Context with the origin server, and a dedicated OSCORE Security Context with each of the proxies in the chain.</t>
        </li>
        <li>
          <t>The origin client protects a request by applying first the OSCORE layer intended to the origin server, then the OSCORE layer intended to the last proxy in the chain, then the OSCORE layer intended to the second from last proxy in the chain and so on, until it applies the OSCORE layer intended to the first proxy in the chain.  </t>
          <t>
Before protecting a request with the OSCORE layer to be consumed by a certain proxy in the chain, the origin client also adds proxy-related options intended to that proxy, as indications to forward the request to (the next hop towards) the origin server.  </t>
          <t>
Other than the actions above from the client, there should be no difference from the basic approach defined in <xref section="3" sectionFormat="of" target="I-D.tiloca-core-oscore-capable-proxies-06"/>. Each proxy in the chain would process and remove one OSCORE layer from the received request and then forward it to (the next hop towards) the origin server.</t>
        </li>
        <li>
          <t>The exact way used by the client to establish OSCORE Security Contexts with the proxies and the origin server is out of scope.  </t>
          <t>
If the EDHOC key establishment protocol is used (see <xref target="I-D.ietf-lake-edhoc"/>), it is most convenient for the client to run it with the first proxy in the chain, then with the second proxy in the chain through the first one and so on, and finally with the origin server by traversing the whole chain of proxies.  </t>
          <t>
Then, it is especially convenient to use the optimized workflow defined in <xref target="I-D.ietf-core-oscore-edhoc"/> and based on the EDHOC + OSCORE request. This would basically allow the client to complete the EDHOC execution with an endpoint and start the EDHOC execution with the next endpoint in the chain, by means of a single message sent on the wire.</t>
        </li>
        <li>
          <t>Hop-by-hop security has to also be achieved between each pair of proxies in the chain. To this end, two adjacent proxies would better use TLS over TCP than OSCORE between one another (this should be acceptable for non-constrained proxies). This takes advantage of the TCP packet aggregation policies, and thus:  </t>
          <ul spacing="normal">
            <li>As request forwarding occurs in MTU-size bundles, the length of the origin request can be hidden as well.</li>
            <li>Requests and responses traversing the proxy chain cannot be correlated, e.g., by externally monitoring the timing of message forwarding (which would jeopardize the client's wish to hide itself from anything but the first proxy in the chain).</li>
          </ul>
        </li>
        <li>
          <t>Cacheability of responses can still happen, as per <xref section="4" sectionFormat="of" target="I-D.tiloca-core-oscore-capable-proxies-06"/> and using the approach defined in <xref target="I-D.amsuess-core-cachable-oscore"/>.  </t>
          <t>
The last proxy in the chain would be the only proxy actually seeing the Deterministic Request originated by the client and then caching the corresponding responses from the origin server. It is good that other proxies are not able to do the same, thus preventing what might lead to request-response correlation, again opening for localization of the origin client.</t>
        </li>
        <li>
          <t>Possible optimizations along the proxy chains  </t>
          <ul spacing="normal">
            <li>In particular settings involving additional configuration on the client, some proxy in the chain might be a reverse-proxy. Then, such a proxy can be configured to map on one hand the OSCORE Security Context shared with the origin client (and used to remove a corresponding OSCORE layer from a received request to forward) and, on the other hand, the addressing information of the next hop in the chain where to forward the received request to. This would spare the origin client to add a set of proxy-related options for every single proxy in the chain.</li>
            <li>
              <t>It is mentioned above to additionally use TLS over TCP hop-by-hop between every two adjacent proxies in the chain. That said:      </t>
              <ul spacing="normal">
                <li>The OSCORE protection of the request has certainly to rely on authenticated encryption algorithms (as usual), when applying the OSCORE layer intended to the origin server (the first one applied by the origin client) and the OSCORE layer intended to the first proxy in the chain (the last one applied by the origin client).</li>
                <li>For any other OSCORE layer applied by the origin client (i.e., intended for any proxy in the chain but the first one), the OSCORE protection can better rely on an encryption-only algorithm not providing an authentication tag (as admitted in the group mode of Group OSCORE <xref target="I-D.ietf-core-oscore-groupcomm"/> and assuming the registration of such algorithms in COSE).</li>
                <li>This would be secure to do, since every pair of adjacent proxies in the chain relies on its TLS connection for the respective hop-by-hop communication anyway. The benefit is that it avoids transmitting several unneeded authentication tags from OSCORE.</li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <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>
        <name>Informative References</name>
        <reference anchor="I-D.ietf-lake-edhoc">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="3" month="February" year="2023"/>
            <abstract>
              <t>   This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a
   very compact and lightweight authenticated Diffie-Hellman key
   exchange with ephemeral keys.  EDHOC provides mutual authentication,
   forward secrecy, and identity protection.  EDHOC is intended for
   usage in constrained scenarios and a main use case is to establish an
   OSCORE security context.  By reusing COSE for cryptography, CBOR for
   encoding, and CoAP for transport, the additional code size can be
   kept very low.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-edhoc-19"/>
        </reference>
        <reference anchor="I-D.ietf-core-oscore-edhoc">
          <front>
            <title>Using EDHOC with CoAP and OSCORE</title>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Stefan Hristozov" initials="S." surname="Hristozov">
              <organization>Fraunhofer AISEC</organization>
            </author>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson</organization>
            </author>
            <date day="13" month="March" year="2023"/>
            <abstract>
              <t>   The lightweight authenticated key exchange protocol EDHOC can be run
   over CoAP and used by two peers to establish an OSCORE Security
   Context.  This document details this use of the EDHOC protocol, by
   specifying a number of additional and optional mechanisms.  These
   especially include an optimization approach for combining the
   execution of EDHOC with the first OSCORE transaction.  This
   combination reduces the number of round trips required to set up an
   OSCORE Security Context and to complete an OSCORE transaction using
   that Security Context.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-oscore-edhoc-07"/>
        </reference>
        <reference anchor="I-D.amsuess-core-cachable-oscore">
          <front>
            <title>Cacheable OSCORE</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <date day="11" month="January" year="2023"/>
            <abstract>
              <t>   Group communication with the Constrained Application Protocol (CoAP)
   can be secured end-to-end using Group Object Security for Constrained
   RESTful Environments (Group OSCORE), also across untrusted
   intermediary proxies.  However, this sidesteps the proxies' abilities
   to cache responses from the origin server(s).  This specification
   restores cacheability of protected responses at proxies, by
   introducing consensus requests which any client in a group can send
   to one server or multiple servers in the same group.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amsuess-core-cachable-oscore-06"/>
        </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="Jiye Park" initials="J." surname="Park">
              <organization>Universitaet Duisburg-Essen</organization>
            </author>
            <date day="22" month="June" year="2023"/>
            <abstract>
              <t>   This document defines the security protocol Group Object Security for
   Constrained RESTful Environments (Group OSCORE), providing end-to-end
   security of CoAP messages exchanged 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 any 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-18"/>
        </reference>
        <reference anchor="I-D.tiloca-core-oscore-capable-proxies-06">
          <front>
            <title>OSCORE-capable Proxies</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="5" month="April" year="2023"/>
            <abstract>
              <t>   Object Security for Constrained RESTful Environments (OSCORE) can be
   used to protect CoAP messages end-to-end between two endpoints at the
   application layer, also in the presence of intermediaries such as
   proxies.  This document defines how to use OSCORE for protecting CoAP
   messages also between an origin application endpoint and an
   intermediary, or between two intermediaries.  Also, it defines how to
   secure a CoAP message by applying multiple, nested OSCORE
   protections, e.g., both end-to-end between origin application
   endpoints, as well as between an application endpoint and an
   intermediary or between two intermediaries.  Thus, this document
   updates RFC 8613.  The same approach can be seamlessly used with
   Group OSCORE, for protecting CoAP messages when group communication
   with intermediaries is used.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tiloca-core-oscore-capable-proxies-06"/>
        </reference>
      </references>
    </references>
    <section anchor="change-log">
      <name>Change log</name>
      <t>Since <xref target="I-D.tiloca-core-oscore-capable-proxies-06"/>:</t>
      <ul spacing="normal">
        <li>The main body of the text was moved here and will be absent from the -07 version of that document.</li>
        <li>An abstract was added.</li>
      </ul>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TBD.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA71ZzXIjtxG+z1Mg8iFSwmFpN1t2rEpS0UpyVpXVaiNpDy7b
5QJnQA68M8AYwIhLq/Zd8hQ55RS/WL5uYIYckdyfqlQu0hDEdDe6v/66G8zz
PAs61OpEHLzx2iyENdoa4WwX6NNSh0qc2dPXB5mczZy6x75r3hEXS1sY2eDt
0sl5yGXjO+V9Hp4Gt8hZVF5Y2ebHx1khg1pYtzoR6l2bZbp1JyK4zoenx8df
Hz/Nlta9XUBvi2V6PXurVlgrTzIhchGs4/8sk59IblzyhXWKH1VZ2YKfKl2W
ymSZD9KUP8raGhi5Uj7zjXThx587G5SPK60+Ed8FW0yEty44Nfd4WjX08EOW
yS5U1sGIHHKFiKc9q5z2QUsjThv/67+95+8K25lABzzFqZyWvKgaqesTUfRv
/DX5aFrYpheqDUy5moo7XdtCbui5kq6wm8vWLU7EzeXthTh9zgtQpFQ4EZde
zn+Ct/xC4sTi6dNokQ4w5+/QLJOFJaTeXuRPvnz27Hhs9O1Skcc2bG5I+zSw
9r86PfVqZPDNVLz49V+LujPlhsk3+q105fib/6vVjg2YVpb1J7szY10jg75X
J4Cema8/CXGZn0+1CvO8lm9VzhAaLRO68giy8bc92vmbQhaVnNX9zr0SGOKI
fdPviP4d7Slky6JaZ99p5fPjL2F1lue5kDO4ThYhy+4qxTkosAngtbVYSi9K
5fXCqDImbqmdKgKcZQz+I3G8QDaIJBZRFI025RSyNF61RdcoEyBjrg2+bhRO
ZLRvvJitxLLSRQUYS8Re2PkgpEDcZkp4FUTXTrNLA3XNTBtJ+iYiVGollKHj
0LOwrXL8FcmISYp33b0ukIlkXFFrMsLrRtfSIe9FZZfizjpxSEeO5HMDelLu
KAnGSYJASMXd2Wsxk16Vg1P8NPqtgaYaMPhCXAI3tuzYHVn2/XfiVikha28H
307F9z/QzjNr7mHK4LZz8ovmz9H9IChBDOXFwdWb27uDSfwvXl3z883FP95c
3lyc0/Pti9OXL4eHLO24fXH95uX5+mn95tn11dXFq/P4MlbFaCk7uDr9Ft+Q
VQfXr+8ur1+dvjygeIZRJKVT5ECERxv4q3UqwDfSZ4BJ4fQMH/DO87PX//nn
k2fi4eE3N9+cPX3y5Ov379OHPz756hk+LCtlojZr6lX6SJHNZNsqRAlSZF0D
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
nw/mmELUwft08v8CtO3538weAAA=

-->

</rfc>
