Skip to content

Commit b79a217

Browse files
committedMar 2, 2024·
Updated references
1 parent 2fd13a2 commit b79a217

File tree

1 file changed

+19
-24
lines changed

1 file changed

+19
-24
lines changed
 

‎draft-ietf-core-groupcomm-proxy.md

+19-24
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,13 @@ title: Proxy Operations for CoAP Group Communication
55
abbrev: Proxy Operations for Group Communication
66
docname: draft-ietf-core-groupcomm-proxy-latest
77

8-
9-
# stand_alone: true
10-
11-
ipr: trust200902
12-
area: Internet
138
wg: CoRE Working Group
149
kw: Internet-Draft
1510
cat: std
1611
submissiontype: IETF
1712
updates: 7252
1813

1914
coding: utf-8
20-
pi: # can use array (if all yes) or hash here
21-
22-
toc: yes
23-
sortrefs: # defaults to yes
24-
symrefs: yes
2515

2616
author:
2717
-
@@ -37,7 +27,6 @@ author:
3727
ins: E. Dijk
3828
name: Esko Dijk
3929
org: IoTconsultancy.nl
40-
street: \________________\
4130
city: Utrecht
4231
country: The Netherlands
4332
email: esko.dijk@iotconsultancy.nl
@@ -66,8 +55,7 @@ informative:
6655
I-D.tiloca-core-oscore-discovery:
6756
I-D.amsuess-core-cachable-oscore:
6857
I-D.ietf-ace-key-groupcomm-oscore:
69-
I-D.tiloca-core-oscore-capable-proxies:
70-
RFC6347:
58+
I-D.ietf-core-oscore-capable-proxies:
7159
RFC7515:
7260
RFC7967:
7361
RFC8446:
@@ -99,7 +87,7 @@ Finally, this document defines a caching model for proxies and specifies how the
9987

10088
## Terminology ## {#terminology}
10189

102-
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 BCP 14 {{RFC2119}} {{RFC8174}} when, and only when, they appear in all capitals, as shown here.
90+
{::boilerplate bcp14-tagged}
10391

10492
Readers are expected to be familiar with terms and concepts defined in CoAP {{RFC7252}}, Group Communication for CoAP {{I-D.ietf-core-groupcomm-bis}}, CBOR {{RFC8949}}, OSCORE {{RFC8613}} and Group OSCORE {{I-D.ietf-core-oscore-groupcomm}}.
10593

@@ -252,9 +240,9 @@ This document assumes that the following requirements are fulfilled.
252240

253241
* REQ2. The proxy MUST identify a client sending a unicast group request to be proxied, in order to verify whether the client is allowed-listed to do so. For example, this can rely on one of the following security associations.
254242

255-
* A TLS {{RFC8446}} or DTLS {{RFC6347}}{{RFC9147}} channel between the client and the proxy, where the client has been authenticated during the secure channel establishment.
243+
* A TLS {{RFC8446}} or DTLS {{RFC9147}} channel between the client and the proxy, where the client has been authenticated during the secure channel establishment.
256244

257-
* A pairwise OSCORE {{RFC8613}} Security Context between the client and the proxy, as defined in {{I-D.tiloca-core-oscore-capable-proxies}}.
245+
* A pairwise OSCORE {{RFC8613}} Security Context between the client and the proxy, as defined in {{I-D.ietf-core-oscore-capable-proxies}}.
258246

259247
* REQ3. If secure, end-to-end communication is required between the client and the servers in the CoAP group, exchanged messages MUST be protected by using Group OSCORE {{I-D.ietf-core-oscore-groupcomm}}, as discussed in {{Section 5 of I-D.ietf-core-groupcomm-bis}}. This requires the client and the servers to have previously joined the correct OSCORE group, for instance by using the approach described in {{I-D.ietf-ace-key-groupcomm-oscore}}. The correct OSCORE group to join can be pre-configured or alternatively discovered, for instance by using the approach described in {{I-D.tiloca-core-oscore-discovery}}.
260248

@@ -622,7 +610,7 @@ Fundamentally, this requires to define the possible use of the ETag option also
622610

623611
Since validation of responses assumes that cacheability of responses is possible in the first place, it would be convenient to define the use of ETag as outer option in {{I-D.amsuess-core-cachable-oscore}}.
624612

625-
In case OSCORE is also used between the proxy and an individual origin server as per {{I-D.tiloca-core-oscore-capable-proxies}}, then the outer ETag option would be seamlessly protected with the OSCORE Security Context shared between the proxy and the origin server.
613+
In case OSCORE is also used between the proxy and an individual origin server as per {{I-D.ietf-core-oscore-capable-proxies}}, then the outer ETag option would be seamlessly protected with the OSCORE Security Context shared between the proxy and the origin server.
626614

627615
The following text can be used to replace the last paragraph above.
628616

@@ -634,7 +622,7 @@ As discussed in {{sec-group-caching}}, the following applies when Group OSCORE {
634622

635623
* If a cached response included an outer ETag option intended to the proxy, then the proxy can perform revalidatation of the cached response, by making a request to the unicast URI targeting the server, and including outer ETag Option(s).
636624

637-
This is possible also in case the proxy and the origin server use OSCORE to further protect the exchanged request and response, as defined in {{I-D.tiloca-core-oscore-capable-proxies}}. In such a case, the originally outer ETag option is protected with the OSCORE Security Context shared between the proxy and the origin server, before transferring the message over the communication leg between the proxy and origin server.
625+
This is possible also in case the proxy and the origin server use OSCORE to further protect the exchanged request and response, as defined in {{I-D.ietf-core-oscore-capable-proxies}}. In such a case, the originally outer ETag option is protected with the OSCORE Security Context shared between the proxy and the origin server, before transferring the message over the communication leg between the proxy and origin server.
638626

639627
\]
640628

@@ -660,7 +648,7 @@ As discussed in {{sec-group-caching}}, the following applies when Group OSCORE {
660648

661649
* If a cached response included an outer ETag option intended to the proxy, then the proxy can perform revalidatation of the cached response, by making a request to the group URI targeting the CoAP group, and including outer ETag Option(s).
662650

663-
This is possible also in case the proxy and the origin servers use Group OSCORE to further protect the exchanged request and response, as defined in {{I-D.tiloca-core-oscore-capable-proxies}}. In such a case, the originally outer ETag option is protected with the Group OSCORE Security Context shared between the proxy and the origin server, before transferring the message over the communication leg between the proxy and origin server.
651+
This is possible also in case the proxy and the origin servers use Group OSCORE to further protect the exchanged request and response, as defined in {{I-D.ietf-core-oscore-capable-proxies}}. In such a case, the originally outer ETag option is protected with the Group OSCORE Security Context shared between the proxy and the origin server, before transferring the message over the communication leg between the proxy and origin server.
664652

665653
\]
666654

@@ -1070,7 +1058,7 @@ The security association between the client and the proxy MUST provide message i
10701058

10711059
The security association between the client and the proxy SHOULD also provide message confidentiality. Otherwise, any further intermediaries between the two as well as any on-path passive adversaries would be able to simply access the option content, and thus learn for how long the client is willing to receive responses from the servers in the group via the proxy. This may in turn be used to perform a more efficient, selective suppression of responses from the servers.
10721060

1073-
When the client protects the unicast request sent to the proxy using OSCORE (see {{I-D.tiloca-core-oscore-capable-proxies}}) and/or (D)TLS, both message integrity and message confidentiality are achieved in the leg between the client and the proxy.
1061+
When the client protects the unicast request sent to the proxy using OSCORE (see {{I-D.ietf-core-oscore-capable-proxies}}) and/or (D)TLS, both message integrity and message confidentiality are achieved in the leg between the client and the proxy.
10741062

10751063
The same considerations above about security associations apply when a chain of proxies is used (see {{sec-proxy-chain}}), with each proxy but the last one in the chain acting as client with the next hop towards the origin servers.
10761064

@@ -1080,7 +1068,7 @@ The Response-Forwarding Option is of class U for OSCORE {{RFC8613}}. Hence, also
10801068

10811069
Since the security association between the client and the proxy provides message integrity, any further intermediaries between the two as well as any on-path active adversaries are not able to undetectably remove the Response-Forwarding Option from a forwarded server response. This ensures that the client can correctly distinguish the different responses and identify their corresponding origin server.
10821070

1083-
When the proxy protects the response forwarded back to the client using OSCORE (see {{I-D.tiloca-core-oscore-capable-proxies}}) and/or (D)TLS, message integrity is achieved in the leg between the client and the proxy.
1071+
When the proxy protects the response forwarded back to the client using OSCORE (see {{I-D.ietf-core-oscore-capable-proxies}}) and/or (D)TLS, message integrity is achieved in the leg between the client and the proxy.
10841072

10851073
The same considerations above about security associations apply when a chain of proxies is used (see {{sec-proxy-chain}}), with each proxy but the last one in the chain acting as client with the next hop towards the origin servers.
10861074

@@ -1094,15 +1082,15 @@ Altering the option content in a group request would result in the proxy replyin
10941082

10951083
The security association between the client and the proxy SHOULD also provide message confidentiality. Otherwise, any further intermediaries between the two as well as any on-path passive adversaries would be able to simply access the option content, and thus learn the rate and pattern according to which the group resource in question changes over time, as inferable from the entity values read over time.
10961084

1097-
When the client protects the unicast request sent to the proxy using OSCORE (see {{I-D.tiloca-core-oscore-capable-proxies}}) and/or (D)TLS, both message integrity and message confidentiality are achieved in the leg between the client and the proxy.
1085+
When the client protects the unicast request sent to the proxy using OSCORE (see {{I-D.ietf-core-oscore-capable-proxies}}) and/or (D)TLS, both message integrity and message confidentiality are achieved in the leg between the client and the proxy.
10981086

10991087
The same considerations above about security associations apply when a chain of proxies is used (see {{sec-proxy-chain}}), with each proxy but the last one in the chain acting as client with the next hop towards the origin servers.
11001088

11011089
When caching of Group OSCORE secured responses is enabled at the proxy, the same as defined in {{sec-proxy-caching}} applies, with respect to cache entries and the way they are maintained.
11021090

11031091
## HTTP-to-CoAP Proxies # {#sec-http-coap-proxies-sec-con}
11041092

1105-
Consistently with what is discussed in {{sec-security-considerations-client-auth}}, an HTTP client has to authenticate to the HTTP-to-CoAP proxy, and they SHOULD rely on a full-fledged pairwise secure association. This can rely on a TLS {{RFC8446}} channel as also recommended in {{Section 12.1 of RFC8613}} for when OSCORE is used with HTTP, or on a pairwise OSCORE {{RFC8613}} Security Context between the client and the proxy as defined in {{I-D.tiloca-core-oscore-capable-proxies}}.
1093+
Consistently with what is discussed in {{sec-security-considerations-client-auth}}, an HTTP client has to authenticate to the HTTP-to-CoAP proxy, and they SHOULD rely on a full-fledged pairwise secure association. This can rely on a TLS {{RFC8446}} channel as also recommended in {{Section 12.1 of RFC8613}} for when OSCORE is used with HTTP, or on a pairwise OSCORE {{RFC8613}} Security Context between the client and the proxy as defined in {{I-D.ietf-core-oscore-capable-proxies}}.
11061094

11071095
\[ TODO
11081096

@@ -1501,8 +1489,15 @@ C P S1 S2
15011489
~~~~~~~~~~~
15021490
{: #workflow-example-reverse-3 title="Workflow example with reverse-proxy standing in for only the whole group of servers, but not for each individual server"}
15031491

1492+
# Document Updates # {#sec-document-updates}
1493+
{:removeinrfc}
1494+
1495+
## Version -00 to -01 ## {#sec-00-01}
1496+
1497+
* Editorial fixes and improvements.
1498+
15041499
# Acknowledgments # {#acknowldegment}
1505-
{: numbered="no"}
1500+
{:unnumbered}
15061501

15071502
The authors sincerely thank {{{Christian Amsüss}}}, {{{Carsten Bormann}}}, {{{Rikard Höglund}}}, {{{Jim Schaad}}}, and {{{Göran Selander}}} for their comments and feedback.
15081503

0 commit comments

Comments
 (0)
Please sign in to comment.