【问题标题】:HTML5 localStorage securityHTML5 本地存储安全
【发布时间】:2011-04-12 17:06:28
【问题描述】:

将 localStorage 用于敏感数据是个好主意还是坏主意(假设当前的 HTML5 实现)?

我可以使用哪些方法来保护数据,以使有权访问客户端计算机的人无法读取这些数据?

【问题讨论】:

标签: html security


【解决方案1】:

坏主意。

  1. 有权访问机器的人将始终能够读取 localStorage,您无法阻止它。只需在 firebug 控制台中输入“localStorage”,您就可以很好地列出所有键/值对。
  2. 如果您的应用程序中存在 XSS 漏洞,则存储在 localStorage 中的任何内容都可供攻击者使用。
  3. 您可以尝试对其进行加密,但有一个问题。可以在客户端对其进行加密,但这意味着用户必须提供密码并且您必须依赖未经过充分测试的密码学 JavaScript 实现。
  4. 当然可以在服务器端进行加密,但是客户端代码无法读取或更新它,因此您将 localStorage 简化为美化的 cookie。

如果需要安全,最好不要将其发送给客户端。不受您控制的东西永远不会安全。

【讨论】:

  • 我会同意的。不好的做法。 owasp.org/index.php/…
  • 不过,一个好点是来自域的脚本只能读取由该域设置的localStorage
  • 关于 JS 加密是 2011 年左右 NCC 集团的一个糟糕选择的附加引用:JavaScript Cryptography Considered Harmful — 他们详细介绍了所涉及的许多问题。
【解决方案2】:

公钥密码术可用于防止任何类型的入侵。此外,数据完整性检查(如 CRC 或散列)可用于确保服务器验证数据。

【讨论】:

  • 没有。 PKI 并非对每种情况都有帮助。此外,如果攻击者可以更改内容,他们也可以轻松更改哈希值。不过,哈希可以帮助检测意外更改(“损坏”)。
猜你喜欢
  • 1970-01-01
  • 2012-08-18
  • 1970-01-01
  • 1970-01-01
  • 2017-03-23
  • 2012-06-05
  • 2011-03-01
  • 2017-12-13
  • 2020-01-10
相关资源
最近更新 更多