【问题标题】:Why is it dangerous to use an email address as an OpenID?为什么使用电子邮件地址作为 OpenID 很危险?
【发布时间】:2009-07-05 12:07:27
【问题描述】:

Google 使用电子邮件地址作为其提供商服务的 OpenID 登录字符串。

我正在阅读有关他们推动将其纳入标准的会​​议的消息。微软反对这一点,“官方”原因是这可能会引入安全漏洞。这是假的吗?如果不是,为什么不安全?

【问题讨论】:

    标签: security openid


    【解决方案1】:

    这违背了最小披露的概念。现在,如果 OpenID 依赖方想要您的电子邮件地址,他们会要求提供,并且您会收到身份提供者的警告并要求您确认。使用电子邮件地址意味着不管您喜欢与否,除非您使用 OpenID 2.0,它可以在每个依赖方的基础上生成唯一值。

    对于所有 OpenID 库来说,这也将是一个巨大的变化 - URL 是可发现的,你知道它们的去向,电子邮件地址不是,这就是谷歌单方面这样做并有效地分叉 OpenID 标准的原因适合自己。

    另一个问题在于网络钓鱼。 OpenID 非常容易受到此攻击,因为用户信任依赖方在通过提供的 OpenID 发现它后会将其重定向到他们的提供商 - 因此“恶作剧”的依赖方可能会重定向到保存 OpenID 和密码的网络钓鱼站点。使用 Google,OpenID 和密码就是您的 gmail 帐户和密码,因此您不仅失去了对 OpenID 的控制权,还失去了对电子邮件帐户的控制权。当然这可以由提供商保护 - 您可以有单独的电子邮件密码和 OpenID 密码,您可以在 OpenID 登录页面上显示基于每个用户的秘密消息,但我们很清楚用户是 愚蠢。他们不检查浏览器中的 URL,他们盲目地在对话框上单击“确定”,他们根本不认为网页可能是假的。通过使用电子邮件地址和相同的密码,谷歌将其大多数用户置于不可接受的风险之中。

    【讨论】:

    • +1 用于识别最小披露问题 -1 用于指责 Google 在实际上遵循协议(委托除外)时分叉 OpenID 2.0。
    • 谷歌最初的实现不是分叉吗?它为他们提供了额外的发现步骤,您必须与谷歌交谈才能获得端点?
    【解决方案2】:

    使用电子邮件地址的一个危险是它很容易被猜到。或者想破坏您帐户的人可能会知道。

    将其与您的用户名和 OpenID 提供者可以是任何东西的当前情况进行比较。也许这是可以猜测的,也许不是。如果不是这样,您的帐户就会更难被盗。

    有些人似乎对此有疑问。看起来很简单。我没有说一个不明显的用户名本身就足够安全。离得很远。默默无闻的安全根本不是安全。

    但是,出于以下原因,这是纯粹的常识:

    1. 用户名不明确的密码;和
    2. 用户名不详的相同密码。

    (1) 在最坏的情况下与 (2) 一样安全,在最好的情况下更安全。

    更重要的是,如果您的电子邮件是您的密码,那么如果您泄露了某人的电子邮件地址,那么您可能会破坏使用它作为用户名的每个系统,并且由于“忘记密码?”而更容易受到破坏。链接以及在一个地方使用的密码更有可能在另一个地方使用这一事实。

    抱歉,这只是常识。

    【讨论】:

    • 如果它是可猜测的呢?您仍然需要密码。你说的不是security through obscurity吗?
    • @Joe:绝对。如果您的安全性甚至略微依赖于不猜测您的用户名的人,那么您就没有做对。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    • 1970-01-01
    • 2012-01-13
    • 1970-01-01
    • 2011-10-30
    相关资源
    最近更新 更多