expand the background

pull/3165/head
Hubert Chathi 6 years ago
parent b45416e8b0
commit 9d51d1e8b7

@ -4,10 +4,28 @@ Storing megolm keys serverside
Background
----------
We *optionally* let clients store a copy of their megolm inbound session keys
on the HS so that they can recover history if all devices are lost without an
explicit key export; fix UISIs; support clients with limited local storage for
keys.
A user who uses end-to-end encyrption will usually have many inbound session
keys. Users who log into new devices and want to read old messages will need a
convenient way to transfer the session keys from one device to another. While
users can currently export their keys from one device and import them to
another, this is involves several steps and may be cumbersome for many users.
Users can also share keys from one device to another, but this has several
limitations, such as the fact that key shares only share one key at a time, and
require another logged-in device to be active.
To help resolve this, we *optionally* let clients store an encrypted copy of
their megolm inbound session keys on the homeserver. Clients can keep the
backup up to date, so that users will always have the keys needed to decrypt
their conversations. The backup could be used not just for new logins, but
also to try to fix UISIs that occur after a device has logged in (as an
alternative to key sharing), or to support clients with limited local storage
for keys (clients can store old keys to the backup, and remove their local
copy, retrieving the key from the backup when needed).
To recover keys from the backup, a user will need to enter a recovery key to
decrypt the backup. The backup will be encrypted using public key
cryptography, so that any of a user's devices can back up keys without needing
the user to enter the recovery key until they need to read from the backup.
See also:

Loading…
Cancel
Save