Previous | Table of Contents | Next |
It is foolish to encrypt arbitrary stringsnot only those sent by untrusted third parties, but under any circumstances at all. Attacks similar to the one discussed in Section 19.3 can be mounted. Secure proof-of-identity protocols take the following, more complicated, form:
If Alice does not trust the host any more than the host trusts Alice, then Alice will require the host to prove its identity in the same manner.
Step (1) might seem unnecessary and confusing, but it is required to prevent attacks against the protocol. Sections 21.1 and 21.2 mathematically describe several algorithms and protocols for proving identity. See also [935].
Mutual Authentication Using the Interlock Protocol
Alice and Bob are two users who want to authenticate each other. Each of them has a password that the other knows: Alice has PA and Bob has PB. Heres a protocol that will not work:
Mallory can launch a successful man-in-the-middle attack (see Section 3.1):
Alice and Bob see nothing different. However, Mallory knows both PA and PB.
Donald Davies and Wyn Price describe how the interlock protocol (described in Section 3.1) can defeat this attack [435]. Steve Bellovin and Michael Merritt discuss ways to attack this protocol [110]. If Alice is a user and Bob is a host, Mallory can pretend to be Bob, complete the beginning steps of the protocol with Alice, and then drop the connection. True artistry demands Mallory do this by simulating line noise or network failure, but the final result is that Mallory has Alices password. He can then connect with Bob and complete the protocol, thus getting Bobs password, too.
The protocol can be modified so that Bob gives his password before Alice, under the assumption that the users password is much more sensitive than the hosts password. This falls to a more complicated attack, also described in [110].
SKID
SKID2 and SKID3 are symmetric cryptography identification protocols developed for RACEs RIPE project [1305] (See Section 25.7). They use a MAC (see Section 2.4) to provide security and both assume that both Alice and Bob share a secret key, K.
SKID2 allows Bob to prove his identity to Alice. Heres the protocol:
SKID3 provides mutual authentication between Alice and Bob. Steps (1) through (3) are identical to SKID2, and then the protocol proceeds with:
This protocol is not secure against a man-in-the-middle attack. In general, a man-in-the-middle attack can defeat any protocol that doesnt involve a secret of some kind.
Message Authentication
When Bob receives a message from Alice, how does he know it is authentic? If Alice signed her message, this is easy. Alices digital signature is enough to convince anyone that the message is authentic.
Symmetric cryptography provides some authentication. When Bob receives a message from Alice encrypted in their shared key, he knows it is from Alice. No one else knows their key. However, Bob has no way of convincing a third party of this fact. Bob cant show the message to Trent and convince him that it came from Alice. Trent can be convinced that the message came from either Alice or Bob (since no one else shared their secret key), but he has no way of knowing which one.
If the message is unencrypted, Alice could also use a MAC. This also convinces Bob that the message is authentic, but has the same problems as symmetric cryptography solutions.
Previous | Table of Contents | Next |