Vous êtes sur la page 1sur 7

Master 2 2017/2018

R&T

Le SSL (Secure Socket Layer) / TLS (Transport Layer Security) est le protocole de
sécurité le plus répandu qui créé un canal sécurisé entre deux machines communiquant
sur Internet ou un réseau interne. Dans notre société centrée sur un Internet vulnérable,
le SSL est généralement utilisé lorsqu'un navigateur doit se connecter de manière
sécurisée à un serveur web.

Techniquement parlant, le SSL est un protocole transparent qui nécessite peu


d'interaction de la part de l'utilisateur final. Dans le cas des navigateurs, par exemple, les
utilisateurs sont avertis de la présence de la sécurité SSL grâce à l'affichage d'un
cadenas et du protocole « https » dans l'url, et, dans le cas du SSL à validation
étendue, par la barre d'adresse verte. La clé du succès du SSL est donc son incroyable
simplicité pour l'utilisateur final.

Lire : bug Heartbleed - ce que vous devez savoir et notre réponse

Le certificat EV SSL (tel que GlobalSign ExtendedSSL) affiche des indicateurs visuels
faciles à interpréter :

Les certificats SSL basiques (tels que les certificats GlobalSign


DomainSSL et OrganizationSSL) affichent :

1
Master 2 2017/2018
R&T

A l'inverse du « http » non sécurisé qui utilise le port 80 par défaut, le "https" sécurisé
utilise le port 443.

« http » est vulnérable face aux attaques d'individus ou d'organisations malveillantes qui
tentent d'accéder à toute sorte d'information personnelle, telles que les informations
bancaires et les informations de connexion. S'assurer que de telles informations soient
envoyées au travers du protocole « https », c'est s'assurer que celles-ci seront chiffrées
et protégées.

En pratique, le SSL devrait être utilisé dans les cas suivants :

 Pour sécuriser les transactions bancaires en ligne.


 Pour sécuriser les connexions et tout échange d'information confidentielle .
 Pour sécuriser les applications et les messageries web, telles que Outlook Web Access,
Exchange et Office Communications Server.
 Pour sécuriser les flux de production et les applications de virtualisation tels que Citrix Delivery
Platforms et les plates-formes sur le Cloud.
 Pour sécuriser les connexions entre un client de messagerie, tel que Microsoft Outlook et un
serveur mail, tel que Microsoft Exchange.
 Pour sécuriser le transfert de fichiers au travers de services « https » et FTP, dans les cas de
mise à jour de sites Internet par exemple.
 Pour sécuriser les connexions aux panneaux de contrôle et les activités d'hébergement, telles
que Parallels, cPanel, et bien d'autres encore.
 Pour sécuriser les traffics intranet.
 Pour sécuriser les connexions aux réseaux et aux traffics de réseaux utilisant les VPNs SSL,
tels que VPN Access Servers, et les applications, telles que Citrix Access Gateway.

Ces applications ont en commun :

 Les données transmises sur Internet ou sur un réseau doivent rester confidentielles. En
d'autres termes, les individus ne veulent pas que leur numéro de carte bancaire, leurs
informations de connexion, leurs mots de passe ou tout autre information personnelle
soient exposés sur le Web.

 Les données indiquées lors de la transaction (montant, destinataire, etc.) doivent rester
inchangées.

2
Master 2 2017/2018
R&T

 Les organisations doivent s'authentifier auprès de leur clientèle et leurs utilisateurs


extranet, et leur garantir leur identité.

 Les organisations doivent se conformer aux régulations régionales, nationales ou


internationales sur la confidentialité, la sécurité et l'intégrité des données.

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:

 Confidentialité: Il est impossible d'espionner les informations échangées.


 Intégrité: Il est impossible de truquer les informations échangées.
 Authentification: Il permet de s'assurer de l'identité du programme, de la
personne ou de l'entreprise avec lequelle on communique.

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 ?
 SSL est standardisé.
 Il existe une version libre de SSL: OpenSSL (http://www.openssl.org) que vous
pouvez utiliser dans vos programmes sans payer de royalties.
 OpenSSL est opensource: tout le monde peut contrôller et vérifier le code
source (Le secret réside dans les clés de chiffrement, pas dans l'algorithme lui-
même).
 SSL a été cryptanalysé: ce système a été plus analysé que tout ses
concurrents. SSL a été passé en revue par de nombreux spécialistes en
cryptographique. On peut donc le considérer comme sûr.
 Il est répandu: on peut facilement créer des programmes qui dialogueront avec
d'autres programmes utilisant SSL.

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.

3
Master 2 2017/2018
R&T

Comment ça marche SSL ?


SSL consiste en 2 protocoles:

 SSL Handshake protocol: avant de communiquer, les 2 programmes SSL


négocient des clés et des protocoles de chiffrement communs.
 SSL Record protocol: Une fois négociés, ils chiffrent toutes les informations
échangées et effectuent divers contrôles.

La négociation SSL ("handshake")


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

 la version SSL avec laquelle ils veulent travailler,


 la liste des méthodes de chiffrement (symétrique et asymétrique) et de signature
que chacun connaît (avec longueurs de clés),
 les méthodes de compression que chacun connaît,
 des nombres aléatoires,
 les certificats.

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:

 découpe les données en paquets,


 compresse les données,
 signe cryptographiquement les données,
 chiffre les données,
 les envoie.

Celui qui réceptionne les données:

 déchiffre les données,


 vérifie la signature des données,
 décompresse les données,
 réassemble les paquets de données.

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


SSL utilise:

 un système de chiffrement asymétriques (comme RSA ou Diffie-Hellman).


Vous pouvez en savoir plus ici: http://sebsauvage.net/comprendre/encryptage/crypto_asy.html.

4
Master 2 2017/2018
R&T

Il est utilisé pour générer la master key (clé principale) qui permettra de générer
des clés de session.
 un système de chiffrement symétrique (DES, 3DES, IDEA, RC4...) en utilisant
les clés de session pour chiffrer les données.
 un système de signature cryptographique des messsages (HMAC, utilisant
MD5, SHA...) pour s'assurer que les messages ne sont pas corrompus.

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:

 HTTPS: c'est HTTP+SSL. Ce protocole est inclus dans pratiquement tous les
navigateurs, et vous permet (par exemple) de consulter vos comptes bancaires
par le web de façon sécurisée.
 FTPS est une extension de FTP (File Transfer Protocol) utilisant SSL.
 SSH (Secure Shell): c'est une sorte de telnet (ou rlogin) sécurisé. Cela permet de
se connecter à un ordinateur distant de façon sûre et d'avoir une ligne de
commande. SSH possède des extensions pour sécuriser d'autres protocoles (FTP,
POP3 ou même X Windows).

5
Master 2 2017/2018
R&T

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

6
Master 2 2017/2018
R&T

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.