网络管理员指南 -8.点到点协议-9>PPP的授权 -1)PAP与CHAP的比较

/ns/wz/net/data/20020808033002.htm

网络管理员指南 -8.点到点协议-9>PPP的授权 -1)PAP与CHAP的比较

本文出自:http://www.linpus.com.tw 作者: Andrew Anderson


相对于PAP的CHAP,使用PPP的时候每个系统都可能要求它的同级两中授权协议中的一种来
为它授权。这些是密码授权协议(PAP)。当一个连接已经建立时,每个终端都可以向其它
终端进行授权,而不需要考虑它是呼叫者还是被呼叫者。下面我将松散地在我想要区分被
授权系统还是授权系统的时候讨论有关客户和服务器的问题。一个PPP daemon可以通过仍然
发送另外一个LCP配置,要求辨认所需要的授权协议来要求授权。

PAP基本上使用的与普通的注册程序相同的方法。客户通过发送一个用户名字和一个(选择
性加密)密码到服务器,也就是与它的秘密数据相比较的服务器。这个技术容易被窃听者攻
击,他们可能会通过在连续线上的偷听来获得密码,从而重复细碎的事情和错误的任务。

CHAP没有这不足。使用CHAP的时候,进行授权者(也就是说服务器)发送一个随机产生的
“挑战”线连同它的主机名给客户。客户使用主机名来寻找正确的秘密,挑战和使用单向散列
法功能加密线。结果同客户的主机名字一起返回给服务器。服务器现在执行同样的计算,并在
它得出同样的结论的时候通知客户。

CHAP的另外一个特点是它并不只是要求客户在设置时间对自己进行授权,而是在有规律的间断
中发送挑战以确定客户没有被一个闯入者替代,例如可以只是转换电话线。

PPPD保存CHAP和PAP分别在两个文件中,被分别称为etc/ppp/chap-secrets和pap-secrets。通
过在月个亿 或者更多的文件中进入一个远程主机,你可以对于是否CHAP 或者PAP被用来同你的
同级授权自己或者相反上面有很好的控制。

默认情况下,PPPD不会从远程机中要求授权,而是会在远程终端要求的情况下同意对自己进行
授权。因为CHAP比PAP 要大很多,PPPD在可能的时候试着用前者。如果同级不支持,或者如果
PPPD不能在它的chap-secrets文件中为远程系统发现一个CHAP秘密,它就会转向PAP。如果它也
没有与PAP密码同级的部分,它将会拒绝全部授权。其结果是连接关闭。

这个行为可以使用几中方法修改。例如,当给出授权关键词时,PPPD将要求同级自己授权。既然
在它的CHAP和PAP数据中为同级分别准备了一个密码,PPPD将同意使用CHAP或者是PAP来做这一步。
打开或者关闭一个特定的授权协议还有别的方法。但是我不准备在这里介绍。详细情况请查看
PPPD(8)手册页。

如果同你讨论PPP的所有系统同意与你授权他们自己,你必须把auth选择放到全球/etc/ppp/options
文件并在chap-secrets文件中为每个系统指定密码。如果一个系统不能支持CHAP,就为它添加一个
路径到pap-secrets文件。通过这种方法,你可以确定没有未被授权的系统连接到你的主机。

下面的两个部分讨论两个PPP密码文件,pap-secrets 和 chap-secrets。他们的位置在/etc/ppp,
并且包含三倍的客户,服务器和密码,还可以在后面跟随一系列的IP地址。对于CHAP和PAP来说,
客户和服务器领域是不相同的。同样取决于我们与同级一起对自己授权,或者我们要求服务器与我
们一起对自己进行授权。