web前端对密码加密的意义

Posted on Jul 6, 2019

web前端对密码加密的意义

有的运维或者后台会记录包含请求体的 access log,如果不加密,log 里面就是明文密码。这种在架构上垂直扩展&多层的公司很容易发生。GitHub 就翻车过一次,在请求日志里发现了明文密码,然后就群发邮件通知用户改密码。 @lincanbin

用单向函数“加密”等同于明文 @hanru

能增加攻击的难度。安全领域并不是非黑即白的,如果小量成本能挡住小学 3 年级的傻子攻击,那就有意义 @otakustay

任何提高攻击门槛的做法都是有意义的 @newmlp

感觉一般加密意义不大,中间人重放就可以了,但聊胜于无。顺便一说 B 站采用的是前端非对称加密 @lzvezr

非对称加密。用公钥加密,知道 JS 源码也没用。但是我觉得在 HTTPS 下面没必要。另外,如果进日志,肯定不要存密码啊。如果原封进日志,那所有加密都没有意义。因为这个加密过的密码本来就可以从前端登录进去。我只是不知道明文而已。CDN 商是可以拦截保存,所以不要啥的都经过 CDN。基于上面的分析,还有一种比较稳妥的方式是前端密码提交的时候,附上 timestamp,用 RSA 公钥加密,服务器私钥解密后验证时间,然后登录一次 timestamp 作废。这样日志泄露或者被拦截,也无法用原密文重放 @lhx2008

看了下苹果、微软、谷歌、fb 这几个登录页面都是明文传输密码的,百度、淘宝、qq 都是先前端加密,总结一下就是在国外没意义,国内有意义 @iiji86

用户密码安全性设计

即使被拖库,也可以保证密码不泄露

前端rsa私钥加密

Web前端密码加密是否有意义? - w2014的回答

事实上现代密码学已经可以做到很多让人难以想象的事情了下面是一些有一点“反常识”的结论
1.A可以向B证明自己拥有一个密码,但是如果B是假冒的验证者,A不会透露关于密码的任何信息给B。——“零知识证明”
2.A可以和B比较自己持有的一个值的大小关系,而不泄露这个值给对方。——“百万富翁问题”
3.A可以给B发来的一段信息进行电子签名,而不知道信息的内容。——“盲签名”
4.A和B可以,在没有公正第三人的情况下,进行等概率胜负的博弈。——“电子博弈”
5.邮件服务,如果不考虑法律风险的话,是可以做到让服务器看不到你的邮件内容的。——PGP
6.破解4096位RSA是困难的。——即使用超算也如此。破解256位AES是困难的。——即使用量子计算也如此。破解OTP系统是困难(划掉)不可能的。——即使天顶星人来了也如此。
7.一个好的加密算法真的应该是公开的——它可以接受更多人的检验。 一个好的密码系统不一定是公开的——但是它应该按照可以公开除了密码之外的一切而依旧安全来设计。
8.可以实现这样的算法,使得班干部中的任何一个均可以以班委会的名义下达通知,且其他人,除了班长之外,都不知道具体下达者。
9.密码系统的安全性取决于最弱的一环……当年是谁说的“只用https保护登录界面就够了”的来着…你的token也会被盗
10.大多数密码系统都不是被正面攻破的…而是实现过程中出了差错…
11.以上内容,真的,真的,在大多数的密码学教材上都能找到——甚至还有用到的一些算法安全性的数学证明…