Download Cliente@firma.

Document related concepts
no text concepts found
Transcript
Nombre del proyecto:
Cliente @firma
Organismo que lo presenta:
Secretaría de Estado de Administraciones Públicas del Ministerio de Hacienda y
Administraciones Públicas. Dirección General de Modernización Administrativa,
Procedimientos e Impulso de Administración Electrónica
Descripción del proyecto:
El proyecto comprende el desarrollo en comunidad de una serie de componentes
software para la realización de firmas electrónicas avanzadas en cliente, con plena
adecuación de las firmas generadas a las normativas europeas (AdES,
recomendaciones EU, ec.) y españolas (política de firma, ENI, ENS, etc.).
Datos más destacables:
El proyecto Cliente @firma es un ejemplo único de proyecto abierto desarrollado en
comunidad por múltiples organismos, universidades e incluso empresas, con una
ejemplar adecuación a estándares y normativas y la máxima interoperabilidad.
Transferencia tecnológica: SÍ
La totalidad del proyecto, incluyendo fuentes y documentación se han publicado
con licencias de software libre (EUPL, GPLv2, Creative Commons).
El Proyecto Cliente @firma –
Normalización de las firmas
electrónicas en las Administraciones
Públicas
El Cliente @firma
¿Qué es el Cliente @firma?
Al contrario que la inmensa mayoría de los procesos de administración electrónica, la firma tiene
la particularidad de que debe realizarse en el entorno informático del ciudadano, pues es este
quien debe custodiar los certificados y claves privadas necesarias para el proceso, asegurándose
de que no salgan en ningún momento de su control.
Esta simple peculiaridad funcional marca todo un proyecto, ya que, y en cumplimiento del
principio de neutralidad tecnológica recogido en la Ley 11/2007, debe garantizarse que con
independencia del entorno tecnológico de los ciudadanos, estos sean capaces de generar
documentos firmados acordes a las normativas europeas y españolas.
Así, el Cliente @firma surgió inicialmente como un componente de software capaz de ejecutarse
localmente integrado en una página Web, distribuido como un Applet de Java, que realiza
operaciones criptográficas con las claves privadas del ciudadano con plena seguridad, tanto si
éstas residen en un almacén hardware, como el DNIe, como si están almacenadas en su sistema
operativo.
El Proyecto Cliente @firma
El Cliente @firma es un cliente de firma en forma de Applet de Java, pero el Proyecto Cliente
@firma es mucho más que una simple aplicación, es un conjunto de instituciones y personas que
trabajan de forma colaborativa en el desarrollo de un conjunto de aplicaciones, bibliotecas e
infraestructuras cuyo principal objetivo es facilitar a las administraciones públicas el proveer a los
ciudadanos servicios basados en firma electrónica de una forma sencilla y económica y a los
ciudadanos relacionarse con las administraciones públicas con la mayor seguridad y confianza
desde sus ordenadores y dispositivos móviles.
Partes destacadas del Proyecto Cliente @firma
El Cliente @firma ha evolucionado desde una aplicación cliente de firma rígida y monolítica hacia
una colección de recursos puestos a disposición de administraciones, desarrolladores,
integradores y en general cualquier persona o entidad interesada, entre los que se encuentran:
•
•
Diferentes Applets de Java listos para ser usados como clientes de firma.
Diferentes clientes de firma desarrollados como aplicaciones nativas para las plataformas
incompatibles con los Applets de Java:
o Cliente @firma para Apple iOS.
•
•
o Cliente @firma para Google Android.
o Cliente @firma para Windows y Windows RT (8, 8.1).
o Etc.
Aplicaciones Java de escritorio listas para ser usadas localmente por los ciudadanos en
cualquier sistema operativo (Windows, OS X, Linux).
Un conjunto de bibliotecas criptográficas de altísima calidad para permitir a
desarrolladores avanzados crearse con facilidad sus propias aplicaciones de firma (incluso
aplicaciones servidoras, no solo clientes).
Interoperabilidad como principal característica
Si hay algo que define la firma electrónica en entornos cliente es sin duda la heterogeneidad. Por
una parte, los ciudadanos disponen de muchos y diferentes entornos operativos (distintos
navegadores, sistemas operativos, entornos de ejecución, etc.) que el principio de neutralidad
tecnológica obliga a recoger, y por otra las distintas normativas existentes como la política de
firma de la AGE, el Esquema Nacional de Interoperabilidad (ENI), el Esquema Nacional de
Seguridad (ENS), etc., definen distintas formas de realizar firmas electrónicas que el Cliente
@firma debe poner a disposición de sus integradores.
El Proyecto Cliente @firma centra buena parte de su esfuerzo en estos dos aspectos, tanto
garantizar al ciudadanos que sea cual sea el medio que elija para interactuar con las
administraciones públicas van a poder hacerlo, como permitir a estas administraciones públicas
escoger las tecnologías y estándares que más se adecuen a sus procedimientos y sistemas
siempre con la garantía de que las firmas generadas con el Cliente @firma se adhieren
plenamente a las normativas vigentes y son completamente interoperables.
Por supuesto, todo ello con un doble compromiso de base:
1. Máxima seguridad, garantizando siempre la confidencialidad de las claves privadas del
ciudadano y la robustez criptográfica de las firmas electrónicas generadas, con unos
programas puestos a prueba periódicamente contra ataques maliciosos por distintos
expertos en seguridad (entre los que se encuentra el Centro Criptológico Nacional).
2. Accesibilidad. Cualquier ciudadano, incluso si sufre algún tipo de discapacidad, podrá
realizar firmas electrónicas con el Cliente @firma sin dificultades.
El futuro del Cliente @firma
Todo el entorno que rodea a la firma electrónica cliente está en constante movimiento, las
normativas de interoperabilidad evolucionan, los algoritmos de criptografía cambian para hacerse
más fuertes, aparecen nuevos formatos de documentos y firmas que cubren nuevas necesidades
y los entornos informáticos de los ciudadanos están probablemente en la mayor velocidad de
cambio que se ha visto nunca, gracias a la fuerte irrupción de los dispositivos móviles.
En esta situación, el Cliente @firma afronta numerosos retos de futuro, desafiantes retos
tecnológicos, retos por la fuerte competencia de otros proyectos similares, retos incluso por la
incertidumbre general del modelo de firma electrónica en los entornos cliente… Pero dentro del
proyecto Cliente @firma se trabaja en distintas áreas para garantizar su propio futuro y el del
modelo en el que se sustenta, desde la investigación hasta la innovación, con un trabajo
colaborativo tanto dentro de su propia comunidad como con otras comunidades, empresas y
organismos.
La innovación
Si hay algo que define el “espíritu” del Proyecto Cliente @firma es sin duda el no detenerse ante
ningún obstáculo tecnológico, por infranqueable que este parezca. Es esta actitud en el fondo la
que marca el fortísimo ritmo de innovación del proyecto, que se deja ver en todos y cada uno de
sus aspectos.
Los retos tecnológicos
Transición desde los Applets de Java
El paradigma de las aplicaciones Java de “codificar una única vez, ejecutar en cualquier
plataforma” se trasladaba a las aplicaciones Web como Applets de Java. Un Applet podía
desplegarse en una Web y ejecutarse en cualquier entorno cliente, Linux, OS X, Windows…
¡Cualquiera! Hasta hace unos meses.
Hace poco tiempo empezó a vivirse un doble cambio, por una parte los entornos de ejecución de
Applets de Java desvelaron gravísimos problemas de seguridad que ponían en riesgo los sistemas
de los ciudadanos, y por otra los sistemas que no soportan Applets de java han ido ganando
popularidad a muy buen ritmo.
Desde el Cliente @firma se trabaja activamente para lograr los beneficios de los Applets de Java
evitando sus problemas ¿Cómo? Mediante la invocación por protocolo. La invocación por
protocolo es un mecanismo que permite lanzar aplicaciones externas desde una página Web
(aplicaciones nativas o incluso aplicaciones Java). De esta forma, desde cualquier navegador Web
y cualquier sistema operativo, incluido móviles, se puede invocar al Cliente @firma incluso
cuando el usuario no cuenta con soporte de Applets de Java.
La invocación por protocolo está ya disponible en el Cliente @firma para sistemas Windows
(incluido RT), iOS, OS X, Linux y Android, ¡y próximamente soportará nuevos entornos!
Compromiso con el DNIe
El uso del DNIe es un aspecto muy importante para garantizar la identidad de los ciudadanos en
sus relaciones con la Administración, si bien se han experimentado dificultades de uso, a veces
por problemas con los controladores que pueden resultar difíciles de instalar por parte del
ciudadano o sufrir problemas de compatibilidad con los clientes de firma.
El Cliente @firma ha abordado este problema con un enfoque único: Desarrollando un
controlador propio 100% en Java (que ha recibido una certificación de seguridad Common Criteria
EAL2) que se integra dentro del propio programa. Esta aproximación permite garantizar el
adecuado uso del DNIe con independencia del estado de los controladores (¡incluso cuando están
ausentes!), tanto en Linux y OS X como en Windows, pero incluso también en dispositivos móviles
Android.
Adicionalmente, el equipo trabaja ya en preparar el Cliente @firma para el nuevo DNIe 3.0, que
permitirá su uso inalámbrico mediante tecnología FNC, característica especialmente útil en
dispositivos móviles.
Una Comunidad única en el Sector Público: La Comunidad de Software
Libre del Cliente @firma
Pero por muy impresionantes que puedan ser los logros técnicos del Proyecto Cliente @firma el
factor definitivo que hace posible su éxito es su Comunidad.
Esta Comunidad es sin duda un aspecto realmente singular dentro de las administraciones
públicas. El Proyecto Cliente @firma genera activos con licencia abierta (EUPL, GPLv1, Creative
Commons) gracias al trabajo colaborativo de distintas entidades, empresas e incluso particulares.
En el Proyecto, las decisiones de importancia se toman de una forma abierta, mediante un comité
seleccionado a través de una votación en la que cualquier puede ser candidato y en la que
participan todos los miembros de la comunidad, la cual a su vez está abierta a todos.
La Comunidad del Proyecto está formada por múltiples participantes que colaboran por un fin
común con un modelo de gestión que se desarrolla de una forma ágil y abierta, sin necesidad de
burocracia adicional, y aportando los recursos que cada uno puede y cree convenientes. De este
modo se ha conseguido que en tiempos de restricciones presupuestarias, diversos organismos de
la Administración enfoquen sus esfuerzos hacia un objetivo común gestionado a través de la
Comunidad del proyecto.
En la comunidad son muchos los miembros destacados: la Secretaría de Estado de
Administraciones Públicas, principal impulsora y promotora del proyecto, CENATIC (Red.es), que
hace posible el buen funcionamiento del grupo gracias a su experiencia en el área, la AEAT, que
pone a disposición del proyecto su impresionante capacidad de pruebas y traslada directamente
las necesidades de los ciudadanos, la Diputación Provincial de Ciudad Real, que innova
combinando características avanzadas del proyecto, como la firma en varias fases, en otro
proyecto público (AL-SIGM), la Universidad Jaume I de Castellón, que aporta su infraestructura y
conocimientos sobre forjas de software libre, la IGAE, que vela por la estricta interoperabilidad
por adherencia a normativas como el ENI…
Incluso pequeñas empresas (por ejemplo, YoHago.com S.L.), particulares o grandes corporaciones
(como Atos) realizan pequeñas pero necesarias aportaciones a la comunidad que hacen del
proyecto y sus productos mejores soluciones para ciudadanos y organismos públicos.
Esta gran comunidad no gira solo entorno a la mejora de los productos del proyecto, sino que ha
creado un gran ecosistema de más de mil personas que comparten experiencias y se ayudan entre
sí, un ecosistema que repercute directamente en la calidad del servicio que reciben los usuarios
de administración electrónica y al avance del proyecto, incluso en una situación como la actual de
escasez presupuestaria, ya que aportando cada miembro su “grano de arena” se hacen menos
necesarias las grandes partidas presupuestarias de un único organismo.
Siguiendo este espíritu de ecosistema colaborativo, el Cliente @firma es el primer proyecto
gubernamental español en integrarse en GitHub, la mayor forja incubadora de proyectos de
software libre a nivel mundial, un movimiento orientado a atraer la atención de aun más
colaboradores y facilitar el trabajo en el proyecto.
Actualmente, la Comunidad está haciendo un gran esfuerzo adicional en que no solo usuarios,
integradores y desarrolladores formen parte de esta, sino que los fabricantes de los entornos
operativos se involucren activamente para lograr la mejor interoperabilidad, y se trabaja ya de
forma conjunta con empresas como Microsoft, la Fundación Mozilla o RIM BlackBerry en lograr
una compatibilidad perfecta del Cliente @firma con sus productos, lo que sin duda repercutirá en
mejorar la experiencia de usuario y satisfacción de sus clientes.
Otras innovaciones
Además de todo lo anterior, el proyecto cuenta con importantes innovaciones técnicas únicas en
su sector, entre las que podemos destacar el soporte de dispositivos seguros de creación de
firmas en Google Android, la conexión directa con sistemas seguros de instalación de certificados
en dispositivos móviles (por ejemplo, conectando con FNMT-RCM), etc.; y en un futuro cercano
veremos importantes logros técnicos implementados, como un soporte completo de firmas
JavaScript multiplataforma o la posibilidad de incorporar firma manuscrita digitalizada con
componentes biométricos para agilizar la atención al ciudadano en ventanilla.
En definitiva un proyecto que sigue innovando con el objetivo de facilitar los servicios de
Administración electrónica a los ciudadanos gracias a los esfuerzos de todos los miembros de la
Comunidad del Proyecto Cliente @firma.
Compromiso con la interoperabilidad
Como se ha recalcado anteriormente, una de las metas del proyecto es su plena interoperabilidad
en el sentido amplio del término.
Interoperabilidad en los entornos cliente
Por una parte, el proyecto Cliente @firma está realizando un trabajo ingente para lograr una
compatibilidad universal sea cual sea el entorno operativo del ciudadano. Así, y gracias a las
aportaciones de los miembros de su comunidad, es actualmente posible que un servicio de
administración electrónica publicado en una única página Web funcione de forma uniforme en:
•
•
•
•
•
•
Microsoft Windows (XP, Vista, 7, 8, 8.1).
Microsoft Windows RT (versión específica para tabletas que carece de soporte de Java).
Apple OS X.
Apple iOS (iPhone, iPad, iPod Touch).
Linux.
Google Android.
Y ya se trabaja activamente para involucrar a los miembros de la comunidad en el soporte de
nuevos entornos, como Firefox OS, BlackBerry 10 o Windows Phone 8.
Esta compatibilidad universal es probablemente la tarea más dura a la que se enfrenta el
proyecto, y quizás la que más recursos consume, ya que cada entorno cuentas con múltiples
variantes (tipo y versión del navegador Web, versión del entorno de ejecución de Java,
arquitectura general en cuanto a 32 o 64 bits, etc.) que hacen por una parte que las labores de
pruebas sean críticas y por otra que se requiera una labor continua de mantenimiento, ya que
esos entornos operativos están en constante y rapidísima evolución, lanzando prácticamente cada
semana nuevas versiones y variantes a los cuales los activos del Cliente @firma deben ser
adaptados y probados.
No obstante, el resultado es uno de los mayores orgullos del proyecto: Es siempre el ciudadano
quien escoge como desea relacionarse con las administraciones públicas. Desde su dispositivo
preferido con el sistema de su elección.
Interoperabilidad normativa
Otro punto de especial preocupación del proyecto es la adecuación con estándares y normativas
de uso común para garantizar la interoperabilidad y validez de las firmas electrónicas generadas.
Así, el proyecto define unas líneas maestras de actuación:
1. Generación siempre de firmas electrónicas AdES según estándares ETSI.
a. Eliminación del soporte a estándares antiguos, como PKCS#7, CMS o XMLDSig,
para forzar a los integradores a la adopción de las firmas avanzadas.
b. Compatibilidad garantizada por la superación de los conjuntos de pruebas
organizados por la propia ETSI (ETSI AdES PlugTests).
2. Generación siempre de los subconjuntos de los estándares AdES atendiendo a normativas
adicionales.
a. Decisión 130/2011 de la Comisión Europea sobre formatos de firma.
b. Mandato M/460 de la Comisión Europea sobre estándares de firma.
c. Etc.
3. Generación de firmas siempre acordes a las normativas españolas de aplicación al sector
público.
a. Especialmente dos:
i. Esquema Nacional de Interoperabilidad.
ii. Esquema Nacional de Seguridad.
4. Adecuación de las firmas electrónicas a políticas de firma.
a. Políticas de aplicación en el sector público español:
i. Política de Firma de la Administración General del Estado (AGE).
ii. Política de Firma de Factura Electrónica.
b. Soporte de políticas a medida y subconjuntos de políticas existentes.
i. Los organismos pueden desarrollar sus propias políticas, que pueden
estar subordinadas a políticas existentes.
c. Adicionalmente, la comunidad del proyecto Cliente @firma trabaja activamente
en la evolución de la política de firma de la AGE.
De nuevo, el resultado es que el proveedor de servicios que haga uso del Cliente @firma puede
tener la seguridad de que las firmas electrónicas generadas son plenamente válidas, estándar e
interoperables.
Compromiso con la seguridad
Las firmas electrónicas en aplicaciones Web son una actividad con un especial riesgo para la
seguridad por distintos aspectos:
1. Son servicios que se proveen telemáticamente a través de Internet, y por lo tanto ya de
por sí susceptibles a ataques cibernéticos.
2. Son servicios que, por la naturaleza actual de la firma electrónica, necesitan componentes
adicionales al navegador Web (Applets de Java, aplicaciones externas, etc.), lo que
introduce más factores de vulnerabilidad a contemplar.
3. Se trabaja con información y datos críticos, como son tanto los documentos e información
que se firma como las propias claves privadas de firma de los ciudadanos.
4. Las firmas electrónicas basan su modelo de confianza en la propia seguridad de la
algoritmia criptográfica utilizada, sujeta a procesos de obsolescencia.
Entre ellos, son varios los que se tratan desde un punto de vista puramente rutinario desde el
punto de vista tecnológico, como los esfuerzos para prescindir de los Applets de Java o el trabajar
siembre con la algoritmia más segura basándose en el Esquema Nacional de Seguridad, pero para
otros, el proyecto Cliente @firma ha desarrollado distintas estrategias de protección, para hacer
de sus activos componentes completamente seguros.
Cumplimiento estricto de normativas de seguridad
En este caso, la clave está en el cumplimiento de las obligaciones y recomendaciones del Esquema
Nacional de seguridad en todos sus términos, especialmente en lo referente a la algoritmia
relacionada con la firma electrónica, como por ejemplo la prohibición de uso de algoritmos de
huella digital obsoletos a favor de otros más modernos y robustos, como SHA2.
Adicionalmente, ciertos componentes, como por ejemplo el controlador DNIe 100% Java
(desarrollado en el marco del proyecto en una colaboración con INTECO), han sido certificados en
su seguridad mediante Common Criteria EAL2.
Apuesta por los Dispositivos Seguros de Creación de Firmas (SSCD)
Los SSCD no son solo una mera obligación normativa (norma europea CWA-14169 y Ley Española
59/2003 de Firma Electrónica), es una garantía de la seguridad de las claves privadas de los
ciudadanos y una seguridad jurídica por parte de los proveedores de servicios contra el repudio
de las firmas.
En esta línea, el proyecto Cliente @firma es firme en su apuesta por su uso pionero en innovación
para habilitar el uso de SSCD en dispositivos móviles, con soporte de DNIe (en lector conectado
vía USB), tarjetas criptográficas en formato MicroSD o tarjetas inteligentes duales con interfaz
NFC, en preparación del futuro DNIe 3.0 (que contará también con interfaz inalámbrico NFC).
Adicionalmente, desde el proyecto se colabora con la Fundación Mozilla para habilitar
autenticación SSL con certificados en SSCD en las versiones del navegador Firefox para
dispositivos móviles.
Es importante resaltar también que la promoción del uso del SSCD no se ve desde el proyecto
Cliente @firma únicamente como una necesidad de soporte, sino también como un requisito en
cuanto a facilidad de uso, y por ello se trabaja en facilitar el uso de los dispositivos más comunes
incluso por usuarios sin experiencia o en situaciones problemáticas:
•
•
•
DNIe en cualquier plataforma (Linux, OS X, Windows, etc.) incluso cuando el usuario no ha
instalado los controladores o lo ha hecho incorrectamente.
Tarjetas FNMT-RCM o TUI (Tarjeta Universitaria Inteligente) incuso si el usuario no ha
instalado adecuadamente los controladores.
Dispositivos criptográficos compatibles PKCS#11 en Apple OS X con Google Chrome y
Safari, navegadores que nativamente no soportan esta especificación.
También es destacable que la comunidad del Cliente @firma colabora con los principales
fabricantes de SSCD, como FNMT-RCM, GyD, Gemalto, etc. en garantizar la correcta integración
de este tipo de dispositivos en los activos del proyecto y en la incorporación de las últimas
novedades tecnológicas.
Seguridad certificada por terceros
La seguridad del Cliente @firma no es un aspecto que se haya dejado a criterio de los propios
integrantes del proyecto, sino que los activos sufren constantes procesos de auditoría y
certificación realizados por terceras partes de reconocido prestigio, entre los que encontramos:
•
•
•
•
•
•
Certificación Common Criteria EAL2 (referente a módulos de acceso a DNIe).
Centro Criptológico Nacional.
INTECO en colaboración con Epoche & Espri.
S21sec.
Écija Consultoría y Seguridad.
Etc.
Estos procesos de control, más los desarrollados por colaboraciones externas (es destacables el
análisis expuesto en “Rooted Conference” 2012) y los análisis de usuarios y desarrolladores
permiten asegurar sin ninguna duda que el ciudadano puede tener todas las garantías posibles de
seguridad usando el Cliente @firma.
Conclusiones
Con el paso de los años, el Cliente @firma ha madurado hasta convertirse en un proyecto
colaborativo y abierto en el que se intenta dar una plena seguridad (incluyendo seguridad jurídica)
a los procesos de administración electrónica mediante componentes fiables y la criptografía más
robusta mientras se mantiene una perfecta interoperabilidad en las firmas electrónicas generadas
gracias a la estricta adherencia a estándares y normativas, acompañando a los ciudadanos en un
mundo tecnológico cada vez más cambiante.
Ha habido muchas inversiones desde el sector público para el fomento de la firma electrónica y
los certificados digitales, desde el DNIe hasta la plataforma @firma, pero… ¿Sería hoy el
panorama nacional de implantación de estas tecnologías el mismo sin el Cliente @firma?
Sin duda, el futuro de la firma electrónica y los certificados digitales está plagado de incógnitas y
dificultades, pero sin duda igualmente el proyecto Cliente @firma supondrá entonces el punto de
partida para superarlas.