750 likes | 1.01k Views
Sécurité des Systèmes d’Information. Eléments de cryptographie corinne.fredouille@lia.univ-avignon.fr. Cryptologie = cryptographie & cryptanalyse. Transformer des données dans une forme illisible pour un inconnu. Décrypter un message sans connaître les clés (algorithmes connus). Oscar.
E N D
Sécurité des Systèmes d’Information Eléments de cryptographie corinne.fredouille@lia.univ-avignon.fr
Cryptologie = cryptographie & cryptanalyse Transformer des données dans une forme illisible pour un inconnu Décrypter un message sans connaître les clés (algorithmes connus) Oscar Alice Bob Généralités (1) • cryptage = chiffrement, décryptage =déchiffrement • Sécurité de la cryptographie • Qualité & implémentation des algorithmes • Gestion des secrets Sécurité des Systèmes d'Information : Elements de cryptographie
Ambiguïté Généralités (2) • Cryptographie quintuplet (P, C, K, E, D) P : ensemble des textes clairs C : ensemble des textes chiffrés K : ensemble des clés E : ensemble des règles de chiffrement D : ensemble des règles de déchiffrement Sécurité des Systèmes d'Information : Elements de cryptographie
Cryptanalyse ek dk y x Chiffrement Déchiffrement K Générateur de clés Généralités (3) x Cryptographie Sécurité des Systèmes d'Information : Elements de cryptographie
Généralités (4) • Cryptanalyse : • Attaque en force : test de toutes les combinaisons possibles de clés ! • Attaque par analyse statistique : informations surfréquences ou séquences des lettres dans le texte clair • Attaque par textes chiffrés : hypothèse sur le texte clair (expressions, mots, sens du message, …) • Attaque par textes clairs : obtention de textes clairs (total ou partiel) et leurs versions chiffrées • Attaque par textes clairs choisis : obtention de textes clairs (total ou partiel) et leurs versions chiffrées et possibilité de tester d’autres textes clairs (et versions chiffrées) • Attaque d’une tierce personne (man in the middle) : changement des paramètres lors des échanges Sécurité des Systèmes d'Information : Elements de cryptographie
Systèmes symétriques • clé symétrique • clé secrète (privée) Systèmes asymétriques • clé asymétrique • bi-clé : 1 publique, 1 privée Canal sûr Typologies des systèmes :Description(1) Sécurité des Systèmes d'Information : Elements de cryptographie
Systèmes symétriques Systèmes asymétriques Bonjour Bonjour = hgtykhj = hgtykhj hgtykhj hgtykhj hgtykhj hgtykhj = Bonjour = Bonjour Typologies des systèmes :Description(2) Sécurité des Systèmes d'Information : Elements de cryptographie
Systèmes symétriques 1 individu = 1 clé générée par membre du groupe Systèmes asymétriques 1 individu = 1 paire de clés publique & privée Typologies des systèmes :Description(3) Sécurité des Systèmes d'Information : Elements de cryptographie
Typologies des systèmes :Avantages & inconvénient(1) Déséquilibre du nb de clés échangées !!! Sécurité des Systèmes d'Information : Elements de cryptographie
Systèmes symétriques Systèmes asymétriques hkjdnfe hkjdnfe ? ? Alice reçoit un message chiffré : • Identifier l’émetteur Gilles • Déchiffrer le message avec la clé associée à Gilles Alice reçoit un message chiffré : • Déchiffrer le message avec sa clé privée Typologies des systèmes :Avantages & inconvénient(2) Sécurité des Systèmes d'Information : Elements de cryptographie
Typologies des systèmes :Avantages & inconvénient(3) Systèmes symétriques Systèmes asymétriques • Avantages : • Simple et facile • Traitement CPU rapide • Adapter aux grands flux de données à chiffrer • Inconvénients : • Absences de certains services de sécurité • Distribution et nombre des secrets • Avantages : • Distribution des secrets • Multiples services • Inconvénients : • Très gourmand en CPU • Non adapté pour les grand flux de données • Authentification du propriétaire de la clé publique Solution : combinaison des deux méthodes Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes :Quelques notions mathématiques (1) • Arithmétique modulaire • a mod m reste de la division entière • Zmensemble {0,m-1} munis des op. + et * • Ex : 21 * 4 (dans Z15) ? = 9 • Soit a Zm, l’inverse de a, noté a-1 Zmest tel que: aa-1=a-1a=1 (mod m) • a admet un inverse dans Zmsssi pgcd(a,m)=1 (a et m sont premiers entre eux) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes :Quelques notions mathématiques (2) • Probabilités : rappels • Soit x et y deux variables aléatoires issues des distributions X et Y: p(x,y) = p(x|y) . p(y) = p(y|x) . p(x) • Théorème de Bayes : • X et Y sont indépendantes sssi p(x|y) = p(x) x et y Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes simples :Quelques notions mathématiques (3) • Probabilités & cryptographie • Confidentialité parfaite d’un système cryptographique si : xP et yC,p(x|y) = p(x) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes simples :Par décalage unephraseacrypter fypascldplncjaepc 20 13 4 15 7 17 0 18 4 0 2 17 24 15 19 4 17 5 24 15 0 18 2 11 3 15 11 13 2 9 0 4 15 2 k=11 Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes simples :Par substitution unephraseacrypter usflgcuvfuicelmfc u = e(a) = (a) (a = d(u) = -1(u)) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes simples :Chiffrement affine unephraseacrypter tyxegklnxlrkfgqxk 20 13 4 15 7 17 0 18 4 0 2 17 24 15 19 4 17 19 24 23 4 6 10 11 13 23 11 17 10 5 4 16 23 10 k=(3,11) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes simples :Chiffrement de Vigenère unephraseacrypter uykdhcggelifyazcr 20 13 4 15 7 17 0 18 4 0 2 17 24 15 19 4 17 20 24 10 3 7 2 6 6 4 11 8 5 24 0 25 2 17 Mot-clé : algo, k=(0, 11, 6, 14) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes simples :Par permutation unephraseacrypter neuhrpeasryctepr m=3, k=(1, 2, 0) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes simples :Chiffrement en chaîne • Cryptographie en chaîne (P, C, K, L, F, E, D) P : ensemble des textes clairs C : ensemble des textes chiffrés K : ensemble des clés L : alphabet de séquences z F : (f1, f2 , …) générateur de séquences z zi=fi(k,p1,p2,…,pi-1) E : ensemble des règles de chiffrement D : ensemble des règles de déchiffrement Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes simples :Chaîne asynchrone unephraseacrypter chrtwyrswectpnixv 20 13 4 15 7 17 0 18 4 0 2 17 24 15 19 4 17 2 7 17 19 22 24 17 18 22 4 2 19 15 13 8 23 21 k=8 8 20 13 4 15 … 15 19 4 Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES - Historique • 1973 : appel d’offres de systèmes cryptographiques par NIST • 1975 : IBM et le DES (Data Encryption Standard) • 1977 : adoption du DES comme standard • Depuis 1977 : un des systèmes le plus utilisé (ou ses variantes !) avec une révision tous les 5 ans • DES cassé en 1998 ! • Janvier : 39 jours sur 10 000 Pentium en // • Juillet : 56h sur 1 machine dédiée Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES - Propriétés • Algorithme à clé secrète • Algorithme par bloc (variantes par chaîne) • Systèmes cryptographiques produit Combinaison d’algorithmes simples basés principalement sur des permutations et des substitutions • Différents modes de fonctionnement possibles: • ECB (Electronic CodeBook): idem pour tous les blocs • CBC (Cipher Block Chaining): XOR(pi, ci-1) • CFB (Cipher FeedBack): XOR(pi,DES(ci-1)) • OFB (Output FeedBack): XOR(pi,DESN(IV)) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES - Synopsis Bloc de texte clair de 64 bits : x + Clé de 56 bits : K = Bloc de texte chiffré de 64 bits : y Sécurité des Systèmes d'Information : Elements de cryptographie
Initialisation • Itérations de f • Permutation inverse Li-1 Ri-1 x : 64 bits L16 R16 f Ki + y : 64 bits L0 R0 Li Ri 32 bits + 32 bits Algorithmes complexes :DES – Descriptif (1) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES – Descriptif de f (1) Ri-1 32 bits f Ki 48 bits f(Ri-1, Ki) 32 bits Sécurité des Systèmes d'Information : Elements de cryptographie
Ri-1 Ki 32 bits 48 bits E Réordonn. + copie E(Ri-1) 48 bits + B1 B2 B3 B4 B5 B6 B7 B8 48 bits Algorithmes complexes :DES – Descriptif de f (2) Sécurité des Systèmes d'Information : Elements de cryptographie
48 bits B1 B3 B4 B5 B6 B7 B8 B2 S1 S2 S3 S4 S5 S6 S7 S8 S-Boites C2 C1 C3 C4 C5 C6 C7 C8 32 bits P Permutation f(Ri-1, Ki) 32 bits Algorithmes complexes :DES – Descriptif de f (3) Sécurité des Systèmes d'Information : Elements de cryptographie
Sj - Tableau d’entiers c : 0 c 15 6 bits Bj Sj Cj 4 bits b2b3b4b5 b1b6 Ligne Colonne Algorithmes complexes :DES – Descriptif de f (4) Bj = b1b2b3b4b5b6 Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES – Descriptif de f (5) Ri-1 32 bits E E(Ri-1) 48 bits Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES – Descriptif de K (1) K : 56 bits + 8 Bits de parité (8, 16, 24...) Retrait des bits de parité K : 56 bits Diversification de K K1, K2, ..., K16 Sécurité des Systèmes d'Information : Elements de cryptographie
K : 56 bits Permutation PC-1 Rotation circulaire (gauche) d’une position si i=1, 2, 9, 16 de deux positions sinon. C0 D0 LS1 LS1 C1 D1 PC-2 K1 : 48 bits LS2 LS2 Algorithmes complexes :DES – Descriptif de K (2) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES – Déchiffrement • Application du même algorithme • Clé de départ : K16 Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES – Sécurité (1) • Algorithme entièrement connu secret de la clé primordial • Efficace grâce à : • Non-linéarité des S-boites • 16 itérations propagation du brouillage casi-uniforme • Version de base, nombre de clés : 256 • Considéré comme vulnérable aux attaques en force (minimum accepté 64 bits, mais 128 préconisé) • Longueur de clé facilement extensible => variantes: triple DES 112 ou 168 bits, algo. par chaîne Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES – Sécurité (2) • Avantages pratiques ! • Implémentation matérielle : chiffrement/déchif. de 300 Mbits à 3 Gbits/s • Idéal pour les échanges permanents : chiffrement réseaux, bus, chiffrement téléphone, signal vidéo ! • Transactions bancaires (3 DES): chiffrement des info. au niveau des DAB • Successeur de DES = AES (oct 2000) !!! • Advanced Encryption Standard • Blocs de messages de 128 bits • Taille de clés : 128, 192, 256 bits • Opérations similaires à DES Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :DES – Sécurité (3) • Autres algorithmes à clé privé : • Blowfish (clé de 32 à 448 bits) : utilisation libre et gratuite, sensiblement + rapide que DES • IDEA (clé de 128 bits): droits détenus, rapidité équivalente à DES • RC2, RC4, RC5, RC6 : droits détenus, + rapide que DES • RC4 : 1 à 256 octets (mais + souvent 40 bits => peu fiable !) • RC2 : 1 à 128 octets • RC5/RC6 : variabilité possible dans la taille des blocs, la taille des clés et le nb de rounds Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :Systèmes asymétriques - Historique • Idée : éviter la problématique d’échange de clés des systèmes symétriques ! • 1976 - Idée d’un système à clé publique Diffie & Hellman • 1977 – 1ère réalisation d’un système à clé publique Rivest – Shamir – Adleman (RSA) • A partir de 1977 – autres systèmes à clé publique Merkle & Hellman – Problème NP complet Chor & Rivest – Problème NP complet El Gamal – Problème lié au logarithme … Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :Systèmes asymétriques - Remarques • Jamais sûrs • La clé publique est PUBLIQUE ! • Ex: Oscar détient un texte chiffré y et la clé publique ek il peut chiffrer tous les textes clairs x jusqu’à trouver l’unique x tel que : y = ek(x) x est le résultat du déchiffrement de y Sécurité des systèmes asymétriques = problème mathématique réputé difficile Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :Syst. asymétriques - Fonctionnement • Systèmes asymétriques = fonction à sens unique à trappe • ek facile à appliquer pour Bob et inversion de ek difficile (en un temps raisonnable) voire impossible pour Oscar Fonction à sens unique • Déchiffrement facile pour Alice grâce àune trappe cachée (info. secrète permettant l’inversion facile de ek) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :RSA : algo. & mise en œuvre (1) Soit n=pq où p et q sont premiers. Soit K={(n,p,q,a,b) : n=pq, (n)=(p-1)(q-1), ab=1 (mod (n)) et pgcd(b, (n))=1} Pour k=(n,p,q,a,b), on définit : y=ek(x) = xb mod n et x=dk(y)= ya mod n (x et y Zn). Les valeurs n et b sont publiques et les valeursp, qetasontsecrètes. Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :RSA : algo. & mise en œuvre (2) • Bob engendre deux grands nombres premiers p et q • Bob calcule n=pq et (n)=(p-1)(q-1) • Bob choisit un b aléatoire (1<b< (n)) tel que pgcd(b, (n)) = 1 • Bob calcule a = b-1 mod (n) • Bob publie n et b(sa clé publique) et garde secret p, q, a (sa clé privée) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :RSA : Exemple (1) • Bob choisit p = 101etq = 113 • Bob calcule : n = 101*113 = 11413 et (n) = 100*112=11200 • Bob choisit b=3533 : pgcd(3533,11200)=1 vrai • Bob calcule : b-1 = 6597 mod 11200 a = 6597 • Bob publie n=11413 et b=3533 Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :RSA : Exemple (2) • Alice souhaite transmettre le message 9726 à Bob • Alice récupère la clé publique de Bob et calcule : 97263533 mod 11413 = 5761 • Alice envoie le texte chiffré 5761 à Bob • Bob reçoit le message 5761 et calcule grâce à sa clé privée : 57616597 mod 11413 = 9726 • Le texte déchiffré est donc 9726 Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :RSA : Choix de p & q (1) • Si factorisation de n possible alors : • Obtention de p et q • Calcul de (n) • Calcul de l’exposant a à partir de b • Système cryptographique corrompu ! n=pq doit être suffisamment grand pour que la factorisation soit calculatoirement impossible (algo. de factorisation actuels nombres à 155 chiffres/512 bits. Record établi en 1999 en 2 mois et demi sur 300 ordinateurs et en 224h sur un Cray-C916) Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :RSA : Choix de p & q (2) • Choix de p et q • Tests de primalité probabilistes • Théorème de raréfaction : un nombre y de 256 bits (RSA) a une probabilité de 1/177 d’être premier • Tirage & vérification Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :RSA : Calcul de a, x et y • Calcul de a=b-1: algo. Étendu d’Euclide • Calcul de x ou y : exponentiation modulaire • Optimisation des temps de calcul • Fonctions élémentaires : « square & multiply » Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :RSA : Conclusion • Grands nombres pour p et q RSA > 155 chiffres pour n (clé de 768 bits au minimum, 1024 bits préconisé !) • Sécurité compromise : • Si Oscar connaît a, b etn • Ou connaît b, n et (n) • Ou connaît b, n , p et q • Oscar peut calculer a et déchiffrer les messages de la même manière que Bob • Le secret de factorisation est compromis • 1500 fois + lent que l’algo. DES Sécurité des Systèmes d'Information : Elements de cryptographie
Algorithmes complexes :Taille des clés • Grandes différences entre systèmes symétriques et asymétriques : • DES : + de 64 bits • RSA : + de 768 bits • Raison : implémentation totalement différente => attaques différentes ! • Attaque en force pour DES • Test de factorisation pour RSA (attaque en force inimaginable actuellement !) • Dans les deux cas: taille des clés fonction de l’évolution calculatoire des ordinateurs Sécurité des Systèmes d'Information : Elements de cryptographie
Message longueur variable Code longueur fixe Fonction de hachage Fonction de hâchage (1) • Fournir une empreinte du document initial • Intégrité • Authentification par signature • Production d’un message condensé => rapidité ! • Propriété des algorithmes utilisés: • Cohérence: si c = fh(x) alors c unique pour x donné • Unicité : si c = fh(x) et d = fh(y) avec x y alors c d • Non réversible : c n’implique pas x Sécurité des Systèmes d'Information : Elements de cryptographie
Fonction de hâchage (2) • Taille des hachés : • Haché de longueur n bits => 2n hachés possibles • 2n/2 essais pour trouver une collision (2 messages => même haché) • Taille minimum des hachés : 128 bits • Norme actuelle : 160 bits • Algorithmes les + courants : • MD4, MD5 : • Message Digest 4 & 5 (MIT) • blocs de 512 bits hachés de 128 bits • MD5 = Variante de MD4 (cassé en 1996) • SHA-1, -2 : Secure Hash Algorithm • Variante de MD4 – blocs de 512 bits 160 (SHA-1), 256, 384, 512 (SHA-2) bits • + de ressources CPU que MD5, parfois + lent Sécurité des Systèmes d'Information : Elements de cryptographie