Is it possible to make an encrypted messenger app without a central authority? Like BitTorrent magnet links. We all share the messages to support the network bandwidth, but can only see the messages which pertain to us? From my really novice understanding of cryptography, this should be possible. And it seems like the only privacy focused solution for the future.
You can send encrypted email. That's how email already works.
You can also send encrypted messages over any other medium. You don't need the messenger app to encrypt your messages for you.
One of the common arguments that PGP is bad is that it's "inevitable" that someone will send a message in cleartext, defeating the whole purpose of encrypting your messages. I don't understand this. The fact that this is possible to do is obviously an artifact of the idea that the user should be unable to tell whether the messages they send and receive are encrypted or not. Do the encryption and decryption yourself, and this is not a mistake it's possible to make. Don't confuse the encryption, which is something you do, with the delivery, which is something the channel does. The point of encryption is that the channel can't be trusted!
You can encrypt the email content with PGP or Age, sure. However, metadata such as the Subject line, sender and receiver are in plaintext. Lavabit fixed this, but requires money. You can use i2p tools to fix this too.
If you can agree with your communication target on a common DNS server under your or their control that doesn’t respect authoritative DNS servers, and both of you can securely connect to said server, then you already have a continued, trusted communication mechanism that you may as well use for your communication. You’re just arguing a pretty pointless technicality.
> If you can agree with your communication target on a common DNS server under your or their control that doesn’t respect authoritative DNS servers, and both of you can securely connect to said server, then you already have a continued, trusted communication mechanism that you may as well use for your communication.
Why? It can easily be the case that that traffic is observable by outside parties. You'd still need to encrypt your communication.
Connecting to the DNS server "securely" doesn't really get you anything except some DOS resistance.
Once upon a time, prior to Microsoft or eBay purchasing it, this is what Skype was. It required a set of central instances to be supernodes to facilitate discovery, then each client communicated with others directly. And IIRC any client up long enough and with sufficient compute and bandwidth, could become a supernode.
Skype and iChat both did direct client-to-client communication. Skype was bought by MS, and Apple got sued by a CIA front company over iChat. The result was the same both ways: all comms started getting routed through a central server that could log metadata.
Historically, source IP was a lot more readily available. Every IRC user's source IP was visible, every UNIX login session's source IP was visible, and lots of people hosted their own websites which meant they saw your IP address there too. The implications of it used to be more like having an email address from a specific university. Skype happened relatively early in the world of online privacy.
I don't understand why obsolete technologies by MS are often upvoted on HN and become the first replies, while the corresponding working, decentralized technologies go to the bottom. Matrix exists and has a preliminary P2P version [0,1]. Other messengers were also mentioned in the comments here. Another example of such tendency is here: [2].
https://chatiwi.com/ seems to be the only real e2e encrypted chat without installling an app (can check the network and source code as it’s just JavaScript)
Yes,it is possible to create a p2p encrypted messenger without any central node. It is even possible to have a relatively good UX in it.
What's nearly impossible is to make it easy and popular among "normal users". Onboarding would be pretty involved. Adding your friends to the contact list would require jumping through a number of hoops. Having several sessions open (phone and laptop, typically) would not be trivially easy, and synchronizing between them would not be very easy, or automatic. Also, forget about push notifications.
It might be far easier to run an instance of Matrix, or whatever Jabber server, etc, on a private host, with full disk encryption, and only accessible via Wireaguard. It's not hard to set up fully automatically from an app; see how Amnezia Proxy does that.
It, of course, will have a special node (the server), but it's definitely not a public service, and it cannot be encountered by accident. It of course would be limited only to people you would invite. Should be enough for family, friends, a small project community, and other such limited circles. It would not require much tech savvy to set up.
But a grand social media kind of network, like FB or Twitter, can't be run this way, because the UX friction would inevitably be too high for a lay person to care.
Why would it be illegal, if I'm not offering it publicly? Is running a VPN between my family computers illegal? Is ssh-ing onto a host and using the talk command illegal?
I suppose only public services, advertised for new users, are the target of the "chat control" directive. You can't join pseudonymously. But joining my VPN-based chat server would require being my acquaintance; should I ask an ID from a person I met at a pub? If so, should I ask their ID before I engage in a small talk with them in the pub?
I don't trust the rhetoric or the motives. Which brings me to the following questions:
Do all of your acquaintances even use VPNs? Because 97,56% of mine don’t. So it's not about you and your friends.
But lets assume for a moment that it's about you and your friends... If this law goes through, what’s to stop them from pushing through a series of follow-up laws forcing every VPN provider include backdoors? Who’s going to stop them? Why stop them? By then, the public will have already given in. No one will care if you or your friends are sentenced to 25 years for using a “non-compliant” (read: secure) VPN. Do you have _something to hide_?
In five years, any provider without a backdoor could easily be branded as “insecure.” We’re already living in a world where words often mean the exact opposite of what they should. Why would this be any different? And from my PoV, why take the risk? Children need safe ways to communicate as much as adults.
The world has more than one country in it. People in free countries have the right and duty to create technologies to the benefit of people in authoritarian countries.
The people in the free countries don't have to physically go somewhere. You do this over the internet, e.g. writing code and publishing it for others to use.
If you live in one of the authoritarian countries and it pretends to be a democracy to a sufficient extent that voting can actually change things, try doing that. If not, your options are pretty much "apply for the passport" or "sharpen your weapons".
There are different solutions with different levels of decentralization. Briar is peer-to-peer. Matrix has servers but in a federated model, so there is no central authority but in some sense each server is an "authority" for users on that server.
Well, conversely, if you figure you have already lost anyway, why not try the technical solutions?
We've tried the political solutions for so long, but this thing just keeps coming back. We have to put our lives and day jobs on hold to push back against this, while the authoritarian camp's agenda is carried by people for whom advancing it is their day job. Therefore it costs them nothing to try over and over again, and they only need to succeed once.
I mean, we enjoy workers rights only after decades of violent protests and many deaths, and yet they are still constantly threatened, because its is a nature of power and politics.
But pro-privacy people consider writing a petition a peak of political struggle, and when it fails it is over for them.
> If you try combat political issues mainly through technological solutions, you have already lost.
This is what people say when they're afraid that technological solutions would actually work.
Technologies have a network effect. If the rest of the world is using a technology which is resistant to censorship or surveillance, any given country will have a harder time banning it, and those technologies defend against governments that violate privacy rights in secret even when the law prohibits them from doing it.
Build privacy into every internet standard and protocol. Make it seven layers deep with no single point of compromise. Make attempts to break it an exercise in futility because it's built so thick into so many things that stripping even a piece of it back out would break the whole world and still not compromise the security of the system.
Although the chance of getting a large fraction of the population to use a decentralised censorship resistant messenger is low, it's still higher than the chance of somehow stopping the Eureaucracy from continuously pushing authoritarian policies.
What does that mean? I thought that commissioners were nominated by governments of member states. Similarly like they nominate ministers inside those states.
I think that people are no mentioning enough that there is a specific country:
DENMARK
which is leading this effort. Not saying that there aren't plenty of EU bureaucrats who support Chat Control but this is not primarily some "top-down" EU thing. Its a specific subset of countries trying to impose their dystopian ideas on the entire EU.
If the EU parliament and court of justice are the main institutions that can stop this if countries like Germany etc. just rollover.
Is it really? I can think of approximately one political battle the tech crowd won (the Crypto Wars), to dozens of lost ones. Meanwhile, the battles where a strong technical solution was fielded are looking fairly good even when the political side was surrendered with nary a fight - I can still easily torrent most books and software, download scientific papers, emulate modern consoles and securely exchange data with people in any country less locked down than North Korea.
The cliché about how you should not approach political problems with technical solutions is recited all the time in these threads, but nobody ever presents evidence for this claim. It seems like a meme that is disproportionately useful for those who are confident in their abilities to win any political contest.
> I can still easily torrent most books and software, download scientific papers, emulate modern consoles and securely exchange data with people in any country less locked down than North Korea
You can also go to jail for any of the above, should your particular government authority decide to throw the book at you.
Technical capability is necessary, but rarely sufficient.
First off, not everyone is using I2P to hide their torrenting. If they were, I'm pretty sure we'd have to worry about a well-funded actor (like the RIAA of old) flooding the network with new nodes to be able to expose users.
It's instructive to read the I2P threat model, https://geti2p.net/en/docs/how/threat-model, as it details a number of potential attacks within reach of a large corporate or state-level adversary
Maybe https://delta.chat/en/ : completely decentralized as based on email infrastructure, e2e encryption, easy registration without providing personal data.
You have a spectrum of options going from centralised (Signal, WhatsApp, …) to federated (XMPP, Matrix) to P2P.
In my opinion, federated is the sweet spot: you do have to trust the server with your account management, but that server can easily be yours, or one you ethically align with, and through it, you will be able to talk with anyone on the network.
P2P sounds great on the surface but in a mobile-first messenging world, that comes with practical tradeoffs in bandwidth and battery consumption, unless you offload discovery and push to trusted servers, at which point you are back to federation with more steps.
The problem I see with decentralized protocols is that node owners can easily be spotted, and then crushed under legal constraints that will make them more insecure than a strong multinational who's there just for profit and can balance legal fight for a relative privacy with it's own interest in protecting its customers.
Don't you think that it makes them obvious high-value targets? I mean, that's not even like this profusely pragmatic take has no precedent in the real world: the Snowden revelations showed that all major tech companies were in bed with the NSA to spy extrajudicially on everyone. It's a leap of optimism to think they would "fight legally for its own interest in protecting its customers".
Then, compare that to the low-scale/low-value/hobbyist/residential service providers. How high do you think the chances are for a malicious state-actor to "corrupt" many service operators without it widely being known and publicly dealt with? There's also a deniability dimension to this: XMPP uses OMEMO as a zero-knowledge encryption scheme: whatever the users are doing is none of the operator's business, and the choice of encryption scheme and implementation is purely a client-side affair, so now you are no longer dealing with "reluctant" operators, but potentially millions of end-users using strong encryption. And that is assuming the server is operating in the open, but nothing prevents service operators from offering it over tor (with very little impact on the end-user-side), further raising the bar for the malicious state actor.
If I know Marisa's public key and Marisa knows Omar's public key, she can sign a message to me saying, "Omar's public key hash is c2ecc3b9b9eb94dcafe228f8d23b1e798597d526358177c95effa6bc0ded3a35". I can then use that key hash to authenticate messages from "Marisa's Omar". If she gives Omar mine too, he and I can set up a private channel without further involving Marisa.
Hopefully we aren't just talking to Marisa's MitM proxy. If other mutuals also know him as "Omar" then I can ask them for his key too, and if I get the same response, I can have more confidence that Marisa isn't playing that trick on us.
Never total confidence, though. You need some way to bootstrap a non-MitMed connection; no evidence can ever prove conclusively that you aren't a Boltzmann brain floating in the post-heat-death void, or Descartes being tricked by his evil demon that controls all his perceptions, or Neo in the Matrix.
But meeting up with one of your friends in person once to exchange either public keys or a shared secret, even before you start using the system, can go a long way to ensuring that you are all actually enjoying privacy.
actually though? storing a very small but important info (public keys, domain ownership and such) would have been a perfect use case, which also keeps the chain small...
The new version of Bitchat (from Jack Dorsey) is interesting: it's a chat over BLE mesh, but says that it'll continue the chat on the nostr infrastructure if two (in principle anonymous) participants fave each other in the app. Haven't had able to try this out yet.
Edit: looks like it exists, and is called Briar.