配置并理解PPP CHAP身份验证 您所在的位置:网站首页 思科认证怎么样 配置并理解PPP CHAP身份验证

配置并理解PPP CHAP身份验证

2023-08-16 11:56| 来源: 网络整理| 查看: 265

简介

本文档介绍质询握手身份验证协议(CHAP)如何通过三次握手验证对等体的身份。

先决条件 要求

Cisco 建议您了解以下主题:

如何通过 encapsulation ppp 命令。

此 debug ppp negotiation  命令输出.有关详细信息,请参阅了解debug ppp negotiation输出。

当链路控制协议(LCP)阶段未处于打开状态时,如何排除故障。这是因为,在 LCP 阶段已完成并处于打开状态之前,不会开始 PPP 身份验证阶段。如果   debug ppp negotiation命令不表示LCP处于打开状态,您需要解决此问题才能继续。

注:本文档不介绍MS-CHAP(版本1或版本2)。

使用的组件

本文档不限于特定的软件和硬件版本。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则。

背景信息

质询握手身份验证协议 (CHAP)(已在 RFC 1994 中定义)通过三向握手来验证对等体的身份。以下是在 CHAP 中执行的一般步骤:

在完成 LCP(链路控制协议)阶段并在两个设备之间协商 CHAP 之后,身份验证程序向对等体发送一条质询消息。

对等体使用通过单向散列函数(消息摘要算法 5 (MD5))计算的值进行响应。

身份验证程序根据自己计算出的预期散列值检查响应。如果两个值匹配,则身份验证成功;否则,将终止连接。

此认证方法取决于只有证明人和对等体知道的“秘密”。该密钥不会通过链路发送。虽然身份验证只是单向身份验证,您仍可以借助为相互身份验证设置的相同密钥来双向协商 CHAP。

有关 CHAP 的优缺点的详细信息,请参阅 RFC 1994 。

配置 CHAP

配置 CHAP 的过程非常简单。例如,假定您有左右两个通过网络连接的路由器,如图 1 所示。

两台路由器通过网络连接

图1 — 通过网络连接的两台路由器

要配置 CHAP 身份验证,请完成以下步骤:

在接口上发出 encapsulation ppp 命令。

在两台路由器上启用使用CHAP身份验证, ppp authentication chap   命令。

配置用户名和口令。为此,请发出 username username password password命令,其中username是对等体的主机名。请确保:

两端上的口令相同。

由于路由器名称和口令区分大小写,因此请确保它们完全相同。

注意:默认情况下,路由器使用其主机名向对等体标识自身。但是,此CHAP用户名可以通过 ppp chap hostname 命令。有关详细信息,请参阅使用ppp chap hostname和ppp authentication chap callin命令的PPP身份验证。

单向和双向验证

CHAP 被定义为单向身份验证方法。然而,您可以在两个方向上使用 CHAP 以创建双向身份验证。因此,通过双向 CHAP,每一端都可以发起单独的三次握手。

在 Cisco CHAP 实施中,默认情况下,被叫方必须认证主叫方(除非认证被完全地关闭了)。所以,被叫方发起的单向身份验证是可能的最低身份验证。然而,主叫方也可以验证被叫方的身份,从而导致双向身份验证。

当您连接到非 Cisco 设备时,通常需要进行单向身份验证。

对于单向身份验证,请配置 ppp authentication chap callin命令。

表 1 显示了应在何时配置 callin 选项。

表1:何时配置呼入选项

认证类型 客户端(主叫) NAS(被叫) 单向 ppp authentication chap callin ppp authentication chap 双向 ppp authentication chap ppp authentication chap

有关详细信息,请参阅使用ppp chap hostname和ppp authentication chap callin命令的PPP身份验证。

CHAP 配置命令和选项

表 2 列出了 CHAP 命令和选项:

表2:CHAP命令和选项

命令 描述 ppp authentication {chap | ms-chap | ms-chap-v2 | eap |pap} [callin] 此命令使用指定协议对远程 PPP 对等体启用本地身份验证。 ppp chap hostnameusername(ppp chap hostnameusername) 此命令定义特定于接口的 CHAP 主机名。有关详细信息,请参阅使用ppp chap hostname和ppp authentication chap callin命令的PPP身份验证。 ppp chap password 此命令定义特定于接口的 CHAP 口令。 ppp directioncallin |标注 |专用 此命令强制呼叫方向。当路由器对呼叫是传入还是传出感到困惑时(例如,当背对背连接或通过租用线路连接时,且信道服务单元或数据服务单元(CSU/DSU)或ISDN终端适配器(TA)配置为拨号时),可使用此命令。 ppp chap refuse [callin] 此命令会禁用对等体的远程身份验证(默认值为启用)。使用此命令,将针对所有呼叫禁用 CHAP 身份验证,这意味着对等体强制用户借助 CHAP 进行身份验证的所有尝试都会遭到拒绝。callin 选项指定路由器拒绝答复所收到的对等体的 CHAP 身份验证质询,但仍然要求对等体答复路由器发送的所有 CHAP 质询。 ppp chap wait 此命令指定呼叫方必须首先进行身份验证(默认值为启用)。此命令指定路由器不会向请求CHAP身份验证的对等体进行身份验证,直到该对等体向路由器进行身份验证之后。 ppp max-bad-auth value 此命令指定允许的身份验证重试次数(默认值为 0)。此命令可配置一个点对点接口,在认证失败之后不立即重置自己,而是允许指定认证重试的次数。 PPP CHAP splitnames 此隐藏命令允许 CHAP 质询和回应(默认为禁用)中不同的主机名。 ppp chap ignoreus 此隐藏命令忽略使用本地名称的 CHAP 质询(默认值是启用)。 交易示例

以下部分中的关系图表显示了 CHAP 身份验证过程中两个路由器之间发生的系列事件。这些并不代表在 debug ppp negotiation命令输出.有关详细信息,请参阅了解debug ppp negotiation输出。

呼叫

呼叫进入

图2 — 呼叫进入

图2显示以下步骤:

呼入接入到 3640-1。传入接口配置有  ppp authentication chap    命令。

LCP 协商 CHAP 和 MD5。有关如何确定此情况的详细信息,请参阅了解debug ppp negotiation输出。

此呼叫要求 3640-1 向主叫路由器发送 CHAP 质询。

挑战

已构建CHAP质询数据包

图3 — 构建CHAP质询数据包

图3显示了两台路由器之间的CHAP身份验证中的以下步骤:

构建的 CHAP 质询数据包具有以下特征:

01 = 质询数据包类型标识符。

ID = 标识质询的序号。

random = 路由器生成的合理随机编号。

3640-1 = 质询程序的身份验证名称。

在被叫路由器上保存 ID 和随机值。

将质询数据包发送到主叫路由器。维护未处理的质询的列表。

回复

从对等设备接收质询数据包和MD5处理

图4 — 从对等设备接收质询数据包和MD5处理

图4显示了如何从对等设备接收和处理质询数据包(MD5)。路由器按如下方式处理传入的 CHAP 质询数据包:

向 MD5 散列算法生成器提供 ID 值。

向 MD5 散列算法生成器提供随机值。

使用名称 3640-1 查找口令。路由器在质询中查找与此用户名匹配的条目。在本示例中,路由器查找:

username 3640-1 password pc1

4.将密码输入到MD5哈希生成器。

结果将生成单向 MD5 散列 CHAP 质询,并将此质询发送回 CHAP 响应。

回应(续)

已构建发送到身份验证器的CHAP响应数据包

图5 — 已生成发送到身份验证器的CHAP响应数据包

图 5 演示如何构建发送给身份验证程序的 CHAP 响应数据包。此关系图显示了以下步骤:

根据以下组件组合响应数据包:

02 = CHAP 响应数据包类型标识符。

ID = 从质询数据包复制而得。

hash = MD5 散列算法生成器的输出(质询数据包的散列消息)。

766-1 = 此设备的身份验证名称。对等体在查找验证身份所需的用户名和口令条目时,将需要使用此名称(验证 CHAP 部分将对此进行详细说明)。

然后,将响应数据包发送给质询程序。

验证 CHAP

此部分提供有关如何验证您的配置的提示。

挑战者处理响应数据包

图6 — 挑战者处理响应数据包

图 6 显示了质询程序如何处理响应数据包。下面给出了(在身份验证程序上)处理 CHAP 响应数据包的相关步骤:

使用 ID 查找原始质询数据包。

向 MD5 散列算法生成器提供 ID。

向 MD5 散列算法生成器提供原始质询随机值。

使用名称 766-1 查找来自以下来源之一的口令:

本地用户名和口令数据库。

RADIUS 或 TACACS+ 服务器。

向 MD5 散列算法生成器提供口令。

然后,将响应数据包中收到的散列值与计算的 MD5 散列值相比较。如果计算和收到的散列值相等,则 CHAP 身份验证成功。

结果

成功消息发送到主叫路由器

图7 — 成功消息发送到主叫路由器

图 7 演示如何向主叫路由器发送成功消息。这涉及以下步骤:

如果身份验证成功,将根据以下组件构建 CHAP 成功数据包:

03 = CHAP 成功消息类型。

ID = 从响应数据包中复制而得。

“欢迎加入”只是提供用户可读说明的文本消息。

如果身份验证失败,将根据以下组件构建 CHAP 失败数据包:

04 = CHAP 失败消息类型。

ID = 从响应数据包中复制而得。

“身份验证失败”或其他文本消息,提供用户可读的解释。

然后,将成功或失败数据包发送到主叫路由器。

注:此示例描述单向身份验证。在双向身份验证中,将重复上述整个过程。但是,主叫路由器将发起初始质询。

CHAP 故障排除

有关如何排除任何问题的信息,请参阅排除PPP(CHAP或PAP)身份验证故障。

相关信息 了解debug ppp negotiation输出 使用ppp chap hostname和ppp authentication chap callin命令的PPP身份验证 思科技术支持和下载


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有