Contenu principal
Cours : Sécurité sur Internet > Chapitre 1
Leçon 11: Protocoles Internet sécurisésLes certificats numériques
Le protocole TLS recourt au chiffrement à clé publique (ou asymétrique), où l'ordinateur de l'expéditeur utilise la clé publique de l'ordinateur du destinataire pour chiffrer des données. Avant cela, le protocole TLS impose toutefois une étape cruciale en matière de sécurité : l'expéditeur doit vérifier l'identité de l'entité qui se trouve derrière la clé publique.
Un certificat numérique, aussi appelé certificat électronique ou certificat de clé publique, atteste l'identité de l'entité qui possède la clé de chiffrement.
L'importance des certificats
Que se passerait-il si le protocole TLS n'incluait pas une étape de vérification du certificat ?
Les pirates informatiques ont trouvé le moyen d'intercepter une requête envoyée sur Internet depuis un ordinateur vers un autre, par exemple via les points d'accès malveillants.
De là, ils peuvent lancer une attaque dite "de l'homme du milieu" (MITM ou man-in-the-middle attack en anglais). Même si le nom de cette attaque fait mention d'un "homme", les pirates présentent des profils de tous âges et de tous genres. Vous pouvez aussi utiliser le terme d'"imposteur" ou d'"intercepteur".
Le pirate commence par envoyer sa propre clé publique au client (au lieu de celle du serveur) lors de l'établissement de la connexion sécurisée à l'aide du protocole TLS.
Après cette opération, le client utilise donc la clé publique envoyée par le pirate chaque fois qu'il veut chiffrer des données. Le pirate peut ensuite déchiffrer le message chiffré, le modifier à sa guise, et le chiffrer à nouveau avec la clé publique du serveur avant de lui envoyer les données.
Pour éviter ce genre d'attaque, le client doit vérifier l'identité de l'entité qui se trouve derrière la clé publique, et ce grâce au certificat numérique. Mais si un tel certificat peut être émis par n'importe qui, comment un client peut-il être sûr de son authenticité ? Dans le protocole TLS, les clients font confiance à un certificat numérique s'il a été généré par des institutions reconnues comme autorités de certification.
Les autorités de certification
Un serveur qui veut communiquer de manière sécurisée au moyen du protocole TLS s'inscrit auprès d'une autorité de certification. Cette autorité vérifie qu'il est bien propriétaire du domaine, signe le certificat avec son propre nom et sa propre clé publique, et fournit le certificat signé au serveur.
Lorsque le client examine le certificat, il peut voir qu'une autorité de certification garantit l'authenticité de la clé publique. Mais il lui reste toujours une décision à prendre : choisit-il de faire confiance à cette autorité ?
Les clients se voient généralement proposer une liste d'autorités de certification de confiance. Par exemple, un iPhone fonctionnant sous iOS 10 peut faire confiance à cette liste d'autorités de certification.
Les utilisateurs et utilisatrices doivent alors faire confiance à Apple et espérer que l'entreprise surveille en permanence cette liste afin de s'assurer que chaque autorité de certification vérifie correctement les domaines.
Vous pouvez imaginer une chaîne de confiance établie entre l'utilisateur et le serveur :
La confiance peut être rompue au niveau de chaque maillon de la chaîne. Si l'utilisateur ne fait pas confiance au client, il peut ne pas tenir compte de la liste par défaut des autorités de certification proposée par ce dernier. Si un client ne fait plus confiance à une autorité de certification, il l'enlève de la liste. Si une autorité de certification est témoin d'un comportement suspect de la part d'un serveur, elle peut lui retirer son certificat.
Les autorités de certification intermédiaires
Il existe en réalité plusieurs niveaux parmi les autorités de certification : l'autorité de certification racine et l'autorité de certification subordonnée.
L'autorité de certification racine n'émet pas directement des certificats numériques à destination des serveurs, mais les délivre plutôt aux autorités de certification subordonnées qui agissent en son nom. Ces autorités peuvent ensuite délivrer des certificats numériques à une autre autorité subordonnée, ou directement à un serveur.
Il existe donc une autre chaîne de confiance entre l'autorité de certification racine et le serveur :
Plus il y a de maillons dans la chaîne des autorités de certification, plus la sécurité du système augmente. Si une autorité racine découvre qu'une autorité subordonnée a été compromise par un pirate, elle invalide les certificats émanant de cette autorité, mais elle peut continuer à faire confiance aux certificats émis par ses autres autorités subordonnées.
🔍 Vous pouvez voir cette chaîne vous-même lorsque vous vérifiez le certificat d'un site sécurisé dans votre navigateur. Si vous cliquez sur le cadenas à côté de l'URL, vous pouvez normalement examiner les certificats.
🙋🏽🙋🏻♀️🙋🏿♂️Vous avez des questions à ce sujet ? Nous vous répondrons volontiers ! Posez simplement votre question dans l'espace ci-dessous !
Vous souhaitez rejoindre la discussion ?
Pas encore de posts.