Archives par mot-clé : man in the middle

Le chiffrement SSL/TLS pour les débutants

Bonjour à tous!

Dans cette vidéo je vais vous parler de chiffrement des communication sur le web. Plus concrètement c’est lorsque vous surfez sur des sites en https. Alors oui, vous savez maintenant que le S c’est pour dire que la communication est sécurisée car chiffrée.

Et dans cette vidéo, je vous explique comment tout ça marche dans cette vidéo.

 

 

Mais voyons ce qu’est le chiffremement web avec un exemple :

  • Lorsque vous vous connectez sur le site de votre banque, la connexion se fait toujours en https pour des raisons de sécurité
  • Vous pouvez vérifier ce sera toujours le cas (ou alors changez de banque!)
  • Mais que se passerait-il si la communication se faisait en HTTP?

Eh bien c’est simple, toutes les informations échangées transiteraient en clair. Ce qui veut dire qu’une personne malveillante peut intercepter les échanges avec votre banque et donc avoir toutes les informations qui y transitent

En fait le HTTPS c’est une connexion HTTP dans un tunnel chiffré SSL/TLS. Et ce tunnel va sécuriser vos échanges car mêmce si une personne malveillante intercepte vos échanges, les informations sont chiffrées et donc incompréhensibles pour elles.

SSL veut Secure Sockets Layer. TLS veut dire Transport Layer Security. SSL et TLS sont des protocoles de sécurisation des échanges sur Internet. Aujourd’hui c’est TLS qui est utilisé, SSL étant obsolète. Mais on parle parfois de SSL/TLS pour parler juste de TLS.

 

Maintenant voyons ce qui se passe derrière ce chiffrement SSL/TLS.

Le chiffrement consiste à transformer vos données afin de les rendre illisible grâce un algorithme de chiffrement et une clé de chiffrement

La clé de chiffrement est utilisé par un algorithme, pour chiffrer et déchiffrer des données utiles (l’information qu’on veut faire transiter). La clé de chiffrement c’est une donnée (en gros c’est une suite de bits comme une phrase ou une série de chiffres) qu’on peut voir comme un mdp. Un algorithme de chiffrement c’est juste une méthode de chiffrement, cad une façon de rendre inintelligible vos données.

Pour pouvoir lire ces données de nouveau, il est nécessaire de connaître l’algorithme et la clé de chiffrement pour les déchiffrer

 

Maintenant que vous avez compris ça, passons à la notion de cryptographie symétrique :

  1. Ici Alice et Bob ont la même clé secrète.
  2. Alice veut envoyer un message à Bob. Elle veut que personne d’autre que Bob ne puisse lire ce message. Du coup, elle prend sa clé secrète et va chiffrer le message avec
  3. Elle envoie le message chiffré à Bob
  4. Lorsque Bob recoit le message d’Alice, il ne peut pas encore le comprendre à la reception. Il faut d’abord qu’il déchiffre le message avec la même clé secrète. Et c’est seulement là qu’il pourra lire le message
  5. Et si Bob veut répondre à Alice de façon sécurisé, il peut utiliser la clé secrète pour chiffrer sa réponse et ensuite l’envoyer à Alice.

Il y a donc une seule clé pour chiffrer et déchiffrer un message

Le Gros problème de la cryptographie symétrique c’est l’échange de ces clés. En effet, Le fait que les 2 personnes. doivent utiliser la même clé impose d’avoir un canal sécurisé pour l’échange de la clé parce que si quelqu’un d’autre arrive à s’emparer de la clé… il sera capable de lire le message…

Passons maintenant à la cryptographie asymétrique

Le principe du chiffrement asymétrique repose sur l’utilisation de 2 clefs :

  • on appelle une des 2 clefs la clef privée et l’autre la clef publique.
  • Quand l’utilisateur chiffre avec la première clef, il peut déchiffrer avec la deuxième clé
  • Quand l’utilisateur chiffre avec la deuxième clef, il peut déchiffrer avec la première clef.
  • Peu importe l’ordre des clés utilisés parce qu’en fait ces 2 clés ou algorithme de chiffrement sont liés mathématiquement

Reprenons avec Alice qui a maintenant une clé privée et une clé publique :

  • La clef privée n’est jamais transmise à personne (ça porte bien son nom d’ailleurs).
  • Par contre, Alice peut diffuser sa clé publique à n’importe qui,
  • Donc là Alice a envoyé sa clé publique à Bob pour que les 2 puisse communiquer

Voyons maintenant comment ça marche :

  1. Ici Bob et Alice se sont transmis leur clé publique et garde leur clé privé
  2. Bob veut envoyer un message à Alice et veut que seul Alice puisse lire le message. Il chiffre donc son message avec la clef publique d’Alice
  3. Alice déchiffre le message avec sa clef privée (il n’y a qu’elle qui possède cette clef). Alice est la seule à pouvoir déchiffrer les messages qui lui sont adressés
  4. De façon similaire, Si Alice veut répondre à Bob. Alice utilise la clef publique de Bob pour envoyer le message;
  5. Bob utilisera sa propre clef privée pour le déchiffrer le message

Ce procédé assure la confidentialité de l’échange c’est-à-dire être sûr que Alice et Bob sont les seuls à échanger.

Bob est sûr que seul Alice peut lire son message puisque Bob a utilisé la clef publique d’Alice pour chiffrer son message. Seule la clé privé d’Alice peut déchiffrer le message de bob. Bob est donc sûr que seule Alice peut lire le message et inversement pour Alice avec la clef publique de Bob

Ensuite la cryptographie asymétrique garantit aussi l’authenticité de l’expéditeur :

  • C’est-à-dire que pour Bob c’est être sur le message d’Alice vient bien Alice)
  • Eh oui parce que si Bob réussit à déchiffrer le message avec la clé publique d’Alice c’est que le message a été chiffré avec la clé privée d’Alice
  • Tous ceux qui ont la clé publique peuvent déchiffrer le message d’Alice, mais seule Alice possède sa clé privé
  • Si Bob arrive a déchiffrer le message avec la clé publique d’Alice il sait que le message est bien d’Alice

Le problème va venir de la transmission de la clé publique. Notamment si une personne malveillante, qu’on va appeler M pour la suite, se positionne entre Alice et Bob, et se fait passer pour l’un d’eux et donne sa clé publique à la place. C’est l’attaque du MITM ou de l’homme du milieu en français

Il va diffuser une clé publique à Bob en se faisant passer pour ALice. Bob croit alors que c’est la clé publique d’Alice. Alice et Bob ont tous les deux la clef publique de M, en pensant qu’ils ont celle de leur interlocuteur. M intercepte et modifie l’échange de clefs entre Alice et Bob.

Du coup, lorsque Alice veut envoyer un message à Bob, elle va l’envoyer en chiffrant avec la clé publique supposé appartenir à Bob. En fait, M va intercepter le message, il va le déchiffrer avec sa clé privé et lire le message. Ensuite pour ne pas éveiller les soupçon, il va chiffrer le message avec la clé publique de bob et envoyer le message à Bob.

Comme ça Bob déchiffre avec sa clé privé pour lire le message. M est donc capable de lire les conversations entre les 2 et de récupérer des informations importantes.

Et à l’inverse, quand bob veut échanger avec alice, il utilise la clé publique de M pour chiffrer et M fait la même chose cad qu’il intercepte le message, l’ouvre, le lit et le rechiffre avec la clé publique d’alice.

Pour éviter que probleme de MITM, il faudrait pouvoir certifier l’identité du porteur de cette clé. Et ça c’est le rôle du certificat.

Un certificat  est un fichier avec ensemble de données contenant :

  • une clef publique (au minimum)
  • des informations pouvant identifier la personne : nom, e-mail, localisation…
  • des informations liées au certificat, notamment sa date de validité
  • Et une signature électronique d’une autorité de certification

La signature électronique est la preuve le certificat a bien été vérifiée par l’autorité de certification puisque qu’il y a sa signature. Elle est la garantie de son intégrité (cad la preuve que le document n’a pas subit d’altération entre l’instant où il a été signé par son auteur et celui où il a été consulté).

A noter que la signature électronique du certificat c’est la combinaison de vos information et de votre clé publique, tout ça chiffré par la clé privé de l’autorité de certification

une Autorité de Certification est l’institution responsable d’émettre ces certificats et elle garantit que les informations contenus dans ces certificats sont correctes.

Dans notre cas, si Alice veut créer son certificat, il faut qu’elle fournisse sa clé publique et des informations sur elle à l’autorité de certification et des sous (parce que ce n’est pas gratuit), qui elle vérifie tout ça, L’autorité de certification va créer un certificat pour Alice avec la signature électronique de l’AC,

Le certificat atteste donc  que la clef publique du certificat appartient bien à la personne désignée dans le certificat.

 

Maintenant que vous avez toutes ces notions en tête, on peut passer à l’explication du chiffrement SSL/TLS.

Imaginons que vous voulez vous connecter à votre banque, vous allez taper l’adresse de votre banque en https sur votre navigateur :

  1. Vous allez envoyer une demande de connexion sécurisée à votre banque
  2. Votre banque va alors vous envoyer son certificat avec sa clé publique
  3. Votre navigateur vérifie la signature du certificat et sa validité. Il faut savoir que le navigateur a déjà un certain nombre de clés publique d’AC dans sa base de données
  4. Ensuite le navigateur va prendre la clé publique de l’AC qui a certifié le certificat de la banque.
  5. Il va déchiffrer la signature du certificat, s’il y arrive. Cela veut dire que le certificat est de confiance car seul l’AC possède sa clé privé
  6. Si tout est OK, le client et le serveur négocie ensemble pour se mettre d’accord sur un algorithme de chiffrement ainsi qu’une clé secrète commune qu’ils vont utiliser pour cette session d’échange, connus de 2 seulement comme dans la cryptographie symétrique
  7. C’est avec cette clé que vous allez chiffrer et déchiffrer vos échanges avec votre banque et donc communiquer de façon sécurisé

Firewall : l’essentiel en 8 minutes

Cette vidéo répond aux questions :
– Qu’est ce qu’un Firewall?
– Quelles sont les fonctionnalités clés du Firewall?
– Quel est l’intérêt d’un Firewall?
– Quelles sont les règles de filtrage?
– Qu’est ce qu’une DMZ?
– Comment protéger le réseau interne d’une entreprise d’Internet?
– Quels sont les différents types de Firewall?

 

C’est quoi un firewall?

Un pare-feu est un élément du réseau informatique,  logiciel, matériel, ou les deux à la fois, qui a pour fonction de sécuriser un  réseau en définissant les communications autorisés ou interdites.

Le firewall permet d’interconnecter 2 réseaux (ou plus) de niveaux de sécurité différents (par exemple : internet et le réseau interne d’une entreprise). Le firewall joue un rôle de sécurité en contrôlant les flux de données qui le traversent (en entrée ou en sortie). Il permet ainsi de filtrer les communications, de les analyser et enfin de les autoriser ou de les rejeter selon les règles de sécurité en vigueur. 

Règles de filtrages des accès.

Les critères les plus courants de filtrage sont les suivantes

  • L’origine ou/et la destination des paquets (avec l’adresse IP, les ports TCP ou UDP notamment)
  • Les options contenues dans les données (comme leur fragmentation ou leur validité par exemple) ;
  • Les données elles-mêmes évidemment ;
  • Et même les utilisateurs pour les firewalls les plus récents.

Types de firewalls

Il existe différents types de firewalls en fonction de la nature de l’analyse et des traitement effectués.

Le premier type de firewall est le pare-feu sans état ou stateless packet firewall. Ce type de firewall regarde chaque paquet indépendamment des autres et le compare à une liste de règles de filtrages, appelée ACL (Access Control Lists). Ce firewall accorde ou refuse le passage de paquet en se basant sur :

  • L’adresse IP Source/Destination.
  • Le numéro de port Source/Destination.
  • Et bien sur le protocole de niveaux 3 ou 4 du modèle OSI (IP pour le réseau et TCP/UDP pour le transport).

Ainsi une fonction de filtrage d’un firewall peut être paramétrée en fonction des numéros de port.

La principale limite des firewalls sans états est que l’administrateur va être rapidement contraint à autoriser un trop grand nombre d’accès, ce qui limite la protection.

Ces pare-feux ont donc tendance à être obsolètes mais restent présents sur certains routeurs.

Passons au deuxième type de firewalls : il s’agit du pare-feu à états (stateful firewall).

Les pare-feux à états vérifient que chaque paquet d’une connexion est bien la suite du précédent paquet et la réponse à un paquet dans l’autre sens. Les pare-feu à états maintiennent un tableau des connexions ouvertes et associent les nouvelles demandes de connexion avec des connexions autorisées existantes. Ainsi si une connexion est autorisée, tous les paquets constitutif de l’échange seront implicitement acceptés.

La particularité de ce type de firewall est de pouvoir prendre des décisions de filtrage en fonction des informations accumulées lors des connexions précédentes, et non plus seulement sur des règles définies par l’administrateur.

Par contre, le « pare-feu à états » est limitée à garder un suivi du trafic avec sa table d’états et d’établir la correspondance ou pas.  Ce qui veut dire que une fois que l’accès à un service a été autorisé, il n’y a aucun contrôle effectué sur les requêtes et réponses.

Concernant le firewall applicatif, il permet de filtrer les communications application par application. Les requêtes sont traitées par des processus dédiés (par exemple une requête de type Http sera filtrée par un processus proxy Http). Le pare-feu rejettera toutes les requêtes qui ne sont pas conformes aux spécifications du protocole. 

Le firewall applicatif peut faire du « proxying applicatif » :

Il fait l’intermédiaire en invoquant le service demandé à la place de l’utilisateur en validant chaque contenu et en masquant certains informations. On parle de « masquage d’adresse » : lorsqu’un utilisateur interroge un site web,  c’est le proxy interne (firewall applicatif) qui en tant que relais contacte le serveur externe avec sa propre adresse, et non celle du système de l’utilisateur final.

Enfin, il y a le firewall identifiant qui est capables de réaliser l’identification des connexions en passant à travers le filtre IP.  L’administrateur peut ainsi définir les règles de filtrage par utilisateur (et non plus par adresse IP ou adresse MAC).

Enfin, dernier type de firewall : le firewall personnel. On le retrouve dans le cas où la zone protégée se limite à l’ordinateur sur lequel le firewall est installé (comme logiciel). Ainsi, un firewall personnel sur ce poste de travail permet de contrôler l’accès au réseau des applications installées sur ce seul poste de travail. Le firewall personnel permet en effet de repérer et d’empêcher l’ouverture non sollicitée de la part d’applications non autorisées à se connecter.