Comment on Lawsuit Alleges That WhatsApp Has No End-to-End Encryption
theherk@lemmy.world 16 hours agoSorry but you’ll need to hold the L on this one. If I encrypt a message with public key material for which the only private key material that can decrypt the message is in only my possession, it doesn’t matter if the message passes centralized servers.
I’m not trying to be rude, that’s just how it works.
RIotingPacifist@lemmy.world 16 hours ago
People not understanding how security threats actually work is why everything is so broken these days.
If you do it by hand sure.
If you put the message into an app then the app is trusted to not leak the message. What is described in the article is that Whatsapp can instruct clients to send a copies of the message from the app to their server.
There is nothing stopping any messaging app doing this, having decentralized servers and 3rd party clients wouldn’t stop this but it would make it much easier to protect yourself from the attack.
floofloof@lemmy.ca 15 hours ago
Your threat model seems to be an app whose published source code doesn’t match the published app, and whose published version uses a side channel not in the source code to leak messages in plaintext to a server. If that’s what we’re worried about then decentralization of the app’s main messaging channel makes no difference. The sneaky side channel could still be there in any app, centralised or decentralized.
That’s a theoretical worry to be mitigated through integrity checks on published open-source apps. The worry with Meta and WhatsApp is much more immediate: a known bad actor with a closed-source app, many domains they could use to leak keys or unencrypted messages, and a fawning relationship with the fascist and surveillance-hungry US Government. I’d still put significantly more trust in Signal even though it is centralised.
RIotingPacifist@lemmy.world 15 hours ago
You’re right decentralization would help because you could isolate yourself from the corporate server sending the instructions for you to leak the messages.
But ultimately you’re right integrity checks of apps are a better way to address this and fortunately it seems Signal do produce reproducible builds. github.com/signalapp/Signal-Android/…/README.md so is secure from this kind of attack (unless there is a backdoor in the published code)
clean_anion@programming.dev 15 hours ago
Even in an “insecure” app without air-gapped systems or manual encryption, creating a backdoor to access plaintext messages is still very difficult if the app is well audited, open source, and encrypts messages with the recipient’s public key or a symmetric key before sending ciphertext to a third-party server.
If you trust the client-side implementation and the mathematics behind the symmetric and asymmetric algorithms, messages remains secure even if the centralized server is compromised. The client-side implementation can be verified by inspecting the source code if the app is open source and the device is trusted (for example, there is no ring-zero vulnerability).
The key exchange itself remains somewhat vulnerable if there is no other secure channel to verify that the correct public keys were exchanged. However, once the public keys have been correctly exchanged, the communication is secure.
RIotingPacifist@lemmy.world 14 hours ago
Well audited is key, this attack likely works by doing something like adding Meta to the list of trusted devices, then hiding itself from the list (either because of code in the client or because it the meta device is only added for a moment), so the backdoor wouldn’t be send_all_messages_to_hq(), it would be in the code to list trusted devices, either explicitly hiding some devices or some sort of refresh timer that’s known so you can avoid being there when the UI is updated).
Or it works through the some other mechanism that still preserves E2E encryption.
clean_anion@programming.dev 14 hours ago
I assumed that not only the entire app but also the entire client device had been audited. This was a client-side attack, not Meta momentarily adding itself to the trusted-device list. I’m confident it was a client-side attack because it would be impossible to hide even a momentary change in keys from the client without modifying the client app to conceal such a change.
theherk@lemmy.world 15 hours ago
I’m not following. In the WhatsApp case, yes, because we can’t see how those keys are managed. In the Signal case, we can. So the centralized server has zero impact on the privacy of the message. If we trust the keys are possessed only by the generating device, then how does the encrypted message become compromised?
I’m not talking about anonymity, only message privacy. No different than any of the other proxies or routers along the way. If they don’t have the key, the message is not readable.
wonderingwanderer@sopuli.xyz 15 hours ago
Now I’m curious: how does the person you’re messaging get the same key to decrypt the message you send?
I’m genuinely curious.
theherk@lemmy.world 15 hours ago
They share it with you. Their public key is generated by them. You encrypt a message to them with their public key. They use their private key to decrypt it.
RIotingPacifist@lemmy.world 15 hours ago
The centralized server is only important because it sends you the message to get around the encryption (either adding a new client to your list of trusted clients or in some other way getting your client to send your messages to Meta).
Because the client is capable of adding the backdoor, it isn’t comprosing the encryption. When you add a desktop client to your Signal account it doesn’t break E2E encryption either but your messages are visible in more places. That (or something like it) is what is being described, Meta aren’t decryption your messages as they go through their E2E network, they are tapping them client side.