哈希,加入更多的盐

Met*_*orm 1 security hash cryptography salt

好的,所以我理解为什么在散列之前输入密码是个好主意.问题是,通常人们建议将盐附加或添加到密码中,为什么不同时使用?

我的想法是,所以如果黑客先生掌握数据库并希望得到人x的密码,他会认为自己,大多数人都建议附加或预先添加盐,所以我们这样做.他生成一个彩虹表密码+盐的所有组合,并试试他的运气.如果这不起作用他会做同样的但盐+密码.

为了使攻击变得更加困难,为什么开发人员不再采取进一步做"盐+密码+盐",或"反向(盐)+密码+盐",或者你可能很想要并开始切割密码/盐,开始在这里和那里放点盐等.

黑客能够找到密码的唯一方法是,他是否可以访问源代码(了解在散列之前如何将盐编织到密码中)

另外需要注意的是,人们建议在进行按键拉伸时至少进行1000次迭代,为什么不进行1147,1652等等:)

第二个注意事项,当查看​​哈希字符串时,是否可以计算出使用的哈希函数?

Wug*_*Wug 7

猜测应用盐的方式要比猜测密码更容易,特别是在攻击者拥有散列密码数据库和一个已知匹配数据(他自己的密码)的情况下.即使他不了解它,他也可以简单地使用他已知的密码和已知的哈希来强制盐和盐算法.

哈希算法也是如此.只有少数完整的哈希函数,并且任何有能力的管理员都可能正在使用其中一个.

密码学的前提之一是所有关于所用算法的信息都被认为是公开的.您不应该依赖攻击者来破坏您的系统,因为您使用的是一种模糊的算法来处理事务,因为与在这样的受损数据库上强制使用密码的代价相比,强制每个哈希算法都非常便宜.

如果将程序分发给用户,他们可以通过反汇编或调试来确切地弄清楚它是如何散列的.如果它是服务器程序,他们可能会遇到其他一些漏洞,或者他们可以购买/窃取/获取您的软件,或者其他什么.我甚至会说所有好的加密软件都是开源的:尽管整个世界都知道它是如何工作的,但它仍然不易破碎.

你想要依靠的是默默无闻的安全感.很多人和公司都将此作为保护其产品的一种方法.我记得的最后一件大事是赛门铁克PCAnywhere软件的源代码被盗.你可能还记得那是怎么回事.故事的道德是,如果没有人知道它是如何工作的,它是不安全的,如果每个人都知道它是如何工作的(并且它的加密声音)它是安全的.

  • 我已经更新了我的帖子.您似乎缺少的一件事是,如果黑客已经破坏了您的系统,您必须假设他们拥有一切.如果你的程序在进入时运行,他们可以转储它的图像并在以后进行反向工程,即使没有源代码,即使没有磁盘上的可执行文件也是如此. (2认同)