2
$\begingroup$

I've recently read some articles about the Interlock Protocol, Article by Ron Rivest and Adi Shamir.

I'm wondering if it is possible to protect Key-exchange under Public-Key cryptography from the MITM attack by using this protocol?

There's a method here.Suppose Alice & Bob has exchange their public key, but replaced by Mallory's public key. So Alice have Pkm, Bob have Pkm, Mallory have Pka, Pkb.

Alice.................Mallory.......................Bob

           A->Pkm(1:1)    M->Pkb(1:1)........1

M->Pka(1:1)....B->Pkm(1:1)................................................2

           A->Pkm(1:2)    M->Pkb(1:2)........3

M->Pka(1:2)....B->Pkm(1:2)................................................4

           A->Pkm(2:1)    A->Pkb(1:1)........5

B->Pka(1:1)....B->Pkm(2:1)................................................6

           A->Pkm(2:2)    A->Pkb(1:2)........7

B->Pka(1:2)....B->Pkm(2:2).................................................8

Then Mallory could cheat both Alice and Bob, and they will not recognize. Interlock-protocol seems insecure.

Of course Alice and Bob can ask a question when they're comunicating. Alice sent A->Pkm(1:1), and need a response 'B->Pka(2:1)' after she sent A->(2:1), but she just received the B->(1:1) as step 6, Alice know there's a Man In The Middle.

This method need Alice and Bob know each other very well, and both have a question they can answer but Mallory can't. So if they have such pre-shared questions & answers, why don't they use these question's hash value as a pre-shared key? Alice Just notice Bob the key is the 1st/2nd/3rd... one from the 'Pre-Question-Table', and they don't need public-key cryptographic's help.

Is it true? So what's the area when we can use the Interlock-protocol?

$\endgroup$

migrated from stackoverflow.com Apr 17 '13 at 12:05

This question came from our site for professional and enthusiast programmers.

2
$\begingroup$

The interlock protocol still relies on an external verification mechanism, otherwise the eavesdropper can replace the challenge with his own challenge. In the example in the paper, they mention recognizing the voice of the person reading you half the challenge. That's the external verification. Without a pre-shared piece of information, a computer network or protocol has no external frame of reference, and can't "challenge the challenge."

Thus, we still need entities like certificate authorities (only better.)

$\endgroup$

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.