信息安全工程师教程:SSL记录协议
(2)SSL记录协议
SSL记录协议为 SSL连接提供两种服务:机密性和报文完整性。在 SSL协议中,所有的传输数据都被封装在记录中。记录是由记录头和长度不为 0
的记录数据组成的。所有的 SSL通信都使用 SSL记录层,记录协议封装上层的握手协议、报警协议、更改密码说明协议和应用数据协议。SSL记录协议包括了记录头和记录数据格式的规定。
SSL记录协议位于 SSL协议的底层,用于定义传输数据的格式,加密/解密、压缩/解压缩、MAC计算等操作。SSL记录协议将高层的协议数据分成较小的单元,并对它进行压缩、附加消息认证码 MAC、加密、附加 SSL记录头,然后通过低层的传输层协议发送,其过程如图 5-9所示。接收消息的过程正好与发送消息的过程相反,即解密、验证、解压、拼装,然后送给高层协议。
①分段:把上层传送来的数据信息块切分为小于或等于 214字节的 SSL明文记录。记录中包含类型、版本号、长度和数据字段。
②压缩:使用当前会话状态中定义的压缩算法对被切分后的记录块进行压缩。压缩算法将 SSL明文记录转化为 SSL压缩记录。压缩是可选的,且必须是无损压缩,且对原文长度的增加不能超过 1024字节。
③增加 MAC:在压缩数据上计算消息认证 MAC。所有的记录均采用在当前的加密约定中定义的加密算法和报文验证 MAC算法加以保护。当握手结束后,参与双方共享一个用于加密记录和计算消息认证码 MAC的公开密钥。
④加密:对压缩数据及 MAC进行加密。加密和消息认证码( MAC)函数将一 SSL压缩记录加密转换为一 SSL密文记录。传输时将包含一序列号,这样即使包丢失、被改变或包被重复收到时也可以及时发现。
⑤增加 SSL记录头。
SSL记录头:由 5个字节组成,第一个字节说明使用 SSL记录协议的高层协议类型,如:20表示更改密码说明协议、21表示报警协议、22表示握手协议、23表示应用数据协议;第二个字节表示主要版本号,如:对于 SSLv3.0,值为 3;第三个字节表示次要版本号,如:对于 SSLv3.0,值为 0;第四、第五个字节表示明文数据(如果选用压缩则是压缩数据)的长度。如图 5-10所示。
从上层传来的信息进行分组形成不超过规定长度的明文数据,填充到数据结构 SSLPlaintext中,针对每一个明文数据结构,采用事先协商好(握手协议)的压缩算法进行压缩。压缩好的数据将利用在握手协议中协商好的加密算法和 MAC算法进行加密和保护,昀终形成 SSLCiphertext密文数据结构进行传输。
报考须知:2016信息安全工程师报考指南 报名时间 考试大纲 考试教材
备考练习:2016信息安全工程师章节练习 每日一练 历年真题 考前密卷
加入信息安全工程师考友QQ群:11824850,交流学习,随时获取考试信息。
信息安全工程师考试备考已经开始,尚大特邀名师授课(马上免费试听),全面讲解考试重要知识点,保过班、精品班、直播班,为您的考证之路保驾护航。
各省软考办 | ||||||||||