1、SSL 协议协议的安全性研究的安全性研究 1 引言引言 随着计算机网络技术的飞速发展,信息时代的人们对 Internet 的依赖性越来越大。当今时 代,电子商务和电子政务的应用越来越广泛,然而网络安全问题严重束缚了计算机网络的进一 步应用。安全套接层 SSL(Secure Sockets Layer)协议是由 Netscape 公司设计开发的安全协议, 主要用于加强应用程序之间的数据的安全性。SSL 协议是基于 Web 应用的安全协议,它采用了 RSA 算法、RC4128、RC 一 128、三重 DES 算法和 MD5 等加密技术实现两个应用层之间的机密 性、可靠性和数据完整性,并采用 X50
2、9 数字证书实现鉴别,其加密的目的是建立一个安全的 通讯通道,而且该通道可在服务器和客户机两端同时实现支持。 2 SSL 协议简述及相关概念协议简述及相关概念 SSL 协议用来建立一个在客户和服务器之间安全的 TCP 连接,尤其可被用来认证服务器, 可选地认证客户,执行密钥交换,提供消息认证,而且还可以完成在 TCP 协议之上的任意应用 协议数据的完整性和隐蔽性服务。SSL 为在 Internet 上安全地传送数据提供了一介加密通道, 建立一个安全连接,主要实现以下工作:加密网络上客户端和服务器相互发送的信息;验证信 息在传送过程是否安全完整:运用非对称密钥算法验证服务器;验证客户身份;交换应
3、用层数 据。 2.1 SSL-安全套接层协议。安全套接层协议。 是由 Netscape 设计的一种开放性协议,它提供了一种介于应用层和传输层之间的数据安全 套接层协议机制。SSL 位于 TCP/IP 协议与各种应用层协议之间,为 TCP/IP 连接提供数据加密、 服务器认证、消息完整性以及可选的客户机认证。其目的是为客户端(浏览器)到服务端之间 的信息传输构建一个加密通道,此协议是与操作系统和 Web 服务器无关的。 2.2 SSL 协议可分两层:协议可分两层: 2.2.1 2.2.1 SSLSSL 记录协议:记录协议: 它建立在可靠的传输协议(如 TCP)之上,位于 SSL 协议的底层,为高
4、层协议提供数据封 装、压缩、加密等基本功能的支持。在 SSL 中,所有数据被封装在记录中,SSL 握手协议中的 报文,要求必须放在一个 SSL 记录协议层的记录里,但应用层协议的报文,允许占用多个 SSL 记录来传送 (1) SSL 记录头格式 SSL 记录头可以是 2 个或 3 个字节长的编码。SSL 记录头包含的信息有记录头的长度、记 录数据的长度,以及记录数据中是否有填充数据,其中填充数据是在使用块加密 - 1 - (blocken-cryption)算法时,填充实际数据,使其长度恰好是块的整数倍。最高位为 1 时,不 含有填充数据,记录头的长度为 2 个字节,记录数据的最大长度为 32767 个字节;最高位为 0 时,含有填充数据,记录头的长度为 3 个字节,记录数据的最大长度为 16383 个字节。 SSL 记录层结构如图 1 所示。 图 1 SSL 记录层结构 当数据头长度是 3 个字节时,次高位有特殊的含义。次高位为 1 时,表示所传输的记录是 普通的数据记录;次高位为 0 时,表示所传输的记录是安全空白记录(被保留用于将来协议的 扩展) 。 记录头中数据长度编