Emails seguros
Escrito por Cyrus_

Publicado:10/01/2005
  Actualizado:10/01/2005
    

E-MAILS SEGUROS ¿para que?
Introducción

Este pequeño manual no es más que una pequeña introducción, de porqué debemos preocuparnos más en la seguridad de nuestros correos, cosa que muy poca gente por desgracia hace.

Antecedentes históricos

* Un empleado es expulsado de su puesto de trabajo por mandar e-mails personales en horas de trabajo: no quiero fomentar la inutilidad laboral, pero este hombre podría haber seguido en su puesto despu�s de leer este howto.

* Crisis diplomática por mails-falseados: crackers italianos mandaron mails suplantando la identidad de su embajador en otros países asiáticos, la polémica no se hizo esperar.

* Alumno expulsado de su instituto injustamente: Otra suplantación de e-mail esta vez para mandar injurias contra su director, pagando el pato un tercer alumno. En pocos d�as el alumno fue readmitido y la seguridad del instituto quedo en evidencia.

Al grano

Mandar un correo electrónico es algo muy fácil, pero mandarlo bien se complica un poquito, como veremos a continuación.

Al mandar un correo hay 3 apartados importantes que debemos tener en cuenta:

1. Que solo lo puedan leer quien yo quiera
2. Que nadie nos lo modifique por el camino
3. Que el que lo manda no pueda decir que el no ha sido

Que solo lo puedan leer quien yo quiera

Para resolver el primer punto, la solución es cifrar el texto que se manda (cifrar y no encriptar, encriptar es meter en una cripta), para esto hay muchos métodos, usar programas externos y meter una contraseña, y decirle la contraseña a las personas para las cuales vaya recibido el mensaje, de tal forma que si alguien por el camino consigue el texto, no podrá entenderlo. Es muy importante que el canal por el que se envía la password no sea el mail, etc sea otro mas seguro, es decir, se diga en persona, por teléfono, etc, para asegurar que no se intercepta y que la persona que te manda la password es la que dice ser.

¿Como cifro un archivo que quiero mandar por email?

WINDOWS: Zero Footprint Crypt 4.03.001 http://www.softonic.com/ie/38308/Zero_Footprint_Crypt

Se instala el programa, y una vez abierto, se elige el archivo que se quiere cifrar, se puede elegir, el método de encriptacion, y luego se le añade la contraseña, listo. Como puede verse este método no necesita de llaves ni nada de eso, pero este metodo tiene muchas limitaciones.

LINUX: GnuPG 1.4.0(GNU Privacy Guard) 2658k ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.4.0.tar.bz2

Para comprimir un archivo: gpg -e <archivo> , después nos pondrá que le digamos un id(vale la dirección de correo), para el o los que va dirigido el archivo, para que lo cifre con su llave publica, mas adelante comentaremos como crear nuestras llaves, añadir las de los demás, etc.


Que nadie nos lo modifique por el camino

En cuanto al segundo punto, existe una forma de saber que un archivo es el que era y no esta cambiado, se usa en descargas p2p para saber que se ha descargado correctamente. Uno de estos resúmenes es el md5sum, que dado un texto o una cadena de bits, haciendo una serie de operaciones matemáticas, saca una cadena de 20 caracteres, único, que nos asegura que ese es el texto y no otro, si se cambiara un solo bit del texto, el resumen cambia totalmente, ejemplo:

xxxx@cyrusnet:~$ cat md5.txt

esto es una prueba

xxxx@cyrusnet:~$ md5sum md5.txt

1fd784ef8c8bfc27bad68e0f34214216 md5.txt

xxxx@cyrusnet:~$ cat md5.txt

Esto es una prueba

xxxx@cyrusnet:~$ md5sum md5.txt

3f8a62a7db3b276342d4c65dba2a5adf md5.txt

(tan solo hemos cambiado la primera letra "e" por "E"),

¿que significa este ejemplo?, pues bien, si siempre que se manda un correo o un texto, se se le saca primero el md5sum, y luego cuando la persona lo recibe lo repite, pueden pasar dos cosas:

1-Los md5 coinciden, por lo tanto el mensaje no ha sido modificado

2-Los md5 no coinciden, el mensaje ha sido modificado por el camino.

Con esto aseguramos que el mensaje es que nosotros hemos enviado.

¿Entonces si tengo el md5, puedo saber que archivo es?

Aquí hay que aclarar un punto, del archivo se puede saber el md5, pero no al reves, es decir, del md5 no se puede sacar el archivo (¿os imagináis meter un archivo de 1GB en 20 bites?), no es posible, de ninguna manera, el md5 solo sirve para comprobar que un archivo esta correcto, que es ese y no otro..

¿Como puedo sacar el md5 de un archivo?

WINDOWS: winMd5Sum http://winmd5sum.solidblue.biz/winMd5Sum-install.exe

Se abre el programa, y se le pasa el archivo que queramos.

LINUX: En linux el md5sum ya viene instalado por defecto

en una consola, se ejecuta: md5sum <archivo>

¿Pero cojen mi e-mail, lo modifican y vuelven a cambiar el md5sum, cuando mi amigo lo habrá no se dará cuenta del cambio, no?

Exacto, por eso necesitamos juntar las firmas md5 con las llaves publica-privada.

Que el que lo manda no pueda decir que el no ha sido

Es aquí donde entra la tercera parte, el llamado no repudio. Para asegurarnos de que el que manda el e-mail es quien dice ser, tenemos la criptografía asimétrica.

Esto se basa en crear una clave publica y otra privada. La privada se crea con una contraseña, que es lo que hace que nadie suplante nuestra identidad, pues si no conoce la contraseña, jam�s podrá firmar e-mails en nuestro nombre. Las llaves se usan también para cifrar mensajes y para firmarlos, osea, se usan para todo, ahora explicaremos brevemente como funcionan.

1º Se crean las llaves, la privada se genera con una contraseña

2º Para mandar un mail cifrado, debemos conocer la clave publica de las personas a las que va dirigido

3º Firmar un mail no es mas que poner tu clave publica, para que los demás la sepan, pero al firmarlo, se te pide la contraseña, para hacer el resumen y que así se sepa que solo tu has podido mandar ese mensaje.

4º Cuando nos digan una clave publica, debemos añadirla a nuestro "llavero".

¿Y todo esto como lo hago?

Existen dos métodos, PGP y GPG, yo hoy a hablar del segundo, aunque son los dos casi iguales, el segundo es libre, por eso lo comentare.

¿donde puedo bajarme el GPG?

WINDOWS: ftp://ftp.gnupg.org/gcrypt/binary/gnupg-w32cli-1.4.0a.zip

¿Y para crear llaves ...?

Lo primero hay que abrir una consola, ya sea la de ms-dos o bash, se hace igual en los dos casos. Existen interfaces gráficas para gpg, para no tener que usar los comandos, pero yo voy a explicar con comandos, que es lo mas habitual y lo mas rápido.

LINUX:

KGPG: http://developer.kde.org/~kgpg/src/kgpg-1.0.0.tar.gz

Manual para usarlo: http://docs.kde.org/es/HEAD/kdeutils/kgpg/

Todo el tema de las llaves aqui: http://www.gnupg.org/(en)/howtos/es/gpg-party.html#ss1.1


Finalizando

Por supuesto los webmails no soportan nada de lo que hemos visto aquí, hotmail no sabe leer armaduras gpg, ni cifrar mensajes por el momento, para usar estas cosas, se necesitan clientes de correo, Outlook Express, Mozilla-thunderbird, kmail, incredimail, etc. todos estos soportan o tienes plugins para poder hacer todo esto que estamos diciendo.

En mi caso utilizo Mozilla-Thunderbird, con el plugin enigmail, el cual hace todas estas cosillas para mejorar la seguridad en los correos, una parte de la seguridad muy olvidada.

¿De donde consigo esos programas?

Mozilla-thunderbird: http://www.softonic.com/ie/29766/Mozilla_Thunderbird

Enigmail: http://www.thunderbird-mail.de/extensions/enigmail/enigmail.php#download

Autor: Cyrus

E-mail: cyrusnimda ARROB@ terra PUNTO es