最近针对App Store的攻击后,我在想是在app中为用户数据安全实现的安全措施是否足够? 我知道没有保证可以防止攻击您的应用程序的数据和逻辑,但我们仍然可以通过实施某种安全措施来挫败攻击者。我正在寻找以下问题的答案。
答案 0 :(得分:6)
使用NSURLCredentialStorage
存储用于访问远程服务的凭据。当持久性类型为NSURLCredentialPersistencePermanent
或NSURLCredentialPersistenceSynchronizable
时,这会使用钥匙串。
直接使用钥匙串存储不符合上述或其他框架(即帐户或HealthKit)的凭据或个人信息类型
请勿将敏感信息存储在NSUserDefaults
。
将Data Protection API用于所有其他本地数据。这可以使用entitlements在“app wide”上完成,也可以在单个文件和目录上完成(使用NSFileManager
,NSData
等。
对第三方框架和库非常警惕。其中许多捕获敏感信息,如用户的位置,并不安全地发送。
您当然可以尝试攻击您的应用程序或雇用公司为您执行此操作。有很多书籍和资源可以提供指导,其中一个更好的是The Mobile Application Hacker's Handbook
答案 1 :(得分:1)
这取决于您的数据要存储的数据类型,例如,如果您想存储密码或令牌或其他重要的用户信息,您应该使用KeyChain。
钥匙串更安全,因为: -