这个问题涉及由Google帐户实现的两因素身份验证的类型。
对此问题的响应描述了通过安全cookie保护密钥传输的安全。
但是,如果对手可以在您的机器上执行远程代码呢?如果他们能从你的机器上复制饼干,这仍然留下一个巨大的漏洞。如果他们把它寄给自己,他们不能在以后访问你的帐户吗?
它是否有可能实现一个登录系统,以防止这种情况,同时仍然允许您的用户方便“记住这台计算机30天”?
发布于 2015-08-16 22:05:44
是的是可能的。
如果服务器通过创建存储在帐户上的加密安全随机序列来生成令牌,则可以刷新该令牌并在某个时间间隔重新发出该令牌,从而使旧令牌无效。
只有在主动使用时才会刷新令牌,以便在客户端计算机关闭时不会使旧令牌失效。这种方法确保复制的cookie只有有限的可重用时间,从而限制了攻击的暴露。在攻击者及时使用cookie的情况下,原始会话将过期,实际用户将被注销(取决于设置间隔的方式)。可能会显示一条消息,说明该帐户正在其他地方使用,从而提醒用户注意攻击。
如果攻击者拥有持久的访问权限,并且可以获取任何新的标识符,那么她已经赢了。以上仅能防止一次盗窃令牌。例如,如果用户没有锁定他们的屏幕,而攻击者只有物理访问权,并且只有足够的时间窃取cookie值,或者该值是通过反射XSS攻击(即浏览器中的代码执行)窃取的,并且攻击不能轻易重复。
但是,具有根访问权限的攻击者可能能够也可能无法获取普通用户的cookie。Chrome在保存到磁盘时对cookie进行加密,只允许当前用户将其解密,因为密钥是从它们的密码派生出来的。因此,对cookie中的令牌进行攻击将更加困难。
发布于 2015-08-16 09:17:26
它是否有可能实现一个登录系统,以防止这种情况,同时仍然允许您的用户方便“记住这台计算机30天”?
不是的。坦率地说,这是不可能的。对于一个认证系统来说,这将是一个巨大的、复杂的和根本不可行的任务。
您所能做的就是小心您的软件、操作系统和网络设置可能遭受的漏洞,并思考如何保护自己不受最终漏洞的影响,并减轻分层安全机制不同级别上的威胁:

https://security.stackexchange.com/questions/96942
复制相似问题