【问题标题】:What might solve OpenID's security problems什么可以解决 OpenID 的安全问题
【发布时间】:2011-09-09 17:12:48
【问题描述】:

OpenID 的问题是,任何人都可以建立一个看起来像 yahoo/google 的表单,并在那里引导用户并设置密码。这会影响我作为用户(尽管我可以小心),但它会影响 OpenID 提供者。可以做些什么来防止这种情况发生?除了教育用户查看 URL 和所有这些。我的意思是一种防止这种情况的技术方法。

【问题讨论】:

  • 网络钓鱼不是 OpenID 独有的问题。
  • @ceejayoz,是的,但是在 OpenID 上完成后结果是独一无二的,OpenID 是适合所有类型登录系统的单一登录。

标签: security web-applications login openid


【解决方案1】:

我一直喜欢的一个想法(不仅因为这是我的想法)是,您可以通过永远不允许用户拥有自己的密码来解决这个问题。该策略是,为了登录,用户访问他们想要登录的网站,并请求一个身份验证令牌。然后令牌会通过电子邮件发送给他们,并在一段时间内有效,他们只需单击链接即可登录。

但是,这种方法的明显问题是:您的电子邮件无法做到这一点。所以,它稍微改变了问题。但是,如果您通过客户端证书方法向您的电子邮件提供商或任何人进行身份验证:http://en.wikipedia.org/wiki/Mutual_authentication,并考虑其他一些事情(即确保登录链接详细信息的传输不被拦截,等),这至少是“有趣”的思考。

但是,一般来说,解决您的问题的方法是:验证交易双方;即,在发送您关心的任何内容之前,确保您正在与之交谈的网站是您想要的网站。

【讨论】:

  • 在许多情况下,为每个网站使用不同的令牌会很好,因为您不会将您的“密码”信任给任何人......就像 twitter 或 ebay 令牌;) 相互身份验证带来了VPN 派对...非常“昂贵”。
  • @Noon Silk,如果我理解正确的话,这根本不涉及 OpenID。现在,我看到的一个明显问题是可以临时访问您的电子邮件的人可以请求访问令牌。这意味着您必须跟踪访问令牌的请求(就像信用卡账单一样),以便让用户知道何时进行了访问。然后,用户经常查看它并检查不是他提出的请求。但如果用户经常使用某个网站,就很难记住他们是想在周六上午 11 点 17 分登录还是因为女朋友在弄乱我的帐户。
  • @someold:的确,能够访问电子邮件突然变得“非常重要”,但目前无论如何都是这样(您可以请求重置密码,通常只需要一个电子邮件地址,也许还有其他微不足道的信息)。一旦进入,也可以对操作进行身份验证(取决于它是什么,银行转账仅限于授权账户,小额转账等,银行已经这样做了)。
  • @Noon Silk,您所说的另一个问题取决于电子邮件。它需要我必须检查我的电子邮件的额外步骤。如果是这样的话,我也可以在每次想登录时使用密码重置功能。
  • @someold:确实。但是,当您想登录某些东西时,检查电子邮件几乎从来都不是问题。记住 - 这并不一定更方便(在某种程度上,因为这意味着你不需要记住密码,你不记得你没有什么)。这个想法是为了阻止用户被网络钓鱼(即通过知道某些内容并将其输入错误的位置)。这个想法从他们身上消除了这种知识;并将他们的知识保持在最低限度。这很好,可以防止网络钓鱼。 (事实上​​,理想)。
【解决方案2】:

我不喜欢 openID 身份验证协议,但 SSL(是要走的路,它)使网站值得信赖,并且浏览器应该真正开始拥有类似的网站列表,如 google、yahoo、youtube、facebook 等使用该技术并拒绝在未获得适当证书的情况下打开网站。

这是一个稍微超出您问题范围的解决方案,但也解决了它。因为考虑一下……如果 StackOverflow 开始使用 SSL,为什么浏览器应该允许连接到它而不首先获得正确的证书?有道理吗?

一项技术,解决所有问题。

【讨论】:

    【解决方案3】:

    这个问题被称为Trusted Path,很少有好的解决方案。不过,该维基百科文章中链接的 Ka-Ping Yee 的论文对它进行了很好的处理。

    【讨论】:

      【解决方案4】:

      这基本上归结为网络钓鱼攻击。从技术角度来看,这不是可以轻易阻止的事情,除非所有涉及的身份验证方之间达成相互协议。一些银行现在显示用户选择的图像。实际上,银行试图证明他们是那家实际的银行(因为他们知道您在注册期间选择了什么图像)并且用户正在向银行提供密码以表明他们有权访问该帐户。

      【讨论】:

      • 这个额外的图像不能解决 MITM 攻击。攻击者仍然可以建立一个钓鱼页面,只需将用户的输入转发给真实的银行,获取图像,然后将其回放给用户。
      • @Mike Samuel - 不,它不是 100% 安全的(什么是?),但它是防止网络钓鱼攻击的额外步骤。优点是,银行可以更容易地确认可疑活动,因为从一个/多个服务器发出的请求数量是为了检索用户的图像。当然,这可以通过检查 IP 的来源国家以及让银行向用户发送电子邮件/发短信以确认 IP 地址是否可疑来扩展。
      • 从技术角度来看,实际上可以通过使用证书轻松避免:en.wikipedia.org/wiki/Mutual_authentication
      • @keyboardP,如果您使用银行示例,请记住该图像是在 给出登录凭据之后显示的,所以我真的想知道它是否有用。您的“所有涉及的身份验证方之间的相互协议”非常模糊。我在想网站必须向 OpenID 提供商注册,但再次在输入登录信息之前,用户如何知道他所在的网站是否已注册。这也许可以通过浏览器插件或其他东西实现,但现在它与密码管理器的想法没有太大区别
      • 我会像我之前所说的那样使用 SSL 证书,因为这样您就可以确定那是您的主机。 —但是是的,人们需要学习,浏览器需要拒绝没有证书的最受欢迎的网站(或在某处列出的网站)。
      猜你喜欢
      • 2022-07-19
      • 1970-01-01
      • 2018-03-09
      • 2012-03-28
      • 2021-01-17
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      • 1970-01-01
      相关资源
      最近更新 更多