Инструмент командной строки для генерации запоминающихся паролей?

9477
James McMahon

Я ищу инструмент, командную строку или графический интерфейс для Linux, который генерирует запоминающиеся пароли.

Эквивалентом того, что я ищу, были бы пароли, которые может генерировать цепочка для ключей Mac OS X, что-то вроде apples12$/fourteen. Что-то сильное, но легко запоминаемое пользователем.

15

6 ответов на вопрос

16
James McMahon

С тех пор я перешел к парольным фразам в стиле XCKD для большинства моих паролей. Вот 1 строка из commandlinefu для генерации ключевой фразы:

shuf -n4 /usr/share/dict/words | tr -d '\n' 
на самом деле, есть проблема с этим однострочником: он может использовать такие слова, как "the", "им", "их" и "ров", "радужная оболочка", "он". Ты видишь проблему? Префиксы и суффиксы перекрываются, что уменьшает реальную энтропию сгенерированного пароля и может привести к довольно слабым паролям, если строки не достаточно длинные (особенно с 4 словами). Вот почему генераторы паролей на основе слов используют специально составленные списки слов. Конечно, пароли, сгенерированные с помощью вышеупомянутого, довольно хороши: минимум 14 символов в моих тестах, со средним размером 34. Но их энтропия не надежна. anarcat 7 лет назад 1
В чем проблема с перекрывающимися префиксами / суффиксами? Я могу понять вашу точку зрения о длине, но вам нужно объяснить другую точку. James McMahon 7 лет назад 0
давайте упростим до крайности. у вас есть словарь, состоящий из трех слов: `the`,` me` и `theme`. обычно вы ожидаете, что энтропия будет одинаковой от этих трех слов, но в этом случае вы не можете считать `theme`, потому что это комбинация двух других слов. по сути, `theme` фактически добавляет нулевую энтропию к паролю. anarcat 7 лет назад 0
Но не отличается ли «я» от «темы»? Я понимаю, что возможные буквы добавляют энтропию, но этот подход больше касается размера паролей. Я не понимаю, как "тема me" будет легче угадать, чем последовательность без пересекающихся символов, таких как "do ray music" James McMahon 7 лет назад 0
`the me` не отличается от` theme`, потому что вы не разделяете слова пробелами. количество букв добавляет определенную энтропию, предполагая, что злоумышленник не знает, как вы генерируете свой пароль. Вы не можете предполагать это, особенно если вы публично публикуете об этом. в этом случае вы должны вычислить, сколько каждое слово из словаря вносит в энтропию, и это другой алгоритм. как я уже упоминал [здесь] (https://superuser.com/a/1246245/177019), я написал подробную статью о том, как оценить это ... anarcat 7 лет назад 0
11
BloodPhilia

Вы можете проверить pwgenприложение. Я знаю, что он будет доступен в репозиториях Ubuntu, Fedora, Debian и Suse.

Со страницы руководства :

Программа pwgen генерирует пароли, которые разработаны для легкого запоминания людьми, при этом будучи максимально безопасными. Запоминаемые человеком пароли никогда не будут такими безопасными, как совершенно совершенно случайные пароли. В частности, пароли, сгенерированные pwgen без опции -s, не должны использоваться в местах, где пароль может быть атакован с помощью атаки с использованием грубой силы. С другой стороны, совершенно случайно сгенерированные пароли имеют тенденцию записываться и могут быть скомпрометированы таким образом.

Программа pwgen предназначена для использования как в интерактивном режиме, так и в сценариях оболочки. Следовательно, его поведение по умолчанию отличается в зависимости от того, является ли стандартный вывод tty устройством или каналом для другой программы. В интерактивном режиме pwgen отобразит экран с паролями, позволяя пользователю выбрать один пароль, а затем быстро стереть экран. Это лишает кого-то возможности «взломать» выбранный пользователем пароль.

Пароли типа «Zei7jool» или «Oowee6ei» не кажутся мне запоминающимися. Возможно, мне не хватает флага? James McMahon 13 лет назад 3
@James Они генерируются в соответствии с алгоритмом, который помещает буквы в бессмысленный, но потому, что они логичны в человеческой лингвистике, запоминаемом порядке. Вам, вероятно, придется приложить аналогичные усилия, чтобы запомнить пароль `apple12 $ / четырнадцать`. Просто попробуйте. BloodPhilia 13 лет назад 3
Он извергает огромный список паролей, просто выберите самые запоминающиеся - там есть несколько драгоценных камней ;-) virtualeyes 11 лет назад 1
Пароли pwgen по умолчанию имеют серьезные проблемы с безопасностью и не очень запоминаемы. используйте diceware или xkcdpass вместо этого. anarcat 7 лет назад 4
7
anarcat

Я бы порекомендовал людям прекратить использовать pwgen - его основным интересом было создание «запоминаемых паролей», но при этом он обнаружил множество уязвимостей. И использовать его для генерации совершенно случайных строк тоже не очень полезно.

Я написал подробную статью на эту тему, но, по сути, суть ее в том, чтобы использовать программу diceware (или, если вам нравится игра в кости, реальную систему diceware ) или xkcdpass . Для генерации надежных запоминающихся паролей я обычно использую diceware со следующим файлом конфигурации:

[diceware] caps = off delimiter = "-" wordlist = en_eff 

Примеры:

$ diceware turkey-eligibly-underwire-recite-lifter-wasp $ diceware lend-rubdown-cornflake-tint-shawl-ozone $ diceware syndrome-ramp-cresting-resolved-flinch-veneering $ diceware alto-badass-eclipse-surplus-rudder-quit 

Я отключаю заглавные буквы и пробелы, потому что они генерируют различные слышимые шумы, которые могут быть использованы атакующим. -Разделитель является меньшим злом: было бы лучше не использовать любой разделитель и en_effсловник специально созданный для этой цели. Но мне легче общаться и обмениваться паролями, когда у них есть какой-то разделитель.

Для генерации совершенно случайного пароля я использую следующую функцию оболочки:

# secure password generator or, as dkg puts it: # high-entropy compact printable/transferable string generator # a password generator would be pwqgen or diceware pwg() { ENTROPY=$ # in bytes # strip possible newlines if output is wrapped and trailing = signs as they add nothing to the password's entropy head -c $ENTROPY /dev/random | base64 | tr -d '\n=' echo } 

Я упоминаю об этом, потому что считаю, что важно запоминать меньше паролей и вместо этого полагаться на менеджер паролей для хранения больших строк, которые трудно угадать. Более подробная информация о причинах такого выбора объясняется в вышеупомянутой статье и моем обзоре менеджеров паролей .

4
Thomas

Попробуйте "gpw". Он создает пароли, такие как эти: Ubsonsin Morimplo demenump esselymn kentst anenterg essonsuf iesssssi bestruss tnestese

Описание: Trigraph Password Generator Этот пакет генерирует произносимые пароли. Он использует статистику трехбуквенных комбинаций (триграфов), взятых из любых словарей, которые вы используете. Таким образом, произносимость может отличаться от языка к языку. Основано на идеях генератора паролей Морри Гассера для Multics и генератора Дэна Эдвардса для CTSS. Стандарт FIPS 181 описывает аналогичный
генератор на основе орграфа, полученный от Гассера.

1
James McMahon

Хорошим вариантом, который появился после того, как я спросил об этом, является генератор XKCD-пароля-генератора Redacted .

Это хороший сценарий Python для генерации паролей в стиле XKCD, который имеет некоторые дополнительные параметры, такие как поддержка acrostic.

0
vdm

sf-pwgen является инструментом командной строки, который генерирует пароли с использованием платформы SecurityFoundation в OS X.

Похожие вопросы