SSTIC 2012 - SSL/TLS état des lieux et recommandations
https://www.sstic.org/2012/presentation/ssl_tls_soa_recos/
L’auteur prévient, il n’y a pas tout dans les slides, plus de détails dans les actes (NDLR: ouf).
Bon SSL/TLS ça sert à quoi : vpn, https, sécurité wifi, on à mis ça partout ou l’on voulait chiffrer la connexion de bout en bout… L’orateur nous fait donc un rappel du scénario d’établissement d’une session TLS 🙂
Le protocole existe en 5 versions, la v2 est à proscrire car elle utilise md5 pour les checksum (algo présentant des collisions), et présente un certain nombre de vulnérabilités (pas bien, à jetter). La version v3 d’SSL à été conçue par des cryptographes, donc meilleure, mais elle est vulnérable à une attaque crypto lié à PKCS#1.
Suite à ça, TLS est normalisé en 2001 à l’IETF, là encore, des attaques crypto ont été découvertes. Elles étaient à l’époque théoriques, puis une version 1.1 à été publiée pour corriger cette attaque. Et en 2011, l’attaque théorique à été démontrée en pratique. Puis on à eu BEAST…
La migration à TLS 1.1 se fait tout doucement, et il existe une version 1.2 qui est plus une refonte de la norme avec quelques enrichissements.
Toutes les stacks, clients et serveurs ne supportent pas TLSv1.1 et 1.2, mais tous supportent SSLv3 et TLSv1.0, il n’y a donc pas de raisons de ne pas l’utiliser hein ;). Gros win pour Safari qui supporte jusqu’a TLSv1.2 (mais bon si le serveur suit pas ça sert à rien :s).
L’auteur présente une petite suite de tests à coup d’iframes et d’iconnes permettant de tester ce que supporte le navigateur. Coté serveur, il existe SSLScan pour évaluer leurs capacités. Globalement, clients et serveurs sont conformes au RGS.
La réalité elle est moins glorieuse… puisque lorsqu’un serveur comme IIS utilise un mode directif, il peut forcer l’utilisation d’un algo particulier, tel que paramétré sur le serveur windows au niveau global, et donc la désactivation d’une suite crypto particulière implique sa désactivation au niveau serveur aussi, ce qui met bien la zone.
L’autre problème de SSL/TLS, c’est la gestion des certificats, et là quand on regarde en pratique, il n’y a que 60% des messages Certificate qui sont conformes, les autres envoient des chaines incomplètes, inutiles, multiples bref… ils font pas leur taff correctement :s ce qui rend l’établissement de session instable avec les piles respectant la norme scrupuleusement.
Perspectives :
Des plates-formes de test simple pour évaluer les capacités réelles des clients et des serveurs (et non les fonctionnalités théoriques). Il y a un gros travail à fournir sur la confiance et la révocation des certificats.