3. Thomas Moegli
๏ Définition
๏ SSL : Secure Socket Layer
๏ TLS : Transport Layer Security
๏ SSL/TLS offrent les services suivants :
๏ Confidentialité et intégrité des échanges
๏ Authentification du serveur
๏ Authentification du client (optionnel)
๏ SSL/TLS assurent la protection de plusieurs protocoles applicatifs
(HTTP, FTP, SMTP, POP, …)
๏ Les dernières versions assurent également les communications UDP
๏ SSL/TLS est asymétrique
๏ Deux rôles distincts : client et serveur
๏ Côté client : logiciel SSL/TLS, navigateur Web gérant SSL/TLS
๏ Côté serveur : serveur Windows ou boîtier spécialisé
Protocoles SSL/TLS
3
4. Thomas Moegli
๏ Couche réseau (Couche 3) : Protocole IPSec
๏ Transparent pour les couches supérieures
๏ Filtrage du trafic au niveau du réseau
๏ Couche Transport : SSL/TLS
๏ Couche Applicative : Kerberos, S/MIME, PGP, SET
Protocoles SSL/TLS
Modèle OSI et Sécurité
4
IP IPSec
TCP
HTTP FTP SMTP
Réseau (3)
IP
TCP
HTTP FTP SMTP
SSL/TLS
IP
TCP
SMTPKerberos
UDP
S/MIME PGP
HTTP
SET
Transport (4)
Application (7)
5. Thomas Moegli
๏ Originaire du navigateur Web Netscape
๏ 1994 : Premières tentatives de mettre en place un
canal sécurisé pour l’échange de données
confidentielles
๏ Développement du protocole SSLv1 (peu diffusé)
puis SSLv2 (1995)
๏ Souffre d’un certain nombre de défauts importants
en matière de sécurité
๏ 1995 : SSLv3
๏ Correction de failles conceptuelles importantes
๏ 2014 : Bannissement du protocole suite à la
publication d’une faille appelée POODLE
๏ Microsoft, de son côté, a développé un protocole
relativement proche : PCT (Private Communication
Technology) qui sortit fin 1995
Protocoles SSL/TLS
Historique
5
6. Thomas Moegli
๏ 1996 : l’IETF souhaita normaliser un protocole de type SSL (idée de converger les protocoles de Netscape et Microsoft)
๏ Mise en place d’un groupe de travail TLS (Transport Layer Security)
๏ Janvier 1999 : Publication dans la RFC 2246 du protocole TLS v1.0
๏ TLSv1.0 = SSLv3.1
๏ Avril 2006 : Publication dans la RFC 4346 du protocole TLS v1.1
๏ Août 2008 : TLS v1.2 (RFC 5246)
๏ Les différentes entre TLS et SSL sont suffisantes pour que les protocoles ne soient pas directement interopérables
๏ Les navigateurs Web savent utiliser les deux protocoles (TLS v1.2 et SSLv3)
๏ Ocobre 2015 : Draft de TLS 1.3
Protocole SSL/TLS
Historique
6
7. Thomas Moegli
๏ Boite à outils cryptographiques qui offre
๏ Une bibliothèque de programmation en C pour réaliser des applications
client/serveur sécurisées s’appuyant sur SSL/TLS
๏ libcrypto : Librarie pour les algorithmes cryptographiques
๏ libssl : Librairie implémentant le protocole TLS
๏ Commande (openssl) permettant
๏ Création de clefs RSA, DSA (Signature)
๏ Création de certificats X509
๏ Calcul d’empreintes (MD5, SHA, RIPEMD160, …)
๏ Chiffrement et déchiffrement (DES, IDEA, RC2, RC4, Blowfish, …)
๏ Réalisation de tests de clients et serveurs SSL/TLS
๏ Signature et chiffrement de courriers (S/MIME)
๏ Présent dans de très nombreuses implémentations (Wikipedia,
Google, Dropbox, Yahoo!, Flickr, …)
๏ Importante vulnérabilité majeure (Heartbleed) dévoilée en avril 2014
Protocole SSL/TLS
OpenSSL
7
9. Thomas Moegli
๏ 4 protocoles différents qui interviennent dans les différentes phases d’une communication sous SSL/TLS
๏ En-tête de message SSL :
Protocole SSL/TLS
Fonctionnement
9
๏ Message SSL encapsulé dans du TCP :
Type
contenu
Version
majeure
Version
mineure
Longueur
du message
Un ou plusieurs
messages de
protocole
MAC
(optionnel)
Padding
1 byte 1 byte 1 byte 2 bytes
IP
Header
TCP
Header
SSL
Header
Message(s) du protocole SSL HMAC Padding
20 bytes 20 bytes 5 octets
SSL
10. Thomas Moegli
Protocole SSL/TLS
Architecture
10
SSL Record
Application
Data
Handshake
ChangeCipher
Spec
Alert
HTTP
TCP
SSL Record
๏ Fragmentation des messages
๏ Compression
๏ Authentification du message
et mesures de protection
d’intégrité
๏ Chiffrement
11. Thomas Moegli
Protocole SSL/TLS
SSL Record
11
Donnée d’application
Fragment
Fragment compressé
HM
AC
Fragment compressé
Fragment chiffré
Fragment chiffré
SSL
Record
Header
Fragment
Fragment compressé
HM
AC
Fragment compressé
Fragment chiffré
Fragment chiffré
SSL
Record
Header
Fragment
Fragment compressé
HM
AC
Fragment compressé
Fragment chiffré
Fragment chiffré
SSL
Record
Header
12. Thomas Moegli
Handshake (valeur 22)
Sert à l’établissement de la connexion
Protocole SSL/TLS
Protocoles mis en oeuvre
12
ApplicationData
ChangeCipherSpec (valeur 20)
Pour signaler la mise en oeuvre de nouveaux mécanismes de sécurité
Alert (valeur 21)
Pour signifier la fin de la session ou des erreurs dans le déroulement de celle-ci
ApplicationData (valeur 23)
Pour signaler les échanges sécurisés de données d’application
Heartbeat (valeur 24)
Pour vérifier si une connexion entre deux équipements est encore en vie
13. Thomas Moegli
Protocole Handshake
๏ Etapes
๏ Négociation des algorithmes et paramètres de
sécurité
๏ Echange de la clé
๏ Authentification du serveur
๏ Authentification du client (Opt.)
๏ Les messages du protocole Handshake ont
comme valeur 22
๏ Un message SSL peut contenir plusieurs messages
du protocole Handshake
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
13
Message
Handshake 2
Message
Handshake2
Version Majeure Version Mineure
Longueur
2 octets
Longueur (suite) Type Handshake1
Longueur Handshake1
3 octets
Message
Handshake1
Type Handshake2
Longueur Handshake2
3 octets
Type de contenu
Valeur = 22
Longueur Handshake1 (suite)
ApplicationData
ApplicationData
15. Thomas Moegli
Message ClientHello
๏ Permet à un client de demander l’établissement d’une connexion sécurisée avec le serveur
๏ Eléments du message
๏ Version de SSL (3.0 pour SSL v3, 3.1 pour TLS v1.0, 3.2 pour TLS v1.1, 3.3 pour TLS v1.2)
๏ Nomenclature : X.Y (X : Version majeure, Y : Version mineure)
๏ Identifiant de session (est vide pour une session totalement nouvelle ou rempli avec l’identifiant d’une session existante)
๏ Propositions de chiffrement et de calcul d’intégrité, appelé CipherSuite
๏ Définissent également l’algorithme de négociation de clés (RSA, Diffie-Hellman, Fortezza, …)
๏ Méthodes optionnelles de compression
๏ Données aléatoires pour générer les clés afin de limiter les risques d’attaques par rejeu
๏ Nombre aléatoire composé de la combinaison et de l’heure du client (4 octets) + 28 octets délivrés par un générateur de nombres
aléatoires (total = 32 octets)
๏ Extensions éventuelles proposées par le client (par ex. algorithmes de signatures)
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
15
1
ApplicationData
ApplicationData
16. Thomas Moegli
Message ClientHello : Ciphers Suites
๏ Le client propose un ensemble de suites
cryptographiques qu’il est capable de mettre en
oeuvre
๏ Chaque suite cryptographique décrit les
algorithmes et mécanismes utilisés pour les 4
fonctions suivantes :
๏ Etablissement des éléments secrets de session
๏ Authentification des parties
๏ Chiffrement des données applications
๏ Protection de l’intégrité des données applications
๏ La syntaxe est présentée ci-contre
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
16
SSL_X_WITH_Y_Z
๏ X : Désigne l’algorithme utilisé pour l’échange de
clés (RSA ou Diffie-Hellman avec signatures DSS ou
RSA)
๏ Y : Désigne l’algorithme de chiffrement et son mode
de fonctionnement (ECB, CBC, CTR)
๏ Z : Désigne l’algorithme de hachage
1
ApplicationData
ApplicationData
18. Thomas Moegli
Message ClientHello
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
18
Longueur Handshake
3 octets
Version Majeure Version Mineure
Données aléatoires (date + nombre aléatoire) = Random
32 octets
long SessionID
Compression choisie Compression choisie Compression 2
Longueur des Ciphersuites
2 octets
Ciphersuite N° 1
Type de contenu
Valeur = 1
SessionID
0 à 32 octets
Ciphersuite N° 2
Compression 2 … Compression n
Ciphersuite N° X Longueur compressions Compression 1
Type Handshake
Valeur = 20
1
ApplicationData
ApplicationData
19. Thomas Moegli
Message ServerHello
๏ Permet au serveur de répondre au Client Hello en précisant les éléments suivants :
๏ Deux cas de figure
๏ Aucune des propositions du client n’est jugée acceptable ➔ Le serveur met fin à la connexion via un message Alert
๏ Le serveur choisit une suite cryptographique parmi celles proposées par le client et émet le message ServerHello
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
19
2
ApplicationData
ApplicationData
20. Thomas Moegli
Message ServerHello
๏ Eléments du message
๏ Version de serveur
๏ Données aléatoires pour générer les clés afin de limiter les risques d’attaques par rejeu
๏ Identifiant de session
๏ Peut contenir le même identifiant que celui demandé par le client (en cas de reprise de session)
๏ Peut contenir une nouvelle valeur (en cas de nouvelle session)
๏ Si la valeur est vide, le serveur a refusé la reprise de session demandée par le client
๏ Une seule CipherSuite choisie parmi celles proposées par le client
๏ Les RFC décrivant TLS ne définissent pas précisément comment le serveur doit choisir la suite cryptographique.
๏ En général : le serveur parcourt la liste fournie par le client et choisit la première suite qu’il supporte (Microsoft IIS)
ou le serveur parcourt sa liste de préférences et prend la première suite qui se trouve dans la liste du client (Apache)
๏ Possibilité sous Apache de forcer les préférences avec la directive SSLHonorCipherOrder
๏ Une seule méthode de compression (optionnelle)
๏ Extensions éventuelles choisies par celles proposées par le client
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
20
2
ApplicationData
ApplicationData
21. Thomas Moegli
Données aléatoires (date + nombre aléatoire) = Random
32 octets
Type de contenu
Valeur = 2
Longueur Handshake
3 octets
Version Majeure Version Mineure
long SessionID
SessionID
0 à 32 octets
Ciphersuite retenue
2 octets
Compression choisie
Message ServerHello
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
21
Type Handshake
Valeur = 20
2
ApplicationData
ApplicationData
22. Thomas Moegli
Message Certificate
๏ Permet au serveur d’envoyer un certificat au client
๏ Le certificat contient les données nécessaires à l’établissement des clés
๏ Sinon, le message 3bis permettra de les envoyer
๏ Les certificats envoyés doivent être de type X509v3
๏ Envoi du certificat du serveur en premier
๏ Envoi du certificat de niveau supérieur
๏ etc…
๏ Le certificat racine n’est pas envoyé car il est généralement déjà présent dans le navigateur ou le logiciel
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
22
3
ApplicationData
ApplicationData
23. Thomas Moegli
Message Certificate
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
23
Type Handshake
(Valeur = 11)
Longueur de la chaîne de certificats Longueur…
Longueur du certificat n
Longueur
Certificat 1
…du 1er certificat
Certificat n° …
Certificat n
Certificat n
Longueur Handshake
3 octets
Longueur de la chaîne de certificats
3 octets
Longueur…
Certificat 1
Certificat 1
Longueur du certificat n
3 octets
Type de contenu
Valeur = 11
… du 1er certificat
3 octets
Type Handshake
Valeur = 20
3
ApplicationData
ApplicationData
24. Thomas Moegli
Message Server_Key_Exchange
๏ Envoyé que si les certificats du serveur ne contiennent pas toute les informations nécessaires pour créer un
PremasterSecret
๏ Dans le cas de Diffie-Hellman, le message contient la clé publique du serveur
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
24
3bis
ApplicationData
ApplicationData
25. Thomas Moegli
Message Certificate Request
๏ Envoyé si le serveur souhaite également authentifier le client par un certificat
๏ Eléments du message
๏ Liste des certificats (RSA,DSS,RSA-DH,DSS-DH) que le serveur accepte
๏ (Optionnel) Liste des autorités de certifications qu’il reconnaît
๏ Est généralement utilisé dans le cadre d’un VPN avec une liste finie de clients
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
25
4
ApplicationData
ApplicationData
26. Thomas Moegli
Autorité 1
Autorité 2
Longueur Handshake
3 octets
Longueur des types de
certificats
Type 1 Type 2 …
Type n
Longueur des autorités de certification
2 octets
Longueur autorité n° 1
Longueur autorité n° 2
…
Type de contenu
Valeur = 13
…
…
Message Certificate Request
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
26
Type Handshake
Valeur = 20
4
ApplicationData
ApplicationData
27. Thomas Moegli
Longueur Handshake (valeur = 0)
3 octets
Type de contenu
Valeur = 14
Message Server Hello Done
๏ Sert à indiquer au client que le serveur a, pour sa part, fini d’envoyer les messages de cette phase
๏ Le nombre de messages émis par le serveur dans la phase de prise de contact peut être variable
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
27
5
ApplicationData
ApplicationData
28. Thomas Moegli
Message Client Certificate
๏ Dans le cas où une requête CertificateRequest a été émise par le serveur, ce message permet au client d’envoyer
son certificat
๏ Eléments
๏ Liste de certificats ordonnée comme pour le serveur
๏ Au moins un certificat doit émaner d’une des autorités listés dans le CertificateRequest
๏ Si le client ne dispose pas d’un certificat
๏ Avec TLS, il émet un message avec une longueur de chaîne de certificats égale à zéro
๏ Avec SSLv3, il émet un message AlertProtocol de type « warning/no certificate ».
๏ Si le serveur décide de rompre la session, il émet un AlertProtocol « Fatal Handshake failure »
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
28
6
ApplicationData
ApplicationData
29. Thomas Moegli
Message Client Key Exchange
๏ Il suit le message ClientCertificate si celui-ci existe, sinon c’est le premier message envoyé par le client
๏ Eléments
๏ Varie beaucoup suivant les algorithmes de clés publiques retenues par le serveur dans le message ServerHello
๏ Différences entre TLS et SSL
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
29
6bis
ApplicationData
ApplicationData
30. Thomas Moegli
Message Client Key Exchange
๏ Cas du RSA sous SSL :
๏ Cas du DH sous SSL :
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
30
Longueur modulo RSA
2 octets
Exposant RSA
Type de contenu
Valeur = 12
Longueur Handshake
3 octets
Modulo RSA …
…
Longueur exposant RSA
2 octets
…
Longueur valeur Ys
Valeur Ys …
Compression 2
…
Longueur valeur p Diffie-Hellman
2 octets
Type de contenu
Valeur = 12
Longueur Handshake
3 octets
Valeur p
… Longueur valeur g …
…
Type Handshake
Valeur = 20
Type Handshake
Valeur = 20
6bis
ApplicationData
ApplicationData
31. Thomas Moegli
Message Certificate Verify
๏ N’est envoyé que si un certificat client a été envoyé du client au serveur par un message ClientCertificate et que
le certificat possède des capacités de signature
๏ La signature (MD5, SHA) permet de signer tous les messages (de type Handshake) échangés entre le client et le
serveur depuis le ClientHello
๏ Etapes
๏ Le client utilise la clé privée de son certificat pour calculer cette signature.
๏ Le serveur contrôle cette signature avec la clé publique du client inclus dans son certificat
๏ Si la signature est valide, le client est bien en possession de la clé privée
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
31
7
ApplicationData
ApplicationData
32. Thomas Moegli
Signature
Type de contenu
Valeur = 15
Longueur Handshake
3 octets
Message Certificate Verify
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
32
Type Handshake
Valeur = 20
7
ApplicationData
ApplicationData
33. Thomas Moegli
Phase de calcul du secret partagé
๏ Aucun échange à ce moment-là
๏ Chacune des deux parties (client et serveur) calcule de son côté le MasterSecret à partir des éléments préalablement
échangés (PremasterSecret, nombres aléatoires)
๏ MasterSecret : longueur fixe de 48 octets
๏ Secret partagé qui sert à la génération des clés de cryptage symétrique et des signatures MAC
๏ Génération dans l’ordre suivant
client_write_MAC_secret
server_write_MAC_secret
client_write_key
server_write_key
client_write_IV
server_write_IV
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
33
ApplicationData
ApplicationData
34. Thomas Moegli
Phase de calcul du secret partagé
๏ Formule du MasterSecret :
๏ sm = MD5(sp || SHA(‘A’ || sp || rc || rs)) ||
MD5(sp || SHA(‘BB’ || sp || rc || rs)) ||
MD5(sp || SHA(‘CCC’ || sp | rc || rs))
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
34
๏ sm : MasterSecret
๏ sp : PreMasterSecret
๏ ‘A’ : Caractère A
๏ ‘BB’ : Caractère BB
๏ ‘CCC’ : Caractère CCC
๏ rc : Nonce Client
๏ rs : Nonce Serveur
ApplicationData
ApplicationData
35. Thomas Moegli
Message Client Change Cipher Specs
๏ Via ce message, le client indique au serveur que tous les échanges seront dorénavant chiffrés et/ou authentifiés selon
les paramètres négociés.
๏ Message d’un seul octet
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
35
Version Majeure Version Mineure
Longueur
2 octets
Longueur (Suite)
Type
Valeur = 1
Type de contenu
Valeur = 20
Type Handshake
Valeur = 20
8
ApplicationData
ApplicationData
36. Thomas Moegli
Message Client Finished
๏ Envoi d’un message chiffré Finished contenant un hachage et un code MAC couvrant tous les messages Handshake
déjà échangés
๏ Message déchiffré par le serveur. Si la tentative de déchiffrement échoue, le serveur rejettera le handshake et mettra un
terme à la connexion.
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
36
Type Handshake
(Valeur = 20)
Longueur
(valeur = 36)
Hachage MD5
Hachage SHA
Version Majeure Version Mineure
Longueur
3 octets, Valeur = 36
Hachage MD5
16 octets
Compression choisie Compression choisie Compression 2
Type Handshake
Valeur = 20
Hachage SHA
20 octets
8bis
ApplicationData
ApplicationData
37. Thomas Moegli
Message Server Change Cipher Specs
๏ Via ce message, le serveur indique au client que tous les échanges seront dorénavant chiffrés et/ou authentifiés selon
les paramètres négociés.
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
37
9
ApplicationData
ApplicationData
38. Thomas Moegli
Message Server Finished
๏ Le serveur envoie un message chiffré Finished contenant un hachage et un code MAC qui couvre tous les messages
Handshake déjà échangés.
๏ Le client procède au déchiffrement et à l’authentification du message Finished du serveur
๏ Si tout est OK, la phase Handshake est terminée. Les échanges de données peuvent commencer (Application Phase).
Protocole SSL/TLS
Protocole Handshake et Change Cipher Spec
38
9bis
ApplicationData
ApplicationData
39. Thomas Moegli
Version Majeure Version Mineure
Longueur
2 octets
Données applicatives (chiffrées)
Type de contenu
Valeur = 23
MAC
Longueur (suite)
๏ Les données d’application sont transportées dans ce type de message
๏ Donnés chiffrées et éventuellement signées
Protocole SSL/TLS
Protocole Application
39
ApplicationData
40. Thomas Moegli
๏ Messages ayant pour but de signaler une erreur fatale (entraînant une fermeture de session) ou une simple alerte (qui
laisse à l’autre extrémité de décider ou non de la rupture de la connexion)
๏ Comprend un code d’erreur
๏ Peut également être employé pour signaler la fin normale de la phase Application
Protocole SSL/TLS
Protocole Alert
40
Niveau alerte
Warning (valeur = 1)
Fatal (valeur = 2)
Description de l’alerteDescription de l’alerte
Niveau d’alerte
1 octet
Warning : Valeur = 1
Fatal : Valeur = 2
ApplicationData
42. Thomas Moegli
๏ Comme les calculs liés aux clés asymétriques prennent du temps et des ressources, SSL/TLS permet de reprendre une
session déjà existante lorsque le client a de nouveau besoin d’échanger des données avec le serveur
๏ Le client reprend dans le ClientHello (1) le numéro de session en cours d’utilisation
๏ Ce numéro permet aux deux parties de conserver le même MasterSecret
๏ Les nombres aléatoires émis dans les messages ClientHello et ServerHello seront différents de la session
précédente
➔ Génération de clés différentes
๏ Les échanges de messages Hello sont directement suivis des messages Change CipherSpec et Finished avant de
passer à la phase Data
๏ Si le serveur ne retrouve pas dans sa table la valeur SessionID du client, il lui proposera un autre identifiant de session
๏ Le client devra procéder à un Handshake complet sans reprise de session
Protocole SSL/TLS
Reprise de session existante
42
44. Thomas Moegli
Fonctionnement de DH pour TLS
1. Le serveur doit initialement disposer (via la commande openssh, dhparam par ex.) de :
๏ p : un grand nombre premier
๏ g : un générateur, aussi appelé racine primitive modulo p
(pour chaque entier a premier avec p, il existe un entier k tel que gk
≡ a (mod p)
2. Le serveur choisit un nombre aléatoire a et calcule ya = ga mod p.
Après l’envoi du message Certificate, il envoie un message Server Key Exchange contenant, en clair mais
authentifié par sa clé privée :
๏ La valeur aléatoire issue du message Client Hello
๏ La valeur aléatoire issue du message Server Hello
๏ les nombres p et g
๏ le résultat ya
Protocole SSL/TLS
Algorithme de Diffie-Hellman
44
45. Thomas Moegli
Fonctionnement de DH pour TLS (suite)
3. Le client vérifie la signature et choisit un nombre aléatoire b. Il envoie yb = gb
mod p dans un message Client Key
Exchange.
En ayant reçu ya du serveur, il calcule (ya)b
mod p = k qui constitue le secret partagé
4. Le serveur reçoit yb calcule (yb)a
mod p = k qui constitue le secret partagé
Protocole SSL/TLS
Algorithme de Diffie-Hellman
45
46. Thomas Moegli
IPsec VPN
๏ Très déployé, technologie maîtrisée
๏ Permet facilement l’extension du réseau pour des
succursales
๏ Client lourd à déployer (avant la connexion) et maintenir
๏ Nécessite l’ouverture de ports supplémentaires sur le
pare-feu
๏ UDP/500 + ESP (50) + UDP/4500 + …
๏ Souvent, ces ports ne sont pas ouverts par défaut
Protocole SSL/TLS
Comparaison avec IPsec
46
SSL VPN
๏ Permet d’étendre la sécurité du réseau à des personnes
externes à l’entreprise (clients, partenaires commerciaux)
๏ Simplifie l’accès aux partenaires business
๏ Propose un accès depuis quasi n’importe quel
emplacement (Internet café, mobile, etc…)
๏ Souvent, le port est déjà ouvert sur les firewall
๏ Exemple : Port TCP 443
๏ Permet des portails d’accès utilisateur personnalisés
๏ Réduit les coûts d’exploitation
47. Thomas Moegli
Avantages
๏ Pas ou peu de logiciels à installer & maintenir sur PC
๏ Accès sécurisé aux ressources internes
๏ Intégration de policies pour vérifier l’état des client qui
se connectent
๏ Sécurité point à point (Endpoint security) avec Cisco
Secure Desktop
๏ Plusieurs niveaux d’accès
๏ Clientless – Thin Client – Thick Client
๏ Intégration facile avec les pare-feu
๏ SSL over TCP/443
Protocole SSL/TLS
Avantages et Inconvénients
47
Inconvénients
๏ Moins sécurisé pour l’authentification utilisateur que
IPsec
๏ S’assurer que les certificats sont de confiance
๏ Les policies impliquent plus d’administration
๏ Solutions NAC et Endpoint security propriétaires
๏ Solutions Cisco Thin Client et Clientless nécessitent Java
JRE et support ActiveX
๏ Impossible de faire du VPN Site-to-Site
48. Thomas Moegli
๏ L’IANA a accordé à certaines applications des ports IP particuliers pour leur permettre de communiquer avec SSL sans
interférence
Protocole SSL/TLS
Protocoles applicatifs et SSL/TLS
48
Protocole non sécurisé Protocole sécurisé Port Application
HTTP HTTPS TCP 443 Transactions requête-réponse
SMTP SSMTP TCP 465 Messagerie électronique
NNTP SNNTP TCP 563 News sur le réseau Internet
LDAP SSL-LDAP TCP 636 Annuaire X.500
POP3 SPOP3 TCP 995 Accès à la boîte aux lettres
FTP FTPS (Données) TCP 989 Transfert de fichiers
FTP FTPS (Contrôle) TCP 990 Contrôle du transfert de fichiers
IMAP IMAPS TCP 991 Accès à la boîte aux lettres
49. Thomas Moegli
Merci de votre attention !
thomas.moegli@icloud.com
Références
Transport Layer Security, Wikipedia.org
[https://en.wikipedia.org/w/index.php?title=Transport_Layer_Security&oldid=711145576]
Les VPN : Fonctionnement, mise en oeuvre et maintenance des Réseaux Privés Virtuels, ENI Editions (J-P. Archier)
Réseaux Privés Virtuels - VPN, Frameip [http://www.frameip.com/vpn/] (X. Lasserre, T. Klein, _SebF)
SSL/TLS : Etat des lieux et recommandations, ANSSI : Agence nationale de la sécurité des systèmes d’information
[http://www.ssi.gouv.fr/uploads/IMG/pdf/SSL_TLS_etat_des_lieux_et_recommandations.pdf] (O. Levillain)
49