Master IDL (option GLIA) Année universitaire 2011-2012, première session Network Security Autorisé: documents manuscripts, notes du site web imprimées, dictionnaires papiers. Interdit: téléphones portables, calculatrices, traducteurs électroniques. Durée: 2 heures Dans l'ensemble du document, nous utilisons les notations suivantes. Si N représente un nœud, KN représente la clé publique de N, et K-1N représente la clé privée de N. Si M est un message, {M}K représente le chiffrement (ou déchiffrement) de M en utilisant la clé K. H(M) est le haché du message M. Le symbole ⊕ représente l'opérateur XOR. 1. Infrastructures à clé publiques (6 points) Supposons qu'Alice (représentée par A) et Bob (représenté par B) désirent communiquer d'une manière confidentielle. Pour répondre aus questions suivantes, utilisez un diagramme et des notations mathématiques quand c'est possible. Question 1 (0.5 point) : A et B envisagent de communiquer en utilisant un algorithme de chiffrement symétrique. Pourquoi ? Question 2 (1.5 points) : Supposons qu'il est impossible pour quiconque d'agir comme A ou B. Décrivez comment A et B peuvent partager la clé nécessaire pour l'algorithme symétrique, et comment ils peuvent communiquer. Question 3 (2 points) : Supposons qu'il est possible pour C d'agir comme A ou B, et que A et B partagent des informations sur chacun d'eux. Décrivez comment A et B peuvent partager la clé nécessaire pour l'algorithme symétrique. Quelle est la connaissance requise par A et B ? Question 4 (2 points) : Supposons qu'il est possible pour C d'agir comme A ou B, et que A et B ne connaissent que l'identité de chacun d'eux. Décrivez comment A et B peuvent partager la clé nécessaire pour l'algorithme symétrique. Pourquoi doit-on utiliser des infrastructures à clé publiques dans ce cas ? 2. RSA en utilisant la cryptographie à courbes elliptiques (6 points) Question 5 (0.5 point) : Quel est l'avantage principal de RSA en utilisant la cryptographie à courbes elliptiques sur le RSA traditionnel ? Question 6 (3 points) : La figure 1 montre une courbe elliptique d'équation y2=x3-x+1, et un point P. Dessinez sur la figure les points 2P, 3P et 4P. Supposons qu'il existe n tel que nP=+∞. Dans ce cas, P est dit d'ordre n. Question 7 (0.5 point) : Où est (n+1)P? Question 8 (2 points) : Soit M un texte clair. Comme dans le RSA traditionnel, M ne peut pas être chiffré directement s'il est trop grand. Expliquez comment un message M arbitrairement grand peut être chiffré (vous aurez à mentionner le rôle de la valeur n). 3. Cryptanalyse de WEP (8 points) Wired Equivalent Privacy (WEP) est un protocole permettant de sécuriser les réseaux sans fil comme WiFi. Figure 1 : une courbe elliptique d'équation y2=x3-x+1. 3.1 Taille des clés WEP Question 9 (0.5 point) : WEP peut fournir de l'autentification et de la confidentialité. Pourquoi ces deux services de sécurité sont-ils particulièrement important dans les réseaux sans fil ? Question 10 (0.5 point) : Les clés WEP sont des suites de 10 ou de 26 chiffres hexadécimaux. Quel est le nombre de clés WEP possibles ? Question 11 (0.5 point) : Au lieu d'utiliser 10 chiffres hexadécimaux, certains équipements permettent à l'utilisateur de spécificer cinq caractères ASCII. Quel est le nombre théoriques de telles clés ? Pourquoi est-ce que cette solution est considérée comme moins sûre en pratique ? 3.2 Faiblesses de WEP WEP utilise le chiffrement à flux RC4. Dans le chiffrement à flux RC4, un tableau S est construit initialement à partir de la clé. Le tableau est utilisé pour chiffrer les octets du texte clair. De plus, à chaque fois qu'un nouvel octet est chiffré, deux éléments du tableau sont mélangés. Question 12 (1 point) : Expliquez pourquoi, avec RC4, il est plus facile de craquer les premiers octets chiffrés que les autres octets chiffrés. Question 13 (0.5 point) : Pourquoi n'est-il pas sûr de chiffrer de nombreux messages avec RC4 ? Pour former les 64 bits de la clé RC4, WEP concatène les 10 chiffres hexadécimaux (représentés par k) avec un nombre de 24 bits généré aléatoirement et appelé le vecteur d'initialisation (représenté par iv). Question 14 (1 point) : Expliquez pourquoi le vecteur d'initialisation est aléatoire ? Question 15 (1 point) : Expliquez pourquoi le vecteur d'initialisation doit être transmis en clair. Même s'il est transmis en clair, est-ce qu'il sert son but ? 3.3 Améliorer WEP Question 16 (1.5 points) : Une approche pour améliorer la sécurité de WEP est d'utiliser l'algorithme RC4-drop768. Cet algorithme est similaire à RC4, sauf que 768 bits aléatoires (générés par la source) sont chiffrés avant le texte clair. Est-ce que les bits aléatoires ont besoin d'être transmis à la destination en clair ? Pourquoi est-ce que RC4-drop768 améliore WEP ? Question 17 (1.5 points) : Une autre approche pour améliorer la sécurité de WEP est d'utiliser comme clé la valeur H(k+iv), où + représente la concaténation, plutôt que k+iv. Expliquez pourquoi cela améliore la sécurité de WEP.