¿Qué tan seguro es pedir caracteres específicos de contraseñas en lugar de todo?

26

En algunos sitios autenticados con contraseña, se le solicita que ingrese una selección aleatoria de caracteres específicos de su contraseña en lugar de la palabra / frase completa. Por ejemplo, podría decir 'Ingrese la 1ª, 4ª y 8ª letra' y proporcione tres cuadros de entrada separados.

Por lo poco que sé de los mecanismos de seguridad, hubiera esperado que esto fuera menos seguro que ingresando la contraseña completa, agregando sal y hash y comparándola con el hash almacenado, ya que no hay texto simple a la vista.

Sin embargo, este sistema es utilizado por (con suerte) sitios web muy seguros, incluidos ciertos sitios de bancos en el Reino Unido.

Entonces, mi pregunta de dos partes es: es tan seguro como la comparación tradicional de sal / hash y ¿por qué es así?

    
pregunta Alex 23.09.2011 - 11:45
fuente

3 respuestas

34

Este método de entrada de contraseña es popular en sitios de bancos en Polonia. Se llama contraseñas enmascaradas. Está destinado a proteger de los keyloggers, y solo de los keyloggers. La transmisión de la contraseña en sí misma está protegida contra el rastreo con SSL, por lo que el razonamiento es que si el keylogger está instalado en el dispositivo del cliente, nunca tendrá acceso a la contraseña completa.

Sin embargo, esta lógica tiene algunas fallas:

  1. El atacante debe ingresar menos caracteres (por ejemplo, solo 4 caracteres, a menudo solo números) para un solo intento. Por lo tanto, es más fácil forzar este paso de autenticación. Es por eso que las contraseñas enmascaradas deben emparejarse con la política de bloqueo de cuenta.

  2. Con solo unos pocos personajes conocidos en ciertas posiciones (por ejemplo, reunidos por un keylogger / screengrabber), el atacante puede simplemente intentar iniciar sesión cuando el servidor elige las posiciones que conoce y actualizarlas cuando se eligieron otros. Muy a menudo, la implementación de contraseñas enmascaradas almacena la elección de posiciones para un lado del servidor de la cuenta durante una cierta cantidad de tiempo (por ejemplo, un día) hasta la autenticación exitosa.

  3. Para conocer toda la contraseña solo es necesario capturar algunas autenticaciones exitosas (por ejemplo, cuando la longitud de la contraseña es 12 y siempre hay 4 posiciones elegidas, usualmente toma 8 intentos ), por lo que un keylogger / screengrabber lo obtendrá, solo tomará un poco más de tiempo.

  4. La mayor amenaza para la autenticación de banca por Internet es el malware (ataques de "man-in-the-browser") como ZeUS o SpyEye y este tipo de software generalmente realiza ataques de ingeniería social que superan totalmente el esquema de contraseñas enmascaradas. Por ejemplo, este software puede:

    • pide una contraseña completa
    • mostrar un formulario de cambio de contraseña falso después de la autenticación falsa
    • simule los errores de ingreso de contraseña y vuelva a mostrar el formulario con otras posiciones para completar y obtener la contraseña completa en 2-3 intentos

Las contraseñas enmascaradas son difíciles de manejar para los usuarios y difíciles de implementar correctamente. Como mínimo, los desarrolladores deben agregar una política de bloqueo de cuenta, almacenamiento de elección de posiciones y hashes parciales.

Contrariamente a la creencia popular, las contraseñas enmascaradas, especialmente en los sitios de banca electrónica, aunque ofrecen protección contra el registro de teclas básico, fallan por completo ante otras amenazas más frecuentes, como el malware que utiliza ingeniería social.

    
respondido por el Krzysztof Kotowicz 23.09.2011 - 23:56
fuente
10

Conozco un sitio web de banca en línea, que solicita primero una contraseña (números y caracteres), y luego debe ingresar con su mouse dos dígitos de una segunda contraseña de 6 dígitos (solo números) ). Aparecerá un teclado numérico en la pantalla y haga clic en los números.

El razonamiento detrás de esto es que es (probablemente) más difícil para el malware rastrear el movimiento de su mouse que registrar sus pulsaciones de teclas.

En el ejemplo anterior, obviamente es más seguro que una sola contraseña.

En la situación que usted describe, donde uno tiene que ingresar solo los caracteres específicos de una contraseña mediante el teclado, el razonamiento podría ser que si alguien registra o anula su entrada, aún no tiene su contraseña completa.

Supongo (solo puedo) que el mecanismo utilizado para validar la entrada es seguro, aún puede usar el hash si almacena un hash de cada combinación de entrada posible.

Aquí hay un breve resumen de wikipedia sobre contraseñas parciales , que menciona esto.

    
respondido por el Dario Seidl 23.09.2011 - 12:05
fuente
4

Una nota al margen sobre la pregunta de caracteres específicos es que los usuarios podrían escribir la contraseña en papel o algo peor - en el bloc de notas - solo para asegurarse de que Entran las letras adecuadas. Como no hacerlo, se bloqueará la cuenta.

Ejemplo:

  1. Los bancos pueden advertir a los usuarios que usen contraseñas seguras
  2. El usuario crea una contraseña segura, digamos CorrectHorseBatteryStaple
  3. Ahora el banco pregunta # 4, # 10 y # 16 carta de contraseña
  4. Si bien es fácil en papel / bloc de notas, puede ser difícil contar qué letra es cuál en la memoria.

Como resultado, los usuarios, en lugar de recordar las contraseñas, los almacenan en papel con letras numeradas :) (o en el archivo de texto)

    
respondido por el PeterM 03.01.2017 - 09:43
fuente

Lea otras preguntas en las etiquetas