关于IPsec的理解看法

IPSec主要关注的是在IP层既执行加密(ESP)认证(AH),并执行安全密钥交换(IKE,其中又用了diffe-hellman 密钥交换算法),主要目的就是在包的基础上就执行安全策略进行保护及认证。

同时提供了传输模式(transport mode)以及管道模式(tunnel mode),管道模式目的是支持由防火墙之类的中间网关进行ESP封装加密,这样不仅两端能对ip包加密也可以在传输中间对ip包进行加密认证。

如图所示是ipSec需要建立的链路及模块,上面的IKE是internet key exchange(IKEv2),即密钥交换方法。下面则是ipsec本身要做的事。ipsec本身是一个框架,具体用什么加密算法由使用方按需定制(SHA256,AES等)

ipsec发明于1993年,在1995年成为开放标准。数以百计的厂商支持ipsec,目前对Ipsec 应用比较广泛的是用tunnel mode 实现的VPN,但在其它领域并没有见它的太多广泛应用。

总结一下书中提到的它的优点:

当IPSec在防火墙或路由器中实现时,它提供了强大的安全性,可以应用于跨越边界的所有通信量。公司或工作组内的通信不会产生与安全相关的处理的开销。

防火墙中的IPSec抵抗来自外部的所有通信必须使用IP,而防火墙是从互联网进入组织的唯一手段。

IPsec位于传输层(TCP,UDP)之下,因此对应用程序是透明的。当IPsec在防火墙或路由器中实现时,不需要更改用户或服务器系统上的软件。即使IPsec是在终端系统中实现的,包括应用程序在内的上层软件也不受影响。

IPSec对最终用户来说是透明的。没有必要对用户进行安全机制的培训,在每个用户的基础上发布密钥材料,或者在用户离开组织时撤销密钥材料。

如果需要,IPSec可以为个人用户提供安全。这对于非现场工作人员和在组织内为敏感应用程序建立一个安全的虚拟子网非常有用。

然而,在实际使用中有着以下缺点:

ipsec具体实现复杂,并不是所有厂商都支持它。

通讯双方中有一方支持ipsec,另一方如网关或负载平衡器不支持它,通讯经常会被破解。

许多数据并没有加密认证的必要,如下图中对于每个包,若只对data加密,单包加密内容会减少,减少计算开销,另外如果改在tcp和data层加密,意味着可以针对特定进程的安全需求进行处理,不必要的安全措施的进程不处理也可以降低开销。

ipsec的意味着底层对每个包执行加密认证,这因为着安全开销的大量增加,也造成了性能问题。除非你在ipsec隧道两侧都部署专门硬件,不然它就会显著减缓所有用到它的网络连接,而现在如淘宝等都是一对多的模式,终端只是普通手机PC,没有响应硬件只用软件分析就会显著增加终端功耗及用时而不能提升体验。因此,大型的事务服务器,比如数据库和大多数web服务器根本无法支持它。而这类服务器恰恰是存储最重要数据的地方。

另一个降低ipsec有用性的是https的广泛使用。如果启用了https,就不再需要ipsec。这是个两者必择其一的选择(重复没有任何必要还浪费性能),而且https所需要的前置需求更少,更直观,更针对具体应用,使用tls(transport layer security),只要你有一份有效的tls电子证书,一个兼容的客户端,就能使用https,没有交互问题、复杂度低,而且正逐渐被广泛应用。

不过ipsec还是有着必要性的,毕竟其加密处于更底层,对于流量信息保密更好,别人更难通过流量内容执行攻击。

猜你喜欢

转载自blog.csdn.net/u013166171/article/details/81150295