我有一個客戶端 - 服務器應用程序,它允許用戶通過網絡在服務器上運行任何代碼。我想保護用戶免受連接到其他服務器的影響,該服務器的行爲與真實情況類似,但竊取密碼,我該怎麼做? 服務器和客戶端都不能訪問互聯網,證書頒發機構是不可能的。有沒有其他方法可以驗證它是我正在與之交談的代碼,即使有人獲得源代碼?如何保護來自欺騙服務器的密碼
0
A
回答
0
最簡單的解決方案是將SSL與自簽名證書一起使用。然後將服務器的證書硬編碼到客戶端。大多數SSL庫提供了一些方法來推出自己的證書驗證邏輯,或更改有效CA的集合。
這假定您可以保留服務器的證書的祕密。
原則上SRP可能是一種替代方案。但是你不應該自己實現它,因爲很容易發生似乎可以工作的細微錯誤,但是會使系統不安全。一些SSL庫(如GnuTLS)支持SRP。
0
您的攻擊者是否可能獲得對真實服務器的root訪問權限?如果不是,那麼您可以建立一個自簽名證書(如CodesInChaos所建議的)並依賴操作系統權限來防止未經授權的用戶讀取私鑰文件。然後你可以確信你的客戶只能連接到你的真實服務器(通過SSL)。
如果攻擊者可以獲得對真實服務器的root訪問權限,則需要處理很多問題。首先,攻擊者可以隨意讀取進程內存,因此任何暴露在服務器內存中的敏感資料(例如您提到的密碼)都可以訪問。此外,攻擊者可以竊取您的私鑰並建立自己的服務器(但是,爲什麼他們只能窺探真實的服務器內存)。
相關問題
- 1. Chrome DNS欺騙保護
- 2. 服務器上的欺騙時間
- 3. Windows 7 NotifyIcon GUID欺騙保護
- 4. 欺騙TCP服務器握手失敗
- 5. PHP郵件服務器欺騙
- 6. 密碼保護Web服務
- 7. 如何保護我的mysql_connect密碼(我的數據庫服務器的密碼)?
- 8. 欺騙反射器
- 9. Exchange Web服務標識欺騙
- 10. 如何密碼保護節點服務器?
- 11. 如何用密碼保護開發MongoDB服務器?
- 12. 如何密碼保護twonky媒體服務器
- 13. ARP欺騙/ DNS欺騙 - 區別
- 14. Android欺騙電話號碼?
- 15. PHP形式欺騙代碼
- 16. 條紋 - 用不同的訂閱欺騙我的服務器
- 17. DNS服務器欺騙請求放大服務器2008 R2的DDoS緩解
- 18. 如何防止欺騙iBeacons?
- 19. 如何欺騙http referer
- 20. 如何欺騙預處理
- 21. 你如何欺騙HTTP_REFERER?
- 22. ZNC - 欺騙IRC服務器的IP連接限制
- 23. 設置與欺騙MAC地址的Ubuntu服務器
- 24. 加密URL和保護服務器
- 25. 如何使用java代碼來欺騙mac地址?
- 26. Windows憑據漫遊 - 密碼保護密鑰如何發送到AD服務器?
- 27. HTTP瀏覽器欺騙
- 28. 欺騙遊戲控制器
- 29. 如何欺騙HTTP請求以測試.NET Web服務
- 30. 欺騙Javascript.location.hostname
確定什麼是保護服務器證書的方式?任何人都可能購買一臺服務器並擁有管理員和硬件訪問權。 – 2012-08-02 09:32:00