【发布时间】:2013-06-21 05:59:57
【问题描述】:
我需要开发一个可以长时间离线运行的网络应用程序。为了使其可行,我无法避免在本地存储中保存敏感数据(个人数据,但不是您只会存储散列的那种数据)。
我接受这不是推荐的做法,但在别无选择的情况下,我正在执行以下操作来保护数据:
- 使用 stanford javascript 加密库和 AES-256 对进入本地存储的所有内容进行加密
- 用户密码是加密密钥,不存储在设备上
- 通过 ssl 从单个受信任服务器提供所有内容(在线时)
- 使用 owasp antisamy 项目验证进出服务器本地存储的所有数据
- 在 appcache 的网络部分,不使用 *,而是仅列出与受信任服务器连接所需的 URI
- 通常尝试应用 OWASP XSS 备忘单中建议的指南
我明白魔鬼往往在细节中,并且知道总体上对本地存储和基于 javascript 的安全性存在很多怀疑。任何人都可以评论是否有:
- 上述方法存在根本缺陷?
- 此类缺陷的任何可能解决方案?
- 当 html 5 应用程序必须长时间离线运行时,有什么更好的方法来保护本地存储?
感谢您的帮助。
【问题讨论】:
-
“我接受这不是推荐的做法” - 是这样吗?不正是为此而创建的相反吗?
-
澄清一下,我的意思是不建议将敏感数据存储在本地存储中。
-
您不应该通过大型网络传递敏感数据?
-
@user1173706 为什么应用程序必须长时间离线运行?用户是什么样的?您必须支持哪些浏览器?我个人认为这是可能的,但我需要了解你的场景的细节。
-
@Benjamin 我已经更新了这个问题。谢谢。
标签: html security local-storage html5-appcache