Генерация одноразового пароля для аутентификации пользователей в клиент-серверных системах | Статья в журнале «Юный ученый»

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

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

Автор:

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

Высокая практическая значимость Высокая теоретическая значимость Актуальная тема исследования

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

Опубликовано в Юный учёный №2 (65) февраль 2023 г.

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

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

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

Павлють, М. Д. Генерация одноразового пароля для аутентификации пользователей в клиент-серверных системах / М. Д. Павлють, Т. А. Пулко. — Текст : непосредственный // Юный ученый. — 2023. — № 2 (65). — С. 26-30. — URL: https://moluch.ru/young/archive/65/3366/ (дата обращения: 19.12.2024).



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

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

«Клиент-сервер» — современная технология, которая обеспечивает сетевое взаимодействие «запрос» — «ответ» путем распределения нагрузки и заданий между теми сетевыми ресурсами, которые предоставляют услуги («серверы») и теми, которые их используют («клиенты»). Речь идет о программном обеспечении, размещенном на одной или нескольких вычислительных машинах. Любой веб-сайт, или приложение в Интернет работает на сервере, а его пользователи являются клиентами. Социальные сети (Фейсбук, ВК и пр.), сайты электронной коммерции (Amazon, Озон и др.), мобильные приложения (Instagram и т. д.), устройства Интернета вещей (умные колонки или смарт-часы) работают на основе клиент-серверной архитектуры. Практически любая корпоративная сеть или ИТ-система предприятия, как правило, строится по архитектуре «клиент-сервер».

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

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

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

Технологии использования одноразовых паролей можно разделить на следующие:

  1. Использование генератора псевдослучайных чисел, единого для субъекта и системы. В данном случае используется генератор псевдослучайных чисел с одинаковым значением для субъекта и для системы.
  2. Использование временных меток вместе с системой единого времени. Аутентификация основана на генерации случайных чисел через определенные временные интервалы.
  3. Использование базы случайных паролей, единой для субъекта и для системы. Основан на единой базе паролей для субъекта и системы и высокоточной синхронизации между ними, при этом каждый пароль из набора может быть использован только один раз.

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

В рамках данной работы были исследованы и проанализированы существующие алгоритмы генерации псевдослучайных чисел (стандартные средства C#, линейный конгруэнтный генератор (LCG), XorShift, Вихрь Мерсенна, Unity- Random, перемешанный конгруэнтный генератор (PCG) и т. д.). Дальнейшие исследования и разработка велись согласно государственному стандарту Республики Беларусь СТБ 34.101.47–2017 (Информационные технологии и безопасность. Криптографические алгоритмы генерации псевдослучайных чисел) [1].

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

Стандартом предусмотрено использование трех типов криптографических алгоритмов генерации псевдослучайных чисел [2]:

— алгоритм выработки имитовставки в режиме HMAC (Hash-based Message Authentication Code),

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

— алгоритм генерации псевдослучайных чисел в режиме HMAC

Как уже было установлено, одноразовые пароли предназначены для усиления аутентификации в клиент-серверных системах: кроме обычного долговременного (статического) пароля клиент предъявляет серверу дополнительный пароль, срок действия которого ограничен определенным сеансом аутентификации или промежутком времени. Даже если противник узнает пароль текущего сеанса или промежутка, он не сможет использовать его в следующем. Аутентификация может быть двусторонней: после успешной аутентификации клиента сервер генерирует новый одноразовый пароль и предъявляет его клиенту. Стороны генерируют одноразовый пароль R , комбинируя общий секретный ключ K с уникальной синхропосылкой. Ключ K должен вырабатываться без возможности предсказания, распространяться с соблюдением мер конфиденциальности и храниться в секрете. Ключом является двоичное слово фиксированной или произвольной длины.

Была разработана схема аутентификации клиент-серверной системы, которая представлена на рис. 1.

Схема аутентификации клиент-серверной системы

Рис. 1. Схема аутентификации клиент-серверной системы

В зависимости от способа формирования синхропосылки стандартом определены три режима (механизма) генерации паролей: HOTP (HMAC-based One-Time Password), TOTP (Time –based One-Time Password) и OCRA (OATH Challenge-Resp onse Algorithms).

В данном исследовании был выбран режим TOTP, в котором синхропосылка представляет собой округленную отметку текущего времени [3].

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

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

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

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

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

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

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

На основании вышесказанного была разработана программа «PRNG.TOTP», алгоритм которой представлен на рис. 2.

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

Рис. 2. Алгоритм программы «PRNG.TOTP»

Программа была написана на языке программирования Python, который является современным, многофункциональным и универсальным, широко используемым языком программирования с низкой времязатратностью на написание скрипта, простым и логичным синтаксисом. Ниже представлен скрипт разработанной программы «PRNG.TOTP»:

import math

a = 6

from datetime import datetime

current_datetime = datetime.now()

vremechko = current_datetime.year + current_datetime.month + current_datetime.day + current_datetime.hour + current_datetime.minute + current_datetime.second + current_datetime.microsecond

import random

p = 0

for i in range(3):

p = p + random.randint(-1000000, 1000000)

c = hash(hash(vremechko) + math.fabs(hash(math.fabs(p))))

while c > 999999:

c = c // 10 + random.randint(0,10)

print(int(c))

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

Литература:

  1. Государственный стандарт Республики Беларусь СТБ 34.101.47–2017.
  2. Krawchuk H., Bellare M., Canetti R. HMAC: Keyed-Hashing for Message Authentication. Request for Comments: 2104, 1997.
  3. M’Raihi D., Machani S., Pei M., Rudel l J. TOTP: Time-Based One-Time Password Algorithm. Request for Comments: 6238, 2011


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

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

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

QR-код как элемент защиты данных при помощи двухфакторной аутентификации

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

Исследование уязвимостей протокола OAuth

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

Многофакторная аутентификация

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

Защита корпоративных сетей от внутренних атак

В данной статье исследуется разработка корпоративной сети на базе технологии Multiprotocol Label Switching (MPLS) и стратегии защиты от атак типа Address Resolution Protocol (ARP) spoofing и троянских программ [1]. Основой стратегии безопасности служ...

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

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

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

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

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

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

Симметричное (одноключевое) шифрование данных при защите информации в компьютерных сетях

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

Способ хранения закрытого ключа криптосистемы цифровой подписи

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

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

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

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

QR-код как элемент защиты данных при помощи двухфакторной аутентификации

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

Исследование уязвимостей протокола OAuth

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

Многофакторная аутентификация

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

Защита корпоративных сетей от внутренних атак

В данной статье исследуется разработка корпоративной сети на базе технологии Multiprotocol Label Switching (MPLS) и стратегии защиты от атак типа Address Resolution Protocol (ARP) spoofing и троянских программ [1]. Основой стратегии безопасности служ...

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

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

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

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

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

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

Симметричное (одноключевое) шифрование данных при защите информации в компьютерных сетях

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

Способ хранения закрытого ключа криптосистемы цифровой подписи

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

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

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

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