链路层安全协议——L2TP(郑大网安自用)

链路层安全协议——L2TP

“端到端” 与 “点到点”

端到端

在数据传输前,经过各种交换设备在两端设备间建立一条链路。链路建立后,发送端就可以发送数据,直至数据发送完毕,接收端确认接收成功

  • **优点:**链路建立后,发送端知道接收设备一定能收到,而且经过中间交换设备时不需要进行存储转发,因此传输延迟小
  • **缺点:**直到接收端收到数据为止,发送端的设备要一直参与传输。如果整个传输的延迟很长,那么对发送端的设备造成很大浪费。另外,如果接收设备关机或故障,那么端到端传输不可能实现

点到点

发送端把数据传给与它直接相连的设备,这台设备在合适的时候又把数据传给与之直接相连的下一台设备,通过一台一台直接相连的设备,把数据传到接收端

  • **优点:**发送端设备送出数据后,它的任务已经完成,不需要参与整个传输过程,这样不会浪费发送端设备的资源。另外,即使接收端设备关机或故障,点到点传输也可以采用存储转发技术进行缓冲
  • **缺点:**发送端发出数据后,不知道接收端能否收到或何时能收到数据

image-20231218212559416

点对点协议PPP

PPP实际上是一个协议集合,它包括三个主要组成部分:

  1. 帧格式及成帧方法:一种将网络层分组封装到串行链路的方法。
  2. 一组链路控制协议LCP:用来处理连接建立、选项协商、测试线路和释放链路层连接。
  3. 一组网络控制协议NCP:用来处理连接建立、选项协商、测试线路和释放网络层连接

不同类型的NCP说明了PPP具有很好的通用性

image-20231218213449997

DEAD状态

  • 链路的初始状态为DEAD,这意味着不存在物理层连接。
  • 当物理层连接建立以后,双方能够检测到载波,链路转换到ESTABLISH状态。

ESTABLISH状态

  • 在ESTABLISH状态,PPP对等实体可以利用LCP协议协商一些配置选项。
  • 如果LCP配置选项协商要求使用认证协议进行身份认证,当LCP配置完成后,链路状态转换到AUTHENTICATE状态。
  • 否则,当LCP配置完成后,链路状态跳过AUTHENTICATE状态,直接转换到NETWORK状态。

AUTHENTICATE状态

  • AUTHENTICATE状态是一个可选的状态。
  • PPP允许使用三种认证协议:密码认证协议PAP挑战握手认证协议CHAP扩展认证协议EAP。
  • 如果认证通过,链路状态转换到NETWORK状态。否则链路状态转换到TERMINATE状态。

NETWORK状态

  • PPP对等实体可以使用NCP进行网络层参数的相关协商。
  • 对于IPv4,NCP被称为IPCP。IPCP可协商一系列选项,包括IP压缩协议、IPv4地址、移动IPv4以及域名服务器等。
  • NCP配置完成后,NCP协议可以控制链路转换到OPEN状态。

OPEN状态

  • 只有链路进入OPEN状态后,PPP才可以传送上层协议的数据,如传送IP数据报。
  • 在NETWORK状态和OPEN状态时,PPP也可以传送LCP分组和NCP分组。
  • NCP可以根据需要,关闭网络层连接。一旦关闭网络层连接,LCP也将尝试终止PPP链路。
  • LCP通过终止请求帧终止确认帧终止PPP链路后,链路状态转换到TERMINATE状态。

TERMINATE状态

  • 物理层连接被放弃后,链路将回到DEAD状态。

认证协议PAP和CHAP

PAP

口令认证协议,采用基于口令的认证方法

**认证过程:**被认证者向认证方发送“认证-请求”报文,其中包含了身份和口令信息。认证方根据请求报文返回相应信息

PAP包含的身份和口令信息为明文传输,所以无法防止窃听、重放和穷举攻击

image-20231218215325330

CHAP

基于挑战-握手的认证协议

主要在PPP中使用,既可在拨号开始时使用,也可在连接建立后的任何时刻(如:数据传输阶段)使用

image-20231218215427394

挑战与响应报文

image-20231218215548785

Challenge和Response报文的类型编号分别为1和2

“值”字段为c和A1, “长度”可变

“名字”字段包含了发送方的身份描述信息

成功与失败报文

image-20231218215638901

Success和Failure报文的类型为3和4

“消息”字段包含了描述信息,比如认证失败时可描述失败的原因

优缺点

**优点:**密钥信息不需要在通信信道中发送,而且每次认证所交换的信息都不一样,可以有效避免监听攻击

**缺点:**密钥在本地明文信息保存、不能防止中间人攻击

※ L2TP协议 ※

L2TP允许链路端点跨越多个网络

image-20231219132152040

过程

  1. 通过电话网络与LAC建立PPP链路,这段链路和隧道一起构成虚拟的PPP链路
  2. 远程系统的PPP帧首先发送给LAC,LAC将它作为L2TP协议报文的数据区封装并发送给LNS
  3. LNS则对报文进行解封处理后发送给家乡网络中的主机
  4. 从家乡局域网中主机的角度看,其收到的PPP帧就是远程系统发出的PPP帧,两者之间建立了一条虚拟的PPP链路

在某些情况下,主机可以不依赖LAC,而是独立运行L2TP,并与LNS建立隧道,如:LAC客户。

控制连接 & 会话

**控制连接:**LAC和LNS的一条隧道对应一个控制连接

**会话:**LAC每收到一个来自远程系统的呼叫,就为该呼叫建立一个会话

  • LAC和LNS通过协商建立控制连接后,意味着隧道建立成功,随后即可承载会话
  • 控制连接和会话都有唯一标识,发起方和回应方为同一隧道及会话指定的标识可以不同
  • 在建立控制连接和会话时,双方都会将自己指定的标识通告对方

隧道、控制连接及会话之间的关系

image-20231219194452021

  • 一条隧道对应一个控制连接,可承载多个会话,分别对应多个远程系统
  • 各远程系统分别呼叫LAC,与LAC建立PPP链路,随后LAC与LNS建立会话
  • PPP链路和L2TP会话共同构成虚拟PPP链路

一次完整的L2TP交互包括5个步骤:建立控制连接、建立会话、数据传输、终止会话、终止控制连接

image-20231219195425938

建立控制连接的协商可由LAC发起,也可由LNS发起

建立会话的两种情况(呼入和呼出)不一定要同时包含或先后进行

通信实体在收到一个L2TP协商报文后应发回确认,以确保可靠性

  • 可以捎带在下一发送的报文中返回
  • 如果没有下一报文,则返回专门的确认报文,即ZLBACK(Zero Length Body ACK), 即实体长度为0的确认报文,仅包含首部,数据区为空
  • 终止控制连接阶段的ZLBACK是必需的,其他各阶段则是可选的

L2TP消息

image-20231219195931894

L2TP包括两种消息:数据消息和控制消息,分别通过L2TP数据通道和控制通道传输

  • 数据消息承载PPP帧
  • 控制消息则用于L2TP隧道和会话的协商及维护

L2TP不保证数据消息的可靠传输,但保证控制消息的可靠传输

L2TP协议流程—可靠性机制

从TCP/IP协议族分层的角度看,L2TP是一个应用层协议,基于UDP,使用知名端口1071

UDP不保证可靠投递,需要加入确保控制消息可靠投递的机制

  • 每个L2TP报文都包含序号,为检测报文丢失和乱序提供基础
  • 使用肯定-确认,防止报文丢失
  • 使用滑动窗口技术,提高通信效率并进行流量控制
  • 使用慢启动策略,防止拥塞

安全性分析

未提供对每个报文的认证功能,无法抵抗插入攻击和地址欺骗

未提供对报文的完整性保护,攻击者可能会构造假冒的控制消息,使得隧道或底层链路断开,造成拒绝服务攻击

不提供对PPP数据的机密性和完整性保护,若使用CHAP,则可体现端点身份认证的功能。但CHAP依赖共享秘钥,而L2TP并未讨论密钥的生成方法

  • 26
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值