I think the following is not possible, but I have no proof and would like to find out wether it is possible or not.

Let's say in a network, every participant cannot connect to each other participant directly. Every message is sent via a person M. Every participant can connect through M to every other participant.

Is there any way to know if the other participants are real and not fake participants created by M?

I am assuming, that you cannot swap information "offline", e.g. there is no key signing party and no way to exchange certficates offline. Also, you do not know the other participants.

The problem is: If the other participants are simulated by M, M has the data I wanted to share with another participant. Even if encrypted, it could be a key of M.

As you can see, M is already the man in the middle in the architecure.

Is there a proof, you cannot be sure, that the participants are real? Or am I missing some solution to my problem? The architecture has to stay the same for my question.

Thank you in advance!

  • There might be some options in your definition of "real". And while you might not have info swaps offline, you could use 3rd parties to verify identities: an N party. That way M would have to control both N and M to make the deception complete. – schroeder Mar 10 '20 at 12:13
  • In my specific problem, you could unfortunately only communicate with N via M. This breaks it again, I guess. But your idea helps me, in case the architecture be modified. – Marvin Mar 10 '20 at 13:05
  • 1
    Ah, yes. If all communication must go through M, then M can perfectly deceive. You might then need to consider oversight of M to detect when/if M engages in this behaviour. It's a detection control after the fact, but it can be an effective control in some contexts. – schroeder Mar 10 '20 at 13:22
  • Is there a proof somewhere which states, that M can deceive perfectly? Yes, observation of some sort could be a solution, thanks. – Marvin Mar 10 '20 at 14:16
  • I don't think that a proof is required. If it is a closed system and M controls all interactions, including identification actions and verifications, M can define and alter reality for any participant. – schroeder Mar 10 '20 at 14:50

You're describing the setting of a "prisoner's dilemma" type game, which is based on a situation where trust between prisoners cannot be established.

The normal ways of establishing trust would be as you listed; to meet personally and exchange keys, or to employ a trusted third party, such as a Certificate Authority or WoT, to facilitate trusted key exchange. In every case, though, participants need to have trust externally introduced without going through the M proxy, or with the third party's certificate pre-installed (all of which still depend on M not being the party who provided the machines in the first place, and M not having surreptitious access to the machines.)

  • This is a good hint, I didn't think of this dilemma. Is there a proof, that trust cannot be established in this setting? It seems kind of trivial, so there is not really much to prove, I guess. – Marvin Mar 10 '20 at 14:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.