1
安全套接层SSL(Secure Sockets Layer)
Hanyil整理编写 保留版权
一、SSL概况
在二十世纪九十年代,以Internet为基础的信息业务的获得了巨大发展,网上交易等电子商
务行为产生,信息基础设施本身的脆弱性与网络业务的高安全性要求之间的矛盾日益突出,这
就要求有一个专门的安全协议来规范数据传输方式,既确保信息业务的安全, 同时保证操作的
便捷。SSL就是在这种背景下由Netscape公司开发的一个网络安全协议, 已成为事实上的安全
网上交易标准协议,被各种应用网络业务和团体、企业广泛接受。
SSL共有三个版本。SSL1.0由Netscape公司开发后,只在内部使用,由于包含一些严重的错
误,现在已不再发行。SSL2.0开发后就被加入到Netscape Navigator1.0中,其中还包含了一些如
中间攻击的弱点。最新的SSL3.0规范在1996年3月正式发行,克服了SSL2.0中的缺陷,同时还加
入了一些新的特征。Netscape Navigator3.0和Microsoft的Internet Explorer 3.0均可执行它。基于
SSL3.0,IETF发布了TLS (Transport Layer Security),即RFC2246。TLS1.0 通常被称作SSL 3.1。
SSL的主要目标是为两个通信主体提供保密、可靠的信道。
它是在Internet基础上提供的一种保证机密性的安全协议,它建
立在可靠的传输层之上,与应用层的具体协议无关,加密算法、
通信密钥的协商以及服务器的认证都是由SSL自动地完成的。在
SSL的连接建立之后,应用层不需要进行任何干预,通信中的所
有数据都会被SSL自动加密。它为应用层协议提供了一个类似于
TCP的接口,对应用层程序的开发者来说,它是完全透明的,可
以利用SSL套接来代替传统的TCP套接。使用SSL后,HTTP协议
称为HTTPS,LDAP称为LDAPS。如图所示:
SSL协议提供了一个具有如下三个基本属性的安全连接:
(1) 连接是保密的。在握手协议定义密钥后,用对称密码(如DES、RC4等)来加密数据。
(2) 主体的身份可以通过公钥加密来验证(如RSA、DSS等)。
(3) 连接是可靠的。使用了安全的散列算法(如SHA\MD5),用带密钥的消息认证码来验证
消息的完整性。
SSL v3.0的主要目标,按照优先顺序依次为:
(1)加密安全:SSL要为通信双方建立一个安全的连接。
(2)互操作性:参数是独立的,使得在开发基于SSL 3.0的应用程序时,无需知道对方的
代码就能交换密码参数的。并非在所有情况下都能进行,例如server支持一种特定的硬件令牌,
而client不支持时这种连接就不能建立起来。
(3)可扩展性:SSL要提供一个框架,在必要时新的公钥密码和对称密码能够填加进来。
(4)相对高效性:加密操作要占用CPU资源,特别是公钥密码。鉴于此,SSL协议建立了
一个会话缓存区,用以减少要必须从头开始建立的连接数量,这也会减少网络上的交互活动。
二、SSL协议简介
1、SSL协议的组成
SSL 协议是一个由两层协议组成的协议
组,由底层的SSL记录协议(SSL Record
应用层
TCP
IP
SSL
图 1 SSL 在 TCP/IP 中的位置
SSL
握手协议
SSL 改变密
码规范协议
SSL
报警协议
SSL 记录协议
图 2 SSL 协议的组成和结构