使用 OpenID 如何影响 webapp 安全性?

信息安全 应用安全 Web应用程序 验证 联邦 打开ID
2021-09-05 11:28:34

使用 OpenID 对用户进行身份验证越来越流行,事实上,它使 web 应用程序更易于使用。

但是在决定是否实施 OpenID 时应该牢记哪些安全注意事项?

它适用于任何类型的 webapp 吗?或者是否存在不应该使用这种处理用户身份验证的方式的 Web 应用程序类别?

电子商务应用可以使用 OpenID 吗?

4个回答

我认为通过 OpenId提供注册是有意义的,但不需要它,即使对于电子商务网站也是如此。
这样做的原因是,精通技术的用户(仍然是 openid 的核心用户群)可以决定是否承担风险。

我不推荐使用 OpenId 的站点要么是高度敏感的站点,例如银行站点,要么是您希望控制用户身份的私人/公司系统(ala Enterprise-Centric Identity,而不是 User-Centric Identity )。

使用 OpenId 有一个明显的优势,因为您不必管理用户的身份,包括密码、重置、安全等,并接受所涉及的风险。

每个 OpenID 提供者都有安全特性和缺点的权衡。例如:

特征

  • Google、Facebook、MyOpenID 和 Verisign 都提供不同程度的双因素支持。(威瑞信是最安全的恕我直言)

  • 他们都支持Javascript免费操作(对于安全偏执的用户)

  • MyOpenID 和 LiveID 的隐私和增强匿名性(虽然其他的不多)

  • 密码更改政策

  • 登录印章(雅虎,ADFSv2)

缺陷

  • 许多站点不提供与此处记录的相同的 HTTP 标头安全性。这意味着某些站点比其他站点更容易受到 MITM、FireSheep、令牌重放或 Clickjacking 的攻击。

  • 各个站点之间实际上根本没有一致性。

而这仅仅是个开始。我有一个更详细的帖子,这里有许多有价值的超链接在那里,我比较了主要 OpenID 提供商的所有安全功能,并向社区请求我们应该考虑的任何其他功能或 IDP。

如果您发现 IDP 具有未列出的安全功能,我会鼓励任何人在此发帖。

它适用于任何类型的 webapp 吗?

我会说 Verisign 将是更高安全性场景的可信名称,假设最终用户选择了所有的花里胡哨。我不喜欢配置他们的 HTTP 标头(重复链接)。只需确保您的依赖方(网站)保护自己免受来自 RP 和以前会话的重放 cookie 的影响。

如果您使用 Windows / IIS 作为依赖方,我可以向您发送更多信息,以防止我在上一段中提到的场景。

额外研究

Microsoft 在此处提供了有关 OpenID 安全问题的详细白皮书我给作者发了电子邮件,他们在http://sso-analysis.org/ 上发布了一个分析器,分析工具在这里可用:http: //sso-analysis.org/aaas/brm-analyzer.html

电子商务网站用openid我觉得不太好,但是社交网站和资讯网站用openid没问题。

原因是:

  • 您不知道提供商的安全性。
  • -

我不会将 OpenID 用于任何事情,原因很简单,我只是不太了解它的内部工作原理。总的来说,尽管我会这样说;

通过将您的访问管理外包给它,如果主要供应商之一发生任何事情,您就会陷入困境。

例如,假设谷歌决定开始作恶并将您的用户密码出售给第三方,第三方获得对您网站的访问权并代表用户做事。

用户不会生 Google 的气,他们会生你的气。

虽然在这种极端情况下,您有法律支持,但我不知道如果您的用户信息以其他形式泄露,您是否会有案例。