“OpenDNIe es un modelo a seguir para el resto de Europa como proyecto con múltiples actores y un verdadero espíritu del Software Libre”
GT | 23/05/2011
MARTIN PALJAK
Líder del proyecto OpenSC
Un invitado de lujo para un encuentro de excepción. Martin Paljak, el referente mundial en estándares de criptografía de clave pública y tarjetas electrónicas de identidad, estará presente esta semana en el HackFest del proyecto OpenDNIe en Cádiz. Defensor de la transparencia y el Software Libre para la identidad electrónica en Estonia, nos cuenta la relevancia del driver del DNIe para la comunidad OpenSC y las claves para el éxito del proyecto español. Martin Paljak, líder del proyecto OpenSC.
M.P. El proyecto OpenSC es el encargado de desarrollar las herramientas y librerías de código abierto usadas en tarjetas criptográficas inteligentes, incluye herramientas para personalizar (generar claves, escribir certificados en la tarjeta, etc). Además, proporciona a las aplicaciones las interfaces necesarias para soportar tarjetas compatibles con Linux, Mac OS X y Windows. El objetivo del proyecto es convertirse en la alternativa open source a los middleware de software privativo que proveen los fabricantes con las tarjetas.
G.T. ¿Cuál ha sido la postura de OpenSC respecto al desarrollo del driver del DNIe?
M.P. OpenSC, como muchos otros proyectos de código abierto, es un grupo informal, no existe una "opinión oficial" que se decida en una reunión de Junta a puerta cerrada. Por tanto, sólo puedo dar mi opinión personal y creo que cualquier nuevo driver de código abierto beneficia tanto a los usuarios de tarjetas (que cuentan con una alternativa de código abierto) como al proyecto OpenSC, ya que conlleva a que un desarrollador esté trabajando activamente con código de OpenSC y pueda localizar y arreglar bugs, entyre otras cosas. Las tarjetas electrónicas de identidad nacional son la opción más extendida de tarjetas PKI o criptográficas de Europa, por lo que el soporte de OpenSC para este tipo de tarjetas es esencial.
G.T. ¿Qué problemas habéis encontrado desde OpenSC para soportar dicho driver?
M.P. OpenSC incluye soporte para alrededor de 30 tarjetas inteligentes (con diferentes drivers), lo que implica la potencialidad de la herramienta para soportar drivers adicionales. Pero aún quedan algunos aspectos pendientes en OpenSC que son necesarios para soportar el DNIe (Mensajería Segura, pop-ups de interfaz gráfica de usuario...). La clave es implementar esas funcionalidades de una forma en la que pueda estar disponible y útil para otras tarjetas con necesidades similares, esto es, que sirva tanto para ésta como para otro tipo de tarjetas.
G.T. ¿Qué requisitos debe cumplir un driver de tarjeta inteligente para ser incorporado al manstream de OpenSC?
M.P. El requerimiento principal es que el mantenedor sea activo probando funcionalidades de la tarjeta con las nuevas versiones del software, actualizar el código del driver cuando se produzcan cambios en el núcleo y ayudar a otros usuarios respondiendo a sus dudas sobre la tarjeta o el driver a través de la lista de correo.
También es necesario publicar la documentación sobre la tarjeta y su funcionamiento con OpenSC en el wiki. Otros requerimientos son que el código esté bien documentado y correctamente formateado para que no genere advertencias (warnings) de compilación. Generalmente los desarrolladores tratan de hacerlo en todos los casos para un 'mejor karma'. En definitiva, son buenas prácticas en la programación que deberían tenerse en cuenta para todo tipo de proyecto.
G.T. ¿Qué garantías ofrece OpenSC al integrar el driver OpenDNIe a su matriz? Tanto desde el punto de vista técnico como de inclusión ciudadana.
M.P. Para la corriente principal de OpenSC, integrar OpenDNIe significa que hay muchos más desarrolladores que trabajan con el core común de OpenSC. O lo que es lo mismo, mucha gente trabajando sobre el mismo código enfrentándose a problemas comunes (aspectos de integración PC/SC, aspectos del modo de encriptación PKCS # 11, la integración con la plataforma Mac OS X y Windows, etc).
Además, trabajar conjuntamente en un proyecto independiente implica también que el desarrollo y la evolución del proyecto no se ven obstaculizados por ninguna influencia política.
G.T. ¿Se han incorporado algunas funcionalidades extras del DNIe español al mainstream de OpenSC?
M.P. Aún no, pero la inclusión del driver de DNIe se encuentra en la hoja de ruta para la próxima versión, 0.12.2 de OpenSC.
G.T. ¿Cuál ha sido la experiencia de trabajar en conjunto con el Centro Nacional de Referencia de Aplicación de las TIC basadas en Fuentes Abiertas (CENATIC), la Dirección General de la Policía y la Guardia Civil (DGPGC), la Free Software Foundation Europe (FSFE) y Juan Antonio Martínez? ¿Cómo ha sido la coordinación de todos los actores?
M. P. En cuanto a Juan Antonio, ha sido miembro activo de la comunidad OpenSC durante varios años como el autor de pam_pkcs11. También creó el instalador de la interfaz del driver de la tarjeta que fue utilizado por las distribuciones de software de Ceres y DNIe (pero desgraciadamente provocó una violación de la licencia LGPL), y por lo tanto le conozco desde hace algún tiempo, aunque nunca nos hemos visto personalmente. Respecto a CENATIC, me sorprendió positivamente el interés hacia proyectos open source por parte de la Administración Pública, ya que este tipo de apoyos no se producen en Estonia.
Y, en cuanto a la FSFE, quiero destacar que ha hecho una aportación incalculable a OpenSC en lo que a aspectos de licenciamiento y cuestiones legales del OpenDNIe se refiere. El resultado final es un modelo a seguir para el resto de Europa como referencia de proyecto con múltiples actores y un verdadero espíritu del Software Libre. “Las tarjetas electrónicas de identidad nacional son la opción más extendida de tarjetas PKI o criptográficas de Europa, por lo que el soporte de OpenSC para este tipo de tarjetas es esencial”
M.P. El código del driver OpenDNIe está escrito desde cero, por lo que está libre de cualquier problema de incompatibilidad de licencias. Pero yo no soy abogado, ni español.
Me queda dar las gracias a Malcolm Bain, de la FSFE, quien nos ha ayudado a resolver los problemas de licenciamiento y ha aportado asistencia profesional muy valiosa en esta materia.
G.T. ¿Existe alguna iniciativa a nivel europeo para estandarizar los desarrollos de OPenSC-OpenDNIe?
M.P. OpenSC trata de seguir de cerca todas las normas internacionales y europeas, así como las de cada país. La estandarización del proceso de desarrollo se deja a los profesionales que deciden este tipo de cosas.
G.T. ¿Cuál va a ser el papel del proyecto OpenSC en el primer HackFest asociado a la Comunidad OpenDNIe de los próximos 26 y 27 de mayo?
M.P. Probablemente resolver cualquier duda que pueda surgir, así como ofrecer una orientación técnica sobre aspectos internos de OpenSC, ecosistemas o de cómo trabaja la comunidad.
G.T. ¿Cómo veis la sostenibilidad de la comunidad OpenDNIe? Basándoos en vuestra experiencia, ¿qué se requiere para su continuidad y éxito?
M.P. Una de las razones clave para la continuación de OpenSC, con respecto a otros proyectos de Software Libre similares es, en mi opinión, la diversidad de los actores.
En tanto que las tarjetas inteligentes son un sector de nicho, que requiere ciertos conocimientos técnicos y la experiencia de algunos de los contribuidores, resulta difícil atraer y mantener a desarrolladores y a otros colaboradores.
A diferencia del software a medida, que tiene una tarea única y específica, las tarjetas inteligentes pertenecen a la infraestructura, donde gran parte del trabajo para poder usarlas depende de los desarrolladores de aplicaciones (como Firefox, OpenSSH, OpenOffice / LibreOffice, etc). Cuando hablamos de Estonia, donde el tamaño del país significa que proporcionalmente hay menos desarrolladores que están interesados y capacitados para contribuir a estos esfuerzos, la situación es probablemente diferente a la de España. Pero la colaboración internacional en una plataforma común que comparta los mismos objetivos es la clave para la sostenibilidad y el éxito del proyecto.








