3

我正在开发一个使用 PhoneGap 框架的应用程序,因此只是一个使用 HTML5 的普通网络应用程序。与许多网络应用程序一样,我的客户也希望设备离线时数据可用。对于这些情况,我想将数据存储在浏览器的本地存储中。

然而,客户也希望数据被加密,因此在设备丢失的情况下,敏感数据不会落入坏人之手。我目前的研究提出了两种可能的方法:

1) 在存储到本地存储之前,使用 JS 加密框架对任何数据进行加密。由于我的应用程序需要用户登录,我可以使用用户密码来派生加密密钥(用户密码存储在 iOS 钥匙串中)

2)用户iOS的数据保护机制https://www.apple.com/business/docs/iOS_Security_Guide.pdf

对于 2),在开发人员门户(应用程序 ID 部分)中启用数据保护实际上不会加密任何内容,而是启用使用适当的或操作加密特定文件的可能性,这是否正确?还是可以通过在 App ID/配置文件级别启用数据保护来加密整个沙箱(包括浏览器本地存储!)?NSDataNSFileManager

是否有任何其他推荐的方法来保护浏览器本地存储中存储的数据?

4

1 回答 1

1

第一个选项适用于跨设备。

我在研究中发现的两个可靠的 JS 加密框架是

无论您做什么,请确保用于派生加密密钥的可能数据(在您的示例中为密码)安全存储。

于 2013-04-11T09:38:01.600 回答