我请一位客户服务代表帮助我向与他们托管的网站添加SSL证书。完成他的工作后,我收到了这封电子邮件,其中包含我的所有登录信息以及我的整个密码(以纯文本形式显示)(我留下的第一个字母作为证据)。我一年多以前设置了这个密码,发现他们以纯文本形式无提示地将其发回给我,这真是一个很大的惊喜:
我立即把这个问题带给代表,他反复试图说服我说没关系。我决定在几分钟后放下它,因为我认为我应该把它带给更高的人。在我这样做之前,可以安全地假设我的密码以纯文本形式存储在他们的数据库中吗?如果是这样,您对如何与提供商解决此问题有任何建议吗?
#1 楼
是的,这是一个大问题,特别是如果这是您的旧密码(即不是新分配的密码)。从技术上讲,该密码可能以可逆加密而不是纯文本格式存储,但这几乎与坏。绝对最低标准应该是加盐散列-少不了什么,任何有权访问auth数据库的人都可以使用在线Rainbow表在瞬间恢复明文密码-但是单迭代安全散列算法(SHA)功能是仍然易于使用GPU进行暴力破解(它们被设计为快速;高端GPU可以每秒处理数十亿个数据),因此,他们确实应该使用适当的密码哈希函数(例如scrypt或argon2),或者在紧急情况下使用bcrypt或PBKDF2。
此外,绝对没有办法保证电子邮件是在其邮件服务器和电子邮件客户端之间的整个路径上进行加密的。电子邮件是在人们实际上并不认为这些事情很重要的一天设计的,并且缺少像OpenPGP或S / MIME这样的端到端加密方案,电子邮件充其量只能是机会性的加密,并且可以通过未加密的中继。
评论
这是非常好的一点。它们不仅以潜在的不安全方式存储密码,而且还不必要地通过不安全协议将密码传输给用户。
–马奎佐
19 Mar 27 '19 at 0:07
您绝对应该提出来。任何体面的当前安全系统都不能提供当前凭证。管理员应了解如何根据需要将其重置为默认值或提供重置说明,但不应该为您(该用户,用户)创建并且只能由您知道的私人凭据,并且不会为您提供这些凭据。您可以将其暴露为恶意的内部人员或MITM。
– psosuna
19 Mar 27 '19 at 0:26
我想将第一句话改为“ ...,如果这是用户提供的密码”,以得到最广泛的理解。只有自动生成的密码才能在这种情况下传输,该密码必须在下次登录时更改。
–orithena
19 Mar 27 '19在9:35
这个答案可能更强。该代表是完全错误的。即使他们使用可逆加密以便提取原始明文,也和根本不加密一样好,他声称电子邮件是安全的,这完全是胡说八道。为了所有人的利益,这需要与HostGator一起升级。
–轨道轻赛
19 Mar 27 '19 at 13:37
为什么说“紧要关头,bcrypt”-它不仅像scrypt或argon2一样安全?它当然有多年的现场测试。
– corsiKa
19 Mar 27 '19 at 18:55
#2 楼
是的,它们以纯文本或等效形式存储密码,并且肯定以纯文本形式传输密码。这是在2011年发现的。已确认HostGator列在纯文本犯罪者上,以及其在CVS文件中的列表中也包含犯罪者列表。这并不是什么新鲜事物,至少自2011年以来就为人所知。HostGator自此以来就没有进行过任何改革。 Plaintext Offenders网站显示了与您相似的屏幕截图作为证据:
评论
我意识到这是一个语义要点,但是我看不到如何证明它们以明文形式存储密码。他们可以将它们加密并在将它们发送给您时解密。当然,这是不好的做法。
– Greg Schmit
19 Mar 28 '19在18:05
他们至少声称他们没有以明文形式存储密码:i.imgur.com/9qrVPrm.png(再次,不要否认这是不好的做法)。
– Greg Schmit
19年3月28日在18:08
@GregSchmit:不管密码是否以纯文本形式存储在auth数据库中,它都会以纯文本形式存储在HostGator的电子邮件服务器中,有可能通过Internet以纯文本形式传输,并且有可能以纯文本形式存储在收件人电子邮件服务器中。我之所以说是潜在的原因是,这很大程度上取决于您收到HostGator电子邮件的域以及处理该域的服务器的配置方式。
– Ben Voigt
19 Mar 28 '19在20:24
@BenVoigt我们已经知道明文密码是通过电子邮件发送的,因此这是无关紧要的。问题是他们是否将其以明文形式存储在数据库中。 OP不会询问“此密码是否以明文形式存储在某处的电子邮件服务器上”,因为鉴于密码已通过电子邮件发送,这将是一个愚蠢的问题。
– Greg Schmit
19 Mar 28 '19在20:29
重申一下(因为显然需要这样做),我同意加密密码是不正确的做法,因为这意味着可以对密码进行解密,但是此答案不诚实地假装已证明,在有可能的情况下,密码以明文形式存储将其存储为加密文件,投票最高的答案将正确解决此问题。
– Greg Schmit
19 Mar 29 '19在2:35
#3 楼
如果公司代表的响应为true,则密码将存储为加密文本。这使得无提示电子邮件中的纯文本密码成为更大的问题。是否可以安全地假设我的密码以纯文本形式存储在他们的数据库中?
公司代表明确告诉他们,密码不是纯文本形式存储的。假设他说的是实话,我的结论是他们将密码存储在加密的文本中。它们比纯文本密码更好,但是仍然不安全。散列和加盐是存储密码的最佳方法。
如果存储的密码是加密的,则此处最大的问题不是存储方式而是传输方式(以电子邮件中的纯文本格式)当用户不要求任何请求时。
,您对如何使用
提供程序解决此问题有任何建议吗?
您可以要求公司更改以下内容(按优先级顺序)
停止通过电子邮件发送密码。
提供“重置密码”选项而不是将其恢复。
/>用哈希和加盐代替加密密码。
是的,对于评论,
是的,代表很可能在撒谎或不知道他在说什么。但是他也有可能说实话。这个答案就是针对这种情况的。
我认为密码传输是存储的一个大问题,因为OP在他不要求任何密码的情况下通过电子邮件发送了密码。
我已经看到了存储密码的系统密码以加密文本形式发送,并根据要求将其发送给用户。它们并不安全,但确实存在。仅仅因为您以纯文本格式收到了您的信息并不能保证它也以这种方式存储。
评论
“不,公司代表明确告诉他们,密码不是以纯文本格式存储”,因为您什么时候才能盲目相信低级代表对一家大公司的看法?
–MindSwipe
19 Mar 27 '19 at 12:10
@KolappanNathan鉴于同一位员工认为通过电子邮件发送密码是一种安全的做法,因此几乎没有理由认为rep是值得信赖的信息来源。
– Beofett
19 Mar 27 '19 at 12:21
“假设他说的是事实”意味着他要么是真实的,正确的,要么是说谎的。现实可能是第三个选择:他实际上并不知道答案,并且像许多代表一样,他只是在试图使对方满意。永远不要将愚昧归咎于恶意。代表甚至不知道如何拼写加密(他们拼写的方式显然不是简单的拼写错误的结果),这一事实很明显表明他们根本不了解该主题,并且一无所知它。
– Conor Mancone
19 Mar 27 '19 at 12:30
@ConorMancone这是可能的,并且已经存在针对这种可能性的答案。我的答案涉及密码被加密的另一种可能的情况。这是可能的情况。没有人能100%知道密码是纯文本的。为另一种可能的情况编写答案有什么问题?错字不表示任何内容。他拼错了一个字母!!!
– Kolappan N
19 Mar 27 '19 at 12:40
@ConorMancone OP表示,当他不要求输入密码时,他通过电子邮件收到了密码。他本可以放弃他的电子邮件。我认为传播是最大的问题。我同意以下事实:加密密码也不安全。那里没有分歧。
– Kolappan N
19 Mar 27 '19 at 13:03
评论
评论不作进一步讨论;此对话已移至聊天。Bluehost也:(。。当您联系bluehost客户服务(任何代理商)在网上发送电子邮件或聊天时,他们会要求您输入密码的最后4位数字以证明您-所有者
我使用JustHost的时间很长,直到有一天,他们要求我作为“安全性问题”来告诉他们我的密码的一部分。他向我保证他“看不到我的整个密码”,但可以/不会告诉我它们是否以纯文本格式存储。那是我作为客户的最后一天。在我们两种情况下,它都是纯文本的,或者如下所述,是可逆的;这是不必要和危险的。
仅当通过单向,加盐的,加密安全的哈希加密存储密码时,密码才是安全的。无论是存储的纯文本格式还是加密的(以及可解密的),您都将远离访问权限。违者将不予解决。迁移到另一个提供程序,将其解雇! ...并说明其不良的安全做法是原因。
请注意,提供者存储明文密码(或解密密码)的另一个信号是,当他们阻止重用以前的密码部分时,如何在不使用明文形式保存先前密码的情况下如何检测到重用;-)