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

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

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

Секция: Методы и системы защиты информации, информационная безопасность

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

Библиографическое описание:
Садриев Д.З. РАЗРАБОТКА СЕРВИСА ДЛЯ МГНОВЕННОГО ОБМЕНА СООБЩЕНИЯМИ // Вопросы технических и физико-математических наук в свете современных исследований: сб. ст. по матер. LI междунар. науч.-практ. конф. № 5(43). – Новосибирск: СибАК, 2022. – С. 19-25.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

РАЗРАБОТКА СЕРВИСА ДЛЯ МГНОВЕННОГО ОБМЕНА СООБЩЕНИЯМИ

Садриев Динар Зульфатович

студент, кафедра прикладной математики и информатики, Казанский национальный исследовательский технический университет имени А.Н. Туполева-КАИ -КАИ,

РФ, г. Казань

DEVELOPMENT OF AN ONLINE SERVICE FOR INSTANT MESSAGING

 

Dinar Sadriev

Student, Department of Computer Systems,  Kazan national research technical university Named after A.N. Tupolev - KAI,

Russia, Kazan

 

АННОТАЦИЯ

В докладе рассматривается разработка онлайн сервиса мгновенного обмена сообщениями. Система написана на языке С# с использованием JavaScript, HTML, CSS. Особенностью данного проекта является компактность и простота в использовании.

ABSTRACT

The report discusses the development of an online instant messaging service. The system is written in C# using JavaScript, HTML, CSS. A feature of this project is compactness and ease of use.

 

Ключевые слова: хостинг, локальный сервер, MVC, HTML, CSS, C#, скрипт, распознавание.

Keywords: hosting, local server, MVC, HTML, CSS, C#, script, recognition.

 

Постановка задачи

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

Структура разрабатываемой системы

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

 

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

 

Согласно архитектурному паттерну MVC каждый модуль подсистемы имеет модель, контроллер и представление. Модули соответствуют ресурсам (объектам) системы. Модели взаимодействуют с данными и реализуют логику работы, контроллеры организуют работы модулей, взаимодействуют с моделями и представлениями, представления отвечают за формирование пользовательского интерфейса [1].

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

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

 Взаимодействие между пользователями и сервером происходит по защищенному протоколу WebSocket.

 

Рисунок 2. Взаимодействие клиента и сервера

 

Для сохранения конфиденциальности, целостность и идентифицируемость необходимо использовать алгоритмы шифрования. Существует множество методов шифрования, которые реализованы на основе двух базовых алгоритмах шифрования –  симметричное (AES, ГОСТ, Blowfish, CAST, DES) и асимметричное (RSA, El-Gamal).

Симметричное шифрование – способ преобразования, в котором для зашифрования и расшифрования секретной информации используется один и тот же ключ [2].

Асимметричное шифрование – способ преобразования, в котором для зашифрования и расшифрования секретной информации используется два ключа, один для зашифровывания, а другой для расшифровывания [2].

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

 

Рисунок 3. Симметричное шифрование

 

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

 

Рисунок 4. Асимметричное шифрование

 

Основные методы шифрования, используемые в чатах-мессенджерах.

Сквозное шифрование (также оконечное шифрование; англ. end-to-end encryption) — способ передачи данных, в котором только пользователи, участвующие в общении, имеют доступ к сообщениям. Таким образом, использование сквозного шифрования не позволяет получить доступ к криптографическим ключам со стороны третьих лиц [3].

MTProto — криптографический протокол, используемый в системе обмена сообщениями для шифрования переписки пользователей. В основе протокола лежит оригинальная комбинация симметричного алгоритма шифрования AES (в режиме IGE), протокола Диффи-Хеллмана для обмена 2048-битными RSA-ключами между двумя устройствами и ряда хеш-функций. Протокол допускает использование шифрования end-to-end с опциональной сверкой ключей. [4]

Блочный шифр — разновидность симметричного шифра [5], оперирующего группами бит фиксированной длины — блоками, характерный размер которых меняется в пределах 64‒256 бит. Если исходный текст (или его остаток) меньше размера блока, перед шифрованием его дополняют. Фактически, блочный шифр представляет собой подстановку на алфавите блоков, которая, как следствие, может быть моно- или полиалфавитной [6].

 

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

  1. Руби С. Гибкая разработка веб-приложений, 4-е издание. / Сэм Руби, Дэйв Томас, Дэвид Хэнссон. – Санкт-Петербург: Питер, 2012. – 448 с.
  2. Урбанович П. П. Защита информации методами криптографии, стеганографии и обфускации. Минск: БГТУ, 2016. 202 с.
  3. [Электронный ресурс] — Режим доступа: https://www.wired.com/2014/11/hacker-lexicon-end-to-end-encryption/
  4. [Электронный ресурс] — Режим доступа: https://core.telegram.org/mtproto
  5. Брюс Шнайер. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. М.: Триумф, 2002.
  6. Габидулин Э. М., Кшевецкий А. С., Колыбельников А. И. Защита информации: учебное пособие. М.: МФТИ, 2011. 225 с.
Проголосовать за статью
Дипломы участников
У данной статьи нет
дипломов

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

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