No repudio y firmas longevas (XAdES, CAdES y PAdES)

 

Este artículo explica cómo garantizar la longevidad de las firmas electrónicas usando TrustedX.

La preservación de las firmas electrónicas

El proceso de verificación de una firma debe poder repetirse, incluso años después de su generación. Debido a que a lo largo del tiempo los algoritmos, claves y otros elementos criptográficos pueden llegar a ser vulnerables, se considera que las evidencias electrónicas son de carácter temporal, siendo necesaria su renovación (ésto es, las evidencias que en su día eran válidas dejan de serlo a partir de un momento determinado).

La solución de este problema se explica en la RFC 3126 de IETF (Internet Engineering Task Force) del 2001, también adoptada en los estándares XAdES y CAdES de ETSI (European Telecommunications Standards Institute). Los estándares XAdES y CAdES están soportados por TrustedX, distinguiendo cuatro bloques básicos de firma:

  1. Firma básica (BES) y firma con política explíicita (EPES). La firma no incluye un sello de tiempo, sino que es el firmante quien declara la fecha de firma. Un tercera parte (notaría electrónica) deberá avalar el momento de la firma y la validez de la firma.
  2. Firma con sello de tiempo (ES-T). La fecha de la firma esta avalada por una TSA, por lo que se determina con exactitud si la firma se generó antes de una posible revocación del certificado. No obstante son firmas a las que le faltan evidencias y son de corta duración por lo que se sigue requiriendo una tercera parte (notaría electrónica) que avale la validez de la firma en el momento de su generación.
  3. Firma con información completa de validación (ES-C). La firma  añade un conjunto de referencias a los certificados de la cadena de certificación y su estado (CRL o OCSP), como base para la verificación longeva. Se requerirá que una tercera parte de confianza (por ejemplo, la CA) guarde la información del estado de los certificados.
  4. Firma con evidencias electrónicas, o también conocida con la firma de archivo (ES-A). Incluye toda la información necesaria para su verificación en la propia firma y define cómo mantener la fiabilidad de dicha información mediante sellos de tiempo a lo largo del tiempo.. Este perfil de firmas son la base para las firmas electrónicas longevas y a diferencia de los anteriores perfiles, presenta la ventaja de no requerir información adicional custodiada por terceras partes de confianza para poder proceder a su posterior verificación.

Para disponer de firmas longevas de los tipos CAdES y XAdES, durante el proceso de verificación de la firma se deberán guardar y mantener todas las evidencias que posibilitarán su verificación posterior. Tal y como se ha detallado en los puntos anteriores, dichas evidencias se podrán incorporar en la propia firma o será necesario almacenarlas en sistemas externos, lo que limitará la portabilidad de las firmas electrónicas. La implementación de la funciones de preservación de la firma electrónica en TrustedX se basa en el tipo de firma ES-A, incluyendo las funciones de mantenimiento de las firmas electrónicas tal y como se especifica en los estándares.

Por otro lado, ETSI ha publicado recientemente la especificación técnica PAdES (ETSI TS 102 778). Esta especificación consta de cinco partes y define un conjunto de perfiles (PAdES-CMS, PAdES-BES, PAdES-EPES, PAdES-XML y PAdES-LTV) que describen la manera de utilizar el soporte para firmas electrónicas del formato PDF (ISO 32000-1) de modo que las firmas que se incluyan dentro de un documento PDF tengan la consideración de firmas electrónicas avanzadas, en el sentido que otorga a dicho término la directiva 1999/93/CE del Parlamento Europeo y sus correspondientes trasposiciones a las legislaciones de los distintos estados miembro (e.g. la ley 59/2003 de firma electrónica, en el caso español). Estos perfiles proporcionan a las firmas PDF características equivalentes a las de las firmas CAdES (TS 101 733) y XAdES (TS 101 903), incluyendo el soporte a la validación de documentos firmados que sean almacenados durante períodos largos de tiempo.

Sobre la base de un PDF que contenga firmas que hayan sido construidas de acuerdo a los perfiles PAdES-CMS, PAdES-BES, PadES-EPES o PAdES-XML, se pueden utilizar las estructuras de datos (Document Security Store y Document Time-Stamp) que define PAdES-LTV para actualizar el PDF de manera que la validez de sus firmas sea preservada durante períodos de tiempo arbritrariamente largos. Es decir, de manera que las firmas del PDF tengan las mismas características de perdurabilidad que las firmas CAdES-A y XAdES-A.

La preservación de las firmas usando TrustedX

Los servicios de TrustedX relacionados con la preservación de las firmas electrónicas son el servicio de no repudio y el de custodia de firmas. Ambos servicios complementan al servicio de verificación de firmas, y son accesibles como servicios web, por lo que desde la perspectiva de la aplicación la preservación de las firmas electrónicas resultará tan simple como consumir un servicio.

En Verificación de firmas electrónicas con TrustedX (PKCS#7/CMS, PDF signature, S/MIME, CAdES, XAdES, PAdES y WS-Security) se puede obtener una buena aproximación del funcionamiento del servicio de verificación de firmas de TrustedX. La interfaz del servicio de no repudio sigue, igualmente, la especificación DSS (Digital Signature Service) de OASIS para devolver, en el caso de las firmas CAdES y XAdES, la firma de archivo (ES-A) a partir de firmas básicas (BES, EPES o ES-T) o una firma de archivo actualizada (ES-A) a partir de una firma de archivo anterior (ES-A). También se permiten actualizaciones a ES-T o ES-C.

El funcionamiento es:

  • Una primera firma (e.g. una firma CMS/PKCS #7 o XML-Dsig) se complementa con información de terceras partes de confianza (información sobre revocación y sellos de tiempo). Por último, se genera una firma avanzada longeva CAdES-A/XAdES-A.
  • Por el contrario, si ya se proporciona una firma longeva, se vuelve a recoger información de las terceras partes de confianza y se agrupa para crear una firma longeva sobre la anterior (CAdES-A/XAdES-A más reciente y duradera).

En un futuro próximo, el servicio de no repudio permitirá también actualizar las firmas PAdES-CMS, PAdES-BES, PAdES-EPES y PAdES-XML, para lo cual hará uso de las estructuras de datos (diccionarios) que se definen en PAdES-LTV.

A continuación se muestra un ejemplo de solicitud de actualización de firma en formato PKCS#7/CMS usando el estándar DSS de OASIS, donde los documentos a actualizar se incluirán en el elemento <dss:VerifyRequest>. Se podrá indicar a TrustedX qué tipo de actualización debe realizar, pudiendo ser ES-T, ES-C, ES-A o updatesig (automática):

<SOAP-ENV:Envelope  Attributes>
<SOAP-ENV:Header>
         ...
</SOAP-ENV:Header>
<SOAP-ENV:Body Attributes>
<dss:VerifyRequest Profile=" urn:safelayer:tws:dss:1.0:profiles:nonrep:1.0:verify"  Attributes>
              ...
<dss:OptionalInputs>
<dss:ReturnUpdatedSignature Type="urn:oasis:names:tc:dss:1.0:profiles:XAdES:forms:ES-A"/>
</dss:OptionalInputs> 
<dss:InputDocuments>…</dss:InputDocuments> 
<dss:SignatureObject>…</dss:SignatureObject> 
</dss:VerifyRequest> 
</SOAP-ENV:Body>
</SOAP-ENV:Envelope> 

El servicio de no repudio, a su vez, se complementa con el servicio de custodia de firmas electrónicas de TrustedX. Este servicio de TrustedX se encargará de almacenar y mantener las firmas electrónicas. El servicio actualizará , de forma transparente, las firmas realizando operaciones del tipo updatesig antes de que la firma pierda su fortaleza o expire.

Ejemplos de uso del servicio de no repudio de TrustedX

En la sección de probar de esta web se pueden encontrar ejemplos de código para probar el funcionamiento de TrustedX en los aspectos de no repudio de firmas, para obtener tipos de firmas ES-T o ES-A a partir de firmas básicas BES.

  Imprimir Correo electrónico Twit