Web-приложение для обмена сообщениями с использованием средств защиты информации

Раздел
Программирование
Просмотров
61
Покупок
0
Антиплагиат
Не указан
Размещена
24 Авг 2023 в 23:39
ВУЗ
Не указан
Курс
4 курс
Стоимость
1 000 ₽
Файлы работы   
1
Каждая работа проверяется на плагиат, на момент публикации уникальность составляет не менее 40% по системе проверки eTXT.
docx
Web-приложение для обмена сообщениями с использованием средств защиты информации
2.6 Мбайт 1 000 ₽
Описание

Среди лидеров в этой сфере можно выделить следующие приложения (с данными активности пользователей на 2023 год):

-   «Telegram» - мессенджер, созданный Павлом Дуровым. Охват - 700 миллионов человек в месяц. Подобные цифры кажутся немыслимыми, ведь это чуть меньше десятой части живущих на этот момент людей на нашей планете. Этот мессенджер использует протокол шифрования «MTProto 2.0» и допускает применение сквозного шифрования;

-  «WhatsApp» - мессенджер, принадлежащий компании Meta. Один из ведущих лидеров по числу пользователей на данный момент. В нем используется сквозное шифрование, а протокол разработан на основе протокола «Signal Protocol» [1];

-        «Signal» - набирающее популярность приложение для обмена мгновенными сообщениями с открытым исходным кодом. Использует обязательное сквозное шифрование с уникальным и очень популярным протоколом «Signal Protocol», упомянутым ранее [2].

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


В задачи проекта входят:

1)       изучение  аналогов web-приложений для  обмена  сообщениями (мессенджеров);

2)         анализ  и   выбор  современных  решений,   реализованных  в приложениях-аналогах;

3)  выбор технологий и инструментальных средств для реализации web- приложения;

4)  разработка функционала приложения;

5)  разработка и внедрение средств защиты информации;

6)  тестирование приложения.

В разработке применялись современные решения, используемые в популярных мессенджерах, например, хранение переписок на стороне сервера, обмен сообщениями в режиме реального времени, протокол шифрования между клиентом и сервером, а также «end-to-end» или сквозное шифрование.

Оглавление

ВВЕДЕНИЕ..................................................................................................... 4

1.       Обоснование актуальности проводимых исследований.......................... 6

2.       Изучение аналогов.................................................................................... 8

3.       Функционал и структура интерфейса..................................................... 11

4.       Выбор решений....................................................................................... 15

5.       Структура проекта.................................................................................. 16

5.1.        Структура хранения базы данных...................................................... 17

5.2.        Файловая структура и устройство работы сервера........................... 19

5.3.        Файловая структура и устройство работы «socket»-сервера............ 22

5.4.        Файловая структура клиента............................................................... 22

6.       Протоколы обмена ключами и шифрования......................................... 25

6.1.        Клиент-серверные протоколы............................................................. 25

6.1.1.         Протокол SRP (Secure Remote Password)........................................ 25

6.1.2.         JWT-токен.......................................................................................... 27

6.1.3.         Алгоритм шифрования AES-GCM................................................... 28

6.2.        Клиент-клиентские протоколы............................................................. 31

6.2.1.         Протокол X3DH................................................................................ 32

6.2.2.         Протокол Double Ratchet Algorithm................................................. 35

7.       Тестирование web-приложения.............................................................. 39

7.1.        Валидация............................................................................................. 39

7.2.        Тестирование регистрации, авторизации............................................ 40

7.3.        Тестирование поиска и добавления в «Друзья»................................. 42

7.4.        Тестирование модификации учетных данных..................................... 44

7.5.        Тестирование интерфейса обмена сообщениями................................ 46

7.6.        Тестирование безопасности................................................................. 47

7.6.1.         Тестирование клиент-серверного шифрования................................ 48

7.6.2.         Тестирование клиент-клиентского шифрования.............................. 54

ЗАКЛЮЧЕНИЕ............................................................................................. 62

СПИСОК ЛИТЕРАТУРЫ............................................................................. 68

ПРИЛОЖЕНИЯ............................................................................................ 70

Приложение 1. Конвейер «middleware» в «app.js»..................................... 70

Приложение 2. «SRPEncryption.js»............................................................. 70

Приложение 3. «AESGCMEncryption.js».................................................... 71

Приложение 4. «MainApi.js»........................................................................ 74

Приложение 5. Контроллеры регистрации и авторизации «users.js»........ 77

Приложение 6. Серверное шифрование «encrypting.js»...................................... 80

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

1) Rubin, J. Security Analysis of the Signal Protocol / Rubin Jan. — Текст

: электронный // dspace.cvut.cz : [сайт]. — URL: https://dspace.cvut.cz/bitstream/handle/10467/76230/F8-DP-2018-Rubin-Jan- thesis.pdf?sequence=-1 (дата обращения: 04.04.2023).

2) Yagublu, L. The Signal Protocol for non-Cryptographers An Explanation of the Signal Protocol and its Security Properties / Lamiya Yagublu. — Текст : электронный // odr.chalmers.se : [сайт]. — URL: https://odr.chalmers.se/server/api/core/bitstreams/527d7251-f7f4-4a6c-ac7b- f8253d174336/content (дата обращения: 04.04.2023).

3) // What Socket.IO is. - URL: https://socket.io/docs/v4/ (дата обращения: 27.04.2023).

4) Lingappan, R. // What Is Secure Remote Password (SRP) Protocol and How to Use It? / Lingappan, R. - URL: https://medium.com/swlh/what-is-secure- remote-password-srp-protocol-and-how-to-use-it-70e415b94a76 (дата обращения: 27.04.2023).

5) // Как устроен AES. - URL: https://habr.com/ru/articles/112733/ (дата обращения: 27.04.2023).

6) Perrin, T. The Double Ratchet Algorithm / Perrin Trevor. — Текст : электронный // signal.org : [сайт]. — URL: https://signal.org/docs/specifications/doubleratchet/doubleratchet.pdf (дата обращения: 04.04.2023).

7) Общая картина модульного тестирования // Хабр. - URL:

https://habr.com/ru/companies/vk/articles/412695/ (дата обращения: 16.05.2023).

8) Ткачева. А. 3 способа валидации форм / Анастасия Ткачева // HTML Academy. - URL: https://htmlacademy.ru/blog/html/valid-forms (дата обращения: 16.05.2023).

9) Воробьёв. М. Гайд по DevTools: как открыть инструменты разработчика в браузере и чем они полезны / Михаил Воробьёв, Яна Сергиенкова // Яндекс.Практикум. - URL: https://practicum.yandex.ru/blog/devtools-instrumenty-razrabotchika/ (дата обращения: 16.05.2023).

10) Поговорим о централизованном логировании // Хабр. - URL:

https://habr.com/ru/articles/551582/ (дата обращения: 16.05.2023).

 

Вам подходит эта работа?
Похожие работы
Web-программирование
Задача Задача
4 Ноя в 15:20
17
0 покупок
Web-программирование
Тест Тест
31 Окт в 23:24
31
0 покупок
Web-программирование
Контрольная работа Контрольная
31 Окт в 13:00
31
0 покупок
Web-программирование
Контрольная работа Контрольная
31 Окт в 12:38
43
1 покупка
Другие работы автора
Web-программирование
Дипломная работа Дипломная
20 Сен в 10:40
54 +1
0 покупок
Web-программирование
Дипломная работа Дипломная
20 Сен в 10:27
55
0 покупок
Web-программирование
Дипломная работа Дипломная
20 Сен в 10:19
33
0 покупок
Web-программирование
Дипломная работа Дипломная
20 Сен в 09:47
37
0 покупок
Web-программирование
Дипломная работа Дипломная
19 Сен в 19:29
41
0 покупок
Web-программирование
Дипломная работа Дипломная
17 Сен в 22:46
43
0 покупок
Web-программирование
Дипломная работа Дипломная
17 Сен в 21:15
39
0 покупок
Web-программирование
Дипломная работа Дипломная
17 Сен в 20:58
43
0 покупок
Web-программирование
Дипломная работа Дипломная
14 Сен в 22:41
37
0 покупок
Web-программирование
Дипломная работа Дипломная
14 Сен в 21:50
38
0 покупок
Web-программирование
Дипломная работа Дипломная
14 Сен в 21:48
27
0 покупок
Web-программирование
Дипломная работа Дипломная
14 Сен в 21:08
38
0 покупок
Web-программирование
Дипломная работа Дипломная
13 Сен в 23:51
34
0 покупок
Web-программирование
Дипломная работа Дипломная
13 Сен в 22:49
28 +1
0 покупок
Web-программирование
Дипломная работа Дипломная
13 Сен в 11:21
48 +1
0 покупок
Web-программирование
Дипломная работа Дипломная
13 Сен в 00:29
53
0 покупок
Web-программирование
Дипломная работа Дипломная
12 Сен в 00:40
38
0 покупок
Web-программирование
Дипломная работа Дипломная
11 Сен в 23:24
39
0 покупок
Web-программирование
Дипломная работа Дипломная
11 Сен в 10:31
54
0 покупок
Темы журнала
Показать ещё
Прямой эфир