Conectando a Google Talk con Psi y usar PGP para tener comunicación segura

+1
0
-1

Esta entrada es una réplica a la que ya puse en mi bitácora personal Las Noyas de Taran, pero lo pongo aquí a ver si es de ayuda a más gente. Voy a copiar y pegar el código, espero que quede bien...
Por otra parte en principio no lo pongo con la etiqueta COMO porque no estoy seguro de que se adapte a las directrices, ya que aparte de los pasos hay alguna explicación de más. Bueno, ahi va:
Bueno, este es un pequeño paso a paso muy sencillo para los que quieran usar este cliente de Jabber, que a mi personalmente me gusta mucho, para conectar a través de la red de Google. Si no lo conocéis este cliente permite usar encriptación mediante claves gpg y transfiere archivos de forma satisfactoria, al menos entre dos clientes psi, no sé si con otros clientes de Jabber...
Me centraré en Linux, concretamente en Ubuntu, aunque en cualquier distribución debiera ser bastante parecido. Hay cliente Psi para Windows, y seguro que hay programas gráficos para usar gpg sin problemas, pero no los he usado (ni buscado) nunca. También podéis usar la consola para toda la parte de gpg, pero escapa de los propositos de este tutorial y hay abundante documentación en la red.

  • Instalamos los programas necesarios:
    Tan sencillo como sudo apt-get install psi y sudo apt-get install kgpg desde consola, o buscáis los paquetes adecuados en Synaptic. Podríamos usar otros front-end como seahorse, pero kgpg es el que veo más sencillo de usar.
  • Configuramos psi para conectar a Google Talk
    Abrimos Psi y le damos al botón Perfiles.... Pulsamos en Nuevo, ponemos un nombre y activamos (si queremos) los emoticonos. Le damos a Crear y el primer paso está completo.
    Ahora le damos a Abrir y aparecerá un asistente para añadir una nueva cuenta, y una típica ventana con consejos diarios, que cerramos. En el asistente le damos un nombre reconocible a la cuenta, por ejemplo Google Talk, y pinchamos en Añadir. Acto seguido nos lleva a la ventana de propiedades de la cuenta. En el campo Jabber ID pondremos nuestra dirección de correo gmail al completo, tal y como aparece en la figura:

    Nos vamos a la pestaña Conexión y la configuramos igual que la figura siguiente:

    Por último en la pestaña Preferencias ticamos en la casilla Ignorar avisos SSL, que no es realmente necesario, pero nos evitamos que el programa siempre nos de un aviso sobre el certificado.
    Ya está todo listo para conectar :)

  • Creamos nuestro par de llaves
    Como quizás sabréis la encriptación mediante pgp se hace con dos llaves simétricas. Si encripto con la llave privada después desencripto con la pública y viceversa... Pero lo encriptado con la pública no se puede volver a abrir con la pública, y lo mismo pasa con la privada. Por eso creamos dos llaves: la pública la repartimos y la privada es solo para nosotros. Cuando queremos firmar un correo, encriptamos una parte con nuestra llave privada y así cualquiera que tenga nuestra clave pública podrá asegurar que somos nosotros. Y para que alguien nos envíe un mensaje cifrado deberá tener nuestra clave pública. Así, encripta el mensaje con esa clave y se asegura que solo yo puedo descifrarlo, pues soy el único en tener mi clave privada. ¿Muy lioso? Espero que no...
    El caso es que el aspecto de Kgpgp es muy sencillo, aquí tenéis una muestra del mío:

    Su uso es igual de simple. Solo hay que pulsar el menú Keys y seleccionar Generate Key Pair. Te pedirá unos datos, como a qué dirección de correo quieres asociar la clave y la complejidad de algoritmo (yo puse la máxima, pero con la estándard está bastante bien para usuarios como nosotros) y le das a generar. Fácil, ¿no?. Ahora seleccionamos nuestra entrada y en el menú Keys seleccionamos Export Public Keys, lo que nos lleva a una pantalla como esta. Lo mejor es seleccionar un archivo y guardar.
    Esta clave pública se la tendremos que mandar a la gente con la que queramos tener comunicación segura, y ellos tendrán que mandarnos la suya a nosotros. Cuando tengamos una nueva en Kgpg seleccionamos el menú Keys y Import Key. Así aparecerá en nuestro listado de claves, como las dos que se veían en la imagen anterior.
    Estos pasos son exclusivamente para Linux, para Windows Kurtcos se ha currado el paso a paso, aquí os lo pongo:

    El mayor problema reside en la no existencia de una GUI para OpenPGP en windows, asi que tendremos que echar mano de la consola de comandos.
    Lo primero, es tener Openpgp instalado. Podeis encontrarlo en esta pagina, bajo la sección de descargas. En esta pagina encontrareis así mismo todos los HOWTO's y demas manuales que os puedan hacer falta.
    Instalamos el programa, procurando elegir el idioma español, y acto seguido, tendremos que introducirlo manualmente en el PATH de nuestro sistema. Esto se hace así:

    Inicio > Configuracion > Panel De Control > Sistema > Opciones Avanzadas > Variables de Entorno.

    En la zona de Variables del Sistema, escogeis la Path, y añadis lo siguiente al final de lo que haya:

    ;[unidad]\[directorio]\GnuPG

    Guardas y cerrais esa ventana. Abrid una consola de comandos

    (Inicio > Ejecutar > cmd

    y escribid

    gpg --version

    Os debería aparecer un texto con informacion sobre la version del programa, indicando que está bien instalado.
    Ahora, vamos a crear nuestra clave, desde la linea de comandos, poned:

    gpg --gen-key

    Os aparecerá diverso texto con instrucciones sobre como crear la clave. Practicamente no tiene perdida. Simplemente recomendaros usar la primera opcion de algoritmo de encriptacion (DSA ElGamal), y procurad que la frase clave sea algo complicado pero que podais recordar, esto no es como un e-mail.

    Una vez hecho termineis, tecleáis:

    gpg --list-keys

    Y aparecerá la lista de claves que teneis activas. Ahora vamos a exportar la clave:

    gpg --export [user_id] [-a] [-o file_name]

    El campo user_id es para elegir de qué usuario quereis exportar la clave, dejadlo en blanco para que exporte todas, si así lo deseais.
    Para enviar la clave a otros usuarios, le enviais ese archivo(p.ej: por mail)

    Por último, para poder usar la encriptacion con otros, debereis tener la clave publica del otro usuario. Una vez que la tengais(te la pueden mandar por mail, por ejemplo), un archivo .bin o .asc, tendreis que importarla al anillo de claves seguras.

    gpg --import [fichero]

    El campo fichero, como podreis haber averiguado, es para que pongais el path y nombre del fichero a importar :).
    El campo -a es para que exporte en formato ascii en lugar de binario. Da un poco igual si lo haceis o no.
    El campo -o filename es para que en lugar de sacar el archivo por pantalla(un puñado de caracteres ilegibles) lo haga en un archivo, cuyo nombre y extension especificaremos justo despues.
    Como curiosidad, creo que es la primera vez que como usuario de windows he tenido que teclear mas en consola que un usuario de linux para configurar algo. ¿Alguien se anima a crear una GUI para windows?

  • Usar Psi con comunicación cifrada
    Ahora en Psi pulsamos con el botón derecho en el nombre de la cuenta. Si habéis seguido mis consejos será Google Talk. Elegís la opción Modify Account, que os llevará a la pantalla de configuración de cuenta que usamos al principio. Pincháis en el botón Seleccione una Llave y elegís la vuestra. Ponéis las opciones sobre la frase a vuestro gusto y listo. Eso sí, tendréis que reiniciar el programa para poder usar la funcionalidad.
    Cuándo lo hagáis tendréis que asignar las llaves públicas de vuestros contactos. En la pantalla principal de Psi pulsáis con botón derecho sobre el contacto en cuestión y elegís Asignar llave PGP. Elegís la llave adecuada, que previamente teníais que haber importado como os dije antes y listo! Ahora en las conversaciones con él (que también necesita haber asignado vuestra llave, no lo olvidéis) podréis pulsar sobre el candadito y tendrés una comunicación segura :)

Espero que este caótico paso a paso os haya sido de utilidad...