Ecryption key ratcheting dev tools #3214
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This sets the ratchedWindowSize to >0 so the livekit client will try to ratchet keys before logging a unable to decrypt error.
It also exposes a ratchet button in the developer ui. Clients that do not support the ratched window > 0 will fail to decrypt once that button is pressed.
Supporting clients will jump to the next index.
This is a first step to support ratcheting and explore how it would work.
Since this just improves our devtools with a potentially helpful feature, we can consider merging it even though its mostly intended as a test.
A finding is, that the key material is
extractable: false
so we need to see if there is a solution how we could send the derived keys from the ratcheting to new joiners if we cannot extract it from the matrerial...