PGP. Porque quiero y porque puedo.
Seguramente si eres habitual de la curiosidad informática, sepas que significan estas iniciales (PGP) y para qué sirve este sistema, pero por si tienes mala memoria o se te suelen olvidar las cosas como a mí, o simplemente no lo habías oído nunca, en hacking-etico.com te lo contamos.
PGP, sigla de Pretty Good Privacy (Privacidad bastante Buena, en el idioma de Cervantes) es un cifrado desarrollado por Zimmermann cuyo objetivo es claro, proteger el contenido de los correos y firmar documentos digitalmente para autentificarlos.
Es un cifrado “abuelo” ya que salió a la palestra en 1991 y hoy en día sigue siendo un método de cifrado bastante seguro.
Podríamos dedicar varios capítulos a este tema, mucho más profundos, pero vamos a centrarnos en el uso básico-normal de PGP para el cifrado de correos electrónicos.
Pero… ¿y por qué este título tan atrevido? Pues sencillo, este título resume perfectamente el por qué PGP está al alcance de todos y cómo todos pueden utilizarlo si así lo desean. Digamos que no hay excusa para no utilizarlo, para no usar nuestros correos cifrados.
Además, podemos usarlo en clientes de correo que lo incorporan nativamente o simplemente usar alguna extensión como Mailvelope para Firefox o Chrome.
No obstante, su comprensión inicial es un poco confusa sino estás familiarizado con PGP o con este paranoico mundo (con razón). Además, si usamos mails gratuitos (o no) ¿quién nos garantiza que nadie nadie pueda leerlos?
Como PoC o como muestra de cómo se usa, vamos a poner de ejemplo el plugin MAILVELOPE, una sencilla extensión que podemos usar en nuestro navegador FIREFOX o CHROME y subirnos al carro del cifrado. Comentar que no es necesario que tengáis una cuenta corporativa o de empresa sino con cuentas Gmail también vale y desde su acceso Webmail.
Informar que existen diversas apps para cifrar ficheros, firmarlos o para clientes de correo como Enigmail, que sirve para Thunderbird y Seamonkey y hace la función de mailvelope.
Proveedores de correo.
Importante esto. Mailvelope trae por defecto un listado de proveedores de correo que hace que sencillamente no tengamos que tocar esta parte de la configuración. Si instalamos la extensión y entramos en Gmail, automáticamente lo detecta y saldrá un icono para redactar el correo en modo ninja xD.
Probablemente nuestro proveedor de correo, si usamos alguno corporativo o si usamos algún HORDE, RoundCube, etc…no lo tenga activado (hay algún otro método para ello) pero para eso está la lista de proveedores de correo. En esta opción podemos configurar o, mejor dicho, añadir nuestro sitio de correo, para que mailvelope lo detecte cuando lo carguemos. Digamos que es la “activación” de nuestro correo.
Cómo funciona. Clave privada y clave pública.
Aquí entran en juego dos claves, la privada y la pública. La clave pública será la que podamos transmitir a nuestros contactos, ponerla en nuestra firma de correo o trasladarla por otros medios para que alguien que quiera mandarnos un mail, cifre con esa clave pública que nosotros facilitamos para que solamente nosotros, podamos descifrar el contenido del mensaje utilizando la clave privada.
Sino, únicamente recibiré un mensaje con caracteres alfanuméricos sin sentido (salvo en Matrix 😛 ).
¿Y cómo se descifra? Pues porque tenemos la clave privada, al generar nuestro “pack” de cifrado se nos genera una clave privada y una pública, la pública es la que pasaremos como “método de cifrado” o “token de cifrado” como si pasáramos una contraseña autogenerada de cientos de caracteres para que alguien cifre el correo. El “antídoto” o clave privada la conocemos solo nosotros (sino no estamos haciendo nada), y con esa clave privada tiene la “llave” para descifrar lo cifrado. Por tanto se deduce que la clave privada debe estar guardada bajo llave en un búnker en Alaska, mínimo.
Creando claves
El algoritmo que se emplea para PGP, y el recomendable es el RSA con un tamaño de clave de 4096 bits. Para generar nuestro pack de claves, simplemente tenemos que ir a las opciones de le extensión MAILVELOPE, y proceder a rellenar los campos.
En el nombre, poner algo que lo identifique ya que podéis usar varias claves para diferentes cuentas según necesitéis y viene bien saber cuál es cual.
En correo, es importante que pongáis el correo con el que vais a usar PGP ya que se utiliza también para la generación de las claves.
Y la contraseña, importante, porque es un método de control para cuando intentes utilizar la clave privada o una cuenta determinada para “desbloquear” un correo y compruebe que eres tú el propietario. Esta es una protección por si utilizas ordenadores públicos, te dejas el correo abierto y alguien husmea. Obviamente es una circunstancia más que puede darse, como que te roben el equipo y tengas guardada en el navegador la contraseña del correo y puedan acceder a tu bandeja, pero sin la pass maestra, esto no ocurría. Hay que ponerse en lo peor ¿no? xD
La opción de subir las claves públicas al servidor de Mailvelope debería estar DESMARCARDA bajo mi punto de vista. Así no aparece en el listado de claves públicas del mailvelope (que puedes borrar cuando quieras) y tampoco aparecerá tu cuenta de correo ( ¿posible método de obtención de cuentas de correo para phishing? 😛 )aunque esto agilizaría el importar claves públicas de personas que busques o que quieras enviarle mensajes cifrados con su clave pública, pero hay mucha duplicidad de claves, y probablemente la cifremos con claves que el destinatario tenga en desuso etc… así que mejor pedírsela directamente y no perdemos tiempo.
Aclarar que podemos elegir el tipo de cifrado y caducidad de las claves. Luego con clicar en Generar, ya empezará el proceso de generación de claves.
Vemos ahora nuestro par de claves generadas (recordar que van ligadas).
Ahora, ya solo falta difundir nuestra clave pública bien en la firma de correo o bien por fichero (o si preferís que estén publicadas en mailvelope). Para ello nos situamos encima de la clave generada, y le damos a la “i” para observar estas opciones:
Ahora si clicamos en la pestaña exportar, veremos opciones de exportación, tanto de la privada como de la pública como de las dos a la vez (por si queremos utilizar también la misma clave en otros equipos personales).
Una vez que copiemos o bajemos la clave pública (vamos a suponer que no vamos a usar la privada en ningún otro equipo), podemos pasársela a nuestro contacto, que utiliza Gmail, para que cifre su mensaje con NUESTRA clave pública para que NOSOTROS seamos los ÚNICOS que podamos descifrar este mensaje.
Nuestro contacto, suponiendo que usa mailvelope, tendría que importar la clave pública para cifrar el mensaje. Lo vemos:
Una vez importando bien por fichero o pegando todos los caracteres, nuestro contacto podrá usar nuestra clave pública para cifrar los mensajes dirigidos a nosotros.
Nuestro contacto, puede redactar desde su Gmail, un correo para nosotros de la siguiente forma. Lo vería así:
Al meter el destinatario del correo (en nuestro caso es inventado), nos detecta automáticamente la cuenta-clave pública que nosotros le hemos pasado y que él ha importado y podemos autocompletarla. ¡Clicamos en cifrar, y magia!
Tenemos un mail sin sentido ninguno, en apariencia, claro está. Ahora simplemente nuestro contacto nos lo envía a la dirección de correo nuestra y lo recibiremos en nuestra bandeja de entrada. Si tenemos el mailvelope instalado en el navegador y ambas claves originales (privada al menos sí o sí), podremos ver que contiene el mensaje cifrado.
Ahora, tendremos que introducir la contraseña con la que protegimos nuestras claves en el plugin, para que nadie tenga o pueda tener acceso. Si queremos que recuerde la contraseña temporalmente (para no estar continuamente metiendo clave) podemos guardarla. La duración de este guardado podemos configurarlo en las opciones de mailvelope.
Y veremos el contenido. Automáticamente, si activamos que guarde temporalmente la pass, podremos descifrar los mensajes simplemente con darle clic al icono de mailvelope que nos sale encima del contenido cifrado.
Conclusiones
Como veis, este plugin tiene una versatilidad espectacular. Podemos usar casi cualquier cliente Webmail y usar PGP sin que lo traiga nativo. Obviamente lo ideal es que cada cliente lo implemente nativamente y no tengamos que depender de terceros para dichas tareas, pero al menos subimos un escalón más nuestra privacidad. Si alguien quisiera o estuviera leyendo nuestros correos previamente, ahora se lo pondremos mucho más complicado y al menos si los lee, que se lo merezca por ingenio o mejor no 😛
Recordar guardar en buen lugar la clave privada, nada de almacenar en la nube, o sistemas que escapen de nuestro control ya que únicamente la clave privada es la que puede descifrar el mensaje cifrado con nuestra clave pública.
Espero que os haya gustado, y sobre todo que os sirva para vuestro día a día, aunque es una «incomodida» más, no está de sobra que cifremos al menos correos con información sensible.
¡Un saludo «hackmigos«!
@ManoloGaritmo
Mailvelope: https://www.mailvelope.com/en