Telechargé par hachicha.eya

Cours Protocoles securises

publicité
Lycée Charles Peguy − Année scolaire 2020-2021
Terminale NSI
Cours : Protocoles sécurisés
I
I NTRODUCTION
Imaginons que deux personnes nommées Alice et Bob souhaitent échanger des informations via un réseau informatique. Ils souhaitent aussi, au cas où leurs messages sont interceptés, que ceux-ci ne soient pas compréhensibles
par une autre personne.
Exemple(s)
Donner des exemples de données que l’on ne souhaite pas voir circuler “en clair” sur un réseau informatique.
.................................................................................................................
.................................................................................................................
Définition 1
Coder représenter l’information par un ensemble de signes prédéfinis. On utilise aussi le terme encoder.
Exemple : Coder une image, un son, un texte en binaire...
Décoder interpréter un ensemble de signes pour extraire l’information qu’ils représentent
Exemple : Décoder un texte en braille ou en morse.
Chiffrer rendre une suite de symbole incompréhensible au moyen d’une clé de chiffrement
Déchiffrer/décrypter retrouver la suite de symbole originale à partir du message chiffré. On utilise le
terme déchiffrer lorsque l’on utilise une clé de déchiffrement pour récupérer le message initial et le
terme décrypter lorsqu’on arrive à déterminer le message original sans la clé.
Coder et décoder s’utilisent quand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemples : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. .....................................................................................................
Pour qu’un message entre deux machines dans un réseau informatique ne puisse pas être compréhensible s’il est
intercepté, il faut qu’il soit chiffré.
Il y a deux manières principales pour le faire :
— Par un chiffrement symétrique qui utilise une clé unique, connue seulement de l’émetteur et du récepteur.
L’émetteur chiffre le message avec la clé et le récepteur le déchiffre avec la même clé.
— Par un chiffrement asymétrique qui utilise un couple de clé, l’une publique connue de tout le monde, l’autre
privée connue uniquement par le récepteur. L’émetteur chiffre le message avec la clé publique. Le récepteur
le déchiffre avec la clé privée.
II
C RYPTOGRAPHIE SYMÉTRIQUE
Le chiffrement symétrique repose sur deux fonctions : une pour chiffrer le message et une autre pour déchiffrer le
message chiffré.
c(m, k) est la fonction de chiffrement. Elle prend en arguments un message m en “clair” (une chaîne de caractères
par exemple) et une clé de chiffrement k (qui peut être une chaîne de caractères, un nombre, etc.). Elle produit
en sortie une chaîne de caractères chiffrée s.
d(s, k) est la fonction de déchiffrement. Elle prend en argument un message chiffré s et une clé de déchiffrement k et
renvoie le message en clair m
On a la relation
d (c(m, k), k) = m
La figure 1 illustre la transmission d’information.
Cours : Protocoles sécurisés
Page 1 sur 9
Lycée Charles Peguy − Année scolaire 2020-2021
Alice
m
Terminale NSI
Réseau
s
↓
c(m, k) = s
Bob
d(s, k) = m
Figure 1 – Chiffrement symétrique
II .A.
C HIFFREMENT DE C ÉSAR ( CHIFFREMENT PAR DÉCALAGE )
Un exemple simple de chiffrement symétrique est le chiffrement de César. Le texte chiffré s’obtient en remplaçant
chaque lettre du texte clair original par une lettre à distance fixe, toujours du même côté, dans l’ordre de l’alphabet.
Pour les dernières lettres (dans le cas d’un décalage à droite), on reprend au début. Par exemple avec un décalage
de 3 vers la droite, A est remplacé par D, B devient E, et ainsi jusqu’à W qui devient Z, puis X devient A etc. Il s’agit
d’une permutation circulaire de l’alphabet. La longueur du décalage, 3 dans l’exemple évoqué, constitue la clé du
chiffrement qu’il suffit de transmettre au destinataire — s’il sait déjà qu’il s’agit d’un chiffrement de César — pour
que celui-ci puisse déchiffrer le message. Dans le cas de l’alphabet latin, le chiffre de César n’a que 26 clés possibles
(y compris la clé nulle, qui ne modifie pas le texte).
Figure 2 – Chiffrement de César, clé = 3
Exercice 1
1. Chiffrer le message “je suis alice.” avec la clé 3.
2. Déchiffrer le message “mh fkliiuh hq qvl” toujours avec la clé 3.
.................................................................................................................
.................................................................................................................
Exercice 2
Faire le TP “Cryptographie affine” pour découvrir d’autres méthodes similaires au chiffrement de César.
https://nc-lycees.netocentre.fr/s/amH8QTMtM6xLwRQ
Exercice 3
Faire le Jupyter notebook “Application au chiffrement d’un message”
https://nc-lycees.netocentre.fr/s/RrWH5t6KpE7TAmB
Exercice 4
Fichier : TermNSI/Protocoles_securises/codage_affine.py
Ecrire les fonctions qui permettent de chiffrer puis déchiffrer des messages en utilisant le chiffrement linéaire puis
le chiffrement affine de l’exercice 2.
Ressource pour le déchiffrement : https://fr.wikipedia.org/wiki/Chiffre_affine
II .B.
C HIFFREMENT AVEC XOR
Le chiffrement XOR est un système de cryptage basique mais pas trop limité. Ainsi, il a beaucoup été utilisé dans
les débuts de l’informatique et continue à l’être encore aujourd’hui car il est facile à implémenter, dans toutes sortes
de programmes.
Cours : Protocoles sécurisés
Page 2 sur 9
Lycée Charles Peguy − Année scolaire 2020-2021
A
Vrai
Vrai
Faux
Faux
B
Vrai
Faux
Vrai
Faux
Terminale NSI
A⊕B
Faux
Vrai
Vrai
Faux
Table 1 – Table de vérité de XOR
On rappelle que XOR (noté ⊕) est un opérateur logique qui correspond à un "OU exclusif" : c’est le (A OU B) qu’on
utilise en logique mais qui exclue le cas où A et B sont simultanément vrais. Voici sa table de vérité (table 1) :
En informatique, chaque caractère du message à coder est représenté par un entier, le code UTF-8 (ou le code
ASCII). Ce nombre est lui-même représenté en mémoire comme un nombre binaire à 8 chiffres (un octet). On
choisit une clé que l’on place en dessous du message à coder, en la répétant autant de fois que nécessaire, comme
dans le cryptage de Vigenère. Le message et la clé étant converti en binaire, on effectue un XOR, bit par bit, le 1
représentant VRAI et le 0 FAUX. Le résultat en binaire peut être reconverti en caractères UTF-8 et donne alors le
message codé.
L’algorithme est complètement symétrique : la même opération est réappliqué au message final pour retrouver le
message initial.
En effet si A ⊕ B = C alors A ⊕ C = B et B ⊕ C = A (ce n’est pas le cas avec d’autres opérations logiques comme
et et ou)
Exemple(s)
Codons “MESSAGE” en utilisant la clé “CLE”.
Etape 1 Convertir le message en binaire en utilisant le code UFT-8 (identique au code ASCII pour les caractères
non accentués).
Lettres
Code UTF-8
Binaire
M
77
01001101
E
69
01000101
S
83
01010011
S
83
01010011
A
65
01000001
G
71
01000111
E
69
01000101
Etape 2 Faire de même avec la clé :
Le mot CLE en binaire est lui représenté par 01000011 - 01001100 - 01000101
Etape 3 Effectuer l’opération XOR bit à bit entre le message et la clé. La clé sera répétée autant de fois que nescessaire
pour recouvrir le message.
Message
Clé
Message chiffré
01001101
01000011
00001110
01000101
01001100
00001001
01010011
01000101
00010110
01010011
01000011
00010000
01000001
01001100
00001101
01000111
01000101
00000010
01000101
01000011
00000110
Exercice 5
Pour déchiffrer le message chiffré il suffit de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message chiffré
Clé
Message déchiffré
Code UTF-8
Message en clair
00001110
00001001
00010110
00010000
00001101
00000010
00000110
Exercice 6
Voici un code permettant de chiffrer un message en utilsant la méthode XOR.
def texte_2_UTF(texte : str)->list:
tab_codes_UTF = []
for c in texte:
tab_codes_UTF.append(ord(c))
return tab_codes_UTF
assert texte_2_UTF("MESSAGE") == [77, 69, 83, 83, 65, 71, 69]
Cours : Protocoles sécurisés
Page 3 sur 9
Lycée Charles Peguy − Année scolaire 2020-2021
Terminale NSI
# Python peut effectuer l'opération XOR directement avec les entiers, il n'est
# donc pas nescessaire de convertir en binaire le message
# L'opérateur XOR s'effectue avec ^ en python
def c(message,cle):
# Conversion des textes en codes UTF-8
message_clair = texte_2_UTF(message)
tab_cle_initial = texte_2_UTF(cle)
tab_cle = []
n,m = len(message_clair),len(tab_cle_initial)
# Répète la clé autant de fois que nescessaire
for i in range(n):
tab_cle.append(tab_cle_initial[i%m])
message_chiffre = []
# Effectue le XOR entre le message et la clé.
for i in range(n):
message_chiffre.append(message_clair[i] ^ tab_cle[i])
return message_chiffre
assert c("MESSAGE","CLE") == [14, 9, 22, 16, 13, 2, 6]
Fichier : TermNSI/Protocoles_securises/codage_XOR.py
1. Modifier la fonction c pour qu’elle renvoie le message chiffré (avec les caractères) . On pourra utiliser la
fonction chr.
2. Écrire une fonction d qui prend en paramètres le message chiffré (sous la forme d’une chaine de caractères)
et la clé et qui renvoie le message déchiffré sous forme de caractères.
3. Testez vos fontions avec vos camarades en échangeant des messages chiffrés.
III
C HIFFREMENT ASYMÉTRIQUE
Le chiffrement symétrique fonctionne bien, mais dans la pratique un problème peut se poser. En effet pour communiquer, Alice et Bob doivent se communiquer la clé de chiffrement. Or, si ces 2 personnes communiquent de façon
chiffrée, c’est que leurs moyens de communications ne sont pas sûrs. Il faut donc trouver un moyen de communiquer la clé de chiffrement sans quelle soit interceptée.
Des solutions, plus ou moins sécurisées ou pratiques, existents :
— échanger la clé par mail
— échanger la clé par téléphone
— échanger la clé par un support physique ...
Mais dans tous les cas, un risque d’interception de la clé existe, car il y a un échange d’information. Une solution
a été développée dès les années 1970, d’abord de manière privée par des services secrets, puis dans la recherche
académique. C’est le principe du chiffrement asymétrique.
La cryptographie asymétrique est un domaine de la cryptographie où il existe une distinction entre des données
publiques et privées, en opposition à la cryptographie symétrique où la fonctionnalité est atteinte par la possession
d’une donnée secrète commune entre les différents participants.
Voyons deux exemples de chiffrements asymétriques : les puzzles de Merkle et le système RSA.
III .A.
L ES PUZZLES DE M ERKLE
Supposons qu’Alice et Bob veulent communiquer en utilisant une clé secrète commune. Pour établir cette clé, Bob
envoie à Alice un message qui consiste en un grand nombre de puzzles, chacun assez petit pour qu’Alice puisse
le résoudre par attaque par force brute. Les puzzles sont de la forme d’un message chiffré avec une clé inconnue,
donc la clé est assez courte.
Bob envoie tous les messages à Alice. Elle en sélectionne un au hasard et le résout par force brute. C’est à dire quelle
teste toutes les clés posible de façon à déchiffrer le message. Le message chiffré contient un identificateur (du choix
d’Alice) et une clé secrète, dite clé de session. Alice renvoie l’identificateur à Bob, qui sait alors également quelle
est la clé de session.
Cours : Protocoles sécurisés
Page 4 sur 9
Lycée Charles Peguy − Année scolaire 2020-2021
Exemple(s)
Terminale NSI
Voici un extrait du message généré par Bob.
...
identificateur : 135674 – clé : fQ98c~m{)*e9+G!identificateur : 426891 – clé : VMQ>Dm2|uyFU8$z\\
identificateur : 734562 – clé : H\\>hq]D/x.K\\-Ov}
identificateur : 924252 – clé : nSV)ayafjvzA9zXz
...
Ensuite elle le chiffre en utilisant par exemple le chiffrement XOR vu dans le chapitre B. Voici un extrait du fichier
chiffré qui sera transmis sur le réseau :
...
47 96 83 70 114 111 49 101 24 90 72 94 135 113 82 136 96 120 65 92 70 136 31 120 106 102 31 60 116 125 76 . . . 40
42 89 117 45 21 93 145 104 66 98 143 77 100 135 31 82 90 40 37 107 83 82 139 6 11 52 62 88 30 94 117 . . . 139
68 120 21 82 102 27 6 56 50 123 23 77 113 41 106 66 141 123 124 76 104 45 17 91 20 3 32 117 124 98 67 . . . 127
4 14 48 89 143 43 129 130 110 23 11 102 121 131 104 102 95 105 21 70 148 128 146 132 40 73 41 4 87 81 93 . . . 66
...
Alice choisira une ligne au hasard dans ce fichier. Ensuite il décryptera cette ligne en testant toutes les clés possibles.
Admettons qu’il choisisse et décrypte la ligne suivante :
identificateur : 924252 – clé : nSV)ayafjvzA9zXz
Alice transmettra en clair 924252 sur le réseau à destination de Bob.
Il saura alors que la clé de session à utiliser sera nSV)ayafjvzA9zXz.
Alice et Bob communiquerons alors avec cette clé lors de leurs prochaines échanges.
Le tiers parti Ève (qui cherche a espioner Alice et Bob), a la tâche plus difficile. Elle ne sait pas quel puzzle a été
résolu. La meilleure stratégie pour Ève est de résoudre tous les puzzles, ce qui est beaucoup plus coûteux pour elle
que pour Alice.
Exercice 7
1. Si Bob génère 100 puzzles et qu’un puzzle est décrypté en une seconde alors combien de temps Eve mettrat-elle, dans le pire des cas, a décrypter l’ensemble du fichier ?
2. Combien de lignes le fichier de Bob doit-il contenir pour que le décryptage par Eve prenne une semaine ?
.................................................................................................................
.................................................................................................................
.................................................................................................................
Exercice 8
Faire le Jupyter notebook “Puzzle de Merkle”
https://nc-lycees.netocentre.fr/s/e6GT33ycrTEa6Fd
III .B.
L E SYSTÈME RSA
Le système RSA est un système de chiffrement asymétrique basé sur des paires de clés publiques et privées. Son
nom est formé des initiales de ses 3 inventeurs : Ron Riverst cryptologue Américain, Adi Shamir cryptologue Israélien
et Len Adleman cryptologue Américain. Ce système repose sur des théorèmes mathématiques dont le détail dépasse
l’étude que nous en feront en NSI. Toutefois, il peut être interessant d’y jeter un oeil (Lien vers la wikipedia).
Le système RSA consiste en la mise en place d’une paire de clé publique et privée pour chaque participant. Nous
pub
priv
—
noterons KAlice la clé publique d’Alice et KAlice sa clé privée. La notation KAlice
(m) signifie : “chiffrer le message m
avec la clé (publique ou privée) K d’Alice”. La manière de créer ses clé est complexe mais il faut retenir certaines
choses.
Cours : Protocoles sécurisés
Page 5 sur 9
A retenir
!
Lycée Charles
Peguy − Année scolaire 2020-2021
Terminale NSI
— Etant donné un message m, on a
pub
priv
priv
pub
KAlice (KAlice (m)) = KAlice (KAlice (m)) = m
Ce qui signifie que si on chiffre le message avec la clé privée d’Alice puis qu’on chiffre le résultat avec sa clé
publique, on obtient le message initial. Cela fonctionne aussi dans l’autre ordre.
— Au vu des propriétés mathématiques (basées sur les grands nombres premiers), il est impossible de deviner
priv
pub
KAlice en connaissant KAlice .
priv
pub
— Impossible de deviner m en connaisant KAlice (m) ou KAlice (m).
Voici comment Bob procède si il veut envoyer un message à Alice :
pub
1. Alice diffuse sa clé publique KAlice . Par exemple, elle la met sur un page web, ou l’envoie par mail. Cette clé
peut être connue de tous. Par contre elle garde sa clé privée secrète.
pub
2. Bob chiffre son message avec la clé publique d’Alice en effectuant KAlice (m) et l’envoie à Alice.
priv
pub
3. Alice applique sa clé privée au message chiffré : KAlice (KAlice (m)) = m Elle obtient le message de Bob en clair.
Comme on le voit, le système RSA permet de chiffrer des messages sans s’être mis d’accord sur une clé de chiffrement commune. Cependant, les calculs sont assez coûteux. Il n’est pas possible d’utiliser RSA pour de gros volumes
de données ou des flux de communication.
Toutefois, ce problème peut être réglé en utilisant RSA pour se mettre d’accord sur un algorithme et une clé de
chiffrement symétrique. Une fois cela fait les 2 compères peuvent communiquer de manière sécurisée.
Un autre avantage de RSA est sa capacité à servir de système d’authentification.
Exercice 9
Compléter le schéma suivant qui permet d’expliquer comment Alice peut choisir une clé et un protocole de chiffrement symétrique et le transmettre à Bob en utilisant RSA. Vous pouvez vous inspirer de la figure 1.
Réseau
Alice
Bob
Figure 3 – Chiffrement symétrique en utilisant RSA
IV
AUTHENTIFICATION
L’attaque de l’homme du milieu (HDM) ou man-in-the-middle attack (MITM), parfois appelée attaque de l’intercepteur, est une attaque qui a pour but d’intercepter les communications entre deux parties, sans que ni l’une ni
l’autre ne puisse se douter que le canal de communication entre elles a été compromis.
Voici le déroulé d’une attaque de ce type :
Carole cherche a intercepter les message entre Alice et Bob. Admettont que Carole soit en mesure de modifier les
échanges entre Alice et Bob.
1. Bob envoie sa clé publique à Alice.
Cours : Protocoles sécurisés
Page 6 sur 9
Lycée Charles Peguy − Année scolaire 2020-2021
Terminale NSI
2. Carole l’intercepte, et renvoie à Alice sa propre clé publique (Cp) en se faisant passer pour Bob.
3. Lorsque Alice veut envoyer un message à Bob, elle utilise donc, sans le savoir, la clé publique de Carole. Alice
chiffre le message avec la clé publique de Carole et l’envoie à celui qu’elle croit être Bob.
4. Carole intercepte le message, le déchiffre avec sa clé privée (Cs) et peut lire le message. Puis elle chiffre à
nouveau le message avec la clé publique de Bob (Bp), après l’avoir éventuellement modifié.
5. Bob déchiffre son message avec sa clé privée, et ne se doute de rien puisque cela fonctionne.
Ainsi, Alice et Bob sont chacun persuadés d’utiliser la clé de l’autre, alors qu’ils utilisent en réalité tous les deux la
clé de Carole.
Réaliser le schéma de l’attaque ci-dessus.
Alice
Carole
Bob
Figure 4 – Attaque de l’homme du milieu
Il est donc nescessaire de pouvoir identifier la personne avec laquelle nous échangeons des informations.
IV .A.
C ERTIFICATS ET TIERS DE CONFIANCE
Pour être certain de communiquer avec la bonne “personne” (ou site...), il est nescessaire qu’un organisme “sérieux” certifie l’identitée de la personne. On peut faire l’analogie avec l’état Français qui certifie que vous êtes bien
la bonne personne à travers votre carte d’identité.
Les communications sur internet fonctionnent de la même manière, l’entité qui veut prouver son identité présente
un certificat. Ce dernier est délivré par une autre entité appellée tiers de confiance. Si Alice, qui souhaite correspondre avec BobBanque, veut s’assurer que c’est bien Bob le propriétaire du site, elle devra lui demander un
certificat qui est délivré par un tiers de confiance, ici cela sera Léo (En vérité, les autorités de certification sont des
organismes enregistrés et certifiés auprès d’autorités publiques et/ou de gouvernance de l’Internet).
Voici les différentes étapes à réaliser :
1. Bob contacte Léo. Léo vérifie que Bob est bien le propriétaire du site BobBanque (il vérifie qu’il peut administrer le site, qu’il possède les documents légaux...)
2. Une fois que les vérifications sont faites, Léo utilise sa clé privée pour signer la clé publique de Bob :
privée
pub
s = KLéo (KBob )
Un tel fichier s s’appelle un certificat.
pub
3. Alice veut se connecter à BobBanque. Lors de sa connection, elle demande la clé publique de Bob Kbob et le
certificat s.
pub
4. Alice récupère alors la clé publique de Léo : KLéo puis elle calcule :
pub
pub
privée
pub
pub
KLéo (s) = KLéo (KLéo (KBob )) = KBob
5. Alice compare alors le résultat de son calcul avec la clé founie par Bob. Ensuite il y a 2 cas :
pub
— Soit la clé de Bob correspond avec KLéo (s). Dans ce cas, Bob est bien celui qui a été certifié sont site
auprès de Léo.
— Sinon, c’est qu’une tierce personne a tenté d’usurper l’identité de Bob avec une fausse clé publique,
comme dans l’attaque de l’homme du milieu.
6. Si l’identité est confirmée, Alice et Bob peuvent initier un échange en utilisant la clé publique de Bob pour
mettre en place un chiffrement symétrique.
Cours : Protocoles sécurisés
Page 7 sur 9
Lycée Charles Peguy − Année scolaire 2020-2021
IV .B.
Terminale NSI
P ROTOCOLE 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).
Client
Le client
emet une
requête
Le client
reçoit la
réponse
Réseau
Serveur
Requête HTTP
Le serveur recçoit la
requête
Réponse HTTP
Figure 5 – Protocole HTTP
Le protocole HTTP pose 2 problèmes en termes de sécurité informatique :
— Un individu qui intercepterait les données transitant entre le client et le serveur pourrait les lire sans aucun
problème (ce qui serait problématique notamment avec un site de e-commerce au moment où le client envoie
des données bancaires)
— 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.
HTTPS est donc la version sécurisée de HTTP, le but de HTTPS est d’éviter les 2 problèmes évoqués ci-dessus.
HTTPS s’appuie sur le protocole TSL (Transport Layer Security) anciennement connu sous le nom de SSL (Secure
Sockets Layer)
Comment chiffrer les données circulant entre le client et le serveur ?
Les communications vont être chiffrées grâce à une clé symétrique. Problème : comment échanger cette clé entre le
client et le serveur ? Simplement en utilisant une paire clé publique / clé privée !
Voici le déroulement des opérations :
1. Le client envoi un message initial (nommé “Hello”) ainsi que des options. En particulier, le client indique
quels algorithmes cryptographiques il peut utiliser.
2. Le serveur envoie sa réponse, contenant le certificat (X.509) contenant sa clé publique, signée par une autorité
de certification.
3. Le client vérifie le certificat au moyen de la clé publique de l’autorité de certification. Il procède à d’autres
vérifications, comme le certificat est-il encore valide...
4. Le client et le serveur conviennent d’une clé de session pour un algorithme de chiffrement symétrique.
5. Le serveur est authentifié par le client, et les deux ont convenus d’une clé de session. Ils peuvent échanger de
manière sûre des messages du protocole HTTP en les chiffrants.
Tous ces aspects sont observables en inspectant l’icône du cadenas se trouvant dans la barre d’adresse du navigateur
WEB.
Exercice 10
Schématisez la mise en place d’une connexion HTTPS dans la figure 6.
Cours : Protocoles sécurisés
Page 8 sur 9
Lycée Charles Peguy − Année scolaire 2020-2021
Client
Terminale NSI
Réseau
Serveur
Figure 6 – Protocole HTTPS
Figure 7 – Connexion non sûre
Certains problèmes peuvent survenir lors de la “poignée de main” TLS. Le plus courant est l’utilisation par le
serveur d’un certificat non signé ou signé par une entité inconnue. Dans ce cas, vous obtiendrez une fenêtre similaire
à celle de la figure 7.
La présence de ce message signifie que la connexion est chiffrée mais pas authentifiée. Le serveur WEB peut appartenir à un utilsateur malveillant effectuant une attaque de l’homme du milieu. En pratique, ce phénomène se
produit aussi quand le certificat n’est plus valide, par exemple, si l’administrateur n’a pas renouvellé à temps son
certificat. En cas d’absence de chiffrement, il est recommandé de ne pas saisir de mots de passes ou d’autres informations sensibles.
Cours : Protocoles sécurisés
Page 9 sur 9
Téléchargement