我正在開發一個Android和iOS應用程序,它將使用我在單獨的服務器上開發的RESTful API。應用程序將簡單地戳到端點以更新數據庫中的數據並在需要時檢索信息。我的問題是沒有這樣做,API的架構已經設置,我只需要考慮最安全的方式來實現它。RESTful API身份驗證和安全
我有一個API密鑰系統,要求將API的任何用途與請求配對,以防止沒有密鑰的人訪問API。這很好,但我擔心那些更有決心要突破系統的人。特別是在Android方面,可以反編譯應用程序,並且可以查看(某些)代碼。我很確定可以查看字符串,所以我擔心如果有人反編譯應用程序,他們將獲得API密鑰的位置並能夠訪問該API。
我在尋找使API更安全的建議。我已經考慮在更新信息時將另一個獨特的值與API Key配對,但我不確定這是否也能很好地工作。
任何建議都非常感謝它。
如何跟蹤,如果你使用的所有應用程序的用戶相同的密鑰,其用戶發出請求?如果你爲每個用戶發佈一個唯一的密鑰,看起來你遇到的問題應該不是真正的問題。如果他們以某種方式對你的api進行逆向工程並使用他們的密鑰,他們仍然只能被允許執行他們被允許的執行行爲。 – JimL
每個用戶將有一個唯一的標識號碼,通過其他第三方服務接收。因爲這個號碼可以在一個單獨的應用程序中再次找到,所以我想創建另一個唯一的識別號碼,通過數據庫自動生成。我想這樣會很安全。嗯。 – Jmrapp
我更喜歡一些散列值。如果惡意用戶看到他們的api密鑰是1000135,那麼他們肯定會嘗試1000136等等。 – JimL