[英]Facebook API Android Authentication used for the Web API
[英]How to implement authentication for Web API services that are used by an Android App?
我們將構建一個將由Android應用程序使用的Web API應用程序。 我想保護這個面向公眾的API,以便只有Android應用才能使用API。
我們不想使用HTTPS,因為傳輸的數據確實不敏感。 也沒有涉及登錄,所以只要我們確保合法的應用程序正在進行通話,我們就可以了。
我想在應用程序和api之間共享一種秘密數據,但是我們的Android開發人員說,我們在應用程序中放置的任何數據都可以被惡意攻擊者檢索到。 另外,通過HTTP傳輸該數據並不安全。
我想知道是否有人可以幫助我找到一個我們最好不必使用HTTPS的解決方案?
你是對的,有可能有人可以從設備上的應用程序源恢復共享密鑰。 如果不使用傳輸層安全性(TLS / SSL),也無法做任何事情。 一旦你透露任何秘密,它就不再是秘密了。
關於如何正確地執行此操作有一些很好的建議: http : //android-developers.blogspot.in/2013/01/verifying-back-end-calls-from-android.html
“你絕對必須使用HTTPS連接 ,以防止任何中間人偷看你的令牌。” 頁面本身的重點。
一個想法是讓應用程序根據發送消息的時間計算密鑰,然后服務器端將能夠驗證該密鑰。 服務器必須允許一些時間窗口。
如果你使用Proguard來混淆你的應用程序代碼,你可能會很難閱讀你的代碼(不是不可能,但很難)。 在混淆的代碼中更容易找到常量而不是查看調用的方法,因此我建議計算密鑰。
使用這種方法,攔截消息的人可以重用密鑰(至少不會超過很短的時間)。 因此,如果您真的想要避免使用https而您的數據不是那么敏感,那么這是一個可能的解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.