TIW4 : SÉCURITÉ DES SYSTÈMES D INFORMATION PROTECTION CRYPTOGRAPHIQUE romuald.thion@univ-lyon1.fr http://liris.cnrs.fr/~rthion/dokuwiki/enseignement:tiw4 Master «Technologies de l Information» Romuald THION M2TI-TIW4 : Crypto 1
Intro 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 2
Intro Objectifs placer la cryptographie dans la sécurité bases cryptographiques intérêts et utilisation des protocoles cryptographique limites des mots de passes Romuald THION M2TI-TIW4 : Crypto 3
Intro Activité Quelle est cette machine? Romuald THION M2TI-TIW4 : Crypto 4
Cryptographie 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 5
Cryptographie Vocabulaire Cryptologie la science du secret Cryptographie la branche de la cryptologie qui s intéresse à la conception des écritures secrètes Cryptanalyse la branche de la cryptologie qui s intéresse à l analyse des écritures secrètes Texte clair information dont la confidentialité n est pas protégée Text chiffré information protégée ( ) Clef paramètre secret d un algorithme cryptographique Protocole Protocole qui garantit des fonctions de sécurité via l utilisation de primitives cryptographiques. La cryptographie et la cryptanalyse sont deux domaines antagonistes Romuald THION M2TI-TIW4 : Crypto 6
Cryptographie Vocabulaire Cryptologie la science du secret Cryptographie la branche de la cryptologie qui s intéresse à la conception des écritures secrètes Cryptanalyse la branche de la cryptologie qui s intéresse à l analyse des écritures secrètes Texte clair information dont la confidentialité n est pas protégée Text chiffré information protégée ( ) Clef paramètre secret d un algorithme cryptographique Protocole Protocole qui garantit des fonctions de sécurité via l utilisation de primitives cryptographiques. La cryptographie et la cryptanalyse sont deux domaines antagonistes Romuald THION M2TI-TIW4 : Crypto 6
Cryptographie Buts principaux de la cryptographie Confidentialité Seuls les légitimes ont accès à l information Intégrité Le message n a pas été altéré Authenticité On communique bien à la bonne personne Non-répudiation On ne peut pas nier sa participation Cryptographie en sécurité D autres mécanismes participent également à ces fonctions l usage de la cryptographie seule est inutile...... mal employée, c est pire encore! ( ) Romuald THION M2TI-TIW4 : Crypto 7
Cryptographie Buts principaux de la cryptographie Confidentialité Seuls les légitimes ont accès à l information Intégrité Le message n a pas été altéré Authenticité On communique bien à la bonne personne Non-répudiation On ne peut pas nier sa participation Cryptographie en sécurité D autres mécanismes participent également à ces fonctions l usage de la cryptographie seule est inutile...... mal employée, c est pire encore! ( ) Romuald THION M2TI-TIW4 : Crypto 7
Cryptographie Fonctions de hachage 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 8
Cryptographie Fonctions de hachage Fonctions de hachage Principe Hacher = calculer une empreinte cryptographique Caractéristiques d une fonction de hachage cryptographique Résistance aux collisions impossible (en pratique) de trouver m et m différents tels que h(m) = h(m ) Résistante à la première préimage connaissant d, il est impossible (en pratique) de trouver m t.q. d = h(m) Résistante à la seconde préimage connaissant m, il est impossible (en pratique) de trouver m différent de m t.q. h(m) = h(m ) Efficacité le calcul de h(m) doit être fait efficacement Question : que signifie en pratique? Romuald THION M2TI-TIW4 : Crypto 9
Cryptographie Fonctions de hachage Fonctions de hachage Principe Hacher = calculer une empreinte cryptographique Caractéristiques d une fonction de hachage cryptographique Résistance aux collisions impossible (en pratique) de trouver m et m différents tels que h(m) = h(m ) Résistante à la première préimage connaissant d, il est impossible (en pratique) de trouver m t.q. d = h(m) Résistante à la seconde préimage connaissant m, il est impossible (en pratique) de trouver m différent de m t.q. h(m) = h(m ) Efficacité le calcul de h(m) doit être fait efficacement Question : que signifie en pratique? Romuald THION M2TI-TIW4 : Crypto 9
Cryptographie Fonctions de hachage Application du hachage Principaux usages Compresser de grande quantité de données pour la signature Chiffrer «sans clef» (et pouvoir comparer les chiffrés) stockage de mots de passe Assurer l intégrité d un message résumés md5 Produire un identifiant unique d une donnée protocole pairs-à-pairs/dht Romuald THION M2TI-TIW4 : Crypto 10
Cryptographie Fonctions de hachage Fonctions de hachage Fonctions de hachage courantes : MD4 (Rivest, 1990, collissions trouvées en 1995, attaques à la préimage en 2005) MD5 (Rivest, 1991, collisions trouvées en 2004, voir MD5 considered harmful today) RIPEMD, RIPEMD-128/256, RIPEMD-160/320 (les 2 derniers sont encore sûrs) SHA-0, SHA-1 (NIST, 1990, collisions possibles en 2005) SHA-256/224, SHA-512/384 (considérés comme sûrs) SHA-3, gagnant du concours NIST fin 2012 Romuald THION M2TI-TIW4 : Crypto 11
Cryptographie Cryptographie symétrique 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 12
Cryptographie Cryptographie symétrique Cryptographie symétrique Romuald THION M2TI-TIW4 : Crypto 13
Cryptographie Cryptographie symétrique Cryptographie symétrique Canaux sûrs Un secret est partagé entre les participants, via un canal sûr : par téléphone par SMS par email par rencontre physique Exemple d utilisation d un canal auxilliaire sûr 2-step verification : lors de l authentification depuis un nouveau service, un code de confirmation envoyé par SMS doit être saisi. Romuald THION M2TI-TIW4 : Crypto 14
Cryptographie Cryptographie symétrique Cryptographie symétrique Chiffrement par flux RC4 : utilisé dans SSL et WEP, très rapide et simple, mais vulnérable estream : famille de chiffrements, projet de 2004 à 2008 Chiffrement par blocs DES : utilisé de 1977 à 2004 clef de 56 bits, bloc de 64 bits (voir Chronologie) Triple DES : encore utilisé (variante avec clefs de 112 ou 168 bits) AES : standard américain (concours international), rapide et sûr, clef de 128, 192 ou 256 bits, blocs de 128 bits IDEA : breveté (jusqu en 2011), clefs de 128 bitsn blocs de 64 bits Romuald THION M2TI-TIW4 : Crypto 15
Chiffrement par blocs Cryptographie Cryptographie symétrique Question : comment faire pour chiffrer des textes de tailles supérieures à celle des blocs? Romuald THION M2TI-TIW4 : Crypto 16
Modes de chiffrement Cryptographie Cryptographie symétrique Electronic Code Block (EBC) Romuald THION M2TI-TIW4 : Crypto 17
Modes de chiffrement Cryptographie Cryptographie symétrique Cipher Block Chaining (CBC) Romuald THION M2TI-TIW4 : Crypto 18
Cryptographie Cryptographie asymétrique 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 19
Cryptographie Cryptographie asymétrique Cryptographie asymétrique Plus de secret partagé mais une paire de clefs une privée une publique Chiffrement Signature Romuald THION M2TI-TIW4 : Crypto 20
Cryptographie Cryptographie asymétrique Cryptographie asymétrique Question (cs.stackexchange.com) Given RSA, why do we not know if public-key cryptography is possible? Réponse We don t know for sure that RSA is safe. It could be that RSA can be broken in polynomial time, for example if factoring can be done efficiently. What is open is the existence of a a provably secure public-key cryptosystem. We don t know for sure that such a cryptosystem exists at all ; for all we know, every cryptosystem could be broken efficiently. [... ] Romuald THION M2TI-TIW4 : Crypto 21
Cryptographie Cryptographie asymétrique Cryptographie asymétrique Sécurité du système : difficulté du décryptage La sécurité des algorithmes à clefs publiques reposent sur la difficulté (supposée... ) de problèmes combinatoires. Problèmes difficiles Cryptosystème RSA Rabin ElGamal Merkle-Hellman knapsack Problème calculatoire integer factorization problem square roots modulo composite n discrete logarithm problem subset sum problem Romuald THION M2TI-TIW4 : Crypto 22
Cryptographie Cryptographie asymétrique Infrastructures de gestion des clefs Problème de l authentification On peut transmettre les clefs publiques sur un canal non sûr, mais comment assurer effectivement qu il s agit du bon interlocuteur? Solution : certificats signés par un tiers de confiance identité du certifié clef publique du certifié dates autres informations (voir protocole X509 par exemple) Romuald THION M2TI-TIW4 : Crypto 23
Cryptographie Cryptographie asymétrique Infrastructures de gestion des clefs Problème de l authentification On peut transmettre les clefs publiques sur un canal non sûr, mais comment assurer effectivement qu il s agit du bon interlocuteur? Solution : certificats signés par un tiers de confiance identité du certifié clef publique du certifié dates autres informations (voir protocole X509 par exemple) Romuald THION M2TI-TIW4 : Crypto 23
Cryptographie Cryptographie asymétrique Cryptographie asymétrique Distribution de certificats 1 T T P 1 vérifie l identité de A 2 T T P 1 signe la clef publique de A avec sa clef privée 3 T T P 2 signe la clef publique de T T P 1 avec sa clef privée 4 T T P 3 signe la clef publique de T T P 2 avec sa clef privée 5... Propagation de la confiance On forme une chaîne de certification Différents modèles de la confiance certificats X509 PGP Distribution des clefs et authentification : là où le bât blesse! Romuald THION M2TI-TIW4 : Crypto 24
Cryptographie Cryptographie asymétrique Perte de clef privée (ex. n o 65, Avoine et al.) A utilise le chiffrement asymétrique pour protéger ses courriers électronique mais perd sa clef privée : 1 A peut-il encore envoyer des courriers? En recevoir? 2 A peut-il encore signer les courriers qu il envoie? Vérifier la signature de ceux qu il recoit? 3 Que A doit-il faire pour pouvoir effectuer toutes les opérations précédentes? Certificats (ex. n o 66, Avoine et al.) Discuter les trois propositions suivantes : 1 Deux certificats différents sont signés par la même clef privée? 2 Deux certificats différents contiennent la même clef publique? 3 Deux certificats différents ont la même signature? Romuald THION M2TI-TIW4 : Crypto 25
Cryptographie Cryptographie asymétrique Perte de clef privée (ex. n o 65, Avoine et al.) A utilise le chiffrement asymétrique pour protéger ses courriers électronique mais perd sa clef privée : 1 A peut-il encore envoyer des courriers? En recevoir? 2 A peut-il encore signer les courriers qu il envoie? Vérifier la signature de ceux qu il recoit? 3 Que A doit-il faire pour pouvoir effectuer toutes les opérations précédentes? Certificats (ex. n o 66, Avoine et al.) Discuter les trois propositions suivantes : 1 Deux certificats différents sont signés par la même clef privée? 2 Deux certificats différents contiennent la même clef publique? 3 Deux certificats différents ont la même signature? Romuald THION M2TI-TIW4 : Crypto 25
Cryptographie Cryptanalyse 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 26
Cryptographie Cryptanalyse Cryptanalyse Modélisation de l adversaire Que sait-il, qu est-il capable de faire? Quelle nouvelle information peut-il déduire? De quelle puissance dispose-t-il? À quoi s attaque-t-il? La preuve de sécurité formalisation des hypothèses de confiance résultat prouvé mathématiquement arithmétique probabilités théorie de l information théorie des jeux... réduction à un autre problème ( ) Romuald THION M2TI-TIW4 : Crypto 27
Cryptographie Cryptanalyse Cryptanalyse Modélisation de l adversaire Que sait-il, qu est-il capable de faire? Quelle nouvelle information peut-il déduire? De quelle puissance dispose-t-il? À quoi s attaque-t-il? La preuve de sécurité formalisation des hypothèses de confiance résultat prouvé mathématiquement arithmétique probabilités théorie de l information théorie des jeux... réduction à un autre problème ( ) Romuald THION M2TI-TIW4 : Crypto 27
Cryptographie Cryptanalyse Cryptanalyse Extrait de Wikipedia : Semantic Security The original cryptosystem as shown above does provide semantic security against chosen-plaintext attacks (IND-CPA). The ability to successfully distinguish the challenge ciphertext essentially amounts to the ability to decide composite residuosity. The so-called decisional composite residuosity assumption (DCRA) is believed to be intractable. Romuald THION M2TI-TIW4 : Crypto 28
Cryptographie Cryptanalyse Attaque à chiffrés seuls (ciphertext-only) Romuald THION M2TI-TIW4 : Crypto 29
Cryptographie Cryptanalyse Attaque à clairs connus (known-plaintext) Romuald THION M2TI-TIW4 : Crypto 30
Cryptographie Cryptanalyse Attaque à clairs choisis (chosen-plaintext) Romuald THION M2TI-TIW4 : Crypto 31
Cryptographie (R)évolutions de la cryptographie 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 32
Cryptographie (R)évolutions de la cryptographie (R)évolutions de la cryptographie La cryptographie est un domaine de recherche très actif, dont les résultats peuvent modifier considérablement la société Examples d innovations chiffrement homomorphique E(m 1 + m 2 ) = E(m 1 ) + E(m 2 ) Cryptosystème de Paillier (1999) Fully homomorphic encryption scheme de Gentry (2009) Private Information Retrieval (PIR) Identity-Based Encryption (IBE) Attribute-Based Ancryption (ABE) Functional Encryption ( ) Romuald THION M2TI-TIW4 : Crypto 33
Cryptographie (R)évolutions de la cryptographie Identity-based encryption (IBE) Shamir, 1984 : Identity Based cryptosystems and signature schemes Dan Boneh and Matt Franklin, 2001 : IBE from the Weil pairing First usable IBE schemes Dan Boneh and Xavier Boyen, 2004 : Efficient selective-id secure IBE without random oracles Romuald THION M2TI-TIW4 : Crypto 34
Applications 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 35
Applications Protocoles 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 36
Applications Protocoles Protocoles cryptographiques Un protocole cryptographique repose sur : chiffrement symétrique chiffrement asymétrique hachage génération de nombres aléatoires Afin de garantir les propriétés de sécurité des échanges. On va s intéresser aux protocoles cryptographiques pour l authentification ainsi que quelques applications. Romuald THION M2TI-TIW4 : Crypto 37
Applications Protocoles Exemple d authentification Un protocole d authentification non-cryptographique http://www.pokerstars.fr/nouvelle-procedure-inscription/ 1 enregistrement des données personnelles et login/pass 2 vérification de l email 3 envoi informations bancaire et carte d identité par courrier sous 30j 4 réception d un code d activation par courrier 5 saisie du code Romuald THION M2TI-TIW4 : Crypto 38
Applications Protocoles Protocole Needham-Shroeder Protocole d authentification (1978) Existe en version symétrique et asymétrique 1 A S : A, B, N A Alice s identifie auprès du serveur 2 S A : {N A, K AB, B, {K AB, A} KBS } KAS Le serveur génère une clef (symétrique) K AB et ajoute un nonce 3 A B : {K AB, A} KBS Alice transmet la clef à Bob qui peut la déchiffrer avec K BS 4 B A : {N B } KAB Bob montre à Alice qu il détient bien la clef K AB 5 A B : {N B 1} KAB Alice montre qu elle est active et qu elle détient bien la clef Romuald THION M2TI-TIW4 : Crypto 39
Attaques Applications Protocoles This is a partial list of attacks on protocols : Known-key attack : attacker gains some keys used previously and then uses this info to attack the protocol and possibly determine new keys. Replay : attacker records a communication session and replays some or all of it at a later time. Impersonation : attacker assumes the identity of one of the legitimate parties in a network. Man-in-the-Middle : attacker interposes himself between two parties and pretends to each to be the other. Interleaving attack : attacker injects spurious messages into a protocol run to disrupt or subvert it. Question : à quelle forme d attaque le protocole de Needham-Shroeder est-il vulnérable? Romuald THION M2TI-TIW4 : Crypto 40
Attaques Applications Protocoles This is a partial list of attacks on protocols : Known-key attack : attacker gains some keys used previously and then uses this info to attack the protocol and possibly determine new keys. Replay : attacker records a communication session and replays some or all of it at a later time. Impersonation : attacker assumes the identity of one of the legitimate parties in a network. Man-in-the-Middle : attacker interposes himself between two parties and pretends to each to be the other. Interleaving attack : attacker injects spurious messages into a protocol run to disrupt or subvert it. Question : à quelle forme d attaque le protocole de Needham-Shroeder est-il vulnérable? Romuald THION M2TI-TIW4 : Crypto 40
Applications Protocoles d authentification Protocoles Vulnérable à une attaque par rejeu de {K AB, A} K BS On peut ajouter une estampille pour empêcher le rejeu (méthode utilisée dans Kerberos) Romuald THION M2TI-TIW4 : Crypto 41
Applications Protocoles d authentification Protocoles Vulnérable à une attaque par rejeu de {K AB, A} K BS On peut ajouter une estampille pour empêcher le rejeu (méthode utilisée dans Kerberos) Romuald THION M2TI-TIW4 : Crypto 41
Applications Protocoles Protocole Kerberos Protocole d authentification réseau client/serveur Basé sur les tickets Authentification mutuelle (client et serveur) Version 5 utilisée, après la 4 qui était faible Basé sur Needham-Shroeder symétrique Extension asymétrique possible (rfc4556) Rôles dans le protocole S Serveur C Client AS Authentication Server TGT Ticket-Granting Server KDC Key Distrution Center = AS + TGT Romuald THION M2TI-TIW4 : Crypto 42
Kerberos Applications Protocoles Romuald THION M2TI-TIW4 : Crypto 43
Applications Protocoles Kerberos 1 C AS : un ticket à presenter à T GS? demande de passe 3j de ski sur 4 domaines 2 AS C : voici un ticket pour C à présenter à T GS. voici le passe (TGT) à présenter à l arrivée dans un domaine 3 C T GS : voici mon ticket de AS, un ticket pour S? voici mon passe (TGT), je souhaite skier dans votre domaine 4 T GS C : voici un ticket pour C à présenter à C voici votre passe (ST) pour notre domaine 5 C S : voici mon ticket de T GS. voici mon passe (ST) pour votre domaine, puis-je utiliser cette remontée? Romuald THION M2TI-TIW4 : Crypto 44
Kerberos Applications Protocoles C AS : [C, T GS] AS C : [{K C,T GS } KC, {T C,T GS } KT GS ] où T C,T GS = [C, validity, K C,T GS ] C T GS : [S, {T C,T GS } KT GS, {A C } KC,T GS ] où A C = [C, timestamp] T GS C : [{K C,S } KC,T GS, {T C,S } KS ] où T C,S = [C, validity ] C S : [{A C } KC,S, {T C,S } KS ] K C,T GS et K C,S sont les clefs (symétriques) de session ; K C est la clef (symétrique) de C ; K T GS est la clef (symétrique) du T GS ; K S est la clef (symétrique) de S ; T C,T GS est le TGT fourni par l AS à présenter au T GS ; T C,S est le ST fourni par le T GS à présenter à S ; Romuald THION M2TI-TIW4 : Crypto 45
Applications Protocoles Protocole Kerberos On stocke l IP dans l identité du client C Est-ce conforme au modèle en couche? Pourquoi procéder ainsi? Serveur de clef (ex. n o 89, Avoine et al.) L utilisateur n a pas besoin de s authentifier auprès du KDC chaque fois qu il désire accéder à un service. Quel est l avantage de cette approche? Son inconvénient? Romuald THION M2TI-TIW4 : Crypto 46
Applications Applications sécurisées 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 47
Applications Applications sécurisées Applications sécurisées Secure Shell (SSH) Mise en œuvre de la cryptographie asymétrique Cryptosystèmes utilisés : RSA, DSA, ECDSA Plusieurs utilisations : comme application : exécution de commande, transfert de fichier comme transport : tunneling Authentification SSH sans mot de passe Il est possible de se passer de l authentification par mot de passe : Décrire comment procéder Quels sont les avantages et inconvénients de cette procédure? Romuald THION M2TI-TIW4 : Crypto 48
Applications Applications sécurisées Applications sécurisées Secure Shell (SSH) Mise en œuvre de la cryptographie asymétrique Cryptosystèmes utilisés : RSA, DSA, ECDSA Plusieurs utilisations : comme application : exécution de commande, transfert de fichier comme transport : tunneling Authentification SSH sans mot de passe Il est possible de se passer de l authentification par mot de passe : Décrire comment procéder Quels sont les avantages et inconvénients de cette procédure? Romuald THION M2TI-TIW4 : Crypto 48
Applications Applications sécurisées Applications sécurisées PGP/GnuPG Authentification, signature, (dé)chiffrement Réseau de confiance pair-à-pair web of trust (différent de SSL) Algorithmes utilisés : Symétriques : CAST5, Camellia, 3DES, AES, Blowfish, Twofish. Asymétriques : ElGamal, RSA, DSA Hachage : RIPEMD-160, MD5, SHA-1, SHA-2, and Tiger Système hybride asymétrique/symétrique Romuald THION M2TI-TIW4 : Crypto 49
Applications Applications sécurisées Applications sécurisées PGP/GnuPG Authentification, signature, (dé)chiffrement Réseau de confiance pair-à-pair web of trust (différent de SSL) Algorithmes utilisés : Symétriques : CAST5, Camellia, 3DES, AES, Blowfish, Twofish. Asymétriques : ElGamal, RSA, DSA Hachage : RIPEMD-160, MD5, SHA-1, SHA-2, and Tiger Système hybride asymétrique/symétrique Romuald THION M2TI-TIW4 : Crypto 49
Applications Applications sécurisées Cryptographie «hybride» Comparaison Symétrique secret partagé : nécessite un canal sûr algorithmes simples : rapide à calculer Asymétrique clef publique : échange de clefs sans canal sûr algorithmes complexes : calculs coûteux Conclusion : combiner les deux cryptographie asymétrique : authentification, détermination d une clef symétrique cryptographie symétrique : chiffrement de la communication une fois établie ( ) Romuald THION M2TI-TIW4 : Crypto 50
Applications Applications sécurisées Cryptographie «hybride» Comparaison Symétrique secret partagé : nécessite un canal sûr algorithmes simples : rapide à calculer Asymétrique clef publique : échange de clefs sans canal sûr algorithmes complexes : calculs coûteux Conclusion : combiner les deux cryptographie asymétrique : authentification, détermination d une clef symétrique cryptographie symétrique : chiffrement de la communication une fois établie ( ) Romuald THION M2TI-TIW4 : Crypto 50
Applications Applications sécurisées Applications sécurisées Distinguer les clefs utilisées dans GPG (ex. n o 96, Avoine et al.) GPG utilise quatre clefs quand A souhaite signer et chiffrer le courrier pour B : 1 La clef k 1 utilisée pour signer le contenu du courrier 2 La clef k 2 utilisée pour déchiffrer la clef de l étape précédente 3 La clef k 3 utilisée pour chiffrer le contenu du courrier 4 La clef k 4 utilisée pour déchiffrer la clef de l étape précédente 1 Quelles sont les clefs symétriques? 2 Quand les clefs sont-elles générées? Romuald THION M2TI-TIW4 : Crypto 51
Applications Passwords 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 52
Applications Passwords Authentification par mot de passe Authentification Linux Haché stocké dans /etc/passwd ou /etc/shadow méthode crypt (DES) : h = DES(pass, 0...0 + sel), on stocke sel + h méthode $1$ (MD5) : h = MD5(pass + sel), on stocke sel + h Les méthodes $2$ à $6$ utilisent d autres algorithmes symétriques (dont SHA-512) Lors de la tentative de login, on compare le haché de la chaîne saisie avec celle stockée /etc/passwd et /etc/shadow rthion:x:10161:1001:rthion :/home/rthion:/bin/bash rthion:$6$acrgq$rhodd6z8988nad.e1:14865:0:99999:7::: Question : quel est l intérêt du sel? Romuald THION M2TI-TIW4 : Crypto 53
Applications Passwords Authentification par mot de passe Authentification Linux Haché stocké dans /etc/passwd ou /etc/shadow méthode crypt (DES) : h = DES(pass, 0...0 + sel), on stocke sel + h méthode $1$ (MD5) : h = MD5(pass + sel), on stocke sel + h Les méthodes $2$ à $6$ utilisent d autres algorithmes symétriques (dont SHA-512) Lors de la tentative de login, on compare le haché de la chaîne saisie avec celle stockée /etc/passwd et /etc/shadow rthion:x:10161:1001:rthion :/home/rthion:/bin/bash rthion:$6$acrgq$rhodd6z8988nad.e1:14865:0:99999:7::: Question : quel est l intérêt du sel? Romuald THION M2TI-TIW4 : Crypto 53
Applications Passwords Attaque des mots de passe Principe on connaît un h, le login & l algorithme hash on tâche de trouver p tel que h = hash(p) Typologie de l attaque offline parallélisable (cluster, gpu) faiblesses humaines passwords réutilisés passwords mauvais parcourir intelligemment l espace énorme des mots de passe Romuald THION M2TI-TIW4 : Crypto 54
Applications Passwords Attaque des mots de passe Méthodes de choix des mots à essayer dictionnaires (langue naturelle, jargon, ad hoc) force brute heuristique (choix de mots probables vis-à-vis de règles) stockage de hashés pré-calculés stockage d une partie des hashés pré-calculés (rainbow tables) Quels sont les avantages et inconvénients de ces méthodes? http://www.openwall.com/john/ heuristiques : /etc/john/john.conf grand nombre de hash supportés communauté active (e.g. jumbo patch et versions MPI, GPU, PS3) Romuald THION M2TI-TIW4 : Crypto 55
Applications Passwords Authentification par mot de passe maintainer:oynlrc9bf7rc edgar:c8zhwdfkm5bv6 patrick:55kk0mpcjpl9o edwin:.8cbf8rfszfvi frank:gvefh3jsvyzs2 jaap:nms5orkefqz9c berend:2ttghiebcgp0q paul:kexgowsbifq8g cor:kvyevau1z/f9w wim:j0siahv9dvknm permission par défaut 644 différents fichiers/applications différents comptes Romuald THION M2TI-TIW4 : Crypto 56
Applications Passwords Solidité des mots de passe Where Do Security Policies Come From? Dinei Florencio & Cormac Herley Length CharSet Strength 6 N 19.9 6 LN 31.0 6 UL 34.2 6 ULNS 39.5 8 N 26.6 8 ULN 47.6 8 ULNS 52.7 10 N 33.2 10 L 47.0 10 ULNS 65.8 Site x Strength Top Traffic 19.9 High Traffic 19.9 Medium Traffic 8.3 Financial 31.0 Large Univ. 44.5 Top CS dpts. 46.4 Government 47.6 All.com 19.9 All.edu 43.7 All.gov 47.6 Romuald THION M2TI-TIW4 : Crypto 57
Conclusion 1 Introduction 2 Bases de la cryptographie Fonctions de hachage Cryptographie symétrique Cryptographie asymétrique Cryptanalyse (R)évolutions de la cryptographie 3 Applications cryptographiques Protocoles d authentification Applications sécurisées Authentification par mot de passe 4 Conclusion Romuald THION M2TI-TIW4 : Crypto 58
Conclusion One Time Pad (OTP) ou chiffrement de Vernam (1917) La clef doit être aussi longue que le message Elle doit etre aléatoire Elle doit etre utilisée une unique fois Le chiffrement parfait (intuition) Un cryptosystème sera dit chiffrement parfait lorsque la donnée d un message chiffré ne revele aucune fuite d information sur la clef ou le message clair correspondant et aucune information non plus sur les textes chiffrés futurs. Théorème Le chiffrement de Vernam (Gilbert Vernam, 1917) est un chiffrement parfait. Romuald THION M2TI-TIW4 : Crypto 59
Conclusion One Time Pad (OTP) ou chiffrement de Vernam (1917) La clef doit être aussi longue que le message Elle doit etre aléatoire Elle doit etre utilisée une unique fois Le chiffrement parfait (intuition) Un cryptosystème sera dit chiffrement parfait lorsque la donnée d un message chiffré ne revele aucune fuite d information sur la clef ou le message clair correspondant et aucune information non plus sur les textes chiffrés futurs. Théorème Le chiffrement de Vernam (Gilbert Vernam, 1917) est un chiffrement parfait. Romuald THION M2TI-TIW4 : Crypto 59
Conclusion Références Supports de Cédric Lauradoux (dont illustrations) Cryptographie et sécurité, notes de cours de Yves Gérard (MIF30) Sécurité informatique cours et exerices corrigés, Gildas Avoine, Pascal Junod et Philippe Oechslin Handbok of Applied Cryptography http://en.wikipedia.org/wiki/portal:cryptography http://cseweb.ucsd.edu/~mihir/cse207/ Romuald THION M2TI-TIW4 : Crypto 60
Conclusion Romuald THION M2TI-TIW4 : Crypto 61