行业资讯

网络安全——IP安全

发布时间:2026/8/17 19:13:21
网络安全——IP安全 IP安全1、IPSec安全体系结构1.1、IPSec安全体系的构成1.1.1、安全协议1.1.2、密钥管理1.1.3、安全关联1.2、IPSec服务内容2、IPSec协议2.1、认证头AH协议2.2、封装安全载荷ESP协议3、IPSec的工作原理及应用3.1、IPSec的工作模式3.1.1、传输模式3.1.2、隧道模式3.2、IPSec的工作流程3.3、IPSec应用IP安全是指保护互联网中的IP地址不受到非法访问、攻击或滥用的措施和技术。IP的安全性直接决定了整个互联网的安全。最常用的保障网络安全的协议是IPSecInternetProtocol Security​。IPSec通过使用认证、加密和密钥管理等技术提供了对IP通信的端到端安全保护。IPSec被广泛应用于虚拟专用网Virtual Private Network, VPN和安全网关等场景以实现安全的远程访问、站点到站点连接和跨网络的保护。1、IPSec安全体系结构IP协议在本质上是不安全的伪造一个IP数据报、篡改数 据报的内容、窥探传输中数据报的内容都比较容易做到。IP通信环境既不能保证一个IP数据报确实来自它的源IP地址也不能保证IP数据报在传输过程中未被篡改或泄露。为了解决IP协议的安全问题IETF于1995年成立了一个IP协议与密钥管理机制的机构负责制定保证互联网数据传输安全性的标准。这个机构经过几年的工作提出了一系列协议构成了一个安全体系称为IP安全协议集IPSec​。1.1、IPSec安全体系的构成IPSec是基于IP通信环境的一种端到端的数据安全保障机制相当复杂。IPSec协议由一系列的RFC文档组成主要包括RFC 24012412、RFC 1826和RFC 1827其中最重要的是1998年11月发布的RFC 2401安全体系结构概述​、RFC 2402IPv4和IPv6的报文认证扩展描述​、RFC 2406IPv4和IPv6的报文加密扩展描述和RFC 2408密钥管理协议​。IETF的IP安全工作组还发布了一些附加草案。下图所示为IPSec协议簇的体系结构即IPSec协议簇中各个子协议及其相互关系它已经成为工业标准的网络安全协议。由图可知IPSec安全体系包含认证头、封装安全载荷和密钥管理3个安全协议以及解释域、加密与认证算法可以将其划分为安全协议、密钥管理和安全关联3个部分。1.1.1、安全协议安全协议主要包括认证头协议和封装安全载荷协议。认证头部Authentication Header, AH​。AH提供数据完整性、数据防篡改和源端身份验证的功能。它在IP数据包中添加一个头部并使用哈希算法如HMAC对IP数据包头部和有效负载进行校验和计算并生成消息认证码MAC以验证数据的完整性。封装安全负载Encapsulating Security Payload,ESP​。ESP提供数据加密、数据完整性和可选的身份验证。它在IP数据包中添加一个头部和一个尾部用于加密原始数据和计算校验和。ESP可以使用对称加密算法对数据进行加密以确保数据的机密性。1.1.2、密钥管理互联网密钥交换Internet Key Exchange, IKE协议。IKE是一种混合型协议由Internet安全关联和密钥关联协议ISAKMP与两种密钥交换协议OAKLEY、SKEME组成即IKE由ISAKMP框架、OAKLEY密钥交换模式以及SKEME的共享和密钥更新技术组成。IKE提供了通信节点间的身份验证、密钥交换和协商安全关联Security Association, SA参数的过程用于建立、管理和更新IPSec中的安全关联。IKE可以使用预共享密钥、公钥加密或证书进行身份验证和密钥协商。IKE将密钥协商的结果保留在SA中供AH和ESP通信时使用。解释域Domain of Interpretation, DOI​。DOI规定了每个算法的参数要求和计算规则以及初始向量的计算规则。共享一个DOI的协议从一个共同的命名空间中选择安全协议和变换、共享密码以及交换协议的标识符等DOI将IPSec的这些RFC文档联系在一起。1.1.3、安全关联安全关联SA​。SA是在通信的两个节点之间建立的安全参数集合。它决定了要保护什么、如何保护以及谁来保护传输的数据。每个IPSec会话都有一个唯一的SA。SA包括加密算法、完整性校验算法、密钥等信息。在IPSec会话建立过程中通信双方必须协商并交换SA信息SA是构成IPSec的基础。安全策略数据库Security Policy Database,SPD​。SPD用于存储和管理IPSec的安全策略。安全策略通过过滤规则定义了哪些流量需要进行IPSec保护以及如何进行保护。SPD还包含了与网络安全相关的其他参数如密钥管理等。1.2、IPSec服务内容IPSec协议用于提供IP层的安全性由于所有支持TCP/IP的主机在进行通信时都要经过IP层的处理所以提供了IP层的安全性就相当于为整个网络提供了安全通信的基础。IPSec协议所提供的具体安全服务如下数据机密性IPSec发送端在通过网络传输数据包前对数据包进行加密。数据完整性IPSec接收端对发送端发送来的数据包进行认证以确保数据在传输过程中没有被篡改。数据来源认证IPSec在接收端可以认证发送IPSec报文的发送端是否合法。防止重放攻击IPSec在接收端可检测并拒绝接收过时或重复的报文。IPSec对于IPv4是可选的但对IPv6是强制性的。2、IPSec协议IPSec协议是一套集多种安全技术于一体的协议包而不是一个独立的协议其中最为重要的是认证头AH协议和封装安全载荷ESP协议。2.1、认证头AH协议AH协议用来向IP通信提供数据完整性和身份验证同时可以提供抗重放攻击服务但它不提供机密性服务。在IPv6中采用AH协议后因为在主机端设置了一个基于算法独立交换的密钥非法潜入的现象可得到有效防止密钥由客户和服务商共同设置。在传送每个数据包时IPv6认证根据这个密钥和数据包产生一个检验项。在数据接收端重新运行该检验项并进行比较从而保证了对数据包来源的确认以及数据包不被非法修改。AH协议常用摘要算法单向Hash函数MD5和SHA1实现摘要和认证确保数据完整性。AH协议在每个数据包上添加一个身份验证报头该报头位于IP报头和传输层协议报头之间。AH报头格式如图所示。在AH报头格式中各字段的含义如下下一个报头占8bit标识紧跟AH头后面使用IP协议号的报头。有效载荷长度占8bit即鉴别数据字段的长度以32bit为单位。保留位占16bit为将来的应用保留目前为0。安全参数索引SPI​占32bit是一个随机数与外部目的IP地址一同标识。序列号从1开始的32bit单增序列号不允许重复用于唯一标识每个发送的数据包用来避免重放攻击。认证数据AD​32bit整数倍的消息认证码用于源端身份认证和数据完整性检测。2.2、封装安全载荷ESP协议ESP协议提供IP层加密保证和验证数据源以应对网络上的监听。虽然AH可以保护通信数据免受篡改但它并不对数据进行变形转换数据对于黑客而言仍然是清晰的。为了有效保证数据传输安全在IPv6中采用了另外一个报头——ESP以进一步提高数据机密性并防止被篡改。ESP协议可以同时提供数据完整性确认、数据加密、防重放等安全特性ESP协议通常使用DES、3DES、AES等对称密码算法实现数据加密使用MD5或SHA1实现数据完整性验证。ESP报文格式如图所示。在ESP报文格式中各字段含义如下安全参数索引SPI​占32bit用于标识下一个安全的关联与AH中SPI的概念一致。序列号占32bit是从1开始的32bit单增序列号不允许重复用于唯一标识发送的每个数据包用来避免重放攻击。填充数据将明文扩充到所需的长度用来保证边界的正确性。填充长度指出在这个字段前面填充字节的数目。下一个报头标识紧跟ESP后面使用IP协议号的报头。认证数据一个包含了完整性检查值的可变长度字段。注意以上是传输模式下的AH协议和ESP协议隧道模式下的ESP和AH协议与传输模式下略有不同。3、IPSec的工作原理及应用IPSec通过使用AH、ESP协议并使用IKE协议来实现安全性。IPSec的基本工作原理是发送端在数据传输前即到达网络传输媒体之前对数据实施加密在整个传输过程中报文都是以密文方式传输的直到数据到达目的节点才由接收端对其进行解密。IPSec以数据报而不是整个数据流为单位对数据进行加密这不仅更灵活也有助于进一步提高IP数据报的安全性。3.1、IPSec的工作模式IPSec无论是进行加密还是进行认证均有两种工作模式一种是传输模式另一种是隧道模式。AH协议和ESP协议均可以应用于这两种模式。3.1.1、传输模式传输模式主要为上层协议提供保护。通常传输模式应用于两台主机之间端到端的通信该模式要求主机支持IPSec协议。在传输模式下IPSec协议头AH或ESP报头插入在IP报头和传输层协议报头之间只对IP数据包的有效载荷进行加密或认证其封装报文结构如图所示。3.1.2、隧道模式在隧道模式下用户的整个IP数据包被用来计算AH或ESP报头AH或ESP报头以及ESP加密的用户数据被封装在一个新的IP数据包中。通常隧道模式应用在两个安全网关防火墙、路由器之间的通信。当IPSec通信的一端为安全网关时必须采用隧道模式。在隧道模式下IPSec会先利用AH或ESP对IP数据包进行认证或加密然后在IP数据包外面再包上一个新的IP报头其封装报文结构如图所示。3.2、IPSec的工作流程IPSec可以在主机、路由器/防火墙创建一个安全网关或两者中同时实施和部署。为简单起见以某一内网为例每台主机都有处于激活状态的IPSec策略IPSec的工作流程如图所示。用户Alice在主机A上向用户Bob在主机B上发送一条消息。主机A上的IPSec驱动程序检查IP筛选器查看数据包是否需要受保护以及需要受到何种保护。驱动程序通知IKE开始安全协商。主机B上的IKE收到请求安全协商通知。两台主机建立第一阶段SA各自生成共享“主密钥”​注若两台主机在此前通信中已经建立起第一阶段SA则可直接进行第二阶段SA协商​。协商建立第二阶段SA对即入站SA和出站SASA包括密钥和SPI​。主机A上的IPSec驱动程序使用出站SA对数据包进行签名完整性检查和或加密。驱动程序将数据包递交IP层再由IP层将数据包转发至主机B。主机B网络适配器驱动程序收到数据包并提交给IPSec驱动程序。主机B上的IPSec驱动程序使用入站SA检查完整性签名和或对数据包进行解密。驱动程序将解密后的数据包提交上层TCP/IP驱动程序再由TCP/IP驱动程序将数据包提交主机B的接收应用程序。从以上所述可知IPSec的工作过程是比较复杂的但所有操作对用户是完全透明的。中介路由器或转发器仅负责数据包的转发如果中途遇到防火墙、安全路由器或代理服务器则要求它们具有IP转发功能以确保IPSec和IKE数据流不被拒绝。需要指出的是使用IPSec保护的数据包不能通过网络地址转换NAT​。因为IKE协商中所携带的IP地址是不能被NAT改变的对地址的任何修改都会导致完整性检查失效。使用IPSec数据就可以在公网上传输而不必担心数据被监视、修改或伪造。IPSec提供了两个主机之间、两个安全网关之间或主机和安全网关之间的保护。IPSec支持的组网方式包括主机与主机、主机与网关、网关与网关。IPSec可提供对远程访问用户的支持还可以和L2TP、GRE等隧道协议一起使用给用户提供更大的灵活性和可靠性。3.3、IPSec应用IPSec是一种端到端的IP安全机制具有传输模式和隧道模式。传输模式用于保护IP报文的内容一般用于两台主机之间的安全通信。隧道模式保护整个IP报文当通信一方是外部网关时通常使用隧道模式可以用来隐藏内部主机的IP地址。以Windows10为例IPSec可以从本地安全策略组件或者MMC控制台打开其主要操作步骤包括打开运行WinR​输入mmc命令按下回车键打开控制台控制台打开后单击左上角的文件在打开的下拉项中选择添加/删除管理单元单击“添加”按钮在弹出的对话框中选择“本地计算机”并单击“完成”按钮结果如图5.13所示。然后单击“确定”按钮回到控制台可以看到IP安全策略组件出现在控制台中。然后是具体配置IP安全策略。例如阻止ICMP报文的配置方法为①创建新策略②配置策略“no ping”的IP安全规则。每个规则包括“IP筛选列表”​“筛选器操作”​“身份认证方法”​“隧道设置”​“连接类型”属性③命名IP安全策略并进行相关描述如图5.14所示④配置筛选器动作⑤分配安全策略。当完成上述安全策略配置之后可以对安全策略进行验证。在未指派策略“no ping”之前例如从主机192.168.184.128向本机192.168.184.134发送ICMP请求会正常应答。指派安全策略后再次从192.168.184.128向本机192.168.184.134发送ICMP请求则没有任何回应。IPSec是安全联网的一项重要技术。在Windows家族中采用IPSec可保护工作组、局域网计算机、域客户端和服务器、分支机构物理上为远程机构​、Extranet以及漫游客户端之间的通信。总之IPSec为计算机发送的数据提供了加密功能使截获的数据无法解密出有用的信息从而实现保护的目的。