我正在开发一个使用PhoneGap框架的应用程序,因此它只是一个使用HTML5的普通网络应用程序。与许多网络应用程序一样,我的客户也希望在设备离线时提供数据。对于这些情况,我想将数据存储在浏览器的本地存储中。
但是,客户还希望对数据进行加密,因此在设备丢失的情况下,没有敏感数据进入错误的手中。我目前的研究提出了2种可能的方法:
1)在存储到本地存储之前,使用JS加密框架加密任何数据。由于我的应用程序需要用户登录,我可以使用用户密码派生加密密钥(用户密码存储在iOS钥匙串中)
2)用户iOS'数据保护机制https://www.apple.com/business/docs/iOS_Security_Guide.pdf
对于2),在开发人员门户(应用程序ID部分)中启用数据保护实际加密任何内容,而不是启用加密的可能性是否正确?使用适当的NSData
或NSFileManager
操作的特定文件?
或者可以通过在App ID /配置文件级别启用数据保护来加密整个沙箱(包括浏览器本地商店!)?
是否有其他建议的方法来保护浏览器本地商店中存储的数据?
答案 0 :(得分:1)
第一个选项适用于跨设备。
我在研究中发现的两个可靠的JS加密框架
无论您做什么,请确保安全地存储用于获取加密密钥的可能数据(示例中的密码)。