有什么理由不使用OpenID?

cle*_*tus 58 security openid web-applications

关于OpenID,你看到了一点(在Geek社区中).这似乎是一个好主意.我正在开发一个网站,针对的是一些不那么讨厌的观众(但也不是妈妈和流行音乐节目),所以我不得不怀疑OpenID对某些观众来说是否"太难"了.

你怎么看?除此之外,还有其他技术或非技术原因不使用OpenID吗?

tho*_*ter 71

说普通人不理解OpenID可能有点不准确.

在大多数情况下,通过一些有说服力的营销(即"使用一次登录所有网站!11!")他们可以理解,它允许他们使用一次登录在站点登录,而不是在一堆不同的用户名和密码不同的网站.

但问题是,对于普通用户来说,整个OpenID体验与他们认为的在线安全性相反.

  • 用户不会自动信任它

    通过正常的用户名/密码登录,用户可以理解密码应该保密,这就是在他们登录网站时保护其隐私的原因.他们如何理解OpenID客户端站点与其OpenID提供商之间的交换?他们所知道的只是他们没有输入密码(假设他们"总是登录"他们的OpenID提供商) - 所以它不安全,对吧?我的意思是,在用户眼中,如果他们没有提供密码,怎么能安全?这可能导致用户不信任.

  • 它使网络钓鱼变得容易

    (很多)用户知道为不同的帐户重复使用相同的密码是错误的,但这似乎正是OpenID正在做的事情.如果用户只是假设他们的所有OpenID提供商正在做的是与所有参与网站共享他们的密码怎么办?我的意思是,OpenID如何在所有这些网站上"登录"?如果用户认为通过OpenID,所有参与的OpenID站点都知道他们的密码,他们可能会认为将密码提供给任何这些站点是相当合理的.这是一个网络钓鱼的噩梦.想象一下,将这句话放在您的网站上:"请输入您的(某些OpenID提供商)用户名[]和密码[]".你已经钓鱼了.

    我们也不能忘记,即使出于一个略微不同的原因,用户也会在某种意义上对他们的怀疑是正确的:如果有人获得对其OpenID提供商的访问权限,他们就可以在他们使用过的所有网站上访问他们的身份.身份,这与在多个站点使用相同密码的缺点相同.

  • 它偏离用户理解的太多

    在不同站点拥有多个用户名/密码对于用户来说并不难理解.用户很好地理解用户名和密码的概念,因为他们已经习惯了这些概念,而且安全点(密码是秘密的事实)对他们来说非常明显.密码的工作方式非常清楚.拥有多个用户名和密码组合并不会使这更令人困惑或复杂 - 它只是一样,但不止一个.虽然记住多个密码可能很困难,但用户至少知道如何操作,以及它是如何工作的.

    OpenID试图解决记住多个密码的问题,但在这个过程中它创建了一个全新的范例,一个对用户完全不透明的范例.与密码不同,密码的安全性是显而易见的(它必须是秘密的),OpenID的所有安全性都在幕后进行,网站彼此通信,密钥和哈希等.用户不再完全理解他们的隐私受到保护或者对谁保密,因为他们不了解系统的运作方式.因此,为了解决记住多个密码的问题,OpenID创建了一个神秘的密钥交换系统,违反了用户对身份验证工作方式及其安全性的全面理解.

  • "只是教导用户的问题"是可用性的对立面. (4认同)

Sco*_*len 45

普通用户仍然不了解OpenId是什么,它是什么,或者如何使用它.例如,我的父母无法登录Stack Overflow.

话虽如此,这主要是关于用户界面.没有什么可以阻止他们使用OpenId - 他们只需要一个用户界面从他们那里抽象掉OpenId,然后让他们用他们的Google帐户登录(例如).

  • 请参阅https://rpxnow.com/,了解一个包含在顶部的更好UI的示例.此变体还支持OAuth,它可以获取Facebook等. (11认同)
  • 同意.事实上,我作为用户首次与OpenID联系的是Stack Overflow,它花了我一小时的时间来弄清楚我应该做什么或使用什么以及它是如何工作的.我注意到我已经有一个帐户允许我将它用作OpenID(Technorati)但几个月后开始变得片状然后完全放弃支持,使得体验更加有趣.一般来说,你需要在一分钟内向一个极客*解释*的任何事情都严重过于复杂,无法用于普通人.或者也许我只是一个低于平均水平的极客. (3认同)

Ros*_*oss 19

OpenID非常容易受到网络钓鱼攻击.如果您运行OpenID站点,请尝试更改登录页面一天以请求标识符密码,而不是仅请求标识符并重定向到OpenID提供程序以请求用户密码的常规方法.我打赌你可以通过这种方式获得用户密码的四分之一.

  • 虽然你说的是真的,罗斯,但它并不是OpenID独有的.如果您的网站采用"电子邮件地址和密码"组合,就像许多网站一样,我打赌超过50%的帐户会为您提供他们用于电子邮件帐户的相同密码.OpenID至少让你甚至不接受密码! (14认同)

kem*_*002 12

是的安全.使用OpenId会使您受到管理其帐户的怜悯.您无法控制密码安全性和用户ID.您信任其他组织,以验证访问您网站的人是否是他们所说的人.如果你需要真正确认某人是他们所说的人.如果不自行进行某种二次验证,您将无法获得open id.在这种情况下你也可以不使用OpenId.

http://www.computerworld.com/s/article/9179224/Researchers_Password_crack_could_affect_millions

  • 虽然这是事实,但我相信雅虎和谷歌可以建立一个比我更好的身份验证架构.像这样的大型提供商更有可能拥有比我能提供的更好的密码保护,所以我不知道这有多重. (26认同)
  • 使用第三方验证是一种有效的安全形式.例如,我们信任并支付第三方公司发行的SSL证书,这被认为比自行颁发的证书更为可取. (4认同)
  • -1这只是FUD.我同意@rwmnau.凯文所说的*看起来像*有道理,但实际上是错的. (2认同)

Tim*_*ost 9

这出现了很多.

一条好规则:

如果您需要收集并保留私人个人身份信息,请不要使用OpenID.

如果您不需要收集和保留私人个人身份信息,请继续提供OpenID作为登录方法.

对于电子商务或您需要遵守PCI/DSS认证的任何其他地方,我不会使用OpenID.

我不介意SO只是OpenID,但我不会创建一个专门使用它的网站.


小智 6

  1. 界面很糟糕.

    一个.注册OpenID需要更多的时间和精力.正常注册只需要很少的时间或精明.注册只发生一次,但这是一项大规模的前期投资,因此该网站必须非常引人注目.

    湾 登录涉及:三个数据而不是两个; 两个网页而不是一个(实际上是StackOverflow的三个); 和一个外部网站.每次.

    C.这种解决方案有更好的接口.例如,我使用KeePass.

  2. 名称冲突.没有办法确保唯一的名字.

  3. 安全很可怕.

    一个.它鼓励像网络钓鱼一样的行为.它没有"Visa验证"那么糟糕,但它已经接近了.

    湾 单点故障:如果你失去了什么,你会失去一切.KeePass至少允许我在物理上保护密码(你必须拥有带有加密数据库的硬盘).

    C.跨站点跟踪.信用卡公司实际上已制定规则来管理他们允许的跟踪量.在现代浏览器中可以选择性地禁用或阻止Cookie.OpenID没有规则也没有调控器.

  4. 它实际上并不普遍.Google提供OpenID ...但不使用它们.雅虎也是如此.对于美国在线.OpenID提供商没有动力允许使用其他提供商的OpenID.

  5. OpenID对于身份验证很有用,但不适用于授权,特别是对于任何敏感的(例如信用卡).

就我个人而言,我在每个站点使用一个登录名/密码,并且我使用KeePass(我可以在物理上保护并且必须使用两层必须破解的密码)来维护一次登录到任何地方的抽象.

这包括StackOverflow:我专门为你们创建了一个OpenID ,我不会在其他任何地方使用它.我做到了这一点,我忍受了登录的痛苦,因为内容引人注目.

但是,如果一个真正的身份验证方法是有史以来提供的StackOverflow,我在上面跳的心跳,只为易用性收益.


jti*_*man 5

OpenID仍然与其他所有基于密码的身份验证方法一样不安全.实际上,情况更糟,因为如果有人访问您的OpenID,他们现在拥有的不仅仅是那个帐户.当然还有网络钓鱼攻击,但我们都是精明的程序员,数据库和系统管理员,所以我们不会因此而堕落,对吧?

身份验证安全性基于信任.正如其他人指出的那样,为什么您会相信第三方可能存在敏感信息?当然,你可以建立自己的一个OpenID服务器,但多少麻烦的是,与在多个系统上维护单独的密码?当然,你可以创建安全的密码是漫长而充满非字母数字字符,连他们都存储在一个密码管理器(我),但一些网站都在一个简单的密码恢复表格可填写获得硬伤访问重置密码.

我可能会倾向于支持甚至传福音的OpenID,如果它没有安全的基于私有密钥的认证,一拉SSH或PGP.也许这是一个提供这种方法的提供商的问题 - 我还没有研究过它.

最后,虽然我们都信任OpenID足以使用它在Stack Overflow上进行身份验证,但我的OpenID是一个"一次性",并且它不像我使用它作为专业的声誉构建工具(即,我的真名不参与;-)).我敢肯定我不是唯一一个(这个网站很酷很棒!).

  • "也许这是提供这种方法的提供商的问题"Verisign的OpenID可以做到这一点.不同提供商的价值.. (2认同)