Uso del GNU Privacy Guard

Uso del GNU Privacy Guard
Responsable: Gonzalo Stillo
Fecha: Marzo 2009
Clasificacion: Publico

 

 

 

    El objetivo de este tutorial es presentar una guía rápida para instalar y  aprender a usar la herramienta de encripcion de texto y archivos "GNU Privacy Guard" o simplemente "GPG". El CSIRT ANTEL utiliza la herramienta GPG para el cifrado de información sensible y para el intercambio de datos confidenciales con su comunidad. Esta herramienta encripta texto y archivos usando pares de claves individuales asimétricas (una clave privada y otra pública) generadas por los usuarios.

¿Que es GPG?
    GPG es un software que cifra texto y archivos usando criptografía asimétrica mediante pares de claves individuales generadas por los usuarios (clave publica / clave privada). Las claves publicas deben ser compartidas con otros usuarios si queremos recibir información cifrada para nosotros. Siempre deben ser compartidas cuidadosamente para prevenir falsas identidades por la corrupción de las claves  publicas. Tambien es posible añadir una firma digital criptográfica a un mensaje, de esta manera el mensaje integro y el remitente pueden ser verificados y así confirmar que no ha sido corrompido.

    GPG no usa algoritmos de software que están restringidos por patentes. En su lugar usa una serie de algoritmos no patentados y de uso libre como ElGamal, CAST5, Triple DES (3DES), AES y Blowfish.

    Mas información sobre GPG puede encontrarse en: http://www.gnupg.org/ y http://es.wikipedia.org/wiki/Gpg.

¿Que es criptografía asimétrica?
    Se conoce como criptografía asimétrica (o de clave pública) al sistema de encriptación que consiste en utilizar un sistema de doble clave (clave publica y clave privada). La clave publica es conocida por todos y se utiliza para convertir el texto en claro en texto cifrado que tan solo podrá volverse a convertir en un texto en claro mediante la clave privada. Esta clave privada solamente la conoce la persona a la que va remitida la información cifrada mediante la clave publica. La principal ventaja que ofrece este sistema es que permite mantener en secreto la clave utilizada para descifrar el criptograma, lo cual implica que en ningun caso, una información cifrada podrá ser pasada a texto en claro.
 

    Mas información puede encontrarse en: http://es.wikipedia.org/wiki/Criptografía_asimétrica

Instalación del software
      Tanto para MS Windows, Linux y MAC OS X, el software que hay que instalar para poder empezar a encriptar texto o archivos es básicamente:

     En Linux actualmente en casi cualquier distribución estas aplicaciones ya vienen preinstaladas. Para MAC OS X visitar el sitio: http://macgpg.sourceforge.net/

    Se explicitaran a continuación los pasos que deben seguirse para instalar las herramientas necesarias en MS Windows.

 

 Instalación para MS Windows

 Para este tutorial se elije la interfaz gráfica para GPG GPGShell
 Antes de empezar hay que verificar las ultimas versiones de las aplicaciones necesarias en los siguientes sitios:

 
    Al momento de escribir el presente documento, las versiones de las aplicaciones disponibles en los sitios especificados anteriormente para el sistema operativo Windows son las siguientes:
 

A)GNUPG: gnupg-w32cli-1.4.7.exe
B)GPGSHELL: gpgsh363.zip

    Para comenzar la instalación del GPG se debe ejecutar el archivo gnupg-w32cli-1.4.7.exe. La misma es sencilla y se irán aceptando las configuraciones propuestas por el propio programa. El directorio recomendado para instalar el GPG es  “C: \Archivos de programa\GNU\GnuPG”.

    Una vez concluida la instalación del GPG se deberá instalar el GPGShell para facilitar el uso del mismo. El archivo comprimido gpgsh363.zip se debera extraer en cualquier directorio temporal que luego de la instalación puede borrarse. Ejecutar 'GPGshell.exe' para comenzar la instalación.  Van a ir apareciendo ventanas con diferentes opciones para la configuración de la aplicación; se recomienda seguir los siguientes pasos:



 

  • Marcar: "Create Autostart/Startup icon for GPGtray"
  • Borrar el resto de las opciones (los programas se pueden acceder desde el menu Inicio -> Programas)
  • Decir SI a la pregunta sobre el directorio HOME del GPGshell (Deberá ser “C:\Documents and Settings\<usuario>\Datos de programa\GPGshell”)

 

 Va aparecer un warning sobre la variable PATH. Dar  OK, y luego EXIT.

 


    Para cumplir con este ultimo aviso hay que poner el directorio donde esta el ejecutable del GPG (el que fue instalado en primer lugar) en el PATH del usuario que va a usar la aplicacion. Para esto:
 

  • Botón derecho en "MI PC" -> "Propiedades"
  • En la lengüeta "Opciones Avanzadas" ir a  "Variables de Entorno"
  • Mirar en "Variables de usuario...":

 


 

     Si ya existe la variable PATH, usando el botón "Modificar" agregar ";C:\Archivos de programa\GNU\GnuPG" (observar el  punto y coma al principio). Si no existe PATH, usando el botón "Nueva" crear la variable "PATH" con "C:\Archivos de programa\GNU\GnuPG" como valor.

    Dentro del paquete de aplicaciones que contiene el GPGShell esta el GPGtray (en la imagen el icono de  candado verde) que facilita el acceso a las funciones de GPGshell vía el area de notificacion de MS Windows .

 

 

 

Generacion de claves

     Llego la hora de usar el GPG. Para ello debemos generar nuestro primer juego de claves publico/privadas. Para esto correr GPGkeys (Desde “Menu Inicio” -> “Programas” -> “GPGShell”). Por ser la primera vez que se corre esta aplicación va a avisar que no hay claves generadas.

    Dar que SI para generar una clave para el usuario y aceptar las opciones por defecto que se van presentando. Va a pedir NOMBRE, EMAIL, un COMENTARIO (es opcional) y una PASSPHRASE (password) que protege la clave privada. ES MUY IMPORTANTE NO OLVIDARSE ESTA PASSPHRASE.

    Cuando el sistema esta generando las claves iran apareciendo caracteres al azar en la pantalla. Al finalizar veremos comenzar el GPGkeys con las claves publica/privada ya importadas. (Cuando en el GPGkeys aparece la doble llave como en la figura es porque tenemos tanto la clave pública como la privada para esa identidad.)

 

 

Uso del software
    Se muestran a continuacion distintos casos de uso del software instalado.

  1. Generar un nuevo par de clave publica/privada

    Para generar otro par de claves se debe utilizar el menú “Clave(s)”  del GPGKeys, usando el elemento “Nuevo”. El procedimiento de este documento.

 

 

  1. Importar una clave pública o privada

    Para enviar informacion encriptada a alguna persona necesito tener su clave publica y para poder usarla debo importarla a la base de datos de claves. Igual que para el caso anterior se hace desde el menú “Clave(s)”  del GPGKeys, pero usando el elemento “Importar”

 

  1. Exportar clave publica o privada

    Se hace también desde el menú “Clave(s)”  del GPGKeys, pero usando el elemento “Exportar”. Cuando de una identidad  tenemos ambas claves nos da la opción de importar tanto la clave pública como la privada.

 

  1. Firmar/Cifrar un texto

    Copiar el texto en el portapapeles. Hacer botón derecho sobre el GPGtray y seguir las opciones del menú.  Si es solo firmar va a pedir que elijamos que clave privada usar para la firma. Si es cifrar va a pedir que elijamos la clave pública del destinatario del mensaje cifrado y que clave privada propia usar .
 En todos los casos (como vamos a acceder a la clave privada) va a pedir que escribamos la PASSPHRASE.

 

  1. Firmar/Cifrar un archivo

 Hacer botón derecho sobre archivo a firmar o cifrar.

Cifrar = Generar  un archivo .gpg, que es el original pero cifrado.
Firmar = Generar un archivo .gpg, que es el original pero firmado (no cifrado)
Firmar (separada) = Genera un archivo .gpg que es SOLO la firma del archivos original.
Cifrar y Firmar = Combinación de las 2 primeras

     Si es solo firmar va a pedir que elijamos que clave privada usar, para generar la firma del archivo. Si es cifrar va a pedir también que elijamos la clave pública del destinatario del mensaje cifrado.
 En todos los casos va a pedir que escribamos la PASSPHRASE.
 

 

 

  1. Verificar/Descifrar un texto

 Igual que para firmar, copiar el texto en el portapapeles. Hacer botón derecho sobre el GPGtray y usar la opción del menú “Descifrar/Verificar Portapapeles”.
 

Si la verificación o el descifrado es correcta:

Si la verificación o el descifrado es incorrecta:

 

 

 

  1. Verificar/Descifrar un archivo

    Hacer botón derecho sobre archivo .gpg firmado o cifrado y usar la opción del menú “Descifrar/Verificar”.