我想確保從服務器收到的內容實際上來自服務器,並且在傳輸過程中未被篡改。 我有一個從服務器發送命令到移動設備的應用程序。爲了節能目的,將這種有效載荷包含在GCM消息中將是很好的。但是,如果有人試圖模擬服務器併發送不正確或惡意的命令,那將會很糟糕。我想知道GCM是否提供了這方面的機制,如果僅僅對消息進行簽名就足夠了,或者如果最好使用GCM喚醒應用程序,然後使用另一個通道接收命令,即使消耗少量的額外的能量。Google雲消息傳遞是否提供/支持身份驗證,完整性和不可否認性?
1
A
回答
1
如果要驗證郵件是否來自服務器,則應使用公鑰/私鑰對中的私鑰對其進行簽名。然後您可以使用公鑰在客戶端驗證簽名。這樣你就知道請求來自服務器(假設你的私鑰沒有被泄露,保持安全!)。這是Windows更新的工作方式,以及APT和YUM。
但請注意,這隻會阻止某人冒充您的服務器。它不會加密數據,也不會保證客戶端的任何信息。您不能做相反的事情(用客戶端私鑰簽署客戶端始發數據),因爲來自客戶端的任何內容都可能被篡改/欺騙或以其他方式惡意。如果您希望客戶端信息被加密,您可以使用服務器公鑰對其進行加密,只有服務器的私鑰才能對其進行解密。
+0
謝謝!我也這麼想。我想知道是否有內置的機制來做到這一點,或者如果有一個問題,我忽略了這個問題,那只是通過簽名才能解決。 – cloudraven 2013-03-13 08:08:28
相關問題
- 1. Windows身份驗證是否提供不可否認性?
- 2. 是否需要Firebase雲消息傳遞身份驗證?
- 3. Google雲消息傳遞(GCM)是否支持Kindle Fire?
- 4. 是否Owin.AuthServices支持身份提供商
- 5. Zuul是否支持OAuth身份驗證?
- 6. AFNetworking是否支持NTLM身份驗證?
- 7. RSA如何保持身份驗證和不可否認
- 8. SQLite是否支持參照完整性?
- 9. CouchDB是否支持參照完整性?
- 10. SAVON是否支持客戶端證書身份驗證
- 11. Google雲消息傳遞是否可以從Android通知中心移除消息?
- 12. WSO2身份認證服務器是否支持OpenId Connect Discovery
- 13. Mercurial是否支持空提交消息?
- 14. ASIHTTPRequest是否支持ios中的https摘要身份驗證?
- 15. Azure VM中的WASB是否支持Kerberos身份驗證?
- 16. Rest客戶端是否支持NTLM身份驗證?
- 17. 確定是否瀏覽器支持集成的身份驗證
- 18. Greenplum是否支持其節點之間的Kerberos身份驗證?
- 19. System.Net.Mail.SmtpClient是否支持CRAM-MD5身份驗證?
- 20. Meteor項目是否考慮添加Persona身份驗證支持?
- 21. Phoenix框架是否支持Windows身份驗證?
- 22. 「devise_token_auth」gem是否支持基於Web的身份驗證?
- 23. Amzon congnito是否支持IAM用戶身份驗證
- 24. Postgresql JDBC驅動程序是否支持Pgpass身份驗證?
- 25. Mono \ Xamarin是否支持基本身份驗證?
- 26. HtmlMimEmail版本2.0是否提供TLS身份驗證選項?
- 27. Google雲消息傳遞
- 28. 是否可以驗證Browser-Javascript會話的完整性?
- 29. 當消息可用時,JMS receiveNoWait()是否保證消息傳遞?
- 30. Google雲消息傳遞消息隱私
你相信谷歌嗎? – flup 2013-03-13 00:49:27
呃...我可以信任他們這個。我沒有看到他們攪亂我的信息的動機。發送的消息內容不是私人的,但它必須來自服務器,而不是惡意的第三方。 – cloudraven 2013-03-13 01:20:53