Panorama des différentes versions, de SSL à TLS
L'évolution de SSL vers TLS
Vue d'ensemble
- SSL: Secure Sockets Layer, créé par Netscape
- SSL a évolué pour devenir TLS: Transport Layer Security
- Objectif initial: sécuriser les transactions en ligne
SSL 1.0: L'origine
- SSL développé par Netscape en 1994
- Version interne de Netscape, non publiée
- Problèmes de sécurité importants
- Jamais utilisée en production
- Utilisait des algorithmes comme RC4 et MD5
SSL 2.0: Les améliorations
- Publié en 1995 par Netscape
- Première version publique
- Problèmes de sécurité:
- Pas de protection contre les attaques de type "man-in-the-middle"
- Faiblesse des algorithmes de chiffrement
- Support des algorithmes tels que DES, 3DES, IDEA, RC2, RC4, MD5, SHA
- Rapidement remplacé par SSL 3.0
SSL 3.0: La dernière version de SSL
- Publié en 1996
- Correction des problèmes de sécurité de SSL 2.0
- Ajout de nouveaux algorithmes de chiffrement
- Utilise des algorithmes comme 3DES, RC4, HMAC-MD5, HMAC-SHA1
- Abandonné en 2015 à cause de la vulnérabilité POODLE
- SSL 3.0 est à la base de TLS 1.0
L'avènement de TLS
Pourquoi TLS plutot que SSL ?
- Standardisé par l'IETF (Internet Engineering Task Force)
TLS 1.0: La première version
- Publié en 1999 comme RFC 2246
- Basé sur SSL 3.0 avec des améliorations de sécurité
- Compatibilité descendante avec SSL 3.0
- Utilise des algorithmes tels que AES, DES, 3DES, RC4, SHA-1, MD5
- Commandes OpenSSL pour tester TLS 1.0:
openssl s_client -connect example.com:443 -tls1
TLS 1.1: Renforcement de la sécurité
- Publié en 2006 comme RFC 4346
- Améliorations:
- Protection contre les attaques CBC (Cipher Block Chaining)
- Prise en charge de l'IV (Initial Vector) explicite
- Introduction du support pour les suites cryptographiques AES
- Commandes OpenSSL pour tester TLS
openssl s_client -connect example.com:443 -tls1_1
TLS 1.2: Évolution vers des algorithmes plus sûrs
- Publié en 2008 comme RFC 5246
- Améliorations:
- Prise en charge des algorithmes de chiffrement plus sûrs (AES, SHA-256)
- Flexibilité pour choisir les algorithmes de chiffrement et de signature
- Suppression d'algorithmes de chiffrement faibles et obsolètes (ex : MD5)
- Commande OpenSSL:
openssl s_client -connect example.com:443 -tls1_2
- Publié en 2018 comme RFC 8446
- Améliorations:
- Réduction de la latence (moins d'allers-retours pour l'établissement de la connexion)
- Suppression d'algorithmes de chiffrement obsolètes et vulnérables
- Prise en charge de l'authentification basée sur les certificats et les clés publiques
- Simplification du protocole pour faciliter l'implémentation et la maintenance
- Commande OpenSSL:
openssl s_client -connect example.com:443 -tls1_3
- Vérifier la version TLS d'un site web:
https://www.ssllabs.com/ssltest/