Comment on Looking for a chat app with specific requirements
litchralee@sh.itjust.works 1 week agoI think Signal tries to be E2EE but has other problems, including that MLS (the E2EE mechanism) inherently requires a client app instead of being usable with just a browser.
I’m having trouble imagining what in Signal’s implementation of the Double Ratchet, or any part of RFC9420 Message Layer Security, would inherently require a client app. Perhaps you mean that there is no readily available browser-implemented API for carefully managing secrets? Even in that situation, all the libraries needed to implement the RFC can be compiled as WebAssembly or to JavaScript (with the assumption that the browser and OS are outside a malicious actor’s capabilities) and ran that way.
To be clear, I’m not suggesting Signal is perfect, and papers about problems found in Signal and other apps are readily found, like this one from last month. But with that said, it does appear that OP’s described use-case involving hundreds of users in group chats is very much not what Signal was designed for,.
solrize@lemmy.ml 1 week ago
Maybe you’re right and you could implement something like MLS in JS and/or WASM. I don’t know if those can open raw socket connections instead of using websockets. You’d need a raw socket connection to interoperate with other apps like Signal, but with websockets you could implement similar functionality non-interoperably, maybe even using a server side proxy to route to a Signal server (the proxy would never see plaintext).
There’s still the matter of making sure that the JS or WASM download isn’t tampered with. You have to trust the server that send it to you, which is in conflict with the E2EE notion of not trusting the server. There could possibly be a MITM attack by someone with a signed TLS certificate. Worst is if it’s served from a CDN. CDN’s have alway seemed to me like supply chain attacks waiting to happen.