当前位置: 首页 > 科技观察

一篇文章了解Internet协议安全—IPSec

时间:2023-03-12 08:20:46 科技观察

IPSec(InternetProtocolSecurity)是一个安全的网络协议族,用于保护在Internet或公共网络上传输的数据。IETF在20世纪90年代中期开发了IPSec协议,它通过对IP网络数据包的身份验证和加密来提供IP层的安全性。IPSec简介IPSec可以为通信两端的设备提供一个安全的通道,比如在两个路由器之间创建点对点的VPN,在防火墙和Windows主机之间进行远程访问VPN等。IPSec可以实现以下四个功能:数据保密性:IPSec发送方在通过网络发送数据包之前对其进行加密,可以保证即使数据包在传输过程中被截获,也无法读取信息。数据完整性:IPSec可以验证IPSec发送方发送的数据包,确保数据在传输过程中没有被更改。如果数据包被篡改以致于检查不匹配,它将被丢弃。数据认证:IPSec接收者可以识别IPSec数据包的来源,该服务依赖于数据的完整性。抗重放:保证每个IP包的唯一性,保证信息被截获和复制后不能重复使用,不能重传回目的地址。该特性可以防止攻击者截取和破译信息,然后利用相同的信息包获取非法访问权限。IPSec不是一个协议,而是一组协议。以下构成IPSec套件:AH协议AH(AuthenticationHeader)指的是一段消息认证码,保证数据包来自可信的发送者,保证数据没有被篡改,就像日常外卖中的封条一样生活是一样的。在发送之前,发送方使用加密密钥计算AH,接收方使用相同或另一个密钥对其进行验证。但是,AH不会加密它所保护的数据报,也无法对攻击者隐藏数据。ESP协议ESP(EncapsulatingSecurityPayload)在需要保密的数据包中加上自己的包头和包尾,加密完成后封装成一个新的IP包。ESP还在数据报头中添加一个序列号,以便接收主机可以确定它没有收到重复的数据包。SAProtocolSecurityAssociation(SA)是指一些用于协商加密密钥和算法,并提供AH和ESP操作所需参数的协议。最常见的SA协议之一是Internet密钥交换(IKE),它协商要在会话期间使用的加密密钥和算法。IPSec是如何工作的?IPSec的工作方式包括以下五个关键步骤:主机识别:主机识别数据包是否需要保护,当使用IPSec传输时,这些数据包的流动会自行触发安全策略。主机还检查传入的数据包是否已正确加密。IKE阶段1:主机使用IPSec协商将用于安全通道的策略集。双方通过身份验证后,在双方之间建立安全通道,协商IPSec电路加密的方式或验证通过它发送的数据。IKE阶段2:发生在安全通道上,两台主机协商要在会话中使用的加密算法类型,并且主机还同意并交换他们计划用于传入和传出流量的加密和解密密钥。IPSec传输:通过新建的IPSec加密隧道进行数据交换,使用之前设置的IPSecSA对数据包进行加解密。IPSec终止:当主机之间的会话超时或通信完成时,通信双方之间的隧道将在空闲时间达到一定值后自动删除。IPSec模式IPSec有两种不同的操作模式:隧道模式和传输模式。两者之间的区别在于IPSec如何处理数据包标头。在隧道模式下对整个IP数据包(包括IP标头和负载)进行加密和验证,并附加一个新的标头,如下图所示。通常,隧道模式应用于两个安全网关之间的通信。隧道模式在传输模式下,IPSec仅加密(或验证)数据包的有效载荷,但或多或??少地保留了现有的数据报头数据。通常,传输模式用于两台主机之间或主机与安全网关之间的通信。IPSec传输模式与隧道模式的区别在于隧道模式在安全性方面优于传输模式。它可以完全验证和加密原始IP数据包。在隧道模式下,可以隐藏内部IP地址、协议类型和端口。在性能方面,隧道模式会比传输模式占用更多的带宽,因为多了一个IP头。从场景上看,传输模式主要用于两台主机或一台主机与VPN网关之间的通信;隧道模式主要用于两个VPN网关之间或主机与VPN网关之间的通信。IPSec如何在VPN中使用?VPN本质上是在公共网络上实现的专用网络。VPN通常用于企业,使员工能够远程访问他们的公司网络。按照VPN协议的分类,常见的VPN类型有:IPSec、SSL、GRE、PPTP、L2TP。其中,IPSec是一种通用性很强的VPN技术,适用于网络互访的各种场景。IPSec通常用于保护VPN的安全。VPN在用户的计算机和VPN服务器之间创建一个专用网络,而IPSec协议实现一个安全网络,保护VPN数据不被外部访问。通过IPSecVPN,可以在主机之间、主机与网络安全网关之间或网络安全网关(如路由器、防火墙)之间建立安全的隧道连接。它的协议主要工作在IP层,对数据包进行加密和校验。可以使用两种IPSec模式建立VPN:隧道模式和传输模式。IPSecVPN和SSLVPNSSLVPN是一种轻量级的VPN技术,它使用SSL/TLS协议实现远程访问,包括服务器认证、客户端认证、SSL链路上的数据完整性和SSL链路上的数据机密性。SSLVPN提供安全、可代理的连接,只有经过身份验证的用户才能访问资源。SSLVPN可以细分加密隧道,使终端用户可以同时访问Internet和企业内部网络资源,即具有可控的功能。IPSecVPN和SSLVPN都支持企业级安全远程访问,但它们以不同的方式实现。IPSec工作在网络层,即在网络层及以上对原始数据包的内容进行封装;SSLVPN工作在传输层,封装应用信息。IPSec与SSL的具体区别:自1998年正式颁布以来,IPSec已经经历了20多年的发展。其设计初衷是在网络层建立通用的安全机制,保护所有IP网络通信的安全。与传输层和应用层的安全协议相比,IPSec可以提供更广泛和通用的安全保护。由于位于网络层,IPSec对上层协议是透明的,无需修改上层协议即可使用。但是,IPSec也有一定的局限性。在某些情况下,它不能进行直接的端到端通信(即传输方式)。此外,IPSec的配置复杂度也高于其他VPN协议。