Wat is TLS?
TLS (Transport Layer Security) is een cryptografische protocol dat beveiligde communicatie via computernetwerken biedt. TLS is de opvolger van SSL (Secure Sockets Layer) en is de technologie achter HTTPS-verbindingen, veilige e-mailoverdracht (STARTTLS), en vele andere gecodeerde internetprotocollen. Wanneer u het hangslotpictogram in uw browser ziet, werkt TLS aan het versleutelen van gegevens tussen uw apparaat en de server.TLS-versiegeschiedenis
| Versie | Jaar | Status |
|---|---|---|
| SSL 2.0 | 1995 | Verouderd, onzeker |
| SSL 3.0 | 1996 | Verouderd, onzeker |
| TLS 1.0 | 1999 | Verouderd |
| TLS 1.1 | 2006 | Verouderd |
| TLS 1.2 | 2008 | Huidige norm |
| TLS 1.3 | 2018 | Laatste, aanbevolen |
Hoe werkt TLS
TLS Handshake (TLS 1.2)
Client Server
│ │
├──── ClientHello ─────────────────► │
│ (supported ciphers, random) │
│ │
│ ◄─── ServerHello ──────────────────┤
│ (selected cipher, cert) │
│ │
├──── Key Exchange ────────────────► │
│ (encrypted pre-master secret) │
│ │
│ ◄─── Finished ─────────────────────┤
│ │
└──── Encrypted Data ◄──────────────►┘
TLS 1.3 Verbeteringen
- Minder rondjes (snellere handdruk)
- Verwijderde onzekere cijfers
- Forward security verplicht
- Gecodeerde handdrukberichten
TLS-componenten
Certificaten
- Authenticeer server identiteit
- Uitgegeven door certificaatautoriteiten
- Bevat publieke sleutel voor encryptie
Cipher Suites
Definieer gebruikte encryptiealgoritmen:
TLS_AES_256_GCM_SHA384 (TLS 1.3)
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (TLS 1.2)
│ │ │ │
│ │ │ └── Hash algorithm
│ │ └── Encryption algorithm
│ └── Key exchange
└── Protocol
TLS use cases
| Toepassing | Protocol | Haven |
|---|---|---|
| Webbrowsen | HTTPS | 443 |
| E-mail (IMAP) | IMAPEN | 993 |
| E-mail (SMTP) | SMTPS | 465 |
| E-mailindiening | STARTTLS | 587 |
| FTP | FTPS | 990 |
Serverconfiguratie
Nginx TLS-configuratie
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256;
ssl_prefer_server_ciphers off;
ssl_session_cache shared:SSL:10m;
Beste praktijken
1. Gebruik TLS 1.2 of 1.3: Oudere versies uitschakelen
2. * Strong cipher suites: Voorkeur voor AEAD-sleutels
3. HSTS inschakelen: TLS-verbindingen forceren
4. Certificaatbeheer: Vernieuwing automatiseren
5. Geheimhouding naar voren: Gebruik EDHE sleutel uitwisseling
6. Reguliere testen**: SSL Labs, testsl.sh
TLS-configuratie testen
# OpenSSL test
openssl s_client -connect example.com:443 -tls1_3
# Check certificate
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -text
TLS is de basis van beveiligde internetcommunicatie, het versleutelen van gegevens in transit om te beschermen tegen afluisteren, knoeien, en man-in-the-middle aanvallen.