2013-08-19 60 views
0

我有一個APi需要一組開發者證書(消費者密鑰/消費者密碼)以便調用註冊用戶Web服務來註冊用戶。移動設備:如何保護API憑證?

我想打電話給通過移動設備的用戶註冊Web服務方法,但不希望存儲的開發人員憑證(太危險了,即使其加密)

你會如何解決這個問題?

+0

使用NSUSERDEFAULTS –

+2

@ShashankKulshrestha'NSUserDefaults'在iOS設備的文件系統上以純文本形式存儲。您應該始終使用密鑰鏈或令牌的鑰匙串。 – rckoenes

+0

@rckoenes將開發人員憑據存儲在設備本身上並不安全。至於令牌,我們將其存儲在加密設備的本地數據庫上;如果它被攻破,那1個用戶帳戶。如果開發人員憑據遭到入侵,則可以訪問平臺上的所有用戶! – 001

回答

0

在iOS上,使用「鑰匙串」,http://developer.apple.com/library/ios/DOCUMENTATION/Security/Conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html

在Android上,目前還沒有加密鑰匙串,請參閱相關問題Android Keychain for user credentials。通過使用文件系統並以純文本格式存儲您的憑據,您將依賴底層應用程序沙盒,這可以在一定程度上保護您的文件(只能由您的應用程序讀取),儘管當然不會在根源手機上...所以你需要權衡這裏的風險並相應地選擇。

+1

問題不在於在設備上存儲任何數據,而是在應用程序代碼中提供API的key.secret。 – rckoenes