Я построил клиент-серверную систему, в которой клиенты входят в систему, чтобы безопасно общаться с другими клиентами через сервер.
Вот свойства моей системы:
-Связь между клиентом и сервером зашифрована по протоколу SSL.
- Данные для входа в систему клиента надежно хранятся в виде хэшей с их солью в базе данных, хранящейся локально на сервере.
-При входе в систему каждый клиент отправляет открытый ключ сеанса для хранения на сервере, который другие клиенты используют для шифрования симметричного ключа. Симметричный ключ используется для последующего шифрования сообщений, чтобы предотвратить прослушивание сервера.
-При запуске чата используется аутентификация пользователя по отпечатку пальца, чтобы убедиться, что пользователь является тем, за кого себя выдает. Обычно это делается с помощью телефонного звонка, считывающего отпечаток пальца, который представляет собой хэш SHA256 обоих открытых ключей, разделенных на две части и объединенных XOR для удобства.
-MAC отправляется вместе с каждым сообщением
Что бы вы предложили, чтобы улучшить это? Каким возможным атакам может подвергнуться мой сервер?
Спасибо