Cryptographie appliquée Les bases de la cryptographie et ses applications 5INFO INSA m2ri réseau et sécurité Stage sécurité ENSTB 15 mai 2007 1
Grandes idées Cryptographie ancienne : les bases César, Vigenère, Stéganographie Cryptographie moderne : chiffrement symétrique Fleistel Chiffrement par flot Cryptographie moderne : chiffrement asymétrique Principes généraux : complexité mathématique Clés privée et publique, Signatures Chiffrement hybride Club informatique, 15 mai 2007 2/77
Grandes idées Quelques grands protocoles RC4, WEP, MD5 RSA, Diffie-Hellman Applications de la cryptographie Authentifications CHAP, Kerberos, SESAME Applications webs Chiffrement des données (md5), Protocole personnalisé Signatures PGP, Emails Réseaux Club informatique, 15 mai 2007 3/77
Sommaire Partie 0 : Introduction Buts de la cryptographie Club informatique, 15 mai 2007 4/77
Partie 0 : Introduction Buts de la cryptographie Assurer la confidentialité des données Écriture cachée / couverte : stéganographie Connaissance de l existence de l information connaissance de l information Écriture cachée / brouillée : cryptographie Connaissance de l existence de l information connaissance de l information Assurer l intégrité des données Assurer l authentification d entités Club informatique, 15 mai 2007 5/77
Partie 0 : Introduction Stéganographie Message couvert Caché sur le bras, le crâne du messager Cachée dans une image Message invisible Encre invisible (seulement à la lumière) Techniques simples : faible sécurité mais haut niveau de sécurité en pratique Images : volume important de données De nombreuses techniques Club informatique, 15 mai 2007 6/77
Partie 0 : Introduction - Stéganographie Méthodes de camouflage «modernes» bits de poids faibles (LSB) Message caché dans un fichier Logiciels : Steganos Security Suite, Invisible Secrets, Hide & seek Détection : Attaque passive et active Analyse fréquentielle Analyse statistiques «Signatures» des logiciels de stéganographie Coefficients DCT : images JPEG Logiciels «Le mieux est de tester avec un petit programme les méthodes les plus classiques.» Suite de guillermito, Outguess Club informatique, 15 mai 2007 7/77
Partie 0 : Introduction - Stéganographie Exemples : utilisation de la technique LSB et détection camouflag e http://www.apprendre-en-ligne.net/crypto/images/steganalyse.html Club informatique, 15 mai 2007 8/77
Démo Camouflage Décamouflage Partie 0 : Introduction - Stéganographie Club informatique, 15 mai 2007 9/77
Partie 0 : Introduction Donc stéganographie Simple, théoriquement faible Mais en pratique fiable (?) Cryptographie : grandes propriétés Diffusion Modification du message en clair => modification complète du chiffré Confusion Aucune propriété ne peut être déduit du chiffré Importantes pour le lien clé - qualité Club informatique, 15 mai 2007 10/77
Sommaire Partie 1 : Cryptographie ancienne César Vigenère Club informatique, 15 mai 2007 11/77
Cryptographie ancienne César César substitution Décalage de 3 dans l alphabet A->D, B->E.. X >-A,Y->B et Z-> C errara humanum est => huudud kxpdqxp hvw Cas particulier de la substitution monoalphabétique A B C D E F Y Z Attaque : cryptanalyse fréquentielle Pas de diffusion, pas/peu de confusion Club informatique, 15 mai 2007 12/77
Cryptographie ancienne Vigenère Vigenère Substitution polyalphabétique Choix de l alphabet : lettre de la clé A B C D E F Y Z A B C D E F G H I.. B C Club informatique, 15 mai 2007 13/77
Cryptographie ancienne Vigenère Attaque : cryptanalyse fréquentielle avancée 19ème siècle, C. Babbage Retrouver la taille de la clé Analyse mono alphabétique sur chaque sous phrase Pas de diffusion, pas/peu de confusion http://www.bibmath.net/crypto/poly/vigenere.php3 Club informatique, 15 mai 2007 14/77
Cryptographie ancienne Vigenère Démo Chiffrement : http://www.bibmath.net/crypto/poly/cryptvig.php3 Cryptanalyse : http://www.bibmath.net/crypto/poly/viganaljava.php3 pas à pas : http://www.bibmath.net/crypto/poly/chasvig.php3 Club informatique, 15 mai 2007 15/77
Enigma Enigma Substitution polyalphabétique Rotors : 26 alphabets (rotation) 10 16 (17 576 * 6 * 100 391 791 500) 100 391 791 500 : 26! / (12! * 14!) * 12! / (6! * 2^6)) Club informatique, 15 mai 2007 16/77
Sommaire Partie 2 : Cryptographie moderne Chiffrement symétrique Chiffrement asymétrique Quelques grands protocoles RC4, WEP MD5 RSA Diffie-Hellman Club informatique, 15 mai 2007 17/77
Sommaire partie 2.1 Théorie Chiffrement symétrique Chiffrement asymétrique Club informatique, 15 mai 2007 18/77
Chiffrement symétrique Chiffrement symétrique Une clé, K Chiffrer : [M]K Déchiffrer : [[M]K]K Une fonction de chiffrement Services Confidentialité Intégrité? Authenticité? Avantage : algorithmes rapides (XOR) Inconvénients Secret partage => N * (N-1) / 2 clés Club informatique, 15 mai 2007 19/77
Chiffrement symétrique 2 grandes catégories Chiffrement par flot Stream cipher Bluetooth A5/1 RC4 Chiffrement par blocs Block cipher Schémas de Fleistel Club informatique, 15 mai 2007 20/77
Chiffrement symétrique Chiffrement par blocs Schéma de feistel ECB Même bloc, même chiffré Blocs independants Club informatique, 15 mai 2007 21/77
Chiffrement symétrique PCBC Blocs dépendants Pas de réordonancement possible Propagation d erreurs Club informatique, 15 mai 2007 22/77
Chiffrement asymétrique Chiffrement asymétrique Deux clés Une secrète, la clé privée, priv Une publique, la clé publique, pub 2N clés Deux fonctions de chiffrement Services Confidentialité : [M]pub Authenticité et intégrité : [M]priv Cryptanalyse mathématique complexe Factorisation de grands nombres (pub -> priv, ) Club informatique, 15 mai 2007 23/77
Chiffrement asymétrique Chiffrement Alice veut envoyer un message à Bob Signature Bob veut prouver son identité à Alice Club informatique, 15 mai 2007 24/77
Chiffrement hybride Intérêts Atouts du chiffrement symétrique rapidité Atouts du chiffrement asymétrique Moins de clés Plus de fonctionnalités Note : Alice, Bob, Oscar, Nestor et Eve http://fr.wikipedia.org/wiki/alice_oscar_bob_eve Club informatique, 15 mai 2007 25/77
Cryptographie moderne un livre Un livre : Handbook of Applied Cryptography Chapitre 4 Introduction aux clés publiques Chapitre 6 Chiffrement par flot Chapitre 7 Chiffrement par blocs Chapitre 8 Chiffrement asymétrique Chapitre 9 Fonctions de hachage Club informatique, 15 mai 2007 26/77
Sommaire partie 2.2 Quelques grands protocoles RC4, WEP MD5 RSA Diffie-Hellman Club informatique, 15 mai 2007 27/77
RC4, WEP Quelques grands protocoles RC4, WEP chiffrement à flot 1987 par Ronald Rivest Fonctionnement K : initialisée avec la clé S : initialisée avec K i = 0 j = 0 Pour chaque octet du texte clair. Ajouter 1 à i Ajouter S[i] à j Permuter S[i] avec S[j] n = S[i] + S[j] Retourner le résultat du OU-Exclusif entre S[n] et l'octet du texte clair) Fin Pour Club informatique, 15 mai 2007 28/77
Quelques grands protocoles RC4, WEP Sécurité Clé de 256 : actuellement symétrique = 128 bits Table S de RC4 : 2 1684 états Jusqu à maintenant résistant aux attaques Et le WEP chiffrement par flot : même clé pas être utilisée deux fois IV de 24 bits : pas assez long Et plein d autres problèmes Cf. la mini présentation «pratique» sur le cassage de clé WEP Club informatique, 15 mai 2007 29/77
Quelques grands protocoles MD5 MD5 Message Digest 5 Ronald Rivest 128 bits probabilité très forte:2 messages différents, 2 empreintes différentes Principe des fonction de hachage K[i] : constantes (sinus) A,B, C, D :initialisés par une clé statique Club informatique, 15 mai 2007 30/77
Quelques grands protocoles MD5 «la sécurité du MD5 n'étant plus garantie selon sa définition cryptographique, les spécialistes recommandent d'utiliser des fonctions de hachage plus récentes comme le SHA-256» http://fr.wikipedia.org/wiki/md5#cryptanalyse SHA-256 : algorithme NSA Variante de SHA-1 2003 Helena Handschuh et Henri Gilbert : analyse de SHA-256, 384, 512 pas atteints par les attaques sur les autres fonctions de hachage http://fr.wikipedia.org/wiki/sp%c3%a9cifications_sha-256 Club informatique, 15 mai 2007 31/77
Quelques grands protocoles RSA Mathématique modulaire Petit théorème de Fermat Si pgcd(a,n) = 1, a phi(n) = 1 mod n inverse de a : a phi(n) - 1 mod n (Euler) Racine e ième modulaire trouver x / x e = c mod n Logarithme discret trouver x / a x = b mod p (Diffie Hellman) Club informatique, 15 mai 2007 32/77
Quelques grands protocoles RSA RSA Initialisation : p & q e : pgcd(e, phi(n)) = 1 C = M e (mod n) { (n,e) : clef publique (n,d) : clef privée Club informatique, 15 mai 2007 33/77
Quelques grands protocoles RSA Sécurité de RSA : Factoriser n (publique) Trouver p et q En déduire e et d Aucun algorithme performant, et aucune étude mathématique Cryptanalyse depuis 25 ans 2005 : 663 bits officiellement Actuellement : 1024 très utilisé 2048? 4096 = incassable?? Club informatique, 15 mai 2007 34/77
Quelques grands protocoles RSA Démo Décryptage avec Mapple http://damien.faucillon.free.fr/tipe/telecharger.htm Données : p = 52684000000012361 q = 63485000000056823 n = 3344643740003778401017000702389103 34 chiffres : 10 * 3 chiffres (2^10)^10 bits Clé de 100 bits http://primes.utm.edu/primes/home.php Club informatique, 15 mai 2007 35/77
Quelques grands protocoles RSA Club informatique, 15 mai 2007 36/77
Diffie-Hellman Quelques grands protocoles Diffie- Hellman But : Créer un secret entre deux entités Données g < p Pour tout n e [1, p-1], il existe k / n = g ^ k % p a : secret de A g^a % p : clé publique de A B : secret de B g ^b % p : clé publique de B Clé secrète commune : g ^ ab % p Club informatique, 15 mai 2007 37/77
Sommaire Partie 3 : exemples d applications Authentifications CHAP Kerberos SESAME Applications webs Signatures Réseaux VPN SSL Club informatique, 15 mai 2007 38/77
Authentifications - CHAP CHAP Challenge-Handshake Authentication Protocol But : authentification par challenge-réponse Algorithme symétrique Exemple : CHAP with md5 CHAP : RFC décrit les principes mais gestion des secrets non spécifié Club informatique, 15 mai 2007 39/77
Authentifications - CHAP Club informatique, 15 mai 2007 40/77
Authentifications - Kerberos Kerberos (RFCs) But : serveur d authentification, algorithmes asymétriques, tickets d accès Limiter l utilisation de la clé client Kc (attaque statistique) Club informatique, 15 mai 2007 41/77
Authentifications - Kerberos Attaques sur Kerberos attaque par répétition messages: rejoués pendant la durée de vie des tickets (~8h) services de datation toutes les horloges du réseau doivent être plus ou moins synchronisées plupart des protocoles de maintien du temps en réseau : pas sûrs Paris de mots de passe collectionner les premières moitié du message KRB_AS_REP (Eksource(Kconnex)) prévoir la valeur de Ka (en général, H(P)) parier sur P et vérifier avec des messages de la source Club informatique, 15 mai 2007 42/77
Authentifications - SESAME SESAME Secure European System for Applications in a Multivendor Envrionnment Serveur 1 : interaction authentification client et authentification droits d accès Serveur 2 : interaction droits d accès vendeur (service) Club informatique, 15 mai 2007 43/77
Authentifications - SESAME Similaire à Kerberos, mais version européenne SESAME adds to Kerberos Heterogeneity sophisticated access control features better manageability, audit and delegation. Sensible aux mêmes attaques que Kerberos Exemple d applications : Sésame de Rennes 1 (portail)? ICL's Access Manager Bull SA's Integrated System Management AccessMaster (ISM AccessMaster) Webmail INSA Club informatique, 15 mai 2007 44/77
Authentifications Mais aussi RADIUS X509 Club informatique, 15 mai 2007 45/77
Applications web MD5 Applications web MD5 Chiffrement des mots de passe Bases de données : risque moins important Club informatique, 15 mai 2007 46/77
Applications web MD5 Mais... Project RainbowCrack hash cracker «do all cracking time computation in advance» «store the result in files so called "rainbow table"» Club informatique, 15 mai 2007 47/77
Applications web MD5 Applications web MD5 version 2 Signatures Authentification du logiciel intégrité du transfert Être «sûr» de ce que l on télécharge Piratage: modifier l exécutable Md5 différents Modifier l information sur le site de l auteur Club informatique, 15 mai 2007 48/77
Applications web MD5 Mais MD5 collision databases Février 2005 : équipe chinoise Exploitation générique d une faille Mais pré requis important (structure du message original) http://www.cryptography.com/cnews/hash.html Club informatique, 15 mai 2007 49/77
Applications Applications web - Protocole personnalisé Interface locale : administration Interface web : publication Buts mises à jour locale -> web Automatique (quelques clicks) Cacher l aspect sécurité Club informatique, 15 mai 2007 50/77
Solution Applications web - Protocole personnalisé Interfaces préconfigurées password d authentification : suite aléatoire de caractères, 1024 bits Signature de l interface locale : authentification Message : («connexion», id, k(hash(id)))) Mais protéger les données : chiffrer ou signer? Message m -> k(m) ou (m, k(h(m)) Trop de données Analyse (chiffrement symétrique) clé retrouvée Club informatique, 15 mai 2007 51/77
Applications web - Protocole personnalisé Chiffrement hybride Clés de sessions Calculées au début de la session Cassable, mais avec du temps Ne sert pas à l authentification Club informatique, 15 mai 2007 52/77
PGP, Emails Authentification des emails Un email peut être forgé Serveurs sans authentification pour l envoi Comment être sur de l emetteur? Exemple (ThunderBird) Gnupg, http://www.gnupg.org/ Enigmail, http://enigmail.mozdev.org Signature du message : identité Identité vérifiée si désiré (action du destinataire) Chiffrement du message : confidentialité Mais message lisible que par des personnes habituées ou client configuré Club informatique, 15 mai 2007 53/77
PGP, Emails Club informatique, 15 mai 2007 54/77
Sécurité Réseau Sécurité Réseau Principes : pile TCP/IP Protéger un niveau Lequel? Comment? Club informatique, 15 mai 2007 55/77
TLS/SSL TLS/SSL Secure Sockets Layer SSL is designed to establish a secure connection between two computers Mécanisme très utilisé : https:// Utilisation de certificats hiérarchiques Confiance dans les trusted Root Certificate Délivrés par des autorités internationnales Club informatique, 15 mai 2007 56/77
Sommaire Partie 4 : extensions Preuves formelles Méthode B Méthode BAN Méthode par réduction Cryptographie et ordinateur quantique Grandes idées Perspectives Club informatique, 15 mai 2007 60/77
Sécurité des protocoles Sécurité des protocoles Buts Assurer la sécurité d un protocole Solutions Tester Fortes chance qu il reste des failles Prouver Méthodes formelles Logique donc sûr? Club informatique, 15 mai 2007 61/77
Sécurité des protocoles Sécurité des protocoles : preuves Méthodes formelles classiques Méthode B : spécification sous forme mathématique Club informatique, 15 mai 2007 62/77
Sécurité des protocoles Méthode BAN : Preuves par déduction, adaptée aux réseaux Modélisation dans la logique BAN Preuves formelles Applications Kerberos Neuman et stubblebine Diffie Helman Otway Rees Shamir-Rivest-Adleman Three Pass Protocol (auteurs de RSA) Club informatique, 15 mai 2007 63/77
Sécurité des protocoles BAN : exemple Club informatique, 15 mai 2007 64/77
Sécurité des protocoles Méthode par réduction Définir des hypothèses algorithmiques précises Considérer un attaquant Attaquer les hypothèses Différentes méthodes, différentes limites Attention au contexte Une Comparaison entre Deux Méthodes de Preuve de Sécurité Duong Hieu Phan David Pointcheval The exchanged key is provably secure in the sense of the BAN logic but it is not when we analyze it by reduction. Club informatique, 15 mai 2007 65/77
Sécurité des protocoles Exemple Outils d administration : comptes par défaut Patchs de GCC : détections (buffer overflow) non parfaites Gcc 4.1 (2006) Mudflap, patch ProPolice d IBM Club informatique, 15 mai 2007 66/77
Perspectives L avenir de la cryptographie Les clés Actuellement : 1024 bits (asymétrique) et 128 bits (symétrique) Problèmes légaux Mais 2048 et 256 bits? Les techniques Méthodes de bases fiables (cryptographie moderne) Protocoles exploitent ses bases IPv6 Club informatique, 15 mai 2007 67/77
Perspectives Attaque de plus en plus performantes et avancées Faille d implémentation du protocole WEP et RC4 Faille du support Faille de sécurité dans les processeurs 2002 : Pentium 4 HT (9), processeur nouvelle génération SMT SMT : Simultaneous multithreading Simple Branch Prediction Analysis Attack (SBPA). Méthodes cryptographique de plus en plus performantes Généralisation de l utilisation des méthodes formelles techniques de plus en plus avancées et «sécuritaires» Trusted Base (confusion avec «Palladium») Next-Generation Secure Computing Base (NGSCB) Club informatique, 15 mai 2007 68/77
Bonus - Ordinateur Quantique Présentation Bit : soit un 1 soit un 0 Qbit : 1, 0, superposition d'un 1 et d'un 0 distribution de phase 0 : 1, 90 : 0 superposition d'états : sin² et cos² de la phase puissance théorique: double à chaque fois qu'on lui adjoint un qubit http://fr.wikipedia.org/wiki/ordinateur_quantique Club informatique, 15 mai 2007 69/77
Bonus - Ordinateur Quantique Utilisations mécanique quantique Problème = complexité calculatoire cassage de chiffrement Problème = complexité algorithmique Ordinateur quantique : «explose les capacités» ordinateur classique: 10 millions de milliards de milliards (10 24 ) d'années pour factoriser un nombre de 1000 chiffres. algorithme de Shor, 20 minutes! Processeurs 32 qbits au lieu de 32 bits http://www.futura-sciences.com/fr/comprendre/dossiers/doc /t/physique/d/lordinateur-quantique_552/c3/221/p7/ Club informatique, 15 mai 2007 70/77
Bonus - Cryptographie quantique Aspect théorique incertitude d'heisenberg certaines quantités ne peuvent pas être mesurées simultanément Écoute (espion) => réémission protocole CH.Bennett et G.Brassard 0, 45, 90, 135. Mais si écoute à échouée que réemettre? Club informatique, 15 mai 2007 71/77
Bonus - Cryptographie quantique Club informatique, 15 mai 2007 72/77
Références Bruce Schneier, Applied cryptography: Protocols, algorithms, and source code in c, 2nd edition, Wiley, October 1995. Cours de m2ri supélec Ludovic Mé & Christophe Bidan, 2006 Et les éternels... Google Wikipedia (http://en.wikipedia.org et http://fr.wikipedia.org) Club informatique, 15 mai 2007 73/77
Références détaillées Stéganographie http://www.supinfo-projects.com/fr/2006/sciences_steganogra http://www.picsi.org/parcours_22_107.html http://www.guillermito2.net/stegano/index.html http://www.outguess.org/detection.php http://www.bugbrother.com/security.tao.ca/stego.html MD5 http://www.antsight.com/zsl/rainbowcrack/#documentation http://en.wikipedia.org/wiki/md5 Club informatique, 15 mai 2007 74/77
Références détaillées Handbook of Applied Cryptography http://www.cacr.math.uwaterloo.ca/hac/about/ table_of_contents.html Grands protocoles RSA, http://primes.utm.edu/primes/home.php Kerberos, http://www-id.imag.fr/~svarrett/download/polys/tutorial_kerbe SHA (256), http://fr.wikipedia.org/wiki/sp %C3%A9cifications_SHA-256 Club informatique, 15 mai 2007 75/77
Références détaillées SSL http://www.homeport.org/~adam/shttp.html http://en.wikipedia.org/wiki/transport_layer_security Méthodes formelles Exemple B, http://www.rennes.enst-bretagne.fr/~fcuppens/articles/esorics Exemple BAN et méthode par réduction, http://rivf.e-ifi.org/2003/proceedings/p105-110.pdf Club informatique, 15 mai 2007 76/77
Références détaillées IRISA http://www.irisa.fr/activites /new/007/branchpredictionattack004 Bibmath http://www.bibmath.net/crypto/moderne/quantique.php3 Ordinateurs quantiques http://www.futura-sciences.com/fr/ http://fr.wikipedia.org/wiki/ordinateur_quantique Club informatique, 15 mai 2007 77/77