Вы находитесь на странице: 1из 22

Uso de Gpg4Win para el cifrado de ficheros

1. Instalacin de Gpg4win
Para descargar Gpg4win tenemos que ir a la direccin http://www.gpg4win.org/ y pulsar en el
botn Download Gpg4win de color verde. Nos llevar a la pgina de descargas donde
deberemos elegir la versin que queremos descargar.

En el momento de escribir esto (2015.09.22), se recomienda descargar Gpg4win 2.2.6, que


es la ltima versin estable disponible. Asimismo se recomienda descargar la versin completa
(full versin), ya que nos interesa usar el componente llamado Kleopatra para la gestin de
las claves de firma/cifrado. Este componente no se haya disponible en la versin Gpg4WinLight ni en la versin Gpg4Win-Vanilla.
Una vez descargado el fichero ejecutable y comprobado que no tiene virus, procederemos a su
instalacin, siguiendo las instrucciones que el mismo software nos indique, y aceptando los
valores de configuracin que se nos ofrecen (que son razonables y adecuados a nuestras
necesidades).

-1-

2. Creacin de claves personales y configuracin mnima inicial


Una vez instalado, tenemos que ejecutar la aplicacin llamada Kleopatra, que se encontrar
en el men de aplicaciones, dentro del grupo llamado Gpg4win.
La primera vez que ejecutemos la aplicacin, nos aparecer la siguiente pantalla, sin ningn
certificado en las listas de certificados My Certificates, Trusted Certificates y Other
certificates. En la primera de las listas (My Certificates) aparecern en el futuro aquellos
certificados creados por m.
En la segunda (Trusted Certificates) aparecern (adems de nuestros propios certificados)
aquellos certificados importados por m que pertenecen a terceras personas, y en los que he
indicado al software que confo plenamente en ellos (los certificados). Esta es una decisin que
no se deber tomar a la ligera sin verificar de forma fehaciente que efectivamente pertenecen a
la persona que creemos, y que dicha persona es quien dice ser.

En la tercera (Other certificates) aparecern aquellos certificados adicionales que hayamos


importado en la aplicacin para poder usarlos, pero que no consideremos que son plenamente
confiables (por ejemplo, porque an no hemos podido verificarlos de forma directa, pero han
sido verificados por terceros de los cuales nos fiamos).
La primera operacin que debemos llevar a cabo es la creacin de una clave de cifrado propia
(llamada certificado en la aplicacin). Para ello elegimos la opcin New Certificate del men
File:

-2-

Lo siguiente que nos pregunta la aplicacin es si deseamos crear un certificado de tipo


OpenPGP o de tipo X.509. En el primero de los casos lo podemos crear nosotros mismos
directamente. En el segundo, la aplicacin nos permite crear la solicitud pero no el certificado
final, que deber ser creado y firmado por una Autoridad de Certificacin (CA). Si necesitamos
enviar correo cifrado o firmado con el estndar S/MIME necesitaremos un certificado de este
segundo tipo.
La ventaja del primer tipo es que es de tipo auto-servicio: nosotros nos creamos nuestro propio
certificado con los datos que queremos y lo tenemos listo para usar de inmediato. La
desventaja es que no hay un tercero que de f de la veracidad de los datos, por lo que la
gestin de la confianza del certificado de otras personas es ms engorrosa. Es decir, corre de
nuestra cuenta verificar que tanto los datos del certificado, como la titularidad del mismo y la
identidad de su creador son ciertos.
En nuestro caso, para no depender de terceros a la hora de generar los certificados, y por
motivos de compatibilidad con ms usuarios (OpenPGP es un estndar ms usado a da de
hoy que S/MIME con certificados X.509) vamos a crear certificados del primer tipo.

-3-

En todo caso es importante sealar que se pueden crear y utilizar tantos certificados de cada
tipo como sea necesario. De forma que podramos crear y utilizar uno o varios certificados
OpenPGP con aquellos usuarios que slo puedan usar o prefieran ese tipo de certificados, y
uno o varios certificados de tipo X.509 con aquellos otros que lo necesiten o lo prefieran.
Una vez le indicamos que deseamos un certificado de tipo OpenPGP, se nos piden los datos
bsicos necesarios para crear dicho certificado: nombre y apellidos, direccin de correo
electrnico y un comentario opcional:
Segn vamos rellenando los detalles, se nos muestra en la parte inferior como quedara la
identidad que se almacenar en el certificado, y que ser lo que vean los dems.

Si pulsamos en el botn Advanced Settings, podemos modificar algunos parmetros


opcionales del certificado. Podemos elegir el tipo de clave a generar (RSA o DSA + ElGamal),

-4-

la longitud de la clave (no se recomienda menos de 2048 bits actualmente), y el tipo de uso que
haremos del certificado y la validez temporal del mismo.

A menos que haya razones para ello, se recomienda elegir claves de tipo RSA con longitudes
de 2048 bits o superiores (aunque cuando mayor es la longitud mayor es la se.guridad, tambin
lo es el tiempo de cmputo necesario). Asimismo se recomenienda especificar que el
certificado es tanto para firma (Signing) como para cifrado (Encryption), e indicar una fecha de
caducidad de unos 2-4 aos, como se muestra en la figura siguiente:

-5-

De esta forma, dentro de 2-4 aos (o la fecha de caducidad que hayamos establecido)
tendremos que valorar si el certificado existente sigue siendo adecuado con respecto al avance
en el campo de la criptografa (p.ej. si el tamao de la clave del certificado se sigue
considerando seguro, el tipo de algoritmos de cifrado del certificado se siguen considerando
seguros, etc.). Y en funcin desea valoracin decidir si extendemos la caducidad del certificado
(algo que siempre podemos hacer, incluso aunque el certificado est caducado) o por el
contrario decidimos crear un nuevo certificado y especificar los tamaos de clave y algoritmos
ms adecuados en ese momento.
Por ejemplo, hace 6 aos se recomendaban claves de 1024 bits o ms; hoy en da ese tamao
se considera insuficiente dados los avances de las prestaciones de los ordenadores actuales.
El hecho de que la clave caduque nos evita la tentacin de seguir usando claves que podran
no ser ya tan seguras sin reflexionar sobre ello.
Una vez especificados los ajustes avanzados del certificado pulsamos en el botn OK, y
cuando volvemos a la pantalla con los ajustes normales del certificado pulsamos sobre el botn
Next >. Nos aparece la pantalla con el resumen de los ajustes:

-6-

Pulsamos sobre el botn Create Key para comenzar la generacin de las claves del
certificado en s. Se nos pide que introduzcamos una contrasea para proteger la privacidad
del certificado. Es importante introducir una contrasea robusta, puesto que cualquiera que
descubra esta contrasea podr utilizar nuestro certificado, y por tanto suplantar
completamente nuestra identidad digital. Podemos utilizar mltiples palabras o frases tan largas
como queramos (que suelen ser ms fciles de recordar).

Segn la vamos introduciendo nos va indicando la calidad (robustez) de la contrasea:

Se nos pide que la introduzcamos por segunda vez para comprobar que la hemos tecleado
correctamente. Una vez introducida la contrasea se generan las claves del certificado.
Dependiendo de la velocidad de nuestro equipo y de la cantidad de actividad que tenga en ese
momento le costar ms o menos tiempo. Lo normal es que sean unos pocos segundos.
Cuando termina se nos muestra una pantalla similar a la pantalla siguiente:

-7-

En ella se nos muestra la huella digital (Fingerprint) de nuestro certificado. Este es uno de los
datos que se pueden consultar ms tarde y que se suelen usar para poder verificar la veracidad
del certificado y la de su propietario.
Adems se nos da la opcin de hacer una copia de seguridad del certificado, pulsando el botn
Make a Backup Of Your Key Pair, algo que es altamente recomendable.
Si por alguna razn la aplicacin Kleopatra corrompe su base de datos de certificados,
habremos perdido nuestro certificado completamente, sin posibilidad de recuperacin.
Tendramos que crear otro, envirselo a las personas con las que lo hemos compartido, ellos
tendran que volver a verificar la veracidad del mismo, etc. Y siempre existira el problema de
que alguien nos enve cosas cifradas con el certificado antiguo, que ya no podramos descifrar
si lo hemos perdido.
As pues ahora es el mejor momento para hacer una copia de seguridad del mismo, y
almacenarla en un lugar seguro (fuera de nuestro ordenador!). Para ello pulsamos en el
botn Make a Backup Of Your Key Pair y nos aparece la siguiente pantalla

En nuestro caso ya hemos indicado la ruta del fichero donde hacer la copia de seguridad, y
hemos marcado la casilla ASCII armor para decirle que lo guarde en una representacin de
-8-

texto puro, en lugar de en formato binario. Podemos pulsar en el icono similar a un disquete
que hay en la zona derecha para elegir en que carpeta y nombre de fichero guardar el
certificado.
Como hemos dicho arriba, lo mejor es pasar este fichero en un elemento externo (llavero USB,
DVD, etc.) y ponerlo en un lugar seguro.
Una vez pulsado OK se nos devuelve a la pantalla anterior, y pulsando el botn Finish se
termina el proceso de creacin del certificado y volvemos a la pantalla inicial de la aplicacin.
Ahora se nos mostrar en la pestaa My Certificates el nuevo certificado recin creado:

3. Importacin de certificados desde un servicio de directorio


Ya tenemos nuestro certificado, y esto nos permitir cifrar ficheros para nosotros mismos (esto
es, que slo podamos descifrar nosotros). Pero ser habitual que tengamos que cifrar ficheros
para terceros. En este caso necesitaremos una copia de sus certificados. En concreto, de la
parte pblica de sus certificados (puesto que la privada nunca debe ser publicada). En lo
sucesivo en este apartado nos referiremos a los certificados cuando queramos decir la parte
pblica de los certificados, por simplicidad.
Una forma de obtener esa copia de los certificados es que ellos mismos nos faciliten una copia
directamente, usando un USB, envindonosla por correo, etc. Otra forma usada habitualmente
es importar dichos certificados desde servidores de directorios pblicos de certificados, donde
sus titulares los han publicado (la herramienta Kleopatra nos permite hacer lo mismo, si nos
conviene).
En mi caso (Iaki Arenaza) he publicado mis certificados OpenPGP en varios de esos
servidores (en este caso, varios servidores se intercambian todos los certificados que
almacenan, por lo que es suficiente con subirlo a uno de ellos, y estar disponible en todos
ellos en pocas horas).
Para poder importar certificados desde un servidor de directorio pblico, lo primero que
debemos hacer es indicarle a la aplicacin Kleopatra cual es el servidor desde el cual
queremos importarlos. Para ello tenemos que pulsar en la opcin Configure Kleopatra del
men Settings, como se muestra en la siguiente figura:

-9-

Se nos muestran en la zona izquierda las diferentes opciones de configuracin, y por defecto
se nos muestran las opciones de servicios de directorio. Es justo en esta pantalla donde
debemos configurar los servidores a usar. Se nos muestra la lista de servidores configurados
(por defecto est vaca) as como el botn New en la zona derecha.

Si pulsamos dicho botn, Kleopatra aade automticamente un nuevo servidor con todos los
datos ya pre-configurados, como se muestra en la siguiente figura.
En este caso se configura el servidor keys.gnupg.net (el servidor del proyecto GnuPG, el
software de base de Gpg4win) para trabajar con certificados OpenPGP (pero no X.509). Como
se aprecia en la figura, utilizar el protocolo hkp y el puerto TCP 11371, por lo que ser
necesario que nuestro equipo pueda conectarse a dicho servidor y puerto para que el resto de
los siguientes pasos funcionen. Si hay algn tipo de elemento bloqueando la conexin
(antivirus, cortafuegos, etc.) no ser posible importar certificados de esta forma.

- 10 -

Este es uno de los servidores que hemos comentado anteriormente que intercambian
certificados entre s. Por lo que nos servir para poder importar certificados de otros usuarios
desde l.
Una vez aadido el servidor pulsamos en OK y volvemos a la pantalla principal de nuevo.
Ahora tenemos que pulsar en el botn Lookup Certificates on Server para buscar el
certificado o certificados a importar:

Nos aparece una nueva pantalla donde podemos introducir un trozo de texto que servir para
buscar certificados que contengan ese trozo de texto. En el caso de los certificados de tipo
OpenPGP se buscar ese texto tanto en la parte del nombre, como en la direccin de correo, o
bien en la parte de comentario. Para buscar mi certificado, introducimos el texto Werner Koch
(sin las comillas) y pulsamos en el botn Search (Werner Koch es el programador principal del
software GnuPG):

- 11 -

Al cabo de varios segundos, aparecern aquellos certificados, de entre los disponibles en ese
servidor, que coincidan con el criterio de bsqueda

Podemos pedir ms detalles sobre un certificado pinchando en l con el ratn y pulsando el


botn Details, que nos mostrar una pantalla similar a la siguiente:

Pulsando el botn Close nos devolver a la pantalla anterior, donde podremos seleccionar el
certificado que queremos importar. En nuestro caso nos interesa el certificado cuya fecha de
inicio de validez es 2007-12-31 y fecha de fin de validez es 2018-12-31, y cuyo fingerprint
(huella digital) es 8061 5870 F5BA D690 3336 86D0 F2AD 85AC 1E42 B367.

- 12 -

Para importarlo lo seleccionamos pinchando en l con el ratn, y pulsamos el botn Import. Si


todo va bien, Kleopatra contactar con el servidor de directorio, descargar una copia del
certificado y lo almacenar en su base de datos local, para que est disponible de ahora en
adelante.

En cuanto pulsemos en el botn OK del cuadro de dilogo, volveremos a la pantalla principal,


donde se nos mostrar en la pestaa Imported Certificates una lista de los certificados que
acabamos de importar (que tambin aparecern en la pestaa Other Certificates).

- 13 -

4. Importacin de certificados desde fichero


Como se ha mencionado anteriormente, adems de usar servicios de directorio de certificados,
podemos recibir los certificados (su parte pblica) directamente desde sus propietarios. En este
caso, se nos facilitarn en forma de ficheros.
Para poder importarlos en Kleopatra tenemos que pulsar en el botn Import Certificates de
la pantalla principal:

Se abre un cuadro de dilogo para escoger el fichero que contiene el certificado a importar, que
deber estar en uno de los formatos estndar para certificados OpenPGP o X.509. Una vez
seleccionado el fichero, Kleopatra intentar importar el certificado. Si todo va bien, se nos
muestra un cuadro de dilogo con un resumen de la operacin.

Pulsando el botn OK volveremos a la pantalla principal, donde se nos mostrar en la


pestaa Imported Certificates una lista de los certificados que acabamos de importar (que
tambin aparecern en la pestaa Other Certificates), como en el caso anterior.

5. Cifrado y firmado de ficheros


Una vez tenemos importados los certificados de los usuarios para los que queremos cifrar un
fichero, podemos llevar a cabo la operacin de cifrado en s. Para ello haremos uso de las
extensiones del explorador de archivos que configura Kleopatra como parte de su instalacin
inicial.
Vamos a la carpeta donde est el fichero que queremos cifrar. Pulsamos con el botn derecho
sobre el fichero en cuestin y nos aparecer un men contextual similar al siguiente:

- 14 -

Entre las opciones disponibles tendremos Firmar y cifrar y Ms opciones de GpgEx. Si


queremos cifrar el fichero y adems firmarlo digitalmente, podremos usar directamente la
primera opcin. Si slo queremos cifrarlo o slo firmarlo (o descifrarlo, o verificarlo, etc.),
escogeremos la segunda y dentro de ella la opcin que nos convenga.
Suponemos que escogemos Firmar y cifrar (la opcin ms interesante, ya que adems de
garantizar la confidencialidad con el cifrado, garantizamos la integridad del fichero con el
firmado digital). En este caso se nos muestra una pantalla como la siguiente:

En este caso escogemos la opcin (ya preseleccionada) Sign and Encrypt (OpenPGP only) y
seleccionamos la casilla Text output (ASCII armor), que guarda el fichero firmado y cifrado en
un formato de texto ASCII (lo que hace que sea menos problemtico para enviarlo por correo,
por ejemplo).
- 15 -

Pulsamos sobre el botn Next >.y en la siguiente pantalla se nos pide que indiquemos para
qu usuario destinatario queremos cifrar el fichero. O dicho de otro modo, para que certificado
queremos cifrar el fichero. Se nos muestra una lista de certificados disponibles. Si son muchos,
podemos filtrarlos o bien usando la casilla Find (con un mtodo de seleccin similar al
indicado en la seccin 3), o bien con el men desplegable que est a la derecha de dicha
casilla, donde podremos seleccionar diferentes subconjuntos de certificados.

Para escoger un certificado con el que cifrar el fichero, basta con seleccionarlo con el ratn y
pulsar el botn Add de la zona intermedia. Nos quedara como en la figura siguiente:

- 16 -

Podemos escoger varios certificados de una sola vez. El fichero se cifrar de forma que pueda
ser descifrado por todos ellos. Esta opcin es til si se quiere enviar el mismo fichero cifrado a
varios destinatarios.
Una vez escogidos los certificados, pulsamos en el botn Encrypt. En este punto puede
ocurrir que nos aparezca un cuadro de dilogo como el siguiente:

En este caso se nos indica que puesto que no hemos indicado ningn de nuestros propios
certificados como destinatario, no vamos a poder descifrar el fichero una vez cifrado. Si
estamos seguros de que es lo que queremos, pulsamos el botn Continue. Sino pulsando el
botn Cancel podemos volver a la pantalla anterior y aadir alguno de nuestros certificados a
la lista de certificados destinatarios.
Si continuamos adelante, nos aparece la pantalla donde debemos indicar con qu certificado
propio queremos firmar digitalmente el fichero. Escogemos unos de nuestros certificados de la
lista que nos muestra, y opcionalmente marcamos la casilla Remember thses as default for
future operations si queremos utilizar ese certificado por defecto en el futuro. Y pulsamos en el
botn Sign & Encrypt.

En este momento se nos pide que introduzcamos la contrasea que hayamos utilizado para
asegurar la privacidad del certificado:

- 17 -

Si se introduce correctamente, se firma digitalmente el fichero con nuestro certificado y se cifra


con el certificado o certificados destinarios y se nos muestra el resultado de la operacin:

Si volvemos a la carpeta que contiene el fichero original que hemos cifrado, veremos que hay
un segundo fichero con el mismo nombre y una extensin extra. En el caso de usar certificados
de tipo OpenPGP, ser .asc si hemos marcado la casilla Text output (ASCII armor), o .gpg
si no lo hemos hecho.

6. Descifrado y verificacin de ficheros


Una vez visto como cifrar y firmar digitalmente ficheros, necesitamos ser capaces de hacer la
operacin complementaria: descifrar el fichero y verificar la firma digital.
Para ello necesitamos hacer clic con el botn derecho sobre el fichero cifrado, y opcionalmente
firmado, que hemos recibido. Si el fichero se ha cifrado usando certificados de tipo OpenPGP y
hemos marcado la casilla Text output (ASCII armor), el fichero cifrado tendr extensin .asc,
si no la hemos marcado tendr extensin .gpg.

- 18 -

Al hacer clic con el botn derecho nos aparecern, entre otras opciones de men la de
Descifrar y verificar y Ms opciones de GpgEx. Si queremos descifrar el fichero y adems
verificar la firma digital, podremos usar directamente la primera opcin. Si slo queremos
descifrarlo o slo verificarlo, escogeremos la segunda y dentro de ella la opcin que nos
convenga.

Suponemos que escogemos Descifrar y verificar En este caso se nos muestra una pantalla
como la siguiente:

- 19 -

En nuestro caso slo tenemos que indicar la carpeta donde se colocar el fichero o ficheros
descifrados, indicndolo en la casilla Output Folder, o pulsando en el icono similar a un
disquete que hay en la zona derecha para elegir en que carpeta.
Una vez indicada la carpeta, pulsamos en el botn Decrypt/Verify. Si el fichero de puede
descifrar y la firma digital se verifica con xito, obtendremos una pantalla como la siguiente,
donde se nos indica que el fichero se ha descifrado y que estaba firmado digitalmente por el
certificado identificado por el texto moochacking@mondragon.edu.

Si pulsamos en el enlace Show details que aparece en la zona derecha del mensaje de xito,
podemos ver ms detalles sobre la firma digital, incluyendo la fecha y hora de firmado, el ID de
la clave del certificado (Key ID) y el nivel de confianza en dicho certificado (en este caso,
ultimately trusted, es decir, de confianza absoluta por nuestra parte).

- 20 -

Si por el contrario el fichero cifrado no se puede descifrar o la firma digital no es vlida, se nos
mostrar una ventana similar a esta:

De nuevo pulsando en el enlace Show details podremos obtener algunos detalles adicionales:

- 21 -

- 22 -

Вам также может понравиться