¿Cómo pueden los desarrolladores trabajar para administrar el costo de la autenticación de 2 factores?

Para comprender el costo de 2FA para su aplicación / negocio, debe echar un vistazo a varias áreas.

¿Cuál es el costo de una toma de cuenta? Si la cuenta de alguien es pirateada y los datos se ven comprometidos, ¿cuánto impacto tiene esto en los ingresos de su negocio? Mida esto por año o por evento. Es importante hacer esto primero, porque así es como justificas incluso agregar 2FA en primer lugar. ¿Es su aplicación un foro para personas que comparten historias sobre sus mascotas? 2FA probablemente no tiene valor. ¿Eres un intercambio de BitCoin en línea? 2FA es probablemente obligatorio y el costo de la cuenta se hace muy alto. Algunas personas implementan 2FA simplemente porque sus usuarios lo exigen, por lo que puede medir el costo del potencial crecimiento del negocio perdido a través de la adquisición de usuarios. Sea lo que sea lo que impulse su deseo de agregar 2FA, es aconsejable comprender por qué lo está haciendo y los costos asociados que está tratando de evitar.

Ahora que tiene una idea del costo que 2FA va a mitigar, puede evaluar los costos de diferentes implementaciones. A partir de su pregunta, supondré que está creando su propia solución 2FA.

Por lo tanto, debe tener en cuenta los siguientes costos de construcción.

  • Tiempo y esfuerzo para implementar una solución 2FA . En esta era, debe apuntar a la autenticación push (por ejemplo, Google Prompt, Yahoo Account Key, Salesforce Lightning Login, Microsoft Push Approval), TOTP y una alternativa a SMS / voz. Esta última opción es la menos segura (consulte las referencias a continuación), pero también la más accesible, porque la mayoría de las personas pueden recibir un SMS o recibir una llamada telefónica. Debe proporcionar las tres opciones para una experiencia de usuario realmente buena y una solución segura.
  • Tiempo y esfuerzo para mantener su solución 2FA autoconstruida . A medida que avanzan los métodos de 2FA, debe estar al tanto de su implementación de 2FA, agregando nuevas características como la compatibilidad con U2F. Si su solución 2FA no está actualizada, bien podría exponer problemas de seguridad y vencer el propósito de 2FA en primer lugar.
  • Asegúrese de que la implementación sea confiable, segura y probada . Su implementación de 2FA debe ser el servicio más confiable en su aplicación, si falla, la gente no puede iniciar sesión. Debería realizar pruebas de penetración periódicas (como mínimo anual) contra su aplicación y el servicio 2FA. Una vez más, un servicio 2FA con una vulnerabilidad de seguridad es lo contrario de lo que está tratando de lograr.
  • Costos del canal de entrega. TOTP es gratuito, ya que le pide a sus usuarios que descarguen una aplicación de autenticación como Google Authenticator, Microsoft Authenticator o Authy. Las soluciones de autenticación push también son gratuitas, Apple o Google no cobra por las notificaciones push a los dispositivos. SMS / voz sin embargo tiene un costo. Por lo tanto, para evitar este costo, su solución debe presentar al usuario un TOTP o una opción de autenticación push primero. Esto mejora la seguridad y reduce los costos generales.
  • Desarrollo de aplicaciones móviles . Puede hacerlo si desea construir su propio cliente 2FA. Microsoft y Google tienen. O simplemente puede decirles a los usuarios que usen esos clientes e implementar el lado del servidor. La desventaja aquí es la marca. Sus usuarios utilizarán productos de Google y Microsoft cuando accedan a su negocio. Esto podría no ser ideal. Si ya tiene una aplicación móvil, es posible que desee implementar TOTP y clientes de autenticación de inserción y eso es tiempo de desarrollo y mantenimiento costosos adicionales.
  • Costos de soporte . Debido a que necesita ofrecer SMS para asegurarse de tener una solución 2FA que pueda cumplir con el tipo de usuario común más bajo (usuario sin teléfono inteligente o que no quiere instalar una aplicación), debe administrar cosas como los cambios de número de teléfono. Si confía en el uso de una aplicación, debe administrar cosas como la recuperación de usuarios cuando pierden sus dispositivos o borrarlos sin darse cuenta de que necesitan que la aplicación inicie sesión. Este es un problema importante. Debe crear herramientas de recuperación de cuenta para validar a los usuarios, y habrá mucha interacción manual, por lo tanto, deberá contratar personal de soporte dependiendo del tamaño de su población de usuarios.

Si es una startup y decide construirla usted mismo, debe tener en cuenta el costo de su tiempo para crear una solución y si eso es esencial para su negocio. Recientemente me reuní con el vicepresidente de gestión de productos de la compañía de seguridad y recuperación de datos Datto.com. Recientemente fueron valorados en más de mil millones de dólares y se dieron cuenta de que el tiempo de desarrollo de sus fundadores valía $ 24k por hora … ¿Vale la pena dedicar ese tiempo a construir una solución 2FA?

Yo diría que en lugar de tratar de construir toda la solución y asumir los costos anteriores, es más rentable, más seguro y una prueba futura para comprar una solución 2FA como API e implementar eso. Puede escuchar al vicepresidente de producto en Datto hablar sobre su decisión de no construir en este video.

Referencias
Problemas de seguridad de SMS y 2FA

  • Dos factores a través de su teléfono móvil: ¿debería dejar de usarlo?
  • FALLO de dos factores: Chap se empeña después de que ‘AT&T se enamora de los trucos de los hackers’
  • El futuro posterior a SS7 de 2FA – B – Medio
  • Noticias de autenticación de dos factores • Authy

Debe comprobar las alternativas a una solución basada en sms que, por cierto, no es segura en absoluto [1]

También es importante si quiere decir solo una verificación de dos pasos o una autenticación de dos factores. No todo el tiempo, pero a veces puede ser lo mismo Zwei Faktor Authentifizierung und zweistufige Bestätigung im Vergleich | SecSign 2FA.

Además de una solución basada en SMS, puede usar TOTP o una solución basada en token y cosas basadas en códigos QR [2].

O la tercera forma es usar autenticación de dos factores y de dos canales [3] [4] usando aplicaciones en su teléfono inteligente. En ese caso, no necesita ningún hardware adicional ni ningún proveedor de servicios para el SMS. Por lo tanto, no tiene ningún costo adicional.

Notas al pie

[1] Es oficial: la autenticación de dos factores basada en SMS no es segura | SecSign 2FA

[2] Elección del método de autenticación de dos factores mejor y más seguro | SecSign 2FA

[3] El fracaso de la autenticación de dos factores

[4] Autenticación de dos factores: muy poco, muy tarde

La mayoría de los desarrolladores usan algo como TOTP ( https://en.wikipedia.org/wiki/Ti …) en lugar de SMS. Sé que incluso como usuario habitual prefiero eso a los SMS.

Ahora, si desea seguir una ruta más dudosa, compre algunos teléfonos Android baratos (o algo más barato con el que pueda desarrollar), escriba una aplicación para ellos que obtenga mensajes de una cola a través de wifi y configure el teléfonos con un plan que ofrece una tonelada de mensajes de texto.

¡Dios mío, no tenía idea de que era tan caro! ¿Estás seguro de que no hay otra fuente para eso?

Puede comenzar con el correo electrónico de autenticación de dos factores.