SSL/TSL在握手中,都发生了那些事?(SSL/TSL实现过程)

本文详细解读SSL/TLS协议的工作原理,包括握手过程、关键步骤如ClientHello和ServerHello,以及记录层如何加密传输。重点讲解了加密算法协商、会话密钥生成及警报子协议在保障通信安全中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概览

安全套接字层 (SSL) 是一种加密安全协议。它最初由 Netscape 于 1995 年开发,旨在确保 Internet 通信中的隐私、身份验证和数据完整性。SSL 是如今使用的现代 TLS 加密的前身。

实施 SSL/TLS 的网站的 URL 中带有“HTTPS”,而不是“HTTP”。

SSL/TLS 协议可以被划分为两层

第一层被称为握手协议层(The Handshake Layer),它由三个子协议组成。

  1. 握手协议(Handshake)

    这个子协议是用来协商客户端和服务器写入session的信息。这个session中的信息包括 :session ID,服务器证书,客户端证书,使用的加密规范,使用的压缩算法,和一个用于生成密码的随机数。

  2. 改变密码规范协议(Change Cipher Spec)

    告诉会话中的另一方,要启用协商好的密码规则,并对数据进行加密传送。

  3. 警报协议(Alert)

    用来告知会话中的另一方它的状态,和 错误信息。警报(Alter)通常在连接关闭、接受到不可用的信息、不能正确解码的信息 或者 用户返回操作时 发送。

第二层被称为记录层(The Recode Layer)

记录层 可以从应用层 接受数据,并将其加密,还可以对数据压缩,然后把它传递给传输层。 还可以 从传输层 接受数据,并将其解密,还可以对数据解压缩,然后把它传递给适当的应用进程进行接受。 其中采用何种加密算法,以及是否压缩,采用哪种压缩方式,都是在握手协议中协商好的。

握手协议

握手协议 的作用是在客户端和浏览器进行数据传输时,为了保证数据安全,而事先协商好安全策略的协议。

Client Hello:

客户端会先向服务器发送一个名为Client Hello的请求,这条请求包含一条信息 并 初始化一个session。这条信息包括:

版本号 (Version Number): 客户端最高支持的版本号。也

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值