GnuPG
Además de escoger un proveedor de servicio de correo más seguro, puedes encriptar tus mails. Antes de leer la documentación de GnuPG de este wiki, puedes leer sobre Encriptación.
A modo de introducción, echa un vistazo a esta infografía que desarrolló el Laboratorio_de_interconectividades
Contents
Introducción
PGP o Pretty Good Privacy/Muy Buena Privacidad fue una de las primeras implementaciones popular de criptografía de llave pública. Phil Zimmermann, su creador, escribió el programa en 1991 para ayudar a los activistas y a otros proteger sus comunicaciones.
Zimmerman fue formalmente investigado por el gobierno de los Estados Unidos cuando este programa se propagó fuera de los Estados Unidos. En ese momento, exportar herramientas que incluyan una fuerte llave pública cifrada era una violación de la regla de los Estados Unidos.
PGP continúa existiendo como un producto comercial de software. Una implementación libre llamado GnuPG ha sido desarrollado en paralelo y es el que se aborda en esta página del wiki.
Qué es y cómo funciona
El cifrado de GnuPG es asimétrico ya que usas dos llaves diferentes:
- por un lado cifras los mensajes con una llave (con la llave pública del destinatarix) para asegurar que sólo la destinatarix pueda leerlo.
- por otro lado firmas tus mensajes (con tu llave privada) para asegurar que efectivamente proceden de tí y no ha sido alteradx por otrxs personas (sin tu consentimiento al menos)
Estas llaves no son ni más ni menos que hashes: códigos alfanuméricos resultantes de una serie de cálculos matemáticos.
Crear par de llaves
Antes de crear nuesto par de llaves gnupg, necesitaremos un par de programas:
Instalar GnuPG
Antes que nada, vamos a necesitar un software de GnuPG. Puedes verificar que los programas sugeridos abajo siguien los criterios de cómo escoger herramientas digitales más seguras
Nota: siempre que instalas un programa, verifica que la página de descarga tenga un HTTPS delante, esto es una forma de verificar la autenticidad de la página. Analiza el .exe/.dmg con un antivirus antes de ejecutarlo.
Linux
En terminal:
sudo apt-get update sudo apt-get install gnupg
Windows
Entramos en la página oficial de GPG4Win con conexión HTTPS. Descargamos la versión del instalador más actualizada y seguimos los pasos de instalación.
GPG4Win es un compendio de programas. No necesitamos instalarlas todas (la única imprescindible es "GnuPG"). Puedo escoger qué programas instalo al iniciar el instalador.
- GnuPG: núcleo; el programa de encriptación en sí.
- Kleopatra (opcional): certificate manager for OpenPGP and X.509 (S/MIME) and common crypto dialogs.
- GPA (opcional): an alternative certificate manager for OpenPGP and X.509 (S/MIME).
- GpgOL (opcional): a plugin for Microsoft Outlook 2003/2007/2010/2013 (email encryption).
- GpgEX (opcional): a plugin for Microsoft Explorer (file encryption).
- Claws Mail (opcional): complete email application with crypto support.
- Gpg4win Compendium (opcional): documentation (for beginner and advanced users), available in English and German.
Mac OSX
Entramos en la página oficial de GPGSuite con conexión HTTPS. Descargamos la versión del instalador más actualizada y seguimos los pasos de instalación. Sigue los pasos que indica el asistente de instalación.
Instalar Enigmail
Hacemos clic en Archivo:Firefox-boton-configuraciones.png en Thunderbird y buscamos la opción "Complementos". En la barra de búsqueda de complementos buscamos "Enigmail" y verificamos que es la versión oficial (que remita a una página https), que esté actualizada. Puedes ver más criterios para escoger herramientas más seguras aquí.
Al escoger instalar el complemento Enigmail nos pedirá reiniciar Thunderbird. Aceptamos y esperamos a volver cargarse Thunderbird.
Generar par de llaves
Ahora veremos que en la barra de herramientas de Thunderbird aparece la opción "Enigmail".
- Si hacemos clic en "Enigmail" nos saldrá una lista de opciones. Vamos a escoger "asistente de configuración".
- Escogemos configuración estándar.
- Si ya tienes generada una llave te va a avisar. De todos modos, te da la opción de generar una nueva llave.
- En la siguiente ventana Enigmail te explica por encima la diferencia entre la clave pública y privada y te pide generar una contraseña maestra (passphrase) que es la que va a ser requerida cada vez que operes con tu par de llaves. Es importante que sea una contraseña segura y preferiblemente no la misma que tu correo electrónico.
Archivo:Generando-par-llaves.jpg
Nos aparecerá una ventana indicando que se está generando nuestro par de llaves.
Certificado de revocación
Archivo:Crear-certificado-revocacion.png
Al finalizar este paso, podremos generar nuestro certificado de revocación. Este certificado te permitirá anular tu par de llave gnupg en caso de extravío o robo. Es de suma importancia por lo que se recomienda guardar en un lugar seguro en tu computadora (guardada en una subcarpeta no demasiado a mano a personas ajenas y donde te acuerdes :b ) con un respaldo en un disco duro externo.
Administración de claves
Una vez creada tu par de llaves, regresa a la barra de herramientas, a la opción "Enigmail" y esta vez seleccionamos la opción "Adminstración de claves".
Vamos a ver un listado de nuestras llaves, incluyendo la nuestra. Conforme vayamos agregando las llaves de otras personas, las veremos listadas allá.
Conociendo mejor nuestra llave
En la ventana de "Administración de claves", hacemos clic derecho en nuestra llave y seleccionamos "propiedades".
Nos aparecerá una ventana en la que podremos observar diferentes parámetros de nuestra llave. Verás que el identificador de la llave coincide con los últimos 8 caracteres de la huella digital de la llave.
Exportar llaves
Regresamos a la ventana de Hacemos clic derecho en nuestra llave y seleccionamos la opción de "Administración de claves", hacemos clic derecho en nuestra llave y seleccionamos la opción "Exportar claves a un fichero". Nos preguntará si queremos exportar la clave secreta o la pública. Vamos a hacer ambas cosas.
Exportar llave privada
Vamos a guardar nuestra llave privada junto con nuestro certificado de revocación en un lugar seguro de nuestra computadora (no accesible a personas ajenas) y respaldando ambos archivos en un disco duro externo, también en un lugar seguro del disco. Es muy importante tomar en consideración que la llave privada no se comparte. Es estrictamente confidencial.
Una vez que hayamos guardado la llave, vamos a ir a la carpeta en cuestión y abrir la llave (que no deja de ser un archivo de texto con un código alfanumérico) con un editor de textos.
Observaremos que en realidad se exportó la llave privada y la pública. Pueden borrar el bloque que empieza con "-----BEGIN PGP PUBLIC KEY BLOCK-----" y acaba con "-----END PGP PUBLIC KEY BLOCK-----" y quedarse solamente con el bloque de llave privada. Renombren el archivo de "pub-sec" a "privada" para no confundirse entre su llave privada y pública.
Exportar llave pública
Puedes guardar tu llave pública en una carpeta junto con las llaves de tus contactos. Recuerda incluir el avatar/alias/mail en el nombre del archivo (a veces lo genera automáticamente) para distinguir entre un contacto y otrx.
Verás que también puedes abrir este archivo y verás que el contenido empieza con "-----BEGIN PGP PUBLIC KEY BLOCK-----" y acaba "-----END PGP PUBLIC KEY BLOCK-----".
Esta va a ser la llave que vas a compartir con lxs contactos con lxs que quieras comunicarte de manera cifrada.
Compartir llave pública
Para poder comunicarnos con cifrado gnupg necesitamos que ambas partes tengan la llave pública del otrx. Por lo tanto, tenemos que compartir nuestra llave pública e importar llaves públicas de otras personas.
A la hora de compartir tu llave pública, vamos a pensar en nuestro Modelo de Amenazas y Riesgos que no es estática (cambia a lo largo del tiempo) y que no se limita a una sola identidad (barajamos muchas, tanto individual y colectivamente).
Quizás nos interese compartir de manera pública y abierta una de nuestras llaves (porque podemos tener varias según nuestras necesidades) si formamos parte de una organización visible o si somos unx periodistx que desea recibir comunicación cifrada de informantes. En este caso podemos subir nuestra llave a nuestra página web, blog, etc. También la podemos subir a un servidor de llaves (una especie de directorio público de llaves).
Pero quizás queremos compartir nuestra llave de manera más íntima, de cara a cara (pasándola en un pendrive) o adjuntándola en un correo a personas específicas.
Importar llave pública
En primer lugar, tenemos que guardar el archivo de llave pública que queremos importar, preferiblemente en la carpeta que mencionábamos antes de llaves de contactos. Puede que nos lo pasen en un usb, adjuntado en un mail o que lo descargemos de Internet o un servidor de llaves. Una vez localizado el archivo regresamos a la ventana de "Administración de claves".
En la barra de menú, en la opción "Archivo", vamos a seleccionar la opción de "Importar claves desde un fichero". Seleccionamos el archivo y lo importamos.
Aparecerá un aviso de que se importó correctamente.
Verificar llaves públicas importadas
Salvo que la otra persona te haya pasado el archivo de su llave pública cara a cara, no tenemos la certeza de que efectivamente procede de dicha persona. Podemos recurrir a métodos de verificación fuera de banda (out-of-band verification) para comprobar que coincide la huella digital de la llave que recibiste con la de la otra persona. La verificación fuera de banda se refiere a usar un medio de comunicación que no sea con el que vas a cifrar, es decir, por otro medio que no sea correo como por teléfono, chat, etc.
Anillo de confianza
Estas verificaciones van formando anillos de confianza, un sistema de referencias entre pares. Si haces clic derecho en una llave, puedes ver que te da la opción de ver las firmas de la llave. Estas son las verificaciones de la llave de otras personas. Vamos a poder ver aquí si hay conocidxs en común que han firmado esta llave.
Ahora bien, debemos tener en cuenta dos cosas:
- Los anillos de confianza pueden esbozar grafos sociales que indiquen con quién nos comunicamos. Por eso es importante distinguir entre verificar una llave para dejar constancia hacia los demás que dicha persona es quien dice ser con el lazo personal/afectivo que tienes con esa persona. La práctica de firmado de llaves públicas y las cryptoparties cumplen con esta función de crear sistemas decentralizados de verificación de identidades digitales. No necesitamos un sistema centralizado como la policia que expida un carnet oficial sino que entre todxs nos avalemos.
- El hecho de que esta o la otra persona tiene una llave pública verificada no significa que vayas a confiar en ella a nivel personal. Construir lazos afectivos de confianza no es algo que se cubre aquí. Nos limitamos a abordar una herramienta que puede reforzar maneras de asegurar comunicaciones digitales a nivel técnico.
Configuración de Enigmail
En la barra de herramientas de Thunderbird hago clic en Archivo:Firefox-boton-configuraciones.png y voy a Preferencias --- Configuración de cuentas.
En la barra lateral izquierdo me aparece un listado de mis cuentas de correo agregadas a Thunderbird. Selecciono la cuenta de correo que me interesa configurar y voy a la opción "Seguridad OpenPGP".
Archivo:Seguridad-pgp-cuenta.jpg
Vamos a seleccionar el soporte OpenPGP y la opción "usar la dirección de correo de esta identidad para identificar la clave OpenPGP". Si quieres usar la opción "usar identificador de llave", checa bien que corresponda a la llave que quieras usar.
En opciones predeterminadas de redacción de mensajes
Usaremos PGP/MIME por defecto, firmaremos los mensajes cifrados por defecto y cifraremos también los mensajes borradores. De esta manera, cuando tengamos la llave pública de alguien, automáticamente va a marcar la opción firmar y cifrar el correo. En caso de no tener la llave pública del destinatarix, no lo firmará ni cifrará.
También puedo acceder a las preferencias de Enigmail en la barra de menú y verificar más parámetros de configuración. En la pestaña "Enviando" puedo escoger entre "configuración de cifrado conveniente" (que me marca una serie de opciones por defecto) o "configuración de cifrado manual".
Si escojo la opción manual puedo marcar/desmarcar las opciones. De momento vamos a dejarlo en configuración conveniente.
Enviando un mail cifrado
Ahora podemos redactar un mail nuevo. Si configuraste Enigmail como aparece en el apartado anterior, al introducir el contacto del destinatarix, en caso de tener su llave pública, se firmará y cifrará automáticamente el mail.
Ten en cuenta que el encabezad del mail, es decir, el mail de la persona que envía y destinatarix, la fecha y hora, el asunto, etc. no se cifra. Sólo el cuerpo del mensaje se cifrará.
Una vez que des a enviar, te pedirá tu passphrase/contraseña maestra.
Nota: hemos observado en el Taller Hackfeminista que GPGSuite recuerda la contraseña maestra/passphrase durante una latencia pequeña, de tal manera que si acabas de introducirla para enviar un mail cifrado, por ejemplo, y después acto seguido abres un mail cifrado, no te pide la contraseña.
Leyendo un mail cifrado
Te pedirá tu passphrase/contraseña maestra para leer el mail.
Nota: hemos observado en el Taller Hackfeminista que GPGSuite recuerda la contraseña maestra/passphrase durante una latencia pequeña, de tal manera que si acabas de introducirla para enviar un mail cifrado, por ejemplo, y después acto seguido abres un mail cifrado, no te pide la contraseña.
Migración o formateo de computadora
Si vas a formatear tu compu o cambiar de máquina, puedes copiar tu directorio gnupg y pegarlo en el mismo lugar una vez hecho el cambio.
Linux
La carpeta se llama ".gnupg" donde "." significa que está oculta. En el navegador de archivos, en "ver", puedes escoger mostrar archivos ocultos (el atajo es Ctrl + H). Copia y pega el directorio.
Mac OSX
- abre el Finder
- Shift + CMD + G
- busca "~/.gnupg" (sin comillas)
- copia y pega el directorio
Nota: esta carpeta está oculta así que quizás tengas que habilitar mostrar archivos ocultos en el finder.
Windows
Pueden encontrar el directorio "gnupg" de dos maneras:
- Inicio --- Ejecutar --- busca "%APPDATA%\gnupg" (sin comillas)
- Navegador de archivos: algo así como C:\Documents and settings\<name>\Application data\gnupg\
Nota: esta carpeta está oculta así que quizás tengas que habilitar mostrar archivos ocultos en la opción "ver" del navegador de archivos.
Referencias & Bibliografía
Categoría:Autodefensa y cuidados colectivos digitales
Categoría:Mail más seguro
Categoría:GnuPG