比方说,我想写一个移动聊天应用程序(就如一个例子)。如何保护用于移动应用程序的消息系统(如RabbitMQ/MQTT)?
如何只接收针对一个客户端的消息,不要让其他客户端接收那些不适合他们的消息!
- 创建只有客户端已知的临时队列? - 足够安全吗?
- 使用客户端公钥加密消息? - 需要自己的PKI!
- 根据客户端每次请求发送的凭据限制对队列的访问? - 每个请求都需要进行身份验证!
- ...?
如果客户端向外发队列发送消息,如何防止其他客户端直接从队列中读取消息!?
- 将访问限制为只写? - 不知道这是否可能...
- 加密邮件? - 需要自己的PKI!
- ...?
我希望我的问题很清楚,我非常期待听到您的想法和最佳实践!
提前致谢!
//编辑:所以使用加密消息的每个客户端的临时队列可能是一个不错的选择。或者你有什么其他的想法?
“用客户端公钥加密邮件?” - 并让每个客户端下载*所有*消息,看看是否有一个注定是为了自己? – JimmyB 2014-10-29 14:05:34
不!每个客户端仍然有自己的队列,但是加密将阻止其他用户/客户端/黑客阅读他们不应该阅读的消息。 – TheCutter 2014-10-29 14:51:35