0

我有一个移动网站,作为我的安全措施的一部分,我希望用户“注册”他们的设备,这样我就可以限制用户可以访问该网站的设备数量。我的想法是,对于“新”设备,让它们通过双因素身份验证过程,并将服务器发送的 GUID 存储在将保存 GUID 的 httpOnly cookie(通过 SSL)中。当用户访问站点并使用他们的用户名和密码登录时,服务器会将那个 cookie 与他们在数据库中的用户记录进行比较,如果匹配,让他们登录。

所以我的问题是:这是对 httpOnly cookie 的有效/安全使用吗?我为“设备注册”描述的方法是否有意义?

谢谢!

4

1 回答 1

2

这将阻止临时用户将多个设备与您的服务一起使用,但很容易绕过,因为他们可以将 cookie 复制到另一台设备。HttpOnly标志只是限制客户端脚本(例如 JavaScript)访问 cookie,它不会阻止用户自己访问 cookie 或以任何方式在 cookie jar 中强制对其进行加密。

您可以通过更多的工程来使您的解决方案工作:为每个设备滚动令牌。我的意思是它会在每次登录时为每个客户端提供一个新的设备 ID,并且这种机制也会使旧的无效。这将导致带有原始 cookie 副本的第二台设备在没有单独注册且不计入您的设备限制的情况下不再能够使用您的服务。

此外,根据所需的安全级别,使用 GUID 以外的东西可能会更好,因为它们可能是可预测的:

GUID 在可预测性方面的安全性如何?

GUID 对于一次性令牌是否安全?

于 2013-08-27T11:01:07.447 回答