IPSEC 安全架构、应用及展望
在互联网上的持续不断的不安全推动了IETF组织去开发统一的安全架构，能够符合国家关于加密通信的使用的法律。
本文是对IP安全架构的规范和相关草案的一个简介。
一、前言 因特网技术的兴起，互连技术的成长，使得大家愈来愈仰赖Internet这个应用广泛的公众网络。
因特网技术的兴起，互连技术的成长，使得大家愈来愈仰赖Internet这个应用广泛的公众网络。
因此如何让使用者透过因特网通讯，而不用担心传送的信息封包被截取、假冒，就显得相当重要。
完整的IPSec还应包括IP AH和ESP中所使用金钥的交换和管理，也就是安全群组(Security Assocication; SA)和密钥管理IKE(Internet Key Exchange)， IPSec架构图，其中DOI(Domain of interpretation)是为了让其它协议可以使用ISAKMP而订定的Framework，让我们很清楚知道IPSec和IKE所扮演的角色。
本文的第二部份将介绍IP AH，第三部份的内容是IP ESP，第四部份叙述安全群组SA的观念，第五部份则是以一个实际的例子来说明IP AH和IP ESP实际运作的情形，第六部份介绍SKIP及ISAKMP/Qakley两个IETF所参考的金钥管理协议。
本文主要介绍IFTF所制定的开放标准IPSec，因为它能整合不同的VPN系统而达到安全地网络互连目的。
IP AH提供认证及装载数据的完整性，但不含机密性。
由于它不提供机密性，所以不受密码组件有对外输出的官方限制，故能横跨不同的国家的因特网使用。
IP AH使用需要128位金钥的MD5(Message Digest 5)计算出整个数据的杂凑函数值(注:此单向杂凑数也可使用SHA-1(Secure Hash Algorithm－1))，使得接收端(知道密钥的人)也可以验证、计算是否使用相同的密钥以检查数据是否正确完整，若检查不符则将此封包丢弃。
依据IPSec规定，IPv6每部主机均应能提供密钥长度128位的MD5，而所有IPv4也应宣告能支持此项AH功能。
IP AH是在IP标头和TCP(或UDP)之间。
在IPSec中不管是IP AH或IP ESP，均有两种不同的操作模式，隧道模式(Tunneling Mode)及传送模式(Transport Mode)。
还没介绍IPAH两种模式前，我们先来解释最常使用的技术 "隧道模式"的观念，整个IP datagram被包在新的datagram中。
分别为原始的IP datagram，AH传送模式及AH隧道模式，对于AH隧道模式而言，最后它只是一个新的IP datagram而已。
隧道模式可以在两个Security Gateway间建立一个安全"隧道"，经由这两个Gateway Proxy的传送均在这个隧道中进行。
第一代的IPSec版本于1995年提出(rfc 1825, rfc 1826, rfc 1827)，它对金钥的交换和管理并未定义，所强调的内容是封包转换的格式。
在IPSec标准中最重要的项目就是SA，它定义了一个安全的"环境"，这个环境的内容包含了IP封包加密，解密，和认证的相关讯息，叙述如下:密码功能:提供加密或认证或两者同时。
前者是不考虑使用者，从同一个系统所发出的封包，均使用相同的金钥，而后者则是以使用者为考量，允许使用者有不同的金钥。
例如:同一使用者有多把金钥用于不同的服务，如FTP与Telnet使用不同的金钥。
二~四节已介绍了IPSec的基本架构，IP AH， IP ESP， SA， SPI等。
现在我们将这些全部放在一起以实际的例子来加以说明。
EXAMPLE:假设有一个主机yang.chtti.com.tw欲藉由IPSec安全机制将具有加密及认证的TCP封包送到另一部主机yang.csie.ndhu.edu.tw。
因为使用的SPI值不一样，从yang.chtti.com.tw到yang.csie.ndhu.edu.tw的方向是使用SPI 0x1000，反方向则是使用SPI 0x2000，这两台主机彼此做FTP时使用的算法跟金钥可以是不同的。
在IP AH和IP ESP中所用到的认证与加密金钥，如何交换与管理呢!
一把金钥是否一直使用呢!
SKIP金钥管理的观念是阶层式的金钥管理，如图所示。
由于金钥推导过程是一层一层的，因SKIP称之为阶层式的金钥管理架构。
IKE则是ISAKMP使用Oakley的一些模式和SKEME快速rekey的观念合并而成，它有(1)Main Mode (2)Aggressive Mode (3)Quick Mode(4)New group mode等四种模式。
IPSec可以装设在gateway或主机上，或是两者同时，若IPSec装在gateway上，则可在不安全的Internet上提供一个安全的信道，若是装在主机，则能提供主机端对端的安全性。
分别是gateway对gateway，主机对gateway，主机对主机三种可能的应用状况。
IPSec的优点
IPSec正向Internet靠拢。
安全加载封装（ESP）通过对数据包的全部数据和加载内容进行全加密来严格保证传输信息的机密性，这样可以避免其他用户通过监听来打开信息交换的内容，因为只有受信任的用户拥有密匙打开内容。
IPSec的实现方式
用户需要把它们的网络与互联网分隔，但同时要在网上发送及接收网包。
今天，信息高速公路比以往任何时候都显得重要，但是它也面临越来越大的安全威胁，因此对加强网络中每一个节点硬件安全性的需求正在不断增长。
这需要将基本的安全功能(数据加密性和完整性)构建到每一台网络设备中，这样才有可能对网络中所有的数据包进行完全地加密保护。
不过，对许多网络设备的设计而言，安全性是一个事后考虑的问题。
我们需要对何处、何时以及在什么情况下加入安全特性进行重新考虑。
目前有三种主要的方法可以在网络硬件设备上加入安全功能。
第一种也是最重要的方法就是用一个协处理器和一个网络处理器或者通用处理器一起工作。
随着数据处理速率的提高，这种方法变得越来越不实用，因为数据包必须穿越共享的资源如数据总线或存储器四次。
第二种方法是增加一个安全处理器串接在网络处理器的后面。
这种方法可以实现高速的数据处理，这个串接的安全处理器必须能完成许多类似于网络处理器的功能，像数据包的重新达包等，因而这样的工作被重复进行并且硅片面积也不得不增大一倍。
第三种方法是将加密电路集成在与网络处理器类似的芯片中，从而在网络处理器中加入了安全功能同时又保持了传输速度并且最大限度地控制了芯片面积。
当采用这种集成的方案设计新的网络线路卡时，用户可以从中受益。
在设计一个网络安全产品时，必须同时考虑数据包处理和安全性需求。
在已有产品中，一个通用处理器与一个安全协处理器一起工作将不能达到现有产品需要的10Gbps速度。
但是如果将现有的网络处理器，如英特尔的IXP1200，与一个安全协处理器搭配使用，就可能达到这种要求。
但是现有的安全芯片只提供协处理器架构，这是远远不够的。
在下一代的IXP2850中，我们选择将安全和加密功能集成在芯片上，这不仅因为它是一个最好的方法来实现贯穿整个网络的保密功能，而且还因为它是一个更加高效的方法来提供安全性。
就性能而言，这种方案能够更好地以10Gbps以太网速率进行加密和鉴别互联网协议安全(IPSec)，甚至能保证100%的数据传输安全。
我们的设计采用了一个加密单元，它将大多数基本算法所需的功能整合在一起，但在某种意义上说将它集成在网络处理单元(NPU)的基本数据流程管道中更为简单。
这个加密单元由几个算法组成以保证数据的机密性和完整性。
每种算法有它自己在芯片面积、并行性和对称性方面的折衷考虑以及挑战。
增加的安全功能支持数据加密标准(DES)、3DES、高级加密标准(AES)算法以及安全散列算法(SHA-1)，这使得硬件能直接进行数据鉴别。
它由两个3DES内核、一个AES内核以及两个SHA-1内核组成。
这样可以通过SHA-1内核在将密钥加入数据之前或之后来处理数据。
在IXP2850中含有两个这样的内核。
增加加密功能非常重要，从某种意义上说这对网络处理器的特性起到了杠杆作用。
对于英特尔的网络处理器，这方面主要得益于被称作微引擎的多重、多线程处理单元。
我们选择的这种多线程模型是NPU架构中的重要部分，它带来了设计上的一些挑战。
例如，因为这些安全功能比较独立于硬件配置，所以希望能充分地并行利用所有的安全硬件。
但实现这种硬件的并行性需要小心地管理那些公用的部件(像全局总线、局部存储器)以及数据锁存方法。
它还需要保证在不牺牲系统性能的情况下充分灵活地切换初始化向量(IV)、按键和其他状态信息。
用流水线方法处理协议也很重要。
例如，在处理IPSec隧道模式信息包时，可以流水操作所有必需的处理。
尽管在单个接口上实现10Gbps的速度很重要，但是接口的聚合也很重要，例如，把10个1Gbps的接口合并在一起。
当多个接口连接到网络处理器的时候，一个特定信息包的数据可以和其它信息包数据交织在一起存放在接收缓冲器中。
在NPU中集成加密微引擎管道可使一条加密数据通道每秒发送超过2,500万个IPSec信息包。
这足以在10Gbps速度的情况下加密和鉴别IPSec，从而保证100%信息流量的安全性。
将安全功能集成到NPU中一个很大的好处就是可以节省整个方案的功耗。
现在的安全处理器达到10Gbps速度时，功耗大约是13-30瓦。
而IXP2850在设计阶段特别注意降低功耗并且省去了I/O器件，故可以比其他方案节省20%-50%的功耗。
V. Ahuja，"Secure Commerce on the Internet"，AP Proffesional，1998.L.J. Hughes ， "Internet安全技术实务"1996.
陈新风，主要从事 Windows 及 UNIX 平台下平台、文件、网络等相关保护工作和安全防护。
可以通过 E-mail: 与他联系！