Cómo firmar digitalmente un archivo en Linux usando gnupg

Existen muchas veces y razones por las que puedes querer o necesitar firmar digitalmente un archivo. Por ejemplo, digamos que estás compartiendo información confidencial y quieres asegurarte de que el receptor pueda confiar en el archivo que contiene los datos. Una forma de hacerlo es firmar digitalmente ese archivo antes de enviarlo al cliente. Una vez que el cliente reciba el archivo, puede verificar la firma y, si confían en la firma digital, extraer el archivo y utilizar los datos.

Índice de Contenido
  1. Instalación del software
  2. Generación de una clave
  3. Firma del archivo
  4. Pero espera...
  5. Un camino sencillo para la verificación de documentos

Instalación del software

Voy a demostrarlo en Elementary OS, pero el proceso será similar en todas las distribuciones de Linux (solo tendrás que modificar el comando de instalación para adaptarlo a tu distribución elegida).

Para instalar gnupg, abre una ventana de terminal y ejecuta el siguiente comando:

sudo apt install gnupg

El comando anterior recogerá todas las dependencias necesarias y se completará sin problemas.

Generación de una clave

El siguiente paso es generar una clave gpg que se utilizará para la firma. El comando se ejecutará por el usuario que realizará la firma de los archivos. Para hacer esto, ejecuta el comando:

Cómo deshabilitar el soporte USB en servidores Linux para mejorar la seguridad

gpg --gen-key

Se te pedirá que respondas las siguientes preguntas:

  • Tipo de clave que deseas (presiona Enter para aceptar el valor predeterminado RSA).
  • Tamaño de clave deseado (elige el tamaño de clave máximo, que es 4096).
  • Duración de validez de la clave.

NOTA: Si solo quieres usar esta clave para un archivo, puedes hacer que la clave caduque después de un solo día.

Luego se te pedirá que completes lo siguiente:

  • Nombre real
  • Dirección de correo electrónico
  • Comentario (opcional)
  • Frase de contraseña

Una vez que hayas completado lo anterior, deberás hacer algo para que gpg pueda recopilar entropía para la creación de la clave. Dado que he recomendado usar claves de tamaño 4096, tendrás que hacer bastante trabajo. Una vez que la clave se haya creado, estarás listo para firmar.

Firma del archivo

La firma de un archivo es bastante sencilla. Desde la ventana de terminal, cambia al directorio que contiene el archivo que se va a firmar. Demostraré con el archivo ~/Downloads/gpg.docx. Desde la ventana de terminal, ejecuta el siguiente comando:

Cómo solucionar el problema de seguridad entre Docker y UFW en Linux

gpg --sign gpg.docx

Se te pedirá la frase de contraseña que utilizaste al generar tu clave gpg. Si tienes varias claves gpg en tu sistema, puedes especificar qué clave usar mediante la dirección de correo electrónico asociada, de la siguiente manera:

gpg --sign --default-key email@address gpg.docx

Donde email@address es la dirección asociada con la clave que deseas usar. Si no estás seguro de qué claves tienes en tu sistema, ejecuta el comando:

gpg --list-keys

Una vez que hayas ingresado la frase de contraseña de la clave, se firmará el archivo y se generará un nuevo archivo con la extensión .gpg. Con ese archivo firmado, puedes verificar la firma con el comando:

Cómo proteger tu negocio de los ciberataques: el número de incidentes casi se duplicó en 2017

gpg --verify gpg.docx.gpg

La salida del comando anterior mostrará la información relevante de la clave (Figura A).

Figura A

Puedes enviar el archivo al destinatario, quien puede luego verificar el archivo y extraerlo con el siguiente comando:

gpg --output gpg.docx --decrypt gpg.docx.gpg

Al destinatario no se le solicitará la frase de contraseña de la clave de firma. Una vez que se complete el proceso de desencriptación, tendrán el documento listo para usar.

¡Descubiertas 10 nuevas vulnerabilidades de escape VM en VirtualBox!

Pero espera...

Puedes estar haciéndote la siguiente pregunta: "¿Qué impide que alguien genere una clave gpg con mis datos y luego envíe datos falsos a un cliente?" La verdad es que no mucho. Sin embargo, tengo un "truco" muy fácil para esto. Lo que hago es crear una nueva clave de firma que dure solo un día y, durante la creación, ingresar una frase única en la sección de comentarios. Cuando envío el archivo al destinatario, les pido que verifiquen el archivo y me repitan el comentario. Si el comentario es correcto, les doy luz verde para desencriptar y usar el archivo. Si el comentario no es correcto, tienen un archivo falso en sus manos.

Un camino sencillo para la verificación de documentos

Si te gusta mantener las cosas baratas (y en casa), hacer uso de herramientas como gpg para la firma de documentos tiene mucho sentido. Es una ruta fácil para ayudar a tus clientes a saber que están obteniendo datos fiables. No es un sistema perfecto, pero es rentable y confiable.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Seguridad, allí encontraras muchos artículos similares a Cómo firmar digitalmente un archivo en Linux usando gnupg , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.