Détails
Quelle est la différence entre SSL, TLS et HTTPS ?
Je m'embrouille avec les termes utilisés dans ce domaine. Que sont SSL, TLS et HTTPS ? Quelles sont les différences entre eux ?
551
3
TLS est le nouveau nom du protocole SSL. En d'autres termes, le protocole SSL est passé à la version 3.0 ; TLS 1.0 est "SSL 3.1" ;. Les versions de TLS actuellement définies comprennent TLS 1.1 et 1.2. Chaque nouvelle version ajoute quelques fonctionnalités et modifie certains détails internes. On dit parfois "SSL/TLS" ;.
HTTPS est HTTP-within-SSL/TLS. SSL (TLS) établit un tunnel sécurisé et bidirectionnel pour des données binaires arbitraires entre deux hôtes. HTTP est un protocole permettant d'envoyer des demandes et de recevoir des réponses, chaque demande et réponse étant constituée d'en-têtes détaillés et (éventuellement) d'un contenu. HTTP est conçu pour fonctionner sur un tunnel bidirectionnel pour des données binaires arbitraires ; lorsque ce tunnel est une connexion SSL/TLS, l'ensemble est appelé "HTTPS".
Pour expliquer les acronymes :
[1] : http://en.wikipedia.org/wiki/Transport_layer_security [2] : http://tools.ietf.org/html/rfc2246 [3] : http://en.wikipedia.org/wiki/Https
SSL et TLS sont des protocoles qui visent à assurer la confidentialité et l'intégrité des données entre deux parties (voir [RFC 2246][1]), conçus pour fonctionner sur un protocole de communication fiable (généralement TCP). Bien que la spécification TLS ne parle pas de sockets, la conception de SSL/TLS a été faite de manière à ce que les applications puissent les utiliser presque comme des sockets TCP traditionnels, par exemple
SSLSocket
en Java étendSocket
(il y a cependant de petites différences en termes d'utilisation). HTTPS est HTTP sur SSL/TLS, où la connexion SSL/TLS est d'abord établie, puis les données HTTP normales sont échangées sur cette connexion SSL/TLS. L'utilisation de SSL ou de TLS pour cela dépend de la configuration de votre navigateur et du serveur (il existe généralement une option permettant d'autoriser SSLv2, SSLv3 ou TLS 1.x). Les détails sur la façon dont HTTP et SSL/TLS forment HTTPS se trouvent dans [RFC 2818][2]. En ce qui concerne la différence entre SSL et TLS, vous pouvez être intéressé par ces deux réponses que j'ai écrites pour ces questions similaires sur StackOverflow et ServerFault :STARTTLS
dans LDAP/SMTP). Cette variante est décrite dans la [RFC 2817][5]. Pour autant que je sache, cela n'est presque jamais utilisé (et ce n'est pas ce qui est utilisé parhttps://
dans les navigateurs). La partie la plus pertinente de cette RFC est la section surCONNECT
pour les serveurs mandataires HTTP (elle est utilisée par les serveurs mandataires HTTP pour relayer les connexions HTTPS). [1] : http://tools.ietf.org/html/rfc2246 [2] : http://tools.ietf.org/html/rfc2818 [3] : http://tools.ietf.org/html/rfc5746#section-4.5 [4] : https://serverfault.com/questions/64484/whats-the-difference-between-ssl-and-tls/64587#64587 [5] : http://tools.ietf.org/html/rfc2817 [6] : https://stackoverflow.com/questions/3690734/difference-between-ssl-tls [7] : https://serverfault.com/questions/178561/what-are-the-exact-protocol-level-differences-between-ssl-and-tls/179139#179139 [8] : https://stackoverflow.com/questions/3660798/what-happens-on-the-wire-when-a-tls-ldap-or-tls-http-connection-is-set-up/3661416#3661416SSL VS TLS
Les termes SSL et TLS sont souvent utilisés de manière interchangeable ou en conjonction l'un avec l'autre (TLS/SSL), mais l'un est en fait le prédécesseur de l'autre - SSL 3.0 a servi de base à TLS 1.0 qui, par conséquent, est parfois appelé SSL 3.1.
Qu'est-ce qui est le plus sécurisé : SSL ou TLS
En termes de sécurité, les deux sont considérés comme aussi sûrs l'un que l'autre.
La principale différence réside dans le fait que, alors que les connexions SSL commencent par être sécurisées et passent directement à des communications sécurisées, les connexions TLS commencent par un "bonjour" non sécurisé au serveur et ne passent à des communications sécurisées qu'après la réussite de la poignée de main entre le client et le serveur. Si la poignée de main TLS échoue pour une raison quelconque, la connexion n'est jamais créée.
(SSL et TLS vs HTTP)
Le protocole HTTP est utilisé pour demander et recevoir des données, tandis que le protocole https, dans lequel le 's' ; n'est rien d'autre que du SSL sécurisé, permet de crypter la demande et la réception du protocole http, de sorte qu'aucun attaquant intermédiaire ne peut obtenir les données facilement.
Si ni SSL ni TLS ne sont utilisés avec HTTP
alors votre connexion avec le serveur web n'est pas cryptée et toutes les données sont envoyées en clair, et tout attaquant intermédiaire peut obtenir et visualiser ces données.
Il faut donc utiliser SSL ou TLS
les deux sont identiques mais TLS est plus extensible et espère obtenir plus de support dans le futur. et TLS est rétrocompatible.