使用httpOnly cookie进行设备注册

时间:2013-08-25 14:19:08

标签: javascript security cookies cookie-httponly

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

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

谢谢!

1 个答案:

答案 0 :(得分:2)

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

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

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

How secure are GUIDs in terms of predictability?

Are GUIDs safe for one-time tokens?