HACKER Q&A
📣 mattrighetti

How can you provide complete anonymity and identity on the internet?


Nowadays you always have to add some kind of personal information to use a service or browsing the internet in general. This creates the potential threat to be identified, tracked, spied and so on.

Is there a way/study that proposed a model for complete anonymity in the internet that would still make you able to identify yourself (e.g. a kind of ID card that would not make the previous issues possible)?


  👤 9387367 Accepted Answer ✓
Tor browser has solved 100% of my ‘browsing the internet’ issues.

From Hacker News, Reddit, YouTube to newspapers, blogs and podcasts, if it’s not Tor friendly I simply skip it.

Haven’t had any regrets for years.


👤 muzani
I'd love to pay for a full set of services like this - email, phone, VPN, payment gateway.

Sometimes you want a consistent identity to play a game, review your company on glassdoor, or praise Satan with, but you don't want to make an entire set of fake emails, phone, and so on. Scammers already have ways to do this, and it would be nice to have something semi-centralized that can report you for crime, but you can trust at about the same level that someone would trust LastPass.


👤 jschveibinz
I don’t know the answer, but I will offer that complete anonymity on the Internet will result in the purest form of evil that we have yet to see. In a public space, it’s best if people (and organizations) know that they are accountable for their actions; otherwise, the anonymous act purely in their own best interest. You can already see this happening in both the physical and virtual worlds. It’s very dangerous and a threat to civilization.

👤 noud
Fully Homomorphic Encryption [1] (FHE) would be one of these services. You could let someone else on the internet do computations for you, without him being able to see what the input/output of these computations are. The idea behind FHE is that the whole computation process will be fully encrypted, and therefore anonymous, while containing usable personal data. From the server side you can apply algorithms like:

  // With FHE the server side cannot see the outcome of the if/else statement.
  if (encData.authenticate('John Doe')) {
    encData.result = addEncryptedResult(doStuffWith(encData.input), encData.pubKey);
  } else {
    encData.result = addEncryptedResult("Authentication failed.", encData.pubKey);
  }
  sendBack(encData);
For example, you can use FHE on your income. Send the encrypted data to someone else (could be anyone). They compute the tax reduction computations for you, without seeing who you are, what you earn, and what your tax returns are. Because every computation this person performs is fully encrypted and release the results openly. You download the encrypted results and, because you have the private key, find your tax returns. (I can probably come up with a better example if I think a bit longer)

The only downside of FHE is that it's way too slow to be practical. When I studied the Brakerski-Gentry-Vaikuntanathan scheme in 2011 I remembered that it took hours to compute 3 + 4. Speed has increased a lot in FHE, but it's not at a practical level yet.

[1] - https://en.wikipedia.org/wiki/Homomorphic_encryption