Closed rikard-sics closed 1 year ago
Point 1 is done in this commit, and the already existing text in that paragraph: e255aa129aedeaa66473b0b40a8b913888b4bd1a
Point 0 already done in existing text: https://core-wg.github.io/oscore-key-update/draft-ietf-core-oscore-key-update.html#section-3.3
Once a peer acting as initiator (responder) has sent (received) the first KUDOS message, that peer MUST NOT send a non KUDOS message to the other peer, until having completed the key update process on its side.
0: Don't send non-KUDOS messages while KUDOS running.
1: An outgoing non-KUDOS message is always protected with the most recent security context.
2: Client must be ready to receive responses protected with key material different than that used to protect the corresponding request. This is the case if KUDOS is ran in between a request a corresponding response. For client-initiated KUDOS this can happen where the responses are observe notifications. For the server-initiated version, this can happen if the client uses NSTART > 1 and one of the requests results to be a KUDOS trigger. While the other requests would be server later by the server (after KUDOS) is done.
3: "Stuck-party": This can happen when the server-initiated version of KUDOS is used. Client is client-only, and only sending NON requests (not expecting a response). In this case the client never listens for responses, and thus doesn't get (process) KUDOS message #1 from the server. So rekeying can never start. To avoid this deadlock we can say that every X messages should listen for a response, or be CON.