L2TP
第2层隧道协议是点对点隧道协议的扩展或增强,通常用于通过 Internet 操作虚拟专用网络。本质上,是 PPTP 的一个新的改进版本。顾名思义,它运行在 OSI 模型的数据链路层(如 PPTP)。许多专家认为 PPTP 和 L2TP的安全性都低于IPsec。然而,IPsec 与 L2TP 一起使用来创建安全 VPN 连接的情况并不罕见。
L2TP认证
与 PPTP 一样,L2TP 支持 EAP 和 CHAP。但是,它还提供对其他身份验证方法的支持,总共有六种:
上一节讨论了 EAP 和 CHAP。以下部分讨论其余四个。
MS-CHAP
顾名思义,MS-CHAP 是Microsoft 特定的 CHAP 扩展。Microsoft创建了 MS-CHAP 来验证远程 Windows 工作站。目标是向远程用户提供 LAN 上可用的功能,同时集成 Windows 网络上使用的加密和哈希算法。
只要有可能,MS-CHAP 就与标准CHAP 保持一致。但是,MS-CHAP 和标准 CHAP 之间的一些基本区别包括:
·MS-CHAP 响应数据包的格式旨在与 Microsoft 的 Windows 网络产品兼容。
·MS-CHAP 格式不需要身份验证器存储明文或可逆加密的密码。
·MS-CHAP 提供身份验证器控制的身份验证重试和密码更改机制。这些重试和密码更改机制与 Windows 网络中使用的机制兼容。
·MS-CHAP 定义了一组失败原因代码,如果身份验证失败,这些代码将在失败数据包的消息字段中返回。这些是 Windows 软件能够读取和解释的代码,从而为用户提供身份验证失败的原因。
PAP
密码身份验证协议 (PAP) 是最基本的身份验证形式。使用 PAP,用户的名称和密码通过网络传输,并与名称-密码对表进行比较。通常,存储在表中的密码是加密的。然而,密码的传输是以明文形式进行的,未加密,这是 PAP 的主要弱点。HTTP 协议中内置的基本身份验证功能使用 PAP。图1显示了此身份验证。此方法已不再使用,仅出于历史目的而提出。
图 1 PAP
SPAP
Shiva 密码验证协议 (SPAP) 是 PAP 的专有版本。大多数专家认为 SPAP 比 PAP 更安全,因为与 PAP 不同,用户名和密码在发送时都经过加密。图 2 说明了该协议。
图 2 SPAP
由于SPAP会对密码进行加密,因此捕获身份验证数据包的人将无法读取SPAP密码。然而,SPAP 仍然容易受到回放攻击(即,一个人记录交换并回放消息以获得欺诈性访问)。回放攻击是可能的,因为 SPAP 始终使用相同的可逆加密方法通过网络发送密码。
Kerberos
Kerberos 是最著名的网络身份验证协议之一。它是在麻省理工学院开发的,它的名字来源于神话中守卫地狱之门的三头狗。
Kerberos 无处不在,许多与安全相关的认证考试(Security+、CISSP、CASP等)也会涉及到它。因此,对 Kerberos 有一个基本的了解是个好主意。本节提供了一个简短的概述,足以满足大多数行业认证考试的需要。
Kerberos 的工作原理是在客户端和服务器之间来回发送消息。实际密码(甚至密码的哈希值)永远不会发送。这使得其他人不可能拦截它。相反,会发生用户名被发送的情况。然后,服务器查找该密码存储的哈希值,并将其用作加密密钥来加密数据并将其发送回客户端。然后,客户端获取用户输入的密码,并将其用作解密数据的密钥。如果用户输入了错误的密码,则该密码永远不会被解密。这是一种无需传输密码即可验证密码的巧妙方法。身份验证通过端口 88 上的 UDP(用户数据报协议)进行。
将用户的用户名发送到身份验证服务 (AS) 后,该 AS 将使用作为密钥存储的用户密码的哈希值来加密发送到客户端的以下两条消息:
·消息 A:包含使用客户端密钥加密的客户端/TGS(票证授予服务)会话密钥
·消息B:包含TGT(Ticket Granting Ticket),其中包括客户端ID、客户端网络地址和有效期
请记住,这两条消息均使用 AS 生成的密钥进行加密。
然后,用户尝试使用客户端对用户输入的密码进行哈希处理后生成的密钥来解密消息 A。如果输入的密码与 AS 在数据库中找到的密码不匹配,则哈希值将不匹配,并且解密将无法进行。如果确实有效,则消息 A 包含可用于与 TGS 通信的客户端/TGS会话密钥。消息B使用TGS密钥加密,客户端无法解密。
现在用户已通过系统身份验证。但当用户实际请求服务时,需要更多的消息通信。当请求服务时,客户端向 TGS 发送以下消息:
·消息C:由消息B中的TGT和所请求服务的ID组成
·消息D: Authenticator(由客户端ID和时间戳组成),使用Client/TGS会话密钥加密
收到消息 C 和 D 后,TGS 从消息 C 中检索消息 B。它使用 TGS 密钥解密消息 B。这给了它“客户端/TGS 会话密钥”。使用该密钥,TGS解密消息 D(Authenticator)并向客户端发送以下两条消息:
·消息 E:使用服务密钥加密的客户端到服务器票据(包括客户端 ID、客户端网络地址、有效期和客户端/服务器会话密钥)
·消息 F:使用客户端/TGS 会话密钥加密的客户端/服务器会话密钥
从 TGS 接收到消息 E 和 F 后,客户端就有足够的信息向服务服务器 (SS) 验证自己的身份。客户端连接到SS并发送以下两条消息:
·消息 E:来自上一步(客户端到服务器的票证,使用服务的密钥加密)
·消息G:一个新的Authenticator,其中包括客户端ID和时间戳,并使用客户端/服务器会话密钥进行加密
SS 使用自己的密钥解密票证(消息 E)以检索客户端/服务器会话密钥。SS 使用会话密钥解密Authenticator,并向客户端发送以下消息,以确认其真实身份并愿意为客户端提供服务:
·消息H:在客户端的Authenticator中找到的时间戳
客户端使用客户端/服务器会话密钥解密确认(消息H)并检查时间戳是否正确。如果是这样,则客户端可以信任服务器并可以开始向服务器发出服务请求。
服务器向客户端提供所请求的服务。
简化的 Kerberos(没有消息 A 到 H 的详细信息)如图3所示。
图 3简化的 Kerberos
以下是需要了解的 Kerberos 术语:
L2TP 与 PPTP 比较
L2TP实际上是二层转发协议(由Cisco开发)和PPTP(在上一节中讨论)的融合。L2TP 的发展是由于发现 PPTP 的缺点而推动的。这些缺点之一是 PPTP 仅支持公共IP地址。许多拨号网络服务仅支持注册的IP地址,这限制了通过 VPN 实现的应用程序类型。换句话说,只有在interNIC 上注册的公共IP 地址才可接受。鉴于许多VPN最终会与可能使用私有IP地址的内部服务器连接,这会带来一些限制。L2TP支持Internet上的多种协议以及未注册和私人管理的IP地址。
L2TP 相对于 PPTP 的另一个重要改进是它使用 IPsec 进行加密,而 PPTP 仅使用 Microsoft 点对点加密 (MPPE)。MPPE实际上是DES的一个版本,因此对于大多数情况来说足够安全。然而,大多数专家认为 IPsec 更安全。下表提供了PPTP 与 L2TP 的比较。
表L2TP 与 PPTP
L2TP |
PPTP |
|
非IP网络 |
是的,L2TP 可以在 X.25 网络和ATM网络上工作 |
不,仅限IP |
加密 |
是的,使用 IPsec |
是的,使用MPPE |
验证 |
是,使用EAP或MS-CHAP |
是,EAP、MS-CHAP、CHAP、SPAP和PAP |
原文始发于微信公众号(河南等级保护测评):网络安全等级保护:L2TP认证及与 PPTP比较
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论