我一直在想。 由于任何人都可以启动一个OpenID提供程序,并且由于没有中央机构批准OpenID提供程序,所以为什么不伪造OpenID提供程序成为问题呢?
例如,一个垃圾邮件发送者可以启动一个带有后门的OpenID提供者,让自己像其他用户那样欺骗他的网站进行注册。 这可能吗? 提供商的声誉是唯一防止这种情况的东西吗? 我们将来会看到OpenID提供商黑名单和OpenID提供商评论网站吗?
也许我完全不了解OpenID的一些事情。 请赐教:)
OpenID不是一个本质安全的协议 – 它没有权力强迫stream氓提供者提供安全,也没有“审查”每个提供者确保他们是安全的。
OpenID是一种机制,可以将您的凭证存储在值得信赖的供应商处,然后他们会将您validation给其他人。
如果你select一个不值得信任的提供者,他们可以看到和使用你可能使用你的凭据的一切。
OpenID不能取代信任。
-亚当
这与“伪造”电子邮件提供商几乎一样,会劫持用户确认电子邮件等。只有声誉阻止了这一点。 Poeple在gmail.com或hotmail.com上注册,但不在joesixpack.org上注册。
杰夫有一个非常好的 (和冗长的)这个话题的博客文章。 如果不回答你的问题,一定会启发你。 这些意见也导致了非常 说明性的文章。 强烈推荐。
在stackoverflow.com上有一些类似的问题 ,你可能会觉得有趣。
我能看到一个“stream氓”的OpenID服务器成为一个问题的唯一方法不是一个Web应用程序安全问题太多。 你正在做的是提供一个网站的身份。 他们告诉人们你是你自己,但他们也可以访问它。 如果一个恶意的人build立了一个OpenID服务器并且人们开始使用它,恶意服务的所有者就可以冒充任何使用他们服务器的人。
问题归结为你相信你的OpenID服务器的所有者?
我一般用OpenID的问题是,它是新的,没有任何标准(我听说过任何地方),定义了什么使得一个“好”的OpenID提供商。 对于信用卡数据,有用于pipe理信用卡信息的PCI-DSS标准 – 但没有等同于身份。
当然,这是一种新技术,通常用于对“信任”要求最小的应用程序。 但是在像ServerFault这样的网站上,我认为你需要的信任度要高于博客,但比银行或在线经纪商要低。
添加到以前的答案。 还不知道OpenID黑名单,但有一个关于OpenID白名单的志愿者计划。 白名单是一种分布式技术(就像电子邮件,DNS,HTTPS证书一样),没有单点故障,没有单点信任。 你可以相信一些人的白名单,他可以伪造它。
有意见认为,这些白名单必须扩展,以提供更多的信息(当然不是任何人),如用户活动,post数量,主持人警告的数量等。由于OpenID是一个全球性的身份,这将有助于几乎是即时传播的信息,像这个用户是垃圾邮件发送者。 这将迫使垃圾邮件发送者总是使用新的ID。 想象一下,ServerFault上的1000个信誉使您成千上万个其他网站上的可信用户。
对于那些认为OpenId的消费者应该让任何OpenId供应商成为authentication者的人来说,这只是一个疯狂的话题。 假设您拥有基于从openid提供商传递的电子邮件的授权用户列表。 一些stream氓人士build立了自己的OpenId服务提供商服务,并知道您之前授权的用户的电子邮件。 那个stream氓可以“authentication”自己作为你的接受用户。
如果您正在尝试使用openId进行安全保护,那么您必须拥有一份您信任的提供程序的白名单,否则,对于任何知道如何设置提供程序服务的人来说,都是非常开放的。