Le mot de passe est aujourd’hui le mode d’authentification le plus utilisé, mais nous avons pu voir que son utilisation n'était pas exempte de risque.
Piratage facilité par des outils, divulgation par ingénierie sociale, ou encore faiblesse lors de sa création sont autant de risques à prendre en compte.
Il est cependant plus que jamais essentiel de bien sécuriser son mot de passe car il est souvent l’unique moyen de protection de vos données.
Pour rappel, lorsqu’un mot de passe apporte un niveau de sécurité suffisant, on parle de mot de passe fort.
C'est à dire qu'il est difficile à découvrir par un attaquant dans un temps raisonnable, à l'aide d'outils automatisés de recherche qui mettent en œuvre les différentes techniques d'attaque vues précédemment.
Au regard des capacités techniques actuelles des équipements informatiques, la taille d'un mot de passe est idéalement d'au moins 10 caractères en s’autorisant à utiliser un éventail large de caractères (majuscules, minuscules, chiffres et caractères spéciaux).
Attention aux règles de composition toutes faites et notez que plus vous utiliserez un éventail large de caractères, mieux votre mot de passe sera protégé.
Pour 10 caractères numériques, il existe 10 milliards de possibilités.
Pour 10 caractères quelconques parmi le jeu de 90 caractères listés à l’écran, il existe 35 milliards de milliards de possibilités.
Ce qui, vous le comprenez, augmentera considérablement le temps nécessaire à un attaquant pour découvrir votre mot de passe, même en utilisant des outils automatisés.
Nous vous déconseillons de remplacer des caractères de mots du dictionnaire par des caractères spéciaux ou de simplement ajouter des signes de ponctuation en fin de mot.
Une utilisation « forcée » des caractères spéciaux n’apporte pas de valeur ajoutée.
Pour créer un mot de passe fort, il est donc recommandé de suivre ces quelques règles d'or :
L’objectif doit être de rendre le mot de passe difficile à deviner, y compris à partir de données personnelles.
En cas de compromission d’un service ou de sa base de données, il est nécessaire de disposer d’un moyen de changer son mot de passe.
Lorsque vous créez un mot de passe, il est important que vous repériez la procédure qui vous permettra de le changer en cas de problème.
Votre service informatique peut vous imposer de changer régulièrement votre mot de passe. Idéalement vous devriez choisir un nouveau mot de passe à chaque fois. En effet, si vous vous contentez d’ajouter un compteur à votre mot de passe, et qu’un attaquant découvre votre ancien mot de passe, il lui sera très aisé de découvrir celui en cours (exemple : feEgIsR#c1, feEgIsR#c2, feEgIsR#c3, etc.).
C’est pourquoi il n’est pas recommandé de forcer les utilisateurs à changer de mot de passe trop fréquemment.
Vous vous demandez certainement comment retenir un mot de passe tel que « Pa_u5W4?MG » ?
Pour le retenir il sera forcément nécessaire de l'écrire quelque part ou de le réinitialiser à chaque utilisation en répondant à la question secrète : le nom de mon animal de compagnie par exemple.
Mais ceci serait une erreur puisque nous l’avons vu, l’écrire ou utiliser une question secrète présentent des risques en terme de divulgation.
En revanche, il est possible de créer des mots de passe forts dont on peut se souvenir facilement grâce à quelques méthodes et moyens mnémotechniques.
Pour cela, il est conseillé de définir une phrase de passe.
Le principe de base est de prendre plusieurs mots au hasard, disons quatre pour les exemples suivants, puis de les concaténer.
Par exemple :
« Lunettes:Crayon:Poste:Chemin » ou bien encore « clavier?travail.fenetre:arbre ».
Ces mots facilement mémorisables sont en revanche difficilement trouvables par un individu malveillant.
La phrase de passe peut également être une vraie phrase assez longue et ponctuée, comme par exemple « Vive les MOOC ! On apprend beaucoup », mais la saisir fréquemment peut finir par être fastidieux.
Une autre méthode consiste à utiliser la phonétique, c’est-à-dire à retenir les sons de chaque syllabe pour fabriquer une phrase facile à retenir, comme dans les exemples suivants :
Précisons que même si le système « phonétique » se rapproche beaucoup du langage SMS qu‘il est déconseillé d'utiliser, il peut cependant être acceptable dans le cas où l'on utilise une phrase de passe suffisamment longue et non un seul mot modifié.
Une autre méthode que l’on rencontre parfois consiste encore à retenir les premières lettres d'une phrase comme une citation, ou encore les paroles d’une chanson.
Une telle méthode nécessite cependant d’éviter les phrases trop communes, de choisir une phrase suffisamment longue, et de ne pas se cantonner aux minuscules. Par exemple, la citation « un tiens vaut mieux que deux tu l'auras » devient « 1Tvmq2tl@ ».
La multiplication des services sur Internet
(e-commerce, service public etc.) fait que nous possédons aujourd'hui une multitude de comptes et de mots de passe associés.
Pour nous aider à gérer cette problématique, des solutions existent comme nous le découvrirons dans cette unité.
Pour limiter le nombre de mots de passe, certains services proposent d'utiliser ce qu'on appelle des points d'authentification unique, solution que vous connaissez peut-être sous son appellation anglaise Single Sign-On (SSO).
Le point d’authentification unique est une solution qui permet de centraliser les systèmes d’authentification de plusieurs applications ou systèmes.
Par exemple, lors de la création de votre compte sur ce service de stockage de photos, il vous est proposé d’utiliser votre compte Facebook ou Google (qui sont des points d'authentification très répandus sur Internet).
Si vous optez pour cette solution, vous n’aurez pas besoin de créer un compte et surtout de choisir un nouveau mot de passe pour ce service, il vous suffira d'utiliser le compte du point d'authentification unique.
Bien que cette solution soit pratique, le point d’authentification unique présente deux contraintes.
Tout d’abord, en cas de découverte du mot de passe du compte utilisé comme point d’authentification unique, toutes les applications qui utilisent cette solution seront, à leur tour, exposées.
L’attaquant pourra alors accéder aux différentes données stockées sur ces applications.
Ensuite, il est important de noter que ces points d'authentification permettent généralement bien plus que de vous authentifier. Ils permettent aussi de partager des informations entre les services, en vous demandant normalement votre consentement.
Par exemple, l'utilisation de Facebook en tant que point d'authentification unique pour une application mobile de course à pied peut impliquer la publication de vos parcours sur le mur Facebook.
Au-delà d'afficher ces informations, le service mettant en œuvre ce point d'authentification unique peut récupérer les informations de tous les services associés au compte, les analyser pour s'en servir à des fins commerciales ou bien les revendre à d'autres services.
Avant de les utiliser, il faut donc lire les conditions générales d'utilisation et faire attention à ce qu'elles impliquent. Si vous n’approuvez pas les conditions présentées, n'utilisez pas les services du point de distribution en question.
Vous avez encore trop de mots de passe à retenir malgré l’utilisation des points d'authentification unique ?
Comment conserver tous vos mots de passe sans remettre en cause les différentes règles de sécurité vues dans les unités précédentes ?
Une solution consiste à utiliser des coffres-forts de mots de passe. Les coffres-forts de mots de passe sont des logiciels spécialisés dans la gestion des mots de passe.
Ils permettent de centraliser le stockage de tous ces mots de passe dans une base de données dont le contenu est chiffré (contrairement à un simple fichier stocké sur son ordinateur).
En cas de perte ou de vol, personne ne peut accéder aux mots de passe car la base est protégée par un mécanisme qui la rend illisible lorsqu'on ne l'utilise pas.
Nous reviendrons plus en détail sur l’utilisation de ce type de mécanisme (le chiffrement), lors de la prochaine unité.
Nous l’avons vu dans la vidéo introductive, 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 ?
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é.
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.).
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.
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).
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 chacun de son 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 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é.
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).
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.
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.
Pour généraliser, chaque bit de la clé peut prendre 2 valeurs (0 ou 1), soit pour une clé de longueur n, 2n possibilités.
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 !).
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étails 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 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.
Nous venons de le voir, 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’exemple 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.
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 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.
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.
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.
Nous l’avons vu précédemment, 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 :
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).
Une infrastructure de gestion de clés (IGC) (Public Key Infrastructure en anglais) 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.