我试图使我的REST API更安全。目前,我正在使用CryptoJs.SHA256在我的角度应用程序中哈希密码,然后再将其发送到C#后端。但是我意识到最好在服务器端对密码进行哈希处理。那么如何发送仅服务器可读的密码?我将添加SSL,但是我知道HTTPS也很容易破解。还有其他解决方案吗?
谢谢
正如Bruce Schneier所说:“任何人都可以设计自己无法破解的密码。这就是为什么您应该统一不信任业余密码学的原因,并且为什么只应使用能够经受广泛密码分析的公开算法。”
虽然没有什么是100%不可破坏的,但是破坏HTTPS的难度比破坏JavaScript自制的安全方案要困难得多。考虑一下:如果您通过不可信(HTTP或HTTPS-带有无效证书)连接提供超级安全JS,是什么阻止攻击者替换损坏的版本,从而绕过所有JS安全性?没有。
现代浏览器将竭尽全力防止HTTPS被HSTS等破坏。因此,比起JS-over-HTTP(仅提供安全感),依靠HTTPS(在正确使用时可以提供实际的安全性-“只是忽略所有那些大的红色错误”是打破它的一种简单方法)要安全得多。没有实际的安全机会)。
进一步阅读:https : //www.nccgroup.trust/us/about-us/newsroom-and-events/blog/2011/august/javascript-cryptography-considered-harmful/
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句