¿Para qué sirven? Las firmas digitales permiten certificar que un documento o mensaje ha sido enviado por la persona en cuestión. A su vez, el mismo sistema (GnuPG) permite encriptar datos para evitar que, ante una falla de seguridad, alguien pueda acceder a los mismos. Éstas dos cosas son útiles para mantener datos muy importantes de manera privada y para comunicarse por la red con un grado de seguridad de que no hay un engaño en la identidad de las partes. En éste tutorial voy a explicar cómo crear una llave pública y cómo subirla a un servidor. De ésta manera podremos firmar documentos y encriptar datos en nuestro equipo.
Creando la llave PGP:
En una terminal:
gpg –gen-key
Aparecerá un menú, debemos elegir: DSA/ElGamal key.
Luego preguntará: “Qué tamaño tiene la clave?” y allí es sensato contestar 1024.
Luego se debe especificar el período de validez de la clave, si escriben 0 la clave nunca caduca.
Luego vienen los datos personales: Alli se nos va a indagar lo siguiente:
- Nombre real completo
- Dirección de correo electrónico (real)
- Comentario: Ej: “Clave de Pepito Pérez”
Finalmente se nos solicita una frase o contraseña que debermos recordar para poder utilizar la clave. Ésto es fundamental. Luego de establecer la contraseña, la clave generará una serie de bytes aleatorios, para ello recomienda que se use otra ventana o se juegue con el ratón.
La clave está generada y guardada en la PC. Ahora queda subirla a un servidor público.
Subir la clave a un servidor público:
Primero exportamos la clave:
gpg –export -a “nombre de clave” > public.key
Dónde en “nombre de clave” reemplazamos por el nuestro, ejemplo:
gpg –export -a “Juarez Pepito” > public.key
Ahora en Gnome, abrimos el archivo public.key que se ha creado en nuestro directorio personal (por ejemplo, con Gedit.) Copiamos el contenido y en un navegador abrimos el servidor de claves: http://pgp.mit.edu
Allí, en el campo inferior, aparece “Submit Key.” Pegamos el contenido previamente copiado de public.key y presionamos “Sumit Key.” Luego, en el mismo sitio, en la caja “Search Key” podemos buscar nuestra clave para corroborar que ha sido enviada exitosamente. Nuestro nombre completo es el “User ID,” el cual se debe tener presente para utilizarla.
Ya está. La clave ha sido creada. En la siguiente página podrán ver algunas utilidades de GnuPG key.
Enviar E-Mails autenticados por la Firma Digital
Con Evolution ésto es muy sencillo, existe también un plugin para Thunderbird, pero sólo me limitaré a describir el de Evolution:
En Evolution vamos a Preferencias -> seleccionamos nuestra cuenta de correo y hacemos click en Editar. -> Seleccionamos la solapa “Seguridad” -> ID de clave GPG/PGP: ahí pegamos ID que tenemos (ej: Juarez Pepito.) Le damos click en “aceptar” y listo.
Ahora, para firmar un documento solamente tendremos que redactar un nuevo mensaje. En la ventana de redacción, vamos a Seguridad -> Firmar con PGP.
Cuando el correo llegue a destino, abajo aparecerá código que es la Firma Digital. Si el cliente de correo del receptor corrobora la clave, le dirá al usuario que el mensaje recibido fue firmado por una clave válida y que pertenece a la identidad de quien lo envía.
De ésta manera podemos enviar correos firmándolos digitalmente. El receptor tendrá un grado muy aceptable de seguridad de que quien le envía el correo somos nosotros.
Cifrando archivos
Ésto es más fácil de lo que parece. Si instalaron Gnome en Debian Lenny, el sistema de integración gráfico ya está disponible. Basta con hacer click con el botón derecho sobre un archivo (el que queremos cifrar) y en la lista de claves que aparecen seleccionamos la nuestra. y le damos aceptar. Si el archivo es grande, el cifrado tardará un tiempo. Al finalizar, ya tendremos un archivo creado con extension pgp.
Ése archivo es un archivo encriptado, sólo puede ser abierto por el dueño de la clave GnuPG.
El proceso inverso para desencriptar sería: boton derecho “Descifrar” y nos pedirá la contraseña de la llave GnuPG. Sin la clave no se podrá desencriptar. Ideal para esconder cosas personales.
Firmando archivos
Con ésta propiedad podremos crear un archivo de firma digital a partir de otro archivo. Suponiendo que queremos enviar un archivo, pero corremos el riegso de que alguien más envíe el mismo archivo haciéndose pasar por nosotros. Al firmar el documento/archivo se crea otro archivo con extensión .sig, que es el que debemos adjuntar al documento/archivo que tenemos que enviar.
En una terminal:
Firmamos el archivo:
gpg –sign Nombre-de-Archivo
se creará un archivo con el mismo nombre pero con extensión .sig.
Corroborando una firma de un archivo:
En el supuesto que nos enviaran un foto.zip firmado digitalmente con GnuPG tendríamos que recibir no solo el foto.zip sino también el foto.zip.sig. Para chequear la firma (y por consiguiente la veracidad de la identidad de quien envía):
gpg –verify archivo.sig
Ejemplo:
gpg –verify foto.zip.sig
Y la salida nos dirá los datos de quien firma y si es correcta.
Espero les haya servido y sea de utilidad para cosas serias.

12 abril, 2009
DrJuano
Processing your request, Please wait....
Posteado en
Tags: 
[...] Digital signatures and data encryption n [...]
[...] Digital signatures and data encryption n [...]