什么是SSL?SSL的工作过程是什么样的?

发布时间:2022-05-11 14:17:57

一、什么是SSL

SSL,全称Secure Sockets Layer 安全套接字协议,SSL协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。SSL 协议可分为两层:

SSL记录协议(SSL Record Protocol):

它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

SSL握手协议(SSL Handshake Protocol):

它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

SSL的体系结构中包含两个协议子层,其中底层是SSL记录协议层(SSL Record Protocol Layer);高层是SSL握手协议层(SSL HandShake Protocol Layer)。

SSL记录协议层的作用是为高层协议提供基本的安全服务的,而SSL握手协议层是用于SSL管理信息的交换,允许应用协议传送数据之间相互验证,协商加密算法和生成密钥的。

二、SSL的工作过程

SSL 的工作过程实际上是分为了两个部分,一个是发送,而另一个就是接收,每个部分所处理的事情也是不一样的,毕竟一个是发送一个是接收。

发送过程:

(1)从上层接受要发送的数据(包括各种消息和数据);

(2)对信息进行分段,分成若干记录;

(3)使用指定的压缩算法进行数据压缩;

(4)使用指定的MAC算法生成MAC;

(5)使用指定的加密算法进行数据加密;

(6)添加SSL记录协议的头,发送数据。

到了这个位置,发送过程就已经结束,接下来就是接收的过程了。

接收过程:

(1)接收数据,从SSL记录协议的头中获取相关信息;

(2)使用指定的解密算法解密数据;

(3)使用指定的MAC算法校验MAC

(4)使用压缩算法对数据解压缩(在需要进行);

(5)将记录进行数据重组;

(6)将数据发送给高层。

(7)SSL记录协议处理的最后一个步骤是附加一个SSL记录协议的头,以便构成一个SSL记录。SSL记录协议头中包含了SSL记录协议的若干控制信息。

为了便于理解,我们可以将这个过程分为服务器认证和用户认证两个阶段:

服务器认证阶段:

(1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;

(2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;

(3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;

(4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。

用户认证阶段:

在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的 服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。

三、SSL的加密方式是怎样的?

在讲SSL的加密方式之前,我们需要先了解什么是对称加密,什么是非对称加密。

对称加密:对称式加密实际上就是加密和解密使用同一个密钥,通常称之为Session Key ”这种加密技术在当今被广泛采用。

非对称加密:非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。

SSL加密主要使用了第二种非对称加密方式,具体步骤如下:

第一步:客户端给出支持SSL协议版本号,一个客户端随机数(Client random,这是第一个随机数),客户端支持的加密方法等信息;

第二步:服务端收到信息后,确认双方使用的加密方法,并返回数字证书,一个服务器生成的随机数(Server random,这是第二个随机数)等信息;

第三步:客户端确认数字证书的有效性,然后生成一个新的随机数(Premaster secret),然后使用数字证书中的公钥,加密这个随机数,发给服务端。

第四步:服务端使用自己的私钥,获取客户端发来的随机数(Premaster secret);第五步:客户端和服务端通过约定的加密方法(通常是AES算法),使用前面三个随机数,生成对话密钥,用来加密接下来的通信内容。





相关推荐:

什么是域名ssl证书?如何选择合适的证书?

浅析SSL证书的工作原理

企业有没有必要安装SSL证书?SSL证书为什么没有全面应用?

SSL证书配置过程中常见问题盘点

网站为什么要安装SSL证书?SSL证书有哪些作用?

上一篇:域名解析为什么不生效?原因有哪些? 下一篇:怎么设置域名解析?设置域名解析的两种方法