Correction TD de cryptographie n o 1



Documents pareils
Cryptographie et fonctions à sens unique

Protocoles cryptographiques

ÉPREUVE COMMUNE DE TIPE Partie D

Protocoles d authentification

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

Cryptographie. Cours 3/8 - Chiffrement asymétrique

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Cryptographie. Master de cryptographie Architectures PKI. 23 mars Université Rennes 1

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Devoir Surveillé de Sécurité des Réseaux

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Cryptographie Quantique

Fonction de hachage et signatures électroniques

Cryptologie à clé publique

Authentification de messages et mots de passe

La sécurité dans les grilles

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Les fonctions de hachage, un domaine à la mode

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Sécurité des réseaux IPSec

Les protocoles cryptographiques

Aristote Groupe PIN. Utilisations pratiques de la cryptographie. Frédéric Pailler (CNES) 13 janvier 2009

Mécanismes de configuration automatique d une interface réseau, aspects sécurité

LEÇON N 7 : Schéma de Bernoulli et loi binomiale. Exemples.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

TD n o 8 - Domain Name System (DNS)

Gestion des clés cryptographiques

Représentation d un entier en base b

Transmission d informations sur le réseau électrique

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Certificats X509 & Infrastructure de Gestion de Clés. Claude Gross CNRS/UREC

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Présentation. LogMeIn Rescue. Architecture de LogMeIn Rescue

Serveurs de noms Protocoles HTTP et FTP

Cours 14. Crypto. 2004, Marc-André Léger

Le protocole SSH (Secure Shell)

INF 4420: Sécurité Informatique Cryptographie II

(Third-Man Attack) PASCAL BONHEUR PASCAL 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS

Routeur Chiffrant Navista Version Et le protocole de chiffrement du Réseau Privé Virtuel Navista Tunneling System - NTS Version 3.1.

Travail d intérêt personnel encadré : La cryptographie

Concilier mobilité et sécurité pour les postes nomades

Sécurité de l'information

Théorie et Codage de l Information (IF01) exercices Paul Honeine Université de technologie de Troyes France

Université de La Rochelle. Réseaux TD n 6

Représentation des Nombres

IFT3245. Simulation et modèles

Informations de sécurité TeamViewer

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Probabilités sur un univers fini

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Gestion des Clés Publiques (PKI)

DNSSEC. Que signifie DNSSEC? Pourquoi a-t-on besoin de DNSSEC? Pour la sécurité sur Internet

SSH, le shell sécurisé

D31: Protocoles Cryptographiques

Quelques tests de primalité

Ludovic Mé http ://rennes.supelec.fr/rennes/si/equipe/lme/ Campus de Rennes Equipe SSIR

Calculateur quantique: factorisation des entiers

TP 2 : Chiffrement par blocs

Probabilités Loi binomiale Exercices corrigés

Les risques liés à la signature numérique. Pascal Seeger Expert en cybercriminalité

Probabilités. I Petits rappels sur le vocabulaire des ensembles 2 I.1 Définitions... 2 I.2 Propriétés... 2

Le protocole sécurisé SSL

Probabilités. C. Charignon. I Cours 3

Certificats (électroniques) : Pourquoi? Comment? CA CNRS-Test et CNRS

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN

1 Introduction au codage

Exercices sur le chapitre «Probabilités»

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

1 Définition et premières propriétés des congruences

Étudiant : Nicolas Favre-Félix IFIPS Info 3. Les One Time Passwords, Mots de passe à usage unique

Sécurité des réseaux sans fil

Estimation: intervalle de fluctuation et de confiance. Mars IREM: groupe Proba-Stat. Fluctuation. Confiance. dans les programmes comparaison

Protocoles d`authentification. Refik Molva et Yves Roudier. Institut EURECOM, BP 193 Sophia Antipolis Cedex - France

MIS 102 Initiation à l Informatique

Les certificats numériques

Probabilités conditionnelles Loi binomiale

Windows Server 2008 Sécurité ADMINISTRATION ET CONFIGURATION DE LA SECURITE OLIVIER D.

Sécurité des réseaux Les attaques

Sécurité d IPv6. Sécurité d IPv6. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr. Stéphane Bortzmeyer AFNIC bortzmeyer@nic.fr

Architectures PKI. Sébastien VARRETTE

Rapport de Projet. La sécurité du protocole : l exploitation des failles et étude des méthodes de protection. Réalisé par :

Signature électronique. Romain Kolb 31/10/2008

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Chapitre 3 : INFERENCE

Licence Sciences et Technologies Examen janvier 2010

Licence MASS (Re-)Mise à niveau en Probabilités. Feuilles de 1 à 7

Configuration d un Client VPN «TheGreenBow» 1) Création d un compte utilisateur dans la base LDAP Netasq

module Introduction aux réseaux DHCP et codage Polytech / 5

Richard MONTBEYRE Master 2 Professionnel Droit de l Internet Administration Entreprises. La banque en ligne et le protocole TLS : exemple

1. Présentation de WPA et 802.1X

IPSEC : PRÉSENTATION TECHNIQUE

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Gilles GUETTE IRISA Campus de Beaulieu, Rennes Cedex, France

Charte d installation des réseaux sans-fils à l INSA de Lyon

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

Transcription:

Sécurité / Cryptologie Correction TD de cryptographie n o 1 Ce TD survole les différents concepts vus en cours 1 Se familiariser avec les ordres de grandeur Exercice 1. La force brute Le facteur de travail d un algorithme est le nombre d instructions élémentaires nécessaire à son exécution. La puissance d une machine est le nombre d instructions qu elle exécute par unité de temps. Nous allons approximer la puissance d un PC actuel à environ 2000 Mips (millions d instructions par seconde). Le facteur de travail d un algorithme optimisé pour tester une clé de 128 bits de l algorithme AES est d environ 1200 instructions élémentaires. On dispose d un couple clair/chiffré connu et on désire retrouver la clé utilisée par force brute, c est-à-dire en testant toutes les clés les unes après les autres. Une clé est constituée d un mot de 128 bits. On suppose que toutes les clés sont équiprobables. 1. En combien de temps une machine de 2000 Mips teste-t-elle une clé? 2. Combien y a-t-il de clés possibles? Quel est le nombre moyen de clés à tester avant de trouver la bonne? 3. À quel temps moyen de calcul cela correspond-il si on suppose qu un seul PC effectue la recherche? Si les 1 milliard de PC de l Internet sont mobilisés à cette tâche? 1. t = facteur de travail puissance = 1200 2000 = 0, 6µs. 2. Nbre de clés possibles = 2 128. On considère les clés possible comme étant les entiers de 0 à 2 128 1, et la clé secrète est notée k. On a deux scenarios d attaque par force brute possible. On note n = 2 128. Si on essaie tous les entiers les uns après les autres. La probabilité, pour un entier i donné, d avoir k = i (et donc d avoir exactement i+1 tirages à effectuer si on part de 0), est égale à 1 n. L espérance du nombre d essais est donc : n 1 (i + 1) 1 n(n + 1) = n n 2n 2. i=0 Si on effectue un grand nombre de tirages aléatoires parmi 2 128, on a une loi binomiale. Chaque tirage a une probabilité de succès 1 n = p. La probabilité qu on trouve la clé au bout de i tirages est : (1 p) i 1 p. On a donc l espérance du nombre de tirages nécessaires : E = i=1 i(1 p) i 1 p = pf (1 p), où f(x) = 1 1 x. 1 = p (1 (1 p)) 2 = 1 p. 1

3. On use et abuse des approximations 10 3 = 1000 2 1 0, 1jour = 2 16 s, 1an = 2 9 jour = 2 25 secondes, etc. On calcule d abord le nombre d instructions calculées en un an à la fréquence de 2000 Mips. 2000 Mips.années 2000 2 20 2 9 2 16 2 45 instructions, 2 11+20+9+16 2 56. Le nombre d instructions à effectuer pour trouver la clé est : 1200 2 127 2 138. Soit un temps de 2 138 56 2 81 années (ou, en base 10 : 2 (2 1 0) 8 2 10 24 ). Les un milliard ( 2 30 ) de PC d Internet permettent de gagner un facteur 2 3 0, ou 10 9. Soit quelque chose comme 2 10 15 années, soit un petit million de fois l âge de l univers. Exercice 2. La loi de Moore Il est admis que, grâce aux progrès technologiques permanents, la puissance des machines double en moyenne tous les 18 mois (loi empirique de Moore). On suppose maintenant que l on change les machines tous les mois en commençant avec une machine d une puissance de 1000 Mips. Pour tout entier n, on note W n le nombre d instructions exécutées par la machine du mois n. 1. Quel est le facteur d amélioration a de la puissance des machines d un mois à l autre? 2. Calculer W 0, puis W n en fonction de W 0, de a et de n. 3. Quel est le temps moyen nécessaire pour trouver la clé de l exercice précédent avec une machine changée tous les mois? 1. On a d un part W n+1 = aw n et la loi de Moore nous indique que W n+18 = a 18 W n = 2W n. On en déduit donc que a = 18 2. 2. L hypothèse est que la machine a une fréquence de 1000 Mips (2 30 par seconde), donc en un mois (2 5 jours de 2 16 secondes, en gros), ça fait 2 51 instructions. En outre on a : W n = a n W 0. 3. Au bout de n mois, le nombre d instructions S n effectué est W 0 + + W n 1, soit : S n = W 0 (1 + a + + a n 1 ), = 2 51 an 1 a 1. Pour que S n dépasse le nombre d instructions à effectuer, qui est (2 127 2 11 = 2 138 ), il faut une estimation à la louche de a 1. À la calculatrice on obtient a 1 1 25. On vise donc : a n 1 2 138 51 (a 1), 287 25 28 2, 82 log 2 n log a, 82 18 123 années. Ce qui est très très loin du temps calculé à l exercice précédent. Il faut penser à rajouter qu on a donc besoin de changer 1476 fois d ordinateurs. 2

2 Fonctions de hachage Exercice 3. Le buzz free mobile Aujourd hui 6 janvier 2012, les geeks s agitent pour savoir si les forfaits de la marque Free Mobile seront lancés aujourd hui, demain, à Pâques, où à la Saint-Glinglin. Pour amuser la galerie, le site live.free.fr contient un dessin de fusée, avec les symboles : efb7929e6a5b7dcc6ebb79aa3c45af13. Cette valeur est ce que renvoie la fonction de hachage md5 sur la donnée jesaispas. Des petits malins y voient aussi un second message caché en interprétant la chaîne efb7929e6a5b7dcc6ebb79aa3c45af13 dans le codage ascii. On y lirait NIEL JOIN RACE >>START : 1. Est-il plausible de parvenir à fabriquer un message intelligible (si tant est que celui-ci le soit!) dans le haché d un message intelligible qu on passe à une fonction de hachage? 1. Non pas du tout. Il n est pas possible de faire sortir ce qu on décide à la fonction de hachage. Inversement, étant donné une écriture, si cryptique soit-elle, d un message caché qu on voudrait mettre dans la valeur de hachage, il est impossible de trouver un antécédent. 3 Clé secrète Exercice 4. Authentification de type défi réponse Il existe des protocoles permettant d authentifier une entité A auprès d une entité B. Cela présuppose donc que A sache effectivement que l entité vérificatrice est bien B, et pas un attaquant C qui se fait passer pour B. Or lors de la plupart des connexions, rien ne l en assure. Il faudrait alors que B s authentifie également auprès de A. C est ce qu on appelle l authentification mutuelle. L idée générale est alors de reprendre les protocoles qui existent pour l authentification d une entité et de l appliquer de manière symétrique pour authentifier B auprès de A. Nous allons voir sur deux exemples qu il est tout de même nécessaire de prévoir quelques ajustements. 1. Expliquer pourquoi il n est pas possible de faire de l authentification mutuelle par mot de passe. 2. Suggérer alors une attaque qui permet de récupérer un mot de passe UNIX. Énumérez d autres situations dans lesquelles une interception de mot de passe est possible en l absence d authentification du serveur. 3

On cherche maintenant à utiliser une authentification de type défi réponse utilisant un système à clé secrète. Considérons le protocole suivant qui utilise un chiffrement à clé secrète. A et B partagent au préalable une clé secrète K. (i) A tire une valeur aléatoire r A et l envoie à B ; (ii) B tire une valeur aléatoire r B et calcule β = E K (r A, r B ). B envoie β à A ; (iii) A calcule D K (β). S il n y a pas eu d attaque, il retrouve r A : B s est authentifié. Il prend connaissance de r B. Il envoie r B à B : A s est authentifié. 3. Trouver une attaque de ce protocole par rejeu. On donne les éléments de départ de l approche. Le participant A est honnête, et l attaquant C (malhonnête!) se fait passer pour B. C va, parallèlement à la tentative d authentification mutuelle émanant de A (vers B, pense-t-il) appelée session 1, initier une session d authentification vers A (en faisant croire qu elle émane de B), qu on appellera session 2. Les messages de ces deux sessions s entrelacent. Les premières étapes sont (exactement dans cet ordre) : (session 1) : A envoie r A à C. (session 2) : C envoie r A à A. Compléter, et expliquer d où provient le problème. 4. Suggérer une amélioration. 1. Il n est pas possible de faire de l authentification mutuelle par mot de passe tout simplement parce qu on ne peut donner un mot de passe qu à une entité de confiance (on doit être sûr de qui elle est) ce qui n est évidemment pas le cas si on a besoin d authentification mutuelle.- 2. Le faux écran de login sous toutes ses formes... Il est possible si un serveur DNS est compromis qu un nom renvoie à une adresse IP différente. Un utilisateur non averti peut donc penser communiquer avec le véritable serveur. 3. Il suffit que l attaquant C lance en parallèle une autre session d authentification mutuelle vers A en rejouant immédiatement les aléas envoyés et en entrelaçant correctement les envois de manière à faire calculer à A les valeurs des réponses. Cela donne : 1 A tire une valeur aléatoire r A et l envoie à C qui se fait passer pour B ; 1bis C rejoue immédiatement la valeur r A en lançant en parallèle une autre session d authentification ; 2bis A tire une valeur aléatoire r A et calcule α = E K (r A, r A ). A envoie α à C ; 2 C renvoie alors α (qu il ne peut pas déchiffrer) à A ; 3 A calcule D K (α). Il retrouve r A : C s est authentifié. Il prend connaissance de r A. Il envoie r A à C ; 3bis C renvoie r A à A. 4. Le problème provient du fait que les messages ne sont pas personnalisés et que les procédés sont symétriques. Afin d introduire de la dissymétrie dans un procédé à clé secrète, il faut utiliser des MAC. On aménage alors le protocole précédent en concaténant les identités aux valeurs aléatoires tirées par chaque partie avant de calculer le MAC. 4 Clé publique 4

Exercice 5. Petit exposant commun Alice veut envoyer le même message m chiffré par RSA à trois personnes B 1, B 2 et B 3. Chacune de ces personnes B i utilise un module RSA N i différent mais tous utilisent le même exposant public e = 3. En supposant que leurs modules RSA sont premiers entre eux et que m 3 < N 1 N 2 N 3, dire comment Ève peut retrouver le message en observant les trois chiffrés qu Alice aura produit. On pose M = m e = m 3. M est alors défini par un système de trois relations de congruence correspondant au chiffrement pour chaque B i. On peut résoudre alors ce système par le théorème des restes chinois, on obtiendra M modulo N 1 N 2 N 3. Comme on a supposé M < N 1 N 2 N 3, on a obtenu M exactement. On meut alors prendre la racine cubique de M dans Z. Remarque 1 : On ne peut pas calculer facilement une racine cubique dans Z/NZ si on ne connait pas ϕ(n). Remarque 2 : la condition m 3 < N 1 N 2 N 3 est trivialement vérifiée car pour pouvoir être chiffré, m doit être inférieur à chacun des N i. Exercice 6. Module commun Alice et Bob ont choisi le même module RSA N A = N B mais choisissent deux exposants publics différents et premiers entre eux (e A e B = 1). 1. Pourrez-vous déclarer votre flamme à Alice ou Bob sans que l autre soit au courant en utilisant sa clé publique RSA? 2. On suppose maintenant qu Alice et Bob s envoie chacun le même message m. Pouvez vous retrouver ce message? Si oui, estimer le coût de votre calcul. 1. Non! Comme N A = N B, on a aussi ϕ(n A ) = ϕ(n B ) hors comme e A est public, Bob peut facilement calculer d A = e 1 A (mod ϕ(n A)) 2. Comme e A e B = 1, il existe (et on peut calculer) u A et u B tel que : 1 = u A e A + u B e B. Il suffira alors de calculer c u A A c u B B (mod N) = m e AuA m e Bu B (mod N) = M (mod N). Cela demandera deux exponentiation modulaire (exponentiation rapide) ainsi qu une inversion modulaire (Euclide étendu) car l un des u i est négatif. 5