Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks

Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks

Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks Steven M. Bellovin Michael Merritt AT&T Bell Laboratories AT&T Bell Laboratories Murray Hill, NJ 07974 Murray Hill, NJ 07974 [email protected] [email protected] Abstract to a few constraints detailed below. It works espe- cially well with exponential key exchange [2]. Section Classical cryptographic protocols based on user- 2 describes the asymmetric cryptosystem variant and chosen keys allow an attacker to mount password- implementations using RSA[3] and ElGamal[4]. Each guessing attacks. We introduce a novel combination of those two systems presents unique problems. Sec- of asymmetric (public-key) and symmetric (secret-key) tion 3 generalizes EKE, and shows how most public cryptography that allow two parties sharing a common key distribution systems can be used. Section 4 con- password to exchange confidential and authenticated siders general issues related to the choice and use of information over an insecure network. These proto- symmetric and asymmetric cryptosystems in EKE. Fi- cols are secure against active attacks, and have the nally, in Section 5, we describe applications for EKE, property that the password is protected against off-line and discuss related work in Section 6. \dictionary" attacks. There are a number of other useful applications as well, including secure public tele- 1.1 Notation phones. Our notation is shown in Table 1. To avoid confu- sion, we use the word \symmetric" to denote a con- 1 Introduction ventional cryptosystem; it uses secret keys. A public- key, or asymmetric, cryptosystem has public encryp- tion keys and private decryption keys. People pick bad passwords, and either forget, write down, or resent good ones. We present a protocol 1.2 Classical key negotiation that affords a reasonable level of security, even if re- sources are protected by bad passwords. Using a novel Suppose A (Alice) and B (Bob) share a secret, the combination of asymmetric (public-key) and symmet- password P . In order to establish a secure session key, ric (secret-key) cryptography | a secret key is used A could generate a random key R, encrypt it with to encrypt a randomly-generated public key | two P as key and send the result, P (R), to B. (This is parties sharing a secret such as a password use it to essentially the mechanism used to obtain the initial exchange authenticated and secret information, such ticket in the Kerberos authentication system [1].) Now as a session key or a \ticket" for other services, a l`a A and B share R and can use it as a session key; Kerberos [1]. This protocol, known as encrypted key perhaps B replies to A with exchange, or EKE, protects the password from off-line \dictionary" attacks. R(Terminal type :) EKE can be used with a variety of asymmetric cryp- But an eavesdropper could record these messages, and tosystems and public key distribution systems, subject run a dictionary attack against P by first decrypting P (R) with candidate password P 0, and then using the resultant candidate session key Proceedings of the IEEE Symposium on Research in Security and Privacy, Oakland, May 1992. R0 = P 0−1(P (R)) Table 1: Notation A; B System principals. (Alice and Bob). P The password: a shared secret, often used as a key. R; S Random secret keys (for symmetric cryptosystems). R(info) Symmetric (secret-key) encryption of \info" with key R. R−1(info) Symmetric (secret-key) decryption of \info" with key R. Ek(X) Asymmetric (public-key) encryption of X with (public) key Ek. Dk(X) Asymmetric (public-key) decryption of X with (private) key Dk. challengeA A random challenge generated by A. challengeB A random challenge generated by B. p; q Prime numbers. to decrypt R(Terminal type :), examining the result 3. A, knowing P and DA, uses them to calculate −1 for expected redundancy. DA(P (P (EA(R)))) = R. The simple protocol above has other flaws, particu- larly against replay attacks, but illustrates a weakness common to all classical two-party key exchange pro- After this exchange, A and B both know E tocols: the enduring cryptographic secrets are suscep- A and R. The latter can be used to protect the tible to off-line, brute-force attacks. This may be fine session: B could send R(Terminal type :) to A. when these secrets are long random strings, but poses Consider, however, the position of an eavesdropper considerable difficulty when the secrets are passwords in this context. Knowing P (E ), P (E (R)), and chosen by naive users [5, 6, 7, 8]. A A R(Terminal type :), a candidate password P 0 can be used to decrypt P (EA) to produce a candidate 0−1 public key E 0 = P (P (E )). But determin- 2 EKE using public keys A A ing whether EA0 is the public key used in the ex- change amounts to determining whether there exists 0 0 Consider instead the following simple message ex- a secret key R such that EA0 (R ) = EA(R) and change: R0−1(R(Terminal type :)) makes sense. This quan- tification is the key property of the exchange: a can- 1. A generates a random public key/private key pair, didate password P 0 cannot be rejected without doing EA and DA, and encrypts the public key in a sym- 1 a brute-force attack on R. Since EA and R are ran- metric cryptosystem with password P , yielding domly generated over (presumably) large key spaces, P (EA). such attacks are expensive, even if the space of pass- A sends words is small. So far as naive (non-cryptanalytic) off- P (EA) (EKE.1) line attacks are concerned, the relatively small space from which P is chosen has been effectively multiplied to B. (We will defer until later a discussion of by the size of the keyspace from which R is obtained. how EA and DA are generated, and exactly what role P plays.) Another way to look at it is to examine the results 0−1 of a trial decryption EA0 = P (P (EA)). Is this a 2. Sharing the password P , B decrypts to obtain comprehensible quantity? If EA is indeed random | −1 P (P (EA)) = EA, generates a random secret a question to which we shall return later | there is no 0 key R, and encrypts it in the asymmetric cryp- way to tell if P is correct without cracking EA. And, tosystem with key EA to produce EA(R). This since EA is chosen from a much larger key space than value is further encrypted with P . is P , cracking it is much more difficult. B sends P (EA(R)) (EKE.2) 1This discussion presumes the eavesdropper uses only non- to A. cryptanalytic attacks. 2.1 A complete protocol 6. If the challenge-response protocol in steps RPK.1- RPK.5 is successful, login is successful and the Real protocols are not as simple as the basic con- parties proceed with the login session, using the cepts outlined above. For example, an important con- symmetric cryptosystem and session key R for cern is the possibility of replay attacks. That is, an protection. attacker with control of the communications channel may insert old, stale messages. Protocols must in- corporate safeguards, typically in the form of random The challenge-response portion of the protocol, in challenges. Let us consider a full-blown version. steps 3{5, is a standard technique for validating cryp- tographic keys. (If a party sends challenge c encrypted 1. A generates a random public key EA and encrypts by R, where c was never used before, and receives it in a symmetric cryptosystem with key P to another encrypted message containing c in reply, it produce P (EA). follows that the message originator has the ability to encrypt messages with R.) This portion of the pro- A sends tocol could be replaced by other mechanisms for vali- A; P (E ) (RPK.1) A dating R. For example, the time could be exchanged to B. This message includes her name in the clear. encrypted by R, under the security-critical assump- tion that clocks are monotonic and synchronized, as 2. Sharing the password P , B decrypts to obtain in Kerberos [1]. EA, generates a random secret key R, and en- crypts it in both the asymmetric cryptosystem with key EA and in the password key to produce 2.2 When to encrypt with the password P (EA(R)). B sends In the protocol presented above, the password was P (EA(R)) (RPK.2) used for encryption twice, in messages RPK.1 and to A. RPK.2. Often, one of those two encryptions may be omitted. Which one can be skipped will vary, depend- 3. A decrypts the message to obtain R, generates a ing on the particular asymmetric cryptosystem chosen. unique challenge challengeA and encrypts it with The most obvious constraint is that the message R to produce R(challengeA). to be encrypted by the password must be indistin- A sends guishable from a random number. If, for example, R(challengeA) (RPK.3) some cryptosystem required the use of prime numbers as public keys, it would not be possible to encrypt to B. message RPK.1: an attacker would find it trivial to validate a guess at P by testing the resulting decryp- 4. B decrypts the message to obtain challenge , A tion for primality. Similarly, if an encrypted message generates a unique challenge challenge , and en- B always had some particular characteristics, message crypts the two challenges with the secret key R RPK.2 could not be the one encrypted.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    13 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us