國立清華大學資訊工程系 資訊安全實驗室 孫宏民 Phone: Network Security --- Network Security --- Key Establishment Protocols
第 2 頁 Outline Basic Cryptographic Concept Symmetric Encryption Asymmetric Encryption Digital Signature Encrypted Key Exchange (EKE) Conclusions
第 3 頁 Cryptographic System
第 4 頁 1. Confidentiality (Secrecy): The intruder cannot read the encrypted message from the ciphertext. 2. Authentication: It should be possible for the receiver of a message to ascertain its origin; an intruder should not be able to masquerade as someone else. 3. Integrity: It should be possible for the receiver of a message to verify that it has not been modified in transit; an intruder cannot substitute a false message for a legitimate one. 4. Nonrepudiation: A sender should not be able to falsely deny later that he sent a message. Four Basic Services of Cryptography :
第 5 頁 Plaintext(M) M Ciphertext(C) K1K1 K2K2 Encryption Decryption Cryptanalyst Symmetric Cryptosystem: The encryption & decryption keys are the same. (E K (M)= C & D K (C)= M). Asymmetric Cryptosystem: Encryption & decryption keys are different. (E K1 (M)=C & D K2 (C)=M) The encryption key is public, while the decryption key can not be calculated from the public key. Cryptographic System
第 6 頁 Symmetric Cryptosystem DES (1977) IDEA (1992) RC5 (1994) AES (2001)
第 7 頁 Security Service: Confidentiality Authentication Integrity Advantage : High Speed Disadvantages : how to obtain a common secret key between two parities, the number of secret keys is too big, can not achieve nonrepudiation. Symmetric Cryptosystem
第 8 頁 Asymmetric Cryptosystem RSA (1978) El-Gamal (1984) McEliece (1978) Knapsack (1978)
第 9 頁 Security Service: Confidentiality Integrity Authentication (by Signature) Nonrepudiation (by Signature) Advantage : a pair of keys for each user Disadvantages : Slow speed Public key need to be authenticated by CA Asymmetric Cryptosystem
第 10 頁 RSA (Encryption & Decryption) Public key: n = pq, p and q are large primes (512 bit), e ( gcd (e, (p-1)(q-1)) =1) Private key: d, where ed = 1 mod (p-1)( q-1) Encryption: C=M e mod n Decryption: M= C d mod n p=47, q=71, => n=3337 e=79, => d = 1019 M=688 Encryption: C=M e mod n = mod 3337 = 1570 Decryption: M= C d mod n = mod 3337 = 688
第 11 頁 One-way hash function Input: X (unlimited length) Output: Y=H(X) (fixed length, e.g., 160 bit) Given X, it is easy to compute Y. Given Y, and H( ), it is computational infeasible to compute X. Given X and Y, it is computational infeasible to find X’ such that Y=H(X’).
第 12 頁 Message Signature(S) M Signer AVerifier B Signature Generation Private Key Signature Verification Public Key Ture or False Digital Signature
第 13 頁 Hash Functions : SHA MD5 FFT Snefru N Hash Hash Signature Functions : RSA DSA El-Gamal Elliptive Curve LUC Digital Signature M h(M) S S M
第 14 頁 Public key: n = pq, p and q are large primes (512 bit), e ( gcd (e, (p-1)(q-1)) =1), h is a hash function. Private key: d, where ed = 1 mod (p-1)( q-1) Sign: S= h(M) d mod n Verify: h(M) = S e mod n RSA Digital Signature
第 15 頁 Secure Communication between Client and Server Using Symmetric Cryptosystem: Each client and the server share a common secret key. Disadvantages: 1. Secret key must be strong 2. If the secret key is revealed, the messages in the past will also be revealed. ClientServer E k (M’) ID c, E k (M)
第 16 頁 Secure Communication between Client and Server Using Asymmetric Cryptosystem: Encryption + Signature (See next page) Disadvantages: 1. Public keys need to be authenticated by a CA. 2. Private key must be strong. 3. If the server’s private key is revealed, the messages in the past will also be revealed.
第 17 頁 Secure Communication between Client and Server
第 18 頁 User Authentication in general Based on one or more of: something a user has (smart card/token card) something a user is (fingerprint/voiceprint/retinal scan) something a user knows (password/short secret) What’s a popular user authentication system based on three of these?
第 19 頁 Secure Password Authentication Remote user access Goal: to be secure without requiring the user to carry/remember anything except password Remote clientFirewall protected domain VPN traffic (authenticated using password)
第 20 頁 Dictionary Attacks (Password Guessing Attacks) An off- line, brute force guessing attack conducted by an attacker on the network. Attacker usually has a “dictionary” of commonly-used passwords to try People pick easily remembered passwords “Easy- to- remember” is also “easy- to- guess”
第 21 頁 Password-based protocols Telnet, FTP are insecure Client Server ID c, Password Client Server ID c, h(Password) Hash function is still insecure.
第 22 頁 Password-based Protocol with Challenge Insecure against the dictionary attacks. Client Server h(Cha,Password) Cha ID
第 23 頁 We need a password-based authentication protocol which is secure against dictionary attacks.
第 24 頁 What to do after authentication? We need a common session key to protect our communication. Diffie-Hellman key agreement provides two parties to share a common session key. Secure Communication between Client and Server
第 25 頁 Diffie-Hellman Key Agreement Goal : to provide two parties share a common session key p : large prime, g : generator g Ra mod p g Rb mod p K= (g Rb ) Ra mod p K= (g Ra ) Rb mod p ClientServer
第 26 頁 Man-in-the-middle attack
第 27 頁 Diffie-Hellman Key Agreement Diffie-Hellman key agreement is vulnerable to the man-in- the-middle attack; it does not reach authentication How about Diffie-Hellman key agreement using public key? Problem: (1) does not provide forward secrecy, (2) hard to remember (not a password). Client Server
第 28 頁 Research Goal To design a user authentication and key agreement protocol via password. The protocol must satisfy the following requirements: 1. based on password only, 2. password may be weak, 3. be secure against the dictionary attack, 4. can provide perfect forward secrecy.
第 29 頁 Encrypted Key Exchange (EKE) [Bellovin and Merritt, 1992] Two parties share a common password EKE can withstand dictionary attack P P Generate encrypt/decrypt keys Generate R R(Cha) R(Cha||Chb) R(Chb) ServerClient
第 30 頁 DHEKE [Bellovin and Merritt, 1992]
第 31 頁 Conclusions Password authentication and key agreement protocols are widely used. EX : Electronic Commerce, Electronic Stock Trading Two-party protocols are suitable for client/server environment. EX : Telnet, FTP Three-party protocols are suitable for single server and multiple clients environment. Any two clients can authenticate each other and reach secure communication.
第 32 頁 Three-Party Key Exchange Protocol Each client shares an easy-to-remember password with the server. The protocol is responsible for establishing secure communication between two clients via the help of the server. Application: E.g., ICQ, or mobile users
第 33 頁 STW-3PEKE [Steiner, Tsudik, and Waidner, 1995] ASBASB
第 34 頁 Undetectable On-line guessing attack (I) [Ding and Horster, 1995] ASBASB record guess get
第 35 頁 Undetectable On-line guessing attack (II) [Ding and Horster, 1995] SBSB guess compute
第 36 頁 Off-line Guessing Attack on STW-3PEKE [Lin, Sun, and Hwang, 2000] A*S*B
第 37 頁 LSH-3PEKE (with server’s public key) [Lin, Sun, and Hwang, 2000] ASBASB
第 38 頁 LSSH-3PEKE (without server’s public key) [ Lin, Sun, Steiner, and Hwang, 2001] ASBASB A,B
第 39 頁 Performance Comparison
第 40 頁 Verifier-based Protocol A server does not store plain password directly. Instead of storing a plain password, a server stores a verifiable text (called verifier). It provides higher security level: an attacker must perform dictionary attack when the server is corrupted. Furthermore, a verifier-based protocol can withstand the stolen verifier attack.
第 41 頁 1. Bellovin, S. Merritt, M., 1992, “Encrypted key Exchange: Password-based Protocols Secure against Dictionary Attacks. Proceedings of IEEE Symposium on Research in Security and privacy, Oakland. 2. Steiner, M. Tsudik G. and Waidner, M., 1995, “Refinement and Extension of Encrypted Key Exchange,” ACM Operating Systems Review, Vol.29, Issue 3, pp Ding, Y. and Horster, P., 1995, “Undetectable On-line Password Guessing Attacks”, Technical Report, TR F, July. 4. C. L. Lin, H. M. Sun, and T. Hwang, 2000, Three-Party Encrypted Key Exchange: Attacks and a Solution,” ACM Operating Systems Review, Vol. 34, No. 4, pp C. L. Lin, H. M. Sun, M. Steiner, and T. Hwang, 2001, "Three-party Encrypted Key Exchange Without Server Public-Keys," IEEE Communications Letters, Vol. 5, No. 12, pp C. L. Lin, H. M. Sun, and T. Hwang, 2001, “Efficient and Practical DHEKE Protocols,” ACM Operating Systems Review, Vol. 35, No. 1, pp References