Saltar al contenido

¿Qué tan seguros son los tokens que expiran y los tokens de actualización?

Este artículo fue evaluado por nuestros especialistas para que tengas la seguridad de la veracidad de nuestra esta crónica.

Solución:

Podría ser que el token de acceso termine usándose en la aplicación a través de conexiones HTTP simples. Entonces, si un atacante lo olfateó, solo tendría acceso a corto plazo. Esto es lo que solía suceder en la web como estándar. El inicio de sesión se realizó a través de HTTPS si tuvo suerte, y el resto de su sesión se realizó a través de HTTP simple, transmitiendo la ID de la sesión en texto sin cifrar.

El token de actualización solo se transmite al servidor de autorización, por lo que es más fácil imponer solo HTTPS, lo que significa que un atacante no podría espiar esta conexión.

Ver aquí para más información:

Hay una razón de seguridad, el refresh_token solo se intercambia con el servidor de autorización, mientras que el access_token se intercambia con los servidores de recursos. Esto mitiga el riesgo de una fuga de token de acceso de larga duración (parámetro de consulta en un archivo de registro en un servidor de recursos inseguro, aplicación de servidor de recursos beta o mal codificada, cliente JS SDK en un servidor no sitio https que coloca el token de acceso en una cookie, etc.) en “un token de acceso válido durante una hora, con un token de actualización válido durante un año o válido hasta que se revoque” frente a “un token de acceso válido hasta que se revoque sin un token de actualización .”

Consideremos que hay un servidor que valida y emite tokens a un cliente.

Cliente(envía usuario y contraseña) ->Servidor

Servidor(valida las credenciales y devuelve tokens de acceso y actualización) -> Cliente

El cliente almacena los tokens de forma segura y utiliza el token de acceso para las demás llamadas a la API realizadas al servidor (hasta que expire el token de acceso). Una vez que el token de acceso caduca, el cliente puede recibir un código HTTP 401 (no autorizado) del servidor y se da cuenta de que el token de acceso ya no es válido.

Luego, el cliente usa su token de actualización y obtiene los nuevos tokens de acceso y actualización del servidor.

Efectos de un compromiso token de acceso – El atacante podrá acceder a los datos hasta que caduque el token de acceso.

Efectos de un compromiso token de actualización – El atacante puede obtener un nuevo token de acceso y actualización que también puede invalidar el acceso de la víctima. Cuando la víctima intente obtener un nuevo token de acceso con su token de actualización, fallará porque su token de actualización ya se ha utilizado. La víctima tendría que volver a iniciar sesión con sus credenciales, lo que volvería a emitir los tokens e invalidaría los tokens robados por el atacante.

Respondí una pregunta similar que terminó siendo marcada como un duplicado de esta. Sin embargo, creo que mi respuesta a esa pregunta proporciona un argumento más sólido sobre cómo los tokens de actualización brindan seguridad adicional. En resumen, si el token de actualización se ve comprometido, es mucho más fácil detectarlo y tomar las medidas adecuadas, como deshabilitar los tokens de autenticación y los tokens de actualización, y obligar al usuario a iniciar sesión nuevamente con sus credenciales. En otras palabras, las credenciales comprometidas se pueden cerrar mucho más rápido cuando se usan tokens de actualización.

Recuerda algo, que tienes la opción de agregar una reseña si diste con la respuesta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *