Rem*_*anu 6 encryption cryptography
网上有很多文章和引言说"盐"必须保密.即使是关于Salt的维基百科条目:
为了最好的安全性,salt值保密,与密码数据库分开.当数据库被盗时,这提供了一个优势,但盐却没有.要从被盗的哈希中确定密码,攻击者不能简单地尝试使用常用密码(例如英语单词或名称).相反,他们必须计算随机字符的哈希值(至少对于他们知道的输入部分是盐),这要慢得多.
因为我碰巧知道加密盐(或初始化向量)可以与加密文本一起存储在明文上,我想问为什么这种误解会持续存在?
我的观点是,问题的根源是加密盐(分组密码的初始化向量)和散列"盐" 之间的常见混淆.在存储散列密码时,通常的做法是添加一个nonce或'salt',并且(略微)确认这个'salt'最好保密.这反过来又使得它不是一个盐在所有,但一个关键,类似于多明确命名的秘密在HMAC.如果你看文章存储密码 - 完成正确!这是从维基百科'盐'条目链接,你会看到这是在谈论这种'盐',密码哈希.我碰巧不同意大多数这些方案,因为我认为密码存储方案也应该允许HTTP摘要验证,在这种情况下唯一可能的存储是用户名的HA1摘要:realm:password,请参阅在表中存储密码和摘要式身份验证.
如果您对此问题有意见,请在此处作为回复发布.
正如 LFSR 咨询公司所说:
有些人比你我聪明得多,他们比你我花更多的时间思考这个话题。
至少可以说,这是一个很有分量的答案。有些人,稍微属于诚实的范畴,在有钱的时候会忽视一些限制。有很多人在火中没有皮肤,并且会降低这种类型的界限,......
然后,在不远的地方,存在一种来自社会因素的风险——这几乎是不可能通过编程消除的。对于那个人来说,设置一个设备只是为了“打破锁”可能是一种纯粹的快乐练习,没有任何收获或可衡量的原因。也就是说,您要求那些有意见的人请回复,所以这里是:
这样想,它增加了所需的计算强度。如果必须隐藏的话,这只是又一件事需要隐藏。就其本身而言,被迫隐藏(盐、静脉注射或任何东西)会使负责安全的实体处于被迫做某事的境地。任何时候反对派可以告诉你该做什么,他们就可以操纵你。如果发生泄漏,交叉控制应该能够检测到泄漏并提供可用的替代盐。不存在完美的密码,除了 otp 之外,甚至可能会以某种方式受到损害,因为最大的风险来自内部。
在我看来,唯一的解决方案是有选择性地选择为谁提供安全保护 - 保护盐的问题会导致与威胁模型相关的问题。显然,密钥必须受到保护。如果您必须保护盐,您可能需要检查您的汉堡翻转简历并质疑您所工作的人员的整体安全方法。
事实上,没有答案。
这句话是谁说的、在哪里说的、依据是什么。
密码就是密码——它有什么区别呢?