Heartbleed, sí… ¿Pero qué es el SSL?

El tema del Heartbleed ya está siendo comentado por todo el mundo. No creo que ni uno de los medios que se ocupan de cubrir sucesos en la tecnología haya dejado de hacerse eco. Todo el mundo hablando de SSL, OpenSSL…

Heartbleed es el nombre que recibe un agujero de seguridad mediante el cual se podrían recuperar contraseñas supuestamente secretas de determinados servidores de Internet. Todo ello por un fallo en la implementación del SSL. ¡Alto! ¡Paren las rotativas! Antes de nada…, ¿Qué es el SSL? ¿Y el OpenSSL? ¿Y por qué tanto barullo? Vayamos hacia abajo para entender lo de arriba, si no, mal lo llevamos.

ssl

Cuando se creó Internet, en lo último que se pensó, seamos sinceros, era en la seguridad. Suficientemente felices eran los próceres de la tecnología IP con lograr que se pudieran comunicar dos ordenadores como para preocuparse de otras cosas. Pero poco a poco, se han ido desarrollando sistemas para que la comunicación entre los sistemas sea segura.

No sé cuántas veces se ha dicho que a la hora de conectarnos a una página web en la que vayamos a hacer una compra (o cualquier cosa que involucre nuestro nombre de usuario y contraseña para algo delicado) debemos comprobar que la conexión es segura. Generalmente aparece un pequeño candado en el navegador que empleemos, eso quiere decir que la comunicación es segura.

Y si no aparece el candado, en la barra de direcciones empezará la URL del sitio en el que estamos con “https” en lugar del clásico y simple “http”. Eso indica que estamos utilizando un protocolo seguro. Y no hay que hacer nada especial. Probemos. Intenta entrar en http://www.facebook.com. No podrás, inmediatamente serás redirigido a https://www.facebook.com. Lo mismo, sí, pero con una “S” que nos indica que la comunicación se lleva a cabo de una manera segura.

El hecho de que aparezca el candado significa que estamos empleando SSL, iniciales de “Secure Sockets Layer”, o “nivel de conexiones seguras”, para los que preferimos el idioma de Cervantes. ¡O de Quevedo!

El SSL viene ya implementado por defecto en prácticamente todos los navegadores, y desde hace mucho tiempo. El problema es que no solo lo necesitamos en nuestro navegador, sino que también es necesario en el servidor al que nos conectamos. De nada nos serviría pedirle seguridad a un sitio web que no lo tenga implementado, por mucho que nosotros sí lo tengamos en nuestro sistema.

SSL funciona a base de “desafíos”. Nuestro navegador manda un “desafío” al servidor: un texto y una contraseña para que lo descifre. Si puede, el servidor nos manda otro a nosotros, para ver si podemos. Y si podemos, llegamos a un acuerdo con un apretón de manos (no es broma, es un proceso dentro del SSL que se llama “handshake”, apretón de manos). Una vez que estamos de acuerdo, se puede iniciar la comunicación cifrada.

Así, pues, los administradores web tienen que implementar también SSL en sus servidores. Y he aquí que topamos con un problema demasiado frecuente. Nadie dijo que la informática fuera barata, e implementar SSL cuesta dinero, ya que los desarrolladores quieren ganar dinero para pagar el colegio de sus hijos.

Sin embargo, hay versiones gratuitas. Sí, como en casi todo, hay opciones de pago y gratuitas. En este último caso, OpenSSL es una buena opción. Pero aquí ya llegamos al centro de la mitad de en medio de la cuestión: el error. Por culpa de una mala implementación de los desafíos en OpenSSL (código abierto, y gratuito), un cliente podría adivinar información más allá del simple desafío, y lo que iba a ser un apretón de manos es un puñetazo en la cara.

Y el resto ya es historia.

¿Tenemos que asustarnos por el “mayor error de la historia de Internet”? Bueno, depende de lo miedosos que seamos. Lo peor es que no podemos hacer nada, a no ser que seamos administradores web. Desde nuestra parte de la comunicación, lo único que podemos hacer es cambiar nuestras contraseñas, pero por eso no pasa nada, porque todos los lectores de este blog cambian sus contraseñas al menos una vez al mes… ¿O no?

Fernando de la Cuadra

Cómo actuar frente al ciberacoso sexual o “sextorsion”