假设我们有两个用户在进行以下操作-
现在我们可以通过任何方式验证令牌吗?
答案 0 :(得分:1)
您无法避免这种情况。但是,令牌应具有到期时间,因此攻击者只能在该时间内访问。另外,如果您知道令牌已被盗,则可以将其撤消,使其不再有效。
您可以应用更多安全措施,例如将令牌与特定的IP地址相关联,或者使用一些高级服务,甚至使用机器学习来检测异常行为。
答案 1 :(得分:0)
除非经过加密,否则绝不可将诸如OAuth令牌之类的机密信息存储在HTTP Cookies中。加密应特定于客户端/会话,这意味着应为每个客户端会话使用不同的加密密钥。如果入侵者要提取加密的cookie并尝试将其用于其他会话,则解密将使cookie无效。
在您的情况下,用户B获得对用户A会话的访问权限。没有太多保护可用。这类似于您登录银行,离开办公桌喝咖啡,其他人坐下来,开始使用与登录时相同的浏览器窗口进行转帐。
安全性仅与最弱的链接一样强。每个组件都必须实现强大的安全性。如果可以破坏单个组件,那么其他安全组件也可能会失败。
在非常严格的安全性和便利性之间进行权衡。如果这些过程过于繁琐或过于困难,或者只是一意孤行,人们往往会牺牲安全性。
我的银行做了一些有趣的事情。登录并继续执行操作(单击链接,移动鼠标等)后,我将保持身份验证。如果我暂停一分钟,则下次单击链接时,我必须重新进行身份验证。一种有趣的策略,可以检测出可能无人看管的人。