This document summarizes a talk on using TLS (Transport Layer Security) and SSL (Secure Sockets Layer). It discusses the history and evolution of TLS protocols, vulnerabilities discovered over time like Heartbleed, and recommendations for secure TLS configuration. Key recommendations include using TLS 1.2, 2048-bit certificates, disabling insecure ciphers and SSLv3, enabling perfect forward secrecy, and verifying TLS configuration with tools like SSLyze and SSL Labs. The talk also demonstrates TLS configuration through Nginx and OpenSSL.
12. You Are Doing Wrong
✓It’s too complex.
✓Crypto related is often hard to
understand.
13. SSL IN ACTION
Or Your Service Should Be SSL By Default!
14. SSL Version
✓ First developed in Netscape
✓ SSL v2: Oldest and broken
✓ SSL v3 (﴾1996)﴿. Old and almost secure.
✓ TLS 1.0 (﴾1999)﴿. Fine protocol
✓ TLS 1.1 (﴾2006)﴿. No known practical
attacks.
✓ TLS 1.2 (﴾2008)﴿. The most secure until now
✓ TLS 1.3 is being developed
https://www.trustworthyinternet.org/ssl-‐pulse/
15. SSL Version
✓ First developed in Netscape
✓ SSL v2: Oldest and broken
✓ SSL v3 (﴾1996)﴿. Old and almost secure. It
NOT SECURE NOW.
✓ TLS 1.0 (﴾1999)﴿. Fine protocol
✓ TLS 1.1 (﴾2006)﴿. No known practical attacks.
✓ TLS 1.2 (﴾2008)﴿. The most secure until now
✓ TLS 1.3 is being developed
https://www.trustworthyinternet.org/ssl-‐pulse/
18. Terms
✓CSR, Certificates, EV-‐Cert and CA.
✓Private key.
✓Block ciphers vs Stream ciphers
✓PFS (﴾Letter E)﴿: Perfect Forward Secrecy
✓Curves and Curves: Elliptic Curve
✓X509, PEM, PKCS#12 and conversion.
✓OpenSSL
19. Checklist
1. Updated the latest version (﴾OS, software)﴿
2. Get an 2048-‐bit certificates from CA. Better if it supports SHA256
3. Know your legacy.
4. Configure TLS on your system.
5. Verify TLS configuration with your own hands.
20. Explanation
2. Get an 2048-‐bit certificates from CA. Better if it supports SHA256
✓ 1024 bit is weak and can be broken easily.[1]
[1]https://isc.sans.edu/diary/Confusion+over+SSL+and+1024+bit+keys/18775
✓ SHA192 is on the way to be deprecated[2]
[2]https://konklone.com/post/why-‐google-‐is-‐hurrying-‐the-‐web-‐to-‐kill-‐sha-‐1
✓ 4096 is consuming CPU too much
3. Know your legacy
✓ Supported protocol version.
✓ Supported cipher suites.
✓ Your compliance.
21. Explanation
4. Configure TLS on your system.
✓ Avoiding insecure ciphers: RC4, DES, 3DES, MD5, SHA1,…
✓ Turn off SSLv3 support
✓ Turn off compression
✓ AES-‐128 is good enough (﴾both secure and faster)﴿.
✓ Enable PFS if supported.
✓ Switch to using Poly1350, Salsa-‐20 and EC
✓ Reference
https://wiki.mozilla.org/Security/Server_Side_TLS#Recommended_Ciphersuite
https://bettercrypto.org/static/applied-‐crypto-‐hardening.pdf
26. Explanation
5. Verify TLS configuration with your own hands.
✓ Openssl s_client
✓ Cipherscan and some browser tools
✓ https://www.howsmyssl.com/
✓ https://cc.dcsec.uni-‐hannover.de/
✓ iSec Partner SSLyze
✓ SSLLabs (﴾https://www.ssllabs.com/)﴿
✓ Make your hands dirty
28. Reference
[1] HTTPS Everywhere, Ilya Grigorik
https://docs.google.com/presentation/d/15H8Sj-‐Zol1tcum0CSylhmXns5r7cvNFtzYrcwAzkTjM/
present#slide=id.g12f3ee71d_10
[2] SSL Pulse Project
https://www.trustworthyinternet.org/ssl-‐pulse/
[3] How is my SSQL now
https://www.howsmyssl.com/
[4] The Art and Science of SSL Configuration, Nick Galbreath
https://speakerdeck.com/ngalbreath/the-‐art-‐and-‐science-‐of-‐ssl-‐configuration
[5] Bulletproof TLS and SSL, Ivan Ristic, ISBN: 978-‐1907117046
!
Special Thanks to authors of photos about Da Nang and Hoi An (on Flickr):
pierre_thach, nemesis1903 28