PAP(口令身份验证协议)

PAP为用户提供了使用双向握手建立它的身份的一种简单方法,如下图所示。用户把ID和口令反复发送到对等体,知道身份验证被承认或连接被终止。这种身份验证仅执行一次(在连接初始化的时候),并且在连接的生命周期中保持有效。

当然,PAP并不是一种非常强张的身份验证方法;口令随通ID一起传送,并没有任何对重放或者重复的试错发***的保护。而且,验证对邓体在验证请求的频率或限时上没有任何控制。

CHAP(询问握手身份验证协议)    

CHAP是以讹三向的握手,它被用来验证在PPP链路上用户的身份。创建完链路后,对等体发出一个询问给用户。这个询问应该是唯一的和不可预知的值,并且应该在随后的每个询问中改变。用户使用一个带密钥的单向散列函数计算询问值,ing将计算处理啊的值作为响应。在单向散列函数中使用的密钥是在用户和对等体之间共享的秘密。对等体响应将响应的值与它自己使用共享密钥计算出来的散列值进行核对。只有在散列函数使用相同的密钥的时候这些值才会相同,因此对等体可以恩据两个散列值是否相同来作为成功或者失败的应答。

与PAP比较,CHAP有几个有点。共享密钥从不以明文形式在用户和对等体之间传送。如果询问确实是唯一的和不可预知的,就可以提供双重保护,因为应答消息仅对某个特殊的询问有效,并且询问仅在某个时间有效。对邓体控制身份验证的时限和频率,因此它能够限制询问的数量,并且忽视那些习惯性行为不当的用户。最后,能够在连接期间的任何时候重复身份验证。