- 作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。
- 座右铭:低头赶路,敬事如仪
- 个人主页:网络豆的主页
目录
前言
一.IPSec体系结构
1.IPSec体系结构
2. IPSec驱动程序
① IPSec驱动程序
② IPSec工作流程
前言
本章将会讲解网络层的安全协议,了解IPSec体系结构,与工作原理。
一.IPSec体系结构
1.IPSec体系结构
IPSec(Internet协议安全)是一个工业标准网络安全协议,为IP网络通信提供透明的安全服务,保护TCP/IP通信免遭窃听和篡改,可以有效抵御网络攻击,同时保持易用性。
IPSec有两个基本目标:
①保护IP数据包安全。
②为抵御网络攻击提供防护措施。
IPSec基于一种端到端的安全模式。这种模式有一个基本前提假设,就是假定数据通信的传输媒介是不安全的,因此通信数据必须经过加密。
而掌握加解密方法的只有数据流的发送端和接收端,两者各自负责相应的数据加解密处理,而网络中其他只负责转发数据的路由器或主机无须支持IPSec。
该特性有助于企业用户在下列方案中成功地配置IPSec。
- (1)局域网:C/S模式,对等模式。
- (2)广域网:路由器到路由器模式,网关到网关模式。
- (3)远程访问:拨号客户机,专网对Internet的访问。
IPSec结合安全联盟、安全协议组和动态密钥管理三者来实现上述两个目标,如图所示,不仅能为企业局域网与拨号用户、域、网站、远程站点以及Extranet(外联网)之间的通信提供强有力且灵活的保护,而且还能用来筛选特定数据流。
IPSec(IP Security)协议是IETF安全工作组制定的一套可以用于IPv4和IPv6上的、具有互操作性的、基于密码学的安全协议。IPv4可选支持IPSec,IPv6必须支持IPSec。
IPSec提供的安全服务包括访问控制、无连接的完整性、数据源头的认证、防重放功能、数据保密和一定的数据流保密等。IPSec协议产生的初衷是解决Internet上IP传输的安全性问题,它包括从RFC2401到RFC2412的一系列RFC,定义了一套默认的、强制实施的算法,以保证不同的实施方案可以互通。
IPSec标准包含了IP安全体系结构、IP认证AH头、IP封装安全载荷ESP和Internet密钥交换(IKE)4个核心的基本规范,组成了一个完整的安全体系结构,如图所示。
- (1)安全体系结构。包含一般的概念、安全需求和定义IPSec的技术机制。
- (2)ESP协议。加密IP数据包的默认值、头部格式以及与加密封装相关的其他条款。
- (3)AH协议。验证IP数据包的默认值、头部格式以及与认证相关的其他条款。
- (4)加密算法。描述各种加密算法如何用于ESP中。
- (5)验证算法。描述各种身份验证算法如何用于AH和ESP身份验证选项。
- (6)密钥管理。描述因特网IETF标准密钥管理方案。其中IKE是默认的密钥自动交换协议。
- (7)解释域DOI。是因特网统一协议参数分配权威机构中数字分配机制的一部分,它描述的值是预知的。包括彼此相关各部分的标志符及运作参数。
- (8)策略。决定两个实体之间能否通信,以及如何进行通信。策略的核心由三部分组成:SA、SAD、SPD。
- SA(安全关联))表示了策略实施的具体细节,包括源/目的地址、应用协议、SPI(安全策略索引)等;SAD为进入和外出包处理维持一个活动的SA列表;SPD决定了整个VPN的安全需求。
2. IPSec驱动程序
① IPSec驱动程序
IPSec驱动程序负责监视、筛选和IP通信。它负责监视所有出入站的IP数据包,并将每个IP数据包与作为IP策略一部分的IP筛选器相匹配。一旦匹配成功,IPSec驱动程序通知IKE开始协商,图3-3为IPSec驱动程序服务示意图。
协商成功完成后,发送端IPSec驱动程序执行以下步骤。
- (1)从IKE处获得SA和会话密钥。
- (2)在IPSec驱动程序数据库中查找相匹配的出站SA,并将SA中的SPI插人IPSec包头。
- (3)对数据包签名(完整性检查);如果要求机密,则另外加密数据包。
- (4)将数据包随同SPI发送IP层,然后进一步转发至目的主机。
接收端IPSec驱动程序执行以下步骤。
- (1)从IKE处获得会话密钥,SA和SPI。
- (2)通过目的地址和SPI,在IPSec驱动程序数据库中查找相匹配的人站SA。
- (3)检查签名,对数据包进行解密(如果是加密包的话)。
- (4)将数据包递交给TCP/IP驱动程序,然后再交给接收应用程序。
② IPSec工作流程
IPSec的流程如下所述,为简单起见,本章假设这是一个Intranet例子,每台主机都有处于激活状态的IPSec策略。
- (1)用户甲(在主机A上)向用户乙(在主机B上)发送一消息。
- (2)主机A上的IPSec驱动程序检查IP筛选器,查看数据包是否需要以及需要受到何种保护。
- (3)驱动程序通知IKE开始协商。
- (4)主机B上的IKE收到请求协商通知。
- (5)两台主机建立第一阶段SA,各自生成共享“主密钥”。若两机在此前通信中已经建立起第一阶段SA,则可直接进行第二阶段SA协商。
- (6)协商建立第二阶段SA对:入站SA和出站SA。SA包括密钥和SPI。
- (7) 主机A上的IPSec驱动程序使用出站SA,对数据包进行签名(完整性检查)与加密。
- (8) 驱动程序将数据包递交IP层,再由IP层将数据包转发至主机B。
- (9)主机B网络适配器驱动程序收到数据包并提交给IPSec驱动程序。
- (10)主机B上的IPSec驱动程序使用入站SA,检查签名完整性并对数据包进行解密。
- (11)驱动程序将解密后的数据包提交上层TCP/IP驱动程序,再由TCP/IP驱动程序将数据包提交主机B的接收应用程序。
以上是IPSec的一个完整工作流程,虽然看起来很复杂,但所有操作对用户是完全透明的。
创作不易,求关注,点赞,收藏,谢谢~