Databac

Chapitre no 11 Sécurisation des communications

Publié le 04/06/2024

Extrait du document

« Chapitre no 11 Sécurisation des communications La transmission des données par le protocole TCP/IP sur Internet se fait par l’envoi de datagrammes passant par différents routeurs du réseau de la source au destinataire.

Il est donc possible à un routeur de connaitre le contenu d’un datagramme alors que l’on souhaite parfois que le contenu ne soit accessible qu’à la source et au destinataire (transactions bancaires, informations personnelles.

...). Il est donc nécessaire de sécuriser les communications en considérant les aspects suivants : • chiffrer le contenu des communications pour ne qu’il soit lisible que par la source et le destinataire ; • être sûr que le serveur auquel on se connecte est le bon ; • garantir les deux points ci-dessus en utilisant le protocole TCP/IP. La sécurisation des communications se fait par le chiffrement des données envoyées.

Cela consiste à utiliser des « clés de chiffrement » qui sont des chaînes de caractères qui vont par l’application d’algorithmes permette de rendre les données illisibles ou lisibles, suivant les cas. On distingue deux types de chiffrements : • le chiffrement symétrique : une clé unique connue uniquement de la source et du destinataire, est utilisée pour chiffrer et déchiffrer les données ; • le chiffrement asymétrique : un couple de clés, l’une publique connue de tout le monde sert à chiffrer le message et l’autre privé sert à déchiffrer le message. I.

Chiffrement symétrique La méthode de chiffrement symétrique est composée de trois algorithmes : ➼ un algorithme de génération de clé qui renvoie une clé secrète k partagée entre expéditeur et le destinataire ; ➼ un algorithme de chiffrement chiffre qui prend en arguments un message en clair m et la clé de chiffrement k et qui renvoie le message chiffré s ; ➼ un algorithme de déchiffrement dechiffre qui prend en argument un message chiffré s et la clé secrète k et qui renvoie le message clair m. Le système est correct lorsque dechiffre(chiffre(m, k)), k)=m et il est sûr lorsqu’il est impossible de trouver m à partir de s sans la connaissance de la clé k. En 1949 le mathématicien américain Shannon a montré que ce type de chiffrement résiste à n’importe quelle attaque si : • la clé est une suite de caractères au moins aussi longue que le message à chiffrer ; • la clé est aléatoire ; • la clé n’est utilisée qu’une seule fois. L’inconvénient de ce chiffrement est qu’il nécessite un canal de communication déjà sécurisé pour transmette la clé. Exemples de chiffrements • Le DES, Data Encryption Standard, a été adopté comme standard en novembre 1976.

Il s’agissait d’une modification par la NSA d’un algorithme de chiffrement utilisé par IBM depuis 1971.

Il utilisait des clés de 56 bits, ce qui donnait 256 clés possibles. En 1998, l’ordinateur Deep Crack décryptait un message en 56 heures par force brute.

En 1999, Deep Crack collaborai à un projet mondial de calcul distribué, pour décrypter un message en 22 heures. En 1999, DES est remplacé par Triple DES, qui consistait à appliquer trois fois DES avec deux ou trois clés différentes. • L’algorithme de chiffrement AES, Advanced Encryption Standard, développé par deux cryptographes belges, a été adopté les États-Unis en mai 2002.

C’est toujours le standard actuel pour les chiffrements symétriques. Il utilise des clés de 128, 192 ou 256 bits. Exercice no 1 Le chiffre de César est une méthode de chiffrement symétrique mono-alphabétique basée sur le décalage de n lettres dans l’alphabet de chaque lettre du message initial (en recommençant par « A » si le décalage dépasse « Z »).L’entier n constitue la clé de chiffrement. Le message est une chaîne de caractères constituée uniquement de lettres majuscules et d’espaces. a) Écrire, dans le fichier chiffre_cesar.py, la fonctions chiffre(message, n) permettant de chiffrer un message avec le chiffre de César et dont la clé est l’entier naturel n. b) Écrire dechiffre(message, n) permettant de déchiffrer un message dont la clé de chiffrement est n. 1.

Cryptanalyse La cryptanalyse est l’ensemble des techniques utilisées pour décrypter un texte chiffré lorsque l’on ne connait pas la clé de chiffrement.

On parle alors d’attaque. Un algorithme de chiffrement est considéré comme efficace si on ne connait pas de meilleure technique que la force brute pour décoder le message, c’est-à-dire tester toutes les clés jusqu’à trouver la bonne. Par exemple avec une clé de chiffrement de 64 bits, il y a 264 tests à réaliser.

En testant un milliard de clés par seconde cela prendrait 584 ans mais cela devient envisageable en distribuant le calcul entre de nombreux ordinateurs. Les attaques statistiques se fondent sur les fréquences d’apparitions des différents caractères dans le texte chiffré. Dans chaque langue, il existe une fréquence moyenne pour laquelle une lettre est plus susceptible d’apparaitre : en français le « E » a une fréquence d’apparition d’environ 12 % alors que la fréquence d’apparition du « Z » n’est que de 0,15 %. Exercice no 2 1.

Écrire dans le fichier chiffre_cesar.py, la fonctions attaqueBrute permettant par la force brute de déchiffrer un message chiffré par le chiffre de César. a) Le chiffre de César est-il facilement attaquable avec des attaques statistiques ? b) Écrire la fonction attaqueStat permettant de déchiffrer un message chiffré par le chiffre de César avec la méthode d’attaque statistique. On pourra pour cela : • écrire un dictionnaire dont les clés sont les lettres alphabétiques et les valeurs les fréquences de ces lettres dans la langue française (à rechercher sur Internet) ; • déterminer la fréquence d’apparition des lettres du message chiffré. 2.

Tester la fonction attaqueStat sur le texte donné dans le fichier texte_chiffre.txt. Exercice no 3 Lettres de la clé Un variant poly-alphabétique du chiffrement de César, dû à Blaise Vigenère, a résisté pendant 300 ans aux attaques par analyse de fréquences. Ce chiffrement consiste à utiliser les 26 décalages possibles du chiffrement de César, stockés sous la forme d’une table appelée carré de Vigenère : Lettres en clair Décalage A B C D E F G H I J K L MN O P Q R S T U VWX Y Z 0 B C D E F G H I J K L MN O P Q R S T U VWX Y Z A 1 C D E F G H I J K L MN O P Q R S T U VWX Y Z A B 2 D E F G H I J K L MN O P Q R S T U VWX Y Z A B C 3 E F G H I J K L MN O P Q R S T U VWX Y Z A B C D 4 F G H I J K L MN O P Q R S T U VWX Y Z A B C D E 5 G H I J K L MN O P Q R S T U VWX Y Z A B C D E F 6 H I J K L MN O P Q R S T U VWX Y Z A B C D E F G 7 I J K L MN O P Q R S T U VWX Y Z A B C D E F G H 8 J K L MN O P Q R S T U VWX Y Z A B C D E F G H I 9 K L MN O P Q R S T U VWX Y Z A B C D E F G H I J 10 L MN O P Q R S T U VWX Y Z A B C D E F G H I J K 11 MNO P Q R S T U VWX Y Z A B C D E F GH I J K L 12 N O P Q R S T U VWX Y Z A B C D E F GH I J K L M 13 O P Q R S T U VWX Y Z A B C D E F G H I J K L MN 14 P Q R S T U VWX Y Z A B C D E F G H I J K L MN O 15 Q R S T U VWX Y Z A B C D E F G H I J K L MN O P 16 R S T U VWX Y Z A B C D E F G H I J K L MN O P Q 17 S T U VWX Y Z A B C D E F G H I J K L MN O P Q R 18 T U VWX Y Z A B C D E F G H I J K L MN O P Q R S 19 U VWX Y Z A B C D E F G H I J K L MN O P Q R S T.... »

↓↓↓ APERÇU DU DOCUMENT ↓↓↓

Liens utiles