Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.

Edit: looks like it exists, and is called Briar.



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.


The subject line is content set by the user. What are you thinking of?


Regular encrypted email relies on a certificate authority


S/MIME does. PGP doesn’t (but only serves part of S/MIME’s purpose). That said, email does rely on a central authority—DNS.


DNS isn't a central authority. Everyone selects their own DNS server. It can say whatever it wants.

This is a rare case where it's centralized in practice and yet the option to do your own thing hasn't been removed from the relevant software.


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.


DNS already supports encryption on the protocol level. And even if you can’t use DOH/DOT, you can use PGP or age or whatever in your clear text too.

  $ dig +short @<trusted_server> TXT <encrypted_content>.
  <encrypted_content_back>


In practice yes, but it's good to know the smtp rfc does support domain literals, ie user@IP.


pgp or gpg relies on you dealing with the keys.


What?


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.


It also had the side effect of having far better latency than any modern day popular video calling app can offer.


It also had the side effect of making it possibly for any of your contacts to DDoA you because they had accès to your IPv4 address through Skype.


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].

[0] https://arewep2pyet.com/

[1] https://news.ycombinator.com/item?id=23393935

[2] https://news.ycombinator.com/item?id=44898242#44898884


https://delta.chat/en/download Seems the best app (no web version)

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)

https://briarproject.org/ and https://tox.chat/ requires to install an app and doesn’t work on iOS.

Briar seems discontinued

“Latest News

AUGUST 31, 2023

Briar Desktop 0.6.0-beta released - blogs“


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.


Will be in illegal. Why risk jail?


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.


Nope. I don't have many passports and AFAIK getting citizenship is not a child's play, you can't do that on a whim.


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".


Happy to agree that these issues must be approached through institutional and legal frameworks, not through technology.


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.


If you try combat political issues mainly through technological solutions, you have already lost.


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.


> We've tried the political solutions for so long

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.


> Eureaucracy from continuously pushing authoritarian policies.

There is no "Eureaucracy", Council decides, countries may or may not implement.


Countries could face penalties if they don't implement or follow EU regulations.

https://commission.europa.eu/law/application-eu-law/implemen...


Are not governments of member states in control of Council?


Council is shadow government by elites.


What does that mean? I thought that commissioners were nominated by governments of member states. Similarly like they nominate ministers inside those states.


> stopping the Eureaucracy

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.


Exactly. Part of the tech crowd is so naive when it comes to this sort of discussions…


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.


How are they going to find someone in I2P network?


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.


> a strong multinational

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.


Besides Briar, BitTorrent used to have a client like that for a brief time: https://www.bittorrent.com/blog/2015/05/12/bleep-private-mes...


Isn't that sort of like how Tor works?


Yes but it requires exchanging public keys out of band.


You could use Granovetter introduction.

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.


Couldn’t we spend a small amount of crypto to write our public key into a blockchain to avoid the MITM threat?


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...


Same thing though, you have to give your wallet public key out of band. There's no other way to prove it's you.


Did you just recommend actually using some kind of crypto and blockchain on HN?

TLDR: That sounds like it is some kind or grift.

In all seriousness, google the Sidetree Protocol. Daniel Bruchner promoted it at Microsoft. And now we can even do zk-rollups too.

Where was I? Oh yes, some kind of grift!


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.


That's an unfortunate name for a chat app


Tox also.


Didn't Cwtch promise this? Not sure on the current state though.


BitChat from Jack Dorsey




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: