Два подхода к одной задаче. Случайный пароль вроде 7kJ#pQ2vLm@9xZaR и парольная фраза вроде «якорь-ветер-сургуч-полдень-крапива» дают сравнимую стойкость, но ведут себя совершенно по-разному в жизни. Разберём, когда что брать.
Стойкость: считаем честно
Энтропия фразы считается не по буквам, а по словам. Если словарь содержит 2048 слов, каждое слово даёт ровно 11 бит — и неважно, длинное оно или короткое.
| Вариант | Энтропия | Длина строки |
|---|---|---|
| 4 слова | 44 бита | ~24 знака |
| 6 слов | 66 бит | ~36 знаков |
| 7 слов | 77 бит | ~42 знака |
| 12 случайных символов | 79 бит | 12 знаков |
| 16 случайных символов | 105 бит | 16 знаков |
Отсюда первый вывод: семь слов примерно равны двенадцати случайным символам, но занимают втрое больше места. Фраза платит длиной строки за удобство запоминания.
Стойкость парольной фразы определяется размером словаря и числом слов, а не тем, насколько «странно» она звучит. Придуманная человеком фраза из тех же слов будет заметно слабее.
Это важная оговорка: слова должен выбирать генератор. «Мой кот Барсик любит рыбу» — не парольная фраза, а предложение, которое ловится словарём с правилами.
Чем они отличаются на практике
| Свойство | Случайный пароль | Парольная фраза |
|---|---|---|
| Ввод руками | мучительно | легко, без ошибок |
| Диктовать голосом | почти невозможно | без уточнений |
| Запомнить | нет | да, при повторении |
| Ограничение длины на сайтах | укладывается всегда | часто не влезает |
| Плотность стойкости | 6,5 бита на символ | 1,8 бита на символ |
Правило выбора
Оно короткое и работает почти всегда:
- Пароль вводится руками и часто — берите фразу. Это мастер-пароль менеджера, пароль от рабочего ноутбука, код разблокировки диска.
- Пароль живёт в менеджере и вставляется копированием — берите случайный. Это все обычные сайты, магазины, соцсети.
- Пароль вводится с пульта телевизора или диктуется — фраза, и желательно без спецсимволов.
- Пароль подставляет программа — случайный и длинный: вводить его всё равно никто не будет.
Три частые ошибки с фразами
- Придумывать слова самому. Человек выбирает связанные по смыслу слова, и пространство перебора схлопывается в тысячи раз.
- Брать четыре слова «для скорости». Сорок четыре бита — это уровень восьмизначного пароля, для почты и банка мало. Минимум шесть, лучше семь.
- Убирать разделители. «якорьветерсургуч» читается хуже и не даёт ни бита выигрыша: стойкость в выборе слов, а не в дефисах.
Как устроен подсчёт битов и почему фильтры вроде «убрать похожие символы» его снижают — в статье про энтропию.