{{tag>cours mooc informatique sécurité}}
====== Notions de cryptographie ======
Module 2, Unité 5 du cours [[cours:informatique:securite:secnumacademie:000_start|SecNum Académie]] proposé par l'ANSSI.
===== Transcription de la vidéo d'introduction =====
Au travers des quatre premières unités de ce module dédié à la sécurité de l'authentification vous avez découvert le principe de l'authentification et vu comment ce mécanisme permet de contrôler l'accès à vos données au travers notamment de l'utilisation de mots de passe sécurisés.
Vous avez également pris connaissance de solutions qui permettent de gérer la multitude de mots de passe à retenir comme le coffre fort de mots de passe et le point d'authentification unique.
Vous avez aussi découvert différentes règles de sécurité à respecter sur vos logiciels, navigateurs, ordinateurs ou encore téléphones mobiles.
Nous allons maintenant nous intéresser à la sécurisation du stockage et de l'échange de vos données les plus sensibles.
Vous l'aurez compris en découvrant le titre de cette unité, les méthodes permettant de conserver et partager vos données de la manière la plus confidentielle et sécurisée possible sont celles reposant sur la **cryptographie**.
Cryptographie, cryptologie, cryptosystèmes, décryptage, chiffrement etc. Cette unité va nous aider à dépasser la complexité de ce vocabulaire, à mieux l'appréhender et introduire les grandes notions de la cryptographie.
Commençons par un peu étymologie. La **cryptologie est la science du secret**. Elle regroupe deux grandes disciplines:
- La **cryptographie** qui consiste à protéger des messages à l'aide de clés secrètes.
- La **cryptanalyse** qui concerne l'analyse et la découverte de ce secret et qui désigne autant le travail d'un attaquant qui tenterait de trouver ce secret que le travail des experts qui s'assurent de la robustesses des mécanismes cryptographiques.
D'abord réservé aux usages militaires et diplomatiques, la cryptologie fait aujourd'hui partie intégrante de notre quotidien. Revenons sur quelques fait historiques de la cryptologie:
* La première trace connue de l'utilisation de cette science remonte à l'Antiquité : un potier grave sa recette secrète sur une tablette d'argile, en supprimant des consonnes et en altérant les mots.
* De l'Antiquité au Moyen Age, les différentes civilisations vont développer différents procédés et méthodes rendant illisibles leurs messages militaires et diplomatiques.
* Ces procédés vont continuer à évoluer au cours de l'histoire ( Chiffre de Vigenère, Chiffre de Mary Stuart, Principe de Kerckhoffs ) jusqu'à jouer un rôle considérable lors des deux guerres mondiales (Enigma).
Avec la démocratisation d'Internet, les besoins de protection des communications et des transactions sur les réseaux de télécommunications se sont considérablement accrus.
Aujourd'hui incontournable, cette science du secret offre des possibilité en ce qui concerne la sécurisation des échanges de données sans équivalent à ce jour.
La cryptologie, à travers ces procédés et champs d'application est aujourd'hui partout et parfois là où on ne l'attend pas : messagerie électronique, e-commerce, procédures en ligne, cartes à puces sont autant d"applications que vous utilisez au quotidien et qui recourent à la cryptographie.
Le chiffrement est un des mécanismes de cryptographie les plus répandus. Dans cette unité, nous illustrerons au travers d'exemples concrets ce qu'est le chiffrement et comment cette solution permet de rendre des données illisibles pour une personne non autorisée.
La cryptographie est utilisée dans de nombreux secteurs d'activité professionnelle. Elle fait appel à des savoirs faire spécifiques, voir à l'intervention d'experts spécialisés dans la mise en œuvre de ces solutions et l'accompagnement à ces usages.
Toutefois les experts ne peuvent garantir à eux seuls la cybersécurité des institutions, des entreprises et des particuliers sans une prise de conscience des enjeux du numérique et l'assimilation de bonnes pratiques.
A cet effort de sensibilisation, s'ajoute l'entretien de relations de confiance avec les personnes et entités concernées par ces questions, en tant que concepteurs utilisateurs finaux de ces solutions.
Nous vous invitons au travers de cette unité à découvrir d'un peu plus près les notions de cryptographie , les différentes formes qu'elle peut prendre, les principes de ses mécanismes ainsi que ses usages.
===== Introduction =====
La cryptographie peut apporter une solution supplémentaire à la sécurisation de vos informations les plus sensibles.
* Mais qu’est-ce que la cryptographie ?
* Comment fonctionne-t-elle ?
* Pourquoi et comment pouvez-vous l’utiliser au quotidien ?
Dans cette unité, nous allons tenter de répondre à quelques-unes de ces questions et vous donner quelques bonnes pratiques supplémentaires qui permettront d’aller encore plus loin dans la sécurisation de vos données.
===== Principe général =====
==== Le Chiffrement ====
Commençons notre découverte de la cryptographie avec le chiffrement.
Le chiffrement est le mécanisme consistant à protéger une donnée en la rendant inintelligible. Nous allons donc principalement nous intéresser à la confidentialité de la donnée.
L’opération inverse, le déchiffrement, n’est possible que si l’on dispose d’un élément secret appelé « clé ».
Par convention, le message à cacher est dit « message clair » et le résultat du chiffrement s'appelle « message chiffré ».
Autrement dit, le chiffrement est une action qui permet de transformer un message clair en un message chiffré grâce à une clé (unique) afin qu’il ne soit compréhensible que par les personnes qui connaissent cette clé. Cela va permettre d’envoyer, de manière sécurisée, un message à un destinataire par des moyens considérés comme non sécurisés, c’est-à-dire un canal sur lequel les données en transit sont susceptibles d’être lues et modifiées.
Le chiffrement peut être un élément de défense en profondeur. Par exemple, si un message est intercepté, ou tout simplement perdu, celui-ci est quand même protégé car seules les personnes possédant la clé peuvent le lire.
Notez que le verbe « crypter » ne doit pas être utilisé pour dire « chiffrer ». Ce terme provient d’un anglicisme et n'existe pas en français. En revanche, « décrypter » existe et n'a pas le même sens que « déchiffrer ».
On parle de **décryptage** ou de décryptement lorsque l’on tente de retrouver un texte clair sans connaître la clé (action de cryptanalyse).
Vous comprenez donc pourquoi le terme « crypter » n’est pas utilisé. Crypter un message correspondrait en effet à transformer un message clair en message chiffré avec une clé que l’on ne connait pas…
De l’antiquité à nos jours, les chefs d’armées ont utilisé la cryptographie pour faire passer leurs messages sans qu’ils soient compréhensibles par leurs ennemis en cas d’interception.
En raison des besoins accrus de protection des communications et des transactions sur les réseaux de télécommunications et sur Internet, la cryptographie n’est plus réservée aujourd’hui aux usages militaires et/ou gouvernementaux.
Tout le monde peut en avoir besoin, par exemple pour l’envoi de courriers électroniques ou d’informations via Internet.
Peut-être redoutez-vous que vos courriels soient comme des cartes postales ? Que quiconque se trouvant sur leur chemin puisse les lire, parce qu’elles n’ont pas d’enveloppe pour cacher leur contenu ? Et qu’il en est de même pour les informations que vous saisissez lors de vos achats sur Internet par exemple ?
Nous l’avons vu dans le module précédent, pour savoir si vos authentifications et données sensibles sont protégées d’éventuelles interceptions, il faut vérifier que les protocoles utilisés pour faire transiter vos informations sur Internet sont sécurisés (HTTPS, IMAPS, SMTPS, etc.).
==== Usages de la cryptographie ====
Nous l’avons vu, le **chiffrement permet de transformer**, au moyen d’un algorithme de chiffrement, **un message clair en un message chiffré**.
C’est grâce à ce procédé, que les protocoles sécurisés permettent à deux interlocuteurs d’échanger des informations de manière **confidentielle** (dès lors qu’ils possèdent la clé leur permettant de chiffrer et/ou de déchiffrer leurs messages).
Au-delà de la confidentialité de l’échange, nous allons voir que la cryptographie sert aussi à l’**authentification** et à la **signature (numérique)** des messages.
Les **protocoles sécurisés** (HTTPS, IMAPS, SMTPS, etc.) utilisent les **mécanismes de cryptographie** pour répondre à **4 objectifs**.
Dans le cadre du traitement, du stockage ou de la transmission sécurisée de données, les objectifs de la cryptographie sont :
- **Confidentialité** : Le message chiffré peut être récupéré par une personne non autorisé mais il reste illisible pour cette personne : elle ne peut pas retrouver le message clair d'origine.
- **Intégrité** : L'information ne peut être modifiée par une personne non autorisée.
- **Authenticité** : L'information est attribuée à son auteur légitime.
- **Non-répudiation** : L'information ne peut faire l'objet d'un déni de la part de son auteur.
==== Chiffre de Vernam ====
Vous imaginez bien que le décalage de 3 lettres dans un alphabet ne va pas suffire pour **protéger efficacement un message**.
Le but du chiffrement est de garantir la **confidentialité** entre l’émetteur d’un message et le destinataire de ce message.
Si de nombreux romans ont imaginé ou fantasmé sur le moyen permettant de garantir une confidentialité absolue, on ne l'a encore jamais vraiment trouvé ! Il existe mais il n’est pas pratique du tout.
En effet, en 1917, **Gilbert Vernam** a inventé un système de chiffrement qui est **théoriquement impossible à casser**.
Le procédé est simple mais il présente d’importantes difficultés de mise en œuvre.
D’une façon schématique, le chiffre de Vernam (ou masque jetable) consiste à combiner chaque caractère du message clair avec une clé aléatoire et secrète (en décalant chaque caractère d’un nombre donné par exemple).
^ message clair ^ H ^ E ^ L ^ L ^ O |
| | 7 | 4 | 11 | 11 | 11 |
^ masque jetable ^ +1 ^ +10 ^ +2 ^ +15 ^ +3 |
| | 8 | 14 | 13 | 26 | 17 |
^ message chiffré ^ I ^ O ^ N ^ A ^ R |
Pour illustrer le propos, le message "HELLO" devient "IONAR" en le combinant avec la clé « 1 10 2 15 3 ».
Lorsque le message est reçu, il suffit d’appliquer le même décalage en sens inverse.
Pour pouvoir mettre en place le chiffrement de Vernam, il est nécessaire que la **longueur de la clé** utilisée soit **égale à la longueur du message**, que cette clé soit parfaitement aléatoire et qu’elle ne soit jamais utilisée plus d’une fois.
**Il est donc compliqué de mettre en place un tel système**.
C'est le cas du « téléphone rouge » (téléphone reliant la Maison Blanche au Kremlin). Mais il nécessite d'avoir au préalable échangé de façon sûre une clé très longue avec chaque interlocuteur et de conserver celle-ci de façon sécurisée.
S'il est envisageable dans le cas de relations diplomatiques d'envoyer deux gendarmes, par avion, pour escorter un disque dur dans lequel aura été stockée une clé aléatoire générée par du matériel adéquat, ce n'est pas un déploiement réaliste et pragmatique pour l'achat d'un livre sur un site en ligne.
==== Le problème de protection de la clé ====
Le principe de Kerckhoffs (cryptologue militaire néerlandais, 1835-1903) précise que la sécurité du chiffrement doit résider exclusivement dans la protection de la clé.
C’est-à-dire que même si un attaquant arrivait à déterminer qu’un message est chiffré à l’aide du chiffre Vernam que nous venons de voir, cet adversaire ne pourrait tout de même pas décrypter le message tant qu’il n’aurait pas trouvé la clé correspondante.
On dit alors que le chiffre de Vernam respecte le principe de Kerckhoffs.
La protection d’une donnée est ainsi ramenée à la protection d'une clé. La protection en confidentialité de la donnée découlera donc de la protection en confidentialité de la clé.
**Principe de Kerckhoffs : La sécurité du chiffrement doit reposer exclusivement sur la protection de la clé de chiffrement alors comment protéger la clé?**
Nous allons voir maintenant comment cette clé peut être protégée, au travers de la présentation des deux grands champs de la cryptographie : la cryptographie symétrique (plus ancienne) et la cryptographie asymétrique (qui date des années 1970).
===== Chiffrement symétrique =====
La cryptographie symétrique est également appelée cryptographie à clé secrète. Une même clé secrète est partagée entre deux interlocuteurs, et ceux-ci doivent connaître la clé pour pouvoir communiquer.
Avec ce procédé, il est donc nécessaire de disposer d'un moyen sûr pour échanger cette clé.
Les opérations sont dites symétriques. La même clé est utilisée à la fois pour chiffrer et déchiffrer.
Pour illustrer le procédé de la cryptographie symétrique, prenons l’exemple d’un coffre sécurisé par une serrure.
Si vous voulez y cacher un secret, il vous faudra posséder la clé vous permettant d’ouvrir le coffre pour y déposer votre secret et ensuite le refermer avec cette même clé.
Maintenant, imaginons que vous souhaitiez partager votre secret avec quelqu’un en lui donnant accès au coffre. Il vous faut pour cela transmettre la clé à cette autre personne. Et pour que vous soyez seuls à connaître le contenu du coffre, la clé doit donc rester secrète.
==== La force brute : exemple du temps de calcul ====
Comme pour les mots de passe, les algorithmes symétriques ont une sécurité qui dépend de la longueur de la clé utilisée.
L'attaque la plus simple pour récupérer la clé est l’attaque par force brute qui, comme nous l’avions vu dans le module précédent, vise à énumérer toutes les clés possibles. Cette attaque, bien que rudimentaire, permet de **retrouver la clé de façon garantie**.
Pour augmenter le niveau de sécurité face à ce type d’attaque, il est nécessaire d’augmenter la **longueur de la clé** qui permettra de rendre impossible la récupération de la clé en un temps raisonnable.
En cryptographie, la longueur de la clé se **mesure en bits**.
Par analogie avec le code d'un cadenas à combinaison à 4 chiffres qui peut prendre 10 000 valeurs (de 0000 à 9999), une clé sur 1 bit peut prendre deux valeurs (0 ou 1), sur 2 bits elle pourra prendre 4 valeurs (00, 01, 10 ou 11), sur 3 bits ce sera 8 valeurs etc.
^ Longeur en bits ^ Nombre de combinaisons |
| 1 bit | 21 = 2 (0 ou 1) |
| 2 bits | 22 = 4(00, 01, 10, 11) |
| 3 bits | 23 = 8 |
| 4 bits | 24 = 16 |
| ... | ... |
| 128 bits | 4x1038 |
Pour une clé de 128 bits ce sera donc 2128 possibilités (environ 4x1038, c’est-à-dire un 4 suivi de 38 zéros !), et pour une clé de 256 bits ce sera donc 2256 possibilités (environ 1077, c’est-à-dire un 1 suivi de 77 zéros !).
Avec 128 bits on atteint des centaines de milliards de milliards de milliards de milliards de combinaisons.
Afin de comprendre ce que représente cette complexité, imaginons un ordinateur capable de tester 1 milliard de clés à la seconde.
En utilisant 1 milliard d’ordinateurs de cette sorte pour une recherche exhaustive sur 128 bits, cela prendrait plus de 11 000 milliards d’années !
Détail du calcul :
60 secondes x 60 minutes x 24 heures x 365 jours = 31,54 millions de secondes par an
109 ordinateurs x 109 clés à la seconde x 2128 nombre de possibilités / 31,54 millions de secondes par an = + de 11 000 milliards d’années
Retenez que plus la longueur de la clé (le nombre de bits) est grande, plus le niveau de sécurité sera élevé.
==== Les problèmes de la transmission de la clé secrète ====
Les opérations de chiffrement et de déchiffrement symétriques sont rapides et simples à implémenter sur du matériel informatique, et permettent de répondre aux besoins de performance souvent indispensable pour les entreprises.
Néanmoins, elles présentent certaines limites.
La première limite réside dans la transmission de la clé secrète, sur laquelle repose entièrement la protection du message.
Si le canal de transmission de la clé n’est pas suffisamment sécurisé et qu’un attaquant réussit à s’en emparer avec le message chiffré, il pourra déchiffrer ce dernier et accéder à son contenu en clair.
La deuxième limite est qu’il est nécessaire d’avoir une clé pour chaque couple d'interlocuteurs.
Si Alice, Bob et Martin sont amenés à échanger entre eux, il faudra 3 clés uniques dans le système pour maintenir les échanges confidentiels (une clé entre Alice et Bob, une entre Bob et Martin et enfin une entre Alice et Martin).
Si maintenant David veut pouvoir dialoguer lui aussi, il faudra 3 clés de plus.
Imaginez combien de clés seraient nécessaires si 6, 7 ou 8 personnes voulaient s’échanger de l’information ?
On réalise très vite qu'à large échelle la génération, la distribution et la conservation de ces clés posent problème.
===== Chiffrement asymétrique =====
La cryptographie symétrique pose la problématique de la **distribution des clés**.
Afin de résoudre ce problème, des travaux débutés en 1976 par Diffie et Hellmann puis par Rivest, Shamir et Adleman ont proposé une **nouvelle approche** de la cryptographie, la **cryptographie asymétrique**.
Cette approche est basée sur l’utilisation de 2 clés, une clé publique et une clé privée qui sont dépendantes l’une de l’autre.
La clé « publique » est une clé qui permet de chiffrer le message.
La clé « privée » est une clé qui permet, quant à elle, de déchiffrer le message.
Comment la cryptographie asymétrique fonctionne-t-elle ?
Nous venons de voir que cette forme de cryptographie repose sur l’utilisation de deux clés, le message est chiffré avec une clé publique et ne peut être déchiffré qu’avec la clé associée.
Pour comprendre son fonctionnement, reprenons l’analogie du coffre vu précédemment.
Imaginons que le coffre ne puisse être utilisé qu’une seule fois et qu’il se ferme au moyen d’un cadenas.
Si vous souhaitez confier un secret au coffre doté de ce système de fermeture, nul besoin de posséder la clé du cadenas puisqu’il suffit de le refermer.
Ce cadenas refermable représente la clé publique qui permet de chiffrer le message et qui vous a préalablement été transmis par votre interlocuteur pour échanger en toute sécurité avec lui.
Ainsi, seul votre interlocuteur pourra accéder au contenu du coffre grâce à une clé qu’il est seul à posséder et qui est aussi l’unique moyen de déverrouiller le cadenas et donc d’ouvrir le coffre : sa clé privée.
Prenons maintenant un exemple qui détaille le fonctionnement de la cryptographie asymétrique :
Alice veut envoyer un message à Bob.
Bob envoie à Alice la clé publique qui va lui permettre de chiffrer le message. Alice chiffre le message avec la clé publique de Bob et l'envoie sur le réseau.
Ce qui change ici, c’est que seul Bob, qui possède la clé privée correspondant à la clé publique qu’il a faite parvenir à Alice, pourra déchiffrer le message. La clé privée n’ayant pas été transmise entre Alice et Bob, elle n’est pas susceptible d’être interceptée.
==== les bases mathématiques ====
Sur quoi repose le **lien de dépendance** entre la clé publique et la clé privée ?
Les 2 clés sont reliées par une équation mathématique, reposant sur un **problème difficile à résoudre**.
Cette équation permet de générer facilement la
« bi-clé » mais rend impossible le calcul permettant de retrouver la clé privée à partir de la clé publique, en un temps raisonnable.
==== Le chiffrement hybride ====
Le chiffrement asymétrique repose sur des opérations plus complexes, dont les performances sont limitées. Il permet donc d’échanger efficacement un petit volume de données, mais de façon sûre avec un interlocuteur.
À l'opposé, le chiffrement symétrique permet de chiffrer de façon rapide des volumes importants de données mais soulève le problème de l'échange des clés secrètes.
L'approche naturelle est donc de combiner ces deux méthodes de chiffrement. Cette technique est connue sous le nom de « chiffrement hybride ».
Avec cette technique, on commence par utiliser le chiffrement asymétrique pour échanger non pas un message mais une clé symétrique unique (la clé secrète), qui est ensuite utilisée pour chiffrer symétriquement les futurs échanges.
===== Signature électronique, certificats et IGC =====
==== L'attaque man in the middle ====
Le chiffrement asymétrique n’est pas à l’abri d’une attaque informatique.
Il reste en effet vulnérable à une attaque dite de l'homme du milieu (ou man in the middle attack - MitM) qui a pour but d'intercepter les communications entre deux parties, sans que ni l'une ni l'autre ne puissent se douter que le canal de communication a été compromis.
Reprenons notre exemple.
Si Charlie souhaite intercepter les messages échangés entre Alice et Bob, il peut le faire mais ceux-ci étant chiffrés il ne pourra pas les lire.
Supposons maintenant qu’Alice récupère la clé publique de Bob par un email. Si cet échange n'est pas protégé en intégrité, Charlie peut remplacer la clé publique envoyée par Bob par la sienne. Lorsqu’Alice chiffrera son message et l'enverra à Bob, Charlie pourra déchiffrer celui-ci en utilisant sa clé privée.
Rien ne l'empêche ensuite de chiffrer ce message en utilisant la clé publique légitime de Bob et de lui envoyer au nom d’Alice.
Ni Alice ni Bob ne détecteront la manipulation et Charlie sera en mesure de lire mais aussi de modifier le message envoyé. Il peut procéder de la même manière pour la réponse renvoyée.
On constate donc que la clé publique doit être transmise de manière intègre (c’est-à-dire non modifiée) à ses correspondants.
==== Déplacement du problème à une autorité ====
Les mécanismes de cryptographie permettent de déplacer le problème de protection d’un message à la protection d’une clé.
Grâce au **chiffrement symétrique**, on ramène le problème à l’envoi sécurisé d’une clé symétrique (qui servira à chiffrer un ou plusieurs messages).
Grâce au **chiffrement asymétrique**, on ramène le problème à l’envoi intègre d’une clé publique (qui peut être utilisé pour protéger les clés symétriques à usage unique).
Une manière de transmettre la clé publique de façon intègre est de rencontrer physiquement son correspondant à cet effet.
Cependant, cette méthode n’est pas toujours possible !
D’autres mécanismes de cryptographie asymétrique apportent une solution à ce problème : la **signature électronique**, les **certificats** et les **Infrastructures de Gestion de Clés**.
Grâce à ces mécanismes, il est possible d’associer une identité à une clé publique, ce qui va permettre de déplacer le problème à la distribution de la clé publique d’une autorité.
Ce procédé est celui utilisé par les navigateurs et les systèmes d’exploitation.
==== La signature ====
il est indispensable d'obtenir la clé publique d'une source de confiance et de façon intègre afin d'**éviter une attaque par l’homme du milieu**.
Comment est-il possible de s’assurer qu’une donnée est transmise de manière intègre ?
Pour assurer l’intégrité de la transmission d’une donnée, deux autres procédés de la cryptographie asymétrique doivent être utilisés, **la signature** et le **certificat numérique**.
Le procédé utilisé pour signer une donnée (message, clé publique, etc.) est sensiblement différent de celui utilisé pour chiffrer un message.
Une clé privée est utilisée pour signer la donnée. Une clé publique est utilisée pour vérifier la signature et donc s’assurer que la donnée est intègre.
Ainsi, le destinataire de la donnée peut avoir la certitude que celle-ci correspond à ce qui a été envoyé par la personne qui possède la clé privée. Ce message n’a donc pas été altéré lors de sa transmission.
Si à ce stade la signature numérique permet de garantir l’intégrité de la donnée (la clé publique de Bob dans le cas de notre exemple), elle ne permet néanmoins pas encore de garantir son authenticité.
En effet, comment peut-on s’assurer que le couple clé publique/clé privée utilisé pour signer le document appartient bien à notre correspondant ?
**C’est là qu’entre en jeu le certificat**.
Un certificat est un document qui contient plusieurs informations, notamment :
* Des **informations d’identification** : comme le nom, l’adresse électronique, le lieu, la société, … Ce champ permettra à Alice de savoir qu’elle a affaire au certificat de Bob.
* Une clé publique, qui pourra être utilisée par Alice pour envoyer des messages à Bob.
* Une signature, qui permet de s’assurer que cette association entre l’identité (Bob) et la clé publique n’a pas été altérée.
Les données qui vont être signées sont les éléments mentionnés précédemment, à savoir l’identité de Bob, et sa clé publique.
La signature doit être réalisée à l’aide de la clé privée d’un tiers de confiance.
Mais alors **quel tiers de confiance utiliser** pour signer et valider la clé publique de Bob ? C’est ce que nous allons voir avec les Infrastructures de Gestion des Clés (**IGC**).
Pour aller plus loin : « Si la clé privée de Bob est utilisée pour signer sa clé publique, on n’a aucun moyen de vérifier que le certificat est bien celui de Bob, puisque l’attaquant peut lui-même émettre un certificat équivalent. On appelle cela des certificats auto-signés, aucune confiance ne peut être mise dans ce type de certificat. »
==== Le cas de l'IGC ====
Une infrastructure de gestion de clés (**IGC**) (Public Key Infrastructure en anglais PKI) doit permettre de résoudre le problème de l’association entre une identité (Bob) et une clé publique (clé de Bob). En effet, c’est cette autorité qui va signer le certificat de Bob, et donc valider que la clé publique de Bob est bien la sienne.
Un attaquant réalisant une attaque de l’Homme du Milieu ne pourra pas faire passer sa clé pour celle de Bob puisqu’il faudrait, pour signer le certificat, qu’il ait accès à la clé privée de l’IGC.
Pour vérifier la signature du certificat de Bob, Alice va utiliser la clé publique de l’IGC.
En faisant confiance à cette autorité, on va faire confiance à tous les certificats qui sont signés par cette dernière.
L’IGC est donc en charge de la production et la gestion des certificats.
**Tout certificat est signé par une autorité de certification (AC)** de cette IGC et toute personne détenant la clé publique de l’AC peut vérifier l’authenticité du certificat signé.
Il n’y a plus que quelques « détails » à régler pour l’AC :
* **Comment valider les données d’un certificat avant de le signer** ?
* **Comment distribuer et authentifier la clé publique de l’AC** ?
La réponse à la première question est complexe. Il s’agit du cœur du métier d'une AC.
*AE = Autorité d’Enregistrement
Pour la seconde question, toute application utilisée qui a besoin de valider les certificats, comme les navigateurs, contient une liste d’autorités dites « **Autorités racines de confiance** ».
Cette base est la source de la confiance des échanges sur Internet.
De manière générale, elle est stockée de façon persistante dans le navigateur et au niveau du système d'exploitation, dans ce qu’on appelle un **magasin de certificats**.
Dans le cas d’une IGC interne à une organisation, le certificat de l’autorité de certification doit également être ajouté aux magasins de certificats.
Les différents mécanismes cryptographiques permettent de **déplacer le problème de protection d’un message**.
* Grâce au **chiffrement symétrique**, on ramène le problème de protection du message à l’envoi sécurisé d’une clé symétrique.
* Grâce au **chiffrement asymétrique**, on ramène le problème à l’envoi intègre d’une clé publique.
* Grâce aux **certificats et IGC**, on ramène le problème à la distribution de la clé publique d’une autorité.
===== Conclusion =====
Pour conclure cette unité sur les bases de la cryptographie, retenons que **deux formes différentes** de cryptographie existent et que pour plus d’efficacité celles-ci sont utilisées de façon **combinée**.
Les opérations de chiffrement et de déchiffrement de la **cryptographie symétrique** sont **rapides** et **simples** à implémenter.
Elles présentent une certaine limite : la génération, la distribution et la conservation de ses clés posent problème.
Les opérations de la cryptographie asymétrique sont beaucoup plus lentes et il n'est possible de chiffrer que de petits volumes d'information.
L’utilisation d’une clé publique permet de résoudre le problème de la transmission de la clé et l’usage d’un certificat permet d’authentifier de façon sûre cette clé publique.
Pour en savoir plus sur la cryptologie, vous pouvez consulter le document en ligne de l’ANSSI à l’adresse suivante : https://www.ssi.gouv.fr/particulier/guide/crypto-le-webdoc/
Au travers de ce cours sur la cryptographie et de ce module sur l’authentification, nous avons étudié les différentes solutions qui permettent de garantir la protection des données et leurs échanges.
Dans le prochain module de ce MOOC, nous allons nous intéresser à l’utilisation d’Internet :
* Qu’est-ce qu’Internet ?
* Comment fonctionne-t-il ?
* Mais surtout quelles sont les cybermalveillances qui l’entourent et quelles sont les bonnes pratiques que vous devez adopter lorsque vous manipulez des fichiers en provenance d’Internet et de votre messagerie électronique ?