首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么谷歌需要重新认证才能启动密码更改过程?

问为什么谷歌需要重新认证才能启动密码更改过程?
EN

Security用户
提问于 2016-07-05 19:59:15
回答 4查看 1.5K关注 0票数 1

当用户想要更改帐户的密码时,大多数web应用程序都会呈现一个表单,用户需要在其中输入新密码和旧密码。到目前为止,我认为我理解这种方法的好处。例如,旧密码是对CSRF的额外缓解,如果攻击者获得web会话,则可以避免帐户劫持(即更改帐户密码)。

在谷歌--当然;) --这是不同的。当用户单击该链接以更改密码时,将显示一个登录表单,用户必须重新进行身份验证。在重新认证之后,将显示一个表单,用户只需输入新密码即可。不再需要旧密码。

这些方法有一些优点和缺点:

  • 在发生更改的地方询问密码(第一种方法)有一个优点,即可以大大降低整个过程中的弱点被利用的风险。新密码和旧密码作为一对处理。如果出了问题(例如,攻击者能够为web会话设置任意用户),那么旧密码仍然保护密码更改的可能性很大。
  • 对于第二种方法(Google),在重新认证后的过程中可能存在缺陷(例如CSRF保护可能失败,会话管理中的错误)。
  • 第二种方法的优点是在重新身份验证之前无法访问更改密码的应用程序。因此,在重新认证之前,也无法访问应用程序中的弱点。无法利用的弱点是无法利用的。
  • 也许Google只想实现一种身份验证的方式。我认为Google在登录时使用了某种风险分析,而且Google可能只是想使用这些机制来进行密码更改过程。

在我看来,第二种方法的弱点风险要高得多,特别是因为在重新身份验证和提交新密码之间可能会发生很多事情。此外,我认为重复使用风险分析和类似的东西应该是可能的,而不需要花费很大的精力进行密码更改过程。

因此,我的问题是,我是否错过了什么东西,使第二种方法(谷歌)优越?

EN

回答 4

Security用户

回答已采纳

发布于 2016-07-05 23:02:22

我的猜测是,对于谷歌来说,它可以让他们更容易地处理TFA(双因素认证)的所有不同选项。在我的头顶上,他们至少支持3或4种不同的方法。它们还允许您同时启用多个TFA,因此您可以选择使用哪个TFA。

这并不是说你也不能用旧的和新的密码字段在同一个更改密码页面上处理所有这些,但是它肯定比只要求旧密码和新密码更复杂。

票数 3
EN

Security用户

发布于 2018-11-12 18:22:44

这是因为人们离开他们的电脑,让他们不上锁并登录。

第二个登录要求意味着,当你去买更多的咖啡,或者你必须跑上飞机,忘记注销或者有人偷了你的课程时,坐在你旁边的那个家伙不能偷你的账户。

他们这么做是为了任何与安全有关的事。

真的没什么坏处。

票数 1
EN

Security用户

发布于 2016-07-05 20:40:22

有一件事需要考虑的是,谷歌花了很多时间来设计它的认证系统-with,相当于一个博士级的工程师智囊团。似乎保护密码更改表单只是该功能的另一个实现,-such是可移植和可重用代码的目的。IMHO,这应该是更经常的杠杆作用。这样,开发人员就不必构建他们的身份验证系统的第二种形式(即oldpw == currentPW?changePW : returnError),当最初的工作正常的时候。

您的评估是正确的,即没有登录就无法访问的PW更改形式的弱点,以降低风险的形式出现。

经过适当的开发和实现,我不知道这个故事的一个版本是否比另一个版本更好(正如您已经证明的那样,它有优点和缺点),所以我认为这取决于偏好、架构和业务决策,以及如何集中开发人员的时间和精力。

票数 0
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/129250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档