← Todas las entradas Publicado el 30 marzo, 2018
Quizás por un poco de paranoia o por ser diligentes con la privacidad de nuestras comunicaciones, queremos que algunos mensajes que enviamos solo puedan ser leídos por quien queramos que sean leídos, para eso usamos el cifrado ¿Qué es el cifrado? Es simplemente tomar un mensaje totalmente legible y convertirlo en algo ilegible para cualquier persona, menos para el destinatario indicado si usa las herramientas apropiadas.
Uno de los métodos más populares para cifrar mensajes en nuestra era es usar la tecnología PGP (Pretty Good Privacy o Privacidad Bastante Buena), el cual, es un sistema de criptografía bastante extendido en internet. En este artículo, abordaremos desde la instalación de un software para su uso (aunque hay aplicaciones online que nos permiten hacer esto sin instalar nada), crear e importar llaves y cifrar y descifrar mensajes.
Hay muchas aplicaciones que podemos elegir, para este ejemplo usaremos Gpg4win (La cual es gratis, basado en el estándar OpenPGP). Si elegiste el Gpg4win para usar, tienes que fijarte bien en el cuadro de instalación para que incluya GPA (GNU Privacy Assistant) que es el manejador de certificados PGP que usaremos en este ejemplo. Por defecto incluye Kleopatra que es más completo y cuyo uso es similar, pero elegimos GPA para esta guía ya que lo encontramos más sencillo y didáctico.
La primera vez que abramos el GPA, si no tiene ninguna configuración de clave privada por defecto, nos lo hará saber en un cuadro de diálogo, así que vamos a configurar la nuestra.
En los datos que nos va a pedir a continuación, no es necesario que coloquemos nuestra información real. De hecho, es bastante común colocar un nombre y dirección de correo falsas. Es un conducta regular entre la gente que es extrema celosa de su privacidad. También preguntará si deseamos crear una copia de seguridad de nuestra clave, lo cual, es siempre recomendable.
Unos segundos después del llenado de los datos, nos pedirá que generemos una contraseña para nuestra clave privada. Como siempre, usemos una que podamos recordar pero que sea lo suficientemente fuerte como para no ser adivinada por terceros. También sería ideal que no sea la misma contraseña que usamos para otras aplicaciones.
Si hemos seleccionado la opción de guardar una copia de seguridad, nos pedirá donde deseamos ubicarla. Luego de esto, la clave ha sido creada. Así que nos solicitará la contraseña para poder importarla a nuestro manejador de llaves. Una vez hecho, veremos que la llave ya aparece en nuestro llavero con los datos que hemos colocado.
Si nos colocamos sobre la llave que acabamos de crear, podemos ver abajo en sus detalles un mensaje muy importante: la clave tiene una parte secreta (que reside solo en el dispositivo donde la hemos creado o importado), otra pública (la cual podemos publicar para que otros cifren mensajes solo para nosotros) y sirve para certificación, firma y cifrado. ¿Qué quiere decir esto? Qué no solo podemos cifrar y firmar mensajes con ella, sino también decodificar los que sean enviados a ella.
Estar un poco perdidos en este punto es normal si nunca se ha trabajado con estos protocolos de seguridad, pero, con el ejercicio a continuación, tomaremos un poco más de práctica.
Lo primero que necesitamos para enviar un mensaje cifrado mediante PGP es saber la llave pública del destinatario. Las personas que están disponibles para recibir mensajes cifrados suelen publicar sus llaves públicas en sus perfiles sociales o sitios web. Busquemos una, por ejemplo, la de Kleos, que está en esta dirección.
Una vez que tengamos la lleva publica de a quien le vamos a escribir, la guardamos en un archivo .txt y la importamos en el llavero de nuestro GPA. Esto abrirá un cuadro de diálogo donde debemos ubicar el mencionado .txt en nuestro disco duro. Hecho esto, nos dará un mensaje de confirmación de la importación y veremos la clave en nuestro llavero.
Como se ve en la imagen anterior, ahora tenemos dos llaves. Una privada (la nuestra) y una pública, la de Kleos. Vamos a algo más sencillo: escribir un mensaje de prueba a la llave pública que acabamos de importar.
Presionamos el botón “Clipboard” de nuestra barra de herramientas y se nos abrirá un mini editor de texto. Aquí podemos copiar un texto que tengamos desde otro programa o bien escribir uno nuevo.
Escrito el mensaje, ahora debemos encriptarlo. Presionando sobre el botón “Encrypt” del Portapapeles, nos pedirá para cuál de las claves públicas que manejamos queremos codificarlo. Seleccionaremos la de Kleos, pues es a ellos a quien se lo enviaremos.
Es importante ver que tenemos debajo la opción “Firmar”, para hacer lo propio con nuestra llave privada, la de Bruce Lee. Solo debemos hacer esto si el destinatario del mensaje conoce nuestra llave pública, porque si no, no podrá decodificarlo. En caso que no estemos seguro que el destinatario la tenga, encriptamos sin firmar.
Hemos seleccionado cifrar sin firmar y nos emite una alerta diciendo que no es seguro que esa persona sea quien dice ser (Recuerden lo que mencionamos anteriormente, es una práctica común no poner los datos reales). Sin embargo, como hemos tomado esta llave de la página oficial del ente que la emite, sabemos que es real. Así que decimos que estamos seguro que queremos usar esa clave pública. Al hacerlo, obtendremos el mensaje codificado.
Ese mensaje es nuestro texto encriptado, el cual solo podrá decodificar el poseedor de la llave privada que hayamos seleccionado como destinatario en su llave pública. ¿Cómo hacemos que lo lea? Pues, sencillamente, copiamos todo el fragmento del texto (Desde la línea punteada del inicio hasta la punteada del final) y usamos ese texto para enviarlo por email, copiarlo en un archivo o como sea que se lo queramos hacer llegar.
El receptor de ese email o archivo, recibirá ese mensaje tal como lo enviamos y para decodificarlo, necesitará hacer uso de su llave privada y así poder leerlo.
Si recibimos un mensaje con el mismo formato del que hemos enviado en el punto anterior, está codificado y debemos decodificarlo usando nuestra llave privada. Esto solo podremos hacerlo desde la aplicación donde tengamos instalada nuestra llave privada. Huelga decir que, para que hayan codificado un mensaje para nosotros, el remitente debe conocer nuestra llave pública para poder encriptarlo tal como hicimos en el punto anterior.
Así que abramos el Portapapeles del GPA y copiemos el mensaje que hemos recibido. Ahora, en vez de encriptarlo, vamos a desencriptarlo.
Si nuestra llave pública fue colocada correctamente por el remitente y la llave privada de destino está instalada en nuestra aplicación, nos pedirá la contraseña de la misma, la colocamos y damos “Aceptar”. ¿Qué obtendremos como resultado? El mensaje que nos ha enviado el remitente, pero sin encriptación. Listo para leer.
Ya hemos creado nuestra llave privada y pública, hemos enviado y recibido mensajes encriptados, pero ¿Cómo podemos hacer para que la gente sepa nuestra llave pública y mandarnos mensajes encriptados?
Nuevamente, vamos a nuestro llavero, seleccionamos nuestra llave secreta y presionamos sobre “Exportar”. Allí abrirá un cuadro donde debemos ubicar el archivo donde queremos guardar nuestra clave. Está será guardada como un archivo de texto.
Al abrirla, podemos ver su contenido, y este lo podemos colocar en nuestro sitio web, en nuestro perfil de redes sociales o en un servicio para colocar textos como pastebin.com. Al compartir ese contenido, los demás sabrán nuestra llave privada y tendrán la forma de cifrar mensajes para nosotros.
Recuerden bien que a la hora de cifrar un mensaje, si se le coloca “Firmar”, el destinatario del mismo debe tenernos a nosotros en su llavero público, porque si no, será imposible reconocer nuestra firma y el mensaje no lo podrá descifrar.
Hay muchos paquetes que incluyen cifrado automático de archivos, correos y demás. El Gpg4win completo que trae esta instalación que hemos hecho ofrece varias de estas características, pero el fin de este tutorial ha sido entender el funcionamiento básico de las llaves públicas y privadas y como cifrar y leer mensajes cifrados.
¡Esperamos haya sido de su ayuda!