BLOG

Le rôle des certificats

Vignette de Sean Wright
Sean Wright
Publié le 23 mai 2022

Ce blog invité fait partie d'une série et a été créé en partenariat avec F5.

CSR, PEM, DER, X509… il n’est pas étonnant que les certificats soient souvent considérés comme une sorte de magie.

La toute première fois que j’ai dû obtenir un certificat de travail, je n’avais aucune idée de ce que je faisais ! J'ai copié sans but un tas de commandes et j'ai espéré qu'elles fonctionnaient. Mais lorsqu’il s’agit de sécurité, s’attendre à ce que quelqu’un copie aveuglément les commandes est une chose risquée. Rien n’est plus important que les certificats.

Les certificats sont la pierre angulaire des connexions TLS (et le plus souvent HTTPS, qui utilise TLS). Si vous faites une erreur, vous vous exposez au risque que la connexion soit interceptée par un attaquant (annulant ainsi la protection fournie par la connexion TLS).

Ce blog fait partie d'une série qui découvrira le rôle des certificats et en particulier de la gestion des certificats. Dans la première partie, nous explorerons l’objectif des certificats et pourquoi ils jouent un rôle important dans la sécurisation des connexions (à savoir les connexions TLS).

Garantir la confidentialité et établir l'intégrité

Lorsqu'un client se connecte à un serveur, nous devons prendre en compte deux principes de sécurité.

Le premier est la confidentialité. Ceci est essentiel pour que les données transmises vers et depuis le client ne soient visibles par personne en dehors de ce trafic. Une page de connexion est un bon exemple. Nous voulons nous assurer que le nom d'utilisateur et le mot de passe que vous saisissez ne sont visibles par personne lorsqu'ils sont transportés avec le serveur auquel vous essayez de vous connecter. Il convient également de noter que la confidentialité joue également un rôle dans l’aspect de la vie privée, empêchant les regards indiscrets de voir les actions ou les informations que vous consultez.

Le deuxième principe est l’intégrité. C’est un élément que beaucoup de gens oublient ou ne connaissent pas lorsqu’il s’agit de TLS. Par intégrité, nous entendons que personne ne peut altérer les données transmises vers et depuis le client. Même si la ressource est publique, nous voulons toujours garantir l’intégrité de ces données.

Considérez un site d’actualités accessible au public. Nous ne sommes pas trop préoccupés par l’aspect confidentialité (à part la vie privée, mais pour cet exemple, laissons cela de côté) puisque cette page est accessible au public. Cependant, nous voulons nous assurer que les données envoyées au client (le navigateur d’un utilisateur) depuis le serveur n’ont pas été manipulées. Sans tenir compte de l’intégrité d’un serveur, un attaquant pourrait modifier le contenu d’un article d’actualité (pensez aux fausses nouvelles) ou injecter du contenu malveillant sur la page, comme un hook Browser Exploitation Framework.

L'importance des certificats

Alors, quel rôle jouent les certificats dans tout cela ? Lorsqu'un client se connecte à un serveur, il doit s'assurer qu'il se connecte d'abord au serveur prévu. Ce n’est pas un serveur qu’un attaquant a imité. Nous voulons également garantir que la connexion est cryptée de bout en bout. Par cela, nous entendons que la connexion n'a pas été interrompue quelque part pour permettre l'inspection et la modification du trafic, et transmise au serveur d'origine. C'est ce qu'on appelle une attaque de type « machine du milieu » .

Pour être clair, il existe des cas d’utilisation valables pour cela, en particulier dans un environnement d’entreprise où le trafic Internet est souvent inspecté pour aider à améliorer la sécurité de l’organisation. C’est là qu’interviennent les certificats. Lorsqu'un client se connecte à un serveur TLS, le serveur devra fournir son certificat (serveur) au client. Le client validera ensuite ce certificat pour s’assurer qu’il appartient au bon serveur auquel le client tentait initialement de se connecter. Une fois cette étape établie (une partie de la négociation TLS), les communications entre le client et le serveur peuvent commencer.

Dans la prochaine partie de cette série, je continuerai à explorer ce sujet sur mon propre blog. Nous y aborderons le processus de validation des certificats. C’est ici que nous allons approfondir le côté humain de la gestion des certificats et son importance.

Jusqu'à présent, je vous recommande vivement de consulter une session informative sur F5 myForum ( Soyez prêt pour l'évolution du paysage SSL ) de David Warburton et Nigel Ashworth. C'est un excellent aperçu des paysages SSL et TLS en constante évolution, et cela vaut vraiment la peine d'y consacrer du temps.

Sean Wright est un ingénieur expérimenté en sécurité des applications qui a débuté en tant que développeur de logiciels. Il se concentre principalement sur la sécurité des applications Web, avec un intérêt particulier pour TLS et les sujets liés à la chaîne d'approvisionnement. Sean possède également de l'expérience en matière de leadership technique en matière de sécurité des applications, ainsi que dans l'engagement auprès des équipes pour améliorer la sécurité des systèmes et des applications qu'elles développent et maintiennent. Vous pouvez lire son blog ici .