我想将敏感数据存储在iPhone应用程序中,但也可以通过触摸ID对其进行解锁。我想到了一些选择,但没有一个能完全实现我的目标,并且想要一些实施建议。
密码保护应用程序并加密数据-仅存储使用用户密码加密的数据。每次解密以查看数据时都要求输入密码。我看不到Touch ID在这种情况下如何工作。这是安全的,但每次输入密码都很麻烦。
仅密码保护应用程序-存储原始数据,并且仅在用户提供正确的密码/触摸ID的情况下才允许访问。这样就可以实现我想要的用户体验,但这是不好的做法吗?苹果公司是否会因为敏感数据未加密而最终拒绝这种方法?请记住,我仅在本地存储数据,没有云/ Web服务器。
具有高速缓存的方案1-用户每天输入一次密码,然后获取,解密和高速缓存数据。用户只需要在解密的数据保留在缓存中时对应用进行身份验证即可。如果应用程序关闭或达到时间限制,请清除缓存。
大家怎么想?
答案 0 :(得分:0)
您有一些选择。
假定用户已启用其密码,并且知道这意味着在锁定设备时对DB进行加密。在某些情况下,这就足够了。
使用Encrypted Core Data加密核心数据。仅供参考,这确实有效,但是它有很多限制和错误。我们在企业应用程序中使用了它,但我很后悔使用它。
使用SQLCipher从核心数据移至SQLite。这就是我现在想要的。
请记住,如果进行按应用程序加密,则仍然必须处理数据库密钥。您可以通过多种方式执行此操作。