chappap认证原理及配置详细讲解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c h a p p a p认证原理及配

置详细讲解

This manuscript was revised by the office on December 10, 2020.

pap chap认证详细讲解

最近都一直在研究ppp协议和两种认证方式,才发现网上提供的好多的都有错误,而且连书本上同样错,讲的都不详细,今天我就将自已的成果分享出来,供大家学习,如果有什么不懂的地方请留言,我会以最快的速度回复,闲话少说,开始吧。

PPP中的认证方式有pap和chap两种,这两种认证既可以单独使用也可以结合使用。并且既可以进行单向认证也可以进行双向认证。

pap是两次握手,认证首先由被认证方发起认证请求,将自己的用户名和密码以明文的方式发送给主认证方。然后,主认证方接受请求,并在自己的本地用户数据库里查找是否有对应的条目,如果有就接受请求。如果没有,就拒绝请求。这种认证方式是不安全的,很容易引起密码的泄露,但是,相对于CHAP认证方式来说,节省了宝贵的链路带宽。比如说现在的Internet拨号认证接入方式就是PAP认证。

chap是三次握手,认证首先由主认证方发起认证请求,向被认证方发送“挑战”字符串(一些经过摘要算法加工过的随机序列)。然后,被认证方接到主认证方的认证请求后,将用户名和密码(这个密码是根据“挑战”字符串进行MD5加密的密码)发回给主认证方。最后,主认证方接收到回应“挑战”字符串后,在自己的本地

用户数据库中查找是否有对应的条目,并将用户名对应的密码根据“挑战”字符串进行MD5加密,然后将加密的结果和被认证方发来的加密结果进行比较。如果两者相同,则认为认证通过,如果不同则认为认证失败

先来讲下pap 认证

1、单向认证

R1只做如下配置(验证服务端)

在配置模式下设定用户名和密码(用户名和密码随意)

R1(config)#username a password 123

在端口模式下进行协议的封装和认证方式的指定

R1(config-if)#encapsulation ppp

R1(config-if)#ppp authentication pap

R2只做如下配置(验证客户端)

在端口模式下进行协议的封装和发送验证信息(对方设置的用户名和密码)

R2(config-if)#encapsulation ppp

R2(config-if)#ppp pap sent-username a password 123

这样就可以完成pap的单向认证

2、双向认证

(其实做完上面的步骤仔细一想,如果两边既是服务端又是客户端口,这样就是双向认证了,不必看下面的也知道该怎么配双向认证了)

R1只做如下配置(既是验证服务端又是客户端)

在配置模式下设定用户名和密码(用户名和密码随意)

R1(config)#username a password 123

在端口模式下进行协议的封装、认证方式的指定和发送验证信息(对方设置的用户名和密码)

R1(config-if)#encapsulation ppp

R1(config-if)#ppp authentication pap

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

R2只做如下配置(既是验证服务端又是客户端)

在配置模式下设定用户名和密码(用户名和密码随意)

R2(config)#username b password 456

在端口模式下进行协议的封装、认证方式的指定和发送验证信息(对方设置的用户名和密码)

R2(config-if)#encapsulation ppp

R2(config-if)#ppp authentication pap

R2(config-if)#ppp pap sent-username a password 123

这样即可完成pap的双向认证

再来说说chap认证

1、单向认证

R1只做如下配置(验证服务端)

在配置模式下设定用户名和密码(用户名和密码随意)

R1(config)#username a password 123

在端口模式下进行协议的封装和认证方式的指定

R1(config-if)#encapsulation ppp

R1(config-if)#ppp authentication chap

R2只做如下配置(验证客户端)

在端口模式下进行协议的封装和认证时的用户名和密码指定(记住这里不发送用户名和密码,而是发送一个经过加密密码的一个字符串)

R2(config-if)#encapsulation ppp

R2(config-if)#ppp chap hostname a

R2(config-if)#ppp chap password 123

这样就可以完成chap的单向认证

2、双向认证

(这里和pap有所有同,请注意)

R1只做如下配置(既是验证服务端又是客户端)

在配置模式下设定用户名和密码(用户名可随意且可以不同但密码一定相同,因为最终核对的是同一个密码加密后散列函数,如果密码都不同,认证肯定失败)

R1(config)#username a password 123

在端口模式下进行协议的封装和认证方式的指定

R1(config-if)#encapsulation ppp

R1(config-if)#ppp authentication chap

相关文档
最新文档