Защо компютърът отнема по-дълго време, за да отговори на неправилна парола в сравнение с правилната?
Някога случайно сте въвели грешна парола на компютъра си и забелязахте, че отнема няколко минути, за да отговорите в сравнение с въвеждането на правилния? Защо така? Днешната публикация за въпроси и отговори SuperUser има отговор на въпрос на любопитен читател.
Днешната сесия за въпроси и отговори идва при нас с любезното съдействие на SuperUser - подразделение на Stack Exchange, групирано от общността уеб сайтове за въпроси и отговори.
Снимка на екрана с любезното съдействие на sully213 (Flickr).
Въпроса
Четецът на суперпотребител user3536548 иска да знае защо има по-дълго време за реакция при въвеждане на неправилна парола:
Когато въведете парола и тя е правилна, времето за отговор е практически мигновено. Но когато въведете неправилна парола (случайно или като сте забравили правилната парола), отнема известно време (10-30 секунди), преди да отговори, че паролата е неправилна..
Защо отнема толкова време (относително) да се каже, че паролата е неправилна? Това винаги ме подслушваше при въвеждането на неправилни пароли за Windows и Linux системи (редовни и базирани на виртуални машини). Не съм сигурен за Mac OSX, тъй като не мога да си спомня дали е същият (миналото време не е използвано от Mac).
Питам в контекста на физическо влизане на потребител в системата на място, а не чрез SSH, което би могло да използва малко по-различни механизми за влизане (проверка на пълномощията).
Защо има по-дълго време за отговор, когато въведете неправилна парола?
Отговорът
Авторът на SuperUser Майкъл Кьорлинг има отговор за нас:
Защо отнема толкова време (относително) да се каже, че паролата е неправилна?
Това не е така. Или по-скоро, не е нужно на компютъра повече, за да определи, че паролата ви е неправилна в сравнение с правилната. В идеалния случай работата, свързана с компютъра, е същата. Всяка схема за проверка на пароли, която отнема различно време, основана на това дали паролата е правилна или неправилна, може да бъде използвана, за да се получат знания, колкото и малки да са, за по-малко време, отколкото иначе би било.
Забавянето е изкуствено забавяне, за да се направи многократно опит за получаване на достъп чрез използване на различни пароли, които са невъзможни, дори ако имате представа за това, което е паролата и автоматичното заключване на профила е деактивирано (което би трябвало да е в повечето сценарии, тъй като в противен случай би позволило тривиално отказване на услуга срещу произволен профил).
Общият термин за това поведение е tarpitting. Докато статията в Уикипедия говори повече за тарпинга на мрежовите услуги, концепцията е обща. Старото ново нещо не е официален източник, но статията „Защо отнема повече време за отхвърляне на невалидна парола, отколкото да приемеш валидна?“ говори за това (в края на статията).
Имате ли какво да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други технологични потребители на Stack Exchange? Вижте пълната тема за дискусия тук.