我被要求开发一个网络应用程序,将功能长期离线。为了实现这一点,我不能避免在本地存储中保存敏感数据(个人数据,但不是只存储散列类型的数据)。
我承认这不是推荐的做法,但是在别无选择的情况下,我正在采取以下措施来保护数据:
- 使用斯坦福 javascript 加密库和 AES-256对进入本地存储的所有内容进行加密
- 用户密码是加密密钥,不存储在设备上
- 通过 ssl 从一个受信任的服务器提供所有内容(联机时)
- 使用 owasp 反同项目验证进出服务器上本地存储的所有数据
- 在 appcache 的 network 部分中,不使用 * ,而是仅列出与可信服务器连接所需的 URI
- 一般来说,尝试应用 OWASP XSS 备忘单中建议的指导方针
我知道,细节往往是关键所在,我也知道,总的来说,人们对本地存储和基于 javascript 的安全性持怀疑态度。有没有人可以评论一下:
- 上述方法的根本缺陷?
- 对于这些缺陷有什么可能的解决方案吗?
- 当 html 5应用程序必须长时间离线运行时,有没有更好的保护本地存储的方法?
谢谢你的帮助。