Seguridad del correo electrónico (II)

Septiembre 13th, 2004

Para conseguir la seguridad requerida en el correo electrónico se utilizan una serie de funciones matemáticas, englobadas dentro del campo de la criptografía. Existen varios conceptos clave para entender como funciona todo el sistema:

  • Criptografía de clave privada: Los sistemas de clave privada utilizan una misma clave para cifrar y descifrar, de forma que tanto el emisor como el receptor del mensaje deben ponerse de acuerdo previamente en la clave a utilizar. El mensaje a enviar se divide en bloques de igual tamaño y a cada uno de estos bloques se le aplica la misma función de cifrado. El receptor aplica la función de descifrado a cada uno de los bloques recibidos y obtiene el mensaje original. Ejemplos de este tipo de algoritmos son DES, Blowfish o AES-Rijndael
  • Criptografía de clave pública: Los sistemas de clave pública utilizan claves distintas para cifrar y para descifrar. De esta forma, se pretende evitar el problema de que los comunicantes tengan que acordar la clave. Cada uno de ellos dispone de un par de claves, una pública, que permite cifrar y verificar firmas y una privada, que permite descifrar y firmar. La clave pública se puede distribuir a cualquier persona y la clave privada es la que debe manetenerse en secreto. Si “A” quiere enviar un mensaje a “B” debe cifrarlo con la clave pública de “B”, de forma que este solo podrá ser descifrado con la clave privada de “B”. Ejemplos de este tipo de algoritmos son RSA o ElGamal.
  • Funciones resumen (hash): Las funciones resumen hacen corresponder un mensaje de longitud arbitraria a otro de longitud fija (el hash, normalmente más pequeña. Esta función debe cumplir dos condiciones: ha de ser difícil encontrar dos mensajes diferentes cuyo hash sea el mismo y dado el hash ha de ser imposible conocer el mensaje original.

El inconveniente de los sistemas de clave pública es que son mucho más lentos que los de clave privada, por lo que se suelen cifrar los mensajes con un clave privada aleatoria (clave de sesión) que posteriormente se cifra con un sistema de clave pública. De este modo, en lugar de cifrar todo el mensaje (que potencialmente puede ser muy extenso) con la clave pública solo cifraremos una clave de sesión, lo cual nos ahorrará mucho tiempo.

La mejor forma de entender como funciona todo esto es ver un ejemplo: supongamos que “A” quiere enviar un mensaje cifrado a “B”. Para ello deberá hacer:

  1. Crear una clave aleatoria K
  2. Cifrar el mensaje original M con la clave K obteniendo M’
  3. Cifrar la clave K con la clave pública de B, obteniendo K’
  4. Enviar M’ y K’ a B

Cuando B reciba M’ y K’ deberá hacer:

  1. Descifrar K’ con su clave privada, obteniendo K
  2. Descifrar M’ con la clave K, obteniendo M

Este proceso se complica si además de enviar el mensaje cifrado se quiere enviar también firmado, pues entonces también entran en juego la clave privadas y la pública de A.

Guardado en Artículo | Comentarios desactivados en Seguridad del correo electrónico (II)

Los comentarios están cerrados.