Transport Layer Security (TLS)
Summary
PDF p.278Transport Layer Security (TLS) is a protocol developed to secure HTTP communications and other application protocols. It uses digital certificates and encryption to ensure secure data transmission. TLS has evolved from Secure Sockets Layer (SSL) and is widely used for secure web browsing (HTTPS) and VPN solutions.
In plain words
Supplementary — not from your PDFTLS replaced SSL and secures HTTPS (port 443) and many other protocols. The server proves its identity with a CA-issued certificate, both sides agree on a cipher suite, and an encrypted session begins. Client certificates can add mutual authentication. Use TLS 1.2 or 1.3. TLS 1.3 removes old insecure options, which prevents downgrade attacks, and speeds up the handshake. A TLS 1.2 cipher suite such as ECDHE-RSA-AES128-GCM-SHA256 names the key exchange, signature, bulk cipher and hash.
Detailed explanation
PDF p.278-
Development
- SSL: Developed by Netscape in the 1990s to secure HTTP.
- TLS: Adopted as a standard, enhancing SSL's security features.
-
Implementation
- Digital Certificates: Issued by trusted Certificate Authorities (CAs) to prove server identity and validate key pairs.
- Encryption: Server and client negotiate supported ciphers to establish an encrypted session.
- HTTPS: Operates over port 443, indicated by "https://" and a padlock icon in browsers.
- Client Certificates: Can be installed for mutual authentication, commonly used in VPNs and enterprise networks.
SSL/TLS Versions
Versions
- SSL: Older versions are insecure and should not be used.
- TLS 1.2: Commonly used, but can support legacy clients with older versions.
- TLS 1.3: Approved in 2018, prevents downgrade attacks and improves handshake protocol for faster connections.
Downgrade Attacks
- Definition: On-path attacks that force the use of weaker cipher suites and SSL/TLS versions.
- Prevention: TLS 1.3 removes insecure features and algorithms from previous versions.
Cipher Suites
Definition
- Cipher Suite: A set of algorithms used for encryption and hashing in TLS.
TLS 1.2 Cipher Suite Example
-
Format: ECDHE-RSA-AES128-GCM-SHA256
- ECDHE: Elliptic Curve Diffie-Hellman Ephemeral mode for session key agreement.
- RSA: RSA signatures.
- AES128-GCM: 128-bit AES-GCM for symmetric bulk encryption.
- SHA256: 256-bit SHA for HMAC functions.
TLS 1.3 Cipher Suite Example
-
Format: TLSAES256GCMSHA384
- AES256GCM: Bulk encryption key strength and mode of operation.
- SHA384: Cryptographic hash algorithm used in HKDF for deriving symmetric session keys.
Important terms
taken from the text above- SSL
- Developed by Netscape in the 1990s to secure HTTP.
- TLS
- Adopted as a standard, enhancing SSL's security features.
- Digital Certificates
- Issued by trusted Certificate Authorities (CAs) to prove server identity and validate key pairs.
- Encryption
- Server and client negotiate supported ciphers to establish an encrypted session.
- HTTPS
- Operates over port 443, indicated by "https://" and a padlock icon in browsers.
- Client Certificates
- Can be installed for mutual authentication, commonly used in VPNs and enterprise networks.
- TLS 1.2
- Commonly used, but can support legacy clients with older versions.
- TLS 1.3
- Approved in 2018, prevents downgrade attacks and improves handshake protocol for faster connections.
- Cipher Suite
- A set of algorithms used for encryption and hashing in TLS.
- ECDHE
- Elliptic Curve Diffie-Hellman Ephemeral mode for session key agreement.
- RSA
- RSA signatures.
- AES128-GCM
- 128-bit AES-GCM for symmetric bulk encryption.
- SHA256
- 256-bit SHA for HMAC functions.
- AES256GCM
- Bulk encryption key strength and mode of operation.
- SHA384
- Cryptographic hash algorithm used in HKDF for deriving symmetric session keys.
Examples & real-world scenarios
Supplementary — not from your PDF- Disabling SSL 3.0, TLS 1.0 and TLS 1.1 on a web server.
- Mutual TLS between two internal services.
- Reading a cipher suite name to identify its key exchange.
Scenario
A server still allows old SSL versions for one legacy client. That opens the door to downgrade attacks for everyone. Retiring or upgrading the legacy client and allowing only TLS 1.2/1.3 closes the gap.
Common mistakes
Supplementary — not from your PDF- Calling it 'SSL' and allowing actual SSL versions to stay enabled.
- Misreading cipher suite parts. ECDHE is the key exchange; AES-GCM is the bulk cipher.
Practical skills
Supplementary — not from your PDF- Decode a TLS 1.2 cipher suite name.
- Check your own website's TLS configuration.
What I should remember
Key Points PDF p.278-
TLS Development
- SSL to TLS: Enhanced security features.
- Digital Certificates: Issued by CAs for server identity and key validation.
-
TLS Versions
- TLS 1.2: Supports legacy clients.
- TLS 1.3: Prevents downgrade attacks, faster handshake.
-
Cipher Suites
- TLS 1.2 Example: ECDHE-RSA-AES128-GCM-SHA256.
- TLS 1.3 Example: TLSAES256GCMSHA384.