Chapitre 3 : Crytographie «Cryptography»

of 74
95 views
PDF
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Document Description
Agence Nationale de Sécurité Informatique Support du Cours : Initiation aux 10 domaines fondamentaux de l expertise en sécurité des systèmes d Information, pour entamer la préparation aux certifications
Document Share
Document Transcript
Agence Nationale de Sécurité Informatique Support du Cours : Initiation aux 10 domaines fondamentaux de l expertise en sécurité des systèmes d Information, pour entamer la préparation aux certifications Internationales CISSP et SSCP Chapitre 3 : Crytographie «Cryptography» ANSI, 2006, Toute reproduction et utilisations à but non commercial est autorisée et interdite pour celles à but commercial, sauf autorisation écrite de l Agence Nationale de Sécurité Informatique SEPTIEME EDITION DU FESTIVAL INTERNATIONAL D'ETE D'INTERNET, Du 24 au 27 Août EL Kantaoui, Sousse 1 Chapitre 3 Cryptographie «Cryptography» ANSI, 2006, Toute reproduction et utilisations à but non commercial est autorisée et interdite pour celles à but commercial, sauf autorisation écrite de l Agence Nationale de Sécurité Informatique Chapitre 3 Cryptographie I- Mécanisme de base pour la Confidentialité : Le Chiffrement 1 II- Mécanisme de base pour l intégrité : Les fonctions de Hahage III- Mécanisme de base pour l authenticité : La signature électronique 25 IV- Mécanisme de base pour la Non-répudiation : l Horodatage V- Mécanisme d échange de données cryptographiques : les protocoles cryptographiques. 36 VI- Mécanisme d insertion d attributs cryptographiques dans les applicatifs : les APIs cryptographiques.. 42 VII- Authenticité des clés publiques : Les Certificats...47 VIII- Mécanisme de gestion des attributs cryptographiques : Infrastructures de PKI.. 53 Laboratoire Ouvert (Port El Kantaoui, de 21h-01 Heures) : - Présentation détaillée des protocoles IPSec et SSL - Déploiement (configuration, administration) et utilisation d outils open-source de chiffrement Formateurs : Pr Nabil SAHLI, Mr Haythem EL MIR Le but traditionnel de la cryptographie est d élaborer des méthodes permettant d échanger des données de manière sécurisée. La cryptographie moderne s attaque en fait plus généralement aux problèmes de sécurité des communications. Le but est d offrir un certain nombre de services de sécurité de base : Confidentialité, Intégrité et Authentification des données transmises, ainsi que l authentification des tiers et la Non-répudiation.. Pour cela, on utilise des : Mécanismes de Chiffrement, pour la confidentialité Mécanismes de Hashage, pour l intégrité Mécanismes de signature électronique, pour l authentificicité Mécanismes de Notarisation, pour la non-répudiation + Des Protocoles cryptographiques, pour la gestion des échanges, inhérents au déploiement de ces mécanismes et des Infrastructures (PKI), pour gérer les attributs de cryptographie Nous allons passer enrevue dans ce cours la totalité de ces mécanismes. 4 I- Mécanisme de base pour la Confidentialité : Le Chiffrement Confidentialité et chiffrement La confidentialité est historiquement le premier problème posé en sécurité Solution = Chiffrement des données. Chiffrement et déchiffrement : le chiffrement est la transformation à l'aide d'une clé de chiffrement d'un message en clair en un message incompréhensible Chiffre : algorithme utilisé pour le chiffrement Cryptogramme : message chiffré - Décrypter : retrouver le message clair correspondant à un message chiffré sans posséder la clé de déchiffrement ou même retrouver la clé de déchiffrement L algorithme (chiffre) est Public * connu de tous * Seules les clés sont maintenues sécrétes, lors du chiffrement 6 Algorithmes de chiffrement S I- SYMETRIQUES 1 Clé SECRETE S Message Clair Message Clair 8 Le Chiffrement à clé symétrique (principe) Une seule clé pour chiffrer et déchiffrer: elle doit rester secrète. S I- SYMETRIQUES 1 Clé SECRETE S Message Clair Message Clair Le Chiffrement à clé symétrique -Principaux modes de chiffrement : - Chiffrement en continu (stream cipher) Agissent sur un bit à la fois. Implémentation simple. Le plus courant utilisé actuellement : RC4 (longueur de clef variable, généralement 128 bits) Chiffrement par blocs (block cipher) Opèrent sur le texte en clair par blocs (généralement, de 16 bits) -Le plus courant utilisé actuellement: -3DES : trois clefs distinctes (168 bits) ou seulement deux (112 bits) -AES (Rijndael, longueur de clé variable : 128, 192, 256) -Autres : -IDEA (128 bits) - CAST-128 (128 bits) - Blowfish (longueur de clé variable, jusqu'à 448 bits) Le Chiffrement à clé symétrique Avantages * Rapide : adapté pour les chiffrement de gros volumes de données Inconvénients - Gestion des clés : Une clé par paire d interlocuteur Le problème de la transmission dangereuse des clés Les algorithmes Asymétriques (Chiffrement à clé publique) : Principe Elle se base sur deux clés («interliées à la géneration») : une clé publique, permettant le chiffrement une clé privée, permettant le déchiffrement Message Clair1 La clé publique est mise à la disposition de quiconque désire chiffrer un message. Ce dernier ne pourra être déchiffré qu'avec la clé privé, qui doit être confidentielle. Connaître la clef publique ne permet pas de retrouver la clef privée correspondante. Publique P Publiée sans risque (Répertoires PUBLICS) Secrète P Message Clair1 à ù + Authentification Le chiffrement est ainsi effectué par la clé publique (diffusée sans risque) et seul le détenteur de la clef Algorithmes Asymétriques Avantages : * Gestion sécurisée des clés : adapté aux environnement anonymes : - La clé publique peut être diffusée, sans risque, et utilisée pour chiffrer - La clé secréte ne quite jamais son possesseur (le chiffreur) : Elimine le problème épineux de diffusion d une clé secrète existante dans les algos symétriques - Offre un pas d authentification de l émetteur (sans garantie de confidentialité) Inconvénients * Algorithmes très lents * Authentification de la clé publique. Algorithme asymétrique, le plus populaire : RSA : Algorithme imaginé par Rivest, Shamir et Adleman (mathématiciens du MIT), en 1977 Fondé sur la difficulté de factoriser des grands nombres. La multiplication de deux grands nombres premiers est considérée comme une fonction à sens unique. Longueur de clés variables 1024, 2048 bits,.. 13 Algorithmes Hybrides et notion de Clefs de session Les algorithmes asymétriques permettent de s'affranchir de problèmes liés à l'échange de clé via un canal sécurisé. Toutefois, ces derniers restent beaucoup moins efficaces que les algorithmes symétriques. La notion de clé de session est un compromis entre le chiffrement symétrique et asymétrique permettant de combiner les deux techniques. clefs de session : Le principe de la clé de session est simple : il consiste à générer aléatoirement une clé de session et de chiffrer celle-ci à l'aide d'un algorithme de chiffrement à clef publique (plus exactement à l'aide de la clé publique du destinataire). Le destinataire est en mesure de déchiffrer la clé de session à l'aide de sa clé privée. Ainsi, expéditeur et destinataires seront en possession d'une clé (symétrique) commune et secréte, qu ils pourront utiliser pour chiffrer des données de masse, nécessitant une rapidité d exécution. 14 Algos Symétriques : PLUSRapides (~1000xAsym) Algos ASYMETRIQUES PLUS PRATIQUES: Conviennent à des Env MULTI-UT «Anonymes» (Publication des clés) S essage Clair S Clé de session(aléatoire) Utilisation d ALGOS HYBRIDES(SYM+ASYM) P S I N T E R N E T S Message Clair S P S 15 Transport de clefs de session Chiffrement avec la clé publique du récepteur déchiffrement avec la clé privée du récepteur Extraction de la clé de session S Clé de session S S Clé générée aléatoirement Envoi de la clé de session 16 Sécurité des algorithmes, notions La sécurité des algorithmes repose sur : Leur robustesse face aux attaques = Qualité de leur conception (Pour autant, on ne peut prouver la solidité d un algorithme, que face aux attaques connues) Il faut éviter d utiliser des algorithmes, non publiés (et donc non testés) La puissance de calcul nécessaire pour les «casser» (qui doit dépasse généralement l energie disponible dans l Univers) La taille des clés utilisables 17 F O R C E SYSTEME C R Y P T O G R A P H I Q U E Q U A L I T E S C O N C E P T U E L L E S + Failles fonctionnelles (Algos+Protcoles Cryptographiques RETROUVER la CLE (SYM) N bits? PAS DE PREUVE FORMELLE ABSOLUE (PREUVES RELATIVES A Failles CONNUES et puissance de traitement) Attaque (Non Experte) par Recherche EXHAUSTIVE EXPORT 40 bits Algos Non Publiés -DES 56 bits RESISTANCE A LA CRYPTOANALYSE Skipjack 160bits -IDEA,CAST 128 bits SOL(Taille clé): Chiffrement Multiple // DERIVER CLE PRIVEE(ASYM) -AES(2001) 256 bits Attaques «Expertes» (chosen plaintext,known plaintext, QUALITE ciphertext-only, DE L IMPLEMENTATION Timing FAITE 2 N clés Taille-clé Efficacité DES(56bits) DES(56bits) DES(56bits) :3x56= 168 bits (ou 112) 3DES RESTRICTIONS DE TAILLE à l EXPORT(US) == Assurer l AUTONOMIE (Rech/Dev ) 18 F O R C E SYSTEME C R Y P T O G R A P H I Q U E Q U A L I T E D E L I M P L E M E N T A T I O N Détails d Implémentation :? Compression des données(avant) Génération des clés Pass-phrase Générateur de Nombres Purement aléatoires Mode de Chiffrement (ECB, CBC,CFB, OFB)... GESTION DES CLES : CONFIDENTIALITE C H I F -DISRIBUTION et AUTHENTIFICATION DES Clés PUBLIQUES: == -Modes d Utilisation et de Stockage par le Logiciel-Client F R E M E N T 19 Taille de clefs Plus la taille de la clé est grande et plus il sera difficile à un attaquant qui cherche à retrouver la clé: Clés secrètes : Recherche des combinaisons possibles (2 n rechercher, pour une taille de n bits) combinaisons à Clés RSA : Recherche de factorisation de nombres premiers 20 II- Mécanismes d Intégrité 21 Intégrité : Fonctions de hachage Intégrité des données : detecter si des données ont été modifiés, lors de leur transit, depuis le producteur Basée sur l utilisation des fonctions de hachage. Une fonction de hashage (dite fonction à sens unique) transforme une chaîne de longueur quelconque en une chaîne de taille (inférieure)fixe = empreinte Message De taille Quelconque X A sens unique : - Facile à calculer mais difficile à inverser Et Impossible de trouver deux messages ayant la même empreinte HASH Empreinte De taille FIXE 22 FONCTIONS DE HASHAGE C O N T R O L E D I N T E G R I T E MESSAGE MODIFICATION UN BIT FONCTION DE HASHAGE IMPOSSIBLE IMPOSSIBLE MESSAGE + FONCTION DE HASHAGE SCELLE SCELLE MESSAGE INTEGRE SI IDENTIQUES 23 MD5, SHA-1, SHA-2 Exemples de fonctions de hachage MD5 est une fonction de hachage développée par Rivest en 1991 et constitue en fait la 5ème version de l algorithme (Message Digest). Manipule des blocs de 512 bits. Génère une empreinte de 128 bits. MD5 fait l'objet de la RFC 1321 Secure Hash Algorithme version 2 (il y a une version 1) développé conjointement par la NSA et le NIST. travaille sur des blocs de 512 bits produit des empreintes de 160 bits. SHA est basé sur MD4 et est réputé plus sûr que MD5. 24 III- Authenticité des données 25 Mécanisme d Authenticité : Signature électronique Par analogie avec la signature manuscrite d'un document papier : La signature électronique est un mécanisme permettant d authentifier l'auteur d'un document électronique et de garantir son intégrité. Un mécanisme de signature numérique doit présenter les propriétés suivantes : permettre au lecteur d'un document d authentifier la personne ou l'organisme qui a apposé sa signature. garantir que le document n'a pas été altéré entre l'instant où l'auteur l'a signé et le moment où le destinataire le consulte. La norme ISO définit la signature numérique comme des données ajoutées à une unité de données, ou transformation cryptographique d une unité de données, permettant à un destinataire de prouver la source et l intégrité de l unité de données et protégeant contre la contrefaçon (par le destinataire, implique que seul l expéditeur doit être capable de générer la signature). 26 SIGNATURE ELECTRONIQUE S Clé Privée MESSAGE FONCTION DE HASHAGE SCELLE Chiffrement ASYM SIGNATURE Algos ASYM : DSA, DH, RSA CA + MESSAGE SIGNATURE P Chiffrement Hybride CERTIFICATs 27 Signature électronique Génération 1- La fonction de hachage est utilisée pour créer une empreinte unique. 2- La clef privée est utilisée pour le chiffrement de cette empreinte (seul son détenteur peut chiffrer, mais tout le monde peut déchiffrer: donc en fait vérifier la signature ), grâce à la cryptographie asymétrique. Texte en clair Empreinte Signature Hachage avec une fonction bien définie Chiffrement avec la clé privée de l émetteur 28 Signature électronique Vérification Texte en clair Hachage avec la même fonction Empreinte Si égales Message authentifié et Intégre Signature Empreinte 2 Sinon il y a une incohérence Déchiffrement avec la clé publique de l émetteur 29 IV- NON REPUDIATION: Horodatage Horodatage Horodatage (aussi appellé contremarque de temps ) = signature électronique datée Lors de la signature d'un document, on complète cette signature de la date de signature Il faut que le format du document n ait pas un contenu dynamique ( comme Word, PDF), mais de confiance (XML, ). La durée de vie de la preuve dépasse celle du certificat, utilisé pour la signature Conservation de la liste de certificats révoqués ou périmés. Intérêt : - Eviter la répudiation, car l absence de preuve de date peut provoquer des conflits (j avais perdu ma clé privée,.) - Usage pour l archivage électronique 31 4- N O N SIGNATURE DIGITALE et Notaires Electroniques SCELLE S R E P U D I A T I O N MESSAGE P FONCTION DE HASHAGE HORDOTAGE + Autres Infos (selon Notaire) + MESSAGE Chiffrement INTERNET SIGNATURE MESSAGE SIGNATURE SIGNATURE RECEPTEUR NOTAIRE SET 32 Etablissement de la preuve : Peut être établie par une convention entre les parties Peut être établie par un tiers spécialisé dans ce service (majorité des cas ) Lors de la signature du document, le service ajoute une contremarque de Temps Exemple de tiers de service d horodatage européens : Kotio (www.kotio.com) ATOS-Origin (www.mediacert.com) Certplus (www.certplus.com) Certeurope (www.certeurope.fr) Certipost (www.certipost.be) Infocamere (www.infocamere.it) La Poste (www.laposte.fr) 33 Autorité de Gestion de Preuves Service d enregistrement des déposants Vérificateur Service de vérification Service de génération Service de fourniture Politique de gestion Service de constitution de maintien et de restitution Autorité de gestion des preuves Opérateur d archive Opérateur d horodatage 34 Utilisateur A Processus d'horodatage Envoie le message vers B Le message aurait pu être signé selon la procédure de l émission Autorité d horodatage Utilisateur B + Prestataire de services de confiance Produit un condensât et le signe Horodatage simple Condensât signé et horodaté Archivage des condensâts 35 V- PROTOCOLES CRYPTOGRAPHIQUES 36 PROTOCOLES CRYPTOGRAPHIQUES Rôle des protocoles cryptographiques : Implémenter des échanges entre entités qui ne se connaissent pas (ou/et qui ne se font pas confiance). But : Permettre de mettre en œuvre des mécanismes de confidentialité et d intégrité entre interlocuteurs anonymes, en veillant à empêcher l espionnage et la tricherie. les tâches sont ainsi reliées à la cryptographie: échange de clef de chiffrement, authentification des interlocuteurs... Exemple : Protocoles d échange de clefs et d authentification mutuelle Permet l'échange de clefs sécurisé (authentifié) entre usagers annonymes. 37 Exemple de protocole cryptographique d échange de clefs : Diffie-Hellman Inventé en 1976 par Diffie et Hellman, Ce protocole permet à deux tiers de générer un secret partagé sans avoir aucune information préalable l un sur l autre. Basé sur la cryptologie à clef publique Solidité et Sécurité : basée sur la difficulté de calculer des logarithmes discrets sur un corps fini. Le secret (clé) généré à l aide de cet algorithme peut ensuite être utilisé pour dériver une ou plusieurs clefs (clef secrète, clef de chiffrement de clefs...). 38 Diffie-Hellman : principe Utilisateur 1: Mongi Mongi choisit un grand nombre aléatoire a (valeur privée) Utilisateur 2 : Selima Selima choisit un grand nombre aléatoire b (valeur privée) Mongi calcule (valeur publique) Échange des valeurs publiques Selima calcule (valeur publique) Mongi calcule Selima calcule (secret partagé) (secret partagé) 39 Diffie-Hellman : principe Exemple de déroulement de l algorithme : 1. Mongi et Selima se mettent d accord sur un grand entier n tel que (n-1)/2 soit premier et sur un entier g primitif par rapport à n. Ces deux entiers sont publics. 2. Selima choisit de manière aléatoire un grand nombre entier a, qu elle garde secret, et calcule sa valeur publique, A = ga mod n. Mongi fait de même et génère b et B = gb mod n. 3. Selima envoie A à Mongi ; Mongi envoie B à Mongia. 4. Selima calcule KAB = Ba mod n ; Mongi calcule KBA = Ab mod n. KAB = KBA = gab mod n est le secret partagé par Selima et Mongi. Une personne qui écoute la communication connaît g, n, A=ga mod n et B=gb mod n, ce qui ne lui permet pas de calculer gab mod n : il lui faudrait pour cela calculer le logarithme de A ou B pour retrouver a ou b. 40 Rien n est démuni de Failles et d évolutions conséquentes! Diffie-Hellman Faille Sensible à l'attaque par simularque d interposition (Man-In-the Middle attack) : L'attaquant envoie sa valeur publique à la place de Mongia et de Mongi et partage ainsi un secret avec chaque tiers. Solution: authentifier les valeurs publiques, le protocole résultant s'appelle Diffie-Hellman authentifié. 41 VI-La Cryptographie dans les applications APIs Crytographiques APIs Cryptographies Les API (Interface du Programme de l'application) Cryptographique (CryptoAPI) permettent d intégrer des fonctions cryptographiques dans n importe quelle application (même vétuste), sans être obligés de gérer les mécanismes cryptographiques : Elle offrent Fonctions de la Génération de la clef : Ces fonctions permettent aux applications de produire et personnaliser des clefs cryptographiques. Le support plein est inclus dans les modes du chaînage changeants, les vecteurs de l'initialisation, et les autres traits de l'encryptage. Fonctions d'échange de clés. Fonctions de chiffrement de Données (Le support est aussi inclus pour crypter et hacher simultanément ces données. Fonctions de Signature électronique de données (+ d autres fonctions, selon la crypto API) 43 Exemple API Crytographiques GSS-API GPGME Libgcrypt Libcrypto LibTomCrypt Cryptlib Libgcrypt Crypto++ open-source 44 C-API GSS API GPGME libgcrypt Libcrypto LibTomCrypt Cryptlib Libgcrypt Crypto++ Algorithmes utilises Hashes : MD5 Clé Publique: DH, RSA Clé privé: AES, DES, Blowfish, CAST5, Twofish, Arcfour Hashes : MD2,MD5 Clé publique : SHA, RSA Clé privé: Blowfish, CAST5, Twofish, Arcfour Clé Publique : RSA, DH, DSA Clé privé: AES, DES, Blowfish Hashes : MD5, SHA Clé privé : AES, blowfish, cast-128, cast-256, des, 3des Clé publique : dh, dsa, elgmal, Eliptic curve, luc, lucelg, lucdif, rabin, rabin-williams Hashes: md2, md4, md5, mdc2, sha Clé Publique : RSA, DH, DSA, Clé privé: AES, DES, 3DES (EDE), Blowfish, CAST-128, IDEA, Safer-SK, RC2, RC4, RC5 Hashes: MD5, RIPE-MD160, SHA-1, TIGER-192, MACs Clé privé: AES, DES, Blowfish, CAST5, Twofish, Arcfour Clé public : RSA, El Gamal, DSA Hashes: crc md2 md5 haval ripe-md160 Tiger sha sha-2 panama Clé privé : AES, blowfish, cast-128, cast-256, des, 3des, diamond2, gost, idea, lubyrack, Mars, panama, arc4, rc5,rc6, safer, sapphire, seal, serpent, shark, square, tea, twofish, wake Clé publique : dh, dsa, elgmal, Eliptic curve, luc, lucelg, lucdif, rabin, rabin-williams, blumgoldwassr, rsa Also support for PKCS1, OAEP, PSSR padding
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x