Você provavelmente já leu sobre como a autenticação de dois fatores (2AF) por SMS (SMS based) acabou e que existem outras tecnologias 2FA melhores. Por exemplo, aplicativos de autenticação, Yubikeys, etc.
Isso é uma mistura de verdade, com um pouco de generalização que não é justa, e marketing para justificar cada motivo do autor.
Confuso?
E se eu te disser que você pode olhar para segurança como um conceito multidimensional?
Pessoas tomam decisões de segurança baseadas no valor ao qual elas querem proteger, os perigos para o bem, a probabilidade desses perigos, e o trade-off que a inconveniência da perda pode trazer.
Se você é como a maioria das pessoas, você vai escolher uma fechadura com chave para sua casa, um cadeado com combinação para seu armário da academia; o valor das coisas da sua casa valem mais, a ameaça de roubo em sua academia é menor, e você prefere a conveniência de não ter que carregar uma chave extra quando vai à academia.
Vamos além da lógica, a 2FA (2 authentication factor) por SMS usada para proteger sua conta de caronas compartilhadas como Careem, Uber, etc, tem que ser segura suficiente para este fim comparando com o tipo de mecanismo necessário para proteger a conta de Bitcoin dele ou dela. O primeiro tem menos valor; tem menos créditos, com créditos restritos apenas para compartilhamento de carona.
Podemos expandir esse argumento para o cenário no qual um web service diminui sua proteção de segurança para zero, e ainda assim diz que vai devolver qualquer crédito roubado. A política de devolução transfere todos os riscos do usuário para o próprio web service, e garante ao usuário segurança no local, mesmo não tendo uma real segurança.
Isso aumenta o risco e potencial de perda devido a devolução de créditos, mas pode ser bom, devido ao aumento em receitas por parte de novos usuários. Uma pessoa pode facilmente argumentar que em um cenário de autenticação de dois fatores por SMS, qualquer perda por conta de devolução de créditos é superada pelo crescimento de receita de novos usuários.
Nessa situação de ganho-ganho para ambos o web service e usuários, quem vai dizer que a autenticação de dois fatores por SMS está obsoleta?
A autenticação de dois fatores por sms também oferece algo único – permite que o web service verifique o usuário, e também adquire uma identidade única para o usuário (número de telefone) em uma tacada só. Isto permite ao web service um canal confiável para ganhar a atenção das pessoas. É mais provável que uma pessoa leia um SMS do que uma notificação de app, e diferente dos apps, o número de telefone provavelmente continuará o mesmo independente da troca de aparelho de telefone. Veja este artigo sobre SMS x Push x Email para ver quando usar cada um deles.