SSL原理及分析_ssl数据包分析

文章目录

前言

一、SSL是什么?

二、结构及建立过程

1.握手协议和建立过程

2.密码变化协议及建立过程

3.警告协议和建立过程

4.记录协议和建立过程

三、关键技术

四、基于SSL进行安全通信的示例代码

总结



前言

SSL 协议指定了一种在应用程序协议(如 HTTP、Telenet、NMTP和FTP等)和 TCP/IP协议之间提供数据安全性分层的机制,它为TCP/IP连接提供数据加密、服务器认证、消息完整性以及可选的客户机认证。SSL 是一个安全协议,它提供使用 TCP/IP 的通信应用程序间的隐私与完整性。因特网的超文本传输协议(HTTP)使用 SSL 来实现安全的通信。

在客户端与服务器间传输的数据是通过使用对称算法(如 DES 或 RC4)进行加密的。公用密钥算法(通常为 RSA)是用来获得加密密钥交换和数字签名的,此算法使用服务器的SSL数字证书中的公用密钥。有了服务器的SSL数字证书,客户端也可以验证服务器的身份。SSL 协议的版本1和2只提供服务器认证。版本3添加了客户端认证,此认证同时需要客户端和服务器的数字证书。


一、SSL是什么?

SSL是一种安全传输协议,通常用于在互联网上传输敏感信息,如信用卡号、登录凭证等。它通过在网络连接中添加加密层来提供安全性。SSL协议的基本原理是通过加密数据传输,以保护传输的信息不被非法获取。

二、结构及建立过程

SSL协议分为两层,下层为SSL记录协议,主要负责对上层数据进行分块、压缩、计算并添加MAC、加密,最后把记录块传输给对方。上层为SSL握手协议、SSL密码变化协议以及SSL警告协议。

1.握手协议和建立过程

握手协议:SSL握手协议是建立SSL连接时使用的协议,在SSL连接建立过程中,客户端和服务器之间会进行一系列握手过程,并协商使用一种共同支持的加密算法和密钥。这个过程包括以下步骤:

客户端发送连接请求到服务器,并请求 SSL 通信。

服务器收到请求后,会返回公共密钥证书给客户端,该证书包含了服务器的公共密钥和证书颁发机构的信息。

客户端接收到公共密钥证书后,会对证书进行验证,主要验证证书内容是否符合标准、证书是否过期、证书颁发机构是否可靠等等。如果证书验证通过,客户端会生成一个随机密钥,使用服务器的公共密钥进行加密,并将加密后的密钥发送给服务器。

服务器接收到客户端传来的随机密钥后,使用自己的私有密钥对密钥进行解密。此时,客户端和服务器双方都拥有了同一份随机密钥,用于之后的加密通信。

在 SSL 建立完成后,双方开始进行加密通信,所有传输的数据都会被加密并密钥相关,确保数据的机密性和完整性。

如图所示:

图 3-1 SSL握手概述

从上述过程可以看出,SSL 通过加密+证书校验的方式,为通信加上了安全保障,有效防止了传输过程中数据被窃取、篡改等问题。


2.密码变化协议及建立过程

密码变化协议:客户端和服务器端通过密码变化协议通知接收方,随后的报文都将使用新协商的加密算法列表和密钥进行保护和传输。其建立过程如下:

客户端与服务器建立 SSL 连接后,客户端发送一条 ChangeCipherSpec 消息给服务器,表示客户端要改变对称密钥。

服务器收到这条消息后也会发送一条 ChangeCipherSpec 消息给客户端,表示服务器也要改变对称密钥。

客户端和服务器都完成了对称密钥的变化后,就可以使用新的对称密钥进行通信了。

在 SSL 连接建立期间,客户端和服务器会协商出一个对称密钥,用于加密通信过程中的数据。但由于对称密钥可能存在泄漏或被破解的风险,因此在通信过程中定期地更换对称密钥可以提高通信安全性。SSL密码变化协议就是为了实现这个功能而设计的。


3.警告协议和建立过程

警告协议:用来允许一方向另一方报告告警信息。消息中包含告警的严重级别和描述。SSL/TLS协议中,当客户端和服务端进行握手时,如果发现存在一些不安全的因素,如证书过期、颁发者不受信任等,就会触发警告协议。警告协议的建立过程如下:

客户端和服务端在握手过程中,任何一方发现存在安全问题,会发送一个警告消息。警告消息由警告级别和警告描述组成。

警告级别表明了警告消息的严重程度,包括:警告、致命警告等。

警告描述则提供了关于警告类型的详细信息。

发送警告消息的一方会关闭SSL/TLS连接。

通过使用警告协议,SSL/TLS协议可以及早检测到安全问题,并采取相应措施避免或减少安全威胁。同时,警告协议也为SSL/TLS协议提供了一种灵活的方式来处理安全问题,以实现更加安全的通信。


4.记录协议和建立过程

记录协议是SSL/TLS协议中的一个子协议,用于在客户端和服务器之间传输应用层数据。下面是SSL记录协议的建立过程:

应用程序将明文数据传递给SSL握手协议。

SSL握手协议将数据分为多个小块,并使用SSL记录协议将这些小块进行封装。

对于每个小块,SSL记录协议会增加一个首部,该首部包含以下信息:记录类型、记录版本和记录长度。

记录类型指示了该记录的内容类型,可以是应用层数据、握手协议数据和警告协议数据等。

记录版本表示该记录的版本号,标识了SSL/TLS协议的版本号。

记录长度表示该记录的明文数据长度,不包括首部。
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以点击这里获取

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以点击这里获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值