Genero acceso auth2 y actualizo tokens y los almaceno en mi base de datos. Genero estos tokens utilizando UUID v4 y elimino los guiones. Solía eliminar los tokens después de que expiran, pero ahora los guardo todos porque pensé en algo que podría pasar.
¿Qué sucede si un atacante almacenó localmente todos los tokens de acceso que se generaron para él y siguió usando estos tokens de acceso una y otra vez para obtener autorización? Como yo, como administrador de la base de datos, estaba eliminando los tokens generados, la base de datos no tiene forma de saber que el token es único. Por lo tanto, si el algoritmo UUIDv4 genera un token de acceso para un usuario diferente y es una colisión (el mismo UUID que el generado anteriormente) y el atacante encontró esa colisión, podría ingresar al servicio ya que tiene los tokens que se han generado antes.
Mi pregunta es: ¿debo preocuparme por esto y guardar todas mis fichas en caso de colisión para verificar la singularidad o debo eliminar las fichas de acceso y actualización después de que caduquen y confiar en que UUIDv4 tiene suficiente entropía para evitar esto?
También me preocupa que si conservo todos los tokens, se va a inflar la base de datos, ya que los tokens de acceso caducan cada hora y se regeneran la próxima vez que el usuario realiza una acción.
Cualquier ayuda es apreciada!