我需要开发一个可以长时间离线运行的Web应用程序.为了使其可行,我无法避免在本地存储中保存敏感数据(个人数据,而不是您只存储散列的数据类型).
我接受这不是推荐的做法,但是我没有做多少选择来保护数据:
- 使用stanford javascript加密库和AES-256将所有内容整合到本地存储中
- 用户密码是加密密钥,不存储在设备上
- 通过ssl从单个受信任服务器提供所有内容(在线时)
- 使用owasp antisamy项目验证进出服务器上本地存储的所有数据
- 在appcache的网络部分中,不使用*,而是仅列出与受信任服务器连接所需的URI
- 通常尝试应用OWASP XSS备忘单中建议的指南
我很欣赏魔鬼经常处于细节之中,并且知道对于本地存储和基于javascript的安全性存在很多怀疑.任何人都可以评论是否有:
- 上述方法的根本缺陷是什么?
- 这些缺陷的任何可能的解决方案?
- 当html 5应用程序必须长时间离线运行时,是否有更好的方法来保护本地存储?
谢谢你的帮助.