Люто, бешено ненавижу ограничения на символы в паролях, а также стандартные контрольные вопросы.
Тлен и безысходность, lvl 1. Вот придумал ты нормальный сложный пароль, скажем, «tryget_Accce\s_ylwARW», вводишь его, а тебе говорят: он недостаточно крут, нет в нём цифр. Приходится добавлять цифру; при этом ведь, если у тебя есть устоявшиеся правила придумывания паролей, то совершенно невозможно запомнить, на каком сервисе и какую именно цифру куда ты добавил.
Тлен и безысходность, lvl 2. Первая проблема решается легко: ну ОК, давайте будем придумывать пароли с цифрами. Итак, вводишь ты своё сложное «tryget_Acx3e\s_ylwARW» на сайте Госуслуг, а тебе говорят: а у нас в пароле допустимы только буквы и цифры, причём подчёркивание буквой не считается [trollface]. Ну ОК, отвечаешь ты, «trygetAcx3esylwARW» тоже сойдёт.
А когда через два месяца ты заходишь на этот же сайт, о дебильных ограничениях уже никто не помнит, и руки набирают сами: «tryget_Accce\s_ylwARW». Как не подходит? А-а, цифры, точно-точно. «tryget_Acx3e\s_ylwARW». Опять нет? Ладно, полезем в восстановление пароля.
Тлен и безысходность, lvl 3. А в восстановлении пароля тебя поджидает стандартный набор: «девичья фамилия матери», «кличка домашнего животного», «любимое блюдо». Друзья, есть ли среди вас хоть один человек, у которого есть одно конкретное любимое блюдо?
Неужели у среднего пользователя настолько туго с фантазией, что он не способен сам себе придумать нормальный сильный вопрос типа «с кем сидела за партой твоя тайная любовь в восьмом классе?», «на что похожа трещина на асфальте у подъезда на Московской?» или, как я люблю, «остановка по пути из Импоссимбле в Донтран, где водопад»?
Причём, этим болеют в основном мелкие и редкоиспользуемые сервисы: всякие форумы «один раз зайти спросить», файловые архивы и т. п. Ну и вещи придуманные неайтишниками для неайтишников, типа тех же Госуслуг, да. А на Яндексе у меня лет пять стоял пароль из четырёх цифр и никто не заставлял его поменять.
Так что мой взгляд на то, как правильно строить авторизацию, примерно такой:
- Никаких ограничений на пароль сверху: только любые символы!
- Никаких ограничений снизу, но при вводе слишком простого пароля выводить предупреждение вроде такого: «Ваш пароль - шесть цифр, ориентировочное время взлома - 5 минут, сделайте посложнее!»
- Если уж ограничения на пароль неизбежны, то указывать их и в форме авторизации: «Вы ввели неверное имя пользователя или пароль. Наши пароли содержат только буквы, цифры и знаки подчёркивания и не могут быть длиннее 33 символов». Безопасность это не снизит: ограничения все равно лежат открытым текстом, только до них лезть далеко, они на странице регистрации.
- Контрольный вопрос вводит сам пользователь, с ограничением снизу на длину как вопроса, так и ответа.
Это я всё к чему? Это я к тому, что стоит всем сейчас пойти на госуслуги, продраться сквозь их неудобные парольные системы и таки
проголосовать за отмену закона о внесудебной блокировке сайтов.