据我所知,摘要式身份验证(这是一种单向操作)散列密码并将散列数据传输到服务器.然后,服务器将使用存储的密码,对其进行散列并与接收的散列密码进行相等性比较.应该是安全的中间人攻击.
我不明白的是,如果我是中间人黑客,我不需要原始密码.好吧,只需使用哈希密码,因为这是服务器将与之比较的密码.
那么Digest身份验证机制的用途是什么?似乎没有这个概述.
Syo*_*yon 14
摘要式身份验证与您描述的方式不同.
Digest auth是一种挑战 - 响应协议.要启动该过程,客户端请求受保护的URL,服务器使用领域和随机数进行响应.客户端使用领域和随机数来计算:
md5(md5(username:realm:password):nonce:md5(httpMethod:uri))
Run Code Online (Sandbox Code Playgroud)
nonce导致每个身份验证生成不同的哈希值,这样做可以防止重放攻击.此外,它确实提供了一些(弱)保护,防止攻击者收听您的通信,因为明文密码不会通过网络传递,尽管这并不能阻止攻击者在获得哈希后破解哈希.