2013-06-19 52 views
1

帶有應用程序API密鑰和存儲在其源代碼中的祕密的Dropbox瀏覽器客戶端是個壞主意,因爲任何人都可以使用它們模擬應用程序。如何開發安全的Dropbox瀏覽器客戶端?

  1. 但對於Dropbox API key encoder,如果使用的話,可以在 第三方獲得的原始密鑰/祕密?
  2. 如果攻擊者獲取密鑰/祕密對,什麼是最壞的情況 場景,可以發生於受損的應用程序的用戶?
  3. 什麼是與Dropbox的安全性在 瀏覽器只處理客戶爲了有一個完美的安全 實現(如果可能)的最佳實踐?

我認爲存儲在客戶端上的應用程序永遠不可能完全安全,但我仍然希望聽到比我更有經驗的開發人員。

預先感謝您的幫助

回答

1

警告:我不是一個安全專家。

使用編碼器可能會阻礙從拿起你的應用程序鍵和祕密休閒「攻擊者」,但它不提供任何真正的安全。下面是使用一種轉換編碼的鑰匙放回未編碼的鍵/隱匿對的JS庫中的代碼行:

Dropbox.Util.atob(Dropbox.Util.encodeKey(encodedSecret).split('|')[1]).split('?')

這就是說,這裏的安全風險是其他人使用你的應用程序鍵和祕密,這可以說是不是世界末日。幾乎所有使用OAuth的客戶端應用程序(在瀏覽器,桌面和移動平臺上)都會遇到此問題。例如,這裏有一篇文章討論Twitter泄露的消費者密鑰/祕密:https://news.ycombinator.com/item?id=5337099

我覺得暴露你的應用程序鍵和祕密的最有可能的結果是,有人會複製/粘貼你的代碼,並使用您的憑據。這會誤導用戶(他們在通過OAuth授權時會看到您的應用的名稱),並且如果另一個應用拿走您的密鑰並將其用於惡意應用,您的合法應用可能最終會造成附帶損害。

+0

安全風險並不是Twitter和Dropbox的地方用戶存儲他的潛在敏感數據之間的可比性。登錄到已被授權操作數據的錯誤應用程序會產生嚴重後果,而登錄假Twitter客戶端並不是什麼大問題。 –

+0

同意。 (更多字符滿足最低字符要求。) – smarx

相關問題