我一直找不到关于这方面的任何研究或信息。
谷歌定期给我签个名,强迫我重新登录。我有多个设备和多个谷歌账户,所以这有点令人沮丧,但事实就是如此。然而,我在想,这种做法是否真的安全。
这与无限期延长登录生命周期的内在不安全性如何平衡?
值得注意的是,谷歌从来没有把我从我的移动设备中登出来--我想知道为什么它对这个环境有不同的看法?安全和UX的关系?
发布于 2020-11-22 01:28:03
我同意您的想法,强迫用户重新认证经常会削弱您所描述的安全性。然而,这里还存在其他安全和性能因素,这些因素可能不那么明显。
当您登录时,后台发生的情况是服务器向客户端(通常是浏览器)发出某种“身份验证令牌”。这些身份验证令牌可以采取多种形式,最常见的变体是:
两者的最大区别是,第一个需要服务器记住内存中的会话,而在第二个令牌中包含服务器需要知道的所有信息(通常称为“无状态”)。
如果您想要看到这一点,打开浏览器的开发工具(F12),查看发送的请求,您将在cookie或Authentication:头中看到一个auth令牌。
对于像Google这样的大规模分布式系统来说,每个服务器都需要了解世界上每一个用户的每一个会话的想法是完全不灵活的。因此,他们几乎可以肯定地使用第二种无状态的方法。这种方法的缺点是,由于服务器什么都不知道,所以无法注销会话,因为只要令牌仍然有效,服务器就会接受它。因此,他们最终采用了一种混合方法,在这种方法中,无状态令牌通常是短暂的(比如15分钟),并且客户机还会得到一个长期的“刷新”令牌,这就像上面描述的会话ID一样,并且通常持续数周或几个月(在性能上可以为每个用户检查一次数据库,而不是每两个页面加载/请求)。
因此,回到您的问题;是的,确实,强迫您更频繁地键入密码并不理想,但是这已经是一种很难设计的机制,这样您就可以根据服务器端的性能(不需要在每个请求上访问数据库)获得正确的安全性平衡(能够实际执行注销)。终端用户的注意事项,比如您需要输入密码的频率,可能是次要的问题。
发布于 2020-06-24 23:27:56
许多用户使用密码管理器。这就是为什么更频繁或更少地输入密码并没有多大区别的原因。
那得看情况。对于关心安全的用户来说,可能没有什么区别--每隔几天输入密码可能就像每隔几个小时输入一次密码一样困难。如果他们想使用一些简化,他们会在任何情况下这样做。对于那些关心安全的用户来说,也不会有什么区别,他们不会看到每隔几天或每隔几个小时输入密码的差别很大。
如果有一个键盘记录器正在运行,那么输入密码的频率并不重要。一次就够了。
那是真的。但是,如果你在一个值得信赖的环境中,比如在家里,你不会在意别人是否注意到你。如果您处于一个不受信任的环境中,那么即使您每年输入一次密码,您也应该关注观察。
这又要看情况了。不关心安全性的用户不会更关心输入密码的次数。对于关心的用户来说,如果是几个小时或几天,就没有什么不同了。
通过使用户会话无效,可以确保同一个用户与您的应用程序进行通信。如果用户离开设备(笔记本电脑,PC)无人值守,没有锁定,smb。否则可能会用它。是的,它使用户体验更糟。但是,安全与可用性经常发生冲突。
移动设备是无人值守和不上锁的,不像笔记本电脑和个人电脑那么频繁。此外,谷歌并不控制笔记本电脑或个人电脑谷歌。就像Android一样,谷歌可以完全控制它。特别是,谷歌知道你是否激活了自动屏幕锁。尝试禁用它,重新启动,清除cookie,登录,并检查您是否会在一段时间后被注销。
https://security.stackexchange.com/questions/233740
复制相似问题