OpenID是一种在网站上验证用户的安全方法吗?
如果没有,与 OpenID 相关的安全风险是什么?
我同意大卫上面提出的许多观点,所以我在这里提出一些观点只是为了争论。
对于知识渊博的用户,我认为 OpenID 是一种比许多网站提供的更安全的身份验证形式。现在让我支持那句话。首先,知识渊博的用户是什么意思?我会将那个人定义为意识到 OpenID 的弱点并采取措施缓解这些弱点的人:
许多网站不知道如何安全地维护用户的密码。OpenID 的真正好处是我可以选择我的 OpenID 提供程序,从而选择登录依赖方所需的身份验证级别。例如,我可以选择将身份验证委托给Verisign或Trustbearer - 两者都提供比 Web 上的大多数网站更强大的身份验证技术。我宁愿相信一个专门为我的密码提供安全性的组织,而不是网络上的一些随机网站。所以我会争辩说,对于知识渊博的用户来说,OpenID可能比每个实施自己的身份验证系统的网站更安全。
尽管如此,大多数用户并没有意识到 OpenID 固有的风险因素,也不会采取措施来降低风险。
实际上,由于各种原因,我一直不喜欢 OpenID。
我必须信任我提供数据的 OpenID 提供商。我确实在一定程度上信任某些方面,但仅仅因为我可能信任 Stack Overflow,我不会自动信任任何知名的 OpenID 提供商。
如果我的 OpenID 密码被泄露,那么我使用 OpenID 的所有站点都会被泄露。通常我会为我使用的每个站点选择不同的密码,但我不能使用 OpenID。
我根本不喜欢 Persona 的概念。即使在发送任何数据之前我被问到,一个提供商拥有此信息而其他服务可以请求它似乎并不正确。好的,如果我不喜欢,我不必使用它,但这个概念对我来说似乎有缺陷。
正如已经提到的,数据在站点和 OpenID 提供者之间发送并再次返回。无论何时交换数据,都可能受到损害。没有系统是 100% 安全的;甚至没有 SSL (HTTPS)。如果数据只从我传到一侧再传回我自己,或者它也从那一侧传到另一侧再传回来,那就不同了。
如果一个 OpenID 提供者被黑了并且黑客获取了所有用户的登录数据(毕竟他们可爱地集中在一个地方!),想想影响!
仅举几个。我也看不到 OpenID 的巨大优势。对于他们说的用户
好,我们来分析一下。
(1) 您每天注册一个页面的频率是多少?200次?如果我每周注册 2 页,那已经是很多了。通常最多一个月 2-3 次(实际上 Stack Overflow,或者我使用 Stack Overflow 的 OpenID 提供程序,是我注册的最后一页,这不是昨天)。因此,当您每月注册 2 个站点时,您没有 5 分钟的时间来填写表格吗?来吧,别开玩笑了。
(2) 怎么做?因为它在任何地方都使用相同的密码?“这没有未来,这是一个漏洞”,大多数安全专家会说。还是因为它允许我通过邮件恢复我的密码?好吧,实际上我使用的几乎任何一面都允许我这样做。尽管如此,我的 Firefox 能很好地记住我的密码,将它们加密存储在磁盘上(使用主密码),并且这个加密的数据库会定期备份,以免丢失。
(3) 嗯,这可能是积极的……但是,到目前为止,我的名字从未改变,我的电子邮件地址也不会因为它是我使用的域之一并转发到真实地址(所以真实一个可以改变,我只是更新转发,一切都像以前一样)。我的街道地址?嗯,有些人经常搬家。到目前为止,我一生中只搬过一次。但是,大多数方面不需要知道我的街道地址。我认为没有理由让人们知道这些信息的网站,但要求我填写它以进行注册,只是得到一个伪造的。整个互联网上很少有网站知道我的真实地址(实际上只有那些可能不得不向我发送蜗牛邮件或我可能在哪里订购商品的网站)。
(4) 其实我是反过来看的。它最大限度地提高了安全风险。如何将风险降到最低?
OpenID 本质上是不安全的。它的工作原理是您的站点将用户重定向到他们的开放 ID 提供者站点,然后接受从该站点返回的 ID。这提供了两个方向的不安全感。您必须信任返回的 ID(因为您自己无法验证用户身份),并且很容易操作用户的开放 ID 提供者的代理,这允许您窃取他们的用户名和密码。
OpenID 适用于 Stack Overflow 之类的东西,如果有人冒充你并不重要。将 OpenID 用于具有更严重(在个人层面上)内容的网站是非常危险的。例如,如果您将 OpenID 用于您的电子邮件,那么任何窃取您 ID 的人都可以访问您的电子邮件。然后,他们可以反过来向您使用的其他网站发送密码提醒请求,以获取这些网站的密码。在最坏的情况下,您可以将 OpenID 用于银行帐户,或者让银行向您的电子邮件帐户发送密码提醒......
OpenID 还有许多其他安全问题。您可以在“互联网隐私”中找到更多信息。
OpenID 确实将另一方添加到身份验证过程中,您必须将其视为受信任的组件。这与任何允许通过电子邮件恢复帐户的应用程序非常相似,但是虽然您的电子邮件消息以明文形式传输,但您可以选择仅通过经过验证的 HTTPS 连接与 OpenID 提供商进行通信。
查看规范的安全注意事项部分。
有关 OpenID 中的弱点的详细描述以及优秀 OpenID 提供者如何提供比传统的容易被钓鱼的密码更安全的体验的演示,请参阅Kim Cameron的来自他的Identity Weblog的这段简短视频。
如果您选择忽略所有不支持 HTTPS 的 OpenID 提供程序,则可以使 OpenID 更加安全
我认为大多数 OpenId 提供商的主要弱点是他们通过电子邮件提供密码恢复。这会将 OpenId 的安全性降低到我的电子邮件提供商的安全性。如果有人可以访问我的电子邮件帐户,他可以有效地窃取我的身份(无论是否有 OpenId)。
使用 OpenId 进行身份验证使窃取 ym 身份变得更加容易。只需访问我的电子邮件帐户并重置我的 OpenId 密码。没什么可做的(而不是 100 个密码重置请求,我在网络上的每个帐户一个)。
更糟糕的是,如果攻击者更改了我的电子邮件帐户密码,我将很难证明我是该 OpenId 帐户的原始所有者。攻击者可能会将关联的电子邮件帐户更改为他的帐户,因此即使我稍后取回我的电子邮件帐户,我也无法重置密码。
访问我的 OpenId 提供商发送的用于窃取我的身份的密码恢复电子邮件可能就足够了。
OpenId 提供商必须提供禁用电子邮件密码恢复功能,并提供更安全的方式来恢复丢失的密码。基于邮政地址、护照或银行账户的东西(我比电子邮件账户更信任的东西)。
只要可以通过访问单个电子邮件来接管 OpenId 帐户,它只不过是一个额外的单点故障。
另请参阅:http ://danielmiessler.com/blog/from-password-reset-mechanisms-to-openid-a-brief-discussion-of-online-password-security其中“最弱的链接:电子邮件密码重置机制”是也解决了。
虽然这个线程很旧,但我想加我的 2 美分。我认为 OpenId 有一个似乎没人关心的缺陷。当我通过雅虎进行身份验证时,它实际上将我登录到雅虎。它不应该让你登录到雅虎它应该只是验证你有雅虎的正确凭据。当您退出我的应用程序时,您仍然登录到雅虎。如果您离开共享计算机而另一个人转到雅虎,您将登录..因为当您通过雅虎进行身份验证时,他们也会将您登录到他们的服务。他们应该只是对您进行身份验证,而不是让您登录。我已经告诉过几个人,甚至用 stackoverflow.com 进行了演示(他的注销机制很糟糕,当我点击注销时,我希望被注销,请不要点击另一个注销按钮)。尝试退出 yahoo 或 gmail。关闭所有标签,然后使用 yahoo/gmail 登录到 stackoverflow。然后注销堆栈溢出..(确保您两次注销)..现在浏览到 yahoo 或 gmail,您已登录。现在我得到的讽刺答案是“不要使用共享计算机,您应该注销Yahoo / gmail 等”......每个人都不是拥有 MIS 或计算机科学学位的开发人员,我的岳母会认为当她退出 Stackoverflow 时,她仍然不会登录到 yahoo.. 也许我我缺少一些参数或实际上会强制执行我想要的东西,但肯定不会在文档中告诉您 OpenId 有多棒!!!
哎哟。MyOpenID 报告未经确认的电子邮件地址,只是对此进行了测试。看起来只有一些手动列入白名单的提供商(如 google/yahoo 和其他几个)才应该信任电子邮件信息。如果有人感兴趣,我会在这里链接代码。
我喜欢 Verisign 的 VIP 访问权限,网站可以使用,还有一个不错的 iPhone 小应用程序,可以让您拥有生成的令牌进入,就像 secureID