SSL如何工作?

2019年04月18日 标签: HTTPS SSL

什么是https?

什么是https?HTTPS代表超文本传输协议安全。它是用于保护两个系统(例如浏览器和Web服务器)之间的通信的协议。下图说明了通过http......

详细信息


-------------------
SSL如何工作?

正如您在上一章中所知晓到的,https使用SSL协议通过传输加密数据来保护通信。在深入知晓之前,知晓SSL的工作原理。

SSL从根本上适用于以下概念:

  1. 不对称密码学

  2. 对称密码学

不对称密码学

非对称加密(也称为非对称加密或公钥加密)使用与数学相关的密钥对来加密和解密数据。在密钥对中,与对通信感兴趣的任何人共享一个密钥。这称为公钥密钥对中的另一个密钥保密,称为私钥

这里,密钥指的是数学值,并且是使用加密或解密数据的数学算法创建的。

在非对称加密中,数据可以使用私钥进行签名,私钥只能使用一对中的相关公钥进行解密。

不对称密码学

SSL使用非对称加密来启动通信,这称为SSL握手。最常用的非对称密钥加密算法包括EIGamal,RSA,DSA,椭圆曲线技术和PKCS。

对称密码学

在对称密码术中,只有一个密钥可以加密和解密数据。发送方和接收方都应该拥有此密钥,只有它们才知晓。

对称密码学

初始握手完成后,SSL使用会话密钥进行对称加密。最广泛使用的对称算法是AES-128,AES-192和AES-256。

通过SSL进行数据传输

SSL协议使用非对称和对称加密来安全地传输数据。下图说明了SSL通信的步骤:

SSL通信

如上图所示,浏览器与Web服务器(或任何其他两个系统)之间的SSL通信主要分为两个步骤:SSL握手和实际数据传输。

SSL握手

SSL上的通信始终以SSL握手开始。SSL握手是一种非对称加密技术,允许浏览器在实际数据传输开始之前验证Web服务器,获取公钥并建立安全连接。

下图说明了SSL握手涉及的步骤:

SSL握手

让我们理解上面的步骤:

  1. 客户端发送“客户端问候”消息。这包括客户端的SSL版本号,密码设置,特定于会话的数据以及服务器使用SSL与客户端通信所需的其他信息。

  2. 服务器以“服务器hello”消息响应。这包括服务器的SSL版本号,密码设置,特定于会话的数据,带有公钥的SSL证书以及客户端通过SSL与服务器通信所需的其他信息。

  3. 客户端从CA(证书颁发机构)验证服务器的SSL证书并验证服务器。假如身份验证失败,则客户端拒绝SSL连接并引发异常。假如验证成功,则继续执行步骤4。

  4. 客户端创建会话密钥,使用服务器的公钥对其进行加密,然后将其发送到服务器。假如服务器已请求客户端身份验证(主要是服务器到服务器通信),则客户端将自己的证书发送到服务器。

  5. 服务器使用其私钥解密会话密钥,并将确认发送到使用会话密钥加密的客户端。

因此,在SSL握手结束时,客户端和服务器都具有有效的会话密钥,它们将用于加密或解密实际数据。在此之后,将不再使用公钥和私钥。

实际数据传输

客户端和服务器如今使用共享会话密钥来加密和解密实际数据并进行传输。这是在两端使用相同的会话密钥完成的,因此,它是对称密码术。实际的SSL数据传输使用对称加密,因为与非对称加密相比,它很容易并且消耗的CUP消耗更少。

SSL数据传输

因此,SSL基本上使用非对称密码术和对称密码术。在现实生活中实现SSL通信涉及某些基础设施,称为公钥基础设施。

公钥基础设施

公钥基础设施(PKI)是一组创建,管理,分发,使用,储存,并吊销数字证书和管理公共密钥加密必需的角色,政策和程序。

PKI包括以下元素:

  • 证书颁发机构:对个人,计算机和其他实体的身份进行身份验证的权限。

  • 注册机构:代表根CA为特定用途颁发证书的从属CA.

  • SSL证书:包含公钥和其他信息的数据文件。

  • 证书管理系统:存储,验证和撤销证书的系统。


? 本文链接地址:/website/4167.html ? 转载请注明出处,谢谢。