Исследование криптостойкости генератора псевдослучайных чисел | Статья в журнале «Юный ученый»

Отправьте статью сегодня! Журнал выйдет 30 ноября, печатный экземпляр отправим 4 декабря.

Опубликовать статью в журнале

Автор:

Научный руководитель:

Исчерпывающий список литературы Отличный выбор методов исследования Высокая теоретическая значимость

Рубрика: Информатика

Опубликовано в Юный учёный №3 (66) март 2023 г.

Дата публикации: 20.02.2023

Статья просмотрена: 33 раза

Библиографическое описание:

Павлють, М. Д. Исследование криптостойкости генератора псевдослучайных чисел / М. Д. Павлють, Т. А. Пулко. — Текст : непосредственный // Юный ученый. — 2023. — № 3 (66). — С. 112-116. — URL: https://moluch.ru/young/archive/66/3430/ (дата обращения: 16.11.2024).



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

Ключевые слова : аутентификация, одноразовый пароль, генераторы псевдослучайных чисел, криптографическая стойкость.

Как показывают последние исследования, одна из наиболее серьезных для компаний проблем в области информационной безопасности — несанкционированный доступ к компьютерным системам. Надежность защиты от этой угрозы в первую очередь зависит от качества системы аутентификации пользователей. Сегодня говорить об информационной безопасности без привязки к персональному доступу и отслеживанию всех действий пользователей в сети просто не имеет смысла. Рынок предлагает немало различных решений, включая смарт-карты и электронные ключи, биометрические средства аутентификации и графические пароли.

Одноразовый пароль — это ключевое слово, действительное только для одного процесса аутентификации в течение ограниченного промежутка времени. Такой пароль полностью решает проблему возможного перехвата информации или банального подглядывания. Даже если злоумышленник сможет заполучить пароль «жертвы», шансы воспользоваться им для получения доступа равны нулю.

В современных технологиях аутентификации с помощью OTP применяется динамическая генерация ключевых слов с помощью сильных криптографических алгоритмов. Аутентификационные данные представляют собой результат шифрования какого-либо начального значения с помощью секретного ключа пользователя. Данная информация есть и у клиента, и у сервера. Она не передается по сети и недоступна для перехвата.

За основу в настоящей работе был взят стандарт СТБ 34.101.47–2017, который определяет криптографические алгоритмы генерации псевдослучайных чисел, для которых характерно использование секретного ключа и уникальной синхропосылки, в результате чего генерируемые числа трудно предугадать или повторить. Ключ алгоритма генерации может быть известен только одной стороне, тогда псевдослучайные числа можно использовать для построения секретных параметров владельца ключа [1]. В зависимости от способа формирования синхропосылки стандартом определены три режима (механизма) генерации паролей: HOTP (HMAC-based One-Time Password), TOTP (Time –based One-Time Password) и OCRA (OATH Challenge-Resp onse Algorithms).

Для реализации поставленных задач в рамках данной работы был выбран режим TOTP, в котором синхропосылка представляет собой округленную отметку текущего времени. TOTP (Time — based One-Time Password) — алгоритм создания одноразовых паролей для защищенной аутентификации. Это улучшенный алгоритм на основе HOTP. Данный алгоритм описан в стандарте RFC 6238 [2]. Является алгоритмом односторонней аутентификации — сервер удостоверяется в подлинности клиента. Для формирования одноразового пароля в данном алгоритме используется время в формате Unix-time, в которое произошел запрос. Именно время является фактором, влияющим на изменение сообщения. Для выполнения алгоритма время конвертируется из формата даты в числовой формат и представляется в секундах с момента начало Эпохи Unix, за начало отсчета берется 1 января 1970 года.

Для функционирования алгоритма необходимо произвести синхронизацию времени между участниками обмена сообщениями, а также создать временное окно (например, 30 секунд), которое позволит получить результат в случае временных потерь, связанных с передачей сообщения по сети. Для алгоритма TOTP пароль будет вычислять по формуле:

HMAC(K, unix_timestamp / 30)

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

Входными данными алгоритма генерации одноразовых паролей в режиме TOTP являются:

– количество d ∈ {6,7,8} цифр в пароле;

– секретный ключ K ∈ {0,1}8*;

– округленная отметка T текущего времени — неотрицательное целое число.

Выходными данными является одноразовый пароль R ∈{0, 1,..., 10d −1}.

Алгоритм генерации пароля в режиме TОТР состоит в выполнении следующих шагов:

  1. W ←⟨T⟩64.
  2. Y ←hmac [ℎ](K,W7 ‖W6 ‖... ‖W0).
  3. R ←otp-dt (d, Y).
  4. Возвратить R.

На основании вышесказанного была разработана программа «PRNG.TOTP» [3], алгоритм которой представлен на рис. 1. Вызов и загрузка программы осуществляется после загрузки общего программного обеспечения автоматически. После определения текущего времени, осуществляется генерация секретного ключа (посредством импорта библиотеки функций генератора псевдослучайных чисел) и хэширование его с текущим временем. В нашем случае секретный ключ составляет 6 знаков в длину. После чего происходит вывод одноразового пароля.

Алгоритм программы «PRNG.TOTP» [4]

Рис. 1. Алгоритм программы «PRNG.TOTP» [4]

В таблице 1 представлен пример генерации одноразовых паролей с помощью алгоритма totp-hbelt в программе «PRNG.TOTP».

Таблица 1

Генерация одноразовых паролей в режиме TOTP (алгоритм totp-hbelt )

T 0

0

T S

60

d

6

K

4NVQSE R571OF 3TS701 7E4CDS YUNZ7T PFO94E HZFDS8 3ZHON4 YXRS58 Y64NGL OP6ZXT M32EFP 4EJ12O W2R5D0 PVSAJ5

t

2023–02–01 13:51:41.225750

T

2257506199

R

113436

t

2023–02–01 13:52:41.285718

T

2857186200

R

181326

t

2023–02–01 14:02:41.889013

T

8890136151

R

185549

Было проведено исследование криптографической стойкости разработанного ГПЧ при помощи полного перебора вариантов. Для разработки программы тестировщика использовался язык программирования Python.

Ниже представлен скрипт разработанной программы тестировщика:

Запуск производился на персональном компьютере и сервере, в связи с чем отклонений от общей тенденции не выявлено. В ходе выполнения программы осуществляется запрос длины пароля. Полученные в результате тестирование данные приведены в таблице 2 для значений длины пароля 6, 7 или 8 согласно стандарта для режима TOTP.

Таблица 2

Значения времени вскрытия одноразового пароля

Длина пароля

Среднее значение

времени, сек

Минимальное

время, сек

Максимальное время,

сек

6 знаков

0,06908051490783691

0,00018906593322753906

0,28572869300842285

7 знаков

0,7060528707504272

0,19494915008544922

1,9904589653015137

8 знаков

7,881892249584198

2,1670432090759277

23,53116464614868

Для наглядной демонстрации роста времени взлома в зависимости от длины пароля были созданы следующие графики, представленные на рис. 2.

— Временная зависимость взлома одноразового пароля от его длины: 1 — пароль длиной 6 знаков; 2 — пароль длиной 7 знаков; 3 — пароль длиной 8 знаков

Рис. 2 — Временная зависимость взлома одноразового пароля от его длины: 1 — пароль длиной 6 знаков; 2 — пароль длиной 7 знаков; 3 — пароль длиной 8 знаков

Заключение

Общее количество тестов на каждый из вариантов составил 100, после чего были выверены среднее, минимальное и максимальное значение согласно полученному времени вскрытия одного пароля. Из полученных временных зависимостей можно сделать выводы о том, что увеличение длины одноразового пароля увеличивает время его взлома. Установлено, что на взлом пароля длиной 8 знаков уходит 23 секунды.

Литература:

  1. Государственный стандарт Республики Беларусь СТБ 34.101.47–2017.
  2. M’Raihi D., Machani S., Pei M., Rydell J. RFC 6238. TOTP: Time-Based One-Time Password Algorithm. RFC Editor, 2011, 16 p
  3. Пулко Т. А., Павлють М. Д. «PRNG.TOTP». Свидетельство Национального центра интеллектуальной собственности Республики Беларусь о добровольной регистрации и депонировании объекта авторского права/объекта смежных прав № 1584-КП. Реестр компьютерных программ по состоянию на 08.02.2023 г.
  4. Павлють М. Д., Пулко Т. А. Генерация одноразового пароля для аутентификации пользователей в клиент-серверных системах. «Юный ученый», № 2 (65), 2023 г., с. 26–29, URL: http://yun.moluch.ru/archive/65/3366/.


Ключевые слова

аутентификация, одноразовый пароль, генераторы псевдослучайных чисел, криптографическая стойкость

Похожие статьи

Методы генерации псевдослучайных чисел

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

Разработка программного метода генерации псевдослучайных чисел

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

Исследование качества генерации псевдослучайных чисел в техническом вузе

Преподавание дисциплины «Защита информации» в техническом вузе предполагает практическую реализацию ряда методов защиты информации. Для имитации процесса организации закрытого канала связи используются генераторы псевдослучайных чисел. Темой данной р...

Сравнительный анализ численного решения задач оптимального управления

Данная работа посвящена анализу численных методов решения задач оптимального управления: метода последовательных приближений и метода вариации. Работа данных алгоритмов была апробирована на конкретном тестовом примере с известным аналитическим решени...

Математические основы и программная реализация генератора псевдослучайных последовательностей

В статье рассматриваются математические основы и программная реализация генератора псевдослучайных последовательностей.

Накопление случайности при помощи комбинирования различных генераторов псевдослучайных чисел

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

Роль больших простых чисел в современной криптографии

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

Исследование алгоритмов генерации простых чисел

Генерация одноразового пароля для аутентификации пользователей в клиент-серверных системах

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

Обзор и применение квантового алгоритма Шора в дешифровании в системах криптографии, основанных на эллиптических кривых

В данной работе рассмотрен метод дешифрования систем, основанных на эллиптических кривых — квантовый алгоритм Шора.

Похожие статьи

Методы генерации псевдослучайных чисел

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

Разработка программного метода генерации псевдослучайных чисел

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

Исследование качества генерации псевдослучайных чисел в техническом вузе

Преподавание дисциплины «Защита информации» в техническом вузе предполагает практическую реализацию ряда методов защиты информации. Для имитации процесса организации закрытого канала связи используются генераторы псевдослучайных чисел. Темой данной р...

Сравнительный анализ численного решения задач оптимального управления

Данная работа посвящена анализу численных методов решения задач оптимального управления: метода последовательных приближений и метода вариации. Работа данных алгоритмов была апробирована на конкретном тестовом примере с известным аналитическим решени...

Математические основы и программная реализация генератора псевдослучайных последовательностей

В статье рассматриваются математические основы и программная реализация генератора псевдослучайных последовательностей.

Накопление случайности при помощи комбинирования различных генераторов псевдослучайных чисел

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

Роль больших простых чисел в современной криптографии

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

Исследование алгоритмов генерации простых чисел

Генерация одноразового пароля для аутентификации пользователей в клиент-серверных системах

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

Обзор и применение квантового алгоритма Шора в дешифровании в системах криптографии, основанных на эллиптических кривых

В данной работе рассмотрен метод дешифрования систем, основанных на эллиптических кривых — квантовый алгоритм Шора.

Задать вопрос