WAE-ENERGY

dimanche
24 septembre 2017 11:09:52
Taille police
  • Increase font size
  • Default font size
  • Decrease font size


PKI open source: retours d'experience

E-Mail Imprimer PDF

Une PKI (Public Key Infrastructure), en français IGC (Infrastructure de Gestion des Clés) est un système permettant de gérer des clés publiques. Il s'agit en général de gérer des certificats x509. Elle établit un réseau de confiance entre utilisateurs, lequel passe nécessairement par l'autorité de certification.

 

Ces certificats peuvent servir selon leur contenu à :

 

Disposer d'une PKI signifie qu'on est capable de créer, pour chacun de ses utilisateurs, des certificats qui nous permettront par la suite de lui faire confiance. Pour cela une PKI offre plusieurs services :

  • Un service d'enregistrement qui vérifie l'identité des "utilisateurs"
  • Un service de signature de demande de certificats
  • Un service de renouvellement de certificats
  • Un service de publication des certificats
  • Un service de révocation des certificats
  • Un service de publication des révocations
  • Parfois un service de création de clés

Ces fonctionnalités sont généralement regroupées dans des entités séparées pour des raisons de sécurité. En effet, une PKI une fois en place devient rapidement un élément critique puisqu'elle permet de se faire passer pour une entité digne de confiance (pensez social engineering mais sans le social) . C'est pourquoi un certain nombre de fonctionnalités peuvent être installés dans un équipement dédié (un HSM, hardware security module). Du coté utilisateur, on peut faire pareil, sauf qu'on appel cet appareil dédié une carte à puce.

Mettre en place une PKI est une chose assez lourde. Mais elle devient intéressante à partir du moment où on se retrouve à gérer un grand nombre de certificats (beaucoup de serveurs ou beaucoup d'utilisateurs). Vous n'avez pas envie d'installer une PKI pour vous authentifier sur un seul serveur. Mais si vous avez 200 000 employés et que vous voulez que tout le monde signe ses mail en x509, il est temps d'en installer une.

Je voudrais attirer votre attention sur le fait qu'il ne s'agit pas seulement de créer des certificats et de les signer. La confiance se fait sur toute une chaîne, et il faut pouvoir garantir que l'autorité n'a pas été compromise (AC séparée). Il faut pouvoir garantir cette confiance dans le temps (renouvellement), il faut pouvoir se prémunir des erreurs, des vols ou des changements d'organisation (révocation). C'est pourquoi il est nécessaire de prendre son temps avant de l'installer pour bien comprendre le fonctionnement de chaque élément.

Il existe plusieurs PKI open source dont EJBCA ou NewPKI. Je parlerai d'OpenSSL, la PKI du pauvre, dans mes prochains articles. Principalement pour pouvoir mettre les mains dans le cambouis, ne pensez pas à l'utiliser tel quel comme PKI.

 
 

Mettre en place une PKI

 

Seul le projet libre d'IdealX est opérationnel. Chiffrement, signature électronique, SSO... Les technologies libres sont à même de créer une PKI à moindre coût et aux performances équivalentes à celles des solutions 

Derrière le sigle galvaudé de PKI (Public Key Infrastructure, infrastructure à clé publique) se cache une suite d'outils capables de générer, de contrôler et d'utiliser des certificats numériques standards. Toute l'intelligence d'une telle infrastructure n'est pas dans les logiciels, mais dans le conseil lors de son intégration aux processus de l'entreprise. Un tel modèle correspond parfaitement au monde des logiciels libres, dans lequel on paie pour l'expertise humaine, et non pour les logiciels.

Toutes les briques sont disponibles en open source

C'est notamment le positionnement de la société française IdealX, qui propose la seule PKI open source vraiment opérationnelle à ce jour. IdealX a fait le choix de n'utiliser que des briques libres, qu'elle modifie à volonté et assemble par le biais d'un développement en Perl (également un langage disponible en open source). Et le résultat de tous ces travaux est bien sûr reversé à la communauté des logiciels libres.
Pourquoi avoir choisi ce modèle pour créer une PKI ? " L'open source résout les problèmes de façon souvent très claire, ouverte et transparente, et permet de se concentrer sur le côté organisationnel, qui est vraiment au coeur du problème ", répond Benoît Picaud, consultant sécurité chez IdealX. Sans compter qu'en utilisant des briques déjà existantes et ayant fait leurs preuves, la société a pu bâtir sa PKI en un temps record. Car tous les ingrédients d'une PKI fiable sont déjà disponibles dans la communauté open source. Installé sur un système d'exploitation libre (Linux ou OpenBSD), le serveur web Apache ( www.apache.org), associé au module ModSSL ( www.modssl.org), sert de pivot à l'ensemble.
La génération des certificats est assurée par OpenSSL ( www.openssl.org), la bibliothèque cryptographique libre. Ces certificats, au format standard X.509, peuvent alors être stockés dans un annuaire OpenLDAP ( www.openldap.org), libre lui aussi. Enfin, pour consulter l'ensemble, signer des courriers électroniques ou assurer des échanges sécurisés, Mozilla (www.mozilla.org) remplacera avantageusement n'importe quel navigateur propriétaire.

L'ensemble des fonctions relié grâce à Perl

Bien sûr, tout cela manque cruellement d'interface et de consoles d'administration. Et c'est là qu'intervient le travail d'IdealX, qui enrobe le tout grâce à Perl. La souplesse des logiciels libres permet en outre d'adapter très finement chaque PKI à son environnement particulier (applications métier, contraintes spécifiques, etc.).
Les certificats ainsi créés par une telle PKI open source (ou même tout simplement OpenSSL utilisé seul) disposent de tous les champs nécessaires pour faire du chiffrement, de la signature ou de l'authentification, et ne diffèrent en rien de ceux générés par une PKI propriétaire. En cela réside tout l'intérêt des standards tels que X.509 (format des certificats), PKIX (standards PKI), PKCS (description de formats cryptographiques) et autres S/Mime (extension sécurisée du protocole de courrier Mime) : tant qu'ils sont respectés, leur mise en oeuvre ne diffère pas entre deux fournisseurs, qu'ils soient libres ou propriétaires.
Concrètement, une PKI libre va ainsi permettre de pratiquer le webSSO (authentification unique sur le web) de manière extrêmement simple. Les certificats générés par OpenSSL sont tout d'abord installés sur le serveur et les postes clients, afin d'authentifier systématiquement chaque protagoniste. Il reste ensuite à déterminer les droits de chaque utilisateur, une fois qu'il s'est connecté. À cette fin, l'annuaire OpenLDAP stocke les profils et se connecte directement avec le serveur web Apache grâce aux modules modLDAP et AUTH?"LDAP, libres eux aussi. Pour le client, toute la procédure est transparente.

Un accès sécurisé aux applications métier

Sur le LAN, il est en outre possible de s'intégrer au processus de login de Windows NT ou 2000 en remplaçant une bibliothèque standard, ou d'utiliser tout simplement les certificats X.509 pour les applications qui reconnaissent ce format.
Dans les cas plus extrêmes (applications métier totalement fermées), un proxy matériel pour Linux servira d'interface entre l'application propriétaire et la PKI : il procédera d'un côté à l'authentification par certificat et la négociera de l'autre avec l'application, selon les termes qui lui sont propres. Mieux : en changeant à chaque accès le mot de passe propriétaire, le proxy renforce sa sécurité.
Le principal reproche formulé à l'encontre d'une PKI open source est son manque de raffinement. " C'est une collection de scripts au-dessus du composant OpenSSL ", résume Guillaume Malgras, consultant sécurité pour le groupe Telindus. Une brèche dans laquelle s'engouffrent les éditeurs de PKI propriétaires, en proposant des options, souvent bien pratiques, de délégation de certificat, d'historique des clés, de renouvellement automatique des certificats ou de transfert d'un utilisateur vers une nouvelle Autorité de certification. Ils se fondent aussi très souvent sur des programmes de certification stricts, inaccessibles aux projets open source (lire encadré), ou sur des partenariats avec d'autres éditeurs logiciels. Leur objectif est d'assurer l'intégration immédiate et sans souci de leur PKI à de nombreux produits du marché, afin de fournir des solutions métier clés en main.
En outre, IdealX PKI - seul projet open source réellement opérationnel, rappelons-le - pèche encore sur la reconnaissance de nouveaux formats, tels l'OCSP (Online Certificate Status Protocol), qui facilite le contrôle de la validité d'un certificat, ou encore le TSP (Time Stamp Protocol), qui assure l'horodatage.

L'intégration des boîtiers cryptographiques est difficile

Notons cependant pour sa défense que les PKI propriétaires ne sont guère plus avancées dans ce domaine. Même si elles les proposent parfois, ces nouveaux protocoles sont tout sauf réellement acceptés.
Concrètement, d'un point de vue purement technique, la seule réelle faiblesse de la PKI open source est sa difficulté à intégrer les matériels cryptographiques (gestion du cycle de vie des cartes, protection de la clé racine...). Pour le reste, elle permet de mettre en oeuvre les mêmes certificats, les mêmes RPV (réseau privé virtuel), les mêmes applications de contrôle d'accès, de chiffrement ou de signature des e-mails qu'une PKI propriétaire. À une fraction du prix de cette dernière.

Les composants d'une PKI libre

1. Tous les serveurs et proxy d'une PKI libre peuvent fonctionner avec Linux ou, dans le cas des autorités, avec OpenBSD, plus sécurisé.2. La bibliothèque OpenSSL permet la création d'une usine à certificats.3. Le serveur web Apache peut fournir les services pour l'interface avec l'autorité de certification par le biais de ModSSL et vers l'annuaire (pour du webSSO) grâce aux modules AuthLDAP.

4. L'annuaire OpenLDAP stocke les profils et les certificats. 

5. Pour les utilisateurs, le navigateur Mozilla assure une navigation sécurisée (SSL) et la signature des e-mails.
  
 
 
 
 
 
 
 
 
Mis à jour ( Mardi, 01 Octobre 2013 07:12 )  

Sauvons la biodiversité

Sample image

La diversité c'est une richesse pas une fatalité, laissons-nos faire la nature et arrêtons-nous de nous prendre par des dieux. exemple de lien

w-12.png
Ce module permet de créer vos propres modules HTML persImage fleure rougepersonnalisés, selon vos besoins en s'adaptant aux différents situations qui puissent retrouver n'importe quel développeur pendant toute sa carrière professionnelle , pour cella il suffit juste d'un éditeur WYSIWYG et beaucoup d'imagination.

Mes vidéos

Planète en danger

 

La couche d'ozone

Eget hendrerit vel Integer dictum sapien Nunc congue tempor Sed lacinia. Ut pellentesque v...

 

La pacha mama

Suspendisse ante porttitor dolor dapibus et ante justo nec tempus Vestibulum. Quisque elit...

 

La fonte des glaciers

Eget hendrerit vel Integer dictum sapien Nunc congue tempor Sed lacinia. Ut pellentesque v...

 

La fonte de la banquise

In Sed cursus orci urna lacinia malesuada Duis wisi et cursus. Et pede nec ut sem vel et M...

 

Sauvons les fôrets

Pellentesque congue condimentum nec vitae id leo dolor Phasellus leo urna.

Mes sites préférés

www.joomlart.com
Joomla Templates Club - Professional - High quality Joomla template
www.joomlancers.com
Joomla Freelance Jobs and Projects - JoomLancers Marketplace
www.joomla.org
Joomla! CMS - OpenSource Matters

Qui est en ligne

Nous avons 3 invités en ligne