0
$\begingroup$

E2EE promises that data sending between two endpoints can be decrypted by only those two endpoints. If an app offers E2EE but still has functions to retrieve private keys from users for any purposes such as for multi-device sync, is that considered acceptable as the app owner can get the private keys from the users and decrypt user messages when they need as the app resides on the user devices has the functions for retrieving user private key which could be invoked for other purposes such as for legal execution ?

$\endgroup$
  • 2
    $\begingroup$ No. It is not acceptable. How do you prove that you are the app owner ? Someone could fake you and break the confidentiality of E2EE. Thus it is also dangerous. $\endgroup$ – Biv Feb 8 '18 at 9:01
  • 1
    $\begingroup$ The principle of golden key is rotten to its core. $\endgroup$ – Biv Feb 8 '18 at 9:01
3
$\begingroup$

Is it generally considered acceptable for app owners to be able to retrieve private keys from users when their apps offer end-to-end encryption?

No, it's not acceptable if the app providing service can actually access/read your raw keys.

As a result, the main question should actually be: are device-specific keys synced/exchanged between devices in an E2EE way, so that the app's servers only see encrypted data packages instead of raw, unencrypted keys?

The answer will depend on the individual app and how the app provider implemented things. (In the end, this is why I personally prefer open-source solutions, as they allow me to verify all the things that go on "behind the screens" in the sourcecode.)

One thing is clear: if things like key sync are not end-to-end encrypted, the app should not be advertised as having such cryptographic protection. Keys are secrets, and should be treated/handled as such.

Yet, it should be noted that there are benign apps out there that do it correctly, so there is no satisfying one-fits-all answer to this.

| improve this answer | |
$\endgroup$
3
$\begingroup$

If you define E2EE as the promise "that data sending between two endpoints can be decrypted by only those two endpoints", then by definition, if the app owner can decrypt, what you have is not E2EE and you shouldn't advertise it as such.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.