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 ?
Even with asymmetric encryption, the risk of the “man in the middle” exists. For example, what if someone intercepted Bob’s public key, made his own private key, and then generated a new public key for Alice? In this case, Alice would encrypt messages for Bob, the man in the middle could decrypt them, change them and then re-encrypt them and neither Alice nor Bob would be any wiser.
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 .
However you refer to them, a digital certificate has these qualities:
- 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
The easiest way to understand how PKI governs digital certificates to verify identities is to think of it as a digital DMV. Much like the Department of Motor Vehicles (DMV), PKI introduces a trusted third party to make decisions about assigning identities to a digital certificate. And much like driver’s licenses, digital certificates are difficult to spoof, include information that identifies the owner and have an expiration date.
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.
Certificate Authorities (CAs) are responsible for creating digital certificates and own the policies, practices, and procedures for vetting recipients and issuing the certificates.
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).
That said, a two-tier hierarchy is also usually sufficient for security. The more tiers that exist within a CA hierarchy, the more challenging the usability and scalability of the PKI become. This is because additional tiers increase the complexity of the policies and procedures governing the PKI.
If a subordinate CA gets compromised in any way or wants to revoke a certificate for any reason, it must publish a revocation list of any issued certificates that should not be trusted. This list is known as a Certificate Revocation List (CRL) and is critical to PKI design.
While CAs must issue CRLs, it’s up to the discretion of certificate consumers if they check these lists and how they respond if a certificate has been revoked. Once again, this is a prime example of how digital certificates are similar to driver’s licenses since the vetting process typically depends on the need for the certificate (think about the difference between using a recently expired license to buy alcohol vs. to pass a Time Stamping Authority (TSA) checkpoint).
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.