|
IPSec是Internet Protocol Security的缩写。在TCP/IP协议网络中,由于IP协议的安全脆弱性,如地址假冒、易受篡改、窃听等,Internet工程组(IETF)成立了IPSec工作组,研究提出解决上述问题的安全方案。根据IP的安全需求,IPSec工作组制定了相关的IP安全系列规范:认证头(Authentication Header,简称AH)、封装安全有效负荷(Encapsulatin Security Payload,简称ESP)以及密钥交换协议。
|
|
|
|
IP AH是一种安全协议,又称为认证头协议。其安全目的是保证IP包的完整性和提供数据源认证,为IP数据报文提供无连接的完整性、数据源鉴别和抗重放攻击服务。其基本方法是将IP包的部分内容用加密算法和Hash算法进行混合计算,生成一个完整性校验值,简称ICV(Integrity Check Value),同时把ICV附加在IP包中,如下图所示。
|
|
|
|
|
在TCP/IP通信过程中,IP包发送之前都事先计算好每个IP包的ICV,按照IP AH的协议规定重新构造包含ICV的新IP包,然后再发送到接收方。通信接收方在收到用IP AH方式处理过的IP包后,根据IP包的AH信息验证ICV,从而确认IP包的完整性和来源。IP认证头(AH)的信息格式如下图所示。
|
|
|
|
|
|
IP ESP也是一种安全协议,其用途在于保证IP包的保密性,而IP AH不能提供IP包的保密性服务。IP ESP的基本方法是将IP包做加密处理,对整个IP包或IP的数据域进行安全封装,并生成带有ESP协议信息的IP包,然后将新的IP包发送到通信的接收方。接收方收到后,对ESP进行解密,去掉ESP头,再将原来的IP包或更高层协议的数据像普通的IP包那样进行处理。RFC 1827中对ESP的格式做了规定,AH与ESP体制可以合用,也可以分用。
|
|
|
IP AH和IP ESP都有两种工作模式,即透明模式(Transport mode)和隧道模式(Tunnel Mode)。透明模式只保护IP包中的数据域(data payload),而隧道模式则保护IP包的包头和数据域。因此,在隧道模式下,将创建新的IP包头,并把旧的IP包(指需做安全处理的IP包)作为新的IP包数据。
|
|
|
|
基于IPSec技术的主要优点是它的透明性,安全服务的提供不需要更改应用程序。但是其带来的问题是增加网络安全管理难度和降低网络传输性能。
|
|
|
IPSec还涉及密钥管理协议,即通信双方的安全关联已经事先建立成功,建立安全关联的方法可以是手工的或是自动的。手工配置的方法比较简单,双方事先对AH的安全密钥、ESP的安全密钥等参数达成一致,然后分别写入双方的数据库中。自动的配置方法就是双方的安全关联的各种参数由KDC(Key Distributed Center)和通信双方共同商定,共同商定的过程就必须遵循一个共同的协议,这就是密钥管理协议。目前,IPSec的相关密钥管理协议主要有互联网密钥交换协议IKE、互联网安全关联与密钥管理协议ISAKMP、密钥交换协议Oakley。
|
|
|
|
SSL是Secure Sockets Layer的缩写,是一种应用于传输层的安全协议,用于构建客户端和服务端之间的安全通道。该协议由Netscape开发,包含握手协议、密码规格变更协议、报警协议和记录层协议。其中,握手协议用于身份鉴别和安全参数协商;密码规格变更协议用于通知安全参数的变更;报警协议用于关闭通知和对错误进行报警;记录层协议用于传输数据的分段、压缩及解压缩、加密及解密、完整性校验等。
|
|
|
SSL协议是介于应用层和TCP层之间的安全通信协议。其主要目的在于两个应用层之间相互通信时,使被传送的信息具有保密性及可靠性,如下图所示。SSL的工作原理是将应用层的信息加密或签证处理后经TCP/IP网络送至对方,收方经验证无误后解密还原信息。
|
|
|
|
|
如下图所示,SSL协议是一个分层协议,最底层协议为SSL记录协议(SSL Record Protocol),其位于传输层(如TCP)之上,SSL记录协议的用途是将各种不同的较高层协议(如HTTP或SSL握手协议)封装后再传送。另一层协议为SSL握手协议(SSL Handshake Protocol),由3种协议组合而成,包含握手协议(Handshake Protocol)、密码规格变更协议(Change Cipher Spec)及报警协议(Alert protocol),其用途是在两个应用程序开始传送或接收数据前,为其提供服务器和客户端间相互认证的服务,并相互协商决定双方通信使用的加密算法及加密密钥。
|
|
|
|
|
|
(1)保密性通信。握手协议产生秘密密钥(secret key)后才开始加、解密数据。数据的加、解密使用对称式密码算法,例如DES、AES等。
|
|
|
(2)点对点之间的身份认证。采用非对称式密码算法,例如RSA、DSS等。
|
|
|
(3)可靠性通信。信息传送时包含信息完整性检查,使用有密钥保护的消息认证码(Message Authentication Code,简称MAC)。MAC的计算采用安全杂凑函数,例如SHA、MD5。
|
|
|
SSL记录协议(record protocol)的数据处理过程如下图所示,其步骤如下:
|
|
|
(1)SSL将数据(data)分割成可管理的区块长度。
|
|
|
|
|
|
(5)接收端将收到的消息解密、验证、解压缩,再重组后传送至较高层(例如应用层),即完成接收。
|
|
|
|
|