【问题标题】:Chrome local storage and securityChrome 本地存储和安全性
【发布时间】:2014-06-03 11:46:13
【问题描述】:

我正在使用本地存储值来检查用户是否登录了我的 Chrome 扩展程序。

  • 用户可以编辑自己的本地存储值吗?如果我要在我的数据库中使用他们的用户 ID,我不希望他们能够通过编辑该 ID 以其他方式登录,例如递增 1。
  • 应该是用户不应该看到的东西吗?我也考虑过使用他们的盐,但我可能不想向用户透露。

【问题讨论】:

    标签: security google-chrome google-chrome-extension local-storage


    【解决方案1】:

    你的担心是对的。通常,客户端代码和数据不可信,因为它掌握在攻击者手中。这个问题与网络 cookie 面临的问题相同:浏览器可以将任何内容报告为 cookie 数据,因此服务器无法信任它。您有两个通用选项来解决此问题。一个是HMAC,另一个是公钥签名。两者都需要服务器,但只有后者可以在没有服务器的情况下进行验证。

    HMAC 要求攻击者始终无法访问密钥,但生成和身份验证都需要它(即,它保留在服务器上并在服务器上进行验证)。您没有向我们提供足够的信息来判断您的扩展是否适合此用例。如今,大多数工业级 cookie 都使用 HMAC 的某种变体。

    公钥签名要求签名是秘密进行的(即在服务器上),但在此之后,客户端可以在不与服务器对话的情况下验证它。

    使用这些方案中的任何一个都将面临的大问题是,两个人可以串通起来将一个人的凭据复制到另一台机器上,或者一个人可以窃取另一个人的凭据。同样,对于客户端代码,您不能真正信任任何东西。但是这些方案中的任何一个都证明了攻击者并没有完全靠他或她自己来制作登录凭据。

    将此问题视为网络 cookie 问题。无论您如何解决该问题,您也可以将其应用于 chrome.storage。

    【讨论】:

      猜你喜欢
      • 2020-01-10
      • 2015-11-23
      • 2017-06-24
      • 2011-04-12
      • 2023-03-29
      • 2017-03-23
      • 2012-12-06
      • 2017-12-13
      • 2019-03-28
      相关资源
      最近更新 更多