4

TL; DR: насколько безопасны генераторы запоминающихся паролей, учитывая тот факт, что «запоминающиеся» пароли являются подмножеством общего пространства паролей? Насколько велика энтропия в запоминающихся паролях по сравнению со случайными паролями?

Всякий раз, когда мне нужны новые пароли, я использую некоторые инструменты для их создания, предпочтительные запоминающиеся пароли, но мне было интересно, насколько это может быть безопасно.

Использование генератора случайных чисел xkcd, вероятно, довольно плохо, cat /dev/random , вероятно, довольно хорошо, но генерация запоминающихся паролей кажется немного сложнее.

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

Некоторые инструменты, которые я знаю:

  • pwgen - вроде нормально, но пароли не слишком запоминаются
  • Mac Password Assistant - генерирует запоминающиеся пароли, но мне неясно, как это работает.

Обновление: спасибо за понимание теоретической энтропии паролей и запоминаемости, но я также искал практический аспект генерации этих паролей.

Как выбрать такой пароль на практике, а именно: какова энтропия pwgen или Mac Password Assistant (MPA)? Например: что если MPA имеет очень маленькую базу данных слов и генерирует пароли предсказуемо? Возможно, это немного педантично с моей стороны, но мне было любопытно, если бы кто-нибудь мог пролить свет на это.

Обновление II. Несмотря на то, что на этот вопрос было получено множество ответов о генерации паролей, никто не задается вопросом, насколько они безопасны. Вопрос все еще открыт и ждет ответа.

8 ответов8

9

Насколько безопасны генераторы запоминающихся паролей?

Легко дать личное и качественное мнение по этому поводу, я думаю, что лучше искать некоторые количественные ответы, которые каким-то образом объективно измеряют степень безопасности.

Смотрите Википедию

Учитывая, что энтропия письменного английского языка составляет менее 1,1 бит на символ, [2] парольные фразы могут быть относительно слабыми. По оценкам NIST, парольная фраза из 23 символов "IamtheCapitanofthePina4" содержит 45 бит. Здесь используется уравнение:[3]

4 бита (1-й символ) + 14 бит (символы 2–8) + 18 бит (символы 9–20) + 3 бита (символы 21–23) + 6 бит (бонус для прописных, строчных и буквенно-цифровых символов) = 45 биты

Используя это руководство, для достижения 80-разрядного уровня прочности, рекомендованного NIST для обеспечения высокой степени безопасности (не военного), необходимо, чтобы кодовая фраза была длиной 58 символов, предполагая композицию, которая состоит из прописных и буквенно-цифровых символов. Есть место для дебатов относительно применимости этого уравнения, в зависимости от количества назначенных битов энтропии. Например, символы в пятибуквенных словах содержат по 2,3 бита энтропии, что означает, что для достижения 80-битной силы необходима только 35-символьная ключевая фраза. [4]

...

Парольные фразы отличаются от паролей. Пароль обычно короткий - от шести до десяти символов. Такие пароли могут быть адекватными для различных приложений (если их часто менять, если они выбираются с использованием соответствующей политики, если они не найдены в словарях, если они достаточно случайны, и / или если система предотвращает гадание в Интернете и т.д.), Например:

  • Вход в компьютерные системы
  • Согласование ключей в интерактивном режиме (например, с использованием соглашения о ключах с аутентификацией по паролю)
  • Включение смарт-карты или PIN-кода для карты банкомата (например, если данные пароля (надеюсь) не могут быть извлечены)

Но пароли, как правило, небезопасно использовать в качестве ключей для автономных систем безопасности (например, систем шифрования), которые предоставляют данные, позволяющие злоумышленнику извлекать пароли в автономном режиме. Во-первых, они обычно (и всегда должны быть) намного длиннее - обычно от 20 до 30 символов или более, что делает некоторые виды атак грубой силой совершенно непрактичными. Во-вторых, при правильном выборе они не будут найдены ни в одном словарном словарном предложении или фразе, поэтому такие словарные атаки будут практически невозможны. В-третьих, они могут быть структурированы так, чтобы их было легче запомнить, чем пароли, без записи, что снижает риск кражи на бумажном носителе. Однако, если идентификационная фраза не защищена надлежащим образом аутентификатором и раскрыта парольная фраза в виде открытого текста, ее использование не лучше, чем другие пароли. По этой причине рекомендуется, чтобы парольные фразы не использовались повторно на разных или уникальных сайтах и сервисах.

Также Джефф Этвуд из этого прихода опубликовал свои мысли по этому вопросу, в заключение

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

Легче для пользователя, труднее для хакеров: это просто и понятно. Я принял парольные фразы по всем системам, которые я использую.


Обновить:

Поскольку несколько человек ссылаются на XKCD, XKCD явно предоставляет URL для встраивания изображения ...

XKCD

2

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

Словарные атаки основаны на использовании людьми слов. Тем не менее, 2 слова усложняют задачу (поскольку им придется итерировать по 2 словосочетаниям и трем словам ... Замена также увеличивает возможности, которые вам нужно пройти).

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

Я бы отметил, что большинство крупных взломов паролей происходит на стороне сервера, и наличие безопасного пароля не помогло бы - наличие уникального пароля сайта.

2

Забудьте любую "умную схему" составления паролей. Хакеры знают все хитрости (хитрость, объединение слов, добавление чисел и т.д.), Анализируя списки украденных паролей. Расширенная информация в Security Now, эпизод 366 «Обновление взлома пароля: смерть умного» (или прочитайте его стенограмму).

Я предлагаю вам использовать хороший генератор паролей, такой как LastPass (также интенсивно обсуждаемый в эпизоде 256 256), чтобы генерировать для вас случайные пароли. Люди плохие наугад (либо генерируют, либо обнаруживают)

Если вы действительно хотите запоминать пароли, вы можете использовать технику сена паролей в качестве альтернативы трудно запоминаемым случайным комбинациям. Здесь вы добавляете повторяющуюся строку (123 123 123) к короткой строке, содержащей максимальную энтропию (D0g!).

Какой бы метод вы ни выбрали, ваши пароли должны содержать не менее 12 символов. Все 8-символьные пароли теперь можно взломать за 13 часов на сборочной машине стоимостью 12000 долларов (в основном для графических процессоров).

1

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

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

0

Тогда для организации политика паролей является хорошей и плохой идеей. Любая система генерации паролей вызовет меньший набор, чем действительно случайно сгенерированный пароль. Чтобы помочь с такими вещами, как система историй XKCD, работают достаточно хорошо, поскольку они избегают личных вещей о пользователе, которые могут быть известны или обнаружены.

В качестве примера, предполагающего, что пользователи используют свое имя, с полевками, замененными числами (a = 1, b = 2 и т.д.), Будет генерироваться что-то, что выглядит случайным для обычного человека, но его легко сломать. Включение другого слова, например, названия должности, отдела или девичьей фамилии матери, добавит к абстракции, но у вас все еще есть кое-что, что должна подхватить недобросовестная атака. Все из-за того, что теперь вы увеличили время атаки по словарю от Собственных Существительных в (вестерн?) культура + собственные существительные с гласными.

ThomasSoftwareEngineer becomes Th4m1sS4ftw1r22g3n22r
Выглядит случайным, но не очень случайным для программ. Конечно, не тот, кто знает, что пользователь является инженером программного обеспечения по имени Томас.

Если вы добавите к вышеперечисленному коллекцию магазинов, которые люди могут объединить, некоторые запоминающиеся, но неясные вещи могут быть:- детские воспоминания - секретные разрушения - Немезида - первые автомобили - автомобильные номерные знаки - рассказы из понравившейся книги. Это может создать что-то немного длиннее и для паролей длиннее почти всегда лучше. У Томаса была Astra в качестве его первой машины, и он загнал ее в брод в реке.

ThomasAstrafordriver
Опять же, это только 4 словарных слова, но это начинает быть запоминающимся. Я мог бы увеличить энтропию, указав год, когда я получил машину или сломал ее.
ThomasAstra2005fordriver2006
Я мог бы повысить энтропию, выбрав какой-нибудь символ для использования в качестве пробела, _ и - хорошо известны, но они лучше, чем ничего, и можно выбрать все, что разрешено.
Thomas#Astra#2005#for#driver#2006
Теперь это запоминающе, имеет высокую энтропию и должно занять некоторое время, чтобы угадать. Как и со всеми хорошими паролями, мне понадобится некоторое время, чтобы научиться быстро его набирать, но если вы можете легко ввести пароль, он, вероятно, не очень хороший.

Теперь я бы не советовал вам использовать или вводить пароль, который вам действительно нужен, в любом браузере, так что вы можете использовать аналогичные, а не реальные, но ... https://www.grc.com/haystack.htm На вышеуказанном веб-сайте было приятно увидеть размер области поиска пароля. Он не измеряет силу, но дает представление о том, что длина важна, как и использование заглавных букв, цифр и символов:

Password                           Search Space Size
ThomasSoftwareEngineer             5.76 x 10^37
Th4m1sS4ftw1r22g3n22r              4.44 x 10^37
ThomasAstrafordriver               2.13 x 10^34
ThomasAstra2005fordriver2006       1.56 x 10^50
Thomas#Astra#2005#for#driver#2006  1.86 x 10^65

Другие вещи, которые я слышал, рекомендовали, чтобы вы брали пароли пользователей и запускали их через локальный, безопасный, мощный сервер с инструментом взлома паролей, проводя атаки по словарю и методом подбора. Если вы можете взломать пароль через неделю, то может кто-то другой. При взломе у него истекает срок действия пароля и просят пользователя сделать новый, возможно, предоставив им хиты.

- отменить ответ на вопрос или «Насколько менее безопасный, чем действительно случайный» - я поместил это как комментарий, но он лучше подходит как дополнение к ответу. Продолжая из приведенных выше примеров:

Насколько надежно эти пароли из нескольких слов сравниваются с действительно случайными символьными паролями, зависит от того, как вы хотите обращаться со словарными словами. Если мы используем подсчеты энтропии, как описано здесь: [ http://blog.shay.co/password-entropy][1]

H = Llog2N, где L - длина пароля, а N - размер алфавита.

Мы можем делать вещи двумя способами. Если мы решили рассматривать каждое словарное слово как один символ в алфавите, то для ThomasSoftwareEngineer будет только L = 3, но что такое N? Ну, Google и OED говорят, что в английском языке есть около 200 000 слов, поэтому мы получаем: H = 3 * log [base2] * 200 000 = 52,83, что похоже на пароль из 9 буквенно-цифровых символов. Затем, если вы разрешите замену некоторых гласных цифрами, вы увеличите размер алфавита примерно до 400 000, чтобы он стал H = 3 * log [base2] * 400 000 = 55,83. В комиксе XKCD вместо 4 используются 4 словарных слова. Энтропия 52,8 для 3 слов (без цифр): H = 4 * log [base2] * 200,000 = 70,44 70,4 примерно такая же энтропия, что и 12-значный буквенно-цифровой пароль (H = 12 * log [base2] * 62 = 71,45) Итак, вопрос в том, можете ли вы вспомнить 12 случайных чисел и букв, а также вспомнить 4 не связанных английских слова? Очевидно, что более длинный пароль (больше слов) всегда будет лучше, и вам следует избегать коротких слов (так как 4 * 3-буквенные слова - это всего 12 буквенных символов, что составляет энтропию 68,4).

Итак, вот энтропии, которые вы получаете для каждого типа пароля: Числовые пароли (N = 10) Энтропия (H) Длина (L) Размер алфавита (N) 9,965784285 3 10 13.28771238 4 10 16.60964047 5 10

Case Insensitive Alphabetic Passwords (N = 24)
13.7548875  3   24
18.33985    4   24
22.9248125  5   24

Case Sensitive Alphabetic Passwords (N = 52)
17.10131915 3   52
22.80175887 4   52
28.50219859 5   52

Case Sensitive Alpha-Numeric Passwords (N = 62) 
17.86258893 3   62
23.81678524 4   62
29.77098155 5   62

Case Sensitive Alpha-Numeric Passwords with symbols on a QWERTY keyboard (N = 94)   
19.66376656 3   94
26.21835541 4   94
32.77294426 5   94

Passwords formed using a random selection of 200,000 words from the English Language (N=200000)     
52.82892142 3   200000
70.4385619  4   200000
88.04820237 5   200000

As above but assuming you know 20,000 words (N=20,000)
42.86313714 3   20000
57.15084952 4   20000
71.4385619  5   20000

Примечание: 20000 слов - это приблизительное число, которое знает английский образованный пользователь, так что, возможно, это лучший выбор в качестве предположения о том, что люди выберут. Тем не менее, это показывает, что 3 общих слова делают пароль лучше, чем полностью случайный пароль из 5 символов на QWERTY-клавиатуре.

0

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

PS Если вам это запомнилось, это не значит, что его легко взломать.

0

Я сделал бесплатный инструмент под названием Pafwert, который сочетает в себе случайность с рядом методов, чтобы создавать надежные, легко запоминающиеся пароли. Не каждый пароль, который он генерирует, является СУПЕР сильным, но большинство из них и это отличный способ стимулировать ваше творчество.

Вот несколько примеров сгенерированных им паролей и почему они их выбрали:

www.cold-as-ice.gov (использует знакомый шаблон, сленговую фразу) TittyCupcakes3 (использует оскорбительные слова, чтобы сделать его более запоминающимся) 5barde * barde5 (использует повторение) много мяса ящерицы. 2 (аллитерация) D:\another\48\hours.txt (знакомый шаблон, знакомое название фильма) Восемь добровольцев = (рифмование)

Всего существует около 150 шаблонов, которые он использует со многими вариациями каждого. Вы можете даже настроить шаблоны самостоятельно, есть довольно надежный синтаксис языка шаблонов.

-1

Так как вы не выбрали ответ, вот мои два цента стоит:

Стратегии поделиться паролями для нескольких пользователей, таких как муж, жена?

Выберите имя учетной записи, которое вы всегда будете использовать.

Пароль построен так:

Выберите "корневой" пароль для первых 8 символов. Три символа являются строчными буквами. Два символа являются заглавными буквами. Остальные символы - это цифры и символы на клавиатуре.

Эти 8 символов всегда используются в пароле. Далее вы решаете, куда вы собираетесь поместить трех дополнительных символов. Либо в начале, либо в конце восьмерки, которую вы изначально придумали. Как только вы узнаете, будут ли они префиксом или постфиксом, вы должны решить, что это такое.

Это зависит от веб-сайта или службы, к которой вы подключаетесь. Если бы вы подключались к веб-сайту AT & T, вы бы добавили att или ATT к своему первоначальному 8-символьному паролю.

Я занимаюсь этим уже 15 лет, и НИКОГДА из-за этого не было проблем с безопасностью. Вы можете проверить мой профиль для моих учетных данных, если вы беспокоитесь.

Вы можете изменить систему по мере необходимости. Всегда используйте 3 вместо E (простая замена). Всегда делайте основанную на местоположении часть (трехбуквенный префикс / постфикс) в обратном порядке или с различной капитализацией.

У меня есть более 200 учетных записей, никаких паролей, написанных или хранящихся где-либо, и я никогда не забывал ни одного.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .