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

Раздел
Программирование
Просмотров
43
Покупок
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-программирование
Контрольная работа Контрольная
29 Апр в 11:19
16
0 покупок
Web-программирование
Отчет по практике Практика
15 Апр в 10:32
75
2 покупки
Web-программирование
Отчет по практике Практика
15 Апр в 10:25
73 +1
1 покупка
Web-программирование
Контрольная работа Контрольная
10 Апр в 17:50
37
1 покупка
Web-программирование
Лабораторная работа Лабораторная
9 Апр в 11:50
15
0 покупок
Другие работы автора
Web-программирование
Дипломная работа Дипломная
25 Окт 2023 в 15:57
123
0 покупок
Web-программирование
Дипломная работа Дипломная
25 Окт 2023 в 00:40
146
0 покупок
Web-программирование
Дипломная работа Дипломная
25 Окт 2023 в 00:18
242
3 покупки
Web-программирование
Дипломная работа Дипломная
23 Окт 2023 в 00:31
160
0 покупок
Основы программирования
Дипломная работа Дипломная
22 Окт 2023 в 00:56
164
0 покупок
Web-программирование
Дипломная работа Дипломная
21 Окт 2023 в 20:40
113
0 покупок
Основы программирования
Дипломная работа Дипломная
21 Окт 2023 в 20:20
163 +2
1 покупка
Основы программирования
Дипломная работа Дипломная
21 Окт 2023 в 20:00
126
0 покупок
Основы программирования
Дипломная работа Дипломная
19 Окт 2023 в 19:01
149 +2
0 покупок
Основы программирования
Дипломная работа Дипломная
19 Окт 2023 в 18:51
200
0 покупок
Основы программирования
Дипломная работа Дипломная
19 Окт 2023 в 18:18
119 +3
0 покупок
Основы программирования
Дипломная работа Дипломная
17 Окт 2023 в 23:52
84
0 покупок
Web-программирование
Дипломная работа Дипломная
17 Окт 2023 в 21:51
47
0 покупок
Основы программирования
Дипломная работа Дипломная
17 Окт 2023 в 21:48
70
0 покупок
Основы программирования
Дипломная работа Дипломная
17 Окт 2023 в 19:46
69 +1
0 покупок
Web-программирование
Дипломная работа Дипломная
19 Сен 2023 в 00:30
84
0 покупок
Web-программирование
Дипломная работа Дипломная
19 Сен 2023 в 00:25
84
0 покупок
Web-программирование
Дипломная работа Дипломная
18 Сен 2023 в 00:52
132 +1
0 покупок
Web-программирование
Дипломная работа Дипломная
18 Сен 2023 в 00:50
100
1 покупка
Темы журнала
Показать ещё
Прямой эфир