現在我加入IAB首次。我已閱讀文檔,下載了示例,它似乎工作。 但是,設置東西不是我的問題,我想明白了以下兩個建議的由谷歌應提高安全性應用內結算API(IAB第3版)安全
- 加密的公鑰
如果攻擊者反編譯我的應用程序,他還可以刪除我的加密,字符串分裂或位移事物。
- 開發人員負載
同樣的事情在這裏。其實我可以像谷歌推薦的那樣做。我有我的服務器上的用戶ID,可以把這個請求和事後比較...但我認爲這是很容易從代碼中刪除我的應用程序反編譯時的邏輯。
我混淆我的代碼使用ProGuard我總是反編譯我的應用我把它上傳到谷歌打前,看看它的工作原理,並設置正確。這就是爲什麼我說這兩個建議沒有帶來很大的安全利益。
我也知道了私有/公共密鑰系統是如何工作的。這就是爲什麼我可以說,我的應用程序不可能在不反編譯的情況下與「假」服務器通信。如果谷歌不會使用某種異步加密我可以理解爲什麼我要檢查,如果響應來自一個假的服務器來...
你能幫我明白嗎?
乾杯, 斯特凡
感謝您的回覆。我仍然不明白。我不明白黑客如何能夠給我一個有效的簽名回覆。您需要私鑰才能創建有效的簽名。如果這個系統不安全,所有的網絡銀行(實際上所有的https)網站都不安全。我已經添加了開發人員有效負載,但我不喜歡它,因爲我需要兩個額外的網絡調用... – stefan
認爲是黑客。我以我的設備爲根,並以Google Play應用爲例,它存儲真正有效的簽名回覆。我從你那裏買了一些東西,我有這個迴應。現在,我可以將此響應發送給任何其他用戶,如果用戶可以用這個響應替換真實的響應,您的應用將始終接受它。 –
Aaaahhh ...我想我開始明白了:)當我沒有放置自定義有效載荷時,響應簽名正確,但不會綁定到任何人或任何東西。這就像一個通配符^^只有當我把一個自定義有效載荷哈希(指紋)將改變該包...我是對的?但是這意味着使用用戶帳戶(email?)作爲有效載荷就足夠了。所以我可以刪除我的兩個網絡電話,不需要服務器,對吧? – stefan