Le cryptage
Transcription
Le cryptage
Le cryptage ECSSA Rue Georges Simenon, 13 4000 LIEGE Le cryptage RASIDY – DEBUYS Quentin – Lionel 6°U – Sciences informatiques 2011-2012 Le cryptage 1. Introduction De nos jours, l’informatique est partout. Toutes les données les plus importantes sont informatisées. Il est donc impératif que celles-ci soient protégées. Imaginez que vous ayez enregistré vos données bancaires sur votre site de payement préféré, et que ces informations soient stockées sur les serveurs du site, mais telles quel. Si elles tombent entre les mains d’un pirate, il aura accès à vos coordonnées bancaires, et pourra donc acheter du contenu avec votre compte. Ceci n’est pas le seul problème. Comme tout le monde, vous voulez avoir votre intimité, et si vous tchattez en ligne avec votre femme par exemple, vous ne souhaitez pas qu’un pirate qui écouterait le réseau sache quel surnom vous avez donné à votre dulcinée ! Les courriels de type professionnel devraient aussi être protégés. Si un pirate tombait sur un courriel révélant que deux grosses entreprises sont sur le point de signer un contrat très important, il pourrait vendre cette information à bon prix, ou mieux, jouer en bourse ! Voici comment se passerait un échange militaire s'il n'y avait pas de cryptage des échanges : Figure : échange classique sans chiffrement Maintenant, il serait tout à fait possible qu'un pirate « écoute » le réseau, avec un logiciel comme wireshark par exemple. Si c'était le cas, cet échange militaire serait représenté de la sorte : 2 Le cryptage Figure : interception du message par un pirate La sécurisation de ces informations est donc capitale. Il faut chiffrer ces données, pour qu’un pirate ne puisse rien en faire s’il les avait en sa possession. Chiffrer des données, ou crypter, c’est rendre un document incompréhensible pour toute personne ne possédant pas la clé de chiffrement (ou l’algorithme, pour les méthodes de cryptage simple). 3 Le cryptage 2. Le cryptage dans le temps Le cryptage ne date pas d’hier. Le plus vieux document chiffré qu’on ait retrouvé date de l’antiquité. Un potier avait en fait rendu sa recette secrète en supprimant les consonnes et en modifiant l'orthographe de certains mots. La cryptographie est avant tout un art, mais elle n'est considérée comme une science qu'à partir du XIe siècle, très certainement grâce à l'énorme prolifération de l'informatique, et devant le besoin de chiffrer les informations. 2.1. Le code de césar Il a fallut attendre -200 avant JC pour voir naître le premier vrai système de cryptage. Il s’agit du code de César, ou chiffre de César, en référence à Jules César. Ce dernier l'utilisait pour rendre ses communications secrètes. Pour utiliser le code de César, il suffit d'aligner toutes les lettres de l'alphabet, et de remplacer chaque lettre du message clair par une autre lettre à une distance fixe. Cette distance fixe est appelée « n ». Par exemple, avec n = 3, a devient d, b devient e, etc... Rien de tel qu'un schéma pour comprendre ! Figure : chiffre de César avec décalage de 3 On appelle ceci un système de cryptage par substitution. Il en existe plusieurs types. Celui ci est un mono-alphabétique. Car on remplace chaque lettre par une seule autre correspondante. 4 Le cryptage Cette méthode de chiffrement est plutôt faible, car aussitôt l'algorithme découvert, on peut décoder le message chiffré en faisant la manipulation inverse ! Cependant, de part sa réelle simplicité d'utilisation, cette méthode à été utilisée pendant la guerre de Sécession, ou encore par les Russes en 1915. D'ailleurs, Le code de césar est toujours utilisé à l'heure actuelle, mais à changé de nom ! On l'appelle à présent ROT-13. Il est essentiellement utilisé par les internautes, sous forme de devinettes, ou pour empêcher la lecture involontaire de la fin d'une histoire par exemple. Le ROT-13 fonctionne exactement comme le chiffre de César, sauf que le décalage est toujours de 13. Ainsi, a devient n, b devient o, etc... 2.2. Le carré de Polybe L'historien grec Polybe a inventé un système de substitution un peu différent de celui de César. Pour utiliser cette méthode, on doit représenter l’alphabet par un tableau de 5*5 cases (25 cases, 5 colonnes, 5 lignes). On peut, si on le souhaite, agrandir ce tableau à 36 cases, afin de pouvoir ajouter les chiffres ou pour chiffrer des alphabets comportant davantage de lettres, comme l'alphabet cyrillique. On place chaque lettre de l’alphabet dans ces cases. Comme il y a 26 lettres, on retire le “w”, et on le remplace par deux “v”. Chaque lettre peut donc être représentée par ses coordonnées dans le tableau : celui de sa ligne et celui de sa colonne. Par exemple, le a correspond à (1,1), le t correspond à (4,5), le m correspond à (3,3), etc... Voici un schéma pour vous éclairer : Figure : carré de Polybe 5 Le cryptage 2.3. Le chiffre de Vigenère En 1586, Vigenère met au point une nouvelle méthode de substitution. Une substitution polyalphabétique. C'est à dire que la lettre de remplacement est maintenant variable. La personne voulant coder un message utilise une clé de son choix (un mot de passe). Chaque lettre de cette clé indique en fait le décalage alphabétique à effectuer sur le texte en clair. Pour utiliser ce système, nous avons besoin de représenter l'alphabet par un tableau de 26*26 lettres que voici : 6 Le cryptage Figure : table de Vigenere Un exemple pour comprendre : Imaginons que nous voulons chiffrer le mot « courir » avec la méthode de Vigenère. Il nous faut choisir une clé, « marie » par exemple. Pour commencer, il nous faut écrire le texte à coder, et juste en dessous, la clé. C O U R I R M A R I E M (vous pouvez constater que si le mot à coder est plus long que la clé, on répète cette dernière dans l'ordre). Pour chiffrer, il suffit de prendre chaque lettre correspondante du message avec la clé, et de regarder à l'intersection des deux. Voilà ce que ça donne avec « C » et « M » : 7 Le cryptage Figure : cryptage de m par c On trouve « o ». Il suffit de répéter cette opération pour chaque lettre du message à coder. C’est la première méthode à utiliser une clé. Grâce à cela, connaître l’algorithme ne suffit plus pour casser le code. Il faut aussi connaître la clé. C'est ce qu'on appelle une méthode de cryptage symétrique. Ce système comporte beaucoup de points forts. Il est très simple d'utilisation, on peut choisir une infinité de clés différentes... Il a fallut près de trois siècles pour casser cette méthode. 8 Le cryptage 3. Les deux méthodes de cryptages : Il n'existe en réalité que deux façons de crypter. La méthode dite symétrique utilise la même clé pour chiffrer et déchiffrer. La méthode asymétrique utilise une clé publique pour chiffrer, et une clé publique pour déchiffrer. 3.1. La méthode symétrique : 3.1.1. Principe La méthode symétrique utilise une clé secrète pour crypter un message, et cette même clé pour le décrypter. Le chiffrage de Vigenère vu précédemment est considéré comme un système symétrique. Figure : cryptage symétrique Dans l'exemple qui suit, on suppose que le client et le serveur connaissent tout deux la clé : 9 Le cryptage Figure : interception du message par un pirate Auguste Kerckhoffs a énoncé un principe : l'algorithme de cryptage peut être connu par l'attaquant, ce qui est important, c'est la robustesse de la clé. En effet, si la clé peut prendre un grand nombre de valeurs, une attaque par force brute (essai de toutes les combinaisons possibles) prendrait beaucoup trop de temps pour être menée à bien. Avec un système comme le chiffre de César, si on modifiait le décalage de sorte à ce qu'il soit aléatoire, alors ce décalage deviendrait la clé, mais il ne pourrait prendre que 26 valeurs différentes. (26 lettres dans l'alphabet). La robustesse d'une clé est appelée la sécurité calculatoire. Le problème de cette dernière, c'est qu'avec la puissance actuelle des ordinateurs elle commence à s'altérer. 3.1.2. Quelques nombres : Actuellement, pour qu'une clé soit un minimum sûre, il faut qu'elle puisse prendre au moins 2^80 valeurs. L'algorithme standard actuel de la méthode symétrique utilise des clés pouvant prendre jusqu'à 2^128 valeurs différentes. Avec un tel algorithme, une attaque par force brute est totalement dérisoire. L'âge de l'univers étant d'à peu près 10^10 années, en supposant qu'un ordinateur puisse tester 1000 10 Le cryptage milliards de clés par secondes, il faudrait 1 milliard de fois l'âge de l'univers à cet ordinateur pour tester toutes les possibilités de clés. Il est toutefois possible d'utiliser plusieurs ordinateurs en même temps reliés à internet pour tester encore plus de clés à la fois. 3.1.3 : La faiblesse du système symétrique, la transmission de la clé Un système symétrique peut être d'une grande robustesse, seulement, il faut transmettre la clé de façon sécurisée, sinon voilà ce qu'il pourrait se passer : Figure : interception de la clé par un pirate Le seul moyen certain de transmettre la clé de façon sécurisée, c'est de se connecter sur un canal sécurisé au préalable, ou d'échanger une clé de façon physique. (imaginez si vous souhaitez converser avec un japonais !). Il existe en fait un autre moyen de transmettre une clé de façon sécurisée. Il faut utiliser un système de chiffrement asymétrique. 11 Le cryptage 3.2. La méthode asymétrique : 3.2.1. Principe Ce système fonctionne avec deux clés différentes. Une clé publique, que tout le monde peut voir, et une clé privée, gardée secrète. A l'inverse de la méthode symétrique, pour la méthode asymétrique, on utilise des fonctions à sens unique et à brèche secrète. Ce sont des fonctions facilement calculables, mais très difficiles à inverser. Il est presque impossible de trouver l'antécédent d'une telle fonction à moins de posséder une information secrète. En cryptographie asymétrique, cette information est appelée clé privée. La clé publique sert à crypter, et la clé privée sert à décrypter. Nous allons illustrer ceci par un exemple. Alice et Bob étant très amoureux, ils souhaitent s'envoyer des messages sur internet. Alice va générer une paire de clés grâce à un algorithme de chiffrement asymétrique. (RSA est le plus puissant à l'heure actuelle). Figure : génération d'une paire de clés par Alice La clé verte est la clé publique, et la clé rouge est la clé privée. Alice peut donner cette clé publique à Bob librement, car elle ne sert pas à décrypter, mais uniquement à crypter. Un pirate ne peut donc rien en faire. 12 Le cryptage Ensuite, Bob va pouvoir utiliser la clé publique d'Alice pour crypter un message de son choix. Cette dernière pourra le décrypter puisqu'elle possède la clé privée ! Figure : décryptage du message grâce à la clé privée Et si Alice veut envoyer un message à Bob, elle devra utiliser la clé publique de ce dernier. Bob possédant la clé privée correspondant à sa clé publique pourra décrypter les messages d'Alice. 3.2.2. Applications La méthode asymétrique est essentiellement utilisée pour transmettre une clé secrète de façon sécurisée. Le système asymétrique est en réalité très lent. On le couple donc très souvent avec le système symétrique. On parle alors de cryptographie hybride ! Voici un exemple : Un serveur voulant communiquer à un client ses données bancaires, il génère deux clés. Imaginons que : la clé publique est 74A48vXX la clé privée est 99o0pn9 Le serveur envoie sa clé publique au client : 13 Le cryptage Figure : échange de la clé publique Si un pirate écoute le réseau, il ne peut rien faire de la clé publique. Par contre, le client peut utiliser la clé publique du serveur pour crypter une clé secrète pour de futurs échanges symétriques. 14 Le cryptage Figure : cryptage d'une clé secrète grâce à la clé publique Le client peut donc envoyer son message (une clé secrète). Seul le serveur sera en mesure de décrypter ce message, car il possède la clé privée qui va de paire avec la clé publique utilisée par le client. Figure : échange sécurisé de la clé secrète 15 Le cryptage Illustration 1: Décryptage de la clé secrète grâce à la clé privée Décryptage de la clé secrète grâce à la clé privée Maintenant, le serveur et le client peuvent converser avec la méthode symétrique puisqu'ils connaissent tout deux la clé secrète. 16 Le cryptage Figure : échange symétrique sécurisé 3.2.3. L'attaque de l'homme du milieu. L'attaque de l'homme du milieu consiste à se faire passer pour un des deux correspondants (Bob ou Alice). Pour ce faire, au moment de l'échange de clés publiques, il va intercepter le message et échanger la clé publique d'Alice par exemple, par sa propre clé publique. Il pourra donc décrypter les prochains messages envoyés par Bob, et même se faire passer pour Alice. Pour ça, le pirate doit être capable de modifier un message envoyé. Il peut utiliser plusieurs méthodes. S'il est sur le même réseau local par exemple, il est simple de forcer les communications à transiter par son ordinateur, il peut ensuite modifier les informations. 17 Le cryptage 4. Répartition de l’utilisation des deux systèmes de chiffrement 18 Le cryptage 5. Conclusion Le chiffrement de données est devenu indispensable. Il est utilisé partout. Dans les cartes de crédits, dans les envois d'email ou dans les clients de messagerie instantanés... Il est devenu une science à part entière. Face à la puissance grandissante des ordinateurs, ou aux différentes attaques brillamment pensées, les cryptographes ont toujours su trouver des solutions ingénieuses. Les systèmes de cryptage ne cessent d'évoluer, cependant, on ne peut certainement pas espérer un système sans faille ! 19 Le cryptage 6. Questions Qu'est ce que le cryptage ? Le cryptage est le procédé grâce auquel on peut rendre un document illisible si on ne possède pas la clé de chiffrement. Quels sont les deux grand types de cryptage ? Cryptage asymétrique et cryptage symétrique Depuis quand le cryptage est-il utilisé ? Depuis l'antiquité Codez ceci en ROT-13 le mot suivant : exemple"bonjour" obawbhe Expliquez le principe du chiffrement hybride. Le chiffrement hybride utilise les deux types de chiffrements : le chiffrement symétrique et le chiffrement asymétrique. On utilise d'abord le chiffrement asymétrique pour communiquer une clé secrète. On utilise ensuite cette clé secrète pour communiquer avec le cryptage symétrique qui est plus rapide que l'asymétrique. 20 Le cryptage 7. Bibliographie http://www.bibmath.net/crypto/index.php3 http://david.carella.free.fr/fr/cryptographie/principes-de-base.htm http://siteduzero.com http://fr.wikipedia.org/wiki/Cryptographie http://fr.wikipedia.org/wiki/Histoire_de_la_cryptologie http://fr.wikipedia.org/wiki/Cryptographie_asymétrique http://fr.wikipedia.org/wiki/Chiffrement_par_décalage http://www.siteduzero.com/tutoriel-3-75110-la-connexion-securisee-a-distance-avecssh.html#ss_part_3 21 Le cryptage 8. Table des matières Table des matières 1. Introduction.............................................................................................................................2 2. Le cryptage dans le temps.......................................................................................................4 2.1. Le code de césar...............................................................................................................4 2.2. Le carré de Polybe............................................................................................................5 2.3. Le chiffre de Vigenère......................................................................................................6 3. Les deux méthodes de cryptages : ..........................................................................................9 3.1. La méthode symétrique :..................................................................................................9 3.2. La méthode asymétrique :..............................................................................................12 4. Répartition de l’utilisation des deux systèmes de chiffrement..............................................18 5. Conclusion ...........................................................................................................................19 6. Questions...............................................................................................................................20 7. Bibliographie.........................................................................................................................21 8. Table des matières.................................................................................................................22 22 Le cryptage Table des illustrations 23