Transport Layer Security (TLS) évolue continuellement pour adresser les nouvelles menaces. TLS 1.3, publié en 2018, représente une avancée significative par rapport à TLS 1.2.
La transition nécessite une planification soigneuse pour maintenir la compatibilité tout en améliorant la sécurité.
Comprendre TLS 1.2 et TLS 1.3
TLS 1.2 : le standard actuel
Publié en 2008, TLS 1.2 reste la version la plus largement déployée. Il est sécurisé quand correctement configuré.
Caractéristiques :
- Support d'une large gamme de suites de chiffrement
- Inclut des algorithmes anciens pour la compatibilité
- Nécessite une configuration soigneuse pour éviter les options faibles
TLS 1.3 : l'état de l'art
Publié en 2018, TLS 1.3 est une révision majeure qui rationalise le protocole.
Caractéristiques :
- Suppression des suites de chiffrement obsolètes
- Seuls les algorithmes modernes et sécurisés sont autorisés
- Handshake simplifié avec moins d'allers-retours
- Mode 0-RTT pour des connexions encore plus rapides
Pourquoi Mettre à Jour vers TLS 1.3
TLS 1.3 offre des avantages significatifs dans trois domaines.
Sécurité renforcée
- Algorithmes obsolètes supprimés : pas de RC4, pas de 3DES, pas de CBC mode ciphers
- Élimination des vecteurs d'attaque : BEAST, POODLE, attaques de downgrade
- Perfect Forward Secrecy obligatoire : pas optionnel comme en TLS 1.2
Performance améliorée
- Latence réduite : handshake de 1-RTT au lieu de 2-RTT
- Mode 0-RTT : les clients de retour peuvent envoyer des données immédiatement
- Impact significatif : particulièrement sur les connexions à haute latence
Simplification
- Moins d'options : donc moins de façons de mal configurer
- Pas de tuning applicatif nécessaire : les améliorations sont automatiques
Différences Techniques Clés
Comprendre les différences techniques aide à planifier la migration.
Comparaison du handshake
| Aspect | TLS 1.2 | TLS 1.3 |
|---|---|---|
| Allers-retours | 2-RTT | 1-RTT |
| Reprise de session | Variable | 0-RTT possible |
| Paramètres de clé | Après ServerHello | Dans ClientHello |
Suites de chiffrement
TLS 1.2 : Plus de 300 suites supportées
TLS 1.3 : Seulement 5 suites, toutes AEAD
Les 5 suites TLS 1.3 :
TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_CCM_SHA256TLS_AES_128_CCM_8_SHA256
Autres différences
| Fonctionnalité | TLS 1.2 | TLS 1.3 |
|---|---|---|
| PFS | Optionnel | Obligatoire |
| Compression | Supportée | Supprimée (contre CRIME) |
| Renégociation | Supportée | Remplacée par key update |
| RSA key exchange | Supporté | Supprimé |
Bonnes Pratiques de Migration
Planifiez votre migration TLS avec ces recommandations.
Stratégie de déploiement
- Activez TLS 1.3 en complément : ne remplacez pas immédiatement TLS 1.2
- Surveillez l'adoption : suivez les pourcentages de connexions par version
- Définissez un calendrier : basé sur vos exigences de compatibilité
Configuration Nginx
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
Configuration Apache
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite TLSv1.3 TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
SSLHonorCipherOrder on
Tests de compatibilité
# Tester TLS 1.3
openssl s_client -connect example.com:443 -tls1_3
# Tester TLS 1.2
openssl s_client -connect example.com:443 -tls1_2
# Vérifier les protocoles supportés
nmap --script ssl-enum-ciphers -p 443 example.com
Conclusion
TLS 1.3 représente une amélioration significative en sécurité et performance. Ses algorithmes modernisés et son Perfect Forward Secrecy obligatoire en font le choix optimal.
Pour la plupart des organisations, activez TLS 1.3 tout en maintenant TLS 1.2 correctement configuré. Surveillez les tendances de trafic pour déterminer quand TLS 1.2 peut être désactivé.