jueves, septiembre 15, 2005

Privacidad en el email: GnuPG (I)

Voy a escribir unos cuantos artículos sobre cómo proteger tus comunicaciones por email de una forma segura, fácil y gratuita, ya que Edu está preocupado por el PDM de Google y que tengan todos sus correos electrónicos.

En este primer artículo voy a hablar un poco de cómo se protegen los correos. En futuros artículos hablaré de una herramienta libre, segura, multiplataforma y gratuita para hacerlo, GnuPG.

Lo primero que se le ocurre a uno para comunicarse con alguien secretamente es compartir una clave con esa persona y mandarse mensajes cifrados. Por ejemplo, establecer un diccionario paralelo (cuando ponga "a" quiero decir "g", cuando ponga "b" quiero decir a", etc.) y confiar en que nadie lo descubra. Por supuesto hay métodos para hacer esto de forma mucho más segura, matemáticamente hablando, como puede ser la encriptación AES. Con dicho algoritmo usaremos una clave compartida de 128 bits (pueden ser más, cuantos más bits más seguridad) y sin dicha clave es muy difícil descubrir el mensaje en claro. Es tan difícil que lo más práctico para descubrir el mensaje secreto es probar todas las claves, lo cual lleva mucho tiempo (si puedieras probar una clave cada nanosegundo tardarías 6*10^110 años en probar la mitad de las claves). Esto hace que la comunicación sea segura, pero tiene un problema. Tendrías que intercambiar una clave con todos los contactos con los que quieras tener una comunicación segura. Y mantenerlas en secreto, seguras (más difícil todavía). No es nada práctico. Por poner una analogía es como si para comunicarnos usaramos una caja con una cerradura para cada contacto, y tanto el contacto como tú tuvieráis una llave que abriera la caja.

En los años 70 se descubrió una aplicación para una rama de las matemáticas que permitió una nueva forma de comunicación privada. No entraré en detalles porque son bastante complicados. Con dicho sistema hay dos claves, una pública y otra privada. La pública se puede decir a todo el mundo, se puede publicar en Internet. La privada debe permanecer secreta. Lo que se encripta con la clave pública sólo puede desencriptarse con la clave privada y viceversa. Por tanto, tus contactos pueden usar la clave pública para encriptar mensajes y mandártelos. Luego tú, con la clave privada, los desencriptas. A partir de la clave pública es muy difícil sacar la privada, por lo menos con las técnicas conocidas, pero se necesitan más bits. A partir de 1024 bits por clave es bastante seguro. Por poner una analogía, es como si la clave pública fuera una caja fuerte de combinación abierta, y la clave privada fuera la combinación para abrirla. Puedes dar a tus amigos o incluso poner en muchos sitios cajas fuertes tuyas. La gente podrá meter algo dentro, cerrarla y mandártela. Como tú eres el único que tiene el código, serás el único que pueda abrirlas.

En el próximo artículo veremos más aplicaciones de la clave pública y privada, aparte de encriptar mensajes.

Actualización (16/9/2005): Hoy he visto un artículo en microsiervos que dice que las claves públicas/privadas de 1024 bits podrían romperse en un año de tiempo con una inversión de un millón de dólares. Es mejor usar más bits.

Tags Technorati: , , ,

No hay comentarios: