将会话存储在加密的cookie中

时间:2015-04-07 13:28:22

标签: security http session authentication cookies

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

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

1 个答案:

答案 0 :(得分:2)

除了验证用户的凭据之外,您不希望使用密码哈希。不确定你是否暗示其他情况,但你绝对不想无缘无故地泄露哈希(部分或其他)。

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

要获得密钥,他们必须妥协您的服务器。如果他们可以破坏您的服务器,这一切都不重要。您的所有提议都是让他们必须获得两个密钥而不是一个。他们可以访问您的加密密钥,因此他们可能可以访问您的数据库...因此哈希已经暴露。这就像有人已经在你的城堡里后加入护城河一样。

简而言之,加密+ hmac没有被破坏。假设您已正确实施cookie,则足以保护您的cookie。