lunes, 25 de julio de 2011

Certificados SSL en motores de reserva

Es muy común ver en según que motores de reservas del mercado como hacen hincapié en hacer ver la seguridad de esta aplicación como un punto extra para su contratación. Algo evidente cuando este sistema supone un gran porcentaje de ventas online de un hotel o cadena hotelera y cuando el cliente tendrá que hacer pagos y/o reservas mediante/a través de él.
Por lo general, esta seguridad va de la mano y hace prácticamente una única referencia a los certificados SSL. Hasta tal punto que nos hacen entender que con este certificado estamos 100% seguros y que no hay cabida a otro tipo de fallos de seguridad o en su defecto, que no son dignos ni de mencionar. Evidentemente, basar la seguridad integral de un sistema en un certificado SSL es bastante precario.

En este artículo quiero explicar qué puede hacer realmente un certificado SSL en estos casos y hasta que punto funciona más como una herramienta de Marketing que de Seguridad propiamente dicha.

Para quien no sepa que es un certificado SSL, es un protocólo criptográfico que encripta las comunicaciones por la red, en otras palabras, sirve para encriptar todos esos datos (paquetes) que se envían a un sitio web para proteger toda esa información ante posibles "filtrados".
En caso de que alguien consiga leer los paquetes enviados entre cliente y servidor (mediante un ataque Man in the middle, por ejemplo) estos irían encriptados y se le dificultaría poder obtener esa información privada.
La manera más rápida de saber si estamos en una web con este certificado es ver como la url empieza por https en vez de http y, dependiendo del navegador, nuestra barra de url cambiará de apariencia.

Viendo la utilidad que tienen este tipo de certificados es muy común verlos en sitios web donde la información tratada es bastante delicada, como en páginas web bancarias o cualquier otro sitio donde fuese necesario introducir tarjetas de crédito o cualquier otra información de esta índole.

En los motores de reserva de última tecnología, los pagos se procesan mediante pasarelas de pago seguras, es decir, el cliente puede hacer su reserva anticipada o pago completo mediante un sistema de pago proveniente de Paypal, CECA, La Caixa, etc. Este proceso, donde el usuario introduce sus credenciales para el pago se hace en un sistema ajeno al motor y con propios certificados SSL de bastante fuerza, probablemente más robusto de lo que tenga el propio motor.
Al funcionar en otro sistema, el certificado SSL del motor no influenciará en nada.

En los sistemas de reserva poco profesionales (es evidente que el trato no automatizado ni el trabajo con una plataforma segura especializada en esta tarea hace de este proceso algo poco seguro y flexible) el usuario tendrá que introducir su tarjeta de crédito para que ésta sea guardada en una propia base de datos y para que el hotelero haga la carga manualmente con dicha información.
En este caso, el SSL si sería de ayuda pero...¿qué persona podrá ver mis credenciales?
¿De que serviría un certificado SSL cuando mi número de tarjeta de crédito es almacenada en una base de datos sin las necesarias medidas de seguridad? ¿Qué pasaría si ese hotelero que está manejando esos datos tiene instalado un spyware en su ordenador?

Según Eurostat, el 33% de los ordenadores de España están infectados. Es decir, habría mucha más probabilidad de que alguien obtuviera nuestros credenciales por éste método a que alguien usase un sniffer para capturar esos paquetes y controlar nuestra actividad en Internet, sobre todo si nos conectamos desde nuestro hogar.
¿No sería mejor que estos datos tan importantes los tratara una empresa especializada en tal fin?
¿Qué puede hacer aquí un certificado de seguridad por nosotros? Lamentablemente, nada.


Entonces, en el caso de que existan pasarelas de pago seguro y el usuario no tenga que enviar esos datos sobre nuestro sistema... ¿qué protege ese certificado SSL?
La información que puede ir encriptada sería nuestras búsquedas en el motor (ni siquiera Google usa certificado SSL por defecto y el que dispone es solo una fase Beta) y algunos datos que el sistema nos requiera para hacer la reserva, es decir; nombre, correo electrónico, ciudad, país....etc. Una información que, con tan solo tener un correo electrónico, cualquiera podría llegar a saber. Ni hablar si estás dado de alta en una red social.
Esta información, aunque para nosotros pueda ser "delicada", para un atacante no es de interés, ya que no podrá hacer algo lucrativo como sería el caso de robar nuestra tarjeta de crédito.



Ahora bien, ¿por qué usar estos certificados de seguridad en los motores de reservas? Sabiendo qué es un certificado SSL y conociendo un poco el proceso de reserva de un motor, tendríamos estás opciones:

A) Muchos motores de reserva no tienen pasarela de pago. Es decir, el cliente deja su tarjeta de crédito para que posteriormente el hotel haga la carga de una manera manual. El envío de estos datos puede que se manden de manera segura, pero como dije anteriormente, el tratado a posteriori es bastante inseguro. Por lo tanto, sería un poco atrevido alardear de sistemas seguros.

B) Para encriptar algunos datos personales nuestros, que probablemente no sean de ningún interés para un posible atacante y sea información fácilmente obtenible por otros métodos menos rebuscados.


C) Para hacerle creer al usuario (y al hotelero) que detrás de un certificado SSL todas las transacciones son seguras y dar una falsa seguridad al estar generalmente el motor de reservas en una página web externa a la web del hotel. El cliente creerá que está como en "la web de un banco" y le dará un grado de confianza más que cuestionable.


Es obvio que la opción más acertada es la C, ya que en la opción opción A (evidentemente habría que actualizar el sistema y adaptarlo a los nuevos tiempos para realizar procesos seguros) y B, lo más óptimo (a nivel técnico) sería usar la encriptación SSL únicamente cuando el usuario fuese a introducir sus datos y no en todo un proceso de búsqueda en el que solo se maneja información trivial.

No obstante, aunque con esto no quiero decir que no sea útil un certificado SSL para manejar estos datos, muchos de nosotros habremos mandado muchos formularios de contacto a empresas mediante sus páginas web, dejando nuestro nombre, email, teléfono, etc. donde probablemente ni siquiera el 3% de ellas tuvieran un sistema de encriptación.

Sea como fuere, cualquier página web tendría la supuesta misma necesidad de encriptar esos datos, cuando evidentemente no es así.




Después de todo este tocho y esperando haberme explicado correctamente, me despido. Cualquier duda o pregunta, dejad un comentario ;)