Viafirma: Plataforma de firma y autenticación digital
El objetivo del proyecto es la creación de una plataforma de firma digital que venga a simplificar el desarrollo de aplicaciones que requieran usar Certificados Digitales. Cualquier aplicación puede hacer uso de la autenticación y firma digital utilizando los servicios que el sistema ofrece, abstrayendo a las aplicaciones de los prolemas relacionados con el uso de certificados digitales, como son la criptografía de clave pública, la validación usando CRLs o OCSP, la lectura de certificados, el uso del dni electrónico, etc.
Noticias
- 21/4/2008
. Publicada versión 1.2.5 de la plataforma, la lista de nuevas funcionalidades y mejoras es la siguiente:
- Migración del stack WebSerice utilizado, antes Xfire, ahora JAX-WS 2.1.
- Nuevo método para el envío de emails
firmados digitalmente.
- Cache de CRLs
para minimizar el número de accesos a CRLs externas.
- Soporte de firma en servidor
(indicando el alias y el password) y custodia de documentos firmados offline.
- Actualizada la versión de la librería OpenId
para el soporte completo de OpenId 1.1 y OpenId 2.0 (draft)
- Mejorada la documentación de instalación y creada aplicación pre-empaquetada .war .
- Añadido digito de control al identificador de firma.
- Validación y recuperación de documentos custodiados mediante el identificador del documento.
- Uso de friend-url para el acceso a documentos custodiados, ej:http://viafirma.viavansi.com/viafirma/v/Y1MW-9LE3-JE81-2087-8160-3774.
- Mejorado el renderizado del QR-CODE, añadida información hash del documento y mejoradas en el formato de la etiqueta.
- Mejorado el renderizado del justificante pdf, para formatos no A4.
- Parametro para control de acceso al Servicio Web
, ALLOWED="ip,ip2" indica que ips tienen permiso para acceder al servicio web.
- Soporte de certificados almacenados en el "Acceso a llaveros" de Mac OS X.
- Solución de bugs en la aplicación de ejemplo en IE6 e IE7.
- Solución de bug en el envio de mimetype al navegador.
- Añadido método al api cliente, que permite retornar una imagen png con el código de barras y QR code del documento custodiado
.
- Se ha añadido a la demo de la plataforma la posibilidad de firmar un documento de ejemplo, sin necesidad de subir uno ya existente.
- Mejorado el parseador de Oids, para extraer correctamente los datos del certificado.
Funciones de la plataforma Viafirma
- Autenticación
. Cuando una aplicación Web requiera autenticar a sus usuarios mediante Certificado digital (incluido el DNIe) podrá delegar en la plataforma para que sea ésta la encargada de solicitar el Certificado al usuario, recuperar la información, comprobar su validez y devolver a la aplicación la información obtenida.
- Firma Digital
. Cuando una aplicación Web requiera que sus usuarios firmen la documentación entregada, realicen transacciones no repudiables o cualquier otro tipo de información que requiera no repudio, podrá delegar en la plataforma para que sea ésta la que firme, almacene, custodie y verifique la transacción o información presentada.
- Custodia Digital
. Un pilar muy importante de la firma digital es la custodia de los documentos firmados para que estos puedan ser recuperados y comprobados. Para ello se implementa un sistema de custodia documental basado en XMLSignature.
Características técnicas de Viafirma
- Utilización de Algoritmos estándares de criptografía como el Advanced Encryption Standard
(AES) que es el sustituto natural de Data Encryption Standard (DES), que actualmente se considera inseguro.
- Uso conjunto de QR Code
y Códigos de barra UCC 128
para el sellado de documentos Pdf. Generando comprobantes de firma que contienen códigos QR con toda la información del proceso de firma.
- Uso de XMLSignature
como formato de datos para el intercambio y custodia de los certificados y documentos firmados.
- Uso de OpenId
como protocolo de intercambio de información entre el Cliente y el Servidor de autenticación y firma.
- Para facilitar la obtención de certificados, soporta el acceso a certificados (X.509 ) almacenados en ficheros PKCS12s
, así como el acceso a Microsoft Windows Keystore (CAPI)
, Java User Key Store
y Acceso a Llaveros de Mac OS X
.
- J2EE 1.4. Implementado 100% Java
, lo hace un producto multiplataforma y con una arquitectura bien definida y fácilmente ampliable, necesitando solamente un contenedor que implemente la especificación Servlet 2.3/JSP 1.2 .
- Independencia de la infraestructura base del Certificado X.509 estándar, habiendo sido probado correctamente con multitud de certificados, entre los que se encuentran :
- Certificado de Avansi CxA.
- Certificado de persona física de la FNMT (Se requiere la firma de un convenio para la validacción y acceso a las CRLs de la FNMT).
- Certificados de persona física de ANCERT.
- Certificados de persona física de Camerfirma.
- eDNI español (DNI electrónico de la Dirección general de la Policía y de la Guardia Civil).

- Uso de Bouncy Castle Crypto APIs, que es una librería criptográfica libre que implementa JCE 1.2 (Java Cryptography Extension de Sun).
- Validación de Certificados digitales utilizando CRLs
publicadas mediante HTTP o contenidas dentro de LDAP
(como en el caso de la FNMT).
- Validación de Certificados digitales mediante OCSP.
- Diagrama de arquitectura de viafirma
