SSL记录协议给SSL连接给出了两种服务:
1.机密性服务:握手协议指定了共享的、可用来常规加密SSL有效载荷的密钥。
2.消息完整性服务:握手协议还说明了共享的、可形成报文的鉴别码的密钥。
在SSL协议中,在记录中封装了一切的传输数据。记录是记录头与长度不是0的数据构成的。全部的SSL通信均用SSL记录协议,记录协议封装上层的握手、警告、改变密码约定和应用数据等4种协议。SSL记录协议说明了记录头与数据的具体格式,以及要传输数据的格式,它在可靠的传输协议之上,封装更高层的各种协议,记录协议主要实现分组与组合,压缩与解压,及消息认证与加密等功能。
SSL记录协议的数据处理过程如下:
1.记录层从上层接收应用数据。
2.记录层分段了数据,把它分割成能管理的明文块。每个记录的长度为16KB或者更小。记录层中不在乎客户消息的边界,是相同内容类型的消息能在同一记录层报文中传输。同理,较大的消息也能被分段,由多个记录层报文传送。
3.用当即会话状态中的压缩算法压缩明文块记录,这步是能选的,这里的数据块压缩是无损的,且增加的长度不可多于1024字节。
4.对第3步的结果,用当前会话状态中的消息验证码MAC算法和密钥,计算MAC值,并添加到第3步的结果之后。消息验证码主要是为检测消息的完整性。
5.对第4步的结果用IDEA、DES、3DES或其他加密算法加密。加密对内容长度的增长也不可多于1024字节。
6.对第5步产生的结果添加记录头。记录头的功能是为接收方给出对记录解释必要的信息。记录头部分有内容类型(8位)、SSL协议版本号和长度域(16位)3部分。内容类型字段标识消息类型,SSL支持的4种类型:applcation_data、alert、handshake和change cipher spec。长度字段可让接收方明白它要从线路上读取字节的量才可处理消息。版本号仅是一项保证每方用协商的版本的冗余性检测。