Por que o Windows demora mais para verificar uma senha errada? Desenvolvedor explica

Conheça a estratégia de segurança por trás desse processo e a importância do cache na validação de senhas.

Quem nunca digitou uma senha errada e ficou esperando até perceber que ela não foi aceita? Em algum ponto de nossas vidas, todos enfrentamos essa situação.

E não é só uma mera coincidência que as senhas inválidas levem mais tempo para serem rejeitadas do que as válidas.

Em uma nova publicação no blog do Windows, Raymond Chen, um desenvolvedor da empresa há mais de 30 anos, forneceu algumas explicações a respeito desse fenômeno curioso.

Por que senhas erradas levam mais tempo para serem identificadas?

Já percebeu? Tempo de verificação de senhas corretas e incorretas no Windows é diferente – Imagem: Reprodução

De acordo com Chen, existem dois principais motivos que justificam essa demora na rejeição de senhas inválidas: uma questão de segurança e um processo de validação mais demorado.

O primeiro motivo relaciona-se com a estratégia de segurança adotada para reduzir a eficácia dos chamados ataques de dicionário.

Este tipo de ataque tem como objetivo descobrir senhas por meio de uma série de tentativas que envolve milhares, às vezes milhões, de combinações possíveis.

Caso a rejeição de senhas inválidas fosse tão rápida quanto a aceitação de senhas válidas, o tempo necessário para realizar essas inúmeras tentativas seria significativamente reduzido.

“Por exemplo, suponha que você tenha um dicionário de 75.000 palavras e as senhas sejam aceitas ou rejeitadas em 100 milissegundos. Levaria pouco mais de três horas para tentar todas as senhas. Agora, se a rejeição de senhas inválidas levasse 5 segundos a mais, o tempo necessário para realizar uma pesquisa completa no dicionário de senhas aumentaria para mais de quatro dias”, explica Chen.

Validação de senhas não encontradas no cache

O segundo motivo para a demora na rejeição de senhas inválidas tem a ver com o processo de validação adotado pelos computadores.

Esse processo consiste em duas etapas:

  1. Se a senha digitada estiver no cache do computador (um tipo de memória temporária que armazena dados frequentemente utilizados), ela será validada imediatamente;
  2. Se ela não estiver no cache, o computador deverá entrar em contato com o controlador de domínio para validar a senha. Este procedimento é adotado porque o próprio cache do computador pode estar desatualizado.

Se um usuário alterou sua senha recentemente em outra máquina, o cache do seu computador pode ainda estar armazenando a senha antiga.

Caso o computador simplesmente rejeitasse a senha que não consta no cache, o usuário não conseguiria acessar sua conta por meio de um computador que tenha em cache a senha antiga.

Ele teria que esperar o tempo necessário para que a senha antiga fosse substituída no cache pela nova senha fornecida pelo controlador de domínio.

Portanto, a próxima vez que você digitar uma senha errada, lembre-se de que a demora na rejeição não é um simples capricho do sistema, mas uma medida de segurança adotada para proteger suas informações contra tentativas de invasão.

você pode gostar também