15.1 Intruders-in-the-Middle and Impostors

If you receive an email asking you to go to a website and update your account information, how can you be sure that the website is legitimate? An impostor can easily set up a web page that looks like the correct one but simply records sensitive information and forwards it to Eve. This is an important authentication problem that must be addressed in real-world implementations of cryptographic protocols. One standard solution uses certificates and a trusted authority and will be discussed in Section 15.5. Authentication will also play an important role in the protocols in many other sections of this chapter.

Another major consideration that must be addressed in communications over public channels is the intruder-in-the-middle attack, which we’ll discuss shortly. It is another cause for several of the steps in the protocols we discuss.

15.1.1 Intruder-in-the-Middle Attacks

Eve, who has recently learned the difference between a knight and a rook, claims that she can play two chess grandmasters simultaneously and either win one game or draw both games. The strategy is simple. She waits for the first grandmaster to move, then makes the identical move against the second grandmaster. When the second grandmaster responds, Eve makes that play against the first grandmaster. Continuing in this way, Eve cannot lose both games (unless she runs into time trouble because of the slight delay in transferring the moves).

A similar strategy, called the intruder-in-the-middle attack, can be used against many cryptographic protocols. Many of the technicalities of the algorithms in this chapter are caused by efforts to thwart such an attack.

Let’s see how this attack works against the Diffie-Hellman key exchange from Section 10.4.

Let’s recall the protocol. Alice and Bob want to establish a key for communicating. The Diffie-Hellman scheme for accomplishing this is as follows:

  1. Either Alice or Bob selects a large, secure prime number p and a primitive root α (mod p). Both p and α can be made public.

  2. Alice chooses a secret random x with 1xp2, and Bob selects a secret random y with 1yp2.

  3. Alice sends αx (mod p) to Bob, and Bob sends αy (mod p) to Alice.

  4. Using the messages that they each have received, they can each calculate the session key K. Alice calculates K by K(αy)x (mod p), and Bob calculates K by K(αx)y (mod p).

Here is how the intruder-in-the-middle attack works.

  1. Eve chooses an exponent z.

  2. Eve intercepts αx and αy.

  3. Eve sends αz to Alice and to Bob (Alice believes she is receiving αy and Bob believes he is receiving αx).

  4. Eve computes KAE(αx)z (mod p) and KEB(αy)z (mod p). Alice, not realizing that Eve is in the middle, also computes KAE, and Bob computes KEB.

  5. When Alice sends a message to Bob, encrypted with KAE, Eve intercepts it, deciphers it, encrypts it with KEB, and sends it to Bob. Bob decrypts with KEB and obtains the message. Bob has no reason to believe the communication was insecure. Meanwhile, Eve is reading the juicy gossip that she has obtained.

To avoid the intruder-in-the-middle attack, it is desirable to have a procedure that authenticates Alice’s and Bob’s identities to each other while the key is being formed. A protocol that can do this is known as an authenticated key agreement protocol.

A standard way to stop the intruder-in-the-middle attack is the station-to-station (STS) protocol, which uses digital signatures. Each user U has a digital signature function sigU with verification algorithm verU. For example, sigU could produce an RSA or ElGamal signature, and verU checks that it is a valid signature for U. The verification algorithms are compiled and made public by the trusted authority Trent, who certifies that verU is actually the verification algorithm for U and not for Eve.

Suppose now that Alice and Bob want to establish a key to use in an encryption function EK. They proceed as in the Diffie-Hellman key exchange, but with the added feature of digital signatures:

  1. They choose a large prime p and a primitive root α.

  2. Alice chooses a random x and Bob chooses a random y.

  3. Alice computes αx (mod p), and Bob computes αy (mod p).

  4. Alice sends αx to Bob.

  5. Bob computes K(αx)y (mod p).

  6. Bob sends αy and EK(sigB(αy, αx)) to Alice.

  7. Alice computes K(αy)x (mod p).

  8. Alice decrypts EK(sigB(αy, αx)) to obtain sigB(αy, αx).

  9. Alice asks Trent to verify that verB is Bob’s verification algorithm.

  10. Alice uses verB to verify Bob’s signature.

  11. Alice sends EK(sigA(αx, αy)) to Bob.

  12. Bob decrypts, asks Trent to verify that verA is Alice’s verification algorithm, and then uses verA to verify Alice’s signature.

This protocol is due to Diffie, van Oorschot, and Wiener. Note that Alice and Bob are also certain that they are using the same key K, since it is very unlikely that an incorrect key would give a decryption that is a valid signature.

Note the role that trust plays in the protocol. Alice and Bob must trust Trent’s verification if they are to have confidence that their communications are secure. Throughout this chapter, a trusted authority such as Trent will be an important participant in many protocols.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.217.4.206