Qu’est-ce qu’une PKI exactement ?
Si vous ne travaillez pas dans l’informatique, il y a peu de chances que vous ayez déjà croisé l’acronyme PKI (parfois ICP en français). Le concept ne vous est probablement pas familier, et peut-être même que vous n’en avez jamais entendu parler. Pas étonnant puisque la PKI est conçue pour intervenir en arrière-plan. Le concept de base est assez simple et le bruit autour de cette technologie s’est depuis longtemps calmé. Il n’en reste pas moins que la gestion des clés constitue un maillon essentiel de la sécurité de l’information. Nous avons donc jugé utile d’expliquer clairement en quelques lignes ce dont il s’agit — même si vous n’exercez pas un métier dans l’informatique.
Oubliez toutes vos idées sur les « clés »
L’acronyme PKI signifie Public Key Infrastructure — Infrastructure à clé publique. Chacune des lettres nous livre quelques clés.
Pour clarifier le propos et dans une démarche plus prudente sur le plan didactique, commençons avec le « K » de Key (clé). Dans le domaine de la cryptographie, qui est la science de l’envoi de messages secrets (du grec kryptós qui signifie « caché, secret » et graphein pour « écrire »), le terme est employé dans un sens légèrement différent de ce à quoi l’on pourrait s’attendre.
Avez-vous déjà pratiqué la cryptographie ? Lorsque vous étiez au lycée, vous est-il arrivé d’envoyer un message secret à votre amoureux ou amoureuse, sur un bout de papier rendu illisible pour vos camarades de classe trop curieux ?
Vous avez peut-être déjà procédé comme indiqué sur le schéma ci-dessus. Le processus consistant à remplacer chaque lettre de l’alphabet par les trois suivantes s’appelle, en mathématiques, un algorithme. En cryptographie, ce processus de décalage des lettres porte le nom de cryptosystème ; ici dans notre cas, la clé est le chiffre 3.
Imaginez maintenant que vous avez essayé d’exécuter le système illustré ci-dessus avec un correspondant qui vit à des milliers de kilomètres. La méthode fonctionnerait à condition que vous lui ayez communiqué, à un moment donné, le cryptosystème et la clé. Et c’est là le problème — le cercle vicieux ou encore la situation Catch-22 (expression tirée du nom du roman satirique de Joseph Heller) — de la cryptographie symétrique : pour partager la clé, il vous faudrait un canal sécurisé que vous ne pouvez établir tant qu’aucune clé n’a été partagée.
Au XIXe siècle, le cryptographe néerlandais Auguste Kerckhoff fit une observation importante : « Il faut que le cryptosystème n’exige pas le secret, et qu’il puisse sans inconvénient tomber entre les mains de l’ennemi ». Aujourd’hui, cette règle fait partie des principes de Kerckhoff. C’est un point essentiel dans la pratique cryptographique. Le secret de la clé revêt une importance capitale, car sans ce secret, un espion saurait exactement comment déchiffrer votre message.
« Clés publiques » oui, mais pas forcément d’accès public
Les cryptographes de génie Whitfield Diffie, Martin Hellman et Ralph Merkle ont heureusement élaboré un concept pour résoudre la question cruciale du partage de clé sur un canal non sécurisé.
Imaginez ceci : Alice veut envoyer un objet à Bob qu’elle placerait dans une petite boîte en métal fermée par un cadenas. Il faudrait qu’Alice emballe l’objet dans sa boîte, qu’elle utilise son cadenas pour verrouiller cette boîte, puis qu’elle l’envoie à Bob. Pour l’ouvrir, Bob aurait besoin qu’Alice lui envoie sa clé. Au lieu de cela, imaginez qu’Alice verrouille sa boîte non pas avec son cadenas à elle, mais avec celui de Bob dont il est le seul à posséder la clé. Le fait pour Bob de partager son cadenas ne poserait pas de problème dans la mesure où ce cadenas ne servirait qu’à verrouiller la boîte, pas à l’ouvrir. Impeccable : Bob peut ainsi recevoir un paquet et l’ouvrir sans que ni lui ni Alice n’aient à partager de clé à quelque moment que ce soit.
L’analogie n’est pas parfaite, mais s’en approche. Elle a par ailleurs le mérite de s’appuyer sur un exemple concret. En termes techniques, on parle de cryptographie à clé publique pour désigner le processus de sécurisation des données. Au lieu du cadenas et de sa clé de notre exemple, la cryptographie à clé publique parle de clés privées et de clés publiques. Et contrairement aux cadenas, la cryptographie à clé publique fonctionne à double sens : les clés publiques peuvent déchiffrer le chiffrement effectué par les clés privées et vice versa. De plus, il est pratiquement impossible de déduire une clé privée à partir de la clé publique correspondante. Ce principe repose sur le concept de « fonctions de porte dérobée » (Trap-door) qui exigerait de se pencher sur des équations mathématiques, mais cela sort du cadre de cet article.
Ce qu’il faut retenir : en détenant chacun une clé publique et une clé privée, Alice et Bob peuvent communiquer en toute confidentialité. Ils sont libres de publier la clé publique (d’où le nom) et ont toujours l’assurance que les communications resteront confidentielles — tant qu’ils veillent à la sécurité de leur clé privée.
Et que signifie le « i » ? Identité ? Intégrité ? Infrastructure ?
La cryptographie à clé publique avait la réputation d’être révolutionnaire dans le monde de la sécurité de l’information. Tout d’abord parce qu’en appliquant intelligemment la cryptographie à clé publique, il est possible de donner certaines garanties sur les aspects cruciaux de la confidentialité et de la sécurité. On a souvent utilisé l’expression « Triade CIA » pour désigner les trois fondements de la confidentialité et de la sécurité — terme somme toute assez ironique quand on sait que la cryptographie à clé publique est devenue, à un moment donné, le pire cauchemar de la CIA, l’agence du renseignement des États-Unis.
Dans le contexte qui nous intéresse, l’acronyme CIA signifie Confidentialité, Intégrité et Authenticité. Autrement dit, il s’agit de protéger l’information des oreilles et des regards indiscrets, de s’assurer qu’un message ne peut être modifié et de vérifier l’expéditeur d’un message. Nous avons vu comment Alice et Bob préservaient la confidentialité de leur conversation, étudions maintenant les aspects d’intégrité et d’authenticité. Mais pour aborder ces notions, nous devons évoquer le hachage et les certificats numériques.
Comment définir le hachage ? Il s’agit de prendre l’empreinte digitale d’un fichier. Une empreinte digitale permet d’identifier une personne de façon unique. Pourtant, quelle que soit la personne, chaque empreinte est (plus ou moins) de la même taille et aucune ne livre d’information sur l’aspect ou le caractère de la personne. Le hash (également appelé condensat ou empreinte) d’un document possède les mêmes caractéristiques qu’une empreinte digitale : il est unique, de taille uniforme et anonyme.
Les certificats numériques attestent l’identité du propriétaire d’une clé publique donnée (et par conséquent de la clé privée correspondante), comme les passeports qui attestent l’identité d’une personne. Alice peut obtenir un certificat numérique auprès d’une autorité de certification (AC), comme elle le ferait auprès d’un service de l’État civil pour obtenir un passeport. Il faudrait qu’elle prouve son identité à une division de l’AC appelée Autorité d’enregistrement (AE), comme pour une toute première demande de passeport où un acte de naissance est exigé.
Après avoir vérifié l’identité d’Alice, l’Autorité d’enregistrement lui délivre une paire de clés publiques et privées. Comme les clés publiques doivent être partagées, mais sont trop longues pour être facilement mémorisées, elles sont stockées sur des certificats numériques pour pouvoir être transportées et partagées en toute sécurité. Les clés privées n’étant pas partagées, elles sont stockées dans le logiciel ou le système d’exploitation que vous utilisez. Elles peuvent aussi être stockées sur un dispositif cryptographique (clé USB ou module de sécurité matérielle, dit « module HSM ») qui contient les pilotes adéquats pour permettre l’utilisation des clés avec votre logiciel ou système d’exploitation. Les clés privées restant (idéalement) privées, on a ainsi la certitude que toutes les actions effectuées par la clé privée d’Alice (déchiffrement d’un message ou signature numérique d’un document, voir ci-après pour plus de détails) ont réellement été réalisées par Alice.
En combinant hachage, certificats numériques et cryptographie à clé publique, nous sommes en mesure de créer une signature numérique qui garantira l’intégrité ainsi que l’authenticité des messages.
Comme indiqué ci-dessus, le processus de signature et de validation des signatures associe ces trois éléments. Si le condensat (hash) du texte brut concorde avec le résultat du déchiffrement, on sait que le message n’a pas été modifié, ce qui garantit son intégrité. Si l’on parvient à déchiffrer le message à l’aide de la clé publique d’Alice, on en déduit qu’elle a dû utiliser sa clé privée pour le chiffrer, ce qui garantit son authenticité.
Ainsi se justifie l’utilisation de la cryptographie à clé publique comme socle pour une infrastructure à clé publique. Souvenez-vous d’Alice qui demandait plus haut un certificat auprès d’une Autorité de certification. Quel est l’intérêt d’une PKI ? Et bien, l’Autorité de certification (AC) signe numériquement le certificat d’Alice à l’aide de sa propre clé privée. L’AC garantit ainsi, avant d’émettre le certificat, que l’identité d’Alice a bien été vérifiée par l’Autorité d’enregistrement. Toute personne peut ensuite valider l’intégrité et l’authenticité du certificat d’Alice en utilisant à cet effet la clé publique de l’AC. Le certificat associé à la clé publique de l’AC est appelé certificat racine, ce qui fait de l’AC une AC racine.
Techniquement parlant, tout individu qui possède un ordinateur personnel peut créer une AC. Mais pour que votre AC bénéficie de la confiance du public, le parcours est compliqué et semé d’audits d’authentification et de sécurité particulièrement rigoureux, et d’autres démarches de vérification répertoriées par WebTrust.org. Résultat : seule une poignée d’AC bénéficie de la confiance publique des navigateurs, systèmes d’exploitation et d’autres logiciels. Une AC tierce offre néanmoins bien plus qu’une confiance publique : services de révocation, autorité d’horodatage, excellente compréhension des coûts, connaissances, et ressources humaines nécessaires pour sécuriser l’infrastructure et suivre les bonnes pratiques, et dans certains cas, la capacité à gérer tout cela pour vous.
Au cas où cela vous aurait échappé, GlobalSign est une AC de confiance depuis près de 30 ans. Pour créer une AC respectueuse de tout l’arsenal réglementaire nécessaire pour bénéficier de la confiance publique, il faut de solides connaissances. À ce titre, nous pouvons nous considérer comme des experts en PKI et en cryptographie à clé publique.
La PKI a été surnommée à juste titre « le couteau suisse de la sécurité informatique ». Difficile de ne pas être d’accord tant son apport a été majeur pour la construction de systèmes autour de la gestion des identités et des accès, mais aussi dans le domaine des communications chiffrées et des signatures numériques pour les documents et les fichiers.
Autres ressources sur la PKI :
Livre blanc : La PKI pour les infrastructures critiques ( en anglais)
Webcast : Automatisation de l’infrastructure PKI pour environnements mixtes
Webcast : PKI — le couteau suisse de la sécurité
Webcast : Il est temps de remplacer votre AC Microsoft (en anglais)