Qu'est-ce que TLS ?
TLS (Transport Layer Security - Sécurité de la Couche Transport) est un protocole cryptographique qui fournit une communication sécurisée sur les réseaux informatiques. TLS est le successeur de SSL (Secure Sockets Layer) et est la technologie derrière les connexions HTTPS, la transmission sécurisée des emails (STARTTLS) et de nombreux autres protocoles Internet chiffrés. Quand vous voyez l'icône de cadenas dans votre navigateur, TLS fonctionne pour chiffrer les données entre votre appareil et le serveur.Historique des Versions de TLS
| Version | Année | Statut |
|---|---|---|
| SSL 2.0 | 1995 | Obsolète, non sécurisé |
| SSL 3.0 | 1996 | Obsolète, non sécurisé |
| TLS 1.0 | 1999 | Obsolète |
| TLS 1.1 | 2006 | Obsolète |
| TLS 1.2 | 2008 | Standard actuel |
| TLS 1.3 | 2018 | Dernier, recommandé |
Comment Fonctionne TLS
Poignée de Main TLS (TLS 1.2)
Client Serveur
│ │
├──── ClientHello ─────────────────► │
│ (chiffres supportés, aléatoire) │
│ │
│ ◄─── ServerHello ──────────────────┤
│ (chiffre sélectionné, cert) │
│ │
├──── Échange de Clés ────────────► │
│ (secret pré-principal chiffré) │
│ │
│ ◄─── Terminé ──────────────────────┤
│ │
└──── Données Chiffrées ◄──────────►┘
Améliorations TLS 1.3
- Moins de allers-retours (poignée de main plus rapide)
- Suppression des chiffres non sécurisés
- Secret en avant obligatoire
- Messages de poignée de main chiffrés
Composants de TLS
Certificats
- Authentifier l'identité du serveur
- Émis par les Autorités de Certification
- Contient la clé publique pour le chiffrement
Suites de Chiffrement
Définir les algorithmes de chiffrement utilisés :
TLS_AES_256_GCM_SHA384 (TLS 1.3)
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (TLS 1.2)
│ │ │ │
│ │ │ └── Algorithme de hachage
│ │ └── Algorithme de chiffrement
│ └── Échange de clés
└── Protocole
Cas d'Usage de TLS
| Application | Protocole | Port |
|---|---|---|
| Navigation Web | HTTPS | 443 |
| Email (IMAP) | IMAPS | 993 |
| Email (SMTP) | SMTPS | 465 |
| Soumission d'Email | STARTTLS | 587 |
| FTP | FTPS | 990 |
Configuration du Serveur
Configuration TLS Nginx
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;
Meilleures Pratiques
1. Utiliser TLS 1.2 ou 1.3 : Désactiver les versions plus anciennes
2. Suites de chiffrement fortes : Préférer les chiffres AEAD
3. Activer HSTS : Forcer les connexions TLS
4. Gestion des certificats : Automatiser le renouvellement
5. Secret en avant : Utiliser l'échange de clés ECDHE
6. Test régulier : SSL Labs, testssl.sh
Test de Configuration TLS
# Test OpenSSL
openssl s_client -connect example.com:443 -tls1_3
# Vérifier le certificat
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -text
TLS est la fondation de la communication Internet sécurisée, chiffrant les données en transit pour protéger contre l'écoute clandestine, la manipulation et les attaques de l'homme au milieu.