Realm, CoreData killer
Realm, CoreData killer
Sommaire
Un certificat électronique (aussi appelé certificat numérique ou certificat de clé publique) peut être vu comme une carte d'identité numérique. Il est utilisé principalement pour identifier et authentifier une personne physique ou morale, mais aussi pour chiffrer des échanges.
Il est signé par un tiers de confiance (aussi appelé autorités de certification, AC ou *CA pour Certificate Authority en anglais) qui atteste du lien entre l'identité physique et l'entité numérique.
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 qui établissent leur viabilité comme intermédiaire fiable.
Ces organismes diffusent leurs propres clés publiques et étant certifiées fiables, ces autorités sont en contact direct avec les principaux producteurs de navigateurs web (tels que Mozilla Firefox, Google Chrome, Internet Explorer, etc.) qui incluent nativement les listes de clés des autorités de certification.
C'est cette relation qui est à la base de la chaîne de confiance. Ces clés sont appelées clés publiques racines ou certificats racines et sont utilisées pour identifier les clés publiques d'autres organismes (nous allons voir en détail cette partie plus bas).
Cependant, les CA doivent répondre à des critères de sécurité très stricts, notamment pour garantir que leurs propres certificats ne sont pas compromis, ce qui entraînerait la corruption de tous les certificats émis sous leur responsabilité. C'est pourquoi la clé privée de leur certificats root est mise à l'abri, et n'est pas utilisée pour signer des certificats SSL, mais pour signer des certificats intermédiaires, qui à leur tour signent les certificats SSL finaux.
C’est le terme “chaîne de confiance” (que nous avons décrit plus haut) qui désigne ceci.
En effet, la certification peut s'effectuer en cascade. Un certificat peut permettre d'authentifier d'autres certificats jusqu'au certificat qui sera utilisé pour la communication.
Nous allons prendre par exemple le meilleur site au monde (oui c’est bientôt mon point individuel de fin d’année donc… :p ) https://eleven-labs.com.
On remarque plusieurs points :
Les deux normes de certificat les plus utilisées aujourd'hui sont :
La différence notable entre ces deux normes est qu'un certificat X.509 ne peut contenir qu'un seul identifiant ; que cet identifiant doit contenir de nombreux champs prédéfinis ; et ne peut être signé que par une seule autorité de certification.
Un certificat OpenPGP peut contenir plusieurs identifiants, lesquels autorisent une certaine souplesse sur leur contenu, et peuvent ainsi être signés par une multitude d'autres certificats OpenPGP, permettant alors de construire des toiles de confiance.
Chaque certificat X.509 comprend :
Tout d’abord la fonction de signature doit répondre à plusieurs critères :
Procédure de signature (avec l’exemple du certificat d’Eleven-labs) :
Let’s encrypt
Client
Si le résultat est le même alors on est sûr que les données que nous allons récupérer de ce serveur viennent bien d’Eleven-labs.
Attention : nous avons oublié une étape importante. En effet, comme indiqué plus haut, votre navigateur dispose d’un tas de clé publique CA dont DST Root CA X3.
Donc en amont de l’étape II, votre navigateur utilise la clé publique de DST Root CA X3 afin de vérifier la signature du certificat intermédiaire Let’s Encrypt (chaîne de confiance).
Si la vérification est bonne alors le client passe à l’étape II.
Lorsque vous allez vouloir acheter un certificat auprès d’un tiers de confiance, celui-ci va vous proposer plusieurs types de certificats. Nous allons voir ensemble de quoi il s’agit :
Les certificats peuvent avoir une garantie allant de 10 000 € jusqu'à plus de 1 500 000 € si une faille de sécurité provient de leur certificat.
Aujourd'hui, il existe deux solutions qui vous permettent d'avoir un certificat sans payer :
Cependant, les certificats SSL auto-signés déclenchent des alertes de sécurité sur la plupart des navigateurs web car ils n'ont pas été vérifiés par une Autorité de Certification de confiance. La plupart du temps, ces alertes conseillent aux visiteurs de quitter la page pour des raisons de sécurité. Mais si vous passez par Let's Encrypt vous n'aurez pas ce type de problème.
Auteur(s)
Ilan Benichou
Développeur Fullstack (PHP/JS/IOS/DEVOPS), j'adore découvrir de nouvelle chose, toujours prêt à relever un challenge.
Vous souhaitez en savoir plus sur le sujet ?
Organisons un échange !
Notre équipe d'experts répond à toutes vos questions.
Nous contacterDécouvrez nos autres contenus dans le même thème
Rendez plus robuste votre application mobile en ajoutant des tests fonctionnels
Nous allons découvrir un outil qui permet d'automatiser des tâches fastidieuses en mobile.