C'est quoi SSL, SSH, HTTPS ?

Ça sert à quoi SSL ?

SSL = Secure Socket Layer

C'est un système qui permet d'échanger des informations entre 2 ordinateurs de façon sûre. SSL assure 3 choses:

SSL est un complément à TCP/IP et permet (potentiellement) de sécuriser n'importe quel protocole ou programme utilisant TCP/IP.

SSL a été créé et développé par la société Netscape et RSA Security. On trouve désormais des versions opensource ainsi qu'un protocole libre similaire: TLS (voir plus loin).

 

Pourquoi utiliser SSL plutôt qu'un autre système ?
Pourquoi utiliser OpenSSL ?

Il faut se méfier des systèmes propriétaires: contrairement à ce qu'on pourrait penser, la sécurité d'un système de chiffrement ne réside pas dans le secret de l'algorithme de chiffrement, mais dans le secret de la clé. Il ne faut faire confiance qu'aux systèmes qui ont été publiés et analysés.

 

Comment ça marche SSL ?

SSL consiste en 2 protocoles:

 

La négociation SSL ("handshake")

Au début de la communication le client et le serveur s'échangent:

Client et serveur essaient d'utiliser le protocole de chiffrement le plus puissant et diminuent jusqu'à trouver un protocole commun aux deux. Une fois que cela est fait, ils peuvent commencer à échanger des données.

 

La communication SSL ("record")

Avec SSL, l'expéditeur des données:

Celui qui réceptionne les données:

 

Comment SSL fait-il pour protéger les communications ?

SSL utilise:

C'est lors de la négociation SSL que le client et le serveur choisissent des systèmes communs (chiffrement asymétrique, symétrique, signature et longueur de clé).

Dans votre navigateur, vous pouvez voir la liste des systèmes utilisés en plaçant votre curseur sur le petit cadenas quand vous êtes dans une page en HTTPS.

 

A quoi servent les certificats ?

Lors d'une négociation SSL, il faut s'assurer de l'identité de la personne avec qui on communique. Comment être sûr que le serveur auquel vous parlez est bien celui qu'il prétend être ?

C'est là qu'interviennent les certificats. Au moment de vous connecter sur un serveur web sécurisé, ce dernier vous enverra un certificat contenant le nom de l'entreprise, son adresse, etc. C'est une sorte de pièce d'identité.

Comment vérifier l'authenticité de cette pièce d'identité ?

Ce sont les PKI (Public Key Infrastructure), des sociétés externes (auxquelles vous faites implicitement confiance), qui vont vérifier l'authenticité du certificat.
(La liste de ces PKI est incluse dans votre navigateur. Il y a généralement VeriSign, Thawte, etc.)

Ces PKI signent cryptographiquement les certificats des entreprises (et ils se font payer pour ça).

 

Les utilisation de SSL: HTTPS, SSH, FTPS, POPS...

SSL peut être utilisé pour sécuriser pratiquement n'importe quel protocole utilisant TCP/IP.

Certains protocoles ont été spécialement modifiés pour supporter SSL:

Il est possible de sécuriser des protocoles en créant des tunnels SSL. Une fois le tunnel créé, vous pouvez faire passer n'importe quel protocole dedans (SMTP, POP3, HTTP, NNTP...). Toutes les données échangées sont automatiquement chiffrées.

On peut faire cela avec des outils comme STunnel (http://www.stunnel.org) ou SSH.

Voici un exemple avec le protocole POP3:

Avec le protocole POP3 que vous utilisez habituellement pour aller lire votre courrier, les mots de passe et les messages transitent en clair sur Internet. Il est possible de voler vos mots de passe et vos messages.

Avec le tunnel SSL, et sans rien changer aux logiciels client et serveur, vous pouvez sécuriser la récupération de vos mails: personne ne peut vous volez vos mots de passe ou emails puisque tout ce qui passe à travers le tunnel SSL est chiffré.
Mais cela nécessite d'installer STunnel sur le client et sur le serveur.

Certains fournisseur d'accès proposent ce service, mais ça reste trop rare. Demandez à votre fournisseur d'accès si il a ce genre de service en place.

STunnel permet ainsi de sécuriser la majorité des protocoles basé sur TCP/IP sans modifier les logiciels. Il est très facile à installer.

 

Quelles sont les différentes versions de SSL ?

SSL version 3.0 est très similaire à SSL version 2.0, mais SSL v2.0 possède moins d'algorithmes de chiffrement que SSL v3.0.

TLS v1.0 est un protocole similaire basé sur SSL. Les applications utilisant TLS v1.0 peuvent sans problème communiquer avec des applications utilisant SSL v3.0.

 

Alors quand je vois le cadenas, c'est sûr ?

Le cadenas vous indique que les communications entre votre navigateur et le site web sont sûres: personne ne peut les espionner, et personne ne peut trafiquer les communications. Mais il ne garantie rien d'autre !


Pour prendre une image:

HTTPS (le cadenas), c'est un peu comme un fourgon blindé: Il vous assure la sécurité du transport.
Mais vraiment que du transport.
Le fourgon blindé ne vous garantiera pas que la banque utilise de bons coffre-forts et qu'elle les ferme bien.
Le fourgon bindé ne garantie pas non plus que la banque ne fait pas de malversations.
Le fourgon blindé ne garantie vraiment que le transport.

C'est la même chose pour HTTPS (le petit cadenas du navigateur).

De la même manière que des truands peuvent louer les services d'un fourgon blindé, des pirates et truands peuvent très bien créer un site sécurisé (avec le petit cadenas).

Soyez vigilants, et ne confiez pas n'importe quelle information sur n'importe quel site, cadenas ou pas.

Pour en savoir plus:


Toutes ces pages et leur contenu (textes, images, sons, animations et toute autre forme de média) sont de par les lois françaises et internationales sur le droit d'auteur et la propriété intellectuelle protégées jusqu'à 70 ans après le décès de leur auteur, Sébastien SAUVAGE (alias MWPC2). Toute reproduction est interdite sans le visa de l'auteur. Toute personne morale ou physique portant atteinte à ces droits s'expose à des poursuites. Les images utilisées dans ces pages sont marquées électroniquement.
Merci de prévenir le Webmaster ([L'adresse email est une image]) de tout lien effectué vers ces pages.
h t t p : / / s e b s a u v a g e . n e t