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

时间:2008-09-17 18:19:55

标签: security openid

所以我喜欢OpenID的想法。我在我的网站上支持它,并在任何可能的地方使用它(就像这里!)。但我不清楚一件事。

支持OpenID的网站基本上接受任何OpenID提供商,对吧?对于想要减少机器人注册的网站,这有什么用?什么阻止恶意OpenID提供商自动设置无限制的机器人ID?

我有一些想法,并会将它们作为一个可能的答案发布,但我想知道是否有人能看到一些我错过的明显事物?

6 个答案:

答案 0 :(得分:13)

你混淆了两件事 - 识别和授权。仅仅因为你知道某人是谁,这并不意味着你必须自动允许他们做任何事情。 Simon Willison在An OpenID is not an account!中很好地介绍了这一点。Social whitelisting with OpenID提供了有关白名单的更多讨论。

答案 1 :(得分:9)

对你的问题的简短回答是,“它没有。” OpenID故意只提供一个集中认证站点的机制;您可以自行决定接受哪些OpenID提供商。例如,Microsoft recently decided to allow OpenID on its Healthvault site only from a select few providers。公司可能决定仅允许从其LDAP支持的接入点进行OpenID登录,政府机构可能只接受来自生物识别支持站点的OpenID,并且博客可能只接受TypePad,因为他们进行了严格的垃圾邮件审查。

OpenID似乎有很多混乱。它最初的目标只是提供一个标准的登录机制,这样当我需要一个安全的登录机制时,我可以从任何或所有OpenID提供商中选择来处理这个问题。允许任何人在任何地方设置自己的可信任OpenID 提供商从来都不是目标。有效地做第二个是不可能的 - 毕竟,即使加密,也没有理由你不能设置自己的提供商安全地撒谎,并说它正在验证你想要的任何人。拥有一个标准化的登录机制本身已经是一个很大的进步。

答案 2 :(得分:3)

OpenId只是用户在注册您的网站时选择的用户名和密码。您不依赖OpenId框架来清除机器人;你的注册系统应该仍然这样做。

答案 3 :(得分:2)

可能的解决方案 - 您仍然可以要求新ID通过CAPTCHA测试。就像机器人可以使用虚假/多个电子邮件地址注册任何网站一样,但也无法在那里执行“验证”步骤。

或者我们是否必须开始维护提供商黑名单?考虑到建立一个新的提供者是多么简单,这些方法的效果不会很好。

答案 4 :(得分:2)

据我所知,OpenID仅解决身份识别问题,而不是授权问题。停止机器人是一个授权问题。

答案 5 :(得分:2)

请注意,与传统的“每站点”登录不同,OpenID为您提供可能超越各个站点的身份。更好的是,这个标识甚至是一个URI,因此它非常适合与RDF一起交换或查询有关该标识的任意元数据。

您可以使用OpenID执行一些操作,而使用新用户的常规用户名则无法做到这一点。

首先,您可以执行一些简单的白名单操作。如果* .bigcorp.example是来自Big Corp员工的OpenID,并且您知道Big Corp不是垃圾邮件发送者,那么您可以将这些OpenID列入白名单。这应该适用于半封闭的网站,也许它是当前和过去员工的社交网站。

但更好的是,您可以从其他地方推断使用特定的OpenID。假设您有一个OpenIDs映射到Stackoverflow.com的信誉值。当有人在您的网络论坛上显示OpenID时,您可以看到他们是否在Stackoverflow上有良好的声誉,并跳过这些用户的CAPTCHA或试用期。