You are on page 1of 16

Una visión práctica desde el punto

de vista de proveedor de servicios

13/04/2016
Arquitectura de Cl@ve Firma
Componentes básicos

Plataforma @firma

Componente Distribuido
APLICACIÓN
DE FIRMA

Componente Central
de Integración
Cl@ve Firma

Aplicación Creación y mejora de firmas AdES Custodia y uso de claves

2
Arquitectura de Cl@ve Firma
Componentes básicos

▶ Módulo de custodia y uso de claves privadas y certificados.


– Servicio ofrecido por GISS / CNP al que se accede mediante un API simple.
– Funcionalidades básicas (crear y listar certificados y usar claves privadas).
▶ Módulo de integración de Cl@ve Firma.
– Componente “centralizado” (aplicación JEE).
• Gestiona las interconexiones con el módulo de custodia y uso
de claves privadas y certificados.
• Realiza firmas AdES-BES/EPES (XAdES, PAdES, CAdES).
• Si se conecta con una Plataforma @firma, realiza firmas AdES
mejoradas.
– CAdES y XAdES T/X/XL/A y PAdES-LTV.
– Provee un interfaz de servicios Web tipo REST para su uso.
– Dispone de servicios de seguridad y registro de auditoría.
– Componente distribuido.
• Consume los servicios del componente centralizado para su
uso directo en cualquier tipo de aplicación (Web, móvil,
portafirmas, etc.).

3
Arquitectura de Cl@ve Firma
Componentes básicos

Usando los componentes de integración de Cl@ve


Firma (provistos sin coste y con soporte por el
MinHAP) podemos abstraernos por completo de la
capa de custodia y uso de claves privadas, disponer
de todas las funcionalidades necesarias de firma
electrónica y centrarnos en las aplicaciones y los
servicios al ciudadano.

4
Componentes de integración
Cl@ve Firma
▶ Componente centralizado.
– Pensado para unificar las funcionalidades de firma en la nube que van a
necesitar todas las aplicaciones de una organización o conjunto de
organizaciones.
– Entorno de ejecución muy simple:
• Aplicación Web Java (Apache Tomcat, RedHat Jboss, etc.).
• Uso simple de base de datos (MySQL, Oracle).
– Funcionalidades integradas:
• Centraliza conexiones con sistemas externos:
– Conecta con el módulo de custodia y uso de claves y certificados.
– Conecta con la Plataforma @firma para la mejora de firmas).
• Realiza firmas electrónicas AdES de cualquier tipo (localmente, no necesita la
Plataforma @firma).
• Mejora firmas electrónicas AdES (a formatos longevos) conectándose con la
Plataforma @firma.
• Mantiene un registro de auditoría.
• Gestiona usuarios/aplicaciones (control de qué aplicaciones pueden hacer uso del
servicio).

5
Componentes de integración
Cl@ve Firma
▶ Componente distribuido.
– Para integración directa en cualquier tipo de aplicación (Java, .NET, PHP).
– Provee las funcionalidades necesarias con un API programático
extremadamente simple de usar:
• Listar los certificados asociados a un ciudadano (a partir de su número DNI).
• Escogiendo el certificado a usar y el formato, firmar un documento.
• Redirigir al usuario a Cl@ve para que autorice la operación.
– Se proporciona un ejemplo de uso de este componente en forma de
aplicación Web (completamente funcional) usando Java (JSP), con un interfaz
puro HTML de cara al usuario final.

Autorización
Selección del
Identificación de la
Selección certificado
del operación
datos a de firma (si Firma
ciudadano por parte del
firmar. hay más de
por su DNI ciudadano
uno).
(Cl@ve).

6
Cl@ve Firma
Demostración simple

7
Cl@ve Firma
Demostración simple

8
Cl@ve Firma
Demostración simple

9
Cl@ve Firma
Demostración simple

10
Cl@ve Firma
Demostración simple

11
Cl@ve Firma
Demostración simple

12
Cl@ve Firma
Integrando Cl@ve Firma

▶ Instalaciones Web que actualmente usan firma cliente:


– Es posible el desarrollo de componentes JavaScript que emulen el API de los
componentes actuales de firma cliente (Cliente @firma, Applets de Java,
ActiveX, etc.).
• Con esta aproximación se puede realizar una migración de firma cliente a
firma en la nube, o una coexistencia de ambos modos de una forma
directa, con un impacto mínimo en las aplicaciones.
• Las normas de accesibilidad del sector público permiten el uso de
JavaScript, siempre que se respete un nivel AA de WCAG 2.0.
▶ Aplicaciones móviles nativas (portafirmas, etc.).
– La disponibilidad del componente distribuido da la flexibilidad que necesitan
las aplicaciones móviles, es posible cualquier integración.
• Objective-C / Swift en iOS, Java en Android, etc.
▶ Servicios de firma de nuevo desarrollo.
– Una extraordinaria oportunidad, la integración de Cl@ve Firma es sencilla, y
carece de las dificultades asociadas tradicionalmente a la firma cliente.

13
Cl@ve Firma
Integrando Cl@ve Firma

▶ ¿Cl@ve Firma con distintos tipos de certificados?


– ¿Certificados de empleado público? ¿Certificados de representación?
¿Certificados emitidos internamente en una organización?
– Los componentes de integración de Cl@ve Firma están preparados
para funcionar con distintos proveedores, proporcionando una
interfaz genérica que puede implementarse para cualquier otro
proveedor del servicio de generación, custodia y uso de claves y
certificados.
• No es necesario modificar el código fuente de los Componentes de
Integración de Cl@ve Firma, únicamente incorporar la nueva
implementación del interfaz y configurarlo en un simple fichero de
texto.
• Es posible configurar (con una implementación más trabajada) un
sistema que trabaje simultáneamente con varios proveedores.
– Por ejemplo, uno para certificados de ciudadano y otro para certificados
de representación, y que el sistema conmute de uno a otro según la
lógica que escojamos.

14
Cl@ve Firma
Integrando Cl@ve Firma

▶¿Cl@ve Firma en nuevos entornos?


– Los componentes de integración de Cl@ve Firma están
desarrollados como una aplicación genérica “Java Web”, con
un uso muy simple de bases de datos.
– Es posible la adaptación a cualquier servidor de aplicaciones
Java (JEE o contendor de Servlets), al no hacer uso de
características propietarias de ningún sistema el esfuerzo
necesario es mínimo.
– Igualmente, el uso de bases de datos es muy sencillo, y puede
adaptarse con facilidad a cualquier sistema gestor de bases de
datos.
– El componente distribuido puede migrarse prácticamente a
cualquier lenguaje y entorno, ya que la inmensa mayoría de la
lógica y el 100% de la criptografía se delega en el
componente centralizado.

15
Thank you
Atos, the Atos logo, Atos Consulting, Atos Worldline, Atos Sphere, Atos
Cloud and Atos WorldGrid
are registered trademarks of Atos SA. June 2011

© 2011 Atos. Confidential information owned by Atos, to be used by


the recipient only. This document, or any part of it, may not be
reproduced, copied, circulated and/or distributed nor quoted without
prior written approval from Atos.

Tomás García-Merás
+34 619980058 – tomas.garciameras@atos.net