Sommaire. http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 1/17



Documents pareils
Action Spécifique Sécurité du CNRS 15 mai 2002

SSL/TLS: Secure Socket Layer/Transport Layer Secure Quelques éléments d analyse. GRES 2006 Bordeaux 12 Mai Ahmed Serhrouchni ENST-PARIS CNRS

SSL ET IPSEC. Licence Pro ATC Amel Guetat

WTLS (Wireless Transport Layer Security)

Protocole industriels de sécurité. S. Natkin Décembre 2000

SSL. Secure Socket Layer. R. Kobylanski janvier version 1.1 FC INPG. Protocole SSL Application avec stunnel

Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

Sécurité des RO. Partie 6. Sécurisation des échanges. SSL : Introduction. Rappel: Utilités la sécurité à tous les niveaux SSL SSH.

La Technologie Carte à Puce EAP TLS v2.0

Le protocole sécurisé SSL

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

Le protocole SSH (Secure Shell)

Devoir Surveillé de Sécurité des Réseaux

La sécurité des réseaux. 9e cours 2014 Louis Salvail

Sécurité des réseaux sans fil

EMV, S.E.T et 3D Secure

18 TCP Les protocoles de domaines d applications

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Sécurité des réseaux IPSec

Le protocole RADIUS Remote Authentication Dial-In User Service

Introduction. Adresses

Cours 14. Crypto. 2004, Marc-André Léger

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

FORMATION SUR «CRYPTOGRAPHIE APPLIQUEE

TP 2 : Chiffrement par blocs

Université de Reims Champagne Ardenne. HTTPS, SSL, SSH, IPSEC et SOCKS. Présenté par : BOUAMAMA Mohamed Nadjib AZIZ Xerin

Services Réseaux - Couche Application. TODARO Cédric

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Cisco Certified Network Associate

La citadelle électronique séminaire du 14 mars 2002

Du 03 au 07 Février 2014 Tunis (Tunisie)

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

Virtual Private Networks MPLS IPsec SSL/TLS

SÉCURITÉ RÉSEAUX/INTERNET, SYNTHÈSE

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

Sécurité des réseaux Les attaques

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

Note technique. Recommandations de sécurité relatives à IPsec 1 pour la protection des flux réseau

2. DIFFÉRENTS TYPES DE RÉSEAUX

PACK SKeeper Multi = 1 SKeeper et des SKubes

LAB : Schéma. Compagnie C / /24 NETASQ

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

1 L Authentification de A à Z

L annuaire et le Service DNS

1. Présentation de WPA et 802.1X

Aurélien Bordes. OSSIR 13 juillet 2010

Cours CCNA 1. Exercices

VPN TLS avec OpenVPN. Matthieu Herrb. 14 Mars 2005

La sécurité dans les grilles

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

SSL/TLS: état des lieux et recommandations

Sécurité WebSphere MQ V 5.3

Réseaux et protocoles Damien Nouvel

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

INSTALLATION D'OPENVPN:

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

Les fonctions de hachage, un domaine à la mode

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Les applications Internet

SOLUTIONS DE SECURITE DU DOCUMENT DES SOLUTIONS EPROUVEES POUR UNE SECURITE SANS FAILLE DE VOTRE SYSTEME MULTIFONCTIONS SHARP DOCUMENT SOLUTIONS

Rappels réseaux TCP/IP

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

Groupe Eyrolles, 2006, ISBN : X

Sécurité des réseaux wifi. CREIX Kevin GIOVARESCO Julien

Technologies de filtrage FAST VPN IPSEC

SSH, le shell sécurisé

Introduction aux Technologies de l Internet

IPSEC : PRÉSENTATION TECHNIQUE

Approfondissement Technique. Exia A5 VPN

Présentation du modèle OSI(Open Systems Interconnection)

Figure 1a. Réseau intranet avec pare feu et NAT.

Guide de connexion Wi-Fi sur un hotspot ADP Télécom

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

VPN. Réseau privé virtuel Usages :

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

L identité numérique. Risques, protection

Annexe C : Numéros de port couramment utilisés

HASH LOGIC. Web Key Server. Solution de déploiement des certificats à grande échelle. A quoi sert le Web Key Server? A propos de HASHLOGIC

Serveur FTP. 20 décembre. Windows Server 2008R2

FTP-SSH-RSYNC-SCREEN au plus simple

Protection des protocoles

Algorithmique et langages du Web

Oléane VPN : Les nouvelles fonctions de gestion de réseaux. Orange Business Services

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Plan. Programmation Internet Cours 3. Organismes de standardisation

Les certificats numériques

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

réseau Tableaux de bord de la sécurité 2 e édition Cédric Llorens Laurent Levier Denis Valois Avec la contribution de Olivier Salvatori

CRYPTOGRAPHIE. Chiffrement par flot. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Transcription:

Sommaire Présentation et architecture Sous-protocoles SSL et les certificats Analyse du niveau de sécurité Transport Layer Security TLS v1.0 Conclusions Annexes & Références 2 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 1/17

I. Présentation et architecture 3 Présentation Historique : SSL développé par Netscape Première version testée en interne Version 2.0 publiée en 1994 Version actuelle 3.0 Draft IETF publié en 1996 En cours de standardisation à l IETF au sein du groupe Transport Layer Security Objectifs de SSL v.3 Fournir des services de sécurité basés sur des moyens cryptographiques : Authentification (unidirectionnelle ou bidirectionnelle) Confidentialité des données Intégrité des données Interopérabilité Extensibilité et efficacité 4 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 2/17

Architecture Pile TCP/IP : SSL est une couche qui se situe entre les services applicatifs (niveau 7) et la couche transport (TCP, niveau 4) NFS FTP SMTP HTTP Telnet SSL TCP XDR SNMP RPC UDP IP SSL est composé de deux niveaux 1 er niveau : protocole au-dessus de TCP/IP Record Layer Protocol Niveau supérieur : 3 sous-protocoles Handshake Protocol Change Cipher Spec Protocol Alert Protocol 5 II. Sous-protocoles 6 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 3/17

Sous-protocoles Les 4 sous-protocoles de SSL Applications Couche SSL Handshake Alert CCS Record IP 7 Sous-protocole RECORD Fonction du sous-protocole RECORD Réception des données des couches supérieures Traitement des paquets de données : Fragmentation en blocs de taille maximum 2 14 octets et compression Calcul d intégrité par génération d un condensât Chiffrement des données Transmission des données au protocole TCP Données des application (HTTP, FTP, SMTP ) Fragment 1 Fragment 2 Fragment... Données en clair Couche SSL Entête Compression Compression Données chiffrées Données chiffrées MAC Données compressées Calcul et adjonction du MAC Données chiffrées Ajout de l entête SSL 8 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 4/17

Sous-protocole HANDSHAKE Objectifs Authentification du serveur Authentification optionnelle du client Négociation des algorithmes utilisés (chiffrement et MAC) Génération de la clé symétrique de session pour le chiffrement des données Notions Connexion Lien logique entre un client et un serveur. Une connexion est to ujours associée à une session. Session Association entre un client et un serveur, créée par le protocole Handshake. Une session définit les paramètres de sécurité qui peuvent être partagés entre des connexions multiples (évite de négocier des nouveaux paramètres de sécurité pour chaque connexion) 9 Sous-protocole HANDSHAKE Principaux échanges Message du client : - Version du protocole, - Identifiant de session, - Nombre aléatoire, - Procédures cryptographiques supportées, - Procédures de compression supportées. - Vérification du certificat du serveur. - Génération d un secret (clé «premaster»). - Envoi de la liste de certificats client (si authentification mutuelle). - Envoi de la clé de «premaster» chiffrée avec la clé publique du serveur. - Calcul de la clé «master». - Calcul de clé de session. - Fin du SSL handshake(chiffré avec la clé de session). La session SSL peut débuter. Réponse du serveur : - Version de protocole, - Identifiant de session, - Nombre aléatoire, - Procédure cryptographique sélectionnée, - Procédure de compression sélectionnée. Envoi de la liste de certificats du serveur. - Déchiffrement de la clé «premaster» à l aide de la clé privée du serveur. - Vérification certificat client si option choisie. - Calcul de la clé «master». - Calcul de la clé de session. - Fin du SSL handshake(chiffré avec la clé de session). La session SSL peut débuter. 10 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 5/17

Sous-protocole HANDSHAKE Cinématique de l ouverture d une session SSL v.3 Hello client Hello serveur Certificats Échange de clés Demande de certificat Fin de la phase Hello serveur Certificats Échange de clés client Certificat vérifié Change cipher spec Fin Change cipher spec Fin 11 Sous-protocole HANDSHAKE Hello client Version de SSL Nombre aléatoire : client_random Numéro de session : session_id Liste des suites de chiffrement choisies par le client Liste des méthodes de compression choisies par le client Hello serveur Version de SSL Nombre aléatoire : server_random Numéro de session : session_id Une suite de chiffrement choisies par le client Une méthode de compression choisies par le client Algorithmes négociés par le protocole HANDSHAKE Échange de clés RSA, Diffie-Hellman, Fortezza Chiffrement symétrique à la volée RC4 (40 ou 128 bits) Chiffrement symétrique en bloc : DES, 3DES, RC2, IDEA, Fortezza Fonction de hachage MD5, SHA-1 12 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 6/17

Sous-protocole HANDSHAKE Variables d état d une session SSL Identificateur de session (session_id) Certificat du pair (peer certificate) Méthode de compression (compression method) Suite de chiffrement (cipher spec) MasterSecret de 48 octets partagés entre le client et le serveur Drapeau (is resumable) Suite de chiffrement contenant les cinq éléments suivants : Mode de chiffrement utilisé Algorithme de chiffrement utilisé Algorithme de hachage utilisé Taille du condensât Permission d exporter l algorithme de chiffrement 13 Sous-protocole HANDSHAKE Variables d état d une connexion SSL Deux nombres aléatoires de 32 octets server random client random Deux clés secrètes pour le calcul des codes d authentification server write MAC secret (pour les données chiffrées par le serveur) client write MAC secret (pour les données chiffrées par le client) Deux clés pour le chiffrement symétrique server write key client write key Vecteurs d initialisation pour le chiffrement symétrique en mode CBC Numéros de séquence l un pour le serveur et l autre pour le client 14 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 7/17

Autres sous-protocoles Change Cipher Spec Objectifs Signale au protocole RECORD toute modification des paramètres de sécurité Moyens Message bi-directionnel signale la transition de la stratégie cryptographique en cours («pending state» devient «current state») Alert Objectifs Signale les alertes Alert peut être invoqué par : Une application, pour signaler par exemple la fin d une connexion. Le protocole Handshake suite à un problème survenu au cours de son déroulement. Le protocole Record si, par exemple, l intégrité d un message est mise en doute. Moyens 2 octets contiennent le niveau de sévérité et la description de l alerte 15 III. SSL et les certificats 16 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 8/17

SSL et les certificats SSL v.3 permet l authentification mutuelle (client et serveur). Optionnellement, l échange de certificat clientserveur peut être réalisé. Normes supportées : X.509 v.3, PKCS# Voir à ce sujet: http://www.ultranet.com/~fhirsch/papers/wwwj/article.html 17 IV. Analyse du niveau de sécurité 18 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 9/17

Niveau de sécurité Niveau de sécurité décroissant en fonction des algorithmes cryptographiques élus, lors de l utilisation de l algorithme RSA (source : Netscape) 3-DES 168 bits / SHA-1 Moins rapide que RC4 mais chiffrement plus puissant (3 clés) 3.7*10 50 clés possibles RC4 128 bits / MD5 Le plus rapide de tous les algorithmes de chiffrement (sauf null) 3.4*10 38 clés possibles RC2 128 bits / MD5 Plus lent que RC4 DES 56 bits / SHA-1 Moins résistant que les algorithmes à clés de 128 bits 7.2*10 16 clés possibles SSL v.2 utilise MD5 à la place de SHA-1 pour l authenticité des messages RC4 40 bits / MD5 1.1*10 12 clés possibles RC2 40 bits / MD5 Aucun chiffrement / MD5 Supporté uniquement par SSL v.3 19 Source NETSCAPE : http://developer.netscape.com/docs/manuals/security/sslin/index.htm http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 10/17

Niveau de sécurité Quelques attaques sur SSL Craquage des secrets (cracking ciphers) Attaque à clair connu (clear text attack) Re-jeu (replay) Attaque de l homme du milieu (man in the middle) 20 Craquage des secrets (cracking ciphers) Cryptanalyse pour factoriser la clé publique d un serveur et en découvrir la clé privée. Écoute des échanges complets d une session pour obtenir la clé de session. Attaque à clair connu (clear text attack) Attaques par dictionnaire sur un clair connu ou pressenti (connaissance des messages échangés). Attaque largement réalisable sur SSL. Ex. l un des clairs les plus connus : commande HTTP «GET». Solution : utiliser des des clés de session de taille suffisante et de bonne qualité! Re-jeu (replay) Ré-émission d un échange autorisé et enregistrée par un pirate. Parade SSL : mise en œuvre de numéros de séquence («nonce» : connection_id du message SERVER_HELLO) calculés sur la base d évènements aléatoires non prédictibles, de taille 128 bits. Attaque dite de l homme du milieu (man in the middle) Un pirate s interpose entre le client et le serveur et tente d usurper l identité du serveur vis-àvis du client (cas de Dsniff). Solutions : -Toujours utiliser des certificats serveur signés par des autorités de certification de confiance. -Éduquer les utilisateurs à toujours vérifier le contenu d un certificat (mapping entre le nom du serveur et le certificat). http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 11/17

Niveau de sécurité Attaque Bleichenbancher Analyse du protocole SSL (D. Wagner et B. Schneiner, avril 97) 21 Attaque Bleichenbancher Une session SSL peut être déchiffrée par une analyse mathématique complexe et des envois de message d essais en erreur : - L attaque nécessite environ un million de messages et n est valable que pour une transaction. Elle ne peux pas être divisée en plusieurs machines pour réduire le temps. L attaque doit être concentrée au niveau d un seul serveur. La parade à cette attaque doit se faire au niveau du serveur. Par exemple Microsoft a modifié une DLL d IIS pour répondre à cette vulnérabilité. Attention : permettre la compatibilité avec SSL v.2 peut être dangereux! (failles de sécurité importantes) Analyse du protocole SSL (D. Wagner et B. Schneiner, avril 97) Record protocol SSL dispose d une protection correcte contre les attaques sur la confidentialité (écoute, analyse du traffic), l authentification (MAC) et le re-jeu. Handshake protocol Présente des vulnérabilités graves liées à la négociation des clés : Effacement du message change cipher spec : le message peut être enlevé et si l implémentation ne l interdit pas, la sécurité négociée n est pas activée. Réduction du niveau de sécurité de l algorithme d échange de clés : peut aboutir à la découverte de la clé maître (peut être corrigé par implémentation). http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 12/17

Niveau de sécurité La vérification des certificats, un enjeu de sécurité dans SSL : Fonctionnement de Dsniff www.monkey.org/~dugsong/dsniff Le problème de la révocation des certificats http://www.cert.org/advisories/ca-2000-19.html Les certificats et la résolution des noms DNS http://www.cert.org/advisories/ca-2000-08.html 22 V. Transport Layer Security 23 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 13/17

TLS v1.0 Qu est-ce-que TLS? Travaux de standardisation de SSL au sein de l IETF, groupe de travail TLS RFC 2246 Comparaison SSL/TLS TLS 1.0 est similaire à SSL v.3 (TLS ~ SSL v.3.1) Différences faibles mais TLS et SSL v.3 ne sont pas interopérables : Algorithmes cryptographiques (calcul du MAC pour les clés de session) Codes d alertes (TLS définit de nouveaux codes d alerte) TLS spécifie cependant un mécanisme pour permettre une compatibilité ascendante avec SSL 24 VI. Conclusions 25 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 14/17

Conclusions SSL v.3 est le moyen d implémenter des VPN le plus utilisé au monde (VPN de niveau applicatif). SSL v.3 bénéficie de longues expériences et d une maturité certaine. Les problématiques actuelles de PKI intègrent majoritairement SSL, mais des évolutions sont nécessaires pour fournir tous les services de sécurité. 26 VII. Annexes & Références 27 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 15/17

Références Liens Informations Netscape http://home.netscape.com/eng/ssl3/ssl-toc.html http://developer.netscape.com/docs/manuals/security/sslin/index.htm Analysis of the SSL v.3 protocol D. Wagner/B. Schneier, April 1997 http://www.counterpane.com/ssl-revised.pdf 28 Annexe A Ports des applications utilisant SSL Ports TCP/IP attribués par l IANA Protocole Port Description Application HTTPS 443 HTTP sécurisé Transactions requête-réponse SSMTP 465 SMTP sécurisé Messagerie SSNNTP 563 NNTP sécurisé News réticulaires SSL-LDAP 636 LDAP sécurisé Annuaire SPOP3 995 POP3 sécurisé Accès distant à la messagerie Ports TCP/IP utilisés sans attribution formelle Protocole Port Description Application FTP-DATA 889 FTP sécurisé Transfert de fichiers FTPS 990 FTP sécurisé Contrôle de transfert de fichiers IMAPS 991 IMAP4 sécurisé Accès distant à la messagerie TELNETS 992 Telnet sécurisé Emulation de terminal IRCS 993 IRC sécurisé Protocole de conférence réticulaire ("chat") 29 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 16/17

Annexe B Messages SSL Message Type de message Sens de transmission Signification HelloRequest Optionnel Serveur -> Client Notification au client pour débuter la phase de Handshake ClientHello Obligatoire Client -> Serveur Message contenant : - Numéro de version SSL - Nombre aléatoire : client_random - Numéro de session : session_id - Suites de chiffrement choisies par le client - Méthodes de compression choisies par le client ServerHello Obligatoire Serveur -> Client Message contenant : - Numéro de version SSL - Nombre aléatoire : server_random - Numéro de session : session_id - Une suite de chiffrement - Une méthode de compression Certificate Optionnel Serveur -> Client Message contenant : Client -> Serveur - Le certificat du serveur - Le certificat du client si le serveur lui a réclamé et si le client en possède un ServerKeyExchange Optionnel Serveur -> Client Message envoyé par le serveur si : - Il ne possède pas de certificat - Il ne possède qu'un certificat de signature CertificateRequest Optionnel Serveur -> Client Message envoyé par le serveur pour réclamer un certificat au client ServerHelloDone Obligatoire Serveur -> Client Message signifiant au client la fin des échanges liés à la phase ServerHello et subséquents ClientKeyExchange Obligatoire Client -> Serveur Message contenant le PreMasterSecret chiffré à l'aide de la clé publique du serveur CertificateVerify Optionnel Client -> Serveur Message permettant une vérification explicite du certificat client Finished Obligatoire Serveur -> Client Message signifiant la fin du protocole Handshake Client -> Serveur et le début de l'émission des données, protégées avec les nouveaux paramètres négociés 30 Annexe C Messages du protocole ALERT Message Contexte Type Bad_certificate échec de vérification d un certificat fatal Bad_record_mac réception d un MAC erroné fatal Certificate_expired certificat périmé fatal Certificate_revoked certificat mis en opposition fatal Certificate_unknown certificat invalide pour motifs autres que ceux précisés précédemment Close_notify interruption volontaire de session. fatal Decompression_failure Fandshake_ failure Illegal_parameter la fonction de décompression ne peut pas s appliquer (cas de données trop longues) impossibilité de négocier des paramètres satisfaisants fata fatal fatal la taille du paramètre échangé au cours du protocole fatal Handshake dépasse la taille du champ correspondant ou lorsqu il est sans rapport avec les autres paramètres No_certificate réponse négative à une requête de certificat avertissement ou fatal. Unexpected_message arrivée inopportune d un message fatal Unsupported_certificate certificat reçu n est pas reconnu par le destinataire avertissement ou fatal 31 http://securit.free.fr Sécurisation des communications avec SSL v.3 Page 17/17