web-dev-qa-db-fra.com

Différence entre SSL et TLS

Selon wikipedia: http://fr.wikipedia.org/wiki/Transport_Layer_Security

On dirait que TLS remplace SSL, mais la plupart des sites Web utilisent encore SSL?

79
Howard

En bref, TLSv1.0 est plus ou moins SSLv3.1. Vous pouvez trouver plus de détails dans cette question sur ServerFault .

La plupart des sites Web prennent actuellement en charge à la fois SSLv3 et TLSv1.0, comme cette étude indique (article de Lee, Malkin et Nahum: Force de la cryptographie des serveurs SSL/TLS: actuels et récents Pratiques , IMC 2007) (lien obtenu à partir de la liste ILS TLS ). Plus de 98% soutiennent TLSv1 +.

Je pense que la raison pour laquelle SSLv3 est encore utilisé était pour le support hérité (bien que la plupart des navigateurs supportent TLSv1 et certains TLSv1.1 ou même TLSv1.2 de nos jours). Jusqu'à récemment, certaines distributions avaient encore SSLv2 (considéré comme non sécurisé) par défaut avec les autres.

(Vous pouvez également trouver cette question intéressante, bien qu'il s'agisse du modèle d'utilisation de TLS plutôt que de SSL par rapport à TLS (vous pourriez en fait avoir le même modèle avec SSL). Cela ne s'applique de toute façon pas à HTTPS. , HTTPS utilisant SSL/TLS depuis le début de la connexion.)

56
Bruno

De http://www.thoughtcrime.org/blog/ssl-and-the-future-of-authenticity/

Au début des années 90, à l’aube du Web, des ingénieurs de Netscape ont mis au point un protocole permettant de créer des requêtes HTTP sécurisées. Ce qu’ils ont proposé est appelé SSL. Étant donné le corpus de connaissances relativement limité concernant les protocoles sécurisés à l'époque, ainsi que les pressions intenses de tout le monde à Netscape, leurs efforts ne peuvent être considérés que comme incroyablement héroïques. C’est étonnant que SSL ait perduré aussi longtemps qu’il l’a fait, contrairement à un certain nombre de protocoles du même millésime. Nous avons certes beaucoup appris depuis, mais le problème des protocoles et des API est qu’il ya très peu de retours en arrière.

Il y a eu deux mises à jour majeures du protocole SSL, SSL 2 (1995) et SSL 3 (1996). Celles-ci ont été soigneusement conçues pour être rétro-compatibles, afin de faciliter l'adoption. Cependant, la compatibilité ascendante est une contrainte pour un protocole de sécurité pour lequel elle peut signifier une vulnérabilité en amont.

Ainsi, il a été décidé de casser la compatibilité en arrière et le nouveau protocole nommé TLS 1.0 (1999). (Avec le recul, il aurait peut-être été plus clair de l'appeler TLS 4)

Les différences entre ce protocole et SSL 3.0 ne sont pas dramatiques, mais elles sont suffisamment importantes pour que TLS 1.0 et SSL 3.0 n'interagissent pas. 

TLS a été révisé deux fois, TLS 1.1 (2006) et 1.2 (2008).

À partir de 2015, toutes les versions de SSL sont cassées et non sécurisées (attaque POODLE) et les navigateurs suppriment le support. TLS 1.0 est omniprésent, mais seul (60% des sites) prennent en charge TLS 1.1 et 1.2 , situation déplorable.


Si cela vous intéresse, je vous recommande le discours intelligent et amusant de Moxie Marlinspike à l'adresse https://www.youtube.com/watch?v=Z7Wl2FW2TcA

22
Colonel Panic

tls1.0 signifie sslv3.1

tls1.1 signifie sslv3.2

tls1.2 signifie sslv3.3

le rfc vient de changer le nom, vous pourriez trouver le code hexadécimal de tls1.0 est 0x0301, ce qui signifie sslv3.1

9
zhenyu li

TLS maintient une compatibilité ascendante avec SSL et, par conséquent, le protocole de communication est presque identique dans l'une des versions mentionnées ici. Les deux différences importantes entre SSL v.3, TLS 1.0 et TLS 1.2 sont la fonction pseudo-aléatoire (PRF) et la fonction de hachage HMAC (SHA, MD5, établissement de liaison), qui permettent de Cryptage des données d'application (clés du serveur + clés du client + IV). La principale différence entre TLS 1.1 et TLS 1.2 réside dans le fait que la version 1.2 nécessite l'utilisation d'un IV "explicite" pour se protéger contre les attaques CBC, bien qu'aucun changement ne soit nécessaire pour le PRF ou le protocole. TLS 1.2 La PRF est spécifique à la suite de chiffrement, ce qui signifie que la PRF peut être négociée pendant la négociation. Le protocole SSL a été développé à l'origine par Netscape Communications (historique), puis mis à jour par Internet Engineering Task Force (IETF, actuel). TLS est géré par le groupe de travail réseau. Voici la différence entre les fonctions PRF HMAC dans TLS:

TLS 1.0 et 1.1

PRF (secret, étiquette, graine) = P_MD5 (S1, étiquette + graine) XOR P_SHA-1 (S2, étiquette + graine);

TLS 1.2

PRF (secret, étiquette, graine) = P_hash (secret, étiquette + graine) 

2
SensorVista

"Si ce n'est pas cassé, n'y touchez pas". SSL3 fonctionne bien dans la plupart des scénarios (une faille fondamentale avait été trouvée dans le protocole SSL/TLS en octobre, mais c’est une faille dans les applications plutôt que dans un procol lui-même), donc les développeurs ne se dépêchent pas de mettre à jour leurs modules SSL. TLS apporte un certain nombre d'extensions utiles et d'algorithmes de sécurité, mais ils constituent un ajout pratique et ne sont pas indispensables. Donc, TLS sur la plupart des serveurs reste une option. Si le serveur et le client le prennent en charge, il sera utilisé. 

Mise à jour: dans '2016 SSL 3, et même les TLS jusqu'à 1.2 se sont révélés vulnérables à diverses attaques et la migration vers TLS 1.2 est recommandée. Il existe également des attaques sur les implémentations de TLS 1.2, bien qu'elles dépendent du serveur. TLS 1.3 est en cours de développement. Et maintenant, TLS 1.2 est un must. 

https://hpbn.co/transport-layer-security-tls/ est une bonne introduction

Le protocole SSL a été développé à l'origine par Netscape pour permettre la sécurité du commerce électronique sur le Web, ce qui nécessitait un cryptage pour protéger les données personnelles des clients, ainsi que des garanties d'authentification et d'intégrité pour assurer la sécurité des transactions. Pour ce faire, le protocole SSL a été implémenté au niveau de la couche application, directement au-dessus de TCP (Figure 4-1), permettant ainsi aux protocoles supérieurs (HTTP, courrier électronique, messagerie instantanée, etc.) de fonctionner sans modification assurer la sécurité des communications lors de la communication sur le réseau.

Lorsque SSL est utilisé correctement, un observateur tiers peut uniquement déduire les points de terminaison de la connexion, le type de cryptage, ainsi que la fréquence et la quantité approximative de données envoyées, mais ne peut ni lire ni modifier les données réelles.

SSL 2.0 était la première version publiée du protocole, mais il a été rapidement remplacé par SSL 3.0 en raison de plusieurs failles de sécurité découvertes. Le protocole SSL étant la propriété exclusive de Netscape, l'IETF s'est efforcé de le normaliser. Il en est résulté le document RFC 2246, publié en janvier 1999 et connu sous le nom de TLS 1.0. Depuis lors, l’IETF a continué d’itérer son protocole afin de corriger les failles de sécurité et d’étendre ses capacités: le TLS 1.1 (RFC 2246) a été publié en avril 2006, le TLS 1.2 (RFC 5246) en août 2008 et les travaux en cours pour définir TLS 1.3.

0
Colonel Panic