How WhatsApp is enabling end-to-end encrypted backups
engineering.fb.com
engineering.fb.com
The password option is not really what I would call end-to-end encrypted. This is only as secure as a dictionary attack on users passwords so in practice it looks to be trivially crackable should the FBI etc get a copy of the users “encrypted” data in the key vault + their logs from the cloud storage provider.
The backups need to be recoverable just from the server and a new phone. Your adversaries can just directly copy all data.
Picture this: Copy my backup of the server to a new VM, run that, try N passwords, repeat step 1. Of course they can also just modify the software running on the VM.
I think this is similar to how Google encrypts your backups.
Is this standard practice for HSM? It seems to give hackers the ability to maliciously delete the users key and thereby effectively delete the users data.
If the password verification attempts are passed through directly to the HSM, then yes, this is standard.
The user, as far as I can tell at least on Android, currently has no viable option besides uploading their messages, unencrypted, to Google.
You have to hit the backup button, and hope it finishes and sends everything to Google before you get a new messages from anyone. If you do get a messages, press backup and try again (or just lose that message).
Recently I had the misfortune of trying to transfer WhatsApp from a phone that took 22 hours to finish each backup - so there was no other option except lose messages.
And if your phone is dead, you are all but guaranteed to lose messages, since it uses the last backup.
It gets worse - if you delete photos from your WhatsApp storage, WhatsApp does not delete them from the Google backup. If you do this for long enough you can end up with a Google backup too large to restore to any phone (or at least too large to fit in your current phone - I guess you could buy a 256GB model).
You have to delete the Google backup every once in a while, and then quickly backup again (which takes hours or days, since it has to re-upload every single photo and video you have).
All WhatsApp needs to do to fix this is: a: continuous backups - you get a message, it saves that message to google, or b: save at least 1 month worth of old messages, so that it has them in case you need to restore from an old backup. (It could prune old message every time you finish a backup.)
And don't get me started on the misery that is losing your phone, or it breaks, and you are without a phone for a little while - you have zero options of getting messages. At least with SMS you could put the SIM card in a loaner phone, but WhatsApp probably won't fit in some cheap phone without much storage.
I hate WhatsApp with a passion, and I wish it didn't exist - but I have no choice but to use it, since all my contacts don't even seem to understand what a regular text even is.
And I can guarantee that this encrypted backup with cause lots and lots of people to lose their messages.