【问题标题】:Storing sessions in encrypted cookies将会话存储在加密的 cookie 中
【发布时间】:2015-06-12 02:57:21
【问题描述】:

在客户端使用带有 HMAC 的加密 cookie 存储会话是个好主意吗?

有一个问题:如果有人发现了密钥,他们就可以访问任何用户帐户。是否可以通过将用户密码哈希的一部分附加到 cookie 来消除此问题?然后在服务器端,您可以将此哈希值与实际值进行比较。

【问题讨论】:

  • 嘿,我对你问题的措辞有些随意。请确保您仍然觉得它代表了您的要求。如果没有,请回滚。我只是想让它更清楚一点。

标签: security http session authentication cookies


【解决方案1】:

您不想将密码哈希用于验证用户凭据之外的任何事情。不确定您是否暗示其他方式,但您绝对不想无缘无故泄露哈希(部分或其他)。

如果恶意用户发现密钥,加密 + HMAC 可能会被破坏,这完全正确。这就是为什么我们必须非常小心地保护钥匙。恶意用户几乎不可能从正确加密的密码中确定密钥。

要获取您的密钥,他们必须破坏您的服务器。如果他们可以破坏您的服务器,那么这些都不重要。您的所有建议都是让他们必须获得两把钥匙,而不仅仅是一把。他们可以访问您的加密密钥,因此他们可能可以访问您的数据库……因此哈希值已经暴露。这就像在有人已经在您的城堡之后添加护城河。

简而言之,加密+hmac 不坏。假设您已正确实施它,就足以保护您的 cookie。

【讨论】:

  • 但是如果恶意用户可以访问我的数据库,那将无济于事。
  • 确实如此。这正是我的观点。你不能设计你的系统,就好像敌人有你的钥匙一样。那些必须保密。你必须相信加密 + 有关于更改密钥/审计/等的良好政策。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-05
  • 1970-01-01
  • 2015-09-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多