我們有一個iOS應用程序,它與後端的各種Web服務交互。然而,後端想要驗證來自它的請求來自我們有效的iOS應用程序,而不是來自重播攻擊或「中間人」攻擊。我們最終會將所有通話都改爲https。但是,有沒有辦法後端可以驗證請求來自我們的合法應用程序?我們正在考慮對每個請求使用加密隨機數,但它仍然容易出現「中間人」攻擊。有沒有可以在iOS應用程序和服務器之間使用的證書交換?驗證iOS應用程序
6
A
回答
3
1
我會建議使用OAuth。它是衆所周知和理解的,並且非常安全,並且在有人獲得您的令牌的情況下,您可以使用應用更新發布新消息並撤銷舊消息。
3
使用證書的TLS和SSL支持client authentication。 NSStream 可能支持客戶端認證,但我一直沒有找到辦法做到這一點,而不必放棄使用OpenSSL的實際實施。
增加:
ASIHTTPRequest支持client certificates從版本1.8開始,所以在實現它時不要大驚小怪。
1
這是一個普通的http問題,不僅僅是一個iOS問題。實際上,這是https設計要解決的問題,或者至少是緩解問題。您可以對請求進行簽名,使用HMAC對消息進行身份驗證,使用摘要式身份驗證等,但只要您使用http,就不能輕易檢測到中間人攻擊。花時間儘可能快地轉向https。
0
這個問題是絕對不可能解決的。任何你放入你的方案的東西最終都可以通過越獄手機和在調試器中運行客戶端來破解。當然,這並不意味着你不能使用客戶端證書欺騙你的客戶變得更加困難,而且你也應該這樣做。但是,如果例如金融交易的安全取決於您的應用程序不可欺騙,那將是不好的...
相關問題
- 1. IOS 9.3.3無法驗證應用程序
- 2. Xcode驗證失敗,iOS應用程序
- 3. 爲IIS webservice驗證iOS應用程序
- 4. iOS如何驗證應用程序包?
- 5. 驗證IOS應用程序存檔
- 6. 應用程序驗證
- 7. 驗證Android應用程序
- 8. 需要iOS應用程序中的默認SSL證書驗證
- 9. iOS應用程序如何接收SAML身份驗證響應?
- 10. iOS應用程序間通信來驗證其他應用程序的登錄
- 11. IOS應用程序'應用程序無法驗證'在iPhone 6上
- 12. 應用程序驗證許可證enforement?
- 13. iOS上應用程序內用戶的密碼/身份驗證
- 14. iOS應用驗證錯誤
- 15. iOS應用程序使用Facebook應用程序憑證
- 16. 的iOS 7的應用程序驗證問題
- 17. 驗證iOS應用程序版本的問題
- 18. 安裝Facebook應用程序時身份驗證失敗(iOS)
- 19. Rails和iOS應用程序,身份驗證問題
- 20. iOS應用程序和Windows身份驗證
- 21. 身份驗證從的iOS/iPhone應用程序
- 22. iOS HTML應用程序中的社交身份驗證
- 23. 針對AD FS驗證iOS應用程序
- 24. 如何從命令行執行iOS應用程序驗證
- 25. 遷移ios在應用程序購買驗證
- 26. iOS驗證以前的應用程序購買/安裝
- 27. 如何驗證iOS應用程序的http請求?
- 28. Azure iOS應用程序身份驗證錯誤
- 29. ios在應用程序購買 - 驗證收據數據
- 30. 驗證應用程序的iOS商店歸檔錯誤
我實施了(可能以一種破半裂的方式)這是一個學校[項目](https:// github.com/paxswill/SecureGateway)上學期。感興趣的主要部分是[PXConnection](https://github.com/paxswill/SecureGateway/blob/master/SStore/Source/PXConnection.h)和[PXClient](https://github.com/paxswill) /SecureGateway/blob/master/AppGate/Source/PXClient.m)類。 – 2011-05-17 15:44:06