this post was submitted on 19 Mar 2025
42 points (97.7% liked)

Privacy

35800 readers
536 users here now

A place to discuss privacy and freedom in the digital world.

Privacy has become a very important issue in modern society, with companies and governments constantly abusing their power, more and more people are waking up to the importance of digital privacy.

In this community everyone is welcome to post links and discuss topics related to privacy.

Some Rules

Related communities

much thanks to @gary_host_laptop for the logo design :)

founded 5 years ago
MODERATORS
 

Here's my problem: every F(L)OSS and E2EE solution that I know of requires other people to download an app or log in.

I want to reduce the friction for others to communicate for me. I want to give a business card with a URL where people can go and immediately send messages to my Matrix or my email or something, and they don't need to log in at all.

They just open their browser, go to snek_boi.io or whatever and a chat appears.

A couple of years ago, I was suggested Cactus Comments. I suppose that works, but I was wondering if there are other solutions. I was wondering if now there was an even easier solution for my purposes.

you are viewing a single comment's thread
view the rest of the comments
[–] poVoq@slrpnk.net 4 points 1 day ago (1 children)

e2ee is not really compatible with what you want due to necessary key management, and once you drop that there are so many possible options for what you want that I don't want to list them all here.

[–] mutual_ayed@sh.itjust.works 2 points 1 day ago (1 children)

Can you expand more on the key management? I thought https://chat-e2ee-2.azurewebsites.net/ passes a PSK Through the header and sets that as a cookie in the browser to sign further comms. I could be mistaken of course.

[–] poVoq@slrpnk.net 1 points 22 hours ago (1 children)

Yes you can juryrig something like that with cookies, but it is highly fragile and browser based e2ee is basically a scam anyways as the server serving the website can always swap out the javascript that decrypts the messages.

[–] mutual_ayed@sh.itjust.works 0 points 22 hours ago (1 children)

Fragility is by design as it's ephemeral comms. Swapping the js decryption doesn't make sense as wouldn't the client just fail or refuse the message stream as the decrypt/encrypt changed? It's an interesting problem. Thanks for giving me something to noodle on.

[–] poVoq@slrpnk.net 1 points 21 hours ago (1 children)

The server can swap to a modified JS that exfiltrates the e2ee key and thus allows the server owner to decrypt the messages, or in more advanced encryption schemes add additional keys without you knowing and achieve the same thing.

[–] mutual_ayed@sh.itjust.works 1 points 21 hours ago* (last edited 21 hours ago) (1 children)

https://medium.com/sessionstack-blog/how-javascript-works-cryptography-how-to-deal-with-man-in-the-middle-mitm-attacks-bf8fc6be546c

I still don't see how

swap to a modified JS that exfiltrates the e2ee key or add additional keys

Wouldn't significantly change the recieved hash and break the stream thus ending comms. Also unless you're hosting and building it yourself you have to trust the recipient and the cloud host.

I agree if an attacker owns the server comms can be compromised. I thought that was the benefit of the ephemeral nature. It's for quick relay of information. Best practices would probably include another cypher within the messages themselves like a one time pad or some such.

https://www.itstactical.com/intellicom/tradecraft/uncrackable-diy-pencil-and-paper-encryption/

https://github.com/muke1908/chat-e2ee

[–] ganymede@lemmy.ml 2 points 19 hours ago* (last edited 15 hours ago) (1 children)

i'm trying to understand your exact scenario.

but in general, the problem is where do you get your original key, or original hash to verify from? if they are both coming from the server, along with the code which processes them, then if the server is compromised, so are you.

thankfully browsers give alot of crypto API lately (as discussed in your link)

but you still need at minimum a secure key, a hash and trusted code to verify the code the server serves you. there are ofc solutions to this problem, but if the server is unstrusted, you absolutely can't get it from them, which means you have to get it from somewhere else (that you trust).

[–] mutual_ayed@sh.itjust.works 1 points 19 hours ago (1 children)

I don't know yet. It's more a thought experiment than anything else.

https://github.com/muke1908/chat-e2ee

Looks like the URL is part of the seed and salt which is cool.

Proving who you are is done in another stream. Like MFA.

You do a one time pad, generate the URL with that. Communicate what's needed, then the URL dies.

I'm still noodling with it.

[–] ganymede@lemmy.ml 2 points 19 hours ago (1 children)

cool, sounds like you have most of the principles down.

what i didn't yet see articulated with chat-e2ee is how the actual code itself verifies itself to the user in the browser? it sounds to me like it assumes the server which serves the code is 'trusted', while the theoretically different server(s) which transmits the messages can be 'untrusted'.

[–] mutual_ayed@sh.itjust.works 1 points 19 hours ago* (last edited 19 hours ago) (1 children)

I think that's by design and the nature of the setup. Anyone with the URL can communicate.

If your other comms method is compromised this doesn't have much use. Which is a different problem all together. I think this would work great as something like a deadrop so two completely faceless people can communicate. I like it a lot.

[–] ganymede@lemmy.ml 2 points 18 hours ago (1 children)

ah fair enough. i think that was the initial confusion from myself and perhaps the other user in this discussion. i didn't realise your use cases.

it's always a fun topic to discuss and got me thinking about some new ideas :)

[–] mutual_ayed@sh.itjust.works 2 points 18 hours ago

Right?! This is why I love the Fediverse and FOSS.

Have a good night/day

Hope you find new fun ideas as well!