Buscar
Cerrar este cuadro de búsqueda.

Firma electrónica en las comunicaciones seguras con los bancos

Minsait

-

La suplantación de identidad es uno de los miedos latentes que existen en la sociedad. De hecho, de acuerdo a una de las últimas encuestas de Eurostat, el 7% de los europeos dicen conocer a personas que han sido víctimas de robo de identidad en el último año. Por desgracia, en ese mismo estudio, el 47% de los europeos (55% de los españoles) dicen no estar bien informados de los riesgos de la ciberdelincuencia. Por ese motivo, hemos pensado que sería bueno explicar mejor uno de los mecanismos que pueden prevenir ese tipo de delitos y que, además, está al alcance de todas las empresas desde hace años: la firma digital.

En este texto pretendemos ser didácticos, no exhaustivos, para que cualquier tesorero y financiero con interés pueda conocer las ventajas del uso de la firma electrónica y, sin ánimo de abrumar con siglas ni conceptos, también esperamos ayudar con este texto a aclarar mejor las diferencias entre los principales tipos de firma utilizados en España para saber elegir el más conveniente en cada caso.

Escribimos estas líneas desde nuestra experiencia como Minsait, compañía del grupo Indra, donde desarrollamos desde hace más de 30 años el software Onesait Editran, que es el protocolo más utilizado en España para la tesorería transaccional y se utiliza en la mayoría de casos para facilitar comunicaciones seguras punto a punto entre empresas o entre empresas y sus bancos en España (descarga de movimientos o emisión de remesas de pagos).

 

¿Por qué se utiliza la Firma Electrónica?

Ya sea recorriendo las webs de banco a banco, o con un sistema de conexión automatizado como Editran (unido o no a sus ERPs), las empresas envían sus remesas de pagos digitalmente a los bancos. En todos los casos, el reto es similar: ¿cómo estar seguros de que la información comunicada al banco no ha sido alterada y mantiene la autorización de la persona o personas que tienen los poderes adecuados para emitir el pago?

Lo primero es saber que son los bancos (o servicios subcontratados por ellos) quienes se aseguran de bastantear los poderes, y de saber qué persona dentro de una empresa es la que ordena un pago y tiene los poderes apropiados. Pero también es necesario autenticar, es decir, estar seguro de que quien se comunica con el banco sea esa misma persona y no otra la que ordena el pago: ahí interviene la firma.

En el mundo tradicional, presencial, la autenticación se produce reconociendo el origen de la transacción identificando presencialmente al tesorero, comprobando por teléfono o con la firma manuscrita. Pero hay una manera más segura y conveniente desde hace tiempo y que recomiendan (y utilizan) todas las autoridades bancarias y los expertos en seguridad: la firma electrónica.

Tanto es así, que la firma electrónica está reconocida legalmente como un equivalente electrónico al de la firma manuscrita. La legislación lo hace posible en toda Europa desde hace muchos años. Aunque equivalente legal, nosotros, como profesionales de esto insistimos en que es muchísimo mejor que la firma manuscrita porque el control último está en el tesorero o la persona con poderes.

En 2019 el Banco de España revisó el modelo de seguridad de Editran con ocasión de la directiva PSD2 y lo homologó siempre que los clientes usasen los últimos protocolos de seguridad. En concreto, la última versión de Editran y un par de módulos llamados AES y RSA, de los que ya hemos hablado en algún boletín anterior de Asset.

En aquella ocasión, el Banco de España también recomendó que se usase la firma electrónica como SCA (Strong Consumer Authentication), pero la adopción de esta última está siendo más lenta. ¿La razón? La responsabilidad de cumplir la directiva PSD2 es de los bancos, más que de las empresas, y con el uso de AES-RSA muchos pueden alegar estar ya aplicando la directiva. Sin embargo, la seguridad adicional que ofrece la firma electrónica es un beneficio extra de seguridad para el tesorero o el financiero de la empresa, como mecanismo de seguridad adicional ante eventos que pueden suceder dentro de su propia organización. Como los bancos no lo impulsan por normativa, sino por recomendación de buen uso, es más difícil que las empresas conozcan e impulsen la recomendación que también les hizo a ellos el Banco de España.

De hecho, sólo la firma da el control final a la persona del tesorero. El certificado se emite a nombre del tesorero con cargo a sus poderes para representar a la empresa al ordenar pagos. Y permanece bajo su estricto control. Con la firma digital se puede automatizar todo el proceso entre los sistemas informáticos de la empresa y los bancos, pero el botón último para autorizar un pago permanece en manos del tesorero.

Para ser estrictos, en las empresas se está utilizando la firma para dos usos frecuentes:

  1. Firma de documentos como mecanismo de validación interno en las empresas
  2. Firma “real”, de envío de la autorización a los bancos.

Aunque son procesos separados, y hay empresas que empiezan por digitalizar primero sus procesos internos y luego dar el salto hacia el envío, últimamente vemos el efecto contrario: muchas empresas aprovechan la tracción de la firma “real” para replantear en simultaneo sus procesos de firma y validación internos.

Por eso muchas empresas como la nuestra ayudamos no sólo a implementar el software necesario para la firma, sino que acompañamos a las empresas en la revisión de sus procesos de firma internos para encontrar la manera más eficaz y eficiente de llevarlos a cabo según sus reglas internas (firmas secuenciales, mancomunadas, por importes…). Los requisitos de cada empresa son diferentes, pero los softwares versátiles y consolidados en el mercado, como Editran, se adaptan a todos los casos de mercado.

 

¿Qué componentes tiene la firma electrónica?

Lo indispensable que cualquiera interesado en firma debe saber es que para la firma se necesitan dos elementos:

  • Un certificado digital para firmar emitido por una entidad de confianza
  • El propio proceso de la firma

Lo primero, el certificado, es un archivo que tienes. Se obtiene a menudo por internet a través de organismos reconocidos. Es algo cada vez más popular y, de hecho, muchos de nosotros hemos tenido nuestras primeras experiencias en cuanto al uso firma electrónica a través de los certificados incluidos en el DNI electrónico personal o los certificados de la FNMT.

Esos certificados emitidos por Entidades de Confianza son, con perdón por la sobre-simplificación, el símil digital del Notario en el mundo analógico, entendiendo como mundo analógico el mundo de las firmas a bolígrafo. Esas entidades validan, por ejemplo, que el firmante es quien dice ser, expidiendo certificados tanto a nivel del individuo como a nivel empresa (y otras muchas modalidades como la de representante de entidades). Evidentemente, no es algo que se pueda hacer a distancia, sino que a menudo implica presentarse ante una entidad, presentar el DNI, y hay alguna persona física que se asegura de que la documentación presentada corresponde a la persona que tiene enfrente.

También hay entidades de confianza que emiten otro tipo de certificados de utilidad para las firmas electrónicas, como el servicio de Sellado de Tiempo emitidos por las Autoridades de Sellado de Tiempo (TSA). Estos actúan como tercera parte de confianza testificando la existencia de dichos datos electrónicos en una fecha y hora concretos. De nuevo, salvando las distancias, es como tener a un notario que de fe del momento de envío en cualquier momento del día.

Esa información del TSA se utiliza en los contratos donde el momento temporal es especialmente relevante, y se guarda en algunos formatos de firma como el XAdES que explicaremos más adelante.

Lo segundo, el proceso de firma, se ejecuta a través de softwares específicos como el que facilitamos en Minsait a través de Editran, que permiten vincular unívocamente la firma al fichero firmado.

Los softwares de firma electrónica pueden configurar su proceso de firma con dos parámetros que a veces resultan confusos:

  1. La lógica de firmado en el proceso de firma electrónica
  2. Los formatos o modos de firma

En las próximas líneas procedemos a explicarlos con más detalle.

 

Lógica de firmado: firmas mancomunadas, secuenciales…

Existen tantas lógicas de firmado como empresas, pero las características de firmas más habituales a las que nos enfrentamos son las siguientes:

  • Número de firmantes:
    • Que exista un único firmante autorizado con poderes notariales
    • O que las firmas puedan realizarla distintas personas dentro de un grupo de firmantes (donde pueden requerirse 1, 2 o más firmas para dar por bueno el documento). A estas últimas se les conoce también como firmas solidarias o firmas mancomunadas según se requieran las firmas de uno o todos los intervinientes respectivamente.
  • Limitación de importe para cada firmante: puede ser que el firmante, o grupo de firmantes, tenga un importe máximo de firma autorizado
  • Autorización limitada para revisar los detalles de las firmas: puede ser que algunos firmantes puedan/deban revisar el detalle de los conceptos antes de firmar, y otros sólo tengan permisos para ver los importes totales agregados. Estos casos son muy comunes en los procesos de firmas de pagos de nóminas, donde a menudo el área de Recursos Humanos sí puede revisar el detalle, pero el área financiera sólo debe ver los totales.
  • Que los firmantes deban realizar (o no) las firmas en un orden determinado:
    • Si todos los firmantes tienen la misma autoridad, también se le conoce como “co-firma”, y se utiliza típicamente en la firma de documentos que son resultados de reuniones, conferencias o comités.
    • Si los firmantes tienen distinta autoridad o permisos, y unos refrendan o certifican las firmas de otros (no se firma el documento, sino la firma realizada previamente sobre el documento), al proceso se le llama también contra-firma o firma en cascada, y el orden en el que se estampan las firmas es especialmente importante. Este proceso, en analógico (con bolígrafo) es similar a los clásicos porta-firmas que escalan en autoridad a lo largo de la organización.

 

Proceso de firma: ¿Qué son los formatos de firma?

El formato de firma es la forma cómo se genera el documento de firma y cómo se guarda o estructura la información de firma en el documento generado. Simplificando mucho a efectos didácticos, y haciendo una comparación con el mundo analógico (el de las firmas a bolígrafo), se podrían hacer estos paralelismos:

cuadro elementos del formato de firma

¿Hay una firma mejor que otra? Depende. Por ejemplo, es habitual que la firma del alquiler de una vivienda se realice como un contrato entre particulares, donde es suficiente una firma en el contrato y un apretón de manos. ¿Podría hacerse ante notario? Sí, pero no suele ser la costumbre. En cambio, al comprar una vivienda, normalmente se exige pasar ante notario y formalizar todos los papeles de la hipoteca y de la compraventa con más detalle. ¿Podría solucionarse con otro apretón de manos? Seguramente sí, pero no suele ser costumbre. ¿Son válidos y defendibles ante un juez ambos contratos en caso de disputa? Sí lo son, aunque probablemente sea más evidente el veredicto con un documento ante notario que con una firma sin verificar. El uso de una modalidad de firma u otra depende de la seguridad con la que queramos blindar la transacción, y eso es una decisión subjetiva tanto de quien firma como de quien recibe la firma.

Para recoger toda la heterogeneidad de modelos de firma, existen distintas estructuras de firmas, desde las más sencillas hasta las más complejas, a menudo solicitadas por organismos públicos que requieren el máximo rigor en caso de disputa. Intentaremos explicarlas en las siguientes líneas.

 

Estructura de la firma: PKCS#7, XAdES…

Las estructuras de firma definen cómo está organizada la información (el orden de esa información dentro del fichero, el título de los distintos conceptos de firma, la opcionalidad de esos conceptos, etc.) y existen varios formatos que se utilizan comúnmente:

PKCS#7

En criptografía, PKCS (Public-Key Cryptography Standards) se refiere a un grupo de estándares de criptografía de clave pública concebidos y publicados por los laboratorios de RSA en California.

En concreto, el estándar PKCS#7 es un conjunto de normas para firmar y encriptar documentos, normalmente usado en el e-mail para la autenticidad y privacidad de los datos contenidos en ellos, pero tiene muchas más aplicaciones en el mundo de la firma electrónica

 

¿Cómo es el proceso de firma mediante PKCS#7?

Hay muchas modalidades de firma PKCS#7: data, single, enveloped… pero a grandes rasgos, para cualquier tesorero o financiero, lo que merece la pena entender es que este tipo de firmados generan archivos de poco tamaño, y ágiles en la transmisión. Por contra, la cantidad de información transmitida mediante la firma es menor que en los casos de XAdES que veremos más adelante. Siguiendo el símil utilizado más arriba, es el caso más parecido a firmar el documento en la página final como un visto bueno, sin guardar más detalles como el momento exacto de la firma ni otros detalles explícitos sobre la firma más allá de que la persona sí es quien dice ser (gracias al certificado digital).

El proceso de firma PKCS#7 es ágil y poco pesado en comparación con otras alternativas, ya que, en realidad, no se firma el documento entero, sino que se realiza digitalmente un resumen de los datos y estos son firmados por uno o varios firmantes; posteriormente se encripta ese resumen utilizando la clave privada de cada firmante. Para los más curiosos que quieren profundizar en el proceso, podemos explicar que los pasos que se siguen son estos:

  • Para cada firmante, se calcula un resumen con el algoritmo que use el firmante - si dos firmantes utilizan el mismo algoritmo, el resumen sólo se calcula para uno de ellos, el otro utiliza el del otro firmante.
  • Para cada firmante, el resumen y la información asociada a éste se encripta utilizando la clave privada del firmante.
  • Para cada firmante, se agrupan en un campo específico del firmante varios conceptos, como el resumen del mensaje encriptado, información específica del remitente, y otros parámetros sus certificados si es necesario.
  • Los algoritmos que se han utilizado para resumir el mensaje de todos los firmantes y el campo específico del firmante (indicado en el paso anterior) se agrupan en otro campo específico del dato, donde se agrega todo con el mensaje original.

Los pasos que debe realizar el software en el destinatario son más simples:

  • El software verifica las firmas desencriptando cada resumen para cada firmante con la clave pública de cada firmante. Eso lo puede hacer porque las claves públicas de los firmantes están dentro del mismo objeto con el formato de certificados.
  • Comparar los resúmenes utilizando el mismo algoritmo que utilizó el firmante al crearlo y compararlo con lo extraído del paso anterior.

 

XAdES (XML Avanzado).

El resultado de las firmas XAdES, a diferencia del PKCS#7, es un fichero de texto XML, un formato de archivo que ordena toda la información utilizando “etiquetas”, de apertura y de cierre, que contienen la información relevante.

A modo ilustrativo de lo que es un formato XML, enseñamos unas pocas líneas de ejemplo de un archivo XML de firma en el que se ven claramente a qué nos referimos con el formato de etiquetas de apertura (“<   >”) y de cierre (“</   >“):

fragmento código

El nombre de cada una de esas etiquetas, que no son fáciles de interpretar a simple vista, puede parecer aleatorio, pero no es así. La definición de las etiquetas correspondientes a la firma (orden de aparición, obligatoriedad, recurrencia, tipo de valor permitido…), están descritas en la especificación “IETF/W3CXML-Signature Syntax and Processing”, mientras que las del fichero que se firma en el ejemplo (que es un fichero de transferencias también en XML) están reguladas por el estándar ISO 20022.

Los documentos de firma obtenidos con formato XAdES suelen ser grandes, porque todas esas etiquetas, todas esas parejas de definición y valor, ocupan espacio en disco duro. Por eso, este formato, si se usa con trasmisiones de gran tamaño, suele ser más lento. Por otro lado, como la información está estructurada mediante las etiquetas, se pueden incluir muchísimas más características sobre el proceso de firma, entre ellos el TSA (el Sello de Tiempo mencionado arriba) y aporta más versatilidad a la hora de adaptar distintas exigencias de firmado.

En realidad, entre esas etiquetas hay dos conceptos de nodo: un nodo “Documento” (se puede ver en el ejemplo de arriba como <DocumentoOriginal>), que incluye la información a firmar, y uno o varios nodos “firma” (se puede ver en el ejemplo de arriba como <ds:Signature>), que incluye, entre otros muchos detalles, información relativa al firmante (tal y como son su rol y certificado), el momento del tiempo en el que se firma y, lo que es más importante, el valor de la firma: el resultado de cifrar con la clave privada del certificado.

En función de la jerarquía que siguen los nodos (qué etiqueta va antes que otra o si una etiqueta cuelga jerárquicamente de otra), se distinguen tres principales modalidades XAdES.

 

Para quien quiera ampliar conocimiento, podemos explicar que las principales modalidades XAdES son:

XAdES Detached: En este modo, los nodos del fichero de datos y los de las firmas realizadas sobre el fichero se disponen al mismo nivel. Por tanto, el fichero resultante de firma puede incluir, o no, el fichero de los datos (puede haber un único entregable con toda la información o ser archivos separados).

Es el sistema más “universal” y compatible con todos los procesos de firmado, ya que con esta modalidad se pueden firmar tanto archivos de datos con formato original XML como otros formatos de archivos y permite más de una firma. A su vez, hay pequeños matices de nomenclatura dentro del formato según si el fichero de firma se incluye o no junto al archivo de datos:

  • Interna: El fichero de firma sí incluye de alguna manera el fichero de datos, ya sea porque se “empaquetan” en un único archivo final o porque ambos archivos se vinculan con un identificador único:
    • Implícita: El fichero de firma incluye el fichero de datos como un único fichero final entregable.
    • Explícita: Requiere el envío del fichero de datos y del de firma (por separado) al extremo receptor/validador. Este formato es adecuado para ficheros muy grandes porque lo que se firma no es propiamente el fichero sino su hash (un resumen de longitud fija e independiente del tamaño del fichero que es el resultado de aplicarle un algoritmo matemático). Aunque el fichero firmado no va incluido como tal, mediante el hash queda garantizada la relación con el fichero original.
    • Explícito Un Fichero: Es una variación del modo anterior propietaria de Iberpay. En esta modalidad se concatena el fichero de datos a continuación del de firma, quedando ambos en un mismo fichero físico. Sin embargo, esta modalidad es menos “universal” porque solo admite ficheros XML y una única firma.
  • Externa: El fichero de firma no incluye el fichero de datos. En lugar del fichero de datos o del hash, lo que se incluye es una dirección donde se localiza el fichero de datos físicamente.

XAdES Enveloped: En este modo los nodos de firma cuelgan jerárquicamente del nodo del fichero de datos, por tanto, el fichero de firma siempre incluye el fichero de datos. Con este modo sólo se pueden firmar ficheros de formato XML, pero sí que permite más de una firma.

XAdES Enveloping: En este modo el nodo del fichero de datos es hijo del nodo de la firma. Se pueden firmar ficheros de distintos tipos, pero este formato sólo admite una firma (no permite firmas mancomunadas).

  • Implícito: El fichero de firma incluye el fichero de datos.
  • Explicito: Requiere el envío del fichero de datos y del de firma (por separado) al extremo receptor/validador. Este formato es adecuado para ficheros muy grandes porque lo que se firma no es propiamente el fichero sino su hash (un resumen de longitud fija e independiente del tamaño del fichero que es el resultado de aplicarle un algoritmo matemático). Aunque el fichero firmado no va incluido como tal, mediante el hash queda garantizada la relación con el fichero original.

Como decíamos con el símil del alquiler o la compra de viviendas, más arriba en el texto, estrictamente no hay una modalidad de firma mejor que otra, porque cada modalidad de firma depende del entendimiento entre el firmante y el receptor. Sin embargo, es habitual que entidades públicas o bancos, que deben recibir cientos (o miles) de documentos firmados al día, sí que exijan determinados formatos de firma específicos para evitar tener que acordar caso a caso la modalidad de firma. A esas exigencias se les suele llamar “Políticas de firma”. Una de las más conocidas, en el entorno público, es la política AGE, que exige la existencia de unas determinadas “etiquetas” y en los formatos de firma. Pero hay numerosa literatura al respecto, y entrar al detalle de las distintas políticas excede la cantidad de líneas recomendadas para este documento y podríamos agotar la paciencia de algunos lectores.

 

Entonces… ¿qué firma elijo?

La respuesta práctica es la que aplique a la pregunta ¿qué firma hubieras elegido si hubiera sido un proceso con bolígrafo? Si puedes elegir y el interlocutor no te impone un modelo de firma concreto, para tus operaciones del día a día probablemente un modelo de firma sencillo sea suficiente. Para transacciones que requieren mayores garantías, probablemente sea mejor optar por uno de los formatos XAdES. En cualquier caso, una vez que los sistemas están preparados para emitir firmas en modo XAdES, si la frecuencia y tamaño de las comunicaciones lo pueden soportar, ¿por qué no utilizarla de manera más frecuente en otras operaciones? ¿por qué no beneficiarse de la máxima garantía en el proceso de firmado?

Sea cual sea el modelo elegido, lo más importante es implementar el proceso de firma digital. Tanto por la enorme flexibilidad que les aporta a tesoreros y financieros poder realizar la firma desde la comodidad de sus ordenadores y móviles, en cualquier momento de la jornada, y con todas las garantías legales imprescindibles, como por la seguridad extra que aporta saber que se están minimizando cualquier tipo de riesgo de suplantación de identidad y de irregularidades en los procesos de pago que están bajo su responsabilidad.

Esperamos haber ayudado con estas líneas a acercar el mundo de la firma electrónica a los lectores y que ahora ya comprendan mejor conceptos y siglas como TSA, XAdEs, PKCS#7, AGE y otros. En cualquier caso, en el equipo Editran de Minsait, estamos a disposición de los lectores para profundizar sobre todas las mejoras que nuestro producto de firma electrónica puede facilitarles a ellos y a sus empresas.

 


 

Compartir este artículo