commit 811d0156c59c4acf6ee7e4c451aad249853b14b5
parent 781565d4f265d8a44fdec054c917e698e7871d2c
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Wed, 13 Nov 2024 11:19:02 +0100
add servicesinfo to keyupdate
Diffstat:
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/draft-schanzen-cake.xml b/draft-schanzen-cake.xml
@@ -478,20 +478,24 @@ nonce = HKDF-Expand ([I,R][A,H]TS, "iv", 12)
The KeyUpdate message is a simple MessageHeader with type <tt>CORE_KEY_UPDATE</tt>
followed by a UpdateRequested indicator.
It is always a payload inside an EncryptedMessage.
- This means that for every received EncryptedMessage where the payload is
- the size of a KeyUpdate, the peer <bcp14>MUST</bcp14> check if this is
- a KeyUpdate.
+ This means that for every received EncryptedMessage
+ the peer <bcp14>MUST</bcp14> check if this is a KeyUpdate.
A KeyUpdate message indicates that the sender has switched its traffic secrets
according to the key schedule in <xref target="key_schedule"/>.
- If any bit in the UpdateRequested field is set, this means that the receiver
+ If any bit in the first byte of the UpdateRequested field is set, this means that the receiver
of the KeyUpdate <bcp14>MUST</bcp14> send its own KeyUpdate message.
+ Any bytes following the UpdateRequested field are updated ServicesInfo (<xref target="svcinfo"/>).
+ ServicesInfo updates are optional.
+ <!-- TODO: Incremental or full ServicesInfo -->
</t>
<figure anchor="figure_keyupdate_msg" title="The Wire Format of the EncryptedMessage header.">
<artwork name="" type="" align="left" alt=""><![CDATA[
0 8 16 24 32
+-----+-----+-----+-----+
-| UpdateRequested |
+| UpdateRequested |
+-----+-----+-----+-----+
+| ServicesInfo /
+/ /
]]></artwork>
</figure>
</section>