Cómo identificar un dispositivo de usuario

3

Quiero implementar algo similar a gmail donde el inicio de sesión desde un nuevo dispositivo hará que el usuario confirme que se trata de ellos a través de algún tipo de MFA. Sin embargo, no estoy seguro de qué usar para determinar si un nuevo dispositivo se ha utilizado en diferentes sistemas y dispositivos (es decir, equipos de escritorio, tabletas, etc.)

Mi primer pensamiento fue usar la dirección IP pública, pero esto puede cambiar con mucha frecuencia, por lo que no es muy útil.

Mi segundo pensamiento es usar la IP privada. ¿Es una mala idea almacenar las direcciones IP privadas de los usuarios?

¿Hay una tercera opción mejor?

Editar: para aclarar, quiero saber qué datos usar para determinar si se está utilizando un nuevo dispositivo (no cómo autenticar al usuario una vez que determine que se está utilizando un nuevo dispositivo).

    
pregunta yitzih 02.04.2017 - 03:21
fuente

3 respuestas

2

Esto se puede implementar de varias maneras, pero todas las que has enumerado son terribles por sí mismas.

Las direcciones IP privadas nunca serán útiles. Múltiples usuarios en diferentes redes pueden tener la misma IP privada. Los IP públicos en sí mismos también son tan malos: se pueden falsificar o, en varios casos, se utilizan a varias personas a la vez (las organizaciones grandes utilizan con frecuencia IP públicas únicas y estáticas para muchos usuarios).

Lo que deberías estar viendo es una combinación de lo siguiente:

  • IP pública (guárdelas para saber cuál es el área de inicio de sesión más común del usuario)

  • Nombre de usuario

  • Resolución de pantalla

  • Plataforma (móvil vs escritorio)

  • Versiones de sistema operativo (¿el usuario generalmente usa OSX pero parece que de repente ha hecho la transición a Windows?)

De hecho, hay mucha información que puedes usar. Este sitio hace un buen trabajo mostrándole lo que puede usar.

Solo recuerda: utiliza una combinación de los datos que recuperas. No solo use direcciones IP o sistemas operativos como la única forma de denegar el acceso.

    
respondido por el thel3l 02.04.2017 - 07:42
fuente
1

Una forma extremadamente común de hacer un seguimiento de esto es con las cookies http estándar. Esto continuará a medida que el usuario se mueva de una ubicación a otra, solo se pierda cuando borre sus cookies o cambie de navegador (no con frecuencia, si es que alguna vez lo hace, para la mayoría de los usuarios), y hace un buen trabajo para confirmar que este dispositivo es de confianza.

    
respondido por el Xiong Chiamiov 02.04.2017 - 09:40
fuente
-1

En alguna forma de 2fa como el autenticador de Google, puede agregar otp basado en el tiempo a su aplicación, lo que parece ser la mejor manera de hacerlo.

Editar: considere las variables que indican que el dispositivo es un nuevo dispositivo del usuario. Algún tipo de ID de dispositivo permanente, por ejemplo, imei, etc., es ideal para identificar dispositivos exactos, pero solo después de una autenticación válida sabrá que el dispositivo es de un usuario válido.

    
respondido por el munchkin 02.04.2017 - 04:27
fuente

Lea otras preguntas en las etiquetas