350 likes | 494 Views
Cryptographic Strength of SSL/TLS Servers: Current and Recent Practices. Homin K. Lee, Tal Malkin, Erich Nahum Columbia University and IBM Research. Motivation. Many Web services ( e.g. e-commerce, online banking) require secure servers
E N D
Cryptographic Strength of SSL/TLS Servers: Current and Recent Practices Homin K. Lee, Tal Malkin,Erich Nahum Columbia Universityand IBM Research
Motivation • Many Web services (e.g. e-commerce, online banking) require secure servers • Web security is handled by the Secure Socket Layer (SSL) protocol • SSL relies on cryptographic algorithms • A Web service is only truly secure if it uses current best practices in cryptography • A weak SSL configuration may indicate a poorly maintained site What crypto is actually used by SSL servers?
Talk Outline • Motivation • Brief review of SSL • Methodology • Results • Summary and Conclusions • Future Work
https ssl/tls tcp ip ethernet What is SSL/TLS? • SSL/TLS is a network protocol • SSL: Secure Socket Layer • TLS: Transport Layer Security • Provides end-to-end security: • Authentication of server & client • Encryption/integrity of data • History: • Netscape developed versions 1,2 • SSL v3 TLS 1.0 (IETF RFC 2246) • TLS 1.1 RFC out; 1.2 in draft
What Security Does SSL Provide? • Secrecy/Privacy/Confidentiality • Only 2 relevant parties understand messages, prevent eavesdropping • Encrypt using symmetric key ciphers • E.g., RC2, RC4, DES, 3-DES, AES, NULL(!) • Integrity: • Message you get/send is the same one they/you sent, detect tampering • Use one-way hash functions: MD5, SHA-1 • Authentication: • Person you’re speaking with is who they say they are, prevent masquerading • RSA, Digital Signature Standard (DSS) • Key Exchange: • Two parties who have never met mutually agree on a shared secret • RSA, Diffie-Hellman
ClientHello ServerHello Certificate verify certificate generate nonce & choose options generate nonce & ciphers time SSL Option Negotiation client server • Key Part of the SSL/TLS Handshake • Client HELLO message: • Nonce (random + time) • Cipher suites • Server HELLO response: • Nonce • Chosen cipher suite • Server Certificate • Client verifies certificate TLS1-RSA-EDH-AES256-SHA1; TLS1-DSS-EDH-3DES-MD5; SSL3-RSA-RSA-RC4128-MD5; SSL2-RSA-RSA-DES56-MD5; etc. TLS1-RSA-EDH-AES256-SHA1
Talk Outline • Motivation • Brief review of SSL • Methodology • Results • Summary and Conclusions • Future Work
ClientHello ServerHello Certificate verify certificate generate nonce & choose options generate nonce & ciphers time How to Discover Support client server • For each cyphersuite j • Make connection to server • Advertise only one cyphersuite j • Log success of first part of handshake • Terminate connection SSL2-RSA-RSA-DES56-MD5; SSL2-RSA-RSA-DES56-MD5
What is PSST? • PSST: The Probing SSL Scanning Tool • Leverages code from openssl & httperf • Modifications to use algorithm • Uses a list of over 19,000 SSL servers • Culled from TBIT site, Web100, NLANR, etc. • Run algorithm over each server • Takes roughly 3 days • Runs in 11/2006, 6/2006, 08/2005, 02/2005 • Wait for angry phone calls/email But none come!
Talk Outline • Motivation • Brief review of SSL • Methodology • Results • Summary and Conclusions • Future Work
Questions We’re Asking • What versions of SSL/TLS are out there? • What kinds of key exchange and site authentication? • How strong are the public keys? • What types of bulk transfer authentication? • What kinds of symmetric key encryption? • How strong are the symmetric keys? • Do sites choose the best crypto possible? • How has behavior changed over time?
SSL/TLS Protocol Version • SSL 2.0 has many flaws: • Vulnerable to man-in-the-middle attacks • Uses MD5 exclusively • Uses a weak MAC • Uses same key for authentication and encryption
Key Exchange & Authentication • EDH, DSS, and RSA give comparable levels of security for equal key sizes.
512 bits factored in 1999 NIST, RSA, NESSIE: Public key sizes should be at least 1024 bits for the recommended 80-bit level of security. Old export laws used to forbid sizes greater than 512 bits. Public Key Sizes
Hash Functions • MD5 has a family of collisions • Only option for SSL 2.0, but 79 servers use SSL 3.0 or TLS and only support MD5 • SHA-1 is also recently in trouble • SHA-256, SHA-512 are also available
Nearly all servers support DES, RC2, and RC4 Over 50% of the servers support the new AES standard Symmetric Key Encryption
DES DES support Maximum DES strength
RC2 RC2 Support Maximum RC2 Strength
RC4 RC4 Support Maximum RC4 strength
AES AES support
Changes in SSL Version Support over Time SSL Version Support (Percentage) Situation is improving, but not quickly enough
Changes in Cipher Support over Time Cipher Support (Percentage)
Changes in Public Key Size over Time Key Size Support (Percentage)
Summary and Conclusions • Most servers support reasonable cryptography • 57% support the new AES standard • 95% have strong public keys • Most servers also support weak cryptography • E.g., SSL2, 40-bit & 64 bit RC2/RC4/DES • Clients should not be allowed to use them • e.g., Firefox changing to disable SSL2 • Some servers have serious weaknesses • 5% of servers support breakable public keys • 24 servers only support SSL2 • 8% support only weak RC2 • 87 support only weak RC4 • 225 support only weak DES
Summary and Conclusions (cont) • We see some sites that make bad choices • Choose RC4 or DES over AES • Choose weaker symmetric keys than are supported • Choose SSL2 over SSL3 • We also see some strange birds • A few that do not support RSA • Some bizarre public key sizes (1048,1568,2560) • A few sites that support AES-128 or 256 but not both • Sites with inconsistent choices (behind a L4/L7 switch)
Future Work • Shorter term: • Categorize servers by industry • Categorize server strengths • Check certificates (expired, self-signed, revoked) • Longer Term: • Scan random (or routable) IPs rather than list • Measure SSH server crypto strength • Measure crypto used by clients
Q&A Thank you!
Related Work • Murray 2001 Study (USENIX Security 2001) • Tested 8081 servers • Found many more weak SSL sites (using 2001 defs) • Didn’t study choice of cipher, AES, etc. • NetCraft, SecuritySpace • Both sell subscription service testing SSL sites • Look at coarser-grain information (“strong”, “weak”) • SecuritySpace checks self-signed certificates (~9%) • Other Scanning Tools • E.g., IBM’s NSA, NMAP, ssh-scan (Michigan) • Look at different class of vulnerabilities (open ports, SSH version, etc.)
Default Choice of Symmetric Encryption • Most sites choose wisely
Key Strengths • NIST suggests that the 80-bit level will be appropriate until 2015, and the 112- bit level until 2035.