OpenPGP

Cifre sus mensajes de chat de fin-a-fin con OpenPGP.

OpenPGP es un protocolo de cifrado ampliamente utilizado. Requiere la instalación de GnuPG además del cliente XMPP. Una vez instalado y configurado, funciona muy bien para cifrar el contenido de los mensajes de chat. Tuve éxito con PGP independientemente del cliente con el que lo probé.

Instalar GnuPG

Para habilitar el cifrado OpenPGP para XMPP, se debe instalar el software GnuPG. En Windows, vaya a esta página y busque la última versión para descargar “gpg4win-latest.exe”. Descargar e instalar. Acepte todos los valores predeterminados.

En Debian Linux, ejecute el comando: apt install -y gnupg kleopatra scdaemon

Agregar ejecutables a Path

En Windows, es necesario agregar el directorio con ejecutables gnupg a la variable de entorno %PATH%.

Verifique para asegurarse de que el directorio
"C:\Program Files (x86)\GnuPG\bin"
existe y tiene programas en él.

Escriba "env" en la herramienta de búsqueda de Windows para encontrar el cuadro de diálogo "Editar variables de entorno del sistema".

Haga clic en el botón Variables de entorno.

Seleccione Ruta y haga clic en el botón "Editar ...".

Haga clic en "Nuevo" y agregue la cadena
"C:\Program Files (x86)\GnuPG\bin" a la variable de entorno %Path%.

Crear un Key Pair (Certificate)

En este punto, debe crear un nuevo par de claves (certificate). El programa Kleopatra se incluye con GnuPG. Inicie el programa Kleopatra desde Windows o Linux. El proceso es idéntico en cualquier sistema operativo.

Haga clic en el botón "New Keypair".

Ingrese un nombre y haga clic en el botón "Siguiente".

Haga clic en el botón "Crear", luego ingrese una frase de contraseña. Una frase de contraseña asegura que solo usted pueda descifrar con el certificado. Recuerde su contraseña.

Aquí podemos ver que hay un certificado para "noble-dan" en Windows y para "noble-ann" en Linux.

Habilitando OpenPGP en Gajim

Este proceso es el mismo para Gajim en Windows o Linux.

Busque "Complementos" en el menú de Gajim. Habilite el complemento PGP desde el cuadro de diálogo.

Busque "Cuentas" en el menú de Gajim. En la sección de preferencias, habilite "Usar PGP Agent".

Seleccione el nombre de la cuenta en el cuadro de diálogo Cuentas. Haga clic en "Clave OpenPGP". Agregue la clave correcta para la cuenta.

Gajim solicita volver a iniciar sesión.

Ingrese la contraseña del certificado.

Habilitando OpenPGP en Psi-Plus

Psi-Plus para Windows ofrece cifrado OpenPGP, sin embargo, la versión de Linux no.

Abra el cuadro de diálogo de opciones y seleccione "Complementos". Habilite OpenPGP. Haga clic en el botón configurar en el lado derecho.

En el cuadro de diálogo de configuración que se abre, elija la pestaña "Claves propias". Seleccione el nombre correcto de la cuenta y haga clic en el botón "Seleccionar clave". Seleccione la clave, haga clic en el botón "Aceptar".

Haga clic en el botón "Aplicar".

Intercambio de claves públicas

En este punto, tenemos dos usuarios y dos clientes XMPP. Cada uno está listo para comunicarse mediante el cifrado OpenPGP.

  • El usuario “noble-ann” está usando Gajim en Linux
  • El usuario “noble-dan” está usando Psi-Plus en Windows

noble-dan recibe un mensaje de noble-ann. Ella le pide su clave pública. Desde el menú, puede enviarlo fácilmente.

noble-ann recibe la clave pública como texto.

noble-ann copia el texto de la clave pública y lo pega en un editor de texto. Ella guarda el archivo como
/tmp/dan-public-key.asc

noble-ann importa el archivo a Kleopatra.

Kleopatra solicita que se verifique la huella digital del certificado. Esta medida de seguridad adicional es opcional.

noble-ann puede exportar la clave pública de su propio certificado viendo los detalles del certificado.

noble-ann copia el texto de su certificado y lo pega como un mensaje en Gajim.

noble-dan recibe la clave pública. El cliente Psi-Plus XMPP agrega automáticamente la clave al almacén de claves de Kleopatra y la asocia con noble-ann en los contactos.

En este punto, noble-dan puede enviar mensajes cifrados a noble-ann porque Psi-Plus es más automático.

noble-ann attempts to enable encryption.

noble-ann recibe esta advertencia.

noble-ann encuentra "Assign OpenPGP Key..."

noble-ann asigna la clave pública correcta (noble-dan) al contacto (noble-dan).

¡Ahora, los mensajes están encriptado! Un candado verde indica un mensaje cifrado.

Así es como se ve en el servidor un mensaje que dice “¿Cómo estás?", Pero que está encriptado con OpenPGP:

<message type='chat' id='1ee65f7c-34fc-4a54-a618-c4458f52c2b6' 
         from='noble-ann@e2e.ee/gajim.N09SDR4B' 
           to='noble-dan@e2e.ee/DESKTOP-GIFB8N1'>
<thread>UHJuBakunMSfhbDdNfAvXQJPFjuUKnup</thread><request xmlns='urn:xmpp:receipts'/>
<origin-id id='1ee65f7c-34fc-4a54-a618-c4458f52c2b6' xmlns='urn:xmpp:sid:0'/>
<body>[This message is *encrypted* (See :XEP:`27`]</body>
<x xmlns='jabber:x:encrypted'>hQEMA3hsvJOU9S3nAQf9GqTEcLxHBhJaZpGFqOk5ov9waM0Vq4Kpb3aF/0y6nPgk
CwcNrfK7+oW/sqvzGsiRM7r0d1zcnesynuuKOfx7G5HmlASnA+CdhO0wdTaCax+4
EPJt8IrRd7aZFgDBeNJXgS+MJWZw0ei812k2dUMR0CMVEdKfdZ/LqcdWsApgou8O
Z8/J8mXs+nTneS2sPy4Ql3+kCfhMxInRzSBE5ijF6JfRSXnzcLuOOoE72NxiqKk5
/CyU6iKmkag+4m5iWmBlK495lC2YoO+zR4Qg0CXN1GfngZU7Jvx1uzGcjkklP4rN
N60uaVWcNHp9kLVkKQwVa4IYBiLzPamBp11rfOw8bYUBjAMCQrzceIlvIwEMAIG0
Si8TVnjhdCOHPRjrX2cMoR8ZYlbx40t/77uqS1TC6cFuZQTw6xcJCaUxQLT1B6Nf
TKmFZShqLxazPGnmbyxxGd1zPhegKhgE4uahS+JkkW6oJe5N62LCD1hKoaJmz9OA
Th9q7WTNJR9PxEq2jDW1EQp4DcV7AzuItXqzeH5KYhMJrpqHYnlWhr3gk8vmghyn
Ml3w+MOGCNYe8Yinh2EJniZB97ulgsCAOQ4lnTTuoI7hXyUGMiaUpXMyVYCH8zKh
g4XzWXASi+6c5OrvLIC6Nw5OiG/BktA38vm41q3WkAAjw6Y9zszwm8XBZZrtWHR6
PbovRlCsaAvgcDkvdQ9aVHpeI4ccblV2+Xz6Ty7NNhDuyjaPRzVlIJRg+sxKbytT
1jkcX0w1Mx7eMCoXOfl25xQROHrq+FT09vn40uPTSi9N/qEdG7RSNaepkZx7dNNP
JlgJkxZHcaUGMWURspzbavQJDsrUFpVZgsHgbqj6Zj4vlEu6mNCYyfWX20rro9JH
AdHwRPbdlrixD/mlHkSbJ9q9scDN7Vyg7tnQdUO/P+nL5XkYeBWIyR5VqMzYKpZW
UZOrZrjypztJTAhIQtDiTl31OOGxxHc=
=2EGH</x><encryption namespace='jabber:x:encrypted' xmlns='urn:xmpp:eme:0'/></message>

Topics covered on this page:

Last Modified August 12, 2020