Este artículo explica cómo usar TrustedX para generar firmas electrónicas.

La generación de firmas electrónicas

El procedimiento de generación de firmas electrónicas consiste en cifrar el resumen de los datos a firmar con la componente privada de una clave asimétrica, de forma que posteriormente se pueda verificar usando la componente pública.

Las firmas podrán ser de la siguiente forma:

  1. Incrustadas en los propios datos firmados (por ejemplo, en documentos PDF),
  2. envueltas, incluyendo la firma electrónica dentro o junto los datos firmados en un mismo archivo (ejemplo típico en documentos XML) o
  3. separadas, guardadas en un archivo diferente de los datos (detached).

Los formatos más habituales y reconocidos por la industria son:

  1. PKCS#7/CMS, CAdES, PDF Signature, PAdES, XML-Dsig y XAdES para documentos,
  2. S/MIME para mensajería electrónica o
  3. WS-Security para la securización de los mensajes SOAP

Uno de los aspectos críticos en la generación de la firma electrónica es la seguridad y custodia de la clave privada. Para garantizar el no repudio de la firma electrónica, es imprescindible que la clave privada esté siempre bajo el control exclusivo del firmante. Consecuentemente, los sistemas de firma electrónica conllevan la gestión de un almacén seguro de claves que debe imposibilitar su copia y el uso no autorizado.

Las firmas electrónicas se pueden realizar en el propio sistema del usuario (p.e. un ordenador personal o un teléfono) o bien por procesos de negocio automatizados (p.e. facturación electrónica). En el primer caso es habitual almacenar las claves en tarjetas inteligentes o tarjetas SIM, mientras que en el segundo escenario es habitual el uso de dispositivos HSM y se requiere su integración en las aplicaciones corporativas.

Es en este último caso dónde TrustedX está especialmente indicado ya que permite la integración de la gestión de todos los tipos y formatos de firmas de manera simple para las aplicaciones, permite la gestión de grandes volúmenes de firmas y ofrece un entorno de gestión de claves privadasseguro mediante el uso de HSM y auditable.

La generación de firmas electrónicas usando TrustedX

Al igual que el resto de funciones relacionadas con la firma electrónica, desde la perspectiva de la aplicación, la implantación del proceso de generación de una firma electrónica consistirá en consumir un servicio de TrustedX. La aplicación deberá enviar el documento o el hash del documento a firmar a TrustedX, indicando el formato de firma electrónica deseado, para que sea éste quien genere la firma electrónica.

Una de las ventajas de TrustedX, es que ofrece un entorno seguro y auditable que se encarga de la custodia de las claves privadas de la aplicación, haciendo transparente a todas las aplicaciones y automatizando las tareas de gestión tales como solicitud, revocación o renovación de claves.

La gestión de las políticas de firma electrónica también se delega en TrustedX, haciendo posible de esta forma su gestión centralizada, pudiendo establecer los parámetros de firma electrónica tales como algoritmos, roles del firmante, compromisos de firma electrónica, lugar de la firma electrónica o la incorporación del sellado de tiempo.

Al igual que el resto de servicios de TrustedX, el servicio de firma electrónica se puede usar como SOAP/WS, REST/WS o mediante la API Java de TrustedX. Para conocer las diferentes arquitecturas de integración de TrustedX, consultar el howto “Arquitecturas de Integración con TrustedX”.

A continuación se muestra un ejemplo de solicitud de firma digital XML usando el estándar DSS de OASIS, donde los documentos a firmar se incluirán en el elemento . La clave a usar se indica mediante su correspondiente DN, y sobre la cual se dispone de privilegios de uso.

<SOAP-ENV:Envelope Attributes> <SOAP-ENV:Header>          ... </SOAP-ENV:Header> <SOAP-ENV:Body Attributes> <dss:SignRequest Profile=" urn:safelayer:tws:dss:1.0:profiles:xades:1.0:sign " Attributes>               ... <dss:OptionalInputs> <dss:KeySelector> <css:KeySelector> <Name dss:Format="urn:oasis:names:tc:SAML:1.1:nameidformat:X509SubjectName"> CN=Homer Simpson, O=Safelayer, C=Es </Name>    ... </css:KeySelector> </dss:KeySelector> <dss:InputDocuments>…</dss:InputDocuments>	<dss:OptionalInputs> </dss:SignRequest> </SOAP-ENV:Body>
</SOAP-ENV:Envelope> 

Utilizamos cookies para mejorar nuestro sitio web y su experiencia al usarlo. Las cookies utilizadas para el funcionamiento esencial de este sitio ya se han establecido. Para obtener más información sobre las cookies que utilizamos y cómo eliminarlas, ver nuestra Política de Privacidad.Acepto las cookies de este sitio