uso_de_claves_de_cifrado_con_gpg - ubuntuperonista/wiki_tp GitHub Wiki

Table of Contents

Uso de llaves de cifrado GPG

>La privacidad es un valor impostergable en un sistema de cómputo. Puedes aprender a cifrar mensajes de correo electrónico en el ambiente **Texto-plano**.xyz. Para ello debes utilizar el criptosistema **GnuPG**.

Este criptosistema ofrece un mecanismo de cifrado para mensajes de punto a punto. Cada punto (remitente y receptor) posee dos tipos de clave: una llamada //Clave Privada//, y otra que se combina con la anterior pero que debe compartirse con el resto de tus destinatarios de correo: la //Clave Pública//.

En texto-plano, podrás utilizar el programa de correo electrónico **Mutt** para enviar y recibir correo electrónico convencional. Pero si adicionalmente utilizas el criptosistema, podrás asegurar el envío y recepción de correo cifrado y firmado digitalmente con Mutt.

Sigue este tutorial para poder usar el criptosistema.

1. Crea un par de llaves PGP

En primer lugar, genera el necesario **par de llaves (privada y pública)** asociadas a tu dirección de correo electrónico. Ingresa el comando:

gpg --full-generate-key

Aparecerá en tu terminal el siguiente diálogo. Completa el nombre y la dirección del correo electrónico:

gpg (GnuPG) 2.2.36; Copyright (C) 2022 g10 Code GmbH This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Por favor seleccione tipo de clave deseado: (1) RSA y RSA (por defecto) (2) DSA y ElGamal (3) DSA (sólo firmar) (4) RSA (sólo firmar) (14) Existing key from card Su elección:

Pulsa 1 para indicar tipo de llave **RSA y RSA**. Cuando se te solicite el tamaño puedes indicar **4096**. Si lo deseas, puedes elegir que el par de llaves no caduque nunca (opción **0**) y confirma que todo es correcto.

Introduce los datos para identificar la llave, por ejemplo:

  * Nombre y apellidos: Fulana Mengana
  * Dirección de correo electrónico: [email protected]
  * Comentario: en la tilde en castellano

Se te indicará:

Está usando el juego de caracteres 'utf-8'. Ha seleccionado este ID de usuario: "Fulana Mengana (en la tilde en castellano) <[email protected]>" ¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir? v

Acepta los cambios presionando la **tecla v**.

Si estás inaugurando tu criptosistema en el entorno texto-plano, se te solicitará ahora que ingreses ahora una __contraseña de criptosistema__ (y confirmarla), a fin de proteger tu llavero (“Key-Ring”). Naturalmente, si ya hubieses utilizado el criptosistema previamente, se te solicitará ingresar la contraseña del llavero que le introdujiste al momento de su creación.

> El **Keyring** ("llavero") es el programa almacenamiento del criptosistema, y te permite controlar todas tus acciones de encriptación, de modo que toma nota de la contraseña del llavero y consérvala a en un lugar seguro. Su directorio __de acceso exclusivo y reservado__ es ~/.gnupg/

Una vez concluido se te informará:

gpg: clave XXXXXXXX marcada como de confianza absoluta gpg: certificado de revocación guardado como ''/home/fulana/.gnupg/openpgp-revocs.d/xxxxxxxxxx.rev'' gpg: clave pública y secreta creadas y firmadas. pub rsa4096 aaaa-mm-dd Huella de clave = zzzz zzzz zzzz zzzzz zzzz zzzz zzzz zzzz zzzz zzzz uid Fulana Mengana [[email protected]] sub rsa3072/ZZZZZZZZ aaaa-mm-dd

2. Comparte tu llave pública PGP con terceros

Quienes deseen descifrar tu correo encriptado deben contar con tu llave pública almacenada en un fichero. Primero deberás exportar una copia de tu cable pública con un comando similar a este:

gpg --export --armor [email protected] > ~/fulana_tp_publica.asc

Este ejemplo creará en tu directorio de usuari@ un fichero de llave pública denominado fulana_tp_publica.asc.

Hazlo público de las manera que desees:

  * Enviáselo adjunto por correo electrónico a quien desees;
  * Copia este fichero a tu [[caja]] de Texto-plano;
  * Cópialo a tu directorio ''~/public_hmtl'' para dejarlo disponible en [[uso de html|tu página web]];
  * Cópialo a tu directorio ''~/public_gopher/'' para distribuirlo desde tu [[gopher|gopherhole]];
  * Puedes publicarlo en tu [[finger]] de texto-plano;

Para hacer esto desde la shell, podrías modificar el siguiente bloque de comandos de ejemplo:

cp ~/fulana_tp_publica.asc ~/public_html/ ; acthtml ; cp ~/fulana_tp_publica.asc /var/www/caja/$USER/ ; actcaja ; cp ~/fulana_tp_publica.asc ~/public_gopher/ ; cp ~/fulana_tp_publica.asc ~/.pgpkey

También podrías anunciarlo a nuestra comunidad mediante gab, recurriendo a un comando similar a este:

gab -m "Agréguense mi llave pública con: gpg –-import /var/www/caja/$USER/fulana_tp_publica.asc"

3. Agrega a tu criptosistema la llave pública PGP de un tercero

Para poder enviarle correo electrónico cifrado a un tercero, deberás incorporar a tu critosistema la llave pública de dicha persona. La misma tendrá la misma forma que tu propia llave pública: es un fichero .asc, o eventualmente .gpg.

>Las llaves públicas suelen dejarse disponibles en un sitio web personal, o incluso puedes solicitarlas al destinatario por medio directo o electrónico - incluso abierto.

Suponiendo que te hacen llegar por correo electrónico no cifrado la llave pública del destinatario [email protected], consistente en un fichero de llave pública denominado pepita_tp.asc, la incorporarás a tu criptosistema con el comando:

gpg –-import pepita_tp.asc

Sólo si la llave está intacta, el sistema la incorporará. En tal caso te devolverá algo como:

gpg: key YYYYYY: Clave pública importada. gpg: número total procesada: 1 gpg: importada: 1 \\

4. Revisa las llaves almacenadas en el criptosistema

Podrás revisar las llaves públicas contenidas en tu criptosistema con el comando:

gpg –k

y este informará las llaves públicas de terceros contenidas en tu llavero, de una forma similar a esta:

/home/fulana/.gnupg/pubring.gpg ------------------------------ pub 4096R/YYYYYYY aaaa-mm-dd uid Fulana Mengana sub 4096R/ZZZZZZ aaaa-mm-dd pub 2048R/3DE3f869 aaaa-mm-dd uid Pepita TP sub 2048R/C3CFF358 aaaa-mm-dd

5. Valida las Llaves del Criptosistema

Por favor revisa Cómo validar las llaves de terceros \\

6. Eliminar llave de terceros

Si opcionalmente deseas remover alguna llave particular de un tercero de tu llavero, utiliza:

gpg --delete-key (id. de llave) Revisa las llaves del criptosistema para verificar que se haya eliminado.

7. Eliminar llave propia

> Solo debes eliminar tu llave privada si estás absolutamente seguro. Te impedirá descifrar mensajes que terceros podrían enviarte utilizando la llave pública asociada a la misma.

Si deseas eliminar tu propia llave privada (y la llave pública asociada, naturalmente), primero lístala con -K (nota que es K mayúscula, en lugar de utilizar -k, que lista las claves públicas solamente):

gpg -K

Tras identificarla, elimínala con:

gpg --delete-secret key (id.de llave privada)


Aportado originalmente por ~peron en Uso de correo cifrado con GNUPG

⚠️ **GitHub.com Fallback** ⚠️