Journal PKI open source: retours d'experience ?

Posté par . Licence CC by-sa
3
2
avr.
2013

Cher journal,

il me prend l'envie de monter et tester une PKI open source.
Après une rapide recherche sur le net, je vois:
EJBCA:
http://www.ejbca.org/features.html
OpenCA:
http://www.openca.org

Avez vous déjà testé / installé une de ces PKI ? quelqu'un a t il un retour d'expérience, ou d'autres PKI open source (à peu près matures) à proposer ?

  • # pki ?

    Posté par (page perso) . Évalué à  3 .

    Je suis assez intéressé par les sujets de sécurité en ce moment car je suis en plein dedans.
    Pour autant, je reste très néophyte quant au vocabulaire utilisé…

    Ça veut dire quoi pki ? ça parle de quoi ?

    La réalité, c'est ce qui continue d'exister quand on cesse d'y croire - Philip K. Dick

    • [^] # Re: pki ?

      Posté par (page perso) . Évalué à  3 .

      • [^] # Re: pki ?

        Posté par (page perso) . Évalué à  2 .

        C'est le terme anglais pour IGC (infrastructure de gestion de clef).

        Je ne suis pas spécialiste du domaine, mais je sais qu'ejbca est utilisé par un ou plusieurs ministères pour leur gestion de clefs, et qu'il a une bonne réputation.

        L'ANSSI a publié un guide sur la gestion de clefs : http://www.ssi.gouv.fr/IMG/pdf/RGS_B_2.pdf Il évoque notamment les vrais problèmes posés par les gestions de clefs (renouvellement, séquestre, recouvrement, …).

  • # Utilisation personnelle simple ou PKI full features ?

    Posté par . Évalué à  2 .

    L'objectif est de faire quoi ? Juste de gérer tes propres certificats ?
    Ou de vraiment mettre en place une vraie PKI au sens large, avec livraison des certificats aux clients de manière sécurisée, gestion de la révocation, OSCP et le reste ?

    Dans le 1er cas, EJBCA et OpenCA me paraissent juste overkill, XCA est bien plus simple pour une utilisation personnelle.

    • [^] # Re: Utilisation personnelle simple ou PKI full features ?

      Posté par . Évalué à  1 .

      L'objectif c'est de déployer une PKI simple mais complète, qui va gérer les CRLs, OCSP, etc…
      dans un but de test et d'apprentissage.. mais qui pourrait si besoin être déployée aussi dans un contexte professionnel
      Après entre EJBCA et OpenCA j'hésite, mon coeur balance… _^

    • [^] # Re: Utilisation personnelle simple ou PKI full features ?

      Posté par . Évalué à  1 .

      Je confirme pour avoir étudié EJBCA (et un peu OpenCA) pour un projet en cours du soir au CNAM (le code dans sa version EJB2 est horrible à lire), c'est très complet fonctionnellement pour le "backoffice" PKI mais c'est inexploitable pour un projet d'Autorité de Certification "libre" qui a besoin d'une interface plus simple et agréable pour un utilisateur "lambda".

      Au passage, je suis membre de CAcert.org. Du coup, faute de solution de remplacement (refaire une architecture correcte et maintenable), CAcert.org tourne sur une évolution de l'architecture de 2003-2006 (en php pour le front office et de l'openssl sur une machine sécurisée dédiée à la signature des certificats accessible uniquement par liaison série)

      donc, EJBCA et OpenCA c'est OVERKILL :) même pour une autorité de certification avec peu de moyens.

  • # Pyramide

    Posté par (page perso) . Évalué à  5 .

    J'avoue que je ne sais pas exactement ce qu'est une PKI, mais il me semble que le but c'est d'être une autorité de certification, c'est ça ? Dans ce cas, on avait pas dit que le système pyramidal de certificat est tout cassé, et qu'il faut partir plutôt vers quelque chose de réellement acentré comme la toile de confiance de PGP ? J'aime bien mouler par ici mais je vois pas pourquoi je vous ferais plus confiance à vous qu'à Verisign par exemple (en fait si: je sais que Verisign est une entreprise à but lucratif, et donc je sais que je ne peux pas estimer qu'ils sont neutres)

    J'aimerais plutôt voir se développer quelque chose comme thttpgpd avec une infrastucture P2P de distribution de diffusion de clés publiques en lieu et place des points centralisés comme les serveur de clés.

    • [^] # Re: Pyramide

      Posté par (page perso) . Évalué à  5 .

      J'utilise depuis quelque temps ma propre CA (même si PKI serait un bien grand mot pour mon système :D).

      Le système pyramidal de certificats n'est pas cassé en soi. C'est la confiance dans certaines autorités racines qui peut être cassée.

      En revanche, tu peux très utiliser ta propre CA pour ton usage personnel, voire la distribuer à certains correspondants. C'est exactement ce que je fais : j'ai un ou deux petits sites web (en fait, un peu plus : wiki, partage de fichiers, supervision, svn, …) qui sont tous en HTTPS et utilisant ma CA. Je peux également envoyer des mails chiffrés et signés, … Je peux garantir que personne ne fait du MITM vu que je peux faire de l'authentification client et serveur, et que je connais la signature de ma CA.
      Après, que des inconnus ne fassent pas confiance à ma CA n'est absolument pas grave, vu que ce n'est pas le but.

      • [^] # Re: Pyramide

        Posté par . Évalué à  2 . Dernière modification : le 03/04/13 à 00:16

        Les nombreux scandales (ex : falsifications de certificats, délivrance d'un certificat par une autorité "reconnue" permettant de générer des certificats pour faire de l'interception à l'insu de l'utilisateur final) dans les mois et années passés ont terni l'industrie du certificat x509 (serveur web ou client email).

        http://en.wikipedia.org/wiki/Comodo_Group#2011_affiliate_registration_security_breach
        http://en.wikipedia.org/wiki/Diginotar#Issuance_of_fraudulent_certificates

        Donc oui, le principe pyramidal type x509 fonctionne toujours (tant que la crypto associée n'est pas cassée). Reste à mettre une véritable "Autorité" morale de certification indépendante en tête de pont pour assurer la crédibilité d'une Toile de Confiance (Web of Trust) ( => rêve : sous le contrôle d'un organisme international indépendant de lobby financiers)

        Hélas, les navigateurs (IE, Firefox, Chrome) sont contraints de n'accepter que les accréditations par audit "WebTrust" réalisé par une société de conseil qui coute de l'ordre 50k à 100k USD (plus coûts récurrents d'audit) mais qui ne garantie aucunement de la bonne foi de l'Autorité de Certification.

        StartCom a réussi à avancer, là où CAcert.org fait du "surplace". http://www.startcom.org/?app=14&rel=33
        Testez StartCom !

        Sinon OpenGPG (et son réseau de confiance) a un intérêt certain mais il n'y a pas avec ce système d'organisation (association ou société à but non lucratif) qui serait à même de maintenir des règles et un code de conduite (ce que cherche toujours à faire CAcert contre vents et marées) et se positionner comme garde fou.

        • [^] # Re: Pyramide

          Posté par . Évalué à  5 .

          Donc oui, le principe pyramidal type x509 fonctionne toujours (tant que la crypto associée n'est pas cassée).

          Oui et non. Tu ne peux pas faire partiellement confiance à une racine, et ça c'est une très grosse limitation. Typiquement, si tu fais confiance à l'autorité de certification de ta boîte - qui signe les certificats utilisés par son intranet, par exemple - elle pourra sans souci signer un faux certificat pour google.com (ou ton webmail perso) et mitm-er tes conversations SSL.

          Une extension de x509 - qui existe peut-être déjà? - pourrait limiter le "scope" d'une arborescence à un ou plusieurs domaines racines, par exemple. Ce serait une grosse amélioration de ce point de vue.

    • [^] # Re: Pyramide

      Posté par . Évalué à  4 .

      Une PKI n'est pas necessairement publique…

      On peut tres bien en utiliser une au sein d'une entreprise pour securiser ses communications. c'est particulierement pratique quand on a beaucoup d'embarqué et/ou de terminaux mobiles

    • [^] # Re: Pyramide

      Posté par . Évalué à  7 .

      Dans ce cas, on avait pas dit que le système pyramidal de certificat est tout cassé

      Non. C'est plus compliqué et plus simple que ça. Le système actuel repose sur la confiance que tu places envers les autorités. Confiance dans le choix des algos, dans leurs implémentations, dans leur sécurité interne et dans leur mécanisme de délivrance de certificats.
      Or, on s'aperçoit aujourd'hui que les autorités de confiance qui remplissent nos navigateurs ne sont malheureusement pas de confiances:
      - Ils utilisent des algos dépassés (genre 512 bits encore récemment)
      - Ils utilisent des méthodes moisies (genre signature MD5 + date + numéro de série prévisible)
      - Ils se font pirater (genre diginotar)
      - Ils signent n'importe quoi (même une demande pour mozilla.org provenant d'une boite mail intraçable, si, si)
      - Ils disparaissent dans la nature (genre on a une CA dans le magasin, mais personne ne sait à qui elle appartient, ni qui en possède la clé)
      - Ils sont trop nombreux (sérieux, pourquoi vous faites confiance à la poste turque ou a une boite thaïlandaise?)
      - Ils sont plus intéressés par la vente rapide de certificats que par la vérification des demandeurs
      - Ils ne fournissent pas tous OCSP (et avec des CRL de pleins de Mo, on ne les lit pas)
      - etc, etc..

      Donc, on peut dire que la confiance dans les CA est cassée, et donc que le mécanisme de certificat est cassé.
      A part ça, si tu as vraiment confiance dans ta CA, alors le système de PKI est très efficace et marche très bien.

      • [^] # Re: Pyramide

        Posté par (page perso) . Évalué à  2 .

        • Ils signent n'importe quoi (même une demande pour mozilla.org provenant d'une boite mail intraçable, si, si)

        Bah ça, avec un peu d'ingénierie sociale, ça pourrait presque se comprendre. Non, où ils signent n'importe quoi c'est quand ils signent des trucs genre "127.0.0.1" ou "localhost" ou … et, heureusement, ils le font ! Et la EFF fait du bon travail là-dessus : https://www.eff.org/observatory

        Mais ce qui m'inquiète le plus, c'est de voir des fournisseurs d'accès Internet ayant un CA.

        "It was a bright cold day in April, and the clocks were striking thirteen" - Georges Orwell

  • # EJBCA

    Posté par . Évalué à  1 . Dernière modification : le 03/04/13 à 10:01

    Dans notre boite, on as notamment utilisé EJBCA en interne pour créer des certificats pour des navigateurs. Dans ce cadre, EJBCA était un peu lourd car un peu trop complet pour nos besoins. Maintenant, on préfère utiliser les tokens OTP hardware. C'est plus simple à gérer et moins facilement copiable.

  • # OpenPKI

    Posté par . Évalué à  3 .

    Par OpenTRUST
    Ha zut, on me fait signe que …

  • # EJBCA/OpenCA et OpenSSL

    Posté par . Évalué à  3 .

    J'ai travaillé, il y a 1 an, sur EJBCA et OpenCA.

    OpenCA est un projet mort… Malgré de bonnes idées, le projet n'est plus maintenu et il me semble que en l'état actuel, la PKI n'est pas fonctionnelle (v1.11 testé sur debian 6.04). Le projet a été repris par OpenXPKI ( http://www.openxpki.org/ ).

    EJBCA est une très bonne PKI, dans le sens où toutes les fonctionnalités nécessaires sont présentes (courbes elliptiques, AC, OCSP, CRL, AR) , les entités externalisables et le contenu facilement administrable via une interface web tournant sur un Jboss (la plupart du temps). Cette PKI est largement utilisée par de grand groupes et possède une grande communauté.
    D'ailleurs je conseille vivement l'utilisation de tutoriels publiés ici: http://majic.rs/book/free-software-x509-cookbook/free-software-x509-cookbook

    Tout dépend des besoins que l'on a, parfois un OpenSSL bien utilisé suffit pour faire office de CA / CRL / répondeur OCSP.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.