比方說,我想寫一個移動聊天應用程序(就如一個例子)。如何保護用於移動應用程序的消息系統(如RabbitMQ/MQTT)?
如何只接收針對一個客戶端的消息,不要讓其他客戶端接收那些不適合他們的消息!
- 創建只有客戶端已知的臨時隊列? - 足夠安全嗎?
- 使用客戶端公鑰加密消息? - 需要自己的PKI!
- 根據客戶端每次請求發送的憑據限制對隊列的訪問? - 每個請求都需要進行身份驗證!
- ...?
如果客戶端向外發隊列發送消息,如何防止其他客戶端直接從隊列中讀取消息!?
- 將訪問限制爲只寫? - 不知道這是否可能...
- 加密郵件? - 需要自己的PKI!
- ...?
我希望我的問題很清楚,我非常期待聽到您的想法和最佳實踐!
提前致謝!
//編輯:所以使用加密消息的每個客戶端的臨時隊列可能是一個不錯的選擇。或者你有什麼其他的想法?
「用客戶端公鑰加密郵件?」 - 並讓每個客戶端下載*所有*消息,看看是否有一個註定是爲了自己? – JimmyB 2014-10-29 14:05:34
不!每個客戶端仍然有自己的隊列,但是加密將阻止其他用戶/客戶端/黑客閱讀他們不應該閱讀的消息。 – TheCutter 2014-10-29 14:51:35