Cryptographie – Protocoles sécurisés

Transcription

Cryptographie – Protocoles sécurisés
Cryptographie – Échanges de données sécurisés
Différents niveaux d'intégration dans l'organisation du réseau TCP/IP
Au niveau 3 (couche réseau chargée de l'envoi des datagrammes IP) : IPSec
Au niveau 4 (couche transport chargée de la simulation de canaux de communication : SSL
Au niveau 5 (couche application) : SHTTP, S/MIME, PGP
IPv6 : IPsec
Différents domaines applicatifs
L'envoi de courrier : PGP, S/MIME
Le paiment en ligne : SSL, S-HTTP, SET, CyberComm
Les réseaux sécurisés d'entreprise (VPN, Virtual PrivateNetwork) : SSL, IPSec
Extension de protocoles existant
Le format MIME : S/MIME
Le protocole HTTP : S-HTTP
Cryptographie – Extension du réseau - IPSec
IPSec (Internet Protocol Security, RFC 2401)
C'est un protocole de la couche 3 (OSI ou TCP/IP.
IPsec est une norme qui définit une extension de sécurité pour le protocole Internet.
Son but est de contrer les diverses attaques rendues possibles par le protocole IP :
- empêcher un adversaire d'espionner les données circulant sur le réseau
- empêcher de se faire passer pour autrui afin d'accéder à des ressources ou des données protégées (usurpation d'identité).
Les services de sécurité fournis sont
- la confidentialité,
- l'authentification
- l'intégrité des données,
- la protection contre le rejeu (replay)
- le contrôle d'accès.
Ces services fon appel à des systèmes cryptographiques.
La sécurisation se fait au niveau d'IP.
IPsec peut être mis en œuvre sur tous les équipements du réseau et fournir un moyen de protection unique pour tous les échanges
de données.
De nombreux fournisseurs intègrent IPsec dans leurs produits, ce qui facilite son déploiement à l'échelle d'un réseau d'entreprise.
Des exemples d'utilisations d'IPsec sont :
- la création de réseaux privés virtuels (VPN),
- la sécurisation des accès distants à un Intranet (Extranet)
- la protection d'un serveur sensible.
Tunnel : faire circuler des paquets chiffrés entre deux ordinateurs s’appelle créer un tunnel (la tunnelisation),
VPN : disposer de lignes privées alors que l’on utilise le réseau Internet comme tout le monde (économies pour une entreprise, possibilité de télé-travail…
Cryptographie – Extension du réseau - IPSec
Fonctionnement
Chiffrement de tout ou partie des « paquets IP » à l'aide de méthode de chiffrement à clé secrète.
Les deux ordinateurs distants doivent s’entendre sur les clés pour chiffrer/déchiffrer : utilisation de la méthode de Diffie-Hellman.
Deux modes de fonctionnement
Mode Transport : il protège le contenu d'une trame IP en ignorant l'en-tête.
Le routage est simplifié puisqu'il peut être fait par des matériels ne gérant pas IPSec, mais il offre des risques.
Ce mode de transport est généralement utilisé entre les points terminaux d'une connexion (routeur/passerelle vers ordinateur).
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 des 2 n'est pas un équipement terminal (routeur ou passerelle contre ordinateur) .
Chiffrement total ou partiel
Les données du datagramme IP peuvent être chiffrées (mode ESP) ou pas (mode AH).
Mode AH (Authentification Header) : l'authentification du datagramme IP est réalisée en ajoutant un champ chiffré.
La confidentialité n'est pas assurée.
Pas d'utilisation d'algorithmes de chiffrement qui peuvent être interdit dans certain pays.
ESP (Encapsulating Security Header) :confidentialité et l'authentification des informations.
Un nouveau datagramme est transmis ne contenant que des données chiffrées.
Cryptographie – Protocoles sécurisés - SSL
SSL (Secure Socket Layer)
SSL créé par Netscape,en collaboration avec Mastercard, Bank of America, MCI et Silicon Graphics, utilise l'algorithme à clé publique
RSA,
SSL est présent dans la plupart des navigateurs (Netscape Navigator, Secure Mosaic, Microsoft Internet Explorer,…) ce qui en fait la
solution universellement acceptée par le World Wide Web.
C'est un protocole de communication qui permet d'assurer l'authentification, la confidentialité et l'intégrité des données échangées.
SSL chiffre des sessions
Du point de vue réseau
SSL est placé entre la couche transport et application de TCP/IP.
SSL utilise des protocoles ayant les fonctionnalités des couches session, présentation et application du modèle OSI
SSL est un protocole indépendant du protocole de communication de plus haut niveau qui repose sur lui.
SSL peut être adapté à d’autres protocoles tel que HTTP, SMTP, Telnet, FTP…
Dans le cas du protocole HTTP, il a été nécessaire de définir une nouvelle méthode d’accès dans les URL baptisée HTTPS pour se
connecter au port d’un serveur utilisant le SSL qui porte par défaut le numéro 443.
L'URL des sessions sécurisées par le SSL débute toujours par "https://".
SSLet la sécurité
SSL utilise l’algorithme à clé publique RC4 de RSA pour crypter les sessions (chiffrement par flux).
SSL peut
- négocier la méthode de chiffrement à utiliser,
- authentifier les acteurs de la communication,
- chiffrer au vol tout ce qui arrive par son canal.
Les spécifications de SSL sont publiques, mais son implémentation de référence (SSLREF) n'est pas exportable des USA.
Il existe :
- une implémentation OpenSource comme OpenSSL
- des patchs pour intégrer SSL aux logiciels de communications usuels: http, telnet, ftp, etc.
Le principal problème du SSL est qu’il est nécessaire de faire une totale confiance au tiers de confiance.
Cryptographie – Protocoles sécurisés - SSL suite
1 - Le client et le serveur obtiennent un certificat d’identité auprès d’un tiers de confiance.
Ce certificat contiendra entre autre une clé privée et une clé publique pour le client.
2 - Le client s’identifie à l’aide de son certificat d’identité auprès du serveur.
3 - Le serveur envoie un message au client et lui demande de le chiffrer avec sa clé privée (celle du client)
4 - Le client chiffre ce message à l’aide de sa clé privée et envoie le message chiffré au serveur
5 - Le serveur déchiffre le message du client (à l’aide de la clé publique du client) et le compare avec le message original, s’ils sont
identiques, c’est la preuve que le client est bien le client
6 - Le serveur se connecte au tiers de confiance qui a délivré le certificat au client, lui envoie un message et lui demande de le chiffrer
7 - Le tiers de confiance chiffre le message avec sa clé privée et le renvoie au serveur
8 - Le serveur déchiffre le message reçu (avec la clé publique du tiers de confiance) et le compare avec l’original, s’ils sont identiques
le tiers de confiance est aussi le tiers de confiance qu’il prétend.
La communication peut s’effectuer une fois que le client et le serveur se seront mis en accord pour l’algorithme de cryptage qui sera
utilisé afin d’assurer une transmission de données sécurisée.
Cryptographie – Protocoles sécurisés - SSL suite
Le cas du Web pour un achat en ligne
La sécurisation des transactions par SSL 2.0 est basée sur un échange de clés entre client et serveur.
Le client se connecte au site marchand sécurisé par SSL et lui demande de s'authentifier.
Le client envoie également la liste des cryptosystèmes qu'il supporte,triée par ordre décroissant de la longueur des clés.
Le serveur à la réception de la requête envoie au client :
- un certificat, contenant la clé publique du serveur, signée par une autorité de certification (CA) ;
- le nom du cryptosystème le plus haut dans la liste avec lequel il est compatible
la longueur de la clé de chiffrement - 40 bits ou 128 bits - sera celle du cryptosystème commun ayant la plus grande taille de clé.
Le client vérifie la validité du certificat (l'authenticité du marchand).
Le client
crée une clé secrète aléatoire,
chiffre cette clé à l'aide de la clé publique du serveur,
envoie le résultat au serveur (la clé de session ou clé utilisée une seule fois).
Le serveur peut de déchiffrer la clé de session avec sa clé privée.
Les deux entités sont en possession d'une clé commune dont ils sont seuls connaisseurs (clé de session).
Le reste des transactions peut se faire à l'aide de clé de session, garantissant l'intégrité et la confidentialité des données échangées
L'avenir de SSL est TLS "Transport Layer Security", proposé par l'Internet Engineering Task Force (IETF) comme standard en 1999.
Il est basé sur la version 3 du SSL.
Cryptographie – Protocoles sécurisés - S-HTTP
Une extension de protocole HTTP
SHTTP (Secure http) est la solution proposée par CommerceNet, un groupe d'intérêt économique impliqué dans le développement
d'Internet dans un but commercial.
Conçu par A. Schiffman et E. Rescorla de l’EIT
Il fonctionne uniquement avec HTTP.
Il n'est pas très répandu.
Fonctionnement
S-HTTP procure une sécurité basée sur des messages échangés à l'aide du protocole HTTP, en marquant individuellement les documents HTML à l'aide de "certificats". Les messages S-HTTP sont basés sur trois composantes :
À l'envoi
- le message HTTP
Une requête, ou bien le contenu d'un formulaire chiffré
- les préférences cryptographiques de l'envoyeur
- les préférences cryptographiques du destinataire
À la réception :
- la ressource chiffrée
- les préférences cryptographiques de l'envoyeur pour mémoire
- les préférences cryptographiques du destinataire pour mémoire
Pour déchiffrer un message S-HTTP, le destinataire du message analyse les en-têtes du message afin de déterminer le type de méthode qui a été utilisé pour chiffrer le message. Puis, grâce à ses préférences cryptographiques actuelles et précédentes, il est capable
de déchiffrer le message.
Il peut également transférer des certificats associés à un document Web.
Comparaison avec SSL
SSL est indépendant de l'application utilisée et chiffre l'intégralité de la communication.
S-HTTP est très fortement lié au protocole HTTP et chiffre individuellement et au besoin chaque message.
Ils peuvent être combinés :
SSL permet de sécuriser la connexion Internet tandis que S-HTTP permet de fournir des échanges HTTP sécurisés.
Cryptographie – Protocoles sécurisés - S/MIME
Une extension du format MIME
S/MIME "Secure / Multipurpose Internet Mail Extensions", développé par RSA (Rivest-Shamir-Adleman), est un nouveau standard qui
permet de chiffrer et de signer numériquement les messages électroniques MIME (Multipurpose Internet Mail Extensions).
Le format MIME permet d’encoder des fichiers binaires ou des textes utilisant des jeux de caractères différents du traditionnel code
ASCII et de pouvoir joindre des « pièces attachées ».
Il est échangé à l'aide du protocole SMTP Simple Mail Transfer Protocol lors du dialogue avec le serveur d'envoi de courrier électronique.
Le format S/MIME est reconnu par un grand nombre de logiciels de messagerie.
Il est nécessaire de se procurer un certificat auprès d'une Autorité de Certification du genre de VeriSign.
S/MIME va permettre de chiffrer et/ou de signer un message électronique ou tout type de fichiers attachés.
Le standard S/MIME va regrouper les fonctions de :
- chiffrement (confidentialité et intégrité) à partir d’algorithme DES (Data Encryption Standard) ;
- signature (authentification) à partir des fonctions de hachage (SHA ou MD5) en combinant les clés publiques et les clés privées.
Une clé publique peut avoir une longueur comprise entre 512 (sécurité faible)et 1024 bits (sécurité élevée).
Cryptographie – Outils de courrier sécurisé - PGP
PGP "Pretty Good Privacy",« Plutôt bonne intimité »
PGP a été créé en 1991 par Philip Zimmermann, un informaticien qui cherchait à faire fonctionner RSA sur des ordinateurs personnels
Après diffusion de son logiciel sur Internet, Zimmermann a été poursuivi par le gouvernement américain pour trafic d'armes
La cryptographie est considérée là-bas comme une "arme" interdite d'exportation.
« If privacy is outlawed, only outlaws will have privacy » P. Zimmermann.
Il est gratuit et très sûr. C'est un standard car il très répandu.
PGP est une combinaison des fonctionnalités de cryptographie à clef publique et de cryptographie à clé secrète. PGP est un système de cryptographie hybride.
Il existe une version OpenSource : GnuPG GNU Privacy Guard (gardien de la vie privée)
Autorisation légale d'utilisation
Il a été autorisé en France à partir de 1999, mais uniquement pour les dernières versions de GnuPG et PGP.
Les décrets du 17 mars 1999 (Journal Officiel du 19 mars 1999) autorisent l'utilisation des logiciels de cryptographie possédant une
longueur de clef inférieure ou égale à 128 bits.
Ne pas confondre la longueur de la clef publique et la longueur de la clef de session: la clef de session de PGP, seule visée par la législation, ne dépasse jamais 128 bits.
Les versions commerciales Network Associates PGP Destop Security 5.5.5, 6.0.2, 6.5.1 et 6.5.2 ont été autorisées à la vente par le
SCSSI en novembre 1999 et janvier 2000.
GnuPG versions 1.0.7 et les suivantes ont été autorisées pour diffusion, utilisation, importation ou exportation, en juillet 2002 par la
DCSSI.
L'Agence pour les Technologies de l'Information et de la Communication dans l'Administration (ATICA), qui dépend du Premier Ministre, conseille l'utilisation de PGP pour la protection de la vie privée sur Internet.
Cryptographie – Outils de courrier sécurisé - PGP - suite
Fonctionnalités
Deux actions principales :
- chiffrer des textes: seul le destinataire peut lire le contenu du message (confidentialité).
Il peut aussi chiffrer des fichiers locaux.
- signer des textes: s'assurer de la provenance d'un document, et s'il est bien identique au document original (authentification et
intégrité).
PGP assure :
- signature électronique et vérification d'intégrité de messages : fonction basée sur l'emploi simultané d'une fonction de hachage (MD5) et du système RSA.
MD5 hache le message et fournit un résultat de 128 bits qui est ensuite chiffré, grâce à RSA, par la clef privée de l'expéditeur
- la génération des clés publiques et privées pour la signature et de la clé de session pour chiffrer les messages ;
- la certification des clés, ajout d'un « sceau numérique » garantissant l'authenticité des clefs publiques.
Originalité de PGP: baser sa confiance sur une notion de proximité sociale plutôt que sur celle d'autorité centrale de certification.
- la diffusion des clefs ;
- la révocation, désactivation et l’enregistrement des clés (permet de produire des certificats de révocation).
PGP propose plusieurs types d’algorithmes de chiffrement : CAST, IDEA, 3DES.
Notion de certificat
Un certificat PGP peut contenir plusieurs signatures pour attester l’appartenance à l’utilisateur.
Dans un environnement PGP, toute personne peut agir en tant qu’autorité de certification =>basé sur un système de confiance :
- un niveau de fiabilité est associé à un utilisateur qui à son tour valide le certificat d’un autre utilisateur.
- la révocation du certificat d’un utilisateur ou le retrait de confiance est possible.
Cryptographie – Outils de courrier sécurisé - PGP - suite
Notion de certificat
Un certificat PGP comprend, entre autres, les informations suivantes :
- le numéro de version de PGP : identifie la version de PGP utilisée pour créer la clef associée au certificat ;
- la clef publique du détenteur du certificat, associée à l'algorithme de la clef, qu'il soit RSA, DH (Diffie-Hellman) ou DSA (Algorithme de signature numérique).
- les informations du détenteur du certificat : il s'agit des informations portant sur l' identité de l'utilisateur, telles que son nom,
son ID utilisateur, sa photographie, etc.
- la signature numérique du détenteur du certificat : également appelée autosignature, il s'agit de la signature effectuée avec la
clef privée correspondant à la clef publique associée au certificat.
- la période de validité du certificat : dates/ heures de début et d'expiration du certificat. Indique la date d'expiration du certificat.
- l'algorithme de chiffrement symétrique préféré pour la clef : indique l'algorithme de chiffrement que le détenteur du certificat
préfère appliquer au cryptage des informations. (CAST, IDEA ou DES triple).
Fonctionnement
Les données sont d’abord compressées, ce qui permet de :
- réduire le temps de transmission (PGP est donc utilisable même avec une connexion par modem) ;
- réduire l’espace disque nécessaire ;
- renforcer la sécurité car les cryptanalystes travaillent essentiellement sur les modèles de textes en clair et plus difficilement sur
des textes compressés.
Les données sont ensuite chiffrées (par exemple avec IDEA)
- PGP crée une clé secrète IDEA de manière aléatoire, et chiffre les données avec cette clef.
Cette clé n’est utilisée qu’une seule fois : c’est une clé de session.
- PGP chiffre la clé secrète IDEA et la transmet au moyen de la clé RSA publique du destinataire.
Les données sont déchiffrées
- PGP déchiffre la clé secrète IDEA au moyen de la clé RSA privée.
- PGP déchiffre les données avec la clé secrète IDEA précédemment obtenue.

Documents pareils