Vad är TLS?
TLS (Transport Layer Security) är ett kryptografiskt protokoll som tillhandahåller säker kommunikation över datornätverk. TLS är efterföljaren till SSL (Secure Sockets Layer) och tekniken bakom HTTPS-anslutningar, säker e-postöverföring (STARTTLS) och många andra krypterade internetprotokoll. När du ser låsikonen i webbläsaren arbetar TLS med att kryptera data mellan din enhet och servern.TLS-versionernas historik
| Version | År | Status |
|---|---|---|
| SSL 2.0 | 1995 | Utfasad, osäker |
| SSL 3.0 | 1996 | Utfasad, osäker |
| TLS 1.0 | 1999 | Utfasad |
| TLS 1.1 | 2006 | Utfasad |
| TLS 1.2 | 2008 | Aktuell standard |
| TLS 1.3 | 2018 | Senaste, rekommenderad |
Så fungerar TLS
TLS-handskakning (TLS 1.2)
Client Server
│ │
├──── ClientHello ─────────────────► │
│ (supported ciphers, random) │
│ │
│ ◄─── ServerHello ──────────────────┤
│ (selected cipher, cert) │
│ │
├──── Key Exchange ────────────────► │
│ (encrypted pre-master secret) │
│ │
│ ◄─── Finished ─────────────────────┤
│ │
└──── Encrypted Data ◄──────────────►┘
Förbättringar i TLS 1.3
- Färre rundturer (snabbare handskakning)
- Osäkra chiffer har tagits bort
- Framåtriktad sekretess är obligatorisk
- Handskakningsmeddelanden krypteras
TLS-komponenter
Certifikat
- Autentiserar serverns identitet
- Utfärdas av certifikatutfärdare
- Innehåller en publik nyckel för kryptering
Chiffersviter
Definierar vilka krypteringsalgoritmer som används:
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
Användningsområden för TLS
| Tillämpning | Protokoll | Port |
|---|---|---|
| Webbläsning | HTTPS | 443 |
| E-post (IMAP) | IMAPS | 993 |
| E-post (SMTP) | SMTPS | 465 |
| E-postöverföring | STARTTLS | 587 |
| FTP | FTPS | 990 |
Serverkonfiguration
Nginx TLS-konfiguration
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;
Bästa metoder
1. Använd TLS 1.2 eller 1.3: Inaktivera äldre versioner
2. Starka chiffersviter: Föredra AEAD-chiffer
3. Aktivera HSTS: Tvinga fram TLS-anslutningar
4. Certifikathantering: Automatisera förnyelsen
5. Framåtriktad sekretess: Använd ECDHE-nyckelutbyte
6. Regelbundna tester: SSL Labs, testssl.sh
Testa TLS-konfigurationen
# 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 är grunden för säker internetkommunikation. Det krypterar data under överföring och skyddar mot avlyssning, manipulering och man-in-the-middle-attacker.