En los tiempos que corren, con accesos a internet cada vez más rápidos, más servicios online disponibles, que por un lado nos facilitan la vida y por otro pueden suponer grandes riesgos ya que por ellos circulan datos privados tanto bancarios como personales, la privacidad se vuelve una necesidad absoluta.
Si pensamos que internet es como un gran campo de batalla, debemos atender a una serie de necesidades:
Por un lado, puesto que se desconoce exactamente por donde pasan los datos que enviamos y recibimos desde nuestro ordenador, es necesario garantizar que una tercera persona no pueda conocerlos, ni siquiera aunque esta persona fuese el mismísimo gobierno de un país. Por otro lado, debemos tener la seguridad de que los datos disponibles en nuestro disco duro no es accesible a otros. Y por último, debemos saber que la información que recibimos y enviamos es auténtica y no manipulada.
Todo esto podemos lograrlo gracias a la criptografía.
¿Cómo funciona?
La criptografía es una ciencia que estudia formas de encriptar y desencriptar información. Para ello se utilizan algoritmos matemáticos para transformar una serie de datos en otros que no sea puedan entender, utilizando por medio una clave sin la que no se podrá desencriptar el mensaje.
¿Es seguro?
Siendo minucioso a la hora de responder a esta pregunta, NO. Pero es necesario explicar los detalles, a lo largo del tiempo se han desarrollado diferentes algoritmos que han conseguido ser rotos a lo largo de los años. Esto implica que aunque a priori la información estaba segura y a salvo, o bien porque se ha encontrado un fallo en el algoritmo matemático usado o bien porque la potencia de cálculo de los ordenadores ha crecido tanto que ha permitido realizar algún ataque contra el algoritmo, al final dicha seguridad ha sido rota.
Hay que tener en cuenta que eso implica que toda información que aún permanezca encriptada con dichos algoritmos podría quedar expuesta a terceros. La protección perfecta no existe, es mejor tener esto siempre presente a tener una falsa sensación de seguridad.
¿Hay alguna solución a este problema?
Sí, puesto que no se ha encontrado el algoritmo perfecto, la mejor solución hasta la fecha es crear nuevos algoritmos más fuertes y más complejos. La pega de este sistema es que hay que tener en cuenta que seguridad y rendimiento estan reñidos entre sí. Probablemente si queremos encriptar un correo electrónico no tengamos muchos problemas ya que es una pequeña cantidad de información, pero si pensamos a un nivel más global, la encriptación utilizada en redes Wireless, cuanto más se tarde en cifrar cada paquete de datos, más lenta será la red.
Hay que tener en cuenta que nunca sabemos quien nos está mirando, comunicarnos a través de internet no es como hablar por la calle, todo lo que escribamos puede ser interceptado o grabado tanto por la persona que lo recibe como por algún intermediario.
En la actualidad existen diferentes algoritmos de encriptación según lo que necesitemos, por ejemplo:
- El algoritmo AES está basado en encriptación por bloques y ofrece mucha protección con una relación potencia/rendimiento muy buena. Se utiliza normalmente para encriptar el tráfico de redes Wireless WPA2, discos duros, archivos, etc… Existen otras alternativas: BlowFish y en desuso 3DES.
- El algoritmo RSA, basado en encriptación asimétrica por bloques de claves privadas y públicas, se utiliza para autenticar mensajes de correo o archivos o también para ofrecer datos parcialmente públicos: Utilizando una clave pública (que debe ser divulgada al receptor) se podrá leer el mensaje pero no encriptar otro mensaje haciendose pasar por el autor original. Si se dispone de una clave privada se podran cifrar mensajes y realizar firmas (el equivalente a acuñar un documento, archivo o firma pública como auténticos).
- Algoritmos de encriptado de una sola vía: MD5, SHA-1. No sirven para codificar y decodificar mensajes, su propósito es obtener una clave equivalente y única al mensaje original. Se utilizan para autenticar contraseñas sin almacenar la contraseña en sí o para verificar la integridad de los datos de una archivo. Ninguno de estos algoritmos es fiable 100%, es decir, existen colisiones (dos archivos diferentes producen la misma clave) pero se considera seguro mientras no se pueda provocar intencionalmente dicha colisión. En este aspecto tanto el algoritmo MD5 como el SHA-1 han sido total o parcialmente vencidos, siendo sustituidos por versiones mejoradas con claves más largas: RIPEMD-160, Tiger, WHIRLPOOL. Estos algoritmos también se utilizan en ocasiones para expandir las claves de los usuarios y utilizarlas posteriormente con otro algoritmo de encriptación por bloques.
A efectos prácticos, a continuación muestro algunos programas o sistemas para proteger nuestra privacidad:
- Seguridad perimétrica: El acceso a nuestro ordenador debe ser seguro, es decir, en caso de que alguien pueda tener acceso a él y no nos interese, deberemos encriptar los datos almacenados en disco (y quizás instalar algunos candados en los cajones con las backups en DVD :)). Para ello, hay hardware que soporta el encriptado en tiempo real de los discos duros, o también existen sistemas de ficheros encriptados como por ejemplo CryptFS.
Por comodidad yo utilizo TrueCrypt, que es una utilidad libre y multiplataforma para Windows, Mac y Linux. Utilizando este sistema, todos los datos almacenados en la partición encriptada serán encriptados automáticamente. Si elegimos un tamaño inferior a 4 GB podremos hacer cómodamente backups en DVD.
El usuario que utilicemos debe tener una contraseña fuerte y solicitarla (el autologin es muy cómodo, pero si el entorno es hostil es un suicidio).
- Seguridad de red: Una vez que los datos almacenados en la máquina estan seguros, debemos tomar medidas sobre la configuración de nuestra red. Si utilizamos una conexión Wireless, la encriptación de la misma debería ser WPA o superior (recomendable WPA2), de esta forma evitamos que otros usuarios puedan ver los datos que viajan por la red.
En caso de no poder utilizar un nivel tan alto de encriptación o si la red es pública (abierta) se recomienda configurar un acceso a través de VPN para poder navegar a través de un canal encriptado. Si no se dispone de un ordenador o servidor al que conectarse, existen servicios gratuitos como por ejemplo ItsHidden. También necesitaremos instalar y configurar un firewall para evitar accesos no autorizados a nuestro equipo.
- Buenas costumbres: Siempre que tengamos que elegir una contraseña en cualquier servicio de red, se recomienda que sea fuerte, entre 8 y 10 caracteres utilizando minúsculas, mayúsculas, números y caracteres especiales. Los caracteres especiales son MUY importantes, puesto que generalmente se saltan al intentar utilizar un ataque por fuerza bruta.
Por otro lado, debemos tener cuidado con las páginas web y el correo electrónico. Si vamos a iniciar sesión en algun servicio web, debemos verificar que estamos entrando por HTTPS (https://www…), esto garantizará que todas las peticiones van encriptadas por un canal SSL. En el caso de los correos electrónicos, no debemos fiarnos NUNCA de lo que vemos como texto de enlace, pero sí en la web a la que apunta. Un ejemplo sería este enlace: http://www.google.es. Como se puede ver parece apuntar a la web de Google, miengras que en realidad nos mandaría a otra página (en este caso es un huevo de pascua que viene en Mozilla Firefox).
Si utilizamos todo lo anterior correctamente, será muy dificil que alguien pueda acceder a nuestros datos privados, a nuestras cuentas de usuario o a lo que hacemos en la red.
Espero que os resulte de utilidad. 😉