¿Por qué la computadora tarda tanto en responder con una "contraseña no válida" cuando el uso de una contraseña correcta es casi instantáneo? [duplicar]

10

Cuando ingresa una contraseña y es correcta, la respuesta es prácticamente instantánea (es decir, el proceso de inicio de sesión).

Sin embargo, cuando ingresa una contraseña incorrecta (accidentalmente, olvidada, etc.), toma un tiempo (10-30 segundos) antes de que responda que la contraseña es incorrecta.

¿Por qué tarda tanto (relativamente) en decir "contraseña incorrecta"?

Esto siempre me ha molestado acerca de ingresar contraseñas incorrectas en Windows y Linux (real y VM); No estoy seguro acerca de Mac OSX, ya que no recuerdo si es lo mismo, hace un tiempo desde la última vez que usé una Mac.

EDITAR: en aras de la duplicación, estoy preguntando en el contexto de un usuario que inicia sesión en el sistema en la computadora física en lugar de hacerlo a través de ssh, que posiblemente podría usar mecanismos algo diferentes para iniciar / validar las credenciales.

Thermatix
fuente
Los motivos son exactamente los mismos en comparación con el duplicado (inicio de sesión SSH).
Jens Erat
No lo son, el contexto es diferente; la otra diferencia es que las respuestas proporcionadas no son tan detalladas
Thermatix
Estoy de acuerdo con el OP. Las preguntas están ciertamente relacionadas, pero no son lo mismo. Una respuesta a "¿por qué le toma tanto tiempo a SSH decir 'contraseña no válida' en una conexión remota?" no es necesariamente lo mismo que una respuesta a "¿por qué tarda tanto el inicio de sesión de Windows en decir 'contraseña no válida' cuando estoy en la consola?", aunque es probable que sean similares. Definitivamente relacionado, dudosamente duplicados.
un CVn
Para la posteridad, en caso de que esto se vuelva a abrir, el supuesto duplicado es ¿Por qué un intento de contraseña incorrecta tardaría más en procesarse que una correcta? , pero tenga en cuenta que más allá del título, el único ejemplo específico dado es una conexión SSH remota a un host Linux.
un CVn

Respuestas:

17

¿Por qué tarda tanto (relativamente) en decir "contraseña incorrecta"?

No lo hace. O, más bien, no le toma más tiempo a la computadora determinar que su contraseña es incorrecta en comparación con la correcta. El trabajo involucrado para la computadora es, idealmente, exactamente el mismo. (Cualquier esquema de verificación de contraseña que tome una cantidad de tiempo diferente en función de si la contraseña es correcta o incorrecta puede explotarse para obtener conocimiento, por pequeño que sea, de la contraseña en menos tiempo de lo que sería el caso).

La demora es una demora artificial para hacer que tratar de obtener acceso repetidamente mediante el uso de diferentes contraseñas no sea factible, incluso si tiene alguna idea de cuál es la contraseña probable y el bloqueo automático de la cuenta está desactivado (lo que debería ser en la mayoría de los escenarios, como lo haría de otra manera permitir una denegación trivial de servicio contra una cuenta arbitraria).

El término general para este comportamiento es tarpitting . Si bien el artículo de Wikipedia habla más sobre la tarpitting de servicios de red, el concepto es genérico. The Old New Thing tampoco es una fuente oficial, pero ¿por qué lleva más tiempo rechazar una contraseña no válida que aceptar una válida? habla de esto cerca del final del artículo.

un CVn
fuente
¡Me he estado preguntando esto también! Interesante respuesta. Sin embargo, desearía que pudieran acortar un poco la demora, ya que es molesto esperar tanto tiempo cuando te das cuenta después de presionar enter que está mal: P
Blaine
1
Esta protección está dirigida principalmente a scripts y técnicas automatizadas de fuerza bruta en lugar de inicios de sesión interactivos. Hay algunas razones por las que no puede ajustar el tiempo, incluido que, en muchos casos, el retraso es aleatorio (del orden de milisegundos). Hay un conjunto de ataques de criptografía denominado Análisis de sincronización, que intenta obtener conocimiento de una clave criptográfica en función de cuánto tiempo se tardó en producir un mensaje de error. un retraso aleatorio lo derrota muy bien.
Frank Thomas
@FrankThomas Reconozco fácilmente que no mencioné los medios por los cuales se hicieron los repetidos intentos. Dicho esto, hay un retraso muy real y notable en muchos sistemas de seguridad al proporcionar credenciales no válidas, lo que impide nuevos intentos por un período de tiempo breve pero humano. Dado que en ese momento ya está accediendo al sistema de forma interactiva, los ataques de sincronización de nivel de microsegundos o milisegundos en las primitivas criptográficas realmente no se aplican.
un CVn
¿Es esto autoritario? ¿Tienes un artículo o algo de referencia?
rfportilla
@rfportilla "Autoritario"? No. OP pregunta por dos o tres sistemas operativos completamente diferentes, para empezar, uno de los cuales puede tener cualquier cantidad de aplicaciones de nivel de sistema (administrador de inicio de sesión, protector de pantalla, ...) que solicitan contraseñas, y los otros dos son propietarios (Por lo tanto, no sabemos su funcionamiento interno). No es posible proporcionar una fuente autorizada que cubra todo eso. Si la pregunta hubiera sido "¿por qué gdm3 lo hace de esta manera?" entonces una respuesta realmente autorizada podría haber sido posible, pero ese no es el caso aquí.
un CVn