Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: CXII Международной научно-практической конференции «Экспериментальные и теоретические исследования в современной науке» (Россия, г. Новосибирск, 30 апреля 2025 г.)

Наука: Информационные технологии

Скачать книгу(-и): Сборник статей конференции

Библиографическое описание:
Федоров П.С., Колотова А.В., Загагова А.М. ПРИМЕНЕНИЕ ДИСКРЕТНОЙ МАТЕМАТИКИ ДЛЯ ГЕНЕРАЦИИ И ОЦЕНКИ СЛОЖНОСТИ ПАРОЛЕЙ: ПРИМЕР ПРОГРАММЫ НА C# // Экспериментальные и теоретические исследования в современной науке: сб. ст. по матер. CXII междунар. науч.-практ. конф. № 4(104). – Новосибирск: СибАК, 2025.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

ПРИМЕНЕНИЕ ДИСКРЕТНОЙ МАТЕМАТИКИ ДЛЯ ГЕНЕРАЦИИ И ОЦЕНКИ СЛОЖНОСТИ ПАРОЛЕЙ: ПРИМЕР ПРОГРАММЫ НА C#

Федоров Павел Сергеевич

студент, Санкт-Петербургский государственный университет промышленных технологий и дизайна,

РФ, г. Санкт-Петербург

Колотова Анастасия Владимировна

студент, Санкт-Петербургский государственный университет промышленных технологий и дизайна,

РФ, г. Санкт-Петербург

Загагова Алина Маратовна

студент, Санкт-Петербургский государственный университет промышленных технологий и дизайна,

РФ, г. Санкт-Петербург

АННОТАЦИЯ

Статья посвящена изучению способов генерации и оценки сложности паролей на основе знаний дискретной математики. В качестве практического примера представлена программа, реализованная на языке C#, которая позволяет пользователям создавать пароли по заданным параметрам, а также оценивать их стойкость к атакам.

 

Ключевые слова: кибербезопасность; программирование; генерация паролей; дискретная математика; комбинаторика.

 

В современном мире значительная часть информации находится в интернете, и пользователи все чаще сталкиваются с угрозами кибербезопасности. По информации от ГК InfoWatch в 2024 году резко выросло количество скомпрометированных персональных данных, треть которых – это сведения аутентификации: пароли, логины, номера телефонов и адреса электронной почты [1].

Часто обычному пользователю непросто создать качественный пароль для защиты своих данных. Поэтому существуют встроенные генераторы паролей, например, для учетных записей в Google* Chrome, алгоритмы которых имеют математические основы, в частности комбинаторики и теории вероятности. Однако, такие пароли не самые безопасные, потому как при автоматическом создании они имеют ограничение в 15 символов, а браузер не оценивает их на надежность [2]. В связи с этим возникла необходимость исследовать другие способы генерации паролей и анализа их стойкости к угадыванию злоумышленниками.

Начнем с того, что в рамках данного исследования рассматриваются такие стандартные комбинации, как размещение и перестановка [3, c. 10-12]. Если пароль использует все доступные символы, то применяются формулы перестановки. Если же по условию пароль фиксированной длины и составляется из заданного набора символов – то формулы размещения. Исходя из вида пароля, используются формулы с повторениями или без повторений. Нужно отметить, что порядок элементов при генерации пароля имеет значение. К примеру, комбинации ABC и CBA представляют собой различные перестановки одних и тех же символов. По этой причине для генерации паролей не используются формулы сочетания.

Итак, пароль, будучи строкой, состоящей из букв, цифр и специальных символов, является четко определенным дискретным объектом, потенциально уязвимым для атак методом полного перебора или брутфорс-атак (от англ. brute force – «грубая сила»). Данный метод взлома является одним из самых популярных. Он представляет собой попытку взломать пароль путем простого угадывания. С короткими паролями это относительно просто: PIN-код из четырех цифр содержит ровно 10 000 комбинаций. Таким образом, хакер, который может пробовать комбинацию каждую секунду, справится с поиском пароля за 3 часа. Поэтому количество символов напрямую определяет комбинаторную сложность пароля для брутфорс-атак.

В рамках исследования была разработана мини-игра «Password Gаme», чтобы наглядно показать взаимосвязь между генерацией паролей и основ дискретной математики. Программа реализована на языке C# с использованием Windows Forms для визуального представления [4]. Игра является упрощенным симулятором хакера, в котором пользователю необходимо угадать пароль, загаданный компьютером, путем брутфорс-атаки. Также в игре доступен дополнительный режим в виде анаграммы, позволяющий подобрать все возможные комбинации из предоставленных символов.

При запуске игры в стартовом окне пользователю дается выбор уровня сложности (рис.1). Всего предоставляется 3 основных уровня: «Легкий», «Средний» и «Сложный», а также «Эксперт», который позволяет переключиться на дополнительный режим. Для основного режима указывается мера защищенности пароля и вероятности угадывания с первой попытки (рис.2).

 

Рисунок 1. Стартовое окно с выбором уровня

 

Рисунок 2. Пример окна указания исходных данных уровня «Средний»

 

Основным показателям качества пароля является энтропия. Расчет производится по следующей формуле:

(1)

где H – энтропия пароля (в битах), L – длина пароля (количество символов), N – мощность алфавита (количество возможных символов).

На основе расчета энтропии можно выделить 4 основные категории пароля: плохой пароль, когда значения меньше 24 бит, слабый – от 25 до 49, средний – от 50 до 74 и хороший – от 75 до 100 бит. Высокая энтропия указывает на большое количество вариаций в выбранном пароле. Следовательно, более длинный пароль с большой вариацией имеет более высокую энтропию, что затрудняет его взлом.

Далее в окне с самим процессом угадывания после ввода пароля заданного размера всплывают подсказки о наличии и расположении тех или иных символов. Помимо этого, игра дает возможность сразу посмотреть сгенерированный пароль (рис. 3).

 

Рисунок 3. Пример игрового процесса

 

Каждый из уровней построен с использованием формул комбинаторики:

  1. Для уровня «Легкий» применяется формула перестановки без повторений. Пользователь выбирает длину пароля из предоставленных вариантов: 4, 6 или 8, после чего вводит символы, из которых будет генерироваться пароль.
  2. Для уровня «Средний» – формула размещения без повторений. Пользователь, помимо длины пароля, вводит общее количество всех доступных символов. Благодаря этому количество комбинаций значительно увеличивается, что усложняет задачу для игрока.
  3. Для уровня «Сложный» используется формула размещения с повторениями. Структура работы данного уровня остается аналогичной предыдущему, при этом символы могут повторяется по несколько раз, что увеличивает количество паролей в геометрической прогрессии.
  4. Переключение на дополнительный режим осуществляется с помощью выбора уровня «Эксперт» (рис. 4). В нем применяется формула перестановки с повторениями. В отличии от основных уровней, здесь игроку необходимо собрать всевозможные комбинации из заранее заготовленных символов. Количество времени для этого режима ограничено, что позволяет добавить динамику во время прохождения игры.

 

Рисунок 4. Пример игрового процесса в режиме «Эксперт»

 

После успешного завершения игры появляется окно с указанием затраченного времени и количества попыток, что позволяет оценить скорость взлома для определенного пароля.

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

 

Список литературы:

  1. Количество слитых персональных данных в 2024 году выросло на треть [Электронный ресурс]. – Режим доступа: https://www.infowatch.ru/company/presscenter/news/kolichestvo-slitykh-personalnykh-dannykh-v-dve-tysyachi-dvadtsat-chetvertom-godu-vyroslo-na-tret (дата обращения: 20.04.2025)
  2. Are Google-Generated Passwords Safe? [Электронный ресурс]. – Режим доступа:  https://www.keepersecurity.com/blog/2024/06/14/are-google-generated-passwords-safe/ (дата обращения: 20.04.2025)
  3. Пономарчук Ю.В. Основы анализа шифров классической криптографии : учебное пособие / Ю.В. Пономарчук, Р.А. Ешенко, Е.В. Фалеева. – Хабаровск : Издательство ДВГУПС, 2019. – 113 с.
  4. Официальная документация Windows Forms [Электронный ресурс]. – Режим доступа: https://learn.microsoft.com/en-us/dotnet/desktop/winforms/?view=netdesktop-9.0 (дата обращения: 20.04.2025)

 

* По требованию Роскомнадзора информируем, что иностранное лицо, владеющее информационными ресурсами Google является нарушителем законодательства Российской Федерации – прим. авт.

Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

Оставить комментарий