You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: draft-romann-iotops-mud-constrained.md
+26-15Lines changed: 26 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -426,29 +426,33 @@ Regarding the actual MUD URL payload transmitted using CoAP, the following consi
426
426
- Signature Verification
427
427
-->
428
428
429
-
## Proof-of-Possession Methods {#behavior_pop}
429
+
# Proof-of-Possession Methods {#behavior_pop}
430
430
431
-
TODO
432
-
433
-
<!-- TODO mention here that the CWT must be signed by the manufacturer, while the PoP key must be owned and specific to the device -->
434
-
435
-
### Requirements for Proof-of-Possession
436
-
<!-- TODO this may also be an appendix (cf. RFC 9200, Appendix C) -->
437
-
438
-
TODO
431
+
If the CWT does not only contain the MUD URL but also an `cnf` claim,
432
+
it is RECOMMENDED that a MUD Receiver performs a proof-of-permission mechanism
433
+
to verify the binding of the token to the respective device via its private
434
+
proof-of-possession (PoP) key.
435
+
While the CWT MUST be signed by the manufacturer the PoP key must be owned by
436
+
and specific to the device.
439
437
440
-
### Proof-of-Possession using DTLS
438
+
This section details two proof-of-posession mechanisms using DTLS and OSCORE,
439
+
both of which are (with minor differences) applicable to both the
440
+
Thing-initiated and the Receiver-iniated flow.
441
+
General considerations regarding the use of PoP methods are discussed in
442
+
{{pop-requirements}}.
441
443
442
-
TODO
444
+
## Proof-of-Possession using DTLS
443
445
444
-
<!-- TODO: This is the old, original text, maybe we can reuse parts of this
446
+
TODO: Update
445
447
446
448
Proof-of-Possession claims that are transmitted over CoAP without (D)TLS MUST represent public keys, Receivers MUST treat any symmetric keys sent over insecure channels as invalid/compromised.
447
449
To do so, the following procedures SHOULD be used.
448
450
Both of the following procedures use the establishment of a DTLS session using the PoP key in order to prove the possession of the key, similarly to the procedures defined in {{!RFC9202}}.
449
451
450
452
### For the Thing-initiated Flow
451
453
454
+
TODO: Update
455
+
452
456
1. After submitting the MUD URL, the MUD Receiver parses the token.
453
457
If it detects proof-of-possession claims, the receiver MUST reply with a 4.01 (Unauthorized) CoAP response code and reject the token for now.
454
458
If the original submission request was not performed using CoAPS, the Receiver MUST also return a set of key information that can be used to establish a CoAP+DTLS session with it, as well as a CoAPS URI indicating the location of the secured submission resource.
@@ -459,16 +463,17 @@ Both of the following procedures use the establishment of a DTLS session using t
459
463
TODO do we still want to re-send the CWT?
460
464
461
465
### For the Receiver-initiated Flow
466
+
467
+
TODO: Update
468
+
462
469
1. After receiving the MUD URL from a request (e.g., a multicast request), the MUD Receiver parses the token.
463
470
If it detects proof-of-possession claims, the receiver MUST continue with the following procedure before treating the CWT as valid.
464
471
2. The receiver repeats the MUD URL request, this time using DTLS.
465
472
During the DTLS handshake, the Receiver must require the Thing to use the proof-of-possession key included in the originally received token in order to successfully establish the DTLS session.
466
473
3. After the DTLS handshake, the Thing has proven possession of the key included in the CWT to the MUD Receiver, which can then treat the CWT as valid.
467
474
TODO Unsure if DTLS even works without mutual auth, but i dont see why it shouldn't
468
475
469
-
-->
470
-
471
-
### Proof-of-Possession using OSCORE
476
+
## Proof-of-Possession using OSCORE
472
477
473
478
TODO
474
479
@@ -526,6 +531,12 @@ Network operators SHOULD specify a policy that describes:
526
531
527
532
--- back
528
533
534
+
# Requirements for Proof-of-Possession {#pop-requirements}
0 commit comments