Парольная фраза из 4–6 случайных слов словаря (метод diceware) — легче запомнить, чем случайный 16-символьный пароль, а энтропия сопоставима. По умолчанию используется русский словарь на 7241 слово.
Diceware — это метод создания парольной фразы, придуманный криптографом Арнольдом Райнхольдом в 1995 году. Идея проста: вы бросаете пять игральных костей, по полученному пятизначному номеру (например 43215) находите слово в специальном словаре, повторяете 4–6 раз — и получаете фразу из случайных слов. Сила метода в его прозрачности: каждое слово выбирается независимо и равновероятно из конкретного словаря, поэтому энтропию можно посчитать точно.
В нашем генераторе кости заменены на криптографически стойкий crypto.getRandomValues, а словари — на EFF Long Wordlist (английский, 7776 слов) и адаптированный русский diceware-список (более 7000 слов). Принцип равновероятного выбора сохранён, поэтому результаты эквивалентны бумажному методу с настоящими кубиками.
Каждое случайное слово из словаря на 7776 значений добавляет 12.92 бит энтропии. Фраза из 5 слов даёт около 64.6 бит — этого достаточно для большинства персональных сценариев. Фраза из 6 слов — 77.5 бит, эквивалент случайного 12-символьного пароля. 7 слов — 90 бит, уровень мастер-пароля менеджера.
Перебор фразы из 5 слов на современной GPU-ферме скоростью 10¹¹ хешей в секунду занял бы ~9 миллионов лет. Атакующий, знающий, что используется именно diceware-словарь, не получает преимущества — он всё равно вынужден перебирать 7776⁵ ≈ 2.8 × 10¹⁹ комбинаций.
Случайный пароль x9G!t2Qm#wRz3Bk5 имеет энтропию ~105 бит и непрактичен для запоминания: вы будете вводить его исключительно через менеджер паролей. Парольная фраза пятница-якорь-чёрный-сахар-зеркало при 64.6 битах энтропии запоминается за минуту и вводится в разы быстрее, даже руками. При этом обе фразы за пределами реалистичной атаки.
Парольная фраза выигрывает там, где пароль нужно держать в голове: мастер-пароль менеджера, шифрование диска, разблокировка системы. Если запоминание не нужно — используйте обычный генератор паролей: он даёт короче и плотнее по энтропии для той же длины.
Опции «добавить случайную цифру» и «добавить случайный символ» дают теоретическую защиту от таргетированных словарных атак, где атакующий пытается перебирать только по diceware-словарю с известными опциями фразы. Цифра добавляет 3.3 бит, символ — 3 бит. На практике этот «бонус» избыточен для фраз из 5+ слов, но полезен для коротких фраз из 3 слов, которые сами по себе слабоваты.
Если фразу нужно вводить на устройстве с привычной клавиатурой и нет проблем с переключением раскладки — берите русский словарь. Так фраза будет естественнее восприниматься и легче запоминаться. Если устройство с английской клавиатурой или есть риск проблем с кириллицей в системе (старые BIOS-пароли, некоторые корпоративные системы) — используйте английский EFF Long Wordlist. Он официально рекомендован Electronic Frontier Foundation как референсный список для diceware.
Мозг лучше запоминает истории, чем случайные строки. Прочитайте сгенерированную фразу вслух 3–4 раза и сразу постройте короткую визуальную сцену с этими словами. Например, для фразы пятница-якорь-чёрный-сахар-зеркало: представьте, как в пятницу вечером вы видите чёрный якорь, на котором кристаллики сахара отражают свет лампы у зеркала. Эта сцена крепко запомнится за пару повторений. После двух-трёх дней использования фраза становится автоматической.
Не записывайте парольную фразу на бумажке. Если без записи никак — храните в менеджере паролей, защищённом другой парольной фразой. См. также: как выбрать менеджер паролей и как создать надёжный пароль.