Saltar la navegación

Cifrado

Privacidad

Las transacciones implican información sensible, y en cualquier caso datos personales que deben estar restringidos a las partes. Sin embargo el comercio electrónico, al menos en su versión B2C, se realiza en una red abierta; es imposible limitar el acceso, y en principio también que los paquetes puedan ser interceptados.

En lugar de impedir el acceso a la información, ésta se ofusca: se cifra, para ocultar su contenido.

Dos alternativas de cifrado

Cifrar un mensaje significa codificarlo de acuerdo con una clave predeterminada, de forma que nadie pueda conocer su contenido salvo contando con esa clave.

Con frecuencia la clave es una contraseña, pero hay otras opciones: entre otras, puede ser un procedimiento (como en el cifrado de César y sus variantes) o una propiedad, por ejemplo una característica biométrica.

Hay dos procedimientos genéricos de cifrado:

  • Basado en hardware: el equipo incorpora un procesador dedicado, que se ocupa en exclusiva de i) generar aleatoriamente la clave de cifrado; y ii) las tareas de cifrado/descifrado requeridas por el usuario. La clave nunca sale de este procesador y todas las operaciones de cifra se realizan de forma separada e independiente de las tareas requeridas por el software de aplicación, lo que en principio confiere al cifrado en hardware robustez ante ataques de fuerza bruta o inyección de código durante el arranque del equipo. Además, con frecuencia emplea métodos diferentes a las claves, por ejemplo huellas dactilares u otros rasgos biométricos, lo que refuerza su seguridad.
  • Basado en software: una aplicación se encarga de cifrar y descifrar los datos o las comunicaciones, compartiendo el mismo procesador que el resto de aplicaciones del sistema. Es más económico que el cifrado basado en hardware y proporciona niveles de seguridad razonables en entornos domésticos o empresariales básicos, pero su seguridad no puede ser mejor que la del equipo (la menor de dos: la del sistema operativo, y la del software de aplicación); está además condicionado por la diligencia del usuario a la hora de elegir una clave suficientemente segura. Un aspecto positivo es la posibilidad de emplearlo también para proteger recursos externos, por ejemplo memorias extraíbles.

Los sistemas de clave pública

Asuma que emplea un sistema de cifrado basado en software. Por ejemplo, pretende proteger un memorándum que contiene ciertos datos confidenciales y va a ser enviado por correo electrónico. El software ofimático incluye algunas funcionalidades de seguridad que le permiten incluir una contraseña de apertura. Se dice que sin esa contraseña es imposible acceder al documento, aunque en realidad lo que ocurre es que el fichero está cifrado.

Éste sistema es de cifrado simétrico porque se utiliza la misma clave para cifrar (guardar) y descrifrar (abrir) el documento.

Carlos Piñeiro Sánchez. Cifrado con clave simétrica (CC BY-NC-SA)

Hay varias cuestiones a considerar aquí. La primera es la robustez del cifrado ofrecido por los sistemas ofimáticos, que con frecuencia no es el adecuado (algunos sistemas  ampliamente difundidos emplean claves de tan solo 128 bits); también debe considerarse la calidad de la contraseña elegida por el usuario, que podría no resistir un ataque de diccionario o incluso de fuerza bruta. Pero hay además un problema práctico: ¿cómo comunicar la clave de apertura al destinatario del fichero?

La alternativa son los sistemas de cifrado de clave pública, en los que cada usuario tiene dos claves: una pública, que se emplea para cifrar, y una privada, que se emplea para descifrar. Ambas son complementarias, de manera que lo que se ha cifrado con una solo puede ser descifrado con la segunda.

Debe usted asegurarse de que todos tengan acceso a su clave pública; de esta manera cualquier usuario pueda enviarle un mensaje o un documento cifrado, con la garantía de que usted y solo usted podrá ver el texto en claro (porque, recuerde, ese documento solo puede descifrarse con la clave privada correspondiente). Puede distribuirla por cualquier medio, seguro o no. La clave privada solo se emplea para descifrar, de manea que no hay necesidad de comunicarla a nadie

Carlos Piñeiro Sánchez. Cifrado con clave pública (CC BY-NC-SA)

Este sistema no solo elimina el problema de intercambio y uso compartido de claves simétricas sino que además, como veremos, permite autenticar al destinatario empleando estas claves de forma un tanto creativa, en combinación con algoritmos de huella digital (hash). Otro aspecto interesante es que,a  diferencia del cifrado de clave simétrica del sistema ofimático, un sistema de clave pública probablemente estará basado en software externo, lo que significa que podrá proteger la confidencialidad de cualquier tipo de fichero, con independencia de la aplicación que lo ha creado.

Una de las aplicaciones de cifrado más comunes es GnuPG, desarrollado a partir del legendario Pretty Good Privacy (PGP); es software libre licenciado bajo GPL y está disponible para varias plataformas.