2011-05-19 27 views
0

亞馬遜雲服務(AWS)提供了可隨時使用的庫,以便從Android應用程序直接撥打SDB,S3,SNS等。這使不熟悉Web服務和Web應用程序的移動開發人員很容易創建完全可擴展的基於雲的應用程序。 我們給這些API調用中的Amazon Access憑證連接到我們的雲賬戶;我的問題是:Android應用程序中的亞馬遜訪問憑證

  1. 如何在應用程序中有效使用密鑰輪播,因爲我將分發應用程序,一旦密鑰更改可能意味着對現有用戶造成周期性中斷。
  2. 對代碼內部的Amazon Access Credentials進行硬編碼(作爲字段常量等)會使它容易被提取?通過反編譯等?

回答

1

我跟亞馬遜倡導我們的區域,他告訴記者,亞馬遜的客戶端庫設計這樣一個目的。

  • 它可以用於內部應用程序(未發佈),如客戶端演示應用程序。
  • 如果您將憑證與要在公開市場發佈的應用程序捆綁在一起(不推薦),請使用IAM並創建具有受限訪問權限的單獨憑據。
  • 如果您正在構建一個類似Instagram的應用程序,您可能需要設置一個Web服務器來代理您對亞馬遜的調用(有效地使客戶端庫無用)。

顯然,我不是很確信。我認爲整個亞馬遜通信的客戶端庫(繞過對Web服務器的需求)對移動開發者來說可能是一個很大的優勢。

+0

我現在有同樣的想法。兩年後你有什麼建議嗎? – auval 2013-04-07 16:15:54

+0

@uval我有機會與頂尖的AWS人員(包括Werner Vogels)討論此事。答案是Android SDK是他們不推薦自己的東西。它不適合認真工作! – Codevalley 2013-04-11 12:35:40

+0

所以我明白你最終確信會放棄這個想法。這確實是一個很大的優勢。謝謝!! {感謝StackOverflow讓這種交互成爲可能!} – auval 2013-04-11 14:43:03

0

回覆:

會硬編碼裏面的代碼亞馬遜訪問憑據(如現場恆等),使其易受提取?通過反編譯等?

是的,通過在二進制文件中查找字符串和模式。也反編譯,但通常沒有必要。

第一個問題是,您試圖防​​範哪種威脅?政府?付費黑客?或者你只是想通過應用程序獲得訪問權限並不容易?

  • 限制訪問鍵只能訪問應用程序需要的數據。
  • 將這些密鑰存儲在應用程序中,分幾塊。以某種方式修改它們(例如ROT47),然後在發送到服務時重新組合。
  • 請勿將所有關鍵信息放入應用程序中。需要使用其他安全設備,例如Amazon MFA
  • 安裝監控可檢測可能表明從應用外部訪問的異常訪問模式。
+0

亞馬遜訪問密鑰在這裏就像應用程序的訪問登錄,並且由於沒有服務器/ Web服務正在運行,並且所有業務邏輯都是通過應用程序發生的,因此子項1和3在這裏沒有相關性。至於威脅,我的意思是黑客。 – Codevalley 2011-05-19 05:40:53