API更改密码?

信息安全 密码 密码管理 软件
2021-08-30 03:11:19

在我上周得知我的一些帐户的登录数据被泄露后,我不得不更改了 30 多个网站的密码。那很乏味!幸运的是,几天后我们了解到 Heartbleed。哦,太好了,现在我将不得不再次执行所有这些操作(现在针对更多站点)。

然后我阅读了关于 SU 的问题:更改我的 200 多个帐户密码的有效方法是什么?

我想知道:是否有一种安全的方式允许用户“自动”更改不同服务的密码?(假设一个保存用户名和密码的“传统”网站,所以没有 OpenID 或替代品)

网站提供某种API 来更改密码是个好主意吗?如果这样的 API 被标准化,使用密码管理器的用户可以选择他们想要新密码的所有站点,并且密码管理器可以为每个站点设置一个新的随机创建的密码。

1个回答

你刚刚回答了你的问题。

是否有一种安全的方式允许用户“自动”更改不同服务的密码?是的...

允许用户更改网站密码的标准开放 API 是可能的,我说这是一个不错的主意。

再说一次,允许用户登录网站的标准开放 API 是可能的,我说这是个好主意。但是,令人惊讶的是,网站登录过程变得越来越少,而不是更加标准化;密码管理器的这个基本功能变得越来越难,而不是更容易。

安全注意事项:嗯,它使恶意用户更容易通过一次更改许多用户的密码来造成很多麻烦。重置密码将一如既往地耗时。但是,恶意用户很少更改一个用户的大量密码,即使他们有能力。

密码更改器也可能有其自身的安全漏洞,例如它可能选择不足够随机的密码,并且 API 的实现可能存在安全漏洞。

另一方面,密码以通过更频繁的密码更改来改善的方式受到损害是相对常见的。

所以我会说(肯定是低的)下行可能不会大于上行。

我认为一个更好的主意是标准化和宣传基于SRP(安全远程密码)协议或类似协议的免费开放 API 使用 SRP,窃听者或中间人无法进行很多暴力猜测,因此可以使用相对较短/简单的密码获得强大的安全性。此外,服务器不存储与密码等效的数据。这意味着窃取服务器数据的攻击者不能伪装成客户端。如果我没记错的话,这意味着当用户在多个网站上使用相同的密码时,问题就更少了。

更新:与此同时,LastPass 自动密码更改功能