Es posible que se haya encontrado con el término “firmas digitales” en Internet. Incluso puede que usted mismo haya firmado digitalmente correos electrónicos o documentos. Sin embargo, una firma digital no es lo mismo que una firma electrónica.
Mientras que una firma electrónica puede ser tan simple como un PIN, una firma digital emplea métodos criptográficos para verificar la identidad del autor y garantizar la integridad del documento.
En esta guía, cubriremos todo lo que necesita saber sobre las firmas digitales, incluyendo:
- Qué es una firma digital.
- En qué se diferencia de la firma electrónica.
- Cómo enviar sus primeros correos electrónicos firmados digitalmente.
… ¡y mucho más! Así que, sin más preámbulos, exploremos.
¿Qué es una firma digital?
Lo primero es lo primero, definamos qué es una firma digital.
Una firma digital es un tipo de firma electrónica que utiliza técnicas criptográficas para verificar la identidad del firmante y garantizar la integridad del documento.
En cierto sentido, una firma digital es una “huella digital virtual”. Una vez aplicada, puede ser una parte incrustada del documento o existir por separado.
Las firmas digitales cumplen tres funciones esenciales:
- Verificación del remitente: el remitente es quien dice ser.
- Integridad: el mensaje no se ha alterado durante el tránsito.
- No repudio: el remitente no puede negar haber enviado el mensaje, dependiendo del tipo de firma digital.
Esto hace que las firmas digitales sean más seguras que las manuscritas. Esto se debe a que no existe una forma fiable de verificar una firma manuscrita, y mucho menos una forma de saber si el documento no ha sido manipulado.
Las firmas manuscritas son únicas para cada persona (estilo de escritura, velocidad de escritura, etc.). Sin embargo, una vez que la firma se plasma en papel, es fácilmente falsificable con papel de calco.
Por tanto, las firmas manuscritas plantean un problema de repudio. Uno puede afirmar simplemente que alguien ha copiado su firma, y sería difícil demostrar lo contrario.
Es por eso que necesitamos firmas digitales 👇
Firma digital y firma electrónica: ¿Cuál es la diferencia?
Antes hemos mencionado que la firma digital es un tipo de firma electrónica. Es importante diferenciar bien entre ambas, ya que no toda firma electrónica es automáticamente una firma digital.
Una firma electrónica es cualquier tipo de expresión, no sólo una firma propiamente dicha. Puede ser un código PIN, una contraseña o incluso una simple imagen de su firma:
He aquí una rápida comparación entre la firma electrónica y la firma digital:
Función | Firma electrónica | Firma digital |
Propósito | Verificar el documento. | Proteger el documento. |
Verificación | No se puede verificar. | Puede verificarse. |
Regulación de terceros | Puede estar sujeto a distintas normativas según la jurisdicción (como el eIDAS en la UE o la Ley ESIGN en EEUU). | La legitimación viene dada, según la jurisdicción, por el nivel de garantía que ofrecen las técnicas criptográficas y los protocolos utilizados (como las Firmas Electrónicas Reconocidas según el eIDAS). |
Criptografía | No utiliza algoritmos criptográficos. | Creada mediante algoritmos criptográficos. |
Ventaja | Fácil de usar (pero sin seguridad de datos). | Proporcionar funciones de seguridad de datos mediante métodos criptográficos. |
¿Cómo funcionan las firmas digitales?
Ya hemos establecido qué es una firma digital y por qué es una forma superior de firma electrónica.
Veamos ahora cómo funcionan realmente.
En primer lugar, una firma digital sólo requiere que el remitente (el firmante) tenga claves criptográficas (una clave privada y una clave pública). El emisor firma el mensaje localmente en su dispositivo (utilizando su propia clave privada). A continuación, el receptor lo verifica en su dispositivo utilizando la clave pública del emisor. El proceso funciona como sigue:
- Alicia (remitente) genera un par de claves y comparte su clave pública con Roberto (un requisito previo de una sola vez).
- Alicia firma el mensaje utilizando su clave privada en su dispositivo y envía el mensaje a Roberto.
- Roberto recibe el mensaje firmado en su dispositivo y verifica la firma utilizando la clave pública de Alicia.
Asegúrate de consultar esta guía sobre claves privadas y públicas si necesitas un repaso. También existen firmas digitales que pueden generarse utilizando algoritmos criptográficos clasificados como simétricos.
Firmas digitales a nivel técnico
A un nivel más técnico, el envío de un correo electrónico firmado digitalmente seguirá estos pasos:
- La firma comienza con la obtención de un hash criptográfico del mensaje original.
- El hash se encripta con la clave privada del remitente y se envía con el mensaje original.
- El destinatario recibe tanto el mensaje original como su hash cifrado.
- A continuación, el destinatario descifra el hash cifrado utilizando la clave pública del remitente y lo compara con el hash del mensaje original.
- Si ambos hashes coinciden, se verifica la firma digital.
Para entender bien cómo funcionan las firmas digitales, tenemos que ponernos un poco técnicos. Concretamente, tenemos que hablar de dos modelos comunes diferentes en los que se basan.
La primera es PKI o“Infraestructura de Clave Pública“. Esto significa que la clave pública que Alice utilizó para firmar su mensaje a Bob tiene que estar certificada por una CA o“Autoridad de Certificación” (como Verisign).
En otras palabras, la CA responde por la clave, y la clave valida al remitente, lo que convierte a la CA en un ancla de confianza.
Sin embargo, no siempre se puede confiar en una autoridad centralizada (es decir, una Autoridad de Certificación) (por ejemplo, por motivos sociopolíticos) o puede verse comprometida.
Un modelo de confianza alternativo es Web of Trust o Pretty Good Privacy (PGP).
En el modelo de “red de confianza”, cada usuario tiene un conjunto de claves públicas “de confianza” que verifican el remitente al destinatario, en lugar de que todo el mundo confíe en una única CA.
¿Son las firmas digitales lo mismo que el cifrado de extremo a extremo?
Aunque los conceptos son similares, no son lo mismo.
Con la criptografía de clave pública, la diferencia más notable es que con el cifrado de extremo a extremo, ambas partes necesitan su propio par de claves privada/pública.
Sin embargo, puede enviar un correo electrónico firmado digitalmente a alguien que no haya generado un par de claves.
He aquí un resumen rápido:
Cifrado de extremo a extremo | Firmas digitales |
Se utiliza para encriptar información sensible en un correo electrónico o documento. | Se utiliza para verificar la autenticidad e integridad del documento o mensaje de correo electrónico. |
La clave pública del destinatario se utiliza para encriptar los datos del correo electrónico o documento. | La clave pública del remitente se utiliza para verificar la firma. |
La clave privada se utiliza para que el destinatario descifre los datos del correo electrónico. | La clave privada se utiliza para que el remitente firme el documento. |
Si quiere profundizar en el cifrado de extremo a extremo, consulte nuestra guía completa.
Sin embargo, las firmas digitales pueden combinarse con el cifrado de extremo a extremo. Esto proporciona una mayor seguridad, como exploraremos en la sección siguiente.
Cómo enviar un correo electrónico firmado digitalmente
Ahora que sabe lo que es una firma digital, ¿cómo se envía una?
El proceso exacto variará con cada proveedor de correo electrónico. Para empezar, lo más sencillo es crear una cuenta gratuita de Mailfence y seguir estos pasos.
Primero, genere su par de claves y comparta su clave pública con el destinatario. A continuación:
- En nuestra interfaz web, redacte su correo electrónico e introduzca la dirección de correo electrónico del destinatario. A continuación, haga clic en la flecha desplegable situada junto a “Enviar” y seleccione “Firmar y enviar”. Introduzca su contraseña y haga clic en “Aceptar”.
- En nuestra aplicación móvil, al redactar un mensaje, toque el icono “Bloquear” en la parte superior derecha de la pantalla. Seleccione “Firmado con OpenPGP”.
Eso es, ¡así de sencillo!
Por cierto, si aún no lo ha hecho, asegúrese de descargar nuestra aplicación móvil en la App Store o en la tienda Google Play.
Como ya hemos dicho, puedes combinar la encriptación E2E con firmas digitales. Esto proporciona mayor seguridad a sus comunicaciones. Con Mailfence, si decide cifrar E2E su correo electrónico, también se firmará automáticamente:
Buenas prácticas en firmas digitales
Antes de terminar esta guía, repasemos algunas de las mejores prácticas a la hora de enviar correos electrónicos firmados digitalmente.
Consejo nº 1: Utilice firmas digitales al enviar correos electrónicos
Firmar digitalmente los correos electrónicos con archivos adjuntos tranquiliza al receptor del correo. Además, garantiza que tanto el contenido como el archivo adjunto no han sido manipulados durante el transporte. Esto aumenta el valor legal del correo electrónico.
Consejo nº 2: Utilice una clave segura al firmar digitalmente
Utilice una clave privada de 4096 bits (o al menos de 2048 bits) de longitud para firmar un mensaje digital. Mailfence siempre genera una clave RSA de 4096 bits por defecto.
Consejo nº 3: Utilice una subclave al firmar
Ya hemos explicado en esta guía que la encriptación y la firma son dos operaciones diferentes.
Por tanto, exigen dos enfoques diferentes de gestión de claves. Es posible que quiera que una clave de firma sea válida durante mucho tiempo para que personas de todo el mundo puedan verificar firmas del pasado. En cuanto a su clave de encriptación, querrá rotarla antes y revocar/expirar fácilmente la antigua.
Por tanto, mantener su par de claves externamente como “par de claves maestro” (por ejemplo, en una unidad flash) y utilizar una subclave como “clave local” para firmar mensajes es una buena práctica.
Este buen artículo proporciona una lista de pasos que debes seguir para conseguirlo utilizando GPG. A continuación, puede importar ese par de claves local en el depósito de claves de su cuenta de Mailfence para utilizarlo sin problemas en todos sus dispositivos.
Nota: 1) Es posible que no todos los programas compatibles con OpenPGP admitan pares de claves que sólo contengan subclaves (para firmar y cifrar) y un paquete de claves privadas ficticias(una extensión GNU de OpenPGP).
2) Mantener la clave secreta principal en un medio extraíble hace que firmar (o certificar) otras claves GPG sea problemático, ya que la clave secreta principal debe cargarse para poder realizar la firma.
3) Utilizar fechas de caducidad con las subclaves (recomendado) significa que las subclaves deben ampliarse antes de su caducidad, o emitir nuevas subclaves si se permite que caduquen.
4) Además, las personas que utilicen su clave pública (es decir, para verificar algo que hayas firmado) pueden recibir errores sobre la caducidad de tu clave si no actualizan regularmente sus llaveros GPG con los servidores de claves públicas.
Consejo nº 4: Pida a amigos y compañeros que firmen su clave pública
Tener firmas de confianza en su clave aumentará su legitimidad. Pida a sus amigos/colegas que firmen su clave. A cambio, usted también debería firmar sus claves públicas.
Alternativamente, keybase.io es un modelo operativo que asigna su identidad a tus claves públicas, y viceversa.
Consejo nº 5: Firme su mensaje para cada uno de sus destinatarios
Sí, ¡incluya la dirección de correo electrónico del remitente y del destinatario(s) con marcas de fecha y hora en su firma digital! (añadiéndola al cuerpo del mensaje). También puede utilizar un servicio que ofrezca suficiente protección contra los ataques de repetición (nonce, testigos de sesión, marca de tiempo, etc.).
Consejo nº 6: Tenga cuidado al reenviar un mensaje firmado digitalmente
Tomemos el caso de un mensaje firmado digitalmente por Alicia para Bob que ahora se reenvía a Carol. Sólo la identidad del remitente original Alice, se demuestra al destinatario. Carol no puede suponer que Bob, que reenvió el mensaje, sea el propietario de la firma digital o el remitente correcto del mensaje. A menos que el mensaje reenviado esté firmado por el propio Bob.
Consejo nº 7: Compruebe de antemano la huella digital de la clave de su remitente
Si es posible, obtenga de antemano la huella dactilar de la clave de su remitente (preferiblemente en persona), o si su remitente es una figura conocida, haciendo una búsqueda en Internet.
Además, verifique siempre el par de claves utilizado para firmar un mensaje con la huella digital.
La verificación automática (cotejar el hash descifrado con el hash del mensaje original) es una cosa. Pero no le protegerá de los ataques de suplantación de identidad, en los que un atacante puede crear una identidad falsa del remitente y utilizarla para engañar a los destinatarios. Por tanto, una huella digital debe ser siempre su único factor criptográfico para verificar las claves públicas de todos tus remitentes.
Consejo nº 8: Asegúrese de que la clave de firma no haya sido revocada o ha caducado
¡Asegúrese de que la clave que se haya utilizado para firmar un mensaje concreto no está revocada o caducada! ¡Esto es muy importante! A menudo, las aplicaciones no muestran esto claramente al usuario. En Mailfence, cada caso de este tipo se muestra oportuna y adecuadamente.
Sin embargo, si la firma de un mensaje se produjo antes de la fecha de caducidad o revocación de la clave de firma, la firma digital sigue siendo válida.
Consejo nº 9: Exporte localmente los mensajes con firma digital
Dado que los compromisos de cuentas son más comunes hoy en día, es mejor conservar una copia local de los mensajes de gran importancia o valor exportándolos a tu máquina.
Además, puede mejorar su seguridad encriptándolos también localmente.
Consejo nº 10: Valor jurídico de las firmas digitales
Una firma digital puede utilizarse para responsabilizar a alguien como autor de un determinado mensaje. Sin embargo, el valor legal exacto de las firmas digitales depende del lugar donde se haya realizado la firma y de las leyes locales.
No obstante, siempre hay ciertas condiciones que deben acordarse antes de utilizar firmas digitales en un contexto legal. Una cuestión es la posibilidad de que la clave privada del firmante se vea comprometida. ¿Qué debe hacerse en tal caso para verificar si se trata de un compromiso real o si se ha hecho deliberadamente?
Nota: si no quiere el no repudio en casos excepcionales, ¡utilice esquemas basados en la autenticación denegable!
Última palabra sobre las firmas digitales
Con esto terminamos esta guía sobre la firma electrónica.
Las firmas digitales OpenPGP se utilizan ampliamente porque simplifican el manejo de la clave pública del remitente, eliminando la necesidad de validación por una autoridad de certificación centralizada, como se requiere en PKI. En Mailfence, hemos simplificado mucho el proceso de firma digital. Si utiliza las prácticas recomendadas de firma digital OpenPGP mencionadas anteriormente, potenciará aún más su uso de la firmas digitales.