Questions tagged «passwords»

密码是用于身份验证以证明身份或获得对资源访问权限的秘密单词或字符串。

15
如果密码存储在安全的数据库中,为什么还要加密?
我有一个网络服务。现在,我的密码以纯文本格式存储在服务器上的MySQL表中。我知道这不是最佳做法,这就是为什么我正在努力。 如果密码存储在安全的数据库中,为什么还要加密?我意识到,如果有人入侵我的数据库,他们将获得每个人的密码。但是如果有人进入我的数据库,我还有其他问题,例如删除数据。 我能想到的情况是您被黑了。您从几个小时前还原了数据库,一切都很好。但是,如果您的密码是纯文本...小偷拥有所有密码,则必须重置所有密码。麻烦您的用户。 如果密码已加密,则可以还原到以前的数据库。这是正确的想法吗?

10
是否有任何有效的理由禁止字符和限制密码的长度?
我遇到过很多站点,它们要么限制了允许输入密码的长度和/或不允许某些字符。这对我来说是一个限制,因为我想扩大和延长密码的搜索空间。这也给我一种令人不适的感觉,即它们可能不会散列。 是否有充分的理由设置长度上限或排除密码中的字符?

14
如果客户端需要检索密码的能力怎么办?
我目前在工作时继承了一个应用程序,但令我沮丧的是,我意识到使用内部加密功能对数据库中存储的用户密码进行了加密,该功能还包括解密功能。 因此,某人真正需要做的就是复制用户表并复制加密程序集(任何具有数据库生产访问权限的人),然后他们将可以访问100,000个电子邮件地址和潜在的密码。 我正在尝试向企业解释为什么这不是一个好主意,但是安全性概念似乎不可行,因为它们在技术上没有头脑(这是针对政府的)。另外,应用程序中实际上还存在一些功能,供管理员用户检索用户的密码,以便以用户身份登录并执行操作(他们说过,他们需要)。 因此他们不了解安全隐患。为了实施更强大的安全策略(散列密码,以便不易检索它们),我必须删除它们的现有功能。 我该怎么办?我并不是一开始就建立密码系统的,所以如果发生任何错误,这并不是怪我。另一方面,我对此感觉不太好,也不想访问100,000次潜在的电子邮件登录。

6
更新密码哈希而不强制现有用户使用新密码
您维护具有已建立用户群的现有应用程序。随着时间的流逝,目前的密码哈希技术已经过时,需要升级。此外,由于UX原因,您不希望强迫现有用户更新其密码。整个密码哈希更新需要在屏幕后面进行。 假设用户的“简单”数据库模型包含: ID 电子邮件 密码 如何解决这一要求? 我目前的想法是: 在适当的类中创建一个新的哈希方法 更新数据库中的用户表以容纳其他密码字段 用户使用过时的密码哈希成功登录后,用更新的哈希填充第二个密码字段 这给我留下了一个问题,即我无法合理地区分拥有和未更新密码哈希的用户,因此将不得不同时检查两者。这似乎是可怕的缺陷。 此外,这基本上意味着,可以强制无限期地保留旧的哈希技术,直到每个用户都更新了密码。只有在那一刻,我才能开始删除旧的哈希检查并删除多余的数据库字段。 我主要是在这里寻找一些设计技巧,因为我当前的“解决方案”是肮脏,不完整的,不是什么,但是如果需要实际的代码来描述可能的解决方案,请随时使用任何语言。

6
在REST API调用中输入密码
假设我有一个REST API,该API也用于设置/重置密码。我们还假设它可以通过HTTPS连接工作。是否有充分的理由不将该密码放在调用路径中,也可以说我将在BASE64中对它进行编码? 一个示例是重设这样的密码: http://www.example.com/user/joe/resetpassword/OLDPASSWD/NEWPASSWD 我知道BASE64没有加密,但是在这种情况下,我只想保护密码以进行网上冲浪。
31 rest  passwords 

5
如何实施安全的密码历史记录
出于明显的安全原因,不应以纯文本形式存储密码:您必须存储散列,并且还应谨慎生成散列,以避免彩虹表攻击。 但是,通常您需要存储最后的n个密码,并在不同密码之间进行最小的复杂度和最小的更改(以防止用户使用诸​​如Password_1,Password_2,...,Password_ n之类的序列)。使用纯文本密码将是微不足道的,但是如何仅存储散列呢? 换句话说:如何实现安全的密码历史记录机制?

7
引用不建议使用全球唯一密码
我与某人(客户)在系统的用户标识/认证过程上存在分歧。麻烦之处在于,他们希望每个用户都拥有一个全局唯一的密码(即,没有两个用户可以使用相同的密码)。我已经提出了反对这种情况的所有显而易见的论点(这是一个安全漏洞,它使身份验证与身份认证混淆,这毫无意义,等等),但他们坚持认为这种方法没有什么不妥。 我已经进行了各种Google搜索,以寻求关于此的权威(或半权威,甚至只是独立的)观点,但找不到任何(主要是明显的虚假行为,因此似乎不值得警告)据我所知)。有人能指出我这种独立意见吗? [编辑] 谢谢您的所有回答,但我已经理解了此建议方法/要求的问题,甚至可以向客户解释这些问题,但客户不会接受,因此,我要求提供独立和/或权威的消息来源。 我也找到了Daily WTF文章,但是它遇到了Jon Hopkins指出的问题-这是不言而喻的WTF,似乎不值得解释为什么。 是的,密码将被添加和散列。在这种情况下,可能很难确保全局唯一性,但这不能解决我的问题-这仅意味着我要求客户不要让步,这不仅是不明智的建议,而且也很难实行。如果我可以说“我没有在盐和哈希上花钱”,那么我可以说“我没有实现全局唯一的密码”。 任何指针独立和/或权威来源,为什么这是一个糟糕的主意还是感激地接受... [/编辑]

9
“ if password == XXXXXXX”是否足以确保最低安全性?
如果我为具有中到低安全风险的应用程序创建登录名(换句话说,它不是银行应用程序或任何其他应用程序),那么我可以接受用户输入的密码,只需输入类似以下内容的密码即可: if(enteredPassword == verifiedPassword) SendToRestrictedArea(); else DisplayPasswordUnknownMessage(); 这似乎很容易有效,但是我当然不介意是否仅此而已。对用户名/密码组合进行简单检查是否足够? 更新:特定项目恰好是Web服务,验证完全是服务器端的,并且不是开源的。域会改变您的处理方式吗?

5
“忘记密码”-如何处理?
我阅读了此答案,发现有一条评论坚持不通过电子邮件发送密码: 我不希望通过电子邮件检索密码。这意味着我的密码以纯文本格式存储在某处。仅应将其重置。 这给我提出了处理“忘记密码”选项的问题? 原始密码必须不惜任何代价显示在任何UI中,以便用户能够读取它。那么处理“忘记密码”的方式是什么

1
是否有关于用户密码存储做法的官方标准?
最近,我使用了几年前拥有的帐户的政府服务。我忘记了该服务的密码,因此我使用了“忘记密码”链接,并且很惊讶地看到这个政府网站以纯文本格式将密码发送到了我的电子邮件地址。 我个人知道如何处理用户密码,并通过反馈表单(这是一个政府网站,发送了一些关于我的担忧的评论。人们使用其他在线政府服务来处理敏感信息,以及大多数人对所有事情都使用相同的密码或少数几个密码(我知道我确实如此),并且我怀疑整个过程中都使用了相同的安全性实践),对此我迅速做出了回应。他们向我保证,“该部已采取必要步骤保护密码信息,包括使用适当的加密方法对其进行存储”。 我只想说“很显然,如果您可以通过电子邮件将密码发送给我,显然您没有采取必要的步骤”,但我并不是想表现得粗鲁,而且我认为我的信息永远不会接触到反正知道我的意思的人。 因此,我只想声明“尚未根据[某些官方安全标准]采取必要的步骤”,这可能会促使人们对其进行调查。我在OWASP上进行了快速搜索,但只找到了一篇有关纯文本存储的文章。 是否存在关于用户密码处理的安全标准,该标准禁止(我认为可能)禁止存储可检索的密码信息?甚至更好:处理诸如银行和政府网络服务之类的敏感信息的网站是否必须遵循这样的标准? 我知道我可能不会做任何更改,但是值得一试。

6
如何向用户保证网站和密码的安全[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 4年前关闭。 在可靠的网站上,我总是看到诸如“所有数据都已加密”或“使用128位加密对所有密码进行加密”之类的声明。但是,我从未遇到过诸如“所有密码都经过哈希处理”的声明。 在我的网站上,将SHA-512(最有可能)使用带有随机盐的哈希后,将所有用户密码存储在数据库中。我想添加一个摘要,以确保用户的密码是安全的,因此不会阻止他们使用我的网站,因为它需要密码。我希望用户感到安全,但是我认为并不是每个人都知道哈希是什么。 我的问题:可以提供一条消息,说“所有密码都是加密且安全的”吗,因为我认为普通用户不会知道哈希和加密之间的区别,并且更可能会因为看到了而感到安全舒适词“加密”?还是我应该提供替代消息? 附带一提,我是加密和密码哈希的新手,我想知道在我启动网站时现在是否足够安全。我不想告诉用户它是否安全。任何信息将不胜感激。谢谢。

4
如何估计密码的熵?
阅读了有关密码强度的各种资源后,我试图创建一种算法,以粗略估计密码的熵。 我正在尝试创建一种尽可能全面的算法。此时,我只有伪代码,但是算法涵盖以下内容: 密码长度 重复字符 模式(逻辑) 不同的字符空间(LC,UC,数字,特殊,扩展) 字典攻击 它没有涵盖以下内容,应该很好地涵盖(尽管不是很完美): 排序(密码可以通过此算法的输出严格排序) 模式(空间) 谁能提供一些关于此算法可能弱点的见解?具体地说,有人能想到向算法输入密码会过高估计其强度的情况吗?低估问题不大。 算法: // the password to test password = ? length = length(password) // unique character counts from password (duplicates discarded) uqlca = number of unique lowercase alphabetic characters in password uquca = number of uppercase alphabetic characters uqd = …

8
惩罚用户输入不安全的密码[关闭]
按照目前的情况,这个问题并不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 6年前关闭。 我正在考虑限制选择不安全密码的用户的权限(密码的不安全性由长度,使用的字符类型(大/小写,数字,符号等)决定,是否可以使用)。 (位于彩虹表中)以限制帐户遭到破坏后所造成的损失。 我还没有这个想法的申请,但是说我正在写一个论坛之类的东西:使用1234作为密码的用户可能必须在发布前填写验证码,否则将受到诸如此类的严格反垃圾邮件措施的约束。作为超时或贝叶斯过滤器拒绝其内容。如果此论坛是非常分层的,允许“提升”主持人或通过某种方式进行的其他活动,这将阻止他们完全获得特权或告诉他们他们具有特权,但不允许他们在不进行任何更改的情况下行使其特权。密码。 当然,这不是唯一的安全措施,但是它可以很好地替代其他良好的安全做法。 你怎么看?这是否只是做的太过分,将注意力从更重要的安全实践上转移了下来,还是限制风险并鼓励用户使用更安全的密码的一种好方法(并希望说服您正在使用良好的安全实践的人们)?


1
在创建帐户期间,最好自动生成密码并将其发送给用户,还是让用户创建自己的密码?
今天,在与一位同事讨论我们正在研究的网站的“创建帐户”页面时出现了这个问题。 我同事的意见是,我们应该使注册尽可能快速和无缝,因此,我们只需要向用户询问他的电子邮件,然后剩下的就好了。 我同意这个意图,但是对此有一些担忧: 由于我们生成了密码,因此我们有责任确保密码足够安全 以我的经验,当遇到难以理解的密码时,用户可能会将其写下来 没有写下密码的用户很可能会忘记它。这意味着他们必须定期要求输入新密码,这对任何人都不好玩 但是,考虑到用户创建的密码的一般质量,以及太多的人倾向于对所有事物使用相同的密码(“发声者”)的事实,我可以看到为他们生成强密码的意义。 我仍然为此感到痛苦。我们正在商人网站上工作,用户可以选择保存其信用卡详细信息,因此使用最安全的方法显然非常重要。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.