Firmar correos

Generación de clave pública y privada

GnuPG

Bueno, una vez que tenemos nuestra clave pública y nuestra clave privada vamos a firmar un correo, que significa que somos quien somos y que nadie está suplantando nuestra identidad.

Nos creamos un archivo .txt con el contenido del texto, por ejemplo: mensaje1.txt

Abrimos un terminal y:

gpg --clearsign mensaje1.txt

con el parámetro — clearsign estamos indicando que deseamos firmar manteniendo el texto sin cifrar, es decir, lo único que nos interesa es la firma.

Si vas a tu carpeta  descubrirás que se ha generado un archivo .txt.asc, en nuestro caso mensaje1.txt.asc.

Ábrelo con un editor de texto y descubrirás algo así:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Mi primer mensaje
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iQEVAwUBTX01bKk7Ccjt1yA9AQJo2wf/WNtvWKJXDE1ejypU2YFk42D91BOvOSFo
wTamJC7/CFuW4c2c8Pfpqjl5hWix8MU8DM9EsTzlm367g31ZmVwVokqSYQKXDqAL
LslRrgSFafCJZOt7BsRnDjT+1ONNkFWUTeHR7RR8IfwjzcbigwmP917Znt7CKDjv
H+tF8yRLHjIIQzHe7m2R8EAZ/AgoOrgr1xMjEAPex9uB6z8jW0lS5FJeCN3tyfSA
bl2OaPZvhaoIJkkuzMQWDjAM5YOYY8yEaLFIdIuXsWz/v1Bmqv6am1+RXnUYDMP1
ZmW69RHZBIIo8bpTLlt/pMIPxPuhLvKxC5Y/bcIuJuVAwLH1QDlbBQ==
=wLB8
-----END PGP SIGNATURE-----
Este es nuestro mensaje firmado, cópialo y pégalo en tu correo electrónico

Generación de la clave pública y privada en Linux

¿Qué son la clave pública y privada?

Esta información está tomada del blog    http://blog.juanescobar.org/ y luego adaptada a mis datos

Veamos cómo se hace en Linux:

Abrimos una shell y escribimos:

gpg –gen-key

El programa nos dará una serie de opciones para generar nuestro par de claves las cuales responderemos según nos recomiende. Escogemos la opción 5

(1) DSA y ElGamal (por defecto)
(2) DSA (sólo firmar)
(5) RSA (sólo firmar)
Su elección: 5

Escogemos la opción 2048 que es la recomendada

las claves RSA pueden tener entre 1024 y 4096 bits de longitud.
¿De qué tamaño quiere la clave? (2048)
El tamaño requerido es de 2048 bits

Para este ejemplo, diré que la clave caducará en un año.

Por favor, especifique el período de validez de la clave.
0 = la clave nunca caduca
<n> = la clave caduca en n días
<n>w = la clave caduca en n semanas
<n>m = la clave caduca en n meses
<n>y = la clave caduca en n años
¿Validez de la clave (0)?: 1y

LLa clave caduca dom 11 mar 2012 23:19:53 CET
¿Es correcto (s/n)? s

Introduccimos los datos que nos piden: nombre, email, comentario (opcional)

Nombre y apellidos: Lola Parra Sageras
Dirección de correo electrónico: ****@****.***
Comentario: puede ser cualquiera, yo he elegido ma dirección de mi blog lolap.wordpress.com

Introducimos una frase como contraseña

La clave es lo más importante. Se recomienda una frase de una seis
palabras o más. No es realmente necesario meter caracteres raros porque
la dificultad de romper, utilizando la fuerza bruta, un código del
que no sabemos su longitud y que puede llegar a varias frases es enorme
no importa el tipo de caracteres.

Introduzca frase contraseña: *************
Repita frase contraseña: *************

Hacemos lo que nos dice: abrimos ventanas, ponemos a reproducir música, etc.

Es necesario generar muchos bytes aleatorios. Es una buena idea realizar
alguna otra tarea (trabajar en otra ventana/consola, mover el ratón, usar
la red y los discos)….

Con esto ya tenemos nuestro par de claves.

gpg: clave ###### marcada como de confianza absoluta
claves pública y secreta creadas y firmadas….

Ahora debemos generar la clave pública en ASCII para su libre distribución

$ gpg -a –export Lola > publica.key

GnuPG, sistema de confianza y privacidad

Cada persona va a disponer de dos claves: Clave privada y clave pública. En realidad van a ser dos ficheros, por ejemplo: secret.key y publica.key.

Vamos a imaginar que la clave pública es el buzón de correo tradicional y  que la clave privada es la llavecita que permite abrir ese buzón de correo. Nos interesa que la gente conozca el buzón, pero la llavecita será algo bien guardado y que no sepa nadie.

Lo cierto es que la mayoría de la información que circula por Internet va sin ninguna protección y no sólo es fácil de leer sino que además  sería bastante sencillo suplantar la identidad.

Para que nos hagamos una idea deberíamos pensar en las tarjetas postales clásicas, que se envían con el texto  y la dirección accesible para los carteros que las van traslando hasta su destino.

Todos confiamos en que los carteros no leen los textos. Pero si quisieran podrían hacerlo porque no hemos puesto ningún tipo de protección, pero no sólo eso, si quisieran suplantar la identidad también sería fácil.

Esto es prácticamente lo que está sucediendo actualmente con la mayoría de la información que circula por Internet.

Para evitarlo, volvamos al símil de la tarjeta postal, sólo tendríamos que meter la postal en un sobre cerrado, de tal forma que sólo el destinatario tuviera la llavecita que lo abre.

Y aún más, si el remitente al final del mensaje escribe algo que lo define (su firma) podremos confiar en que el texto no lo lee nadie que no sea el destinatario y podremos asegurar que fue escrito por el remitente real.

¿Y cómo se hace todo esto?.

1. Instalamos GnuPG (http://gnupg.org) aquí encontrarás versiones para Linux, Win y Mac.

2.  Si estás en Win sigue los pasos que te indica la aplicación Kleopatra cuando finalices tendrás el archivo donde guardarás secret.key