When you enter a URL with https:// in your browser, your communication is wrapped inside the Transport Layer Security (TLS) protocol (the modern successor to legacy SSL). TLS operates between the TCP transport layer and the HTTP application layer, encrypting all web traffic, URLs, headers, and cookies to protect them from ISP surveillance, coffee shop Wi-Fi snooping, and packet injection.
Published in 2018 under RFC 8446, TLS 1.3 represents the most significant cryptographic upgrade in internet history. It streamlined security by eliminating dangerous legacy algorithms and cutting connection latency in half:
Figure 19.1: The TLS 1.3 1-RTT Handshake Flow showing ClientHello, ServerHello, and Key Derivation
EncryptedExtensions, Certificate, and CertificateVerify.To achieve an A+ rating on SSL Labs, configure your Nginx web server with modern TLS 1.3 parameters and HTTP Strict Transport Security:
# Enable ONLY modern secure TLS protocols
ssl_protocols TLSv1.2 TLSv1.3;
# Restrict to robust AEAD ciphersuites
ssl_ciphers 'TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off;
# Enable Session Caching & OCSP Stapling
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_stapling on;
ssl_stapling_verify on;
# Enforce HSTS (HTTP Strict Transport Security) for 1 Year
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
Broaden your defensive and offensive security knowledge across our curriculum:
Certificate authorities, root trust stores, and revocation lists (OCSP stapling).
Enforcing HTTPS using HTTP Strict Transport Security (HSTS) headers.
Deciphering TLS handshakes and decrypting traffic using SSLKEYLOGFILE.
OpenSSL CLI commands for generating CSRs, verifying certificates, and checking ciphers.