簡體   English   中英

保護用戶在本地保存的數據以及如何測試安全級別的最佳方法是什么?

[英]What is the best way to secure user's data saved locally in app and how to test security level?

在最近對App Store的攻擊之后,我想是在app中為用戶數據安全實現的安全措施是否足夠? 我知道沒有保證可以防止攻擊你的應用程序的數據和邏輯,但我們仍然可以通過實現某種安全性來挫敗攻擊者。我正在尋找以下問題的答案。

  1. NSUserDefault是安全的嗎?
  2. Keychain Access是安全的嗎?
  3. NSUserDefault或Keychain Access或其他任何推薦的更好的方法是哪種?
  4. 實施后有什么方法可以通過攻擊我的應用程序進行測試嗎?
  1. 使用NSURLCredentialStorage存儲用於訪問遠程服務的NSURLCredentialStorage 當持久性類型為NSURLCredentialPersistencePermanentNSURLCredentialPersistenceSynchronizable時,它使用keychain。

  2. 直接使用鑰匙串存儲不符合上述或其他框架的憑證類型或個人信息(即賬戶或HealthKit)

  3. 不要在NSUserDefaults存儲敏感信息。

  4. 將Data Protection API用於所有其他本地數據。 這可以使用權利 “app wide”或單個文件和目錄(使用NSFileManagerNSData等)完成。

  5. 要非常警惕第三方框架和庫。 其中許多捕獲敏感信息,如用戶的位置,並不安全地發送它。

您當然可以嘗試攻擊您的應用程序或聘請公司為您執行此操作。 有很多書籍和資源可供指導如何操作,其中一個更好的是移動應用程序黑客手冊

這取決於您的數據要存儲的數據類型,例如,如果您要存儲密碼或令牌或其他重要的用戶信息,您應該使用KeyChain。

鑰匙扣更安全,因為: -

  1. Apple自己加密它。
  2. 任何其他應用程序都無法訪問鑰匙串,因為它是由您的應用程序使用的證書簽名的。
  3. 一個重要的特性是刪除應用程序后數據仍然存在,而NSUserDefault中不會發生這種情況(一旦刪除應用程序,所有數據都會被刪除。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM