前面说过,ISAKMP主要有三个过程:SA协商、密钥交换和认证。本篇主要讨论SA协商。
首先要明白一个问题:为什么需要协商?为什么协议不规定使用某种特定的算法,这样实现上可以变得简单很多?
要回答这个问题,我们必须全面的审视网络通信的环境。所有的安全服务都与网络的配置和环境有关。互联网很有意思的一点在于,任何一台互联网设备可随时随地的接入,也可以自由的离开。所以网络环境是不断变化的。同时,网络设备也是多样化的,每个设备可能支持不同的算法。所以需要通过协商建立起一个彼此都支持认可的安全属性集。
如果采用特定的算法,实现上当然可以简化,但是却失去了灵活性。比如,在某些情况下,可能不需要太高强度的加密,而在某些情况下却需要很高强度的加密。但是没有一种算法可以满足所有的需求。更重要的原因在于,一旦这个统一的算法不安全了,整个网络都会受到影响。
所以说,协商是必要。那么第二个问题也就自然而然的出来了,我们需要协商什么?
一般说来,我们需要协商