【问题标题】:Chrome App: Handle Sensitive dataChrome 应用程序:处理敏感数据
【发布时间】:2013-08-11 15:06:40
【问题描述】:

我想编写一个使用 GitLab API (https://github.com/gitlabhq/gitlabhq/tree/master/doc/api) 的 Chrome 应用程序。为了使用 API,用户需要她/他的私有令牌。通过 API '/session' 成功登录后返回令牌。

Chrome 应用程序是否有一种安全的方式来存储敏感数据,例如来自 GitLab 的私有令牌?我可以为此使用 chrome.storage 还是将令牌以明文形式存储到用户计算机?

【问题讨论】:

  • chrome.storage 会以明文形式存储。
  • 即使它是“安全的”(在引号中,因为它不是),加密的密钥也将存储在用户的计算机上。如果密钥不可用,您的应用将无法使用数据。如果用户想要真正的安全性,他们应该使用具有强密码的全盘加密,并利用操作系统级别的帐户安全性。
  • 我同意@sowbug。很可能您必须在服务器端组件上实现它,并通过它代理您的请求。
  • 我在下面讨论另一种选择。

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


【解决方案1】:

考虑使用WebCrypto API 来实现对令牌的加密,然后将密文存储在 chrome.storage 中。您将要求用户提供主密码来加密和解密令牌。每次启动应用程序时,您都会提示用户输入主密码,以避免将其存储在任何地方。

您很可能会厌倦每次输入主密码,并实施一个选项,将密码存储在 chrome.storage 中解锁的内容旁边,或者您会选择一个简短的密码易于打字。在任何一种情况下,系统的可用性都将确保密码实际上没有任何用途,除了安全剧院。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 2019-07-30
    相关资源
    最近更新 更多