Autenticacion bancaria tipo OTP: mas alla de marketing
Si esta en ingles y con términos muy técnicos, no significa “Seguro por defecto”
La intención de esta serie de artículos sobre las formas de autenticacion OTP, basadas en claves de un solo uso o claves dinámicas tiene la finalidad de despertar en la comunidad la necesidad de ser mas excepticos al momento de tragarnos la píldora de MAS SEGURIDAD, por que “tiene bonita caja”. Creo que debemos apuntar a que nuestras organizaciones reguladas y reguladoras no solo copien el marco de cumplimiento de países vecinos en estos temas y que desarrollen por su cuenta, unidades dentro sus organizaciones para realmente evaluar las condiciones de seguridad que se imponen a las entidades financieras. Personalmente he trabajado con este sistema de verificación por mas de 30 años y veo como se ha masificado, pero no solamente la seguridad, sino las técnicas de hacking.
Dejo para su lectura 1 articulo y la referencia a dos papers sobre el tema. Seguramente la mayor parte de las personas llegara únicamente al encabezado y unos cuantos al articulo, pero tenemos una certeza probada que en un tiempo estaremos mejorando. Toca ser
El articulo
Referencia completa en: https://www.nextauth.com/banking-grade-login-often-means-weak-otp/
Esta publicación muestra lo que sucede debajo de la interfaz de usuario de la mayoría de las aplicaciones de autenticación. Con demasiada frecuencia, estos se basan en contraseñas de un solo uso (OTP) débiles. Las OTP son una forma obsoleta de autenticar a los usuarios y pueden ser una seria responsabilidad para la seguridad de su TI. Para la autenticación de usuarios móviles, nextAuth proporciona una solución de seguridad muy superior y no requiere ningún hardware especial en el servidor.
Evaluar la seguridad de una solución de autenticación puede ser un desafío para los no expertos. Existen muchas tecnologías diferentes y la máquina de marketing de su proveedor siempre presumirá de ser la mejor opción. Se acuñan términos sin sentido, que van desde un montón de certificaciones fuera de tema, “grado bancario”, “grado militar” (y, por el gusto de hacerlo, niveles de Defcon asociados) hasta “no hackeable”. En esta publicación nos centraremos en el “grado bancario”, OCRA y contraseñas de un solo uso (OTP).
“Grado bancario”
La seguridad de “grado bancario” no tiene un significado técnico específico, ya que simplemente se refiere a lo que un banco esté dispuesto a utilizar. Dado que algunos bancos todavía usan nombre de usuario-contraseña, su sitio web probablemente ya use autenticación de “grado bancario”. De manera similar, el estándar OCRA (Autenticación de respuesta de desafío de autenticación abierta) no implica una autenticación sólida. En la práctica, la mayoría de las veces terminará con esto:
Las soluciones anteriores son ejemplos de contraseñas de un solo uso (OTP), es decir, los seis o más dígitos que debe ingresar en su navegador para demostrar que es usted. Hoy en día, obtendrá una aplicación de buen aspecto, donde la OTP podría incluso estar oculta de la interfaz de usuario, lo que la hace más conveniente para los usuarios. Pero en cuanto a seguridad, está atrapado con una tecnología de autenticación obsoleta de principios de la década de 2000.
El segundo factor no necesariamente aumenta la seguridad
Algunas soluciones se jactan de proporcionar autenticación de dos factores, mediante la verificación de un PIN o huella digital (o incluso siguen el llamado enfoque basado en el riesgo basado en la ubicación, las redes disponibles, el dispositivo está rooteado o no …). Normalmente, la verificación de este segundo factor se realiza en el móvil del usuario, como una forma de desbloquear la generación de OTP. Por lo tanto, poder iniciar sesión en un servidor remoto solo depende de que la OTP sea correcta o no.
Problemas con las contraseñas de un solo uso (OTP)
Las mayores ventajas de las OTP son que 1) no las elige el usuario y 2) solo se pueden usar una vez. Esto hace que las OTP estén sujetas a una amplia gama de ataques a contraseñas que van desde adivinar contraseñas hasta phishing. Las OTP no sufren de phishing en sentido estricto, porque los usuarios no pueden revelar credenciales a largo plazo. Sin embargo, con las herramientas de phishing en tiempo real, los atacantes engañan a los usuarios para que revelen OTP válidas.
Pero en comparación con las contraseñas, las OTP también tienen algunas deficiencias. En primer lugar, las OTP son más susceptibles a los ataques de fuerza bruta, probando todos los valores posibles hasta que ingrese. En segundo lugar, las OTP requieren hardware seguro en el servidor: el servidor necesita la clave secreta compartida para verificar la OTP.
Ataques de fuerza bruta
La probabilidad de obtener una OTP correcta de 6 dígitos es de una en un millón. Esto puede parecer bajo, pero compárelo con la probabilidad de ganar el premio mayor en un esquema de lotería nacional, que es diez a cien veces menor. A los piratas informáticos que intentan ingresar a su sistema, es posible que no les importe la cuenta en la que ingresan. Por lo tanto, incluso si una OTP solo es válida durante 30 segundos y su servidor bloquea a los usuarios que prueban demasiadas OTP en un corto período de tiempo, un pirata informático simplemente puede probar la misma OTP para todos sus usuarios. Esto significa que cuantos más usuarios tenga, más probable será que un pirata informático obtenga la OTP para uno de ellos correctamente.
Almacenamiento del servidor
OTP utiliza una función de código de autenticación de mensaje criptográfico (MAC), donde tanto el servidor como el móvil comparten una clave. Esta clave debe estar disponible * en el servidor, porque el servidor necesita esta clave para calcular la OTP en su lado para compararla con la OTP recibida.
El paper 1
Puede ser revisado en: https://pdf.sciencedirectassets.com/282178/1-s2.0-S2212667813X00024/1-s2.0-S2212667813000099/main.pdf
El paper 2
Puede ser revisado en: https://www.mulliner.org/collin/publications/mulliner_dimva2013.pdf