Tutorial Uso Gpg4win Cifrado Ficheros

22
- 1 - Uso de Gpg4Win para el cifrado de ficheros 1. Instalación de Gpg4win Para descargar Gpg4win tenemos que ir a la dirección http://www.gpg4win.org/ y pulsar en el botón “Download Gpg4win” de color verde. Nos llevará a la página de descargas donde deberemos elegir la versión que queremos descargar. En el momento de escribir esto (2015.09.22), se recomienda descargar Gpg4win 2.2.6”, que es la última versión estable disponible. Asimismo se recomienda descargar la versión completa (“full versión”), ya que nos interesa usar el componente llamado Kleopatra para la gestión de las claves de firma/cifrado. Este componente no se haya disponible en la versión Gpg4Win- Light” ni en la versión “Gpg4Win-Vanilla”. Una vez descargado el fichero ejecutable y comprobado que no tiene virus, procederemos a su instalación, siguiendo las instrucciones que el mismo software nos indique, y aceptando los valores de configuración que se nos ofrecen (que son razonables y adecuados a nuestras necesidades).

description

Tutorial

Transcript of Tutorial Uso Gpg4win Cifrado Ficheros

- 1 -

Uso de Gpg4Win para el cifrado de ficheros

1. Instalación de Gpg4win Para descargar Gpg4win tenemos que ir a la dirección http://www.gpg4win.org/ y pulsar en el

botón “Download Gpg4win” de color verde. Nos llevará a la página de descargas donde

deberemos elegir la versión que queremos descargar.

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

es la última versión estable disponible. Asimismo se recomienda descargar la versión completa

(“full versión”), ya que nos interesa usar el componente llamado Kleopatra para la gestión de

las claves de firma/cifrado. Este componente no se haya disponible en la versión “Gpg4Win-

Light” ni en la versión “Gpg4Win-Vanilla”.

Una vez descargado el fichero ejecutable y comprobado que no tiene virus, procederemos a su

instalación, siguiendo las instrucciones que el mismo software nos indique, y aceptando los

valores de configuración que se nos ofrecen (que son razonables y adecuados a nuestras

necesidades).

- 2 -

2. Creación de claves personales y configuración mínima inicial Una vez instalado, tenemos que ejecutar la aplicación llamada “Kleopatra”, que se encontrará

en el menú de aplicaciones, dentro del grupo llamado “Gpg4win”.

La primera vez que ejecutemos la aplicación, nos aparecerá la siguiente pantalla, sin ningún

certificado en las listas de certificados “My Certificates”, “Trusted Certificates” y “Other

certificates”. En la primera de las listas (My Certificates) aparecerán en el futuro aquellos

certificados creados por mí.

En la segunda (Trusted Certificates) aparecerán (además de nuestros propios certificados)

aquellos certificados importados por mí que pertenecen a terceras personas, y en los que he

indicado al software que confío plenamente en ellos (los certificados). Esta es una decisión 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) aparecerán aquellos certificados adicionales que hayamos

importado en la aplicación para poder usarlos, pero que no consideremos que son plenamente

confiables (por ejemplo, porque aún no hemos podido verificarlos de forma directa, pero han

sido verificados por terceros de los cuales nos fiamos).

La primera operación que debemos llevar a cabo es la creación de una clave de cifrado propia

(llamada certificado en la aplicación). Para ello elegimos la opción “New Certificate…” del menú

“File”:

- 3 -

Lo siguiente que nos pregunta la aplicación 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 aplicación nos permite crear la solicitud pero no el certificado

final, que deberá ser creado y firmado por una Autoridad de Certificación (CA). Si necesitamos

enviar correo cifrado o firmado con el estándar 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

“gestión de la confianza” del certificado de otras personas es más 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 más usuarios (OpenPGP es un estándar más usado a día de

hoy que S/MIME con certificados X.509) vamos a crear certificados del primer tipo.

- 4 -

En todo caso es importante señalar que se pueden crear y utilizar tantos certificados de cada

tipo como sea necesario. De forma que podríamos crear y utilizar uno o varios certificados

OpenPGP con aquellos usuarios que sólo 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

básicos necesarios para crear dicho certificado: nombre y apellidos, dirección de correo

electrónico y un comentario opcional:

Según vamos rellenando los detalles, se nos muestra en la parte inferior como quedaría la

identidad que se almacenará en el certificado, y que será lo que vean los demás.

Si pulsamos en el botón “Advanced Settings…”, podemos modificar algunos parámetros

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

- 5 -

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, también

lo es el tiempo de cómputo 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 años, como se muestra en la figura siguiente:

- 6 -

De esta forma, dentro de 2-4 años (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 criptografía (p.ej. si el tamaño de la clave del certificado se sigue

considerando seguro, el tipo de algoritmos de cifrado del certificado se siguen considerando

seguros, etc.). Y en función desea valoración 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 tamaños de clave y algoritmos

más adecuados en ese momento.

Por ejemplo, hace 6 años se recomendaban claves de 1024 bits o más; hoy en día ese tamaño

se considera insuficiente dados los avances de las prestaciones de los ordenadores actuales.

El hecho de que la clave caduque nos evita la “tentación” de seguir usando claves que podrían

no ser ya tan seguras sin reflexionar sobre ello.

Una vez especificados los ajustes avanzados del certificado pulsamos en el botón “OK”, y

cuando volvemos a la pantalla con los ajustes normales del certificado pulsamos sobre el botón

“Next >”. Nos aparece la pantalla con el resumen de los ajustes:

- 7 -

Pulsamos sobre el botón “Create Key” para comenzar la generación de las claves del

certificado en sí. Se nos pide que introduzcamos una contraseña para proteger la privacidad

del certificado. Es importante introducir una contraseña robusta, puesto que cualquiera que

descubra esta contraseña podrá utilizar nuestro certificado, y por tanto suplantar

completamente nuestra identidad digital. Podemos utilizar múltiples palabras o frases tan largas

como queramos (que suelen ser más fáciles de recordar).

Según la vamos introduciendo nos va indicando la calidad (robustez) de la contraseña:

Se nos pide que la introduzcamos por segunda vez para comprobar que la hemos tecleado

correctamente. Una vez introducida la contraseña 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á más o menos tiempo. Lo normal es que sean unos pocos segundos.

Cuando termina se nos muestra una pantalla similar a la pantalla siguiente:

- 8 -

En ella se nos muestra la huella digital (Fingerprint) de nuestro certificado. Este es uno de los

datos que se pueden consultar más tarde y que se suelen usar para poder verificar la veracidad

del certificado y la de su propietario.

Además se nos da la opción de hacer una copia de seguridad del certificado, pulsando el botón

“Make a Backup Of Your Key Pair…”, algo que es altamente recomendable.

Si por alguna razón la aplicación Kleopatra corrompe su base de datos de certificados,

habremos perdido nuestro certificado completamente, sin posibilidad de recuperación.

Tendríamos que crear otro, enviárselo a las personas con las que lo hemos compartido, ellos

tendrían que volver a verificar la veracidad del mismo, etc. Y siempre existiría el problema de

que alguien nos envíe cosas cifradas con el certificado antiguo, que ya no podríamos 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

botón “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 representación de

- 9 -

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 botón “Finish” se

termina el proceso de creación del certificado y volvemos a la pantalla inicial de la aplicación.

Ahora se nos mostrará en la pestaña “My Certificates” el nuevo certificado recién creado:

3. Importación de certificados desde un servicio de directorio Ya tenemos nuestro certificado, y esto nos permitirá cifrar ficheros para nosotros mismos (esto

es, que sólo 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 pública 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

pública 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, enviándonosla por correo, etc. Otra forma usada habitualmente

es importar dichos certificados desde servidores de directorios públicos de certificados, donde

sus titulares los han publicado (la herramienta Kleopatra nos permite hacer lo mismo, si nos

conviene).

En mi caso (Iñaki 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 público, lo primero que

debemos hacer es indicarle a la aplicación Kleopatra cual es el servidor desde el cual

queremos importarlos. Para ello tenemos que pulsar en la opción “Configure Kleopatra…” del

menú “Settings”, como se muestra en la siguiente figura:

- 10 -

Se nos muestran en la zona izquierda las diferentes opciones de configuración, 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á vacía) así como el botón “New” en la zona derecha.

Si pulsamos dicho botón, Kleopatra añade automáticamente 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 algún tipo de elemento bloqueando la conexión

(antivirus, cortafuegos, etc.) no será posible importar certificados de esta forma.

- 11 -

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 añadido el servidor pulsamos en “OK” y volvemos a la pantalla principal de nuevo.

Ahora tenemos que pulsar en el botón “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 dirección 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 botón “Search” (Werner Koch es el programador principal del

software GnuPG):

- 12 -

Al cabo de varios segundos, aparecerán aquellos certificados, de entre los disponibles en ese

servidor, que coincidan con el criterio de búsqueda

Podemos pedir más detalles sobre un certificado pinchando en él con el ratón y pulsando el

botón “Details…”, que nos mostrará una pantalla similar a la siguiente:

Pulsando el botón “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.

- 13 -

Para importarlo lo seleccionamos pinchando en él con el ratón, y pulsamos el botón “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 botón “OK” del cuadro de diálogo, volveremos a la pantalla principal,

donde se nos mostrará en la pestaña “Imported Certificates” una lista de los certificados que

acabamos de importar (que también aparecerán en la pestaña “Other Certificates”).

- 14 -

4. Importación de certificados desde fichero Como se ha mencionado anteriormente, además de usar servicios de directorio de certificados,

podemos recibir los certificados (su parte pública) directamente desde sus propietarios. En este

caso, se nos facilitarán en forma de ficheros.

Para poder importarlos en Kleopatra tenemos que pulsar en el botón “Import Certificates…” de

la pantalla principal:

Se abre un cuadro de diálogo para escoger el fichero que contiene el certificado a importar, que

deberá estar en uno de los formatos estándar 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 diálogo con un resumen de la operación.

Pulsando el botón “OK” volveremos a la pantalla principal, donde se nos mostrará en la

pestaña “Imported Certificates” una lista de los certificados que acabamos de importar (que

también aparecerán en la pestaña “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 operación de cifrado en sí. Para ello haremos uso de las

extensiones del explorador de archivos que configura Kleopatra como parte de su instalación

inicial.

Vamos a la carpeta donde está el fichero que queremos cifrar. Pulsamos con el botón derecho

sobre el fichero en cuestión y nos aparecerá un menú contextual similar al siguiente:

- 15 -

Entre las opciones disponibles tendremos “Firmar y cifrar” y “Más opciones de GpgEx”. Si

queremos cifrar el fichero y además firmarlo digitalmente, podremos usar directamente la

primera opción. Si sólo queremos cifrarlo o sólo firmarlo (o descifrarlo, o verificarlo, etc.),

escogeremos la segunda y dentro de ella la opción que nos convenga.

Suponemos que escogemos “Firmar y cifrar” (la opción más interesante, ya que además 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 opción (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 problemático para enviarlo por correo,

por ejemplo).

- 16 -

Pulsamos sobre el botón “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 método de selección similar al

indicado en la sección 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 ratón y

pulsar el botón “Add” de la zona intermedia. Nos quedaría como en la figura siguiente:

- 17 -

Podemos escoger varios certificados de una sola vez. El fichero se cifrará de forma que pueda

ser descifrado por todos ellos. Esta opción es útil si se quiere enviar el mismo fichero cifrado a

varios destinatarios.

Una vez escogidos los certificados, pulsamos en el botón “Encrypt”. En este punto puede

ocurrir que nos aparezca un cuadro de diálogo como el siguiente:

En este caso se nos indica que puesto que no hemos indicado ningún 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 botón “Continue”. Sino pulsando el

botón “Cancel” podemos volver a la pantalla anterior y añadir 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

botón “Sign & Encrypt”.

En este momento se nos pide que introduzcamos la contraseña que hayamos utilizado para

asegurar la privacidad del certificado:

- 18 -

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 operación:

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 extensión 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 verificación de ficheros Una vez visto como cifrar y firmar digitalmente ficheros, necesitamos ser capaces de hacer la

operación complementaria: descifrar el fichero y verificar la firma digital.

Para ello necesitamos hacer clic con el botón 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á extensión “.asc”,

si no la hemos marcado tendrá extensión “.gpg”.

- 19 -

Al hacer clic con el botón derecho nos aparecerán, entre otras opciones de menú la de

“Descifrar y verificar” y “Más opciones de GpgEx”. Si queremos descifrar el fichero y además

verificar la firma digital, podremos usar directamente la primera opción. Si sólo queremos

descifrarlo o sólo verificarlo, escogeremos la segunda y dentro de ella la opción que nos

convenga.

Suponemos que escogemos “Descifrar y verificar” En este caso se nos muestra una pantalla

como la siguiente:

- 20 -

En nuestro caso sólo tenemos que indicar la carpeta donde se colocará el fichero o ficheros

descifrados, indicándolo 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 botón “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 “[email protected]”.

Si pulsamos en el enlace “Show details” que aparece en la zona derecha del mensaje de éxito,

podemos ver más 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).

- 21 -

Si por el contrario el fichero cifrado no se puede descifrar o la firma digital no es válida, se nos

mostrará una ventana similar a esta:

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

- 22 -