Ceci est une plongée technique approfondie après que cette question d’ ensemble ait été posée.
Quelles sont les différences de protocole entre SSL et TLS?
Y a-t-il vraiment assez de différence pour justifier un changement de nom? (versus l'appeler "SSLv4" ou SSLv5 pour les nouvelles versions de TLS)
Réponses:
SSLv2 et SSLv3 sont complètement différents (et les deux sont maintenant considérés comme non sécurisés). SSLv3 et TLSv1.0 sont très similaires, mais présentent quelques différences.
Vous pouvez considérer TLSv1.0 comme SSLv3.1 (c'est ce qui se produit dans les enregistrements échangés). Il est simplement plus facile de comparer TLSv1.0 avec TLSv1.1 et TLSv1.2 car ils ont tous été modifiés au sein de l'IETF et suivent plus ou moins la même structure. SSLv3 étant édité par une autre institution (Netscape), il est un peu plus difficile de repérer les différences.
Voici quelques différences, mais je doute d’être en mesure de les énumérer toutes:
ClientHello
message (premier message envoyé par le client, pour initier la négociation), la version est{3,0}
pour SSLv3,{3,1}
pour TLSv1.0 et{3,2}
pour TLSv1.1.ClientKeyExchange
diffère.Finished
message SSL / TLS dans SSLv3. Dans TLSv1, il faut attendre leFinished
message du serveur .SSL_*
àTLS_*
, en conservant le même numéro d'identification).Je recommanderais vivement le livre d'Eric Rescorla - SSL et TLS: Conception et construction de systèmes sécurisés , Addison-Wesley, 2001 ISBN 0-201-61598-3 , si vous voulez vraiment plus de détails. J'ai appris certains des points mentionnés ci-dessus dans ce livre. L’auteur mentionne parfois les différences entre SSLv3 et TLS (v1.0 uniquement au moment de la rédaction du livre) lorsqu’il explique certains des messages SSL / TLS, mais vous avez besoin des explications d’arrière-plan sur ces messages pour avoir la chance de comprendre ( et il n'est pas approprié de copier / coller de ce livre ici).
la source
ClientHello
' enregistrement étendu , alors que les clients uniquement SSL3 n'enverront jamais que l'original 'ClientHello
'.draft302.txt
et " Dans l'intérêt de la compatibilité ascendante ... ", comparez-le avec les sections 7.4.1.2 des spécifications TLS). Pour faire face aux piles ne prenant pas cela en charge, il existe également des solutions de contournement telles que la suite pseudo-chiffrée SCSV dans l'extension de renégociation.Je vais juste faire écho aux autres réponses mais peut-être avec une emphase légèrement différente.
Il existait un protocole de sockets sécurisés "appartenant à" Netscape, appelé SSL version 2. Une nouvelle version avec une structure d'enregistrement différente et des améliorations en matière de sécurité, également "possédée" par Netscape, a été publiée et appelée SSL version 3. Plusieurs versions du protocole places est un champ de numéro de version binaire. Pour SSL version 3, ce champ a pour valeur 0x03 0x00, c'est-à-dire la version 3.0. Ensuite, l'IETF a décidé de créer son propre standard. Peut-être en raison de certaines incertitudes concernant la propriété intellectuelle concernant SSL, notamment si "SSL" était une marque commerciale de Netscape, lorsque l'IETF a publié la version suivante de ce protocole, il lui a donné son propre nom: protocole Transport Layer Security ou TLS version 1.0. Le format d'enregistrement et la structure générale sont identiques et cohérents avec SSL v3. Le numéro de version binaire a été revu à 0x03 0x01 et, comme d'autres l'ont noté, quelques modifications mineures de cryptage ont été apportées. Depuis, il existe des versions 1.1 et 1.2 de TLS pour lesquelles les numéros de protocole internes sont 0x03 0x02 et 0x03 0x03.
En ignorant SSLv2, il ne s’agissait en fait que d’un changement de nom et d’un réglage précis du protocole, qui se produit à mesure que les gens deviennent plus intelligents en matière de sécurité et de performances.
la source
Fondamentalement, il s’agit d’un simple changement de nom pour une version plus récente du protocole. Je pense que la raison principale était de le différencier de l’ancien standard informel, conçu principalement par Netscape après que ce soit devenu un protocole officiel de suivi des normes IETF.
Comme cela a été dit dans les réponses à votre question précédente, cela ne signifie pas que SSLv3 et TLSv1.0 sont compatibles. Citant le RFC 2246:
Je suppose que si vous voulez vraiment connaître les différences exactes entre les protocoles, vous devez lire les normes et vous comparer.
Projet de protocole SSLv3 de Netscape TLSv1.0 RFC 2246
la source
Le protocole de cryptage SSL s'appelle maintenant TLS, ce qui donne deux noms pour le même protocole. Le logiciel actuel négociera automatiquement TLS version 1 ou SSL version 3. Les humains, en revanche, doivent choisir entre le terme SSL plus reconnaissable et la désignation officielle TLS.
SSL est le prédécesseur de TLS.
TLS et SSL chiffrent les segments des connexions réseau au niveau de la couche application pour assurer un transit sécurisé de bout en bout au niveau de la couche transport.
la source
Différences:
la source