Запропонована реалізація месенджеру, яка передбачає, що для доступу до
даних, пов’язаних з месенджером, користувачу необхідно зв’язатись з сервером
локальної корпоративної мережі, в іншому випадку дані будуть знаходитись у
шифрованому стані. Логіка з’єднання будується наступним чином: Клієнт
підключається до Серверу, що знаходиться в межах Корпоративної Мережі.
Після підтвердження версій Клієнта та Сервера, встановлюється зв’язок і Клієнт
переходить у робочий режим - дані, збережені в середині Клієнту
розшифровуються і Користувач отримує можливість працювати з цими даними.
Коли Користувач відправляє повідомлення іншому Користувачу, Клієнт
шифрує повідомлення та відправляє його на Сервер з вказанням Відправника та
Одержувача. У випадку, коли Одержувач знаходиться в одній мережі з
Відправником, Сервер перенаправляє повідомлення без додаткових дій. В
іншому випадку - Сервер чекає на ще декілька повідомлень (від будь-яких
Відправників), якщо встановлена кількість набирається - повідомлення
починають пакуватись в одне велике, після чого шифруються ще раз та
відправляються до іншого Серверу. Якщо після встановленого часу кількість не
набирається - Сервер додає невистачаючу кількість Повідомлень у вигляді
випадкового набору значень, які не матимуть Відправника та Отримувача (для
того, щоб другий Сервер відкинув ці повідомлення як “шум”).
The proposed implementation of the messenger, which assumes that in order to access the data related to
the messenger, the user needs to contact the server of the local corporate network, otherwise the data will
be in an encrypted state. The connection logic is built as follows: The Client connects to the Server located
within the Corporate Network. After confirming the versions of the Client and Server, the connection is
established and the Client goes into working mode - the data stored in the middle of the Client is decrypted
and the User gets the opportunity to work with this data. When a User sends a message to another User, the
Client encrypts the message and sends it to the Server specifying the Sender and Recipient. If the Recipient
is in the same network as the Sender, the Server forwards the message without additional actions. Otherwise
- the Server waits for several more messages (from any Senders), if the set number is reached - the messages
begin to be packed into one big one, after which they are encrypted again and sent to another Server. If
after the set time the number is not dialed - the Server adds an insufficient number of Messages in the form
of a random set of values that will not have a Sender and a Recipient (so that the second Server rejects these
messages as "noise").