element-hq / element-android

A Matrix collaboration client for Android.
https://element.io/
GNU Affero General Public License v3.0
3.39k stars 731 forks source link

Confused by new Secure Backup feature #2024

Open matthijskooijman opened 4 years ago

matthijskooijman commented 4 years ago

Describe the bug In the past, I've set up "Key Backup", which AFAIU stores my encryption keys for rooms on my homeserver, encrypted using a specific passphrase (distinct from my login password) that I can enter when I set up a new device. I've also understood that "verifying" a new login from another device allows it to share keys (though I'm not sure if it can then access the key backup storage, or just request keys from other logged in clients).

I recently upgraded from RiotX to the new Element, and noticed a new "Secure Backup" section in the privacy settings. Some googling suggest that "Secure backup" is not the same as "Key backup". However, things are a bit confusing to me:

I also Googled around for documentation, but mostly found GH issues and pullrequest from the iOS app, nothing that actually explains how this works. Maybe "Key Backup" is the older passphrase-based backup and "Secure backup" is the newer verification-based backup (or maybe just key sharing? That would not be a real backup, since key sharing does not help if all your clients are lost)?

Ideally, the UI in the app itself would offer sufficient explanation for users to make the right choices and not be confused like I am now.

Screenshots

Smartphone (please complete the following information):

Additional context

BillCarsonFr commented 4 years ago

KeyBackup: Is a mechanism to keep an auto-updating server backup of your encrypted room keys (megolm key)

Secure Backup (a.k.a 4S): Is a generic feature to store any kind of secrets on the server (a vault)

For history, before KeyBackup you had to manually export your keys to restore your account for desperate cases (like device lost). And you had to save it periodically in order to have a recent backup. Now with keybackup, it's automatic it will safely upload keys as you get them to the backup.

Regarding 4S, recently cross-signing has been introduced, and with that we have added a couple of new secrets that are only on your device; 4S was introduced to allow you to save a secured server backup that contains those secrets (to recover fom disasters)

The introduction of 4S was the opportunity to save also your KeyBackup secret key in it!

js-dot commented 4 years ago

@BillCarsonFr Correct me if I am wrong. In May 2020 cross-signing with SSSS, etc. has been released. As far as I remember the UI looked like this:

image

We can see Cross-Signing and Secret Storage down below but also Key Backup in the middle.

I set up Key backup also in May 2020. The UI lead me believe that this was not the old Key Backup but the "new" one using SSSS. After all, Key Backup was set up correctly.

Since some days / weeks (I can't say) I have the same issues as @matthijskooijman (new "Secure Backup" section, not being able to set it up, etc.; I read in another issue that this might be related to some missing key locally and other clients not sharing all secrets).

Can you maybe clarify this, too?