08 septiembre 2008

Software PKI OpenSource

La popularización del concepto 'PKI' en estos últimos años ha tenido un innegable avance en el mundo IT.

Palabras como certificados digitales, smartcards e incluso mas técnicas, como CRL cada vez son mas frecuentes en las conversaciones de los departamentos de sistemas.

Normalmente, montar una PKI cumpliendo la ley de firma digital del 2003 es algo reservado a unas pocas organizaciones con muchisimo peso especifico (el gasto en auditorías, medidas de seguridad y los 3 millones de euros que se han de dejar en deposito son un evidente freno). No obstante, muchas organizaciones optan por montar una infraestructura PKI con los máximos servicios posibles para consumo interno: login con smartcards, autenticación de WebServices, o firma y cifrado de correos electrónicos.

A la hora de estudiar presupuestos, normalmente suelen salir a la palestra soluciones de Entrust 0 la española (y madre del DNI-E) SafeLayer.

Los precios de ese tipo de soluciones, mas los servicios profesionales asociados, suelen copar muchos ceros en un presupuesto, por eso en muchas ocasiones proyectos PKI han quedado durmiendo el sueño de los justos por falta de capital y probablemente en estos tiempos de crisis / recesión actuales es seguro que costara muy mucho vender un proyecto PKI.

No obstante, hay que mencionar la existencia de soluciones completamente OpenSource para implementar soluciones PKI, en muchos casos con una rica funcionalidad y perfectamente funcional para el 70 % de los casos. Voy a enumerar las que, desde mi punto de vista, son las soluciones mas interesantes de cara a implementar una PKI fuera de los circuitos profesionales.

  • OpenCA: Tal vez el primer nombre que nos viene a la cabeza a la hora de hablar de soluciones libres criptográficas, es una robusta y muy probada solución que permite implementar toda la jerarquía de servicios PKI deseables: CAs raiz, CAs subordinadas, RA, servidores OCSP. Lo único que se echa en falta en esta solución son implementaciones de servicios y herramientas mas profesionales como servicios de sellado de tiempo, custodia de certificados en servidores de "signing" y cosas similares. No obstante, ahora mismo se encuentra en un proceso de re-escritura con lo que habrá que estar atentos.
  • OpenXPKI: Se trata de un fork de OpenCA, no tengo referencias sobre el proyecto, pero no extiende (a nivel componentes) a OpenCA.
  • EJBCA: El autentico tapado del mundo PKI Opensource, escrita totalmente en Java (para bien, o para mal) tiene una filosofía muy análoga a las soluciones profesionales en el mundo PKI ya que, además de toda la infraestructura 'clásica', también incorpora servicios avanzados como el sellado de tiempo y servidores de firmado (muy necesario para, por ejemplo, emitir facturas digitales desde múltiples puntos). Además como referencia, cuentan con el apoyo del gobierno suizo que ha donado librerías que fueron empleadas para su E-passport.
En definitiva, montar una PKI no tiene porque ser algo elitista, asociado a muchos miles de euros y reservado para grandes organizaciones. Como en el tema de la moda, en el mundo PKI, hay 'Zaras', 'Emilios Tuccis' y 'Versaces'