网络千万条,安全第一条。随着网络规模和复杂度的提升,底层网络的传输安全显得非常重要。通信双方需要一个真正在IP层提供安全性的方法,保证发送和接收的数据是安全的,IPSec(Internet Protocol Security,互联网安全协议)做到了。
IPSec是一系列为IP网络提供完整安全性的协议和服务的集合,能为上层协议和应用提供透明的安全服务。所谓透明,就是在整个IPSec的工作过程中,用户是感知不到的。这就很nice了,既保证了用户的数据安全,又不给用户添麻烦。
说了这么多,IPSec都包含哪些协议和服务?它们又有什么作用呢?
IPSec是一组IP安全协议的集合,是一个体系结构,由AH和ESP协议、加密和认证算法、密钥管理和安全协商组成。
IPSec为通信两端设备提供安全通道,设备可以是主机、路由器或防火墙等。
AH协议
AH(Authentication Header,鉴别首部)指一段报文认证代码,在发送IP包之前,它已经被事先计算好。发送方用一个加密密钥算出AH,接收方用同一或另一密钥对之进行验证。
AH有两种工作模式:传输模式和隧道模式。
- 在传输模式中,AH位于IP包头后,上层协议包头(如TCP)前。
- 在隧道模式中,需要生成一个新的IP头,把AH和原来的整个IP包放到新IP包的载荷中。
ESP协议
ESP提供保密功能和可选择的鉴别服务,将需要保密的用户数据进行加密后再封装到一个新的IP包中。
ESP有两种模式:传输模式和隧道模式。
- 在传输模式中,ESP位于IP包头后,上层协议包头前。
- 在隧道模式中,相对于外层IP包头,也就是新IP包头,ESP的位置与在传输模式中相同。
加密和验证算法
数据机密是任何虚拟专用网络的主要需求。当前加密和验证算法分为两类:对称算法和非对称算法。
对称算法基于数据的发送方和接收方拥有相同的密钥。发送方使用密钥加密数据,接收方使用相同的密钥解密数据。
非对称算法又称为公共密钥算法,加密和解密使用不同的密钥。加密的密钥称为公共密钥,可以公开。加密后的数据,只有用私有密钥才可以解密,私有密钥是保密的。任何人拥有接收方的公共密钥都可以加密数据,但该数据只能由接收方持有的私有密钥才能解密。
安全协商和密钥管理
在使用AH或ESP前,先要在主机间建立一条网络层的逻辑连接。此逻辑连接就叫做安全协商—英文是SA( SECURITY ASSOCIATION )。安全协商SA可以手工建立,也可以使用IKE协议建立。SA是一个单向连接,如需进行双向的安全通信则需要建立两个SA。
SA共有两种类型:IKE(Internet Key Exchange,自动密钥管理协议)/ISAKMP SA和IPSec SA。
- IKE或ISAKMP SA为控制流量服务,例如为IKE协议的交互信息,协商加密和认证的算法。
- IPSec SA为需要保护的实际数据流量协商加密算法。具体哪些数据需要保护,则由相关策略决定。
IPSec默认的自动密钥管理协议是IKE。建立和维护ISAKMP SA和IPSec SA是IKE协议的主要任务。
IKE协议用了两个阶段分别建立ISAKMP SA和IPSec SA。
- 第一阶段:通信双方彼此间建立了一个已通过身份认证和安全保护的通道,即建立一个ISAKMP SA。
- 第二阶段:用在第一阶段建立的安全隧道上,为IPSec 协商安全服务,即为IPSec协商具体的SA,建立用于最终的IP 数据安全传输的IPSec SA。
这下大家应该掌握得差不多了吧!