资源描述:
《SSL协议介绍.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、SSL协议介绍什么是SSLSSL在Internet上得到广泛的应用。SSL最常用来保护Web的安全。为了保护存有敏感信息Web的服务器的安全,消除用户在Internet上数据传输的安全顾虑。SSL(SecuresocketLayer)安全套接层协议网景(Netscape)公司提出的基于WEB应用的安全协议一种在客户端和服务器端之间建立安全通道的协议主要是使用公开密钥体制和X.509数字证书技术保护信息传输的机密性和完整性,它不能保证信息的不可抵赖性主要适用于点对点之间的信息传输SSL历史SSL1
2、.0?SSL2.01995.Apr第一个公布版本SSL3.01996.Oct安全套接层协议(SSL,SecuritySocketLayer)包括:服务器认证客户认证(可选)SSL链路上的数据完整性和SSL链路上的数据保密性。SSL协议目标SSL是指使用公钥和私钥技术组合的安全网络通讯协议。SSL以对称密码技术和公开密码技术相结合,可以实现如下三个通信目标:(1)秘密性:SSL客户机和服务器之间传送的数据都经过了加密处理,网络中的非法窃听者所获取的信息都将是无意义的密文信息。(2)完整性:SSL利
3、用密码算法和散列(HASH)函数,通过对传输信息特征值的提取来保证信息的完整性,确保要传输的信息全部到达目的地,可以避免服务器和客户机之间的信息受到破坏。(3)认证性:利用证书技术和可信的第三方认证,可以让客户机和服务器相互识别对方的身份。为了验证证书持有者是其合法用户(而不是冒名用户),SSL要求证书持有者在握手时相互交换数字证书,通过验证来保证对方身份的合法性。SSL协议的体系结构SSL协议第4层(传输层)的上部,是一个2层协议TCP提供了可靠的消息传输在应用层通信之前就已经完成加密算法、通
4、信密钥的协商以及服务器认证工作,在此之后,应用层协议所传送的数据都被加密。SSL安全协议实际是SSL握手协议、SSL修改密文协议、SSL警告协议和SSL记录协议组成的一个协议族。握手协议修改秘文协议报警协议SSL记录协议TCPSSL记录协议提供两种服务:一是机密性,二是消息完整性。SSL记录协议接收传输的应用报文,将数据分片成可管理的块,进行数据压缩(可选),应用MAC,接着利用IDEA、DES、3DES或其他加密算法进行数据加密,最后增加由内容类型、主要版本、次要版本和压缩长度组成的首部。
5、被接收的数据刚好与接收数据工作过程相反,依次被解密、验证、解压缩和重新装配,然后交给更高级用户。每个SSL记录包括下面的信息:内容类型;协议版本号;长度;数据有效载荷;MAC。SSL记录协议SSL记录协议操作应用数据分段压缩添加MAC加密附加SSL记录报头SSL记录协议操作SSL记录协议SSL记录格式SSL记录格式内容类型主版本次版本压缩的长度明文(可选压缩)MAC(0,16或20字节)加密SSL修改密文协议最简单的一个。协议由单个消息组成,该消息只包含一个值为1的单个字节。该消息的唯一作用就是
6、使未决状态拷贝为当前状态,更新用于当前连接的密码组。为了保障SSL传输过程的安全性,双方应该每隔一段时间改变加密规范。SSL告警协议为对等实体传递SSL的相关警告。如果在通信过程中某一方发现任何异常,就需要给对方发送一条警示消息通告。警示消息有两种:一种是Fatal错误,如传递数据过程中,发现错误的MAC,双方就需要立即中断会话,同时消除自己缓冲区相应的会话记录;第二种是Warning消息,这种情况,通信双方通常都只是记录日志,而对通信过程不造成任何影响。SSL握手协议使得服务器和客户能够相互鉴
7、别对方,协商具体的加密算法和MAC算法以及保密密钥,用来保护在SSL记录中发送的数据SSL握手协议允许通信实体在交换应用数据之前协商密钥的算法、加密密钥和对客户端进行认证(可选)的协议,为下一步记录协议要使用的密钥信息进行协商,使客户端和服务器建立并保持安全通信的状态信息。SSL握手协议是在任何应用程序数据传输之前使用的。SSL握手协议握手过程一般是由五个阶段构成的:客户端验证服务器客户段与服务器选择彼此支持的算法服务器验证客户端(可选)使用公开密钥算法产生共享的密钥SSL连接建立SSL握手过程
8、客户机服务器建立安全能力,包括协议版本、会话ID、密码组、压缩方法和初始随机数字。服务器可以发送证书、密钥交换和请求证书。服务器信号以hello消息段结束客户机可以发送证书。客户机发送密钥交换。客户机可以发送证书验证。更改密码组合并完成握手协议注意:加阴影的传送是可选的,或是与情况相关的消息,并不是总是发送。时间client_helloserver_hello证书server_key_exchangecertificate_requestserver_hello_done证书client_key