¿Es seguro usar UUID como autenticación? [duplicar]

2

Tengo una aplicación que usa UUID como autenticación. El UUID se almacena como KeyChain dentro de mi aplicación iOS. Cuando publico el UUID, uso https. ¿Hay alguna forma de obtener la contraseña, a menos que tenga acceso físico o remoto al dispositivo? ¿Este enfoque es fuertemente desaconsejado?

Esta pregunta aborda el uso del UUID como entrada en un campo de texto , mientras mi pregunta es usar UUID como autenticación después de un estado de inicio de sesión completo. Si lo escribe en un campo de texto, el usuario debe conocer el UUID. (Hablando de mi aplicación) En primer lugar, el usuario no conoce su UUID. En segundo lugar, el UUID está cifrado dentro de KeyChain.

    
pregunta Test tester 28.07.2018 - 02:01
fuente

1 respuesta

6

No, no debes usar los UUID como tokens de autenticación.

Los UUID están diseñados para ser únicos, no para ser aleatorios o impredecibles. Consulte wikipedia para obtener una lista de los métodos utilizados para generar los UUID. Tomemos, por ejemplo,

  

Versión 1 (fecha y hora y dirección MAC)

     

La versión 1 concatena la dirección MAC de 48 bits del "nodo" (es decir, la computadora que genera el UUID), con una marca de tiempo de 60 bits, es el número de intervalos de 100 nanosegundos desde la medianoche del 15 de octubre de 1582.

Si fui un atacante que intentaba predecir el próximo UUID que generará su servidor, bueno, una vez que haya visto uno de sus UUID, conozco su dirección MAC, luego sincronizo el reloj de mi sistema cerca del suyo y tengo un alta posibilidad de predecir tus UUIDs. Sus UUID le están dando ... quizás el equivalente a un valor de seguridad de PIN de 3 dígitos.

Ahora, está proponiendo usar esto como un valor súper secreto que solo el servidor y el usuario conectado conocen ...

Podré hacer algunas sugerencias específicas para mejorar su esquema, pero es probable que se beneficie al hacer una lectura general amplia sobre "autenticación web" y "administración de sesiones". Aquí hay un buen manual para comenzar:

enlace

    
respondido por el Mike Ounsworth 28.07.2018 - 04:43
fuente

Lea otras preguntas en las etiquetas