1 SSL 协议工作原理 SSL 协议处于互联网多层协议集的传输层上,运行在 TCP/IP 协议之上而在其他高层协议(如 HTTP、Telnet、FTP 和 IMAP 等)之下,如图 5-1 所示
在建立一次 SSL 连接之前,首先建立 TCP/IP 连接
SSL 协议可以让应用层协议透明地加以应用
运行时,支持 SSL 协议的服务器可以同一个支持 SSL 协议的客户机彼此认证自己,还允许这两个机器之间建立安全的加密连接,同时保证信息在传输过程中的完整性
SSL 协议可以分为 4 个子协议:SSL 握手协议、SSL 更改密码规程协议、SSL 报警协议和 SSL 记录协议,其中最重要的两个协议是握手协议和记录协议
SSL 记录协议定义了数据传送的格式,它位于一些可靠的传输层协议之上(如 TCP),用于各种更高层协议的封装
SSL 握手协议位于 SSL 记录协议之上,并被 SSL 记录协议所封装
它描述建立安全连接的过程,在客户和服务器传送应用层数据之前,该协议允许服务器与客户机之间协商加密算法和会话密钥,完成通信双方的身份验证等功能
应用层协议(HTTP、Telnet、FTP、IMAP等) SSL握手协议 SSL更改密码规程协议 SSL报警协议 SSL记录协议 TCP协议 IP协议 图 5-1 SSL协议的分层结构 5
2 SSL 记录协议 SSL 记录协议(Record Protocol)定义了传输的格式,包括记录头和记录数据格式的规定
发送方记录层的工作过程如图 5-2 所示: 图 5-2 记录层的工作过程 1
记录层从上层接收到任意大小的应用层数据块,把数据快分成不超过 214字节的分片
记录层用当前的会话状态中给出的压缩算法静分片压缩成一个压缩快,压缩操作是可选的
每个会话都有相应“加密规格”指定了对称加密算法和 MAC 算法
记录层用指定