OpenID提供程序-什么阻止了恶意提供程序?

时间:2020-03-05 18:59:36  来源:igfitidea点击:

所以我喜欢OpenID的想法。我在我的网站上支持它,并尽可能使用它(如此处!)。但是我不清楚一件事。

支持OpenID的站点基本上可以接受任何OpenID提供程序,对吗?如何与希望减少漫游器注册的网站一起使用?如何阻止恶意的OpenID提供程序自动设置无限的机器人ID?

我有一些想法,并将其发布为可能的答案,但我想知道是否有人可以看到我错过的明显东西?

解决方案

回答

可能的解决方案是,我们仍然可以要求新的ID通过CAPTCHA测试。就像漫游器可以使用伪造的/多个电子邮件地址注册到任何站点一样,但是在那里也无法通过"验证"步骤。

还是我们将不得不开始维护提供商黑名单?鉴于建立新的提供者是多么容易,这些方法实际上不会很好地工作。

回答

OpenId只是用户在注册网站时选择的用户名和密码。我们不必依靠OpenId框架淘汰机器人。注册系统仍然应该这样做。

回答

据我所知,OpenID仅解决标识问题,而不解决授权问题。停止漫游器是一个授权问题。

回答

我们已经混淆了身份和授权这两种不同的事物。仅仅因为我们知道某人是谁,并不意味着我们必须自动授予他们执行任何操作的权限。 Simon Willison在一个OpenID不是帐户中很好地介绍了这一点!有关使用白名单的更多讨论,请参见使用OpenID的社交白名单。

回答

我们问题的简短答案是:"不是。" OpenID故意仅提供一种具有集中式身份验证站点的机制;我们可以自行决定接受哪些OpenID提供程序。例如,微软最近决定只允许少数几个提供商在其Healthvault站点上允许OpenID。公司可能决定只允许从其LDAP支持的访问点登录OpenID,政府机构可能只接受来自生物识别技术支持的站点的OpenID,而博客可能只接受TypePad,因为它们对垃圾邮件的审查很严格。

在OpenID上似乎有很多困惑。它的最初目标只是提供一种标准的登录机制,以便当我需要安全的登录机制时,我可以从任何或者所有OpenID提供程序中进行选择以为我自己处理。从来没有目标是允许任何地方的任何人建立自己的受信任的OpenID提供程序。毕竟,即使使用加密,有效地进行第二次操作也是不可能的,没有理由我们无法设置自己的提供者来安全地说谎并说它正在验证我们想要的任何人。拥有一个单一的标准化登录机制本身已经向前迈出了一大步。

回答

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

我们可以使用OpenID进行一些操作,而使用新用户的常规用户名则无法做到。

首先,我们可以执行一些简单的白名单操作。如果* .bigcorp.example是Big Corp员工的OpenID,并且我们知道Big Corp不是垃圾邮件发送者,则可以将这些OpenID列入白名单。这对于半封闭的网站应该很好用,也许它是现任和前任员工的社交网站。

不过,更好的是,我们可以从其他地方推断出已使用了特定的OpenID。假设我们有一个OpenID映射到Stackoverflow.com中的信誉值。当某人使用OpenID出现在Web论坛上时,我们可以查看他们在Stackoverflow上是否享有良好的声誉,并跳过这些用户的验证码或者试用期。