I would like to know if there are any security methods that their approach for security of data transfer would be to hide the identity of the sender (and not the data itself)? If they exist how do they work? I would like to relate for both cases the following cases: 1. hiding the sender 2. hiding the sender only against man in the middle attacks but making sure the recipients knows the sender
To maintain the names from the comment discussion, Bob is the recipient and Sally is the sender.
Sally would first need to establish a communication channel with Bob that's anonymized. This could be TOR, a file drop, snail mail or many other options.
Sally signs the message so that Bob can verify it came from her.
Once signed, Sally encrypts the message+signature such that only Bob can read it.
Bob receives the message, decrypts it with his private key, checks the signature and reads the message.
This can be easily done with PGP provided Sally strips Bob's public key from the encrypted message (
--hidden-recipient on gpg)
In the case of tor, Sally's entry node knows that she sent a message to someone, but doesn't know to whom and can't see the message. Then two things can happen:
- Sally is reaching Bob at a host within the tor network, in which case Bob's entry node also knows he received a message but doesn't know from whom or the contents.
- Sally is reaching Bob at a host not within the tor network, in which case Sally's exit node would be the one to know that Bob received a message.
In either case, if Sally's entry node is the same actor as her exit node/Bob's entry node, then the communication could be deanonymized.
There are several options:
- burn the data to a CD-ROM and mail it while not giving a proper sender address
- use anonymizing tools like Tor, anonymous mailers etc
- work from an internet kiosk, open hotspot or similar
Of course there are often ways to at least narrow down possible senders based on the data they send (who has access), writing style etc.