Решение прямой и обратной задачи
В качестве иллюстрации к таблице 7.1.
рассмотрим задачу на определение
минимальной мощности пространства
паролей (зависящей от параметров А
и L) в соответствии с заданной
вероятностью подбора пароля в течение
его срока действия и обратную задачу.
Прямая задача
Задана вероятность Р=10-6. Необходимо
найти минимальную длину пароля, которая
обеспечит его стойкость в течение одной
недели непрерывных попыток подобрать
пароль при заданном значении мощность
алфавита А.
Пусть скорость интерактивного подбора
паролей V=10 паролей/мин. Тогда в течение
недели можно перебрать
10*60*24*7= 100800 паролей (в 1 неделе 7 суток, в
сутках 24 часа, в часе 60 мин)
Далее, учитывая, что параметры S, V, Т
и Р связаны соотношением
P=V*T/S,
получаем: S=100*800/10-6
= 1,008 * 1011 ≈ 1011.
Если алфавит содержит А=26 символов, то
применяя формулу (4) получим минимальную
длину пароля:
L = ln(1011)
/ ln26 = 11∙ln10
/ ln 26 = 7,77 ≈ 8
Таким образом, минимальная длина пароля,
которая обеспечит его стойкость в
течение одной недели непрерывных попыток
со скоростью 10 паролей в минуту для
алфавита, состоящего из 26 букв составляет
8 символов.
Обратная задача
Пусть скорость
перебора паролей V = 100 000 = 105
паролей в секунду. Срок действия (жизни)
пароля T = 30 суток. Длина пароля L = 8
символов.
Согласно формулам
(1) и (2) рассчитаем соответствующие
вероятности подбора пароля при мощности
алфавита A равного 36 символам.
Вероятность подбора пароля вычисляется
по формуле (2) P
= VT/S.
Поскольку V и T
заданы, то для определения вероятности
не хватает величины мощности пространства
паролей S. Для нахождения
величины S будем использовать
формулу (1) S = AL.
Для условий задачи величина S
будет следующей:
S =368 =
2821109907456 = 2,8×1012 ≈ 3×1012.
Используя найденное значение S,
находим вероятность подбора пароля для
заданных условий задачи:
P = (105×30
× 24 ×
60 × 60) / (3×1012)
= 864×10-4
≈ 9×10-2
= 0,09
Таким образом, получаем значение
вероятности подбора пароля при длине
пароля 8 символов в течении 30 суток со
скоростью 100 000 паролей в секунду
составляет 9%.
Естественно, существуют способы повышения
стойкости пароля. Для удобства чтения
они сведены в таблицу 7.2.
Таблица 7.2.
Требования к выбору и использованию
паролей
Требования к выбору пароля |
Получаемый эффект |
Установление максимальной длины |
Усложняет задачу злоумышленнику при |
Использование в пароле различных |
Усложняет задачу злоумышленнику при |
Проверка и отбраковка пароля по словарю |
Усложняет задачу злоумышленнику при |
Установление максимального срока |
Усложняет задачу злоумышленнику при |
Установление минимального срока |
Препятствует попыткам пользователя |
Введение журнала истории паролей |
Обеспечивает дополнительную степень |
Применение эвристического алгоритма, |
Усложняет задачу злоумышленнику при |
Ограничение числа попыток ввода пароля |
Препятствует интерактивному подбору |
Поддержка режима принудительной смены |
Обеспечивает эффективность требования, |
Использование задержки при вводе |
Препятствует интерактивному подбору |
Запрет на выбор пароля самим пользователем |
Исключает возможность подобрать |
Принудительная смена пароля при первой |
Защищает от неправомерных действий |
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Найти минимальную длину пароля, для алфавита мощностью 32 знака, которая обеспечит его стойкость в течение одного дня непрерывных попыток подобрать пароль. При условии, что скорость интерактивного подбора паролей 10 паролей/мин, и вероятность подбора пароля в течение его срока действия равна 10-4.
Параметры для количественной оценки стойкости парольных систем приведены в таблице.
Параметр Способ определения
Мощность алфавита паролей А Могут варьироваться для обеспечения заданного значения
S (S = AL)
Длина пароля L
Мощность пространства паролей S Вычисляется на основе заданных значений Р, Т или V
Скорость подбора паролей V:
• Для интерактивного режима определяется
как скорость обработки одной попытки
регистрации проверяющей стороной.
• Для режима off-line (на основе свертки пароля)
определяется как скорость вычисления значения
свертки для одного пробного пароля • Может быть искусственно увеличена для защиты от данной угрозы.
• Задается используемым алгоритмом вычисления свертки. Алгоритм, имеющий медленные реализации, повышает стойкость по отношению к данной угрозе
Срок действия пароля (задает промежуток времени, по истечении которого пароль должен быть обязательно сменен) Т Определяется исходя из заданной вероятности Р, или полагается заданным для дальнейшего определения S
Вероятность подбора пароля в течение его срока действия (подбор продолжается непрерывно в течение всего срока действия пароля) Р:
[P = VT/S] Выбирается заранее для дальнейшего определения S или Т
Оптимальная длина и состав пароля
Время на прочтение
3 мин
Количество просмотров 22K
Введение.
На фоне многочисленных постов о паролях решил провести небольшое исследование.
В настоящее время парольная защита является самым распространённым и, к сожалению, самым ненадёжным методом защиты. Существует много статей на тему «Как составить стойкий пароль», но мне не встречались статьи, где приводятся реальные данные о надёжности паролей.
В исследовании проводится оценка надёжности паролей противостоять атакам грубой силы. Наиболее эффективный метод грубой силы при переборе паролей для хеш-функций является составление радужных таблиц.
Расчёты проводятся для трёх хеш-функций md5, sha1 и sha2 (модификация sha512). В расчёт не берутся данные о коллизиях в данных хеш-функциях, так как с практической точки зрения в реальном подборе пароля они не помогут, да и достойных реализаций в ПО на настоящий время в открытом доступе нет. В исследовании принимают участия пароли длиной 7, 8, 10 и 12 символов трёх различных алфавитов.
Для наглядности результатов приводятся данные о количестве паролей, объёме дискового пространства для хранения радужных таблиц и ориентировочном времени построения радужных таблиц.
Инструментарий.
- Компьютер с процессором Pentium 4 2.6 GHz и оперативной памятью 512 МБ;
- Утилита winrtgen, входящая в состав Cain&Abel;
Промежуточные расчёты.
Количество комбинаций паролей равно (количество символов в алфавите)^(количество символов в пароле)
В исследовании принимают участие 3 алфавита:
- А1={abcdefghijklmnopqrstuvwxyz0123456789} 36 символов
- А2={abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=»} 51 символ
- А3={abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=} 77 символов
- А4={0123456789} 10 символов
Результаты.
Для алфавита А1
№ | Число символов | Хеш алгоритм | Дисковое пространство | Время подсчёта |
1 | 7 | md5 | 2,98 ГБ | 5 дней |
2 | 8 | md5 | 89,4 ГБ | 159 дней |
3 | 10 | md5 | 113 249 ГБ | 661,5 года |
4 | 12 | md5 | 178 754 329 ГБ | 1,19851е+006 лет |
5 | 7 | sha1 | 2,98 ГБ | 7 дней |
6 | 8 | sha1 | 89,4 ГБ | 230 дней |
7 | 10 | sha1 | 113 249 ГБ | 918 лет |
8 | 12 | sha1 | 178 754 329 ГБ | 1,58632е+006 лет |
9 | 7 | sha512 | 2,98 ГБ | 16 дней |
10 | 8 | sha512 | 89,4 ГБ | 1,4 года |
11 | 10 | sha512 | 113 249 ГБ | 1905 лет |
12 | 12 | sha512 | 178 754 329 ГБ | 3,1438е+006 |
Для алфавита А2
№ | Число символов | Хеш алгоритм | Дисковое пространство | Время подсчёта |
1 | 7 | md5 | 232,5 ГБ | 1 год |
2 | 8 | md5 | 17 881,4 ГБ | 90,2 года |
3 | 10 | md5 | 77 486 038,2 ГБ | 462539 лет |
4 | 12 | md5 | — | — |
5 | 7 | sha1 | 232,5 ГБ | 1,6 года |
6 | 8 | sha1 | 17 881,4 ГБ | 129 лет |
7 | 10 | sha1 | 77 486 038,2 ГБ | 638089 лет |
8 | 12 | sha1 | — | — |
9 | 7 | sha512 | 232,5 ГБ | 3,54 года |
10 | 8 | sha512 | 17 881,4 ГБ | 286,5 года |
11 | 10 | sha512 | 77 486 038,2 ГБ | 1,33807е+006 года |
12 | 12 | sha512 | — | — |
Для алфавита А3
№ | Число символов | Хеш алгоритм | Дисковое пространство | Время подсчёта |
1 | 7 | md5 | 596 ГБ | 2,73 года |
2 | 8 | md5 | 41 723 ГБ | 206 лет |
3 | 10 | md5 | 238 418 579 ГБ | 1,38521е+006 лет |
4 | 12 | md5 | — | — |
5 | 7 | sha1 | 596 ГБ | 4 года |
6 | 8 | sha1 | 41 723 ГБ | 301 год |
7 | 10 | sha1 | 238 418 579 ГБ | 1,91805е+006 лет |
8 | 12 | sha1 | — | — |
9 | 7 | sha512 | 596 ГБ | 9 лет |
10 | 8 | sha512 | 41 723 ГБ | 654 года |
11 | 10 | sha512 | 238 418 579 ГБ | 3,95008е+006 лет |
12 | 12 | sha512 | — | — |
Для алфавита А4
№ | Число символов | Хеш алгоритм | Дисковое пространство | Время подсчёта |
1 | 12 | md5 | 59,6 ГБ | 133 дня |
2 | 15 | md5 | 59 604,64 ГБ | 426 лет |
3 | 17 | md5 | 5 960 464,47 ГБ | 47 574 года |
4 | 20 | md5 | 1 665 497 181 ГБ | 4,94612е+007 лет |
5 | 12 | sha1 | 59,6 ГБ | 175 дней |
6 | 15 | sha1 | 59 604,64 ГБ | 563 года |
7 | 17 | sha1 | 5 960 464,47 ГБ | 60 505 лет |
8 | 20 | sha1 | 1 665 497 181 ГБ | 6,2405е+007 лет |
9 | 12 | sha512 | 59,6 ГБ | 359 дней |
10 | 15 | sha512 | 59 604,64 ГБ | 1040 лет |
11 | 17 | sha512 | 5 960 464,47 ГБ | 110 162 года |
12 | 20 | sha512 | 1 665 497 181 ГБ | 1,12256е+008 лет |
Прочерк там, где программа решила, что с неё хватит подсчётов.
Выводы.
Длину и состав паролей каждый должен выбрать для себе сам, от себя могу лишь сказать, лучше выбрать пароль до 12 символов и периодически его менять, нежели взять пароль 20 символов и чувствовать себя в полной безопасности.
P.S. Это мой первый пост на хабре, сильно не пинайте, пожалуйста.
UPD Добавлен алфавит А4 и статистика к нему.
Как составить надежный пароль
Статья обновлена: 15 апреля 2019
ID: 3730
Создавайте надежные пароли и храните их в безопасном месте
Kaspersky Password Manager — менеджер паролей для компьютера и мобильных устройств. Подскажет, если вы используете ненадежные или дублирующиеся пароли, поможет сегенерировать надежный пароль для новой учетной записи. Позволяет безопасно хранить пароли и автоматически заполнять формы авторизации на сайтах.
Мы рекомендуем использовать надежные пароли, чтобы защитить личные данные и конфиденциальную информацию. Не создавайте учетные записи без паролей.
Обязательные требования к надежному паролю
- Пароль должен содержать не менее 8 символов.
Если у вас Windows, убедитесь, что в настройках операционной системы установлена минимальная длина пароля не менее 8 символов. Инструкция ниже. - Пароль должен содержать заглавные и строчные буквы, цифры, пробелы и специальные символы.
Например: oNQZnz$Hx2.
Пароль не должен содержать
- Личную информацию, которую легко узнать. Например: имя, фамилию или дату рождения.
- Очевидные и простые слова, фразы, устойчивые выражения и наборы символов, которые легко подобрать. Например: password, parol, abcd, qwerty или asdfg, 1234567.
Способы генерации пароля
- Придумайте алгоритм для составления паролей.
Например, возьмите за основу любимое стихотворение или изречение. Запишите его строчными и заглавными латинскими буквами и замените некоторые из них похожими цифрами или символами: I_p0Mn|O_4y9n0e Mg№vEn|E (Я помню чудное мгновенье). - Воспользуйтесь генератором паролей.
С помощью программы Kaspersky Password Manager вы можете генерировать сложные пароли, проверять их надежность и безопасно хранить. Вы также можете установить в браузере расширение Kaspersky Password Manager для автоматического заполнения полей ввода данных на сайтах.
Как часто менять пароль
Мы рекомендуем менять пароль каждые 3 месяца.
Защита пароля
- Никому не сообщайте и не отправляйте свои пароли.
- Не оставляйте в доступном месте пароли, записанные на бумаге.
- Используйте менеджер паролей или встроенное в браузер хранилище паролей.
- Используйте разные пароли для ваших учетных записей. Если вы будете использовать одинаковые пароли, а злоумышленник узнает пароль от одной учетной записи, он сможет получить доступ ко всем остальным.
Как проверить или изменить минимальную длину пароля в Windows
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Спасибо за ваш отзыв, вы помогаете нам становиться лучше!
Всем привет. У меня есть задача. Нужно сделать программу с таким условием:
Определить количество символов алфавита, пароль состоит из k символов, время перебора которого было не меньше t лет.k=11,t=90,s=50.
Предыдущие две задачи имели примеры решения вот их примеры:
Примеры.
Пример 1.
Задание определить время перебора всех паролей, состоящих из 6 цифр.
Алфавит составляют цифры n=10.
Длина пароля 6 символов k=6.
Таким образом, получаем количество вариантов: С=nk=106
Примем скорость перебора s=10 паролей в секунду. Получаем время перебора всех паролей t= C/s=105секунд=1667минут=28часов=1,2 дня.
Примем, что после каждого из m=3 неправильно введенных паролей идет пауза в v=5 секунд. Получаем время перебора всех паролей T=t*5/3=16667секунд=2778минут=46часов=1,9 дня.
Итог = t+T = 1,2 + 1,9 = 3,1 дняПример 2.
Определить минимальную длину пароля, алфавит которого состоит из 10 символов, время перебора которого было не меньше 10 лет.
Алфавит составляют символы n=10.
Длина пароля рассчитывается: k=logn C= lg C.
Определим количество вариантов C= t * s=10лет*10 паролей в сек. = 10*10*365*24*60*60=3,15* 109 вариантов
Таким образом, получаем длину пароля: k=lg (3,15*109) = 9,5
Очевидно, что длина пароля должна быть не менее 10 символов.
Их я переделал под себя налегке. Но тут возник вопрос: Как определить количество символов алфавита. Я прикинул что в первой задаче n-количество символов алфавита, значит например мне нужно n найти. Но в задаче оно фигурирует в формуле нахождения количества вариантов. Но с формулы C=n^k никак n не вынесешь. Над второй задачей думал тоже, там еще интересней ситуация: Там у нас фигурирует количество алфавита в качестве основания под логарифм. И опять такие основания я не могу вычислить. Может вы мне сможете пролить свет на решение этой задачи. Буквально пинка не хватает чтобы сообразить. Если надо коды двух предыдущих задач я скину.