Энтропия пароля различна для разных проверок

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

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

Следует ли этого ожидать, и существует ли надежная/стандартная проверка энтропии пароля?

Попытка добавить к другому ответу Коннора:

Важно иметь в виду, что энтропия, конечно, по сути, является "количеством случайности" в пароле. Поэтому частично причина, по которой различные программы проверки энтропии будут расходиться во мнениях, заключается в том, что энтропия - это мера того, как был сгенерирован пароль, а не того, что в нем содержится. Экстремальный пример обычно лучше всего показывает, что я имею в виду. Представьте, что мой пароль был frphevgl.fgnpxrkpunatr.pbzPbabeZnapbar.

Программа проверки энтропии, вероятно, оценит его с высокой энтропией, потому что он не содержит слов и является длинным. Он не содержит чисел, но если воспользоваться простым расчетом (как Коннор описал в своем ответе, и как делают большинство калькуляторов энтропии), можно получить энтропию 216 бит энтропии - далеко больше, чем требуется типичному паролю в наши дни (38 символов со смесью верхнего и нижнего регистра дают 52^38 ≈ 2^216).

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

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

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

Комментарии (5)
Решение

Энтропия пароля рассчитывается по числу возможных вариантов его длины, т.е. 8-символьный пароль из заглавных и строчных букв = (262)8, (26 символов алфавита 2 для заглавных и строчных букв).

Если вы включите цифры 0-9, то эта мощность станет 26*2+10, а если вы включите специальные символы, то это число может стать довольно большим по количеству возможностей.

В качестве примера возьмем пароль QweRTy123456 (ужасный пароль, я знаю). Этот пароль состоит из 12 символов, поэтому его мощность равна числу 12, в нем используются прописные и строчные буквы, а также цифры, поэтому мы имеем 6212. Что дает общее число возможностей 3,2262668e+21.

Если взять тот же пароль, но в нижнем регистре, т.е. qwerty123456, то получится 3612, что даст нам потенциал в 4,7383813e+18, все еще огромное число, но гораздо меньшее, чем при использовании верхнего регистра.

Надежность пароля зависит от двух основных факторов: длины и сложности. В качестве примера я покажу цифровой PIN-код из 4 и 8 символов, чтобы показать разницу. Итак, для 4-значного пин-кода, 104, у нас есть 10 000 возможных комбинаций, а если мы используем 8-значный пин-код, то есть 108, у нас есть 100 000 000 возможностей. Таким образом, удвоив длину пароля, мы увеличили число потенциальных кандидатов в 10 000 раз.

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

И последнее замечание: пароль не так силен, как его потенциал, потому что пароль из 12 символов может быть местом рождения человека, именем домашнего животного и т.д. Содержание пароля также очень важно. Модель 4 случайных слов, как правило, довольно популярна и надежна, mandatory xkcd.

В ConorMancone's answer дается отличное объяснение и пример содержимого пароля в сравнении с энтропией, поэтому я бы посоветовал прочитать и эту статью, чтобы получить больше информации на эту тему.

Итак, в целом, возьмите число возможностей из набора символов, умножьте на силу длины пароля и разделите на 2, чтобы получить надежный метод получения надежности пароля на основе техники перебора.

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

Комментарии (13)

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

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

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

Комментарии (0)