Université Joseph Fourier, IMA Janvier 2010
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Introduction INTRODUCTION
Introduction Au cours de cette présentation, nous allons parler du protocole SSL et des recherches que nous avons effectuées à son sujet. Cette présentation est entièrement basée sur le rapport que nous avons fournis précédemment et que nous avons mis en ligne à l adresse suivante: http://stabiloblog.free.fr/public/others/rapport.pdf
Introduction Le SSL est un protocole aujourd hui très largement utilisé sur l internet et qui est totalement transparent pour l utilisateur. Nous allons expliciter ici son fonctionnement et ses utilisations.
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Qu est ce que SSL? Qu est ce que SSL?
Qu est ce que SSL? À propos de SSL Le SSL, acronyme de Secure Socket Layer est un protocol de sécurité très largement utilisé sur le web. Il est présent sur la plupart des sites pour certaines actions nécessitant le cryptage des transmissions entre deux personnes (souvent client/serveur) comme par exemple dans le cadre des sites de paiement en ligne ou encore l accès aux comptes banquaires ainsi que toutes les opérations qui y sont associées.
Qu est ce que SSL? Les utilisations du SSL Le protocol SSL n est en fait pas limité à la seule utilisation sur l Internet. Il peut être utilisé n importe où il y a besoin de sécurité, c est à dire, d encryptage des transmissions pour assurer la confidentialité.
Qu est ce que SSL? Les utilisations du SSL En effet, il permet non seulement d encrypter les transmissions, mais aussi d authentifier le correspondant. Aussi, si sur l Internet la plupart du temps on ne vérifie que l authenticité du serveur, dans le cadre de l entreprise par exemple, il peut être nécessaire de vérifier l authenticité des deux partis (communication client/client), ce que permet une fois de plus le SSL.
Qu est ce que SSL? En résumé Pour résumer, on peut dire que le SSL est un protocol de sécurité qui permet de vérifier l authenticité des différents intervenants, puis, de sécuriser leurs communications.
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Historique SSL/TLS Historique de SSL/TLS
Historique SSL/TLS Quand est né le SSL/TLS? Le SSL (Secure Socket layer) est né en 1994, créé alors par Netscape, puis sont venues différentes versions: SSL 2.0 mise au point elle aussi par Netscape et sortie en Février 1995 SSL 3.0 sortie en Novembre 1996 SSL a ensuite été repris par IETF (Internet Engineering Task Force) pour être changé en TLS (Transport Layer Socket) version 1.0 en janvier 1999 Enfin deux extensions ont été apportées à TLS, toujours par la IETF en Juin 2003 et Avril 2006.
Historique SSL/TLS Quand est né le SSL/TLS? Le SSL (Secure Socket layer) est né en 1994, créé alors par Netscape, puis sont venues différentes versions: SSL 2.0 mise au point elle aussi par Netscape et sortie en Février 1995 SSL 3.0 sortie en Novembre 1996 SSL a ensuite été repris par IETF (Internet Engineering Task Force) pour être changé en TLS (Transport Layer Socket) version 1.0 en janvier 1999 Enfin deux extensions ont été apportées à TLS, toujours par la IETF en Juin 2003 et Avril 2006.
Historique SSL/TLS Quand est né le SSL/TLS? Le SSL (Secure Socket layer) est né en 1994, créé alors par Netscape, puis sont venues différentes versions: SSL 2.0 mise au point elle aussi par Netscape et sortie en Février 1995 SSL 3.0 sortie en Novembre 1996 SSL a ensuite été repris par IETF (Internet Engineering Task Force) pour être changé en TLS (Transport Layer Socket) version 1.0 en janvier 1999 Enfin deux extensions ont été apportées à TLS, toujours par la IETF en Juin 2003 et Avril 2006.
Historique SSL/TLS Quand est né le SSL/TLS? Le SSL (Secure Socket layer) est né en 1994, créé alors par Netscape, puis sont venues différentes versions: SSL 2.0 mise au point elle aussi par Netscape et sortie en Février 1995 SSL 3.0 sortie en Novembre 1996 SSL a ensuite été repris par IETF (Internet Engineering Task Force) pour être changé en TLS (Transport Layer Socket) version 1.0 en janvier 1999 Enfin deux extensions ont été apportées à TLS, toujours par la IETF en Juin 2003 et Avril 2006.
Historique SSL/TLS Quand est né le SSL/TLS? Le SSL (Secure Socket layer) est né en 1994, créé alors par Netscape, puis sont venues différentes versions: SSL 2.0 mise au point elle aussi par Netscape et sortie en Février 1995 SSL 3.0 sortie en Novembre 1996 SSL a ensuite été repris par IETF (Internet Engineering Task Force) pour être changé en TLS (Transport Layer Socket) version 1.0 en janvier 1999 Enfin deux extensions ont été apportées à TLS, toujours par la IETF en Juin 2003 et Avril 2006.
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Théorie à propos du fonctionnement de SSL Théorie à propos du fonctionnement de SSL
Théorie à propos du fonctionnement de SSL Dans cette partie nous allons voir comment fonctionne le SSL. Etant donné que SSL peut utiliser différents type d algorithme de cryptage nous allons expliquer sont fonctionnement avec RSA.
Etape 1 Cette première étape dans la transaction SSL consiste à ce que le serveur et le client se mettent d accord sur les différents paramétrages que demande le protocole. En général c est le client qui initialise la procédure, si le serveur doit débuter l échange il envoi un simple message vide.
Etape 1 - Paramétrages Le client envoi donc au serveur : Une liste des algorithmes de chiffrements qu il connait (par ordre préférentiel) Une liste des algorithmes de compressions qu il connait (par ordre préférentiel de nouveau) La version de SSL utilisée Un chiffre aléatoire L ID de session. Le serveur après réception du message envoi au client : Sont certificat (X.509) signé par une autorité de certification (AC). Ce certificat contient la clé publique du serveur, et le nom des algorithmes avec lesquels il est compatible. (Nous le verrons plus en détails par la suite). La plus haute version de SSL possible et le nom des algorithmes de cryptage et de compression. Un chiffre aléatoire L ID de session.
Etape 2 - Authentification Cette deuxième étape permet au serveur de s identifier. Tout d abord le serveur envoi un deuxième message au client, celui-ci contient : Le module et l exposant de sa clé public. Un hash du module et de l exposant (cas de RSA) ainsi que des deux précédents chiffres aléatoires, chiffré par sa clef privée. Ce second message, et surtout le certificat envoyé précédemment, permet au serveur de s identifier au près du client, et de garantir sont identité. Les deux chiffres aléatoires permettent d éviter de refaire toute ces étapes par erreur.
Etape 3 - Création de la clef de session Le client et le serveur sont donc maintenant sûrs de dialoguer entre eux. Cette troisième étape permet de généré la clef de session. Le client génère pour cela une pre-master secret Key qui est un chiffre sur 48 octets. Il la chiffre avec la clé public du serveur et la lui envoi. C est à partir de cette pre-master secret key que le client et le serveur génère la clef de session. Nous verrons comment elle est utilisée à l étape 4. Tout d abord le client et le serveur vérifie qu il on généré la même clef, pour cela le client envoi un hash de la clé. Il envoi aussi un hash de tout les précédents messages.
Etape 4 - Echanges sécurisé symétrique La clef de session générée par le client et le serveur est commune et privée. Les échanges peuvent donc maintenant se faire de manière sécurisé en utilisant le cryptage symétrique. Le principe est simple, le serveur et le client ayant tout les deux la même clef de session, et étant les seuls à la posséder, chacun des deux peuvent crypter des messages et les décrypter, sécurisant les transferts de donnés.
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Structure d un certificat Structure d un certificat
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Structure général d un certificat Le type de certificat vu ici est la version trois du certificat X.509. Comme vu précedement il permet de vérifier l identité de celui qui le possède. Voyons d abord tout les éléments qui le constitue, nous verrons en suite certains de ces points en détail. Certificat Version Numéro de série Algorithme utilisé pour la signature. Nom du signataire du certificat Validité Détenteur du certificat Information sur la clef publique. Algorithme de la clé public. Clef publique. Identifiant unique du signataire (Optionnel) Identifiant unique du détenteur du certificat (Optionnel) Extensions (Optionnel) Signature du certificat.
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conlusion
SSL dans la pratique SSL dans la pratique
SSL dans la pratique Introduction La procédure que nous allons expliquer ici est un rapide résumé de celle présentée de manière complète dans le rapport. Nous ne nous attarderons pas dessus car cela n a que très peu d intérêt.
SSL dans la pratique Nécessaire Pour sécuriser un site web via SSL, il vous faut: Un serveur (physique) Un serveur Apache OpenSSL De la patience
SSL dans la pratique Nécessaire Pour sécuriser un site web via SSL, il vous faut: Un serveur (physique) Un serveur Apache OpenSSL De la patience
SSL dans la pratique Nécessaire Pour sécuriser un site web via SSL, il vous faut: Un serveur (physique) Un serveur Apache OpenSSL De la patience
SSL dans la pratique Nécessaire Pour sécuriser un site web via SSL, il vous faut: Un serveur (physique) Un serveur Apache OpenSSL De la patience
SSL dans la pratique Nécessaire Pour sécuriser un site web via SSL, il vous faut: Un serveur (physique) Un serveur Apache OpenSSL De la patience
SSL dans la pratique Étapes de la mise en place Les différentes étapes de la mise en place de SSL dans le cas de la création d un certificat auto-signé: 1 Créer un certificat racine pour le serveur 2 Générer une paire de clés publique/privée pour le serveur (RSA) 3 Générer une demande de certification pour le serveur avec la clé publique 4 Signer le certificat soumis 5 Rassembler le certificat avec la clé
SSL dans la pratique Étapes de la mise en place Les différentes étapes de la mise en place de SSL dans le cas de la création d un certificat auto-signé: 1 Créer un certificat racine pour le serveur 2 Générer une paire de clés publique/privée pour le serveur (RSA) 3 Générer une demande de certification pour le serveur avec la clé publique 4 Signer le certificat soumis 5 Rassembler le certificat avec la clé
SSL dans la pratique Étapes de la mise en place Les différentes étapes de la mise en place de SSL dans le cas de la création d un certificat auto-signé: 1 Créer un certificat racine pour le serveur 2 Générer une paire de clés publique/privée pour le serveur (RSA) 3 Générer une demande de certification pour le serveur avec la clé publique 4 Signer le certificat soumis 5 Rassembler le certificat avec la clé
SSL dans la pratique Étapes de la mise en place Les différentes étapes de la mise en place de SSL dans le cas de la création d un certificat auto-signé: 1 Créer un certificat racine pour le serveur 2 Générer une paire de clés publique/privée pour le serveur (RSA) 3 Générer une demande de certification pour le serveur avec la clé publique 4 Signer le certificat soumis 5 Rassembler le certificat avec la clé
SSL dans la pratique Étapes de la mise en place Les différentes étapes de la mise en place de SSL dans le cas de la création d un certificat auto-signé: 1 Créer un certificat racine pour le serveur 2 Générer une paire de clés publique/privée pour le serveur (RSA) 3 Générer une demande de certification pour le serveur avec la clé publique 4 Signer le certificat soumis 5 Rassembler le certificat avec la clé
SSL dans la pratique Étapes de la mise en place Les différentes étapes de la mise en place de SSL dans le cas de la création d un certificat auto-signé: 1 Créer un certificat racine pour le serveur 2 Générer une paire de clés publique/privée pour le serveur (RSA) 3 Générer une demande de certification pour le serveur avec la clé publique 4 Signer le certificat soumis 5 Rassembler le certificat avec la clé
SSL dans la pratique Étapes de la mise en place Puis, au niveau d Apache, il faut: 1 Configurer un site web 2 Contraindre le virtual host à rediriger le port 80 sur le port 446 1 avec réécriture en https:// 3 Fournir à Apache le certificat auto-signé avec la clé publique du serveur 4 Activer le module SSL d Apache 5 Activer la configuration du site web 1 port SSL utilisé lors de la mise en place explicitée dans le rapport
SSL dans la pratique Étapes de la mise en place Puis, au niveau d Apache, il faut: 1 Configurer un site web 2 Contraindre le virtual host à rediriger le port 80 sur le port 446 1 avec réécriture en https:// 3 Fournir à Apache le certificat auto-signé avec la clé publique du serveur 4 Activer le module SSL d Apache 5 Activer la configuration du site web 1 port SSL utilisé lors de la mise en place explicitée dans le rapport
SSL dans la pratique Étapes de la mise en place Puis, au niveau d Apache, il faut: 1 Configurer un site web 2 Contraindre le virtual host à rediriger le port 80 sur le port 446 1 avec réécriture en https:// 3 Fournir à Apache le certificat auto-signé avec la clé publique du serveur 4 Activer le module SSL d Apache 5 Activer la configuration du site web 1 port SSL utilisé lors de la mise en place explicitée dans le rapport
SSL dans la pratique Étapes de la mise en place Puis, au niveau d Apache, il faut: 1 Configurer un site web 2 Contraindre le virtual host à rediriger le port 80 sur le port 446 1 avec réécriture en https:// 3 Fournir à Apache le certificat auto-signé avec la clé publique du serveur 4 Activer le module SSL d Apache 5 Activer la configuration du site web 1 port SSL utilisé lors de la mise en place explicitée dans le rapport
SSL dans la pratique Étapes de la mise en place Puis, au niveau d Apache, il faut: 1 Configurer un site web 2 Contraindre le virtual host à rediriger le port 80 sur le port 446 1 avec réécriture en https:// 3 Fournir à Apache le certificat auto-signé avec la clé publique du serveur 4 Activer le module SSL d Apache 5 Activer la configuration du site web 1 port SSL utilisé lors de la mise en place explicitée dans le rapport
SSL dans la pratique Étapes de la mise en place Puis, au niveau d Apache, il faut: 1 Configurer un site web 2 Contraindre le virtual host à rediriger le port 80 sur le port 446 1 avec réécriture en https:// 3 Fournir à Apache le certificat auto-signé avec la clé publique du serveur 4 Activer le module SSL d Apache 5 Activer la configuration du site web 1 port SSL utilisé lors de la mise en place explicitée dans le rapport
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Attaque sur le SSL Attaque sur le SSL
Attaque sur le SSL Comme vous avez pu le constater, SSL est un protocole de sécurité très utilisé. Mais comme beaucoup de protocoles de sécurité, il a aussi ses failles et faiblesses. Nous allons donc décrire et expliquer une des attaques possibles contre le SSL.
Attaque sur le SSL L une de ces attaques a lieu lors d une demande de renégociation. Cette demande peut avoir lieu lors d un passage du SSL serveur vers le SSL client ou si le serveur demande un changement d algorithme de cryptage. Une attaque dite du Men In The Middle est réalisable lors de cette renégociation. En effet il est possible d envoyer plusieurs requêtes en une au serveur. L intrus va donc envoyer plusieurs requêtes au serveur, dont la première d entre elles est une demande d authentification client. Cette demande requiert alors une renégociation. Le serveur met alors toutes les autres requêtes de côté le temps de renégocier.
Attaque sur le SSL L intrus reçoit donc la demande d authentification qu il renvoie directement au client. L intrus a plus qu à attendre que le client s authentifie. Une fois le client authentifié le serveur reprend les requêtes qu il avait mises de côté et exécute également la requête du client. Le problème est que les requêtes mises de côté initialement n ont pas été émises sous authentification du client, mais sont exécutés comme tel. Le serveur exécute toutes les requêtes initiales,il ne peut demander au client de réémettre la requête une fois la renégociation validée. Le serveur n a donc d autres choix que de réutiliser la(les) requête(s) initiale(s).
Attaque sur le SSL À aucun moment l intrus n a connaissance de la clé de chiffrement, et ne peut donc pas lire les informations échangées entre le client et le serveur. Il se contente d injecter des requêtes http nécessitant une authentification avant qu elle n ait lieu. Si l authentification a lieu, l intrus est sûr que ses requêtes seront exécutées. Il a donc un accès en écriture seule au système d information limité par les droits de l utilisateur. Un patch existe pour corriger l erreur, il désactive toute renégociation.
Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL dans la pratique 7 Des attaques contre SSL 8 Conclusion
Conclusion Conclusion
Conclusion Le SSL est un des protocoles les plus fiables et actuellement le plus utilisé et il le restera surement du fait de son évolutivité due à son mode de fonctionnement qui ne se base pas sur un seul algorithme de cryptage symmétrique spécifique. Néanmoins, le RSA est sur le point de devenir trop faible (augmentation des tailles de clés), et il faudra bientôt trouver un autre algorithme qui pourra être intégré à une nouvelle version de SSL/TLS.