希赛考试网
首页 > 软考 > 网络工程师

ssl记录协议执行过程中涉及哪些步骤

希赛网 2024-02-11 14:36:37

SSL记录协议(Secure Sockets Layer Record Protocol)是在SSL/TLS协议中负责在通信双方之间传输数据的核心协议之一。当我们使用HTTPS协议进行网站访问、使用SMTPS协议发送加密邮件时,实际上使用的就是SSL记录协议。那么,SSL记录协议在执行过程中具体经历了哪些步骤呢?本文从多个角度来分析。

第一步,TLS握手协议

在SSL记录协议执行之前,需要先执行TLS握手协议。该协议是定义通信双方如何建立安全通信的协议,也是SSL/TLS协议中的重要组成部分。TLS握手协议主要包括以下步骤:

1. 客户端向服务器发送一个协议版本号,并随机生成一个ClientRandom随机数。

2. 服务器回应一个协议版本号,选择一个加密套件,并随机生成一个ServerRandom随机数。

3. 服务器将其公钥证书发送给客户端。

4. 客户端验证服务器发送的证书,如果证书通过验证,则生成一个PreMasterSecret,用服务器公钥加密后发送给服务器。

5. 服务器使用自己的私钥解密PreMasterSecret,然后双方通过协商完成MasterSecret和一些其他参数的生成。MasterSecret是SSL/TLS协议在后续的数据加密和认证过程中很重要的密钥。

6. 使用双方协商的参数生成会话密钥(Session Key)。

7. 双方发送Finished消息,以验证握手是否成功。

第二步,分段加密

然后就是SSL记录协议的具体执行过程。在该过程中,数据会被分为若干个数据块(也就是SSL记录),每个SSL记录会包括一个头部和一个载荷。头部中包含着数据块的长度等信息,载荷中则包含了具体的数据内容。

在记录协议中,载荷部分的数据会被先压缩,然后通过对称加密算法(如DES、AES等)进行加密处理,最后添加上头部信息后得到一个SSL记录。由于历史原因导致SSL记录协议中有CBC加密模式,该模式存在一些已知的安全漏洞,如BEAST攻击等。因此,后续引入的TLS 1.3则采用了更加先进的加密算法和模式,如AEAD加密模式等。

第三步,MAC认证

在SSL记录协议中,还涉及到了MAC认证。MAC即消息认证码(Message Authentication Code),是为了确保通信双方在传输过程中,数据没有被篡改或伪造。在每个SSL记录中,都会包含一个MAC值,该值对载荷数据进行哈希计算,并和头部信息一起进行加密操作后生成的。

在接收端,另一方会通过相同的计算方式生成MAC值,并将两个MAC值进行比对,以确认数据的完整性和真实性。如果MAC值不一致,则说明数据可能被篡改或伪造,通信双方需要重新建立安全通道。

第四步,SSL记录的传输

SSL记录协议执行完毕后,就需要将SSL记录进行传输。在传输过程中,SSL记录会通过之前协商完成的会话密钥进行加密,然后再传输。由于会话密钥只在握手协议阶段完成协商,因此不会被第三方获取到。

此外,还需要注意的是,对于大数据量的传输,SSL记录协议会将数据分割成多个SSL记录,以保证每个记录的长度不会超过规定的最大值。这也能够避免了一次传输的数据包被夹杂进了恶意代码。

扫码咨询 领取资料


软考.png


网络工程师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
网络工程师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考资格查询系统

扫一扫,自助查询报考条件