Every time you hear about something like this or read an article about something like this you have to slow down for a moment and realize that we brought this on ourselves. The original intent of the internet was peer to peer, not global centralized services that we all connect to.
There is no technical reason why something like whatsapp can't be peer-to-peer. Choosing for a centralized service is implicitly choosing for giving the powers that be the opportunity to massively listen in on our various modes of conversation, to figure out your 'graph' and/or to allow censorship.
An old quote has that the internet sees censorship as a routing problem and will route around the break. But that only works if we explicitly refuse to allow centralized services.
Serious question: how would you decentralize something like a messaging app? Don't you need /something/ to facilitate routing? Or do you use some kind of public-private key encryption on a blockchain? But then how do you get someone's public key if they're offline? And why would you want to store a blockchain of everyone's encrypted messages? To get around that, you'd end up with some centralized server storing the whole blockchain and you only receiving yours? But then you're back at the problem Bitcoin has: You want a decentralized blockchain, but people don't want to store 73,745 megabytes[0] of other people's transactions they don't care about. Bittorrent's DHT system still relies on a few "kickstart" servers to send you a list of peers who can send you a list of peers...
In regards to decentralizing something like a messaging app, there are a couple interesting approaches.
1) Have "tracker" servers set up around the world. The App needs to know at least one of the IPs, preferably all, in order to get a list of Peers it can connect to. This is still considered "decentralized" so long as none of the "trackers" is considered a "master" over the others.
2) Have UserA manually enter the IP of another UserB. Then, UserB tells UserA all of the Peers it knows about, which UserA will then connect to, and so on and so forth. This approach can quickly get out of hand unless there is some sort of limit on how many peers a User can be connected to at once. That's up to the developer (or possibly user) to decide.
Theoretically, as long as one Peer is alive and doesn't forget the list of other Peers it has been told of, the network will never completely shut down. Even if it does, however, the network can "start back up" again, but there may be cases of "subnets" within the P2P network if no peers from one subnet ever know of peers from another subnet.
In regards to the actual chat functionality, it's very simple. As long as you can preserve consistency between peers (which is its own subject), it's relatively easy to have each Peer keep a copy of the current chat. Even if the chat is between >2 Peers.
There are intricacies to this, but it's not actually that difficult. It's a lot more complicated to design, but once the groundwork has been laid, it can sustain itself for the most part.
> 1) Have "tracker" servers set up around the world. The App needs to know at least one of the IPs, preferably all, in order to get a list of Peers it can connect to. This is still considered "decentralized" so long as none of the "trackers" is considered a "master" over the others.
How is that not decentralized? I really don't see how. You'd need /someone/ to maintain that list of tracker serves.
One thing I don't like about most modern decentralised chat services is their main concern seems to making something perfectly secure and private. I agree that's a good goal to have, but right now I'd just like something decentralised and open source, as simple to use as Whatsapp, that isn't owned/controlled by a single megacorp.
Bitmessage https://bitmessage.org/ no blockchain, though, just relatively short-lived messages, works pretty decentralized (though it is still sort of solution in search of a problem, even if I'm using it myself for a long time - nothing useful, mind you)
Which are what XMPP and Matrix do. Both have username / server routing and for Matrix at least history propagates between participant host servers.
Or you go the Tox / Ring route with a DHT of users and cut out the server alltogether, but the server part is pretty much always necessary for "pretty usernames". Tox has been basically dead in the water for quite some time because they have no effective DNS for users that is universal to all the Tox apps with multiple competing implementations.
My personal takeaway is that if you are going to have a server you should take full advantage of it like Matrix does, because Matrix mobile clients can be push-notify based and not need to always be online to get messages (though Tox et al have ways around that, they are all dependent on storing messages locally to the destination in the DHT, and most users do not want to have to cache other peoples messages).
But how do you know who to pass around to? Email works by looking up an IP address from the DNS. Sure DNS is distributed, but it all is "centralized" around the 7 root DNS servers.
As I said in my original post, it sounds similar to how Bittorrent's DHT works; you'd still need a "kickstart" server to send you a list of peers. Sure, you can hardcode a list of peers, but hardcoded stuff isn't decentralized. Someone has to maintain that list.
I don't think the "original intent" of the internet is being used as an argument here. He's just pointing it out to back up his actual argument which is "we brought this on ourselves."
Also what's the matter with using intent in arguments?
The issue is that people want to use things backed by a slick marketing campaign. This is why we have Slack instead of IRC, Facebook instead of talking to your friends the old fashioned way, etc.
Consider in order to have offline history I'm logged in permanently via. tmux session on a server which I connect to with Mosh. Weechat is a barely okay client (totally not suitable for non-technical users and Mosh still has significant delay).
What do you expect the non-engineering part of the company to do?
> We have slack instead of IRC, because IRC sucks.
Just the other day, a friend created a Slack channel (or whatever it's called) for a group of friends to plan a trip, and then promptly set up an IRC tunnel so he wouldn't have to use it. :-)
I don't have an opinion myself; I just find it to be amusing.
I found it interesting that a "right-to-information (RTI)" activist would be against encryption, calling national security reasons. It seems RTI is the Indian version of FOIA (https://en.wikipedia.org/wiki/Right_to_Information_Act,_2005) which confuses me even more - how are those connected?
I could kind of see how the plaintext communication makes bribery and similar things harder (which is what RTI should prevent), but if that's the reasoning it seems to be really backwards.
No, there's no relation between RTI and what he's doing. An 'RTI activist' is common term used in India for people who write formal RTI requests to various departments of government to legally force them to shell out information (for public good) which is otherwise hard to find or they are unwilling to give. There have been cases of corrupt politicians/govt employees getting the 'RTI activists' murdered, so you can imagine the importance of it. This petition just means he is doing another act of what he thinks is important for public welfare.
One of the arguments against mass surveillance is that it is blatant intrusion of privacy, and hence it should not exist.
On the other hand, the arguments against encryption seem to be that it cripples the Government agencies in their work against terrorists, which is a genuine concern.
There seems to be no way to address both these major concerns (that I am aware of), and hence the battle between privacy advocates and the camp against encryption in the name of national security will continue.
Banning a single service such as WhatsApp is not a solution to this problem. If someone really wants their communication to be encrypted, they can easily make it happen using the numerous tools available, and there is nothing the Government can do about it.
> One of the arguments against mass surveillance is that it is blatant intrusion of privacy
That argument does not hold under the current constitution of India. Under the guise of one threat or another (terrorists, corruption, protection of classes of people) the government has nullified all our rights. On the one hand the government is quite open about its maliciousness. On the other hand, unlike the First World governments, the government is honest about the rights it grants us. We don't have a situation where the constitution guarantees something, and the law enforcement agencies violate it.
The bottom line: if you care about your privacy, don't depend on the government, wherever you are.
You can't ban math. These problems are solved and publicly. There's no sense trying to prevent honesty people from having privacy because the dishonest ones will already have it.
>Banning a single service such as WhatsApp is not a solution to this problem.
Generalizing this argument a bit, banning encryption is also not a solution to this problem. The cat is, as they say, out of the bag, and unless we're going to burn every cryptography book and remove every website documenting cryptographic methods or hosting cryptography code, there's no putting it back [1].
1: Presuming the development of effective post quantum cryptography cannot be prevented and distributed, which considering the current state of PQC seems unlikely.
I think this is worth taking a step further and asking for a definition of cryptography...what is cryptography?
Obviously here we are speaking in a mathematical sense, but encryption of information predates the internet. Hell, it predates electricity. Where do you draw the line? can I not encrypt my conversation with a friend by referencing shared unique experiences?
I was talking to young woman a bunch of us helped get into drug rehab recently and she said when she first moved here she used dating apps to find people who supply drugs. All of sudden, her best friend's name is Molly and going out line dancing mean something completely different on dating sites. I forget what she was calling the different drugs, but like a secret crypto key, they shared a common language.
Please explain how the State had 100% surveillance of attackers'/terrorists' communications before they became electronic, and I'll be "genuinely concerned" about the "crippling" of their work.
Sounds more like we're returning to a state of how things were (suspicions would have to be aroused, and actual police work would have to be done, instead of just retrieving all of the relevant metadata on people the State doesn't like from a database of just about every piece of information transmitted across a wire for 50+ years).
They could still obtain it, but the government could still mandate that local ISPs and telcos block connectivity to it.
This is like what they do when they ban websites.
The petition was brought forth by an RTI (Right to Information) "Activist" and Web Dev who works on security for private companies. It has nothing to do with the government.
Oh! I didn't realize it worked that way. So they can tell Apple to take something off their App Store because Apple has presence in their country? Would app stores be immune if their company doesn't have a presence in a country?
App stores may not be legally required to take it down as they're outside the jurisdiction... but a threat to block the app store entirely in the country is probably enough to get them to budge.
Not happening in India. To be realistic, even such a thing as a Whatsapp "ban" isn't going to happen/work. It will be at most similar to how porn is "banned". My ISP returns DNS not resolved for most porn websites if you use their resolver, but they pushed an update to the router changing the DNS to 8.8.8.8. The final result is most people haven't even realized that porn websites are banned.
Porn is effectively not banned because even the NIC DNS servers (the one's one whose infrastructure the government runs on) resolve them really fine for me.
"Almost" impossible is a stretch. It's regarded as impractical regardless of computational power or other available resources with current computational technology. We might as well not even try.
> Decrypting a single 256-bit encrypted message would take hundreds of years, Yadav said.
If you were in possession of an ideal computer, that floats in space and uses only the minimum energy required by physics to distinguish two states, and you were able to convert all the mass in our solar system directly into energy (which you probably wouldn't want to do, for obvious reasons) and feed that energy into the ideal computer, then you would be able to count (no decryption attempts here, just counting) all the way up to 2^231.
Trying to brute-force 256-bit keys is a very unrewarding activity indeed. If Yadav thinks he would be able to do it in "hundreds of years" rather than "long after all the stars have died" he must have a computer hidden somewhere that would run Crysis very smoothly even with all the settings on maximum.
To someone new to crypto, how do companies like WhatsApp implement their end-to-end encryption? Where are keys generated and how are they persisted in a way that allows messages to be re-read no matter what device users are running the app from but doesn't allow governments any chance at access to the keys?
A lot of the hard (math heavy) stuff used in modern cryptography has been published almost a couple of decades ago and good books are available on Amazon. I usually just buy them used as you get very good deals for books that have been published several years ago.
I would recommend Bruce Schneier's 'Applied Cryptography, Protocols, Algorithms and Source Code in C'. I was surprised to see the 20th Anniversary Edition is out now.
The math involved uses a lot of number theory (prime numbers, prime factorization, modulo computations, chinese remainder theorem, elliptic curves, etc)
Once you get a basic understanding of the math, you will find out why it is hard to find the keys (if properly generated) through brute force computer attacks.
Mass surveillance does not stop terrorism effectively.
Bruce Schneier wrote a book called Data and Goliath and touches on the subject a bit. Simply to many false positives are detected.
But how will governments decrypt communications you say?
Simple, they hack the devices performing the communication, if they are important enough. They can then get the key if needed. Encryption forces governments to do targeted surveillance.
This isn't just about whats app, it's about all crypto systems. Without privacy, you have no liberty.
I ran into this very same issue during another posting on HN. It was auto correct at play. I had to go back and reedit it twice because it was auto correcting it back to 'Schneider'.
I wonder how someone like this can call themself an activist, when it is obvious that they have not even thought about it once. If you are truely a terrorist, it takes you a few hours to implement a one-time-pad solution that will be unbreakable (and you cannot prevent that, there is not much knowledge needed for that). Only thing needed is a source of randomness but since we are talking about messaging, we do not even need more than a megabyte of it.
But well, I am from europe, looking forward to you kicking out your security industry and outsourcing it to us. Thanks for that.
Many comments here say that it is an intrusion of privacy but a random machine sitting some corner of the world, parsing boatload of data(including yours) and detecting that there is an act of terrorism and in effect saving people. I am OK with that machine parsing through my data. I feel that when you write your email or uploading photos on FB/Instagram or send a tweet ,A machine is already doing that and many people still use all these services . Also technically some Facebook/Google/Twitter employee can look at all those data if he wants to.So i believe govnt should get a provision to look deep into the data if it needs to save a one person or a hundred people.I do reflect the concerns discussed here [1]
I am saying that a provision should be given for government or any agency if it helps saving people's lives but only with a warrant or better scrutiny for the request. Shouldn't that be the case?
Communication is merely one component of the necessary means for coordinated action. Lets push the hysterical notion of OP's "activist" to an extreme and consider the situation:
In this hypothetical scenario, humanity has developed the ability to remotely project thoughts to designated individuals. No technology is involved. Interception of projected thoughts is simply not possible. Plans are made, and then time comes for executing the plan, which must by necessity occur in the physical world.
Per your position, prevention of destructive acts by sociopathic actors in the above hypothetical world is not possible?
The freedom to associate and communicate unhampered by special interests -- corporate or governmental -- is a fundamental requirement of free societies. This fundamental requirement trumps every other consideration. For example, in the above hypothetical world, the society at large still has recourse to other means to detect and prevent destructive action. However in the world that you seem to be proposing, perfectly sane and reasonable actors can be trivially denied from the exercise of the fundamental right of free speech, communication, and association.
To be clear, you are saying that because you are "OK with that machine parsing through [your] data", you think that should authorize the government to parse through my data? Why should your set of values for privacy and lack of care for its preservation affect my right to privacy?
All I am saying is I am Ok if it saves the lives of innocent people. And I am definitely against people looking at my data ,a human should only get control through a warrant or tight scrutiny but that provision should be there in the system.
OK, now imagine the machine detects something. What now? A human isn't allowed to look at it, if I understand you correctly? Or only with a warrant? What would be the basis for the warrant? The fact that the machine detected something? Also, who gets to decide about the code the machine is running? Could someone just decide to have it flag everything, thus giving the basis for a warrant for everything, thus allowing humans to look at everything? Could you elaborate?
This is probably my US-centrism talking, but it seems like the title could be updated to reflect that this is India's Supreme Court, not the US Supreme Court.
I'm tempted to agree, but if we consider the domain part of the title (which we do), it already says India. And it's good for HN readers to have to work a little.
FWIW the domain is in a smaller font with lower contrast than the title. I would guess that a lot of people automatically skip over the domain when they read hacker news headlines, because it's less legible than the title and feels distinct.
All true, but we also need to get out of the habit of consuming only the most easily scannable information.
As Kahneman explains in "Thinking Fast and Slow", System 2 (the reflective system, the one we want to be working a little on HN) is lazy and prefers to rely on System 1 (the reflexive one that deals in subsecond responses). I think the protests of HN readers when a title isn't trivially digestible or doesn't quite match expectations are largely the grumbling of System 2 that it needs to get up and move around a bit. And that's actually good for us—not the grumbling, but the working a bit. So the expectation to have titles spell everything out is a mildly bad thing and it's salutary to thwart it a little now and then.
Btw it was Alan Kay who pointed out the analogy between Kahneman and the reflexive/reflective distinction I've been using to try to understand the dynamics of HN. That was a helpful observation on Alan's part that among other things spurred me to take Kahneman back off the shelf.
Just to be clear this is the Indian Supreme Court. While it is from the indiatimes.com english language news outfit, I would assume the majority of readers on HN are not indian. Context here is important, as some may not read the article unfortunately, and even then, it isn't immeadiately clear.
I don't have stats on this. I assume that HN being almost exclusively an english language forum would have deographics reflecting this. I would guess (again without stats) that it is North Americans (largely US and Canada), U.K. and then Germany possibly China and India next. If you find stats would be interested though.
Title is terribly missing which country you're talking about. Most here would assume the US, in which case the title would have more audience. So while I understand the intent is to have more audience, the integrity of communication is lost.
There is no technical reason why something like whatsapp can't be peer-to-peer. Choosing for a centralized service is implicitly choosing for giving the powers that be the opportunity to massively listen in on our various modes of conversation, to figure out your 'graph' and/or to allow censorship.
An old quote has that the internet sees censorship as a routing problem and will route around the break. But that only works if we explicitly refuse to allow centralized services.