Ciber seguridad & Soluciones IT | ESED

Seguridad en las aplicaciones WEB: HTTPS

Escrito por ESED - It & CyberSecurity | 22-abr-2019 15:20:43

Las aplicaciones web están en auge, más y más gente utiliza estas aplicaciones, sin tener que descargar nada salvo un explorador. Seguro que la mayoría de los que leen esto han utilizado o utilizan aplicaciones web, como por ejemplo la suite de Google (docs, sheets, drive) o la versión web de Whatsapp.

Pero, ¿cómo de seguras son las aplicaciones que se utilizan a diario? A continuación hablaremos de una de las múltiples medidas de seguridad, en este caso la seguridad de los datos que viajan del cliente al servidor y viceversa.

HTTP, protocolo estándar web

El protocolo que establece la conexión que un explorador establece con una aplicación web es el protocolo HTTP. Hay varias versiones, la última es la 2, pero todavía se sigue usando mayoritariamente la versión 1. Este protocolo fue exclusivamente diseñado para páginas web, por esa misma razón también se creó (unos años más tarde) la versión con seguridad añadida, el HTTPS.

El protocolo HTTPS está basado en HTTP y simplemente añade “seguridad”. ¿A qué nos referimos con seguridad? Este protocolo asegura que los datos que enviamos o recibimos no sean interceptados por agentes no deseados que se encuentren entre nuestro explorador (cliente) y la aplicación web (servidor), ataque comúnmente conocidos como sniffing o Man in the Middle. Los datos que maneja una aplicación con HTTPS están cifrados con un sistema criptográfico basado en una clave pública y una privada (par de claves). Estas claves deberán ser generadas por entidades certificadoras globalmente reconocidas. En caso contrario, el explorador no podría confirmar que la conexión es segura.

Si alguna vez habéis visto el siguiente error en Chrome/Firefox, es debido a que la aplicación que utilizáis no dispone de un certificado HTTPS generado por una entidad certificadora reconocida:

Podéis ver más errores relacionados con los certificados y cómo reaccionan con vuestro explorador visitando la página badssl.com

¿Qué aplicaciones deben tener el protocolo HTTPS disponible?

Todas las aplicaciones cuya información introducida sea de carácter personal, desde unas credenciales de acceso a la aplicación, hasta datos más sensibles como una cuenta bancaria. Por suerte, prácticamente todas las aplicaciones importantes ya están preparadas para utilizar este protocolo.

Todavía quedan páginas web que no soportan el protocolo, tampoco es nada grave, porque el contenido de la página es estático. Google hizo un paso adelante con su política "secure by default" y anunció que todas las páginas deben funcionar con el protocolo HTTPS, en caso contrario, la página será marcada como "No segura" y su posicionamiento se verá afectado gravemente.

¿Qué ocurre si la aplicación web a la que accedo no tiene HTTPS?

Cabe la posibilidad de que tus datos sean visibles durante el envío de información. Veamos un ejemplo tomado de internet:

Esta imagen representa el resultado de un ataque sniffing o Man in the Middle. En la parte superior vemos el resultado que nos devuelve el ataque a una página web HTTP. No hay nada cifrado, llegando a ver qué ha buscado el usuario, incluso los parámetros que se introducen.

Si fuera un login, podríamos ver en plano su usuario y contraseña.

En la parte inferior se encuentra el resultado de un ataque sniffing a una página con el protocolo HTTPS. No se puede ver nada a simple vista porque está todo cifrado.

Chrome nos advierte que no deberíamos introducir información confidencial en los sitios web que no son seguros.