Professional Documents
Culture Documents
Electrónica
Referencia: AST-EFIRMA-BuenasPracticasFirma.doc
Autor: Sergio Loras
Fecha de creación: 17/05/2007
Última actualización: 20/05/2008
Versión: v1.2
Clasificación: Público
Buenas Prácticas de Firma Electrónica
Clasificación: Público
Registro de cambios
Versión Fecha Autor Descripción
V1.0 17/05/07 Sergio Loras Creación del documento Inicial
V1.1 17/03/08 Sergio Loras Revisión de contenidos
V1.2 16/05/08 Sergio Loras Revisión de contenidos
Revisores
Nombre Área
Victoria Coronas Aragonesa de Servicios Telemáticos
Lista de distribución
Nombre Área
Documento Público
Clasificación: Público
Contenido
1. INTRODUCCIÓN................................................................................................................................. 4
2. ACTORES ........................................................................................................................................... 5
Clasificación: Público
1. Introducción
El objetivo de este documento es sugerir una serie de recomendaciones para los
desarrolladores de aplicaciones de firma electrónica, basadas en la Directiva Europea
1999/93/ES, las normativas vigentes a nivel estatal y autonómico, y diferentes documentos del
European Telecommunications Standards Institute / Electronic Signatures and Infrastructures
(ETSI/ESI).
Los retos que debe atender la firma electrónica son garantizar la identidad del firmante y
garantizar que el documento no ha sido modificado tras ser firmado.
Clasificación: Público
2. Actores
Los actores principales en los procesos de firma electrónica son tres:
Los prestadores de servicios de certificación (CSP), son las entidades que nos
ofrecen uno o más servicios que nos ayudan a crear relaciones de confianza entre
le firmante y el validador.
Clasificación: Público
Firmas de corta duración: firmas que no necesitan ser validadas después de que
expire la validez del certificado del firmante. Una vez que el certificado del firmante
esté caducado o revocado, esa firma perderá toda validez legal.
Firmas de larga duración: firmas que van a tener que ser verificadas posiblemente
después de que el certificado del firmante haya expirado, incluso después de que el
certificado del emisor del certificado haya expirado. Para ello se recurren a metodos
como los sellos de tiempo y a la preservación de los metodos de revocación para
prolongar la validez de la firma.
Para las firmas en XML tendremos el formato XAdES, y para las firmas en ASN.1 tendremos el
formato CAdES. Dentro de estos dos formatos podremos considerar varios niveles,
dependiendo de la información que esté contenida en la firma. Las firmas en sintaxis XML son
equivalentes a las firmas en sintaxis ANS.1 del mismo nivel.
Clasificación: Público
Para más información, en los documentos TS 101 733 y TS 101 903 del ETSI se describen a
más detalle los siguientes formatos de firma en sus variantes ASN.1 (CAdES) y XML (XAdES)
respectivamente.
Clasificación: Público
Para todos los procedimientos expuestos a continuación, se debe contemplar que tienen que
permitir el uso de todos lo certificados emitidos por las autoridades de certificación con las que
el Gobierno de Aragón ha llegado a convenio para reconocerlas.
En el caso de utilizar el protocolo TLS, bastaria con configurar el servidor para pedir una
autenticación TLS y asi despreocuparnos de implementar el mecanismo de firma. Pero
igualmente en este caso, tambien se deberia implementar el mecanismo para obtener los
atributos del certificado del usuario y tratarlo como en el caso anterior para poder llegar a darle
acceso a la aplicación.
Los algoritmos usados para realizar la firma deben ser seguros y no mostrar
ninguna vulnerabildad, por lo que estos deben ser configurables dentro de la
aplicación, para posibles cambios en el futuro.
Clasificación: Público
El certificado del firmante tiene que ser uno de los emitidos por las autoridades de
certificación reconocidas por el Gobierno de Aragón.
Localización de la firma.
En los casos que queramos firmar un documento XML, la firma que debé realizar el usuario
será inicialmente una XAdES-BES o XAdES-EPES attached enveloping o enveloped. En el
caso de que no firmemos todo el XML, sino unos nodos en concreto, el formato sera
enveloped obligatoriamente.
Una vez tengamos esa firma deberemos actualizara hasta un nivel que satisfazca las
necesidades de su tiempo de vida estimado. Como minimo la firma se actualizara hasta un
nivel XAdES-T, para permitirnos situar en el tiempo el momento de la firma.
En caso de que la firma no tenga que perdurar mas haya de la vida del certificado del firmante
o incluso hasta la validez del sello de tiempo que nos proporcionara el nivel XAdES-T, no sera
necesaría otra actualización. Esto se dará en los casos que solo nos interese la integridad del
documento y la identidad del firmante.
En caso de que la firma tenga que perdurar un mayor tiempo, la firma debería ser actualizada
hasta un nivel XAdES-X-Long para evitar problemas a la hora de la futura verificacion.
Si la firma tiene que perdurar indefinidamente por motivos de no repudio, el nivel de ésta sera
XAdES-A.
Clasificación: Público
Aunque existan firmas PDF, que pueden integrarse en el propio PDF y ser reconocidas por
Adobe Reader y verificadas por él, éstas, al no ser firmas avanzadas (son firmas CMS
detached incrustadas en el PDF) y por lo tanto, no aseguran su perdurabilidad a lo largo del
tiempo, no son recomendadas desde AST.
Es recomendado entonces seguir los mismos pasos de firma para un documento binario
cualquiera.
El documento.
La firma electrónica.
Estado de la validación.
Clasificación: Público
El estado de la firma.
La fecha de la firma.
Otro contenido del certificado del firmante (Nombre, apellidos, NIF, correo…).
Usando formatos avanzados de firma como lo son CAdES y XAdES, tenemos resuelto el
problema de asegurar la vida de una firma gracias a los resellados de tiempo que proporciona
el nivel mas alto de estos formatos: AdES-A (Archival Electronic Signature).
Este nivel está preparado para ir guardando sellos de tiempo sucesivos que nos aseguren la
validez de la firma hasta que creamos conveniente.
Una aplicación debe encargarse de resellar sus documentos firmados en estos casos:
Antes de que caduque el ultimo sello de tiempo, es decir antes de la fecha marcada
por el campo Valido hasta del certificado de la Autoridad del Sellado de Tiempo.
Este proceso puede ser automatico, ya que se sabe de antemano la fecha de
caducidad del certificado de la TSA.
Clasificación: Público
4.5. Certificados
En todos estos procesos, los certificados son los encargados de autenticar al firmante,
mediante la relación que crea entre su identidad y las claves usadas en el proceso de firma.
Por ello es importante saber, que certificados se pueden usar en cada caso.
Firma de documentos, para este caso, como el objetivo será el no repudio de esos
documentos y que la firma tenga la misma validez legal que la manuscrita,
deberemos usar certificados reconocidos perparados para esto. Por ejemplo un
certificado de servidor (su único objetivo es autenticar el nombre de un sitio web)
nunca puede ser usado para la firma de documentos. Si el firmante es una persona
fisica, deberá usar un certificado personal o de persona juridica, si es un proceso o
una aplicación la que realiza la firma, se usará un certificado de entidad o de
componente.
Ademas del tipo de certificado, es importante establecer quien debe encargarse de custodiar
esos certificados y parejas de claves.