Cómo asegurar una aplicación basada en el registro de un número de teléfono

1) Hay dos partes para su problema:
1.1) Registrar un usuario para usar la aplicación / sitio por primera vez
1.2) Los detalles de autenticación / inicio de sesión necesarios cada vez que abren la aplicación.

2) Supongo que el esquema “Número de teléfono / Código de verificación de SMS” que describe arriba es solo para el # 1.1 anterior, es decir, para uso de registro único
2.1) Por lo general, no requeriría que un usuario realice este proceso todo lo que inicie sesión (es decir, el punto 1.2 anterior)
2.2) Si es solo para el registro, entonces el esquema que describa es posible
2.2.1) pero no es fácil de desarrollar adecuadamente. Ver # 4 a continuación

3) En términos de # 1.2: Autenticación estándar / Inicio de sesión
3.1) Piensa en la experiencia del usuario (UX). La mayoría de las aplicaciones móviles una vez registradas permitirán que el usuario regrese sin necesidad de autenticarse
3.1.1) Durante el registro (es decir, el n. ° 2 anterior), la aplicación almacenaba una identificación única en el teléfono que identifica al usuario cada vez que abre la aplicación
3.2) Las aplicaciones que utilizan este enfoque se basan en el hecho de que la mayoría de los usuarios protegen sus teléfonos y no permiten que otras personas accedan fácilmente a ellos.

4) Ataques de número de teléfono no válidos
4.1) Como ya ha resaltado. Los piratas informáticos (por varias razones) podrían apuntar al esquema de registro descrito en el n. ° 2 anterior
4.2) Necesitaría una cantidad de SecurityCounterMeasure (s) para protegerse contra estos ataques. Estos tendrían que incluir cosas como:
4.2.1 ) Prevenir ataques automatizados contra el mecanismo
4.2.1.1) Usar algo como un mecanismo Captcha
4.2.2 ) Limite el número de intentos inválidos que pueden ocurrir desde una CallingIPAddress particular
4.2.2.1) Si se excede el límite, bloquee esa CallingIPAddress por un período
4.2.3 ) Proteger contra un ataque DDOS masivo
4.2.3.1) es decir, suspender los registros por un período si # 4.2.2 está sucediendo para múltiples CallingIPAddress (s).
4.2.4 ) Limite la cantidad de código de verificación que se puede enviar al mismo número de teléfono en un período determinado.

5) Manejo de reinscripción
5.1) También necesitaría proporcionar funciones para permitir que un usuario se vuelva a registrar cuando cambian / pierden teléfonos
5.2) Asegúrese de permitir solo la aplicación en un teléfono para un número de teléfono determinado.
5.2.1) Cuando vuelva a registrarse con un PhoneNumber ya usado, desactive cualquier UniqueID anterior asociado con este PhoneNumber. Ver # 3.1.1 arriba.

More Interesting

¿Qué plataforma está desarrollando aplicaciones web y móviles?

Cómo desarrollar una mejor interfaz de usuario para una aplicación Rails

¿Existe una aplicación de código abierto donde pueda escanear recibos con OCR? Al igual que Lemon Wallet y muchos otros.

¿Cuál es el mejor lenguaje de programación de back-end, en casos de uso general, para aplicaciones móviles?

¿Qué detalles deben incluirse al proporcionar especificaciones para una aplicación web a un desarrollador?

¿Es útil aprender más sobre diseño web? ¿O los sitios web serán asumidos por las aplicaciones en el futuro?

¿Debo elegir convertirme en desarrollador web, programador de gráficos, desarrollador de aplicaciones móviles o ingeniero / científico de datos?

¿Cuáles son las ventajas del desarrollo de aplicaciones nativas?

¿Debería cada empresa tener un sitio web o aplicación móvil?

¿Cuándo se necesita la versión móvil y tableta para cualquier sitio web?

¿Debo aprender desarrollo web o desarrollo móvil? Soy un desarrollador web front-end principiante, ya aprendí HTML y CSS, y estoy aprendiendo JavaScript.

¿Sería posible contratar a un programador que pueda crear una aplicación móvil de búsqueda de empleo como Job Today por $ 3,000?

¿Dónde puedo aprender UI / UX para el desarrollo de aplicaciones móviles y web?

¿Qué base de datos podría escalar mejor para aplicaciones móviles?

¿Cuál es la diferencia entre las aplicaciones móviles y un sitio web optimizado para dispositivos móviles?