Previous | Table of Contents | Next |
Diffie-Hellman key exchange is vulnerable to a man-in-the-middle attack. One way to prevent this problem is to have Alice and Bob sign their messages to each other [500].
This protocol assumes that Alice has a certificate with Bobs public key and that Bob has a certificate with Alices public key. These certificates have been signed by some trusted authority outside this protocol. Heres how Alice and Bob generate a secret key, k.
This protocol, invented by Adi Shamir but never published, enables Alice and Bob to communicate securely without any advance exchange of either secret keys or public keys [1008].
This assumes the existence of a symmetric cipher that is commutative, that is:
Alices secret key is A; Bobs secret key is B. Alice wants to send a message, M, to Bob. Heres the protocol.
One-time pads are commutative and have perfect secrecy, but they will not work with this protocol. With a one-time pad, the three ciphertext messages would be:
Eve, who can record the three messages as they pass between Alice and Bob, simply XORs them together to retrieve the message:
This clearly wont work.
Shamir (and independently, Jim Omura) described an encryption algorithm that will work with this protocol, one similar to RSA. Let p be a large prime for which p - 1 has a large prime factor. Choose an encryption key, e, such that e is relatively prime to p - 1. Calculate d such that de ≡ 1 (mod p - 1).
To encrypt a message, calculate
To decrypt a message, calculate
There seems to be no way for Eve to recover M without solving the discrete logarithm problem, but this has never been proved.
Like Diffie-Hellman, this protocol allows Alice to initiate secure communication with Bob without knowing any of his keys. For Alice to use a public-key algorithm, she has to know his public key. With Shamirs three-pass protocol, she just sends him a ciphertext message. The same thing with a public-key algorithm looks like:
Shamirs three-pass protocol will fall to a man-in-the-middle attack.
COMSET (COMmunications SETup) is a mutual identification and key exchange protocol developed for the RIPE project [1305] (see Section 25.7). Using public-key cryptography, it allows Alice and Bob to identify themselves to each other and also to exchange a secret key.
The mathematical principle behind COMSET is Rabins scheme [1283] (see Section 19.5). The scheme itself was originally proposed in [224]. See [1305] for details.
The Encrypted Key Exchange (EKE) protocol was designed by Steve Bellovin and Michael Merritt [109]. It provides security and authentication on computer networks, using both symmetric and public-key cryptography in a novel way: A shared secret key is used to encrypt a randomly generated public key.
The Basic EKE Protocol
Alice and Bob (two users, a user and the host, or whoever) share a common password, P. Using this protocol, they can authenticate each other and generate a common session key, K.
Previous | Table of Contents | Next |