В комиксе xkcd #936 Рэндалл Манро утверждает, что такие пароли, как «Tr0ub4dor&3» (необычное базовое слово, заглавные буквы, распространенная замена букв цифрами и суффиксом пунктуации), имеют ~ 28 бит энтропии, при этом используя четыре случайных общих слова, таких как «правильная лошадь». Battery Staple», имеет ~44 бита энтропии и, следовательно, намного сильнее.
Я в замешательстве, потому что мне всегда говорили, что наличие цифр, заглавных/незаглавных букв и специальных символов необходимо для надежного пароля...
Прав ли XKCD в этом?
Это правда, что вам не нужны цифры, специальные символы и т. д. для надежного пароля. Если вы вместо этого увеличите длину пароля, энтропия также увеличится. См., например , эту таблицу энтропии . Чтобы получить 64-битную энтропию, у вас может быть 14-значный пароль в нижнем регистре, или у вас может быть 10-значный пароль со всеми печатными символами ASCII, или у вас может быть парольная фраза с 5 словами, случайно выбранными из списка 7776 слов (Diceware) .
Подход XKCD также называется парольной фразой или, если все сделано правильно, т. е. случайным образом выбранными словами в парольной фразе, Diceware .
Математика была проверена на сайте security.SE и примерно верна, если предположить небольшой список слов для Diceware (~2000 слов) и, что очень важно, случайно выбранные слова. Обратите внимание, что комикс XKCD предполагает случайность слов в кодовой фразе Diceware, но предполагает шаблон для пароля (что является справедливым предположением, а также смыслом комикса, поскольку никто не помнит действительно случайный 11-символьный пароль).
Обратите внимание, что люди плохо разбираются в случайном выборе , поэтому фактическая сложность угадывания пароля без использования игральных костей для его генерации — и принятия первого результата — будет ниже.
Утверждение о запоминаемости было рассмотрено в статье « Правильный основной элемент батареи лошади: изучение удобства использования назначенных системой кодовых фраз» (обратите внимание, что в документе используются правильно сгенерированные парольные фразы, а не полагаются на то, что пользователи «случайно» выбирают парольные фразы):
Вопреки ожиданиям, назначенные системой парольные фразы работали так же, как и назначенные системой пароли с аналогичной энтропией по метрикам удобства использования, которые мы исследовали. Парольные фразы и пароли забывались с одинаковой частотой, вызывали одинаковые уровни сложности и раздражения пользователей, и оба были записаны большинством участников. Тем не менее, для ввода парольных фраз участникам требовалось значительно больше времени, и, по-видимому, требовалось исправление ошибок, чтобы противодействовать ошибкам ввода. Удобство использования парольной фразы, по-видимому, не увеличилось, когда мы сократили словарь, из которого выбирались слова, уменьшили количество слов в парольной фразе или разрешили пользователям изменять порядок слов.
Не существует единственно правильного ответа на вопрос, сколько энтропии имеет пароль: результат будет зависеть от предположений, которые сделает о нем злоумышленник, а они неизвестны. Об этих предположениях можно сделать более или менее разумные предположения, давая более или менее разумные значения энтропии.
Эта статья на веб- сайте объясненияxkcd посвящена рассматриваемому комиксу. Это объясняет предположения, которые были сделаны для обоснования расчетов в комиксе. Эти расчеты довольно пессимистичны (т.е. предполагается, что злоумышленник заранее знает точную схему пароля) и предполагают, что пароли основаны на словарных словах , поэтому они немного недооценивают энтропию обоих паролей.
Для справки, проверка надежности пароля показывает, что «Tr0ub4dor&3» имеет 52 бита энтропии (вместо 28 в комиксе), а «correcthorsebatterystaple» — 94 бита (вместо 44). Эта оценка предполагает, что злоумышленник будет использовать словарь сочетаний букв английского языка. Как видите, результаты совершенно разные, но утверждение, сделанное в комиксе, справедливо и для этого метода расчета — более длинный пароль из обычных слов лучше, чем более короткий пароль со специальными символами.
Ваша проблема с этим предположением:
Я в замешательстве, потому что мне всегда говорили, что наличие цифр, заглавных/незаглавных букв и специальных символов необходимо для надежного пароля...
Это утверждение теоретически верно, но неверно, когда речь идет о том, как люди на самом деле создают пароли. Простая замена буквы «о» на «0» и «а» на «4» не сделает ваш пароль более надежным. В лучшем случае новый пароль имеет эквивалентную надежность. На самом деле он, вероятно, слабее, потому что эти замены настолько популярны, что злоумышленник может попробовать 0 и 4, даже не попробовав о и а. Точно так же использование заглавной буквы настолько естественно, что ничего не добавляет к безопасности. И добавление цифры в конце также является популярным выбором, который немного увеличивает сложность пароля, даже с добавлением дополнительного символа &. Даже опечатки (такие как troubador vs troubadour) не отбрасывают атаки по словарю более чем на чуть-чуть.
Кстати, NIST недавно отказался от этой рекомендации (а также от регулярной смены паролей и ряда других общих политик паролей). В реальном мире и то, и другое служило скорее подрыву, чем укреплению безопасности.
Наличие цифр и специальных символов повышает безопасность только в том случае, если вы выбираете каждый символ по отдельности случайным образом, просто потому, что злоумышленник должен угадать каждый символ среди 90 или около того символов. Если вы используете только буквы, злоумышленник должен угадать только среди 26 или 52 символов (в зависимости от того, используете ли вы сочетание верхнего и нижнего регистра).
В случае Tr0ub4dor&3 эти символы не случайны. Этот пароль, скорее всего, легко взломать с помощью атаки по словарю. У большинства людей активный словарный запас составляет около 1000 слов или около того, у образованных людей около 6000 или около того (на английском языке). Эти 6000 слов, вероятно, включают трубадура. Злоумышленник с атакой по словарю, конечно, попробует все перестановки слова. Так что это может быть 100 различных вариантов слова «трубадур».
Кроме того, злоумышленник сначала попробует наиболее вероятные перестановки.
Таким образом, злоумышленник вполне может попробовать «Tr0ub4dor», даже не попробовав базовое слово «troubadour». Это слово может иметь номер 3000 в словаре паролей, который попытается использовать злоумышленник (хотя после XCKD оно, вероятно, переместилось на номер 20), поэтому злоумышленник взломал бы ваш пароль за несколько тысяч или несколько сотен тысяч попыток, что может быть от нескольких минут до нескольких часов с приличным компьютером.
Фредсбенд
Нейт Элдридж
Брайан
Матье М.
Джейсон С
Нат
Рори Олсоп
Дэниел Р. Хикс
Скливвз
Роман Граф
пользователь1643723
Роботник
Бен Фойгт
Христос Хейворд
Роботник
Громовая Кузня
Бен Фойгт
Гонки легкости на орбите
Гонки легкости на орбите
Странное мышление
PoloHoleSet
Шадур
Шадур