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