密码存储和安全密码传输
我正在研究一个系统(基于PHP,但对此不重要),它可以将用户密码保存在数据库中。 但是,就安全性而言,我需要考虑如何保护密码并确保密码传输机制的完整性。
我选择在数据库中保护用salt进行散列的密码,但是将密码从浏览器传输到服务器(将用于非安全连接),但我不确定如何检查它。
所以我的问题是,有没有人知道任何可能允许客户端发送密码的安全机制,然后可以将其与数据库(使用salt进行比较)进行比较,密码除了客户端浏览器内存以外的任何地方都不是纯文本格式?
在整个行业中的做法是通过SSL通道以明文形式发送密码。
也就是说,您必须确保登录页面及其加载的所有资源通过HTTPS提供。 这将保护传输中的密码。 一旦密码进入另一侧,就可以对数据库中的数据进行散列和比较。
发送散列或其他深奥的解决方案(仅在浏览器内存中尊重您的“以明文形式输入的密码”)不会做任何事情,而只是换一个秘密 - 攻击面保持不变。 您可以在客户端混淆密码并添加基于时间的组件,但由于所有逻辑必须位于客户端上,因此您可以将其颠倒过来,因此您只需添加“模糊”(通过默认安全模式并不值得)。
链接地址: http://www.djcxy.com/p/21589.html