CHAP 身份验证究竟是如何工作的?

网络工程 购买力
2021-07-23 05:08:09

让我们假设 pppd 返回以下消息:

 rcvd [CHAP Challenge id=0x1 <12345>, name = ""] 

密码是“test”。我应该使用什么字符串来计算 CHAP 响应的 MD5 哈希?[ https://www.cisco.com/c/en/us/support/docs/wan/point-to-point-protocol-ppp/25647-understanding-ppp-chap.html] - 这里有一般描述。但我仍然想念细节......我知道我应该连接挑战、ID 和密码,但是连接这些字符串的正确顺序是什么?在计算哈希之前,我应该将密码从 ASCII 转换为十六进制吗?

1个回答

CHAP 在RFC 1994 中定义

您可以按照 ASCII 的顺序连接标识符、密码(秘密)和质询。响应是以hashMD5(identifier.secret.challenge)二进制形式发送的(MD5 为 16 字节)。

对于您的示例,它应该是十六进制0x017465737412345散列的。

请注意,由于处理能力和方法的进步,MD5 不再是加密安全的。在不安全的通道上,您需要提供额外的密码保护(如 SSL/TLS 或 VPN)。