链路层安全扩展——L2TP协议

本文详细介绍了PPP协议的基础,探讨了PAP和CHAP认证协议,重点阐述了第二层隧道协议(L2TP)的概念、实现模式、协议消息、控制连接和安全性分析,展示了L2TP如何扩展链路层安全并克服PPP局限性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

链路层安全扩展——L2TP协议

PPP协议

协议概念

说到数据链路层的安全协议,我们不得不先提一下PPP协议,后面的PAP、CHAP与L2TP协议都是围绕它展开的。(PPP不是本文重点,很多细节没有提到,到时候会专开一篇文章讲PPP)

PPP(Point-to-point Protocol,点到点协议)协议是为同等单元之间传输数据包设计的,主要是用来通过拨号或专线方式建立点对点连接发送数据,使其成为各种主机、网桥和路由器之间简单连接到一种共同的解决方案。

点对点网络中,一个数据帧的接收者就是固定的对等端。

PPP规定了以下内容:

  • 帧格式以及成帧方法
  • 用于建立、配置和测试PPP链路的链路控制协议(Link Control Protocol, LCP),以及通信双方可通过LCP包协商一些选项。
  • 一组用于建立和配置网络层协议的网络控制协议(Network Control Protocol,NCP)。在PPP链路上可以传输不同网络协议的数据,NCP用于对这些网络协议相关的参数进行配置。但NCP只是一个统称,如果传输的是IP数据,则“NCP”是指IP控制协议(IPCP)。不同类型的NCP充分说明了PPP具有良好的通用性。鉴于IP的通用性,随后都以IPCP为例进行说明。

协议封装格式

PPP协议的封装格式如下:

  • 协议字段分为三种:如果是0xC021,则数据部分是PPP的链路控制数据;如果为0x0021,数据部分就是IP数据报;如果是0x8021,则表示这是网络控制数据

协议流程

PPP协议流程如下:

  • 在建立PPP链路前,发送方和回应方必须建立一条物理连接
  • 双方首先利用LCP建立PPP链路。
  • 用PAP或CHAP验证身份。
  • 用IPCP配置IP层参数。
  • 通信完成后,利用LCP断开PPP链路。
  • 断开物理连接。

整个过程包括5个阶段:

  • 链路不可用阶段:链路状态的起始点和终止点。
  • 链路建立阶段:双方用LCP建立链路。
  • 认证阶段:回应方发起身份验证。
  • 网络层协议阶段:回应方给发起方分配IP地址(毕竟是对等方式连接的)。
  • 链路终止阶段:PPP链路终止。

PAP和CHAP认证协议

PPP协议有两种认证协议,分别是PAP协议CHAP协议

PAP协议

PAP(Password Authentication Protocol)是基于口令认证的方法,被认证方发送Authenticate-Request报文(类型1),其中包含了身份(通常是账号或者说用户名)和口令信息。

若认证通过,认证方返回Authenticate-Ack(类型2),否则返回Authenticate-Nak(类型3)

PAP协议以明文方式传输身份和口令给网络接入服务器(Network Access Server,NAS)。因此安全性较差,容易被第三方窃取用户名和口令。

另外,PAP在PPP身份认证过程中,由被认证方发起认证,并且仅在建立链路阶段使用,在数据传输过程中不能用。

下面是PAP两次握手的具体过程:

CHAP协议

**基于挑战认证的协议(Challenge-Handshake Authentication Protocol)**通过三次握手完成身份认证,我们记认证方为S,其用户名为SU,被认证方为U其用户名为UU,随机数为R,口令为PW,则认证成功的工作过程如下(部分字段没有体现在下文中,详细请参考包格式):

S→U:0x0001,ID,R,SUU→S:0x0002,ID,Hash(PW∣∣R),UUS→U:0x0003,ID,Message S\to U:0x0001,ID,R,SU \\ U\to S: 0x0002,ID,Hash(PW ||

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值