Sesiones y autenticación web (A4C41B1D01)

Introducción

Entender cómo funciona la navegación web es esencial para nuestro día a día en línea. Utilizamos la web para hacer compras, gestiones, buscar información o para ver una película. Para ayudarnos a proteger nuestras cuentas en los servicios de la web, veremos a continuación cómo funciona la autenticación web y las sesiones.

Servidores y navegadores

Como hemos aprendido en niveles anteriores, la navegación web usa los servidores y los navegadores para funcionar. La mayoría de los servicios a los que accedemos, en lugar de ser páginas web estáticas, ofrecen ciertas funcionalidades. Estos servicios se conocen como aplicaciones web.

Tanto las páginas web estáticas como las aplicaciones web usan direcciones web o URLs, que se traducen en direcciones IP a través del DNS. Así, nuestro navegador puede acceder
a los recursos alojados en el servidor. Cada imagen, página o documento alojado en el servidor, tiene una URL diferente. Nuestro navegador, hace una solicitud por cada uno de los contenidos, a través del protocolo HTTP.

VÍDEO

NAVEGACIÓN WEB SEGURA

La navegación web forma parte de nuestro día a día. Este vídeo nos explica qué es una URL y cómo funciona la comunicación entre servidor y navegador.

e.digitall.org.es/A4C41A1V06

Introducción a las sesiones web

Hay ciertos casos en el que el servidor tiene que conocer nuestra identidad para ofrecernos contenido personalizado o al que sólo tenemos acceso nosotros. Por ejemplo, los mensajes privados de una red social. En este caso, la aplicación web de la red social, debe autenticarnos cuando entremos en nuestra cuenta.

Las sesiones web se usan para identificar con nosotros cada una de las peticiones HTTP del navegador. Una vez hemos accedido a nuestra cuenta en la aplicación, el servidor nos otorga un identificador de sesión. En cada petición que el navegador haga al servidor, incluirá este identificador, para hacer saber que somos nosotros y que ya hemos verificado nuestra identidad al entrar en la cuenta.

VÍDEO

COOKIES, SESIONES Y PRIVACIDAD EN LA WEB

Las sesiones web se usan para autorizar las peticiones web. Las cookies de sesión mantienen esta información. Sin embargo, existen otras cookies que pueden afectar a nuestra privacidad.

e.digitall.org.es/A4C41C1V09

El identificador de sesión se guarda en las cookies de sesión, un pequeño fichero que guarda el navegador durante la navegación. Cuando el servidor recibe una petición HTTP, el navegador consulta la cookie y envía el identificador en la petición. De esta forma, como hemos accedido a nuestra cuenta y el servidor nos ha asignado un identificador, sólo se muestran nuestros mensajes privados, y no los de otra persona. La autorización se produce cuando el navegador elige qué contenido mostrarnos acorde a este identificador de sesión.

Las cookies suelen tener diferentes periodos de caducidad, igual que las sesiones web. Esto se define en el momento que nos autenticamos y el servidor nos asigna el identificador. Si un atacante nos roba nuestro identificador de sesión, podría hacerse pasar por nosotros. Sin embargo, si el periodo de caducidad es corto, esto evita que el atacante pueda mantener acceso por un periodo largo.

Registro, autenticación y sesiones

Para utilizar los servicios web con una cuenta, lo primero que hacemos es registrarnos en el servicio. Además del nombre de usuario y datos necesarios del propio registro, es en este momento en el que configuramos el método de autenticación. En la mayoría de las aplicaciones web, el método por defecto es una contraseña.

En este punto, es importante recordar que la autenticación no es lo mismo que la autorización. La autenticación verifica la identidad del usuario, usando algún método como una contraseña. Por otro lado, la autorización permite o deniega el acceso a algún recurso acorde a algún criterio, como la identidad de un usuario a través del identificador de sesión. La primera vez que usamos un servicio, hacemos lo siguiente:

VÍDEO

¿ERES QUIEN DICES SER? INTRODUCCIÓN A LA AUTENTICACIÓN

La autenticación es el proceso de verificar la identidad. Para hacer esto en el mundo digital, existen varios métodos, todos basado en alguno de los tres tipos principales: algo que soy, algo que se o algo que tengo.

e.digitall.org.es/A4C41A2V06

1 |  Registro

  • Para crear una cuenta, ingresamos los datos necesarios.
  • Establecemos el método de autenticación, normalmente una contraseña.

2 |  Autenticación

  • Para acceder a la cuenta, nos identificamos.
  • La aplicación web verifica nuestra identidad autenticándonos con el método elegido durante el registro. 
  • El servidor instala una cookie de sesión en nuestro navegador.

3 |  Acceso a los recursos web

  • Una vez hemos entrado en nuestra cuenta, consultamos la información privada. Por ejemplo, nuestros mensajes de una red social.
  • Para acceder a los mensajes, el navegador envía la petición con la cookie de sesión
  • El servidor nos identifica y autoriza la petición, de acceso al recurso privado: nuestros mensajes de la red social.

4 |  Cerrar sesión

  • El servidor olvida el identificador y el navegador lo elimina.
  • Al hacer peticiones, el servidor deniega el acceso y nos obliga a volver a autenticarnos.

Este proceso es común a la mayoría de las aplicaciones web. Sin embargo, hay casos concretos en cada una de ellas. La diferencia principal es el método de autenticación empleado.

Como recordarás, lo más seguro es usar más de un método de autenticación. Muchos servicios permiten usar autenticación multifactor (MFA) o un segundo factor de autenticación (2FA). Por ejemplo, junto a la contraseña, podemos usar códigos TOTP con un generador de códigos en una aplicación, o una llave de seguridad. De esta forma, si un atacante consigue nuestra contraseña, también tendría que conseguir acceso al segundo factor de autenticación.

Por último, si perdemos acceso a la cuenta, lo más habitual es que el servicio nos permita recuperar  la cuenta enviando un correo electrónico a la dirección que hayamos registrado. Otra opción común es descargar unos códigos de un solo uso, conocidos como códigos de recuperación.

VÍDEO

AUTENTICACIÓN BASADA EN TOKENS: ALGO QUE TENGO

La autenticación multifactor puede basarse en algo que poseemos físicamente, un token. Ejemplo de esto son las llaves de seguridad, los códigos TOTP o los códigos SMS. Todos ellos permiten mejorar la seguridad de nuestras cuentas cuando se usan conjuntamente con otro método.

e.digitall.org.es/A4C41C1V07

Atención

¡Mantén tu cuenta de correo electrónico protegida! Si un atacante se hace con ella, podría utilizar la funcionalidad de recuperación de la cuenta para obtener acceso a otros servicios.