chappap认证原理及配置详细讲解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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