SSL与IPSec的比较
SSL与IPSec的比较
本文内容非原创,由本人整理。仅供学习之用。原文见脚注。
SSL与IPSec是两个广泛使用的网络安全技术。
0. 软件硬件
IPSec适用于网对网的VPN连接(Site-Site),广泛应用于VPN路由器部署中。
SSL比较适用于移动用户的远程接入(Client-Site),广泛应用于网络安全交易和远程控制。
IPSecVPN用户通常需要有相应的客户端软件。
SSLVPN通常无需安装客户端,浏览器即可。
IPSec两端的软件需要供应商相同(见5.协作性),不利于建立企业外网的应用。需要配置管理通讯的每个结点,且从特定设备接入,提高了配置和运行的成本。
SSL让企业实现多用户在不同地点接入,需要维护中心结点和网关设备,客户端免维护,对客户端设备要求低,降低了配置和运行成本。
1. 认证算法
技术 | 支持的认证算法 |
---|---|
IPSec | 数字签名、密钥算法 |
SSL | 数字签名 |
2. 认证方法
IPSec支持一种身份验证方法,SSL支持多种不同的身份认证方法。
IPSec采用双向身份验证,SSL采用单向/双向身份验证。
技术 | 验证方法 | 验证算法 |
IPSec | 对等体身份验证 | 密钥算法 数字签名 |
SSL | 服务器端身份验证 | RSA算法(询问/响应) |
DSA算法 数字签名 | ||
客户端身份验证 | RSA/DSA算法 数字签名 |
3. 底层协议
IPSec是网络层保证IP通讯而提供的协议族,以网络层为中心。Phase 1在UDP层进行协商,使用端口500,需保留重传计时器。允许多个用户使用两个端点间的同一隧道,可以减少因建立单个连接所需的开销。
SSL是套接字层保护HTTP通讯的协议,以应用层为中心。握手协议在TCP层进行协商,使用端口可以根据应用程序不同而有所改变。需要为每一个用户分配单独的通道及密钥,相互之间互不影响。
在服务器端,IPSec和SSL都要绑定到特定的端口。
在客户端,IPSec需要绑定到特定端口,而SSL不用。
UDP可能会导致数据在传输过程中丢失或者被篡改,为了避免UDP传输的不可靠:
IPSec向原数据包增加新的TCP报头,支持UDP和TCP应用程序。
SSL在TCP层上工作,只支持TCP应用程序。
4. 命令加密操作
IPSec先对数据进行加密,然后为加密的数据生成消息鉴别码MAC。
SSL先为明文创建MAC,然后再对数据进行加密。
IPSec在进行任何解密过程之前,先验证MAC。
SSL先将数据包解密,然后再验证MAC。
5. 协作性
IPSec供应商们在某些方面还没有很好的统一,需要根据情况做出相应的修改。
6. 开销
IPSec向原始数据包添加报头,造成额外开销。具体开销见下表:
协议 | 模式 | 开销(字节) |
IPSec Tunnel | ESP | 32 |
ESP & AH | 44 | |
IPSec Transport | ESP | 36 |
ESP & AH | 48 | |
SSL | HMAC-MD5 | 21 |
HMAC-SHA1 | 25 |
7. 握手所需时间
IPSec握手时间,基于2048位的RSA密钥交换机制、1536位的DH交换算法。
模式类型 | 握手所需时间(ms) |
---|---|
主模式(PSK认证算法) | 97 |
高级模式(PSK认证算法) | 56 |
主模式(RSA数字签名) | 170 |
SSL握手时间,基于基于2048位的RSA密钥交换机制、768位的DH交换算法。
模式类型 | 握手所需时间(ms) |
---|---|
服务器端认证 | 41.7 |
客户端认证 | 74.8 |
服务器端认证(DH算法) | 66.1 |
客户端认证(DH算法) | 118.6 |
使用1536位DH算法的客户端认证需要1648ms,与768位相比是极其缓慢的。
8. 压缩算法
IPSec通过IPComp的协议进行压缩。
SSL在小范围内使用压缩,OpenSSL支持压缩。
在低带宽拓扑环境中,使用压缩后,IPSec和SSL的吞吐量都有提升。
在高带宽拓扑环境中,使用压缩后,IPSec除了3DES之外的情况吞吐量都降低,SSL的吞吐量依然增加。
吞吐量变化的影响因素有:协议所在的层次、每个协议产生的额外开销、压缩、加密及传输的速度。
[1] 蒋娅雪. IPSec和SSL的比较分析[J]. 电脑知识与技术, 2011, 7(5): 1208-1210
[2] IPSec VPN与SSL VPN具体有什么区别
来源:https://www.cnblogs.com/jinanxiaolaohu/p/12213346.html