Comment fonctionne le site PKI ?
Pour comprendre comment fonctionne PKI il est important de revenir auxaux principes de base qui régissent le cryptage. Dans cette optique, nous allons nous pencher sur les algorithmes cryptographiques et les certificats numériques.
Les algorithmes cryptographiques sont des formules mathématiques définies et très complexes utilisées pour crypter et décrypter les messages. complexes utilisées pour crypter et décrypter les messages. Ils constituent également les éléments de base de l'authentification sur le site PKI . Ces algorithmes varient en complexité et les premiers les plus anciens sont antérieurs à la technologie moderne.
Lechiffrement symétrique est un algorithme cryptographique simple selon les normes actuelles, mais il était autrefois considéré comme le nec plus ultra de la cryptographie. En fait, l'armée allemande l'a utilisé pour envoyer des communications privées pendant la Seconde Guerre mondiale. Le film Le jeu de l'imitation fait en fait explique assez bien le fonctionnement du cryptage symétrique et le rôle qu'il a joué pendant la Seconde Guerre mondiale.et le rôle qu'il a joué pendant la guerre.
Avec le cryptage symétrique, un message tapé en clair passe par des permutations mathématiques pour être crypté. Le message crypté est difficile à déchiffrer parce que la même lettre du texte en clair n'est pas toujours la même dans le message crypté. n'est pas toujours la même dans le message crypté. Par exemple, le message "HHH" ne sera pas crypté avec trois caractères identiques.
Pour crypter et décrypter le message, vous avez besoin de la même clé, d'où le nom de cryptage symétrique. Bien qu'il soit extrêmement difficile de décrypter est extrêmement difficile sans la clé, le fait que la même clé doive être utilisée pour crypter et décrypter le message comporte un risque important. En effet, si le canal de distribution utilisé pour partager la clé est compromis, c'est tout le système de sécurisation des messages qui est rompu. messages sécurisés est rompu.
Lechiffrement as ymétrique, ou cryptographie asymétrique, résout le problème d'échange qui affectait le chiffrement symétrique. Pour ce faire, il crée deux clés cryptographiques différentes (d'où le nom de chiffrement asymétrique) : une clé privée et une clé publique.
Avec le cryptage asymétrique, un message passe toujours par des permutations mathématiques avant de devenir un message.permutations mathématiques pour devenir crypté, mais nécessite une clé privée (qui ne doit être connue que du destinataire) pour être décrypté et une clé publique (qui peut être partagée avec n'importe qui) pour crypter un message.
Voici comment cela fonctionne :
- Alice souhaite envoyer un message privé à Bob, elle utilise donc la clé publique de Bob pour générer un texte chiffré que seule la clé privée de Bob peut déchiffrer.
- Comme seule la clé privée de Bob peut décrypter le message, Alice peut l'envoyer en sachant que personne d'autre ne peut le lire - pas même une personne qui écoute - tant que Bob veille à ce que personne d'autre ne possède sa clé privée.n une oreille indiscrète - tant que Bob veille à ce que personne d'autre ne possède sa clé privée.
Le chiffrement asymétrique permet également d'effectuer d'autres actions qui sont plus difficiles à réaliser avec le chiffrement symétrique, comme les signatures numériques, qui fonctionnent de la manière suivante :
- Bob peutpeut envoyer un message à Alice et crypter une signature à la fin à l'aide de sa clé privée.
- Lorsque Alice reçoit le message, elle peut utiliser la clé publique de Bob pour vérifier deux choses :
- Bob, ou une personne possédant la clé privée de Bob, a envoyé le message suivant
- Le message n'a pas été modifié ien transit, car s'il est modifié, la vérification échouera.
Dans ces deux exemples, Alice n'a pas généré sa propre clé. Grâce à un simple échange de clés publiques, Alice peut envoyer des messages cryptés à Bob et vérifier des documents que Bob a signés.Il est important de noter que ces actions ne sont qu'à sens unique. Pour inverser les actions afin que Bob puisse envoyer des messages privés à Alice et vérifier sa signature, Alice devrait générer sa propre clé privée et partager la clé publique correspondante.
Aujourd'hui, il existe trois propriétés mtions mathématiques populaires utilisées pour générer des clés privées et publiques : RSA, ECC et Diffie-Hellman. Chacune d'entre elles utilise des algorithmes différents pour générer des clés de chiffrement. de chiffrement mais elles reposent toutes sur les mêmes principes de base en ce qui concerne la relation entre la clé publique et la clé privée.ivate key.
Examinons l'algorithme RSA 2048 bits à titre d'exemple. Cet algorithme génère aléatoirement deux nombres premiers de 1024 bits chacun, puis les multiplie. La réponse à cette équation est la clé publique, tandis que les deux nombres premiers qui ont créé la réponse sont la clé privée.premiers qui ont créé la réponse constituent la clé privée.
Cette approche fonctionne parce qu'il est extrêmement difficile d'inverser le calcul lorsqu'il implique deux nombres premiers de cette taille, ce qui rend relativement facile le calcul de la clé publique à partir de la clé privée, mais impossible le calcul de la clé privée à partir de la clé publique.relativement facile de calculer la clé publique à partir de la clé privée, mais impossible de calculer la clé privée à partir de la clé publique.
Le cryptage symétrique et le cryptage asymétrique sont tous deux utilisés fréquemment aujourd'hui. Le cryptage asymétrique est beaucoup plus lent que le cryptage symétrique, c'est pourquoi les deux sont souvent utilisés en tandem. Par exemple, quelqu'un peut crypter un message à l'aide du cryptage symétrique, puis envoyer la clé pour décrypter le message à l'aide du cryptage asymétrique (ce qui accélère le processus de décryptage puisque la clé est beaucoup plus petite que l'ensemble du message).
Aujourd'hui, le cryptage asymétrique permet de réaliser des choses comme :
- Courrier électronique crypté S/MIME
- Signature du code
- Bitcoin/Blockchain
- Messagerie privée Signal
- Signatures numériques
En particulier, le cryptage asymétrique permet d'accéder au site PKI.
Le chiffrement symétrique et le chiffrement asymétrique ont tous deux un défi majeur à relever : comment savoir si la clé publique a été reçue par le destinataire ?Comment savez-vous que la clé publique que vous avez reçue appartient appartient réellement à la personne que vous pensez qu'elle appartient ?
Même avec le chiffrement asymétrique, le risque de "l'homme du milieu" existe. Par exemple, que se passerait-il si quelqu'un interceptait la clé publique de Bob, créait sa propre clé privée et générait ensuite une nouvelle clé publique pour Alice ? clé privée, puis générait une nouvelle clé publique pour Alice ? Dans ce cas, Alice chiffrerait les messages pour Bob, l'homme du milieu pourrait les déchiffrer, les modifier et les chiffrer à nouveau, sans que ni Alice ni Bob ne s'en aperçoivent.
PKI résout ce cen délivrant et en gérant des certificats numériques qui confirment l'identité des personnes, des appareils ou des applications qui possèdent des clés privées et les clés publiques correspondantes. En bref, PKI attribue des identités aux clés afin que les destinataires puissent vérifier avec précision l'identité des propriétaires.les propriétaires. Cette vérification donne aux utilisateurs l'assurance que s'ils envoient un message crypté à cette personne (ou à cet appareil), le destinataire prévu est bien le propriétaire de la clé. (ou appareil), le destinataire prévu est bien celui qui le lira. réellement le lire et non pas quelqu'un d'autre qui pourrait être assis comme un "homme au milieu".
PKI régit les clés de chiffrement en émettant et en gérant des certificats numériques. Les certificats numériques sont également appelés certificats X.509 et certificats PKI .
Quel que soit le nom qu'on lui donne, un certificat numérique possède les qualités suivantes :
- Est l'équivalent électronique d'un permis de conduire ou d'un passeport
- Contient des informations sur une personne ou une entité
- Est délivré par un tiers de confiance
- Résistant à l'effraction
- Contient des informations qui peuvent prouver son authenticité
- Peut être retracé jusqu'à l'émetteur
- A une date d'expiration
- Est présenté à quelqu'un (ou à quelque chose) pour validation
La façon la plus simple de comprendre comment PKI régit les certificats numériques pour vérifier les identités est de le considérer comme un DMV numérique. À l'instar du Department of Motor Vehicles (DMV), PKI introduit un tiers de confiance pour prendre les décisions relatives à l'attribution d'identités à un certificat numérique. De plus, à l'instar des permis de conduire, les tout comme les permis de conduire, les certificats numériques sont difficiles à falsifier, contiennent des informations permettant d'identifier le propriétaire et ont une date d'expiration.
Enfin, c'est à la personne qui vérifie le certificat numérique qu'il revient de déterminer la nature du processus de vérification et l'attention qu'il convient d'accorder au certificat en fonction du cas d'utilisation. et le degré d'attention qu'il convient d'accorder au certificat en fonction du cas d'utilisation.
Les autorités de certification (AC) sont chargées de créer des certificats numériques et sont responsables des politiques, des pratiques et des procédures de contrôle des destinataires et de délivrance des certificats. l'approbation des destinataires et la délivrance des certificats.
Plus précisément, les propriétaires et les exploitants d'une AC déterminent :
- Méthodes de vérification des bénéficiaires de certificats
- Types de certificats délivrés
- Paramètres contenus dans le certificat
- Procédures de sécurité et d'exploitationsionnelles
Une fois que les autorités de certification ont pris ces décisions, elles doivent documenter officiellement leurs politiques. À partir de là, il appartient aux consommateurs de certificats de décider du degré de confiance qu'ils souhaitent accorder aux certificats d'une autorité de certification donnée.
Le processus de création de certificats repose en grande partie sur le chiffrement asymétrique et se déroule comme suit :
- Une clé privée est créée et la clé publique correspondante est calculée
- L'autorité de certification demande toutes les caractéristiques d'identification du propriétaire de la clé privée et vérifie ces informations. informations
- La clé publique et les attributs d'identification sont encodés dans une demande de signature de certificat (CSR).
- La RSC est signée par le propriétaire de la clé pour prouver qu'il possède cette clé privée.
- L'autorité de certification émettrice valide la demande et signe le certificat avec la clé privée du CA avec sa propre clé privée
N'importe qui peut utiliser la partie publique d'un certificat pour vérifier qu'il a bien été émis. effectivement délivré par l'autorité de certification en confirmant qui possède la clé privée utilisée pour signer le certificat. Et, en supposant qu'ils jugent cette autorité de certification digne de confiance, ils peuvent vérifier que tout ce qu'ils envoient au détenteur du certificat le sera également. au détenteur du certificat ira effectivement au destinataire prévu et que tout ce qui a été signé à l'aide de la clé privée du détenteur du certificat a bien été signé par cette personne ou cet appareil.
Il est important de noter que l'autorité de certification possède sa propre clé de private et la clé publique correspondante, ce qui crée la nécessité de hiérarchies d'AC.
Étant donné que chaque autorité de certification possède son propre certificat, des couches de confiance sont créées par le biais de hiérarchies d'autorités de certification, dans lesquelles les autorités de certification émettent des certificats pour d'autres autorités de certification.ertificats pour d'autres AC. Toutefois, ce processus n'est pas circulaire, puisqu'il existe en fin de compte un certificat racine. Normalement, les certificats ont un émetteur et un sujet comme deux parties distinctes, mais ce sont les mêmes parties pour les AC racine, ce qui signifie que les certificats racine sont auto-signés.racine sont auto-signés. Par conséquent, les gens doivent intrinsèquement faire confiance à l'autorité de certification racine pour faire confiance à tous les certificats qui remontent jusqu'à elle.
Tout cela rend la sécurité des clés privées particulièrement importante pour les autorités de certification. Une clé privée qui tombe entre de mauvaises mains est mauvaise dans tous les cas, mais elle est particulièrement dévastateur pour les AC, car quelqu'un peut alors émettre des certificats de manière frauduleuse.
Les contrôles de sécurité et lLes contrôles de sécurité et l'impact d'une perte deviennent encore plus graves à mesure que l'on remonte la chaîne dans la hiérarchie de l'autorité de certification, car il n'y a aucun moyen de révoquer un certificat racine. Si une autorité de certification racine est compromise, l'organisation doit rendre publique cette faille de sécurité. C'est pourquoi les AC racine ont les mesures de sécurité les plus strictes.
Pour répondre aux normes de sécurité les plus élevées, les autorités de certification racines ne devraient presque jamais être en ligne. Selon les meilleures pratiques, les AC racine devraient stocker leurs clés privées dans des coffres-forts de qualité NSA situés dans des locaux à la pointe de la technologie. de l'état de l'art de données à la pointe de la technologie, sécurisés 24 heures sur 24 et 7 jours sur 7 par des caméras et des gardes physiques.rité 24 heures sur 24, 7 jours sur 7, grâce à des caméras et à des gardes physiques. Toutes ces Ces mesures peuvent sembler extrêmes, mais elles sont nécessaires pour protéger l'authenticité d'un certificat racine.
Bien que l'autorité de certification racine doive être hors ligne 99,9 % du temps, il existe certains cas où elle doit être mise en ligne. en ligne. En particulier, les AC racines doivent être en ligne pour la création de clés publiques, de clés privées et de nouveaux certificats, ainsi que pour s'assurer que leurs propres clés sont toujours légitimes et qu'elles n'ont pas été endommagées ou compromises de quelque manière que ce soit. légitimes et qu'ils n'ont pas été endommagés ou compromis de quelque manière que ce soit. Idéalement, les AC roes AC racine devraient effectuer ces tests environ 2 à 4 fois par an.
Enfin, il est important de noter que les certificats racine expirent. La durée de vie d'un certificat racine est généralement de 15 à 20 ans (contre environ sept ans pour les certificats des autorités de certification subordonnées). L'introduction d'une nouvelle racine et laIl n'est pas facile d'introduire et d'instaurer la confiance dans une nouvelle racine, mais il est important que ces certificats expirent, car plus ils durent longtemps, plus ils sont vulnérables aux risques de sécurité.
La hiérarchie d'une ACLa hiérarchie d'une autorité de certification comporte généralement deux niveaux, suivant la chaîne Autorité de certification racine → Autorités de certification subordonnées → Certificats d'entités finales.
A hiérarchie à deux niveaux Une hiérarchie à deux niveaux est absolument nécessaire au minimum parce qu'une autorité de certification racine doit être hors ligne 99,9ce qui constitue une norme difficile à respecter pour les AC subordonnées qui émettent régulièrement des certificats, puisqu'elles doivent être en ligne pour émettre de nouveaux certificats.
Bien que les AC subordonnées fassent le mieux pour protéger leurs certificats, elles présentent un risque de sécurité beaucoup plus élevé que les autorités de certification racine.risque de sécurité beaucoup plus élevé que les AC racine. Contrairement aux AC racine, les AC subordonnées ont la possibilité de révoquer les certificats, de sorte que toute atteinte à la sécurité est plus facile à réparer que pour les AC racine (qui ne peuvent pas révoquer les certificats).
Ceci étant dit, a hiérarchie est généralement suffisante pour assurer la sécurité. Plus il y a de niveaux dans la hiérarchie d'une AC, plus la facilité d'utilisation et l'évolutivité de l'adresse PKI posent problème. En effet, les niveaux supplémentaires augmentent la complexité des politiques et des procédures régissant l'AC PKI.
Si une autorité de certification subordonnée est compromise de quelque manière que ce soit ou souhaite révoquer un certificat pour quelque raison que ce soit, elle doit publier une liste de révocation de tous les certificats émis qui ne doivent pas être pris en compte.tés. Cette liste est connue sous le nom de liste de révocation de certificats (CRL) et est essentielle à la conception de PKI .
Bien que les autorités de certification soient tenues d'émettre des LCR, les consommateurs de certificats sont libres de vérifier ces listes et de réagir si un certificat a été révoqué. Une fois de plus, il s'agit là d'un excellent exemple de la façon dont les certificats numériques sont similaires aux certificats de sécurité. similaires aux permis de conduire puisque le processus de vérification dépend généralement de la nécessité du certificat (pensez à la différence entre l'utilisation d'un permis récemment expiré pour acheter de l'alcool et le passage d'un point de contrôle de l'autorité d'horodatage (TSA)).
Dans de nombreux cas, les consommateurs de certificats choisissent de ne pas vérifier les LCR car cela ralentit le processus d'authentification. Les consommateurs de certificats peuvent également choisir jusqu'où remonter dans la hiérarchie de l'autorité de certification dans le cadre de la vérification, en gardant à l'esprit que plus ils remontent dans le temps, plus le processus est long.
Bien que la vérification des CRL - et d'aller jusqu'à l'autorité de certification racine pour le faire - ralentit le processus d'authentification, cette pratique devient de plus en plus courante à mesure que de plus en plus d'objets sont mis en ligne et s'appuient sur des certificats numériques pour leur sécurité. Prenons le cas des navigateurs web. De nombreux navigateurs pAuparavant, de nombreux navigateurs ne vérifiaient pas les certificats parce que cela ralentissait la navigation, mais aujourd'hui, ces vérifications sont monnaie courante, car la sécurité de l'internet devient de plus en plus importante.
Les LCR ont elles-mêmes une date d'expiration, et si une LCR expire, tous les certificats émis par l'autorité de certification deviennent invalides.ificate émis par l'autorité de certification devient invalide. Si les autorités de certification s'attachent principalement à veiller à ce que les certificats n'expirent pas - ce qui est important - il est également important qu'elles veillent à ce que les LCR n'expirent pas, car si cela se produit, c'est toute l'infrastructure PKI qui risque de s'effondrer. Lorsque les Cracine sont en ligne, elles vérifient également que les LCR des AC subordonnées n'ont pas expiré pour cette raison.
Aujourd'hui, chaque appareil et système qui est en ligne (téléphones, ordinateurs portables, serveurs, systèmes d'exploitation) doit interagir avec des certificats.avec des certificats. Cette interaction généralisée avec les certificats a conduit au concept de certificat racine de confiance au sein des appareils et des systèmes d'exploitation.
Par exemple, tous les ordinateurs Microsoft disposent d'un magasin racine de confiance. Tout certificat pouvant être rattaché à ce magasin racine de confiance sera automatiquement approuvé par l'ordinateur.à ce magasin racine de confiance sera automatiquement approuvé par l'ordinateur. Chaque appareil et système d'exploitation Chaque appareil et système d'exploitation Chaque appareil et système d'exploitation est livré avec un magasin racine de confiance prédéfini, mais les propriétaires de machines peuvent définir des règles pour faire confiance à des certificats supplémentaires ou pour ne pas faire confiance à des certificats qui ont été prédéfinis comme étant de confiance. qui ont été prédéfinis comme fiables.