Le chiffrement en transit (encryption in transit) est la discipline qui protège les données pendant leur transmission entre deux systèmes, par opposition au chiffrement au repos qui protège les données stockées. Il repose en 2026 principalement sur TLS 1.3 (RFC 8446) pour HTTPS, gRPC, bases de données, SMTP/IMAP STARTTLS, complété par SSH moderne (ed25519 keys), IPsec et WireGuard pour les tunnels VPN site-to-site, QUIC et HTTP/3 (RFC 9000 et 9114) pour le web moderne, mTLS pour l'authentification service-to-service Zero Trust. Les règles d'or 2026 : TLS 1.3 activé partout, TLS 1.2 minimum pour compatibilité legacy, TLS 1.0/1.1 désactivés (IETF RFC 8996), cipher suites AEAD uniquement, Perfect Forward Secrecy obligatoire, HSTS activé avec preload, certificats ECDSA P-256 ou RSA 2048+ (Let's Encrypt standard). Les obligations réglementaires (NIS2, DORA, PCI DSS v4.0, HDS, ANSSI RGS v2.0) imposent toutes le chiffrement en transit pour les données sensibles. La transition post-quantique (hybride X25519+ML-KEM) est en cours de déploiement chez Cloudflare, Google, Apple, Signal. Cet article détaille les protocoles, les configurations recommandées, mTLS, certificats, outils d'audit et erreurs courantes à éviter.
Pourquoi le chiffrement en transit est critique
4 menaces principales
1. Man-in-the-Middle (MitM)
Attaquant sur le chemin réseau (wifi public, ISP compromis,
routeur d'entreprise malveillant, proxy d'état)
Sans TLS, tout trafic lu et modifiable
2. Écoute passive ISP et état
Opérateurs télécom dans certains pays conservent le trafic
Snowden 2013 a documenté l'écoute systémique XKeyscore
Sans chiffrement, contenu et métadonnées exposés
3. Vol de credentials
Cookies de session, tokens d'API, mots de passe
Même les bases authentiées HTTP Basic sont envoyées en clair sans TLS
4. Tampering et injection
Modification du trafic en vol (injection JS, patch update malveillant,
deface de page)
Historique : FBI Cisco router implants documentésObligations réglementaires 2026
| Cadre | Exigence chiffrement transit |
|---|---|
| RGPD article 32 | Mesures appropriées, TLS implicite pour données personnelles |
| NIS2 (France octobre 2024) | Chiffrement obligatoire pour entités essentielles/importantes |
| DORA (financier janvier 2025) | TLS obligatoire sur tous flux API |
| PCI DSS v4.0 | TLS 1.2+ minimum, 1.1 et inférieurs interdits |
| HDS (santé France) | Chiffrement in transit + mTLS sur flux sensibles |
| ISO 27001 Annexe A.8 | Transport encryption documenté |
| LPM (OIV France) | Selon guides ANSSI par secteur |
| ANSSI RGS v2.0 | Niveau Standard : TLS 1.2+, Niveau Élevé : TLS 1.3 + mTLS |
TLS 1.3 : le standard 2026
TLS 1.3 (Transport Layer Security 1.3, RFC 8446, août 2018) est la version à déployer partout en 2026. TLS 1.2 (RFC 5246, 2008) reste acceptable temporairement pour compatibilité, mais TLS 1.0/1.1 sont formellement dépréciés depuis RFC 8996 (2021).
Gains TLS 1.3 vs TLS 1.2
Handshake simplifié : 1-RTT (vs 2-RTT en TLS 1.2) + 0-RTT optionnel (session resumption)
Latence réduite : -30 à -40 % sur nouvelles connexions
Cipher suites réduites : 5 suites AEAD uniquement (vs 37+ en TLS 1.2)
Perfect Forward Secrecy : OBLIGATOIRE (vs optionnel TLS 1.2)
Suppression des options dangereuses :
- RSA key exchange (vulnerability Bleichenbacher)
- CBC cipher modes (POODLE, BEAST)
- Compression (CRIME)
- Renégociation (DoS, MitM)
- SHA-1, MD5, RC4, 3DES, EXPORT ciphers
Better privacy : ServerHello chiffré, extensions chiffrées
Encrypted Client Hello (ECH, draft RFC) : masque le SNILes 5 cipher suites TLS 1.3
TLS_AES_256_GCM_SHA384 : standard robuste
TLS_CHACHA20_POLY1305_SHA256 : alternative sans AES-NI (mobile, IoT)
TLS_AES_128_GCM_SHA256 : standard accepté
TLS_AES_128_CCM_SHA256 : IoT contraint
TLS_AES_128_CCM_8_SHA256 : IoT très contraint (pas recommandé grand public)
Note : Perfect Forward Secrecy par défaut, pas de négociation à craindreConfiguration Nginx TLS 1.3 recommandée 2026
server {
listen 443 ssl;
listen [::]:443 ssl;
listen 443 quic reuseport; # HTTP/3 QUIC
listen [::]:443 quic reuseport;
server_name example.com;
# TLS 1.2 + 1.3 uniquement
ssl_protocols TLSv1.2 TLSv1.3;
# Cipher suites Mozilla Intermediate
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off; # client choisit sa préférence en 1.3
# Certificat (Let's Encrypt via certbot)
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
# DH params 2048 bits minimum
ssl_dhparam /etc/nginx/dhparam.pem;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
resolver 1.1.1.1 8.8.8.8 valid=60s;
resolver_timeout 5s;
# HSTS
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
# HTTP/3 advertise
add_header Alt-Svc 'h3=":443"; ma=86400';
# Session tickets (disabled for forward secrecy)
ssl_session_tickets off;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
# Certificat keys : ECDSA P-256 préféré + RSA 2048 fallback
# ssl_certificate /etc/letsencrypt/live/example.com/ecdsa-fullchain.pem;
# ssl_certificate_key /etc/letsencrypt/live/example.com/ecdsa-privkey.pem;
location / {
root /var/www/html;
}
}
# Redirection HTTP → HTTPS
server {
listen 80;
listen [::]:80;
server_name example.com;
return 301 https://$host$request_uri;
}Autres protocoles de chiffrement en transit
SSH moderne (OpenSSH 9.x)
# Configuration client ~/.ssh/config recommandée 2026
Host *
# Algorithmes modernes uniquement
HostKeyAlgorithms ssh-ed25519,ecdsa-sha2-nistp256,rsa-sha2-512,rsa-sha2-256
KexAlgorithms curve25519-sha256@libssh.org,diffie-hellman-group-exchange-sha256
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com
# Clés utilisateur
IdentityFile ~/.ssh/id_ed25519
IdentitiesOnly yes
# Protection bruteforce (fail2ban serveur conseillé)
ServerAliveInterval 60OpenSSH 9.x (2022+) désactive SHA-1 par défaut et introduit le support post-quantique hybride (sntrup761x25519-sha512@openssh.com).
IPsec / IKEv2
Utilisé pour VPN site-to-site, mobile (iOS/Android natif), accès distant. Plus lourd à configurer que WireGuard mais mieux supporté dans certains contextes enterprise. Algorithmes recommandés 2026 : AES-256-GCM, SHA-256/SHA-384, Curve25519 ou P-384.
WireGuard
Protocole VPN moderne (2016, kernel Linux 5.6 en 2020). ChaCha20-Poly1305 + Curve25519 + BLAKE2s. Voir l'article dédié WireGuard : pourquoi l'utiliser en 2026 et comment démarrer.
QUIC et HTTP/3
QUIC (RFC 9000, 2021)
Transport UDP qui embarque TLS 1.3
Résout Head-of-Line blocking TCP
Connection migration (mobile IP change)
Handshake 0-RTT ou 1-RTT
HTTP/3 (RFC 9114, 2022)
Couche applicative sur QUIC
Multiplexing parallèle sans blocage
Support natif Cloudflare, Google, AWS CloudFront, Fastly
Déploiement 2026 :
Nginx 1.25+ avec module QUIC expérimental
Apache, HAProxy, Caddy : support mature
Cloudflare, Fastly : HTTP/3 actif par défautDTLS
TLS pour UDP, utilisé par WebRTC (communications audio/vidéo P2P), SRTP, VPN sur UDP legacy. DTLS 1.3 (RFC 9147, 2022) aligné sur TLS 1.3.
STARTTLS (SMTP, IMAP, POP3, LDAP)
Upgrade d'une connexion en clair vers TLS. Vulnérable à stripping attacks si mal configuré. En 2026, préférer les ports TLS dédiés (SMTPS 465, IMAPS 993) ou MTA-STS + DANE pour SMTP.
mTLS : mutual TLS et Zero Trust
Le mTLS (Mutual TLS) authentifie les deux parties : le serveur ET le client présentent un certificat X.509. C'est la brique principale du Zero Trust Networking.
Cas d'usage 2026
Service mesh Kubernetes (Istio, Linkerd, Consul Connect)
Chaque pod a un certificat court-durée
Rotation automatisée (1-24h)
Identité SPIFFE / SPIRE standardisée
API B2B strictes
Client certificate mandatory (bank-to-bank, partner APIs)
Authentification sans tokens + TLS classique
Zero Trust Network Access
Remplace les VPN classiques
Chaque requête authentifiée par cert
Cloudflare Access, Google BeyondCorp, Tailscale
IoT secteur régulé
Device identity via cert stockée dans TPM
Mutual authentication sans mot de passeArchitecture mTLS recommandée
Niveau 1 - PKI interne
CA racine offline (HSM)
CA intermediate online dans Vault PKI ou équivalent
Rotation CA intermediate : 1-2 ans
Niveau 2 - Émission de certificats de service
cert-manager (Kubernetes) avec issuer Vault ou Let's Encrypt
SPIFFE/SPIRE pour workload identity cross-cluster
Rotation courte : 1-24h
Niveau 3 - Service mesh
Istio mTLS AUTO (STRICT mode production)
Linkerd mTLS par défaut automatique
Consul Connect auto-mTLS
Niveau 4 - Ingress / external
mTLS sur quelques endpoints critiques (API partner)
Frontend public reste en TLS simple avec auth applicativeCertificats : Let's Encrypt, cert-manager, AWS ACM
Let's Encrypt et ACME
Standard 2026 pour les certificats web publics gratuits. ACME (RFC 8555) automatise l'émission et le renouvellement.
# certbot standalone
certbot certonly --standalone -d example.com -d www.example.com
# certbot avec nginx plugin
certbot --nginx -d example.com
# Renouvellement automatique via cron ou systemd timer
certbot renew --quiet --deploy-hook "systemctl reload nginx"cert-manager (Kubernetes)
# ClusterIssuer Let's Encrypt
apiVersion: cert-manager.io/v1
kind: ClusterIssuer
metadata:
name: letsencrypt-prod
spec:
acme:
server: https://acme-v02.api.letsencrypt.org/directory
email: ops@example.com
privateKeySecretRef:
name: letsencrypt-prod-key
solvers:
- http01:
ingress:
class: nginx
---
# Certificate pour un ingress
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: example-tls
namespace: default
spec:
secretName: example-tls
duration: 2160h # 90 jours
renewBefore: 360h # renouveler 15 jours avant
dnsNames:
- example.com
- www.example.com
issuerRef:
name: letsencrypt-prod
kind: ClusterIssuerManaged services cloud
AWS Certificate Manager (ACM)
Gratuit pour usage AWS
Auto-renewal
Intégration ELB, CloudFront, API Gateway
GCP Certificate Manager
Gratuit, auto-renewal
Integration Load Balancer, Cloud CDN
Azure Key Vault Certificates
Managed certs avec DigiCert ou GlobalSign
Auto-renewal possible
Integration App Gateway, Front Door
Cloudflare Origin CA
Certificats longue durée (15 ans) pour origine derrière Cloudflare
Gratuit pour plans CloudflareErreurs courantes à éviter
1. Désactiver la vérification de certificat
# VULNÉRABLE
import requests
requests.get('https://api.example.com', verify=False)
# Accepte aussi les certificats expirés, auto-signés, wrong hostname
# CORRIGÉ
requests.get('https://api.example.com', verify=True)
# Pour CA interne : verify='/etc/ssl/ca-internal.pem'2. Pinning SSL/TLS cassant en production
Le certificate pinning (app mobile) lie l'app à un certificat précis. Si ce certificat change avant mise à jour de l'app, tous les utilisateurs sont coupés. Parade : pinning avec backup keys, rotation planifiée, monitoring expiration.
3. HSTS mal configuré
# Piège : max-age court qui ne protège pas efficacement
add_header Strict-Transport-Security "max-age=60"; # 60 sec = inutile
# Piège : preload sans HTTPS fonctionnel partout
add_header Strict-Transport-Security "max-age=63072000; preload";
# Si HTTPS casse ensuite, impossible à désactiver pendant 2 ans
# Correct : rollout progressif
# 1. max-age=300 pendant quelques jours pour tester
# 2. max-age=86400 pendant 1 semaine
# 3. max-age=31536000 stable
# 4. includeSubDomains après vérification
# 5. preload après stabilité confirmée (soumission hstspreload.org)4. Cipher faibles ou legacy
Accepter RC4, 3DES, EXPORT ciphers, TLS 1.0/1.1. Testé par SSL Labs et testssl.sh.
5. Absence de SNI
Serveur qui sert le même certificat à toutes les connexions. Blocant pour multi-tenancy.
6. OCSP stapling cassé
Si OCSP stapling est activé mais le serveur OCSP est injoignable, le browser peut bloquer. Parade : ssl_stapling_verify on + resolver fiable.
7. Renouvellement manuel oublié
Certificats expirés en production = panne majeure. Toujours automatiser le renouvellement via ACME ou cert-manager.
Outils d'audit 2026
Scanners en ligne
SSL Labs SSL Test (ssllabs.com/ssltest)
Note A+ à F, rapport détaillé
Test gratuit, un peu lent (2-3 min)
Standard industriel
Mozilla Observatory (observatory.mozilla.org)
TLS + headers de sécurité
Note A+ à F
hardenize.com
Audit stack complet : TLS, DNS, email, headers
ImmuniWeb SSL Test
Test détaillé, compliance checks (PCI DSS, NIST)Scanners CLI
testssl.sh (OSS, drwetter/testssl.sh)
Le plus complet, offline-capable
Tests vulnérabilités historiques : POODLE, BEAST, Lucky13, FREAK, Logjam, etc.
nmap --script=ssl-enum-ciphers -p 443 example.com
Liste des ciphers supportés
openssl s_client -connect example.com:443 -tls1_3
Test connexion spécifique
Inspection chaîne de certificats
cipherscan (https://github.com/mozilla/cipherscan)
Alternative Python, Mozilla-maintainedMonitoring continu
Nagios / Icinga ssl check : alerte expiration
Certbot + cron : renouvellement auto + monitoring
SSL Labs API : test programmé via script
Cloudflare / Fastly dashboards : TLS handshakes metrics
Prometheus ssl_exporter : export Prometheus pour GrafanaPréparation post-quantique
NIST a finalisé en août 2024 les trois premiers standards post-quantiques : ML-KEM (FIPS 203, ex-Kyber), ML-DSA (FIPS 204, ex-Dilithium), SLH-DSA (FIPS 205, ex-SPHINCS+). La transition TLS post-quantique est en cours.
Déploiements hybrides 2024-2026
Cloudflare
X25519Kyber768Draft00 activé depuis 2022
Hybrid ECDHE + ML-KEM progressif
Google Chrome / Android
Support hybrid TLS depuis 2023
Activation progressive côté serveur Google
AWS KMS et Secrets Manager
Hybrid support en preview 2025-2026
OpenSSH 9.x
sntrup761x25519-sha512 en 9.0 (2022)
mlkem768x25519-sha256 en préparation
Apple iMessage PQ3 (iOS 17.2, 2024)
Combine Curve25519 + Kyber
Signal Protocol PQXDH (2024)
X25519 + Kyber pour clés longue duréeRecommandations ANSSI
Le document ANSSI « Transition post-quantique de TLS 1.3 » (publié 2024) recommande :
- Hybridation dès maintenant pour données à protéger au-delà de 2030.
- Conservation du classique (X25519, P-256) en parallèle pour compatibilité.
- Surveillance des standards IETF tls-hybrid-design en cours de finalisation.
Checklist déploiement TLS 2026
Serveur web / reverse proxy :
[ ] TLS 1.2 + 1.3 activés, 1.0/1.1 désactivés
[ ] Mozilla Intermediate cipher suite par défaut
[ ] HSTS avec max-age >= 1 an après stabilisation
[ ] OCSP stapling activé + resolver fiable
[ ] HTTP → HTTPS redirect (301) obligatoire
[ ] HTTP/3 QUIC activé si ingress supporte
Certificats :
[ ] Let's Encrypt ou CA interne (pas de certs auto-signés en prod)
[ ] Auto-renewal (certbot cron, cert-manager)
[ ] Monitoring expiration (alerte J-30, J-15, J-7)
[ ] ECDSA P-256 + RSA 2048 bi-algorithme pour compat
Applications client :
[ ] verify=True partout, pas de verify=False
[ ] Mobile : certificate pinning si criticité élevée
[ ] Client secret stocké dans keychain OS (pas code)
Monitoring :
[ ] SSL Labs note A ou A+ sur endpoints publics
[ ] testssl.sh dans un cron hebdomadaire
[ ] Alertes sur downgrade, cipher faible détecté
Post-quantique (pour données long terme) :
[ ] Évaluer hybridation ML-KEM / Kyber selon criticité
[ ] Suivre RFC tls-hybrid-designPoints clés à retenir
- Chiffrement en transit = protection des données en mouvement. Standards 2026 : TLS 1.3 (RFC 8446), QUIC + HTTP/3, SSH moderne, IPsec, WireGuard, DTLS.
- TLS 1.3 activé partout. TLS 1.2 temporairement pour compat. TLS 1.0/1.1 désactivés (RFC 8996). SSLv3 et inférieurs absolument bannis.
- Perfect Forward Secrecy obligatoire en 2026. AEAD (AES-GCM, ChaCha20-Poly1305) uniquement. Pas de RSA key exchange, pas de CBC, pas de SHA-1.
- mTLS pour Zero Trust service-to-service (Istio, Linkerd, Consul Connect). PKI interne via cert-manager + Vault ou SPIFFE/SPIRE. Rotation automatique 1-24h.
- QUIC et HTTP/3 en production 2026 (Cloudflare, Google, AWS CloudFront). Nginx 1.25+, HAProxy, Caddy supportent.
- Certificats : Let's Encrypt standard public (90 jours, ACME), cert-manager Kubernetes, AWS ACM, GCP Certificate Manager. Auto-renewal obligatoire. ECDSA P-256 préféré, RSA 2048 fallback.
- Erreurs fréquentes :
verify=False, HSTS trop court ou preload non testé, certs expirés, ciphers faibles. Testés par SSL Labs, testssl.sh. - Post-quantique : hybridation X25519+ML-KEM déjà en déploiement chez Cloudflare, Apple, Signal, OpenSSH. ANSSI recommande pour données à protéger au-delà de 2030.
Pour compléter le chiffrement en transit avec de la crypto symétrique moderne, voir ECC expliqué : cryptographie sur courbes elliptiques 2026. Pour gérer les certificats et clés associées, lire gestion des clés : les bases du key management en 2026. Pour les erreurs crypto spécifiques à l'implémentation applicative, consulter erreurs fréquentes en crypto côté développeur : top 12 à éviter. Pour un tunnel VPN alternatif à IPsec avec crypto moderne, voir WireGuard : pourquoi l'utiliser en 2026 et comment démarrer.





