摘要认证的概念 - 它真的有效吗?

7
据我了解,摘要认证(这是一种单向操作)将密码哈希并传输哈希数据到服务器。然后服务器将使用存储的密码进行哈希,并将其与接收到的哈希密码进行比较。应该能够防止中间人攻击。
我不理解的是,如果我是中间人黑客,我不需要原始密码。那么只需使用哈希密码,因为这是服务器将与之相比较的密码。
那么这个摘要认证机制有什么用处呢?从这个概述来看似乎没有发挥作用。
1个回答

16

摘要认证并不完全按照您描述的方式工作。

  1. 服务器不会存储未经哈希处理的密码。服务器存储的是Username:realm:password的哈希值。
  2. 客户端不会为每个身份验证发送相同的哈希值。

摘要认证是一种挑战-响应协议。要开始该过程,客户端请求受保护的URL,服务器会响应领域和nonce。客户端使用领域和nonce计算:

md5(md5(username:realm:password):nonce:md5(httpMethod:uri))

随机数使每个身份验证产生不同的哈希值,从而防止重放攻击。此外,它确实对监听您的通信的攻击者提供了一些(弱)保护,因为明文密码不会通过网络传输,尽管这不能阻止攻击者在获得哈希值后破解它。


@yapkm01:这个回答解决了你的问题吗?有什么不清楚的地方吗? - Syon
是的。非常感谢!顺便问一下,这里的“realm”是什么意思? - yapkm01
Realm是一个字符串,在认证过程中提示用户输入用户名和密码时向用户显示。该字符串的值取决于执行认证的系统,但通常是帮助用户知道他们应该使用哪些登录凭据的内容。例如,如果您正在为Gmail进行摘要认证,则realm可能类似于“gmail.com”。 - Syon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接