现在的位置: 首页 > 综合 > 正文

PPP的PAP/CHAP身份验证

2013年12月04日 ⁄ 综合 ⁄ 共 1430字 ⁄ 字号 评论关闭
PPP的点对点通信中,可以采用PAP或者CHAP身份验证方式(首选CHAP方式)对连接用户进行身份验证,以防非法用户的PPP连接。但这些认证是可选的,而不是必须的。如果需要认证,则发生在网络层协议配置之前,在链路层建立健全完成,并且选择了认证协议后,通信双方就可以被认证了。在认证阶段中,要求链路发起方在认证选项中填写认证信息,以便确认用户得到了网络管理员的许可。在认证过程中,通信双方对等的路由器要彼此交换认证信息。
如果是采用PAP协议,则整个身份认证过程是两次握手验证过程,口令以明文传送。PAP认证过程如图2-6所示。用文字描述如下:
1)被验证方发送用户名和口令到验证方,示例中是以客户(client)端grfwgz02向服务器(Server)端grfwgz01请求身份验证;
2)验证方grfwgz01根据自己的网络用户配置信息查看是否有此用户己口令是否正确,然后返回不同的响应(Acknowledge or Not Acknowledge)。
3)如果正确,则会给对端发送ACK(应答确认)报文,通告对端已被允许进入下一阶段协商;否则发送NCK(不确认)报文,通知对方验证失败。但此时并不会直接将链路关闭,客户端还可以继续偿试新的用户密码。只有当验证不通过次数达到一定值(缺省为4)时,才会关闭链路,来防止因误传、网络干扰等造成不必要的LCP重新协商过程。
图2-6  PAP身份认证的两次握手
PAP并不是一个健全的认证协议。它的特点是,在网络上以文明的方式传递用户名及口令,如在传输过程中被截获,便有可能对网络安全造成极大的威胁。因此它并不是一种强有效的认证方法,其密码以文本格式在电路上进行发送,对于窃听、重放或重复尝试和错误攻击没有任何保护,仅适用于对网络安全要求相对较低的环境。
而如果采取CHAP协议进行身份验证,则需要三次握手验证协议,不直接发送口令,由主验证方首先发起验证请求。CHAP的安全性比PAP高。CHAP身份验证的三次握手流程如图2-7所示。文字描述如下(同样以客户端grfwgz02向服务器端grfwgz01发送认证请求为例进行介绍):
图2-7  CHAP身份认证的三次握手
1)当客户端要求与验证服务器连接时,并不是像PAP验证方式那样直接由客户端输入密码,而首先由验证方grfwgz01向被验证方grfwgz02发送一个作为身份认证请求的随机产生的报文,并同时将自己的主机名附带上一起发送给被验证方;
2)被验证方得到验证方的验证请求(Challenge)后,便根据此报文中验证方的主机名和自己的用户表查找对应用户帐户口令。如找到用户表中与验证方主机名相同的用户帐户,便利用接受到的随机报文和该用户的密匙,以Md5算法生成应答(Response),随后将应答和自己的主机名发送给验证服务器;
3)验证方接到此应答后,再利用对方的用户名在自己的用户表中查找自己系统中保留的口令字,找到后再用自己的保留口令字(密匙)和随机报文,以Md5算生成结果,与被验证方应答比较。验证成功验证服务器会发送一条ACK报文(Success),否则会发送一条NAK报文(Failure)。
CHAP身份认证的特点是只在网络上传输用户名,而并不传输用户口令,因此它的安全性要比PAP高。CHAP认证方式使用不同的询问消息,每个消息都是不可能预测的唯一值,这样就可以防范再生攻击。不断询问可以被限制在一次攻击中的时间内,本地路由器可以控制询问的频率和时间。

 

抱歉!评论已关闭.