anonymous DH & MITM

Tim Dierks tim at dierks.org
Fri Oct 3 17:27:36 EDT 2003


At 03:28 PM 10/3/2003, Jerrold Leichter wrote:
>From: Tim Dierks <tim at dierks.org>
>| >No; it's false.  If Alice and Bob can create a secure channel between them-
>| >selves, it's reasonable to say that they are protected from MITM attacks if
>| >they can be sure that no third party can read their messages.  That is:
>| >If Alice and Bob are anonymous, they can't say *who* can read the messages
>| >they are sending, but they might be able to say that, assuming that their
>| >peer is following the protocol exactly (and in particular is not releasing
>| >the shared secret) *exactly one other party* can read the message.
>|
>| They've got exactly that same assurance in a MITM situation: unfortunately,
>| Mallet is the one other party who can read the message.
>But Mallet is violating a requirement:  He is himself passing along the
>information Alice and Bob send him to Bob and Alice.  No notion of secrecy
>can make any sense if one of the parties who legitimately *has* the secret
>chooses to pass it along to someone else!

In an authenticated protocol, you can have a risk model which includes the 
idea that an authorized person will not choose to share a secret with an 
unauthorized person. However, in an anonymous protocol, you cannot have 
such a risk model, because there's no such distinction.

Are you saying that you're defining a protocol with rules of behavior which 
cannot be enforced (namely that Mallet is breaking the protocol by 
forwarding the data)? Previously, you said that you were defining the thing 
to be controlled as the shared secret, but now you're extending it to any 
and all content transmitted over the link. Describing the format of 
communications between parties is in a "protocol"; what they do with those 
communications is in a "risk model" or "trust model".

>As long as Mallet continues to interpose himself in *all* subsequent sessions
>between Alice and Bob, he can't be detected.  But suppose each of them keeps
>a hash value that reflects all the session keys they think they ever used in
>talking to each other.  Every time they start a session, they exchange hashes.
>Whenever Mallet is present, he modifies the messages to show the hash values
>for the individual sessions that he held with each party seperately.  Should
>they ever happen to form a session *without* Mallet, however, the hashes
>will not agree, and Mallet will have been detected.  So the difference isn't
>just notional - it's something the participants can eventually find out about.

No disagreement with this: if you can ever communicate over an 
unintermediated channel, you can detect previous or future intermediations. 
There are easier ways to do it than maintaining a hash of all session keys: 
you can just insist that the other party have the same public key they had 
the first time you spoke, and investigate if that becomes untrue (for 
example, ssh's authentication model).

>In fact, if we assume there is a well-known "bulletin board" somewhere, to
>which anyone can post but on which no one can modify or remove messages, we
>can use it as to force a conversation without Mallet.  Alice and Bob can:
>
>  [...elided...]
>
>If not, Mallet was at work.  (For this to work, the bulletin must have a
>verifiable identity - but it's not necessary for anyone to identify himself to
>the bulletin board.)

This can be defeated by Mallet if he makes changes in his forwarding of 
communications (that either have no semantic effect or have whatever 
semantic effect he chooses to impose), but which causes the hashes to vary. 
He then posts statements re: his communications with each of Alice & Bob, 
so they'll see a match.

Or, alternately, he interposes himself between Alice & Bob and the bulletin 
board, which is possible within most understandings of the MITM threat. 
(Again, if Mallet can't do that, it implies that Alice & Bob have an 
unintermediated channel available: the bulletin board).

  - Tim


---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo at metzdowd.com



More information about the cryptography mailing list