Transmission
Transmission
Transmission
Comme des informations confidentielles circulent dans les réseaux, la sécurité des communications est
devenue une préoccupation importante des utilisateurs et des entreprises. Tous cherchent à se protéger
contre une utilisation frauduleuse de leurs données ou contre des intrusions malveillantes dans les
systèmes informatiques.
Sources : Claude Chaudet, Benjamin Monmège, Didier Müller, David Roche, wikipedia
1. Introduction
Soit 2 personnes, Anne et Bob, qui cherchent à s'envoyer des messages par l'intermédiaire d'un réseau
informatique. Anne et Bob ne désirent pas qu'une tierce personne soit capable de lire les messages si par
hasard ces derniers devaient être interceptés.
Les caractéristiques que l’on cherche à protéger :
1. La confidentialité : les données échangées ne peuvent être connues que de l’expéditeur et du
destinataire. Pour ce faire, Alice va chiffrer le message. Toute personne qui ne possédera pas le
moyen de déchiffrer ce message chiffré se verra dans l'impossibilité de comprendre le contenu du
message.
2. L’authentification : les interlocuteurs sont réellement qui ils prétendent être. Un certificat numérique
est alors nécessaire, car il permet d’utiliser une signature numérique comme moyen d’authentifier
des informations numériques.
3. L’intégrité : toute modification (involontaire ou malveillante) est détectée. Dans ce cas, il faut
calculer la somme de contrôle (checksum, en anglais) ou « empreinte » du message et la comparer
avec celle du message original.
2. La confidentialité
L'idée de chiffrer des messages (de les rendre illisibles pour des personnes non
autorisées) ne date pas du début de l'ère de l'informatique. En effet, dès
l'antiquité, on cherchait déjà à sécuriser les communications en chiffrant les
messages sensibles. Nous nous intéresserons ici uniquement aux
communications ayant lieu par l'intermédiaire d'un réseau informatique.
Ainsi, Anne peut aussi déchiffrer un message en provenance de Bob avec la même clé. Mais il faut au
préalable trouver un moyen sûr de transmettre la clé à l'abri des regards. La situation peut cependant
devenir complexe, si Anne doit envoyer un message chiffré à Bob et à Charlie mais qu'elle ne souhaite pas
donner la même clé à Charlie. Plus le nombre de personnes est grand, plus il est difficile de gérer les clés
symétriques. D'autant qu'il faut au préalable trouver un moyen sûr de transmettre la clé.
Le chiffrement asymétrique repose sur des problèmes très difficiles à résoudre dans un sens et faciles à
résoudre dans l'autre sens.
Prenons un exemple : l'algorithme de chiffrement asymétrique RSA4, est très couramment utilisé,
notamment dans tout ce qui touche au commerce électronique. RSA se base sur la factorisation des très
grands nombres premiers. Si vous prenez un nombre premier p (par exemple p = 16813007) et un nombre
premier q (par exemple q = 258027589), il facile de déterminer n le produit de p par q (ici on a p x q = n
avec n = 4338219660050123). En revanche si on vous donne n (ici 4338219660050123) il est très difficile de
retrouver A et B dans un temps "raisonnable".
1
Advanced Encryption Standard
2
Transport Layer Security (sécurité de couche de transmission)
3
Secure Sockets Layer (couche de sockets de sécurité)
4
du nom de ses 3 inventeurs : Rivest Shamir et Adleman
4. Authentification
En se référant au précédent paragraphe nous voyons rapidement que, lorsqu'une entité (entreprise,
association, individu, service public, etc.) veut sécuriser ses communications (entrantes et sortantes) auprès
d'un large public, le chiffrement le plus simple est l'asymétrique à clé publique : l'entité n'a qu'à diffuser sa
clé publique à l'ensemble de son audience.
Le problème vient de la transmission de la clé publique. Si celle-ci n'est pas sécurisée, un attaquant peut se
positionner entre l'entité et son public en diffusant de fausses clés publiques (par le biais d'un faux site web
5
Cyclic Redundancy Check
6
message digest ou digest, hash
7
Message Digest 5
8
Secure Hash Algorithm
Les certificats électroniques respectent des standards spécifiant leur contenu de façon rigoureuse. Les deux
formats les plus utilisés aujourd'hui sont :
• X.509, défini dans la RFC 5280
• OpenPGP, défini dans la RFC 4880
5. Le protocole HTTPS
Nous allons maintenant voir une utilisation concrète de ces chiffrements symétriques et asymétriques : le
protocole HTTPS.
Avant de parler du protocole HTTPS, petit retour sur le protocole HTTP : un client effectue une requête
HTTP vers un serveur, le serveur va alors répondre à cette requête (par exemple en envoyant une page
HTML au client).
grâce à une technique qui ne sera pas détaillée ici (le DNS
spoofing), un serveur "pirate" peut se faire passer pour un site sur
lequel vous avez l'habitude de vous rendre en toute confiance :
imaginez vous, voulez consulter vos comptes bancaires en ligne, vous
saisissez l'adresse web de votre banque dans la barre d'adresse de
votre navigateur favori, vous arrivez sur la page d'accueil d'un site en
tout point identique au site de votre banque, en toute confiance,
vous saisissez votre identifiant et votre mot de passe. C'est terminé
un "pirate" va pouvoir récupérer votre identifiant et votre mot de
passe ! Pourquoi ? Vous avez saisi l'adresse web de votre banque
comme d'habitude ! Oui, sauf que grâce à une attaque de type
"DNS spoofing" vous avez été redirigé vers un site pirate, en
tout point identique au site de votre banque. Dès vos identifiant
et mot de passe saisis sur ce faux site, le pirate pourra les
récupérer et se rendre avec sur le véritable site de votre
banque. À noter qu'il existe d'autres techniques que le DNS
spoofing qui permettent de substituer un serveur à un autre,
mais elles ne seront pas évoquées ici.