Have you entered any time a wrong password and saw that the computer takes lot of time to tell us that the "entered password is wrong".Its take only few seconds to respond to the correct password.Did you think why it happens?
The Question
One of our user wants to know why there is a longer response time when an incorrect password is entered:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When you enter a password and it is correct, the response time is practically instantaneous. But when you enter an incorrect password (by accident or having forgotten the correct one), it takes a while (10-30 seconds) before it responds that the password is incorrect.
Why does it take so long (relatively) to say that the password is incorrect? This has always bugged me when entering incorrect passwords on Windows and Linux systems (regular and VM-based). I am not sure about Mac OSX since I cannot remember if it is the same (it has been a while since I last used a Mac).
I am asking in the context of a user logging in to the system physically on location rather than through SSH which could conceivably use somewhat different mechanisms to log in (validate credentials).
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
The Answer
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
It does not. Or rather, it does not take the computer any longer to determine that your password is incorrect compared to it being correct. The work involved for the computer is, ideally, exactly the same. Any password verification scheme that takes a different amount of time based on whether the password is correct or incorrect can be exploited to gain knowledge, however small, of the password in less time than would otherwise be the case.
The delay is an artificial delay to make repeatedly trying to gain access by using different passwords infeasible, even if you have some idea of what the password is and automatic account lockout is disabled (which it should be in most scenarios as it would otherwise allow for a trivial denial of service against an arbitrary account).
The general term for this behavior is tarpitting. While the Wikipedia article talks more about network service tarpitting, the concept is generic. The Old New Thing is not an official source either, but the article “Why does it take longer to reject an invalid password than to accept a valid one?” does talk about this (near the end of the article).
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
0 comments:
Post a Comment