Whatsapp ha anunciado que están introduciendo 2FA en su servicio. Normalmente, los servicios se basan en una contraseña (lo que sabe), y agregar 2FA significa que requieren un código adicional enviado por SMS a su teléfono (lo que tiene), pero hasta ahora, Whatsapp siempre ha usado el código enviado a través de SMS y sin contraseña , por lo que en su caso, agregar 2FA significa agregar la contraseña. Estoy tratando de entender por qué, exactamente, esto debería ser útil.
En el escenario común (un servicio que requiere una contraseña, como un proveedor de correo electrónico), si algunos hackers violan el sitio y acceden a la base de datos de usuarios, pueden descifrar los hashes de contraseñas y acceder a las cuentas de los usuarios. La adición de 2FA evita este escenario, porque incluso si pueden encontrar su contraseña, todavía necesitan su teléfono. Hasta ahora tan bueno. Pero en el caso de Whatsapp, ¿cuál es la ventaja?
Hasta ahora, aquellos que querían acceder a su cuenta necesitaban robar su teléfono (y el código para desbloquear la pantalla), luego podían hacer todo (incluso mover la cuenta a otro teléfono o cambiar el número de teléfono asociado). Ahora, en cambio, también necesitarían la contraseña. ¿Pero quién querría hacer esto? Normalmente, una persona que quiere acceder a la cuenta de Whatsapp de otra persona es, por ejemplo, una esposa celosa que quiere comprobar si su esposo la está engañando. Si puede usar el teléfono de su esposo, desbloqueado, significa que puede leer todos los mensajes, y agregar la contraseña no le impide hacerlo, por lo que este no es el escenario que quieren evitar. Si Whatsapp admitió usar la misma cuenta en más de un dispositivo, la esposa celosa podría tomar brevemente su teléfono, recibir el código enviado a través de SMS y configurar la cuenta de Whatsapp de su esposo en otro teléfono, sin que él lo supiera; entonces ella podría seguir espiándolo incluso cuando él está ausente, por ejemplo, en un supuesto "viaje de negocios" (tal vez tenga cuidado de eliminar todos los mensajes comprometidos antes de que regrese, por lo que este truco podría permitirle descubrir la verdad). Aquí, la contraseña le impediría hacerlo ... Pero Whatsapp no admite el uso de la misma cuenta en más de un dispositivo, por lo que no importa.
Cualquier intento de mover la cuenta a otro teléfono, o cambiar el número asociado, tampoco tiene mucho sentido, ya que estos ataques no pueden mantenerse en secreto: las víctimas notarán inmediatamente que la cuenta en su teléfono no lo hace. No trabaje más y tome algunas contramedidas, como crear una nueva e informar a todos que dejen de escribir a la anterior. Rápidamente, la cuenta robada se volvería inútil. Una contraseña evitaría esto, está bien, pero no creo que este sea un escenario importante.
Otro caso donde la contraseña podría tener sentido es si el atacante es un experto que puede interceptar el código SMS utilizado como verificación. Nuevamente, esto permitiría robar la cuenta, pero como Whatsapp no es compatible con múltiples dispositivos, la víctima inmediatamente notará que la cuenta en su teléfono dejó de funcionar y, nuevamente, el ataque sería casi inútil.
La sección de preguntas frecuentes dice que "Para ayudarlo a recordar su código de acceso, WhatsApp le pedirá que ingrese su código de acceso periódicamente". Esto ayudaría a aquellos que no bloquean la pantalla, pero si a un usuario no le importa bloquear la pantalla, ¿por qué habilitaría 2FA entonces? Y los desarrolladores incluso admiten que esta solicitud periódica del código es para ayudarlo a recordar, no para aumentar la seguridad.
El escenario más plausible que se me ocurre es: una pandilla criminal que puede interceptar mensajes SMS de todo el mundo (!!!) roba cuentas, las transfiere a otro teléfono y luego envía un mensaje SMS al usuario legítimo " Si quiere recuperar su cuenta, envíenos algunos bitcoins ". Una contraseña evitaría esto, ok. Pero, en serio, ¿deberíamos preocuparnos por esto ?
Entonces, ¿cuál es un caso de uso realista en el que alguien realmente se beneficia al agregar la contraseña?