Seahorse: Encriptación de archivos, mensajes y texto en GNOME | Algo de Linux

miércoles, 17 de septiembre de 2008

Seahorse: Encriptación de archivos, mensajes y texto en GNOME

Seahorse es una aplicación GNOME diseñada para administrar claves de encriptación, aunque para ser más exactos, podemos decir que realmente se trata de un front-end para GnuPG (Gnu Privacy Guard).

GnuPG es una herramienta que sirve para encriptar mensajes, documentos, firmarlos, etc...
GnuPG se basa un sistema de cifrado con claves asimétricas, lo que quiere decir que cada usuario tiene una clave privada y una clave pública.

La clave privada es la que el propietario usa para desencriptar aquello que nos envían encriptado con nuestra clave pública. Además, la clave privada sólo debe conocerla el propietario, con el fin de que sea el único que pueda encriptar con dicha clave.

En cambio, la clave pública es la clave que daremos para que nos envíen archivos o mensajes encriptados. Esta clave la utilizarán para encriptar los archivos o mensajes que nos quieran enviar.

Como GnuPG es una herramienta que se maneja mediante comandos, Seahorse ha sido creado para facilitarnos las tareas de cifrado utilizando el entorno gráfico.

Seahorse incluye un plugin para gedit. Además se integra con Nautilus, de manera que podemos cifrar, descifrar y firmar archivos haciendo clic con el botón derecho del ratón sobre el archivo, algo ideal para los que usamos Gnome.

Instalarlo es tan sencillo como hacer apt-get install seahorse, si está en los repositorios de nuestra distribución (en ubuntu hardy sí está).
Si no lo tenemos en los repositorios, podemos descargar el código fuente desde:
http://www.gnome.org/projects/seahorse/download.html
Y compilarlo para instalarlo.

Eso sí, antes de instalarlo, debemos comprobar que tenemos ya instalados lo siguiente:
  • GTK 2.10+
  • DBUS 0.35+
  • GPGME 1.x
  • GnuPG 1.2.x, 1.4.x or 2.x
  • libgnomeui 2.x
  • libglade 2.x
  • GConf 2.x
  • GnomeVFS 2.x
  • OpenSSH
  • Gecko (from Firefox 1.5 or later)
  • Epiphany 2.14 (or later)

Además, puede que necesitemos instalar las versiones de desarrollo de estos paquetes si nuestra distro lo requiere.

Lo primero que tenemos que hacer para poder cifrar y descifrar archivos o mensajes es crear una clave.

Para crear claves OpenPGP:

Abrimos la aplicación, que tendrá un aspecto como el siguiente:

Hacemos clic en el menú Clave y elegimos la opción Crear clave nueva.












Se nos abrirá una ventana como la siguiente, en la elegiremos el tipo de clave a crear: Clave PGP o Clave de shell segura.
Como para cifrar correos y archivos lo que necesitamos es una Clave PGP, seleccionamos Clave PGP y pulsamos el botón Continuar.











Se nos abrirá un cuadro de diálogo para Crear una Clave PGP nueva.
Introducimos nuestro nombre completo (nombre - apellido), nuestra dirección de correo electrónico y cualquier información adicional.

Si queremos seleccionar opciones para la creación de la clave, haremos clic en Opciones avanzadas de clave y se nos desplegarán dichas opciones en el cuadro.

Aquí podemos ver el cuadro de creación de Clave PGP con las opciones de clave desplegadas:

Las cosas que podemos modificar son:
* El tipo de cifrado.
* El número de bits de la clave.
* Y la caducidad de la misma.

Los valores por defecto son válidos.







Tanto si cambiamos las opciones de creación de claves, como si no, al final tenemos que pulsar el botón Crear para crear el nuevo par de claves.

Una vez hecho, se abrirá el diálogo Frase de paso para que introduzcamos una palabra de paso. Por seguridad, tendremos que introducirla dos veces.

Una vez introducida la palabra de paso se creará nuestro par de claves y ya podremos cifrar/descifrar y firmar archivos y mensajes.

Como ya hemos dicho, la aplicación Seahorse se integra con Nautilus, lo que significa que podemos cifrar, descifrar, firmar y verificar archivos así como importar claves públicas desde la ventana del gestor de archivos sin tener que lanzar la aplicación.

Veamos cómo hacer todas estas cosas desde el navegador de archivos Nautilus:

Cifrar archivos.
Para cifrar archivos desde el gestor de archivos, realizamos los siguientes pasos:
  • Primero seleccionamos uno o más archivos del gestor de archivos (todos los que queramos cifrar).
  • Después pulsamos con el botón derecho sobre cualquiera de los archivos seleccionados y elegimos Cifrar.
  • Se nos abrirá un cuadro de diálogo en el que seleccionaremos los usuarios para los que queremos cifrar el archivo y después pulsamos Aceptar (No olvidemos que tenemos que tener las claves públicas de los usuarios para los que queremos cifrar los archivos).
El archivo cifrado tendrá el mismo nombre que el archivo original y extensión .pgp.

Firmar archivos.
Para firmar archivos desde el gestor de archivos, realizamos los siguientes pasos:
  • Primero seleccionamos uno o más archivos del gestor de archivos (todos los que queramos firmar).
  • Después pulsamos con el botón derecho sobre cualquiera de los archivos seleccionados y elegimos la opción Firmar.
  • Se nos abrirá un cuadro de diálogo en el que tendremos que elegir el usuario con el que vamos a firmar.
  • Una vez elegido el usuario pulsamos el botón Aceptar y nos preguntará la palabra de paso. La introducimos y creará el archivo firmado.
El archivo firmado tendrá el mismo nombre que el archivo original y extensión .sig.

Descifrar archivos.
Para descifrar desde el gestor de archivos un archivo cifrado, realice los siguientes pasos:
  • Hacemos dobre clic sobre el archivo que queramos descifrar.
  • Se nos abrirá un cuadro de diálogo en el que nos da un nombre para el archivo descifrado y nos permite cambiarlo. Tanto si cambiamos el nombre como si no, hacemos clic en el botón Guardar.
  • Se nos abrirá un cuadro de diálogo en el que nos preguntará la frase de paso de nuestra clave privada. Introducimos la palabra de paso y descifrará el archivo.
Verificar firmas.
Para verificar archivos, simplemente pulse dos veces sobre el archivo de firma separado.
Los nombres de los archivos de firmas separados generalmente toman la forma .sig

Por otra parte, como ya dijimos anteriormente en el documento, Seahorse se integra también con el editor de textos Gedit, lo que nos permitirá, poder cifrar, descifrar, firmar y verificar texto mientras lo estamos escribiendo en el editor.

Para poder utilizar el complemento de cifrado de texto en Gedit, tenemos que habilitarlo. Para habilitarlo, realizaremos los siguientes pasos:
  • Ejecutamos Gedit.
  • Una vez abierto Gedit, elegimos EditarPreferencias.
  • Se nos abrirá el cuadro de diálogo de Preferencias. En la solapa Complementos, seleccionamos el complemento Cifrado de texto, pulsamos en el botón Cerrar y ya lo tendremos activado.
Una vez activado dicho complemento ya podemos cifrar, descifrar, firmar y verificar texto. Veamos cómo hacerlo:

Cifrar texto.
Para cifrar una selección de texto de Gedit, realizaremos los siguientes pasos:
  • Primero, seleccione el texto que queramos cifrar.
  • Una vez seleccionado, hacemos clic en el menú Editar ▸ Cifrar.
  • Seleccionaremos los usuarios para los que queremos cifrar el texto seleccionado y después pulsamos Aceptar (No olvidemos que tenemos que tener las claves públicas de los usuarios para los que queremos cifrar el texto).
  • Ahora podemos copiar o guardar el texto cifrado.
Firmar texto.
Para firmar una selección de texto de Gedit, realizaremos los siguientes pasos:
  • Primero, seleccionamos el texto que queremos firmar.
  • Una vez seleccionado, hacemos clic en el menú Editar ▸ Firmar.
  • Nos preguntará la frase de paso de nuestra clave privada. La introducimos.
  • Ahora podemos copiar o guardar el texto firmado.
Descifrar/verificar texto.
Para descifrar y/o verificar una selección de texto de Gedit, realizaremos los siguiente pasos:
  • Primero, seleccionamos el texto que queremos descifrar/verificar.
  • Una vez seleccionado, hacemos clic en el menú Editar ▸ Descifrar/verificar.
  • Nos preguntará la frase de paso de nuestra clave privada. La introducimos.
  • Ahora podemos copiar o guardar el texto descifrado.

4 comentarios:

esrora dijo...

Tengo una pregunta sobre seahorse:
Tengo que formatear el ordenador y tengo en el generada las claves PGP con seahorse. Como puedo sacar ambas claves y volverlas a tener cuando reinstale la maquina.

Gracias.
esrora@gmail.com

Esteban M. Navas Martín dijo...

Seahorse permite exportar la clave pública pero no la clave privada.

Si quieres hacer copia de seguridad de tus claves, puedes hacerlo directamente mediante gpg.

Puedes exportar tu clave pública de la siguiente manera:
gpg --armor --output fichoeDeSalida --export ClaveID

Y puedes exportar tu clave privada de la siguiente manera:
gpg --armor --output fichoeDeSalida --export-secret-key ClaveID

Ejemplos:

gpg --armor --output mipublickey.asc --export enavas@gmail.com

gpg --armor --output miprivatekey.asc --export-secret-key enavas@gmail.com

Anónimo dijo...

Realmente se puede exportar directamente desde seahorse, tal y como dice aquí:
http://www.lagg3r.com.ar/cifrado-de-archivos-en-ubuntu-usando-gpg/

Pego el método

1. En el ordenador que hemos creado las claves, iniciamos Seahorse desde Aplicaciones > Accesorios > Contraseñas y claves de cifrado y hacemos clic con el botón derecho del mouse en nuestra clave personal. En el menú emergente seleccionamos la opción Propiedades.

2. En el cuadro de diálogo que aparece, vamos a la pestaña Detalles, y hacemos clic en el botón Exportar al lado de Exportar la clave completa. Guardamos el archivo en el escritorio. Si todo ha ido bien encontraremos en el escritorio un nuevo archivo con la extensión .asc que contiene nuestra clave privada en texto plano.

Esteban M. Navas dijo...

Tienes razón. Con el método que comentas, se exporta tanto la clave pública como la clave privada en un fichero. Está un poco escondido en la aplicación.