Mi pregunta es algo simple. ¿Por qué WhatsApp utiliza códigos de 6 dígitos para verificar el dispositivo? También podrían usar 5 o más de 7 dígitos y o caracteres alfanuméricos.
¿Hay alguna razón por la que hayan elegido exactamente 6 ?
¿Por qué no hay menos de 6 dígitos?
Cuanto más largo sea el código, más difícil es adivinar. Se podría argumentar que 4 ya es suficiente si descartas el código después de un intento fallido, pero ¿por qué deberías tirar un poco más de seguridad?
¿Por qué no hay más de 6 dígitos?
Creo que eso no está relacionado con la seguridad sino con la usabilidad. WhatsApp intenta leer el SMS de verificación automáticamente, pero hay casos en que el usuario tiene que ingresar el código manualmente. Por ejemplo, si el SMS tarda mucho en recibir, la aplicación no lo esperará, pero le pedirá que lo ingrese cuando finalmente lo reciba.
Por lo tanto, el código de verificación debe ser fácil de recordar. La ley de Miller indica que el número de objetos que un ser humano promedio puede tener en la memoria de trabajo es 7 ± 2. Siete dígitos sea una opción lógica, pero es mucho más fácil recordar 6 dígitos, especialmente si su entorno lo distrae mientras usa su teléfono móvil.
Conclusión
Es un compromiso.
No sé exactamente por qué han elegido el código de verificación de 6 dígitos, pero aquí están mis pensamientos sobre esto.
Supongo que la verificación de un dispositivo se basa en la capacidad de recibir mensajes de texto, y el propósito de la verificación es vincular un número de teléfono a una cuenta.
Diga que automatizaría ese proceso.
Si hay una cantidad excesiva de intentos de verificación y mensajes SMS para un número de teléfono, alguien lo notará definitivamente. Entonces, digamos que no le importa con qué número de teléfono está tratando de vincular su cuenta de WhatsApp e intentará contra un número de teléfono arbitrario.
Si usan un código de verificación de 4 dígitos, en promedio solo requeriría 10.000 intentos para adivinar el correcto.
Y para un código de verificación de 6 dígitos, requeriría 1,000,000 de intentos en promedio.
Es un equilibrio entre seguridad y oscuridad. Si fuera posible adivinar un código de verificación, la gente lo intentaría y Whatsapp tendría un costo para enviar todos estos mensajes de texto de verificación.
Con solo 10.000 intentos, puede extender estos intentos en varios días o meses y aún así ser exitoso, y tal vez no se note tan fácilmente.
Pero para 1.000.000 intentos, definitivamente sería mucho más difícil de lograr.
Por lo tanto, en conclusión, la longitud del código es un equilibrio entre seguridad y facilidad de uso.
Lea otras preguntas en las etiquetas passwords authentication whatsapp