Mostrando entradas con la etiqueta GnuPG. Mostrar todas las entradas
Mostrando entradas con la etiqueta GnuPG. Mostrar todas las entradas

viernes, 5 de agosto de 2016

¿Cómo configuro Thunderbird para enviar correo firmado y cifrado?

En otra de sus disertaciones en la Escuela de Guerra, el General Juan Perón expone un fundamental esquema para mantener el secreto operativo para la victoria a través de correo electrónico firmado y encriptrado desde Thunderbird usando Enigmail en el sistema operativo del Pueblo.

Actualización Doctrinaria: Este método es obsoleto ya que a partir de Thunderbird versión 78, este programa de correo cuenta ahora con encriptación de manera nativa. Este artículo se ha retenido por motivos históricos, pero para poder encriptar correo en la nueva versión por favor haga clic en este vínculo que lo llevará al artículo actualizado.

(...)
Nuestras fuerzas han de estar preparadas para la lid en todas las condiciones que se le impongan, pero ello sólo es posible por medio del estudio concienzudo del terreno y del tiempo de la acción. La improvisación no suele ser pródiga en resultados, por lo cual todo hombre de armas ha de evitarla y hacer del gabinete y de las maniobras en campaña su más confiables tutoras.

Nuestro campo de lucha es uno el cual hemos de dominar, y mucho más si nuestro enemigo es poderoso y está coaligado. Por tales motivos hemos de recurrir a la llamada "guerra no convencional", que por novedoso nombre, no deja de ser tan vieja como la historia misma. Este quehacer, también puede llevarse a todos lo órdenes, incluso en la lucha telemática.

Podemos y debemos llevar la lucha digital a una escala superior. Hemos de formar ágiles bandas telemáticas, encargadas de hacer tronar el escarmiento y propiciar la independecia real de la Nación, su Pueblo y su software. Células de acción y "formaciones especiales" encargadas de llevar la Justicia Social por vías que a lo mejor no sean las adecuadas en tiempos de paz, pero que vendrán de perillas en tiempos de guerra. Nuestro enorme campo de acción son las redes, pretendidas por el enemigo pero dominadas por nuestro Pueblo.

Para estas acciones de propaganda, disrupción telemática, y ajusticiamiento tecnológico se hará sin duda imprescindible aquello que es necesario en todo conflicto que hemos de emprender: las comunicaciones.

La infraestructura de correo electrónico que se utiliza en todo el mundo es, por diseño, insegura. Aunque la mayoría de las personas se conectan a sus servidores de correo electrónico mediante una capa de conexión segura ("SSL"), algunos servidores permiten acceso a sus usuarios a través de conexiones inseguras. Por otro lado, la ruta de transmisión que sigue el correo electrónico desde el remitente a su destinatario pasa por numerosos servidores intermedios, y es muy posible que estas conexiones intermedias también estén comprometidas de una manera u otra. Es posible para terceros interesados interceptar, leer, y modificar los mensajes de correo electrónico convencional. Por otro lado, la mayoría de los servidores de correo públicos no están controlados por los usuarios destinatarios, sino que son ofrecidos por proveedores de internet de la oligarquía. Debemos desconfiar de ellos ampliamente, pues han demostrado no tener escrúpulo alguno y acceder a correspondencia electrónica de abonados que consideran riesgosos para sus planes inconfesables, y han hecho a falta de ley adecuada de protección informática, abuso informáticos duraderos.


Para contrarrestar esta insidiosa acción contamos con dos soluciones libres interdependientes: la firmar digital de los mensajes de correo electrónico, y su cifrado por medio del criptosistema GnuPG. Se trata de un programa de identificación y cifrado libre pero redundante, diseñado para ofrecer a los compañeros que luchan la posibilidad de identificar sus usuarios de correo electrónico de manera fehaciente a través de un archivo que oficia de firma electrónica (que naturalmente puede estar asociado a una identidad anónima de guerra, si lo deseáramos). Asimismo, el criptosistema es capaz de cifrar los mensajes de correo salientes por medio de alta criptografía, de manera que estos recorran la ruta telemático hasta su destinatario de forma "desordenada e inteligible". Sólo cobrará legibilidad nuevamente en el criptosistema propio del destinatario real del correo electrónico.

Cada miembro que utilice el criptosistema ha de poseer una clave, que se subdivide en dos partes: una clave pública (un archivo .asc que se comparte abiertamente con todo aquél a quien necesitemos enviar correspondencia electrónica segura) y una clave privada (la cual ha de permanecer celosamente guardada en nuestro equipo o caja de seguridad, y se emplea para descifrar los correos electrónicos cifrados recibidos por terceros). Ya he explicado en detalle el imprescindible paso para crearnos un par de claves en nuestro equipo dotado de Ubuntu. Si ya tenemos creado nuestro par de claves, podremos continuar.


En este caso, os enseñaré cómo hacer uso de correo electrónico firmado y cifrado pero a través del sencillo cliente de correo electrónico Thunderbird. Thunderbird es uno de los clientes de correo electrónico libres más extendidos en Ubuntu, pero de forma nativa no está preparado para lidiar con correo firmado electrónicamente ni cifrado. Para poder compatibilizarlo con estas opciones, hemos de agregarle una extensión gratuita llamada Enigmail.

Para instalar Enigmail en Thunderbird, debemos abrir dicho programa ir al menú Herramientas / Complementos. (si no vemos la barra de menú, podremos hacer clic con botón derecho encima de la barra abierta, y tildar "Barra de Menú" en el menú contextual que aparezca):
Una vez en la ventana de Agregar Complementos, podremos buscar el complemento "Enigmail" tipeándolo en la ventana de búsqueda. Una vez que aparezca seleccionamos el paquete y presionamos el botón Agregar a Thunderbird.

Enigmail se descargará y se acoplará al programa. Para que dicha comunión se haga efectiva, debemos reiniciar Thunderbird.

Ahora debemos indicarle que use nuestro par de clave de cifrado. Para ello, dentro de Thunderbird, vamos a Enigmail / Asistente de Configuración.

El asistente nos ofrecerá una configuración de seguridad básica, con firmado y sin cifrado. Seleccionamos "Prefiero una configuración extendida (recomendado para usuarios avanzados)".
Allí el programa analizará nuestro depósito de claves, y nos ofrecerá emplear la clave pública que hemos creado previamente. Si tuviésemos varios pares creados para distintas condiciones, podremos escoger uno de la lista y asociarlo a nuestra cuenta de correo electrónico.
Ahora podremos configurar las opciones de encriptación propiamente dichas. Para ello vamos a Enigmail / Preferencias, y se nos presentará el cuadro de preferencias.
Normalmente el sistema utilizará la "configuración de cifrados conveniente", que suele ser adecuada en condiciones normales. Esto bastará como buen perfil de seguridad general, empleando firma digital y no utilizando cifrado salvo que lo solicitemos manualmente, o enviemos un correo a un contacto del cual tenemos su clave pública. Para la mayoría de las situaciones esto será suficiente

Sin embargo, un escenario de lucha más extremo nos impondrá la necesidad de tener la mayor seguridad posible. En este caso mas extremo hemos de escoger la  "configuración de cifrado manual", y tildamos entre dos políticas de seguridad a seguir. La política "acepte para enviar cifrado, sólo las claves de confianza" significa que sólo se cifrarán mensajes contra claves de terceros a las cuales hemos chequeado su identidad personalmente. Si tildamos "acepte para enviar cifrado, todas las claves", confiaremos en que quien nos ha envíado una clave adjunta es la firma es quien dice ser.


Por último, a la hora de configurar, es importante indicar una carpeta para los mensajes que desencripte nuestro criptosistema. Naturalmente que debemos emplear para ello únicamente una carpeta local, situada en nuestra computadora. Sería imberbe y estúpido emplear un criptosistema para correo, que descifre el contenido y lo vuelva a subir desencriptado a una carpeta remota en Google Mail. Sólo un malo operaría de esta manera. De modo que escogemos una carpeta local (normalmente se marca la "Papelera", de manera de poder leer el mensaje desencriptado, comprenderlo, y luego eliminarlo). También podremos crear una carpeta llamada "desencriptados" o algo así, donde irán a parar dichos archivos. Luego debemos asegurarnos de eliminar dichos archivos una vez leídos, de acuerdo a la política que sigamos en nuestras organizaciones.

Compartir clave pública con otros compañeros


Una vez que hemos configurado un par de clave propio, es necesario hacerle presente la clave pública a otro(s) destinatario(s) que quieran enviarme correo cifrado.

El procedimiento de compartir nuestra clave pública es la parte vulnerable de este confiable criptosistema. Lo ideal sería llevar el archivo .asc en mano, en un pendrive hasta el domicilio del remitente, pero lógicamente esto sería un engorro. Por ello también podremos hacerlo a través de correo electrónico, idealmente confirmándole al destinatario a través de una segunda e incluso tercera vía de contacto (por videoconferencia, teléfono, chat, o SMS por ejemplo). De esta manera el remitente se asegurará que somos nosotros y no un impostor electrónico, quien hace uso de este cometido.

Simplemente redactamos un correo a nuestro contacto deseado y presionamos el botón Adjuntar mi clave pública (o escogemos dicha función desde el menú Enigmail de la ventana de redacción de correo electrónico nuevo).

También podríamos querer tomar la política de enviar la firma digital en todos los correos salientes (se adjuntará un archivo .asc en todos los correos que enviemos). Esto es buena práctica si no avizoramos inconvenientes de privacidad alguno.

En otros casos, podríamos querer modificar las propiedades de encriptación como se explicó arriba, para que codifique sólo los mensajes enviados a determinados contactos. Normalmente este será el proceder si tenemos una única cuenta de correo electrónico para todo cometido.

Incorporar clave de un tercero a nuestro criptosistema


Naturalmente, también nos llegarán a nuestro criptosistema las claves públicas de terceros que deseen compartir mensajes cifrados con nosotros. En tal caso, notaremos que en dicho correo electrónico existirá un adjunto con extensión .asc. La misma es la firma digital del remitente.

Cuando la abramos, Thunderbird nos indicará: "el archivo que desea abrir aparenta ser una firma digital", y nos preguntará si deseamos ver o importar dicha clave pública a nuestro criptosistema. Si estamos seguros de la identidad real del remitente a través de las vías descriptas anteriormente, presionamos Importar. El GnuPG nos solicitará nuestra contraseña de criptosistema para agregarla.

Naturalmente, la clave pública de terceros también puede agregarse manualmente a través de la terminal como he explicado en otra ocasión.

Envíar correo electrónico firmado digitalmente o cifrado

Una vez que tenemos configurado el par de claves propio y contamos con la clave pública del destinatario, podremos hacer uso de la encriptación de correo electrónico de forma muy sencilla. Redactamos un correo a cifrar como lo hacemos normalmente, e indicamos la dirección de correo electrónico del destinatario. Para cifrarlo, presionamos el botón del "candado" (o elegimos Enigmail / Encrypt Message). El sistema solicitará que introduzcamos nuestra contraseña del criptosistema para cifrar el mensaje.
    Si nuestra dirección de correo electrónico está asociado a un par de claves GnuPG, el mensaje se cifrará con dicha clave. Si en cambio usamos una dirección de correo electrónico no asociada a una clave GnuPG, se nos solicitará que seleccionemos una clave de una lista. Luego enviamos el correo como lo hacemos habitualmente. El mismo será indescifrable para terceros, y sólo el remitente con la clave privada

    Nota: Si bien GnuPG cifra el cuerpo del mensaje y los adjuntos, el campo "Asunto" del correo electrónico NUNCA queda cifrado. De tal manera que debemos tener cuidado de no poner información comprementedora dicho campo asunto, y debemos asumir que siempre podrá ser leído por cualquier persona inescrupulosa.

    Leer correo electrónico de terceros, firmados digitalmente o cifrados

    Naturalmente, cuando recibamos un mensaje cifrado por uno de nuestros contactos, Thunderbird nos solicitará que introduzcamos nuestra contraseña del criptosistema para descifrar el mensaje, ya que él no podrá hacerlo por sí solo.

    Para determinar si el mensaje entrante se ha cifrado o firmado digitalmente, hay que buscar en la barra de información justo por encima del cuerpo del mensaje por determinados mensajes indicativos:
    • Si Thunderbird reconoce la firma, mostrará una barra de color verde encima del mensaje:
    GoodSignature

    • Si el mensaje se ha cifrado y firmado, Thunderbird mostrará una barra de color verde encima del mensaje con el texto "mensaje descifrado", nos encontramos aquí ante un mensaje de la máxima seguridad:
    Signature&Encrypted
    • Si el mensaje ha sido cifrado, pero no firmado, la barra aparecerá celeste.
    EncryptedNotSigned
    Un mensaje cifrado pero que no ha sido firmado no ofrece garantía absoluta, y podría podría haber sido enviado por un tercero haciéndose pasar por el titular de la cuenta. Por tal motivo siempre conviene cifrar y firmar los mensajes, para evitar inconvenientes de seguridad.

    martes, 29 de diciembre de 2015

    ¿Cómo puedo enviar correo electrónico encriptado y firmado?


    En una de sus clásicas disertaciones en la Escuela de Guerra, el General Juan Perón expone un fundamental esquema para mantener el secreto operativo para la victoria a través de correo electrónico firmado y encriptrado en Ubuntu, el sistema operativo del Pueblo.

    (...)
    Las condiciones en las que muchas veces se produce la lid política, nos encontrará en la realidad de batirnos en las posiciones menos aureoladas. La acción no siempre se da en el terreno que auguramos, y en tal caso un Conductor ha de mostrarse hábil en la planificación, pero sobre todo capaz de accionar en un terreno del cual podría carecer de un dominio total.
    Sun Tzu decía que el conocimiento de la acción del enemigo no puede darse por consagración del espíritu, ni por pensamiento inductivo en base a la experiencia. El conocimiento sobre el accionar del oponente ha de obtenerse a través del mismo enemigo, espiando sabiamente su accionar.

    En el campo telemático, la acción responde a los mismos principios. Quien crea en la idea mágica de una red neutral, que se levante y vaya a comprar facturas. No en vano en los frontispicios de los campamentos de Roma esculpían el Legio regnus Leges nulis, donde Reina el Legión, la Ley es Nula.  Nos encontraremos así que las oscuras fuerzas de la oligarquia - a través de sus tentáculos omnímodos - osarán leer todo mensaje de los Luchadores de la Libertad que circule por redes a las que considerarán propias. Tomarán todos los recaudos para interceptar y hacer uso de dicha información para apuntalar un objetivo que por inconfesable, no deja de ser cierto. Lo harán pretendiendo ser nuestro proveedor de correo electrónico, nuestro proveedor de tecnología de la información, proveedor de comunicaciones, o vendiéndonos esa libertad en cómodas latas a las que llaman software privativo.

    A lo largo de la historia, todo yacaré que osó dormitar se ha convertido en cartera. Nosotros somos un Movimiento que ha de conocer esta triste realidad para prevenir su accionar, y emprender una vez más la lucha por la Auténtica Liberación de nuestra Patria y su Software, a fin de reencontrarnos victoriosos en un futuro que no guarda para nosotros sino la dicha y la felicidad de todos los Argentinos.

    ¿Cómo podemos proteger nuestro tráfico de información en la lucha enconada que hemos de dar?. Vean señores, por más remozada que esté, la técnica computada no deja de ser - en su esencia - mas vieja que mear en los portones. Emplearemos el arte de los criptosistemas. Esto es, codificar un mensaje para que sólo sirva a nuestros intereses.

    ¿Como funciona el sistema? Se trata de un mecanismo de cifrado de alta computación para mensajes de punto a punto. Cada punto (remitente y receptor) poseen dos tipos de clave: una llamada Clave Privada, y otra que se combina con la anterior pero que debe compartirse con el resto del nuestros destinatarios de correo: la Clave Pública.

    Cuando un remitente desea enviar correspondencia electrónica cifrada, debe primero encriptarlo mediante la Clave Pública de la persona a quien desea enviarle el correo. Esto hace que ya - durante su viaje - el mensaje vaya cifrado y sea totalmente inintelegible. Al llegar el mensaje cifrado al destinatario, éste utilizará su propia Clave Privada para actuar en combinación con la clave pública del remitente; sólo así el mensaje se descifrará y resultará legible.

    El Conductor de un Movimiento debe ser - ante todo - un didacta. Es por ello que concentraré mis esfuerzos en iluminar a la Masa entendiendo que el empleo masivo de encriptación a nivel táctico y estratégico es un multiplicador de fuerzas, tendiente a otorgar a nuestro Movimiento la sorpresa en en planeamiento estratégico y en la ejecución táctica de las acciones que hemos de emprender.

    Han de saber que los objetivos fundamentales de este criptosistema son:

    a) certificar profundamente las identidades de quienes lo envían y reciben. Sólo esta protección de la identidad podrá asegurar que sólo la persona a quien queremos enviar el correo lo reciba. Esta protección a la identidad también asegurará al receptor que quién ha emitido el mensaje es la persona que dice ser.

    b) intercifrar el mensaje de modo que quienes carezcan de las claves correspondientes tengan totalmente vedado, en la práctica, loa imprescindible lectura descifrada el mensaje.


    CREACIÓN DEL PAR DE CLAVES
    Para crear las claves usaremos el herramental GnuPG, una serie de programas libres para todo el cometido estratégico de la alta encriptación bajo las banderas del Justicialismo. Estas comprenderán nuestras armas de campo, y de ellas no debemos desconfiar pues son realmente potente para afrontar los distintos esquemas de seguridad (encriptado directo, firma digital, y gestión de claves, todo protegido con diferentes algoritmos).
    En primer lugar hemos de instrumentar el par de claves (privada y pública) necesarias para el criptosistema del que os he hablado. Tanto el remitente como el destinatario deberán tener su par de claves.

    Nos crearemos un par de claves para nuestro uso personal. Podremos utilizar el sistema gráfico o el la terminal para hacerlo. En este caso, será más ágil explicarlo con la terminal de texto. Por ello abrimos una Terminal con Ctrl+Alt+T e ingresamos:

    gpg --gen-key

    El sistema nos irá indicando los pasos para generar una clave. En el primero de los pasos, debemos configurar el esquema de claves. El caso por defecto emplea el algoritmo RSA+RSA, el cual recomiendo ampliamente para mensajes de texto simple. Si deseamos codificar programas, fotografías, videos o gran cantidad de datos podríamos preferir emplear el esqueema DSA+Elgamal, de menor requerimiento computacional. Nos aparecerá el siguiente diálogo:

    gpg (GnuPG) 1.4.16; Copyright (C) 2013 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.

    Por favor seleccione tipo de clave deseado:

       (1) RSA y RSA (predeterminado)
       (2) DSA y Elgamal
       (3) DSA (sólo firmar)
       (4) RSA (sólo firmar)

    ¿Su selección?:1

    las claves RSA pueden tener entre 1024 y 4096 bits de longitud.
    ¿De qué tamaño quiere la clave? (2048) 4096

    El tamaño requerido es de 4096 bits

    Por favor, especifique el período de validez de la clave.

             0 = la clave nunca caduca
            = la clave caduca en n días
          w = la clave caduca en n semanas
          m = la clave caduca en n meses
          y = la clave caduca en n años
    ¿Validez de la clave (0)? 0

    La clave nunca caduca
    ¿Es correcto? (s/n)s


    Necesita un identificador de usuario para identificar su clave. El programa construye el identificador a partir del Nombre Real, Comentario y Dirección de Correo electrónico de esta forma:

        "Heinrich Heine (Der Dichter) "

    Nombre y apellidos: Juan Perón
    Dirección de correo electrónico: juanperon@puertadehierro.com.es
    Comentario: Conductor

    ¿Cambia (N)ombre, (C)omentario, (D)irección o (V)ale/(S)alir?V


    Si es la primera vez que utilicemos nuestro sistema de cifrado en esta computadora,, el programa nos solicitará una contraseña para el anillo de claves, que nos permitirá controlar los cifrados. Este funciona como mi anillo de ónix que tiene las claves de mis cajas secretas de Suiza.

    Esta contraseña del anillo de claves será distinta a las de las firmas digitales. Es imporante contar con una clave que recordemos, o al menos anotarla y guardarla en un lugar seguro, como una caja de seguridad, sobre lacrado, etc.

    El procedimiento de generación de claves es computacionalmente intensivo, por lo cual puede tardar un par de minutos dependiendo de la complejidad de la clave (en bits). Para ello, el algoritmo requiere generar muchos bytes aleatorios, y lo hará a través de la llamada "entropía" de distintos dispositivos de sistema. Para que estos bytes aleatorios se generen mas rápidamente, se aconseja trabajar en muchas cosas a la vez, usar la red y los discos, usar varias ventanas, ver streams de videos, etc), y durante todo este procedimiento se generarán números primos y diferentes acciones de cifrado. Todas esta generación pseudoaleatoria de alta computación hará que la clave sea realmente compleja. En tanto no tengamos los datos necesarios, se nos mostrará un mensaje similar a este:

    No hay suficientes bytes aleatorios disponibles. Por favor, haga algún otro trabajo para que el sistema pueda recolectar más entropía (se necesitan xxx bytes más).

    Una vez realizado esto, se nos informará mediante un comunicado similar a este:

    gpg: clave 8F7FGBC6 marcada como de confianza absoluta
    claves pública y secreta creadas y firmadas.

    gpg: comprobando base de datos de confianza
    gpg: 3 dudosa(s) necesarias, 1 completa(s) necesarias,
    modelo de confianza PGP
    gpg: nivel: 0  validez:   2  firmada:   0  confianza: 0-, 0q, 0n, 0m, 0f, 2u
    pub   4096R/7F7FGBC6 aaaa-mm-dd
          Huella de clave = zzzz zzzz zzzz zzzzz zzzz  zzzz zzzz zzzz zzzz zzzz
    uid                  Juan Peron (conductor) [juanperon@puertadehierro.com.es]
    sub   4096R/69FGFE5C aaaa-mm-dd


    Estudiemos momentáneamente este resultado de ejemplo. Se nos indica el identificador de la clave pública 7F7FGBC6 y de la clave privada 69FGFE5C, así como su fuerza de encriptación (4096R, que significa 4096 bits RSA). Alguno de los comandos dependen de estos identificadores, de modo que debemos tomar nota de ellos, e idealmente guardarlos en lugar seguro.


    CERTIFICADO DE REVOCACIÓN DE CLAVE
    Apenas creamos el Par de claves, conviene crearnos un Certificado de Revocación para la clave privada. Este ejercicio se debe a que si en algún momento la clave privada resulta comprometida, la cambiamos, etc, debemos revocar la antigua, y el certificado hará dicho trámite. Debemos pensar en él Certificado de Revocación como "la escritura de la casa". Si tuviésemos que "cambiar la cerradura por algo", esta será nuestra llave maestra. Para generar el certificado de la clave pública haremos:

    gpg --output cert_revok_69FGFE5C.asc --gen-revoke 0x69FGFE5C

    Este dará como resultado un archivo de texto llamado cert_revok_69FGFE5C.asc que contendrá una clave con el certificado de revocación. Este fichero conviene guardarlo en algún medio de almacenamiento y colocarlo en sitio seguro (imprimirlo y guardarlo en sobre lacrado/caja fuerte, o idealmente tomar los dos temperamentos), pues nos servirá en caso de emergencias graves con la clave privada. Conforme el certificado de revocación de clave privada esté en orden, podremos ya con confianza compartir la clave pública a terceros.


    COMPARTIR NUESTRA CLAVE PUBLICA
    Para poder darle a futuros remitentes nuestra clave pública, hay que exportarla. Para ello utilizaremos el comando:

    gpg --armor --output juan_peron_publica.asc --export juanperon@puertadehierro.com.es

    Ello nos creará un archivo ASCII blindado que contendrá la clave pública, llamado en este ejemplo juan_peron_publica.asc. El contenido íntegro de dicho archivo podremos hacerlo público de la manera que se nos ocurra. Podríamos mandarlo adjunto por correo electrónico, o subirlo a algún servidor de claves públicas, o acercarlo por medio de algún método de transferencia de información.

    Si no tenemos tantos problemas con la privacidad, podríamos hacer uso de servidores especializados para hacer pública nuestra clave pública, y que la misma esté disponible para cualquiera que nos busque para entablar un contacto certificado. Uno de los míticos es el servidor de claves PGP del MIT, sito en https://pgp.mit.edu/.

    Si deseamos emplear otros servidores de manera sencilla, podríamos hacer uso de la interfaz gráfica de nuestro Ubuntu. Vamos a Sistema / Preferencias / Contraseñas y Claves. Elegiremos entonces el menú Remota / Sincronizar Claves.

    Si presionamos Servidores de Claves, podremos elegir alguno. En el caso de Ubuntu 14.04LTS nos ofrecerá tres servidores seguros y confiables a disposición, pero podremos agregar más si lo deseamos.




    Al presionar Sincronizar se cargarán (subirán) las claves públicas que querramos al servidor elegido. Si quisiéramos buscar una clave pública, podríamos utilizar la función Remota / Buscar Clave Pública.

    Si echamos un vistazo al contenido de nuestro archivo de clave pública juan_peron_publica.asc, veremos la clave que su contenido tendrá una apariencia similar a esta:

    -----BEGIN PGP PUBLIC KEY BLOCK-----
    Version: GnuPG v1

    chorizodeletrasindescifrablesqueesnuestraclavepublicaimposiblederecordaretc
    chorizodeletrasindescifrablesqueesnuestraclavepublicaimposiblederecordaretc
    chorizodeletrasindescifrablesqueesnuestraclavepublicaimposiblederecordaretc
    (...)

    -----END PGP PUBLIC KEY BLOCK-----



    AGREGARNOS LA CLAVE PÚBLICA DE UN TERCERO
    Para poder enviarle correo electrónico cifrado a un tercero, debemos incorporar a nuestro critosistema la clave pública de dicha persona. Naturalmente, la misma tendrá la misma forma que nuestra propia clave pública: un archivo .asc, o eventualmente un archivo .gpg (la diferencia es que el .gpg no es blindado, pero para el caso es lo mismo).

    Supongamos que nos hacen llegar por correo electrónico no cifrado la clave pública de nuestro destinatario jwk@orga.ar. La misma consiste en un archivo de clave pública llamado john_william_cooke.asc. La incorporamos a nuestro Movimiento con el comando:

    gpg --import john_william_cooke.asc

    Sólo si la clave está intacta, el sistema la incorporará. En tal caso nos devolverá algo como:

    gpg: key 3DE3f869: Clave pública importada.
    gpg: número total procesada: 1
    gpg:              importada: 1



    REVISAR Y VALIDAR LAS CLAVES ALMACENADAS EN EL CRIPTOSISTEMA

    Podremos revisar las claves en nuestro sistema con el comando:

    gpg --list-keys


    ...y este nos devolverá algo como:

    /home/usuario/.gnupg/pubring.gpg
    ------------------------------
    pub   4096R/7F7FGBC6 aaaa-mm-dd
    uid                  Juan Peron (conductor)
    sub   4096R/69FGFE5C aaaa-mm-dd

    pub   2048R/3DE3f869 aaaa-mm-dd
    uid                  John William Cooke
    sub   2048R/C3CFF358 aaaa-mm-dd



    Ahora bien, ¿cómo sabemos que realmente dicha clave es de la persona que deseamos, y no de alguien que pretende serlo? Por medio de las validaciones. Nosotros podemos validar firmas que sabemos reales, o poner en duda las que creemos falsas. En una empresa, el empleador podría validar las cuentas que ha creado para sus propios usuarios. Similarmente, en toda organizaación o Movimiento político ha de poder validar las claves de quienes la componen.

    Para validarla podermos utilizar la ventana gráfica pues es más sencillo. Vamos a Sistema / Preferencias / Contraseñas y Claves. Se abrirá el cuadro de diálogo que nos permite administrar las claves. Debemos ir al menú Ver / Mostrar todas para que nos muestre todas las claves que tengamos.
    En el campo de la izquierda, hacemos clic el apartado Claves GPG / Claves GnuPG. Allí se listarán todas las claves.

    Hacemos doble clic en aquella que nos interese validar. Se abrirá un cuadro con la respectiva Clave Pública. Debemos ir a la solapa Detalles y elegir en el apartado Indique Confianza un valor para el mismo (puede ser Desconocida, Nunca, Marginal, Completa). Si sabemos efectivamente que el propietario es quien dice (por ejemplo, nos transfirió el archivo en mano, presencialmente, etc) podemos indicar Completa.


    CODIFICAR UN MENSAJE Y ENVIARLO POR CORREO ELECTRÓNICO COMÚN


    En este ejemplo cifraremos un importante mensaje estratégico llamado carta.txt, y lo firmaremos digitalmente, para luego enviárselo a John William Cooke a través de un correo electrónico convencional a su cuenta jwc@orga.ar.
    Para ello utilizaremos la siguiente sintaxis de comando:

    gpg --output cartaencriptada.gpg --encrypt --recipient jwk@orga.ar carta.txt

    El sistema cifrará el archivo carta.txt usando la clave pública asignada a jwk@orga.ar, y el resultado de dicha encriptación quedará en el archivo cartaencriptada.gpg. Dicho archivo ya será ininteligible.

    En el caso que la clave pública de Montoneros no esté certificada aún, podremos cifrar el mensaje de todos modos, pero el sistema, en aras de la seguridad extrema, nos lo advertirá con el siguiente mensaje:

    gpg: 3DE3f869: No hay seguridad de que esta clave pertenezca realmente
    al usuario que se nombra

    pub  2048R/3DE3f869 aaaa-mm-dd John William Cooke
     Huella de clave primaria: xxxx xxxx xxxx xxxx xxxx  xxxx xxxx xxxx xxxx xxxx
          Huella de subclave: yyyy yyyy yyyy yyyy yyyy  yyyy yyyy yyyy yyyy yyyy

    No es seguro que la clave pertenezca a la persona que se nombra en el
    identificador de usuario. Si *realmente* sabe lo que está haciendo,
    puede contestar sí a la siguiente pregunta.

    ¿Usar esta clave de todas formas? (s/N) s


    Ahora que tenemos el archivo cifrado cartaencriptada.gpg, opcionalmente podremos firmarlo digitalmente. La firma actúa también como certificado de inviolabilidad, y alerta al receptor si el mensaje no ha sido alterado de cualquier forma durante su traslado telemático.

    Para firmarlo se utiliza la clave privada del usuario remitente. Para ello debemos usar:

    gpg --output cartaencriptadayfirmada.sig --sign cartaencriptada.gpg

    El sistema nos advertirá:

    Necesita una frase contraseña para desbloquear la clave secreta
    del usuario: "Juan Peron (Conductor) "
    clave RSA de 4096 bits, ID 7F7FGBC6, creada el aaaa-mm-dd


    Debemos ingresar entonces la contraseña que hayamos asignado al anillo de contraseñas de nuestro sistema para completar el criptofirmado.

    Conforme hayamos realizado estos pasos, podremos ya enviar como adjunto el archivo cartaencriptadayfirmada.sig por correo electrónico convencional con suma confianza a la dirección jwk@orga.ar. Si cualquier espurio proveedor de internet deseara interceptar el archivo, solo recibiría basura ininteligible. Y si quisiera alterarlo por algo, alertaría al remitente que sin duda se produjo una modificación en el fichero...

    Una vez recibido su correo electrónico, John William Cooke debe descargar el archivo cartaencriptadayfirmada.sig. Podrían entonces verificar la firma con:

    gpg --verify cartaencriptadayfirmada.sig

    ...si todo es correcto, el sistema les devolverá el status de la firma. Si la firma está certificada ya por varias personas, podría indicarnos:

    gpg: Firmado el ddd dd mmm aaaa hh:mm:ss TZ usando clave RSA ID 7F7FGBC6
    gpg: Firma correcta de «Juan Perón (Conductor) »


    ...y si la firma no estuviese convenientemente certificada por terceros aún,, podría alertarnos al respecto:

    gpg: Firmado el dd mmm aaaa hh:mm:ss TZ usando clave RSA ID 7F7FGBC6
    gpg: Firma correcta de «Juan Perón (Conductor) »
    gpg: AVISO: ¡Esta clave está certificada por una firma de confianza!
    gpg:          No hay indicios de que la firma pertenezca al propietario.
    Huellas dactilares de la clave primaria: zzzz zzzz zzzz zzzz zzzz  zzzz zzzz zzzz zzzz zzzz


    Finalmente, John William Cooke utilizaría su propio criptosistema para descifrar el mensaje. En su equipo dotado con su propia clave privada, ingresaría los siguientes comandos de organización para descifrar la carta:

    gpg --output cartacifrada.gpg --decrypt cartadescifradayfirmada.sig
    gpg --output cartadescifrada.txt --decrypt cartacifrada.gpg


    Esto ya nos dejaría el texto complemente descifrado. John William Cooke podría leer la carta de directivas estratégicas en la terminal Linux con:


    less cartadescifrada.txt

    ...sabiendo que sólo él la ha leido, y que Fibertel la tiene adentro pero no le sirve de nada. Finalmente, podría borrar de forma segura la carta con:

    shred cartadescifrada.txt

    Método de Firma Acompañante:
    El mecanismo anterior aporta una seguridad altamente eficiente para impedir que terceros vean el contenido del archivo, pero requiere aún así manipular un archivo cartacifrada.gpg intacto para poder descifrarla en cartadescifradayfirmada.sig y luego hacerlo legible.

    Para certificar todo el camino del mensaje (en casos de seguridad de emergencia), debemos utilizar el esquema de firmas acompañantes, que prevee verificar que el archivo gpg esté intacto, por medio de un archivo de firma sig. Suponiendo que tenemos un archivo a codificar y firmar llamado carta.txt, en este caso como remitente Juan Domingo Perón indicaré:

    gpg --output cartaencriptada.gpg --encrypt --recipient jwk@orga.ar carta.txt

    ...con lo cual se nos advertiría y cifraría el mensaje carta.txt en el archivo cifrado e ilegible cartaencriptada.gpg. Acto seguido empleamos el comando:

    gpg --output firmademensaje.sig --detach-sig cartaencriptada.gpg

    El criptosistema del remitente nos indicará algo como:

    Necesita una frase contraseña para desbloquear la clave secreta
    del usuario: "Juan Domingo Peron (conductor) [
    juanperon@puertadehierro.com.es]"
    clave RSA de 4096 bits, ID
    7F7FGBC6, creada el dd mmm aaaa hh:mm:ss

    ...tras ingresar la contraseña de desbloqueo, el criptosistema y firmará el archivo firmademensaje.sig y lo encriptará. Para que el sistema de desencripción con firma acompañante funcione, debemos incluir ambos archivos en el correo electrónico, y ambos deben llegar intactos a John William Cooke (en casos muy extremos podríamos enviar cada archivo por vías diferentes).


    Una vez que reciba ambos archivos adjuntos por correo electrónico convencional, John William Cooke primero verificará ambos archivos encriptados y su firma acompañante con el siguiente comando:

    gpg --verify firmademensaje.sig cartaencriptada.gpg

    ...si el archivo no fue alterado de forma alguna y tanto las firmas públicas nuestras coiciden con las privadas del remitente, el criptosistema de John William Cooke debería devolverle algo como:

    gpg: Firmado el
    dd mmm aaaa hh:mm:ss usando clave RSA ID 7F7FGBC6
     gpg: Firma correcta de «Juan Domingo Peron (conductor) [juanperon@puertadehierro.com.es]»
    Confirmada la verificación y estando seguro que el archivo fue firmado por quien lo origina y no por otro, ahora sólo John William Cooke en su criptosistema podrá proceder a desencriptar el mensaje y leerlo. Lo haría con:

    gpg --output cartaencriptada.gpg --decrypt firmademensaje.sig
    gpg --output cartadescifrada.txt --decrypt cartaencriptada.gpg
     
    En su equipo naturalmente se solicitará contraseña para poder desencriptar. Una vez realizado el procedimiento, podrá leer el archivo con:
     
    less cartadescifrada.txt
     
    Asimismo, tras leer el archivo cartadescifrada.txt, John William Cooke podría eliminar con seguridad todos los archivos de su disco rígido de una forma en la cual sea imposible recuperarlos, empleando el comando shred:
     
    shred cartadescifrada.txt cartaencriptada.gpg firmademensaje.sig 
    Indudablemente, que todas estas acciones de cifrado y descifrado, firmado y verificación desde la terminal, pueden llevarse a cabo mucho más fácilmente desde un cliente libre de correo electrónico de interfaz gráfica como Thunderbird, pero tal acción la llevaremos a cabo en otra clase de este mismo gabinete.