matrix-org / matrix-org/matrix-spec
4S Secrets should be sent as part of the device verification exchange, not afterwards
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 330
- Forks
- 150
- Avg merge
- 2h 21m
- Merged PRs (30d)
- 3
Description
Suppose a user has two devices, A and B. A is already verified and has access to the 4S secrets (private cross-signing keys, backup decryption key, etc).
Currently, if you perform an interactive verification between the devices, then once verification is complete, B must request the secrets from A, and wait for A to send them. This is problematic because the verification process isn't really "complete" until those secrets have been received, yet we may have to wait an unbounded amount of time for them to arrive.
(B must also wait for A's cross-signature to propagate: again this can take an unbounded amount of time.)
It would be much more robust if:
- B indicated which secrets it expects early in the verification exchange (possibly even indicating the public keys), so that we can warn the user early on if some secrets are going to be missing
- A sent the secrets within the verification exchange itself (part of the
donemessage?)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or specification sections. Start by locating the interactive verification exchange and existing 4S secret-sharing flow in the Matrix specification; define the request and response semantics, including missing secrets, and document clear completion criteria.
Written by the indexing model from the issue text.
Assessment
- Domain
- cryptography, security
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100