安全性和保密性设计---安全协议

avatar
作者
筋斗云
阅读量:10

安全协议

Internet 是 IT 领域中发展的重大成就,它的迅速发展和全面普及给人们的生产、生活带来了很大的帮助。

但是,Internet 在当初是为了让更多的人来使用网络、共享资源,并且容易扩充、容易治理等而设计的,因此它是一个全面开放的系统,而没有在安全方面作充分的考虑。加上日益增加的庞大的用户、各种不同的动机等因素,使得 Internet 上的安全事件层出不穷。

在 Internet 安全中,网络通信的安全是一个非常重要的环节,因此有必要研究在网络上安全传输数据的方法。

1 IPSec 协议简述

在 TCP/IP 协议中,对 IP 数据包没有提供任何安全保护,攻击者可以通过网络嗅探、 IP 欺骗、连接截获等方法来攻击正常的 TCP/IP 通信。因此,通信过程中会存在以下危险:数据并非来自合法的发送者、数据在传输过程中被非法篡改、信息内容已被人窃取等。

为了确保在 IP 网络上进行安全保密的通信,IETF 制定了一套开放标准的网络安全协议 IPSec(IP Security)。该协议把密码技术应用在网络层,以向信息的发送方和接收方提供源地址验证、数据传输的完整性、存取控制、保密性等安全服务,保护通信免遭窃听、抵御网络攻击,而且更高层的应用层协议也可以直接或间接地使用这些安全服务,为其上层协议如 TCP、UDP 等提供透明的安全保护服务,在 Internet 这样不安全的网络中为通信提供安全保证。

在 IPv6 中,IPSec 协议是一个必备的组成部分,被强制实施;在 IPv4 中,它是一个可选的扩展协议。

由于 Internet 等网络具有公共特性,因此在通信过程中难以确认传输媒介是安全的,所以要进行安全的通信,则通信数据必须经过加密。IPSec 协议对数据的加密以数据包而不是整个数据流为单位,这不仅非常灵活,也有助于进一步提高 IP 数据包的安全性。

IPSec 协议的基本工作原理是:发送方在发送数据前对数据实施加密,然后把密文数据发送到网络中去,开始传输。在整个传输过程中,数据都是以密文方式传输的,直到数据到达目的节点,才由接收方对密文进行解密,提取明文信息。

IPSec 协议对网络层的通信使用了加密技术,它不是加密数据包的头部和尾部信息(如源地址、目的地址、端口号、CRC 校验值等),而是对数据包中的数据进行加密。由于加密过程发生在 IP 层,因此可在不改变 HTTP 等上层应用协议的情况下进行网络协议的安全加密,为通信提供透明的安全传输服务。

IPSec 协议中使用端到端的工作模式,掌握加密、解密方法的只有数据的发送方和接收方,两者各自负责相应的数据加密、解密处理,而网络中其他节点只负责转发数据,无须支持 IPSec,从而可以实现加密通信与传输媒介无关,保证机密数据在公共网络环境下的适应性和安全性。因此,IPSec 可以应用到非常广泛的环境中,能为局域网、拨号用户、远程站点、Internet 之上的通信提供强有力的保护,而且还能用来筛选特定数据流,还可以用于不同局域网之间通过互联网的安全互联。

IPSec 协议不是一个单独的协议,它包括应用于 IP 层上网络数据安全的一整套协议,主要包括 AH(Authentication Header,IP 认证头部协议)、ESP(Encapsulating Security Payload,封装安全负载协议)、IKE(Internet Key Exchange,Internet 密钥交换协议)和用于网络认证及加密的一些算法等。

AH 提供数据的完整性和认证,但不包括保密性;而 ESP 原则上只提供保密性,但也可在 ESP Header 中选择适当的算法及模式来实现数据的完整性和认证。AH 和 ESP 可分开使用也可一起使用。IKE 则提供加密算法、密钥等的协商。

1.安全关联和安全策略

安全关联(Security Association,SA)是指提供通信安全服务的发送方和接收方之间的一种单向关系。安全关联是构成 IPSec 的基础,它是进行通信的双方经协商建立起来的一种协定。安全关联可以用一个 32 位的安全参数索引(Security Parameter Index,SPI)来唯一标识,一个 SPI 值决定一个特定的 SA,它通常放在 AH 或 ESP 头中;安全关联是单向的,如果要对两台主机 A 与 B 实现双向安全,则需要两个安全关联,每个方向一个:(A, B)、(B,A)。安全关联的内容包含了 IP 数据包是否加密、认证,以及加密、认证采用的算法、密钥等相关信息。所有的 SA 记录都存放在安全关联数据库中,按散列方式存取。

安全策略(Security Policy)定义了两个 IPSec 系统之间的安全通信特征,并决定在该通信中为数据包提供的安全服务。一个 IPSec 系统的所有安全策略都存放在安全策略数据库中,根据选择符(包括源地址、目的地址、协议、端口等)进行检索。安全策略通常与 SA 合作,共同作用于通信的数据包。

2.AH

AH 协议先将数据进行校验和加密,然后封装为 IP 包,从而实现无连接通信的数据完整性、数据源认证和防止重放攻击。AH 能完成除数据加密外的所有的 ESP 所能提供的功能。在认证机制上,它所覆盖的范围比 ESP 的广,包括对 IP 头中一些选项的认证。

为了应用 IPSec 协议,IP 数据包的格式要有所改变,即在 IP 头和被保护的数据之间插入一个 AH 头,如图所示。

保密网络安全教育简报_网络安全与保密_保密网络安全教育心得体会

AH 头的格式如图所示,包括:下一报头、有效载荷长度、保留位、安全参数索引、序列号、认证数据。

保密网络安全教育简报_网络安全与保密_保密网络安全教育心得体会

AH 使用的典型的认证算法是一种迭代型的消息摘要算法。AH 中采用 MD5 算法,可以提供完整性服务。从前面的讲述可以知道 MD5 可以对任意长度的信息进行散列运算产生一个唯一的 128 位消息摘要。由于消息摘要是唯一的,所以对信息的任何修改都将得到另一个不同的消息摘要,因此能防止消息被篡改,从而保证了数据的完整性。AH 也可以采用 SHA 算法提供更强的抗攻击能力,SHA 是在 MD5 的基础上,增加了分组处理的迭代次数和复杂性,产生一个 160 位的消息摘要。接收者在收到数据后可以通过检验数据包中的单向递增的序列号来确定数据包的合法性,防止重放攻击。

3.ESP

ESP 通过对数据包的数据进行加密来提供传输信息的保密性,从而实现了数据完整性、数据源认证、数据保密性的安全服务。ESP 是一个通用的、可扩展的安全机制,其加密认证算法主要由 SA 的相应数据项决定。接收者也可以通过在收到数据后检验数据包中的单向递增的序列号来确定数据包的合法性,防止重放攻击。

在应用中,需要在 IP 数据包的头和被保护的数据之间插入一个 ESP 头,在被保护的数据后附加一个 ESP 尾,如图所示。

保密网络安全教育心得体会_保密网络安全教育简报_网络安全与保密

ESP 头的格式如图所示,包括:安全参数索引(标识用于处理数据包的安全关联)、序列号(用于防止重放攻击)、有效荷载数据。ESP头的所有字段都是不加密的,因为在解密数据包时需要先读取头部字段。

保密网络安全教育心得体会_保密网络安全教育简报_网络安全与保密

ESP 尾的格式如图 所示,包括:填充项(某些加密算法要求被加密数据的长度是密钥长度的整数倍,若受保护的数据的长度不满足这个要求,就需要在后面追加一些填充项)、填充项长度(指明填充项的长度)、下一个头部、认证数据(数据完整性的检验结果)。

网络安全与保密_保密网络安全教育心得体会_保密网络安全教育简报

ESP 在提供加密功能的同时,还可以提供认证功能。对于发出的数据包,首先进行加密处理;而对于收到的数据包,则先进行认证处理。

ESP 支持多种加密算法。DES 是 ESP 中默认的加密算法,它采用 64 位的密钥,对明文进行加密,加密、解密使用同一个密钥,该算法简单高效。此外还可以选择采用 3DES、 AES、RC5、RC6、Blowfish 等算法。

4.IP 密钥交换

IKE 是一个混合协议,它使用了 Internet安全关联和密钥管理协议(Internet Security Association and Key Management Protocol,ISAKMP)、密钥确定协议 Oakley 和描述支持匿名和快速密钥刷新的密钥交换的 SKEME 协议。IKE 除了实现通信双方的密钥交换,还使用 ISAKMP 实现 IPSec 的安全关联。

ISAKMP 协议是 IKE 的核心组成部分,它定义了包括协商、建立、修改、删除安全关联的过程和数据格式。ISAKMP 的工作分为两个阶段:第一阶段,通信双方协商并建立一个安全的通道,并对该通道进行验证,为第二阶段的进一步通信提供安全服务;第二阶段,为 IPSec 建立起具体的 IPSec 安全关联,用于保护通信双方的数据传输安全。在 IKE 的协商过程中,使用了 Diffie-Hellman 机制、Oakley 的密钥交换模式和 SKEME 的共享和密钥更新技术。

5.IPSec 的工作模式

IPSec 的工作模式有两种:传输模式和隧道模式。

传输模式首先将要传送的数据使用 IPSec 加密封装起来,再把相关的 IPSec 头插入 IP 头和被保护的数据之间封装起来。因为 IP 头没有加密,接收端收到封装的数据包时直接处理 IP 头,然后从 IPSec 头读取 SPI 值得到相对的 SA,再利用 SA 所定的解密参数解出所加密的数据。

传输模式的 IPSec 头直接加在欲传送的数据前,由于加密的部分较少,没有额外的处理,因此比较节省带宽和 CPU 负载,通信和处理效率较高。

在传输模式中,解密者就是目的地址端的使用者。

隧道模式首先使用 SA 的相关信息将 IP 的数据包全部加密,接下来在前面加上 ESP Header,然后把它们作为数据为它们再加上一个新的 IP 头。接收端收到 ESP 封包后,使用 ESP Header 内容中的 SPI 值提供的 SA,然后解出 ESP Header 后的装载数据,就可以取回原始的 IP 头与封包。

隧道模式可以在两个终端之间建立一个安全的隧道,经由这两个终端之间的通信均在这个隧道中进行,因此安全性较高。

两种模式的 IP 数据包的格式如图所示。

保密网络安全教育心得体会_保密网络安全教育简报_网络安全与保密

2SSL 协议

SSL 是用于安全传输数据的一种通信协议。它采用公钥加密技术、对称密钥加密技术等保护两个应用之间的信息传输的机密性和完整性。但是,SSL 也有一个不足,就是它本身不能保证传输信息的不可否认性。

SSL 协议包括服务器认证、客户认证、SSL 链路上的数据完整性、SSL 链路上的数据保密性等几个方面,通过在浏览器和 Web 服务器之间建立一条安全的通道来保证 Internet 数据传递的安全性。目前,利用公钥加密的 SSL 技术,已经成为 Internet 上进行保密通信的工业标准。SSL 协议常常用于增强 Web 服务的安全性。

在 TCP/IP 协议中,SSL 协议建立在传输层即 TCP 之上、应用层之下。SSL 协议有一个突出的优点,就是它与应用层协议相独立,高层的应用层协议如 HTTP 等可以透明地建立在 SSL 协议之上进行工作。

通过 SSL 协议建立的传输通道具有如下的基本安全性:

(1)通道是保密的,经过握手确定密钥之后,所有的消息被加密。SSL 协议在应用层协议工作之前就已经完成了加密算法、密钥的协商、服务器认证等工作,而此后的所有应用层所传送的数据都是经过加密的,因此 SSL 协议具有很好的保密性。

(2)通道是被认证的,通信中的服务器端总是被认证,客户端可选认证。在基于 SSL 协议的通信过程中,服务器端认证是必须进行的,所以,即使在一次会话过程中不进行客户端认证,该会话的确认性也能够有很好的保证。

(3)通道是可靠的,用 MAC 对传送的消息进行完整性检查,保证通道上数据的完整性。基于 SSL 协议的通信过程,因为传递的消息中包括消息完整性检查数据(即 MAC 数据),因此,可以保证该通信是可靠的。

SSL 协议由 SSL 记录协议、SSL 握手协议、SSL 密码变更说明协议、SSL 警告协议等组成。其架构如图所示。

保密网络安全教育简报_网络安全与保密_保密网络安全教育心得体会

1.SSL 记录协议

在 SSL 记录协议中,所有要传输的数据都被封装在记录中,记录是由纪录头和长度不为 0 的记录数据组成的。所有的 SSL 通信,包括握手消息、安全空白记录、应用数据等都需要使用 SSL 记录。

2.SSL 协议记录头格式

SSL 协议记录头格式如图所示。

网络安全与保密_保密网络安全教育心得体会_保密网络安全教育简报

SSL 协议记录头包括的数据有记录头长度、记录数据长度、记录数据中是否有粘贴数据等。SSL 协议记录头长度既可以是 2 字节、也可以是 3 字节长。当记录头的最高位为1时,表示不含有粘贴数据,记录头长度为 2 字节,记录数据最大长度为 32 767 字节;当记录头的最高位为 0 时,则含有粘贴数据,记录头长度为 3 字节,记录数据最大长度为 16 383字节。当记录头的最高位为 0 时,次高位有特殊的含义。当次高位为 1 时,表示所传输的记录是普通记录;当次高位为 0 时,表示所传输的记录是安全空白记录。

记录头中数据长度编码不包括数据头所占用的字节长度。记录头长度为 2 字节时记录长度的计算方法为:

记录长度=(( byte[0]&0x7f)

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!