OpenID提供者 - 什么阻止恶意提供者?

16

我喜欢OpenID的理念。我在我的网站上支持它,并在任何可能的情况下使用它(比如这里!)。但是有一点我不太清楚。

支持OpenID的网站基本上接受任何可用的OpenID提供者,对吧?那么那些想要减少机器人注册的网站应该怎么办呢?防止恶意的OpenID提供者自动设置无限制的机器人ID有什么措施吗?

我有一些想法,并将它们作为可能的答案发布,但我想知道是否有人能看到我忽略的一些明显问题?

6个回答

13

您混淆了两件不同的事情——身份验证和授权。仅仅因为您知道某人是谁,并不意味着您必须自动地给他们做任何事的许可。Simon Willison在An OpenID is not an account!中很好地涵盖了这一点。有关白名单的更多讨论可以在Social whitelisting with OpenID中找到。


11
身份验证和认证是同一回事。我想您的意思是认证和授权之间的区别。 - skaffman
这两个链接都已失效。 - Damian Yerrick

9
你的问题的简短答案是:“OpenID本身并不提供权限验证,而只提供了一个集中式验证站点的机制。你可以自行决定哪些OpenID提供商可信。”例如,微软最近决定只允许少数几个提供商的OpenID在其Healthvault网站上使用。公司可能决定只允许LDAP支持的接入点的OpenID登录,政府机构可能只接受生物识别支持站点的OpenID,并且博客可能会因为TypePad的强烈垃圾邮件审核而只接受TypePad。
对于OpenID,存在很多混淆。它的最初目标仅仅是提供一个标准的登录机制,以便我需要安全的登录机制时,可以从任何或所有OpenID提供商中选择一个来处理。任何人都可以随时设置自己的受信任的OpenID提供商,这从未是目标。第二个目标是不可能实现的,毕竟即使加密,您也可以设置自己的提供商,以安全地虚假认证任何人。拥有单一的、标准化的登录机制本身就是一大步向前。

3

OpenId不过是用户在注册您的网站时选择的用户名和密码。您不能依赖OpenId框架来筛选机器人;您的注册系统仍应该负责此项工作。


2
可能的解决方案 - 你仍然可以要求新的ID通过CAPTCHA测试。就像机器人可以使用虚假/多个电子邮件地址注册任何网站一样,但也会在那里失败“验证”步骤。
或者我们将不得不开始维护提供商黑名单?这些不会真正起作用,因为设置新提供商非常容易。

2
据我所知,OpenID 只涉及身份验证,而不是授权。阻止机器人是授权的问题。

2
请注意,与传统的“按站点”登录不同,OpenID 给您提供了一个身份,这个身份可能超越了个别网站。更好的是,这个身份甚至是一个 URI,因此非常适合与 RDF 一起使用,以交换或查询有关该身份的任意元数据。
使用 OpenID,您可以做一些无法使用新用户的传统用户名完成的操作。首先,您可以执行一些简单的白名单操作。如果 *.bigcorp.example 是 Big Corp 员工的 OpenID,并且您知道 Big Corp 不是垃圾邮件发送者,则可以将这些 OpenID 加入白名单。这对于半封闭的网站应该很有效,也许它是一个为现任和过去的员工提供服务的社交网站。
更好的是,您可以从特定 OpenID 已被使用的其他地方推断出一些信息。假设您拥有来自 Stackoverflow.com 的声誉值到 OpenID 的映射。当某人带着一个 OpenID 出现在您的网络论坛上时,您可以查看他们在 Stackoverflow 上是否有良好的声誉,并跳过针对这些用户的验证码或试用期。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接