SÉCURITÉ : LA PROTECTION DES ECHANGES I. Introduction Chaque ordinateur connecté à Internet est exposé pratiquement à tous les autres, des millions de part le monde. Parmi ces ordinateurs certains sont utilisés par des pirates ou des espions. De façon générale toutes les informations qui circulent sur internet, circulent en clair. Elles peuvent donc être interceptées, lues et éventuellement modifiées. La protection des échanges repose sur plusieurs techniques, les plus utilisées étant le chiffrement, le hachage, la signature électronique t le réseau privé virtuel. II. Le chiffrement Au départ, les applications de la cryptographie étaient militaires aujourd hui ces techniques servent aussi pour le paiement par carte bancaire, les liaisons satellite, la certification de documents électroniques et pour la protection des données contre le piratage et l espionnage. La cryptographie consiste à modifier un fichier de façon à le rendre illisible par les personnes auxquelles il n est pas destiné. Un message clair est préalablement codé par une fonction de chiffrement à l aide d une clef. Une clé «CHIFFRANTE» est un logiciel qui a pour fonction de substituer un caractère à un autre ou d insérer des chaînes de caractères dans le message original. Le déchiffrement s opère au moyen d une clef qui peut être différente pour la fonction de déchiffrement. Exemple : Message d origine : BONJOUR MADAME Clé secrète : ACTUALITE. Fonction de chiffrement : position de la lettre dans l alphabet. On additionne les positions des lettres du message avec les positions des lettres de la clef (modulo 26). On déduit ensuite le message codé. (Voir tableau ci-dessous) B O N J O U R M A D A M E 2 15 14 10 15 21 18 13 1 4 1 13 5 A C T U A L I T E A C T U 1 3 20 21 1 12 9 20 5 1 3 20 21 3 18 8 5 16 7 1 7 6 5 4 7 26 C R H U P G A G F E D G Z Il existe plusieurs techniques de chiffrement. Dans le chiffrement symétrique, le chiffrement et le décryptage s effectuent de la même manière mais de façon symétrique (voir figure1). L inconvénient de cette méthode est le nombre de clefs nécessaires car il en faut une différente avec chacun des interlocuteurs. Le chiffrement asymétrique utilise une clef publique pour chiffrer les messages et des clefs privées pour le décryptage. De même les fonctions de chiffrage et de décryptage sont différentes. En utilisant ce type de chiffrement, le nombre de clefs par personne est seulement de deux : une clé publique, une clé privée. Chiffrement symétrique : 4 personnes donc 12 clefs car chacune des personnes à besoin de trois clefs car a trois interlocuteurs. 1
Chiffrement asymétrique : 4 personnes donc huit clefs car chacune des personnes possède sa clef privée et sa clef publique. III. Les algorithmes de hachage à sens unique Le hachage à sens unique est un type de cryptographie qui ne chiffre pas les données, mais sert à vérifier leur intégrité. Quand un algorithme de hachage à sens unique est appliqué à un texte en clair, le texte codé qui en résulte, qui est appelé «condensé de message», joue le rôle d'une empreinte digitale. Le condensé de message est plus petit que le texte en clair original, et il est généralement attaché au texte en clair avant la transmission. Quand il reçoit à la fois le texte en clair et le condensé de message, le destinataire peut vérifier que les données reçues sont intactes et qu'elles n'ont pas été altérées. Par exemple, supposons que Bernard écrive le message suivant à Alice : «Veux-tu déjeuner avec moi à 12 heures?» Il passe ensuite le texte à la moulinette d'un algorithme de hachage à sens unique pour créer un condensé de message du texte, qui peut ressembler à ceci : «16&*/,P». Bernard envoie alors à la fois le message et le condensé de message à Alice. Quand Alice reçoit le message, elle lit : «Veux-tu déjeuner avec moi à 11 heures?» Elle crée ensuite un condensé de message du texte qu'elle vient de recevoir, en utilisant le même algorithme de hachage à sens unique que Bernard, et obtient le résultat suivant : «71#*L2». En comparant les deux condensés de message, Alice peut alors voir que le message envoyé par Bernard et le message qu'elle a reçu ne sont pas identiques. Un algorithme de hachage à sens unique ne génère jamais deux fois le même condensé de message, à moins que le message ne soit similaire. Dans la mesure où le «12» du message de Bernard a été mystérieusement changé en «11» (ce peut être un hacker qui a intercepté puis modifié le message), le condensé de message contient un résultat complètement différent. Ce type de cryptage à sens unique est souvent utilisé en conjonction avec d'autres formes de cryptage pour augmenter la sécurité d'un système. IV. La signature électronique Cette signature doit permettre d authentifier l origine d un message. Il s agit d une empreinte, sceau, signature difficilement reproductible. Une «signature électronique», qui est une petite portion de données chiffrées attachée à un message, est utilisée pour vérifier qu'un message est authentique et intact. Le cryptage à clé publique et le cryptage à l'aide d'une fonction de hachage à sens unique peuvent tous les deux être utilisés pour créer une signature électronique. Comment fonctionne une signature électronique? Supposons qu'alice envisage d'envoyer à Bernard un message signé numériquement. Tout d'abord, Alice exécute une fonction de hachage à sens unique sur le message original, comme cela est illustré à la figure ci-dessous. Il en résulte un condensé de message qui est beaucoup plus court que le message original. Alice chiffre ensuite le condensé de message avec sa clé privée. Le texte codé ainsi obtenu est la signature électronique. La signature est beaucoup plus petite que le message original, et elle est ensuite ajoutée au message lui-même. Ainsi, pour créer une signature électronique, il faut chiffrer un message à l'aide d'une fonction de hachage à sens unique, puis le crypter à nouveau avec sa clé privée. 2
Message en clair Cryptage avec fonction de hachage à sens unique Lorsque Bernard reçoit le message, il reçoit également la signature électronique. Il utilise alors immédiatement la clé publique d'alice pour déchiffrer la signature électronique, révélant ainsi le condensé de message créé par Alice. Bernard crée ensuite son propre condensé de message à partir du message qu'il vient de recevoir. Si les deux condensés de message sont identiques, Bernard est alors certain que le message est authentique. Tout ce processus se déroule automatiquement en arrière plan quand on envoie un message chiffré sur Internet, si l'on possède un identifiant numérique En France, une loi relative à l'adaptation du droit de la preuve et à la signature électronique a été adoptée en première lecture au Parlement le 13 mars 2000. Le décret d'application de cette loi a été publié le 30 mars 2001 au journal Officiel. V. L authentification L identification Condensé message Cette partie du cours est développée dans la partie VPN et dans le polycopié concernant Le commerce électronique. Sachez simplement ici, qu avant d entamer un échange sécurisé sur un réseau, on va s assurer une fois pour toutes de l identité de son correspondant, en utilisant, en général, la signature électronique et la notion de certificats et d organismes certificateurs. de Cryptage avec une clé privée électronique VI. Le chiffrement et la loi française Pour préserver les intérêts de la défense nationale et de la sécurité intérieure ou extérieure de l Etat, la fourniture ou l utilisation de moyens ou de prestations de cryptologie sont soumises : a) à la déclaration préalable lorsque ce moyen ou cette prestation ne peut voir d autres objets que d authentifier une communication ou d assurer l intégrité d un message. b) à l autorisation préalable du Premier ministre dans tous les autres cas. Exemple : Si vous utilisez le chiffrement pour éviter que les mots de passe se promènent en clair sur le réseau ou pour chiffrer une signature électronique, vous êtes dans le cas a. La France fait partie des pays ayant la législation la plus restrictive au monde. Un certain assouplissement a depuis été adopté qui consiste à autoriser le chiffrement en fonction de la taille de la clef utilisée. En effet plus cette clef est courte plus le code secret est facile à découvrir ce qui satisfait le ministère de la défense en encourageant le commerce électronique. VII. LE RESEAU PRIVE VIRTUEL (d après guill.net) A) Introduction Un VPN (Virtual Private Network) est une liaison sécurisée entre 2 parties via un réseau public, en général Internet. Cette technique assure l authentification des 2 parties, l intégrité des données et le chiffrage de celles-ci. Les 3 grands cas d utilisation de VPN sont les suivants : 3
- Raccordement de télétravailleurs ou travailleurs mobiles. Ceux-ci se raccordent aux ressources de l entreprise par modem, RNIS ou xdsl - Interconnexion de succursales. Des sites distants d une même entreprise partagent les mêmes ressources sans avoir recours à des lignes spécialisées (LS). - Exploitation de réseaux extranets. Ce segment trouve sa justification dans l essor probable du commerce électronique. La figure ci-dessous illustre le principe des VPN B) Pourquoi utiliser un VPN? La principale raison pour implémenter un VPN est l économie supposée par rapport à tout autre type de connexion. Bien que les VPN nécessitent l acquisition de produits matériels et logiciels supplémentaires, le coût à terme de ce genre de communication est moindre. L entreprise ne paye que l accès à l Internet via son ISP (tarif local) et non une communication nationale dans le cas d une liaison RNIS ou un forfait dans le cas d une Liaison Spécialisée. La technologie VPN procure de même la sécurité lors des connexions d utilisateurs distants au réseau interne de l entreprise. C) Fonctionnement des VPN Une connexion VPN met en jeu les composants suivants : Serveur VPN Un ordinateur qui accepte des connexions VPN de clients VPN. Un serveur VPN peut fournir une connexion VPN accès distant ou une connexion VPN routeur à routeur. Client VPN 4
Un ordinateur qui initie une connexion VPN vers un serveur VPN. Un client VPN peut être un ordinateur individuel qui obtient une connexion VPN accès distant ou un routeur qui obtient une connexion VPN routeur à routeur. Tunnel La portion de connexion dans laquelle les données sont encapsulées. La connexion VPN La portion de connexion dans laquelle les données sont chiffrées. Pour des connexions VPN sécurisées, les données sont chiffrées et encapsulées dans la même portion de la connexion. Note : Il est possible de créer un tunnel et d'envoyer les données dans le tunnel sans chiffrage. Ce n'est pas une connexion VPN car les données privées sont envoyées au travers d'un réseau partagé ou public sous une forme non chiffrée et facilement lisible. Protocoles Les premiers standards utilisés furent propriétaires à l image de L2F (Layer 2 Forwarding) de Cisco et Shiva (Intel), PPTP (Point to Point Tunneling Protocol) de Microsoft et 3Com et L2TP (Layer 2 Tunneling Protocol), fusion des 2 précédents. Cependant, le standard actuel de niveau 3 est IPsec promulgué par IETF (Internet Engineering Task Force). Ses composantes assurent : 1. la gestion et l échange des clés entre 2 passerelles VPN (IKE : Internet Key Exchange) 2. le chiffrement des paquets IP (ESP : Encapsulating Security Payload) 3. l authentification (AH : Authentication Header) D) La tunnelisation C est la méthode utilisée pour faire transiter des informations privées sur un réseau public. Les tunnels sécurisés garantissent la confidentialité et l intégrité des données ainsi que l authenticité des 2 parties. Dans cette méthode dite d encapsulation, chaque paquet est complètement chiffré et placé à l intérieur d un nouveau paquet. Les standards de la couche 2 sont PPTP (Point to Point Tranfert Protocol) et L2F (Layer 2 Forwarding) qui ont convergé vers un protocole unique, L2TP (Layer 2 Transfert Protocol). Le protocole de niveau 3 est standardisé : il s agit de la norme prescrite par l IETF pour IP V6 et compatibles IP V4, IPsec. Il existe 2 modes de transport distincts : - Mode Transport : il protège le contenu d une trame IP en ignorant l en-tête. Ce mode de transport est généralement utilisé entre les points terminaux d une connexion. - Mode Tunnel : plus performant, il crée des tunnels en encapsulant chaque trame dans une enveloppe qui protège tous les champs de la trame. Il est utilisé entre 2 équipements dont au moins un n est pas un équipement terminal. Les données peuvent être chiffrées (mode ESP) ou pas ( mode AH) Voici le détail des 3 principaux composants d IPsec : 5
AH (Authentication Header) Ce module garantit l authenticité des trames IP en y ajoutant un champ chiffré destiné à vérifier l authenticité des données renfermées dans le datagramme. AH - Mode Transport : AH - Mode Tunnel : ESP (Encapsulating Security Header) Ce procédé assure la confidentialité et l authenticité des informations en générant des données chiffrées sur une nouvelle trame, à partir de la trame d origine. 6
Les avantages de la tunnelisation sont multiples. Elle permet de cacher la topologie du réseau, de router des réseaux non-routables au travers d internet et de faire cohabiter des solutions VPN et pare-feu au niveau de la couche applicative. IKE (Internet Key Exchange) Protocole destiné à permettre le partage d'une clé de chiffrage entre émetteur et destinataire, dans le cadre du protocole IPsec. E) Le chiffrement Le chiffrement recommandé par l IETF est basé sur le standard US, le DES. Celui-ci présente 3 variantes, se distinguant les unes des autres par le nombre de bits utilisés : - 56-bit DES : simple, craqué en quelques minutes - 112-bit DES (double DES) : craqué par une attaque en ligne concernée, sans complexité supplémentaire que le 56-bit - 168-bit DES (triple DES) : basé sur 3 clés indépendantes mais pas aussi difficile à craquer qu un système à clé de longueur triple. Aucun chiffrement cependant n est sûr à 100%. Le Gouvernement a décidé de relever le seuil de chiffrage dont l'utilisation est libre, de 40 bits à 128 bits. Le protocole DES, quelqu en soit le type, est symétrique, c est-à-dire que la même clé de session (ou la même suite de 3 clés dans le cas triple DES) est utilisée par les 2 entités communicantes. Cette clé est changée de manière aléatoire au bout d un certain temps qui correspond à la durée de vie de cette clé. Cependant, le problème réside dans l échange de la valeur de la clé entre les 2 entités. On le résout grâce au protocole de Diffie-Hellman. Celui-ci permet la négociation d une clé unique, de manière commune. Chaque entité détermine une moitié de la clé et envoie les paramètres permettant de calculer la moitié manquante à l autre entité. Ce protocole étant asymétrique, il se base sur une paire de clés, une «privée» et une «publique». On imagine 2 entités (A et B) et leur jeu de clés privée et publique. A calcule la moitié de la future clé commune et fournit à B les paramètres permettant de calculer cette moitié. Il utilise la clé publique de B pour chiffrer ces paramètres et les envoie à B. Ce dernier déchiffre le paquet reçu grâce à sa clé privée et calcule la moitié de clé qui lui manque. Il fait une opération similaire de manière à fournir à A sa moitié de clé. Ainsi, les 2 entités disposent d une clé commune de session. La faiblesse de ce type d échange réside dans la validité de la clé publique. Il s agit de contrôler l origine de l entité qui envoie la clé publique, il faut l authentifier. F) L authentification Elle est obtenue en fournissant la preuve de son identité auprès de son interlocuteur. Il existe plusieurs technologies dont voici les 3 principales : 7
1) Les certificats digitaux Un certificat est constitué d'une clef publique et d'un certain nombre de champs d'identification, le tout signé par un tiers certificateur. En plus, un certificat contient des informations de gestion (numéro de série, une date d'expiration, etc.). Ils se basent sur les recommandations X509 et permettent de façon sûre d authentifier une personne, à la manière d un passeport. On fournit à une autorité de certification les informations et celle-ci retourne un certificat digital. Ces certificats sont composés de 2 parties : les informations concernant l entité (nom, clé publique, adresse physique...) et un résumé chiffré de ces informations. Le résumé de ces informations est effectué par un algorithme de hachage tel MD5 ou SHA-1 qui retourne un numéro unique, numéro qui est ensuite chiffré. Lorsqu un certificat est transmis à une entité qui veut vérifier l authenticité d une autre, elle procède en 4 étapes : - elle sépare les informations de l entité et le résumé chiffré, - elle déchiffre le résumé chiffré, - elle recalcule un résumé en utilisant le même algorithme (MD5...) - elle compare le résumé calculé par ses soins et le résumé déchiffré : si les résultats correspondent, l authenticité est prouvée. La figure suivante illustre ces propos : L autorité de certification peut être de 2 types. Elle peut être propriétaire et fournie par le constructeur ou bien elle peut être externe. C est alors une société tiers à qui l on délègue la gestion de sa PKI (Public Key Infrastructure). Les sociétés les plus connues sont actuellement Entrust, Verisign... 2) Phrase challenge Le processus est similaire à celui utilisé dans le cas des certificats digitaux. La différence réside en l absence d autorité de certification ; les entités doivent elles même générer leurs 8
certificats digitaux. La signature est alors chiffrée par une phrase challenge commune aux 2 entités. Il faut donc que celle-ci soit entrée dans tous les équipements désirant communiquer. 3) Radius Ce système utilise un serveur d authentification RADIUS. Lors d une demande de connexion d un client sur un équipement VPN, ce dernier demande le mot de passe et l identifiant RADIUS du client. Ensuite, l équipement VPN utilise sa clé secrète pour vérifier l authentification auprès du serveur RADIUS. 9