Una firma digital o firma electrónica es una forma de garantizar la autenticidad y la integridad de un documento electrónico. Utiliza un algoritmo de cifrado para generar una «huella digital» única del contenido del documento, que luego se asocia con la identidad del firmante. La firma digital permite a los destinatarios confiar en que el documento proviene del remitente especificado y que no ha sido modificado desde que fue firmado.
¿Qué es firma digital?
Una firma digital es una firma (huella) que se fija a los datos digitales. Una firma digital no es una firma digitalizada (escaneada), sino un valor criptográfico que depende del contenido del mensaje y la clave, las firmas electrónicas tienen fuerza legal y consecuencias jurídicas siempre que cumplan con lo dispuesto en la ley.
La firma digital fue introducida por primera vez por Diffie y Hellman en 1976. Una firma digital es un mecanismo de autenticación que permite al propietario o remitente de un mensaje agregar un código al mensaje que actúa como firma. Además de utilizarse para garantizar la integridad de los datos, las firmas digitales también pueden utilizarse para probar el origen de los mensajes (legitimidad del remitente) y el no repudio.
Función firma digital
Las firmas digitales tienen varias funciones, entre ellas las siguientes:
Proporciona un proceso de verificación de integridad
La integridad de los datos está relacionada con la protección contra cambios no autorizados en los datos. Para mantener la integridad de los datos, el sistema debe tener la capacidad de detectar la manipulación de datos por parte de personas no autorizadas, incluida la inserción, eliminación y sustitución de otros datos por datos reales.
Proporciona proceso de autenticación
La autenticación está relacionada con la identificación/reconocimiento, tanto como un sistema completo como con la información misma. Dos partes que se comunican entre sí deben presentarse. La información enviada a través del canal debe estar autenticada, el contenido de los datos, el tiempo de entrega, etc.
Proporcionar proceso de no repudio
El no repudio, o no negación, es un intento de evitar la negación de la transmisión/creación de información por parte de quienes la envían/crean.
Aspectos de la firma digital
Las firmas digitales garantizan la seguridad de un mensaje en los aspectos de integridad, autenticación y no repudio. La explicación de los tres aspectos principales de la firma digital es la siguiente:
Integridad
Una firma digital puede garantizar que el mensaje enviado sea el mensaje real y no se modifique durante el proceso de envío del mensaje. Esto se debe a que al enviar el mensaje, el mensaje original no está encriptado y puede ser leído o visto por otras personas.
El aspecto de integridad radica en el proceso de comparar el resumen del mensaje obtenido del mensaje enviado por el remitente y el resumen del mensaje obtenido del proceso de hash por parte del destinatario; si son iguales, se puede determinar que el mensaje es genuino.
Autenticidad
Se crea una firma digital cifrando el resumen del mensaje original utilizando la clave privada del remitente. Este texto cifrado solo se puede descifrar utilizando el par de claves públicas de la clave privada del remitente, por lo que si los resultados de la verificación prueban que el resumen del mensaje del documento o mensaje obtenido es el mismo que el resultado del descifrado del texto cifrado, entonces se puede determinar que el remitente es la persona que tiene la clave privada.
No repudio
Si se ha demostrado que la firma digital se firmó con una determinada clave privada, no se puede negar que el propietario de la clave privada ha escrito el documento. Esto se debe a que una clave pública solo tiene 1 clave privada.
Método firma digital
Las firmas digitales se pueden realizar utilizando uno de los siguientes dos métodos, a saber:
Cifrado de mensajes
El cifrado de mensajes por sí solo proporciona una medida de autenticación. Un mensaje cifrado ha indicado que el mensaje está firmado. El algoritmo utilizado para cifrar el mensaje puede ser un algoritmo de clave privada (simétrica) o una clave pública (asimétrica). El proceso de firma con un algoritmo de clave simétrica requiere un intermediario, mientras que una clave asimétrica no requiere un intermediario.
Uso de funciones hash
El valor hash del mensaje es el código abreviado del mensaje. Después de eso, la firma se agrega al mensaje. La firma digital en el documento es una cadena que comienza con la firma PGP inicial y termina con la firma PGP final.
En general, los esquemas de firma digital se dividen en dos tipos, la explicación de cada uno a continuación:
Esquema de firma digital con adiciones
Este esquema de firma es un esquema ampliamente utilizado y también depende en gran medida de los valores criptográficos de la función hash. Por definición, un esquema de firma digital que requiere un mensaje como entrada para el proceso de verificación se denomina esquema de firma digital con adiciones. Los ejemplos están en los esquemas de firma DSA, ElGamal y Ong-Shnorr-Shamir.
Esquema de firma digital cubriendo el mensaje
Los esquemas de firma digital que permiten que un mensaje que ha sido firmado sea cubierto por la propia firma se usan comúnmente para mensajes cortos. Por definición, una firma digital donde la prioridad es conocer el mensaje no es necesaria en el proceso de verificación. Algunos ejemplos son los esquemas de firma RSA, Rabin y Nyberg-Rueppel.
Mecanismo y proceso de firma digital
Las firmas digitales aplican la teoría de la criptografía asimétrica. La criptografía asimétrica es un tipo de criptografía que utiliza diferentes claves para cifrar y descifrar mensajes. Esta criptografía asimétrica fue posible después de la introducción del concepto de uso de claves públicas y claves privadas en la criptografía. Con este par de claves públicas y privadas, el remitente puede fijar los datos que envía con una firma cifrada. Esta firma digital encriptada brinda más seguridad y confianza al destinatario.
El mecanismo y el proceso de las etapas de firma digital y partes del algoritmo se pueden describir y explicar de la siguiente manera:
Generador de clave pública: Algoritmo para generar un par de claves públicas y privadas: La clave pública es la clave utilizada para cifrar el mensaje o, en este caso, la firma firmada, mientras que la clave privada se utiliza para volver a descifrar la firma cifrada.
Funciones hash: Algoritmo de creación de firmas digitales o Algoritmo de Firma. La función hash generará un cierto valor único basado en los datos utilizados como entrada para la función hash.
Función de verificación: Algoritmo de verificación de la firma adherida. Esta sección es en realidad la misma que la sección para cifrar la firma. Porque al usar un par de claves públicas y privadas, el proceso de cifrado y descifrado debe realizarse con el mismo algoritmo con la adición de la misma función hash.
La firma digital grupal: Es un método que permite que un miembro de un grupo firme un mensaje en nombre del grupo. En el esquema de firma digital grupal, los miembros de un grupo pueden firmar digitalmente un documento en nombre de todos los miembros del grupo. La firma se puede verificar utilizando la clave pública del grupo.
Además, esta firma de grupo debe estar diseñada de manera que ningún miembro del grupo pueda falsificar las firmas de otros miembros del grupo. Entonces, en una firma digital de grupo, hay una clave pública de grupo y más de una clave privada de miembro del grupo. Solo el líder del grupo puede averiguar qué miembro del grupo ha firmado el documento existente, en una firma digital grupal, la firma no puede ser falsificada por otros miembros del mismo grupo.
El mecanismo para el procedimiento de firma digital es el siguiente:
- Configuración: En este proceso, la generación de la clave pública del grupo y una clave secreta administrativa la realiza el líder del grupo.
- Unificación: La generación de claves individuales (claves privadas) para cada miembro del grupo la lleva a cabo el líder del grupo.
- Firmar: El proceso de firma por parte de los miembros del grupo utilizando la clave privada que se le ha dado al miembro en cuestión.
- Verificación: El proceso de verificación de la firma en el documento recibido del remitente del mensaje, la verificación se realiza utilizando la clave pública que pertenece al grupo que envía el mensaje. Este proceso lo lleva a cabo el destinatario del mensaje.
- Abrir: este proceso tiene como finalidad saber que integrante ha firmado, este proceso solo lo puede realizar el líder del grupo quien envía un mensaje junto con la firma utilizando la clave privada que pertenece al grupo en cuestión.