Golang编程语言知识介绍


  • 首页

  • todo

  • 思考

  • life

  • food

  • OS

  • lua

  • redis

  • Golang

  • C

  • TCP/IP

  • ebpf

  • p4

  • OpenVPN

  • IPSec

  • L2TP

  • DNS

  • distributed

  • web

  • OpenWRT

  • 运维

  • Git

  • 鸟哥的私房菜

  • IT杂谈

  • 投资

  • About Me

  • 友情链接

  • FTP

  • 搜索
close

Challenge-Handshake Authentication Protocol, CHAP

时间: 2023-11-24   |   分类: L2TP   PPP     |   阅读: 818 字 ~2分钟

质询握手身份验证协议 (Challenge-Handshake Authentication Protocol, CHAP)

CHAP 验证使用质询和响应的概念,此概念表示对等点(验证者)会质询呼叫者(被验证者)以证明其身份。质询包括一个随机数和一个由验证者生成的唯一 ID。呼叫者必须使用 ID、随机数及其 CHAP 安全凭证来生成要发送到对等点的正确响应(握手)。

CHAP 安全凭证包括 CHAP 用户名和 CHAP“密钥”。CHAP 密钥是一个呼叫者和对等点在协商 PPP 链路前均识别的任意字符串。可在 CHAP 数据库 /etc/ppp/chap-secrets 中配置 CHAP 安全凭证。

/etc/ppp/chap-secrets 文件

CHAP 数据库在 /etc/ppp/chap-secrets 文件中实现。要成功进行验证,PPP 链路两端的计算机必须在其 /etc/ppp/chap-secrets 文件中包含另一方的 CHAP 凭证。


注 - 与 PAP 不同,共享密钥必须以明文形式保存在两个对等点中。不能将 crypt、PAM 或 PPP 登录选项与 CHAP 一起使用。


/etc/ppp/chap-secrets 文件具有以下语法。

myclient myserver secret5748 *

这些参数具有以下含义:

  • myclient

    呼叫者的 CHAP 用户名。此名称可以与呼叫者的 UNIX 用户名相同,也可以不同。

  • myserver

    远程计算机(通常为拨入服务器)的名称。

  • secret5748

    呼叫者的 CHAP 密钥。注 - 与 PAP 口令不同,CHAP 密钥不通过链路发送,CHAP 密钥在本地计算机计算响应时使用。

  • *

    与呼叫者关联的 IP 地址。使用星号 (*) 表示任何 IP 地址。

CHAP 验证期间发生的操作

CHAP 验证按以下顺序发生。

图 8-2 CHAP 验证顺序

image:以下内容介绍了流程图中展示的顺序。

  1. 将要启动通信的两个对等点针对在 PPP 链路协商期间用于验证的密钥达成一致。
  2. 两台计算机的管理员将密钥、CHAP 用户名和其他 CHAP 凭证添加到各自计算机的 /etc/ppp/chap-secrets 数据库中。
  3. 呼叫者(被验证者)呼叫远程对等点(验证者)。
  4. 验证者生成随机数和 ID,并将这些数据作为质询发送给被验证者。
  5. 被验证者在其 /etc/ppp/chap-secrets 数据库中查找对等点的名称和密钥。
  6. 被验证者通过对密钥和对等点的随机数质询应用 MD5 计算算法来计算响应。然后,被验证者将结果作为响应发送给验证者。
  7. 验证者在其 /etc/ppp/chap-secrets 数据库中查找被验证者的名称和密钥。
  8. 验证者通过将 MD5 应用于作为 /etc/ppp/chap-secrets 中被验证者的质询和密钥生成的数字,来计算其自己的数字。
  9. 验证者将其结果与呼叫者的响应进行比较。如果两个数字相同,则表示对等点成功验证了呼叫者,链路协商将继续。否则,将丢弃链路。

相关内容转载自本链接

#L2TP# #PPP#
PPPOE简介
ppp2.4 undefined reference to `crypt
shankusu2017@gmail.com

shankusu2017@gmail.com

日志
分类
标签
GitHub
© 2009 - 2025
粤ICP备2021068940号-1 粤公网安备44011302003059
0%