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 Server
│ │
├──── ClientHello ─────────────────► │
│ (supported ciphers, random) │
│ │
│ ◄─── ServerHello ──────────────────┤
│ (selected cipher, cert) │
│ │
├──── Key Exchange ────────────────► │
│ (encrypted pre-master secret) │
│ │
│ ◄─── Finished ─────────────────────┤
│ │
└──── Encrypted Data ◄──────────────►┘
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)
│ │ │ │
│ │ │ └── Hash algorithm
│ │ └── Encryption algorithm
│ └── Key exchange
└── Protocol
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
# 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 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.