Por que demora tanto tempo para o computador responder com "senha inválida", quando o uso de uma senha correta é quase instantâneo? [duplicado]

10

Quando você digita uma senha e ela está correta, a resposta é praticamente instantânea (ou seja, o processo de logon).

Quando você digita uma senha incorreta (acidentalmente, esquecida etc.), leva um tempo (10 a 30 segundos) antes de responder que a senha estava incorreta.

Por que demora tanto (relativamente) para dizer "senha incorreta"?

Isso sempre me incomodou ao inserir senhas incorretas no Windows e no linux (real e VM); Não tenho certeza sobre o mac OSX, pois não me lembro se é o mesmo, já faz um tempo desde a última vez que usei um mac.

EDIT: por uma questão de duplicação, estou perguntando no contexto de um usuário fazendo logon no sistema no computador físico, e não através do ssh, que poderia usar mecanismos um pouco diferentes para fazer login / validar credenciais.

Thermatix
fonte
Os motivos são exatamente os mesmos em comparação com a duplicata (login SSH).
Jens Erat #
Eles não são, o contexto é diferente; A outra diferença é que é fornecido a resposta não está conforme detalhado
Thermatix
Eu concordo com o OP. As perguntas certamente estão relacionadas, mas não são as mesmas. Uma resposta para "por que leva tanto tempo para o SSH dizer 'senha inválida' em uma conexão remota?" não é necessariamente o mesmo que uma resposta para "por que demora tanto tempo para o logon do Windows dizer 'senha inválida' quando estou no console?", embora seja provável que sejam semelhantes. Definitivamente relacionado, duplica duplamente.
um CVn
Para a posteridade, caso isso seja reaberto, a suposta duplicata é: Por que uma senha incorreta tentaria levar muito mais tempo para ser processada do que a correta? , mas observe que, além do título, o único exemplo específico dado é uma conexão SSH remota com um host Linux.
um CVn

Respostas:

17

Por que demora tanto (relativamente) para dizer "senha incorreta"?

Não faz. Ou melhor, não leva mais tempo para o computador determinar que sua senha está incorreta em comparação com a correta. O trabalho envolvido para o computador é, idealmente, exatamente o mesmo. (Qualquer esquema de verificação de senha que leve um tempo diferente, com base na senha correta ou incorreta, pode ser explorado para obter conhecimento, por menor que seja, da senha em menos tempo do que seria o caso.)

O atraso é um atraso artificial para inviabilizar a tentativa de obter acesso repetidamente usando senhas diferentes, mesmo se você tiver alguma idéia do que a senha provavelmente é e o bloqueio automático de conta estiver desabilitado (o que deveria ocorrer na maioria dos cenários, como seria caso contrário). permitir uma negação trivial de serviço contra uma conta arbitrária).

O termo geral para esse comportamento é tarpitting . Enquanto o artigo da Wikipedia fala mais sobre tarpitting de serviço de rede, o conceito é genérico. The Old New Thing também não é uma fonte oficial, mas Por que demora mais para rejeitar uma senha inválida do que para aceitar uma senha válida? fala sobre isso perto do final do artigo.

um CVn
fonte
Eu estive pensando isso também! Resposta interessante. Eu gostaria que eles poderiam fazer a demora um pouco mais curto, porém, como é irritante para esperar tanto tempo quando você percebe logo após pressionar enter que é errado: P
Blaine
1
Essa proteção é voltada principalmente para scripts e técnicas automatizadas de força bruta, em vez de logons interativos. Existem algumas razões pelas quais você não pode ajustar o tempo, incluindo que, em muitos casos, o atraso é aleatório (da ordem de milissegundos). há um conjunto de ataques de criptografia conhecido como Análise de tempo, que tenta obter conhecimento de uma chave criptográfica com base em quanto tempo levou para produzir uma mensagem de erro. um atraso aleatório derrota isso muito bem.
Frank Thomas
@FrankThomas Eu admitirei prontamente que não indiquei os meios pelos quais as repetidas tentativas estavam sendo feitas. Dito isto, há um atraso muito real e perceptível em muitos sistemas de segurança ao fornecer credenciais inválidas, impedindo novas tentativas por um período breve, mas perceptível pelo ser humano. Como nesse momento você já está acessando o sistema interativamente, ataques de tempo de nível de microssegundo ou milissegundo nas primitivas criptográficas não se aplicam realmente.
um CVn
Isso é autoritário? Você tem um artigo ou algo para referenciar?
Rfportilla 18/05
@rfportilla "Autoritário"? Não. A OP está solicitando cerca de dois ou três sistemas operacionais completamente diferentes, para começar, um dos quais pode ter qualquer número de aplicativos no nível do sistema (gerenciador de login, protetor de tela, ...) solicitando senhas e os outros dois sendo proprietários (para não conhecermos o funcionamento interno). Não é possível fornecer uma fonte autorizada cobrindo tudo isso. Se a pergunta tivesse sido "por que o gdm3 faz dessa maneira?" então, uma resposta realmente autoritária pode ter sido possível, mas esse não é o caso aqui.
um CVn