

Can we have perfectly secret anonymous conversations? - EGreg

I was recently reading a bit more about Freenet, Perfect Dark and other anonymous, uncensorable P2P networks and I was wondering if there was a mechanism to actually have secure, off-the-record messaging in such a network. It would be kind of like the "untraceable hacker" ideal that you always see in movies.<p>It would work something like this: two or more people join a channel with a unique id, and then they start posting to it, and the whole thing would be handled with an Off-The-Record protocol. Thus the conversation would have perfect forward secrecy, AND the people would be untraceable.<p>I guess it would be straightforward to use the existing freenet mechanism of storing a file and keep storing derivative files representing the evolving conversation, where each message is signed with that user's private key and also using vector clocks.<p>Sorry for all the lingo, but I'm just thinking about this and I wonder if anything like this exists. A truly untraceable, anonymous, uncensorable, secure channel for conversation that would exist as long as there was a robust enough network topology to handle it. The only way the participants would be able to guess each other's identity is by referencing some prior communication they had, maybe combined with one-way hashes of "something they have" and "something they know", ideally of which there is no record anywhere (so they can't prove the identity to anyone else).<p>It all comes down to this: how can we have secure conversation sessions where the participants know one another's identity, but cannot prove them to the outside world?
======
JNZ
GPG does the same thing. People having your fingerprint associated with a name
in a key server is not an authoritative association and thus no government
entity or anyone concerned with security to a moderate degree would even take
such an assertion of identity seriously. Of course, it could give hints in any
sort of investigation to find out who owns the key based on the fingerprint,
but that's the problem with any system. To say "This person is who they say
they are", an individual digitally signs the other person's key after having
made proper arrangements to verify the identity they claim to hold, or what
have you. You do not need special agreement protocols or hashes, you only need
standardized schemes that work off of any public key cryptography system; GPG
is not the only solution and a new system as you describe is simply more
complex than needed.

~~~
EGreg
But to really anonymize the traffic and make sure it is not censored, don't we
also need to make it a hard problem to find the originating node or track a
session? Given the network topology it may be easy to track down the computers
used to transmit the IP packets.

~~~
JNZ
You can do that by distributing messages in an encrypted form. Effectively,
turn your messages into encrypted blocks and do key exchanges when retrieving
them from nodes and propagating them around the network. It would be a
decentralized system. This would practically remove the potential for tracking
a message; it would require massive cooperation from many node owners or their
respective authorities (Internet providers, law enforcement, etc).

