【问题标题】:Do modern browsers encrypt or otherwise protect IndexedDB storage?现代浏览器是否加密或以其他方式保护 IndexedDB 存储?
【发布时间】:2015-02-20 21:27:05
【问题描述】:

我的团队正在考虑使用 IndexedDB 跨用户会话缓存数据。这些数据可能足够大,如果能够将其保存在浏览器中以供以后使用,而不是每次用户需要时都必须下载,这将是一个真正的性能提升。

我担心 IndexedDB 的安全问题。有问题的数据不是超级敏感的,但我们需要用户/通行证才能访问它是有原因的。我担心如果用户的笔记本电脑被盗,这些数据可能会被访问​​。这些文件在文件系统上是否未加密?

【问题讨论】:

  • 最好的办法是加密整个笔记本电脑驱动器。如果您担心数据库中的数据泄漏,您可能还会担心笔记本电脑中的其他东西 ELSEWHERE 也会泄漏。特别是如果数据库是加密的 - 你必须将解密凭据存储在某个地方,如果这是驱动器上其他地方的明文,你什么也没做。
  • 即使他加密了他的文件系统,纯文本数据库仍然会在他的浏览器存储中可见,所以这不会完成那么多。 @Kyaw Tun 的回答是最好的方法

标签: security indexeddb access-control


【解决方案1】:

您可以在存储到 indexeddb 之前进行加密。这就是我在我的开源库中的做法,http://dev.yathit.com/ydn-db/doc/usage/encryption.html

需要注意的一点,加密的数据库不能被查询。您只能使用已知的主键检索。

您仍然需要在用户登录后从服务器传递加密密钥。

【讨论】:

    【解决方案2】:

    除非您的用户在他们的笔记本电脑上使用全盘加密,否则这些文件会以未加密的形式存放在那里。您可以考虑使用从用户密码派生的密钥使用一些 javascript 加密来加密您存储的数据。

    【讨论】:

    • 如果用户更改密码数据将无法再访问
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 2022-12-08
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 2018-06-18
    相关资源
    最近更新 更多