chap(chapter)
chap
本文内容来自于互联网,分享chap(chapter)
chap CHAP:PPP 挑战握手认证协议 (CHAP:Challenge Handshake Authentication Protocol)
挑战握手认证协议(CHAP)通过三次握手周期性的校验对端的身份,在初始链路建立时完成,可以在链路建立之后的任何时候重复进行。
1. 链路建立阶段结束之后,认证者向对端点发送“challenge”消息。
2. 对端点用经过单向哈希函数计算出来的值做应答。
3. 认证者根据它自己计算的哈希值来检查应答,如果值匹配,认证得到承认;否则,连接应该终止。
4. 经过一定的随机间隔,认证者发送一个新的 challenge 给端点,重复步骤 1 到 3 。
通过递增改变的标识符和可变的挑战值,CHAP 防止了来自端点的重放攻击,使用重复校验可以限制暴露于单个攻击的时间。认证者控制验证频度和时间。
该认证方法依赖于只有认证者和对端共享的密钥,密钥不是通过该链路发送的。
虽然该认证是单向的,但是在两个方向都进行 CHAP 协商,同一密钥可以很容易的实现相互认证。
由于 CHAP 可以用在许多不同的系统认证中,因此可以用 NAME 字段作为索引,以便在一张大型密钥表中查找正确的密钥,这样也可以在一个系统中支持多个 NAME/ 密钥对,并可以在会话中随时改变密钥。
CHAP 要求密钥以明文形式存在,无法使用通常的不可回复加密口令数据库。
CHAP 在大型网络中不适用,因为每个可能的密钥由链路的两端共同维护。
协议结构
CHAP 的配置选项格式如下:
8 16 32 40 bit
Type Length Authentication-Protocol Algorithm
Type ― 3
Length ― 5
Authentication-Protocol ― 对于 CHAP,为 C223(Hex)。
Algorithm ― Algorithm 字段为八位字节,表示使用的认证方法。
CHAP 数据包结构如下所示:
8 16 32 bit Variable
Code> Identifier Length Data . . .
Code ― 识别 CHAP 数据包类型。CHAP 代码具有以下几种:1、Challenge;2、Response;3、Success;4、Failure。
Identifier ― 用于匹配 Challenges、Responses 和 Replies 信息。
Length ― CHAP 数据包的长度,包括 Code、Identifier、Length 和 Data 字段。
Data ― 0或更多八位字节。该字段格式取决于 Code 字段。对于 Success 和 Failure,Data 字段包括一个独立执行的可变信息字段
CHAP安全性能分析
应更强大的记忆式密码认证系统
的需要—— 能适用在公共网络中——
Intemet Engineering Task Force公布了
一个被称作“CHAP”的协议标准和
使用指导。利用这一协议,专门设计
的应用程序和网络设备就可以发出密
码写成的挑战/应答对话,来确定彼
此的身份。
对用户来说,CHAP认证通常
是自动的和一目了然的。事实上,
CHAP的主要作用不是进行用户认
证,而是主要用来帮助“黑匣子”
进行信息传播。CHAP在现代网关
装置中比较常见,例如路由器和一
般服务器,它们在允许网络连接之
前,都要询问和鉴定CHA助口密的记
忆式密码。
CHAP认证几乎和所有的路由器
以及一般服务器设备兼容,因此可以
安装在几乎所有的Intemet网关上。它
也与大部分的PPP客户端软件兼容,
其中包括Microsoft Windows提供的一
些主流PPP客户端。然而,它与大多
数的“legacy”应用不能兼容,其中
包括绝大多数的主机设备和微机的登
录系统。
在Internet上传输时,CHAP表现
出了足够强大的抗攻击陛。然而,当
CHAP全自动和透明时,它就不能够
准确鉴别人类用户的身份了。即使要
求输入记忆式密码而且这个密码还被
CHAP)J~密,它也仍然存在被身后的
人轻松窥视到的致命弱点。因此,通
常认可的计算机操作在承认记忆式密
码的地方也允许使用CHAP认证,同
时可以在单独使用记忆式密码不能
满足网络暴露时使用CHAP认证。然
而,即使是最好的CHAP配置也不能
够解决有关环境的物理安全和可接近
性的所列问题,因为使用记忆式密码
时通常是不能远离身边其他电脑工作
者的。