Introduction à la cryptographie

40
28/11/2002 Ciefa Poly-informatique Introduction à la cryptographie

description

Introduction à la cryptographie. Plan du cours. Confidentialité et algorithmes de chiffrement Fonctions de hachage et signature Authentification mutuelle et échange de clés de session Certificats et PKI Outils cryptographiques. Introduction. - PowerPoint PPT Presentation

Transcript of Introduction à la cryptographie

Page 1: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Introduction à la cryptographie

Page 2: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Plan du cours

Confidentialité et algorithmes de chiffrement

Fonctions de hachage et signature

Authentification mutuelle et échange de clés de session

Certificats et PKI

Outils cryptographiques

Page 3: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Introduction But de la cryptographie : fournir un certain nombre de services de

sécurité : Confidentialité Intégrité Authentification de l’origine des données ou d’un tiers Non-répudiation …

Moyens mis en œuvre : mécanismes de sécurité, construits au moyen d’outils cryptographiques :

Chiffrement Scellement et signature Protocoles d’authentification mutuelle avec échange de clefs …

Page 4: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Partie 1

Confidentialité et algorithmes de chiffrement

Fonctions de hachage et signature

Authentification mutuelle et échange de clés de session

Certificats et PKI

Outils cryptographiques

Page 5: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Différents types d’algorithmes

Algorithmes symétriques ou à clef secrète=> Plus rapides donc mieux pour chiffrement

Algorithmes asymétriques ou à clef publique=> Échange de clefs secrètes=> Signature

Page 6: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Chiffrement symétrique : principe

Principe : clef de chiffrement = clef de déchiffrement

La clef doit rester secrète La sécurité du système dépend de ce secret

Page 7: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Chiffrement symétrique : algorithmes

Algorithmes de chiffrement en continu (stream cipher) Agissent sur 1 bit à la fois Le plus courant actuellement : RC4 (longueur de clef

variable, svt 128 bits)

Algorithmes de chiffrement par blocs (block cipher) Opèrent sur le texte en clair par blocs (svt 64 bits) DES (clef de 56 bits codée sur 64) 3DES (112), IDEA (128), RC6 (128), AES (128 à 256)

Page 8: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Exemple d’algorithme : DES

Page 9: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Intérêt chiffrement symétrique

Avantages : Rapide en général (dépend de la taille de la clé)

Inconvénients : Ne permet pas la signature électronique Problème de distribution des clés :

N personnes N(N-1)

2clés

Page 10: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Chiffrement asymétrique : principe

Chiffrement : clef publique utilisée pour le chiffrement, seul le détenteur de la clef privée peut déchiffrer

Signature : clef privée utilisée pour le chiffrement, seul son détenteur chiffrer, mais tout le monde peur déchiffrer

Page 11: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Chiffrement asymétrique : intérêt

Avantages : Permet la signature électronique Utilise deux clefs distinctes, l’une ne permettant pas de

retrouver l’autre

Inconvénients : Trop lent pour une utilisation intensive en chiffrement

=> utilisé seulement pour échange de clef et signature

Page 12: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Comparaison algorithmes asymétriques

Chiffrement Échange de clé

Signature Identification

RSA X X X X

Fiat Shamir

X X

Diffie Hellman

X

Chiffrement El Gamal

X

El Gamal + DSA

X X

Page 13: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Algorithme asymétrique : RSA

Génération des clés publiques et privées:

• on choisit 2 entiers premiers p et q (512 bits chacun)

• on calcule N = p*q

• on choisit e premier avec (p-1)(q-1)

• on calcule d tel que ed = 1 mod ppcm((p-1),(q-1))

Clé publique : (N, e)

Clé privée : d

Page 14: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Combinaison clefs publique/ secrète

Page 15: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Partie 2

Confidentialité et algorithmes de chiffrement

Fonctions de hachage et signature

Authentification mutuelle et échange de clés de session

Certificats et PKI

Outils cryptographiques

Page 16: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Intégrité et authentification

Service souhaité : pouvoir s’assurer que le message

Émane bien de l’expéditeur annoncé (authentification) N’a pas été modifié pendant le transfert (intégrité)

Authentification de l’origine des données et intégrité sont inséparables, et forment « l’authenticité ».

Page 17: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Fonctions de hachage

Fonction de hachage à sens unique (sans collision) Convertit une chaîne de longueur quelconque en une chaîne

de taille inférieure fixe : empreinte (ou condensé) À sens unique :

Facile à calculer mais difficile à inverser Il est difficile de trouver deux messages ayant la même

empreinte

MD5 (Message Digest 5) => empreinte de 128 bits

SHA (Secure Hash Algorithm) => empreinte de 160 bits

Page 18: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Signature Numérique (1/2)

Signature

Vérification

Page 19: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Signature Numérique (2/2)

Mécanisme fournissant les services suivants : Authentification de l’origine des données Intégrité Non répudiation de la source Plus rapide que de signer tout le document

Algorithmes DSS => standard correspondant à : SHA + El Gamal RSA => norme constituée de : MD5 (ou SHA) + RSA

Page 20: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Partie 3

Confidentialité et algorithmes de chiffrement

Fonctions de hachage et signature

Authentification mutuelle et échange de clés de session

Certificats et PKI

Outils cryptographiques

Page 21: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Introduction

Relations entre échange de clefs et authentification mutuelle

L’échange de clefs doit être authentifié pour éviter les attaques

Une clef de session permet d’étendre l’authentification à l’ensemble de la communication

Protocole d’authentification mutuelle avec échange de clef (tout en un)

Type d’échange de clefs Transport : ex RSA (utilisé par SSL) Génération : Diffie-Hellman

Page 22: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Transport de clefs

Page 23: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Diffie-Hellman : principe Protocole cryptographique permettant à 2 tiers de générer

un secret partagé sans informations préalables l’un sur l’autre

Principe : Échange de valeurs publiques

Permettant de générer un secret partagé

Page 24: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Diffie-Hellman : propriétés Sensible à l’attaque de l’intercepteur : l’attaquant envoie sa

valeur publique à la place de chacun des tiers et partage ainsi un secret avec chacun d’entre eux.=> solution : authentifier les valeurs publiques (certificats ou signature)

Propriété de Perfect Forward Secrecy (PFS) Principe : la découverte du secret à long terme ne compromet

pas les clefs de session (ie secret n’intervient pas dans la fabrication des clefs)

Page 25: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Partie 4

Confidentialité et algorithmes de chiffrement

Fonctions de hachage et signature

Authentification mutuelle et échange de clés de session

Certificats et PKI

Outils cryptographiques

Page 26: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Distribution des clefs publiques

Idée de départ : simple annuaire des clefs publiques Problèmes à résoudre :

Distribuer les clefs de façon authentifiée et intègre Stocker les clefs de façon sûre (protection en intégrité)

Limiter le nombre de clefs à stocker

Solution = certificats et hiérarchies de certification Élément de transport d’une clef publique, dont

l’authenticité est vérifiable de façon autonome Authentification : lie une clef publique et son possesseur Intégrité : toute modification du certificat sera détectée

Page 27: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Principe du certificat Certificat = Structure de données

Permet de lier une clef publique à différents éléments, au moyen de la signature et d’une autorité de confiance :

Nom du propriétaire de la clef Dates de validité Type d’utilisation autorisée …

Format actuel : X509v3

Émis par une autorité de certification (CA) : Garantit l’exactitude des données Certificats vérifiables au moyen de la clef publique de la CA

Listes de révocation (CRL) : permettent de révoquer des certificats avant leur expiration normale

Page 28: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Émission et vérification des certificats

Page 29: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Les certificats X.509v3

Page 30: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Qu’est-ce qu’une PKI ?

PKI = Public Key Infrastructure = infrastructure à clefs publiques

Nature : infrastructure, ensemble d’éléments, protocoles et services…

Rôle : gestion des clefs publiques à grande échelle Enregistrement et émission Stockage et distribution Révocation et vérification de statut Sauvegardes et récupération

La plupart des PKI actuelles utilisent des certificats

Page 31: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Composants d’une PKI

Elements : Utilisateurs finaux

(possesseurs de clefs) Autorités d’enregistrement

(Registration Authority) Autorité de certification

(Certificate Authority) Annuaire Service de validation

Hiérarchie Plusieurs niveaux de certification

Page 32: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Partie 5

Confidentialité et algorithmes de chiffrement

Fonctions de hachage et signature

Authentification mutuelle et échange de clés de session

Certificats et PKI

Outils cryptographiques

Page 33: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

Introduction

Les mécanismes de cryptographie peuvent être appliqués

Au niveau des documents et données à protéger : PGP, S/MIME, signature XML

Au niveau des protocoles de communication : IPsec, TLS/SSL, SSH

La protection des échanges peut se faire Au niveau physique Au niveau réseau : IPsec Au niveau transport : TLS/SSL Au niveau applicatif : SSH

Page 34: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

IPsec : caractéristiques IPsec = IP Security Protocol (norme IETF)

Principe : chaque paquet IP échangé est chiffré et/ou authentifié

Seule norme de chiffrement au niveau réseau.

Peut être mis en œuvre dans tout type d’équipement sur le réseau: serveur, routeur, PC, etc …

Algorithmes cryptographiques : Chiffrement : RC5, DES, Triple DES, … Authenticité : HMAC-MD5, HMAC-SHA, …

Page 35: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

IPsec : fonctionnalités fournies

Modes Transport : sécurisation de bout en bout, en-tête non modifiée Tunnel : encapsulation dans un nouveau paquet IP

Services apportés par IPsec : Confidentialité des données Authenticité des données (authentification + intégrité) Protection contre le rejeu=> Permet d’atteindre un bon niveau de sécurité

Page 36: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

TLS/SSL : caractéristiques TLS = Transport Level Security, SSL= Secure Socket Layer

(norme IETF depuis 1995 – SSL 3.0 = TLS 1.0)

Seule norme de chiffrement au niveau TCP

Protocole client/serveur : repose sur la fiabilité de TCP, pour offrir aux applications de niveau supérieur une interface de communication (API non normalisée)

Algorithmes cryptographiques : Protocoles d’échange de clefs : RSA, Diffie-Hellman Chiffrement des données : DES, 3DES, RC4, IDEA Authentification : HMAC-MD5, HMAC-SHA

Page 37: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

TLS/SSL : fonctionnalités fournies

Services de sécurité fournis : Confidentialité des données Authentification et intégrité des données Authentification optionnelle des tiers

Peut être mis en œuvre dans tout protocole sur TCP : HTTP, FTP, NNTP, SMTP, POP,… Utilisation principale : HTTPS

Limite de la norme : pas de liste de révocation des certificats (mais les produits le font : Apache + mod_ssl, …)

Page 38: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

TLS/SSL : Composants et authentification

Composants : SSL Record Protocol : protection des données SSL Handshake Protocol : établissement de la session SSL Change Cipher Spec Protocol : négociation des algorithmes

cryptographiques et de compression SSL Alert Protocol : messages d’erreur

Authentification avec SSL Identification des serveurs basée sur les noms DNS Authentification du serveur par un certificat Authentification du client par mot de passe dans la communication

chiffrée (propre à HTTP, pas à SSL) À partir de SSL 3.0, il est possible d’authentifier le client au moyen

d’un certificat

Page 39: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

SSH SSH = Secure Shell

SSH = un protocole IETF, un produit, une société Remplaçant sécurisé de telnet, rlogin, rsh, rcp, etc…

Principe : Authentification mutuelle de l’utilisateur et du serveur Chiffrement de l’ensemble de la session Nombreux algorithmes (IDEA, DES, 3DES, RC4, …)

Usages : Connexion à distance : administration déportée Permet de rediriger des ports Échanges de fichiers

Page 40: Introduction à la cryptographie

28/11/2002 Ciefa Poly-informatique

PGP PGP = Pretty Good Privacy

PGP = un protocole, un produit, une ex-société

Principe du modèle de la confiance directe Les utilisateurs

Distribuent les clefs Signent les clefs des personnes qu’ils connaissent Révoquent leurs clefs perdues

Les versions récentes permettent la délégation de révocation

Usages : Messagerie électronique Divers : chiffrements de données, de disques