首页 > 编程知识 正文

ssl的原理(浅析SSL证书的工作原理)

时间:2023-05-04 02:28:20 阅读:124103 作者:133

前面已经简要介绍了SSL证书的定义和类型,那么SSL证书的工作原理如何呢?

SSL的工作原理分为握手协议、日志记录协议和警报协议三部分。

另一方面,握手协议是发生在APP应用数据传输之前、客户端和服务器通过SSL连接通信时使用的第一个子协议,并且是整个SSL过程中最复杂的协议的一部分。 此协议允许服务器和客户端相互验证,并协商加密和MAC算法以及保护在SSL记录中发送的数据的私钥。

握手包含以下三个字段:

)1) type :表示10种信息类型之一

(2) Length :表示信息长字节数

(3)内容:消息相关参数

握手有四个阶段。 1 .建立安全功能在SSL握手的第一阶段启动逻辑连接并为此连接建立安全功能。 首先,客户端向服务器发送客户端hello消息,等待服务器的响应。 然后,服务器向客户端返回server hello消息,以检查客户端hello消息中的信息。

ClientHello客户将发送CilentHello消息,包括:

)1)客户端可以支持的SSL的最高版本号

)2)用于生成主秘密的32字节随机数。

)3)标识会话的会话ID。

(4)客户端可以支持的加密套件列表。

密码套件格式:每个套件以“SSL”开头,后跟密钥交换算法。

(5)客户端可以支持的压缩算法列表。

服务器hello服务使用服务器hello信息响应客户。 包括以下内容。

)1)一个SSL版本号。

)2)用于生成主秘密的32字节随机数。 (一个客户端、一个服务端)

)3)会话ID

)4)从客户端加密套件列表中选择的加密套件

(5)从客户机压缩方法列表中选择的压缩方法

在这个阶段之后,客户端服务端知道:

)1) SSL版本

)2)密钥交换、信息验证、加密算法

(3)压缩方法

)4)关于密钥生成的两个随机数。

2 .服务器认证和密钥交换服务器启动SSL握手的第二阶段,其中仅服务器发送消息并且客户端接收消息。

这个阶段分为四个步骤。

)1)服务器将数字证书和到根CA的整个链发送到客户端,使客户端能够通过服务器证书中的服务器公钥识别认证服务器。

)2)基于密钥交换算法的服务器私钥交换

)3)服务器要求客户端进行认证。

)4)服务器握手结束。

3 .客户端认证和密钥交换:客户端启动握手的第三阶段,本阶段只有客户端发送消息,服务器接收消息。

(1)客户端发送证书信息以验证服务器。 这是可选的,IIS允许配置强制客户端证书认证。

)2)客户端密钥交换)在此客户端将备用主密钥发送给服务端,注意在此使用服务端公钥进行加密。

)证书验证签署备用私钥和随机数,证明持有证书公钥。

4 .握手结束

客户端启动SSL握手的第4阶段,并退出服务器。 此阶段分为四个步骤,前两个消息来自客户端,后两个消息来自服务器。

二、记录协议记录协议在客户端与服务器握手成功后,即客户端与服务器确认双方身份交换所使用的算法后,进入SSL记录协议,记录协议为SSL连接提供两种服务。

(1)机密性)用握手中定义的私钥实现

)2)完整性)握手定义MAC以保证消息的完整性

SSL日志记录协议接收传输的APP应用程序消息,将数据分成可管理的块,使用加密算法加密数据并添加头文件。 收到数据后,需要对其进行解密、验证、解压缩和重新组装。

三、预警协议客户端和服务器发现错误,如证书错误、证书过期、握手失败等,向对方发送预警信息。 对于致命错误,算法将立即关闭SSL连接,双方将首先删除相关的会话编号、私钥和密钥。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。