-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restoring a phone (or browser tab) from backup will break Olm if the other device still exists. #3822
Comments
Not sure what the best mitigation is here other than user education. |
The concern is less about having two devices trying to respond simultaneously (which would be a problem, but doesn't happen with a simple backup/restore), but that a backup/restore rolls back the olm session state, making it useless. The main mitigation is (as per Sesame which considers this scenario) allowing devices to start a new session - and then allowing the user to actually do so (possibly with some sort of Panic button). |
The conclusion on this as of today is that we should do this: the caveat is that we lose the trust established by having the shared ratchet state, falling back to the trust from the identity keys, so if somehow the device identity keys were compromised but not the ratchet state, this would allow the attacker to intercept messages. I'm struggling to imagine a situation where this would be the case though. This will involve implementing matrix-org/matrix-spec-proposals#1596 Convo: https://matrix.to/#/!uewiilduiDRfPomIha:matrix.org/$1540918172317069dhnme:matrix.org |
Implements matrix-org/matrix-spec-proposals#1596 For element-hq/element-web#3822 Requires matrix-org/olm-backup#77 (+release)
My current plan for this goes as follows:
I'll probably do the first two items now and leave the rest for another time |
* Start a new Olm sessions with a device when we get an undecryptable message on it. * Send a dummy message on that sessions such that the other end knows about it. * Re-send any outstanding keyshare requests for that device. Also includes a unit test for megolm that isn't very related but came out as a result anyway. Includes #776 Fixes element-hq/element-web#3822
The solution for this ended up being matrix-org/matrix-spec-proposals#1719 (ie. rather than most of the checkboxes above) |
@dbkr, should this still be on the workflow board as In Test? It sounds like a different approach was taken...? |
Ah, or maybe it's fixed by matrix-org/matrix-js-sdk#780, which is linked from matrix-org/matrix-spec-proposals#1719. |
the Double Ratchet is strictly 1:1 device, and if you have two devices trying to respond simultaneously everything will break, causing UISIs.
The text was updated successfully, but these errors were encountered: