Passer au contenu

Une infrastructure PKI pour une sécurité accrue

L’authentification, la confidentialité, l’intégrité et la non-répudiation, tous les aspects de la sécurité des réseaux sont concernés par l’infrastructure à clé publique (PKI). Elle est basée sur la notion de certificat numérique.

Le sigle PKI (Public key infrastructure) désigne une infrastructure à clé publique, qui est constituée d’un ensemble de services, éventuellement externalisés, basés sur le concept de certificat numérique. Ce dernier, qui est un document électronique garantissant l’identité d’un individu ou d’une entité technique, est lui-même fondé sur le concept de chiffrement asymétrique. L’infrastructure PKI représente un cadre global pour la gestion de la sécurité, associée à l’ensemble des utilisateurs et des applications d’un réseau, privé ou public.

Chiffrement symétrique et asymétrique

Mais, avant de pénétrer dans les arcanes techniques du fonctionnement d’un PKI, il est essentiel d’en connaître l’utilité. Les quatre grands besoins qu’il couvre sont l’authentification, l’intégrité, la non-répudiation et la confidentialité. Il s’agit là de fonctions ” de confiance “, naturelles dans le monde réel. Les cartes d’identité émises par le ministère de l’Intérieur, les sceaux du ministère de la Justice, le postulat selon lequel La Poste n’ouvre pas nos lettres, les signatures manuscrites… tout cela participe à un espace de confiance. Mais, sur Internet ou sur un Intranet ouvert, ce dernier est inexistant, incomplet ou fragile. Les infrastructures à clé publique visent à reproduire cet espace, de façon la plus globale et la plus sûre possible, tout en limitant l’effort d’administration.
Le chiffrement asymétrique est à la base des PKI. Pour en comprendre l’intérêt, il est utile de rappeler le principe et les applications de son équivalent symétrique, dont l’algorithme le plus connu se nomme DES (Data encryption standard). Le chiffrement symétrique s’effectue, en effet, via une fonction dont la clé secrète ?” aux paramètres générés spécifiquement pour un couple émetteur-récepteur ?” est unique. Cette clé permet à la fois de chiffrer et de déchiffrer un message. Premier écueil : avant d’initier une session de chiffrement, l’émetteur doit transmettre cette clé au destinataire dans de bonnes conditions de sécurité, donc évidemment pas en clair sur le réseau. Seconde difficulté : un individu doit créer une clé différente pour chaque destinataire. Autrement dit, l’administration des clés secrètes devient vite un casse-tête.

Le chiffrement asymétrique, une signature

Pour sa part, le chiffrement asymétrique, dont RSA (clé de cryptage publique inventée par Rivest, Shamir et Adelman) est l’algorithme le plus répandu, résout ces problèmes. Deux fonctions, dont chacune possède ses propres paramètres (ses clés) sont, en effet, alternativement consacrées au chiffrement et au déchiffrement. Avec la première clé, on chiffre ; avec la seconde, on déchiffre, ou inversement. Ce qui est chiffré avec une clé ne peut être déchiffré qu’avec l’autre, car une clé ne peut déchiffrer ce qu’elle vient de chiffrer ! De plus, il est impossible de déduire l’une de l’autre.
Car même si la fonction de déchiffrement est, bien sûr, l’inverse de celle de chiffrement, on ne peut extrapoler l’une à partir de l’autre. Travaux pratiques : Paul veut envoyer des messages chiffrés. Il génère un couple de clés. Puis il distribue la première, baptisée clé publique, à tous les destinataires potentiels. Il peut alors chiffrer ses messages avec l’autre clé, dite privée, qu’il restera le seul à détenir. Les destinataires procéderont au déchiffrement à l’aide de la clé publique de Paul, qui leur servira également à lui expédier des messages qu’il déchiffrera grâce à sa clé privée. De plus, si un message chiffré est modifié par un tiers mal intentionné avant de parvenir à son destinataire, la clé publique ne le déchiffrera plus. De même, quand un destinataire réussit à déchiffrer un message en utilisant la clé publique de Paul, il peut être sûr que ce message a bien été chiffré avec la clé privée de ce dernier, donc, en principe, par Paul. En somme, le chiffrement par clé privée fait office de signature.

Le rôle du tiers de confiance et la notion de certificat numérique

Le chiffrement asymétrique permet donc d’authentifier l’auteur d’un message et de garantir la confidentialité et l’intégrité des données qu’il contient. A un détail prêt. Quand Paul distribue sa clé publique à tous ses correspondants potentiels, comment ceux-ci peuvent-ils être certains qu’il s’agit bien de la sienne ? C’est ici qu’interviennent les notions de certificat numérique et de tiers de confiance.
Le certificat numérique est un fichier de un millier d’octets qui prouve un lien entre un individu et sa clé publique. Il contient d’abord, en clair, son identité et sa clé publique. Ces informations sont complétées par le format et le numéro de série du certificat, sa période de validité ainsi que par le type d’algorithme associé à la clé publique de l’usager. Dès lors est calculée une valeur numérique (via une fonction de hachage standard), qui est un condensé unique des données en clair. Ce condensé est ensuite chiffré par le biais de la clé privée d’un tiers de confiance sur lequel nous reviendrons. Le résultat fait office de signature. En effet, tout destinataire du certificat de Paul pourra déchiffrer le condensé chiffré avec la clé publique du tiers de confiance, acquérant ainsi la preuve qu’il a été chiffré ?”” tamponné “?” avec la clé privée de ce tiers et forcément par lui seul, puisque personne d’autre ne la détient.
De plus, si la partie en clair du certificat a été modifiée, la connaissance de la fonction de hachage autorise la mise en évidence d’une incompatibilité avec le condensé unique déchiffré. Après avoir déchiffré la signature avec la clé publique du tiers, un pirate pourrait certes modifier les informations en clair et produire un nouveau condensé unique. Mais, ne possédant pas la clé privée du tiers, il ne pourrait pas chiffrer ce condensé dans le but de générer une version corrompue d’un certificat. Celui-ci ne peut donc être altéré, du moins sans porter la trace évidente du sabotage, et offre le moyen à son porteur de prouver son identité, confirmée par une autorité tierce en qui tout le monde a confiance. Ainsi, l’infrastructure à clé publique regroupe un ensemble de services couvrant la génération des clés publiques et privées des individus concernés, la fabrication des certificats numériques, leur stockage, leur distribution et leur exploitation par des applications client-serveur, ou par des équipements réseaux.
Il reste à aborder la nature et la façon dont opère ce tiers de confiance, cette autorité morale qui délivre les certificats. En fait, trois acteurs agissent à la suite. Leurs rôles peuvent aisément être appréhendés grâce à un parallèle avec le monde réel.

Trois acteurs dans le processus de certification

Directement ou indirectement, un porteur de carte de crédit a ainsi eu affaire à trois interlocuteurs. En premier lieu, le siège social de sa banque a un jour fixé des critères d’attribution. Dans une infrastructure à clé publique, c’est l’autorité de certification qui définira le profil requis pour obtenir un certificat numérique. Dans le cas d’une entreprise désirant sécuriser son réseau, cette autorité sera, par exemple, le responsable de la sécurité.
En pratique, le porteur de carte de crédit n’a vu que son agence bancaire, qui s’est chargée de recueillir sa demande, de vérifier son identité et d’évaluer les critères d’attribution déterminés par le siège social. Puis elle a donné son approbation. Dans une infrastructure à clé publique, ce rôle est dévolu à l’autorité d’enregistrement. Dans une grande entreprise, cette entité pourra être représentée par les responsables du personnel des différents sites. On peut distinguer deux autorités d’enregistrement, l’une administrative, l’autre technique.
Enfin, l’agence bancaire a demandé à un troisième acteur, le consortium de cartes de crédit, de fabriquer la carte. Dans une infrastructure à clé publique, l’autorité d’enregistrement donne l’identité et la clé publique de l’individu à l’opérateur de certification, qui génère un certificat. Ce qui consiste pour lui à chiffrer, avec la clé privée de l’autorité de certification, le condensé unique des informations fournies par l’autorité d’enregistrement. L’opérateur de certification est un service technique qui peut être assumé en interne ou externalisé. Ainsi, un PKI a des implications organisationnelles fortes.

Des applications infinies

Une infrastructure à clé publique touche pratiquement à tous les domaines de la sécurité des réseaux : authentification, intégrité des données, non-répudiation d’une transaction et confidentialité. Cette dernière entraîne cependant une petite difficulté. En théorie, la clé publique contenue dans le certificat numérique permet de lancer une session chiffrée. Le chiffrement asymétrique se révèle toutefois très gourmand en temps de calcul. C’est pourquoi, souvent, l’échange de certificats est le prélude à une session chiffrée en mode symétrique, seule la clé secrète correspondant à cette session étant transmise préalablement, par chiffrement asymétrique, en recourant à la clé publique du destinataire, qui la déchiffrera avec sa clé privée. A cette petite réserve près, les exemples d’applications des PKI abondent. Dans une entreprise, le rôle d’un PKI peut couvrir tous les aspects cités précédemment. Il identifiera les utilisateurs, locaux et distants, avec une efficacité encore supérieure à celle des classiques procédés d’authentification forte. En outre, une société améliorera la sécurité de son réseau privé virtuel en offrant aux passerelles entre lesquelles sont chiffrés les flux un moyen de s’authentifier mutuellement. Enfin, deux entreprises partenaires qui accordent leurs PKI ou en construisent un en commun échangeront en toute confiance commandes et factures.
Sur Internet, le champ est sans limites. Par échange mutuel de certificats, un site Web marchand aura ainsi la preuve que telle commande a bien été émise par tel client, qui sera lui-même sûr qu’il ne communique pas son numéro de carte de crédit à un site pirate. De même, une banque pourra proposer un service de banque en ligne, avec authentification de ses clients, confidentialité et non-répudiation des virements, et autres transactions boursières. Les administrations pourraient délivrer des certificats numériques aux entreprises et aux citoyens, afin que ceux-ci puissent faire des démarches via Internet, comme la déclaration d’impôts. Telle est l’une des portes ouvertes par le projet de loi français sur la signature électronique, récemment déposé par le gouvernement. On le voit à travers ces exemples, le porteur d’un certificat peut être une personne ou une entité technique telle que site Web ou passerelle.

Une infrastructure qui doit gérer l’existant

Coûteuse et encore risquée, la mise en ?”uvre d’un PKI passe par le déploiement d’une infrastructure client-serveur lourde. Il s’agit à la fois de générer des couples clé publique-clé privée et des certificats, de les distribuer à leurs porteurs, puis de permettre à ceux-ci de les exploiter afin de s’authentifier, de chiffrer des messages, de signer des documents ou de les rendre inaltérables.
Et cela, en toute transparence pour les utilisateurs. Fournies par Netscape, Security Dynamix, Microsoft ou Untrust, les briques techniques correspondent aux diverses entités concernées. Les clés publiques et privées des utilisateurs sont produites par un logiciel serveur ou client, voire par une carte à puce. Un annuaire stocke ensuite les clés publiques des porteurs ainsi que celle de l’autorité de certification, afin de les rendre accessibles à tous.

Les applications client-serveur doivent tirer parti du PKI

Autre brique essentielle, le serveur de certification donne à l’autorité d’enregistrement la possibilité de vérifier, manuellement ou automatiquement, les critères d’attribution d’un certificat demandé par un individu, ceux-ci ayant été spécifiés en amont par l’autorité de certification. Puis il procure à l’opérateur de certification les moyens techniques de générer le certificat, à partir de l’identité de l’individu et de sa clé publique. Ce certificat est stocké dans un serveur, dans le poste de travail de la personne, ou, pour plus de sûreté et de mobilité, sur une carte à puce, qui accueillera aussi la clé privée. Les fournisseurs, Gemplus en tête, définissent des normes afin que leurs cartes puissent se brancher directement sur les offres de PKI du marché. Dans le cas d’une externalisation de l’opérateur de certification auprès d’une société comme VeriSign ou Certplus, l’infrastructure de l’entreprise se réduit. Ces opérateurs possèdent leurs propres logiciels, mis en ?”uvre dans un environnement sécurisé. Ils génèrent des certificats numériques à la demande de l’autorité d’enregistrement de l’entreprise cliente, celle-ci n’étant jamais externalisée. Concrètement, l’opérateur signe les certificats des utilisateurs de chacun de ses clients avec la clé privée spécifique à l’autorité de certification de ce client. Le stockage des certificats peut être sous-traité auprès de l’opérateur. Le client doit toujours prévoir une infrastructure pour générer les clés publiques et privées des usagers, les distribuer, fournir la clé publique à l’opérateur de certification, et utiliser certificats et clés. Cette exploitation consiste à faire en sorte que les applications client-serveur puissent tirer parti du PKI. Certaines d’entre elles en sont d’emblée capables, grâce à la gestion de protocoles standards comme SSL (Secure socket layer) ou S-Mime (Secure Mime). Tel est le cas des serveurs Web, des navigateurs ou des clients de messageries Internet, qui savent exploiter différents types de certificats, afin d’authentifier un site Web ou de chiffrer messages et flux.

Vers une compatibilité totale entre applications et technologies PKI

D’autres applications doivent être adaptées. Les progiciels de gestion intégrés ou les messageries propriétaires le seront via l’adjonction d’agents. SAP R/3, PeopleSoft, Lotus Domino ou Microsoft Exchange sont ainsi gérés par la plupart des solutions de PKI. Les applications spécifiques devront être rendues ” compatibles PKI ” grâce à un SDK (Software development kit). Chaque fournisseur de technologies propose le sien. Mais l’incompatibilité n’est pas systématique. Par exemple, l’offre de Untrust permet de générer des certificats au format VeriSign ou Certplus. Parallèlement, des accords se nouent entre spécialistes des PKI et fournisseurs de VPN (Virtual private network), afin que les n?”uds d’un réseau privé virtuel puissent s’authentifier via des certificats numériques, grâce à IPSec IKE (Internet key exchange). Passée une période de concrétisation des partenariats croisés et de stabilisation, toute application pourra s’appuyer sur n’importe quelle technologie de PKI. ;

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


par Thierry Lévy-Abégnoli