Aller au contenu

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

TLS 1.3: Simplification et amélioration des performances#

  • 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/