Вверх ↑
Ответов: 8208
NeverClan
Assistants
#1: 2012-03-07 22:51:09 ЛС | профиль | цитата
vladon784, я дал сайт для примера. Все же думаю если с генерировать например вот так
http://pasw.ru/ писал(а):
1. -POlqIIzJz)}f~x
2. XGb!dF0bU%t+]=t
3. >,XD7s<H)/MN!nR
4. KZVrp№(b8ql859"
5. KSYdOOvmJmC8+qZ
6. )*:>5qGWwE8WAvo
7. N\KS;y6OtG,+hG;
8. Fq.hKmci.L%S(V:
9. u1DvJ%v>aimy*pg
10. b2qF/S~iz0J]VKM


Длина имеет значение

Две главных характеристики пароля - количество символов (длина) и количество вариантов символа в каждой позиции (алфавит).

Как известно из комбинаторики общее количество возможных паролей при заданной длине(L) и алфавите(A) вычисляется как (A**L). A в степени L. Время(T) за которое пароль заданной длины будет гарантированно подобран методом Грубой силы меньше или равно (A**L)/V, где V - скорость перебора. Итак, мы можем записать T<=(A**L)/V. Эту формулу обычно называют формулой Андерсона. Следующая таблица вычислена по этой формуле и наглядно демонстрирует зависимости указанных величин.


Время полного перебора всех возможных паролей заданного алфавита при скорости перебора 10,000,000 паролей в секунду

алфавит6 символов8 символов10 символов12 символов
26 (латиница все маленькие или все большие)31 сек5 часов 50 мин163.5 суток303 года
52 (латиница с переменным регистром)33 мин62 суток458 лет1,239,463 года
62 (латиница разного регистра плюс цифры)95 мин252 суток 17 часов2,661 год10,230,425 лет
68 (латиница разного регистра плюс цифры плюс знаки препинания .,;:!?)2 часа 45 мин529 суток6703 года30,995,621 лет




80 (латиница разного регистра плюс цифры плюс знаки препинания .,;:!? плюс скобки а алфавите 80 (все символы плюс не буквенно-цифровые) будут перебраны за 5 лет и 4 месяца. В то же время все варианты 10 символьного пароля на алфавите "только буквы", будут перебираться без малого в сто раз дольше - 458 лет. Если добавить цифры, то и вовсе 2,661 год.
Можно сделать вывод что, как и ожидалось от степенной, быстрорастущей функции, увеличение длины пароля всего на 2 символа дает в 500 раз (2661/5.32) больше вариантов, чем увеличение алфавита на 18 символов (с 62 до 80).

Если вы внимательно ознакомитесь с краткой таблицей заповедей по выбору пароля, то заметите, что в ней нет обычной рекомендации использовать символы кроме больших и малых латинских букв и цифр. Я советую создавать более длинные пароли, чем включать в них спецсимволы. Такие как .,:;()[]{}#$%
Действительно "как правило" спецсимволы в пароле не доставляют хлопот. По крайней мере программисту. Пароль пожалуй единственная, введенная пользователем информация, которую программисты веб-сервисов могут не фильтровать на наличие нежелательных символов. Весь остальной пользовательский ввод обязан фильтроваться. Об этом уже столько раз говорилось, что хочется попросить прощения за повторение.
Я предпочитаю сделать пароль чуть длиннее, и при этом на "нормальном" парольном алфавите - 62 символа. Почему? Пароли не стоит произносить, но произносимость влияет на запоминаемость. А спецсимволы произносимость снижают.
Кроме того бывает что мы в жизни попадаем на нестандартные клавиатуры. Сколько времени понадобиться юзеру, чтобы найти где точка на французской клавиатуре? Считайте что все кто это видит тут же приметят в какой позиции у него точка. В этом случае фактически длина пароля сократится на один символ! А как показывают расчеты лучше "потерять" кусок алфавита, чем сократить длину пароля.


Очень важно отметить что привычное место знака равно в указанной формуле по праву занимает оценка меньше или равно. Предположим злоумышленник как-либо узнал, что ваш пароль 9 символов в длину, и собирается последовательно перебрать все комбинации: aaaaaaaaa, aaaaaaaab, aaaaaaaac и так далее до zzzzzzzzz. Что будет если ваш пароль действительно aaaaaaaaa? Он найдется сходу! Не надо думать что в таком случае самый выгодный пароль zzzzzzzzz, так как он будет попробован последним. Алгоритм подбора легко изменить и возможно злоумышленник как раз начнет с конца.
Он может начать и с середины. Точек старта может быть много, если вычисление будет вестись на многопроцессорной системе или кластере в несколько потоков. Поэтому каждый символ пароля следует выбирать случайным образом и надеяться, что он окажется достаточно далеко от точки старта алгоритма перебора. Помните, время в указанной формуле обычно всегда меньше вычисленного в правой части. Вычисленное есть время гарантированного нахождения пароля. За это время будут перебраны все возможные комбинации.

карма: 137
1
Голосовали:vladon784