【问题标题】:does it make sense to send password information during email communication from websites在来自网站的电子邮件通信期间发送密码信息是否有意义
【发布时间】:2011-03-05 06:26:03
【问题描述】:

大多数注册的在线网站都会发送一个链接来激活该网站,并在与最终用户的任何进一步通信中提供有关该网站的信息,并提供带有明文密码的登录凭据(如下所示)

用户名 - myname@gmail.com 密码 - mysecretpassword

遇到这种情况你会怎么做?从可用性的角度来看,以明文形式发送密码信息是否有意义,或者您是否应该避免发送此信息。我的印象是大多数密码在存储到数据库之前都是经过 MD5 散列的,因此服务提供商将无法访问明文密码,这是否违反了安全性?

【问题讨论】:

  • 我知道当我看到它时我会做什么。我向该站点发送了一封电子邮件,询问他们为什么不关心安全性。

标签: security usability passwords


【解决方案1】:

是的,这绝对是违反安全规定的。只应存储加盐和散列的密码版本。

重置密码功能通常会发送一个临时自动生成的密码(这应该只适用于一次登录)或一次性重置链接。这确实意味着您的其他帐户仅与您的电子邮件一样安全。

但是,您应该避开任何会以明文形式通过电子邮件发送您的实际密码的网站。

【讨论】:

    【解决方案2】:

    一个普遍存在的谬误是,如果您收到纯文本密码,则意味着密码存储不安全 - 与任何其他数据一样,密码可以使用可逆加密进行存储。

    话虽如此,很可能任何向您发送明文密码的人都不知道安全性,并且可能不小心存储它们(除非密码被用作现实世界中的弱标识符,比如作为 in-商店会员计划,在这种情况下,不应将其称为密码,以免您的客户感到困惑)。

    如果您发送纯文本密码,您不妨假设如果它与重要的东西相关联,那么它已被泄露。弱点实在是太多了。你也可以造成更多的无意伤害。

    1. 如果向其他人提供密码,电子邮件可能会被截获。
    2. 有人可以在他们的屏幕上看到他们打开电子邮件(去过朋友家,我们俩都发生过很多次这种情况,每次去更改所有密码都让人头疼)。
    3. 电子邮件可能被转发到其他不安全的地址。
    4. 电子邮件可能会退回/遇到服务器错误,然后是您(可能是您不受信任的员工或外包服务台?),电子邮件服务器的系统管理员可能会收到原始电子邮件的副本。
    5. 通过 cookie 劫持甚至只是短暂无人看管的打开电子邮件帐户获得用户电子邮件访问权限的人现在可以看到他们的密码。更糟糕的是,他们的密码可能在其他地方使用(或者至少有一个共同的词干,例如“password1”、“password1$$”、“passwordSuperSecure123”),所以您现在已经破坏的不仅仅是您自己的服务。更糟糕的是,它可能是被劫持的电子邮件帐户的密码,现在他们可以窃取此人的电子邮件帐户,从而在比 cookie/会话的到期日期更长的时间内窃取身份。 (这一切都发生在我认识的人身上)。

    【讨论】:

    • 这根本不是谬论。密码应该使用可逆加密存储。整个系统(包括数据库和密钥)被破坏是很常见的。如果您使用可逆加密,这意味着攻击者可以访问密码(用户通常会在多个地方重复使用该密码)。如果你使用加盐和散列,它们不会。
    • 谬误在于,以明文形式发送的密码表示以明文形式存储的密码。如果他们可以访问您的密钥和数据库,那么您手头可能会遇到更大的问题。如果他们可以访问您的 salt 和您的数据库,那么他们仍然可以生成一个彩虹表,不应该花那么长时间来破解大多数散列密码。
    • @Matthew Flaschen:如果你重复使用同一个密码,你就是在要求它。
    • 我只想指出,我也不鼓励使用可逆密码而不是散列密码,这只是有时不得不在业务压力下做出的妥协。在解决“我应该以明文形式发送密码”之前,我只是在解决 OP 的问题“这是否意味着它们以明文形式存储”。
    • @Graphain,没有人说“以明文形式发送的密码表示以明文形式存储的密码。” OP 说,我同意,这表明安全违规。显然,您不希望人们破解您的系统。但在这种情况下,没有理由也让他们获得解密的密码。 @Longpoke,即使用户没有在多个地方使用密码(这是他们生活中的事实),攻击者仍然可以在他破解的同一个站点上使用解密的密码,一旦它再次启动并运行。跨度>
    【解决方案3】:

    总会有取舍,开发者必须考虑可用性、目标用户的精明程度、数据的保密性和重要性、网站的使用频率等等。当然用户不希望他们的隐私受到侵犯,但另一方面,“普通”网络用户可能会因为必须记住密码而被关闭,甚至必须首先发明一个密码(一些网站通过生成密码来简化用户注册一个随机密码并通过电子邮件发送)。网站开发人员有责任在设计安全性时牢记用户的最大利益。

    我的建议是,仅当密码是随机生成时,才应以明文形式通过电子邮件发送。这避免了以下尴尬的情况:用户使用他们已经在用于各种其他 Web 服务的密码进行注册,然后收到一封包含他们刚刚输入的密码的注册确认电子邮件。许多用户可能没有足够的安全意识来为每个网站使用唯一的密码,但他们有足够的安全意识来认识到不应通过电子邮件发送“敏感”密码。 p>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-19
      • 2021-03-22
      • 2017-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-23
      • 2011-02-01
      相关资源
      最近更新 更多