我正在设计一个使用加密的匿名聊天网站。我应该在客户端解密消息还是在服务器端解密消息?哪种方法更安全?我使用Node.js + Socket.io来开发聊天系统。
例如:
用户A加密消息,将加密消息发送到服务器,服务器将加密消息发送给用户B,用户B解密消息(客户端解密)
或
用户B加密消息,将加密消息发送到服务器,服务器解密消息并将解密后的消息发送给用户B(服务器端解密)
最佳答案
在客户端解密消息。
您在评论中提到端到端加密是必需的。这意味着服务器一定不可能解密消息。
引用https://en.wikipedia.org/wiki/End-to-end_encryption :
End-to-end encryption (E2EE) is a system of communication where only the communicating users can read the messages.
[...]
In an E2EE system, encryption keys must only be known to the communicating parties.
关于javascript - 聊天系统架构 : Where to decrypt the messages?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58001573/