Calcul se´curise´ – Controˆle continu Universite´ Paris-Saclay – M1 Informatique / M1 MINT 30 mars 2020 1 Introduction Le sujet porte sur l’e´tude pre´cise d’une attaque par fautes sur l’algorithme DES (cf Feuille d’exercices nume´ro 2, exercice 3). 2 E´nonce´ Question 1 (Attaque par faute sur le DES) De´crire le plus pre´cise´ment que vous pouvez le principe d’une attaque par fautes contre le DES. On supposera que l’attaquant est capable d’effectuer une faute sur la valeur de sortie R15 du 15 e`me tour. Question 2 (Application concre`te) Dans le fichier enonce-cc.txt chacun(e) d’entre vous trouvera un exemple correspondant a` l’exe´cution du DES sur un message clair : • une premie`re fois sans injection de faute, ce qui donne donc le chiffre´ juste ; • puis 32 fois avec diverses injections de fautes, qui donnent donc 32 chiffre´s faux ; Ces 33 exe´cutions utilisent bien suˆr le meˆme message clair en entre´e, et la meˆme cle´. En revanche pour chaque e´tudiant, il s’agit d’une cle´ diffe´rente. Le but de la question est pour chacun(e) d’entre vous, de retrouver la cle´ qui lui a e´te´ assigne´e. 1. De´crire pre´cise´ment ce que vous faites pour retrouver la cle´. 2. Donnez les 48 bits de cle´ que vous obtenez graˆce a` cette attaque par fautes. 1 Question 3 (Retrouver la cle´ comple`te du DES) Dans la question pre´ce´dente, on obtient 48 bits de la cle´ (qui fait au total 56 bits). 1. Expliquer comment on peut retrouver les 8 bits manquants. 2. Faites-le, et donner ainsi la valeur comple`te de la cle´ qui vous a e´te´ assigne´e. Remarque: Vous fournirez la cle´ sous forme de 8 octets en hexade´cimal, chaque octet contenant 7 bits de cle´ et un “bit de parite´” (le bit de poids faible). Exemple: Supposons que les 56 bits trouve´s soient 00101101011001111010110011101101101111001000101101000110 On les conside`re comme 8 blocs de 7 bits 0010110 1011001 1110101 1001110 1101101 1110010 0010110 1000110 On comple`te alors chaque bloc de 7 bits par un bit de parite´ (de fac¸on a` ce qu’a` chaque fois le bloc de 8 bits obtenu contienne un nombre impair de ”1”) : • 0010110 est comple´te´ par 0, ce qui donne 00101100 (3 bits ”1”) • 1011001 est comple´te´ par 1, ce qui donne 10110011 (5 bits ”1”) • ... On obtient finalement 00101100 10110011 11101010 10011101 11011010 11100101 00101100 10001100 Soit, en hexade´cimal : 2C B3 EA 9D DA E5 2C 8C Voir le document de re´fe´rence qui spe´cifie le DES: http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf page 1 : A DES key consists of 64 binary digits (”0”s or ”1”s) of which 56 bits are randomly generated and used directly by the algorithm. The other 8 bits, which are not used by the algorithm, may be used for error detection. The 8 error detecting bits are set to make the parity of each 8-bit byte of the key odd, i.e., there is an odd number of ”1”s in each 8-bit byte. 2 Question 4 (plus difficile) (Fautes sur les tours pre´ce´dents) Les questions pre´ce´dentes supposaient que l’attaquant provoquait une faute sur la valeur de sortie R15 du 15 e`me tour. De´crivez le plus pre´cise´ment possible le fonctionnement d’une attaque en supposant cette fois que la faute est provoque´e sur la valeur de sortie R14 du 14 e`me tour. Meˆme question si la faute est provoque´e sur la valeur de sortie R13 du 13 e`me tour. Et ainsi de suite. Estimez a` chaque fois la complexite´ de l’attaque. Jusqu’a` quel tour l’attaque est-elle re´aliste ? Question 5 (Contre-mesures) Imaginer une ou plusieurs contre-mesures contre ce type d’attaque par fautes sur le DES. De´crivez la(les) le plus pre´cise´ment possible et analysez l’impact sur le temps de calcul (par rapport a` une imple´mentation non se´curise´e). 3 Que faut-il faire, et pour quand ? Les re´ponses aux questions (y compris la valeur si possible comple`te de la cle´) seront re´dige´es, le plus clairement possible dans un fichier (Word, PDF, ...) que vous m’enverrez par mail (
[email protected]), au plus tard le lundi 27 avril 2020 a` 23h59. 4 Documentation utile 4.1 Fichiers utiles Vous trouverez sur l’espace “Calcul se´curise´” d’e-campus : • Sujet controle-continu.pdf : le pre´sent sujet. • enonce-cc.txt : contient, pour chaque e´tudiant(e), le message clair, le chiffre´ juste et les 32 chiffre´s faux. • DES.pdf : contient une description de´taille´e de l’algorithme DES. 4.2 URL utile http://www.emvlab.org/descalc/ Cette page web contient une “calculette DES”, qui vous permet d’obtenir le message chiffre´ a` partir d’un message clair et d’une cle´ de votre choix. 3