Modules M42B4 & M42C3 Patrice GOMMERY
Chiffrement à clé Publique. Une clé pour chiffrer, une autre pour déchiffrer Clé privée, Clé publique Diffie-Helman RSA Elgamal 2
MISE EN ŒUVRE : 1. Le propriétaire des clés génèrent une paire de clés (Publique et Privée) 2. Il communique la clé publique à ses correspondants (En la publiant dans un annuaire ou à la transmettant directement) 3. Il protège sa clé privée par un mot de passe (ou autre système) 3
CHIFFREMENT : Un message sera chiffré avec la CLE PUBLIQUE Il sera déchiffré avec la CLE PRIVEE SIGNATURE ELECTRONIQUE : Un message sera signé avec la CLE PRIVE (garantissant ainsi l'authentification de l'expéditeur) La signature sera vérifiée avec la CLE PUBLIQUE 4
Trousseau de Clés de BOB TRANSMISSION CLE PUBLIQUE ALICE Hello Bob BOB Hello Bob CHIFFREMENT avec la CLE PUBLIQUE DECHIFFREMENT Avec la CLE PRIVEE U&@+ii8h TRANSMISSION DU MESSAGE U&@+ii8h 5
Procédure d'échange de clé Whitfield Diffie et Martin Hellman en 1976 Vulgarisation du principe : 1. Un ami doit vous envoyer un message chiffré. 2. Vous lui envoyé un cadenas (ouvert) pour enfermer (chiffrer) le message 3. Il chiffre le message en le protégeant avec le cadenas (fermé) 4. Il vous envoi le message protégé par le cadenas (dont vous êtes le seul à avoir la clé) 5. Vous réceptionnez le message et le déchiffrez en ouvrant le cadenas avec la seule clé lui correspondant. Problème : Trouver un cadenas inviolable (ou très difficilement) qui n'accepte qu'une seule clé. 6
D. Rivest, A. Shamir et L. Adlemant proposent une solution au problème en 1977 : LE CHIFFREMENT RSA : Repose sur les règles suivantes : Il est facile de fabriquer de grands nombres premiers p et q (ordre d'idée : 500 chiffres) Étant donné n=pq produit de deux grands nombres premiers, il est très difficile de retrouver les entiers p et q La factorisation de grands entiers étant très difficile, il est (presque) impossible de retrouver p et q en connaissant n Problème : Fabriquer des grands nombres premiers est un processus lent Les algorithmes à chiffrement asymétriques sont donc beaucoup plus lents que leurs homologues symétriques, donc peu utilisables pour chiffrer de grandes quantités de données rapidement. Arithmétique pour RSA Chiffrement RSA - Cours de Cryptographie Exo7Math 7
Inventé en 1985 par Taher ELGAMAL : Repose sur la difficulté de calculer le logarithme discret. La robustesse repose essentiellement sur le fait qu'on ne dispose pas d'algorithme rapide pour faire les calculs dans un temps raisonnable. Un des avantages du chiffre ELGAMAL est l'emploi d'un chiffrement aléatoire. Un de ses principaux défauts : Le message chiffré est deux fois plus long que le message en clair. 8
Problème des algorithmes symétriques : LE TRANSFERT DE LA CLE Problème des algorithmes asymétriques : LEUR LENTEUR LES CLES DE SESSIONS CORRIGENT CES DEFAUTS EN EXPLOITANT LE MEILLEUR DES DEUX SYSTEMES La clé de session est obtenue en chiffrant en asymétrique une petite partie du message La clé de session ainsi obtenue sert à chiffrer en symétrique le document en entier. Le message contiendra alors : La clé de session (chiffrée avec une clé publique, donc protégée par une clé privée) Le texte chiffré avec la clé de session Avantages : Rapidité (du chiffrement symétrique), Echange sécurisé de la clé (Protégée par un chiffrement Asymétrique), La clé de session changera à chaque transfert 9
Trousseau de Clés de BOB BOB TRANSMISSION CLE PUBLIQUE Hello Bob ALICE Hello Bob DECHIFFREMENT (AES) AVEC LA CLE SESSION CHIFFREMENT (RSA) de Hello avec la CLE PUBLIQUE Hello %89k+_t78a5 45fJKR% CHIFFREMENT (AES) de Hello Bob avec la clé Hello %89k+_t78a5 TRANSMISSION DU MESSAGE ET DE LA CLE DE SESSION DECHIFFREMENT (RSA) DE LA CLE DE SESSION Avec la CLE PRIVEE 45fJKR% %89k+_t78a5 10
Renforcer l'authentification. Garantir l'intégrité du message. Mécanisme : 1. Le message est condensée par une fonction de hachage. La suite de bits générée est appelée condensé ou empreinte. 2. L'empreinte est ensuite chiffrée avec la clé privée de l'expéditeur 3. Le message et l'empreinte chiffrée sont transmis au destinataire. 4. Le destinataire génère une nouvelle empreinte à partir du message reçu. 5. Il déchiffre l'empreinte chiffrée avec la clé publique de l'expéditeur 6. Il compare les deux empreintes obtenues 7. Si les deux empreintes sont identiques, la signature est vérifiée ce qui garantit que c'est bien le bon expéditeur, mais aussi que le message n'a pas été altéré. 11
C'est bien ALICE qui a envoyé ce message et je suis sur de son intégrité BOB Hello Bob ALICE Comparaison des 2 empreintes Hello Bob 45fJKR% 45fJKR% Calcul de l'empreinte du message (SHA ou MD5) 45fJKR% Calcul de l'empreinte du message (SHA ou MD5) DECHIFFREMENT (RSA) DE L'EMPREINTE Avec la CLE PUBLIQUE CHIFFREMENT (RSA) de l'empreinte avec SA CLE PRIVEE 4x42t78a5 TRANSMISSION DU MESSAGE ET DE L'EMPREINTE CHIFFREE Hello Bob 4x42t78a5 12
Mécanismes NON REVERSIBLES Génèrent des Empreintes (ou condensés) MD5 (Message DIGEST) 128 Bits (32 Caractères en Hexa) Inventé en 1991 par Ronald Rivest SHA1 (Secure Hash Algorithm ) 160 Bits (40 Caractères en Hexa) conçu par la NSA en 1995 - SHA2 : SHA-256, SHA-512 Publication en 2002 SHA3 (Ketchak) approuvé en 2012 Whirpool 512 Bits ( conçu pour les processeurs 64 Bits) Note : Des failles dans MD5, SHA-0 (et peut-être SHA-1) ont été découvertes depuis 2004. Ces failles permettent d'aboutir à des collisions (même condensé pour un même texte en clair) ce qui peut compromettre le système sécurisé. 13
Les mots de passe ne sont pas stockés en clair sur les systèmes On ne stocke que leurs empreintes UN PROBLEME : Si deux mots de passe sont identiques, les empreintes seront identiques et donc soumises à des attaques par dictionnaire ou tables rainbow UNE SOLUTION : Ajouter un graine (ou salage) lors de la génération de l'empreinte. Exemple : L'empreinte peut être fait sur la concaténation du mot de passe et du login. Les deux éléments peuvent être condensés avec des fonctions différentes Note : Cette amélioration n'évitera toutefois pas les attaques par force-brute. 14
PROBLEMES : Comment générer les couples de clés? Comment distribuer les clés publiques? Comment stocker les clés? La clé publique est-elle réellement garantie? UNE REPONSE A CES PROBLEMES : LES CERTIFICATS 15