ISAKMP - 安全关联协商

来源:互联网 发布:制造业大数据解决方案 编辑:程序博客网 时间:2024/05/18 02:07

         前面说过,ISAKMP主要有三个过程:SA协商、密钥交换和认证。本篇主要讨论SA协商。

 

         首先要明白一个问题:为什么需要协商?为什么协议不规定使用某种特定的算法,这样实现上可以变得简单很多?

 

         要回答这个问题,我们必须全面的审视网络通信的环境。所有的安全服务都与网络的配置和环境有关。互联网很有意思的一点在于,任何一台互联网设备可随时随地的接入,也可以自由的离开。所以网络环境是不断变化的。同时,网络设备也是多样化的,每个设备可能支持不同的算法。所以需要通过协商建立起一个彼此都支持认可的安全属性集。

 

如果采用特定的算法,实现上当然可以简化,但是却失去了灵活性。比如,在某些情况下,可能不需要太高强度的加密,而在某些情况下却需要很高强度的加密。但是没有一种算法可以满足所有的需求。更重要的原因在于,一旦这个统一的算法不安全了,整个网络都会受到影响。

 

所以说,协商是必要。那么第二个问题也就自然而然的出来了,我们需要协商什么?

 

一般说来,我们需要协商加密算法、认证机制,以及密钥建立算法。安全关联必须也支持面向主机的认证(低层协议),和面向用户的认证(高层协议)。在应用层协议,比如e-mail、remote login和文件传输,以及面向会话的协议,路由协议和链路层协议中,都要求算法和机制的独立性。ISAKMP为这些安全协议、应用、安全需求和网络环境提供了一个一般的安全关联和密钥建立协议。

 

ISAKMP对于它的认证和keyexchange部分有基本的需求。这些需求能够防卫DOS、重放/反射、中间人和连接劫持攻击。这一点非常重要,因为这些攻击都是针对协议的攻击。提供了算法和机制独立性的完整的SA支持,以及协议攻击保护造就了ISAKMP的优势。

 

至于协商的过程则比较简单。一方首先发起协商,告知对方自己支持的安全参数。如果接收方也支持,则协商成功。否则,重新协商。


SA的概念:

所谓安全关联,指的是两个或者多个实体之间的一种安全关系。它描述了实体间如何利用安全服务来进行安全通信。这种安全关系可以通过实体间的一组信息来表述,类似于一个合同。这些信息必须是所有实体都同意,而且共享的信息。有时候这些信息单独的被称作一个SA,但这仅仅是已存在的安全关系的物理示例而已。这种关系的存在,为安全协作的实体提供了大家都同意的安全信息。所有的实体都必须遵循SA,从而使安全通信成为可能。访问SA属性的时候,实体们使用一个叫做SPI(Security Parameter Index)的指针或者标识。[SEC-ARCH]提供了IP SA和SPI定义的更多细节。
原创粉丝点击