¿Por qué (muchos) dispositivos TOTP o aplicaciones TFA no usan una contraseña de acceso simple o ninguna?

1

En Suecia, donde vivo, puede utilizar una aplicación llamada BankID para identificarse e iniciar sesión en el sitio web oficial o firmar documentos oficiales. La aplicación utiliza un código de 6 dígitos (números, no alfabeto o símbolos) como su clave. Lo usa al escribir su número de identificación personal (que no es secreto en Suecia, o al menos es muy fácil de obtener) en el sitio web, y luego ingrese el código de 6 dígitos en la aplicación de su dispositivo móvil o una aplicación de escritorio como una volver a reproducir en una ventana emergente con el nombre del sitio solicitante.

Algunos bancos utilizan un tipo de dispositivos TOTP, como este por ejemplo, . El dispositivo utiliza una clave de 4 dígitos como contraseña de acceso. Nuevamente, lo usa al escribir su número de identificación personal en el sitio web del banco, el código de 4 dígitos en el dispositivo, y luego copiar la OTP más larga generada.

Esto es diferente a los procedimientos de inicio de sesión tradicionales que usan 2FA ya que "algo que sabes" es una contraseña muy corta y simple. En el caso del banco, solo tiene 4 dígitos, y si bien supongo que el dispositivo se bloquearía si alguien intentara adivinar la contraseña, supongo que hay una buena oportunidad (ya sea la que sea) para adivinarla, especialmente si obtuvo alguna información al respecto. .

¿Me estoy equivocando? ¿Es más seguro que eso?

    
pregunta Rsf 24.04.2018 - 10:36
fuente

4 respuestas

2

Lo nombraste, ¡es un banco!

Los bancos son instituciones financieras y comparan números y probabilidades. Todos sabemos que a cuatro dígitos !!!!! La contraseña (no los caracteres) es absolutamente insegura. Sin embargo, el banco calcula la probabilidad y los costos de que un usuario sea violado y la probabilidad y los costos para los usuarios que olvidan su contraseña de aplicación más compleja y, por lo tanto, crean solicitudes de soporte.

Sin embargo, habría una razón para usar una contraseña real en la aplicación: la aplicación en el teléfono inteligente almacena una clave simétrica para generar la contraseña de un solo uso. Puede usar esta contraseña para cifrar esta clave, cuando no se usa. Una vez más, sabemos que un PIN de cuatro dígitos no creará una buena clave de cifrado.

¿El dispositivo que vinculaste con el teclado es probablemente un dispositivo de respuesta de desafío? Supongo que no siempre ingresa el mismo PIN en el dispositivo. El PIN es el desafío: debe contener algún tipo de información de la transacción. Su dispositivo también tiene una clave secreta y creará una respuesta basada en este desafío / datos de transacción. Si se implementa correctamente, es un mecanismo bastante fuerte. Sin embargo, podrían haber creado esto basándose en el algoritmo OCRA (RFC6287 enlace ).

    
respondido por el cornelinux 25.04.2018 - 21:18
fuente
2

Los TOTP son muy diferentes de las contraseñas convencionales.

Para validar el TOTP, el servidor debe tener acceso al texto simple del secreto (puede escribirse en el almacenamiento en forma cifrada, pero luego está el problema de la gallina / huevo de dónde persistir la clave de cifrado) . Así que la base de datos secreta tiene que estar protegida.

Un TOTP de 6 dígitos tiene mucha menos entropía que, digamos, una contraseña de 8 caracteres con al menos una mayúscula, una ... pero mientras que la última persistirá por lo general durante al menos un mes. la ventana corta para la que existe el primero significa que es poco probable que el acceso a la fuerza bruta al probar todos los valores posibles con el servicio, en lugar de fuera de línea, tenga éxito. De hecho, con solo una pequeña limitación, las posibilidades de obtener la contraseña correcta en el momento adecuado son pequeñas. Y esto supone que el servicio permitirá un gran número de conjeturas incorrectas.

De hecho, puedes hacer los cálculos matemáticos: para imponer una contraseña de 8 caracteres en un mes, deberás realizar alrededor de 2 millones de intentos por segundo. OTOH para aplicar fuerza bruta a un código pin de 10 dígitos dentro de los 30 segundos, debe hacer unos 150 millones de intentos por segundo.

Como usted probablemente sepa, las contraseñas convencionales deben estar con un hash seguro usando un salt. Entonces, incluso si un atacante se apodera de la base de datos, no puede revertir las contraseñas ni realizar una búsqueda de fuerza bruta de todas las contraseñas posibles para encontrar una coincidencia. Si la contraseña es solo un pin de cuatro dígitos, solo necesitan (un promedio de) 5000 iteraciones de la tiene que encontrar el valor, lo que no tomaría mucho tiempo, de hecho, podría hacerse dentro del TTL de 30 segundos para un TOTP recomendado por rfc6238. Pero como el mecanismo TOTP no proporciona protección intrínseca contra un ataque fuera de línea en la base de datos secreta, no tiene mucho sentido tener esta protección ni requerir altos niveles de entropía para la contraseña recordada.

Otra consideración es que dada la reducción en el esfuerzo y la experiencia requerida para operar el servicio legítimamente, el proveedor del servicio puede ser mucho menos indulgente con las contraseñas incorrectas: suspender las cuentas y requerir que se realicen validaciones complejas antes de restaurar el acceso.

Entonces, aunque 6 dígitos o incluso 6 + 4 dígitos tienen una entropía intrínseca muy baja, cuando tiene un límite de tiempo, es una forma muy efectiva de autenticar a las personas.

    
respondido por el symcbean 25.07.2018 - 15:28
fuente
1

Por lo general, TOTP (o similar) se usa en combinación con una contraseña en el sitio web en sí. Por lo tanto, hay pocas razones para bloquear el dispositivo TOTP, ya que el servidor web verifica algo que usted sabe en la forma de su contraseña. Y, en cierto modo, esto es más seguro, ya que puede intentar ataques físicos en el dispositivo TOTP pero los servidores web están protegidos físicamente.

La contraseña producida por TOTP no necesariamente tiene que ser larga, ya que al ser utilizada en la web, es bastante fácil limitar la solicitud y, a diferencia de una contraseña normal, no tiene que preocuparse por que alguien lo vea escríbelo, ya que normalmente son de un solo uso.

Sin embargo, si no se utiliza una contraseña u otra forma de autenticación que usted sabe con el TOTP, entonces es menos seguro usar un PIN corto o no para proteger el dispositivo TOTP.

    
respondido por el Peter Harmann 24.04.2018 - 10:49
fuente
1

La razón principal por la que muchos tokens de hardware se mantienen alejados de la entrada de pin o desafío es el costo y evitar el trabajo asociado con la protección contra el riesgo de la entrada de datos.

La situación (decepcionante) de los tokens de software (sin entrada de pin o huella digital) solo se puede explicar con modelos de amenazas extrañas. Y algunas aplicaciones están mal mantenidas (como FreeOTP en iOS, que no es compatible con TouchId o el almacenamiento de llavero adecuado). Ni Google Authenticator ni Microsoft Authenticator son mejores.

Uso los administradores de contraseñas (KeePass con el complemento OTP en el escritorio) que solicitan la contraseña. Creo que „SAP Authenticator“ y „OTP Auth“ (incluido TouchId / FaceId) son aplicaciones de iPhone que permiten solicitar una contraseña de aplicación.

    
respondido por el eckes 25.07.2018 - 10:23
fuente

Lea otras preguntas en las etiquetas