Acciones

Categoría

GnuPG

De wiki

(Redirigido desde «GnuPG»)

Contexto

Infografia-gnupg-1.png Infografia-gnupg-2.png Infografia-gnupg-3.png

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.


Encriptación

Esquema-gnupg.png

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)

Hash.png

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 llave gnupg

Instalar software de GnuPG

Nota: siempre que instalas un programa, verifica que la url de página de descarga tenga una s después de 'http', lo que indica que la conexión de la página está certificada y que la página es 'auténtica'.

También recomendamos analiza el instalador (el archivo tendrá una extensión '.exe' en caso de Windows y '.dmg' en caso de MAC) con un antivirus antes de ejecutarlo.

Linux

sudo apt-get update
sudo apt-get install gnupg

Mac OS

Entramos en la página oficial de GPGSuite y nos fijamos que la url empiece con 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.

Windows

Entramos en la página oficial de GPG4Win y nos fijamos que la url empiece con 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): manejador de certificados para OpenPGP y X.509 (S/MIME) y ventanas comunes.
  • GPA (opcional): un manejador alternativo de certificados para OpenPGP y X.509 (S/MIME).
  • GpgOL (opcional): plugin para Microsoft Outlook 2003/2007/2010/2013
  • GpgEX (opcional): plugin para Microsoft Explorer (encriptación de archivos).
  • Claws Mail (opcional): cliente de correos.
  • Gpg4win Compendium (opcional): documentación en inglés y alemán.


Instalar Enigmail

Complementos.png

Instalar-engimail.png

Vamos a "complementos" y buscamos "Enigmail". Lo instalamos y reiniciamos.

Asistente de configuración de Enigmail

Barra-menu-sup.png

Al volver a abrir Thunderbird, buscamos la opción "Enigmail" en la barra de menú superior.


Asistente-config-2.png

Escogemos la subopción "Asistente de configuración" y nos aparecerá una primera ventana que nos pregunta por qué tipo de configuración queremos optar. Escogemos el "estándar" y damos a continuar.


Asistente-config-3.png

Selecciono la opción de 'deseo crear un nuevo par de llaves...'.


Asistente-config-4.png

Escojo la cuenta de correo al que quiero asociar la llave gnupg e introduzco una clave maestra (passphrase). Es muy importante recordar esta contraseña ya que va a ser necesario cada vez que envíe un correo cifrado y firmado, reciba uno, edite la llave, etc, es decir, cada vez que opere con la llave gnupg en general.


Asistente-config-5.png

Para generar una llave gnupg suficientemente compleja, es necesario que sea lo suficientemente aleatoria, ésto es lo que significa la ventana de la imagen superior. Esta aleatoriedad en computación se llama entropía.


Asistente-config-6.png

Una vez generada la llave, tenemos que guardar el certificado de revocación, un documento que nos permite desactivar la llave en caso de que nos roben, perdamos o confisquen la computadora donde tendremos la llave guardada. Existen otros métodos para no guardar la llave maestra gnupg en la computadora, pero en este artículo no las repasaremos.


Asistente-config-7.png

Para crear el certificado de revocación, nos pide nuestra contraseña maestra.


Guardar-cert-rev.png

Guardamos el certificado preferentemente fuera de la computadora, puesto que la idea es que si la perdemos, nos la roban o confiscan, que podamos desactivar nuestra llave gnupg.


Administración de llaves

Vamos a "Enigmail" >> "Administración de claves". Veremos un listado de nuestras llaves, incluyendo la nuestra (estará destacada en negrita). Por ahora solo aparece la nuestra porque acabamos de instalar Enigmail. Conforme vayamos agregando las llaves de otras personas, las veremos listadas allá.


Propiedades de la llave

Propiedades-llave.png

En la ventana de "Administración de claves", hacemos clic derecho en nuestra llave y seleccionamos "propiedades".

Propiedades-llave-2.png

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

Llave privada

Es muy importante que, al igual que el certificado de revocación, respaldemos nuestra llave privada. Con esta llave vamos a firmar nuestros correos y nadie más que nosotrxs o las personas que compartan llave deben tener este archivo. Es estrictamente confidencial.

Estando en "Administración de claves", hacemos clic derecho sobre nuestra llave y vamos a "Exportar claves a un ficher".

Exportar-llaves.png

Nos va a preguntar si queremos exportar sólo la llave pública o la secreta también. Escogemos la opción "Exportar claves secretas". Guardamos el archivo en un lugar seguro, quitándole la parte de "pub" del título para no confundirnos y compartir esa llave sin querer. Nos pedirá nuestra contraseña maestra nuevamente.

Llave pública

Para exportar la llave pública, realiza los mismos pasos que con la llave privada, pero escoge la opción "Exportar sólo claves públicas". Esta llave es la que vas a compartir con las personas con la quieras comunicarte de manera encriptada.


Compartir llave pública

Para poder encriptar una comunicación, todas las personas implicadas tienen que tener la llave pública de cada unx de lxs participantes de la comunicación.

A la hora de compartir tu llave pública, tenemos que tomar en cuenta hasta qué punto queremos que sea público. Puede ser que eres una figura pública en una organización y quieres que la gente sepa que puede escribir contigo cifrando la comunicación. O quizás seas periodista y quieres cubrir casos de manera segura desde el principio. Puedes subir el archivo de tu llave pública a una página web, a un blog, adjuntarlo por defecto en tus mails...

Ahora bien, nuestra llave también puede contener nuestras firmas de confianza con nuestros contactactos. Vayamos al siguiente apartado para entender ésto mejor y después volvemos a cómo compartir la llave.


Anillo de confianza

Cuando alguien te manda su llave o la descargas de un servidor de llaves o de una página web, puedes especificar un nivel de confianza que dé cuentas de que esa persona es realmente quien dice ser (a través de la firma de llaves). No estamos hablando de una confianza afectiva sino técnica, pero inevitablemente, el hecho de comunicarme con esta u otra persona también da cuentas de una confianza a nivel personal-humano. Si a mí esa persona me lo ha pasado en persona en una usb y la conozco, o al menos he sostenido una conversación en la que he llegado a conocerla, tengo bastante certeza de que es quien dice ser. Ahora bien, si me ha pasado la llave un amigx o un contacto de confianza, también puedo asignar a la llave un nivel alto de confianza. En cambio, si he descargado la llave de una web sin conocer la persona y no tengo métodos para comprobar su identidad, no puedo asignar a la llave una confianza alta.

Estas verificaciones van formando anillos de confianza, un sistema de referencias entre pares. De tal manera que puedo ver cuántas firmas en común tengo con esa llave.

Ojo, por muchas herramientas técnicas que utilices, el hecho de decidir confiar en alguien para contarle información confidencial es una decisión que debe basarte en un espectro amplio de factores y sí, la intuición también.

Sin embargo, al igual que esos anillos de confianza nos dan información a nosotrxs de quién confía en quién y, en consecuencia, en quién confiamos nosotrxs, también brinda datos a cualquiera que acceda a esa llave pública puesto que las firmas son parte de este archivo.

Tenemos varias opciones que no son excluyentes:

  • Firmar determinadas llaves, las que sí queremos explicitar públicamente que confiamos en ellas, pero para contactos más "privados", "internos", optamos por otros métodos de referencias de confianza: comunicación en persona, por mail cifrado, etc.
  • En la medida que tengamos muchas firmas de personas muy variadas en las que sí confiamos que es quien dice ser, pero no necesariamente es alguien con la que colaboramos o confiamos a otros niveles, ya no desvela los tramos de relaciones concretas. 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 avalamos.


Compartir llave pública (cont.)

Tras este inciso, volvamos a cómo compartir nuestra llave pública. Antes vimos cómo se exportaba la llave pública. Generalmente el título de este archivo (porque nuestra llave no es ni más ni menos que un documento de texto con extensión .asc que tiene un chorro de caracteres) es algo así como:

 Persona_persona@kefir.red(0x5D033CBC).asc

Es decir:

  • nombre/alias
  • correo
  • identificador corto de la llave

A veces, según el sistema operativo, sólo exporta la llave con el nombre del identificador corto de la llave. Puedes editarla para que contenga más información.

Este archivo lo podemos adjuntar en un mail, llevarlo en nuestro pendrive/usb a mano, subirla a nuestra web como hace Kéfir.

Servidor de llaves

Subir llave a servidor de llaves

Subir-llave-servidor-1.png Subir-llave-servidor-2.png

También podemos subirla a un servidor de llaves. Recomendamos que usen 'sks keyservers pool'. Depender específicamente de un único servidor de llaves te hace vulnerable a las posibles fallas de ese servidor de llaves — si el servidor de llaves se queda fuera de la piscina principal por cualquier razón, puede que nunca lleguen las actualizaciones al resto de la piscina. Utilizar la piscina es más robusto que usar un único servidor de llaves.


Importar llave pública

Una vez que nos hayan pasado el archivo de la llave pública, vamos a importarla. Para ello regresamos a "Enigmail" >> "Administración de claves" y nos fijamos en la barra de herramientas superior.


Importar-llave-1.png

Buscamos la opción "Archivo" >> "Importar clave desde un fichero".


Importar-llave-2.png

Escogemos el archivo.


Importar-llave-3.png

Nos aparecerá un recuadro confirmando la importación.


Buscar llave en servidor de llaves

Buscar-llave-keyserver-1.png

En "Administración de claves" voy a "Servidor de llaves" en la barra superior y selecciono "Buscar llaves".


Buscar-llave-keyserver-2.png

Introduzco el correo cuya llave busco y escojo el servidor 'pools.sks-keyservers.net'. En la sección de 'Subir llave a servidor' explicamos por qué optamos por esta opción.


Buscar-llave-keyserver-3.png

Escogemos la llave que queremos importar.


Firmar llave

Para ir construyendo nuestro anillo de confianza, vamos firmando las llaves a la medida que las vamos importando. Como este sistema de verificación puede dar cuentas de nuestras relaciones (con quién me comunico potencialmente), puedo optar por firmar localmente (sólo para que yo vea el nivel de confianza establecido) algunas llaves con contactos más privados y/o intercambiar firmar muchas llaves de personas de círculos variados para que no revelar patrones.

Firmar públicamente una llave

Firmar-llave-1.png

En 'Administración de claves' busco la llave que quiero firmar, hago clic derecho y escojo la opción.


Firmar-llave-2.png

Decido con qué grado confío en la llave, que dependerá de cómo se ha intercambiado, por una parte, y la confianza en sí en la persona en el sentido de saber que realmente es quien dice ser y no está impersona a alguien.

Al dar a aceptar, me pedirá mi contraseña maestra.


Ver-firmas.png

Si hago clic de nuevo en la llave y selecciono "ver firmas", aparecerá un listado de personas que confían en esa llave. Si tienes la llave de algunx de lxs firmantes, aparecerá su identificador de usuarix, si no, aparecerá como "identificador de usuario no encontrado", pero sí sale la clave para poder buscarla.


Firmar localmente una llave

Ver-firmas-localmente.png

En la ventana de establecer la confianza de la llave, hay una opción abajo para firmar localmente la llave. Si escogemos esta opción, al "ver firmas", señalará que está firmada localmente, lo que implica que sólo tú ves ese grado de confianza establecido. Este método puede servir cuando no quieres revelar públicamente que tienes esta llave (ej. unx informante de un caso delicado), pero sí quieres organizar tu anillo de confianza internamente. Por ejemplo, si importas una llave que no puedes verificar y está verificada por tres llaves que firmaste localmente, gnupg le asigna confianza automáticamente.


Editar llave

Identidades de usuarix

Podemos asociar nuestra llave a varias identidades (aliases + direcciones de correo). Para ello, hacemos clic derecho en nuestra llave y seleccionamos "administrar identificadores de usuario".


Admin-uids.png

Añadimos identidad y rellenamos los datos que nos piden.


Admin-uids-2.png

Ahora veremos listado la segunda identidad. Puedo escoger cuál aparece por defecto. Ahora puedo cifrar y firmar desde ambos correos con la misma llave.


Escribir un correo cifrado y firmado

COnfiguración

Antes que nada, vamos a configurar nuestras opciones de cifrado y firmado.


Enigmail-preferencias-1.png

Estando en nuestra cuenta que queremos configurar, por ejemplo, al redactar un nuevo correo con esta cuenta o estando en el inbox correspondiente, buscamos en la barra de herramientas superior "Enigmal" >> "Preferencias".

Opciones de envío

Enigmail-preferencias-opciones-envio.png

Vamos a dejar la "configuración de cifrado conveniente" que consiste básicamente en cifrar siempre que tengas disponible la llave pública de las otras partes.

Opciones de firmado o cifrado

Enigmail-opciones-OpenPGP.png

  • Nos aseguramos que el soporte OpenPGP para la cuenta está activada.
  • Podemos usar nuestra dirección de correo para identificar la llave gpg o podemos nuestro identificador de llave.
  • En opciones predeterminadas de redacción de mensajes vamos a escoger firmar automáticamente nuestros correos (es decir, vamos a siempre indicar que el origen de nuestro correo es efectivamente de nosotrxs). No vamos a cifrar mensajes por defecto sino, como configuramos en el apartado anterior, automatizamos el cifrado siempre que tengamos la llave pública de las demaś personas.
  • Ciframos nuestros borradores de correos también.


Redactar correo

Redactar-mail.png

Al redactar un correo, automáticamente se va a activar el firmado (icono de lápiz).

Firmado-cifrado.png
Si tuviera la llave pública de la persona o personas a las que voy a escribir el correo, además se prende el icono del cifrado (candado).


Ojo, si quiero cifrar un correo, hazlo desde el principio, antes de escribir, y recuerda que el asunto no se cifra así que procura que no delate.


Recibir correo

Descifrar-mail.png

Cuando me llega un mail cifrado, Enigmail me pedirá mi contraseña maestra para descifrarla.


Archivo:Email-descrifrado.png

Páginas en la categoría «GnuPG»

Esta categoría incluye solamente la siguiente página.

Archivos multimedia en la categoría «GnuPG»

Los siguientes 32 archivos pertenecen a esta categoría, de un total de 32.