Чому комп'ютер забирає більше часу для того, щоб відповідати на неправильний пароль у порівнянні з правильним паролем?
Ви ніколи не вводили неправильний пароль на комп'ютері випадково і помітили, що потрібно кілька хвилин, щоб відповісти в порівнянні з правильним? Чому так? Сьогоднішня стаття SuperUser Q&A має відповідь на запитання цікавого читача.
Сьогоднішня сесія запитань та відповідей приходить до нас люб'язно SuperUser - підрозділ Stack Exchange, групування веб-сайтів із запитаннями та відповідями на рівні спільноти..
Знімок екрану надано sully213 (Flickr).
Питання
Читач SuperUser user3536548 хоче дізнатися, чому більш тривалий час відгуку при введенні неправильного пароля:
Коли ви вводите пароль і він правильний, час відповіді практично миттєвий. Але коли ви вводите неправильний пароль (випадково або забувши правильний пароль), це займе деякий час (10-30 секунд), перш ніж він відповість, що пароль неправильний.
Чому потрібно так довго (відносно) сказати, що пароль неправильний? Це завжди підштовхувало мене при введенні неправильних паролів у системах Windows і Linux (звичайні та на основі віртуальної машини). Я не впевнений у Mac OSX, оскільки я не пам'ятаю, чи це те ж саме (минуло багато часу, як я в останній раз використовував Mac).
Я прошу в контексті фізичного входу користувача в систему на місці, а не через SSH, який може використовувати кілька різних механізмів для входу (перевірка повноважень).
Чому при введенні неправильного пароля існує більше часу відповіді?
Відповідь
Співробітник SuperUser Майкл Кьорлінг має відповідь для нас:
Чому потрібно так довго (відносно) сказати, що пароль неправильний?
Це не. Вірніше, комп’ютеру більше не потрібно, щоб визначити, що ваш пароль неправильний у порівнянні з правильним. В ідеалі робота комп'ютера однакова. Будь-яка схема перевірки пароля, яка забирає іншу кількість часу залежно від того, чи є пароль правильним або неправильним, може бути використана для отримання знань, якими б малими вони були, пароля за менший час, ніж це було б в іншому випадку.
Затримка є штучною затримкою, щоб багаторазово намагатися отримати доступ, використовуючи різні паролі, неможливе, навіть якщо у вас є певне уявлення про те, що таке пароль, а автоматичне блокування облікового запису вимкнено (що має бути в більшості випадків, як це можливо тривіальний відмова в обслуговуванні від довільного облікового запису).
Загальний термін для цієї поведінки - це tarpitting. Хоча стаття Вікіпедії більше розповідає про tarpitting мережевих послуг, концепція є загальною. Старі нові речі не є офіційним джерелом, але стаття "Чому потрібно більше часу, щоб відхилити недійсний пароль, ніж прийняти дійсний?", говорить про це (наприкінці статті).
Маєте щось додати до пояснення? Звучить в коментарях. Хочете прочитати більше відповідей від інших технологічних користувачів Stack Exchange? Перегляньте повний потік обговорення тут.