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).