2011-04-26 71 views
18

訪問令牌是否應該加密Twitter和Facebook等服務的令牌? 特別是,應該將令牌存儲在設備的Keychain還是UserDefaults中?如果用戶的設備被盜/拍攝,可能會出現一些可能的安全問題訪問令牌持久性最佳實踐(iOS)

這是我到目前爲止所提出的。

優點鑰匙扣: 加密

缺點: 沒有辦法清理時,用戶刪除應用程序UserDefaults的

優點:不停地在應用程序中

缺點: 沒有加密。

回答

9

您的UserDefaults'con'需要修改:不加密默認爲。您可以使用自己的內容自己加密內容。 CommonCrypto,但它需要額外的工作來存儲純文本。

OAuth憑證的一點是,別人誰擁有該令牌可以使用相關的服務,而不必出示憑據。因此,如果您必須保存密碼,您應該保護它,因爲它具有相同的值。

如果用戶的設備被盜,那麼除非他們有密碼鎖定他們的設備小偷必須使用你的應用程序在任何一個你所描述的情況下,用戶的能力。如果您沒有對訪問令牌進行加密,那麼他們還可以從其控制下的代碼中提取該代碼並進行重放。

+1

檢查這個線程:http://stackoverflow.com/questions/3671499/iphone-keychain-items-persist-after-application-uninstall。 鑰匙扣項目持續存在。 – 2011-04-26 20:30:15

+0

@diablosnuevos只是爲自己嘗試,你是正確的。 – 2011-05-12 09:10:07