5 ms·
If you have true e2ee, you can't enter your login/password and see all your chats right there, instantly.
by Andrew_nenakhov 5y ago
If you have true e2ee, you can't enter your login/password and see all your chats right there, instantly.
- piaste 5y agoAre you sure? You can do what good password managers do: - Hash the password client-side - Send the hash to the server. The server treats it as a password, and gives you your blob of encrypted data - Decrypt the data client-side using the original password
- Andrew_nenakhov 5y agoThat requires re-encoding all transmitted data with a single password and is potentially vulnerable to brute-force attacks. Encryption used in signal, etc relies on double ratchet mechanism that continuously regenerates keys as they move along. This way one compromised key will not allow to decode the rest of the messages. Also, downloading blob to client side and decoding it locally can hardly be done fast enough for user to consider it 'instantly'.
- piaste 5y ago> That requires re-encoding all transmitted data with a single password and is potentially vulnerable to brute-force attacks. Encryption used in signal, etc relies on double ratchet mechanism that continuously regenerates keys as they move along. This way one compromised key will not allow to decode the rest of the messages. That's a different, further goalpost - we were talking about E2E encryption, weren't we? I.e. the server should not need to decrypt your data to provide it. Obviously if you want to be able to recover your history from storage with just a password, that does mean the password is the only protection over that history, tautology. So storing your history should be optional, if you're seriously worried about brute-force attacks on data encrypted at rest (indeed, even WhatsApp makes it optional to have a backup of your data!). In any case, that doesn't compromise future secrecy - i.e. gaining access to the history still doesn't give you access to future messages. > Also, downloading blob to client side and decoding it locally can hardly be done fast enough for user to consider it 'instantly'. Off the top of my head, it doesn't have to be a single blob for all your data. You could split the blob into tiny equal-sized chunks, and then have a separate encrypted index file which stores the information of which chunks hold which chats (plus just enough metadata, e.g. chat titles and last messages, to display your homepage properly). The index file is the only one downloaded on first login, then when you want to open a chat it moves the corresponding chunks to the top of the download list.
- Andrew_nenakhov 5y ago> we were talking about E2E encryption, weren't we? Exactly, and what is described is not e2ee at all.
- piaste 5y agoHow is it not E2EE? Are you going by a stricter definition than commonly used? > End-to-end encryption (E2EE) is a system of communication where only the communicating users can read the messages. [..] End-to-end encryption is intended to prevent data being read or secretly modified, other than by the true sender and recipient(s). The messages are encrypted by the sender but the third party does not have a means to decrypt them, and stores them encrypted. The recipients retrieve the encrypted data and decrypt it themselves. Which requirement do you believe is failed by such a system?
- Andrew_nenakhov 5y agoIt is incorrect to refer to encrypted backups as e2ee. See the wikipedia article on the subject [0], at the bottom of the "Modern usage" section. [0] https://en.wikipedia.org/wiki/End-to-end_encryption https://en.wikipedia.org/wiki/End-to-end_encryption
- GoblinSlayer 5y agoThe wording there has no effect on security, it's semantics. E2EE being an application of client-side encryption for messaging.
- piaste 5y ago> Some encrypted backup and file sharing services provide client-side encryption. The encryption they offer is here not referred to as end-to-end encryption, because the services are not meant for sharing messages between users[further explanation needed]. However, the term "end-to-end encryption" is sometimes incorrectly used to describe client-side encryption.[23] This is reasonable, but it's not describing any weakness of encrypted backups. It merely points out that "E2E" isn't the right term to use when there are not two E[nds], but rather only one client and their files. However, our conversation was about storing chat history. There are two parties to the conversation in that case. The key property of E2E is that only those parties can read those messages, and nobody else, in particular not the agents running the server. That property is not affected by the existence of backups, as long as those backups are client-side encrypted, because third parties cannot access them. Therefore, it is possible to have both cloud-stored chat histories and true E2EE. QED.
- GoblinSlayer 5y agoMost of that time is spent on downloading the data, which you have to do with any synchronization.
- gefhfffh 5y agoThis is wrong, see Element/Matrix, which practically does that
- Andrew_nenakhov 5y agoOk. After all, what do I know about encryption? I only directed the development of communication products that had OTR, OMEMO and PGP/GPG encryption in them. Please, enlighten me how exactly Element/Matrix practically do that. Thank you in advance.
- gefhfffh 5y agoIt backups your keys encrypted with a password only you know at server side (opt in) When you login, you provide that password, and Element can use that to decrypt the keys and use these to decrypt the messages stored in the cloud Alternatively, you can solely rely on syncing keys between verified devices.
- Andrew_nenakhov 5y agoThat is not 'true e2ee' at all, and more of a security theater.
- gefhfffh 5y agoHow is that? Only you as a recipient can decrypt the messages, because they are sent e2ee to you. And this stays true if you use the backup, as only you know that password.
- Andrew_nenakhov 5y agoEncrypted backups are just that, encrypted backups. They are called end-to-end encrypted backups only by people who are ignorant of correct terminology. Even the Wikipedia entry on e2ee addresses this. Regarding the security theater, the backups encrypted with your password are far more vulnerable to being compromised than any of the popular e2e encryption protocols. But then again, most users do not need real security, they are fine with a warm comforting feeling of safety, provided by a sincere promise that everything is really safe, as demonstrated by Telegram users.