Архитектура системы чата: где расшифровывать сообщения? - PullRequest
0 голосов
/ 19 сентября 2019

Я создаю анонимный чат-сайт, который использует шифрование.Должен ли я дешифровать сообщения на стороне клиента или дешифровать сообщения на стороне сервера?Какой метод является более безопасным?Я использую Node.js + Socket.io для разработки системы чата.

Например:

Пользователь A шифрует сообщение, отправляет зашифрованное сообщение на сервер, который отправляет зашифрованное сообщение пользователю B, которыйдешифрует сообщение (дешифрование на стороне клиента)

или

Пользователь B шифрует сообщение, отправляет зашифрованное сообщение на сервер, который дешифрует сообщение и отправляет дешифрованное сообщение пользователю B (дешифрование на стороне сервера)

1 Ответ

1 голос
/ 19 сентября 2019

Расшифруйте сообщения на стороне клиента.

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

Цитирование https://en.wikipedia.org/wiki/End-to-end_encryption:

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

...