I'm implementing a DHT based on Kademlia following this paper.

The protocol described in this paper uses nonces to protect against man-in-the-middle attacks. The disadvantage is that latency gets doubled by effectively introducing a second round trip time.

Now my question is, are man-in-the-middle attacks against p2p systems where each peer knows quite some peers and no long-term connections realistic? Was the nonce exchange added for purely academic purposes to propose a "fully secure system", or does it actually prevent a real risk?

1 Answer 1


One of the challenges with p2p systems where there are numerous peers, and numerous short term connections, is that authentication may not be manually checked (it would introduce a high overhead) so placing reliance on automatic protection is quite common.

Where a user connects to only one other, confirming a key or certificate fingerprint to avoid a MITM attack may mean a quick phone call, but imagine doing that for high numbers of connections.

  • I'm sorry but I do not think that this answer solves my problem. The paper I linked exactly proposes automatic protection through a single trusted certificate authority. That is not the question. My problem is whether or not the extra nonce added to prevent MITM attacks and replay attacks is worth the overhead associated with the extra packet. Replay attacks can be solved by synchronizing clocks and using a timestamp, however MITM attacks remain unsolved by this. Therefor my question is: are MITM attacks a real risk in a many-to-many network such as a p2p network?
    – orlp
    Dec 17, 2012 at 11:09
  • You have two questions here. My answer is for your second one - is it a real risk: Yes. Is it worth the overhead: only you can decide :-)
    – Rory Alsop
    Dec 17, 2012 at 11:12
  • I guess I'll have to pay the overhead then (my application isn't particularly latency-dependant, but a solution with less latency is always preferable). Could you perhaps edit your answer with some data or an example in regards to MITM in p2p, if you have the time? Anyway, thanks for your time.
    – orlp
    Dec 17, 2012 at 11:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .