一 pap认证方式:被认证端发送认证端所配置的用户名和密码,认证端收到后进行比对,若用户名和密码相同则认证通过,反之则认证失败。

特点:传递的的是用户名和密码,容易被截获破解,非常不安全。但配置较简单,原理简单容易理解。

 

二  chap认证方式:

1.由认证端发起“挑战报文”,包括了一个id,随机数,主机名

 

2.被认证端收到报文后,核对报文中的主机名本地数据库中的用户名

    若一致

     则取出报文中的随机数,id,然后再加上本地数据库中的密码三者进行hash计算,得到一个md5值,接着将主机名,收到的随机数,id,以及该md5值一起发送给认证端;

 

3.认证端查看报文中的主机名和本地数据库中的用户名是否相同,

     若相同,

     则拿报文中的id,密码和原先发送的随机数(存在本地数据库中)再次进行hash运算,将得到的md5值和收到的md5值进行比对,若相同,则认证通过。

特点:只在线路上传送主机名(并不区分字母大小写),而不传递密码,而是由md5值作为双方密码是否相同的判定,这种不可逆的算法,可保证即使中途被截获,理论上也无法由此计算出密码,大大增强了安全性。

 

 

几个注意点:1.主机名并不用来进行hash值的计算;

            2.id和随机数在来回的过程中没有发生改变,

            3.采用随机数,这就更加确保了安全性。因为***者不可能使得id,随机数和密码同时被破解。

 

三  实验验证

 

 

      被验证方                      验证方

 

pap:

R1:

R1(config-if)#ppp pap sent-username R1 password cisco

 

R2:

R2(config)# username R1 password 0 cisco

R2(config-if)#ppp authentication pap

 

 

 

chap:
R1:
R1(config)# username R2 password cisco   注意用对端的主机名,密码相同
R1(config-if)# ppp authentication chap
 
R2:
R2(config)# username R1 password cisco   同上
 
过程:
                  《-----------“R2”“ID”“random”

                                      |       |

                                     \|/      \|/ 

    “password”-->----<-------------------------

                    \|/

                  “md5值1”----------------

                       |                    |

                      \/                    比较是否相同,相同则认证通过。

“R1”“random”“ID”------------>         |

          |        |           "md5值2"-----

          |        |            /\ 

          \/       \/            |

          ---------------------------------<----"password"

 

此外chap还支持与aaa认证的结合,可修改发送的主机名和密码,该实验可另作研究。