«Не меньше восьми символов» написано в половине форм регистрации. Число взялось из рекомендаций девяностых годов и с тех пор не менялось, хотя скорость перебора выросла в миллионы раз.
Откуда берутся годы
Каждый добавленный символ умножает число вариантов на размер алфавита. Для полного набора из 94 печатных знаков это умножение на 94 — то есть один символ добавляет больше, чем любое усложнение существующих.
| Длина | Энтропия | Офлайн-перебор, 10¹⁰/с | Ферма, 10¹⁴/с |
|---|---|---|---|
| 8 | 52 бита | несколько часов | секунды |
| 10 | 65 бит | около двух месяцев | несколько минут |
| 12 | 79 бит | сотни тысяч лет | десятки лет |
| 14 | 92 бита | миллиарды лет | сотни тысяч лет |
| 16 | 105 бит | дольше жизни Вселенной | дольше жизни Вселенной |
| 20 | 131 бит | не имеет смысла считать | не имеет смысла считать |
Один символ против всего набора
Частый спор: что лучше — добавить спецсимволы или добавить длину. Арифметика отвечает однозначно.
- С 26 букв до 94 знаков: +1,85 бита на символ
- Пароль становится труднее вводить
- Часть форм не принимает символы
- Диктовать голосом почти невозможно
- Каждый знак: +6,55 бита при полном наборе
- Ввод не усложняется качественно
- Работает в любой форме
- Один символ ценнее всего расширения алфавита
Сколько брать на практике
- 16 символов — разумное значение по умолчанию для всего, что живёт в менеджере. Готовая страница.
- 20 и больше — почта, банк, менеджер паролей. Их вводят редко, а стоят они дороже остального.
- 32 и больше — ключи, токены, служебные учётные записи, которые подставляет программа.
- 12 — минимум, ниже которого опускаться не стоит, если форма позволяет больше.
- 8 — только когда система не принимает длиннее. Тогда обязателен второй фактор.
Если форма ограничивает длину сверху двенадцатью символами, это обычно означает, что пароль хранится не лучшим образом — и повод не повторять его больше нигде.