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.
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:
Se te indicará:
Está usando el juego de caracteres 'utf-8'. Ha seleccionado este ID de usuario: "Fulana Mengana (en la tilde en castellano) <fulana@texto-plano.xyz>" ¿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 [fulana@texto-plano.xyz] sub rsa3072/ZZZZZZZZ aaaa-mm-dd
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 fulana@texto-plano.xyz > ~/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:
~/public_hmtl
para dejarlo disponible en tu página web;~/public_gopher/
para distribuirlo desde tu gopherhole;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"
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 pepita@texto-plano.xyz, 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
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
Por favor revisa Cómo validar las llaves 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.
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