我正在爲它們構建一套移動應用程序和相應的Web服務。爲了確保從應用程序到Web服務的連接(達到合理的級別),我使用了雙腿OAuth方法,每個應用程序使用唯一的使用者密鑰/祕密。驗證API響應完整性
我的問題是如何驗證移動應用收到的響應實際上來自我的服務器。例如,如果我有一個端點來確認用戶是否可以通過傳入一組布爾值來訪問某些功能,據我所知,沒有什麼可以阻止某人修改其主機文件併發回一個欺騙性響應,指示他們有權訪問所有內容。它是否正確?
我建議的解決方案是讓應用程序存儲服務器也知道的響應祕密。當服務器發送它的響應時,它會生成與祕密相結合的數據的散列。應用程序然後重新生成哈希並檢查匹配。這樣,用戶只有在知道存儲在應用程序中的祕密的情況下才能劫持該請求。
有沒有解決這個問題的最佳實踐?
只需在HTTPS下託管Web服務即可解決問題,還是會有人能夠複製Web服務併發回欺騙響應?
非常感謝
謝謝尤金。我希望你的評論會得到一些贊成票,以保證我是安全的解決方案。看到它證實了我的懷疑,我會接受它。如果人們可以幫助確認,但這很好。謝謝。 – Mark