PAP认证过程非常简单,是二次握手机制,基于口令认证的认证方法,而CHAP认证过程比较复杂,是三次握手机制,基于挑战的认证协议,下面就让我们来看一下两种具体的认证过程
一、PAP认证协议(Password Authentication Protocol,口令认证协议):
PAP认证过程非常简单,二次握手机制。
使用明文格式发送用户名和密码。
发起方为被认证方,可以做无限次的尝试(暴力破解)。
只在链路建立的阶段进行PAP认证,一旦链路建立成功将不再进行认证检测。
目前在PPPOE拨号环境中用的比较常见。
PAP认证过程:
PAP认证过程图
首先被认证方向主认证方发送认证请求(包含用户名和密码),主认证方接到认证请求,再根据被认证方发送来的用户名去到自己的数据库认证用户名密码是否正确,如果密码正确,PAP认证通过,如果用户名密码错误,PAP认证未通过。
二、CHAP认证协议(Challenge Handshake Authentication Protocol,质询握手认证协议)
CHAP认证过程比较复杂,三次握手机制。
使用密文格式发送CHAP认证信息。
由认证方发起CHAP认证,有效避免暴力破解。
在链路建立成功后具有再次认证检测机制。
目前在企业网的远程接入环境中用的比较常见。
CHAP认证过程:
CHAP认证第一步:主认证方发送挑战信息【01(此报文为认证请求)、id(此认证的序列号)、随机数据、主认证方认证用户名】,被认证方接收到挑战信息,根据接收到主认证方的认证用户名到自己本地的数据库中查找对应的密码(如果没有设密码就用默认的密码),查到密码再结合主认证方发来的id和随机数据根据MD5算法算出一个Hash值。
CHAP认证过程图:
CHAP认证第二步:被认证方回复认证请求,认证请求里面包括【02(此报文为CHAP认证响应报文)、id(与认证请求中的id相同)、Hash值、被认证方的认证用户名】,主认证方处理挑战的响应信息,根据被认证方发来的认证用户名,主认证方在本地数据库中查找被认证方对应的密码(口令)结合id找到先前保存的随机数据和id根据MD5算法算出一个Hash值,与被认证方得到的Hash值做比较,如果一致,则认证通过,如果不一致,则认证不通过。
CHAP认证过程图:
CHAP认证第三步:认证方告知被认证方认证是否通过。
CHAP认证过程图:
CHAP认证和PAP认证的过程如上所述,这两种认证协议都被PPP协议支持,大家可以搜索相关的内容辅助理解这两个认证过程。
三、CHAP协议可能面临的安全风险。
中间人攻击把chap认证降级为pap认证:通过截获服务器向客户端发送的pap认证请求并修改后转发,强迫客户端发送失败的响应,从而让服务器使用安全级别更低的pap认证。
示意图:
原地址:http://network.51cto.com/art/201109/291563.htm