概述
IPSEC介绍
思维导图(可放大)
IPSEC简介
起源:
随着Internet的发展,越来越多的企业直接通过Internet进行互联,但由于IP协议未考虑安全性,而且Internet上有大量的不可靠用户和网络设备,所以用户业务数据要穿越这些未知网络,根本无法保证数据的安全性,数据易被伪造、篡改或窃取。因此,迫切需要一种兼容IP协议的通用的网络安全方案。
为了解决上述问题,IPSec(Internet Protocol Security)应运而生。IPSec是对IP的安全性补充,其工作在IP层,为IP网络通信提供透明的安全服务。
定义:
IPSec是IETF(Internet Engineering Task Force)制定的一组开放的网络安全协议。它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合,包括认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两个安全协议、密钥交换和用于验证及加密的一些算法等。
通过这些协议,在两个设备之间建立一条IPSec隧道。数据通过IPSec隧道进行转发,实现保护数据的安全性。
受益:
IPSec通过加密与验证等方式,从以下几个方面保障了用户业务数据在Internet中的安全传输
数据来源验证:接收方验证发送方身份是否合法。
数据加密:发送方对数据进行加密,以密文的形式在Internet上传送,接收方对接收的加密数据进行解密后处理或直接转发。
数据完整性:接收方对接收的数据进行验证,以判定报文是否被篡改。
抗重放:接收方拒绝旧的或重复的数据包,防止恶意用户通过重复发送捕获到的数据包所进行的攻击。
IPSEC协议框架
安全联盟:通信对等体间对某些要素的协定,它描述了对等体间如何利用安全服务(例如:加密)进行安全的通信。这些要素包括对等体间使用何种安全协议、需要保护的数据流特征、对等体间传输的数据的封装模式、协议采用的加密和验证算法,以及用于数据安全转换、传输的密钥和SA的生存周期等。
IPSec安全传输数据的前提是在IPSec对等体(即运行IPSec协议的两个端点)之间成功建立安全联盟。IPSec安全联盟简称IPSec SA,由一个三元组来唯一标识,这个三元组包括安全参数索引SPI(Security Parameter Index)、目的IP地址和使用的安全协议号(AH或ESP)。其中,SPI是为唯一标识SA而生成的一个32位比特的数值,它被封装在AH和ESP头中。
IPSec SA是单向的逻辑连接,通常成对建立(Inbound和Outbound)。因此两个IPSec对等体之间的双向通信,最少需要建立一对IPSec SA形成一个安全互通的IPSec隧道,分别对两个方向的数据流进行安全保护。
另外,IPSec SA的个数还与安全协议相关。如果只使用AH或ESP来保护两个对等体之间的流量,则对等体之间就有两个SA,每个方向上一个。如果对等体同时使用了AH和ESP,那么对等体之间就需要四个SA,每个方向上两个,分别对应AH和ESP。
建立IPSEC SA的两种方式:
手工方式和IKE方式
安全协议:IPSec使用认证头AH(Authentication Header)和封装安全载荷ESP(Encapsulating Security Payload)两种IP传输层协议来提供认证或加密等安全服务。
注:AH仅支持认证功能,不支持加密功能 ESP支持认证功能和加密功能
AH协议与ESP协议比较:
两者的报文在这里不再赘述。。。
封装模式:将AH或ESP相关的字段插入到原始IP报文中,实现对报文的认证和加密。
封装模式分为两种:隧道模式和传输模式
传输模式下:
注:很明显发现在传输模式下ESP的完整性验证范围不包括ip头,无法保证ip头的安全
隧道模式下:
注:同上可发现在隧道模式下的ESP协议的验证范围不包括新的ip头,无法确保新ip头的安全
隧道模式与传输模式的区别:(从三方面进行阐述)
安全性:隧道模式更优,可以对源ip报文进行加密和验证,隐藏了内部ip地址和端口。
性能:传输模式更优,由于隧道模式下有额外的ip头,占用的带宽大。
使用场景:传输模式主要应用于两台主机或一台主机和一台VPN网关之间通信;隧道模式主要应用于两台VPN网关之间或一台主机与一台VPN网关之间的通信。
注:当安全协议同时采用AH和ESP时,AH和ESP协议必须采用相同的封装模式
加密和验证
加密:
注:IPSec采用对称加密算法对数据进行加密和解密 数据发送方和接收方使用相同的密钥进行加密、解密
对称密钥可以手工配置也可以通过IKE自协商
常用的对称加密算法:(简单列举几个)
DES 3DES AES 前两个安全性低不推荐
验证:
用于验证的对称密钥也是可以手工配置或者IKE自协商
常用的验证算法:(简单列举几个)
MD5 SHA1 SHA2 SM3 前两个安全性低不推荐
密钥交换:
大家试想既然采用的加密和验证方式是对称加密的方式,那就会产生问题,就是如何安全的共享对称密钥,有两种方式可 以解决这个问题:
带外共享密钥(不做赘述)
使用一个安全的密钥分发协议(重点):通过IKE协议自动协商密钥。IKE采用DH(Diffie-Hellman)算法在不安全的网络上安全地分发密钥。这种方式配置简单,可扩展性好,特别是在大型动态的网络环境下此优点更加突出。同时,通信双方通过交换密钥交换材料来计算共享的密钥,即使第三方截获了双方用于计算密钥的所有交换数据,也无法计算出真正的密钥,这样极大地提高了安全性。
IKE协议
IKE的安全机制:
1、身份认证:
身份认证确认通信双方的身份(对等体的IP地址或名称),包括预共享密钥PSK(pre-shared key)认证、数字证书RSA(rsa-signature)认证和数字信封认证。
IKE支持的认证算法有:MD5、SHA1、SHA2-256、SHA2-384、SHA2-512、SM3。
2、身份保护:对数据进行加密传输。
IKE支持的加密算法有:DES、3DES、AES-128、AES-192、AES-256、SM1和SM4。
3、DH:公共密钥交换,用于产生密钥材料,并通过ISAKMP消息在发送和接收设备之间进行密钥材料交换。然后,两端设备各自计算出完全相同的对称密钥。该对称密钥用于计算加密和验证的密钥。
4、PFS:密钥与密钥之间没有派生关系。
最后
以上就是儒雅白云为你收集整理的IPSEC(上)--IPSEC简介+协议框架的全部内容,希望文章能够帮你解决IPSEC(上)--IPSEC简介+协议框架所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复