安全联盟
安全联盟是IPsec对等体间对某些要素的约定,例如,使用哪种协议(AH、ESP还是两者结合使用)、协议的封装模式(传输模式和隧道模式)、加密算法(DES、AES和3DES)、特定数据流中保护数据的共享密钥以及密钥的生存周期等。
出入SA+对方SA
安全联盟由一个三元组来唯一标识,这个三元组包括:
· SPI(Security Parameter Index)
SPI是为唯一标识SA而生成的一个32比特的数值,它在AH和ESP头中传输。
· 目的IP地址
· 安全协议号(AH或ESP)
安全联盟具有生存周期。生存周期的计算包括两种方式:
· 以时间为基准,即每隔指定长度的时间就进行更新。
· 以流量为基准,即每传输指定的数据量(字节)就进行更新。
无论哪一种类型的生存周期先到期,安全联盟都会失效。安全联盟快要失效前,IKE将为IPsec协商建立新的安全联盟,这样在旧的安全联盟失效时新的安全联盟就已经准备好。
安全联盟的协商方式
安全联盟的协商方式有两种:
· 手工协商(manual)方式
· IKE自动协商(isakmp)方式
IPsec协议的封装模式
IPsec协议的封装模式有两种:
· 传输模式
IPheader+AH+TCP header+data
IPheader+ESP+TCP header+data+ESP tail+ESP auth data
IPheader+AH+ESP+TCP header+data+ESP tail+ESP auth data
· 隧道模式
· IP header+AH+Raw IP header +TCPheader+data
· IP header+ESP+ Raw IP header+TCP header+data+ESP tail+ESP auth data
· IP header+AH+ESP Raw IPheader ++TCP header+data+ESP tail+ESP auth data
验证算法与加密算法
· 验证算法
AH和ESP都能够对IP报文的完整性进行验证,以判别报文在传输过程中是否被篡改。验证算法的实现主要是通过杂凑函数。杂凑函数是一种能够接受任意长的消息输入,并产生固定长度输出的算法,该输出称为消息摘要。IPsec对等体计算摘要,如果两个摘要是相同的,则表示报文是完整、未经篡改的。一般来说IPsec使用如下几种验证算法。
§ MD5(MessageDigest 5)
MD5通过输入任意长度的消息,产生128bit的消息摘要。
§ SHA-1(SecureHash Algorithm)
SHA-1通过输入任意长度的消息,产生160bit的消息摘要。
§ SHA2-256(SecureHash Algorithm 2)
SHA2-256通过输入任意长度的消息,产生256bit的消息摘要。
MD5、SHA1、SHA2-256三种认证算法的计算速度是逐级递减的,而复杂度、安全性和对设备性能的要求是逐级递增的。
· 加密算法
ESP能够对IP报文内容进行加密保护,防止报文内容在传输过程中被窥探。加密算法实现主要通过对称密钥系统,它使用相同的密钥对数据进行加密和解密。一般来说IPsec使用三种加密算法。
§ DES
使用56bit的密钥对一个64bit的明文块进行加密。
§ 3DES
使用三个56bit的DES密钥(共168bit密钥)对明文进行加密。
§ AES
使用AES(AdvancedEncryption Standard)密钥对明文进行加密。密钥的长度分为128bit、192bit、256bit。
3DES具有更高的安全性,但其加密数据的速度要比DES慢得多。而AES则在安全性和性能上取得了更好的平衡,也更加灵活。
数据保护方式
IPsec通过对要保护数据进行加密和验证来提供隧道保护。
用户可以在设备上配置IPsec采用AH方式、ESP方式或者同时使用AH和ESP方式对需要通过隧道传输的数据进行保护:
· AH保护方式
当用户配置IPsec采用AH方式对要传送数据进行保护时,可以实现如下功能:
§ 数据完整性校验
防止数据在发送过程中被非法篡改。通过数据发送方和数据接收方持有相同验证密钥,并使用相同验证算法对要保护的数据进行验证来实现。
数据发送方在发送数据前使用验证密钥和指定验证算法对要发送的数据进行运算,并将运算后的结果随同要发送的数据报文一同发送给接收方;接收方接收到报文后,也使用相同的验证密钥和验证算法对报文内容进行运算,如果计算出来的结果与随同在数据报文中的发送方的计算结果一致,则认为数据报文在网络传送过程中没有被非法篡改,否则会认为已经被篡改并丢弃。
使用AH保护方式对数据进行保护时,会对整个IP报文进行验证,安全性较ESP方式更高。
§ 数据源验证
验证报文的发送方是否合法。
§ 防报文重放功能
当数据接收方遭到来自网络上的重复报文攻击时,可以防止数据接收方重复处理同一个数据报文
· ESP保护方式
当用户配置IPsec采用ESP方式对要传送数据进行保护时,可以实现如下功能:
§ 数据完整性校验
防止数据在发送过程中被非法篡改。通过数据发送方和数据接收方持有相同验证密钥,并使用相同验证算法对要保护的数据进行验证来实现。
验证过程与AH方式相同,当设备配置使用ESP保护方式对数据进行保护时,不保护头。
§ 数据加密
防止数据在传送过程中被非法查看。通过数据发送方和数据接收方持有相同加密密钥,并使用相同加密算法对要保护的数据分别进行加密和解密还原实现。
数据发送方在发送数据前使用加密密钥和指定加密算法对要发送的数据进行加密,将加密后的密文发送给接收方;接收方接收到密文后,也使用相同的加密密钥和加密算法对报文内容解密和还原,由于使用密文传输,为要传送报文提供了安全保护。
§ 数据源验证
验证报文的发送方是否合法。
§ 防报文重放功能
当数据接收方遭到来自网络上的重复报文攻击时,可以防止数据接收方重复处理同一个数据报文。