- Notifications
You must be signed in to change notification settings - Fork 17
Closed
Labels
Description
Prototype to flesh out ideas for #39
The plan is to implement in matrix-sdk-crypto + multiverse (or switch to EW if that is a problem).
For the prototype we will have these caveats:
- save a key bundle into a single encrypted media file
- ignore the need to delete the file after use.
- initially, ignore races e.g. new messages arriving while we are preparing
The prototype will help us answer these questions:
- Does the idea basically work?
- Does the invitation event need to change?
- What if new messages are sent after creating the media file?
- Are there other races?
- Is it fast enough? Do I get the keys I care about in a reasonable time?
- We should revisit our list of caveats with MSC3061 and check that they are addressed
Tasks
- Encrypted history sharing: design "key bundle" format #2688
- Encrypted history sharing: design to-device message format #2689
- crypto: Add support for building a bundle of room keys, for sharing with other users matrix-org/matrix-rust-sdk#4504
- Encrypted history sharing: encrypt, upload and share keys to encrypted media blob matrix-org/matrix-rust-sdk#4505
- multiverse: support verifying the multiverse client device matrix-org/matrix-rust-sdk#4508
- multiverse: support sending room invites to other users matrix-org/matrix-rust-sdk#4509
- multiverse: support accepting room invites from other users matrix-org/matrix-rust-sdk#4510
- Encrypted history sharing: hook up share & upload to sending room invites matrix-org/matrix-rust-sdk#4511
- Encrypted history sharing: receive to-device messages and stash data somewhere matrix-org/matrix-rust-sdk#4512
- Encrypted history sharing: download and import keys from encrypted key blob matrix-org/matrix-rust-sdk#4513
- Encrypted history sharing: when I am in a room for which I have received details of a key bundle, trigger a download and import matrix-org/matrix-rust-sdk#4514
- History sharing: handle the key bundle arriving *after* the invite matrix-org/matrix-rust-sdk#4926
- Test out the prototype, and check that it addresses the MSC3061 caveats