Занимательная теория вероятностейПеребор пароля - это по сути «тыканье пальцем в небо», вне зависимости, осуществляется ли он по словарю или это исчерпывающий перебор всех возможных комбинаций. Есть такая дисциплина - теория вероятностей, которая и занимается изучением подобных явлений. Существует понятие благоприятный исход - в данном случае это успешное угадывание пароля. Понятно, что при переборе «благоприятный исход» только один, все остальные - неблагоприятные, и чем их больше, тем меньше вероятность благоприятного. Следовательно, уменьшить вероятность угадывания при исчерпывающем переборе пароля можно увеличением длины пароля и длины используемого алфавита. Например, пароль из одной цифры гарантированно перебирается за 10 попыток. Пароль из двух цифр - уже за 100, из трёх - за 1000. То есть число возможных комбинаций равно размеру алфавита, возведенному в степень, равную длине пароля. Например, если использовать пароль длиной 16 символов из строчных и прописных букв латинского алфавита, цифр и 7 спецсимволов (общая длина алфавита - 71 символ), то число возможных комбинаций составит более, чем 0,4×1030! По времени исчерпывающий перебор такого пароля займет многим более десятков миллионов лет. Эти цифры справедливы для пароля, о котором угадывающая сторона совсем ничего не знает. Если же известно, что пароль начинается не со спецсимвола, то можно отбросить сразу более чем 0,4×1029 вариантов! При этом вероятность подбора пароля все равно остается ничтожной, если злоумышленник не обладает другими знаниями о пароле. По статистике подавляющее большинство пользователей используют неслучайные пароли, а это тоже дополнительная информация для злоумышленника. В предыдущем примере знание о пароле было «маленьким» - ничего удивительного в том, что почти все пароли не начинаются со спецсимвола. А вот знание, что большинство паролей - осмысленные слова, причем существительные - этого уже достаточно, чтобы отбросить огромное число возможных комбинаций. Если проанализировать статистику паролей какого-нибудь сервиса, то окажется, что некоторые пароли используются чаще других, например, qwerty используется чаще, чем C5ce&nZ4@LY%kgIl. Этим и пользуются злоумышленники, составляющие базы паролей. Такая база - это набор статистической информации, включающей пароли и частоту их использования. Умная программа начнет перебор с самых часто используемых, следовательно, более вероятных паролей. Получается, что безопасность Вашего пароля напрямую зависит от его распространенности. В результате можно сделать вывод, что самый безопасный пароль - это пароль лишенный смысла, не содержащий абсолютно никакой информации. То есть самый безопасный пароль - псевдослучайный. Почему «псевдо», а не просто «случайный»? Потому, что ничего случайного не бывает. Если не верите - попросите разных пользователей нажать по любой кнопке на клавиатуре, соберите статистику и постройте график. Обязательно окажется, что одни кнопки нажимают чаще, другие - реже. Генерировать пароль программой на компьютере - намного лучше, но в общем случае его тоже нельзя назвать случайным: программа - это алгоритм, значит, каждый следующий символ зависит от предыдущего. Правда следует отметить, что все компьютерные алгоритмы генерации псевдослучайных чисел имеют хорошие статистические показатели, то есть случайные значения распределяются равномерно и практически не зависят друг от друга. |