Encriptado asimetrico : Bien Comun

Por razones que están mas allá de mi comprensión, uno de los artículos mas populares que he escrito es sobre la encriptado con libretas de un solo uso (https://libreriacrisol.blogspot.com/2020/01/cifrado-con-libretas-de-un-solo-uso-otp.html). Y aunque dicho método es súper seguro, no es muy conveniente de usar.

Mucho mas conveniente y en linea con un tipo de comunicación electrónica muy usada hoy en día es mejor usar uno buen programa que tenga en encriptado integrada. Por ejemplo en lugar de usar Whatsapp o Facebook Messenger, usar Signal, o mejor aun algún cliente del protocolo Matrix (como Element) o el mensajero Session (similar en seguridad que Signal, pero no usa numero telefónico por lo que es un elemento extra de seguridad).

Todas esas opciones tienen sus pros y contras (sin mencionar las posibilidades de ser espiado directamente por Windows, o Android o Apple, pero esa es otra historia). Pero que hay de otros medios de comunicación sin forma directa de encriptado (como el correo electrónico) y otros usos del encriptado, como el firmado de documentos o mensajes. Pues veamos un punto medio entre conveniencia y seguridad que se puede usar en los medios no encriptados que ademas nos va a servir para conocer un concepto que es útil para otros usos (como las criptomonedas) este útil es la encriptado asimétrico. Para ello nos enfocaremos en un programa especifico para Windows Gpg4win.

¿Qué es GnuPG? Gnu Privacy Guard (también conocido como GnuPG o simplemente GPG) es una respuesta de código abierto del popular programa de cifrado Pretty Good Privacy. Desarrollado por la Free Software Foundation, GnuPG es gratuito, de código abierto y completamente compatible con PGP, ya que utiliza una implementación completa del estándar OpenPGP.

GnuPG funciona encriptando los mensajes mediante pares de claves asimétricas generadas por usuarios individuales de GnuPG. Estas claves pueden intercambiarse con otros usuarios, y éstos pueden añadir una firma digital para verificar la identidad del remitente y la integridad del mensaje. 

Con la criptografía de clave pública, cada usuario tiene una clave privada, que mantiene en secreto y utiliza para descifrar los correos que le envían con su clave pública. También tienen una clave pública, que distribuyen libremente para que otras personas puedan utilizarla para enviarles correos cifrados o verificar las firmas de usted.

    Clave privada: se mantiene en secreto y se utiliza para descifrar el propio correo, o firmar documentos.
    Clave pública: se distribuye para que otros puedan utilizarla para cifrar el correo que le envían o verificar lo que usted firmó.

Gpg4win es la versión para Windows de GnuPG, y es en realidad un conjunto de herramientas unidas por un script instalador común. Las utilidades son:

    Kleopatra - un gestor de certificados
    GPA - otro gestor de certificados
    GpgOL - un plugin para Outlook
    GPGEX - una extensión para el Explorador de Windows
    Claw-Mail - un programa de correo electrónico ligero con soporte GnuPG incorporado
    Gpg4win Compendium - un manual

Utilice GPA para crear un par de claves
  1. Descargue Gpg4win desde el sitio web, e instálelo (requiere un reinicio). Vamos a usar GPA para este artículo, así que asegúrese de seleccionarlos cuando le den la opción.
  2. Cuando instala por primera vez Gpg4win se te ofrecen muy pocas pistas sobre cómo proceder, así que lo primero que debes hacer es generar un par de claves. Para ello, inicie GPA y le ofrecerá generar una clave privada.
  3. Sólo tiene que seguir el asistente, introduciendo tu nombre y dirección de correo electrónico (que se utilizan para construir la clave), la contraseña que quieres utilizar y dónde quiere guardar la clave. Es importante que utilice la misma dirección de correo electrónico desde la que va a enviar el correo encriptado, y la contraseña es importante ya que el destinatario la necesitará para desencriptar sus archivos. Vamos a guardar la clave en una carpeta llamada "Claves de cifrado". 
  4. ¡Enhorabuena! Ya tiene tu primera llave.
  5. Ahora necesita generar una clave pública, para que otros puedan descifrar los archivos que encriptaste con tu clave privada. En GPA selecciona la clave que acaba de generar, haga clic en "Exportar", elige un nombre para la clave pública, una carpeta para guardarla y haz clic en "Guardar".
    Nosotros la guardamos en nuestra carpeta 'Encryption keys'. Si mira en la carpeta, ahora verá un par de claves: tu clave cifrada (para mantenerla en secreto) y tu clave pública (para compartirla). 
  6. Comparta su clave pública - esto puede hacerse simplemente enviándola por correo electrónico a quien quiera enviar correo cifrado. El destinatario deberá "Importar" (Import) esta clave en su instancia de GPA (o "Importar certificados" si utiliza Kleopatra).  Existen servidores destinados a almacenar llaves publicas para conveniencia del publico como https://pgp.mit.edu y https://keys.openpgp.org

Cifre sus archivos o carpetas

Ahora puede encriptar cualquier archivo o carpeta para enviarlo a un destinatario de su elección.

  1. Para cifrar un archivo o una carpeta, haga clic con el botón derecho del ratón y seleccione "Firmar y cifrar" (Sign and Encrypt).
  2. Compruebe que las rutas de guardado de los archivos están donde usted quiere, y que el botón de radio "Firmar y cifrar" (sólo OpenPGP) está seleccionado.
  3. Selecciona los destinatarios para los que quieres encriptar el archivo y "Añade" (Add) a la lista. Cuando esté listo, haga clic en "Cifrar" (Encrypt). Para el propósito de este tutorial, nos enviaremos el archivo a nosotros mismos (cuando se sienta seguro puede intentar importar mi clave publica y mandarme algo https://libreriacrisol.blogspot.com/p/pgpgpg.html). 
  4. Si tiene más de una identidad, puedes elegir cuál quieres usar para firmar. Por ahora, sólo haga clic en "Firmar y encriptar" (Sign and Encrypt). Si elige no firmar en el paso 2, no verás esta pantalla.
  5. Se crea una versión encriptada del archivo o carpeta (con la extensión de archivo .gpg), que luego puede ser simplemente enviada por correo electrónico a la persona que quieres que la tenga, o puedes desencriptarla tú mismo.

Descifrar un archivo o carpeta

  1. Si le envían un archivo encriptado por correo electrónico, descárgelo en una ubicación conveniente, haz clic con el botón derecho del ratón en el archivo y selecciona "Desencriptar y verificar" (Decrypt and verify). 
  2. Se le pedirá que introduzca la frase de contraseña (véase el paso 2 de "Usar GPA para crear un par de claves" más arriba). Recuerde que también deberá haber importado la clave pública de cifrado del remitente en su gestor de certificados (GPG o Kleopatra).
  3. Se creará una nueva carpeta con el sufijo .tar_1 (según el archivo encriptado), con los archivos encriptados dentro.
    Al hacer clic en Mostrar detalles, obtendrá más información sobre la validez de los certificados.

Conclusión

Le hemos mostrado cómo instalar Gpg4win, cómo crear pares de claves y utilizarlo para cifrar y descifrar archivos. En su forma cruda, Gpg4win es un poco básico, pero seguir estos pasos es una buena manera de empezar a entender el cifrado PGP.  También se puede encriptar texto para usarse en el correo electrónico u otro medio, experimente con la opcion de Clipart de GPA.

Mientras que en el encriptado simétrico una sola clave y/o certificado se usa para encriptar y desencriptar, en el asimétrico se usan dos. Y uno es publico, libremente compartido. Quiere enviar un mensaje que solo su vecino puede leer, use su llave publica y solo el que tenga la llave privada (su vecino) podrá leerlo. Quiere enviar un mensaje que este fimado por usted, se usa la llave privada (automáticamente en los programas) y quien quiera que tenga la publica podrá corroborar que usted y solo usted pudo enviar el mensaje. Muchas opciones son manejadas automáticamente por los programas, no tendrá que recordar tanto como hemos expuesto una ve que se familiarice con los conceptos. Hay muchas opciones para su seguridad y privacidad.

Comentarios

Entradas más populares de este blog

Acertijos matemáticos : Libros

Lo se todo : Libros

Cifrado con libretas de un Solo Uso (OTP) : Libros