Login 安全登录+附加密码存储 我想有一个安全的登录过程,其中登录数据是加密的。 防止登录表单的重播攻击。 同时,我希望密码被加密,没有人可以解密它们。

Login 安全登录+附加密码存储 我想有一个安全的登录过程,其中登录数据是加密的。 防止登录表单的重播攻击。 同时,我希望密码被加密,没有人可以解密它们。,login,web,cryptography,authorization,Login,Web,Cryptography,Authorization,1。我可以MD5表单数据 两个人。我可以生成一个nonce并将其与客户端密码一起散列 三个人。我可以使用存储在DB中的salt,并且只在DB中保存MD5password | salt 现在问题来了,对于1和2,我将向服务器发送MD5password | nonce,但我无法授权它,因为我没有用于检查的原始密码 我可以同时归档1、2、3吗?为了传输安全,请使用SSL/TLS。 对于重播保护,请使用CSRF令牌。 为了安全地存储密码,请使用密钥散列 编辑:呈现的方案并不是不安全的,您可以在这篇中阅读

1。我可以MD5表单数据

两个人。我可以生成一个nonce并将其与客户端密码一起散列

三个人。我可以使用存储在DB中的salt,并且只在DB中保存MD5password | salt

现在问题来了,对于1和2,我将向服务器发送MD5password | nonce,但我无法授权它,因为我没有用于检查的原始密码


我可以同时归档1、2、3吗?

为了传输安全,请使用SSL/TLS。 对于重播保护,请使用CSRF令牌。 为了安全地存储密码,请使用密钥散列


编辑:呈现的方案并不是不安全的,您可以在这篇

中阅读更多关于这个想法的内容。二,。使用HTTPS SSL。它可以防止主动和被动攻击,重播,并对密码保密


对于3,使用专门的密码散列和每用户salt。标准选择为scrypt、bcrypt和PBKDF2。做一些详细的研究,我们这里有很多关于安全性的相关问题。SE.

您想使用MD5进行加密吗?请更正您的问题md5是一个哈希算法阅读一篇关于密码哈希的文章。对单次迭代哈希的密码猜测攻击相当快。这就是为什么您应该使用缓慢的散列结构,例如scrypt、bcrypt或PBKDF2。这大大增加了破解密码散列的成本。@CodesInChaos我同意单通道散列不如多通道KDF安全,但它仍然被认为是破解不可行的,并且被广泛使用。不是每个框架都支持KDF,但大多数框架都支持sha256,这就是我提出它的原因。加上SHA-256是一个示例哈希函数。