当前位置:
文档之家› PPP认证,含pap和chap的双向与单向认证——蘑菇课堂
PPP认证,含pap和chap的双向与单向认证——蘑菇课堂
CHAP认证示例
步骤 2. 路由器 R2 生成一个 ID 和一个随机数并将 ID、随机 数连同用户名一起作为CHAP 询问消息数据包发送到 R1。
CHAP认证示例
步骤 3. R1 将使用挑战者 (R2) 的用户名并利用本地数据库 交叉引用该用户名来查找相关联的口令。随后,R1 将使用 R2 的用户名、ID、随机数和共享加密口令生成一个唯一的 MD5 哈希数。
身份验证选项会要求链路的呼叫方输入身份验证信息。这 就确保了用户的呼叫行为得到了管理员的许可。然后,对 等路由器会交换身份验证消息。
启动PAP
PAP 使用双向握手为远程节点提供了一种简单的身份验证方法。 PAP 不支持交互。在使用 [Router B-Serial0/0] ppp authentication-mode pap 命令时,系统将以一个 LCP 数据包的形式发送用户名和口令, 而不是由服务器发送登录提示并等候响应。在 PPP 完成链路 建立阶段之后,远程节点在该链路上重复发送用户名-口令对, 直到发送节点确认该用户名-口令对或终止连接为止。
完成PAP 在接收节点,身份验证服务器将检查用户名和口 令,以决定允许或拒绝连接。然后,服务器将向 请求方返回接受或拒绝消息。
PAP 身份验证协议
PAP 并非可靠的身份验证协议,仍可用于以 下情形:
当系统中安装了大量不支持 CHAP 的客户端应 用程序时。 当不同供应商实现的 CHAP 互不兼容时。 当模拟主机远程登录必须使用纯文本口令时。
PPP
•PPP 的大部分工作 都在数据链路层和 网络层由 LCP 和 NCP 执行。 •LCP 设置 PPP 连 接及其参数,NCP 处理更高层的协议 配置,LCP 切断 PPP 连接。
PPP
LCP 是 PPP 中实际工作的部分。LCP 位于物理层的上方,其 职责是建立、配置和测试数据链路连接。LCP 建立点对点链路。 LCP 还负责协商和设置 WAN 数据链路上的控制选项,这些选 项由 NCP 处理。
发送CHAP 在完成 PPP 链路建立阶段之后,本地路由器将 向远程节点发送一条询问消息。
发送CHAP 远程节点将以采用单向哈希函数计算而得的值作 出响应,该函数通常是基于口令和询问消息的消 息摘要 5 (MD5)。
消息摘要算法MD5 Message Digest Algorithm MD5(中文名为消息 摘要算法第五版)为计算机安全领域广泛使用的 一种散列函数,用以提供消息的完整性保护。该 算法的文件号为RFC 1321。 MD5用的是哈希函数,在计算机网络中应用较多的 不可逆加密算法有RSA公司发明的MD5算法和由美 国国家技术标准研究所建议的安全散列算法SHA。
CHAP认证示例
步骤 4. 接着,路由器 R1 将询问消息 ID、哈希值及其用户 名 (R1) 发送到 R2。
CHAP认证示例
步骤 5. R2 使用它最初发送给 R1 的 ID、共享加密口令和随 机数生成自己的哈希值。
CHAP认证示例
步骤 6. R2 将自己的哈希值与 R1 发送的哈希值进行比较。 如果这两个值相同,R2 将向 R2 发送链路建立响应。
消息摘要算法MD5
理解举例: 地球上任何人都有自己独一无二的指纹,这常常成为 公安机关鉴别罪犯身份最值得信赖的方法;与之类似, MD5就可以为任何文件(不管其大小、格式、数量)产 生一个同样独一无二的“数字指纹”,如果任何人对 文件做了任何改动,其MD5值也就是对应的“数字指纹” 都会发生变化。 我们可以在下载该软件后,对下载回来的文件用专门 的软件(如Windows MD5 Check等)做一次MD5校验, 以确保我们获得的文件与该站点提供的文件为同一文 件。利用MD5算法来进行文件校验的方案被大量应用到 软件下载站、论坛数据库、系统文件安全等方面。
消息摘要算法MD5 MD5的典型应用是对一段Message(字节串)产生 fingerprint(指纹),以防止被“篡改”。 例如:将一段话写在一个叫 readme.txt文件中, 并对这个readme.txt产生一个MD5的值并记录在 案,然后你可以传播这个文件给别人,别人如果 修改了文件中的任何内容,你对这个文件重新计 算MD5时就会发现(两个MD5值不相同)。如果再 有一个第三方的认证机构,用MD5还可以防止文 件作者的“抵赖”,这就是所谓的数字签名应用。
PPP LCP 自动配置链路两端的接口,包括: 处理对数据包大小的不同限制 检测常见的配置错误 切断链路 确定链路何时运行正常或者何时发生故障 一旦建立了链路,PPP 还会采用 LCP 自动批准封 装格式(身份验证、压缩、错误检测)。
PPP 会话的三个阶段
第 1 阶段:链路建立和配置协商 — 在 PPP 交换任何网络 层数据报(例如 IP)之前,LCP 必须先打开链接并协商配 置选项。当接收路由器向启动连接的路由器发送配置确认 帧时,此阶段结束。 第 2 阶段:链路质量确认(可选) — LCP 测试链路以确定 链路质量是否足以启用这些网络层协议。LCP 可将网络层 协议信息的传输延迟到此阶段结束之前。 第 3 阶段:网络层协议配置协商 — 在 LCP 完成链路质量 确认阶段之后,适当的 NCP 可以独立配置网络层协议,还 可以随时启动或关闭这些协议。如果 LCP 关闭链路,它会 通知网络层协议以便协议采取相应的措施。
PPP 封装和身份验证过程 PPP 作出的逻辑决策: PAP身份认证
CHAP认证示例
路由器 R1 希望与路由器 R2 之间建立经过身份验证的 PPP CHAP 连接。
步骤 1. R1 首先使用 LCP 与路由器 R2 协商链路连接,在 PPP LCP 协商期间,两个系统同意使用 CHAP 身份验证。
●路由策略与策略路由实验
●访问列表与Telnet访问控制实验
WAN 封装协议
HDLC 现在是同步 PPP 的基础,许多服务器使用同步 PPP 连接到 WAN(最常见的是连接到 Internet)
PPP PPP 对数据帧进行封装以便在第 2 层物理链路上 传输。 PPP 使用串行电缆、电话线、中继 (trunk) 线、 手机、专用无线链路或光缆链路建立直接连接。 PPP 具有许多优点,包含 HDLC 中没有的许多功 能: 链路质量管理功能监视链路的质量。如果检测 到过多的错误,PPP 会关闭链路。 PPP 支持 PAP 和 CHAP 身份验证。
双向 PAP 身份验证配置示例
双向 CHAP认证
CHAP 使用三次握手定期校验远程节点的身份。 一台路由器上的主机名必须与已配置的另一 台路由器的用户名一致。两者的口令也必须 一致。此校验仅在初次建立链路时执行,在 链路建立之后可随时重复执行。
完成CHAP 本地路由器根据自己计算的预期哈希值来检查响 应。如果这两个值相同,则发起方节点会确认该 身份验证。否则,它会立即终止连接。
完成CHAP CHAP 通过使用唯一且不可预测的可变询问消息 值提供回送攻击防护功能。因为询问消息唯一而 且随机变化,所以得到的哈希值也是随机的唯一 值。反复发送询问信息限制了暴露在任何单次攻 击下的时间。本地路由器或第三方身份验证服务 器控制着发送询问信息的频率和时机。
PPP身份验证过程 可以启用 PAP 或 CHAP,也可以将两者同时启用。 如果同时启用,那么链路协商期间请求的将是您 指定的第一个方法。如果对方建议使用第二种方 法或拒绝了第一种方法,系统将会尝试第二种方 法。有些远程设备仅支持 CHAP,有些则仅支持 PAP。指定方法的顺序取决于您是更关心远程设 备协商合适方法的能力还是更关心数据线路的安 全性。PAP 用户名和口令将以纯文本字符串的格 式发送,容易被截获和重用。CHAP 已经消除了 大认证与访问控制
目
1 2 3 4
录
1、 PAP和CHAP认证 2、 访问控制列表ACL 3、网络地址转换NAT 4、网络攻击安全防范 5、使用SDM配置路由器 6、 使用SDM配置路由器 7、操作实例
5
6 7
目
录
教学目标
●解释和配置 PAP 和 CHAP 身份验证。 ●路由策略与策略路由引言 ●路由策略 ●策略路由
PPP 会话的三个阶段
PPP 配置选项:支持各种功能
PAP 身份验证协议
PPP 定义可扩展的 LCP,允许协商身份验证协议以便在允许网 络层协议通过该链路传输之前验证对等点的身份。RFC 1334 定义了两种身份验证协议,如图所示。
PAP 身份验证协议
PAP 是非常基本的双向过程。未经任何加密,用户名和口 令以纯文本格式发送。如果通过此验证,则允许连接。 CHAP 比 PAP 更安全,它通过三次握手交换共享密钥。 PPP 会话的身份验证阶段是可选的。如果使用了身份验证, 就可以在 LCP 建立链路并选择身份验证协议之后验证对等 点的身份,此活动将在网络层协议配置阶段开始之前进行。
CHAP身份验证过程
如果身份验证失败,系统会生成一个 CHAP 失败数据包, 其结构如下: 04 = CHAP 失败消息类型 id = 从响应数据包中复制而得 “Authentication failure”或类似文本消息,是供 用户阅读的说明性信息 注意:R1 和 R2 上的共享加密口令必须相同。
PPP身份验证过程
在启用 CHAP 或 PAP 身份验证或同时启用这两种身份验证 之后,在允许数据流通过之前,本地路由器要求远程设备 先提供身份信息。其实现过程如下: PAP 身份验证要求远程设备发送一个用户名和口令,然 后将其与本地用户名数据库或远程用户身份验证数据库 中的对应项进行比较。 CHAP 身份验证向远程设备发送询问消息。远程设备必须 使用共享密钥加密询问消息值并将加密后的值及其名称 作为响应消息返回给本地路由器。本地路由器使用远程 设备的名称在本地用户名或远程用户身份验证数据库中 查找适当的密钥。它使用查询到的密钥加密原始的询问 消息并校验加密后的值与原始值是否匹配。